prefect 3.1.9.dev1__tar.gz → 3.1.9.dev2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (866) hide show
  1. {prefect-3.1.9.dev1/src/prefect.egg-info → prefect-3.1.9.dev2}/PKG-INFO +1 -1
  2. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/services.py +6 -4
  3. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_version.py +3 -3
  4. prefect-3.1.9.dev2/src/prefect/server/ui/assets/404-BaZTaH8C.js +2 -0
  5. prefect-3.1.9.dev1/src/prefect/server/ui/assets/404-RM0mtpPS.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/404-BaZTaH8C.js.map +1 -1
  6. prefect-3.1.9.dev2/src/prefect/server/ui/assets/AppRouterView-KBaPMzzJ.js +2 -0
  7. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AppRouterView-dPuvBnwk.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/AppRouterView-KBaPMzzJ.js.map +1 -1
  8. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Artifact-CXWVGpGG.js +2 -0
  9. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Artifact-XXgkFEe5.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Artifact-CXWVGpGG.js.map +1 -1
  10. prefect-3.1.9.dev2/src/prefect/server/ui/assets/ArtifactKey-CBGhx5Wn.js +2 -0
  11. prefect-3.1.9.dev1/src/prefect/server/ui/assets/ArtifactKey-92aq1ye3.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/ArtifactKey-CBGhx5Wn.js.map +1 -1
  12. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Artifacts-CcLLybUD.js +2 -0
  13. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Artifacts-3Oj_SpZd.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Artifacts-CcLLybUD.js.map +1 -1
  14. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Automation-DVdFHpK6.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Automation-BLceWa57.js +2 -2
  15. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Automation-DVdFHpK6.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Automation-BLceWa57.js.map +1 -1
  16. prefect-3.1.9.dev2/src/prefect/server/ui/assets/AutomationCreate-C2MAJ2V7.js +2 -0
  17. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AutomationCreate-Cbrr0LCL.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/AutomationCreate-C2MAJ2V7.js.map +1 -1
  18. prefect-3.1.9.dev2/src/prefect/server/ui/assets/AutomationEdit-C7-2Pu9o.js +2 -0
  19. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AutomationEdit-CZcv-Qu6.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/AutomationEdit-C7-2Pu9o.js.map +1 -1
  20. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AutomationWizard.vue_vue_type_script_setup_true_lang-pt0Bve8Y.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/AutomationWizard.vue_vue_type_script_setup_true_lang-As55GY35.js +2 -2
  21. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AutomationWizard.vue_vue_type_script_setup_true_lang-pt0Bve8Y.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/AutomationWizard.vue_vue_type_script_setup_true_lang-As55GY35.js.map +1 -1
  22. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Automations-D4Ntq9Gq.js +2 -0
  23. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Automations-BvltyFM2.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Automations-D4Ntq9Gq.js.map +1 -1
  24. prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlockEdit-AONUUE3g.js +2 -0
  25. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlockEdit-D3BMXA93.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlockEdit-AONUUE3g.js.map +1 -1
  26. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlockView-DZgrShGp.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlockView-BpoNRW7o.js +2 -2
  27. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlockView-DZgrShGp.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlockView-BpoNRW7o.js.map +1 -1
  28. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Blocks-BKeKBHTt.js +2 -0
  29. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Blocks-Bha4N4Yz.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Blocks-BKeKBHTt.js.map +1 -1
  30. prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlocksCatalog-CUNx8YWm.js +2 -0
  31. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlocksCatalog-BR_eMYIu.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlocksCatalog-CUNx8YWm.js.map +1 -1
  32. prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlocksCatalogCreate-BdY9p1pK.js +2 -0
  33. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlocksCatalogCreate-kU4q-dxI.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlocksCatalogCreate-BdY9p1pK.js.map +1 -1
  34. prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlocksCatalogView-CkqUSuhd.js +2 -0
  35. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlocksCatalogView-CiSmC_FH.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/BlocksCatalogView-CkqUSuhd.js.map +1 -1
  36. prefect-3.1.9.dev1/src/prefect/server/ui/assets/ConcurrencyLimit-_C9VIVo0.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/ConcurrencyLimit-C1sYilbQ.js +2 -2
  37. prefect-3.1.9.dev1/src/prefect/server/ui/assets/ConcurrencyLimit-_C9VIVo0.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/ConcurrencyLimit-C1sYilbQ.js.map +1 -1
  38. prefect-3.1.9.dev1/src/prefect/server/ui/assets/ConcurrencyLimits-Bz-4P-fB.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/ConcurrencyLimits-aeec6gSR.js +2 -2
  39. prefect-3.1.9.dev1/src/prefect/server/ui/assets/ConcurrencyLimits-Bz-4P-fB.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/ConcurrencyLimits-aeec6gSR.js.map +1 -1
  40. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Dashboard-CHhR5afx.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Dashboard-B0ypBxmv.js +2 -2
  41. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Dashboard-CHhR5afx.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Dashboard-B0ypBxmv.js.map +1 -1
  42. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Deployment-B8QggQZY.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Deployment-BCrvYO7-.js +2 -2
  43. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Deployment-B8QggQZY.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Deployment-BCrvYO7-.js.map +1 -1
  44. prefect-3.1.9.dev2/src/prefect/server/ui/assets/DeploymentDuplicate-DHsOLYqn.js +2 -0
  45. prefect-3.1.9.dev1/src/prefect/server/ui/assets/DeploymentDuplicate-DcTCVdFo.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/DeploymentDuplicate-DHsOLYqn.js.map +1 -1
  46. prefect-3.1.9.dev1/src/prefect/server/ui/assets/DeploymentEdit-DI6gQEtR.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/DeploymentEdit-C57kzc4a.js +2 -2
  47. prefect-3.1.9.dev1/src/prefect/server/ui/assets/DeploymentEdit-DI6gQEtR.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/DeploymentEdit-C57kzc4a.js.map +1 -1
  48. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Deployments-DgMOeAHV.js +2 -0
  49. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Deployments-C0etuG0t.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Deployments-DgMOeAHV.js.map +1 -1
  50. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Event-BCe5KxLL.js +2 -0
  51. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Event-CDpR6z0c.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Event-BCe5KxLL.js.map +1 -1
  52. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Events-DTaKFkYv.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Events-DJeOnQSu.js +2 -2
  53. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Events-DTaKFkYv.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Events-DJeOnQSu.js.map +1 -1
  54. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Flow-UcsRJtZF.js +2 -0
  55. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Flow-BhZL2DMg.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Flow-UcsRJtZF.js.map +1 -1
  56. prefect-3.1.9.dev1/src/prefect/server/ui/assets/FlowRun-Bldb8VNX.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/FlowRun-M-9CK6zm.js +2 -2
  57. prefect-3.1.9.dev1/src/prefect/server/ui/assets/FlowRun-Bldb8VNX.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/FlowRun-M-9CK6zm.js.map +1 -1
  58. prefect-3.1.9.dev1/src/prefect/server/ui/assets/FlowRunCreate-CcMYSdx2.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/FlowRunCreate-BUSN0B9O.js +2 -2
  59. prefect-3.1.9.dev1/src/prefect/server/ui/assets/FlowRunCreate-CcMYSdx2.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/FlowRunCreate-BUSN0B9O.js.map +1 -1
  60. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Flows-GZhKazEo.js +2 -0
  61. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Flows-Dt2TdkEJ.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Flows-GZhKazEo.js.map +1 -1
  62. prefect-3.1.9.dev2/src/prefect/server/ui/assets/NotificationCreate-DDf5Tf-1.js +2 -0
  63. prefect-3.1.9.dev1/src/prefect/server/ui/assets/NotificationCreate-gLZSPXBv.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/NotificationCreate-DDf5Tf-1.js.map +1 -1
  64. prefect-3.1.9.dev2/src/prefect/server/ui/assets/NotificationEdit-BCyJnOsn.js +2 -0
  65. prefect-3.1.9.dev1/src/prefect/server/ui/assets/NotificationEdit-B8fJ79No.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/NotificationEdit-BCyJnOsn.js.map +1 -1
  66. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Notifications-CukaocVr.js +2 -0
  67. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Notifications-BPbwS5S1.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Notifications-CukaocVr.js.map +1 -1
  68. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Runs-DfSDaaYM.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Runs-C2eeQw0C.js +2 -2
  69. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Runs-DfSDaaYM.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Runs-C2eeQw0C.js.map +1 -1
  70. prefect-3.1.9.dev1/src/prefect/server/ui/assets/RunsPageWithDefaultFilter-DjwU_mrc-DQix1cNM.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/RunsPageWithDefaultFilter-DfV5nEpq-itkR3-7g.js +2 -2
  71. prefect-3.1.9.dev1/src/prefect/server/ui/assets/RunsPageWithDefaultFilter-DjwU_mrc-DQix1cNM.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/RunsPageWithDefaultFilter-DfV5nEpq-itkR3-7g.js.map +1 -1
  72. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Settings-mImPnRRl.js +2 -0
  73. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Settings-7wke4VfN.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Settings-mImPnRRl.js.map +1 -1
  74. prefect-3.1.9.dev1/src/prefect/server/ui/assets/TaskRun-RPk3ekcK.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/TaskRun-B-WjKWDA.js +2 -2
  75. prefect-3.1.9.dev1/src/prefect/server/ui/assets/TaskRun-RPk3ekcK.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/TaskRun-B-WjKWDA.js.map +1 -1
  76. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Unauthenticated-DNSLns2L.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Unauthenticated-B5tGNAyp.js +2 -2
  77. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Unauthenticated-DNSLns2L.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Unauthenticated-B5tGNAyp.js.map +1 -1
  78. prefect-3.1.9.dev2/src/prefect/server/ui/assets/Variables-Dfey_fyV.js +2 -0
  79. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Variables-DTLYLpHp.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/Variables-Dfey_fyV.js.map +1 -1
  80. prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPool-C6rTNiD6.js +2 -0
  81. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPool-Cyk41ATL.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPool-C6rTNiD6.js.map +1 -1
  82. prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolCreate-CHnWIlY1.js +2 -0
  83. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolCreate-Q9c2jzag.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolCreate-CHnWIlY1.js.map +1 -1
  84. prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolEdit-DRePwD2h.js +2 -0
  85. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolEdit-Butyp4wQ.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolEdit-DRePwD2h.js.map +1 -1
  86. prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolQueue-ChC-YK5Y.js +2 -0
  87. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolQueue-Bg5RfkOR.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolQueue-ChC-YK5Y.js.map +1 -1
  88. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolQueueCreate-CrG6rlHM.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolQueueCreate-B--PGDok.js +2 -2
  89. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolQueueCreate-CrG6rlHM.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolQueueCreate-B--PGDok.js.map +1 -1
  90. prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolQueueEdit-ASBXeNUA.js +2 -0
  91. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolQueueEdit-DHMOkJzl.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPoolQueueEdit-ASBXeNUA.js.map +1 -1
  92. prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPools-2uBSPjLE.js +2 -0
  93. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPools-HL0Uk5X7.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkPools-2uBSPjLE.js.map +1 -1
  94. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkQueueToWorkPoolQueueRedirect-CQvgQmrm-kLAWwlkr.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkQueueToWorkPoolQueueRedirect-BO2jjm-Q-CgYM9rWz.js +2 -2
  95. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkQueueToWorkPoolQueueRedirect-CQvgQmrm-kLAWwlkr.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/WorkQueueToWorkPoolQueueRedirect-BO2jjm-Q-CgYM9rWz.js.map +1 -1
  96. prefect-3.1.9.dev1/src/prefect/server/ui/assets/api-CPUqIYs_.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/api-DD4AY08s.js +2 -2
  97. prefect-3.1.9.dev1/src/prefect/server/ui/assets/api-CPUqIYs_.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/api-DD4AY08s.js.map +1 -1
  98. prefect-3.1.9.dev2/src/prefect/server/ui/assets/index-Dkae_997.js +1370 -0
  99. prefect-3.1.9.dev1/src/prefect/server/ui/assets/index-BfXinIUU.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/index-Dkae_997.js.map +1 -1
  100. prefect-3.1.9.dev1/src/prefect/server/ui/assets/mapper-BysJJThA.js → prefect-3.1.9.dev2/src/prefect/server/ui/assets/mapper-CXwTfIzn.js +2 -2
  101. prefect-3.1.9.dev1/src/prefect/server/ui/assets/mapper-BysJJThA.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/mapper-CXwTfIzn.js.map +1 -1
  102. prefect-3.1.9.dev2/src/prefect/server/ui/assets/useCan-DYxSawGK.js +2 -0
  103. prefect-3.1.9.dev1/src/prefect/server/ui/assets/useCan-CSGIjVqA.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/useCan-DYxSawGK.js.map +1 -1
  104. prefect-3.1.9.dev2/src/prefect/server/ui/assets/usePageTitle-DGuB4AZ9.js +2 -0
  105. prefect-3.1.9.dev1/src/prefect/server/ui/assets/usePageTitle-D3Tj0lw0.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/usePageTitle-DGuB4AZ9.js.map +1 -1
  106. prefect-3.1.9.dev2/src/prefect/server/ui/assets/usePrefectApi-ugHPWJzM.js +2 -0
  107. prefect-3.1.9.dev1/src/prefect/server/ui/assets/usePrefectApi-j20OJaO_.js.map → prefect-3.1.9.dev2/src/prefect/server/ui/assets/usePrefectApi-ugHPWJzM.js.map +1 -1
  108. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/index.html +1 -1
  109. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/telemetry/instrumentation.py +9 -10
  110. prefect-3.1.9.dev2/src/prefect/telemetry/services.py +67 -0
  111. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2/src/prefect.egg-info}/PKG-INFO +1 -1
  112. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect.egg-info/SOURCES.txt +105 -104
  113. prefect-3.1.9.dev1/src/prefect/server/ui/assets/404-RM0mtpPS.js +0 -2
  114. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AppRouterView-dPuvBnwk.js +0 -2
  115. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Artifact-XXgkFEe5.js +0 -2
  116. prefect-3.1.9.dev1/src/prefect/server/ui/assets/ArtifactKey-92aq1ye3.js +0 -2
  117. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Artifacts-3Oj_SpZd.js +0 -2
  118. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AutomationCreate-Cbrr0LCL.js +0 -2
  119. prefect-3.1.9.dev1/src/prefect/server/ui/assets/AutomationEdit-CZcv-Qu6.js +0 -2
  120. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Automations-BvltyFM2.js +0 -2
  121. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlockEdit-D3BMXA93.js +0 -2
  122. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Blocks-Bha4N4Yz.js +0 -2
  123. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlocksCatalog-BR_eMYIu.js +0 -2
  124. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlocksCatalogCreate-kU4q-dxI.js +0 -2
  125. prefect-3.1.9.dev1/src/prefect/server/ui/assets/BlocksCatalogView-CiSmC_FH.js +0 -2
  126. prefect-3.1.9.dev1/src/prefect/server/ui/assets/DeploymentDuplicate-DcTCVdFo.js +0 -2
  127. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Deployments-C0etuG0t.js +0 -2
  128. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Event-CDpR6z0c.js +0 -2
  129. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Flow-BhZL2DMg.js +0 -2
  130. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Flows-Dt2TdkEJ.js +0 -2
  131. prefect-3.1.9.dev1/src/prefect/server/ui/assets/NotificationCreate-gLZSPXBv.js +0 -2
  132. prefect-3.1.9.dev1/src/prefect/server/ui/assets/NotificationEdit-B8fJ79No.js +0 -2
  133. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Notifications-BPbwS5S1.js +0 -2
  134. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Settings-7wke4VfN.js +0 -2
  135. prefect-3.1.9.dev1/src/prefect/server/ui/assets/Variables-DTLYLpHp.js +0 -2
  136. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPool-Cyk41ATL.js +0 -2
  137. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolCreate-Q9c2jzag.js +0 -2
  138. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolEdit-Butyp4wQ.js +0 -2
  139. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolQueue-Bg5RfkOR.js +0 -2
  140. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPoolQueueEdit-DHMOkJzl.js +0 -2
  141. prefect-3.1.9.dev1/src/prefect/server/ui/assets/WorkPools-HL0Uk5X7.js +0 -2
  142. prefect-3.1.9.dev1/src/prefect/server/ui/assets/index-BfXinIUU.js +0 -1370
  143. prefect-3.1.9.dev1/src/prefect/server/ui/assets/useCan-CSGIjVqA.js +0 -2
  144. prefect-3.1.9.dev1/src/prefect/server/ui/assets/usePageTitle-D3Tj0lw0.js +0 -2
  145. prefect-3.1.9.dev1/src/prefect/server/ui/assets/usePrefectApi-j20OJaO_.js +0 -2
  146. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/LICENSE +0 -0
  147. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/MANIFEST.in +0 -0
  148. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/README.md +0 -0
  149. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/requirements-client.txt +0 -0
  150. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/requirements-dev.txt +0 -0
  151. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/requirements.txt +0 -0
  152. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/setup.cfg +0 -0
  153. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/setup.py +0 -0
  154. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/.prefectignore +0 -0
  155. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/__init__.py +0 -0
  156. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_experimental/__init__.py +0 -0
  157. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_experimental/lineage.py +0 -0
  158. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/__init__.py +0 -0
  159. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/_logging.py +0 -0
  160. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/compatibility/__init__.py +0 -0
  161. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/compatibility/async_dispatch.py +0 -0
  162. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/compatibility/deprecated.py +0 -0
  163. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/compatibility/migration.py +0 -0
  164. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/__init__.py +0 -0
  165. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/api.py +0 -0
  166. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/calls.py +0 -0
  167. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/cancellation.py +0 -0
  168. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/event_loop.py +0 -0
  169. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/inspection.py +0 -0
  170. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/primitives.py +0 -0
  171. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/threads.py +0 -0
  172. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/concurrency/waiters.py +0 -0
  173. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/integrations.py +0 -0
  174. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/__init__.py +0 -0
  175. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/annotations/__init__.py +0 -0
  176. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/annotations/pendulum.py +0 -0
  177. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/schemas.py +0 -0
  178. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/v1_schema.py +0 -0
  179. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/v2_schema.py +0 -0
  180. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pydantic/v2_validated_func.py +0 -0
  181. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/pytz.py +0 -0
  182. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/retries.py +0 -0
  183. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/schemas/__init__.py +0 -0
  184. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/schemas/bases.py +0 -0
  185. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/schemas/fields.py +0 -0
  186. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/schemas/serializers.py +0 -0
  187. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/_internal/schemas/validators.py +0 -0
  188. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/agent.py +0 -0
  189. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/artifacts.py +0 -0
  190. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/automations.py +0 -0
  191. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/__init__.py +0 -0
  192. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/abstract.py +0 -0
  193. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/core.py +0 -0
  194. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/fields.py +0 -0
  195. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/notifications.py +0 -0
  196. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/redis.py +0 -0
  197. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/system.py +0 -0
  198. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/blocks/webhook.py +0 -0
  199. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cache_policies.py +0 -0
  200. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/__init__.py +0 -0
  201. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/_prompts.py +0 -0
  202. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/_types.py +0 -0
  203. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/_utilities.py +0 -0
  204. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/artifact.py +0 -0
  205. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/block.py +0 -0
  206. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/cloud/__init__.py +0 -0
  207. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/cloud/ip_allowlist.py +0 -0
  208. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/cloud/webhook.py +0 -0
  209. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/concurrency_limit.py +0 -0
  210. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/config.py +0 -0
  211. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/dashboard.py +0 -0
  212. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/deploy.py +0 -0
  213. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/deployment.py +0 -0
  214. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/dev.py +0 -0
  215. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/events.py +0 -0
  216. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/flow.py +0 -0
  217. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/flow_run.py +0 -0
  218. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/global_concurrency_limit.py +0 -0
  219. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/profile.py +0 -0
  220. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/root.py +0 -0
  221. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/server.py +0 -0
  222. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/shell.py +0 -0
  223. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/task.py +0 -0
  224. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/task_run.py +0 -0
  225. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/templates/kubernetes-agent.yaml +0 -0
  226. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/templates/kubernetes-dev.yaml +0 -0
  227. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/templates/kubernetes-server.yaml +0 -0
  228. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/variable.py +0 -0
  229. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/work_pool.py +0 -0
  230. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/work_queue.py +0 -0
  231. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/cli/worker.py +0 -0
  232. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/__init__.py +0 -0
  233. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/base.py +0 -0
  234. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/cloud.py +0 -0
  235. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/collections.py +0 -0
  236. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/constants.py +0 -0
  237. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/orchestration.py +0 -0
  238. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/__init__.py +0 -0
  239. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/actions.py +0 -0
  240. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/filters.py +0 -0
  241. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/objects.py +0 -0
  242. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/responses.py +0 -0
  243. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/schedules.py +0 -0
  244. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/schemas/sorting.py +0 -0
  245. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/subscriptions.py +0 -0
  246. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/types/__init__.py +0 -0
  247. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/types/flexible_schedule_list.py +0 -0
  248. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/client/utilities.py +0 -0
  249. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/__init__.py +0 -0
  250. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/asyncio.py +0 -0
  251. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/context.py +0 -0
  252. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/events.py +0 -0
  253. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/services.py +0 -0
  254. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/sync.py +0 -0
  255. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/v1/__init__.py +0 -0
  256. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/v1/asyncio.py +0 -0
  257. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/v1/context.py +0 -0
  258. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/v1/events.py +0 -0
  259. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/v1/services.py +0 -0
  260. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/concurrency/v1/sync.py +0 -0
  261. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/context.py +0 -0
  262. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/__init__.py +0 -0
  263. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/base.py +0 -0
  264. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/deployments.py +0 -0
  265. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/flow_runs.py +0 -0
  266. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/azure/prefect.yaml +0 -0
  267. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/docker/prefect.yaml +0 -0
  268. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/docker-azure/prefect.yaml +0 -0
  269. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/docker-gcs/prefect.yaml +0 -0
  270. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/docker-git/prefect.yaml +0 -0
  271. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/docker-s3/prefect.yaml +0 -0
  272. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/gcs/prefect.yaml +0 -0
  273. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/git/prefect.yaml +0 -0
  274. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/local/prefect.yaml +0 -0
  275. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/recipes/s3/prefect.yaml +0 -0
  276. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/runner.py +0 -0
  277. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/schedules.py +0 -0
  278. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/steps/__init__.py +0 -0
  279. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/steps/core.py +0 -0
  280. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/steps/pull.py +0 -0
  281. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/steps/utility.py +0 -0
  282. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/deployments/templates/prefect.yaml +0 -0
  283. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/docker/__init__.py +0 -0
  284. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/docker/docker_image.py +0 -0
  285. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/engine.py +0 -0
  286. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/__init__.py +0 -0
  287. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/actions.py +0 -0
  288. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/cli/__init__.py +0 -0
  289. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/cli/automations.py +0 -0
  290. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/clients.py +0 -0
  291. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/filters.py +0 -0
  292. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/related.py +0 -0
  293. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/schemas/__init__.py +0 -0
  294. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/schemas/automations.py +0 -0
  295. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/schemas/deployment_triggers.py +0 -0
  296. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/schemas/events.py +0 -0
  297. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/schemas/labelling.py +0 -0
  298. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/utilities.py +0 -0
  299. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/events/worker.py +0 -0
  300. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/exceptions.py +0 -0
  301. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/filesystems.py +0 -0
  302. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/flow_engine.py +0 -0
  303. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/flow_runs.py +0 -0
  304. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/flows.py +0 -0
  305. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/futures.py +0 -0
  306. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/__init__.py +0 -0
  307. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/base.py +0 -0
  308. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/provisioners/__init__.py +0 -0
  309. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/provisioners/cloud_run.py +0 -0
  310. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/provisioners/container_instance.py +0 -0
  311. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/provisioners/ecs.py +0 -0
  312. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/infrastructure/provisioners/modal.py +0 -0
  313. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/input/__init__.py +0 -0
  314. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/input/actions.py +0 -0
  315. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/input/run_input.py +0 -0
  316. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/locking/__init__.py +0 -0
  317. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/locking/filesystem.py +0 -0
  318. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/locking/memory.py +0 -0
  319. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/locking/protocol.py +0 -0
  320. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/__init__.py +0 -0
  321. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/configuration.py +0 -0
  322. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/filters.py +0 -0
  323. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/formatters.py +0 -0
  324. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/handlers.py +0 -0
  325. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/highlighters.py +0 -0
  326. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/loggers.py +0 -0
  327. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/logging/logging.yml +0 -0
  328. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/main.py +0 -0
  329. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/plugins.py +0 -0
  330. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/py.typed +0 -0
  331. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/records/__init__.py +0 -0
  332. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/records/base.py +0 -0
  333. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/records/filesystem.py +0 -0
  334. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/records/memory.py +0 -0
  335. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/records/result_store.py +0 -0
  336. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/results.py +0 -0
  337. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runner/__init__.py +0 -0
  338. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runner/runner.py +0 -0
  339. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runner/server.py +0 -0
  340. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runner/storage.py +0 -0
  341. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runner/submit.py +0 -0
  342. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runner/utils.py +0 -0
  343. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runtime/__init__.py +0 -0
  344. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runtime/deployment.py +0 -0
  345. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runtime/flow_run.py +0 -0
  346. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/runtime/task_run.py +0 -0
  347. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/serializers.py +0 -0
  348. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/__init__.py +0 -0
  349. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/__init__.py +0 -0
  350. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/admin.py +0 -0
  351. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/artifacts.py +0 -0
  352. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/automations.py +0 -0
  353. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/block_capabilities.py +0 -0
  354. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/block_documents.py +0 -0
  355. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/block_schemas.py +0 -0
  356. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/block_types.py +0 -0
  357. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/clients.py +0 -0
  358. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/collections.py +0 -0
  359. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/collections_data/views/aggregate-worker-metadata.json +0 -0
  360. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/concurrency_limits.py +0 -0
  361. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/concurrency_limits_v2.py +0 -0
  362. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/csrf_token.py +0 -0
  363. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/dependencies.py +0 -0
  364. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/deployments.py +0 -0
  365. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/events.py +0 -0
  366. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/flow_run_notification_policies.py +0 -0
  367. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/flow_run_states.py +0 -0
  368. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/flow_runs.py +0 -0
  369. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/flows.py +0 -0
  370. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/logs.py +0 -0
  371. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/middleware.py +0 -0
  372. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/root.py +0 -0
  373. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/run_history.py +0 -0
  374. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/saved_searches.py +0 -0
  375. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/server.py +0 -0
  376. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/static/prefect-logo-mark-gradient.png +0 -0
  377. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/task_run_states.py +0 -0
  378. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/task_runs.py +0 -0
  379. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/task_workers.py +0 -0
  380. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/templates.py +0 -0
  381. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/ui/__init__.py +0 -0
  382. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/ui/flow_runs.py +0 -0
  383. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/ui/flows.py +0 -0
  384. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/ui/schemas.py +0 -0
  385. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/ui/task_runs.py +0 -0
  386. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/validation.py +0 -0
  387. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/variables.py +0 -0
  388. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/work_queues.py +0 -0
  389. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/api/workers.py +0 -0
  390. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/collection_blocks_data.json +0 -0
  391. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/__init__.py +0 -0
  392. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/MIGRATION-NOTES.md +0 -0
  393. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/env.py +0 -0
  394. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/script.py.mako +0 -0
  395. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2021_01_20_122127_25f4b90a7a42_initial_migration.py +0 -0
  396. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_13_125213_5f376def75c3_block_data.py +0 -0
  397. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_13_125213_679e695af6ba_add_configurations.py +0 -0
  398. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_17_140821_5bff7878e700_add_agents_and_work_queue.py +0 -0
  399. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_19_205543_d9d98a9ebb6f_rename_block_data_table.py +0 -0
  400. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_20_103844_4799f657a6a1_add_block_spec_table.py +0 -0
  401. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_21_111050_d115556a8ab6_index_flowrun_flow_runner_type.py +0 -0
  402. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_02_21_150017_b68b3cad6b8a_add_block_spec_id_to_blocks.py +0 -0
  403. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_03_10_102713_2e7e1428ffce_index_flow_created.py +0 -0
  404. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_04_20_113011_605ebb4e9155_add_flow_run_state_name.py +0 -0
  405. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_04_21_095519_14dc68cc5853_backfill_state_name.py +0 -0
  406. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_04_23_132803_d38c5e6a9115_rename_block_to_blockbasis_and_.py +0 -0
  407. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_05_10_145956_1c9390e2f9c6_replace_version_with_checksum_and_.py +0 -0
  408. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_05_12_202952_dc7a3c6fd3e9_add_flow_run_alerts.py +0 -0
  409. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_05_26_135743_724e6dcc6b5d_add_block_schema_capabilities.py +0 -0
  410. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_05_28_081821_2fe6fe6ca16e_adds_block_schema_references_and_block_.py +0 -0
  411. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_05_30_112549_cdcb4018dd0e_rename_run_alerts_to_run_notifications.py +0 -0
  412. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_04_133535_d60c18774a5d_add_indexes_for_partial_name_matches.py +0 -0
  413. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_08_121753_3a7c41d3b464_adds_description_and_code_example_to_.py +0 -0
  414. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_13_104234_61c76ee09e02_add_anonymous_column_for_block_documents.py +0 -0
  415. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_17_204409_d335ad57d5ba_add_block_schema_indexes.py +0 -0
  416. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_20_123921_7296741dff68_add_protected_column_for_block_types.py +0 -0
  417. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_21_093732_29ad9bef6147_adds_indexes_for_block_filtering.py +0 -0
  418. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_29_135432_813ddf14e2de_add_descriptions_to_deployments.py +0 -0
  419. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_06_29_152219_2f46fc3f3beb_remove_name_column_for_notification_.py +0 -0
  420. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_06_152528_4cdc2ba709a4_migrates_block_schemas_with_new_secrets_.py +0 -0
  421. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_07_112809_e905fd199258_removes_debugprintnotification_block_.py +0 -0
  422. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_11_170700_112c68143fc3_add_infrastructure_document_id_to_.py +0 -0
  423. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_14_114039_0f27d462bf6d_removing_default_storage_block_document.py +0 -0
  424. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_19_160058_bb4dc90d3e29_renames_existing_block_types.py +0 -0
  425. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_21_133134_e085c9cbf8ce_remove_flow_runners.py +0 -0
  426. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_21_205820_0cf7311d6ea6_add_crashed_state_type.py +0 -0
  427. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_25_214717_4ff2f2bf81f4_adds_block_type_slug.py +0 -0
  428. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_25_233637_add97ce1937d_update_deployments_to_include_more_.py +0 -0
  429. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_07_29_181713_fa985d474982_add_index_to_flow_run_infrastructure_.py +0 -0
  430. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_08_01_211251_97e212ea6545_add_deployment_version.py +0 -0
  431. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_08_06_145817_60e428f92a75_expand_deployment_schema_for_improved_ux.py +0 -0
  432. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_08_07_134410_77eb737fc759_add_work_queue_name_to_runs.py +0 -0
  433. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_08_07_154550_7737221bf8a4_fix_concurrency_limit_tag_index_name.py +0 -0
  434. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_08_18_102804_2d5e000696f1_adds_block_schema_version.py +0 -0
  435. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_10_12_102048_22b7cb02e593_add_state_timestamp.py +0 -0
  436. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_10_14_172612_ad4b1b4d1e9d_index_deployment_created.py +0 -0
  437. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_10_19_093902_6d548701edef_add_created_by.py +0 -0
  438. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_10_19_165110_8ea825da948d_track_retries_restarts.py +0 -0
  439. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_10_20_101423_3ced59d8806b_add_last_polled.py +0 -0
  440. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_10_31_161719_41e5ed9e1034_.py +0 -0
  441. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_11_05_180555_54c1876c68ae_add_index_for_scheduled_deployments.py +0 -0
  442. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_11_10_171740_8caf7c1fd82c_add_coalesced_start_time_indices.py +0 -0
  443. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_11_18_161056_5d526270ddb4_add_flowrun_infrastructure_pid.py +0 -0
  444. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_11_23_092449_5e4f924ff96c_add_paused_state_type.py +0 -0
  445. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2022_11_24_143620_f7587d6c5776_add_worker_tables.py +0 -0
  446. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_08_180142_d481d5058a19_rename_worker_pools_to_work_pools.py +0 -0
  447. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_25_164028_9326a6aee18b_add_cancelling_to_state_type_enum.py +0 -0
  448. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_26_045500_2882cd2df463_implement_artifact_table.py +0 -0
  449. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_26_045501_2882cd2df464_create_migration_index.py +0 -0
  450. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_26_045501_2882cd2df465_migrate_artifact_data.py +0 -0
  451. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_26_045502_2882cd2df466_cleanup_artifact_migration.py +0 -0
  452. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_26_152801_0a1250a5aa25_expand_work_queue_table.py +0 -0
  453. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_31_110543_f98ae6d8e2cc_work_queue_data_migration.py +0 -0
  454. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_01_31_133052_2a88656f4a23_clean_up_work_queue_migration.py +0 -0
  455. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_02_08_151958_cfdfec5d7557_remove_artifact_fk.py +0 -0
  456. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_03_01_154651_7d918a392297_remove_flowrun_deployment_fk.py +0 -0
  457. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_03_15_153039_4a1a0e4f89de_add_artifact_description_col.py +0 -0
  458. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_03_20_175243_aa84ac237ce8_remove_artifact_uq.py +0 -0
  459. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_03_20_185238_d20618ce678e_add_artifact_collection_table.py +0 -0
  460. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_03_20_185610_46bd82c6279a_add_index_on_artifact.py +0 -0
  461. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_04_04_132534_3bf47e3ce2dd_add_index_on_log.py +0 -0
  462. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_04_04_172310_6a1eb3d442e4_add_cols_to_artifact_collection.py +0 -0
  463. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_04_05_130406_43c94d4c7aa3_add_pull_steps_column_to_deployment.py +0 -0
  464. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_04_05_134520_310dda75f561_add_variables.py +0 -0
  465. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_04_06_122716_15f5083c16bd_migrate_artifact_data.py +0 -0
  466. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_08_02_133838_5f623ddbf7fe_create_concurrency_limit_v2_table.py +0 -0
  467. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_09_06_085747_50f8c182c3ca_.py +0 -0
  468. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_09_20_134544_db0eb3973a54_adds_enforce_parameter_schema_column_to_.py +0 -0
  469. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_09_21_130125_4e9a6f93eb6c_make_slot_decay_per_second_not_nullable.py +0 -0
  470. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_09_25_121806_05ea6f882b1d_remove_flow_run_id_requirement_from_task_run.py +0 -0
  471. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_10_12_224511_bfe653bbf62e_add_last_polled_to_deployment.py +0 -0
  472. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_10_30_075026_cef24af2ec34_add_block_type_name_to_block_document.py +0 -0
  473. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_11_20_084708_9c493c02ca6d_add_trgm_index_to_block_document_name.py +0 -0
  474. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_12_07_095320_733ca1903976_create_flow_run_input_table.py +0 -0
  475. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2023_12_07_121416_7c453555d3a5_make_flowruninput_flow_run_id_a_foreign_.py +0 -0
  476. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_01_05_101034_6b63c51c31b4_add_sender_to_flowruninput.py +0 -0
  477. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_01_22_120615_8cf4d4933848_create_deployment_schedule_and_add_.py +0 -0
  478. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_03_05_122228_121699507574_add_job_variables_column_to_flow_runs.py +0 -0
  479. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_03_13_111215_7a653837d9ba_create_csrf_token_toble.py +0 -0
  480. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_03_112409_aeea5ee6f070_automations_models.py +0 -0
  481. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_04_094418_bd6efa529f03_add_deployment_version_to_flow_run.py +0 -0
  482. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_09_125658_916718e8330f_automation_event_follower.py +0 -0
  483. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_09_132036_954db7517015_trigger_in_index.py +0 -0
  484. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_10_194742_15768c2ec702_add_events_and_event_resources_tables.py +0 -0
  485. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_23_094748_7ae9e431e67a_work_status_fields.py +0 -0
  486. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_04_25_155240_8905262ec07f_worker_status_field.py +0 -0
  487. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_05_01_105401_b23c83a12cb4_add_catchup_fields_to_deploymentschedule.py +0 -0
  488. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_05_21_101457_94622c1663e8_json_variables.py +0 -0
  489. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_07_15_145240_7495a5013e7e_adding_scope_to_followers.py +0 -0
  490. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_08_14_150111_97429116795e_add_deployment_concurrency_limit.py +0 -0
  491. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_09_11_090317_555ed31b284d_add_concurrency_options.py +0 -0
  492. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_09_16_152051_eaec5004771f_add_deployment_to_global_concurrency_.py +0 -0
  493. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_11_15_150706_68a44144428d_add_labels_column_to_flow_flowrun_.py +0 -0
  494. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/postgresql/2024_12_04_165333_5d03c01be85e_sync_orm_models_and_migrations.py +0 -0
  495. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_01_20_115236_9725c1cbee35_initial_migration.py +0 -0
  496. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_04_093838_619bea85701a_block_data.py +0 -0
  497. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_15_211737_28ae48128c75_add_configurations.py +0 -0
  498. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_17_151416_7c91cb86dc4e_add_agents_and_work_queues.py +0 -0
  499. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_19_210255_4c4a6a138053_rename_block_data_table.py +0 -0
  500. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_20_103610_e1ff4973a9eb_add_block_spec_table.py +0 -0
  501. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_21_111238_f327e877e423_index_flowrun_flow_runner_type.py +0 -0
  502. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_02_21_145916_c8ff35f94028_add_block_spec_id_to_blocks.py +0 -0
  503. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_03_10_102500_71a57ec351d1_index_flow_created.py +0 -0
  504. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_04_19_181604_7f5f335cace3_add_flow_run_state_name.py +0 -0
  505. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_04_21_113057_db6bde582447_backfill_state_name.py +0 -0
  506. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_04_23_114831_fd966d4ad99c_rename_block_to_blockbasis_and_.py +0 -0
  507. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_04_25_135207_b75d279ba985_replace_version_with_checksum.py +0 -0
  508. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_05_12_203158_888a0bb0df7b_add_flow_run_alerts.py +0 -0
  509. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_05_19_165808_33439667aeea_add_block_schema_capabilities.py +0 -0
  510. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_05_28_081650_e73c6f1fe752_adds_block_schema_referecnes_and_block_.py +0 -0
  511. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_05_30_100855_d76326ed0d06_rename_run_alerts_to_run_notifications.py +0 -0
  512. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_04_104048_f65b6ad0b869_add_indexes_for_partial_name_matches.py +0 -0
  513. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_08_121702_84892301571a_adds_description_and_code_example_to_.py +0 -0
  514. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_13_103943_2d900af9cd07_add_anonymous_column_for_block_documents.py +0 -0
  515. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_17_204530_9e2a1c08c6f1_add_block_schema_indexes.py +0 -0
  516. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_20_123823_dff8da7a6c2c_add_protected_column_for_block_types.py +0 -0
  517. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_21_093640_a205b458d997_adds_indexes_for_block_filtering.py +0 -0
  518. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_29_133432_3bd87ecdac38_add_descriptions_to_deployments.py +0 -0
  519. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_06_29_151832_42762c37b7bc_remove_name_column_for_notification_.py +0 -0
  520. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_06_142824_e2dae764a603_migrates_block_schemas_with_new_secrets_.py +0 -0
  521. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_07_111208_061c7e518b40_removes_debugprintnotification_block_.py +0 -0
  522. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_11_113314_638cbcc2a158_add_infrastructure_block_id_to_.py +0 -0
  523. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_14_113138_56be24fdb383_removing_default_storage_block_document.py +0 -0
  524. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_19_153432_628a873f0d1a_renames_existing_block_types.py +0 -0
  525. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_20_113451_2fe8ef6a6514_remove_flow_runners.py +0 -0
  526. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_25_142515_f335f9633eec_adds_block_type_slug.py +0 -0
  527. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_25_151028_88c2112b668f_update_deployments_to_include_more_.py +0 -0
  528. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_07_29_181111_905134444e17_add_index_to_flow_run_infrastructure_.py +0 -0
  529. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_08_01_211039_24bb2e4a195c_add_deployment_version.py +0 -0
  530. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_08_06_130009_296e2665785f_expand_deployment_schema_for_improved_ux.py +0 -0
  531. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_08_07_134138_575634b7acd4_add_work_queue_name_to_runs.py +0 -0
  532. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_08_07_154319_53c19b31aa09_fix_name_on_concurrency_limit_tag_idx.py +0 -0
  533. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_08_18_102527_e757138e954a_adds_block_schema_version.py +0 -0
  534. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_10_12_102048_22b7cb02e593_add_state_timestamp.py +0 -0
  535. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_10_14_172612_ad4b1b4d1e9d_index_deployment_created.py +0 -0
  536. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_10_19_093542_fa319f214160_add_created_by.py +0 -0
  537. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_10_19_155810_af52717cf201_track_retries_restarts.py +0 -0
  538. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_10_20_101423_3ced59d8806b_add_last_polled.py +0 -0
  539. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_11_05_180619_a0284438370e_add_index_for_scheduled_deployments.py +0 -0
  540. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_11_10_165921_4f90ad6349bd_add_coalesced_start_time_indices.py +0 -0
  541. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_11_18_161332_7201de756d85_add_flowrun_infrastructure_pid.py +0 -0
  542. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2022_11_24_143302_fe77ad0dda06_add_worker_tables.py +0 -0
  543. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_08_175327_bb38729c471a_rename_worker_pools_to_work_pools.py +0 -0
  544. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_12_000042_f92143d30c24_implement_artifact_table.py +0 -0
  545. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_12_000043_f92143d30c25_create_migration_index.py +0 -0
  546. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_12_000043_f92143d30c26_migrate_artifact_data.py +0 -0
  547. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_12_000044_f92143d30c27_cleanup_artifact_migration.py +0 -0
  548. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_25_114348_b9bda9f142f1_expand_work_queue_table.py +0 -0
  549. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_31_105442_1678f2fb8b33_work_queue_data_migration.py +0 -0
  550. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_01_31_132409_bfe42b7090d6_clean_up_work_queue_migration.py +0 -0
  551. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_02_08_152028_8d148e44e669_remove_artifact_fk.py +0 -0
  552. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_03_01_165551_f3df94dca3cc_remove_flowrun_deployment_fk.py +0 -0
  553. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_03_15_123850_cf1159bd0d3c_add_artifact_description_col.py +0 -0
  554. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_03_20_153925_1d7441c031d0_remove_uq_from_artifact_table.py +0 -0
  555. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_03_20_184534_b9aafc3ab936_add_artifact_collection_table.py +0 -0
  556. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_03_20_194204_422f8ba9541d_add_artifact_idx.py +0 -0
  557. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_04_04_115150_553920ec20e9_add_index_on_log.py +0 -0
  558. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_04_04_172555_3e1eb8281d5e_add_cols_to_artifact_collection.py +0 -0
  559. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_04_05_120713_340f457b315f_add_column_to_deployments_for_pull_steps.py +0 -0
  560. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_04_05_134301_3d46e23593d6_add_variables.py +0 -0
  561. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_04_06_122659_2dbcec43c857_migrate_artifact_data.py +0 -0
  562. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_08_02_113813_5b0bd3b41a23_create_concurrency_limit_v2_table.py +0 -0
  563. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_09_06_084729_c2d001b7dd06_.py +0 -0
  564. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_09_20_134145_ef674d598dd3_adds_enforce_parameter_schema_column_to_.py +0 -0
  565. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_09_21_121806_8167af8df781_make_slot_decay_per_second_not_nullable.py +0 -0
  566. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_09_25_121806_8167af8df781_remove_flow_run_id_requirement_from_task_run.py +0 -0
  567. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_10_12_175815_f3165ae0a213_add_last_polled_to_deployment.py +0 -0
  568. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_10_30_075026_cef24af2ec34_add_block_type_name_to_block_document.py +0 -0
  569. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_10_30_103720_22ef3915ccd8_index_and_backfill_block_type_name.py +0 -0
  570. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_11_20_084708_9c493c02ca6d_add_trgm_index_to_block_document_name.py +0 -0
  571. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_12_07_095112_a299308852a7_create_flow_run_input_table.py +0 -0
  572. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2023_12_07_121624_35659cc49969_make_flowruninput_flow_run_id_a_foreign_.py +0 -0
  573. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_01_05_101041_c63a0a6dc787_add_sender_to_flowruninput.py +0 -0
  574. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_01_22_120214_265eb1a2da4c_create_deployment_schedule_and_add_.py +0 -0
  575. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_03_05_115258_342220764f0b_add_job_variables_column_to_flow_runs.py +0 -0
  576. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_03_13_111316_bacc60edce16_create_csrf_token_toble.py +0 -0
  577. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_03_111618_07ed05dfd4ec_automations_models.py +0 -0
  578. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_04_114538_8644a9595a08_add_deployment_version_to_flow_run.py +0 -0
  579. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_09_125712_cc510aec4689_automation_event_follower.py +0 -0
  580. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_09_131832_2b6c2b548f95_trigger_in_index.py +0 -0
  581. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_10_104304_824e9edafa60_adds_events_tables.py +0 -0
  582. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_23_094701_75c8f17b8b51_work_status_fields.py +0 -0
  583. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_04_25_155120_a8e62d4c72cf_worker_status_field.py +0 -0
  584. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_05_01_103824_20fbd53b3cef_add_catchup_fields_to_deploymentschedule.py +0 -0
  585. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_05_21_123101_2ac65f1758c2_json_variables.py +0 -0
  586. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_07_15_145350_354f1ede7e9f_adding_scope_to_followers.py +0 -0
  587. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_08_14_145052_f93e1439f022_add_deployment_concurrency_limit.py +0 -0
  588. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_09_11_090106_7d6350aea855_add_concurrency_options.py +0 -0
  589. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_09_16_162719_4ad4658cbefe_add_deployment_to_global_concurrency_.py +0 -0
  590. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_11_15_151042_5952a5498b51_add_labels_column_to_flow_flowrun_.py +0 -0
  591. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/_migrations/versions/sqlite/2024_12_04_144924_a49711513ad4_sync_orm_models_and_migrations.py +0 -0
  592. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/alembic.ini +0 -0
  593. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/alembic_commands.py +0 -0
  594. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/configurations.py +0 -0
  595. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/dependencies.py +0 -0
  596. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/interface.py +0 -0
  597. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/orm_models.py +0 -0
  598. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/query_components.py +0 -0
  599. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/sql/postgres/get-runs-from-worker-queues.sql.jinja +0 -0
  600. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/database/sql/sqlite/get-runs-from-worker-queues.sql.jinja +0 -0
  601. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/__init__.py +0 -0
  602. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/actions.py +0 -0
  603. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/clients.py +0 -0
  604. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/counting.py +0 -0
  605. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/filters.py +0 -0
  606. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/jinja_filters.py +0 -0
  607. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/messaging.py +0 -0
  608. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/models/__init__.py +0 -0
  609. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/models/automations.py +0 -0
  610. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/models/composite_trigger_child_firing.py +0 -0
  611. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/ordering.py +0 -0
  612. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/pipeline.py +0 -0
  613. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/schemas/__init__.py +0 -0
  614. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/schemas/automations.py +0 -0
  615. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/schemas/events.py +0 -0
  616. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/schemas/labelling.py +0 -0
  617. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/services/__init__.py +0 -0
  618. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/services/actions.py +0 -0
  619. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/services/event_logger.py +0 -0
  620. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/services/event_persister.py +0 -0
  621. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/services/triggers.py +0 -0
  622. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/storage/__init__.py +0 -0
  623. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/storage/database.py +0 -0
  624. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/stream.py +0 -0
  625. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/events/triggers.py +0 -0
  626. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/exceptions.py +0 -0
  627. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/__init__.py +0 -0
  628. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/agents.py +0 -0
  629. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/artifacts.py +0 -0
  630. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/block_documents.py +0 -0
  631. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/block_registration.py +0 -0
  632. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/block_schemas.py +0 -0
  633. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/block_types.py +0 -0
  634. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/concurrency_limits.py +0 -0
  635. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/concurrency_limits_v2.py +0 -0
  636. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/configuration.py +0 -0
  637. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/csrf_token.py +0 -0
  638. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/deployments.py +0 -0
  639. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/events.py +0 -0
  640. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/flow_run_input.py +0 -0
  641. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/flow_run_notification_policies.py +0 -0
  642. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/flow_run_states.py +0 -0
  643. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/flow_runs.py +0 -0
  644. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/flows.py +0 -0
  645. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/logs.py +0 -0
  646. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/saved_searches.py +0 -0
  647. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/task_run_states.py +0 -0
  648. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/task_runs.py +0 -0
  649. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/task_workers.py +0 -0
  650. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/variables.py +0 -0
  651. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/work_queues.py +0 -0
  652. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/models/workers.py +0 -0
  653. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/__init__.py +0 -0
  654. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/core_policy.py +0 -0
  655. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/dependencies.py +0 -0
  656. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/global_policy.py +0 -0
  657. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/instrumentation_policies.py +0 -0
  658. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/policies.py +0 -0
  659. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/orchestration/rules.py +0 -0
  660. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/__init__.py +0 -0
  661. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/actions.py +0 -0
  662. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/core.py +0 -0
  663. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/filters.py +0 -0
  664. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/graph.py +0 -0
  665. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/internal.py +0 -0
  666. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/responses.py +0 -0
  667. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/schedules.py +0 -0
  668. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/sorting.py +0 -0
  669. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/states.py +0 -0
  670. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/schemas/statuses.py +0 -0
  671. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/__init__.py +0 -0
  672. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/cancellation_cleanup.py +0 -0
  673. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/flow_run_notifications.py +0 -0
  674. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/foreman.py +0 -0
  675. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/late_runs.py +0 -0
  676. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/loop_service.py +0 -0
  677. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/pause_expirations.py +0 -0
  678. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/scheduler.py +0 -0
  679. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/task_run_recorder.py +0 -0
  680. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/services/telemetry.py +0 -0
  681. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/task_queue.py +0 -0
  682. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/AppRouterView-jW8a5PTn.css +0 -0
  683. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Artifact-CRjdjQ-g.css +0 -0
  684. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/AutomationWizard-Blh7nUVF.css +0 -0
  685. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Automations-kevE_7lB.css +0 -0
  686. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/ConcurrencyLimits-BepjUWPD.css +0 -0
  687. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Dashboard-jojjFjuH.css +0 -0
  688. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Deployment-BXCR3zS7.css +0 -0
  689. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Events-DwBr0OvW.css +0 -0
  690. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Flow-B5bcVf8c.css +0 -0
  691. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/FlowRun-CrGsvBik.css +0 -0
  692. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Runs-DWzLEJoO.css +0 -0
  693. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/Settings-DTjaFxCR.css +0 -0
  694. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/TaskRun-CqNaY9YA.css +0 -0
  695. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/WorkPool-BtM-yFpt.css +0 -0
  696. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/WorkPoolQueue-CHGh2RsG.css +0 -0
  697. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/_commonjsHelpers-Cpj98o6Y.js +0 -0
  698. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/_commonjsHelpers-Cpj98o6Y.js.map +0 -0
  699. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/index-0yGGjo7r.js +0 -0
  700. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/index-0yGGjo7r.js.map +0 -0
  701. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/assets/index-BqjdREOj.css +0 -0
  702. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/decorative_iso-pixel-grid_dark.svg +0 -0
  703. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/decorative_iso-pixel-grid_light.svg +0 -0
  704. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/android-chrome-192x192.png +0 -0
  705. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/android-chrome-512x512.png +0 -0
  706. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/apple-touch-icon.png +0 -0
  707. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/browserconfig.xml +0 -0
  708. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/cancelled.svg +0 -0
  709. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/completed.svg +0 -0
  710. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/crashed.svg +0 -0
  711. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/failed.svg +0 -0
  712. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/favicon-16x16-dark.png +0 -0
  713. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/favicon-16x16.png +0 -0
  714. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/favicon-32x32-dark.png +0 -0
  715. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/favicon-32x32.png +0 -0
  716. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/favicon-dark.ico +0 -0
  717. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/favicon.ico +0 -0
  718. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/mstile-150x150.png +0 -0
  719. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/pending.svg +0 -0
  720. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/running.svg +0 -0
  721. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/safari-pinned-tab.svg +0 -0
  722. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/scheduled.svg +0 -0
  723. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/ico/site.webmanifest +0 -0
  724. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/marketing-banner-bg-dark.svg +0 -0
  725. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/marketing-banner-bg-light.svg +0 -0
  726. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/ui/robots.txt +0 -0
  727. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/__init__.py +0 -0
  728. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/database.py +0 -0
  729. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/encryption.py +0 -0
  730. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/http.py +0 -0
  731. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/messaging/__init__.py +0 -0
  732. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/messaging/memory.py +0 -0
  733. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/names.py +0 -0
  734. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/schemas/__init__.py +0 -0
  735. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/schemas/bases.py +0 -0
  736. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/schemas/serializers.py +0 -0
  737. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/server.py +0 -0
  738. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/subscriptions.py +0 -0
  739. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/server/utilities/user_templates.py +0 -0
  740. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/__init__.py +0 -0
  741. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/base.py +0 -0
  742. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/constants.py +0 -0
  743. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/context.py +0 -0
  744. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/legacy.py +0 -0
  745. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/__init__.py +0 -0
  746. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/api.py +0 -0
  747. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/cli.py +0 -0
  748. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/client.py +0 -0
  749. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/cloud.py +0 -0
  750. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/deployments.py +0 -0
  751. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/experiments.py +0 -0
  752. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/flows.py +0 -0
  753. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/internal.py +0 -0
  754. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/logging.py +0 -0
  755. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/results.py +0 -0
  756. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/root.py +0 -0
  757. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/runner.py +0 -0
  758. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/__init__.py +0 -0
  759. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/api.py +0 -0
  760. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/database.py +0 -0
  761. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/deployments.py +0 -0
  762. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/ephemeral.py +0 -0
  763. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/events.py +0 -0
  764. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/flow_run_graph.py +0 -0
  765. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/root.py +0 -0
  766. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/services.py +0 -0
  767. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/tasks.py +0 -0
  768. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/server/ui.py +0 -0
  769. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/tasks.py +0 -0
  770. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/testing.py +0 -0
  771. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/models/worker.py +0 -0
  772. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/profiles.py +0 -0
  773. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/profiles.toml +0 -0
  774. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/settings/sources.py +0 -0
  775. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/states.py +0 -0
  776. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/task_engine.py +0 -0
  777. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/task_runners.py +0 -0
  778. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/task_runs.py +0 -0
  779. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/task_worker.py +0 -0
  780. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/tasks.py +0 -0
  781. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/telemetry/__init__.py +0 -0
  782. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/telemetry/bootstrap.py +0 -0
  783. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/telemetry/logging.py +0 -0
  784. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/telemetry/processors.py +0 -0
  785. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/telemetry/run_telemetry.py +0 -0
  786. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/__init__.py +0 -0
  787. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/cli.py +0 -0
  788. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/docker.py +0 -0
  789. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/fixtures.py +0 -0
  790. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/standard_test_suites/__init__.py +0 -0
  791. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/standard_test_suites/blocks.py +0 -0
  792. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/testing/utilities.py +0 -0
  793. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/transactions.py +0 -0
  794. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/types/__init__.py +0 -0
  795. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/types/entrypoint.py +0 -0
  796. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/__init__.py +0 -0
  797. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/_engine.py +0 -0
  798. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/annotations.py +0 -0
  799. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/asyncutils.py +0 -0
  800. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/callables.py +0 -0
  801. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/collections.py +0 -0
  802. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/compat.py +0 -0
  803. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/context.py +0 -0
  804. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/dispatch.py +0 -0
  805. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/dockerutils.py +0 -0
  806. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/engine.py +0 -0
  807. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/filesystem.py +0 -0
  808. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/hashing.py +0 -0
  809. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/importtools.py +0 -0
  810. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/math.py +0 -0
  811. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/names.py +0 -0
  812. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/processutils.py +0 -0
  813. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/pydantic.py +0 -0
  814. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/render_swagger.py +0 -0
  815. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/schema_tools/__init__.py +0 -0
  816. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/schema_tools/hydration.py +0 -0
  817. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/schema_tools/validation.py +0 -0
  818. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/services.py +0 -0
  819. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/slugify.py +0 -0
  820. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/templating.py +0 -0
  821. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/text.py +0 -0
  822. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/timeout.py +0 -0
  823. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/urls.py +0 -0
  824. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/utilities/visualization.py +0 -0
  825. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/variables.py +0 -0
  826. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/__init__.py +0 -0
  827. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/base.py +0 -0
  828. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/block.py +0 -0
  829. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/cloud.py +0 -0
  830. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/process.py +0 -0
  831. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/server.py +0 -0
  832. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect/workers/utilities.py +0 -0
  833. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect.egg-info/dependency_links.txt +0 -0
  834. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect.egg-info/entry_points.txt +0 -0
  835. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect.egg-info/requires.txt +0 -0
  836. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/src/prefect.egg-info/top_level.txt +0 -0
  837. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_artifacts.py +0 -0
  838. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_automations.py +0 -0
  839. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_background_tasks.py +0 -0
  840. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_cache_policies.py +0 -0
  841. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_context.py +0 -0
  842. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_exceptions.py +0 -0
  843. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_filesystems.py +0 -0
  844. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_flow_engine.py +0 -0
  845. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_flow_runs.py +0 -0
  846. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_flows.py +0 -0
  847. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_flows_compat.py +0 -0
  848. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_futures.py +0 -0
  849. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_highlighters.py +0 -0
  850. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_locking.py +0 -0
  851. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_log_prints.py +0 -0
  852. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_logging.py +0 -0
  853. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_plugins.py +0 -0
  854. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_serializers.py +0 -0
  855. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_settings.py +0 -0
  856. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_states.py +0 -0
  857. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_task_engine.py +0 -0
  858. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_task_runners.py +0 -0
  859. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_task_runs.py +0 -0
  860. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_task_worker.py +0 -0
  861. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_tasks.py +0 -0
  862. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_transactions.py +0 -0
  863. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_types.py +0 -0
  864. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_variables.py +0 -0
  865. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/tests/test_versioneer.py +0 -0
  866. {prefect-3.1.9.dev1 → prefect-3.1.9.dev2}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: prefect
3
- Version: 3.1.9.dev1
3
+ Version: 3.1.9.dev2
4
4
  Summary: Workflow orchestration and management.
5
5
  Home-page: https://www.prefect.io
6
6
  Author: Prefect Technologies, Inc.
@@ -225,7 +225,9 @@ class QueueService(abc.ABC, Generic[T]):
225
225
  return future.result()
226
226
 
227
227
  @classmethod
228
- def drain_all(cls, timeout: Optional[float] = None) -> Union[Awaitable, None]:
228
+ def drain_all(
229
+ cls, timeout: Optional[float] = None, at_exit=True
230
+ ) -> Union[Awaitable, None]:
229
231
  """
230
232
  Stop all instances of the service and wait for all remaining work to be
231
233
  completed.
@@ -237,7 +239,7 @@ class QueueService(abc.ABC, Generic[T]):
237
239
  instances = tuple(cls._instances.values())
238
240
 
239
241
  for instance in instances:
240
- futures.append(instance._drain())
242
+ futures.append(instance._drain(at_exit=at_exit))
241
243
 
242
244
  if get_running_loop() is not None:
243
245
  return (
@@ -376,10 +378,10 @@ class BatchedQueueService(QueueService[T]):
376
378
  @contextlib.contextmanager
377
379
  def drain_on_exit(service: QueueService):
378
380
  yield
379
- service.drain_all()
381
+ service.drain_all(at_exit=True)
380
382
 
381
383
 
382
384
  @contextlib.asynccontextmanager
383
385
  async def drain_on_exit_async(service: QueueService):
384
386
  yield
385
- await service.drain_all()
387
+ await service.drain_all(at_exit=True)
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-12-17T13:51:24-0600",
11
+ "date": "2024-12-18T18:22:32-0500",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "068ea22915c17434616c008485a43062f1d6cd15",
15
- "version": "3.1.9.dev1"
14
+ "full-revisionid": "634303681c4fbec9df8c129fbe4eb788f6e2c807",
15
+ "version": "3.1.9.dev2"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -0,0 +1,2 @@
1
+ import{d as e,c as o,k as a,o as t,dC as r}from"./index-Dkae_997.js";import{u as s}from"./usePageTitle-DGuB4AZ9.js";const m=e({__name:"404",setup(n){return s("Page Not Found"),(c,p)=>(t(),o(a(r)))}});export{m as default};
2
+ //# sourceMappingURL=404-BaZTaH8C.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"404-RM0mtpPS.js","sources":["../../src/pages/404.vue"],"sourcesContent":["<template>\n <FourZeroFour />\n</template>\n\n<script lang=\"ts\" setup>\n import { FourZeroFour } from '@prefecthq/prefect-ui-library'\n import { usePageTitle } from '@/compositions/usePageTitle'\n usePageTitle('Page Not Found')\n</script>"],"names":["usePageTitle"],"mappings":"qJAOE,OAAAA,EAAa,gBAAgB"}
1
+ {"version":3,"file":"404-BaZTaH8C.js","sources":["../../src/pages/404.vue"],"sourcesContent":["<template>\n <FourZeroFour />\n</template>\n\n<script lang=\"ts\" setup>\n import { FourZeroFour } from '@prefecthq/prefect-ui-library'\n import { usePageTitle } from '@/compositions/usePageTitle'\n usePageTitle('Page Not Found')\n</script>"],"names":["usePageTitle"],"mappings":"qJAOE,OAAAA,EAAa,gBAAgB"}
@@ -0,0 +1,2 @@
1
+ import{d as j,N as R,ae as M,V as F,i as c,o as _,c as v,g as o,l as S,j as t,A as h,q as N,a as y,k as e,t as z,dh as I,di as Q,P as V,f as x,cS as W,dj as q,bk as i,dk as l,G as L,dl as H,dm as K,e as G,dn as Y,dp as X,M as Z,c8 as E,bw as ee,ax as te,aS as C,aL as J,dq as oe,dr as ne,ds as se,r as ae,dt as le,du as ie,dv as re,dw as ue,dx as ce}from"./index-Dkae_997.js";import{u as me,c as pe}from"./useCan-DYxSawGK.js";import{U as de,u as fe,c as _e,p as ve}from"./api-DD4AY08s.js";import"./mapper-CXwTfIzn.js";const ge={class:"flex gap-x-2 items-center"},ke={key:0,class:"text-sm italic"},we="http://prefect.io/slack?utm_source=oss&utm_medium=oss&utm_campaign=oss_popup&utm_term=none&utm_content=none",D="join-the-community-modal",be="https://getform.io/f/eapderva",he=j({__name:"JoinTheCommunityModal",props:{showModal:{type:Boolean},showModalModifiers:{}},emits:["update:showModal"],setup(a){const s=R(a,"showModal"),u=M(!1),r=M(),{validate:k,state:m}=F(r,[I("Email"),Q("Email")]),g=M(!1),d=M("");async function f(){if(await k()){d.value="",g.value=!0;try{await fetch(be,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:r.value}),redirect:"manual"}),s.value=!1,V("Successfully subscribed","success")}catch(w){d.value="An error occurred. Please try again.",console.error(w)}finally{g.value=!1}}}return(w,n)=>{const p=c("p-button"),P=c("p-divider"),U=c("p-text-input"),$=c("p-label"),A=c("p-form"),T=c("p-message"),B=c("p-modal");return _(),v(B,{"show-modal":s.value,"onUpdate:showModal":n[2]||(n[2]=b=>s.value=b),title:"Join the Prefect Community"},{header:o(()=>n[3]||(n[3]=[S("h2",null,"Join the Community",-1)])),default:o(()=>[n[5]||(n[5]=S("p",null," Connect with 25k+ engineers scaling Python with Prefect. Show us your work and be the first to know about new Prefect features. ",-1)),S("div",ge,[t(p,{primary:"",icon:"Slack",to:we,target:"_blank",onClick:n[0]||(n[0]=b=>u.value=!0)},{default:o(()=>n[4]||(n[4]=[h(" Join us on Slack ")])),_:1}),u.value?(_(),N("span",ke," Thanks for joining our community! ")):y("",!0)]),t(P,{class:"-my-3"}),t(A,{id:D,onSubmit:f},{default:o(()=>[t($,{label:"Notify me about Prefect updates",state:e(m),message:e(m).error},{default:o(({id:b})=>[t(U,{id:b,modelValue:r.value,"onUpdate:modelValue":n[1]||(n[1]=O=>r.value=O),placeholder:"hello@prefect.io",state:e(m)},null,8,["id","modelValue","state"])]),_:1},8,["state","message"])]),_:1}),d.value?(_(),v(T,{key:0,error:""},{default:o(()=>[h(z(d.value),1)]),_:1})):y("",!0)]),cancel:o(b=>[t(p,{class:"sm:order-first",onClick:b.close},{default:o(()=>n[6]||(n[6]=[h(" Skip ")])),_:2},1032,["onClick"])]),actions:o(()=>[t(p,{primary:"",type:"submit",form:D,loading:g.value},{default:o(()=>n[7]||(n[7]=[h(" Sign up ")])),_:1},8,["loading"])]),_:1},8,["show-modal"])}}}),ye={href:"https://www.prefect.io/cloud-vs-oss?utm_source=oss&utm_medium=oss&utm_campaign=oss&utm_term=none&utm_content=none",target:"_blank"},Ce=j({__name:"ContextSidebar",setup(a){const s=me(),u=x(()=>s.read.work_pool),{showModal:r,open:k}=W(),{value:m}=q("local","join-the-community-modal-dismissed",!1);function g(d){r.value=d,d||(m.value=!0)}return(d,f)=>{const w=c("p-icon"),n=c("router-link"),p=c("p-button");return _(),v(e(H),{class:"context-sidebar"},{header:o(()=>[t(n,{to:e(i).root(),class:"context-sidebar__logo-link"},{default:o(()=>[t(w,{icon:"Prefect",class:"context-sidebar__logo-icon"})]),_:1},8,["to"])]),footer:o(()=>[S("a",ye,[t(e(l),null,{default:o(()=>[f[1]||(f[1]=S("div",null," Ready to scale? ",-1)),t(p,{primary:"",small:"",class:"context-sidebar__upgade-button"},{default:o(()=>f[0]||(f[0]=[h(" Upgrade ")])),_:1})]),_:1})]),t(e(l),{onClick:e(k)},{default:o(()=>[f[2]||(f[2]=h(" Join the Community ")),t(he,{"show-modal":e(r)||!e(m),"onUpdate:showModal":g},null,8,["show-modal"])]),_:1},8,["onClick"]),t(e(l),{title:"Settings",to:e(i).settings()},null,8,["to"])]),default:o(()=>[t(e(l),{title:"Dashboard",to:e(i).dashboard()},null,8,["to"]),t(e(l),{title:"Runs",to:e(i).runs()},null,8,["to"]),t(e(l),{title:"Flows",to:e(i).flows()},null,8,["to"]),t(e(l),{title:"Deployments",to:e(i).deployments()},null,8,["to"]),u.value?(_(),v(e(l),{key:0,title:"Work Pools",to:e(i).workPools()},null,8,["to"])):y("",!0),u.value?y("",!0):(_(),v(e(l),{key:1,title:"Work Queues",to:e(i).workQueues()},null,8,["to"])),t(e(l),{title:"Blocks",to:e(i).blocks()},null,8,["to"]),t(e(l),{title:e(L).info.variables,to:e(i).variables()},null,8,["title","to"]),t(e(l),{title:"Automations",to:e(i).automations()},null,8,["to"]),t(e(l),{title:"Event Feed",to:e(i).events()},null,8,["to"]),t(e(l),{title:"Notifications",to:e(i).notifications()},null,8,["to"]),t(e(l),{title:"Concurrency",to:e(i).concurrencyLimits()},null,8,["to"])]),_:1})}}});async function Me(){const a=await de.get("apiUrl"),s={baseUrl:a};return a.startsWith("/")&&K()==="development"&&(s.baseUrl=`http://127.0.0.1:4200${a}`),{config:s}}function Se(){const a=G(fe.getFeatureFlags,[]),s=x(()=>[...Y,...a.response??[]]),u=X(s),r=x(()=>a.loading);return{can:u,pending:r}}function Pe(){const a=M(!1);function s(){a.value=!a.value}function u(){a.value=!0}function r(){a.value=!1}return{mobileMenuOpen:a,open:u,close:r,toggle:s}}const xe={class:"app-router-view"},Je=j({__name:"AppRouterView",async setup(a){let s,u;const{can:r}=Se(),{config:k}=([s,u]=Z(()=>Me()),s=await s,u(),s),m=_e(k),g=ce();C(pe,r),C(ie,r),C(ve,m),C(re,m),C(ue,g),m.admin.authCheck().then(p=>{p?m.health.isHealthy().then(P=>{P||V(`Can't connect to Server API at ${k.baseUrl}. Check that it's accessible from your machine.`,"error",{timeout:!1})}):(E.currentRoute.value.name!=="login"&&V("Authentication failed.","error",{timeout:!1}),E.push({name:"login",query:{redirect:E.currentRoute.value.fullPath}}))});const{mobileMenuOpen:d,toggle:f,close:w}=Pe(),n=x(()=>J.lg||d.value);return ee(()=>document.body.classList.toggle("body-scrolling-disabled",n.value&&!J.lg)),(p,P)=>{const U=c("router-link"),$=c("p-button");return _(),N("div",xe,[!e(J).lg&&!p.$route.meta.public?(_(),v(e(ne),{key:0,class:"app-router-view__mobile-menu"},{"upper-links":o(()=>[t(U,{to:e(i).root()},{default:o(()=>[t(e(oe),{icon:"Prefect",class:"app-router-view__prefect-icon"})]),_:1},8,["to"])]),"bottom-links":o(()=>[t($,{small:"",icon:"Bars3Icon",class:"app-router-view__menu-icon",onClick:e(f)},null,8,["onClick"])]),_:1})):y("",!0),n.value&&!p.$route.meta.public?(_(),v(Ce,{key:1,class:"app-router-view__sidebar",onClick:e(w)},null,8,["onClick"])):y("",!0),t(e(le),{class:te(["app-router-view__view",{"app-router-view__view--public":p.$route.meta.public}])},{default:o(({Component:A})=>[t(se,{name:"app-router-view-fade",mode:"out-in"},{default:o(()=>[(_(),v(ae(A)))]),_:2},1024)]),_:1},8,["class"])])}}});export{Je as default};
2
+ //# sourceMappingURL=AppRouterView-KBaPMzzJ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppRouterView-dPuvBnwk.js","sources":["../../src/components/JoinTheCommunityModal.vue","../../src/components/ContextSidebar.vue","../../src/compositions/useApiConfig.ts","../../src/compositions/useCreateCan.ts","../../src/compositions/useMobileMenuOpen.ts","../../src/pages/AppRouterView.vue"],"sourcesContent":["<template>\n <p-modal v-model:show-modal=\"showModal\" title=\"Join the Prefect Community\">\n <template #header>\n <h2>Join the Community</h2>\n </template>\n\n <template #default>\n <p>\n Connect with 25k+ engineers scaling Python with Prefect. Show us your work and be the first to know about new Prefect features.\n </p>\n\n <div class=\"flex gap-x-2 items-center\">\n <p-button primary icon=\"Slack\" :to=\"joinSlackUrl\" target=\"_blank\" @click=\"showJoinSlackThankYouMessage = true\">\n Join us on Slack\n </p-button>\n\n <span v-if=\"showJoinSlackThankYouMessage\" class=\"text-sm italic\">\n Thanks for joining our community!\n </span>\n </div>\n\n <p-divider class=\"-my-3\" />\n\n <p-form :id=\"formId\" @submit=\"signUpForEmailUpdates\">\n <p-label v-slot=\"{ id }\" label=\"Notify me about Prefect updates\" :state :message=\"state.error\">\n <p-text-input\n :id\n v-model=\"email\"\n placeholder=\"hello@prefect.io\"\n :state\n />\n </p-label>\n </p-form>\n\n <p-message v-if=\"error\" error>\n {{ error }}\n </p-message>\n </template>\n\n <template #cancel=\"scope\">\n <p-button class=\"sm:order-first\" @click=\"scope.close\">\n Skip\n </p-button>\n </template>\n\n <template #actions>\n <p-button primary type=\"submit\" :form=\"formId\" :loading>\n Sign up\n </p-button>\n </template>\n </p-modal>\n</template>\n\n<script setup lang=\"ts\">\n import { showToast } from '@prefecthq/prefect-design'\n import { isEmail, isRequired } from '@prefecthq/prefect-ui-library'\n import { useValidation } from '@prefecthq/vue-compositions'\n import { ref } from 'vue'\n\n const showModal = defineModel<boolean>('showModal')\n\n const joinSlackUrl = 'http://prefect.io/slack?utm_source=oss&utm_medium=oss&utm_campaign=oss_popup&utm_term=none&utm_content=none'\n const showJoinSlackThankYouMessage = ref(false)\n\n const formId = 'join-the-community-modal'\n const email = ref<string>()\n const { validate, state } = useValidation(email, [isRequired('Email'), isEmail('Email')])\n\n const loading = ref(false)\n const error = ref('')\n\n const formEndpoint = 'https://getform.io/f/eapderva'\n async function signUpForEmailUpdates(): Promise<void> {\n if (!await validate()) {\n return\n }\n\n error.value = ''\n loading.value = true\n try {\n await fetch(formEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ email: email.value }),\n // getform redirects to a thank-you page so this cancels that additional request\n redirect: 'manual',\n })\n\n showModal.value = false\n showToast('Successfully subscribed', 'success')\n } catch (err) {\n error.value = 'An error occurred. Please try again.'\n console.error(err)\n } finally {\n loading.value = false\n }\n }\n</script>","<template>\n <p-context-sidebar class=\"context-sidebar\">\n <template #header>\n <router-link :to=\"routes.root()\" class=\"context-sidebar__logo-link\">\n <p-icon icon=\"Prefect\" class=\"context-sidebar__logo-icon\" />\n </router-link>\n </template>\n <p-context-nav-item title=\"Dashboard\" :to=\"routes.dashboard()\" />\n <p-context-nav-item title=\"Runs\" :to=\"routes.runs()\" />\n <p-context-nav-item title=\"Flows\" :to=\"routes.flows()\" />\n <p-context-nav-item title=\"Deployments\" :to=\"routes.deployments()\" />\n <p-context-nav-item v-if=\"canSeeWorkPools\" title=\"Work Pools\" :to=\"routes.workPools()\" />\n <p-context-nav-item v-if=\"!canSeeWorkPools\" title=\"Work Queues\" :to=\"routes.workQueues()\" />\n <p-context-nav-item title=\"Blocks\" :to=\"routes.blocks()\" />\n <p-context-nav-item :title=\"localization.info.variables\" :to=\"routes.variables()\" />\n <p-context-nav-item title=\"Automations\" :to=\"routes.automations()\" />\n <p-context-nav-item title=\"Event Feed\" :to=\"routes.events()\" />\n <p-context-nav-item title=\"Notifications\" :to=\"routes.notifications()\" />\n <p-context-nav-item title=\"Concurrency\" :to=\"routes.concurrencyLimits()\" />\n\n <template #footer>\n <a href=\"https://www.prefect.io/cloud-vs-oss?utm_source=oss&utm_medium=oss&utm_campaign=oss&utm_term=none&utm_content=none\" target=\"_blank\">\n <p-context-nav-item>\n <div>\n Ready to scale?\n </div>\n <p-button primary small class=\"context-sidebar__upgade-button\">\n Upgrade\n </p-button>\n </p-context-nav-item>\n </a>\n\n <p-context-nav-item @click=\"openJoinCommunityModal\">\n Join the Community\n <JoinTheCommunityModal :show-modal=\"showJoinCommunityModal || !joinTheCommunityModalDismissed\" @update:show-modal=\"updateShowModal\" />\n </p-context-nav-item>\n\n <p-context-nav-item title=\"Settings\" :to=\"routes.settings()\" />\n </template>\n </p-context-sidebar>\n</template>\n\n<script lang=\"ts\" setup>\n import { PContextSidebar, PContextNavItem } from '@prefecthq/prefect-design'\n import { localization, useShowModal } from '@prefecthq/prefect-ui-library'\n import { useStorage } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import JoinTheCommunityModal from '@/components/JoinTheCommunityModal.vue'\n import { useCan } from '@/compositions/useCan'\n import { routes } from '@/router'\n\n const can = useCan()\n const canSeeWorkPools = computed(() => can.read.work_pool)\n\n const { showModal: showJoinCommunityModal, open: openJoinCommunityModal } = useShowModal()\n const { value: joinTheCommunityModalDismissed } = useStorage('local', 'join-the-community-modal-dismissed', false)\n function updateShowModal(updatedShowModal: boolean): void {\n showJoinCommunityModal.value = updatedShowModal\n if (!updatedShowModal) {\n joinTheCommunityModalDismissed.value = true\n }\n }\n</script>\n\n<style>\n.context-sidebar__logo-link { @apply\n outline-none\n rounded-md\n focus:ring-spacing-focus-ring\n focus:ring-focus-ring\n}\n\n.context-sidebar__logo-link:focus:not(:focus-visible) { @apply\n ring-transparent\n}\n\n.context-sidebar__logo-icon { @apply\n !w-[42px]\n !h-[42px]\n}\n\n.context-sidebar__upgade-button { @apply\n ml-auto\n}\n</style>","import { PrefectConfig } from '@prefecthq/prefect-ui-library'\nimport { UiSettings } from '@/services/uiSettings'\nimport { MODE } from '@/utilities/meta'\n\nexport type UseWorkspaceApiConfig = {\n config: PrefectConfig,\n}\nexport async function useApiConfig(): Promise<UseWorkspaceApiConfig> {\n const baseUrl = await UiSettings.get('apiUrl')\n const config: PrefectConfig = { baseUrl }\n\n if (baseUrl.startsWith('/') && MODE() === 'development') {\n config.baseUrl = `http://127.0.0.1:4200${baseUrl}`\n }\n\n return { config }\n}","import { Can, createCan, workspacePermissions } from '@prefecthq/prefect-ui-library'\nimport { useSubscription } from '@prefecthq/vue-compositions'\nimport { computed, Ref } from 'vue'\nimport { uiSettings } from '@/services/uiSettings'\nimport { Permission } from '@/utilities/permissions'\n\ntype UseCreateCan = {\n can: Can<Permission>,\n pending: Ref<boolean>,\n}\n\nexport function useCreateCan(): UseCreateCan {\n const flagsSubscription = useSubscription(uiSettings.getFeatureFlags, [])\n\n const permissions = computed<Permission[]>(() => [\n ...workspacePermissions,\n ...flagsSubscription.response ?? [],\n ])\n\n const can = createCan(permissions)\n const pending = computed(() => flagsSubscription.loading)\n\n return {\n can,\n pending,\n }\n}","import { Ref, ref } from 'vue'\n\nexport type UseMobileMenuOpen = {\n mobileMenuOpen: Ref<boolean>,\n open: () => void,\n close: () => void,\n toggle: () => void,\n}\n\nexport function useMobileMenuOpen(): UseMobileMenuOpen {\n const mobileMenuOpen = ref(false)\n\n function toggle(): void {\n mobileMenuOpen.value = !mobileMenuOpen.value\n }\n\n function open(): void {\n mobileMenuOpen.value = true\n }\n\n function close(): void {\n mobileMenuOpen.value = false\n }\n\n return {\n mobileMenuOpen,\n open,\n close,\n toggle,\n }\n}","<template>\n <div class=\"app-router-view\">\n <template v-if=\"!media.lg && !$route.meta.public\">\n <PGlobalSidebar class=\"app-router-view__mobile-menu\">\n <template #upper-links>\n <router-link :to=\"appRoutes.root()\">\n <p-icon icon=\"Prefect\" class=\"app-router-view__prefect-icon\" />\n </router-link>\n </template>\n <template #bottom-links>\n <p-button small icon=\"Bars3Icon\" class=\"app-router-view__menu-icon\" @click=\"toggle\" />\n </template>\n </PGlobalSidebar>\n </template>\n <ContextSidebar v-if=\"showMenu && !$route.meta.public\" class=\"app-router-view__sidebar\" @click=\"close\" />\n <router-view :class=\"['app-router-view__view', { 'app-router-view__view--public': $route.meta.public }]\">\n <template #default=\"{ Component }\">\n <transition name=\"app-router-view-fade\" mode=\"out-in\">\n <component :is=\"Component\" />\n </transition>\n </template>\n </router-view>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { PGlobalSidebar, PIcon, media, showToast } from '@prefecthq/prefect-design'\n import { workspaceApiKey, canKey as designCanKey, createWorkspaceRoutes, workspaceRoutesKey } from '@prefecthq/prefect-ui-library'\n import { computed, provide, watchEffect } from 'vue'\n import { RouterView } from 'vue-router'\n import ContextSidebar from '@/components/ContextSidebar.vue'\n import { useApiConfig } from '@/compositions/useApiConfig'\n import { useCreateCan } from '@/compositions/useCreateCan'\n import { useMobileMenuOpen } from '@/compositions/useMobileMenuOpen'\n import router, { routes as appRoutes } from '@/router'\n import { createPrefectApi, prefectApiKey } from '@/utilities/api'\n import { canKey } from '@/utilities/permissions'\n\n const { can } = useCreateCan()\n const { config } = await useApiConfig()\n const api = createPrefectApi(config)\n const routes = createWorkspaceRoutes()\n\n provide(canKey, can)\n provide(designCanKey, can)\n provide(prefectApiKey, api)\n provide(workspaceApiKey, api)\n provide(workspaceRoutesKey, routes)\n api.admin.authCheck().then(authenticated => {\n if (!authenticated) {\n if (router.currentRoute.value.name !== 'login') {\n showToast('Authentication failed.', 'error', { timeout: false })\n }\n router.push({\n name: 'login',\n query: { redirect: router.currentRoute.value.fullPath }\n })\n } else {\n api.health.isHealthy().then(healthy => {\n if (!healthy) {\n showToast(`Can't connect to Server API at ${config.baseUrl}. Check that it's accessible from your machine.`, 'error', { timeout: false })\n }\n })\n }\n })\n\n const { mobileMenuOpen, toggle, close } = useMobileMenuOpen()\n const showMenu = computed(() => media.lg || mobileMenuOpen.value)\n\n watchEffect(() => document.body.classList.toggle('body-scrolling-disabled', showMenu.value && !media.lg))\n</script>\n\n<style>\n.body-scrolling-disabled { @apply\n overflow-hidden\n}\n\n.app-router-view { @apply\n flex\n flex-col\n bg-no-repeat\n overflow-auto;\n --prefect-scroll-margin: theme('spacing.20');\n height: 100vh;\n background-image: url('/decorative_iso-pixel-grid_light.svg');\n background-attachment: fixed;\n background-position: bottom -140px left -140px;\n}\n\n.dark .app-router-view {\n background-image: url('/decorative_iso-pixel-grid_dark.svg');\n}\n\n.app-router-view__prefect-icon { @apply\n w-7\n h-7\n}\n\n.app-router-view__mobile-menu { @apply\n h-auto\n py-3\n}\n\n.app-router-view__sidebar { @apply\n bg-floating\n top-[54px]\n lg:bg-transparent\n lg:top-0\n}\n\n.app-router-view__sidebar .p-context-sidebar__header { @apply\n hidden\n lg:block\n}\n\n.app-router-view__view {\n /* The 1px flex-basis is important because it allows us to use height: 100% without additional flexing */\n flex: 1 0 1px;\n height: 100%;\n}\n\n.app-router-view__view--public { @apply\n flex\n items-center\n justify-center;\n grid-column: 1 / -1;\n}\n\n@screen lg {\n .app-router-view {\n --prefect-scroll-margin: theme('spacing.2');\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n }\n}\n\n.app-router-view-fade-enter-active,\n.app-router-view-fade-leave-active {\n transition: opacity 0.25s ease;\n}\n\n.app-router-view-fade-enter-from,\n.app-router-view-fade-leave-to {\n opacity: 0;\n}\n</style>"],"names":["joinSlackUrl","formId","formEndpoint","showModal","_useModel","__props","showJoinSlackThankYouMessage","ref","email","validate","state","useValidation","isRequired","isEmail","loading","error","signUpForEmailUpdates","showToast","err","can","useCan","canSeeWorkPools","computed","showJoinCommunityModal","openJoinCommunityModal","useShowModal","joinTheCommunityModalDismissed","useStorage","updateShowModal","updatedShowModal","useApiConfig","baseUrl","UiSettings","config","MODE","useCreateCan","flagsSubscription","useSubscription","uiSettings","permissions","workspacePermissions","createCan","pending","useMobileMenuOpen","mobileMenuOpen","toggle","open","close","__temp","__restore","_withAsyncContext","api","createPrefectApi","routes","createWorkspaceRoutes","provide","canKey","designCanKey","prefectApiKey","workspaceApiKey","workspaceRoutesKey","authenticated","healthy","router","showMenu","media","watchEffect"],"mappings":"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"}
1
+ {"version":3,"file":"AppRouterView-KBaPMzzJ.js","sources":["../../src/components/JoinTheCommunityModal.vue","../../src/components/ContextSidebar.vue","../../src/compositions/useApiConfig.ts","../../src/compositions/useCreateCan.ts","../../src/compositions/useMobileMenuOpen.ts","../../src/pages/AppRouterView.vue"],"sourcesContent":["<template>\n <p-modal v-model:show-modal=\"showModal\" title=\"Join the Prefect Community\">\n <template #header>\n <h2>Join the Community</h2>\n </template>\n\n <template #default>\n <p>\n Connect with 25k+ engineers scaling Python with Prefect. Show us your work and be the first to know about new Prefect features.\n </p>\n\n <div class=\"flex gap-x-2 items-center\">\n <p-button primary icon=\"Slack\" :to=\"joinSlackUrl\" target=\"_blank\" @click=\"showJoinSlackThankYouMessage = true\">\n Join us on Slack\n </p-button>\n\n <span v-if=\"showJoinSlackThankYouMessage\" class=\"text-sm italic\">\n Thanks for joining our community!\n </span>\n </div>\n\n <p-divider class=\"-my-3\" />\n\n <p-form :id=\"formId\" @submit=\"signUpForEmailUpdates\">\n <p-label v-slot=\"{ id }\" label=\"Notify me about Prefect updates\" :state :message=\"state.error\">\n <p-text-input\n :id\n v-model=\"email\"\n placeholder=\"hello@prefect.io\"\n :state\n />\n </p-label>\n </p-form>\n\n <p-message v-if=\"error\" error>\n {{ error }}\n </p-message>\n </template>\n\n <template #cancel=\"scope\">\n <p-button class=\"sm:order-first\" @click=\"scope.close\">\n Skip\n </p-button>\n </template>\n\n <template #actions>\n <p-button primary type=\"submit\" :form=\"formId\" :loading>\n Sign up\n </p-button>\n </template>\n </p-modal>\n</template>\n\n<script setup lang=\"ts\">\n import { showToast } from '@prefecthq/prefect-design'\n import { isEmail, isRequired } from '@prefecthq/prefect-ui-library'\n import { useValidation } from '@prefecthq/vue-compositions'\n import { ref } from 'vue'\n\n const showModal = defineModel<boolean>('showModal')\n\n const joinSlackUrl = 'http://prefect.io/slack?utm_source=oss&utm_medium=oss&utm_campaign=oss_popup&utm_term=none&utm_content=none'\n const showJoinSlackThankYouMessage = ref(false)\n\n const formId = 'join-the-community-modal'\n const email = ref<string>()\n const { validate, state } = useValidation(email, [isRequired('Email'), isEmail('Email')])\n\n const loading = ref(false)\n const error = ref('')\n\n const formEndpoint = 'https://getform.io/f/eapderva'\n async function signUpForEmailUpdates(): Promise<void> {\n if (!await validate()) {\n return\n }\n\n error.value = ''\n loading.value = true\n try {\n await fetch(formEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ email: email.value }),\n // getform redirects to a thank-you page so this cancels that additional request\n redirect: 'manual',\n })\n\n showModal.value = false\n showToast('Successfully subscribed', 'success')\n } catch (err) {\n error.value = 'An error occurred. Please try again.'\n console.error(err)\n } finally {\n loading.value = false\n }\n }\n</script>","<template>\n <p-context-sidebar class=\"context-sidebar\">\n <template #header>\n <router-link :to=\"routes.root()\" class=\"context-sidebar__logo-link\">\n <p-icon icon=\"Prefect\" class=\"context-sidebar__logo-icon\" />\n </router-link>\n </template>\n <p-context-nav-item title=\"Dashboard\" :to=\"routes.dashboard()\" />\n <p-context-nav-item title=\"Runs\" :to=\"routes.runs()\" />\n <p-context-nav-item title=\"Flows\" :to=\"routes.flows()\" />\n <p-context-nav-item title=\"Deployments\" :to=\"routes.deployments()\" />\n <p-context-nav-item v-if=\"canSeeWorkPools\" title=\"Work Pools\" :to=\"routes.workPools()\" />\n <p-context-nav-item v-if=\"!canSeeWorkPools\" title=\"Work Queues\" :to=\"routes.workQueues()\" />\n <p-context-nav-item title=\"Blocks\" :to=\"routes.blocks()\" />\n <p-context-nav-item :title=\"localization.info.variables\" :to=\"routes.variables()\" />\n <p-context-nav-item title=\"Automations\" :to=\"routes.automations()\" />\n <p-context-nav-item title=\"Event Feed\" :to=\"routes.events()\" />\n <p-context-nav-item title=\"Notifications\" :to=\"routes.notifications()\" />\n <p-context-nav-item title=\"Concurrency\" :to=\"routes.concurrencyLimits()\" />\n\n <template #footer>\n <a href=\"https://www.prefect.io/cloud-vs-oss?utm_source=oss&utm_medium=oss&utm_campaign=oss&utm_term=none&utm_content=none\" target=\"_blank\">\n <p-context-nav-item>\n <div>\n Ready to scale?\n </div>\n <p-button primary small class=\"context-sidebar__upgade-button\">\n Upgrade\n </p-button>\n </p-context-nav-item>\n </a>\n\n <p-context-nav-item @click=\"openJoinCommunityModal\">\n Join the Community\n <JoinTheCommunityModal :show-modal=\"showJoinCommunityModal || !joinTheCommunityModalDismissed\" @update:show-modal=\"updateShowModal\" />\n </p-context-nav-item>\n\n <p-context-nav-item title=\"Settings\" :to=\"routes.settings()\" />\n </template>\n </p-context-sidebar>\n</template>\n\n<script lang=\"ts\" setup>\n import { PContextSidebar, PContextNavItem } from '@prefecthq/prefect-design'\n import { localization, useShowModal } from '@prefecthq/prefect-ui-library'\n import { useStorage } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import JoinTheCommunityModal from '@/components/JoinTheCommunityModal.vue'\n import { useCan } from '@/compositions/useCan'\n import { routes } from '@/router'\n\n const can = useCan()\n const canSeeWorkPools = computed(() => can.read.work_pool)\n\n const { showModal: showJoinCommunityModal, open: openJoinCommunityModal } = useShowModal()\n const { value: joinTheCommunityModalDismissed } = useStorage('local', 'join-the-community-modal-dismissed', false)\n function updateShowModal(updatedShowModal: boolean): void {\n showJoinCommunityModal.value = updatedShowModal\n if (!updatedShowModal) {\n joinTheCommunityModalDismissed.value = true\n }\n }\n</script>\n\n<style>\n.context-sidebar__logo-link { @apply\n outline-none\n rounded-md\n focus:ring-spacing-focus-ring\n focus:ring-focus-ring\n}\n\n.context-sidebar__logo-link:focus:not(:focus-visible) { @apply\n ring-transparent\n}\n\n.context-sidebar__logo-icon { @apply\n !w-[42px]\n !h-[42px]\n}\n\n.context-sidebar__upgade-button { @apply\n ml-auto\n}\n</style>","import { PrefectConfig } from '@prefecthq/prefect-ui-library'\nimport { UiSettings } from '@/services/uiSettings'\nimport { MODE } from '@/utilities/meta'\n\nexport type UseWorkspaceApiConfig = {\n config: PrefectConfig,\n}\nexport async function useApiConfig(): Promise<UseWorkspaceApiConfig> {\n const baseUrl = await UiSettings.get('apiUrl')\n const config: PrefectConfig = { baseUrl }\n\n if (baseUrl.startsWith('/') && MODE() === 'development') {\n config.baseUrl = `http://127.0.0.1:4200${baseUrl}`\n }\n\n return { config }\n}","import { Can, createCan, workspacePermissions } from '@prefecthq/prefect-ui-library'\nimport { useSubscription } from '@prefecthq/vue-compositions'\nimport { computed, Ref } from 'vue'\nimport { uiSettings } from '@/services/uiSettings'\nimport { Permission } from '@/utilities/permissions'\n\ntype UseCreateCan = {\n can: Can<Permission>,\n pending: Ref<boolean>,\n}\n\nexport function useCreateCan(): UseCreateCan {\n const flagsSubscription = useSubscription(uiSettings.getFeatureFlags, [])\n\n const permissions = computed<Permission[]>(() => [\n ...workspacePermissions,\n ...flagsSubscription.response ?? [],\n ])\n\n const can = createCan(permissions)\n const pending = computed(() => flagsSubscription.loading)\n\n return {\n can,\n pending,\n }\n}","import { Ref, ref } from 'vue'\n\nexport type UseMobileMenuOpen = {\n mobileMenuOpen: Ref<boolean>,\n open: () => void,\n close: () => void,\n toggle: () => void,\n}\n\nexport function useMobileMenuOpen(): UseMobileMenuOpen {\n const mobileMenuOpen = ref(false)\n\n function toggle(): void {\n mobileMenuOpen.value = !mobileMenuOpen.value\n }\n\n function open(): void {\n mobileMenuOpen.value = true\n }\n\n function close(): void {\n mobileMenuOpen.value = false\n }\n\n return {\n mobileMenuOpen,\n open,\n close,\n toggle,\n }\n}","<template>\n <div class=\"app-router-view\">\n <template v-if=\"!media.lg && !$route.meta.public\">\n <PGlobalSidebar class=\"app-router-view__mobile-menu\">\n <template #upper-links>\n <router-link :to=\"appRoutes.root()\">\n <p-icon icon=\"Prefect\" class=\"app-router-view__prefect-icon\" />\n </router-link>\n </template>\n <template #bottom-links>\n <p-button small icon=\"Bars3Icon\" class=\"app-router-view__menu-icon\" @click=\"toggle\" />\n </template>\n </PGlobalSidebar>\n </template>\n <ContextSidebar v-if=\"showMenu && !$route.meta.public\" class=\"app-router-view__sidebar\" @click=\"close\" />\n <router-view :class=\"['app-router-view__view', { 'app-router-view__view--public': $route.meta.public }]\">\n <template #default=\"{ Component }\">\n <transition name=\"app-router-view-fade\" mode=\"out-in\">\n <component :is=\"Component\" />\n </transition>\n </template>\n </router-view>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { PGlobalSidebar, PIcon, media, showToast } from '@prefecthq/prefect-design'\n import { workspaceApiKey, canKey as designCanKey, createWorkspaceRoutes, workspaceRoutesKey } from '@prefecthq/prefect-ui-library'\n import { computed, provide, watchEffect } from 'vue'\n import { RouterView } from 'vue-router'\n import ContextSidebar from '@/components/ContextSidebar.vue'\n import { useApiConfig } from '@/compositions/useApiConfig'\n import { useCreateCan } from '@/compositions/useCreateCan'\n import { useMobileMenuOpen } from '@/compositions/useMobileMenuOpen'\n import router, { routes as appRoutes } from '@/router'\n import { createPrefectApi, prefectApiKey } from '@/utilities/api'\n import { canKey } from '@/utilities/permissions'\n\n const { can } = useCreateCan()\n const { config } = await useApiConfig()\n const api = createPrefectApi(config)\n const routes = createWorkspaceRoutes()\n\n provide(canKey, can)\n provide(designCanKey, can)\n provide(prefectApiKey, api)\n provide(workspaceApiKey, api)\n provide(workspaceRoutesKey, routes)\n api.admin.authCheck().then(authenticated => {\n if (!authenticated) {\n if (router.currentRoute.value.name !== 'login') {\n showToast('Authentication failed.', 'error', { timeout: false })\n }\n router.push({\n name: 'login',\n query: { redirect: router.currentRoute.value.fullPath }\n })\n } else {\n api.health.isHealthy().then(healthy => {\n if (!healthy) {\n showToast(`Can't connect to Server API at ${config.baseUrl}. Check that it's accessible from your machine.`, 'error', { timeout: false })\n }\n })\n }\n })\n\n const { mobileMenuOpen, toggle, close } = useMobileMenuOpen()\n const showMenu = computed(() => media.lg || mobileMenuOpen.value)\n\n watchEffect(() => document.body.classList.toggle('body-scrolling-disabled', showMenu.value && !media.lg))\n</script>\n\n<style>\n.body-scrolling-disabled { @apply\n overflow-hidden\n}\n\n.app-router-view { @apply\n flex\n flex-col\n bg-no-repeat\n overflow-auto;\n --prefect-scroll-margin: theme('spacing.20');\n height: 100vh;\n background-image: url('/decorative_iso-pixel-grid_light.svg');\n background-attachment: fixed;\n background-position: bottom -140px left -140px;\n}\n\n.dark .app-router-view {\n background-image: url('/decorative_iso-pixel-grid_dark.svg');\n}\n\n.app-router-view__prefect-icon { @apply\n w-7\n h-7\n}\n\n.app-router-view__mobile-menu { @apply\n h-auto\n py-3\n}\n\n.app-router-view__sidebar { @apply\n bg-floating\n top-[54px]\n lg:bg-transparent\n lg:top-0\n}\n\n.app-router-view__sidebar .p-context-sidebar__header { @apply\n hidden\n lg:block\n}\n\n.app-router-view__view {\n /* The 1px flex-basis is important because it allows us to use height: 100% without additional flexing */\n flex: 1 0 1px;\n height: 100%;\n}\n\n.app-router-view__view--public { @apply\n flex\n items-center\n justify-center;\n grid-column: 1 / -1;\n}\n\n@screen lg {\n .app-router-view {\n --prefect-scroll-margin: theme('spacing.2');\n display: grid;\n grid-template-columns: max-content minmax(0, 1fr);\n }\n}\n\n.app-router-view-fade-enter-active,\n.app-router-view-fade-leave-active {\n transition: opacity 0.25s ease;\n}\n\n.app-router-view-fade-enter-from,\n.app-router-view-fade-leave-to {\n opacity: 0;\n}\n</style>"],"names":["joinSlackUrl","formId","formEndpoint","showModal","_useModel","__props","showJoinSlackThankYouMessage","ref","email","validate","state","useValidation","isRequired","isEmail","loading","error","signUpForEmailUpdates","showToast","err","can","useCan","canSeeWorkPools","computed","showJoinCommunityModal","openJoinCommunityModal","useShowModal","joinTheCommunityModalDismissed","useStorage","updateShowModal","updatedShowModal","useApiConfig","baseUrl","UiSettings","config","MODE","useCreateCan","flagsSubscription","useSubscription","uiSettings","permissions","workspacePermissions","createCan","pending","useMobileMenuOpen","mobileMenuOpen","toggle","open","close","__temp","__restore","_withAsyncContext","api","createPrefectApi","routes","createWorkspaceRoutes","provide","canKey","designCanKey","prefectApiKey","workspaceApiKey","workspaceRoutesKey","authenticated","healthy","router","showMenu","media","watchEffect"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{d as N,v as B,W as R,e as S,f as p,ae as T,al as V,c as r,g as e,i as c,G as _,aH as $,o as l,k as t,aI as h,a as i,aJ as d,q,j as s,aK as F,aL as H,aM as v,A as J,t as W,aN as m,a6 as j}from"./index-Dkae_997.js";import{u as E}from"./usePageTitle-DGuB4AZ9.js";const G={key:0},U=N({__name:"Artifact",setup(K){const b=B(),k=R("artifactId"),w=S(b.artifacts.getArtifact,[k]),a=p(()=>w.response),n=T(!1),y=[{label:"Artifact"},{label:"Details"},{label:"Raw"}],u=V("tab","Artifact"),g=p(()=>a.value?`${_.info.artifact}: ${a.value.key??$(a.value.type)}`:_.info.artifact);return E(g),(L,o)=>{const x=c("p-divider"),A=c("p-button"),C=c("p-content"),D=c("p-tabs"),I=c("p-layout-well");return l(),r(I,{class:"artifact"},{header:e(()=>[a.value?(l(),r(t(h),{key:0,artifact:a.value},null,8,["artifact"])):i("",!0)]),well:e(()=>[a.value?(l(),r(t(d),{key:0,artifact:a.value,alternate:""},null,8,["artifact"])):i("",!0)]),default:e(()=>[a.value?(l(),q("section",G,[s(t(F),{artifact:a.value},null,8,["artifact"]),s(x),t(H).xl?(l(),r(C,{key:0},{default:e(()=>[s(t(v),{artifact:a.value},null,8,["artifact"]),s(A,{class:"artifact__raw-data-button",small:"",onClick:o[0]||(o[0]=f=>n.value=!n.value)},{default:e(()=>[J(W(n.value?"Hide":"Show")+" raw data ",1)]),_:1}),n.value?(l(),r(t(m),{key:0,artifact:a.value},null,8,["artifact"])):i("",!0)]),_:1})):(l(),r(D,{key:1,selected:t(u),"onUpdate:selected":o[1]||(o[1]=f=>j(u)?u.value=f:null),tabs:y},{artifact:e(()=>[s(t(v),{artifact:a.value},null,8,["artifact"])]),details:e(()=>[s(t(d),{artifact:a.value},null,8,["artifact"])]),raw:e(()=>[s(t(m),{artifact:a.value},null,8,["artifact"])]),_:1},8,["selected"]))])):i("",!0)]),_:1})}}});export{U as default};
2
+ //# sourceMappingURL=Artifact-CXWVGpGG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Artifact-XXgkFEe5.js","sources":["../../src/pages/Artifact.vue"],"sourcesContent":["<template>\n <p-layout-well class=\"artifact\">\n <template #header>\n <PageHeadingArtifact v-if=\"artifact\" :artifact=\"artifact\" />\n </template>\n\n <section v-if=\"artifact\">\n <ArtifactDescription :artifact=\"artifact\" />\n\n <p-divider />\n\n <template v-if=\"media.xl\">\n <p-content>\n <ArtifactDataView :artifact=\"artifact\" />\n\n <p-button class=\"artifact__raw-data-button\" small @click=\"showRaw = !showRaw\">\n {{ showRaw ? 'Hide' : 'Show' }} raw data\n </p-button>\n\n <ArtifactDataRaw v-if=\"showRaw\" :artifact=\"artifact\" />\n </p-content>\n </template>\n\n <template v-else>\n <p-tabs v-model:selected=\"tab\" :tabs=\"tabs\">\n <template #artifact>\n <ArtifactDataView :artifact=\"artifact\" />\n </template>\n\n <template #details>\n <ArtifactDetails :artifact=\"artifact\" />\n </template>\n\n <template #raw>\n <ArtifactDataRaw :artifact=\"artifact\" />\n </template>\n </p-tabs>\n </template>\n </section>\n\n <template #well>\n <ArtifactDetails v-if=\"artifact\" :artifact=\"artifact\" alternate />\n </template>\n </p-layout-well>\n</template>\n\n<script lang=\"ts\" setup>\n import { media } from '@prefecthq/prefect-design'\n import {\n PageHeadingArtifact,\n ArtifactDataView,\n ArtifactDescription,\n ArtifactDetails,\n ArtifactDataRaw,\n localization,\n capitalize,\n useWorkspaceApi\n } from '@prefecthq/prefect-ui-library'\n import { useSubscription, useRouteParam, useRouteQueryParam } from '@prefecthq/vue-compositions'\n import { computed, ref } from 'vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n\n const api = useWorkspaceApi()\n const artifactId = useRouteParam('artifactId')\n\n const artifactSubscription = useSubscription(api.artifacts.getArtifact, [artifactId])\n const artifact = computed(() => artifactSubscription.response)\n\n const showRaw = ref(false)\n\n const tabs = [\n { label: 'Artifact' },\n { label: 'Details' },\n { label: 'Raw' },\n ]\n const tab = useRouteQueryParam('tab', 'Artifact')\n\n const pageTitle = computed<string>(() => {\n if (!artifact.value) {\n return localization.info.artifact\n }\n\n return `${localization.info.artifact}: ${artifact.value.key ?? capitalize(artifact.value.type)}`\n })\n\n usePageTitle(pageTitle)\n</script>\n\n<style>\n.artifact__raw-data-button { @apply\n mt-4\n inline-block\n mx-auto\n}\n</style>"],"names":["api","useWorkspaceApi","artifactId","useRouteParam","artifactSubscription","useSubscription","artifact","computed","showRaw","ref","tabs","tab","useRouteQueryParam","pageTitle","localization","capitalize","usePageTitle"],"mappings":"sTA8DE,MAAMA,EAAMC,EAAgB,EACtBC,EAAaC,EAAc,YAAY,EAEvCC,EAAuBC,EAAgBL,EAAI,UAAU,YAAa,CAACE,CAAU,CAAC,EAC9EI,EAAWC,EAAS,IAAMH,EAAqB,QAAQ,EAEvDI,EAAUC,EAAI,EAAK,EAEnBC,EAAO,CACX,CAAE,MAAO,UAAW,EACpB,CAAE,MAAO,SAAU,EACnB,CAAE,MAAO,KAAM,CACjB,EACMC,EAAMC,EAAmB,MAAO,UAAU,EAE1CC,EAAYN,EAAiB,IAC5BD,EAAS,MAIP,GAAGQ,EAAa,KAAK,QAAQ,KAAKR,EAAS,MAAM,KAAOS,EAAWT,EAAS,MAAM,IAAI,CAAC,GAHrFQ,EAAa,KAAK,QAI5B,EAED,OAAAE,EAAaH,CAAS"}
1
+ {"version":3,"file":"Artifact-CXWVGpGG.js","sources":["../../src/pages/Artifact.vue"],"sourcesContent":["<template>\n <p-layout-well class=\"artifact\">\n <template #header>\n <PageHeadingArtifact v-if=\"artifact\" :artifact=\"artifact\" />\n </template>\n\n <section v-if=\"artifact\">\n <ArtifactDescription :artifact=\"artifact\" />\n\n <p-divider />\n\n <template v-if=\"media.xl\">\n <p-content>\n <ArtifactDataView :artifact=\"artifact\" />\n\n <p-button class=\"artifact__raw-data-button\" small @click=\"showRaw = !showRaw\">\n {{ showRaw ? 'Hide' : 'Show' }} raw data\n </p-button>\n\n <ArtifactDataRaw v-if=\"showRaw\" :artifact=\"artifact\" />\n </p-content>\n </template>\n\n <template v-else>\n <p-tabs v-model:selected=\"tab\" :tabs=\"tabs\">\n <template #artifact>\n <ArtifactDataView :artifact=\"artifact\" />\n </template>\n\n <template #details>\n <ArtifactDetails :artifact=\"artifact\" />\n </template>\n\n <template #raw>\n <ArtifactDataRaw :artifact=\"artifact\" />\n </template>\n </p-tabs>\n </template>\n </section>\n\n <template #well>\n <ArtifactDetails v-if=\"artifact\" :artifact=\"artifact\" alternate />\n </template>\n </p-layout-well>\n</template>\n\n<script lang=\"ts\" setup>\n import { media } from '@prefecthq/prefect-design'\n import {\n PageHeadingArtifact,\n ArtifactDataView,\n ArtifactDescription,\n ArtifactDetails,\n ArtifactDataRaw,\n localization,\n capitalize,\n useWorkspaceApi\n } from '@prefecthq/prefect-ui-library'\n import { useSubscription, useRouteParam, useRouteQueryParam } from '@prefecthq/vue-compositions'\n import { computed, ref } from 'vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n\n const api = useWorkspaceApi()\n const artifactId = useRouteParam('artifactId')\n\n const artifactSubscription = useSubscription(api.artifacts.getArtifact, [artifactId])\n const artifact = computed(() => artifactSubscription.response)\n\n const showRaw = ref(false)\n\n const tabs = [\n { label: 'Artifact' },\n { label: 'Details' },\n { label: 'Raw' },\n ]\n const tab = useRouteQueryParam('tab', 'Artifact')\n\n const pageTitle = computed<string>(() => {\n if (!artifact.value) {\n return localization.info.artifact\n }\n\n return `${localization.info.artifact}: ${artifact.value.key ?? capitalize(artifact.value.type)}`\n })\n\n usePageTitle(pageTitle)\n</script>\n\n<style>\n.artifact__raw-data-button { @apply\n mt-4\n inline-block\n mx-auto\n}\n</style>"],"names":["api","useWorkspaceApi","artifactId","useRouteParam","artifactSubscription","useSubscription","artifact","computed","showRaw","ref","tabs","tab","useRouteQueryParam","pageTitle","localization","capitalize","usePageTitle"],"mappings":"2TA8DE,MAAMA,EAAMC,EAAgB,EACtBC,EAAaC,EAAc,YAAY,EAEvCC,EAAuBC,EAAgBL,EAAI,UAAU,YAAa,CAACE,CAAU,CAAC,EAC9EI,EAAWC,EAAS,IAAMH,EAAqB,QAAQ,EAEvDI,EAAUC,EAAI,EAAK,EAEnBC,EAAO,CACX,CAAE,MAAO,UAAW,EACpB,CAAE,MAAO,SAAU,EACnB,CAAE,MAAO,KAAM,CACjB,EACMC,EAAMC,EAAmB,MAAO,UAAU,EAE1CC,EAAYN,EAAiB,IAC5BD,EAAS,MAIP,GAAGQ,EAAa,KAAK,QAAQ,KAAKR,EAAS,MAAM,KAAOS,EAAWT,EAAS,MAAM,IAAI,CAAC,GAHrFQ,EAAa,KAAK,QAI5B,EAED,OAAAE,EAAaH,CAAS"}
@@ -0,0 +1,2 @@
1
+ import{d as y,v as m,W as k,e as _,f as s,c as e,g as o,i as v,G as n,o as t,k as c,aO as d,a as r,aK as g,q as C,aP as K,y as h}from"./index-Dkae_997.js";import{u as x}from"./usePageTitle-DGuB4AZ9.js";const W=y({__name:"ArtifactKey",setup(B){const u=m(),i=k("artifactKey"),l=_(u.artifacts.getArtifactCollection,[i]),a=s(()=>l.response),f=s(()=>a.value?`${n.info.artifact}: ${a.value.key}`:n.info.artifact);return x(f),(A,F)=>{const p=v("p-layout-default");return t(),e(p,{class:"artifact"},{header:o(()=>[a.value?(t(),e(c(d),{key:0,artifact:a.value},null,8,["artifact"])):r("",!0)]),default:o(()=>[a.value?(t(),e(c(g),{key:0,artifact:a.value},null,8,["artifact"])):r("",!0),a.value?(t(),C(h,{key:1},[a.value.key?(t(),e(c(K),{key:0,"artifact-key":a.value.key},null,8,["artifact-key"])):r("",!0)],64)):r("",!0)]),_:1})}}});export{W as default};
2
+ //# sourceMappingURL=ArtifactKey-CBGhx5Wn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ArtifactKey-92aq1ye3.js","sources":["../../src/pages/ArtifactKey.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"artifact\">\n <template #header>\n <PageHeadingArtifactKey v-if=\"artifact\" :artifact=\"artifact\" />\n </template>\n\n <ArtifactDescription v-if=\"artifact\" :artifact=\"artifact\" />\n\n <template v-if=\"artifact\">\n <ArtifactTimeline v-if=\"artifact.key\" :artifact-key=\"artifact.key\" />\n </template>\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import {\n PageHeadingArtifactKey,\n ArtifactDescription,\n ArtifactTimeline,\n localization,\n useWorkspaceApi\n } from '@prefecthq/prefect-ui-library'\n import { useSubscription, useRouteParam } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n\n const api = useWorkspaceApi()\n const artifactKey = useRouteParam('artifactKey')\n\n const artifactSubscription = useSubscription(api.artifacts.getArtifactCollection, [artifactKey])\n const artifact = computed(() => artifactSubscription.response)\n\n const pageTitle = computed<string>(() => {\n if (!artifact.value) {\n return localization.info.artifact\n }\n\n return `${localization.info.artifact}: ${artifact.value.key}`\n })\n\n usePageTitle(pageTitle)\n</script>\n"],"names":["api","useWorkspaceApi","artifactKey","useRouteParam","artifactSubscription","useSubscription","artifact","computed","pageTitle","localization","usePageTitle"],"mappings":"mPA0BE,MAAMA,EAAMC,EAAgB,EACtBC,EAAcC,EAAc,aAAa,EAEzCC,EAAuBC,EAAgBL,EAAI,UAAU,sBAAuB,CAACE,CAAW,CAAC,EACzFI,EAAWC,EAAS,IAAMH,EAAqB,QAAQ,EAEvDI,EAAYD,EAAiB,IAC5BD,EAAS,MAIP,GAAGG,EAAa,KAAK,QAAQ,KAAKH,EAAS,MAAM,GAAG,GAHlDG,EAAa,KAAK,QAI5B,EAED,OAAAC,EAAaF,CAAS"}
1
+ {"version":3,"file":"ArtifactKey-CBGhx5Wn.js","sources":["../../src/pages/ArtifactKey.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"artifact\">\n <template #header>\n <PageHeadingArtifactKey v-if=\"artifact\" :artifact=\"artifact\" />\n </template>\n\n <ArtifactDescription v-if=\"artifact\" :artifact=\"artifact\" />\n\n <template v-if=\"artifact\">\n <ArtifactTimeline v-if=\"artifact.key\" :artifact-key=\"artifact.key\" />\n </template>\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import {\n PageHeadingArtifactKey,\n ArtifactDescription,\n ArtifactTimeline,\n localization,\n useWorkspaceApi\n } from '@prefecthq/prefect-ui-library'\n import { useSubscription, useRouteParam } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n\n const api = useWorkspaceApi()\n const artifactKey = useRouteParam('artifactKey')\n\n const artifactSubscription = useSubscription(api.artifacts.getArtifactCollection, [artifactKey])\n const artifact = computed(() => artifactSubscription.response)\n\n const pageTitle = computed<string>(() => {\n if (!artifact.value) {\n return localization.info.artifact\n }\n\n return `${localization.info.artifact}: ${artifact.value.key}`\n })\n\n usePageTitle(pageTitle)\n</script>\n"],"names":["api","useWorkspaceApi","artifactKey","useRouteParam","artifactSubscription","useSubscription","artifact","computed","pageTitle","localization","usePageTitle"],"mappings":"mPA0BE,MAAMA,EAAMC,EAAgB,EACtBC,EAAcC,EAAc,aAAa,EAEzCC,EAAuBC,EAAgBL,EAAI,UAAU,sBAAuB,CAACE,CAAW,CAAC,EACzFI,EAAWC,EAAS,IAAMH,EAAqB,QAAQ,EAEvDI,EAAYD,EAAiB,IAC5BD,EAAS,MAIP,GAAGG,EAAa,KAAK,QAAQ,KAAKH,EAAS,MAAM,GAAG,GAHlDG,EAAa,KAAK,QAI5B,EAED,OAAAC,EAAaF,CAAS"}
@@ -0,0 +1,2 @@
1
+ import{d as o,c as r,g as a,i as c,o as n,j as e,k as t,aQ as _,aR as f}from"./index-Dkae_997.js";import{u as p}from"./usePageTitle-DGuB4AZ9.js";const h=o({__name:"Artifacts",setup(u){return p("Artifacts"),(l,i)=>{const s=c("p-layout-default");return n(),r(s,{class:"artifacts"},{header:a(()=>[e(t(_))]),default:a(()=>[e(t(f))]),_:1})}}});export{h as default};
2
+ //# sourceMappingURL=Artifacts-CcLLybUD.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Artifacts-3Oj_SpZd.js","sources":["../../src/pages/Artifacts.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"artifacts\">\n <template #header>\n <PageHeadingArtifacts />\n </template>\n\n <ArtifactCollections />\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import {\n PageHeadingArtifacts,\n ArtifactCollections\n } from '@prefecthq/prefect-ui-library'\n import { usePageTitle } from '@/compositions/usePageTitle'\n\n usePageTitle('Artifacts')\n</script>\n"],"names":["usePageTitle"],"mappings":"wLAiBE,OAAAA,EAAa,WAAW"}
1
+ {"version":3,"file":"Artifacts-CcLLybUD.js","sources":["../../src/pages/Artifacts.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"artifacts\">\n <template #header>\n <PageHeadingArtifacts />\n </template>\n\n <ArtifactCollections />\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import {\n PageHeadingArtifacts,\n ArtifactCollections\n } from '@prefecthq/prefect-ui-library'\n import { usePageTitle } from '@/compositions/usePageTitle'\n\n usePageTitle('Artifacts')\n</script>\n"],"names":["usePageTitle"],"mappings":"wLAiBE,OAAAA,EAAa,WAAW"}
@@ -1,2 +1,2 @@
1
- import{d as C,B as D,W as F,b as N,e as n,c as _,f as e,a as T,g as s,u as V,o as l,j as a,k as o,F as I,m as K,K as P,l as d,p as U,t as W,n as j,q,v as w,x as E,y as L}from"./index-BfXinIUU.js";import{u as R}from"./usePageTitle-D3Tj0lw0.js";import{u as S}from"./usePrefectApi-j20OJaO_.js";import"./api-CPUqIYs_.js";import"./mapper-BysJJThA.js";const $={class:"automation-card__label"},Q=C({__name:"Automation",setup(z){const c=D(),f=V(),v=S(),g=F("automationId"),i=N(v.automations.getAutomation,[g]),t=n(()=>i.response),y=n(()=>{var u;return((u=t.value)==null?void 0:u.name)??""}),b=n(()=>[{text:"Automations",to:c.automations()},{text:y.value}]),k=n(()=>t.value?`Automation: ${t.value.name}`:"Automation");R(k);function A(){f.push(c.automations())}return(u,m)=>{const x=s("p-key-value"),r=s("p-content"),B=s("p-card"),h=s("p-layout-default");return t.value?(l(),_(h,{key:0,class:"automation"},{header:e(()=>[a(o(P),{crumbs:b.value},{actions:e(()=>[a(o(I),{automation:t.value,onUpdate:o(i).refresh},null,8,["automation","onUpdate"]),a(o(K),{automation:t.value,onDelete:A},null,8,["automation"])]),_:1},8,["crumbs"])]),default:e(()=>[a(r,null,{default:e(()=>[a(x,{label:"Description",value:t.value.description},null,8,["value"]),a(r,{secondary:""},{default:e(()=>[m[0]||(m[0]=d("span",{class:"automation-card__label"},"Trigger",-1)),a(o(U),{trigger:t.value.trigger},null,8,["trigger"])]),_:1}),a(r,{secondary:""},{default:e(()=>[d("span",$,W(o(j)("Action",t.value.actions.length)),1),(l(!0),q(E,null,w(t.value.actions,p=>(l(),_(B,{key:p.id},{default:e(()=>[a(o(L),{action:p},null,8,["action"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})):T("",!0)}}});export{Q as default};
2
- //# sourceMappingURL=Automation-DVdFHpK6.js.map
1
+ import{d as C,B as D,W as F,e as N,f as n,c as _,g as e,a as T,i as s,u as V,o as l,j as a,k as o,F as I,m as K,K as P,l as d,p as U,t as W,n as j,q,x as w,y as z,z as E}from"./index-Dkae_997.js";import{u as L}from"./usePageTitle-DGuB4AZ9.js";import{u as R}from"./usePrefectApi-ugHPWJzM.js";import"./api-DD4AY08s.js";import"./mapper-CXwTfIzn.js";const S={class:"automation-card__label"},Q=C({__name:"Automation",setup($){const c=D(),f=V(),v=R(),g=F("automationId"),i=N(v.automations.getAutomation,[g]),t=n(()=>i.response),y=n(()=>{var u;return((u=t.value)==null?void 0:u.name)??""}),b=n(()=>[{text:"Automations",to:c.automations()},{text:y.value}]),k=n(()=>t.value?`Automation: ${t.value.name}`:"Automation");L(k);function A(){f.push(c.automations())}return(u,m)=>{const x=s("p-key-value"),r=s("p-content"),B=s("p-card"),h=s("p-layout-default");return t.value?(l(),_(h,{key:0,class:"automation"},{header:e(()=>[a(o(P),{crumbs:b.value},{actions:e(()=>[a(o(I),{automation:t.value,onUpdate:o(i).refresh},null,8,["automation","onUpdate"]),a(o(K),{automation:t.value,onDelete:A},null,8,["automation"])]),_:1},8,["crumbs"])]),default:e(()=>[a(r,null,{default:e(()=>[a(x,{label:"Description",value:t.value.description},null,8,["value"]),a(r,{secondary:""},{default:e(()=>[m[0]||(m[0]=d("span",{class:"automation-card__label"},"Trigger",-1)),a(o(U),{trigger:t.value.trigger},null,8,["trigger"])]),_:1}),a(r,{secondary:""},{default:e(()=>[d("span",S,W(o(j)("Action",t.value.actions.length)),1),(l(!0),q(z,null,w(t.value.actions,p=>(l(),_(B,{key:p.id},{default:e(()=>[a(o(E),{action:p},null,8,["action"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})):T("",!0)}}});export{Q as default};
2
+ //# sourceMappingURL=Automation-BLceWa57.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Automation-DVdFHpK6.js","sources":["../../src/pages/Automation.vue"],"sourcesContent":["<template>\n <p-layout-default v-if=\"automation\" class=\"automation\">\n <template #header>\n <PageHeading :crumbs=\"crumbs\">\n <template #actions>\n <AutomationToggle :automation=\"automation\" @update=\"subscription.refresh\" />\n <AutomationMenu :automation=\"automation\" @delete=\"goToAutomations\" />\n </template>\n </PageHeading>\n </template>\n <p-content>\n <p-key-value label=\"Description\" :value=\"automation.description\" />\n\n <p-content secondary>\n <span class=\"automation-card__label\">Trigger</span>\n <AutomationTriggerDescription :trigger=\"automation.trigger\" />\n </p-content>\n\n <p-content secondary>\n <span class=\"automation-card__label\">{{ toPluralString('Action', automation.actions.length) }}</span>\n <template v-for=\"action in automation.actions\" :key=\"action.id\">\n <p-card><AutomationActionDescription :action=\"action\" /></p-card>\n </template>\n </p-content>\n </p-content>\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { Crumb } from '@prefecthq/prefect-design'\n import { PageHeading, AutomationMenu, AutomationToggle, AutomationTriggerDescription, AutomationActionDescription, toPluralString, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { useRouteParam, useSubscription } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import { useRouter } from 'vue-router'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n\n const routes = useWorkspaceRoutes()\n const router = useRouter()\n const api = usePrefectApi()\n const automationId = useRouteParam('automationId')\n\n const subscription = useSubscription(api.automations.getAutomation, [automationId])\n const automation = computed(() => subscription.response)\n\n const name = computed(() => automation.value?.name ?? '')\n\n const crumbs = computed<Crumb[]>(() => [\n { text: 'Automations', to: routes.automations() },\n { text: name.value },\n ])\n\n const title = computed<string>(() => {\n if (automation.value) {\n return `Automation: ${automation.value.name}`\n }\n\n return 'Automation'\n })\n\n usePageTitle(title)\n\n function goToAutomations(): void {\n router.push(routes.automations())\n }\n</script>"],"names":["routes","useWorkspaceRoutes","router","useRouter","api","usePrefectApi","automationId","useRouteParam","subscription","useSubscription","automation","computed","name","_a","crumbs","title","usePageTitle","goToAutomations"],"mappings":"qaAqCE,MAAMA,EAASC,EAAmB,EAC5BC,EAASC,EAAU,EACnBC,EAAMC,EAAc,EACpBC,EAAeC,EAAc,cAAc,EAE3CC,EAAeC,EAAgBL,EAAI,YAAY,cAAe,CAACE,CAAY,CAAC,EAC5EI,EAAaC,EAAS,IAAMH,EAAa,QAAQ,EAEjDI,EAAOD,EAAS,IAAA,OAAM,QAAAE,EAAAH,EAAW,QAAX,YAAAG,EAAkB,OAAQ,GAAE,EAElDC,EAASH,EAAkB,IAAM,CACrC,CAAE,KAAM,cAAe,GAAIX,EAAO,aAAc,EAChD,CAAE,KAAMY,EAAK,KAAM,CAAA,CACpB,EAEKG,EAAQJ,EAAiB,IACzBD,EAAW,MACN,eAAeA,EAAW,MAAM,IAAI,GAGtC,YACR,EAEDM,EAAaD,CAAK,EAElB,SAASE,GAAwB,CACxBf,EAAA,KAAKF,EAAO,aAAa,CAAA"}
1
+ {"version":3,"file":"Automation-BLceWa57.js","sources":["../../src/pages/Automation.vue"],"sourcesContent":["<template>\n <p-layout-default v-if=\"automation\" class=\"automation\">\n <template #header>\n <PageHeading :crumbs=\"crumbs\">\n <template #actions>\n <AutomationToggle :automation=\"automation\" @update=\"subscription.refresh\" />\n <AutomationMenu :automation=\"automation\" @delete=\"goToAutomations\" />\n </template>\n </PageHeading>\n </template>\n <p-content>\n <p-key-value label=\"Description\" :value=\"automation.description\" />\n\n <p-content secondary>\n <span class=\"automation-card__label\">Trigger</span>\n <AutomationTriggerDescription :trigger=\"automation.trigger\" />\n </p-content>\n\n <p-content secondary>\n <span class=\"automation-card__label\">{{ toPluralString('Action', automation.actions.length) }}</span>\n <template v-for=\"action in automation.actions\" :key=\"action.id\">\n <p-card><AutomationActionDescription :action=\"action\" /></p-card>\n </template>\n </p-content>\n </p-content>\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { Crumb } from '@prefecthq/prefect-design'\n import { PageHeading, AutomationMenu, AutomationToggle, AutomationTriggerDescription, AutomationActionDescription, toPluralString, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { useRouteParam, useSubscription } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import { useRouter } from 'vue-router'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n\n const routes = useWorkspaceRoutes()\n const router = useRouter()\n const api = usePrefectApi()\n const automationId = useRouteParam('automationId')\n\n const subscription = useSubscription(api.automations.getAutomation, [automationId])\n const automation = computed(() => subscription.response)\n\n const name = computed(() => automation.value?.name ?? '')\n\n const crumbs = computed<Crumb[]>(() => [\n { text: 'Automations', to: routes.automations() },\n { text: name.value },\n ])\n\n const title = computed<string>(() => {\n if (automation.value) {\n return `Automation: ${automation.value.name}`\n }\n\n return 'Automation'\n })\n\n usePageTitle(title)\n\n function goToAutomations(): void {\n router.push(routes.automations())\n }\n</script>"],"names":["routes","useWorkspaceRoutes","router","useRouter","api","usePrefectApi","automationId","useRouteParam","subscription","useSubscription","automation","computed","name","_a","crumbs","title","usePageTitle","goToAutomations"],"mappings":"qaAqCE,MAAMA,EAASC,EAAmB,EAC5BC,EAASC,EAAU,EACnBC,EAAMC,EAAc,EACpBC,EAAeC,EAAc,cAAc,EAE3CC,EAAeC,EAAgBL,EAAI,YAAY,cAAe,CAACE,CAAY,CAAC,EAC5EI,EAAaC,EAAS,IAAMH,EAAa,QAAQ,EAEjDI,EAAOD,EAAS,IAAA,OAAM,QAAAE,EAAAH,EAAW,QAAX,YAAAG,EAAkB,OAAQ,GAAE,EAElDC,EAASH,EAAkB,IAAM,CACrC,CAAE,KAAM,cAAe,GAAIX,EAAO,aAAc,EAChD,CAAE,KAAMY,EAAK,KAAM,CAAA,CACpB,EAEKG,EAAQJ,EAAiB,IACzBD,EAAW,MACN,eAAeA,EAAW,MAAM,IAAI,GAGtC,YACR,EAEDM,EAAaD,CAAK,EAElB,SAASE,GAAwB,CACxBf,EAAA,KAAKF,EAAO,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{d as y,B as x,J as w,M as P,c as h,g as s,i as B,u as T,o as b,j as r,k as n,E as k,G as i,A as K,K as N,P as m,Y as V}from"./index-Dkae_997.js";import{_ as Y}from"./AutomationWizard.vue_vue_type_script_setup_true_lang-As55GY35.js";import{u as j}from"./usePageTitle-DGuB4AZ9.js";import{u as v}from"./usePrefectApi-ugHPWJzM.js";import"./mapper-CXwTfIzn.js";import"./api-DD4AY08s.js";const S=y({__name:"AutomationCreate",async setup(D){let e,u;j("Create Automation");const p=v(),c=x(),l=T(),_=[{text:"Automations",to:c.automations()},{text:"Create"}],{getActions:f,getTrigger:g}=w(),d=([e,u]=P(()=>A()),e=await e,u(),e);async function A(){const o={},[t,a]=await Promise.all([g(),f()]);return t&&(o.trigger=t),a&&(o.actions=a),o}async function C(o){try{await p.automations.createAutomation(o),m(i.success.automationCreate),l.push(c.automations())}catch(t){console.error(t);const a=V(t,i.error.automationCreate);m(a,"error",{timeout:!1})}}return(o,t)=>{const a=B("p-layout-default");return b(),h(a,{class:"automation-create"},{header:s(()=>[r(n(N),{crumbs:_},{actions:s(()=>[r(n(k),{to:n(i).docs.automations},{default:s(()=>t[0]||(t[0]=[K(" Documentation ")])),_:1},8,["to"])]),_:1})]),default:s(()=>[r(Y,{automation:n(d),onSubmit:C},null,8,["automation"])]),_:1})}}});export{S as default};
2
+ //# sourceMappingURL=AutomationCreate-C2MAJ2V7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationCreate-Cbrr0LCL.js","sources":["../../src/pages/AutomationCreate.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"automation-create\">\n <template #header>\n <PageHeading :crumbs>\n <template #actions>\n <DocumentationButton :to=\"localization.docs.automations\">\n Documentation\n </DocumentationButton>\n </template>\n </PageHeading>\n </template>\n\n <AutomationWizard :automation @submit=\"submit\" />\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { BreadCrumbs, showToast } from '@prefecthq/prefect-design'\n import { PageHeading, DocumentationButton, getApiErrorMessage, localization, useCreateAutomationQueryParams, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { useRouter } from 'vue-router'\n import AutomationWizard from '@/components/AutomationWizard.vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n import { Automation } from '@/types/automation'\n\n usePageTitle('Create Automation')\n\n const api = usePrefectApi()\n const routes = useWorkspaceRoutes()\n const router = useRouter()\n\n const crumbs: BreadCrumbs = [\n { text: 'Automations', to: routes.automations() },\n { text: 'Create' },\n ]\n\n const { getActions, getTrigger } = useCreateAutomationQueryParams()\n\n const automation = await getAutomationTemplate()\n\n async function getAutomationTemplate(): Promise<Partial<Automation>> {\n const automation: Partial<Automation> = {}\n\n const [trigger, actions] = await Promise.all([\n getTrigger(),\n getActions(),\n ])\n\n if (trigger) {\n automation.trigger = trigger\n }\n\n if (actions) {\n automation.actions = actions\n }\n\n return automation\n }\n\n async function submit(automation: Automation): Promise<void> {\n try {\n await api.automations.createAutomation(automation)\n\n showToast(localization.success.automationCreate)\n\n router.push(routes.automations())\n } catch (error) {\n console.error(error)\n const message = getApiErrorMessage(error, localization.error.automationCreate)\n showToast(message, 'error', { timeout: false })\n }\n }\n</script>"],"names":["usePageTitle","api","usePrefectApi","routes","useWorkspaceRoutes","router","useRouter","crumbs","getActions","getTrigger","useCreateAutomationQueryParams","automation","__temp","__restore","_withAsyncContext","getAutomationTemplate","trigger","actions","submit","showToast","localization","error","message","getApiErrorMessage"],"mappings":"4bAyBEA,EAAa,mBAAmB,EAEhC,MAAMC,EAAMC,EAAc,EACpBC,EAASC,EAAmB,EAC5BC,EAASC,EAAU,EAEnBC,EAAsB,CAC1B,CAAE,KAAM,cAAe,GAAIJ,EAAO,aAAc,EAChD,CAAE,KAAM,QAAS,CACnB,EAEM,CAAE,WAAAK,EAAY,WAAAC,CAAW,EAAIC,EAA+B,EAE5DC,GAAmB,CAAAC,EAAAC,CAAA,EAAAC,EAAA,IAAAC,EAAsB,CAAA,mBAE/C,eAAeA,GAAsD,CACnE,MAAMJ,EAAkC,CAAC,EAEnC,CAACK,EAASC,CAAO,EAAI,MAAM,QAAQ,IAAI,CAC3CR,EAAW,EACXD,EAAW,CAAA,CACZ,EAED,OAAIQ,IACFL,EAAW,QAAUK,GAGnBC,IACFN,EAAW,QAAUM,GAGhBN,CAAA,CAGT,eAAeO,EAAOP,EAAuC,CACvD,GAAA,CACI,MAAAV,EAAI,YAAY,iBAAiBU,CAAU,EAEvCQ,EAAAC,EAAa,QAAQ,gBAAgB,EAExCf,EAAA,KAAKF,EAAO,aAAa,QACzBkB,EAAO,CACd,QAAQ,MAAMA,CAAK,EACnB,MAAMC,EAAUC,EAAmBF,EAAOD,EAAa,MAAM,gBAAgB,EAC7ED,EAAUG,EAAS,QAAS,CAAE,QAAS,GAAO,CAAA,CAChD"}
1
+ {"version":3,"file":"AutomationCreate-C2MAJ2V7.js","sources":["../../src/pages/AutomationCreate.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"automation-create\">\n <template #header>\n <PageHeading :crumbs>\n <template #actions>\n <DocumentationButton :to=\"localization.docs.automations\">\n Documentation\n </DocumentationButton>\n </template>\n </PageHeading>\n </template>\n\n <AutomationWizard :automation @submit=\"submit\" />\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { BreadCrumbs, showToast } from '@prefecthq/prefect-design'\n import { PageHeading, DocumentationButton, getApiErrorMessage, localization, useCreateAutomationQueryParams, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { useRouter } from 'vue-router'\n import AutomationWizard from '@/components/AutomationWizard.vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n import { Automation } from '@/types/automation'\n\n usePageTitle('Create Automation')\n\n const api = usePrefectApi()\n const routes = useWorkspaceRoutes()\n const router = useRouter()\n\n const crumbs: BreadCrumbs = [\n { text: 'Automations', to: routes.automations() },\n { text: 'Create' },\n ]\n\n const { getActions, getTrigger } = useCreateAutomationQueryParams()\n\n const automation = await getAutomationTemplate()\n\n async function getAutomationTemplate(): Promise<Partial<Automation>> {\n const automation: Partial<Automation> = {}\n\n const [trigger, actions] = await Promise.all([\n getTrigger(),\n getActions(),\n ])\n\n if (trigger) {\n automation.trigger = trigger\n }\n\n if (actions) {\n automation.actions = actions\n }\n\n return automation\n }\n\n async function submit(automation: Automation): Promise<void> {\n try {\n await api.automations.createAutomation(automation)\n\n showToast(localization.success.automationCreate)\n\n router.push(routes.automations())\n } catch (error) {\n console.error(error)\n const message = getApiErrorMessage(error, localization.error.automationCreate)\n showToast(message, 'error', { timeout: false })\n }\n }\n</script>"],"names":["usePageTitle","api","usePrefectApi","routes","useWorkspaceRoutes","router","useRouter","crumbs","getActions","getTrigger","useCreateAutomationQueryParams","automation","__temp","__restore","_withAsyncContext","getAutomationTemplate","trigger","actions","submit","showToast","localization","error","message","getApiErrorMessage"],"mappings":"icAyBEA,EAAa,mBAAmB,EAEhC,MAAMC,EAAMC,EAAc,EACpBC,EAASC,EAAmB,EAC5BC,EAASC,EAAU,EAEnBC,EAAsB,CAC1B,CAAE,KAAM,cAAe,GAAIJ,EAAO,aAAc,EAChD,CAAE,KAAM,QAAS,CACnB,EAEM,CAAE,WAAAK,EAAY,WAAAC,CAAW,EAAIC,EAA+B,EAE5DC,GAAmB,CAAAC,EAAAC,CAAA,EAAAC,EAAA,IAAAC,EAAsB,CAAA,mBAE/C,eAAeA,GAAsD,CACnE,MAAMJ,EAAkC,CAAC,EAEnC,CAACK,EAASC,CAAO,EAAI,MAAM,QAAQ,IAAI,CAC3CR,EAAW,EACXD,EAAW,CAAA,CACZ,EAED,OAAIQ,IACFL,EAAW,QAAUK,GAGnBC,IACFN,EAAW,QAAUM,GAGhBN,CAAA,CAGT,eAAeO,EAAOP,EAAuC,CACvD,GAAA,CACI,MAAAV,EAAI,YAAY,iBAAiBU,CAAU,EAEvCQ,EAAAC,EAAa,QAAQ,gBAAgB,EAExCf,EAAA,KAAKF,EAAO,aAAa,QACzBkB,EAAO,CACd,QAAQ,MAAMA,CAAK,EACnB,MAAMC,EAAUC,EAAmBF,EAAOD,EAAa,MAAM,gBAAgB,EAC7ED,EAAUG,EAAS,QAAS,CAAE,QAAS,GAAO,CAAA,CAChD"}
@@ -0,0 +1,2 @@
1
+ import{d as x,B as y,W as b,M as g,f as w,c as h,g as a,i as k,u as v,o as B,j as u,k as e,E as C,G as r,A as P,K as E,P as l,Y as I}from"./index-Dkae_997.js";import{_ as K}from"./AutomationWizard.vue_vue_type_script_setup_true_lang-As55GY35.js";import{u as N}from"./usePageTitle-DGuB4AZ9.js";import{u as T}from"./usePrefectApi-ugHPWJzM.js";import"./mapper-CXwTfIzn.js";import"./api-DD4AY08s.js";const G=x({__name:"AutomationEdit",async setup(U){let o,m;const i=T(),c=y(),_=v(),p=b("automationId"),s=([o,m]=g(()=>i.automations.getAutomation(p.value)),o=await o,m(),o);N(`Edit Automation: ${s.name}`);const f=w(()=>[{text:"Automations",to:c.automations()},{text:s.name}]);async function A(d){try{await i.automations.updateAutomation(p.value,d),l(r.success.automationUpdate),_.push(c.automations())}catch(t){console.error(t);const n=I(t,r.error.automationUpdate);l(n,"error",{timeout:!1})}}return(d,t)=>{const n=k("p-layout-default");return B(),h(n,{class:"workspace-automation-create"},{header:a(()=>[u(e(E),{crumbs:f.value},{actions:a(()=>[u(e(C),{to:e(r).docs.automations},{default:a(()=>t[0]||(t[0]=[P(" Documentation ")])),_:1},8,["to"])]),_:1},8,["crumbs"])]),default:a(()=>[u(K,{automation:e(s),editing:"",onSubmit:A},null,8,["automation"])]),_:1})}}});export{G as default};
2
+ //# sourceMappingURL=AutomationEdit-C7-2Pu9o.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationEdit-CZcv-Qu6.js","sources":["../../src/pages/AutomationEdit.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"workspace-automation-create\">\n <template #header>\n <PageHeading :crumbs=\"crumbs\">\n <template #actions>\n <DocumentationButton :to=\"localization.docs.automations\">\n Documentation\n </DocumentationButton>\n </template>\n </PageHeading>\n </template>\n\n <AutomationWizard :automation=\"automation\" editing @submit=\"submit\" />\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { BreadCrumbs, showToast } from '@prefecthq/prefect-design'\n import { PageHeading, DocumentationButton, getApiErrorMessage, useWorkspaceRoutes, localization } from '@prefecthq/prefect-ui-library'\n import { useRouteParam } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import { useRouter } from 'vue-router'\n import AutomationWizard from '@/components/AutomationWizard.vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n import { Automation } from '@/types/automation'\n\n const api = usePrefectApi()\n const routes = useWorkspaceRoutes()\n const router = useRouter()\n const automationId = useRouteParam('automationId')\n const automation = await api.automations.getAutomation(automationId.value)\n\n usePageTitle(`Edit Automation: ${automation.name}`)\n\n const crumbs = computed<BreadCrumbs>(() => [\n { text: 'Automations', to: routes.automations() },\n { text: automation.name },\n ])\n\n async function submit(automation: Automation): Promise<void> {\n try {\n await api.automations.updateAutomation(automationId.value, automation)\n\n showToast(localization.success.automationUpdate)\n\n router.push(routes.automations())\n } catch (error) {\n console.error(error)\n const message = getApiErrorMessage(error, localization.error.automationUpdate)\n showToast(message, 'error', { timeout: false })\n }\n }\n</script>"],"names":["api","usePrefectApi","routes","useWorkspaceRoutes","router","useRouter","automationId","useRouteParam","automation","__temp","__restore","_withAsyncContext","usePageTitle","crumbs","computed","submit","showToast","localization","error","message","getApiErrorMessage"],"mappings":"scA2BE,MAAMA,EAAMC,EAAc,EACpBC,EAASC,EAAmB,EAC5BC,EAASC,EAAU,EACnBC,EAAeC,EAAc,cAAc,EAC3CC,GAAmB,CAAAC,EAAAC,CAAA,EAAAC,EAAA,IAAAX,EAAI,YAAY,cAAcM,EAAa,KAAK,CAAA,mBAE5DM,EAAA,oBAAoBJ,EAAW,IAAI,EAAE,EAE5C,MAAAK,EAASC,EAAsB,IAAM,CACzC,CAAE,KAAM,cAAe,GAAIZ,EAAO,aAAc,EAChD,CAAE,KAAMM,EAAW,IAAK,CAAA,CACzB,EAED,eAAeO,EAAOP,EAAuC,CACvD,GAAA,CACF,MAAMR,EAAI,YAAY,iBAAiBM,EAAa,MAAOE,CAAU,EAE3DQ,EAAAC,EAAa,QAAQ,gBAAgB,EAExCb,EAAA,KAAKF,EAAO,aAAa,QACzBgB,EAAO,CACd,QAAQ,MAAMA,CAAK,EACnB,MAAMC,EAAUC,EAAmBF,EAAOD,EAAa,MAAM,gBAAgB,EAC7ED,EAAUG,EAAS,QAAS,CAAE,QAAS,GAAO,CAAA,CAChD"}
1
+ {"version":3,"file":"AutomationEdit-C7-2Pu9o.js","sources":["../../src/pages/AutomationEdit.vue"],"sourcesContent":["<template>\n <p-layout-default class=\"workspace-automation-create\">\n <template #header>\n <PageHeading :crumbs=\"crumbs\">\n <template #actions>\n <DocumentationButton :to=\"localization.docs.automations\">\n Documentation\n </DocumentationButton>\n </template>\n </PageHeading>\n </template>\n\n <AutomationWizard :automation=\"automation\" editing @submit=\"submit\" />\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { BreadCrumbs, showToast } from '@prefecthq/prefect-design'\n import { PageHeading, DocumentationButton, getApiErrorMessage, useWorkspaceRoutes, localization } from '@prefecthq/prefect-ui-library'\n import { useRouteParam } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import { useRouter } from 'vue-router'\n import AutomationWizard from '@/components/AutomationWizard.vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n import { Automation } from '@/types/automation'\n\n const api = usePrefectApi()\n const routes = useWorkspaceRoutes()\n const router = useRouter()\n const automationId = useRouteParam('automationId')\n const automation = await api.automations.getAutomation(automationId.value)\n\n usePageTitle(`Edit Automation: ${automation.name}`)\n\n const crumbs = computed<BreadCrumbs>(() => [\n { text: 'Automations', to: routes.automations() },\n { text: automation.name },\n ])\n\n async function submit(automation: Automation): Promise<void> {\n try {\n await api.automations.updateAutomation(automationId.value, automation)\n\n showToast(localization.success.automationUpdate)\n\n router.push(routes.automations())\n } catch (error) {\n console.error(error)\n const message = getApiErrorMessage(error, localization.error.automationUpdate)\n showToast(message, 'error', { timeout: false })\n }\n }\n</script>"],"names":["api","usePrefectApi","routes","useWorkspaceRoutes","router","useRouter","automationId","useRouteParam","automation","__temp","__restore","_withAsyncContext","usePageTitle","crumbs","computed","submit","showToast","localization","error","message","getApiErrorMessage"],"mappings":"scA2BE,MAAMA,EAAMC,EAAc,EACpBC,EAASC,EAAmB,EAC5BC,EAASC,EAAU,EACnBC,EAAeC,EAAc,cAAc,EAC3CC,GAAmB,CAAAC,EAAAC,CAAA,EAAAC,EAAA,IAAAX,EAAI,YAAY,cAAcM,EAAa,KAAK,CAAA,mBAE5DM,EAAA,oBAAoBJ,EAAW,IAAI,EAAE,EAE5C,MAAAK,EAASC,EAAsB,IAAM,CACzC,CAAE,KAAM,cAAe,GAAIZ,EAAO,aAAc,EAChD,CAAE,KAAMM,EAAW,IAAK,CAAA,CACzB,EAED,eAAeO,EAAOP,EAAuC,CACvD,GAAA,CACF,MAAMR,EAAI,YAAY,iBAAiBM,EAAa,MAAOE,CAAU,EAE3DQ,EAAAC,EAAa,QAAQ,gBAAgB,EAExCb,EAAA,KAAKF,EAAO,aAAa,QACzBgB,EAAO,CACd,QAAQ,MAAMA,CAAK,EACnB,MAAMC,EAAUC,EAAmBF,EAAOD,EAAa,MAAM,gBAAgB,EAC7ED,EAAUG,EAAS,QAAS,CAAE,QAAS,GAAO,CAAA,CAChD"}
@@ -1,2 +1,2 @@
1
- import{d as w,M as $,e as S,Q as G,N as H,g as v,o as _,c as T,U as M,R as I,S as Y,T as q,V as O,X as tt,q as k,l as j,t as P,j as d,f as y,k as l,r as Q,Z as K,a as x,$ as et,a0 as D,a1 as F,a2 as at,w as L,x as N,v as ot,a3 as nt,z as R,a4 as st,a5 as B,a6 as W,D as it,E as rt,a7 as ut,a8 as lt,a9 as pt,aa as mt,ab as ct,ac as dt,ad as gt,ae as h,af as E,ag as _t,ah as vt,ai as ft,u as At,aj as yt}from"./index-BfXinIUU.js";import{m as C,i as bt,A as Vt}from"./mapper-BysJJThA.js";const Tt=w({__name:"AutomationActionTypeSelect",props:{type:{required:!0},typeModifiers:{}},emits:["update:type"],setup(f){const n=$(f,"type"),o=S(()=>{const e=G.map(t=>({label:H[t],value:t}));return n.value==="do-nothing"?e:e.filter(t=>t.value!=="do-nothing")});return(e,t)=>{const p=v("p-select");return _(),T(p,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=c=>n.value=c),options:o.value,class:"automation-action-type-select"},null,8,["modelValue","options"])}}}),wt={class:"automation-wizard-action"},St={class:"automation-wizard-action__header"},Ut={class:"automation-wizard-action__heading"},kt=w({__name:"AutomationWizardAction",props:{index:{},action:{},automation:{}},emits:["delete","update:action"],setup(f,{emit:n}){const o=f,e=n,t=S({get(){return o.action.type??null},set(m){if(M(m)){e("update:action",{});return}const r=I(o.automation.trigger),u=Y(m,r);e("update:action",u)}}),{state:p,error:c}=q(t,"Action Type",m=>!!m),s=S(()=>o.action.type?O(tt,{action:o.action,"onUpdate:action":m=>e("update:action",m)}):null);function i(m){e("update:action",m)}return(m,r)=>{const u=v("p-button"),g=v("p-label"),A=v("p-content");return _(),k("div",wt,[j("div",St,[j("span",Ut,"Action "+P(m.index+1),1),d(u,{size:"sm",icon:"TrashIcon",onClick:r[0]||(r[0]=b=>e("delete"))})]),d(A,null,{default:y(()=>[d(g,{label:"Action Type",state:l(p),message:l(c)},{default:y(({id:b})=>[d(Tt,{id:b,type:t.value,"onUpdate:type":r[1]||(r[1]=a=>t.value=a),state:l(p)},null,8,["id","type","state"])]),_:1},8,["state","message"]),s.value?(_(),T(Q(s.value.component),K({key:0},s.value.props,{"onUpdate:action":i}),null,16)):x("",!0)]),_:1})])}}}),zt={class:"automation-wizard-step-actions"},xt=w({__name:"AutomationWizardStepActions",props:{automation:{}},emits:["update:automation"],setup(f,{emit:n}){const o=f,e=n,t=et(o.automation.actions??[]);function p(){t.push({})}function c(u){t.splice(u,1)}function s(u,g){t[u]=g}const{error:i}=q(t,"Actions",u=>u.length?!0:"At least 1 action is required"),{defineValidate:m}=D(),{validate:r}=F();return m(r),at(()=>{t.length===0&&p()}),L(t,()=>{e("update:automation",{...o.automation,actions:t.filter(st)})}),(u,g)=>{const A=v("p-divider"),b=v("p-message"),a=v("p-button");return _(),k("div",zt,[(_(),T(nt,null,[(_(!0),k(N,null,ot(t,(V,U)=>(_(),k(N,{key:U},[d(kt,{action:V,automation:u.automation,index:U,"onUpdate:action":J=>s(U,J),onDelete:J=>c(U)},null,8,["action","automation","index","onUpdate:action","onDelete"]),d(A)],64))),128))],1024)),l(i)?(_(),T(b,{key:0,error:""},{default:y(()=>[R(P(l(i)),1)]),_:1})):x("",!0),d(a,{class:"automations-wizard-step-actions__add",icon:"PlusIcon",onClick:p},{default:y(()=>g[0]||(g[0]=[R(" Add Action ")])),_:1})])}}}),$t=w({__name:"AutomationWizardStepDetails",props:{automation:{required:!0},automationModifiers:{}},emits:["update:automation"],setup(f){const n=$(f,"automation"),o=B(n,"name"),e=B(n,"description"),{validate:t}=F(),p=(m="",r)=>m.length>0?!0:`${r} is required`,{state:c,error:s}=q(o,"Automation name",p),{defineValidate:i}=D();return i(t),(m,r)=>{const u=v("p-text-input"),g=v("p-label"),A=v("p-content");return _(),T(A,{class:"automation-wizard-step-details"},{default:y(()=>[d(g,{label:"Automation Name",state:l(c),message:l(s)},{default:y(({id:b})=>[d(u,{id:b,modelValue:l(o),"onUpdate:modelValue":r[0]||(r[0]=a=>W(o)?o.value=a:null),state:l(c)},null,8,["id","modelValue","state"])]),_:1},8,["state","message"]),d(g,{label:"Description (Optional)"},{default:y(({id:b})=>[d(u,{id:b,modelValue:l(e),"onUpdate:modelValue":r[1]||(r[1]=a=>W(e)?e.value=a:null)},null,8,["id","modelValue"])]),_:1})]),_:1})}}}),qt=w({__name:"AutomationTriggerJsonInput",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(f){const n=$(f,"modelValue"),o=s=>{try{const i=JSON.parse(s);C.map("AutomationTriggerResponse",i,"AutomationTrigger")}catch{return!1}return!0},e=(s,i)=>M(s)||lt(s)||pt(s)||mt(s)?`${i} is required`:!0,t=(s,i)=>{try{JSON.parse(s)}catch{return`${i} must be valid JSON`}return!0},{state:p,error:c}=q(n,"Trigger",[e,t,o]);return(s,i)=>{const m=v("p-message"),r=v("p-label");return _(),k(N,null,[d(m,{info:""},{action:y(()=>[d(l(it),{to:l(rt).docs.automationTriggers,small:""},null,8,["to"])]),default:y(()=>[i[1]||(i[1]=R(" Custom triggers allow advanced configuration of the conditions on which a trigger executes its actions. "))]),_:1}),d(r,{label:"Trigger",state:l(p),message:l(c)},{default:y(()=>[d(l(ut),{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=u=>n.value=u),class:"automation-trigger-json-input__json-input","show-format-button":"",state:l(p)},null,8,["modelValue","state"])]),_:1},8,["state","message"])],64)}}}),Jt=w({__name:"AutomationTriggerTemplateSelect",props:{template:{required:!0},templateModifiers:{}},emits:["update:template"],setup(f){const n=$(f,"template"),o=S(()=>ct.map(e=>({label:dt(e),value:e})));return(e,t)=>{const p=v("p-select");return _(),T(p,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=c=>n.value=c),"empty-message":"Select template",options:o.value,class:"automation-trigger-template-select"},null,8,["modelValue","options"])}}}),Nt=w({__name:"AutomationWizardStepTrigger",props:{automation:{required:!0},automationModifiers:{}},emits:["update:automation"],setup(f){const n=$(f,"automation"),o=S({get(){return n.value.trigger?I(n.value.trigger):null},set(a){if(M(a)){b(void 0);return}b(E(a))}}),{values:e}=gt(["Form","JSON"]),t=h("Form");function p(){const a=C.map("AutomationTrigger",n.value.trigger,"AutomationTriggerRequest");return vt(a)}const c=h(p());L(()=>n.value.trigger,()=>c.value=p());function s(){const a=JSON.parse(c.value),V=C.map("AutomationTriggerResponse",a,"AutomationTrigger");return b(V),V}async function i(a){t.value!==a&&await r()&&(a==="Form"&&s(),a==="JSON"&&(c.value=p()),t.value=a)}const{defineValidate:m}=D(),{validate:r}=F(),{state:u,error:g}=q(o,"Trigger template",a=>a?!0:"Trigger type is required");m(async()=>{const a=await r();return a&&t.value==="JSON"&&s(),a});const A=S(()=>{if(!o.value)return null;const a=n.value.trigger??E(o.value);switch(a.type){case"event":return O(_t,{template:o.value,trigger:a,"onUpdate:trigger":b});case"compound":case"sequence":return O(ft,{trigger:a,"onUpdate:trigger":b});default:const V=a;throw new Error(`AutomationWizardStepTrigger is missing case for trigger type ${V.type}`)}});function b(a){n.value={...n.value,trigger:a}}return(a,V)=>{const U=v("p-label"),J=v("p-button-group"),X=v("p-content");return _(),T(X,{class:"automation-wizard-step-trigger"},{default:y(()=>[d(U,{label:"Trigger Template",state:l(u),message:l(g)},{default:y(({id:z})=>[d(Jt,{id:z,template:o.value,"onUpdate:template":V[0]||(V[0]=Z=>o.value=Z),state:l(u)},null,8,["id","template","state"])]),_:1},8,["state","message"]),A.value?(_(),k(N,{key:0},[d(J,{class:"automation-wizard-step-trigger__mode-switcher","model-value":t.value,options:l(e),small:"","onUpdate:modelValue":V[1]||(V[1]=z=>i(z))},null,8,["model-value","options"]),t.value==="Form"&&o.value?(_(),T(Q(A.value.component),K({key:o.value},A.value.props),null,16)):t.value==="JSON"?(_(),T(qt,{key:1,modelValue:c.value,"onUpdate:modelValue":V[2]||(V[2]=z=>c.value=z)},null,8,["modelValue"])):x("",!0)],64)):x("",!0)]),_:1})}}}),Rt=w({__name:"AutomationWizard",props:{automation:{},editing:{type:Boolean}},emits:["submit"],setup(f,{emit:n}){const o=f,e=h(o.automation??{}),t=n,p=At(),c=S(()=>o.automation?"Save":"Create"),s=[{title:"Trigger",key:"trigger-step"},{title:"Actions",key:"actions-step"},{title:"Details",key:"details-step"}],i=h();function m(){t("submit",new Vt(e.value))}function r(){p.back()}return(u,g)=>(_(),T(l(yt),{ref_key:"wizardRef",ref:i,class:"automation-wizard",steps:s,"last-step-text":c.value,"show-cancel":"",nonlinear:u.editing,"show-save-and-exit":u.editing,onCancel:r,onSubmit:m},{"trigger-step":y(()=>[d(Nt,{automation:e.value,"onUpdate:automation":g[0]||(g[0]=A=>e.value=A)},null,8,["automation"])]),"actions-step":y(()=>[l(bt)(e.value)?(_(),T(xt,{key:0,automation:e.value,"onUpdate:automation":g[1]||(g[1]=A=>e.value=A)},null,8,["automation"])):x("",!0)]),"details-step":y(()=>[d($t,{automation:e.value,"onUpdate:automation":g[2]||(g[2]=A=>e.value=A)},null,8,["automation"])]),_:1},8,["last-step-text","nonlinear","show-save-and-exit"]))}});export{Rt as _};
2
- //# sourceMappingURL=AutomationWizard.vue_vue_type_script_setup_true_lang-pt0Bve8Y.js.map
1
+ import{d as w,N as q,f as S,Q as Z,R as H,i as v,o as _,c as T,U as M,S as I,T as Y,V as $,X as O,Z as tt,q as k,l as j,t as P,j as d,g as y,k as l,r as Q,_ as L,a as x,$ as et,a0 as F,a1 as D,a2 as at,w as G,y as N,x as ot,a3 as nt,A as R,a4 as st,a5 as B,a6 as W,E as it,G as rt,a7 as ut,a8 as lt,a9 as pt,aa as mt,ab as ct,ac as dt,ad as gt,ae as h,af as E,ag as _t,ah as vt,ai as ft,u as At,aj as yt}from"./index-Dkae_997.js";import{m as C,i as bt,A as Vt}from"./mapper-CXwTfIzn.js";const Tt=w({__name:"AutomationActionTypeSelect",props:{type:{required:!0},typeModifiers:{}},emits:["update:type"],setup(f){const n=q(f,"type"),o=S(()=>{const e=Z.map(t=>({label:H[t],value:t}));return n.value==="do-nothing"?e:e.filter(t=>t.value!=="do-nothing")});return(e,t)=>{const p=v("p-select");return _(),T(p,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=c=>n.value=c),options:o.value,class:"automation-action-type-select"},null,8,["modelValue","options"])}}}),wt={class:"automation-wizard-action"},St={class:"automation-wizard-action__header"},Ut={class:"automation-wizard-action__heading"},kt=w({__name:"AutomationWizardAction",props:{index:{},action:{},automation:{}},emits:["delete","update:action"],setup(f,{emit:n}){const o=f,e=n,t=S({get(){return o.action.type??null},set(m){if(M(m)){e("update:action",{});return}const r=I(o.automation.trigger),u=Y(m,r);e("update:action",u)}}),{state:p,error:c}=$(t,"Action Type",m=>!!m),s=S(()=>o.action.type?O(tt,{action:o.action,"onUpdate:action":m=>e("update:action",m)}):null);function i(m){e("update:action",m)}return(m,r)=>{const u=v("p-button"),g=v("p-label"),A=v("p-content");return _(),k("div",wt,[j("div",St,[j("span",Ut,"Action "+P(m.index+1),1),d(u,{size:"sm",icon:"TrashIcon",onClick:r[0]||(r[0]=b=>e("delete"))})]),d(A,null,{default:y(()=>[d(g,{label:"Action Type",state:l(p),message:l(c)},{default:y(({id:b})=>[d(Tt,{id:b,type:t.value,"onUpdate:type":r[1]||(r[1]=a=>t.value=a),state:l(p)},null,8,["id","type","state"])]),_:1},8,["state","message"]),s.value?(_(),T(Q(s.value.component),L({key:0},s.value.props,{"onUpdate:action":i}),null,16)):x("",!0)]),_:1})])}}}),zt={class:"automation-wizard-step-actions"},xt=w({__name:"AutomationWizardStepActions",props:{automation:{}},emits:["update:automation"],setup(f,{emit:n}){const o=f,e=n,t=et(o.automation.actions??[]);function p(){t.push({})}function c(u){t.splice(u,1)}function s(u,g){t[u]=g}const{error:i}=$(t,"Actions",u=>u.length?!0:"At least 1 action is required"),{defineValidate:m}=F(),{validate:r}=D();return m(r),at(()=>{t.length===0&&p()}),G(t,()=>{e("update:automation",{...o.automation,actions:t.filter(st)})}),(u,g)=>{const A=v("p-divider"),b=v("p-message"),a=v("p-button");return _(),k("div",zt,[(_(),T(nt,null,[(_(!0),k(N,null,ot(t,(V,U)=>(_(),k(N,{key:U},[d(kt,{action:V,automation:u.automation,index:U,"onUpdate:action":J=>s(U,J),onDelete:J=>c(U)},null,8,["action","automation","index","onUpdate:action","onDelete"]),d(A)],64))),128))],1024)),l(i)?(_(),T(b,{key:0,error:""},{default:y(()=>[R(P(l(i)),1)]),_:1})):x("",!0),d(a,{class:"automations-wizard-step-actions__add",icon:"PlusIcon",onClick:p},{default:y(()=>g[0]||(g[0]=[R(" Add Action ")])),_:1})])}}}),qt=w({__name:"AutomationWizardStepDetails",props:{automation:{required:!0},automationModifiers:{}},emits:["update:automation"],setup(f){const n=q(f,"automation"),o=B(n,"name"),e=B(n,"description"),{validate:t}=D(),p=(m="",r)=>m.length>0?!0:`${r} is required`,{state:c,error:s}=$(o,"Automation name",p),{defineValidate:i}=F();return i(t),(m,r)=>{const u=v("p-text-input"),g=v("p-label"),A=v("p-content");return _(),T(A,{class:"automation-wizard-step-details"},{default:y(()=>[d(g,{label:"Automation Name",state:l(c),message:l(s)},{default:y(({id:b})=>[d(u,{id:b,modelValue:l(o),"onUpdate:modelValue":r[0]||(r[0]=a=>W(o)?o.value=a:null),state:l(c)},null,8,["id","modelValue","state"])]),_:1},8,["state","message"]),d(g,{label:"Description (Optional)"},{default:y(({id:b})=>[d(u,{id:b,modelValue:l(e),"onUpdate:modelValue":r[1]||(r[1]=a=>W(e)?e.value=a:null)},null,8,["id","modelValue"])]),_:1})]),_:1})}}}),$t=w({__name:"AutomationTriggerJsonInput",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(f){const n=q(f,"modelValue"),o=s=>{try{const i=JSON.parse(s);C.map("AutomationTriggerResponse",i,"AutomationTrigger")}catch{return!1}return!0},e=(s,i)=>M(s)||lt(s)||pt(s)||mt(s)?`${i} is required`:!0,t=(s,i)=>{try{JSON.parse(s)}catch{return`${i} must be valid JSON`}return!0},{state:p,error:c}=$(n,"Trigger",[e,t,o]);return(s,i)=>{const m=v("p-message"),r=v("p-label");return _(),k(N,null,[d(m,{info:""},{action:y(()=>[d(l(it),{to:l(rt).docs.automationTriggers,small:""},null,8,["to"])]),default:y(()=>[i[1]||(i[1]=R(" Custom triggers allow advanced configuration of the conditions on which a trigger executes its actions. "))]),_:1}),d(r,{label:"Trigger",state:l(p),message:l(c)},{default:y(()=>[d(l(ut),{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=u=>n.value=u),class:"automation-trigger-json-input__json-input","show-format-button":"",state:l(p)},null,8,["modelValue","state"])]),_:1},8,["state","message"])],64)}}}),Jt=w({__name:"AutomationTriggerTemplateSelect",props:{template:{required:!0},templateModifiers:{}},emits:["update:template"],setup(f){const n=q(f,"template"),o=S(()=>ct.map(e=>({label:dt(e),value:e})));return(e,t)=>{const p=v("p-select");return _(),T(p,{modelValue:n.value,"onUpdate:modelValue":t[0]||(t[0]=c=>n.value=c),"empty-message":"Select template",options:o.value,class:"automation-trigger-template-select"},null,8,["modelValue","options"])}}}),Nt=w({__name:"AutomationWizardStepTrigger",props:{automation:{required:!0},automationModifiers:{}},emits:["update:automation"],setup(f){const n=q(f,"automation"),o=S({get(){return n.value.trigger?I(n.value.trigger):null},set(a){if(M(a)){b(void 0);return}b(E(a))}}),{values:e}=gt(["Form","JSON"]),t=h("Form");function p(){const a=C.map("AutomationTrigger",n.value.trigger,"AutomationTriggerRequest");return vt(a)}const c=h(p());G(()=>n.value.trigger,()=>c.value=p());function s(){const a=JSON.parse(c.value),V=C.map("AutomationTriggerResponse",a,"AutomationTrigger");return b(V),V}async function i(a){t.value!==a&&await r()&&(a==="Form"&&s(),a==="JSON"&&(c.value=p()),t.value=a)}const{defineValidate:m}=F(),{validate:r}=D(),{state:u,error:g}=$(o,"Trigger template",a=>a?!0:"Trigger type is required");m(async()=>{const a=await r();return a&&t.value==="JSON"&&s(),a});const A=S(()=>{if(!o.value)return null;const a=n.value.trigger??E(o.value);switch(a.type){case"event":return O(_t,{template:o.value,trigger:a,"onUpdate:trigger":b});case"compound":case"sequence":return O(ft,{trigger:a,"onUpdate:trigger":b});default:const V=a;throw new Error(`AutomationWizardStepTrigger is missing case for trigger type ${V.type}`)}});function b(a){n.value={...n.value,trigger:a}}return(a,V)=>{const U=v("p-label"),J=v("p-button-group"),K=v("p-content");return _(),T(K,{class:"automation-wizard-step-trigger"},{default:y(()=>[d(U,{label:"Trigger Template",state:l(u),message:l(g)},{default:y(({id:z})=>[d(Jt,{id:z,template:o.value,"onUpdate:template":V[0]||(V[0]=X=>o.value=X),state:l(u)},null,8,["id","template","state"])]),_:1},8,["state","message"]),A.value?(_(),k(N,{key:0},[d(J,{class:"automation-wizard-step-trigger__mode-switcher","model-value":t.value,options:l(e),small:"","onUpdate:modelValue":V[1]||(V[1]=z=>i(z))},null,8,["model-value","options"]),t.value==="Form"&&o.value?(_(),T(Q(A.value.component),L({key:o.value},A.value.props),null,16)):t.value==="JSON"?(_(),T($t,{key:1,modelValue:c.value,"onUpdate:modelValue":V[2]||(V[2]=z=>c.value=z)},null,8,["modelValue"])):x("",!0)],64)):x("",!0)]),_:1})}}}),Rt=w({__name:"AutomationWizard",props:{automation:{},editing:{type:Boolean}},emits:["submit"],setup(f,{emit:n}){const o=f,e=h(o.automation??{}),t=n,p=At(),c=S(()=>o.automation?"Save":"Create"),s=[{title:"Trigger",key:"trigger-step"},{title:"Actions",key:"actions-step"},{title:"Details",key:"details-step"}],i=h();function m(){t("submit",new Vt(e.value))}function r(){p.back()}return(u,g)=>(_(),T(l(yt),{ref_key:"wizardRef",ref:i,class:"automation-wizard",steps:s,"last-step-text":c.value,"show-cancel":"",nonlinear:u.editing,"show-save-and-exit":u.editing,onCancel:r,onSubmit:m},{"trigger-step":y(()=>[d(Nt,{automation:e.value,"onUpdate:automation":g[0]||(g[0]=A=>e.value=A)},null,8,["automation"])]),"actions-step":y(()=>[l(bt)(e.value)?(_(),T(xt,{key:0,automation:e.value,"onUpdate:automation":g[1]||(g[1]=A=>e.value=A)},null,8,["automation"])):x("",!0)]),"details-step":y(()=>[d(qt,{automation:e.value,"onUpdate:automation":g[2]||(g[2]=A=>e.value=A)},null,8,["automation"])]),_:1},8,["last-step-text","nonlinear","show-save-and-exit"]))}});export{Rt as _};
2
+ //# sourceMappingURL=AutomationWizard.vue_vue_type_script_setup_true_lang-As55GY35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationWizard.vue_vue_type_script_setup_true_lang-pt0Bve8Y.js","sources":["../../src/components/AutomationActionTypeSelect.vue","../../src/components/AutomationWizardAction.vue","../../src/components/AutomationWizardStepActions.vue","../../src/components/AutomationWizardStepDetails.vue","../../src/components/AutomationTriggerJsonInput.vue","../../src/components/AutomationTriggerTemplateSelect.vue","../../src/components/AutomationWizardStepTrigger.vue","../../src/components/AutomationWizard.vue"],"sourcesContent":["<template>\n <p-select v-model=\"type\" :options=\"options\" class=\"automation-action-type-select\" />\n</template>\n\n<script lang=\"ts\" setup>\n import { SelectOption } from '@prefecthq/prefect-design'\n import { AutomationActionType, automationActionTypeLabels, automationActionTypes } from '@prefecthq/prefect-ui-library'\n import { computed } from 'vue'\n\n const type = defineModel<AutomationActionType | null>('type', { required: true })\n\n const options = computed<SelectOption[]>(() => {\n const allOptions = automationActionTypes.map(type => {\n const label = automationActionTypeLabels[type]\n\n return {\n label,\n value: type,\n }\n })\n\n if (type.value === 'do-nothing') {\n return allOptions\n }\n\n return allOptions.filter(option => option.value !== 'do-nothing')\n })\n</script>","<template>\n <div class=\"automation-wizard-action\">\n <div class=\"automation-wizard-action__header\">\n <span class=\"automation-wizard-action__heading\">Action {{ index + 1 }}</span>\n <p-button size=\"sm\" icon=\"TrashIcon\" @click=\"emit('delete')\" />\n </div>\n\n <p-content>\n <p-label label=\"Action Type\" :state :message>\n <template #default=\"{ id }\">\n <AutomationActionTypeSelect :id v-model:type=\"type\" :state />\n </template>\n </p-label>\n\n\n <template v-if=\"input\">\n <component :is=\"input.component\" v-bind=\"input.props\" @update:action=\"updateAction\" />\n </template>\n </p-content>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { withProps, AutomationActionInput, AutomationAction, isNullish, getAutomationTriggerTemplate, getDefaultValueForAction } from '@prefecthq/prefect-ui-library'\n import { useValidation } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import AutomationActionTypeSelect from '@/components/AutomationActionTypeSelect.vue'\n import { AutomationActionFormValues } from '@/types/automation'\n\n const props = defineProps<{\n index: number,\n action: Partial<AutomationAction>,\n automation: AutomationActionFormValues,\n }>()\n\n const emit = defineEmits<{\n (event: 'delete'): void,\n (event: 'update:action', value: Partial<AutomationAction>): void,\n }>()\n\n const type = computed({\n get() {\n return props.action.type ?? null\n },\n set(value) {\n if (isNullish(value)) {\n emit('update:action', {})\n return\n }\n\n const template = getAutomationTriggerTemplate(props.automation.trigger)\n const action = getDefaultValueForAction(value, template)\n\n emit('update:action', action)\n },\n })\n\n const { state, error: message } = useValidation(type, 'Action Type', value => !!value)\n\n const input = computed(() => {\n if (!props.action.type) {\n return null\n }\n\n return withProps(AutomationActionInput, {\n action: props.action,\n 'onUpdate:action': value => emit('update:action', value),\n })\n })\n\n function updateAction(action: Partial<AutomationAction>): void {\n emit('update:action', action)\n }\n</script>\n\n<style>\n.automation-wizard-action { @apply\n grid\n gap-1\n}\n\n.automation-wizard-action__header { @apply\n flex\n items-center\n justify-between\n}\n\n.automation-wizard-action__heading { @apply\n font-bold\n}\n</style>","<template>\n <div class=\"automation-wizard-step-actions\">\n <keep-alive>\n <template v-for=\"(action, index) in actions\" :key=\"index\">\n <AutomationWizardAction :action :automation :index @update:action=\"updateAction(index, $event)\" @delete=\"removeAction(index)\" />\n <p-divider />\n </template>\n </keep-alive>\n\n <template v-if=\"actionsError\">\n <p-message error>\n {{ actionsError }}\n </p-message>\n </template>\n\n <p-button class=\"automations-wizard-step-actions__add\" icon=\"PlusIcon\" @click=\"addAction\">\n Add Action\n </p-button>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useWizardStep } from '@prefecthq/prefect-design'\n import { AutomationAction, isAutomationAction } from '@prefecthq/prefect-ui-library'\n import { useValidation, useValidationObserver } from '@prefecthq/vue-compositions'\n import { onMounted, reactive, watch } from 'vue'\n import AutomationWizardAction from '@/components/AutomationWizardAction.vue'\n import { AutomationActionFormValues } from '@/types/automation'\n\n const props = defineProps<{\n automation: AutomationActionFormValues,\n }>()\n\n const emit = defineEmits<{\n (event: 'update:automation', value: AutomationActionFormValues): void,\n }>()\n\n const actions = reactive<Partial<AutomationAction>[]>(props.automation.actions ?? [])\n\n function addAction(): void {\n actions.push({})\n }\n\n function removeAction(index: number): void {\n actions.splice(index, 1)\n }\n\n function updateAction(index: number, action: Partial<AutomationAction>): void {\n actions[index] = action\n }\n\n const { error: actionsError } = useValidation(actions, 'Actions', value => {\n if (value.length) {\n return true\n }\n\n return 'At least 1 action is required'\n })\n\n const { defineValidate } = useWizardStep()\n const { validate } = useValidationObserver()\n\n defineValidate(validate)\n\n onMounted(() => {\n if (actions.length === 0) {\n addAction()\n }\n })\n\n watch(actions, () => {\n emit('update:automation', {\n ...props.automation,\n actions: actions.filter(isAutomationAction),\n })\n })\n</script>\n\n<style>\n.automation-wizard-step-actions { @apply\n grid\n gap-8\n}\n\n.automations-wizard-step-actions__add { @apply\n justify-self-start\n}\n</style>\n","<template>\n <p-content class=\"automation-wizard-step-details\">\n <p-label label=\"Automation Name\" :state :message>\n <template #default=\"{ id }\">\n <p-text-input :id v-model=\"name\" :state />\n </template>\n </p-label>\n <p-label label=\"Description (Optional)\">\n <template #default=\"{ id }\">\n <p-text-input :id v-model=\"description\" />\n </template>\n </p-label>\n </p-content>\n</template>\n\n<script lang=\"ts\" setup>\n import { useWizardStep } from '@prefecthq/prefect-design'\n import { usePatchRef, useValidation, useValidationObserver, ValidationRule } from '@prefecthq/vue-compositions'\n import { AutomationFormValues } from '@/types/automation'\n\n const automation = defineModel<AutomationFormValues>('automation', { required: true })\n\n const name = usePatchRef(automation, 'name')\n const description = usePatchRef(automation, 'description')\n\n const { validate } = useValidationObserver()\n\n const isRequired: ValidationRule<string | undefined> = (value = '', label) => {\n if (value.length > 0) {\n return true\n }\n\n return `${label} is required`\n }\n\n const { state, error: message } = useValidation(name, 'Automation name', isRequired)\n\n\n const { defineValidate } = useWizardStep()\n\n defineValidate(validate)\n</script>","<template>\n <p-message info>\n Custom triggers allow advanced configuration of the conditions on which a trigger executes its actions.\n\n <template #action>\n <DocumentationButton :to=\"localization.docs.automationTriggers\" small />\n </template>\n </p-message>\n\n <p-label label=\"Trigger\" :state=\"state\" :message=\"error\">\n <JsonInput v-model=\"model\" class=\"automation-trigger-json-input__json-input\" show-format-button :state=\"state\" />\n </p-label>\n</template>\n\n<script setup lang=\"ts\">\n import { DocumentationButton, JsonInput, isEmptyArray, isEmptyString, isInvalidDate, isNullish, localization } from '@prefecthq/prefect-ui-library'\n import { ValidationRule, useValidation } from '@prefecthq/vue-compositions'\n import { mapper } from '@/services/mapper'\n\n const model = defineModel<string>({ required: true })\n\n const isMappableAutomationTriggerJson: ValidationRule<string> = (value) => {\n try {\n const json = JSON.parse(value)\n\n mapper.map('AutomationTriggerResponse', json, 'AutomationTrigger')\n } catch (error) {\n return false\n }\n\n return true\n }\n\n const isRequired: ValidationRule<unknown> = (value, name) => {\n if (isNullish(value) || isEmptyArray(value) || isEmptyString(value) || isInvalidDate(value)) {\n return `${name} is required`\n }\n\n return true\n }\n\n const isJson: ValidationRule<string> = (value, name) => {\n try {\n JSON.parse(value)\n } catch {\n return `${name} must be valid JSON`\n }\n\n return true\n }\n\n const { state, error } = useValidation(model, 'Trigger', [isRequired, isJson, isMappableAutomationTriggerJson])\n</script>\n\n<style>\n.automation-trigger-json-input__json-input {\n min-height: 400px;\n}\n</style>","<template>\n <p-select v-model=\"template\" empty-message=\"Select template\" :options=\"options\" class=\"automation-trigger-template-select\" />\n</template>\n\n<script lang=\"ts\" setup>\n import { SelectOptionNormalized } from '@prefecthq/prefect-design'\n import { AutomationTriggerTemplate, automationTriggerTemplates, getAutomationTriggerTemplateLabel } from '@prefecthq/prefect-ui-library'\n import { computed } from 'vue'\n\n const template = defineModel<AutomationTriggerTemplate | null>('template', { required: true })\n\n /*\n * Currently OSS doesn't have support for enabled/disabled trigger templates like cloud does.\n * Only because it wasn't needed at the time of porting automations to OSS.\n */\n const options = computed<SelectOptionNormalized[]>(() => automationTriggerTemplates.map(type => {\n return {\n label: getAutomationTriggerTemplateLabel(type),\n value: type,\n }\n }))\n</script>","<template>\n <p-content class=\"automation-wizard-step-trigger\">\n <p-label label=\"Trigger Template\" :state :message>\n <template #default=\"{ id }\">\n <AutomationTriggerTemplateSelect :id v-model:template=\"template\" :state />\n </template>\n </p-label>\n\n <template v-if=\"input\">\n <p-button-group class=\"automation-wizard-step-trigger__mode-switcher\" :model-value=\"mode\" :options=\"formMode\" small @update:model-value=\"switchMode($event)\" />\n\n <template v-if=\"mode === 'Form' && template\">\n <component :is=\"input.component\" :key=\"template\" v-bind=\"input.props\" />\n </template>\n\n <template v-else-if=\"mode === 'JSON'\">\n <AutomationTriggerJsonInput v-model=\"jsonString\" />\n </template>\n </template>\n </p-content>\n</template>\n\n<script lang=\"ts\" setup>\n import { useWizardStep } from '@prefecthq/prefect-design'\n import { createTuple, stringify, withProps, AutomationTriggerEventInput, AutomationTrigger, AutomationTriggerResponse, getAutomationTriggerTemplate, getDefaultAutomationTriggerValue, isNullish, AutomationTriggerCustomInput } from '@prefecthq/prefect-ui-library'\n import { useValidation, useValidationObserver } from '@prefecthq/vue-compositions'\n import { computed, ref, watch } from 'vue'\n import AutomationTriggerJsonInput from '@/components/AutomationTriggerJsonInput.vue'\n import AutomationTriggerTemplateSelect from '@/components/AutomationTriggerTemplateSelect.vue'\n import { mapper } from '@/services/mapper'\n import { AutomationFormValues } from '@/types/automation'\n\n const automation = defineModel<AutomationFormValues>('automation', { required: true })\n\n const template = computed({\n get() {\n if (automation.value.trigger) {\n return getAutomationTriggerTemplate(automation.value.trigger)\n }\n\n return null\n },\n set(template) {\n if (isNullish(template)) {\n updateTrigger(undefined)\n return\n }\n\n updateTrigger(getDefaultAutomationTriggerValue(template))\n },\n })\n\n const { values: formMode } = createTuple(['Form', 'JSON'])\n type FormMode = typeof formMode[number]\n const mode = ref<FormMode>('Form')\n\n function triggerAsJsonString(): string {\n const triggerMatchingApi = mapper.map('AutomationTrigger', automation.value.trigger, 'AutomationTriggerRequest')\n\n return stringify(triggerMatchingApi)\n }\n\n const jsonString = ref<string>(triggerAsJsonString())\n\n watch(() => automation.value.trigger, () => jsonString.value = triggerAsJsonString())\n\n function updateTriggerFromJsonString(): AutomationTrigger {\n const parsedTriggerJson: AutomationTriggerResponse = JSON.parse(jsonString.value)\n const trigger = mapper.map('AutomationTriggerResponse', parsedTriggerJson, 'AutomationTrigger')\n updateTrigger(trigger)\n\n return trigger\n }\n\n async function switchMode(newMode: FormMode): Promise<void> {\n if (mode.value === newMode) {\n return\n }\n\n if (!await validate()) {\n return\n }\n\n if (newMode === 'Form') {\n updateTriggerFromJsonString()\n }\n\n if (newMode === 'JSON') {\n jsonString.value = triggerAsJsonString()\n }\n\n mode.value = newMode\n }\n\n\n const { defineValidate } = useWizardStep()\n const { validate } = useValidationObserver()\n const { state, error: message } = useValidation(template, 'Trigger template', value => {\n if (value) {\n return true\n }\n\n return 'Trigger type is required'\n })\n\n defineValidate(async () => {\n const valid = await validate()\n\n if (valid) {\n // In form mode, the trigger is kept in sync with the form component's values,\n // but in JSON mode, we'll sync on submit so that the input can be freely\n // updated without affecting the form state. Also delay (de)serialization\n // to submit rather than on every change.\n if (mode.value === 'JSON') {\n updateTriggerFromJsonString()\n }\n }\n return valid\n })\n\n const input = computed(() => {\n if (!template.value) {\n return null\n }\n\n const trigger = automation.value.trigger ?? getDefaultAutomationTriggerValue(template.value)\n\n switch (trigger.type) {\n case 'event':\n return withProps(AutomationTriggerEventInput, {\n template: template.value,\n trigger,\n 'onUpdate:trigger': updateTrigger,\n })\n case 'compound':\n case 'sequence':\n return withProps(AutomationTriggerCustomInput, {\n trigger,\n 'onUpdate:trigger': updateTrigger,\n })\n\n default:\n const exhaustive: never = trigger\n throw new Error(`AutomationWizardStepTrigger is missing case for trigger type ${(exhaustive as AutomationTrigger).type}`)\n }\n\n })\n\n function updateTrigger(trigger: AutomationTrigger | undefined): void {\n automation.value = {\n ...automation.value,\n trigger,\n }\n }\n</script>\n\n<style>\n.automation-wizard-step-trigger__mode-switcher { @apply\n mx-auto\n}\n</style>","<template>\n <p-wizard\n ref=\"wizardRef\"\n class=\"automation-wizard\"\n :steps=\"steps\"\n :last-step-text=\"lastStepText\"\n show-cancel\n :nonlinear=\"editing\"\n :show-save-and-exit=\"editing\"\n @cancel=\"cancel\"\n @submit=\"submit\"\n >\n <template #trigger-step>\n <AutomationWizardStepTrigger v-model:automation=\"automation\" />\n </template>\n <template #actions-step>\n <template v-if=\"isAutomationActionFormValues(automation)\">\n <AutomationWizardStepActions v-model:automation=\"automation\" />\n </template>\n </template>\n <template #details-step>\n <AutomationWizardStepDetails v-model:automation=\"automation\" />\n </template>\n </p-wizard>\n</template>\n\n<script lang=\"ts\" setup>\n import { PWizard, WizardStep } from '@prefecthq/prefect-design'\n import { computed, ref } from 'vue'\n import { useRouter } from 'vue-router'\n import AutomationWizardStepActions from '@/components/AutomationWizardStepActions.vue'\n import AutomationWizardStepDetails from '@/components/AutomationWizardStepDetails.vue'\n import AutomationWizardStepTrigger from '@/components/AutomationWizardStepTrigger.vue'\n import { Automation, AutomationFormValues, IAutomation, isAutomationActionFormValues } from '@/types/automation'\n\n const props = defineProps<{\n automation?: Partial<Automation>,\n editing?: boolean,\n }>()\n\n const automation = ref<AutomationFormValues>(props.automation ?? {})\n\n const emit = defineEmits<{\n (event: 'submit', value: Automation): void,\n }>()\n\n const router = useRouter()\n\n const lastStepText = computed(() => props.automation ? 'Save' : 'Create')\n\n const steps: WizardStep[] = [\n { title: 'Trigger', key: 'trigger-step' },\n { title: 'Actions', key: 'actions-step' },\n { title: 'Details', key: 'details-step' },\n ]\n\n const wizardRef = ref<InstanceType<typeof PWizard>>()\n\n function submit(): void {\n emit('submit', new Automation(automation.value as IAutomation))\n }\n\n function cancel(): void {\n router.back()\n }\n</script>"],"names":["type","_useModel","__props","options","computed","allOptions","automationActionTypes","automationActionTypeLabels","option","props","emit","__emit","value","isNullish","template","getAutomationTriggerTemplate","action","getDefaultValueForAction","state","message","useValidation","input","withProps","AutomationActionInput","updateAction","actions","reactive","addAction","removeAction","index","actionsError","defineValidate","useWizardStep","validate","useValidationObserver","onMounted","watch","isAutomationAction","automation","name","usePatchRef","description","isRequired","label","model","isMappableAutomationTriggerJson","json","mapper","isEmptyArray","isEmptyString","isInvalidDate","isJson","error","automationTriggerTemplates","getAutomationTriggerTemplateLabel","updateTrigger","getDefaultAutomationTriggerValue","formMode","createTuple","mode","ref","triggerAsJsonString","triggerMatchingApi","stringify","jsonString","updateTriggerFromJsonString","parsedTriggerJson","trigger","switchMode","newMode","valid","AutomationTriggerEventInput","AutomationTriggerCustomInput","exhaustive","router","useRouter","lastStepText","steps","wizardRef","submit","Automation","cancel"],"mappings":"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"}
1
+ {"version":3,"file":"AutomationWizard.vue_vue_type_script_setup_true_lang-As55GY35.js","sources":["../../src/components/AutomationActionTypeSelect.vue","../../src/components/AutomationWizardAction.vue","../../src/components/AutomationWizardStepActions.vue","../../src/components/AutomationWizardStepDetails.vue","../../src/components/AutomationTriggerJsonInput.vue","../../src/components/AutomationTriggerTemplateSelect.vue","../../src/components/AutomationWizardStepTrigger.vue","../../src/components/AutomationWizard.vue"],"sourcesContent":["<template>\n <p-select v-model=\"type\" :options=\"options\" class=\"automation-action-type-select\" />\n</template>\n\n<script lang=\"ts\" setup>\n import { SelectOption } from '@prefecthq/prefect-design'\n import { AutomationActionType, automationActionTypeLabels, automationActionTypes } from '@prefecthq/prefect-ui-library'\n import { computed } from 'vue'\n\n const type = defineModel<AutomationActionType | null>('type', { required: true })\n\n const options = computed<SelectOption[]>(() => {\n const allOptions = automationActionTypes.map(type => {\n const label = automationActionTypeLabels[type]\n\n return {\n label,\n value: type,\n }\n })\n\n if (type.value === 'do-nothing') {\n return allOptions\n }\n\n return allOptions.filter(option => option.value !== 'do-nothing')\n })\n</script>","<template>\n <div class=\"automation-wizard-action\">\n <div class=\"automation-wizard-action__header\">\n <span class=\"automation-wizard-action__heading\">Action {{ index + 1 }}</span>\n <p-button size=\"sm\" icon=\"TrashIcon\" @click=\"emit('delete')\" />\n </div>\n\n <p-content>\n <p-label label=\"Action Type\" :state :message>\n <template #default=\"{ id }\">\n <AutomationActionTypeSelect :id v-model:type=\"type\" :state />\n </template>\n </p-label>\n\n\n <template v-if=\"input\">\n <component :is=\"input.component\" v-bind=\"input.props\" @update:action=\"updateAction\" />\n </template>\n </p-content>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { withProps, AutomationActionInput, AutomationAction, isNullish, getAutomationTriggerTemplate, getDefaultValueForAction } from '@prefecthq/prefect-ui-library'\n import { useValidation } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import AutomationActionTypeSelect from '@/components/AutomationActionTypeSelect.vue'\n import { AutomationActionFormValues } from '@/types/automation'\n\n const props = defineProps<{\n index: number,\n action: Partial<AutomationAction>,\n automation: AutomationActionFormValues,\n }>()\n\n const emit = defineEmits<{\n (event: 'delete'): void,\n (event: 'update:action', value: Partial<AutomationAction>): void,\n }>()\n\n const type = computed({\n get() {\n return props.action.type ?? null\n },\n set(value) {\n if (isNullish(value)) {\n emit('update:action', {})\n return\n }\n\n const template = getAutomationTriggerTemplate(props.automation.trigger)\n const action = getDefaultValueForAction(value, template)\n\n emit('update:action', action)\n },\n })\n\n const { state, error: message } = useValidation(type, 'Action Type', value => !!value)\n\n const input = computed(() => {\n if (!props.action.type) {\n return null\n }\n\n return withProps(AutomationActionInput, {\n action: props.action,\n 'onUpdate:action': value => emit('update:action', value),\n })\n })\n\n function updateAction(action: Partial<AutomationAction>): void {\n emit('update:action', action)\n }\n</script>\n\n<style>\n.automation-wizard-action { @apply\n grid\n gap-1\n}\n\n.automation-wizard-action__header { @apply\n flex\n items-center\n justify-between\n}\n\n.automation-wizard-action__heading { @apply\n font-bold\n}\n</style>","<template>\n <div class=\"automation-wizard-step-actions\">\n <keep-alive>\n <template v-for=\"(action, index) in actions\" :key=\"index\">\n <AutomationWizardAction :action :automation :index @update:action=\"updateAction(index, $event)\" @delete=\"removeAction(index)\" />\n <p-divider />\n </template>\n </keep-alive>\n\n <template v-if=\"actionsError\">\n <p-message error>\n {{ actionsError }}\n </p-message>\n </template>\n\n <p-button class=\"automations-wizard-step-actions__add\" icon=\"PlusIcon\" @click=\"addAction\">\n Add Action\n </p-button>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { useWizardStep } from '@prefecthq/prefect-design'\n import { AutomationAction, isAutomationAction } from '@prefecthq/prefect-ui-library'\n import { useValidation, useValidationObserver } from '@prefecthq/vue-compositions'\n import { onMounted, reactive, watch } from 'vue'\n import AutomationWizardAction from '@/components/AutomationWizardAction.vue'\n import { AutomationActionFormValues } from '@/types/automation'\n\n const props = defineProps<{\n automation: AutomationActionFormValues,\n }>()\n\n const emit = defineEmits<{\n (event: 'update:automation', value: AutomationActionFormValues): void,\n }>()\n\n const actions = reactive<Partial<AutomationAction>[]>(props.automation.actions ?? [])\n\n function addAction(): void {\n actions.push({})\n }\n\n function removeAction(index: number): void {\n actions.splice(index, 1)\n }\n\n function updateAction(index: number, action: Partial<AutomationAction>): void {\n actions[index] = action\n }\n\n const { error: actionsError } = useValidation(actions, 'Actions', value => {\n if (value.length) {\n return true\n }\n\n return 'At least 1 action is required'\n })\n\n const { defineValidate } = useWizardStep()\n const { validate } = useValidationObserver()\n\n defineValidate(validate)\n\n onMounted(() => {\n if (actions.length === 0) {\n addAction()\n }\n })\n\n watch(actions, () => {\n emit('update:automation', {\n ...props.automation,\n actions: actions.filter(isAutomationAction),\n })\n })\n</script>\n\n<style>\n.automation-wizard-step-actions { @apply\n grid\n gap-8\n}\n\n.automations-wizard-step-actions__add { @apply\n justify-self-start\n}\n</style>\n","<template>\n <p-content class=\"automation-wizard-step-details\">\n <p-label label=\"Automation Name\" :state :message>\n <template #default=\"{ id }\">\n <p-text-input :id v-model=\"name\" :state />\n </template>\n </p-label>\n <p-label label=\"Description (Optional)\">\n <template #default=\"{ id }\">\n <p-text-input :id v-model=\"description\" />\n </template>\n </p-label>\n </p-content>\n</template>\n\n<script lang=\"ts\" setup>\n import { useWizardStep } from '@prefecthq/prefect-design'\n import { usePatchRef, useValidation, useValidationObserver, ValidationRule } from '@prefecthq/vue-compositions'\n import { AutomationFormValues } from '@/types/automation'\n\n const automation = defineModel<AutomationFormValues>('automation', { required: true })\n\n const name = usePatchRef(automation, 'name')\n const description = usePatchRef(automation, 'description')\n\n const { validate } = useValidationObserver()\n\n const isRequired: ValidationRule<string | undefined> = (value = '', label) => {\n if (value.length > 0) {\n return true\n }\n\n return `${label} is required`\n }\n\n const { state, error: message } = useValidation(name, 'Automation name', isRequired)\n\n\n const { defineValidate } = useWizardStep()\n\n defineValidate(validate)\n</script>","<template>\n <p-message info>\n Custom triggers allow advanced configuration of the conditions on which a trigger executes its actions.\n\n <template #action>\n <DocumentationButton :to=\"localization.docs.automationTriggers\" small />\n </template>\n </p-message>\n\n <p-label label=\"Trigger\" :state=\"state\" :message=\"error\">\n <JsonInput v-model=\"model\" class=\"automation-trigger-json-input__json-input\" show-format-button :state=\"state\" />\n </p-label>\n</template>\n\n<script setup lang=\"ts\">\n import { DocumentationButton, JsonInput, isEmptyArray, isEmptyString, isInvalidDate, isNullish, localization } from '@prefecthq/prefect-ui-library'\n import { ValidationRule, useValidation } from '@prefecthq/vue-compositions'\n import { mapper } from '@/services/mapper'\n\n const model = defineModel<string>({ required: true })\n\n const isMappableAutomationTriggerJson: ValidationRule<string> = (value) => {\n try {\n const json = JSON.parse(value)\n\n mapper.map('AutomationTriggerResponse', json, 'AutomationTrigger')\n } catch (error) {\n return false\n }\n\n return true\n }\n\n const isRequired: ValidationRule<unknown> = (value, name) => {\n if (isNullish(value) || isEmptyArray(value) || isEmptyString(value) || isInvalidDate(value)) {\n return `${name} is required`\n }\n\n return true\n }\n\n const isJson: ValidationRule<string> = (value, name) => {\n try {\n JSON.parse(value)\n } catch {\n return `${name} must be valid JSON`\n }\n\n return true\n }\n\n const { state, error } = useValidation(model, 'Trigger', [isRequired, isJson, isMappableAutomationTriggerJson])\n</script>\n\n<style>\n.automation-trigger-json-input__json-input {\n min-height: 400px;\n}\n</style>","<template>\n <p-select v-model=\"template\" empty-message=\"Select template\" :options=\"options\" class=\"automation-trigger-template-select\" />\n</template>\n\n<script lang=\"ts\" setup>\n import { SelectOptionNormalized } from '@prefecthq/prefect-design'\n import { AutomationTriggerTemplate, automationTriggerTemplates, getAutomationTriggerTemplateLabel } from '@prefecthq/prefect-ui-library'\n import { computed } from 'vue'\n\n const template = defineModel<AutomationTriggerTemplate | null>('template', { required: true })\n\n /*\n * Currently OSS doesn't have support for enabled/disabled trigger templates like cloud does.\n * Only because it wasn't needed at the time of porting automations to OSS.\n */\n const options = computed<SelectOptionNormalized[]>(() => automationTriggerTemplates.map(type => {\n return {\n label: getAutomationTriggerTemplateLabel(type),\n value: type,\n }\n }))\n</script>","<template>\n <p-content class=\"automation-wizard-step-trigger\">\n <p-label label=\"Trigger Template\" :state :message>\n <template #default=\"{ id }\">\n <AutomationTriggerTemplateSelect :id v-model:template=\"template\" :state />\n </template>\n </p-label>\n\n <template v-if=\"input\">\n <p-button-group class=\"automation-wizard-step-trigger__mode-switcher\" :model-value=\"mode\" :options=\"formMode\" small @update:model-value=\"switchMode($event)\" />\n\n <template v-if=\"mode === 'Form' && template\">\n <component :is=\"input.component\" :key=\"template\" v-bind=\"input.props\" />\n </template>\n\n <template v-else-if=\"mode === 'JSON'\">\n <AutomationTriggerJsonInput v-model=\"jsonString\" />\n </template>\n </template>\n </p-content>\n</template>\n\n<script lang=\"ts\" setup>\n import { useWizardStep } from '@prefecthq/prefect-design'\n import { createTuple, stringify, withProps, AutomationTriggerEventInput, AutomationTrigger, AutomationTriggerResponse, getAutomationTriggerTemplate, getDefaultAutomationTriggerValue, isNullish, AutomationTriggerCustomInput } from '@prefecthq/prefect-ui-library'\n import { useValidation, useValidationObserver } from '@prefecthq/vue-compositions'\n import { computed, ref, watch } from 'vue'\n import AutomationTriggerJsonInput from '@/components/AutomationTriggerJsonInput.vue'\n import AutomationTriggerTemplateSelect from '@/components/AutomationTriggerTemplateSelect.vue'\n import { mapper } from '@/services/mapper'\n import { AutomationFormValues } from '@/types/automation'\n\n const automation = defineModel<AutomationFormValues>('automation', { required: true })\n\n const template = computed({\n get() {\n if (automation.value.trigger) {\n return getAutomationTriggerTemplate(automation.value.trigger)\n }\n\n return null\n },\n set(template) {\n if (isNullish(template)) {\n updateTrigger(undefined)\n return\n }\n\n updateTrigger(getDefaultAutomationTriggerValue(template))\n },\n })\n\n const { values: formMode } = createTuple(['Form', 'JSON'])\n type FormMode = typeof formMode[number]\n const mode = ref<FormMode>('Form')\n\n function triggerAsJsonString(): string {\n const triggerMatchingApi = mapper.map('AutomationTrigger', automation.value.trigger, 'AutomationTriggerRequest')\n\n return stringify(triggerMatchingApi)\n }\n\n const jsonString = ref<string>(triggerAsJsonString())\n\n watch(() => automation.value.trigger, () => jsonString.value = triggerAsJsonString())\n\n function updateTriggerFromJsonString(): AutomationTrigger {\n const parsedTriggerJson: AutomationTriggerResponse = JSON.parse(jsonString.value)\n const trigger = mapper.map('AutomationTriggerResponse', parsedTriggerJson, 'AutomationTrigger')\n updateTrigger(trigger)\n\n return trigger\n }\n\n async function switchMode(newMode: FormMode): Promise<void> {\n if (mode.value === newMode) {\n return\n }\n\n if (!await validate()) {\n return\n }\n\n if (newMode === 'Form') {\n updateTriggerFromJsonString()\n }\n\n if (newMode === 'JSON') {\n jsonString.value = triggerAsJsonString()\n }\n\n mode.value = newMode\n }\n\n\n const { defineValidate } = useWizardStep()\n const { validate } = useValidationObserver()\n const { state, error: message } = useValidation(template, 'Trigger template', value => {\n if (value) {\n return true\n }\n\n return 'Trigger type is required'\n })\n\n defineValidate(async () => {\n const valid = await validate()\n\n if (valid) {\n // In form mode, the trigger is kept in sync with the form component's values,\n // but in JSON mode, we'll sync on submit so that the input can be freely\n // updated without affecting the form state. Also delay (de)serialization\n // to submit rather than on every change.\n if (mode.value === 'JSON') {\n updateTriggerFromJsonString()\n }\n }\n return valid\n })\n\n const input = computed(() => {\n if (!template.value) {\n return null\n }\n\n const trigger = automation.value.trigger ?? getDefaultAutomationTriggerValue(template.value)\n\n switch (trigger.type) {\n case 'event':\n return withProps(AutomationTriggerEventInput, {\n template: template.value,\n trigger,\n 'onUpdate:trigger': updateTrigger,\n })\n case 'compound':\n case 'sequence':\n return withProps(AutomationTriggerCustomInput, {\n trigger,\n 'onUpdate:trigger': updateTrigger,\n })\n\n default:\n const exhaustive: never = trigger\n throw new Error(`AutomationWizardStepTrigger is missing case for trigger type ${(exhaustive as AutomationTrigger).type}`)\n }\n\n })\n\n function updateTrigger(trigger: AutomationTrigger | undefined): void {\n automation.value = {\n ...automation.value,\n trigger,\n }\n }\n</script>\n\n<style>\n.automation-wizard-step-trigger__mode-switcher { @apply\n mx-auto\n}\n</style>","<template>\n <p-wizard\n ref=\"wizardRef\"\n class=\"automation-wizard\"\n :steps=\"steps\"\n :last-step-text=\"lastStepText\"\n show-cancel\n :nonlinear=\"editing\"\n :show-save-and-exit=\"editing\"\n @cancel=\"cancel\"\n @submit=\"submit\"\n >\n <template #trigger-step>\n <AutomationWizardStepTrigger v-model:automation=\"automation\" />\n </template>\n <template #actions-step>\n <template v-if=\"isAutomationActionFormValues(automation)\">\n <AutomationWizardStepActions v-model:automation=\"automation\" />\n </template>\n </template>\n <template #details-step>\n <AutomationWizardStepDetails v-model:automation=\"automation\" />\n </template>\n </p-wizard>\n</template>\n\n<script lang=\"ts\" setup>\n import { PWizard, WizardStep } from '@prefecthq/prefect-design'\n import { computed, ref } from 'vue'\n import { useRouter } from 'vue-router'\n import AutomationWizardStepActions from '@/components/AutomationWizardStepActions.vue'\n import AutomationWizardStepDetails from '@/components/AutomationWizardStepDetails.vue'\n import AutomationWizardStepTrigger from '@/components/AutomationWizardStepTrigger.vue'\n import { Automation, AutomationFormValues, IAutomation, isAutomationActionFormValues } from '@/types/automation'\n\n const props = defineProps<{\n automation?: Partial<Automation>,\n editing?: boolean,\n }>()\n\n const automation = ref<AutomationFormValues>(props.automation ?? {})\n\n const emit = defineEmits<{\n (event: 'submit', value: Automation): void,\n }>()\n\n const router = useRouter()\n\n const lastStepText = computed(() => props.automation ? 'Save' : 'Create')\n\n const steps: WizardStep[] = [\n { title: 'Trigger', key: 'trigger-step' },\n { title: 'Actions', key: 'actions-step' },\n { title: 'Details', key: 'details-step' },\n ]\n\n const wizardRef = ref<InstanceType<typeof PWizard>>()\n\n function submit(): void {\n emit('submit', new Automation(automation.value as IAutomation))\n }\n\n function cancel(): void {\n router.back()\n }\n</script>"],"names":["type","_useModel","__props","options","computed","allOptions","automationActionTypes","automationActionTypeLabels","option","props","emit","__emit","value","isNullish","template","getAutomationTriggerTemplate","action","getDefaultValueForAction","state","message","useValidation","input","withProps","AutomationActionInput","updateAction","actions","reactive","addAction","removeAction","index","actionsError","defineValidate","useWizardStep","validate","useValidationObserver","onMounted","watch","isAutomationAction","automation","name","usePatchRef","description","isRequired","label","model","isMappableAutomationTriggerJson","json","mapper","isEmptyArray","isEmptyString","isInvalidDate","isJson","error","automationTriggerTemplates","getAutomationTriggerTemplateLabel","updateTrigger","getDefaultAutomationTriggerValue","formMode","createTuple","mode","ref","triggerAsJsonString","triggerMatchingApi","stringify","jsonString","updateTriggerFromJsonString","parsedTriggerJson","trigger","switchMode","newMode","valid","AutomationTriggerEventInput","AutomationTriggerCustomInput","exhaustive","router","useRouter","lastStepText","steps","wizardRef","submit","Automation","cancel"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{d as b,B as A,i as r,o as s,c,g as a,j as t,l as m,k as e,A as C,t as v,F as P,m as T,q as d,a as h,p as U,C as $,x as z,y as k,z as E,e as I,f as y,D as K,E as S,G as j,K as q,H as w,I as G}from"./index-Dkae_997.js";import{u as H}from"./usePageTitle-DGuB4AZ9.js";import{u as L}from"./usePrefectApi-ugHPWJzM.js";import"./api-DD4AY08s.js";import"./mapper-CXwTfIzn.js";const O={class:"automation-card__header"},J={class:"automation-card__header-actions"},M={key:0,class:"automation-card__description"},Q={class:"automation-card__label"},R=b({__name:"AutomationCard",props:{automation:{}},emits:["update"],setup(B,{emit:p}){const l=p,_=A();return(o,n)=>{const f=r("p-link"),u=r("p-content"),g=r("p-card");return s(),c(g,{class:"automation-card"},{default:a(()=>[t(u,null,{default:a(()=>[t(u,{secondary:""},{default:a(()=>[m("div",O,[t(f,{class:"automation-card__name",to:e(_).automation(o.automation.id)},{default:a(()=>[C(v(o.automation.name),1)]),_:1},8,["to"]),m("div",J,[t(e(P),{automation:o.automation,onUpdate:n[0]||(n[0]=i=>l("update"))},null,8,["automation"]),t(e(T),{automation:o.automation,onDelete:n[1]||(n[1]=i=>l("update"))},null,8,["automation"])])]),o.automation.description?(s(),d("p",M,v(o.automation.description),1)):h("",!0)]),_:1}),t(u,{secondary:""},{default:a(()=>[n[2]||(n[2]=m("span",{class:"automation-card__label"},"Trigger",-1)),t(e(U),{trigger:o.automation.trigger},null,8,["trigger"])]),_:1}),t(u,{secondary:""},{default:a(()=>[m("span",Q,v(e($)("Action",o.automation.actions.length)),1),(s(!0),d(k,null,z(o.automation.actions,i=>(s(),c(g,{key:i.id},{default:a(()=>[t(e(E),{action:i},null,8,["action"])]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})}}}),tt=b({__name:"Automations",setup(B){const p=A();H("Automations");const l=[{text:"Automations"}],_=L(),o=I(_.automations.getAutomations),n=y(()=>o.response??[]),f=y(()=>o.executed),u=y(()=>n.value.length===0);return(g,i)=>{const D=r("p-button"),N=r("p-virtual-scroller"),V=r("p-layout-default");return s(),c(V,{class:"automations"},{header:a(()=>[t(e(q),{crumbs:l},K({"after-crumbs":a(()=>[t(D,{size:"sm",icon:"PlusIcon",to:e(p).automationCreate()},null,8,["to"])]),_:2},[u.value?void 0:{name:"actions",fn:a(()=>[t(e(S),{to:e(j).docs.automations},{default:a(()=>i[0]||(i[0]=[C(" Documentation ")])),_:1},8,["to"])]),key:"0"}]),1024)]),default:a(()=>[f.value?(s(),d(k,{key:0},[u.value?(s(),c(e(w),{key:0})):(s(),d(k,{key:1},[t(e(G),{count:n.value.length,label:"automation"},null,8,["count"]),t(N,{items:n.value,class:"automations-list"},{default:a(({item:F})=>[t(R,{automation:F,onUpdate:e(o).refresh},null,8,["automation","onUpdate"])]),_:1},8,["items"])],64))],64)):h("",!0)]),_:1})}}});export{tt as default};
2
+ //# sourceMappingURL=Automations-D4Ntq9Gq.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Automations-BvltyFM2.js","sources":["../../src/components/AutomationCard.vue","../../src/pages/Automations.vue"],"sourcesContent":["<template>\n <p-card class=\"automation-card\">\n <p-content>\n <p-content secondary>\n <div class=\"automation-card__header\">\n <p-link class=\"automation-card__name\" :to=\"routes.automation(automation.id)\">\n {{ automation.name }}\n </p-link>\n <div class=\"automation-card__header-actions\">\n <AutomationToggle :automation=\"automation\" @update=\"emit('update')\" />\n <AutomationMenu :automation=\"automation\" @delete=\"emit('update')\" />\n </div>\n </div>\n <template v-if=\"automation.description\">\n <p class=\"automation-card__description\">\n {{ automation.description }}\n </p>\n </template>\n </p-content>\n\n <p-content secondary>\n <span class=\"automation-card__label\">Trigger</span>\n <AutomationTriggerDescription :trigger=\"automation.trigger\" />\n </p-content>\n\n <p-content secondary>\n <span class=\"automation-card__label\">{{ toPluralString('Action', automation.actions.length) }}</span>\n <template v-for=\"action in automation.actions\" :key=\"action.id\">\n <p-card><AutomationActionDescription :action=\"action\" /></p-card>\n </template>\n </p-content>\n </p-content>\n </p-card>\n</template>\n\n<script lang=\"ts\" setup>\n import { toPluralString } from '@prefecthq/prefect-design'\n import { AutomationMenu, AutomationToggle, AutomationTriggerDescription, AutomationActionDescription, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { Automation } from '@/types/automation'\n\n defineProps<{\n automation: Automation,\n }>()\n\n const emit = defineEmits<{\n (event: 'update'): void,\n }>()\n\n const routes = useWorkspaceRoutes()\n</script>\n\n<style>\n.automation-card__header { @apply\n flex\n gap-2\n items-center\n justify-between\n}\n\n.automation-card__header-actions { @apply\n flex\n gap-2\n items-center\n}\n\n.automation-card__name { @apply\n text-lg\n}\n\n.automation-card__description { @apply\n text-sm\n}\n\n.automation-card__label { @apply\n font-medium\n mr-2\n}\n</style>","<template>\n <p-layout-default class=\"automations\">\n <template #header>\n <PageHeading :crumbs=\"crumbs\">\n <template #after-crumbs>\n <p-button size=\"sm\" icon=\"PlusIcon\" :to=\"routes.automationCreate()\" />\n </template>\n\n <template v-if=\"!empty\" #actions>\n <DocumentationButton :to=\"localization.docs.automations\">\n Documentation\n </DocumentationButton>\n </template>\n </PageHeading>\n </template>\n <template v-if=\"loaded\">\n <template v-if=\"empty\">\n <AutomationsPageEmptyState />\n </template>\n <template v-else>\n <ResultsCount :count=\"automations.length\" label=\"automation\" />\n\n <p-virtual-scroller :items=\"automations\" class=\"automations-list\">\n <template #default=\"{ item: automation }\">\n <AutomationCard :automation=\"automation\" @update=\"subscription.refresh\" />\n </template>\n </p-virtual-scroller>\n </template>\n </template>\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { PageHeading, ResultsCount, AutomationsPageEmptyState, DocumentationButton, localization, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { useSubscription } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import AutomationCard from '@/components/AutomationCard.vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n\n const routes = useWorkspaceRoutes()\n\n usePageTitle('Automations')\n\n const crumbs = [{ text: 'Automations' }]\n const api = usePrefectApi()\n\n const subscription = useSubscription(api.automations.getAutomations)\n const automations = computed(() => subscription.response ?? [])\n\n const loaded = computed(() => subscription.executed)\n const empty = computed(() => automations.value.length === 0)\n</script>\n\n<style>\n.automations {\n --virtual-scroller-item-gap: theme('spacing.2')\n}\n</style>"],"names":["emit","__emit","routes","useWorkspaceRoutes","usePageTitle","crumbs","api","usePrefectApi","subscription","useSubscription","automations","computed","loaded","empty"],"mappings":"0mBA4CE,MAAMA,EAAOC,EAIPC,EAASC,EAAmB,ujCCRlC,MAAMD,EAASC,EAAmB,EAElCC,EAAa,aAAa,EAE1B,MAAMC,EAAS,CAAC,CAAE,KAAM,cAAe,EACjCC,EAAMC,EAAc,EAEpBC,EAAeC,EAAgBH,EAAI,YAAY,cAAc,EAC7DI,EAAcC,EAAS,IAAMH,EAAa,UAAY,CAAA,CAAE,EAExDI,EAASD,EAAS,IAAMH,EAAa,QAAQ,EAC7CK,EAAQF,EAAS,IAAMD,EAAY,MAAM,SAAW,CAAC"}
1
+ {"version":3,"file":"Automations-D4Ntq9Gq.js","sources":["../../src/components/AutomationCard.vue","../../src/pages/Automations.vue"],"sourcesContent":["<template>\n <p-card class=\"automation-card\">\n <p-content>\n <p-content secondary>\n <div class=\"automation-card__header\">\n <p-link class=\"automation-card__name\" :to=\"routes.automation(automation.id)\">\n {{ automation.name }}\n </p-link>\n <div class=\"automation-card__header-actions\">\n <AutomationToggle :automation=\"automation\" @update=\"emit('update')\" />\n <AutomationMenu :automation=\"automation\" @delete=\"emit('update')\" />\n </div>\n </div>\n <template v-if=\"automation.description\">\n <p class=\"automation-card__description\">\n {{ automation.description }}\n </p>\n </template>\n </p-content>\n\n <p-content secondary>\n <span class=\"automation-card__label\">Trigger</span>\n <AutomationTriggerDescription :trigger=\"automation.trigger\" />\n </p-content>\n\n <p-content secondary>\n <span class=\"automation-card__label\">{{ toPluralString('Action', automation.actions.length) }}</span>\n <template v-for=\"action in automation.actions\" :key=\"action.id\">\n <p-card><AutomationActionDescription :action=\"action\" /></p-card>\n </template>\n </p-content>\n </p-content>\n </p-card>\n</template>\n\n<script lang=\"ts\" setup>\n import { toPluralString } from '@prefecthq/prefect-design'\n import { AutomationMenu, AutomationToggle, AutomationTriggerDescription, AutomationActionDescription, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { Automation } from '@/types/automation'\n\n defineProps<{\n automation: Automation,\n }>()\n\n const emit = defineEmits<{\n (event: 'update'): void,\n }>()\n\n const routes = useWorkspaceRoutes()\n</script>\n\n<style>\n.automation-card__header { @apply\n flex\n gap-2\n items-center\n justify-between\n}\n\n.automation-card__header-actions { @apply\n flex\n gap-2\n items-center\n}\n\n.automation-card__name { @apply\n text-lg\n}\n\n.automation-card__description { @apply\n text-sm\n}\n\n.automation-card__label { @apply\n font-medium\n mr-2\n}\n</style>","<template>\n <p-layout-default class=\"automations\">\n <template #header>\n <PageHeading :crumbs=\"crumbs\">\n <template #after-crumbs>\n <p-button size=\"sm\" icon=\"PlusIcon\" :to=\"routes.automationCreate()\" />\n </template>\n\n <template v-if=\"!empty\" #actions>\n <DocumentationButton :to=\"localization.docs.automations\">\n Documentation\n </DocumentationButton>\n </template>\n </PageHeading>\n </template>\n <template v-if=\"loaded\">\n <template v-if=\"empty\">\n <AutomationsPageEmptyState />\n </template>\n <template v-else>\n <ResultsCount :count=\"automations.length\" label=\"automation\" />\n\n <p-virtual-scroller :items=\"automations\" class=\"automations-list\">\n <template #default=\"{ item: automation }\">\n <AutomationCard :automation=\"automation\" @update=\"subscription.refresh\" />\n </template>\n </p-virtual-scroller>\n </template>\n </template>\n </p-layout-default>\n</template>\n\n<script lang=\"ts\" setup>\n import { PageHeading, ResultsCount, AutomationsPageEmptyState, DocumentationButton, localization, useWorkspaceRoutes } from '@prefecthq/prefect-ui-library'\n import { useSubscription } from '@prefecthq/vue-compositions'\n import { computed } from 'vue'\n import AutomationCard from '@/components/AutomationCard.vue'\n import { usePageTitle } from '@/compositions/usePageTitle'\n import { usePrefectApi } from '@/compositions/usePrefectApi'\n\n const routes = useWorkspaceRoutes()\n\n usePageTitle('Automations')\n\n const crumbs = [{ text: 'Automations' }]\n const api = usePrefectApi()\n\n const subscription = useSubscription(api.automations.getAutomations)\n const automations = computed(() => subscription.response ?? [])\n\n const loaded = computed(() => subscription.executed)\n const empty = computed(() => automations.value.length === 0)\n</script>\n\n<style>\n.automations {\n --virtual-scroller-item-gap: theme('spacing.2')\n}\n</style>"],"names":["emit","__emit","routes","useWorkspaceRoutes","usePageTitle","crumbs","api","usePrefectApi","subscription","useSubscription","automations","computed","loaded","empty"],"mappings":"onBA4CE,MAAMA,EAAOC,EAIPC,EAASC,EAAmB,ujCCRlC,MAAMD,EAASC,EAAmB,EAElCC,EAAa,aAAa,EAE1B,MAAMC,EAAS,CAAC,CAAE,KAAM,cAAe,EACjCC,EAAMC,EAAc,EAEpBC,EAAeC,EAAgBH,EAAI,YAAY,cAAc,EAC7DI,EAAcC,EAAS,IAAMH,EAAa,UAAY,CAAA,CAAE,EAExDI,EAASD,EAAS,IAAMH,EAAa,QAAQ,EAC7CK,EAAQF,EAAS,IAAMD,EAAY,MAAM,SAAW,CAAC"}