skypilot-nightly 1.0.0.dev20250709__tar.gz → 1.0.0.dev20250710__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 (515) hide show
  1. {skypilot_nightly-1.0.0.dev20250709/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250710}/PKG-INFO +1 -1
  2. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/cloud_vm_ray_backend.py +6 -4
  4. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/404.html +1 -1
  5. {skypilot_nightly-1.0.0.dev20250709/sky/dashboard/out/_next/static/EqELoF4IXcALfWVihInou → skypilot_nightly-1.0.0.dev20250710/sky/dashboard/out/_next/static/P2Di1JdUlHuKN2lBws4Mr}/_buildManifest.js +1 -1
  6. skypilot_nightly-1.0.0.dev20250710/sky/dashboard/out/_next/static/chunks/8969-13bb52ce3cffa4e3.js +1 -0
  7. skypilot_nightly-1.0.0.dev20250709/sky/dashboard/out/_next/static/chunks/webpack-9a81ea998672c303.js → skypilot_nightly-1.0.0.dev20250710/sky/dashboard/out/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js +1 -1
  8. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  9. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/clusters/[cluster].html +1 -1
  10. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/clusters.html +1 -1
  11. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/config.html +1 -1
  12. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/index.html +1 -1
  13. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/infra/[context].html +1 -1
  14. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/infra.html +1 -1
  15. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/jobs/[job].html +1 -1
  16. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/jobs.html +1 -1
  17. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/users.html +1 -1
  18. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/volumes.html +1 -1
  19. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/workspace/new.html +1 -1
  20. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/workspaces/[name].html +1 -1
  21. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/workspaces.html +1 -1
  22. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/global_user_state.py +1 -1
  23. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/constants.py +1 -1
  24. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/controller.py +7 -0
  25. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/server/core.py +2 -1
  26. skypilot_nightly-1.0.0.dev20250710/sky/jobs/server/utils.py +81 -0
  27. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/state.py +49 -30
  28. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/utils.py +34 -3
  29. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/instance.py +17 -0
  30. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/utils.py +2 -0
  31. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/provisioner.py +20 -0
  32. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/constants.py +1 -6
  33. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/job_lib.py +30 -8
  34. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skypilot_config.py +4 -2
  35. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/task.py +17 -0
  36. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/users/permission.py +3 -0
  37. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/common_utils.py +13 -0
  38. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/db_utils.py +16 -0
  39. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/schemas.py +3 -0
  40. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/ux_utils.py +2 -4
  41. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710/skypilot_nightly.egg-info}/PKG-INFO +1 -1
  42. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/skypilot_nightly.egg-info/SOURCES.txt +5 -4
  43. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_jobs_and_serve.py +3 -1
  44. skypilot_nightly-1.0.0.dev20250709/sky/dashboard/out/_next/static/chunks/8969-909d53833da080cb.js +0 -1
  45. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/LICENSE +0 -0
  46. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/MANIFEST.in +0 -0
  47. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/README.md +0 -0
  48. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/pyproject.toml +0 -0
  49. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/setup.cfg +0 -0
  50. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/setup.py +0 -0
  51. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/__init__.py +0 -0
  52. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/aws.py +0 -0
  53. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/azure.py +0 -0
  54. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/cloudflare.py +0 -0
  55. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/common.py +0 -0
  56. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/cudo.py +0 -0
  57. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/do.py +0 -0
  58. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/docker.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/gcp.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/hyperbolic.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/ibm.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/kubernetes.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/nebius.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/oci.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/runpod.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/vast.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/adaptors/vsphere.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/admin_policy.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/authentication.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/__init__.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/backend.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/backend_utils.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/docker_utils.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/local_docker_backend.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/backends/wheel_utils.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/__init__.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/aws_catalog.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/azure_catalog.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/common.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/config.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/cudo_catalog.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/__init__.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/analyze.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/do_catalog.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/fluidstack_catalog.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/gcp_catalog.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/hyperbolic_catalog.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/ibm_catalog.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/kubernetes_catalog.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/lambda_catalog.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/nebius_catalog.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/oci_catalog.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/paperspace_catalog.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/runpod_catalog.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/scp_catalog.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/ssh_catalog.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/vast_catalog.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/catalog/vsphere_catalog.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/check.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/cli.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/__init__.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/cli/__init__.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/cli/command.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/cli/deprecation_utils.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/cli/flags.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/common.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/oauth.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/sdk.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/client/service_account_auth.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/cloud_stores.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/__init__.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/aws.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/azure.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/cloud.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/cudo.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/do.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/fluidstack.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/gcp.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/hyperbolic.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/ibm.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/kubernetes.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/lambda_cloud.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/nebius.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/oci.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/paperspace.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/runpod.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/scp.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/ssh.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/utils/__init__.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/utils/aws_utils.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/utils/azure_utils.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/utils/gcp_utils.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/utils/oci_utils.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/utils/scp_utils.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/vast.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/clouds/vsphere.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/core.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dag.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250709/sky/dashboard/out/_next/static/EqELoF4IXcALfWVihInou → skypilot_nightly-1.0.0.dev20250710/sky/dashboard/out/_next/static/P2Di1JdUlHuKN2lBws4Mr}/_ssgManifest.js +0 -0
  151. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/1043-1b39779691bb4030.js +0 -0
  152. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/1141-726e5a3f00b67185.js +0 -0
  153. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  154. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/1664-d65361e92b85e786.js +0 -0
  155. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/1691.44e378727a41f3b5.js +0 -0
  156. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/1871-80dea41717729fa5.js +0 -0
  157. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/2544.27f70672535675ed.js +0 -0
  158. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/2875.c24c6d57dc82e436.js +0 -0
  159. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/3256.7257acd01b481bed.js +0 -0
  160. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/3698-52ad1ca228faa776.js +0 -0
  161. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/3785.b3cc2bc1d49d2c3c.js +0 -0
  162. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/3937.d7f1c55d1916c7f2.js +0 -0
  163. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/3947-b059261d6fa88a1f.js +0 -0
  164. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/430.ed51037d1a4a438b.js +0 -0
  165. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/4697.f5421144224da9fc.js +0 -0
  166. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/4725.4c849b1e05c8e9ad.js +0 -0
  167. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/5230-df791914b54d91d9.js +0 -0
  168. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/5491.918ffed0ba7a5294.js +0 -0
  169. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/5739-5ea3ffa10fc884f2.js +0 -0
  170. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/616-162f3033ffcd3d31.js +0 -0
  171. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/6601-fcfad0ddf92ec7ab.js +0 -0
  172. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/6989-6ff4e45dfb49d11d.js +0 -0
  173. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/6990-d0dc765474fa0eca.js +0 -0
  174. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/804-9f5e98ce84d46bdd.js +0 -0
  175. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/8982.a2e214068f30a857.js +0 -0
  176. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/9025.a7c44babfe56ce09.js +0 -0
  177. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/938-044ad21de8b4626b.js +0 -0
  178. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/9470-21d059a1dfa03f61.js +0 -0
  179. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/9984.b56614f3c4c5961d.js +0 -0
  180. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/fd9d1056-61f2257a9cd8b32b.js +0 -0
  181. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/framework-efc06c2733009cd3.js +0 -0
  182. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/main-app-68c028b1bc5e1b72.js +0 -0
  183. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/main-c0a4f1ea606d48d2.js +0 -0
  184. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/_app-a37b06ddb64521fd.js +0 -0
  185. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/_error-c72a1f77a3c0be1b.js +0 -0
  186. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8135aba0712bda37.js +0 -0
  187. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-1159f362b960e2b8.js +0 -0
  188. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/clusters-9744c271a1642f76.js +0 -0
  189. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/config-a2673b256b6d416f.js +0 -0
  190. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/index-927ddeebe57a8ac3.js +0 -0
  191. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-8b0809f59034d509.js +0 -0
  192. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/infra-ae9d2f705ce582c9.js +0 -0
  193. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-c4d5cfac7fbc0668.js +0 -0
  194. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/jobs-5bbdc71878f0a068.js +0 -0
  195. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/users-cd43fb3c122eedde.js +0 -0
  196. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/volumes-4ebf6484f7216387.js +0 -0
  197. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js +0 -0
  198. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-7c0187f43757a548.js +0 -0
  199. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/pages/workspaces-06bde99155fa6292.js +0 -0
  200. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/_next/static/css/0da6afe66176678a.css +0 -0
  202. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/favicon.ico +0 -0
  203. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/skypilot.svg +0 -0
  204. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  205. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/data/__init__.py +0 -0
  206. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/data/data_transfer.py +0 -0
  207. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/data/data_utils.py +0 -0
  208. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/data/mounting_utils.py +0 -0
  209. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/data/storage.py +0 -0
  210. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/data/storage_utils.py +0 -0
  211. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/exceptions.py +0 -0
  212. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/execution.py +0 -0
  213. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/__init__.py +0 -0
  214. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/client/__init__.py +0 -0
  215. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/client/sdk.py +0 -0
  216. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/recovery_strategy.py +0 -0
  217. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/scheduler.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/server/__init__.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/jobs/server/server.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/logs/__init__.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/logs/agent.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/logs/gcp.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/metrics/__init__.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/metrics/utils.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/models.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/optimizer.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/__init__.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/aws/__init__.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/aws/config.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/aws/instance.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/aws/utils.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/azure/__init__.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/azure/azure-config-template.json +0 -0
  234. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/azure/config.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/azure/instance.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/common.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/constants.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/cudo/__init__.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/cudo/config.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/cudo/cudo_machine_type.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/cudo/cudo_utils.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/cudo/cudo_wrapper.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/cudo/instance.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/do/__init__.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/do/config.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/do/constants.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/do/instance.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/do/utils.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/docker_utils.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/fluidstack/__init__.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/fluidstack/config.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/fluidstack/instance.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/__init__.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/config.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/constants.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/instance.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/instance_utils.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/mig_utils.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/gcp/volume_utils.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/hyperbolic/__init__.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/hyperbolic/config.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/hyperbolic/instance.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/hyperbolic/utils.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/instance_setup.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/__init__.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/config.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/constants.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  270. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/network.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/network_utils.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/kubernetes/volume.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/lambda_cloud/__init__.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/lambda_cloud/config.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/lambda_cloud/instance.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/logging.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/metadata_utils.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/nebius/__init__.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/nebius/config.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/nebius/constants.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/nebius/instance.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/nebius/utils.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/oci/__init__.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/oci/config.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/oci/instance.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/oci/query_utils.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/paperspace/__init__.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/paperspace/config.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/paperspace/constants.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/paperspace/instance.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/paperspace/utils.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/__init__.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/api/__init__.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/api/commands.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/api/pods.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/config.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/instance.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/runpod/utils.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/scp/__init__.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/scp/config.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/scp/instance.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/ssh/__init__.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vast/__init__.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vast/config.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vast/instance.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vast/utils.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/__init__.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/__init__.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/custom_script.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/id_generator.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/service_manager.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/common/vim_utils.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/config.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/instance.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/provision/vsphere/vsphere_utils.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/resources.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/__init__.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/autoscalers.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/client/__init__.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/client/sdk.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/constants.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/controller.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/load_balancer.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/load_balancing_policies.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/replica_managers.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/serve_state.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/serve_utils.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/server/__init__.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/server/core.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/server/server.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/service.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/service_spec.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/serve/spot_placer.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/__init__.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/common.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/config.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/constants.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/html/log.html +0 -0
  346. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/html/token_page.html +0 -0
  347. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/metrics.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/__init__.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/event_loop.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/executor.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/payloads.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/preconditions.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/process.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/queues/__init__.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/queues/local_queue.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/queues/mp_queue.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/requests.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/serializers/__init__.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/serializers/decoders.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/requests/serializers/encoders.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/rest.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/server.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/state.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/stream_utils.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/uvicorn.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/server/versions.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/setup_files/MANIFEST.in +0 -0
  368. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/setup_files/dependencies.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/setup_files/setup.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/sky_logging.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/LICENSE +0 -0
  372. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/__init__.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/attempt_skylet.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/autostop_lib.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/configs.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/events.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/log_lib.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/log_lib.pyi +0 -0
  379. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/providers/__init__.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/providers/command_runner.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/providers/ibm/__init__.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/providers/ibm/node_provider.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/providers/ibm/utils.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/__init__.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  387. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/cli.py.patch +0 -0
  388. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  389. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  390. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  391. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/updater.py.patch +0 -0
  392. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/ray_patches/worker.py.patch +0 -0
  393. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/skylet.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/skylet/subprocess_daemon.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/ssh_node_pools/__init__.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/ssh_node_pools/core.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/ssh_node_pools/server.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/aws-ray.yml.j2 +0 -0
  399. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/azure-ray.yml.j2 +0 -0
  400. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/cudo-ray.yml.j2 +0 -0
  401. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/do-ray.yml.j2 +0 -0
  402. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  403. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/gcp-ray.yml.j2 +0 -0
  404. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  405. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/ibm-ray.yml.j2 +0 -0
  406. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/jobs-controller.yaml.j2 +0 -0
  407. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  408. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  409. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  410. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/kubernetes-ray.yml.j2 +0 -0
  411. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  412. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/lambda-ray.yml.j2 +0 -0
  413. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/local-ray.yml.j2 +0 -0
  414. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/nebius-ray.yml.j2 +0 -0
  415. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/oci-ray.yml.j2 +0 -0
  416. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/paperspace-ray.yml.j2 +0 -0
  417. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/runpod-ray.yml.j2 +0 -0
  418. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/scp-ray.yml.j2 +0 -0
  419. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  420. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  421. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/vast-ray.yml.j2 +0 -0
  422. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/vsphere-ray.yml.j2 +0 -0
  423. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/templates/websocket_proxy.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/usage/__init__.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/usage/constants.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/usage/usage_lib.py +0 -0
  427. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/users/__init__.py +0 -0
  428. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/users/model.conf +0 -0
  429. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/users/rbac.py +0 -0
  430. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/users/server.py +0 -0
  431. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/users/token_service.py +0 -0
  432. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/__init__.py +0 -0
  433. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/accelerator_registry.py +0 -0
  434. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/admin_policy_utils.py +0 -0
  435. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/annotations.py +0 -0
  436. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/atomic.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/aws/__init__.py +0 -0
  438. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/aws/get_default_security_group.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/cli_utils/__init__.py +0 -0
  440. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/cli_utils/status_utils.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/cluster_utils.py +0 -0
  442. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/command_runner.py +0 -0
  443. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/command_runner.pyi +0 -0
  444. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/common.py +0 -0
  445. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/config_utils.py +0 -0
  446. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/context.py +0 -0
  447. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/context_utils.py +0 -0
  448. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/control_master_utils.py +0 -0
  449. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/controller_utils.py +0 -0
  450. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/dag_utils.py +0 -0
  451. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/env_options.py +0 -0
  452. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/infra_utils.py +0 -0
  453. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/__init__.py +0 -0
  454. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  455. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/config_map_utils.py +0 -0
  456. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/create_cluster.sh +0 -0
  457. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  458. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  459. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  460. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  461. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  462. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  463. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  464. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  465. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  466. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  467. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  468. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  469. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes/ssh_utils.py +0 -0
  470. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/kubernetes_enums.py +0 -0
  471. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/log_utils.py +0 -0
  472. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/message_utils.py +0 -0
  473. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/registry.py +0 -0
  474. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/resource_checker.py +0 -0
  475. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/resources_utils.py +0 -0
  476. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/rich_console_utils.py +0 -0
  477. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/rich_utils.py +0 -0
  478. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/status_lib.py +0 -0
  479. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/subprocess_utils.py +0 -0
  480. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/tempstore.py +0 -0
  481. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/timeline.py +0 -0
  482. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/utils/validator.py +0 -0
  483. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/__init__.py +0 -0
  484. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/client/__init__.py +0 -0
  485. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/client/sdk.py +0 -0
  486. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/server/__init__.py +0 -0
  487. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/server/core.py +0 -0
  488. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/server/server.py +0 -0
  489. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/utils.py +0 -0
  490. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/volumes/volume.py +0 -0
  491. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/workspaces/__init__.py +0 -0
  492. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/workspaces/core.py +0 -0
  493. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/workspaces/server.py +0 -0
  494. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/sky/workspaces/utils.py +0 -0
  495. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  496. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  497. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/skypilot_nightly.egg-info/requires.txt +0 -0
  498. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/skypilot_nightly.egg-info/top_level.txt +0 -0
  499. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_api.py +0 -0
  500. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_api_compatibility.py +0 -0
  501. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_cli.py +0 -0
  502. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_config.py +0 -0
  503. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_db_utils.py +0 -0
  504. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_failover.py +0 -0
  505. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_global_user_state.py +0 -0
  506. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_jobs.py +0 -0
  507. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_list_accelerators.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_no_parellel.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_optimizer_dryruns.py +0 -0
  510. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_optimizer_random_dag.py +0 -0
  511. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_serve_autoscaler.py +0 -0
  512. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_smoke.py +0 -0
  513. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_storage.py +0 -0
  514. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_wheels.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20250709 → skypilot_nightly-1.0.0.dev20250710}/tests/test_yaml_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250709
3
+ Version: 1.0.0.dev20250710
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -5,7 +5,7 @@ from typing import Optional
5
5
  import urllib.request
6
6
 
7
7
  # Replaced with the current commit when building the wheels.
8
- _SKYPILOT_COMMIT_SHA = '049a61037fec870c541621cb37b03783e046d44b'
8
+ _SKYPILOT_COMMIT_SHA = 'c7b073165d36ed85f3b83df6624b439bd38b60fa'
9
9
 
10
10
 
11
11
  def _get_git_commit():
@@ -35,7 +35,7 @@ def _get_git_commit():
35
35
 
36
36
 
37
37
  __commit__ = _get_git_commit()
38
- __version__ = '1.0.0.dev20250709'
38
+ __version__ = '1.0.0.dev20250710'
39
39
  __root_dir__ = os.path.dirname(os.path.abspath(__file__))
40
40
 
41
41
 
@@ -3613,13 +3613,14 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3613
3613
  self.tail_logs(handle, job_id)
3614
3614
 
3615
3615
  def _add_job(self, handle: CloudVmRayResourceHandle,
3616
- job_name: Optional[str],
3617
- resources_str: str) -> Tuple[int, str]:
3616
+ job_name: Optional[str], resources_str: str,
3617
+ metadata: str) -> Tuple[int, str]:
3618
3618
  code = job_lib.JobLibCodeGen.add_job(
3619
3619
  job_name=job_name,
3620
3620
  username=common_utils.get_user_hash(),
3621
3621
  run_timestamp=self.run_timestamp,
3622
- resources_str=resources_str)
3622
+ resources_str=resources_str,
3623
+ metadata=metadata)
3623
3624
  returncode, result_str, stderr = self.run_on_head(handle,
3624
3625
  code,
3625
3626
  stream_logs=False,
@@ -3702,7 +3703,8 @@ class CloudVmRayBackend(backends.Backend['CloudVmRayResourceHandle']):
3702
3703
  logger.info(f'Dryrun complete. Would have run:\n{task}')
3703
3704
  return None
3704
3705
 
3705
- job_id, log_dir = self._add_job(handle, task_copy.name, resources_str)
3706
+ job_id, log_dir = self._add_job(handle, task_copy.name, resources_str,
3707
+ task.metadata_json)
3706
3708
 
3707
3709
  num_actual_nodes = task.num_nodes * handle.num_ips_per_node
3708
3710
  # Case: task_lib.Task(run, num_nodes=N) or TPU VM Pods
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c72a1f77a3c0be1b.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c72a1f77a3c0be1b.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- self.__BUILD_MANIFEST=function(s,c,a,e,t,f,u,n,r,b,i,j,d,k,o){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-927ddeebe57a8ac3.js"],"/_error":["static/chunks/pages/_error-c72a1f77a3c0be1b.js"],"/clusters":["static/chunks/pages/clusters-9744c271a1642f76.js"],"/clusters/[cluster]":[s,c,a,e,t,r,i,f,u,n,j,b,d,k,o,"static/chunks/1871-80dea41717729fa5.js","static/chunks/pages/clusters/[cluster]-1159f362b960e2b8.js"],"/clusters/[cluster]/[job]":[s,c,a,e,t,f,u,n,"static/chunks/pages/clusters/[cluster]/[job]-8135aba0712bda37.js"],"/config":["static/chunks/pages/config-a2673b256b6d416f.js"],"/infra":["static/chunks/pages/infra-ae9d2f705ce582c9.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-8b0809f59034d509.js"],"/jobs":["static/chunks/pages/jobs-5bbdc71878f0a068.js"],"/jobs/[job]":[s,c,a,e,t,r,f,u,n,b,"static/chunks/pages/jobs/[job]-c4d5cfac7fbc0668.js"],"/users":["static/chunks/pages/users-cd43fb3c122eedde.js"],"/volumes":["static/chunks/pages/volumes-4ebf6484f7216387.js"],"/workspace/new":["static/chunks/pages/workspace/new-5629d4e551dba1ee.js"],"/workspaces":["static/chunks/pages/workspaces-06bde99155fa6292.js"],"/workspaces/[name]":[s,c,a,e,t,r,i,f,u,n,j,b,d,k,o,"static/chunks/1141-726e5a3f00b67185.js","static/chunks/pages/workspaces/[name]-7c0187f43757a548.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/[job]","/users","/volumes","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/616-162f3033ffcd3d31.js","static/chunks/5230-df791914b54d91d9.js","static/chunks/5739-5ea3ffa10fc884f2.js","static/chunks/1664-d65361e92b85e786.js","static/chunks/804-9f5e98ce84d46bdd.js","static/chunks/6989-6ff4e45dfb49d11d.js","static/chunks/3698-52ad1ca228faa776.js","static/chunks/9470-21d059a1dfa03f61.js","static/chunks/1272-1ef0bf0237faccdb.js","static/chunks/8969-909d53833da080cb.js","static/chunks/3947-b059261d6fa88a1f.js","static/chunks/6990-d0dc765474fa0eca.js","static/chunks/1043-1b39779691bb4030.js","static/chunks/6601-fcfad0ddf92ec7ab.js","static/chunks/938-044ad21de8b4626b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
1
+ self.__BUILD_MANIFEST=function(s,c,a,e,t,f,u,n,r,b,i,j,k,d,o){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-927ddeebe57a8ac3.js"],"/_error":["static/chunks/pages/_error-c72a1f77a3c0be1b.js"],"/clusters":["static/chunks/pages/clusters-9744c271a1642f76.js"],"/clusters/[cluster]":[s,c,a,e,t,r,i,f,u,n,j,b,k,d,o,"static/chunks/1871-80dea41717729fa5.js","static/chunks/pages/clusters/[cluster]-1159f362b960e2b8.js"],"/clusters/[cluster]/[job]":[s,c,a,e,t,f,u,n,"static/chunks/pages/clusters/[cluster]/[job]-8135aba0712bda37.js"],"/config":["static/chunks/pages/config-a2673b256b6d416f.js"],"/infra":["static/chunks/pages/infra-ae9d2f705ce582c9.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-8b0809f59034d509.js"],"/jobs":["static/chunks/pages/jobs-5bbdc71878f0a068.js"],"/jobs/[job]":[s,c,a,e,t,r,f,u,n,b,"static/chunks/pages/jobs/[job]-c4d5cfac7fbc0668.js"],"/users":["static/chunks/pages/users-cd43fb3c122eedde.js"],"/volumes":["static/chunks/pages/volumes-4ebf6484f7216387.js"],"/workspace/new":["static/chunks/pages/workspace/new-5629d4e551dba1ee.js"],"/workspaces":["static/chunks/pages/workspaces-06bde99155fa6292.js"],"/workspaces/[name]":[s,c,a,e,t,r,i,f,u,n,j,b,k,d,o,"static/chunks/1141-726e5a3f00b67185.js","static/chunks/pages/workspaces/[name]-7c0187f43757a548.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/[job]","/users","/volumes","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/616-162f3033ffcd3d31.js","static/chunks/5230-df791914b54d91d9.js","static/chunks/5739-5ea3ffa10fc884f2.js","static/chunks/1664-d65361e92b85e786.js","static/chunks/804-9f5e98ce84d46bdd.js","static/chunks/6989-6ff4e45dfb49d11d.js","static/chunks/3698-52ad1ca228faa776.js","static/chunks/9470-21d059a1dfa03f61.js","static/chunks/1272-1ef0bf0237faccdb.js","static/chunks/8969-13bb52ce3cffa4e3.js","static/chunks/3947-b059261d6fa88a1f.js","static/chunks/6990-d0dc765474fa0eca.js","static/chunks/1043-1b39779691bb4030.js","static/chunks/6601-fcfad0ddf92ec7ab.js","static/chunks/938-044ad21de8b4626b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8969],{8969:function(e,t,r){r.d(t,{Ce:function(){return u},NJ:function(){return d},UA:function(){return l},getManagedJobs:function(){return i}});var o=r(7294),a=r(5821),n=r(3225),c=r(6378),s=r(7145);async function i(){let{allUsers:e=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{let t=(await s.x.post("/jobs/queue",{all_users:e})).headers.get("X-Skypilot-Request-ID"),r=await s.x.get("/api/get?request_id=".concat(t));if(500===r.status){try{let e=await r.json();if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);if(t.type&&t.type===n.iW)return{jobs:[],controllerStopped:!0}}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{jobs:[],controllerStopped:!1}}let o=await r.json();return{jobs:(o.return_value?JSON.parse(o.return_value):[]).map(e=>{let t=[];e.submitted_at&&t.push({time:new Date(1e3*e.submitted_at),event:"Job submitted."}),e.start_at&&t.push({time:new Date(1e3*e.start_at),event:"Job started."}),e.end_at&&("CANCELLING"==e.status||"CANCELLED"==e.status?t.push({time:new Date(1e3*e.end_at),event:"Job cancelled."}):t.push({time:new Date(1e3*e.end_at),event:"Job completed."})),e.last_recovered_at&&e.last_recovered_at!=e.start_at&&t.push({time:new Date(1e3*e.last_recovered_at),event:"Job recovered."});let r=(e.end_at?e.end_at:Date.now()/1e3)-e.submitted_at,o=e.cloud,a=e.cluster_resources;if(!o){if(e.cluster_resources&&"-"!==e.cluster_resources)try{o=e.cluster_resources.split("(")[0].split("x").pop().trim(),a=e.cluster_resources.replace("".concat(o,"("),"(").replace("x ","x")}catch(e){o="Unknown"}else o="Unknown"}let n="",c=n=e.zone?e.zone:e.region;n&&n.length>15&&(n="".concat(n.substring(0,Math.floor(6)),"...").concat(n.substring(n.length-Math.ceil(6))));let s=o+" ("+n+")";"-"===n&&(s=o);let i=o+" ("+c+")";return"-"===c&&(i=o),{id:e.job_id,task:e.task_name,name:e.job_name,job_duration:e.job_duration,total_duration:r,workspace:e.workspace,status:e.status,requested_resources:e.resources,resources_str:a,resources_str_full:e.cluster_resources_full||a,cloud:o,region:e.region,infra:s,full_infra:i,recoveries:e.recovery_count,details:e.details||e.failure_reason,user:e.user_name,user_hash:e.user_hash,submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,events:t,dag_yaml:e.user_yaml,entrypoint:e.entrypoint}}),controllerStopped:!1}}catch(e){return console.error("Error fetching managed job data:",e),{jobs:[],controllerStopped:!1}}}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,[r,a]=(0,o.useState)(null),[n,s]=(0,o.useState)(!0);return(0,o.useEffect)(()=>{(async function(){if(e)try{var t;s(!0);let r=await c.default.get(i,[{allUsers:!0}]),o=null==r?void 0:null===(t=r.jobs)||void 0===t?void 0:t.find(t=>String(t.id)===String(e));o?a({jobs:[o],controllerStopped:r.controllerStopped||!1}):a({jobs:[],controllerStopped:r.controllerStopped||!1})}catch(e){console.error("Error fetching single managed job data:",e),a({jobs:[],controllerStopped:!1})}finally{s(!1)}})()},[e,t]),{jobData:r,loading:n}}async function d(e){let t,{jobId:r,controller:o=!1,signal:c,onNewLog:s}=e,i=Date.now(),l=new Promise(e=>{let r=()=>{let o=Date.now()-i;o>=3e4?e({timeout:!0}):t=setTimeout(r,3e4-o)};t=setTimeout(r,3e4)}),d=window.location.origin,u="".concat(d).concat(n.f4),h=(async()=>{try{let e=(await fetch("".concat(u,"/jobs/logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({controller:o,follow:!1,job_id:r,tail:1e3}),...c?{signal:c}:{}})).body.getReader();try{for(;;){let{done:t,value:r}=await e.read();if(t)break;i=Date.now();let o=new TextDecoder().decode(r);s(o)}}finally{if(!c||!c.aborted)try{e.cancel()}catch(e){"AbortError"!==e.name&&console.warn("Error canceling reader:",e)}t&&clearTimeout(t)}return{timeout:!1}}catch(e){if(t&&clearTimeout(t),"AbortError"===e.name)return{timeout:!1};throw e}})(),b=await Promise.race([h,l]);if(t&&clearTimeout(t),b.timeout){(0,a.C)("Log request for job ".concat(r," timed out after ").concat(30,"s of inactivity"),"warning");return}}async function u(e,t,r){let o="",c="",s="",i={};if("restartcontroller"===e)o="Restarting",c="restarted",s="jobs/queue",i={all_users:!0,refresh:!0},t="controller";else throw Error("Invalid action: ".concat(e));(0,a.C)("".concat(o," job ").concat(t,"..."),"info");let l=window.location.origin,d="".concat(l).concat(n.f4);try{try{let e=(await fetch("".concat(d,"/").concat(s),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)})).headers.get("X-Skypilot-Request-ID"),l=await fetch("".concat(d,"/api/get?request_id=").concat(e));if(200===l.status)(0,a.C)("Job ".concat(t," ").concat(c," successfully."),"success");else if(500===l.status)try{let e=await l.json();if(e.detail&&e.detail.error)try{let c=JSON.parse(e.detail.error);c.type&&c.type===n.Bo?(0,a.C)("".concat(o," job ").concat(t," is not supported!"),"error",1e4):c.type&&c.type===n.mF?(0,a.C)("Cluster ".concat(r," does not exist."),"error"):c.type&&c.type===n.iW?(0,a.C)("Cluster ".concat(r," is not up."),"error"):(0,a.C)("".concat(o," job ").concat(t," failed: ").concat(c.type),"error")}catch(r){(0,a.C)("".concat(o," job ").concat(t," failed: ").concat(e.detail.error),"error")}else(0,a.C)("".concat(o," job ").concat(t," failed with no details."),"error")}catch(e){(0,a.C)("".concat(o," job ").concat(t," failed with parse error."),"error")}else(0,a.C)("".concat(o," job ").concat(t," failed with status ").concat(l.status,"."),"error")}catch(e){console.error("Fetch error:",e),(0,a.C)("Network error ".concat(o," job ").concat(t,": ").concat(e.message),"error")}}catch(e){console.error("Error in handleStop:",e),(0,a.C)("Critical error ".concat(o," job ").concat(t,": ").concat(e.message),"error")}}},5821:function(e,t,r){r.d(t,{C:function(){return o}});function o(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3,o=document.getElementById("toast-container");o||((o=document.createElement("div")).id="toast-container",o.className="fixed top-0 right-0 p-4 z-[9999] flex flex-col items-end space-y-2",document.body.appendChild(o));let a=document.createElement("div");switch(a.className="rounded-md border-l-4 p-4 shadow-md flex items-center justify-between max-w-md w-full mb-2 pointer-events-auto",t){case"success":a.className+=" bg-green-100 border-green-500 text-green-800";break;case"error":a.className+=" bg-red-100 border-red-500 text-red-800";break;case"warning":a.className+=" bg-yellow-100 border-yellow-500 text-yellow-800";break;default:a.className+=" bg-blue-100 border-blue-500 text-blue-800"}return a.innerHTML='\n <div class="flex-1 mr-2">\n <p class="text-sm font-medium">'.concat(e,'</p>\n </div>\n <button class="text-gray-500 hover:text-gray-700 focus:outline-none" aria-label="Close toast">\n <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>\n </button>\n '),o.appendChild(a),a.querySelector("button").addEventListener("click",()=>{o.removeChild(a)}),setTimeout(()=>{o.contains(a)&&o.removeChild(a)},r),a}},6378:function(e,t,r){r.r(t),r.d(t,{DashboardCache:function(){return a},dashboardCache:function(){return n}});let o=r(1214).ej.DEFAULT_TTL;class a{async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.ttl||o,n=!1!==r.refreshOnAccess,c=this._generateKey(e,t),s=e.name||"anonymous",i=this.cache.get(c),l=Date.now();if(i&&l-i.lastUpdated<a){let r=Math.round((l-i.lastUpdated)/1e3);return this._debug("Cache HIT for ".concat(s," (age: ").concat(r,"s, TTL: ").concat(Math.round(a/1e3),"s)")),n&&(this.cache.set(c,{data:i.data,lastUpdated:l}),this._debug("Cache TTL refreshed for ".concat(s))),this.backgroundJobs.has(c)||this._refreshInBackground(e,t,c),i.data}try{let r=await e(...t);return this.cache.set(c,{data:r,lastUpdated:l}),r}catch(e){if(i)return console.warn("Failed to fetch fresh data for ".concat(c,", returning stale data:"),e),i.data;throw e}}invalidate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=this._generateKey(e,t);this.cache.delete(r),this.backgroundJobs.delete(r)}invalidateFunction(e){let t=e.name||"anonymous",r=[];for(let e of this.cache.keys())e.startsWith("".concat(t,"_"))&&r.push(e);r.forEach(e=>{this.cache.delete(e),this.backgroundJobs.delete(e)})}clear(){this.cache.clear(),this.backgroundJobs.clear()}getStats(){return{cacheSize:this.cache.size,backgroundJobs:this.backgroundJobs.size,keys:Array.from(this.cache.keys())}}getDetailedStats(){let e=Date.now(),t=[];for(let[r,o]of this.cache.entries()){let a=e-o.lastUpdated;t.push({key:r,age:Math.round(a/1e3),lastUpdated:new Date(o.lastUpdated).toISOString(),hasBackgroundJob:this.backgroundJobs.has(r)})}return{cacheSize:this.cache.size,backgroundJobs:this.backgroundJobs.size,entries:t.sort((e,t)=>e.age-t.age)}}setDebugMode(e){this.debugMode=e}_debug(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];this.debugMode&&console.log("[DashboardCache] ".concat(e),...r)}_refreshInBackground(e,t,r){this.backgroundJobs.set(r,!0),e(...t).then(e=>{this.cache.set(r,{data:e,lastUpdated:Date.now()})}).catch(e=>{console.warn("Background refresh failed for ".concat(r,":"),e)}).finally(()=>{this.backgroundJobs.delete(r)})}_generateKey(e,t){let r=function(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r);return t>>>0}(e.toString()),o=t.length>0?JSON.stringify(t):"";return"".concat(r,"_").concat(o)}constructor(){this.cache=new Map,this.backgroundJobs=new Map,this.debugMode=!1}}let n=new a;t.default=n}}]);
@@ -1 +1 @@
1
- !function(){"use strict";var e,t,n,r,c,a,o,u,f,i={},d={};function s(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e](n,n.exports,s),r=!1}finally{r&&delete d[e]}return n.exports}s.m=i,e=[],s.O=function(t,n,r,c){if(n){c=c||0;for(var a=e.length;a>0&&e[a-1][2]>c;a--)e[a]=e[a-1];e[a]=[n,r,c];return}for(var o=1/0,a=0;a<e.length;a++){for(var n=e[a][0],r=e[a][1],c=e[a][2],u=!0,f=0;f<n.length;f++)o>=c&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(u=!1,c<o&&(o=c));if(u){e.splice(a--,1);var i=r();void 0!==i&&(t=i)}}return t},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);s.r(c);var a={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach(function(t){a[t]=function(){return e[t]}});return a.default=function(){return e},s.d(c,a),c},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,n){return s.f[n](e,t),t},[]))},s.u=function(e){return 2544===e?"static/chunks/2544.27f70672535675ed.js":5491===e?"static/chunks/5491.918ffed0ba7a5294.js":3937===e?"static/chunks/3937.d7f1c55d1916c7f2.js":9025===e?"static/chunks/9025.a7c44babfe56ce09.js":2875===e?"static/chunks/2875.c24c6d57dc82e436.js":9984===e?"static/chunks/9984.b56614f3c4c5961d.js":430===e?"static/chunks/430.ed51037d1a4a438b.js":4697===e?"static/chunks/4697.f5421144224da9fc.js":1691===e?"static/chunks/1691.44e378727a41f3b5.js":3256===e?"static/chunks/3256.7257acd01b481bed.js":4725===e?"static/chunks/4725.4c849b1e05c8e9ad.js":3785===e?"static/chunks/3785.b3cc2bc1d49d2c3c.js":8982===e?"static/chunks/8982.a2e214068f30a857.js":"static/chunks/"+e+"-"+({616:"162f3033ffcd3d31",804:"9f5e98ce84d46bdd",938:"044ad21de8b4626b",1043:"1b39779691bb4030",1141:"726e5a3f00b67185",1272:"1ef0bf0237faccdb",1664:"d65361e92b85e786",1871:"80dea41717729fa5",3698:"52ad1ca228faa776",3947:"b059261d6fa88a1f",5230:"df791914b54d91d9",5739:"5ea3ffa10fc884f2",6601:"fcfad0ddf92ec7ab",6989:"6ff4e45dfb49d11d",6990:"d0dc765474fa0eca",8969:"909d53833da080cb",9470:"21d059a1dfa03f61"})[e]+".js"},s.miniCssF=function(e){},s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",s.l=function(e,t,n,a){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var o,u,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var d=f[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==c+n){o=d;break}}o||(u=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,s.nc&&o.setAttribute("nonce",s.nc),o.setAttribute("data-webpack",c+n),o.src=s.tu(e)),r[e]=[t];var b=function(t,n){o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=b.bind(null,o.onerror),o.onload=b.bind(null,o.onload),u&&document.head.appendChild(o)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===a&&(a={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(a=trustedTypes.createPolicy("nextjs#bundler",a))),a},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/dashboard/_next/",o={2272:0},s.f.j=function(e,t){var n=s.o(o,e)?o[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=o[e]=[t,r]});t.push(n[2]=r);var c=s.p+s.u(e),a=Error();s.l(c,function(t){if(s.o(o,e)&&(0!==(n=o[e])&&(o[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",a.name="ChunkLoadError",a.type=r,a.request=c,n[1](a)}},"chunk-"+e,e)}else o[e]=0}},s.O.j=function(e){return 0===o[e]},u=function(e,t){var n,r,c=t[0],a=t[1],u=t[2],f=0;if(c.some(function(e){return 0!==o[e]})){for(n in a)s.o(a,n)&&(s.m[n]=a[n]);if(u)var i=u(s)}for(e&&e(t);f<c.length;f++)r=c[f],s.o(o,r)&&o[r]&&o[r][0](),o[r]=0;return s.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(u.bind(null,0)),f.push=u.bind(null,f.push.bind(f)),s.nc=void 0}();
1
+ !function(){"use strict";var e,t,n,r,c,a,o,u,f,i={},s={};function d(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}},r=!0;try{i[e](n,n.exports,d),r=!1}finally{r&&delete s[e]}return n.exports}d.m=i,e=[],d.O=function(t,n,r,c){if(n){c=c||0;for(var a=e.length;a>0&&e[a-1][2]>c;a--)e[a]=e[a-1];e[a]=[n,r,c];return}for(var o=1/0,a=0;a<e.length;a++){for(var n=e[a][0],r=e[a][1],c=e[a][2],u=!0,f=0;f<n.length;f++)o>=c&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(u=!1,c<o&&(o=c));if(u){e.splice(a--,1);var i=r();void 0!==i&&(t=i)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);d.r(c);var a={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach(function(t){a[t]=function(){return e[t]}});return a.default=function(){return e},d.d(c,a),c},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return 2544===e?"static/chunks/2544.27f70672535675ed.js":5491===e?"static/chunks/5491.918ffed0ba7a5294.js":3937===e?"static/chunks/3937.d7f1c55d1916c7f2.js":9025===e?"static/chunks/9025.a7c44babfe56ce09.js":2875===e?"static/chunks/2875.c24c6d57dc82e436.js":9984===e?"static/chunks/9984.b56614f3c4c5961d.js":430===e?"static/chunks/430.ed51037d1a4a438b.js":4697===e?"static/chunks/4697.f5421144224da9fc.js":3256===e?"static/chunks/3256.7257acd01b481bed.js":4725===e?"static/chunks/4725.4c849b1e05c8e9ad.js":1691===e?"static/chunks/1691.44e378727a41f3b5.js":3785===e?"static/chunks/3785.b3cc2bc1d49d2c3c.js":8982===e?"static/chunks/8982.a2e214068f30a857.js":"static/chunks/"+e+"-"+({616:"162f3033ffcd3d31",804:"9f5e98ce84d46bdd",938:"044ad21de8b4626b",1043:"1b39779691bb4030",1141:"726e5a3f00b67185",1272:"1ef0bf0237faccdb",1664:"d65361e92b85e786",1871:"80dea41717729fa5",3698:"52ad1ca228faa776",3947:"b059261d6fa88a1f",5230:"df791914b54d91d9",5739:"5ea3ffa10fc884f2",6601:"fcfad0ddf92ec7ab",6989:"6ff4e45dfb49d11d",6990:"d0dc765474fa0eca",8969:"13bb52ce3cffa4e3",9470:"21d059a1dfa03f61"})[e]+".js"},d.miniCssF=function(e){},d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",d.l=function(e,t,n,a){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var o,u,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var s=f[i];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==c+n){o=s;break}}o||(u=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,d.nc&&o.setAttribute("nonce",d.nc),o.setAttribute("data-webpack",c+n),o.src=d.tu(e)),r[e]=[t];var b=function(t,n){o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=b.bind(null,o.onerror),o.onload=b.bind(null,o.onload),u&&document.head.appendChild(o)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===a&&(a={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(a=trustedTypes.createPolicy("nextjs#bundler",a))),a},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/dashboard/_next/",o={2272:0},d.f.j=function(e,t){var n=d.o(o,e)?o[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=o[e]=[t,r]});t.push(n[2]=r);var c=d.p+d.u(e),a=Error();d.l(c,function(t){if(d.o(o,e)&&(0!==(n=o[e])&&(o[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;a.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",a.name="ChunkLoadError",a.type=r,a.request=c,n[1](a)}},"chunk-"+e,e)}else o[e]=0}},d.O.j=function(e){return 0===o[e]},u=function(e,t){var n,r,c=t[0],a=t[1],u=t[2],f=0;if(c.some(function(e){return 0!==o[e]})){for(n in a)d.o(a,n)&&(d.m[n]=a[n]);if(u)var i=u(d)}for(e&&e(t);f<c.length;f++)r=c[f],d.o(o,r)&&o[r]&&o[r][0](),o[r]=0;return d.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(u.bind(null,0)),f.push=u.bind(null,f.push.bind(f)),d.nc=void 0}();
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8135aba0712bda37.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8135aba0712bda37.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/3947-b059261d6fa88a1f.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-d0dc765474fa0eca.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-909d53833da080cb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-1b39779691bb4030.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-fcfad0ddf92ec7ab.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-044ad21de8b4626b.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-80dea41717729fa5.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-1159f362b960e2b8.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/3947-b059261d6fa88a1f.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-d0dc765474fa0eca.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-13bb52ce3cffa4e3.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-1b39779691bb4030.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-fcfad0ddf92ec7ab.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-044ad21de8b4626b.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-80dea41717729fa5.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-1159f362b960e2b8.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-9744c271a1642f76.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-9744c271a1642f76.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-a2673b256b6d416f.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-a2673b256b6d416f.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-927ddeebe57a8ac3.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-927ddeebe57a8ac3.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-8b0809f59034d509.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-8b0809f59034d509.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-ae9d2f705ce582c9.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-ae9d2f705ce582c9.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-909d53833da080cb.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-c4d5cfac7fbc0668.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-13bb52ce3cffa4e3.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-c4d5cfac7fbc0668.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-5bbdc71878f0a068.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-5bbdc71878f0a068.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-cd43fb3c122eedde.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-cd43fb3c122eedde.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-4ebf6484f7216387.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-4ebf6484f7216387.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-5629d4e551dba1ee.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/3947-b059261d6fa88a1f.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-d0dc765474fa0eca.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-909d53833da080cb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-1b39779691bb4030.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-fcfad0ddf92ec7ab.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-044ad21de8b4626b.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-726e5a3f00b67185.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-7c0187f43757a548.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-162f3033ffcd3d31.js" defer=""></script><script src="/dashboard/_next/static/chunks/5230-df791914b54d91d9.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-5ea3ffa10fc884f2.js" defer=""></script><script src="/dashboard/_next/static/chunks/1664-d65361e92b85e786.js" defer=""></script><script src="/dashboard/_next/static/chunks/804-9f5e98ce84d46bdd.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/3947-b059261d6fa88a1f.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-6ff4e45dfb49d11d.js" defer=""></script><script src="/dashboard/_next/static/chunks/3698-52ad1ca228faa776.js" defer=""></script><script src="/dashboard/_next/static/chunks/9470-21d059a1dfa03f61.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-d0dc765474fa0eca.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-13bb52ce3cffa4e3.js" defer=""></script><script src="/dashboard/_next/static/chunks/1043-1b39779691bb4030.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-fcfad0ddf92ec7ab.js" defer=""></script><script src="/dashboard/_next/static/chunks/938-044ad21de8b4626b.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-726e5a3f00b67185.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-7c0187f43757a548.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-9a81ea998672c303.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-06bde99155fa6292.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/EqELoF4IXcALfWVihInou/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"EqELoF4IXcALfWVihInou","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/0da6afe66176678a.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/0da6afe66176678a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-fd62f17bd9ce1fcc.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-efc06c2733009cd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-c0a4f1ea606d48d2.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-a37b06ddb64521fd.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-06bde99155fa6292.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/P2Di1JdUlHuKN2lBws4Mr/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"P2Di1JdUlHuKN2lBws4Mr","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -240,7 +240,7 @@ def create_table():
240
240
  # is not critical and is likely to be enabled by other processes.
241
241
 
242
242
  # Create tables if they don't exist
243
- Base.metadata.create_all(bind=_SQLALCHEMY_ENGINE)
243
+ db_utils.add_tables_to_db_sqlalchemy(Base.metadata, _SQLALCHEMY_ENGINE)
244
244
 
245
245
  # For backward compatibility.
246
246
  # TODO(zhwu): Remove this function after all users have migrated to
@@ -47,7 +47,7 @@ JOBS_CLUSTER_NAME_PREFIX_LENGTH = 25
47
47
  # The version of the lib files that jobs/utils use. Whenever there is an API
48
48
  # change for the jobs/utils, we need to bump this version and update
49
49
  # job.utils.ManagedJobCodeGen to handle the version update.
50
- MANAGED_JOBS_VERSION = 6
50
+ MANAGED_JOBS_VERSION = 7
51
51
 
52
52
  # The command for setting up the jobs dashboard on the controller. It firstly
53
53
  # checks if the systemd services are available, and if not (e.g., Kubernetes
@@ -14,6 +14,13 @@ from typing import Optional, Tuple
14
14
 
15
15
  import filelock
16
16
 
17
+ # This import ensures backward compatibility. Controller processes may not have
18
+ # imported this module initially, but will attempt to import it during job
19
+ # termination on the fly. If a job was launched with an old SkyPilot runtime
20
+ # and a new job is launched with a newer runtime, the old job's termination
21
+ # will try to import code from a different SkyPilot runtime, causing exceptions.
22
+ # pylint: disable=unused-import
23
+ from sky import core
17
24
  from sky import exceptions
18
25
  from sky import sky_logging
19
26
  from sky.backends import backend_utils
@@ -110,7 +110,8 @@ def _maybe_submit_job_locally(prefix: str, dag: 'sky.Dag') -> Optional[int]:
110
110
  resources_str = backend_utils.get_task_resources_str(
111
111
  task, is_managed_job=True)
112
112
  managed_job_state.set_pending(consolidation_mode_job_id, task_id,
113
- task.name, resources_str)
113
+ task.name, resources_str,
114
+ task.metadata_json)
114
115
  return consolidation_mode_job_id
115
116
 
116
117
 
@@ -0,0 +1,81 @@
1
+ """Utility functions for managed jobs."""
2
+ from sky import backends
3
+ from sky import sky_logging
4
+ from sky.backends import backend_utils
5
+ from sky.jobs import utils as managed_job_utils
6
+ from sky.skylet import constants as skylet_constants
7
+ from sky.utils import controller_utils
8
+
9
+ logger = sky_logging.init_logger(__name__)
10
+
11
+
12
+ def check_version_mismatch_and_non_terminal_jobs() -> None:
13
+ """Check if controller has version mismatch and non-terminal jobs exist.
14
+
15
+ Raises:
16
+ ValueError: If there's a version mismatch and non-terminal jobs exist.
17
+ sky.exceptions.ClusterNotUpError: If the controller is not accessible.
18
+ """
19
+ # Get the current local SKYLET_VERSION
20
+ local_version = skylet_constants.SKYLET_VERSION
21
+
22
+ # Get controller handle (works the same in both normal and
23
+ # consolidation mode)
24
+ jobs_controller_type = controller_utils.Controllers.JOBS_CONTROLLER
25
+ handle = backend_utils.is_controller_accessible(
26
+ controller=jobs_controller_type,
27
+ stopped_message='Jobs controller is not running.')
28
+
29
+ backend = backend_utils.get_backend_from_handle(handle)
30
+ assert isinstance(backend, backends.CloudVmRayBackend)
31
+
32
+ # Get controller version and raw job table
33
+ code = managed_job_utils.ManagedJobCodeGen.get_version_and_job_table()
34
+
35
+ returncode, output, stderr = backend.run_on_head(handle,
36
+ code,
37
+ require_outputs=True,
38
+ stream_logs=False,
39
+ separate_stderr=True)
40
+
41
+ if returncode != 0:
42
+ logger.error(output + stderr)
43
+ raise ValueError('Failed to check controller version and jobs with '
44
+ f'returncode: {returncode}.\n{output + stderr}')
45
+
46
+ # Parse the output to extract controller version (split only on first
47
+ # newline)
48
+ output_parts = output.strip().split('\n', 1)
49
+
50
+ # Extract controller version from first line
51
+ if len(output_parts) < 2 or not output_parts[0].startswith(
52
+ 'controller_version:'):
53
+ raise ValueError(
54
+ f'Expected controller version in first line, got: {output}')
55
+
56
+ controller_version = output_parts[0].split(':', 1)[1]
57
+
58
+ # Rest is job table payload (preserving any newlines within it)
59
+ job_table_payload = output_parts[1]
60
+
61
+ # Process locally: check version match and filter non-terminal jobs
62
+ version_matches = controller_version == local_version
63
+
64
+ # Load and filter jobs locally using existing method
65
+ jobs = managed_job_utils.load_managed_job_queue(job_table_payload)
66
+ non_terminal_jobs = [job for job in jobs if not job['status'].is_terminal()]
67
+ has_non_terminal_jobs = len(non_terminal_jobs) > 0
68
+
69
+ if not version_matches and has_non_terminal_jobs:
70
+ # Format job table locally using the same method as queue()
71
+ formatted_job_table = managed_job_utils.format_job_table(
72
+ non_terminal_jobs, show_all=False, show_user=False)
73
+
74
+ error_msg = (
75
+ f'Controller SKYLET_VERSION ({controller_version}) does not match '
76
+ f'current version ({local_version}), and there are non-terminal '
77
+ 'jobs on the controller. Please wait for all jobs to complete or '
78
+ 'cancel them before launching new jobs with the updated version.'
79
+ f'\n\nCurrent non-terminal jobs:\n{formatted_job_table}')
80
+
81
+ raise ValueError(error_msg)