skypilot-nightly 1.0.0.dev20250925__tar.gz → 1.0.0.dev20250926__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 (601) hide show
  1. {skypilot_nightly-1.0.0.dev20250925/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20250926}/PKG-INFO +35 -35
  2. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/__init__.py +2 -2
  3. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/backend_utils.py +13 -10
  4. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/cli/command.py +16 -8
  5. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/common.py +4 -2
  6. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/sdk.py +4 -2
  7. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/core.py +3 -2
  8. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/404.html +1 -1
  9. {skypilot_nightly-1.0.0.dev20250925/sky/dashboard/out/_next/static/bn-NHt5qTzeTN2PefXuDA → skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/VXU6_xE28M55BOdwmUUJS}/_buildManifest.js +1 -1
  10. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js +1 -0
  11. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/9037-d0c00018a5ba198c.js +6 -0
  12. skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-ad77b12fc736dca3.js +16 -0
  13. skypilot_nightly-1.0.0.dev20250925/sky/dashboard/out/_next/static/chunks/webpack-16ba1d7187d2e3b1.js → skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/chunks/webpack-8e64d11e58eab5cb.js +1 -1
  14. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  15. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/clusters/[cluster].html +1 -1
  16. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/clusters.html +1 -1
  17. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/config.html +1 -1
  18. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/index.html +1 -1
  19. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/infra/[context].html +1 -1
  20. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/infra.html +1 -1
  21. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/jobs/[job].html +1 -1
  22. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
  23. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/jobs.html +1 -1
  24. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/users.html +1 -1
  25. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/volumes.html +1 -1
  26. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/workspace/new.html +1 -1
  27. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/workspaces/[name].html +1 -1
  28. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/workspaces.html +1 -1
  29. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/global_user_state.py +54 -31
  30. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/constants.py +2 -0
  31. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/controller.py +4 -0
  32. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/server/core.py +2 -0
  33. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/__init__.py +2 -0
  34. skypilot_nightly-1.0.0.dev20250926/sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +89 -0
  35. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/payloads.py +2 -1
  36. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/setup_files/dependencies.py +1 -1
  37. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/constants.py +4 -1
  38. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/events.py +42 -0
  39. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/jobs-controller.yaml.j2 +3 -0
  40. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/kubernetes-ray.yml.j2 +8 -3
  41. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/db/db_utils.py +5 -1
  42. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/db/migration_utils.py +1 -1
  43. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/kubernetes_deploy_utils.py +35 -12
  44. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/server/core.py +1 -0
  45. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/volume.py +16 -17
  46. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926/skypilot_nightly.egg-info}/PKG-INFO +35 -35
  47. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/skypilot_nightly.egg-info/SOURCES.txt +7 -6
  48. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/skypilot_nightly.egg-info/requires.txt +33 -33
  49. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_config.py +25 -0
  50. skypilot_nightly-1.0.0.dev20250925/sky/dashboard/out/_next/static/chunks/1121-b911fc0a0b4742f0.js +0 -1
  51. skypilot_nightly-1.0.0.dev20250925/sky/dashboard/out/_next/static/chunks/9037-472ee1222cb1e158.js +0 -6
  52. skypilot_nightly-1.0.0.dev20250925/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-2cb9b15e09cda628.js +0 -16
  53. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/LICENSE +0 -0
  54. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/MANIFEST.in +0 -0
  55. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/README.md +0 -0
  56. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/pyproject.toml +0 -0
  57. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/setup.cfg +0 -0
  58. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/setup.py +0 -0
  59. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/__init__.py +0 -0
  60. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/aws.py +0 -0
  61. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/azure.py +0 -0
  62. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/cloudflare.py +0 -0
  63. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/common.py +0 -0
  64. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/cudo.py +0 -0
  65. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/do.py +0 -0
  66. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/docker.py +0 -0
  67. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/gcp.py +0 -0
  68. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/hyperbolic.py +0 -0
  69. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/ibm.py +0 -0
  70. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/kubernetes.py +0 -0
  71. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/nebius.py +0 -0
  72. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/oci.py +0 -0
  73. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/primeintellect.py +0 -0
  74. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/runpod.py +0 -0
  75. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/seeweb.py +0 -0
  76. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/vast.py +0 -0
  77. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/adaptors/vsphere.py +0 -0
  78. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/admin_policy.py +0 -0
  79. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/authentication.py +0 -0
  80. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/__init__.py +0 -0
  81. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/backend.py +0 -0
  82. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/cloud_vm_ray_backend.py +0 -0
  83. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/docker_utils.py +0 -0
  84. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/local_docker_backend.py +0 -0
  85. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
  86. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/backends/wheel_utils.py +0 -0
  87. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/__init__.py +0 -0
  88. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/aws_catalog.py +0 -0
  89. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/azure_catalog.py +0 -0
  90. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/common.py +0 -0
  91. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/config.py +0 -0
  92. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/cudo_catalog.py +0 -0
  93. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/__init__.py +0 -0
  94. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/analyze.py +0 -0
  95. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
  96. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
  97. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
  98. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
  99. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
  100. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
  101. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
  102. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
  103. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
  104. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_seeweb.py +0 -0
  105. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
  106. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
  107. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/do_catalog.py +0 -0
  108. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/fluidstack_catalog.py +0 -0
  109. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/gcp_catalog.py +0 -0
  110. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/hyperbolic_catalog.py +0 -0
  111. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/ibm_catalog.py +0 -0
  112. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/kubernetes_catalog.py +0 -0
  113. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/lambda_catalog.py +0 -0
  114. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/nebius_catalog.py +0 -0
  115. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/oci_catalog.py +0 -0
  116. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/paperspace_catalog.py +0 -0
  117. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/primeintellect_catalog.py +0 -0
  118. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/runpod_catalog.py +0 -0
  119. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/scp_catalog.py +0 -0
  120. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/seeweb_catalog.py +0 -0
  121. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/ssh_catalog.py +0 -0
  122. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/vast_catalog.py +0 -0
  123. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/catalog/vsphere_catalog.py +0 -0
  124. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/check.py +0 -0
  125. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/cli.py +0 -0
  126. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/__init__.py +0 -0
  127. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/cli/__init__.py +0 -0
  128. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/cli/deprecation_utils.py +0 -0
  129. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/cli/flags.py +0 -0
  130. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/oauth.py +0 -0
  131. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/sdk_async.py +0 -0
  132. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/client/service_account_auth.py +0 -0
  133. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/cloud_stores.py +0 -0
  134. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/__init__.py +0 -0
  135. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/aws.py +0 -0
  136. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/azure.py +0 -0
  137. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/cloud.py +0 -0
  138. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/cudo.py +0 -0
  139. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/do.py +0 -0
  140. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/fluidstack.py +0 -0
  141. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/gcp.py +0 -0
  142. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/hyperbolic.py +0 -0
  143. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/ibm.py +0 -0
  144. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/kubernetes.py +0 -0
  145. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/lambda_cloud.py +0 -0
  146. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/nebius.py +0 -0
  147. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/oci.py +0 -0
  148. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/paperspace.py +0 -0
  149. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/primeintellect.py +0 -0
  150. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/runpod.py +0 -0
  151. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/scp.py +0 -0
  152. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/seeweb.py +0 -0
  153. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/ssh.py +0 -0
  154. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/utils/__init__.py +0 -0
  155. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/utils/aws_utils.py +0 -0
  156. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/utils/azure_utils.py +0 -0
  157. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/utils/gcp_utils.py +0 -0
  158. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/utils/oci_utils.py +0 -0
  159. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/utils/scp_utils.py +0 -0
  160. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/vast.py +0 -0
  161. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/clouds/vsphere.py +0 -0
  162. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dag.py +0 -0
  163. {skypilot_nightly-1.0.0.dev20250925/sky/dashboard/out/_next/static/bn-NHt5qTzeTN2PefXuDA → skypilot_nightly-1.0.0.dev20250926/sky/dashboard/out/_next/static/VXU6_xE28M55BOdwmUUJS}/_ssgManifest.js +0 -0
  164. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js +0 -0
  165. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
  166. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js +0 -0
  167. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
  168. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/3015-88c7c8d69b0b6dba.js +0 -0
  169. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/3294.03e02ae73455f48e.js +0 -0
  170. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/3785.0fa442e16dd3f00e.js +0 -0
  171. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
  172. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
  173. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js +0 -0
  174. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js +0 -0
  175. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js +0 -0
  176. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/5339.4a881570243431a5.js +0 -0
  177. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
  178. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
  179. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -0
  180. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
  181. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js +0 -0
  182. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
  183. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/6856-2b3600ff2854d066.js +0 -0
  184. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
  185. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -0
  186. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js +0 -0
  187. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
  188. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js +0 -0
  189. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js +0 -0
  190. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/8969-d8bc3a2b9cf839a9.js +0 -0
  191. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -0
  192. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
  193. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
  194. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
  195. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
  196. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js +0 -0
  197. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
  198. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-e052384df65ef200.js +0 -0
  199. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js +0 -0
  200. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
  201. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
  202. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-6563820e094f68ca.js +0 -0
  203. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/infra-aabba60d57826e0f.js +0 -0
  204. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +0 -0
  205. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js +0 -0
  206. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/jobs-1f70d9faa564804f.js +0 -0
  207. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js +0 -0
  208. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js +0 -0
  209. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
  210. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js +0 -0
  211. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/pages/workspaces-7528cc0ef8c522c5.js +0 -0
  212. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
  213. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -0
  214. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/favicon.ico +0 -0
  215. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/skypilot.svg +0 -0
  216. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
  217. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/data/__init__.py +0 -0
  218. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/data/data_transfer.py +0 -0
  219. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/data/data_utils.py +0 -0
  220. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/data/mounting_utils.py +0 -0
  221. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/data/storage.py +0 -0
  222. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/data/storage_utils.py +0 -0
  223. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/exceptions.py +0 -0
  224. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/execution.py +0 -0
  225. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/__init__.py +0 -0
  226. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/client/__init__.py +0 -0
  227. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/client/sdk.py +0 -0
  228. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/client/sdk_async.py +0 -0
  229. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/recovery_strategy.py +0 -0
  230. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/scheduler.py +0 -0
  231. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/server/__init__.py +0 -0
  232. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/server/server.py +0 -0
  233. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/server/utils.py +0 -0
  234. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/state.py +0 -0
  235. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/jobs/utils.py +0 -0
  236. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/logs/__init__.py +0 -0
  237. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/logs/agent.py +0 -0
  238. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/logs/aws.py +0 -0
  239. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/logs/gcp.py +0 -0
  240. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/metrics/__init__.py +0 -0
  241. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/metrics/utils.py +0 -0
  242. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/models.py +0 -0
  243. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/optimizer.py +0 -0
  244. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/__init__.py +0 -0
  245. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/aws/__init__.py +0 -0
  246. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/aws/config.py +0 -0
  247. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/aws/instance.py +0 -0
  248. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/aws/utils.py +0 -0
  249. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/azure/__init__.py +0 -0
  250. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/azure/azure-config-template.json +0 -0
  251. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/azure/config.py +0 -0
  252. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/azure/instance.py +0 -0
  253. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/common.py +0 -0
  254. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/constants.py +0 -0
  255. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/cudo/__init__.py +0 -0
  256. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/cudo/config.py +0 -0
  257. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/cudo/cudo_machine_type.py +0 -0
  258. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/cudo/cudo_utils.py +0 -0
  259. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/cudo/cudo_wrapper.py +0 -0
  260. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/cudo/instance.py +0 -0
  261. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/do/__init__.py +0 -0
  262. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/do/config.py +0 -0
  263. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/do/constants.py +0 -0
  264. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/do/instance.py +0 -0
  265. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/do/utils.py +0 -0
  266. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/docker_utils.py +0 -0
  267. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/fluidstack/__init__.py +0 -0
  268. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/fluidstack/config.py +0 -0
  269. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
  270. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/fluidstack/instance.py +0 -0
  271. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/__init__.py +0 -0
  272. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/config.py +0 -0
  273. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/constants.py +0 -0
  274. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/instance.py +0 -0
  275. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/instance_utils.py +0 -0
  276. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/mig_utils.py +0 -0
  277. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/gcp/volume_utils.py +0 -0
  278. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/hyperbolic/__init__.py +0 -0
  279. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/hyperbolic/config.py +0 -0
  280. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/hyperbolic/instance.py +0 -0
  281. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/hyperbolic/utils.py +0 -0
  282. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/instance_setup.py +0 -0
  283. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/__init__.py +0 -0
  284. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/config.py +0 -0
  285. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/constants.py +0 -0
  286. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/instance.py +0 -0
  287. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
  288. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/network.py +0 -0
  289. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/network_utils.py +0 -0
  290. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/utils.py +0 -0
  291. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/kubernetes/volume.py +0 -0
  292. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/lambda_cloud/__init__.py +0 -0
  293. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/lambda_cloud/config.py +0 -0
  294. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/lambda_cloud/instance.py +0 -0
  295. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
  296. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/logging.py +0 -0
  297. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/metadata_utils.py +0 -0
  298. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/nebius/__init__.py +0 -0
  299. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/nebius/config.py +0 -0
  300. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/nebius/constants.py +0 -0
  301. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/nebius/instance.py +0 -0
  302. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/nebius/utils.py +0 -0
  303. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/oci/__init__.py +0 -0
  304. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/oci/config.py +0 -0
  305. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/oci/instance.py +0 -0
  306. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/oci/query_utils.py +0 -0
  307. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/paperspace/__init__.py +0 -0
  308. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/paperspace/config.py +0 -0
  309. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/paperspace/constants.py +0 -0
  310. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/paperspace/instance.py +0 -0
  311. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/paperspace/utils.py +0 -0
  312. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/primeintellect/__init__.py +0 -0
  313. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/primeintellect/config.py +0 -0
  314. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/primeintellect/instance.py +0 -0
  315. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/primeintellect/utils.py +0 -0
  316. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/provisioner.py +0 -0
  317. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/api/__init__.py +0 -0
  318. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/api/commands.py +0 -0
  319. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/api/pods.py +0 -0
  320. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/config.py +0 -0
  321. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/instance.py +0 -0
  322. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/utils.py +0 -0
  323. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/runpod/volume.py +0 -0
  324. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/scp/__init__.py +0 -0
  325. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/scp/config.py +0 -0
  326. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/scp/instance.py +0 -0
  327. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/seeweb/__init__.py +0 -0
  328. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/seeweb/config.py +0 -0
  329. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/seeweb/instance.py +0 -0
  330. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/ssh/__init__.py +0 -0
  331. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vast/__init__.py +0 -0
  332. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vast/config.py +0 -0
  333. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vast/instance.py +0 -0
  334. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vast/utils.py +0 -0
  335. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/__init__.py +0 -0
  336. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/__init__.py +0 -0
  337. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/cls_api_client.py +0 -0
  338. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
  339. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/custom_script.py +0 -0
  340. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/id_generator.py +0 -0
  341. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/metadata_utils.py +0 -0
  342. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/service_manager.py +0 -0
  343. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
  344. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/ssl_helper.py +0 -0
  345. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/vapiconnect.py +0 -0
  346. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/common/vim_utils.py +0 -0
  347. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/config.py +0 -0
  348. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/instance.py +0 -0
  349. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/provision/vsphere/vsphere_utils.py +0 -0
  350. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/py.typed +0 -0
  351. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/resources.py +0 -0
  352. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/__init__.py +0 -0
  353. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/api/__init__.py +0 -0
  354. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/api/responses.py +0 -0
  355. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/README +0 -0
  356. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/env.py +0 -0
  357. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
  358. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
  359. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
  360. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
  361. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
  362. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
  363. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
  364. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +0 -0
  365. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/script.py.mako +0 -0
  366. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
  367. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
  368. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
  369. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
  370. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/__init__.py +0 -0
  371. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/autostopv1_pb2.py +0 -0
  372. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
  373. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
  374. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/jobsv1_pb2.py +0 -0
  375. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/jobsv1_pb2.pyi +0 -0
  376. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/jobsv1_pb2_grpc.py +0 -0
  377. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/servev1_pb2.py +0 -0
  378. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/servev1_pb2.pyi +0 -0
  379. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/schemas/generated/servev1_pb2_grpc.py +0 -0
  380. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/__init__.py +0 -0
  381. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/autoscalers.py +0 -0
  382. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/client/__init__.py +0 -0
  383. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/client/impl.py +0 -0
  384. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/client/sdk.py +0 -0
  385. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/client/sdk_async.py +0 -0
  386. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/constants.py +0 -0
  387. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/controller.py +0 -0
  388. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/load_balancer.py +0 -0
  389. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/load_balancing_policies.py +0 -0
  390. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/replica_managers.py +0 -0
  391. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/serve_rpc_utils.py +0 -0
  392. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/serve_state.py +0 -0
  393. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/serve_utils.py +0 -0
  394. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/server/__init__.py +0 -0
  395. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/server/core.py +0 -0
  396. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/server/impl.py +0 -0
  397. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/server/server.py +0 -0
  398. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/service.py +0 -0
  399. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/service_spec.py +0 -0
  400. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/serve/spot_placer.py +0 -0
  401. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/__init__.py +0 -0
  402. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/auth/__init__.py +0 -0
  403. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/auth/authn.py +0 -0
  404. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/auth/oauth2_proxy.py +0 -0
  405. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/common.py +0 -0
  406. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/config.py +0 -0
  407. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/constants.py +0 -0
  408. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/daemons.py +0 -0
  409. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/html/log.html +0 -0
  410. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/html/token_page.html +0 -0
  411. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/metrics.py +0 -0
  412. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/__init__.py +0 -0
  413. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/event_loop.py +0 -0
  414. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/executor.py +0 -0
  415. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/preconditions.py +0 -0
  416. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/process.py +0 -0
  417. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/queues/__init__.py +0 -0
  418. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/queues/local_queue.py +0 -0
  419. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/queues/mp_queue.py +0 -0
  420. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/requests.py +0 -0
  421. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/serializers/__init__.py +0 -0
  422. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/serializers/decoders.py +0 -0
  423. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/requests/serializers/encoders.py +0 -0
  424. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/rest.py +0 -0
  425. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/server.py +0 -0
  426. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/state.py +0 -0
  427. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/stream_utils.py +0 -0
  428. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/uvicorn.py +0 -0
  429. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/server/versions.py +0 -0
  430. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/setup_files/MANIFEST.in +0 -0
  431. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/setup_files/alembic.ini +0 -0
  432. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/setup_files/setup.py +0 -0
  433. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/sky_logging.py +0 -0
  434. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/LICENSE +0 -0
  435. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/__init__.py +0 -0
  436. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/attempt_skylet.py +0 -0
  437. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/autostop_lib.py +0 -0
  438. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/configs.py +0 -0
  439. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/job_lib.py +0 -0
  440. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/log_lib.py +0 -0
  441. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/log_lib.pyi +0 -0
  442. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/providers/__init__.py +0 -0
  443. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/providers/command_runner.py +0 -0
  444. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/providers/ibm/__init__.py +0 -0
  445. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/providers/ibm/node_provider.py +0 -0
  446. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/providers/ibm/utils.py +0 -0
  447. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
  448. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/__init__.py +0 -0
  449. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
  450. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
  451. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/cli.py.diff +0 -0
  452. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/cli.py.patch +0 -0
  453. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
  454. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
  455. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
  456. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
  457. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
  458. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
  459. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/updater.py.diff +0 -0
  460. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/updater.py.patch +0 -0
  461. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/worker.py.diff +0 -0
  462. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/ray_patches/worker.py.patch +0 -0
  463. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/services.py +0 -0
  464. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/skylet.py +0 -0
  465. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skylet/subprocess_daemon.py +0 -0
  466. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/skypilot_config.py +0 -0
  467. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/ssh_node_pools/__init__.py +0 -0
  468. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/ssh_node_pools/core.py +0 -0
  469. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/ssh_node_pools/server.py +0 -0
  470. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/task.py +0 -0
  471. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/aws-ray.yml.j2 +0 -0
  472. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/azure-ray.yml.j2 +0 -0
  473. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/cudo-ray.yml.j2 +0 -0
  474. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/do-ray.yml.j2 +0 -0
  475. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/fluidstack-ray.yml.j2 +0 -0
  476. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/gcp-ray.yml.j2 +0 -0
  477. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
  478. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/ibm-ray.yml.j2 +0 -0
  479. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
  480. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
  481. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
  482. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/kubernetes-ssh-jump.yml.j2 +0 -0
  483. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/lambda-ray.yml.j2 +0 -0
  484. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/local-ray.yml.j2 +0 -0
  485. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/nebius-ray.yml.j2 +0 -0
  486. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/oci-ray.yml.j2 +0 -0
  487. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/paperspace-ray.yml.j2 +0 -0
  488. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/primeintellect-ray.yml.j2 +0 -0
  489. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/runpod-ray.yml.j2 +0 -0
  490. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/scp-ray.yml.j2 +0 -0
  491. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/seeweb-ray.yml.j2 +0 -0
  492. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
  493. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
  494. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/vast-ray.yml.j2 +0 -0
  495. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/vsphere-ray.yml.j2 +0 -0
  496. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/templates/websocket_proxy.py +0 -0
  497. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/usage/__init__.py +0 -0
  498. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/usage/constants.py +0 -0
  499. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/usage/usage_lib.py +0 -0
  500. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/users/__init__.py +0 -0
  501. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/users/model.conf +0 -0
  502. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/users/permission.py +0 -0
  503. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/users/rbac.py +0 -0
  504. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/users/server.py +0 -0
  505. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/users/token_service.py +0 -0
  506. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/__init__.py +0 -0
  507. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/accelerator_registry.py +0 -0
  508. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/admin_policy_utils.py +0 -0
  509. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/annotations.py +0 -0
  510. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/atomic.py +0 -0
  511. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/aws/__init__.py +0 -0
  512. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/aws/get_default_security_group.py +0 -0
  513. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/benchmark_utils.py +0 -0
  514. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/cli_utils/__init__.py +0 -0
  515. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/cli_utils/status_utils.py +0 -0
  516. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/cluster_utils.py +0 -0
  517. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/command_runner.py +0 -0
  518. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/command_runner.pyi +0 -0
  519. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/common.py +0 -0
  520. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/common_utils.py +0 -0
  521. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/config_utils.py +0 -0
  522. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/context.py +0 -0
  523. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/context_utils.py +0 -0
  524. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/control_master_utils.py +0 -0
  525. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/controller_utils.py +0 -0
  526. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/dag_utils.py +0 -0
  527. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/db/__init__.py +0 -0
  528. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/directory_utils.py +0 -0
  529. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/env_options.py +0 -0
  530. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/git.py +0 -0
  531. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/git_clone.sh +0 -0
  532. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/infra_utils.py +0 -0
  533. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/__init__.py +0 -0
  534. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
  535. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/config_map_utils.py +0 -0
  536. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/create_cluster.sh +0 -0
  537. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/delete_cluster.sh +0 -0
  538. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
  539. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
  540. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/generate_kind_config.py +0 -0
  541. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
  542. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/gpu_labeler.py +0 -0
  543. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
  544. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
  545. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/rsync_helper.sh +0 -0
  546. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
  547. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/ssh_jump_lifecycle_manager.py +0 -0
  548. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes/ssh_utils.py +0 -0
  549. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/kubernetes_enums.py +0 -0
  550. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/lock_events.py +0 -0
  551. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/locks.py +0 -0
  552. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/log_utils.py +0 -0
  553. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/message_utils.py +0 -0
  554. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/perf_utils.py +0 -0
  555. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/registry.py +0 -0
  556. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/resource_checker.py +0 -0
  557. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/resources_utils.py +0 -0
  558. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/rich_console_utils.py +0 -0
  559. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/rich_utils.py +0 -0
  560. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/schemas.py +0 -0
  561. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/serialize_utils.py +0 -0
  562. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/status_lib.py +0 -0
  563. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/subprocess_utils.py +0 -0
  564. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/tempstore.py +0 -0
  565. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/timeline.py +0 -0
  566. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/ux_utils.py +0 -0
  567. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/validator.py +0 -0
  568. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/volume.py +0 -0
  569. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/utils/yaml_utils.py +0 -0
  570. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/__init__.py +0 -0
  571. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/client/__init__.py +0 -0
  572. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/client/sdk.py +0 -0
  573. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/server/__init__.py +0 -0
  574. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/server/server.py +0 -0
  575. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/volumes/utils.py +0 -0
  576. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/workspaces/__init__.py +0 -0
  577. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/workspaces/core.py +0 -0
  578. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/workspaces/server.py +0 -0
  579. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/sky/workspaces/utils.py +0 -0
  580. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
  581. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/skypilot_nightly.egg-info/entry_points.txt +0 -0
  582. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/skypilot_nightly.egg-info/top_level.txt +0 -0
  583. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_api.py +0 -0
  584. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_api_compatibility.py +0 -0
  585. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_cli.py +0 -0
  586. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_db_utils.py +0 -0
  587. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_failover.py +0 -0
  588. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_global_user_state.py +0 -0
  589. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_jobs.py +0 -0
  590. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_jobs_and_serve.py +0 -0
  591. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_jobs_state_async_vs_sync.py +0 -0
  592. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_list_accelerators.py +0 -0
  593. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_no_parellel.py +0 -0
  594. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_optimizer_dryruns.py +0 -0
  595. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_optimizer_random_dag.py +0 -0
  596. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_serve_autoscaler.py +0 -0
  597. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_smoke.py +0 -0
  598. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_ssh_proxy_lag.py +0 -0
  599. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_storage.py +0 -0
  600. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/tests/test_wheels.py +0 -0
  601. {skypilot_nightly-1.0.0.dev20250925 → skypilot_nightly-1.0.0.dev20250926}/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.dev20250925
3
+ Version: 1.0.0.dev20250926
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -59,7 +59,7 @@ Requires-Dist: casbin
59
59
  Requires-Dist: sqlalchemy_adapter
60
60
  Requires-Dist: prometheus_client>=0.8.0
61
61
  Requires-Dist: passlib
62
- Requires-Dist: bcrypt
62
+ Requires-Dist: bcrypt==4.0.1
63
63
  Requires-Dist: pyjwt
64
64
  Requires-Dist: gitpython
65
65
  Requires-Dist: types-paramiko
@@ -154,51 +154,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
154
154
  Requires-Dist: aiosqlite; extra == "server"
155
155
  Requires-Dist: greenlet; extra == "server"
156
156
  Provides-Extra: all
157
+ Requires-Dist: botocore>=1.29.10; extra == "all"
158
+ Requires-Dist: pyjwt; extra == "all"
159
+ Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
160
+ Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
161
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
162
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
157
163
  Requires-Dist: ibm-cloud-sdk-core; extra == "all"
164
+ Requires-Dist: google-cloud-storage; extra == "all"
165
+ Requires-Dist: passlib; extra == "all"
166
+ Requires-Dist: greenlet; extra == "all"
158
167
  Requires-Dist: azure-cli>=2.65.0; extra == "all"
159
- Requires-Dist: aiohttp; extra == "all"
160
- Requires-Dist: python-dateutil; extra == "all"
161
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
168
+ Requires-Dist: oci; extra == "all"
169
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
170
+ Requires-Dist: websockets; extra == "all"
162
171
  Requires-Dist: azure-core>=1.31.0; extra == "all"
163
- Requires-Dist: docker; extra == "all"
164
- Requires-Dist: nebius>=0.2.47; extra == "all"
165
- Requires-Dist: colorama<0.4.5; extra == "all"
166
- Requires-Dist: aiosqlite; extra == "all"
167
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
168
172
  Requires-Dist: ray[default]>=2.6.1; extra == "all"
169
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
173
+ Requires-Dist: boto3>=1.26.1; extra == "all"
174
+ Requires-Dist: ibm-vpc; extra == "all"
175
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
176
+ Requires-Dist: azure-common; extra == "all"
170
177
  Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
171
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
172
- Requires-Dist: passlib; extra == "all"
173
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
174
- Requires-Dist: botocore>=1.29.10; extra == "all"
178
+ Requires-Dist: msrestazure; extra == "all"
179
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
180
+ Requires-Dist: tomli; python_version < "3.11" and extra == "all"
181
+ Requires-Dist: msgraph-sdk; extra == "all"
175
182
  Requires-Dist: ibm-cos-sdk; extra == "all"
176
- Requires-Dist: casbin; extra == "all"
177
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
178
183
  Requires-Dist: awscli>=1.27.10; extra == "all"
179
- Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
180
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
181
- Requires-Dist: boto3>=1.26.1; extra == "all"
182
- Requires-Dist: msgraph-sdk; extra == "all"
183
- Requires-Dist: msrestazure; extra == "all"
184
184
  Requires-Dist: azure-core>=1.24.0; extra == "all"
185
- Requires-Dist: oci; extra == "all"
186
- Requires-Dist: pyjwt; extra == "all"
187
- Requires-Dist: azure-common; extra == "all"
188
185
  Requires-Dist: anyio; extra == "all"
189
- Requires-Dist: tomli; python_version < "3.11" and extra == "all"
190
- Requires-Dist: ibm-vpc; extra == "all"
186
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
187
+ Requires-Dist: aiosqlite; extra == "all"
188
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
189
+ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
191
190
  Requires-Dist: grpcio>=1.63.0; extra == "all"
192
- Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
191
+ Requires-Dist: pydo>=0.3.0; extra == "all"
192
+ Requires-Dist: casbin; extra == "all"
193
+ Requires-Dist: aiohttp; extra == "all"
194
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
195
+ Requires-Dist: python-dateutil; extra == "all"
196
+ Requires-Dist: nebius>=0.2.47; extra == "all"
197
+ Requires-Dist: docker; extra == "all"
198
+ Requires-Dist: colorama<0.4.5; extra == "all"
193
199
  Requires-Dist: runpod>=1.6.1; extra == "all"
200
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
194
201
  Requires-Dist: sqlalchemy_adapter; extra == "all"
195
- Requires-Dist: google-cloud-storage; extra == "all"
196
- Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
197
- Requires-Dist: websockets; extra == "all"
198
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
199
- Requires-Dist: pydo>=0.3.0; extra == "all"
200
- Requires-Dist: greenlet; extra == "all"
201
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
202
202
  Dynamic: author
203
203
  Dynamic: classifier
204
204
  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 = 'c5a7c4995b9a92ce1c005ad783d2725c7f7f9af2'
10
+ _SKYPILOT_COMMIT_SHA = '827d534c8bbfa61b895467b9431283e923dd9841'
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.dev20250925'
40
+ __version__ = '1.0.0.dev20250926'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -797,7 +797,7 @@ def write_cluster_config(
797
797
  cloud=str(cloud).lower(),
798
798
  region=region.name,
799
799
  keys=('use_ssm',),
800
- default_value=False)
800
+ default_value=None)
801
801
 
802
802
  if use_ssm and ssh_proxy_command is not None:
803
803
  raise exceptions.InvalidCloudConfigs(
@@ -805,15 +805,18 @@ def write_cluster_config(
805
805
  f'is already set to {ssh_proxy_command!r}. Please remove '
806
806
  'ssh_proxy_command or set use_ssm to false.')
807
807
 
808
- if not use_ssm and use_internal_ips and ssh_proxy_command is None:
809
- logger.warning(
810
- f'{colorama.Fore.YELLOW}'
811
- 'use_internal_ips is set to true, '
812
- 'but ssh_proxy_command is not set. Defaulting to '
813
- 'using SSM. Specify ssh_proxy_command to use a different '
814
- 'https://docs.skypilot.co/en/latest/reference/config.html#'
815
- f'aws.ssh_proxy_command.{colorama.Style.RESET_ALL}')
816
- use_ssm = True
808
+ if use_internal_ips and ssh_proxy_command is None:
809
+ # Only if use_ssm is explicitly not set, we default to using SSM.
810
+ if use_ssm is None:
811
+ logger.warning(
812
+ f'{colorama.Fore.YELLOW}'
813
+ 'use_internal_ips is set to true, '
814
+ 'but ssh_proxy_command is not set. Defaulting to '
815
+ 'using SSM. Specify ssh_proxy_command to use a different '
816
+ 'https://docs.skypilot.co/en/latest/reference/config.html#'
817
+ f'aws.ssh_proxy_command.{colorama.Style.RESET_ALL}')
818
+ use_ssm = True
819
+
817
820
  if use_ssm:
818
821
  aws_profile = os.environ.get('AWS_PROFILE', None)
819
822
  profile_str = f'--profile {aws_profile}' if aws_profile else ''
@@ -5906,23 +5906,31 @@ def local():
5906
5906
  required=False,
5907
5907
  help='Name to use for the kubeconfig context. Defaults to "default". '
5908
5908
  'Used with the ip list.')
5909
- @click.option(
5910
- '--name',
5911
- type=str,
5912
- required=False,
5913
- help='Name of the cluster. Defaults to "skypilot". Used without ip list.')
5914
5909
  @click.option('--password',
5915
5910
  type=str,
5916
5911
  required=False,
5917
5912
  help='Password for the ssh-user to execute sudo commands. '
5918
5913
  'Required only if passwordless sudo is not setup.')
5914
+ @click.option(
5915
+ '--name',
5916
+ type=str,
5917
+ required=False,
5918
+ help='Name of the cluster. Defaults to "skypilot". Used without ip list.')
5919
+ @click.option(
5920
+ '--port-start',
5921
+ type=int,
5922
+ required=False,
5923
+ help='Starting port range for the local kind cluster. Needs to be a '
5924
+ 'multiple of 100. If not given, a random range will be used. '
5925
+ 'Used without ip list.')
5919
5926
  @local.command('up', cls=_DocumentedCodeCommand)
5920
5927
  @flags.config_option(expose_value=False)
5921
5928
  @_add_click_options(flags.COMMON_OPTIONS)
5922
5929
  @usage_lib.entrypoint
5923
5930
  def local_up(gpus: bool, ips: str, ssh_user: str, ssh_key_path: str,
5924
- cleanup: bool, context_name: Optional[str], name: Optional[str],
5925
- password: Optional[str], async_call: bool):
5931
+ cleanup: bool, context_name: Optional[str],
5932
+ password: Optional[str], name: Optional[str],
5933
+ port_start: Optional[int], async_call: bool):
5926
5934
  """Creates a local or remote cluster."""
5927
5935
 
5928
5936
  def _validate_args(ips, ssh_user, ssh_key_path, cleanup):
@@ -5968,7 +5976,7 @@ def local_up(gpus: bool, ips: str, ssh_user: str, ssh_key_path: str,
5968
5976
  f'Failed to read SSH key file {ssh_key_path}: {str(e)}')
5969
5977
 
5970
5978
  request_id = sdk.local_up(gpus, ip_list, ssh_user, ssh_key, cleanup,
5971
- context_name, name, password)
5979
+ context_name, password, name, port_start)
5972
5980
  _async_call_or_wait(request_id, async_call, request_name='local up')
5973
5981
 
5974
5982
 
@@ -44,8 +44,10 @@ logger = sky_logging.init_logger(__name__)
44
44
  _DOWNLOAD_CHUNK_BYTES = 8192
45
45
  # The chunk size for the zip file to be uploaded to the API server. We split
46
46
  # the zip file into chunks to avoid network issues for large request body that
47
- # can be caused by NGINX's client_max_body_size.
48
- _UPLOAD_CHUNK_BYTES = 512 * 1024 * 1024
47
+ # can be caused by NGINX's client_max_body_size or Cloudflare's upload limit.
48
+ # As of 09/25/2025, the upload limit for Cloudflare's free plan is 100MiB:
49
+ # https://developers.cloudflare.com/support/troubleshooting/http-status-codes/4xx-client-error/error-413/
50
+ _UPLOAD_CHUNK_BYTES = 100 * 1024 * 1024
49
51
 
50
52
  FILE_UPLOAD_LOGS_DIR = os.path.join(constants.SKY_LOGS_DIRECTORY,
51
53
  'file_uploads')
@@ -1677,8 +1677,9 @@ def local_up(gpus: bool,
1677
1677
  ssh_key: Optional[str],
1678
1678
  cleanup: bool,
1679
1679
  context_name: Optional[str] = None,
1680
+ password: Optional[str] = None,
1680
1681
  name: Optional[str] = None,
1681
- password: Optional[str] = None) -> server_common.RequestId[None]:
1682
+ port_start: Optional[int] = None) -> server_common.RequestId[None]:
1682
1683
  """Launches a Kubernetes cluster on local machines.
1683
1684
 
1684
1685
  Returns:
@@ -1698,8 +1699,9 @@ def local_up(gpus: bool,
1698
1699
  ssh_key=ssh_key,
1699
1700
  cleanup=cleanup,
1700
1701
  context_name=context_name,
1702
+ password=password,
1701
1703
  name=name,
1702
- password=password)
1704
+ port_start=port_start)
1703
1705
  response = server_common.make_authenticated_request(
1704
1706
  'POST', '/local_up', json=json.loads(body.model_dump_json()))
1705
1707
  return server_common.get_request_id(response)
@@ -1299,8 +1299,9 @@ def local_up(gpus: bool,
1299
1299
  ssh_key: Optional[str],
1300
1300
  cleanup: bool,
1301
1301
  context_name: Optional[str] = None,
1302
+ password: Optional[str] = None,
1302
1303
  name: Optional[str] = None,
1303
- password: Optional[str] = None) -> None:
1304
+ port_start: Optional[int] = None) -> None:
1304
1305
  """Creates a local or remote cluster."""
1305
1306
 
1306
1307
  def _validate_args(ips, ssh_user, ssh_key, cleanup):
@@ -1330,7 +1331,7 @@ def local_up(gpus: bool,
1330
1331
  password)
1331
1332
  else:
1332
1333
  # Run local deployment (kind) if no remote args are specified
1333
- kubernetes_deploy_utils.deploy_local_cluster(name, gpus)
1334
+ kubernetes_deploy_utils.deploy_local_cluster(name, port_start, gpus)
1334
1335
 
1335
1336
 
1336
1337
  def local_down(name: Optional[str] = None) -> 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-16ba1d7187d2e3b1.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/bn-NHt5qTzeTN2PefXuDA/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_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":"bn-NHt5qTzeTN2PefXuDA","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-8e64d11e58eab5cb.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/VXU6_xE28M55BOdwmUUJS/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_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":"VXU6_xE28M55BOdwmUUJS","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- self.__BUILD_MANIFEST=function(s,c,a,e,t,f,u,b,n,o,j,i,r,k){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-444f1804401f04ea.js"],"/_error":["static/chunks/pages/_error-c66a4e8afc46f17b.js"],"/clusters":["static/chunks/pages/clusters-469814d711d63b1b.js"],"/clusters/[cluster]":[s,c,a,f,u,"static/chunks/4676-9da7fdbde90b5549.js",o,e,t,b,j,n,i,"static/chunks/6856-2b3600ff2854d066.js",r,k,"static/chunks/9037-472ee1222cb1e158.js","static/chunks/pages/clusters/[cluster]-e052384df65ef200.js"],"/clusters/[cluster]/[job]":[s,c,a,f,e,t,n,"static/chunks/pages/clusters/[cluster]/[job]-2cb9b15e09cda628.js"],"/config":["static/chunks/pages/config-dfb9bf07b13045f4.js"],"/infra":["static/chunks/pages/infra-aabba60d57826e0f.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-6563820e094f68ca.js"],"/jobs":["static/chunks/pages/jobs-1f70d9faa564804f.js"],"/jobs/pools/[pool]":[s,c,a,u,o,e,t,b,"static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js"],"/jobs/[job]":[s,c,a,f,u,o,e,t,b,n,"static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js"],"/users":["static/chunks/pages/users-018bf31cda52e11b.js"],"/volumes":["static/chunks/pages/volumes-739726d6b823f532.js"],"/workspace/new":["static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js"],"/workspaces":["static/chunks/pages/workspaces-7528cc0ef8c522c5.js"],"/workspaces/[name]":[s,c,a,f,u,"static/chunks/1836-37fede578e2da5f8.js",e,t,b,j,n,i,r,k,"static/chunks/1141-159df2d4c441a9d1.js","static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/pools/[pool]","/jobs/[job]","/users","/volumes","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/616-3d59f75e2ccf9321.js","static/chunks/6130-2be46d70a38f1e82.js","static/chunks/5739-d67458fcb1386c92.js","static/chunks/6989-01359c57e018caa4.js","static/chunks/3850-ff4a9a69d978632b.js","static/chunks/7411-b15471acd2cba716.js","static/chunks/1272-1ef0bf0237faccdb.js","static/chunks/8969-d8bc3a2b9cf839a9.js","static/chunks/6135-4b4d5e824b7f9d3c.js","static/chunks/754-d0da8ab45f9509e9.js","static/chunks/6990-f6818c84ed8f1c86.js","static/chunks/1121-b911fc0a0b4742f0.js","static/chunks/6601-06114c982db410b6.js","static/chunks/3015-88c7c8d69b0b6dba.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
1
+ self.__BUILD_MANIFEST=function(s,c,a,t,e,f,u,n,b,o,j,i,r,k){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-444f1804401f04ea.js"],"/_error":["static/chunks/pages/_error-c66a4e8afc46f17b.js"],"/clusters":["static/chunks/pages/clusters-469814d711d63b1b.js"],"/clusters/[cluster]":[s,c,a,f,u,"static/chunks/4676-9da7fdbde90b5549.js",o,t,e,n,j,b,i,"static/chunks/6856-2b3600ff2854d066.js",r,k,"static/chunks/9037-d0c00018a5ba198c.js","static/chunks/pages/clusters/[cluster]-e052384df65ef200.js"],"/clusters/[cluster]/[job]":[s,c,a,f,t,e,b,"static/chunks/pages/clusters/[cluster]/[job]-ad77b12fc736dca3.js"],"/config":["static/chunks/pages/config-dfb9bf07b13045f4.js"],"/infra":["static/chunks/pages/infra-aabba60d57826e0f.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-6563820e094f68ca.js"],"/jobs":["static/chunks/pages/jobs-1f70d9faa564804f.js"],"/jobs/pools/[pool]":[s,c,a,u,o,t,e,n,"static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js"],"/jobs/[job]":[s,c,a,f,u,o,t,e,n,b,"static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js"],"/users":["static/chunks/pages/users-018bf31cda52e11b.js"],"/volumes":["static/chunks/pages/volumes-739726d6b823f532.js"],"/workspace/new":["static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js"],"/workspaces":["static/chunks/pages/workspaces-7528cc0ef8c522c5.js"],"/workspaces/[name]":[s,c,a,f,u,"static/chunks/1836-37fede578e2da5f8.js",t,e,n,j,b,i,r,k,"static/chunks/1141-159df2d4c441a9d1.js","static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/pools/[pool]","/jobs/[job]","/users","/volumes","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/616-3d59f75e2ccf9321.js","static/chunks/6130-2be46d70a38f1e82.js","static/chunks/5739-d67458fcb1386c92.js","static/chunks/6989-01359c57e018caa4.js","static/chunks/3850-ff4a9a69d978632b.js","static/chunks/7411-b15471acd2cba716.js","static/chunks/1272-1ef0bf0237faccdb.js","static/chunks/8969-d8bc3a2b9cf839a9.js","static/chunks/6135-4b4d5e824b7f9d3c.js","static/chunks/754-d0da8ab45f9509e9.js","static/chunks/6990-f6818c84ed8f1c86.js","static/chunks/1121-d0782b9251f0fcd3.js","static/chunks/6601-06114c982db410b6.js","static/chunks/3015-88c7c8d69b0b6dba.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -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 m},Be:function(){return h},Vq:function(){return c},cN:function(){return _},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 _=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})};_.displayName="DialogFooter";let m=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})});m.displayName=o.Dx.displayName;let h=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})});h.displayName=o.dk.displayName},23266:function(e,t,a){a.d(t,{GH:function(){return f},QL:function(){return m},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,summary_response:null==e})).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,cluster_name_on_cloud:e.cluster_name_on_cloud,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(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;try{let a={days:t,dashboard_summary_response:!0};e&&(a.cluster_hashes=[e]);let r=await o.x.fetch("/cost_report",a);console.log("Raw cluster history data:",r);let s=r.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,cluster_name_on_cloud:null,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:",s),s}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),_=document.createElement("a"),m=new Date().toISOString().replace(/[:.]/g,"-"),h=a&&1===a.length?"job-".concat(a[0]):"jobs";_.href=f,_.download="".concat(t,"-").concat(h,"-logs-").concat(m,".zip"),document.body.appendChild(_),_.click(),_.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 _(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 m(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,m]=(0,r.useState)(!0),h=(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]),g=(0,r.useCallback)(async e=>{if(t)try{m(!0);let a=await l.default.get(_,[{clusterName:t,workspace:e||"default"}]);c(a)}catch(e){console.error("Error fetching cluster job data:",e)}finally{m(!1)}},[t]),p=(0,r.useCallback)(async()=>{l.default.invalidate(u,[{clusterNames:[t]}]);let e=await h();e&&(l.default.invalidate(_,[{clusterName:t,workspace:e.workspace||"default"}]),await g(e.workspace))},[h,g,t]),w=(0,r.useCallback)(async()=>{s&&(l.default.invalidate(_,[{clusterName:t,workspace:s.workspace||"default"}]),await g(s.workspace))},[g,s,t]);return(0,r.useEffect)(()=>{(async()=>{let e=await h();e&&g(e.workspace)})()},[t,a,h,g]),{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),[]}}}}]);
@@ -0,0 +1,6 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9037],{39037:function(e,s,t){t.r(s),t.d(s,{ClusterTable:function(){return _},Clusters:function(){return I},Status2Actions:function(){return W},enabledActions:function(){return O},handleVSCodeConnection:function(){return q}});var r=t(85893),a=t(67294),l=t(11163),n=t(55739),c=t(36989),i=t(41664),o=t.n(i),u=t(30803),d=t(37673),h=t(68764),x=t(23266),p=t(17324),m=t(94545),f=t(13626),j=t(60998);/**
2
+ * @license lucide-react v0.407.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */let g=(0,j.Z)("Terminal",[["polyline",{points:"4 17 10 11 4 5",key:"akl6gq"}],["line",{x1:"12",x2:"20",y1:"19",y2:"19",key:"q2wloq"}]]),v=(0,j.Z)("SquareCode",[["path",{d:"M10 9.5 8 12l2 2.5",key:"3mjy60"}],["path",{d:"m14 9.5 2 2.5-2 2.5",key:"1bir2l"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);t(6135);var y=t(92128),w=t(99307),b=t(23001),k=t(88950),N=t(6378),C=t(36856);t(1272);var S=t(20546);let L=[{label:"Status",value:"status"},{label:"Cluster",value:"cluster"},{label:"User",value:"user"},{label:"Workspace",value:"workspace"},{label:"Infra",value:"infra"}],M=(e,s)=>{let t="",r="";return e>=0&&(t=e+"m",r=" "),s&&(t+="".concat(r,"(down)")),""===t&&(t="-"),t},R=(e,s)=>{if(e&&e.includes("@")){let t=e.split("@")[0];return s&&s!==t?"".concat(t," (").concat(s,")"):t}let t=e||s||"N/A";return s&&s!==t?"".concat(t," (").concat(s,")"):t},E=e=>{if(!e||0===e)return"-";let s=e=Math.floor(e),t="",r=0;for(let e of[{value:31536e3,label:"y"},{value:2592e3,label:"mo"},{value:86400,label:"d"},{value:3600,label:"h"},{value:60,label:"m"},{value:1,label:"s"}])if(s>=e.value&&r<2){let a=Math.floor(s/e.value);t+="".concat(a).concat(e.label," "),s%=e.value,r++}return t.trim()||"0s"};function I(){let e=(0,l.useRouter)(),[s,t]=(0,a.useState)(!1),i=a.useRef(null),[u,d]=(0,a.useState)(!1),[h,m]=(0,a.useState)(!1),[j,g]=(0,a.useState)(null),[v,w]=(0,a.useState)(()=>!!e.isReady&&"true"===e.query.history),[S,M]=(0,a.useState)(!0),[E,I]=(0,a.useState)(()=>{if(e.isReady){let s=e.query.historyDays;if(s&&"string"==typeof s&&["1","5","10","30"].includes(s))return parseInt(s)}return 1}),q=(0,b.X)(),[H,O]=(0,a.useState)([]),[F,W]=(0,a.useState)({status:[],cluster:[],user:[],workspace:[],infra:[]}),[D,P]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(e.isReady){U();let s="true"===e.query.history;v!==s&&(M(!1),w(s),setTimeout(()=>M(!0),50));let t=e.query.historyDays;if(t&&"string"==typeof t&&["1","5","10","30"].includes(t)){let e=parseInt(t);E!==e&&I(e)}}},[e.isReady,e.query.history,e.query.historyDays]),(0,a.useEffect)(()=>{(async()=>{try{await C.ZP.preloadForPage("clusters");let e=await N.default.get(p.getWorkspaces),s=Object.keys(e),t=await N.default.get(x.getClusters),r=[...new Set(t.map(e=>e.workspace||"default").filter(e=>e))],a=new Set(s);r.includes("default")&&a.has("default"),r.forEach(e=>a.add(e));let l=[...new Set(t.map(e=>({userId:e.user_hash||e.user,username:e.user})).filter(e=>e.userId)).values()],n=new Map;l.forEach(e=>{n.set(e.userId,{userId:e.userId,username:e.username,display:R(e.username,e.userId)})}),P(!0)}catch(e){console.error("Error fetching data for filters:",e),P(!0)}})()},[]);let Z=s=>{let t={...e.query},r=[],a=[],l=[];s.map((e,s)=>{var t;r.push(null!==(t=e.property.toLowerCase())&&void 0!==t?t:""),a.push(e.operator),l.push(e.value)}),t.property=r,t.operator=a,t.value=l,e.replace({pathname:e.pathname,query:t},void 0,{shallow:!0})},A=s=>{let t={...e.query};t.history=s.toString(),e.replace({pathname:e.pathname,query:t},void 0,{shallow:!0})},B=s=>{let t={...e.query};t.historyDays=s.toString(),e.replace({pathname:e.pathname,query:t},void 0,{shallow:!0})},U=()=>{let s={...e.query},t=s.property,r=s.operator,a=s.value;if(void 0===t)return;let l=[],n=Array.isArray(t)?t.length:1,c=new Map;if(c.set("",""),c.set("status","Status"),c.set("cluster","Cluster"),c.set("user","User"),c.set("workspace","Workspace"),c.set("infra","Infra"),1===n)l.push({property:c.get(t),operator:r,value:a});else for(let e=0;e<n;e++)l.push({property:c.get(t[e]),operator:r[e],value:a[e]});O(l)};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1 min-h-[20px]",children:[(0,r.jsx)("div",{className:"flex items-center gap-2",children:(0,r.jsx)(o(),{href:"/clusters",className:"text-sky-blue hover:underline leading-none text-base",children:"Sky Clusters"})}),(0,r.jsx)("div",{className:"w-full sm:w-auto",children:(0,r.jsx)(V,{propertyList:L,valueList:F,setFilters:O,updateURLParams:Z,placeholder:"Filter clusters"})}),(0,r.jsxs)("div",{className:"flex items-center gap-2 ml-auto",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("label",{className:"flex items-center cursor-pointer",children:[(0,r.jsx)("input",{type:"checkbox",checked:v,onChange:e=>{let s=e.target.checked;w(s),A(s)},className:"sr-only"}),(0,r.jsx)("div",{className:"relative inline-flex h-5 w-9 items-center rounded-full ".concat(S?"transition-colors":""," ").concat(v?"bg-sky-600":"bg-gray-300"),children:(0,r.jsx)("span",{className:"inline-block h-3 w-3 transform rounded-full bg-white ".concat(S?"transition-transform":""," ").concat(v?"translate-x-5":"translate-x-1")})}),(0,r.jsx)("span",{className:"ml-2 text-sm text-gray-700",children:"Show history"})]}),v&&(0,r.jsxs)(k.Ph,{value:E.toString(),onValueChange:e=>{let s=parseInt(e);I(s),B(s)},children:[(0,r.jsx)(k.i4,{className:"w-24 h-8 text-xs",children:(0,r.jsx)(k.ki,{})}),(0,r.jsxs)(k.Bw,{children:[(0,r.jsx)(k.Ql,{value:"1",children:"1 day"}),(0,r.jsx)(k.Ql,{value:"5",children:"5 days"}),(0,r.jsx)(k.Ql,{value:"10",children:"10 days"}),(0,r.jsx)(k.Ql,{value:"30",children:"30 days"})]})]})]}),s&&(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(n.Z,{size:15,className:"mt-0"}),(0,r.jsx)("span",{className:"ml-2 text-gray-500 text-sm",children:"Loading..."})]}),(0,r.jsxs)("button",{onClick:()=>{N.default.invalidate(x.getClusters),N.default.invalidate(p.getWorkspaces),v&&N.default.invalidate(x.uR),P(!1),C.ZP.preloadForPage("clusters",{force:!0}).then(()=>{P(!0),i.current&&i.current()})},disabled:s,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:[(0,r.jsx)(f.Z,{className:"h-4 w-4 mr-1.5"}),!q&&(0,r.jsx)("span",{children:"Refresh"})]})]})]}),(0,r.jsx)(z,{filters:H,setFilters:O,updateURLParams:Z}),(0,r.jsx)(_,{refreshInterval:c.yc,setLoading:t,refreshDataRef:i,filters:H,showHistory:v,historyDays:E,onOpenSSHModal:e=>{g(e),d(!0)},onOpenVSCodeModal:e=>{g(e),m(!0)},setOptionValues:W,preloadingComplete:D}),(0,r.jsx)(y.Oh,{isOpen:u,onClose:()=>d(!1),cluster:j}),(0,r.jsx)(y._R,{isOpen:h,onClose:()=>m(!1),cluster:j})]})}function _(e){let{refreshInterval:s,setLoading:t,refreshDataRef:l,filters:i,showHistory:p,historyDays:f,onOpenSSHModal:j,onOpenVSCodeModal:g,setOptionValues:v,preloadingComplete:y}=e,[b,k]=(0,a.useState)([]),[C,L]=(0,a.useState)({key:null,direction:"ascending"}),[R,I]=(0,a.useState)(!1),[_,q]=(0,a.useState)(!0),[H,O]=(0,a.useState)(1),[F,V]=(0,a.useState)(10),z=e=>{let s={status:[],cluster:[],user:[],workspace:[],infra:[]},t=(e,s)=>{e.includes(s)||e.push(s)};return e.map(e=>{t(s.status,e.status),t(s.cluster,e.cluster),t(s.user,e.user),t(s.workspace,e.workspace),t(s.infra,e.infra)}),s},D=a.useCallback(async()=>{t(!0),I(!0);try{let e=await N.default.get(x.getClusters);if(p){let s=await N.default.get(x.uR,[null,f]),t=e.map(e=>({...e,isHistorical:!1})),r=s.map(e=>({...e,isHistorical:!0})),a=[...t];r.forEach(s=>{e.some(e=>e.cluster_hash===s.cluster_hash)||a.push(s)}),v(z(a)),k(a)}else{let s=e.map(e=>({...e,isHistorical:!1}));v(z(s)),k(s)}}catch(e){console.error("Error fetching cluster data:",e),v(z([])),k([])}t(!1),I(!1),q(!1)},[t,p,f,v]),P=(e,s)=>{var t;let{property:r,operator:a,value:l}=s;if(!l)return!0;if(!r){let s=l.toLowerCase();return Object.values(e).some(e=>null==e?void 0:e.toString().toLowerCase().includes(s))}let n=null===(t=e[r.toLowerCase()])||void 0===t?void 0:t.toString().toLowerCase(),c=l.toString().toLowerCase();switch(a){case"=":return n===c;case":":return null==n?void 0:n.includes(c);default:return!0}},Z=a.useMemo(()=>{let e=0===i.length?b:b.filter(e=>{let s=null;for(let t=0;t<i.length;t++){let r=P(e,i[t]);s=null===s?r:s&&r}return s});return(0,m.R0)(e,C.key,C.direction)},[b,C,i]);a.useEffect(()=>{l&&(l.current=D)},[l,D]),(0,a.useEffect)(()=>{k([]);let e=!0;if(y){D();let t=setInterval(()=>{e&&D()},s);return()=>{e=!1,clearInterval(t)}}return()=>{e=!1}},[s,D,y]),(0,a.useEffect)(()=>{O(1)},[b.length]);let A=e=>{let s="ascending";C.key===e&&"ascending"===C.direction&&(s="descending"),L({key:e,direction:s})},B=e=>C.key===e?"ascending"===C.direction?" ↑":" ↓":"",U=Math.ceil(Z.length/F),Q=(H-1)*F,T=Q+F,X=Z.slice(Q,T);return(0,r.jsxs)("div",{children:[(0,r.jsx)(d.Zb,{children:(0,r.jsx)("div",{className:"overflow-x-auto rounded-lg",children:(0,r.jsxs)(h.iA,{className:"min-w-full",children:[(0,r.jsx)(h.xD,{children:(0,r.jsxs)(h.SC,{children:[(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("status"),children:["Status",B("status")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("cluster"),children:["Cluster",B("cluster")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("user"),children:["User",B("user")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("workspace"),children:["Workspace",B("workspace")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("infra"),children:["Infra",B("infra")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("resources_str"),children:["Resources",B("resources_str")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("time"),children:["Started",B("time")]}),p&&(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("duration"),children:["Duration",B("duration")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>A("autostop"),children:["Autostop",B("autostop")]}),(0,r.jsx)(h.ss,{className:"md:sticky md:right-0 md:bg-white",children:"Actions"})]})}),(0,r.jsx)(h.RM,{children:R||!y?(0,r.jsx)(h.SC,{children:(0,r.jsx)(h.pj,{colSpan:9,className:"text-center py-6 text-gray-500",children:(0,r.jsxs)("div",{className:"flex justify-center items-center",children:[(0,r.jsx)(n.Z,{size:20,className:"mr-2"}),(0,r.jsx)("span",{children:"Loading..."})]})})}):X.length>0?X.map((e,s)=>(0,r.jsxs)(h.SC,{children:[(0,r.jsx)(h.pj,{children:(0,r.jsx)(w.OE,{status:e.status})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(o(),{href:"/clusters/".concat(e.isHistorical?e.cluster_hash:e.cluster||e.name),className:"text-blue-600",children:e.cluster||e.name})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(S.H,{username:e.user,userHash:e.user_hash})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(o(),{href:"/workspaces",className:"text-gray-700 hover:text-blue-600 hover:underline",children:e.workspace||"default"})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(c.Md,{content:e.full_infra||e.infra,className:"text-sm text-muted-foreground",children:(0,r.jsxs)("span",{children:[(0,r.jsx)(o(),{href:"/infra",className:"text-blue-600 hover:underline",children:e.cloud}),e.infra.includes("(")&&(0,r.jsx)("span",{children:" "+e.infra.substring(e.infra.indexOf("("))})]})})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(c.Md,{content:e.resources_str_full||e.resources_str,className:"text-sm text-muted-foreground",children:(0,r.jsx)("span",{children:e.resources_str})})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(c.Zg,{date:e.time})}),p&&(0,r.jsx)(h.pj,{children:E(e.duration)}),(0,r.jsx)(h.pj,{children:e.isHistorical?"-":M(e.autostop,e.to_down)}),(0,r.jsx)(h.pj,{className:"text-left md:sticky md:right-0 md:bg-white",children:!e.isHistorical&&(0,r.jsx)(W,{cluster:e.cluster,status:e.status,onOpenSSHModal:j,onOpenVSCodeModal:g})})]},s)):(0,r.jsx)(h.SC,{children:(0,r.jsx)(h.pj,{colSpan:9,className:"text-center py-6 text-gray-500",children:p?"No clusters found":"No active clusters"})})})]})})}),b.length>0&&(0,r.jsx)("div",{className:"flex justify-end items-center py-2 px-4 text-sm text-gray-700",children:(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("span",{className:"mr-2",children:"Rows per page:"}),(0,r.jsxs)("div",{className:"relative inline-block",children:[(0,r.jsxs)("select",{value:F,onChange:e=>{V(parseInt(e.target.value,10)),O(1)},className:"py-1 pl-2 pr-6 appearance-none outline-none cursor-pointer border-none bg-transparent",style:{minWidth:"40px"},children:[(0,r.jsx)("option",{value:10,children:"10"}),(0,r.jsx)("option",{value:30,children:"30"}),(0,r.jsx)("option",{value:50,children:"50"}),(0,r.jsx)("option",{value:100,children:"100"}),(0,r.jsx)("option",{value:200,children:"200"})]}),(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-gray-500 absolute right-0 top-1/2 transform -translate-y-1/2 pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),(0,r.jsx)("div",{children:"".concat(Q+1," - ").concat(Math.min(T,Z.length)," of ").concat(Z.length)}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)(u.z,{variant:"ghost",size:"icon",onClick:()=>{O(e=>Math.max(e-1,1))},disabled:1===H,className:"text-gray-500 h-8 w-8 p-0",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"chevron-left",children:(0,r.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,r.jsx)(u.z,{variant:"ghost",size:"icon",onClick:()=>{O(e=>Math.min(e+1,U))},disabled:H===U||0===U,className:"text-gray-500 h-8 w-8 p-0",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"chevron-right",children:(0,r.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})]})})]})}let q=(e,s)=>{s&&s(e)},H=(e,s)=>{s?s(e):window.open("ssh://".concat(e))},O=e=>"RUNNING"===e?["connect","VSCode"]:[],F={connect:(0,r.jsx)(g,{className:"w-4 h-4 text-gray-500 inline-block"}),VSCode:(0,r.jsx)(v,{className:"w-4 h-4 text-gray-500 inline-block"})};function W(e){let{withLabel:s=!1,cluster:t,status:a,onOpenSSHModal:l,onOpenVSCodeModal:n}=e,i=O(a),o=(0,b.X)(),u=e=>{switch(e){case"connect":H(t,l);break;case"VSCode":q(t,n);break;default:return}};return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex items-center space-x-4",children:Object.entries(F).map(e=>{let t,a,[l,n]=e;switch(l){case"connect":t="Connect",a="Connect with SSH";break;case"VSCode":t="VSCode",a="Open in VS Code"}return(s||(t=""),i.includes(l))?(0,r.jsx)(c.WH,{content:a,className:"capitalize text-sm text-muted-foreground",children:(0,r.jsxs)("button",{onClick:()=>u(l),className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center",children:[n,!o&&(0,r.jsx)("span",{className:"ml-1.5",children:t})]})},l):(0,r.jsx)(c.WH,{content:a,className:"capitalize text-sm text-muted-foreground",children:(0,r.jsxs)("span",{className:"opacity-30 flex items-center cursor-not-allowed text-sm",title:l,children:[n,!o&&(0,r.jsx)("span",{className:"ml-1.5",children:t})]})},l)})})})}let V=e=>{let{propertyList:s=[],valueList:t,setFilters:l,updateURLParams:n,placeholder:c="Filter clusters"}=e,i=(0,a.useRef)(null),o=(0,a.useRef)(null),[u,d]=(0,a.useState)(!1),[h,x]=(0,a.useState)(""),[p,m]=(0,a.useState)("status"),[f,j]=(0,a.useState)([]);(0,a.useEffect)(()=>{let e=e=>{o.current&&!o.current.contains(e.target)&&i.current&&!i.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,a.useEffect)(()=>{let e=[];if(t&&"object"==typeof t)switch(p){case"status":e=t.status||[];break;case"user":e=t.user||[];break;case"cluster":e=t.cluster||[];break;case"workspace":e=t.workspace||[];break;case"infra":e=t.infra||[]}""!==h.trim()&&(e=e.filter(e=>e&&e.toString().toLowerCase().includes(h.toLowerCase()))),j(e)},[p,t,h]);let g=e=>{let t=s.find(s=>s.value===e);return t?t.label:e},v=e=>{l(s=>{let t=[...s,{property:g(p),operator:":",value:e}];return n(t),t}),d(!1),x(""),i.current.focus()};return(0,r.jsxs)("div",{className:"flex flex-row border border-gray-300 rounded-md overflow-visible",children:[(0,r.jsx)("div",{className:"border-r border-gray-300 flex-shrink-0",children:(0,r.jsxs)(k.Ph,{onValueChange:m,value:p,children:[(0,r.jsx)(k.i4,{"aria-label":"Filter Property",className:"focus:ring-0 focus:ring-offset-0 border-none rounded-l-md rounded-r-none w-20 sm:w-24 md:w-32 h-8 text-xs sm:text-sm",children:(0,r.jsx)(k.ki,{placeholder:"Status"})}),(0,r.jsx)(k.Bw,{children:s.map((e,s)=>(0,r.jsx)(k.Ql,{value:e.value,children:e.label},"property-item-".concat(s)))})]})}),(0,r.jsxs)("div",{className:"relative flex-1",children:[(0,r.jsx)("input",{type:"text",ref:i,placeholder:c,value:h,onChange:e=>{x(e.target.value),u||d(!0)},onFocus:()=>{d(!0)},onKeyDown:e=>{"Enter"===e.key&&""!==h.trim()?(l(e=>{let s=[...e,{property:g(p),operator:":",value:h}];return n(s),s}),x(""),d(!1)):"Escape"===e.key&&(d(!1),i.current.blur())},className:"h-8 w-full sm:w-96 px-3 pr-8 text-sm border-none rounded-l-none rounded-r-md focus:ring-0 focus:outline-none",autoComplete:"off"}),h&&(0,r.jsx)("button",{onClick:()=>{x(""),d(!1)},className:"absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600",title:"Clear filter",tabIndex:-1,children:(0,r.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),u&&f.length>0&&(0,r.jsx)("div",{ref:o,className:"absolute z-50 mt-1 w-full bg-white border border-gray-200 rounded-md shadow-lg max-h-60 overflow-y-auto",style:{zIndex:9999},children:f.map((e,s)=>(0,r.jsx)("div",{className:"px-3 py-2 cursor-pointer hover:bg-gray-50 text-sm ".concat(s!==f.length-1?"border-b border-gray-100":""),onClick:()=>v(e),children:(0,r.jsx)("span",{className:"text-sm text-gray-700",children:e})},"".concat(e,"-").concat(s)))})]})]})},z=e=>{let{filters:s=[],setFilters:t,updateURLParams:a}=e,l=e=>{t(s=>{let t=s.filter((s,t)=>t!==e);return a(t),t})};return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex items-center gap-4 py-2 px-2",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-content gap-2",children:[s.map((e,s)=>(0,r.jsx)(D,{filter:e,onRemove:()=>l(s)},"filteritem-".concat(s))),s.length>0&&(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("button",{onClick:()=>{a([]),t([])},className:"rounded-full px-4 py-1 text-sm text-gray-700 bg-gray-200 hover:bg-gray-300",children:"Clear filters"})})]})})})},D=e=>{let{filter:s,onRemove:t}=e;return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"flex items-center text-blue-600 bg-blue-100 px-1 py-1 rounded-full text-sm",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 px-2",children:[(0,r.jsx)("span",{children:"".concat(s.property," ")}),(0,r.jsx)("span",{children:"".concat(s.operator," ")}),(0,r.jsx)("span",{children:" ".concat(s.value)})]}),(0,r.jsx)("button",{onClick:()=>t(),className:"p-0.5 ml-1 transform text-gray-400 hover:text-gray-600 bg-blue-500 hover:bg-blue-600 rounded-full flex flex-col items-center",title:"Clear filter",children:(0,r.jsx)("svg",{className:"h-3 w-3",fill:"none",stroke:"white",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:5,d:"M6 18L18 6M6 6l12 12"})})})]})})}}}]);
@@ -0,0 +1,16 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9826,2350,7325],{94966:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/clusters/[cluster]/[job]",function(){return s(50190)}])},27325:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});/**
2
+ * @license lucide-react v0.407.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */let a=(0,s(60998).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},16826:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});/**
7
+ * @license lucide-react v0.407.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */let a=(0,s(60998).Z)("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]])},13626:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});/**
12
+ * @license lucide-react v0.407.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */let a=(0,s(60998).Z)("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]])},99307:function(e,t,s){"use strict";s.d(t,{Cl:function(){return l},OE:function(){return d}});var a=s(85893);s(67294);var r=s(55739),n=s(36989),c=s(53850);let l=e=>{switch(e){case"LAUNCHING":return"bg-blue-100 text-sky-blue";case"RUNNING":case"IN_USE":case"READY":return"bg-green-50 text-green-700";case"STOPPED":return"bg-yellow-100 text-yellow-800";case"TERMINATED":case"PENDING":case"UNKNOWN":default:return"bg-gray-100 text-gray-800";case"SUCCEEDED":case"PROVISIONING":case"CONTROLLER_INIT":case"REPLICA_INIT":return"bg-blue-50 text-blue-700";case"FAILED":case"FAILED_PRECHECKS":case"FAILED_NO_RESOURCE":case"FAILED_CONTROLLER":case"FAILED_INITIAL_DELAY":case"FAILED_PROBING":case"FAILED_PROVISION":case"FAILED_CLEANUP":case"CONTROLLER_FAILED":return"bg-red-50 text-red-700";case"CANCELLED":case"CANCELLING":case"NOT_READY":return"bg-yellow-50 text-yellow-700";case"RECOVERING":case"SHUTTING_DOWN":return"bg-orange-50 text-orange-700";case"SUBMITTED":return"bg-indigo-50 text-indigo-700";case"STARTING":return"bg-cyan-50 text-cyan-700";case"FAILED_SETUP":return"bg-pink-50 text-pink-700";case"PREEMPTED":case"NO_REPLICA":return"bg-purple-50 text-purple-700"}},o=e=>{switch(e){case"LAUNCHING":case"STARTING":case"PROVISIONING":case"SHUTTING_DOWN":return(0,a.jsx)(r.Z,{size:12,className:"w-3 h-3 mr-1"});case"RUNNING":case"IN_USE":default:return(0,a.jsx)(c.W2,{className:"w-3 h-3 mr-1"});case"STOPPED":case"PREEMPTED":return(0,a.jsx)(c.fp,{className:"w-3 h-3 mr-1"});case"TERMINATED":case"FAILED":case"CANCELLED":case"FAILED_INITIAL_DELAY":case"FAILED_PROBING":case"FAILED_PROVISION":case"FAILED_CLEANUP":case"CONTROLLER_FAILED":case"UNKNOWN":return(0,a.jsx)(c.Ps,{className:"w-3 h-3 mr-1"});case"SUCCEEDED":return(0,a.jsx)(c.Ye,{className:"w-3 h-3 mr-1"});case"PENDING":case"RECOVERING":case"SUBMITTED":case"CANCELLING":case"FAILED_SETUP":case"FAILED_PRECHECKS":case"FAILED_NO_RESOURCE":case"FAILED_CONTROLLER":case"READY":case"NOT_READY":case"CONTROLLER_INIT":case"REPLICA_INIT":case"NO_REPLICA":return(0,a.jsx)(c.J$,{className:"w-3 h-3 mr-1"})}},i=e=>{let t=l(e),s=o(e);return(0,a.jsxs)("span",{className:"".concat("inline-flex items-center px-2 py-1 rounded-full text-sm"," ").concat(t),children:[s,e]})},d=e=>{let{status:t}=e;return(0,a.jsx)(n.WH,{content:t,className:"text-muted-foreground text-sm",children:(0,a.jsx)("span",{children:i(t)})})}},20546:function(e,t,s){"use strict";s.d(t,{H:function(){return d}});var a=s(85893);s(67294);var r=s(41664),n=s.n(r),c=s(45697),l=s.n(c);function o(e){return!!e&&"string"==typeof e&&e.toLowerCase().startsWith("sa-")}let i=()=>(0,a.jsx)("span",{className:"px-2 py-0.5 text-xs bg-blue-100 text-blue-700 rounded font-medium ml-1",children:"SA"}),d=e=>{let{username:t,userHash:s,className:r="flex items-center gap-1",linkClassName:c="text-gray-700 hover:text-blue-600 hover:underline",showBadge:l=!0}=e,d=o(s),u=o(s)?"/users?tab=service-accounts":"/users";return(0,a.jsxs)("div",{className:r,children:[(0,a.jsx)(n(),{href:u,className:c,children:t}),l&&d&&(0,a.jsx)(i,{})]})};d.propTypes={username:l().string.isRequired,userHash:l().string,className:l().string,linkClassName:l().string,showBadge:l().bool}},37673:function(e,t,s){"use strict";s.d(t,{Ol:function(){return i},Zb:function(){return o},aY:function(){return h},ll:function(){return d}});var a=s(85893),r=s(67294),n=s(45697),c=s.n(n),l=s(32350);let o=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",s),...n,children:r})});o.displayName="Card",o.propTypes={className:c().string,children:c().node};let i=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",s),...n,children:r})});i.displayName="CardHeader",i.propTypes={className:c().string,children:c().node};let d=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("h3",{ref:t,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",s),...n,children:r})});d.displayName="CardTitle",d.propTypes={className:c().string,children:c().node};let u=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("p",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",s),...n,children:r})});u.displayName="CardDescription",u.propTypes={className:c().string,children:c().node};let h=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",s),...n,children:r})});h.displayName="CardContent",h.propTypes={className:c().string,children:c().node};let m=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",s),...n,children:r})});m.displayName="CardFooter",m.propTypes={className:c().string,children:c().node}},47145:function(e,t,s){"use strict";s.d(t,{x:function(){return r}});var a=s(93225);let r={fetch:async function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"POST",r=window.location.origin,n="".concat(r).concat(a.f4).concat(e),c=await fetch(n,{method:s,headers:"POST"===s?{"Content-Type":"application/json"}:{},body:"POST"===s?JSON.stringify(t):void 0}),l=c.headers.get("X-Skypilot-Request-ID")||c.headers.get("X-Request-ID"),o=await fetch("".concat(r).concat(a.f4,"/api/get?request_id=").concat(l)),i=await o.json();return i.return_value?JSON.parse(i.return_value):[]},post:async(e,t)=>{let s=window.location.origin,r="".concat(s).concat(a.f4).concat(e);return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})},stream:async(e,t,s)=>{let a=(await r.post(e,t)).body.getReader();try{for(;;){let{done:e,value:t}=await a.read();if(e)break;let r=new TextDecoder().decode(t);s(r)}}catch(e){throw console.error("Error in stream:",e),e}},get:async e=>{let t=window.location.origin,s="".concat(t).concat(a.f4).concat(e);return await fetch(s)}}},23266:function(e,t,s){"use strict";s.d(t,{GH:function(){return h},QL:function(){return f},Sl:function(){return u},getClusters:function(){return i},uR:function(){return d}});var a=s(67294),r=s(15821),n=s(47145),c=s(93225),l=s(6378);let o={UP:"RUNNING",STOPPED:"STOPPED",INIT:"LAUNCHING",null:"TERMINATED"};async function i(){let{clusterNames:e=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{return(await n.x.fetch("/status",{cluster_names:e,all_users:!0,include_credentials:!1,summary_response:null==e})).map(e=>{let t="",s=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 s=Math.floor((t-3)/2),a=s+(t-3)%2;return 0===s?e.substring(0,a)+"...":e.substring(0,a)+"..."+e.substring(e.length-s)}(t,25)),{status:o[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:s?"".concat(e.cloud," (").concat(s,")"):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,cluster_name_on_cloud:e.cluster_name_on_cloud,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 d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:30;try{let s={days:t,dashboard_summary_response:!0};e&&(s.cluster_hashes=[e]);let a=await n.x.fetch("/cost_report",s);console.log("Raw cluster history data:",a);let r=a.map(e=>{let t="Unknown";e.cloud?t=e.cloud:e.resources&&e.resources.cloud&&(t=e.resources.cloud);let s=e.user_name||"-";return{status:e.status?o[e.status]:"TERMINATED",cluster:e.name,user:s,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,cluster_name_on_cloud:null,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:",r),r}catch(e){return console.error("Error fetching cluster history:",e),[]}}async function u(e){let{clusterName:t,jobId:s,onNewLog:a,workspace:c}=e;try{await n.x.stream("/logs",{follow:!1,cluster_name:t,job_id:s,tail:1e4,override_skypilot_config:{active_workspace:c||"default"}},a)}catch(e){console.error("Error in streamClusterJobLogs:",e),(0,r.C)("Error in streamClusterJobLogs: ".concat(e.message),"error")}}async function h(e){let{clusterName:t,jobIds:s=null,workspace:a}=e;try{let e=await n.x.fetch("/download_logs",{cluster_name:t,job_ids:s?s.map(String):null,override_skypilot_config:{active_workspace:a||"default"}}),l=Object.values(e||{});if(!l.length){(0,r.C)("No logs found to download.","warning");return}let o=window.location.origin,i="".concat(o).concat(c.f4,"/download"),d=await fetch("".concat(i,"?relative=items"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({folder_paths:l})});if(!d.ok){let e=await d.text();throw Error("Download failed: ".concat(d.status," ").concat(e))}let u=await d.blob(),h=window.URL.createObjectURL(u),m=document.createElement("a"),f=new Date().toISOString().replace(/[:.]/g,"-"),x=s&&1===s.length?"job-".concat(s[0]):"jobs";m.href=h,m.download="".concat(t,"-").concat(x,"-logs-").concat(f,".zip"),document.body.appendChild(m),m.click(),m.remove(),window.URL.revokeObjectURL(h)}catch(e){console.error("Error downloading logs:",e),(0,r.C)("Error downloading logs: ".concat(e.message),"error")}}async function m(e){let{clusterName:t,workspace:s}=e;try{return(await n.x.fetch("/queue",{cluster_name:t,all_users:!0,override_skypilot_config:{active_workspace:s}})).map(e=>{var a;let r=e.end_at?e.end_at:Date.now()/1e3,n=0,c=0;return e.submitted_at&&(n=r-e.submitted_at),e.start_at&&(c=r-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:n,job_duration:c,infra:"",logs:"",workspace:s||"default",git_commit:(null===(a=e.metadata)||void 0===a?void 0:a.git_commit)||"-"}})}catch(e){return console.error("Error fetching cluster jobs:",e),[]}}function f(e){let{cluster:t,job:s=null}=e,[r,n]=(0,a.useState)(null),[c,o]=(0,a.useState)(null),[d,u]=(0,a.useState)(!0),[h,f]=(0,a.useState)(!0),x=(0,a.useCallback)(async()=>{if(t)try{u(!0);let e=await l.default.get(i,[{clusterNames:[t]}]);return n(e[0]),e[0]}catch(e){console.error("Error fetching cluster data:",e)}finally{u(!1)}return null},[t]),g=(0,a.useCallback)(async e=>{if(t)try{f(!0);let s=await l.default.get(m,[{clusterName:t,workspace:e||"default"}]);o(s)}catch(e){console.error("Error fetching cluster job data:",e)}finally{f(!1)}},[t]),N=(0,a.useCallback)(async()=>{l.default.invalidate(i,[{clusterNames:[t]}]);let e=await x();e&&(l.default.invalidate(m,[{clusterName:t,workspace:e.workspace||"default"}]),await g(e.workspace))},[x,g,t]),b=(0,a.useCallback)(async()=>{r&&(l.default.invalidate(m,[{clusterName:t,workspace:r.workspace||"default"}]),await g(r.workspace))},[g,r,t]);return(0,a.useEffect)(()=>{(async()=>{let e=await x();e&&g(e.workspace)})()},[t,s,x,g]),{clusterData:r,clusterJobData:c,loading:d,clusterDetailsLoading:d,clusterJobsLoading:h,refreshData:N,refreshClusterJobsOnly:b}}},15821:function(e,t,s){"use strict";function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3,a=document.getElementById("toast-container");a||((a=document.createElement("div")).id="toast-container",a.className="fixed top-0 right-0 p-4 z-[9999] flex flex-col items-end space-y-2",document.body.appendChild(a));let r=document.createElement("div");switch(r.className="rounded-md border-l-4 p-4 shadow-md flex items-center justify-between max-w-md w-full mb-2 pointer-events-auto",t){case"success":r.className+=" bg-green-100 border-green-500 text-green-800";break;case"error":r.className+=" bg-red-100 border-red-500 text-red-800";break;case"warning":r.className+=" bg-yellow-100 border-yellow-500 text-yellow-800";break;default:r.className+=" bg-blue-100 border-blue-500 text-blue-800"}return r.innerHTML='\n <div class="flex-1 mr-2">\n <p class="text-sm font-medium">'.concat(e,'</p>\n </div>\n <button class="text-gray-500 hover:text-gray-700 focus:outline-none" aria-label="Close toast">\n <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>\n </button>\n '),a.appendChild(r),r.querySelector("button").addEventListener("click",()=>{a.removeChild(r)}),setTimeout(()=>{a.contains(r)&&a.removeChild(r)},s),r}s.d(t,{C:function(){return a}})},6378:function(e,t,s){"use strict";s.r(t),s.d(t,{DashboardCache:function(){return r},dashboardCache:function(){return n}});let a=s(51214).ej.DEFAULT_TTL;class r{setPreloader(e){this.preloader=e}async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=s.ttl||a,n=!1!==s.refreshOnAccess,c=this._generateKey(e,t),l=e.name||"anonymous",o=this.cache.get(c),i=Date.now();if(o&&i-o.lastUpdated<r){let s=Math.round((i-o.lastUpdated)/1e3);if(this._debug("Cache HIT for ".concat(l," (age: ").concat(s,"s, TTL: ").concat(Math.round(r/1e3),"s)")),n&&(this.cache.set(c,{data:o.data,lastUpdated:i}),this._debug("Cache TTL refreshed for ".concat(l))),!this.backgroundJobs.has(c)){var d;(null===(d=this.preloader)||void 0===d?void 0:d.wasRecentlyPreloaded(e,t))?this._debug("Skipping background refresh for ".concat(l," - recently preloaded")):this._refreshInBackground(e,t,c)}return o.data}try{let s=await e(...t);return this.cache.set(c,{data:s,lastUpdated:i}),s}catch(e){if(o)return console.warn("Failed to fetch fresh data for ".concat(c,", returning stale data:"),e),o.data;throw e}}invalidate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=this._generateKey(e,t);this.cache.delete(s),this.backgroundJobs.delete(s)}invalidateFunction(e){let t=e.name||"anonymous",s=[];for(let e of this.cache.keys())e.startsWith("".concat(t,"_"))&&s.push(e);s.forEach(e=>{this.cache.delete(e),this.backgroundJobs.delete(e)})}clear(){this.cache.clear(),this.backgroundJobs.clear()}getStats(){return{cacheSize:this.cache.size,backgroundJobs:this.backgroundJobs.size,keys:Array.from(this.cache.keys())}}getDetailedStats(){let e=Date.now(),t=[];for(let[s,a]of this.cache.entries()){let r=e-a.lastUpdated;t.push({key:s,age:Math.round(r/1e3),lastUpdated:new Date(a.lastUpdated).toISOString(),hasBackgroundJob:this.backgroundJobs.has(s)})}return{cacheSize:this.cache.size,backgroundJobs:this.backgroundJobs.size,entries:t.sort((e,t)=>e.age-t.age)}}setDebugMode(e){this.debugMode=e}_debug(e){for(var t=arguments.length,s=Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];this.debugMode&&console.log("[DashboardCache] ".concat(e),...s)}_refreshInBackground(e,t,s){this.backgroundJobs.set(s,!0),e(...t).then(e=>{this.cache.set(s,{data:e,lastUpdated:Date.now()})}).catch(e=>{console.warn("Background refresh failed for ".concat(s,":"),e)}).finally(()=>{this.backgroundJobs.delete(s)})}_generateKey(e,t){let s=function(e){let t=5381;for(let s=0;s<e.length;s++)t=(t<<5)+t+e.charCodeAt(s);return t>>>0}(e.toString()),a=t.length>0?JSON.stringify(t):"";return"".concat(s,"_").concat(a)}constructor(){this.cache=new Map,this.backgroundJobs=new Map,this.debugMode=!1,this.preloader=null}}let n=new r;t.default=n},32350:function(e,t,s){"use strict";s.d(t,{cn:function(){return n}});var a=s(90512),r=s(98388);function n(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,r.m6)((0,a.W)(t))}},50190:function(e,t,s){"use strict";s.r(t),s.d(t,{JobDetailPage:function(){return w}});var a=s(85893),r=s(67294);s(6135);var n=s(37673),c=s(41664),l=s.n(c),o=s(11163),i=s(23266),d=s(36989),u=s(13626),h=s(16826),m=s(55739),f=s(99307),x=s(23001),g=s(9008),N=s.n(g),b=s(20546),p=s(70282),_=s(27325);function y(e){let{cluster:t,job:s,jobData:r,onRefresh:n,isRefreshing:c,loading:o}=e,i=(0,x.X)();return(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4 h-5",children:[(0,a.jsxs)("div",{className:"text-base flex items-center",children:[(0,a.jsx)(l(),{href:"/clusters",className:"text-sky-blue hover:underline",children:"Sky Clusters"}),(0,a.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,a.jsx)(l(),{href:"/clusters/".concat(t),className:"text-sky-blue hover:underline",children:t}),(0,a.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,a.jsxs)(l(),{href:"/clusters/".concat(t,"/").concat(s),className:"text-sky-blue hover:underline",children:[s,r.job&&"-"!=r.job?" (".concat(r.job,")"):""]})]}),(0,a.jsxs)("div",{className:"flex items-center",children:[(o||c)&&(0,a.jsxs)("div",{className:"flex items-center mr-2",children:[(0,a.jsx)(m.Z,{size:15,className:"mt-0"}),(0,a.jsx)("span",{className:"text-sm ml-2 text-gray-500",children:"Loading..."})]}),(0,a.jsx)(d.WH,{content:"Refresh",className:"text-muted-foreground",children:(0,a.jsxs)("button",{onClick:n,disabled:o||c,className:"text-sm text-sky-blue hover:text-sky-blue-bright font-medium mx-2 flex items-center",children:[(0,a.jsx)(u.Z,{className:"w-4 h-4 mr-1.5"}),!i&&(0,a.jsx)("span",{children:"Refresh"})]})})]})]})}function w(){let e=(0,o.useRouter)(),{cluster:t,job:s}=e.query,{clusterData:c,clusterJobData:x,loading:g,refreshData:w}=(0,i.QL)({cluster:t}),[j,v]=(0,r.useState)(!1),[E,k]=(0,r.useState)(!0),[I,C]=(0,r.useState)(!1),[D,L]=(0,r.useState)(""),[T,R]=(0,r.useState)(!1),[S,O]=(0,r.useState)(!1),A=(0,r.useMemo)(()=>["INIT","PENDING","SETTING_UP"],[]),P=(0,r.useMemo)(()=>{if(!x||!s)return!0;let e=x.find(e=>e.id==s);return e&&A.includes(e.status)},[x,s,A]);r.useEffect(()=>{!g&&E&&k(!1)},[g,E]),(0,r.useEffect)(()=>{let e=!0;return t&&s&&!P?(C(!0),(0,i.Sl)({clusterName:t,jobId:s,onNewLog:t=>{e&&L(e=>{let s=t.split("\n").filter(e=>e.trim()),a=e;for(let e of s){let t=(0,d.Zn)(e);if(/\d+%\s*\|/.test(t)){let e=t.match(/^\(([^)]+)\)/);if(e&&a){let s=a.split("\n"),r=!1;for(let n=s.length-1;n>=0;n--){let c=s[n];if(/\d+%\s*\|/.test(c)){let l=c.match(/^\(([^)]+)\)/);if(l&&l[1]===e[1]){s[n]=t,a=s.join("\n"),r=!0;break}}}r||(a+=(a?"\n":"")+t)}else a+=(a?"\n":"")+t}else a+=(a?"\n":"")+t}return a})},workspace:null==c?void 0:c.workspace}).then(()=>{e&&C(!1)}).catch(t=>{e&&(console.error("Error streaming logs:",t),C(!1))})):C(!1),()=>{e=!1}},[t,s,T,P,c]);let U=async()=>{v(!0),R(e=>!e),L("");try{w&&await w()}catch(e){console.error("Error refreshing data:",e)}finally{v(!1)}};if(!e.isReady)return(0,a.jsx)("div",{children:"Loading..."});let J={id:s};if(c&&x){let e=x.find(e=>e.id==s);e&&(J={...e,infra:c.infra,cluster:c.cluster,user:c.user,user_hash:c.user_hash})}let F=t&&s?"Job: ".concat(s," @ ").concat(t," | SkyPilot Dashboard"):"Job Details | SkyPilot Dashboard";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N(),{children:(0,a.jsx)("title",{children:F})}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y,{cluster:t,job:s,jobData:J,onRefresh:U,isRefreshing:j,loading:g}),g&&E?(0,a.jsxs)("div",{className:"flex items-center justify-center h-64",children:[(0,a.jsx)(m.Z,{size:24,className:"mr-2"}),(0,a.jsx)("span",{children:"Loading..."})]}):(0,a.jsxs)("div",{className:"space-y-8",children:[(0,a.jsx)("div",{id:"details",children:(0,a.jsxs)(n.Zb,{children:[(0,a.jsx)("div",{className:"flex items-center justify-between px-4 pt-4",children:(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Details"})}),(0,a.jsx)("div",{className:"p-4",children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Job ID"}),(0,a.jsx)("div",{className:"text-base mt-1",children:J.id})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Job Name"}),(0,a.jsx)("div",{className:"text-base mt-1",children:J.job})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Status"}),(0,a.jsx)("div",{className:"text-base mt-1",children:(0,a.jsx)(f.OE,{status:J.status})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"User"}),(0,a.jsx)("div",{className:"text-base mt-1",children:(0,a.jsx)(b.H,{username:J.user,userHash:J.user_hash})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Submitted"}),(0,a.jsx)("div",{className:"text-base mt-1",children:J.submitted_at?(0,d.xn)(J.submitted_at):"N/A"})]}),J.resources&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Requested Resources"}),(0,a.jsx)("div",{className:"text-base mt-1",children:J.resources||"N/A"})]}),J.cluster&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Cluster"}),(0,a.jsx)("div",{className:"text-base mt-1",children:(0,a.jsx)(l(),{href:"/clusters/".concat(J.cluster),className:"text-sky-blue hover:underline",children:J.cluster})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Git Commit"}),(0,a.jsx)("div",{className:"text-base mt-1 flex items-center",children:J.git_commit&&"-"!==J.git_commit?(0,a.jsxs)("span",{className:"flex items-center mr-2",children:[J.git_commit,(0,a.jsx)(d.WH,{content:S?"Copied!":"Copy commit",className:"text-muted-foreground",children:(0,a.jsx)("button",{onClick:async()=>{await navigator.clipboard.writeText(J.git_commit),O(!0),setTimeout(()=>O(!1),2e3)},className:"flex items-center text-gray-500 hover:text-gray-700 transition-colors duration-200 p-1 ml-2",children:S?(0,a.jsx)(p.Z,{className:"w-4 h-4 text-green-600"}):(0,a.jsx)(_.Z,{className:"w-4 h-4"})})})]}):(0,a.jsx)("span",{className:"text-gray-400",children:"-"})})]})]})})]})}),(0,a.jsx)("div",{id:"logs",className:"mt-6",children:(0,a.jsxs)(n.Zb,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4",children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Logs"}),(0,a.jsx)("span",{className:"ml-2 text-xs text-gray-500",children:"(Logs are not streaming; click refresh to fetch the latest logs.)"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,a.jsx)(d.WH,{content:"Download full logs",className:"text-muted-foreground",children:(0,a.jsx)("button",{onClick:()=>(0,i.GH)({clusterName:t,jobIds:s?[s]:null,workspace:null==c?void 0:c.workspace}),className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:(0,a.jsx)(h.Z,{className:"w-4 h-4"})})}),(0,a.jsx)(d.WH,{content:"Refresh logs",className:"text-muted-foreground",children:(0,a.jsx)("button",{onClick:()=>{R(e=>!e),L("")},disabled:I,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:(0,a.jsx)(u.Z,{className:"w-4 h-4 ".concat(I?"animate-spin":"")})})})]})]}),(0,a.jsx)("div",{className:"p-4",children:P?(0,a.jsx)("div",{className:"bg-[#f7f7f7] flex items-center justify-center py-4 text-gray-500",children:(0,a.jsx)("span",{children:"Waiting for the job to start; refresh in a few moments."})}):I?(0,a.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,a.jsx)(m.Z,{size:20,className:"mr-2"}),(0,a.jsx)("span",{children:"Loading..."})]}):(0,a.jsx)("div",{className:"max-h-96 overflow-y-auto",children:(0,a.jsx)(d.$B,{logs:D})})})]})})]})]})]})}t.default=w},9008:function(e,t,s){e.exports=s(37219)}},function(e){e.O(0,[616,6130,5739,7411,6989,3850,6135,2888,9774,179],function(){return e(e.s=94966)}),_N_E=e.O()}]);
@@ -1 +1 @@
1
- !function(){"use strict";var e,t,n,r,c,o,u,a,f,i={},d={};function s(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e](n,n.exports,s),r=!1}finally{r&&delete d[e]}return n.exports}s.m=i,e=[],s.O=function(t,n,r,c){if(n){c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[n,r,c];return}for(var u=1/0,o=0;o<e.length;o++){for(var n=e[o][0],r=e[o][1],c=e[o][2],a=!0,f=0;f<n.length;f++)u>=c&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var i=r();void 0!==i&&(t=i)}}return t},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);s.r(c);var o={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(t){o[t]=function(){return e[t]}});return o.default=function(){return e},s.d(c,o),c},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,n){return s.f[n](e,t),t},[]))},s.u=function(e){return 2350===e?"static/chunks/2350.fab69e61bac57b23.js":7325===e?"static/chunks/7325.b4bc99ce0892dcd5.js":3937===e?"static/chunks/3937.210053269f121201.js":9025===e?"static/chunks/9025.c12318fb6a1a9093.js":3294===e?"static/chunks/3294.03e02ae73455f48e.js":649===e?"static/chunks/649.b9d7f7d10c1b8c53.js":7669===e?"static/chunks/7669.1f5d9a402bf5cc42.js":4045===e?"static/chunks/4045.b30465273dc5e468.js":4725===e?"static/chunks/4725.10f7a9a5d3ea8208.js":5339===e?"static/chunks/5339.4a881570243431a5.js":3785===e?"static/chunks/3785.0fa442e16dd3f00e.js":"static/chunks/"+e+"-"+({616:"3d59f75e2ccf9321",1121:"b911fc0a0b4742f0",1141:"159df2d4c441a9d1",1272:"1ef0bf0237faccdb",1836:"37fede578e2da5f8",3015:"88c7c8d69b0b6dba",3850:"ff4a9a69d978632b",4676:"9da7fdbde90b5549",5739:"d67458fcb1386c92",6130:"2be46d70a38f1e82",6135:"4b4d5e824b7f9d3c",6601:"06114c982db410b6",6856:"2b3600ff2854d066",6989:"01359c57e018caa4",6990:"f6818c84ed8f1c86",7411:"b15471acd2cba716",8969:"d8bc3a2b9cf839a9",9037:"472ee1222cb1e158"})[e]+".js"},s.miniCssF=function(e){},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",s.l=function(e,t,n,o){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var u,a,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var d=f[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==c+n){u=d;break}}u||(a=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.setAttribute("data-webpack",c+n),u.src=s.tu(e)),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),a&&document.head.appendChild(u)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===o&&(o={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/dashboard/_next/",u={2272:0},s.f.j=function(e,t){var n=s.o(u,e)?u[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var c=s.p+s.u(e),o=Error();s.l(c,function(t){if(s.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",o.name="ChunkLoadError",o.type=r,o.request=c,n[1](o)}},"chunk-"+e,e)}else u[e]=0}},s.O.j=function(e){return 0===u[e]},a=function(e,t){var n,r,c=t[0],o=t[1],a=t[2],f=0;if(c.some(function(e){return 0!==u[e]})){for(n in o)s.o(o,n)&&(s.m[n]=o[n]);if(a)var i=a(s)}for(e&&e(t);f<c.length;f++)r=c[f],s.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return s.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f)),s.nc=void 0}();
1
+ !function(){"use strict";var e,t,n,r,c,o,u,a,f,i={},d={};function s(e){var t=d[e];if(void 0!==t)return t.exports;var n=d[e]={exports:{}},r=!0;try{i[e](n,n.exports,s),r=!1}finally{r&&delete d[e]}return n.exports}s.m=i,e=[],s.O=function(t,n,r,c){if(n){c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[n,r,c];return}for(var u=1/0,o=0;o<e.length;o++){for(var n=e[o][0],r=e[o][1],c=e[o][2],a=!0,f=0;f<n.length;f++)u>=c&&Object.keys(s.O).every(function(e){return s.O[e](n[f])})?n.splice(f--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var i=r();void 0!==i&&(t=i)}}return t},s.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},s.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);s.r(c);var o={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(t){o[t]=function(){return e[t]}});return o.default=function(){return e},s.d(c,o),c},s.d=function(e,t){for(var n in t)s.o(t,n)&&!s.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},s.f={},s.e=function(e){return Promise.all(Object.keys(s.f).reduce(function(t,n){return s.f[n](e,t),t},[]))},s.u=function(e){return 2350===e?"static/chunks/2350.fab69e61bac57b23.js":7325===e?"static/chunks/7325.b4bc99ce0892dcd5.js":3937===e?"static/chunks/3937.210053269f121201.js":9025===e?"static/chunks/9025.c12318fb6a1a9093.js":3294===e?"static/chunks/3294.03e02ae73455f48e.js":649===e?"static/chunks/649.b9d7f7d10c1b8c53.js":7669===e?"static/chunks/7669.1f5d9a402bf5cc42.js":4045===e?"static/chunks/4045.b30465273dc5e468.js":4725===e?"static/chunks/4725.10f7a9a5d3ea8208.js":3785===e?"static/chunks/3785.0fa442e16dd3f00e.js":5339===e?"static/chunks/5339.4a881570243431a5.js":"static/chunks/"+e+"-"+({616:"3d59f75e2ccf9321",1121:"d0782b9251f0fcd3",1141:"159df2d4c441a9d1",1272:"1ef0bf0237faccdb",1836:"37fede578e2da5f8",3015:"88c7c8d69b0b6dba",3850:"ff4a9a69d978632b",4676:"9da7fdbde90b5549",5739:"d67458fcb1386c92",6130:"2be46d70a38f1e82",6135:"4b4d5e824b7f9d3c",6601:"06114c982db410b6",6856:"2b3600ff2854d066",6989:"01359c57e018caa4",6990:"f6818c84ed8f1c86",7411:"b15471acd2cba716",8969:"d8bc3a2b9cf839a9",9037:"d0c00018a5ba198c"})[e]+".js"},s.miniCssF=function(e){},s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",s.l=function(e,t,n,o){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var u,a,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var d=f[i];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==c+n){u=d;break}}u||(a=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,s.nc&&u.setAttribute("nonce",s.nc),u.setAttribute("data-webpack",c+n),u.src=s.tu(e)),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),a&&document.head.appendChild(u)},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.tt=function(){return void 0===o&&(o={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},s.tu=function(e){return s.tt().createScriptURL(e)},s.p="/dashboard/_next/",u={2272:0},s.f.j=function(e,t){var n=s.o(u,e)?u[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var c=s.p+s.u(e),o=Error();s.l(c,function(t){if(s.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",o.name="ChunkLoadError",o.type=r,o.request=c,n[1](o)}},"chunk-"+e,e)}else u[e]=0}},s.O.j=function(e){return 0===u[e]},a=function(e,t){var n,r,c=t[0],o=t[1],a=t[2],f=0;if(c.some(function(e){return 0!==u[e]})){for(n in o)s.o(o,n)&&(s.m[n]=o[n]);if(a)var i=a(s)}for(e&&e(t);f<c.length;f++)r=c[f],s.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return s.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f)),s.nc=void 0}();
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-16ba1d7187d2e3b1.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/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-2cb9b15e09cda628.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"bn-NHt5qTzeTN2PefXuDA","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-8e64d11e58eab5cb.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/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-ad77b12fc736dca3.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"VXU6_xE28M55BOdwmUUJS","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-16ba1d7187d2e3b1.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/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/4676-9da7fdbde90b5549.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-d8bc3a2b9cf839a9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-b911fc0a0b4742f0.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-2b3600ff2854d066.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-88c7c8d69b0b6dba.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-472ee1222cb1e158.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-e052384df65ef200.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"bn-NHt5qTzeTN2PefXuDA","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-8e64d11e58eab5cb.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/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/4676-9da7fdbde90b5549.js" defer=""></script><script src="/dashboard/_next/static/chunks/754-d0da8ab45f9509e9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-d8bc3a2b9cf839a9.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-2b3600ff2854d066.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-88c7c8d69b0b6dba.js" defer=""></script><script src="/dashboard/_next/static/chunks/9037-d0c00018a5ba198c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-e052384df65ef200.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"VXU6_xE28M55BOdwmUUJS","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-16ba1d7187d2e3b1.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/clusters-469814d711d63b1b.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"bn-NHt5qTzeTN2PefXuDA","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-8e64d11e58eab5cb.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/clusters-469814d711d63b1b.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"VXU6_xE28M55BOdwmUUJS","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-16ba1d7187d2e3b1.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/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"bn-NHt5qTzeTN2PefXuDA","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-8e64d11e58eab5cb.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/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"VXU6_xE28M55BOdwmUUJS","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-16ba1d7187d2e3b1.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/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/bn-NHt5qTzeTN2PefXuDA/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"bn-NHt5qTzeTN2PefXuDA","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/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-8e64d11e58eab5cb.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/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/VXU6_xE28M55BOdwmUUJS/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"VXU6_xE28M55BOdwmUUJS","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>