skypilot-nightly 1.0.0.dev20250902__tar.gz → 1.0.0.dev20250904__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.

Potentially problematic release.


This version of skypilot-nightly might be problematic. Click here for more details.

Files changed (585) hide show
  1. {skypilot_nightly-1.0.0.dev20250902/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250904}/PKG-INFO +34 -34
  2. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/__init__.py +2 -2
  3. skypilot_nightly-1.0.0.dev20250904/sky/adaptors/runpod.py +76 -0
  4. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/backend_utils.py +5 -3
  5. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/cloud_vm_ray_backend.py +7 -2
  6. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/cli/command.py +38 -6
  7. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/sdk.py +22 -1
  8. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/kubernetes.py +1 -1
  9. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/nebius.py +4 -2
  10. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/runpod.py +17 -0
  11. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/404.html +1 -1
  12. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/1121-408ed10b2f9fce17.js +1 -0
  13. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/7205-88191679e7988c57.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js +4 -9
  14. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/3015-86cabed5d4669ad0.js +1 -0
  15. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/3294.c80326aec9bfed40.js +6 -0
  16. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/3785.d5b86f6ebc88e6e6.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/3785.4872a2f3aa489880.js +1 -1
  17. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/4783.c485f48348349f47.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/5339.3fda4a4010ff4e06.js +4 -9
  18. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/9946.3b7b43c217ff70ec.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js +4 -9
  19. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/6856-66e696640347e77b.js +1 -0
  20. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +6 -0
  21. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/9037-1c0101b86582136f.js +6 -0
  22. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-39c9bd4cdb7e5a57.js +16 -0
  23. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-a0527109c2fab467.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-0b4b35dc1dfe046c.js +2 -7
  24. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-81351f95f3bec08e.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-6563820e094f68ca.js +1 -1
  25. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/infra-c320641c2bcbbea6.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/infra-aabba60d57826e0f.js +1 -1
  26. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js +1 -0
  27. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-de06e613e20bc977.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js +1 -1
  28. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/workspaces-be35b22e2046564c.js → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/pages/workspaces-7598c33a746cdc91.js +1 -1
  29. skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/chunks/webpack-24c4fc6d30ce0193.js +1 -0
  30. {skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/tio0QibqY2C0F2-rPy00p → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/mriHUOVL_Ht-CeW-e7saa}/_buildManifest.js +1 -1
  31. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  32. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/clusters/[cluster].html +1 -1
  33. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/clusters.html +1 -1
  34. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/config.html +1 -1
  35. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/index.html +1 -1
  36. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/infra/[context].html +1 -1
  37. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/infra.html +1 -1
  38. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/jobs/[job].html +1 -1
  39. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
  40. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/jobs.html +1 -1
  41. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/users.html +1 -1
  42. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/volumes.html +1 -1
  43. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/workspace/new.html +1 -1
  44. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/workspaces/[name].html +1 -1
  45. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/workspaces.html +1 -1
  46. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/data/mounting_utils.py +29 -38
  47. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/global_user_state.py +16 -1
  48. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/state.py +1 -1
  49. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/models.py +1 -0
  50. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/instance.py +10 -3
  51. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/__init__.py +3 -0
  52. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/instance.py +17 -0
  53. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/utils.py +23 -5
  54. skypilot_nightly-1.0.0.dev20250904/sky/provision/runpod/volume.py +158 -0
  55. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/serve_state.py +1 -1
  56. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/config.py +31 -3
  57. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/executor.py +9 -3
  58. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/payloads.py +7 -1
  59. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/preconditions.py +8 -7
  60. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/requests.py +132 -57
  61. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/server.py +48 -38
  62. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/stream_utils.py +14 -6
  63. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/uvicorn.py +11 -4
  64. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/constants.py +1 -1
  65. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skypilot_config.py +21 -9
  66. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/ssh_node_pools/server.py +5 -5
  67. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/kubernetes-ray.yml.j2 +5 -5
  68. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/runpod-ray.yml.j2 +8 -0
  69. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/users/server.py +18 -15
  70. skypilot_nightly-1.0.0.dev20250904/sky/utils/benchmark_utils.py +60 -0
  71. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/command_runner.py +4 -0
  72. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/db/db_utils.py +58 -1
  73. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/db/migration_utils.py +0 -16
  74. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/resource_checker.py +6 -5
  75. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/schemas.py +1 -1
  76. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/volume.py +3 -0
  77. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/volumes/client/sdk.py +28 -0
  78. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/volumes/server/server.py +11 -1
  79. skypilot_nightly-1.0.0.dev20250904/sky/volumes/utils.py +224 -0
  80. skypilot_nightly-1.0.0.dev20250904/sky/volumes/volume.py +203 -0
  81. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904/skypilot_nightly.egg-info}/PKG-INFO +34 -34
  82. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/skypilot_nightly.egg-info/SOURCES.txt +23 -20
  83. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_api.py +14 -1
  84. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_cli.py +3 -2
  85. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_smoke.py +1 -0
  86. skypilot_nightly-1.0.0.dev20250904/tests/test_ssh_proxy_lag.py +961 -0
  87. skypilot_nightly-1.0.0.dev20250902/sky/adaptors/runpod.py +0 -8
  88. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/1121-8afcf719ea87debc.js +0 -1
  89. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/3015-8089ed1e0b7e37fd.js +0 -1
  90. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/6856-049014c6d43d127b.js +0 -1
  91. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js +0 -6
  92. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/9037-89a84fd7fa31362d.js +0 -6
  93. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/9984.7eb6cc51fb460cae.js +0 -6
  94. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-06afb50d25f7c61f.js +0 -16
  95. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/pages/jobs-7421e63ac35f8fce.js +0 -1
  96. skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/chunks/webpack-0eaa6f7e63f51311.js +0 -1
  97. skypilot_nightly-1.0.0.dev20250902/sky/volumes/utils.py +0 -175
  98. skypilot_nightly-1.0.0.dev20250902/sky/volumes/volume.py +0 -144
  99. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/LICENSE +0 -0
  100. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/MANIFEST.in +0 -0
  101. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/README.md +0 -0
  102. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/pyproject.toml +0 -0
  103. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/setup.cfg +0 -0
  104. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/setup.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/__init__.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/aws.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/azure.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/cloudflare.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/common.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/cudo.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/do.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/docker.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/gcp.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/hyperbolic.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/ibm.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/kubernetes.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/nebius.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/oci.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/vast.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/adaptors/vsphere.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/admin_policy.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/authentication.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/__init__.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/backend.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/docker_utils.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/local_docker_backend.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/backends/wheel_utils.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/__init__.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/aws_catalog.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/azure_catalog.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/common.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/config.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/cudo_catalog.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/__init__.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/analyze.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/do_catalog.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/fluidstack_catalog.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/gcp_catalog.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/hyperbolic_catalog.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/ibm_catalog.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/kubernetes_catalog.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/lambda_catalog.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/nebius_catalog.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/oci_catalog.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/paperspace_catalog.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/runpod_catalog.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/scp_catalog.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/ssh_catalog.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/vast_catalog.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/catalog/vsphere_catalog.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/check.py +0 -0
  164. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/cli.py +0 -0
  165. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/__init__.py +0 -0
  166. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/cli/__init__.py +0 -0
  167. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/cli/deprecation_utils.py +0 -0
  168. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/cli/flags.py +0 -0
  169. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/cli/git.py +0 -0
  170. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/common.py +0 -0
  171. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/oauth.py +0 -0
  172. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/sdk_async.py +0 -0
  173. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/client/service_account_auth.py +0 -0
  174. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/cloud_stores.py +0 -0
  175. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/__init__.py +0 -0
  176. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/aws.py +0 -0
  177. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/azure.py +0 -0
  178. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/cloud.py +0 -0
  179. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/cudo.py +0 -0
  180. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/do.py +0 -0
  181. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/fluidstack.py +0 -0
  182. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/gcp.py +0 -0
  183. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/hyperbolic.py +0 -0
  184. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/ibm.py +0 -0
  185. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/lambda_cloud.py +0 -0
  186. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/oci.py +0 -0
  187. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/paperspace.py +0 -0
  188. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/scp.py +0 -0
  189. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/ssh.py +0 -0
  190. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/utils/__init__.py +0 -0
  191. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/utils/aws_utils.py +0 -0
  192. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/utils/azure_utils.py +0 -0
  193. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/utils/gcp_utils.py +0 -0
  194. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/utils/oci_utils.py +0 -0
  195. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/utils/scp_utils.py +0 -0
  196. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/vast.py +0 -0
  197. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/clouds/vsphere.py +0 -0
  198. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/core.py +0 -0
  199. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dag.py +0 -0
  200. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/1141-943efc7aff0f0c06.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  202. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
  203. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
  204. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
  205. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -0
  206. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -0
  207. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
  208. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
  209. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
  210. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
  211. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
  212. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
  213. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
  214. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/6990-08b2a1cae076a943.js +0 -0
  215. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -0
  216. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
  217. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -0
  218. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -0
  219. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/8969-4a6f1a928fb6d370.js +0 -0
  220. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
  221. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
  222. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
  223. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
  224. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
  225. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  226. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -0
  227. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
  228. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
  229. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +0 -0
  230. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js +0 -0
  231. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -0
  232. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -0
  233. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
  234. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  235. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
  236. {skypilot_nightly-1.0.0.dev20250902/sky/dashboard/out/_next/static/tio0QibqY2C0F2-rPy00p → skypilot_nightly-1.0.0.dev20250904/sky/dashboard/out/_next/static/mriHUOVL_Ht-CeW-e7saa}/_ssgManifest.js +0 -0
  237. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/favicon.ico +0 -0
  238. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/skypilot.svg +0 -0
  239. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  240. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/data/__init__.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/data/data_transfer.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/data/data_utils.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/data/storage.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/data/storage_utils.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/exceptions.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/execution.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/__init__.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/client/__init__.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/client/sdk.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/client/sdk_async.py +0 -0
  251. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/constants.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/controller.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/recovery_strategy.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/scheduler.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/server/__init__.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/server/core.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/server/server.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/server/utils.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/jobs/utils.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/logs/__init__.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/logs/agent.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/logs/aws.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/logs/gcp.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/metrics/__init__.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/metrics/utils.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/optimizer.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/__init__.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/aws/__init__.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/aws/config.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/aws/instance.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/aws/utils.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/azure/__init__.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/azure/azure-config-template.json +0 -0
  274. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/azure/config.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/azure/instance.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/common.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/constants.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/cudo/__init__.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/cudo/config.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/cudo/cudo_machine_type.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/cudo/cudo_utils.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/cudo/cudo_wrapper.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/cudo/instance.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/do/__init__.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/do/config.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/do/constants.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/do/instance.py +0 -0
  288. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/do/utils.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/docker_utils.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/fluidstack/__init__.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/fluidstack/config.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/fluidstack/instance.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/__init__.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/config.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/constants.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/instance.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/instance_utils.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/mig_utils.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/gcp/volume_utils.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/hyperbolic/__init__.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/hyperbolic/config.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/hyperbolic/instance.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/hyperbolic/utils.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/instance_setup.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/__init__.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/config.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/constants.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  310. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/network.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/network_utils.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/utils.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/kubernetes/volume.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/lambda_cloud/__init__.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/lambda_cloud/config.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/lambda_cloud/instance.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/logging.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/metadata_utils.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/nebius/__init__.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/nebius/config.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/nebius/constants.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/nebius/instance.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/nebius/utils.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/oci/__init__.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/oci/config.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/oci/instance.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/oci/query_utils.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/paperspace/__init__.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/paperspace/config.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/paperspace/constants.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/paperspace/instance.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/paperspace/utils.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/provisioner.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/api/__init__.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/api/commands.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/api/pods.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/runpod/config.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/scp/__init__.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/scp/config.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/scp/instance.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/ssh/__init__.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vast/__init__.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vast/config.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vast/instance.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vast/utils.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/__init__.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/__init__.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  351. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/custom_script.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/id_generator.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/service_manager.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  356. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/common/vim_utils.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/config.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/instance.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/provision/vsphere/vsphere_utils.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/py.typed +0 -0
  363. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/resources.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/__init__.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/api/__init__.py +0 -0
  366. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/api/responses.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/README +0 -0
  368. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/env.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
  373. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
  376. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/script.py.mako +0 -0
  377. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
  379. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/generated/__init__.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/generated/autostopv1_pb2.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
  384. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/__init__.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/autoscalers.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/client/__init__.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/client/impl.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/client/sdk.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/client/sdk_async.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/constants.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/controller.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/load_balancer.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/load_balancing_policies.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/replica_managers.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/serve_utils.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/server/__init__.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/server/core.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/server/impl.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/server/server.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/service.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/service_spec.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/serve/spot_placer.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/__init__.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/auth/__init__.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/auth/authn.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/auth/oauth2_proxy.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/common.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/constants.py +0 -0
  410. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/daemons.py +0 -0
  411. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/html/log.html +0 -0
  412. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/html/token_page.html +0 -0
  413. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/metrics.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/__init__.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/event_loop.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/process.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/queues/__init__.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/queues/local_queue.py +0 -0
  419. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/queues/mp_queue.py +0 -0
  420. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/serializers/__init__.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/serializers/decoders.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/requests/serializers/encoders.py +0 -0
  423. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/rest.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/state.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/server/versions.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/setup_files/MANIFEST.in +0 -0
  427. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/setup_files/alembic.ini +0 -0
  428. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/setup_files/dependencies.py +0 -0
  429. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/setup_files/setup.py +0 -0
  430. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/sky_logging.py +0 -0
  431. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/LICENSE +0 -0
  432. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/__init__.py +0 -0
  433. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/attempt_skylet.py +0 -0
  434. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/autostop_lib.py +0 -0
  435. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/configs.py +0 -0
  436. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/events.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/job_lib.py +0 -0
  438. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/log_lib.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/log_lib.pyi +0 -0
  440. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/providers/__init__.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/providers/command_runner.py +0 -0
  442. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/providers/ibm/__init__.py +0 -0
  443. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/providers/ibm/node_provider.py +0 -0
  444. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/providers/ibm/utils.py +0 -0
  445. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  446. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/__init__.py +0 -0
  447. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
  448. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  449. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/cli.py.diff +0 -0
  450. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/cli.py.patch +0 -0
  451. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
  452. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  453. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
  454. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  455. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
  456. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  457. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/updater.py.diff +0 -0
  458. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/updater.py.patch +0 -0
  459. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/worker.py.diff +0 -0
  460. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/ray_patches/worker.py.patch +0 -0
  461. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/services.py +0 -0
  462. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/skylet.py +0 -0
  463. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/skylet/subprocess_daemon.py +0 -0
  464. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/ssh_node_pools/__init__.py +0 -0
  465. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/ssh_node_pools/core.py +0 -0
  466. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/task.py +0 -0
  467. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/aws-ray.yml.j2 +0 -0
  468. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/azure-ray.yml.j2 +0 -0
  469. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/cudo-ray.yml.j2 +0 -0
  470. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/do-ray.yml.j2 +0 -0
  471. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  472. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/gcp-ray.yml.j2 +0 -0
  473. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  474. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/ibm-ray.yml.j2 +0 -0
  475. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/jobs-controller.yaml.j2 +0 -0
  476. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  477. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  478. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  479. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  480. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/lambda-ray.yml.j2 +0 -0
  481. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/local-ray.yml.j2 +0 -0
  482. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/nebius-ray.yml.j2 +0 -0
  483. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/oci-ray.yml.j2 +0 -0
  484. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/paperspace-ray.yml.j2 +0 -0
  485. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/scp-ray.yml.j2 +0 -0
  486. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  487. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  488. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/vast-ray.yml.j2 +0 -0
  489. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/vsphere-ray.yml.j2 +0 -0
  490. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/templates/websocket_proxy.py +0 -0
  491. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/usage/__init__.py +0 -0
  492. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/usage/constants.py +0 -0
  493. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/usage/usage_lib.py +0 -0
  494. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/users/__init__.py +0 -0
  495. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/users/model.conf +0 -0
  496. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/users/permission.py +0 -0
  497. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/users/rbac.py +0 -0
  498. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/users/token_service.py +0 -0
  499. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/__init__.py +0 -0
  500. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/accelerator_registry.py +0 -0
  501. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/admin_policy_utils.py +0 -0
  502. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/annotations.py +0 -0
  503. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/atomic.py +0 -0
  504. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/aws/__init__.py +0 -0
  505. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/aws/get_default_security_group.py +0 -0
  506. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/cli_utils/__init__.py +0 -0
  507. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/cli_utils/status_utils.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/cluster_utils.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/command_runner.pyi +0 -0
  510. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/common.py +0 -0
  511. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/common_utils.py +0 -0
  512. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/config_utils.py +0 -0
  513. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/context.py +0 -0
  514. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/context_utils.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/control_master_utils.py +0 -0
  516. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/controller_utils.py +0 -0
  517. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/dag_utils.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/db/__init__.py +0 -0
  519. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/directory_utils.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/env_options.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/git.py +0 -0
  522. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/git_clone.sh +0 -0
  523. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/infra_utils.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/__init__.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  526. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/config_map_utils.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/create_cluster.sh +0 -0
  528. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  529. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  531. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  532. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  533. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  534. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  535. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  536. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
  537. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  538. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  539. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  540. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes/ssh_utils.py +0 -0
  541. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/kubernetes_enums.py +0 -0
  542. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/lock_events.py +0 -0
  543. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/locks.py +0 -0
  544. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/log_utils.py +0 -0
  545. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/message_utils.py +0 -0
  546. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/perf_utils.py +0 -0
  547. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/registry.py +0 -0
  548. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/resources_utils.py +0 -0
  549. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/rich_console_utils.py +0 -0
  550. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/rich_utils.py +0 -0
  551. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/serialize_utils.py +0 -0
  552. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/status_lib.py +0 -0
  553. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/subprocess_utils.py +0 -0
  554. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/tempstore.py +0 -0
  555. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/timeline.py +0 -0
  556. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/ux_utils.py +0 -0
  557. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/validator.py +0 -0
  558. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/utils/yaml_utils.py +0 -0
  559. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/volumes/__init__.py +0 -0
  560. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/volumes/client/__init__.py +0 -0
  561. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/volumes/server/__init__.py +0 -0
  562. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/volumes/server/core.py +0 -0
  563. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/workspaces/__init__.py +0 -0
  564. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/workspaces/core.py +0 -0
  565. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/workspaces/server.py +0 -0
  566. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/sky/workspaces/utils.py +0 -0
  567. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  568. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  569. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/skypilot_nightly.egg-info/requires.txt +33 -33
  570. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/skypilot_nightly.egg-info/top_level.txt +0 -0
  571. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_api_compatibility.py +0 -0
  572. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_config.py +0 -0
  573. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_db_utils.py +0 -0
  574. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_failover.py +0 -0
  575. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_global_user_state.py +0 -0
  576. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_jobs.py +0 -0
  577. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_jobs_and_serve.py +0 -0
  578. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_list_accelerators.py +0 -0
  579. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_no_parellel.py +0 -0
  580. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_optimizer_dryruns.py +0 -0
  581. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_optimizer_random_dag.py +0 -0
  582. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_serve_autoscaler.py +0 -0
  583. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_storage.py +0 -0
  584. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/tests/test_wheels.py +0 -0
  585. {skypilot_nightly-1.0.0.dev20250902 → skypilot_nightly-1.0.0.dev20250904}/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.dev20250902
3
+ Version: 1.0.0.dev20250904
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -145,48 +145,48 @@ Requires-Dist: grpcio>=1.63.0; extra == "server"
145
145
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
146
146
  Requires-Dist: aiosqlite; extra == "server"
147
147
  Provides-Extra: all
148
- Requires-Dist: casbin; extra == "all"
149
148
  Requires-Dist: azure-cli>=2.65.0; extra == "all"
150
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
151
- Requires-Dist: azure-common; extra == "all"
152
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
153
- Requires-Dist: sqlalchemy_adapter; extra == "all"
154
- Requires-Dist: ibm-vpc; extra == "all"
155
- Requires-Dist: azure-core>=1.31.0; extra == "all"
156
- Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
157
- Requires-Dist: msrestazure; extra == "all"
149
+ Requires-Dist: pydo>=0.3.0; extra == "all"
150
+ Requires-Dist: aiohttp; extra == "all"
151
+ Requires-Dist: oci; extra == "all"
158
152
  Requires-Dist: anyio; extra == "all"
159
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
160
- Requires-Dist: awscli>=1.27.10; extra == "all"
153
+ Requires-Dist: azure-common; extra == "all"
154
+ Requires-Dist: docker; extra == "all"
155
+ Requires-Dist: passlib; extra == "all"
156
+ Requires-Dist: websockets; extra == "all"
157
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
158
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
159
+ Requires-Dist: nebius>=0.2.47; extra == "all"
160
+ Requires-Dist: casbin; extra == "all"
161
+ Requires-Dist: botocore>=1.29.10; extra == "all"
161
162
  Requires-Dist: ibm-cos-sdk; extra == "all"
162
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
163
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
163
164
  Requires-Dist: msgraph-sdk; extra == "all"
164
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
165
- Requires-Dist: oci; extra == "all"
166
- Requires-Dist: grpcio>=1.63.0; extra == "all"
167
- Requires-Dist: docker; extra == "all"
168
- Requires-Dist: aiosqlite; extra == "all"
165
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
166
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
169
167
  Requires-Dist: pyjwt; extra == "all"
170
168
  Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
171
- Requires-Dist: aiohttp; extra == "all"
169
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
170
+ Requires-Dist: aiosqlite; extra == "all"
171
+ Requires-Dist: ibm-vpc; extra == "all"
172
+ Requires-Dist: boto3>=1.26.1; extra == "all"
173
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
172
174
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
173
- Requires-Dist: google-cloud-storage; extra == "all"
174
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
175
175
  Requires-Dist: runpod>=1.6.1; extra == "all"
176
- Requires-Dist: pydo>=0.3.0; extra == "all"
177
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
178
- Requires-Dist: python-dateutil; extra == "all"
179
- Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
180
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
181
- Requires-Dist: azure-core>=1.24.0; extra == "all"
182
- Requires-Dist: websockets; extra == "all"
176
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
177
+ Requires-Dist: msrestazure; extra == "all"
178
+ Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
179
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
180
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
181
+ Requires-Dist: awscli>=1.27.10; extra == "all"
183
182
  Requires-Dist: colorama<0.4.5; extra == "all"
184
- Requires-Dist: passlib; extra == "all"
185
- Requires-Dist: boto3>=1.26.1; extra == "all"
186
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
187
- Requires-Dist: botocore>=1.29.10; extra == "all"
188
- Requires-Dist: nebius>=0.2.47; extra == "all"
189
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
183
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
184
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
185
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
186
+ Requires-Dist: ray[default]!=2.6.0,>=2.2.0; extra == "all"
187
+ Requires-Dist: google-cloud-storage; extra == "all"
188
+ Requires-Dist: python-dateutil; extra == "all"
189
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
190
190
  Dynamic: author
191
191
  Dynamic: classifier
192
192
  Dynamic: description
@@ -7,7 +7,7 @@ import urllib.request
7
7
  from sky.utils import directory_utils
8
8
 
9
9
  # Replaced with the current commit when building the wheels.
10
- _SKYPILOT_COMMIT_SHA = 'd487b48638b09f84733f98c358c6a0a624de7837'
10
+ _SKYPILOT_COMMIT_SHA = '124316eff72bca5c7669d0ca2443c3ce61d65d30'
11
11
 
12
12
 
13
13
  def _get_git_commit():
@@ -37,7 +37,7 @@ def _get_git_commit():
37
37
 
38
38
 
39
39
  __commit__ = _get_git_commit()
40
- __version__ = '1.0.0.dev20250902'
40
+ __version__ = '1.0.0.dev20250904'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -0,0 +1,76 @@
1
+ """RunPod cloud adaptor."""
2
+
3
+ import os
4
+ import time
5
+ from typing import Any, Dict, Optional
6
+
7
+ from sky.adaptors import common
8
+
9
+ runpod = common.LazyImport(
10
+ 'runpod',
11
+ import_error_message='Failed to import dependencies for RunPod. '
12
+ 'Try running: pip install "skypilot[runpod]"')
13
+
14
+ # Lazy imports
15
+ requests = common.LazyImport('requests')
16
+
17
+ _REST_BASE = 'https://rest.runpod.io/v1'
18
+ _MAX_RETRIES = 3
19
+ _TIMEOUT = 10
20
+
21
+
22
+ def _get_api_key() -> str:
23
+ api_key = getattr(runpod, 'api_key', None)
24
+ if not api_key:
25
+ # Fallback to env if SDK global not set
26
+ api_key = os.environ.get('RUNPOD_API_KEY')
27
+ if not api_key:
28
+ raise RuntimeError(
29
+ 'RunPod API key is not set. Please set runpod.api_key '
30
+ 'or RUNPOD_API_KEY.')
31
+ return str(api_key)
32
+
33
+
34
+ def rest_request(method: str,
35
+ path: str,
36
+ json: Optional[Dict[str, Any]] = None) -> Any:
37
+ url = f'{_REST_BASE}{path}'
38
+ headers = {
39
+ 'Authorization': f'Bearer {_get_api_key()}',
40
+ 'Content-Type': 'application/json',
41
+ }
42
+ attempt = 0
43
+ while True:
44
+ attempt += 1
45
+ try:
46
+ resp = requests.request(method,
47
+ url,
48
+ headers=headers,
49
+ json=json,
50
+ timeout=_TIMEOUT)
51
+ except Exception as e: # pylint: disable=broad-except
52
+ # Retry on transient network errors
53
+ if attempt >= _MAX_RETRIES:
54
+ raise RuntimeError(f'RunPod REST network error: {e}') from e
55
+ time.sleep(1)
56
+ continue
57
+
58
+ # Retry on 5xx and 429
59
+ if resp.status_code >= 500 or resp.status_code == 429:
60
+ if attempt >= _MAX_RETRIES:
61
+ raise RuntimeError(
62
+ f'RunPod REST error {resp.status_code}: {resp.text}')
63
+ time.sleep(1)
64
+ continue
65
+
66
+ if resp.status_code >= 400:
67
+ # Non-retryable client error
68
+ raise RuntimeError(
69
+ f'RunPod REST error {resp.status_code}: {resp.text}')
70
+
71
+ if resp.text:
72
+ try:
73
+ return resp.json()
74
+ except Exception: # pylint: disable=broad-except
75
+ return resp.text
76
+ return None
@@ -810,6 +810,7 @@ def write_cluster_config(
810
810
  'name': vol.volume_name,
811
811
  'path': vol.path,
812
812
  'volume_name_on_cloud': vol.volume_config.name_on_cloud,
813
+ 'volume_id_on_cloud': vol.volume_config.id_on_cloud,
813
814
  })
814
815
 
815
816
  runcmd = skypilot_config.get_effective_region_config(
@@ -3098,9 +3099,10 @@ def get_clusters(
3098
3099
  # Refactor this to use some other info to
3099
3100
  # determine if a launch is in progress.
3100
3101
  request = requests_lib.get_request_tasks(
3101
- status=[requests_lib.RequestStatus.RUNNING],
3102
- cluster_names=[cluster_name],
3103
- include_request_names=['sky.launch'])
3102
+ req_filter=requests_lib.RequestTaskFilter(
3103
+ status=[requests_lib.RequestStatus.RUNNING],
3104
+ cluster_names=[cluster_name],
3105
+ include_request_names=['sky.launch']))
3104
3106
  if len(request) > 0:
3105
3107
  # There is an active launch request on the cluster,
3106
3108
  # so we don't want to update the cluster status until
@@ -639,7 +639,12 @@ class RayCodeGen:
639
639
  # CACHED_MOUNT mode is uploaded to remote.
640
640
  rclone_flush_script = textwrap.dedent(f"""\
641
641
 
642
- if [ $(findmnt -t fuse.rclone --noheading | wc -l) -gt 0 ]; then
642
+ # Only waits if cached mount is enabled (RCLONE_MOUNT_CACHED_LOG_DIR is not empty)
643
+ # findmnt alone is not enough, as some clouds (e.g. AWS on ARM64) uses
644
+ # rclone for normal mounts as well.
645
+ if [ $(findmnt -t fuse.rclone --noheading | wc -l) -gt 0 ] && \
646
+ [ -d {constants.RCLONE_MOUNT_CACHED_LOG_DIR} ] && \
647
+ [ "$(ls -A {constants.RCLONE_MOUNT_CACHED_LOG_DIR})" ]; then
643
648
  flushed=0
644
649
  # extra second on top of --vfs-cache-poll-interval to
645
650
  # avoid race condition between rclone log line creation and this check.
@@ -648,7 +653,7 @@ class RayCodeGen:
648
653
  # sleep for the same interval as --vfs-cache-poll-interval
649
654
  sleep {constants.RCLONE_CACHE_REFRESH_INTERVAL}
650
655
  flushed=1
651
- for file in {constants.RCLONE_LOG_DIR}/*; do
656
+ for file in {constants.RCLONE_MOUNT_CACHED_LOG_DIR}/*; do
652
657
  exitcode=0
653
658
  tac $file | grep "vfs cache: cleaned:" -m 1 | grep "in use 0, to upload 0, uploading 0" -q || exitcode=$?
654
659
  if [ $exitcode -ne 0 ]; then
@@ -4245,14 +4245,13 @@ def volumes_apply(
4245
4245
  f'{entrypoint_str!r} needs to be a YAML file')
4246
4246
  if yaml_config is not None:
4247
4247
  volume_config_dict = yaml_config.copy()
4248
+ override_config = _build_volume_override_config(name, infra, type, size)
4249
+ volume_config_dict.update(override_config)
4248
4250
 
4249
4251
  # Create Volume instance
4250
- volume = volume_lib.Volume.from_dict(volume_config_dict)
4252
+ volume = volume_lib.Volume.from_yaml_config(volume_config_dict)
4251
4253
 
4252
- # Normalize the volume config with CLI options
4253
- volume.normalize_config(name=name, infra=infra, type=type, size=size)
4254
-
4255
- logger.debug(f'Volume config: {volume.to_dict()}')
4254
+ logger.debug(f'Volume config: {volume.to_yaml_config()}')
4256
4255
 
4257
4256
  if not yes:
4258
4257
  click.confirm(f'Proceed to create volume {volume.name!r}?',
@@ -4270,6 +4269,22 @@ def volumes_apply(
4270
4269
  f'{colorama.Style.RESET_ALL}')
4271
4270
 
4272
4271
 
4272
+ def _build_volume_override_config(name: Optional[str], infra: Optional[str],
4273
+ volume_type: Optional[str],
4274
+ size: Optional[str]) -> Dict[str, str]:
4275
+ """Parse the volume override config."""
4276
+ override_config = {}
4277
+ if name is not None:
4278
+ override_config['name'] = name
4279
+ if infra is not None:
4280
+ override_config['infra'] = infra
4281
+ if volume_type is not None:
4282
+ override_config['type'] = volume_type
4283
+ if size is not None:
4284
+ override_config['size'] = size
4285
+ return override_config
4286
+
4287
+
4273
4288
  @volumes.command('ls', cls=_DocumentedCodeCommand)
4274
4289
  @flags.config_option(expose_value=False)
4275
4290
  @click.option('--verbose',
@@ -6247,11 +6262,28 @@ def api_info():
6247
6262
  # Print client version and commit.
6248
6263
  click.echo(f'SkyPilot client version: {sky.__version__}, '
6249
6264
  f'commit: {sky.__commit__}')
6265
+
6266
+ config = skypilot_config.get_user_config()
6267
+ config = dict(config)
6268
+
6269
+ # Determine where the endpoint is set.
6270
+ if constants.SKY_API_SERVER_URL_ENV_VAR in os.environ:
6271
+ location = ('Endpoint set via the environment variable '
6272
+ f'{constants.SKY_API_SERVER_URL_ENV_VAR}')
6273
+ elif 'endpoint' in config.get('api_server', {}):
6274
+ config_path = skypilot_config.resolve_user_config_path()
6275
+ if config_path is None:
6276
+ location = 'Endpoint set to default local API server.'
6277
+ else:
6278
+ location = f'Endpoint set via {config_path}'
6279
+ else:
6280
+ location = 'Endpoint set to default local API server.'
6250
6281
  click.echo(f'Using SkyPilot API server and dashboard: {url}\n'
6251
6282
  f'{ux_utils.INDENT_SYMBOL}Status: {api_server_info.status}, '
6252
6283
  f'commit: {api_server_info.commit}, '
6253
6284
  f'version: {api_server_info.version}\n'
6254
- f'{ux_utils.INDENT_LAST_SYMBOL}User: {user.name} ({user.id})')
6285
+ f'{ux_utils.INDENT_SYMBOL}User: {user.name} ({user.id})\n'
6286
+ f'{ux_utils.INDENT_LAST_SYMBOL}{location}')
6255
6287
 
6256
6288
 
6257
6289
  @cli.group(cls=_NaturalOrderGroup)
@@ -2366,7 +2366,10 @@ def _clear_api_server_config() -> None:
2366
2366
 
2367
2367
  config = skypilot_config.get_user_config()
2368
2368
  config = dict(config)
2369
- del config['api_server']
2369
+ if 'api_server' in config:
2370
+ # We might not have set the endpoint in the config file, so we
2371
+ # need to check before deleting.
2372
+ del config['api_server']
2370
2373
 
2371
2374
  yaml_utils.dump_yaml(str(config_path), config, blank=True)
2372
2375
  skypilot_config.reload_config()
@@ -2383,6 +2386,20 @@ def _validate_endpoint(endpoint: Optional[str]) -> str:
2383
2386
  return endpoint.rstrip('/')
2384
2387
 
2385
2388
 
2389
+ def _check_endpoint_in_env_var(is_login: bool) -> None:
2390
+ # If the user has set the endpoint via the environment variable, we should
2391
+ # not do anything as we can't disambiguate between the env var and the
2392
+ # config file.
2393
+ """Check if the endpoint is set in the environment variable."""
2394
+ if constants.SKY_API_SERVER_URL_ENV_VAR in os.environ:
2395
+ with ux_utils.print_exception_no_traceback():
2396
+ action = 'login to' if is_login else 'logout of'
2397
+ raise RuntimeError(f'Cannot {action} API server when the endpoint '
2398
+ 'is set via the environment variable. Run unset '
2399
+ f'{constants.SKY_API_SERVER_URL_ENV_VAR} to '
2400
+ 'clear the environment variable.')
2401
+
2402
+
2386
2403
  @usage_lib.entrypoint
2387
2404
  @annotations.client_api
2388
2405
  def api_login(endpoint: Optional[str] = None,
@@ -2405,6 +2422,8 @@ def api_login(endpoint: Optional[str] = None,
2405
2422
  Returns:
2406
2423
  None
2407
2424
  """
2425
+ _check_endpoint_in_env_var(is_login=True)
2426
+
2408
2427
  # Validate and normalize endpoint
2409
2428
  endpoint = _validate_endpoint(endpoint)
2410
2429
 
@@ -2639,6 +2658,8 @@ def api_logout() -> None:
2639
2658
  """Logout of the API server.
2640
2659
 
2641
2660
  Clears all cookies and settings stored in ~/.sky/config.yaml"""
2661
+ _check_endpoint_in_env_var(is_login=False)
2662
+
2642
2663
  if server_common.is_api_server_local():
2643
2664
  with ux_utils.print_exception_no_traceback():
2644
2665
  raise RuntimeError('Local api server cannot be logged out. '
@@ -1005,7 +1005,7 @@ class Kubernetes(clouds.Cloud):
1005
1005
 
1006
1006
  all_contexts = kubernetes_utils.get_all_kube_context_names()
1007
1007
 
1008
- if region not in all_contexts:
1008
+ if region and region not in all_contexts:
1009
1009
  raise ValueError(
1010
1010
  f'Context {region} not found in kubeconfig. Kubernetes only '
1011
1011
  'supports context names as regions. Available '
@@ -57,7 +57,8 @@ class Nebius(clouds.Cloud):
57
57
  clouds.CloudImplementationFeatures.CUSTOM_DISK_TIER:
58
58
  (f'Custom disk tier is currently not supported on {_REPR}.'),
59
59
  clouds.CloudImplementationFeatures.CUSTOM_NETWORK_TIER:
60
- ('Custom network tier is currently not supported on Nebius.'),
60
+ ('Custom network tier is currently only supported for '
61
+ 'H100:8 and H200:8 on Nebius.'),
61
62
  clouds.CloudImplementationFeatures.HIGH_AVAILABILITY_CONTROLLERS:
62
63
  ('High availability controllers are not supported on Nebius.'),
63
64
  clouds.CloudImplementationFeatures.CUSTOM_MULTI_NETWORK:
@@ -86,7 +87,8 @@ class Nebius(clouds.Cloud):
86
87
  for acc_name, acc_count in resources.accelerators.items():
87
88
  if acc_name.lower() in ('h100', 'h200') and acc_count == 8:
88
89
  # Remove CUSTOM_NETWORK_TIER from unsupported features for
89
- # InfiniBand-capable accelerators
90
+ # InfiniBand-capable accelerators. Refer to:
91
+ # https://docs.nebius.com/compute/clusters/gpu#fabrics
90
92
  unsupported.pop(
91
93
  clouds.CloudImplementationFeatures.CUSTOM_NETWORK_TIER,
92
94
  None)
@@ -44,6 +44,7 @@ class RunPod(clouds.Cloud):
44
44
  'RunPod.'),
45
45
  }
46
46
  _MAX_CLUSTER_NAME_LEN_LIMIT = 120
47
+ _MAX_VOLUME_NAME_LEN_LIMIT = 30
47
48
  _regions: List[clouds.Region] = []
48
49
 
49
50
  PROVISIONER_VERSION = clouds.ProvisionerVersion.SKYPILOT
@@ -179,6 +180,10 @@ class RunPod(clouds.Cloud):
179
180
  del dryrun, cluster_name # unused
180
181
  assert zones is not None, (region, zones)
181
182
 
183
+ if volume_mounts and len(volume_mounts) > 1:
184
+ raise ValueError(f'RunPod only supports one network volume mount, '
185
+ f'but {len(volume_mounts)} are specified.')
186
+
182
187
  zone_names = [zone.name for zone in zones]
183
188
 
184
189
  resources = resources.assert_launchable()
@@ -323,3 +328,15 @@ class RunPod(clouds.Cloud):
323
328
  # TODO: use 0.0 for now to allow all images. We should change this to
324
329
  # return the docker image size.
325
330
  return 0.0
331
+
332
+ @classmethod
333
+ def is_volume_name_valid(cls,
334
+ volume_name: str) -> Tuple[bool, Optional[str]]:
335
+ """Validates that the volume name is valid for this cloud.
336
+
337
+ - must be <= 30 characters
338
+ """
339
+ if len(volume_name) > cls._MAX_VOLUME_NAME_LEN_LIMIT:
340
+ return (False, f'Volume name exceeds the maximum length of '
341
+ f'{cls._MAX_VOLUME_NAME_LEN_LIMIT} characters.')
342
+ return True, None
@@ -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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.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-0eaa6f7e63f51311.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/tio0QibqY2C0F2-rPy00p/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/tio0QibqY2C0F2-rPy00p/_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":"tio0QibqY2C0F2-rPy00p","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/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.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-24c4fc6d30ce0193.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/mriHUOVL_Ht-CeW-e7saa/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/mriHUOVL_Ht-CeW-e7saa/_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":"mriHUOVL_Ht-CeW-e7saa","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1121],{50326:function(e,t,a){a.d(t,{$N:function(){return _},Be:function(){return g},Vq:function(){return c},cN:function(){return m},cZ:function(){return d},fK:function(){return f}});var r=a(85893),s=a(67294),o=a(6327),n=a(32350),l=a(43767);let c=o.fC;o.xz;let u=o.h_;o.x8;let i=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(o.aV,{ref:t,className:(0,n.cn)("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...s})});i.displayName=o.aV.displayName;let d=s.forwardRef((e,t)=>{let{className:a,children:s,...c}=e;return(0,r.jsxs)(u,{children:[(0,r.jsx)(i,{}),(0,r.jsxs)(o.VY,{ref:t,className:(0,n.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...c,children:[s,(0,r.jsxs)(o.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500",children:[(0,r.jsx)(l.Z,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});d.displayName=o.VY.displayName;let f=e=>{let{className:t,...a}=e;return(0,r.jsx)("div",{className:(0,n.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...a})};f.displayName="DialogHeader";let m=e=>{let{className:t,...a}=e;return(0,r.jsx)("div",{className:(0,n.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};m.displayName="DialogFooter";let _=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(o.Dx,{ref:t,className:(0,n.cn)("text-lg font-semibold leading-none tracking-tight",a),...s})});_.displayName=o.Dx.displayName;let g=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(o.dk,{ref:t,className:(0,n.cn)("text-sm text-gray-500",a),...s})});g.displayName=o.dk.displayName},23266:function(e,t,a){a.d(t,{GH:function(){return f},QL:function(){return _},Sl:function(){return d},getClusters:function(){return u},uR:function(){return i}});var r=a(67294),s=a(15821),o=a(47145),n=a(93225),l=a(6378);let c={UP:"RUNNING",STOPPED:"STOPPED",INIT:"LAUNCHING",null:"TERMINATED"};async function u(){let{clusterNames:e=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{return(await o.x.fetch("/status",{cluster_names:e,all_users:!0,include_credentials:!1})).map(e=>{let t="",a=t=e.zone?e.zone:e.region;return t&&t.length>25&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15;if(!e||e.length<=t)return e;if(t<=3)return"...";let a=Math.floor((t-3)/2),r=a+(t-3)%2;return 0===a?e.substring(0,r)+"...":e.substring(0,r)+"..."+e.substring(e.length-a)}(t,25)),{status:c[e.status],cluster:e.name,user:e.user_name,user_hash:e.user_hash,cluster_hash:e.cluster_hash,cloud:e.cloud,region:e.region,infra:t?e.cloud+" ("+t+")":e.cloud,full_infra:a?"".concat(e.cloud," (").concat(a,")"):e.cloud,cpus:e.cpus,mem:e.memory,gpus:e.accelerators,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:new Date(1e3*e.launched_at),num_nodes:e.nodes,workspace:e.workspace,autostop:e.autostop,last_event:e.last_event,to_down:e.to_down,jobs:[],command:e.last_creation_command||e.last_use,task_yaml:e.last_creation_yaml||"{}",events:[{time:new Date(1e3*e.launched_at),event:"Cluster created."}]}})}catch(e){return console.error("Error fetching clusters:",e),[]}}async function i(){try{let e=await o.x.fetch("/cost_report",{days:30});console.log("Raw cluster history data:",e);let t=e.map(e=>{let t="Unknown";e.cloud?t=e.cloud:e.resources&&e.resources.cloud&&(t=e.resources.cloud);let a=e.user_name||"-";return{status:e.status?c[e.status]:"TERMINATED",cluster:e.name,user:a,user_hash:e.user_hash,cluster_hash:e.cluster_hash,cloud:t,region:"",infra:t,full_infra:t,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:e.launched_at?new Date(1e3*e.launched_at):null,num_nodes:e.num_nodes||1,duration:e.duration,total_cost:e.total_cost,workspace:e.workspace||"default",autostop:-1,last_event:e.last_event,to_down:!1,usage_intervals:e.usage_intervals,command:e.last_creation_command||"",task_yaml:e.last_creation_yaml||"{}",events:[{time:e.launched_at?new Date(1e3*e.launched_at):new Date,event:"Cluster created."}]}});return console.log("Processed cluster history data:",t),t}catch(e){return console.error("Error fetching cluster history:",e),[]}}async function d(e){let{clusterName:t,jobId:a,onNewLog:r,workspace:n}=e;try{await o.x.stream("/logs",{follow:!1,cluster_name:t,job_id:a,tail:1e4,override_skypilot_config:{active_workspace:n||"default"}},r)}catch(e){console.error("Error in streamClusterJobLogs:",e),(0,s.C)("Error in streamClusterJobLogs: ".concat(e.message),"error")}}async function f(e){let{clusterName:t,jobIds:a=null,workspace:r}=e;try{let e=await o.x.fetch("/download_logs",{cluster_name:t,job_ids:a?a.map(String):null,override_skypilot_config:{active_workspace:r||"default"}}),l=Object.values(e||{});if(!l.length){(0,s.C)("No logs found to download.","warning");return}let c=window.location.origin,u="".concat(c).concat(n.f4,"/download"),i=await fetch("".concat(u,"?relative=items"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({folder_paths:l})});if(!i.ok){let e=await i.text();throw Error("Download failed: ".concat(i.status," ").concat(e))}let d=await i.blob(),f=window.URL.createObjectURL(d),m=document.createElement("a"),_=new Date().toISOString().replace(/[:.]/g,"-"),g=a&&1===a.length?"job-".concat(a[0]):"jobs";m.href=f,m.download="".concat(t,"-").concat(g,"-logs-").concat(_,".zip"),document.body.appendChild(m),m.click(),m.remove(),window.URL.revokeObjectURL(f)}catch(e){console.error("Error downloading logs:",e),(0,s.C)("Error downloading logs: ".concat(e.message),"error")}}async function m(e){let{clusterName:t,workspace:a}=e;try{return(await o.x.fetch("/queue",{cluster_name:t,all_users:!0,override_skypilot_config:{active_workspace:a}})).map(e=>{var r;let s=e.end_at?e.end_at:Date.now()/1e3,o=0,n=0;return e.submitted_at&&(o=s-e.submitted_at),e.start_at&&(n=s-e.start_at),{id:e.job_id,status:e.status,job:e.job_name,user:e.username,user_hash:e.user_hash,gpus:e.accelerators||{},submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,resources:e.resources,cluster:t,total_duration:o,job_duration:n,infra:"",logs:"",workspace:a||"default",git_commit:(null===(r=e.metadata)||void 0===r?void 0:r.git_commit)||"-"}})}catch(e){return console.error("Error fetching cluster jobs:",e),[]}}function _(e){let{cluster:t,job:a=null}=e,[s,o]=(0,r.useState)(null),[n,c]=(0,r.useState)(null),[i,d]=(0,r.useState)(!0),[f,_]=(0,r.useState)(!0),g=(0,r.useCallback)(async()=>{if(t)try{d(!0);let e=await l.default.get(u,[{clusterNames:[t]}]);return o(e[0]),e[0]}catch(e){console.error("Error fetching cluster data:",e)}finally{d(!1)}return null},[t]),h=(0,r.useCallback)(async e=>{if(t)try{_(!0);let a=await l.default.get(m,[{clusterName:t,workspace:e||"default"}]);c(a)}catch(e){console.error("Error fetching cluster job data:",e)}finally{_(!1)}},[t]),p=(0,r.useCallback)(async()=>{l.default.invalidate(u,[{clusterNames:[t]}]);let e=await g();e&&(l.default.invalidate(m,[{clusterName:t,workspace:e.workspace||"default"}]),await h(e.workspace))},[g,h,t]),w=(0,r.useCallback)(async()=>{s&&(l.default.invalidate(m,[{clusterName:t,workspace:s.workspace||"default"}]),await h(s.workspace))},[h,s,t]);return(0,r.useEffect)(()=>{(async()=>{let e=await g();e&&h(e.workspace)})()},[t,a,g,h]),{clusterData:s,clusterJobData:n,loading:i,clusterDetailsLoading:i,clusterJobsLoading:f,refreshData:p,refreshClusterJobsOnly:w}}},53081:function(e,t,a){a.d(t,{R:function(){return s}}),a(23266),a(68969);var r=a(47145);async function s(){try{let e=await r.x.get("/users");if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));return(await e.json()).map(e=>({userId:e.id,username:e.name,role:e.role,created_at:e.created_at}))||[]}catch(e){return console.error("Failed to fetch users:",e),[]}}}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7205,7325],{27325:function(e,t,n){n.d(t,{Z:function(){return r}});/**
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1836,7325],{27325:function(e,t,n){n.d(t,{Z:function(){return r}});/**
2
2
  * @license lucide-react v0.407.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -13,12 +13,7 @@
13
13
  *
14
14
  * This source code is licensed under the ISC license.
15
15
  * See the LICENSE file in the root directory of this source tree.
16
- */let r=(0,n(60998).Z)("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]])},53610:function(e,t,n){n.d(t,{Z:function(){return r}});/**
17
- * @license lucide-react v0.407.0 - ISC
18
- *
19
- * This source code is licensed under the ISC license.
20
- * See the LICENSE file in the root directory of this source tree.
21
- */let r=(0,n(60998).Z)("MonitorPlay",[["path",{d:"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z",key:"1pctta"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",key:"x3v2xh"}]])},23293:function(e,t,n){n.d(t,{Z:function(){return r}});/**
16
+ */let r=(0,n(60998).Z)("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]])},23293:function(e,t,n){n.d(t,{Z:function(){return r}});/**
22
17
  * @license lucide-react v0.407.0 - ISC
23
18
  *
24
19
  * This source code is licensed under the ISC license.
@@ -38,8 +33,8 @@
38
33
  *
39
34
  * This source code is licensed under the ISC license.
40
35
  * See the LICENSE file in the root directory of this source tree.
41
- */let r=(0,n(60998).Z)("Trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]])},6327:function(e,t,n){n.d(t,{x8:function(){return eu},VY:function(){return eo},dk:function(){return ei},aV:function(){return er},h_:function(){return en},fC:function(){return ee},Dx:function(){return ea},xz:function(){return et}});var r=n(67294),o=n(36206),a=n(28771),i=n(25360),u=n(91276),l=n(77342),s=n(46063),c=n(95420),d=n(42651),f=n(9981),p=e=>{let t,n;let{present:o,children:i}=e,u=function(e){var t,n;let[o,a]=r.useState(),i=r.useRef(null),u=r.useRef(e),l=r.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>n[e][t]??e,t));return r.useEffect(()=>{let e=h(i.current);l.current="mounted"===s?e:"none"},[s]),(0,f.b)(()=>{let t=i.current,n=u.current;if(n!==e){let r=l.current,o=h(t);e?c("MOUNT"):"none"===o||t?.display==="none"?c("UNMOUNT"):n&&r!==o?c("ANIMATION_OUT"):c("UNMOUNT"),u.current=e}},[e,c]),(0,f.b)(()=>{if(o){let e;let t=o.ownerDocument.defaultView??window,n=n=>{let r=h(i.current).includes(n.animationName);if(n.target===o&&r&&(c("ANIMATION_END"),!u.current)){let n=o.style.animationFillMode;o.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=n)})}},r=e=>{e.target===o&&(l.current=h(i.current))};return o.addEventListener("animationstart",r),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{t.clearTimeout(e),o.removeEventListener("animationstart",r),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}c("ANIMATION_END")},[o,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:r.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(o),l="function"==typeof i?i({present:u.isPresent}):r.Children.only(i),s=(0,a.e)(u.ref,(t=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning?l.ref:(t=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning?l.props.ref:l.props.ref||l.ref);return"function"==typeof i||u.isPresent?r.cloneElement(l,{ref:s}):null};function h(e){return e?.animationName||"none"}p.displayName="Presence";var y=n(75320),m=n(27552),g=n(6223),v=n(23541),M=n(88426),N=n(85893),x="Dialog",[k,D]=(0,i.b)(x),[w,R]=k(x),O=e=>{let{__scopeDialog:t,children:n,open:o,defaultOpen:a,onOpenChange:i,modal:s=!0}=e,c=r.useRef(null),d=r.useRef(null),[f,p]=(0,l.T)({prop:o,defaultProp:a??!1,onChange:i,caller:x});return(0,N.jsx)(w,{scope:t,triggerRef:c,contentRef:d,contentId:(0,u.M)(),titleId:(0,u.M)(),descriptionId:(0,u.M)(),open:f,onOpenChange:p,onOpenToggle:r.useCallback(()=>p(e=>!e),[p]),modal:s,children:n})};O.displayName=x;var b="DialogTrigger",j=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=R(b,n),u=(0,a.e)(t,i.triggerRef);return(0,N.jsx)(y.WV.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":K(i.open),...r,ref:u,onClick:(0,o.M)(e.onClick,i.onOpenToggle)})});j.displayName=b;var I="DialogPortal",[C,E]=k(I,{forceMount:void 0}),T=e=>{let{__scopeDialog:t,forceMount:n,children:o,container:a}=e,i=R(I,t);return(0,N.jsx)(C,{scope:t,forceMount:n,children:r.Children.map(o,e=>(0,N.jsx)(p,{present:n||i.open,children:(0,N.jsx)(d.h,{asChild:!0,container:a,children:e})}))})};T.displayName=I;var _="DialogOverlay",Z=r.forwardRef((e,t)=>{let n=E(_,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=R(_,e.__scopeDialog);return a.modal?(0,N.jsx)(p,{present:r||a.open,children:(0,N.jsx)(A,{...o,ref:t})}):null});Z.displayName=_;var F=(0,M.Z8)("DialogOverlay.RemoveScroll"),A=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=R(_,n);return(0,N.jsx)(g.Z,{as:F,allowPinchZoom:!0,shards:[o.contentRef],children:(0,N.jsx)(y.WV.div,{"data-state":K(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),P="DialogContent",V=r.forwardRef((e,t)=>{let n=E(P,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=R(P,e.__scopeDialog);return(0,N.jsx)(p,{present:r||a.open,children:a.modal?(0,N.jsx)(W,{...o,ref:t}):(0,N.jsx)(U,{...o,ref:t})})});V.displayName=P;var W=r.forwardRef((e,t)=>{let n=R(P,e.__scopeDialog),i=r.useRef(null),u=(0,a.e)(t,n.contentRef,i);return r.useEffect(()=>{let e=i.current;if(e)return(0,v.Ry)(e)},[]),(0,N.jsx)(S,{...e,ref:u,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.M)(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.M)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,o.M)(e.onFocusOutside,e=>e.preventDefault())})}),U=r.forwardRef((e,t)=>{let n=R(P,e.__scopeDialog),o=r.useRef(!1),a=r.useRef(!1);return(0,N.jsx)(S,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"!==t.detail.originalEvent.type||(a.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),S=r.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:u,...l}=e,d=R(P,n),f=r.useRef(null),p=(0,a.e)(t,f);return(0,m.EW)(),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(c.M,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:u,children:(0,N.jsx)(s.XB,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":K(d.open),...l,ref:p,onDismiss:()=>d.onOpenChange(!1)})}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(J,{titleId:d.titleId}),(0,N.jsx)(Q,{contentRef:f,descriptionId:d.descriptionId})]})]})}),L="DialogTitle",H=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=R(L,n);return(0,N.jsx)(y.WV.h2,{id:o.titleId,...r,ref:t})});H.displayName=L;var q="DialogDescription",$=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=R(q,n);return(0,N.jsx)(y.WV.p,{id:o.descriptionId,...r,ref:t})});$.displayName=q;var z="DialogClose",B=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=R(z,n);return(0,N.jsx)(y.WV.button,{type:"button",...r,ref:t,onClick:(0,o.M)(e.onClick,()=>a.onOpenChange(!1))})});function K(e){return e?"open":"closed"}B.displayName=z;var X="DialogTitleWarning",[Y,G]=(0,i.k)(X,{contentName:P,titleName:L,docsSlug:"dialog"}),J=({titleId:e})=>{let t=G(X),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
36
+ */let r=(0,n(60998).Z)("Trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]])},6327:function(e,t,n){n.d(t,{x8:function(){return eu},VY:function(){return eo},dk:function(){return ei},aV:function(){return er},h_:function(){return en},fC:function(){return ee},Dx:function(){return ea},xz:function(){return et}});var r=n(67294),o=n(36206),a=n(28771),i=n(25360),u=n(91276),l=n(77342),s=n(46063),c=n(95420),d=n(42651),f=n(9981),p=e=>{let t,n;let{present:o,children:i}=e,u=function(e){var t,n;let[o,a]=r.useState(),i=r.useRef(null),u=r.useRef(e),l=r.useRef("none"),[s,c]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>n[e][t]??e,t));return r.useEffect(()=>{let e=m(i.current);l.current="mounted"===s?e:"none"},[s]),(0,f.b)(()=>{let t=i.current,n=u.current;if(n!==e){let r=l.current,o=m(t);e?c("MOUNT"):"none"===o||t?.display==="none"?c("UNMOUNT"):n&&r!==o?c("ANIMATION_OUT"):c("UNMOUNT"),u.current=e}},[e,c]),(0,f.b)(()=>{if(o){let e;let t=o.ownerDocument.defaultView??window,n=n=>{let r=m(i.current).includes(n.animationName);if(n.target===o&&r&&(c("ANIMATION_END"),!u.current)){let n=o.style.animationFillMode;o.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=n)})}},r=e=>{e.target===o&&(l.current=m(i.current))};return o.addEventListener("animationstart",r),o.addEventListener("animationcancel",n),o.addEventListener("animationend",n),()=>{t.clearTimeout(e),o.removeEventListener("animationstart",r),o.removeEventListener("animationcancel",n),o.removeEventListener("animationend",n)}}c("ANIMATION_END")},[o,c]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:r.useCallback(e=>{i.current=e?getComputedStyle(e):null,a(e)},[])}}(o),l="function"==typeof i?i({present:u.isPresent}):r.Children.only(i),s=(0,a.e)(u.ref,(t=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning?l.ref:(t=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in t&&t.isReactWarning?l.props.ref:l.props.ref||l.ref);return"function"==typeof i||u.isPresent?r.cloneElement(l,{ref:s}):null};function m(e){return e?.animationName||"none"}p.displayName="Presence";var y=n(75320),g=n(27552),h=n(6223),v=n(23541),M=n(88426),N=n(85893),D="Dialog",[x,k]=(0,i.b)(D),[w,R]=x(D),O=e=>{let{__scopeDialog:t,children:n,open:o,defaultOpen:a,onOpenChange:i,modal:s=!0}=e,c=r.useRef(null),d=r.useRef(null),[f,p]=(0,l.T)({prop:o,defaultProp:a??!1,onChange:i,caller:D});return(0,N.jsx)(w,{scope:t,triggerRef:c,contentRef:d,contentId:(0,u.M)(),titleId:(0,u.M)(),descriptionId:(0,u.M)(),open:f,onOpenChange:p,onOpenToggle:r.useCallback(()=>p(e=>!e),[p]),modal:s,children:n})};O.displayName=D;var b="DialogTrigger",j=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=R(b,n),u=(0,a.e)(t,i.triggerRef);return(0,N.jsx)(y.WV.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":K(i.open),...r,ref:u,onClick:(0,o.M)(e.onClick,i.onOpenToggle)})});j.displayName=b;var I="DialogPortal",[C,E]=x(I,{forceMount:void 0}),T=e=>{let{__scopeDialog:t,forceMount:n,children:o,container:a}=e,i=R(I,t);return(0,N.jsx)(C,{scope:t,forceMount:n,children:r.Children.map(o,e=>(0,N.jsx)(p,{present:n||i.open,children:(0,N.jsx)(d.h,{asChild:!0,container:a,children:e})}))})};T.displayName=I;var _="DialogOverlay",F=r.forwardRef((e,t)=>{let n=E(_,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=R(_,e.__scopeDialog);return a.modal?(0,N.jsx)(p,{present:r||a.open,children:(0,N.jsx)(Z,{...o,ref:t})}):null});F.displayName=_;var A=(0,M.Z8)("DialogOverlay.RemoveScroll"),Z=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=R(_,n);return(0,N.jsx)(h.Z,{as:A,allowPinchZoom:!0,shards:[o.contentRef],children:(0,N.jsx)(y.WV.div,{"data-state":K(o.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),P="DialogContent",V=r.forwardRef((e,t)=>{let n=E(P,e.__scopeDialog),{forceMount:r=n.forceMount,...o}=e,a=R(P,e.__scopeDialog);return(0,N.jsx)(p,{present:r||a.open,children:a.modal?(0,N.jsx)(W,{...o,ref:t}):(0,N.jsx)(U,{...o,ref:t})})});V.displayName=P;var W=r.forwardRef((e,t)=>{let n=R(P,e.__scopeDialog),i=r.useRef(null),u=(0,a.e)(t,n.contentRef,i);return r.useEffect(()=>{let e=i.current;if(e)return(0,v.Ry)(e)},[]),(0,N.jsx)(S,{...e,ref:u,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,o.M)(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:(0,o.M)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=0===t.button&&!0===t.ctrlKey;(2===t.button||n)&&e.preventDefault()}),onFocusOutside:(0,o.M)(e.onFocusOutside,e=>e.preventDefault())})}),U=r.forwardRef((e,t)=>{let n=R(P,e.__scopeDialog),o=r.useRef(!1),a=r.useRef(!1);return(0,N.jsx)(S,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(o.current||n.triggerRef.current?.focus(),t.preventDefault()),o.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(o.current=!0,"pointerdown"!==t.detail.originalEvent.type||(a.current=!0));let r=t.target;n.triggerRef.current?.contains(r)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),S=r.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:u,...l}=e,d=R(P,n),f=r.useRef(null),p=(0,a.e)(t,f);return(0,g.EW)(),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(c.M,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:i,onUnmountAutoFocus:u,children:(0,N.jsx)(s.XB,{role:"dialog",id:d.contentId,"aria-describedby":d.descriptionId,"aria-labelledby":d.titleId,"data-state":K(d.open),...l,ref:p,onDismiss:()=>d.onOpenChange(!1)})}),(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(J,{titleId:d.titleId}),(0,N.jsx)(Q,{contentRef:f,descriptionId:d.descriptionId})]})]})}),L="DialogTitle",H=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=R(L,n);return(0,N.jsx)(y.WV.h2,{id:o.titleId,...r,ref:t})});H.displayName=L;var q="DialogDescription",$=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,o=R(q,n);return(0,N.jsx)(y.WV.p,{id:o.descriptionId,...r,ref:t})});$.displayName=q;var z="DialogClose",B=r.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,a=R(z,n);return(0,N.jsx)(y.WV.button,{type:"button",...r,ref:t,onClick:(0,o.M)(e.onClick,()=>a.onOpenChange(!1))})});function K(e){return e?"open":"closed"}B.displayName=z;var X="DialogTitleWarning",[Y,G]=(0,i.k)(X,{contentName:P,titleName:L,docsSlug:"dialog"}),J=({titleId:e})=>{let t=G(X),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
42
37
 
43
38
  If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
44
39
 
45
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return r.useEffect(()=>{e&&!document.getElementById(e)&&console.error(n)},[n,e]),null},Q=({contentRef:e,descriptionId:t})=>{let n=G("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return r.useEffect(()=>{let n=e.current?.getAttribute("aria-describedby");t&&n&&!document.getElementById(t)&&console.warn(o)},[o,e,t]),null},ee=O,et=j,en=T,er=Z,eo=V,ea=H,ei=$,eu=B}}]);
40
+ For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return r.useEffect(()=>{e&&!document.getElementById(e)&&console.error(n)},[n,e]),null},Q=({contentRef:e,descriptionId:t})=>{let n=G("DialogDescriptionWarning"),o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${n.contentName}}.`;return r.useEffect(()=>{let n=e.current?.getAttribute("aria-describedby");t&&n&&!document.getElementById(t)&&console.warn(o)},[o,e,t]),null},ee=O,et=j,en=T,er=F,eo=V,ea=H,ei=$,eu=B}}]);