skypilot-nightly 1.0.0.dev20251022__tar.gz → 1.0.0.dev20251024__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.
- {skypilot_nightly-1.0.0.dev20251022/skypilot_nightly.egg-info → skypilot_nightly-1.0.0.dev20251024}/PKG-INFO +37 -37
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/__init__.py +2 -2
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/cli/command.py +118 -30
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/cli/table_utils.py +14 -8
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/404.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/IgACOQPupLbX9z-RYVEDx → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/KxZarRnMeQID-gZkBfhzv}/_buildManifest.js +1 -1
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/1141-145e542070a6b615.js +11 -0
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/1871-5f68bb683940d23f.js +6 -0
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/2755.210d4b7c92c6efb2.js +26 -0
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/3015-2dcace420c8939f4.js +1 -0
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/3294.bdfea6492fdf845a.js +1 -0
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/3785.483a3dda2d52f26e.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/3785.e4aaef3b6c460dfb.js +1 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/4725.a830b5c9e7867c92.js +1 -1
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/8632-396a81107ba407c3.js +1 -0
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/9360.07d78b8552bc9d17.js +31 -0
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/_app-7d2f4467a685de9b.js +1 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-602eeead010ec1d6.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-1d90fbf8f0ffd194.js +1 -1
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-5edf81da6677352c.js +1 -0
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/clusters-57221ec2e4e01076.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/clusters-d887733ca514d22e.js +1 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-44ce535a0a0ad4ec.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/infra/[context]-79b68556c00d284e.js +1 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/infra-872e6a00165534f4.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/infra-e1c3789e69102cdb.js +1 -1
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-10f12af2b199ff68.js +16 -0
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/users-3a543725492fb896.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/users-0befb1254ac5c965.js +1 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-9ad108cd67d16d96.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-ecc38434a21e8a1e.js +1 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/webpack-919e3c01ab6b2633.js → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/webpack-31acb2000f9b372c.js +1 -1
- skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/css/4c052b4444e52a58.css +3 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/clusters/[cluster].html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/clusters.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/config.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/index.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/infra/[context].html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/infra.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/jobs/[job].html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/jobs/pools/[pool].html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/jobs.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/users.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/volumes.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/workspace/new.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/workspaces/[name].html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/workspaces.html +1 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/client/sdk.py +28 -9
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/client/sdk_async.py +9 -3
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/server/core.py +3 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/utils.py +33 -22
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/auth/oauth2_proxy.py +2 -5
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/requests.py +39 -6
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/serializers/decoders.py +23 -10
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/serializers/encoders.py +4 -3
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/rest.py +35 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/log_lib.py +8 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/subprocess_daemon.py +103 -29
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/db/db_utils.py +21 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/subprocess_utils.py +13 -1
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024/skypilot_nightly.egg-info}/PKG-INFO +37 -37
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/skypilot_nightly.egg-info/SOURCES.txt +22 -22
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/1141-ec6f902ffb865853.js +0 -11
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/1871-df9f87fcb7f24292.js +0 -6
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/2755.9b1e69c921b5a870.js +0 -26
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/3015-d014dc5b9412fade.js +0 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/3294.998db87cd52a1238.js +0 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js +0 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/9360.14326e329484b57e.js +0 -31
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-18b334dedbd9f6f2.js +0 -1
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-8677af16befde039.js +0 -16
- skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/css/4614e06482d7309e.css +0 -3
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/README.md +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/pyproject.toml +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/setup.cfg +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/cloudflare.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/docker.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/primeintellect.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/seeweb.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/shadeform.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/adaptors/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/admin_policy.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/authentication.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/backend_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/cloud_vm_ray_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/local_docker_backend.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/monkey_patches/monkey_patch_ray_up.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/backends/wheel_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/aws_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/azure_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/cudo_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/analyze.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_seeweb.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_shadeform.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/data_fetchers/fetch_vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/do_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/fluidstack_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/gcp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/hyperbolic_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/ibm_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/kubernetes_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/lambda_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/nebius_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/oci_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/paperspace_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/primeintellect_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/runpod_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/scp_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/seeweb_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/shadeform_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/ssh_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/vast_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/catalog/vsphere_catalog.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/check.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/cli/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/cli/deprecation_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/cli/flags.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/oauth.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/service_account_auth.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/cloud_stores.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/azure.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/cudo.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/do.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/fluidstack.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/hyperbolic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/ibm.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/kubernetes.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/lambda_cloud.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/nebius.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/oci.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/paperspace.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/primeintellect.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/runpod.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/scp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/seeweb.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/shadeform.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/ssh.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/utils/aws_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/utils/azure_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/utils/gcp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/utils/oci_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/utils/scp_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/vast.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/clouds/vsphere.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022/sky/dashboard/out/_next/static/IgACOQPupLbX9z-RYVEDx → skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/KxZarRnMeQID-gZkBfhzv}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/2369.fc20f0c2c8ed9fe7.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/4282-d2f3ef2fbf78e347.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/4937.a2baa2df5572a276.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/6856-5c94d394259cdb6e.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/7359-c8d04e06886000b3.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/8640.5b9475a2d18c5416.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/8969-0389e2cb52412db3.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/9025.c12318fb6a1a9093.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/9847.3aaca6bb33455140.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-e020fd69dbe76cea.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/jobs-0dc34cf9a8710a9f.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/volumes-d2af9d22e87cc4ba.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/pages/workspaces-6fc994fa1ee6c6bf.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/favicon.ico +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/skypilot.svg +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/videos/cursor-small.mp4 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/data/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/data/data_transfer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/data/data_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/data/mounting_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/data/storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/data/storage_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/exceptions.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/execution.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/recovery_strategy.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/scheduler.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/server/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/jobs/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/logs/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/logs/agent.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/logs/aws.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/logs/gcp.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/metrics/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/metrics/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/models.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/optimizer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/aws/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/aws/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/aws/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/azure/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/azure/azure-config-template.json +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/azure/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/azure/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/cudo/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/cudo/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/cudo/cudo_machine_type.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/cudo/cudo_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/cudo/cudo_wrapper.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/cudo/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/do/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/do/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/do/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/do/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/do/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/docker_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/fluidstack/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/fluidstack/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/fluidstack/fluidstack_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/fluidstack/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/instance_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/mig_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/gcp/volume_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/hyperbolic/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/hyperbolic/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/hyperbolic/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/hyperbolic/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/instance_setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/network.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/network_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/kubernetes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/lambda_cloud/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/lambda_cloud/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/lambda_cloud/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/lambda_cloud/lambda_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/nebius/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/nebius/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/nebius/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/nebius/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/nebius/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/oci/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/oci/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/oci/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/oci/query_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/paperspace/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/paperspace/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/paperspace/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/paperspace/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/paperspace/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/primeintellect/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/primeintellect/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/primeintellect/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/primeintellect/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/provisioner.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/api/commands.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/api/pods.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/runpod/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/scp/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/scp/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/scp/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/seeweb/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/seeweb/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/seeweb/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/shadeform/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/shadeform/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/shadeform/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/shadeform/shadeform_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/ssh/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vast/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vast/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vast/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vast/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/cls_api_client.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/cls_api_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/custom_script.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/id_generator.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/metadata_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/service_manager.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/service_manager_factory.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/ssl_helper.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/vapiconnect.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/common/vim_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/instance.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/provision/vsphere/vsphere_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/py.typed +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/resources.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/api/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/api/responses.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/README +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/env.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/003_fix_initial_revision.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/004_is_managed.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/005_cluster_event.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/006_provision_log.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/007_cluster_event_request_id.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/008_skylet_ssh_tunnel_metadata.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/009_last_activity_and_launched_at.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/global_user_state/010_save_ssh_key.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/script.py.mako +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/serve_state/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/skypilot_config/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/spot_jobs/001_initial_schema.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/spot_jobs/002_cluster_pool.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/db/spot_jobs/003_pool_hash.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/autostopv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/autostopv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/autostopv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/jobsv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/jobsv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/jobsv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/managed_jobsv1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/managed_jobsv1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/managed_jobsv1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/servev1_pb2.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/servev1_pb2.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/schemas/generated/servev1_pb2_grpc.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/autoscalers.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/client/impl.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/client/sdk_async.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/controller.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/load_balancer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/load_balancing_policies.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/replica_managers.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/serve_rpc_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/serve_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/serve_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/server/impl.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/service.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/service_spec.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/serve/spot_placer.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/auth/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/auth/authn.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/auth/loopback.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/daemons.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/html/log.html +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/html/token_page.html +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/metrics.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/event_loop.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/executor.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/payloads.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/preconditions.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/process.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/queues/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/queues/local_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/queues/mp_queue.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/serializers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/requests/threads.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/stream_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/uvicorn.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/server/versions.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/setup_files/MANIFEST.in +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/setup_files/alembic.ini +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/setup_files/dependencies.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/setup_files/setup.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/sky_logging.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/attempt_skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/autostop_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/configs.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/events.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/job_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/log_lib.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/providers/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/providers/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/providers/ibm/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/providers/ibm/node_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/providers/ibm/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/providers/ibm/vpc_provider.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/autoscaler.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/autoscaler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/cli.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/cli.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/command_runner.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/command_runner.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/log_monitor.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/log_monitor.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/resource_demand_scheduler.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/resource_demand_scheduler.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/updater.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/updater.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/worker.py.diff +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/ray_patches/worker.py.patch +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/services.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skylet/skylet.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/skypilot_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/ssh_node_pools/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/ssh_node_pools/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/ssh_node_pools/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/task.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/aws-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/azure-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/cudo-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/do-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/fluidstack-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/gcp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/hyperbolic-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/ibm-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/jobs-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/kubernetes-ingress.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/kubernetes-loadbalancer.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/kubernetes-port-forward-proxy-command.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/kubernetes-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/lambda-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/local-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/nebius-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/oci-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/paperspace-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/primeintellect-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/runpod-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/scp-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/seeweb-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/shadeform-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/sky-serve-controller.yaml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/skypilot-server-kubernetes-proxy.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/vast-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/vsphere-ray.yml.j2 +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/templates/websocket_proxy.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/usage/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/usage/constants.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/usage/usage_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/users/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/users/model.conf +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/users/permission.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/users/rbac.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/users/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/users/token_service.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/accelerator_registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/admin_policy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/annotations.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/asyncio_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/atomic.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/auth_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/aws/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/aws/get_default_security_group.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/benchmark_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/cli_utils/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/cli_utils/status_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/cluster_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/command_runner.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/command_runner.pyi +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/common.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/common_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/config_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/context.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/context_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/control_master_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/controller_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/dag_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/db/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/db/migration_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/directory_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/env_options.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/git.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/git_clone.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/infra_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/cleanup-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/config_map_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/create_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/delete_cluster.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/deploy_remote_cluster.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/exec_kubeconfig_converter.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/generate_kind_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/generate_kubeconfig.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/gpu_labeler.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/k8s_gpu_labeler_job.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/kubernetes_deploy_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/rsync_helper.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/ssh-tunnel.sh +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes/ssh_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/kubernetes_enums.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/lock_events.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/locks.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/log_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/message_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/perf_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/registry.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/resource_checker.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/resources_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/rich_console_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/rich_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/schemas.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/serialize_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/status_lib.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/tempstore.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/timeline.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/ux_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/validator.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/utils/yaml_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/client/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/client/sdk.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/server/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/server/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/server/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/volumes/volume.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/workspaces/__init__.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/workspaces/core.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/workspaces/server.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/workspaces/utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/skypilot_nightly.egg-info/dependency_links.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/skypilot_nightly.egg-info/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/skypilot_nightly.egg-info/requires.txt +35 -35
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/skypilot_nightly.egg-info/top_level.txt +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_api.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_api_compatibility.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_cli.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_config.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_db_utils.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_failover.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_global_user_state.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_infra_k8s_alias.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_jobs.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_jobs_and_serve.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_jobs_state_async_vs_sync.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_list_accelerators.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_no_parellel.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_optimizer_dryruns.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_optimizer_random_dag.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_serve_autoscaler.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_smoke.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_ssh_proxy_lag.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_storage.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/tests/test_wheels.py +0 -0
- {skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/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.
|
|
3
|
+
Version: 1.0.0.dev20251024
|
|
4
4
|
Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
|
|
5
5
|
Author: SkyPilot Team
|
|
6
6
|
License: Apache 2.0
|
|
@@ -371,51 +371,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "shadeform"
|
|
|
371
371
|
Requires-Dist: aiosqlite; extra == "shadeform"
|
|
372
372
|
Requires-Dist: greenlet; extra == "shadeform"
|
|
373
373
|
Provides-Extra: all
|
|
374
|
-
Requires-Dist: passlib; extra == "all"
|
|
375
|
-
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
|
|
376
|
-
Requires-Dist: python-dateutil; extra == "all"
|
|
377
|
-
Requires-Dist: boto3>=1.26.1; extra == "all"
|
|
378
|
-
Requires-Dist: nebius>=0.2.47; extra == "all"
|
|
379
|
-
Requires-Dist: oci; extra == "all"
|
|
380
|
-
Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
|
|
381
|
-
Requires-Dist: azure-core>=1.24.0; extra == "all"
|
|
382
|
-
Requires-Dist: google-cloud-storage; extra == "all"
|
|
383
|
-
Requires-Dist: aiohttp; extra == "all"
|
|
384
|
-
Requires-Dist: azure-common; extra == "all"
|
|
385
|
-
Requires-Dist: msrestazure; extra == "all"
|
|
386
|
-
Requires-Dist: ibm-cloud-sdk-core; extra == "all"
|
|
387
|
-
Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
|
|
388
|
-
Requires-Dist: sqlalchemy_adapter; extra == "all"
|
|
389
374
|
Requires-Dist: pydo>=0.3.0; extra == "all"
|
|
390
|
-
Requires-Dist:
|
|
391
|
-
Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
|
|
392
|
-
Requires-Dist: msgraph-sdk; extra == "all"
|
|
393
|
-
Requires-Dist: colorama<0.4.5; extra == "all"
|
|
394
|
-
Requires-Dist: ibm-vpc; extra == "all"
|
|
375
|
+
Requires-Dist: sqlalchemy_adapter; extra == "all"
|
|
395
376
|
Requires-Dist: greenlet; extra == "all"
|
|
396
|
-
Requires-Dist:
|
|
397
|
-
Requires-Dist: ecsapi>=0.2.0; extra == "all"
|
|
398
|
-
Requires-Dist: websockets; extra == "all"
|
|
399
|
-
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
400
|
-
Requires-Dist: awscli>=1.27.10; extra == "all"
|
|
401
|
-
Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
|
|
377
|
+
Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
|
|
402
378
|
Requires-Dist: grpcio>=1.63.0; extra == "all"
|
|
379
|
+
Requires-Dist: ecsapi>=0.2.0; extra == "all"
|
|
380
|
+
Requires-Dist: anyio; extra == "all"
|
|
381
|
+
Requires-Dist: tomli; python_version < "3.11" and extra == "all"
|
|
382
|
+
Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
|
|
383
|
+
Requires-Dist: nebius>=0.2.47; extra == "all"
|
|
384
|
+
Requires-Dist: ray[default]>=2.6.1; extra == "all"
|
|
385
|
+
Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
|
|
403
386
|
Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
|
|
404
|
-
Requires-Dist:
|
|
387
|
+
Requires-Dist: colorama<0.4.5; extra == "all"
|
|
405
388
|
Requires-Dist: azure-identity>=1.19.0; extra == "all"
|
|
406
|
-
Requires-Dist:
|
|
407
|
-
Requires-Dist:
|
|
408
|
-
Requires-Dist:
|
|
389
|
+
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
|
|
390
|
+
Requires-Dist: boto3>=1.26.1; extra == "all"
|
|
391
|
+
Requires-Dist: ibm-vpc; extra == "all"
|
|
392
|
+
Requires-Dist: pyjwt; extra == "all"
|
|
393
|
+
Requires-Dist: ibm-cloud-sdk-core; extra == "all"
|
|
394
|
+
Requires-Dist: google-cloud-storage; extra == "all"
|
|
409
395
|
Requires-Dist: aiosqlite; extra == "all"
|
|
410
|
-
Requires-Dist:
|
|
411
|
-
Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
|
|
412
|
-
Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
|
|
413
|
-
Requires-Dist: azure-cli>=2.65.0; extra == "all"
|
|
414
|
-
Requires-Dist: botocore>=1.29.10; extra == "all"
|
|
396
|
+
Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
|
|
415
397
|
Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
|
|
398
|
+
Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
|
|
399
|
+
Requires-Dist: passlib; extra == "all"
|
|
400
|
+
Requires-Dist: msrestazure; extra == "all"
|
|
401
|
+
Requires-Dist: azure-cli>=2.65.0; extra == "all"
|
|
402
|
+
Requires-Dist: azure-common; extra == "all"
|
|
403
|
+
Requires-Dist: oci; extra == "all"
|
|
404
|
+
Requires-Dist: python-dateutil; extra == "all"
|
|
405
|
+
Requires-Dist: azure-core>=1.31.0; extra == "all"
|
|
416
406
|
Requires-Dist: casbin; extra == "all"
|
|
407
|
+
Requires-Dist: awscli>=1.27.10; extra == "all"
|
|
408
|
+
Requires-Dist: docker; extra == "all"
|
|
409
|
+
Requires-Dist: aiohttp; extra == "all"
|
|
410
|
+
Requires-Dist: websockets; extra == "all"
|
|
411
|
+
Requires-Dist: msgraph-sdk; extra == "all"
|
|
412
|
+
Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
|
|
417
413
|
Requires-Dist: ibm-cos-sdk; extra == "all"
|
|
418
|
-
Requires-Dist:
|
|
414
|
+
Requires-Dist: azure-core>=1.24.0; extra == "all"
|
|
415
|
+
Requires-Dist: botocore>=1.29.10; extra == "all"
|
|
416
|
+
Requires-Dist: runpod>=1.6.1; extra == "all"
|
|
417
|
+
Requires-Dist: cudo-compute>=0.1.10; extra == "all"
|
|
418
|
+
Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
|
|
419
419
|
Provides-Extra: remote
|
|
420
420
|
Requires-Dist: grpcio>=1.63.0; extra == "remote"
|
|
421
421
|
Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "remote"
|
|
@@ -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 = '
|
|
10
|
+
_SKYPILOT_COMMIT_SHA = '22d11ebba6e4901078e7df41b10b08cce86bb280'
|
|
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.
|
|
40
|
+
__version__ = '1.0.0.dev20251024'
|
|
41
41
|
__root_dir__ = directory_utils.get_sky_dir()
|
|
42
42
|
|
|
43
43
|
|
{skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/client/cli/command.py
RENAMED
|
@@ -118,6 +118,17 @@ _DEFAULT_REQUEST_FIELDS_TO_SHOW = [
|
|
|
118
118
|
_VERBOSE_REQUEST_FIELDS_TO_SHOW = _DEFAULT_REQUEST_FIELDS_TO_SHOW + [
|
|
119
119
|
'cluster_name'
|
|
120
120
|
]
|
|
121
|
+
_DEFAULT_MANAGED_JOB_FIELDS_TO_GET = [
|
|
122
|
+
'job_id', 'task_id', 'workspace', 'job_name', 'task_name', 'resources',
|
|
123
|
+
'submitted_at', 'end_at', 'job_duration', 'recovery_count', 'status', 'pool'
|
|
124
|
+
]
|
|
125
|
+
_VERBOSE_MANAGED_JOB_FIELDS_TO_GET = _DEFAULT_MANAGED_JOB_FIELDS_TO_GET + [
|
|
126
|
+
'current_cluster_name', 'job_id_on_pool_cluster', 'start_at', 'infra',
|
|
127
|
+
'cloud', 'region', 'zone', 'cluster_resources', 'schedule_state', 'details',
|
|
128
|
+
'failure_reason', 'metadata'
|
|
129
|
+
]
|
|
130
|
+
_USER_NAME_FIELD = ['user_name']
|
|
131
|
+
_USER_HASH_FIELD = ['user_hash']
|
|
121
132
|
|
|
122
133
|
_STATUS_PROPERTY_CLUSTER_NUM_ERROR_MESSAGE = (
|
|
123
134
|
'{cluster_num} cluster{plural} {verb}. Please specify {cause} '
|
|
@@ -1333,11 +1344,15 @@ def exec(
|
|
|
1333
1344
|
|
|
1334
1345
|
|
|
1335
1346
|
def _handle_jobs_queue_request(
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1347
|
+
request_id: server_common.RequestId[Union[
|
|
1348
|
+
List[responses.ManagedJobRecord],
|
|
1349
|
+
Tuple[List[responses.ManagedJobRecord], int, Dict[str, int], int]]],
|
|
1350
|
+
show_all: bool,
|
|
1351
|
+
show_user: bool,
|
|
1352
|
+
max_num_jobs_to_show: Optional[int],
|
|
1353
|
+
is_called_by_user: bool = False,
|
|
1354
|
+
only_in_progress: bool = False,
|
|
1355
|
+
) -> Tuple[Optional[int], str]:
|
|
1341
1356
|
"""Get the in-progress managed jobs.
|
|
1342
1357
|
|
|
1343
1358
|
Args:
|
|
@@ -1348,6 +1363,7 @@ def _handle_jobs_queue_request(
|
|
|
1348
1363
|
and `sky jobs queue`.
|
|
1349
1364
|
is_called_by_user: If this function is called by user directly, or an
|
|
1350
1365
|
internal call.
|
|
1366
|
+
only_in_progress: If True, only return the number of in-progress jobs.
|
|
1351
1367
|
|
|
1352
1368
|
Returns:
|
|
1353
1369
|
A tuple of (num_in_progress_jobs, msg). If num_in_progress_jobs is None,
|
|
@@ -1358,11 +1374,27 @@ def _handle_jobs_queue_request(
|
|
|
1358
1374
|
# TODO(SKY-980): remove unnecessary fallbacks on the client side.
|
|
1359
1375
|
num_in_progress_jobs = None
|
|
1360
1376
|
msg = ''
|
|
1377
|
+
status_counts: Optional[Dict[str, int]] = None
|
|
1361
1378
|
try:
|
|
1362
1379
|
if not is_called_by_user:
|
|
1363
1380
|
usage_lib.messages.usage.set_internal()
|
|
1364
|
-
|
|
1365
|
-
|
|
1381
|
+
result = sdk.stream_and_get(request_id)
|
|
1382
|
+
if isinstance(result, tuple):
|
|
1383
|
+
managed_jobs_, total, status_counts, _ = result
|
|
1384
|
+
if only_in_progress:
|
|
1385
|
+
num_in_progress_jobs = 0
|
|
1386
|
+
if status_counts:
|
|
1387
|
+
for status_value, count in status_counts.items():
|
|
1388
|
+
status_enum = managed_jobs.ManagedJobStatus(
|
|
1389
|
+
status_value)
|
|
1390
|
+
if not status_enum.is_terminal():
|
|
1391
|
+
num_in_progress_jobs += count
|
|
1392
|
+
else:
|
|
1393
|
+
num_in_progress_jobs = total
|
|
1394
|
+
else:
|
|
1395
|
+
managed_jobs_ = result
|
|
1396
|
+
num_in_progress_jobs = len(
|
|
1397
|
+
set(job['job_id'] for job in managed_jobs_))
|
|
1366
1398
|
except exceptions.ClusterNotUpError as e:
|
|
1367
1399
|
controller_status = e.cluster_status
|
|
1368
1400
|
msg = str(e)
|
|
@@ -1406,10 +1438,13 @@ def _handle_jobs_queue_request(
|
|
|
1406
1438
|
msg += ('Failed to query managed jobs: '
|
|
1407
1439
|
f'{common_utils.format_exception(e, use_bracket=True)}')
|
|
1408
1440
|
else:
|
|
1409
|
-
msg = table_utils.format_job_table(
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1441
|
+
msg = table_utils.format_job_table(
|
|
1442
|
+
managed_jobs_,
|
|
1443
|
+
show_all=show_all,
|
|
1444
|
+
show_user=show_user,
|
|
1445
|
+
max_jobs=max_num_jobs_to_show,
|
|
1446
|
+
status_counts=status_counts,
|
|
1447
|
+
)
|
|
1413
1448
|
return num_in_progress_jobs, msg
|
|
1414
1449
|
|
|
1415
1450
|
|
|
@@ -1798,9 +1833,16 @@ def status(verbose: bool, refresh: bool, ip: bool, endpoints: bool,
|
|
|
1798
1833
|
|
|
1799
1834
|
# Phase 2: Parallel submission of all API requests
|
|
1800
1835
|
def submit_managed_jobs():
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1836
|
+
fields = _DEFAULT_MANAGED_JOB_FIELDS_TO_GET
|
|
1837
|
+
if all_users:
|
|
1838
|
+
fields = fields + _USER_NAME_FIELD
|
|
1839
|
+
return managed_jobs.queue(
|
|
1840
|
+
refresh=False,
|
|
1841
|
+
skip_finished=True,
|
|
1842
|
+
all_users=all_users,
|
|
1843
|
+
fields=fields,
|
|
1844
|
+
limit=_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS,
|
|
1845
|
+
)
|
|
1804
1846
|
|
|
1805
1847
|
def submit_services(
|
|
1806
1848
|
) -> Optional[server_common.RequestId[List[Dict[str, Any]]]]:
|
|
@@ -1906,7 +1948,8 @@ def status(verbose: bool, refresh: bool, ip: bool, endpoints: bool,
|
|
|
1906
1948
|
show_all=False,
|
|
1907
1949
|
show_user=all_users,
|
|
1908
1950
|
max_num_jobs_to_show=_NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS,
|
|
1909
|
-
is_called_by_user=False
|
|
1951
|
+
is_called_by_user=False,
|
|
1952
|
+
only_in_progress=True)
|
|
1910
1953
|
except KeyboardInterrupt:
|
|
1911
1954
|
sdk.api_cancel(managed_jobs_queue_request_id, silent=True)
|
|
1912
1955
|
managed_jobs_query_interrupted = True
|
|
@@ -2937,13 +2980,22 @@ def _hint_or_raise_for_down_jobs_controller(controller_name: str,
|
|
|
2937
2980
|
controller_name, expect_exact_match=False)
|
|
2938
2981
|
assert controller is not None, controller_name
|
|
2939
2982
|
|
|
2983
|
+
status_counts: Optional[Dict[str, int]] = None
|
|
2940
2984
|
with rich_utils.client_status(
|
|
2941
2985
|
'[bold cyan]Checking for in-progress managed jobs and pools[/]'):
|
|
2942
2986
|
try:
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2987
|
+
fields = _DEFAULT_MANAGED_JOB_FIELDS_TO_GET + _USER_NAME_FIELD
|
|
2988
|
+
request_id = managed_jobs.queue(
|
|
2989
|
+
refresh=False,
|
|
2990
|
+
skip_finished=True,
|
|
2991
|
+
all_users=True,
|
|
2992
|
+
fields=fields,
|
|
2993
|
+
)
|
|
2994
|
+
result = sdk.stream_and_get(request_id)
|
|
2995
|
+
if isinstance(result, tuple):
|
|
2996
|
+
managed_jobs_, _, status_counts, _ = result
|
|
2997
|
+
else:
|
|
2998
|
+
managed_jobs_ = result
|
|
2947
2999
|
request_id_pools = managed_jobs.pool_status(pool_names=None)
|
|
2948
3000
|
pools_ = sdk.stream_and_get(request_id_pools)
|
|
2949
3001
|
except exceptions.ClusterNotUpError as e:
|
|
@@ -2974,10 +3026,17 @@ def _hint_or_raise_for_down_jobs_controller(controller_name: str,
|
|
|
2974
3026
|
}}):
|
|
2975
3027
|
# Check again with the consolidation mode disabled. This is to
|
|
2976
3028
|
# make sure there is no in-progress managed jobs.
|
|
2977
|
-
request_id = managed_jobs.queue(
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
3029
|
+
request_id = managed_jobs.queue(
|
|
3030
|
+
refresh=False,
|
|
3031
|
+
skip_finished=True,
|
|
3032
|
+
all_users=True,
|
|
3033
|
+
fields=fields,
|
|
3034
|
+
)
|
|
3035
|
+
result = sdk.stream_and_get(request_id)
|
|
3036
|
+
if isinstance(result, tuple):
|
|
3037
|
+
managed_jobs_, _, status_counts, _ = result
|
|
3038
|
+
else:
|
|
3039
|
+
managed_jobs_ = result
|
|
2981
3040
|
request_id_pools = managed_jobs.pool_status(pool_names=None)
|
|
2982
3041
|
pools_ = sdk.stream_and_get(request_id_pools)
|
|
2983
3042
|
|
|
@@ -2988,9 +3047,12 @@ def _hint_or_raise_for_down_jobs_controller(controller_name: str,
|
|
|
2988
3047
|
'jobs (output of `sky jobs queue`) will be lost.')
|
|
2989
3048
|
click.echo(msg)
|
|
2990
3049
|
if managed_jobs_:
|
|
2991
|
-
job_table = table_utils.format_job_table(
|
|
2992
|
-
|
|
2993
|
-
|
|
3050
|
+
job_table = table_utils.format_job_table(
|
|
3051
|
+
managed_jobs_,
|
|
3052
|
+
show_all=False,
|
|
3053
|
+
show_user=True,
|
|
3054
|
+
status_counts=status_counts,
|
|
3055
|
+
)
|
|
2994
3056
|
msg = controller.value.decline_down_for_dirty_controller_hint
|
|
2995
3057
|
# Add prefix to each line to align with the bullet point.
|
|
2996
3058
|
msg += '\n'.join(
|
|
@@ -4605,6 +4667,14 @@ def jobs_launch(
|
|
|
4605
4667
|
@jobs.command('queue', cls=_DocumentedCodeCommand)
|
|
4606
4668
|
@flags.config_option(expose_value=False)
|
|
4607
4669
|
@flags.verbose_option()
|
|
4670
|
+
@click.option(
|
|
4671
|
+
'--limit',
|
|
4672
|
+
'-l',
|
|
4673
|
+
default=_NUM_MANAGED_JOBS_TO_SHOW,
|
|
4674
|
+
type=int,
|
|
4675
|
+
required=False,
|
|
4676
|
+
help=(f'Number of jobs to show, default is {_NUM_MANAGED_JOBS_TO_SHOW},'
|
|
4677
|
+
f' use "-a/--all" to show all jobs.'))
|
|
4608
4678
|
@click.option(
|
|
4609
4679
|
'--refresh',
|
|
4610
4680
|
'-r',
|
|
@@ -4624,7 +4694,7 @@ def jobs_launch(
|
|
|
4624
4694
|
@usage_lib.entrypoint
|
|
4625
4695
|
# pylint: disable=redefined-builtin
|
|
4626
4696
|
def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
4627
|
-
all_users: bool, all: bool):
|
|
4697
|
+
all_users: bool, all: bool, limit: int):
|
|
4628
4698
|
"""Show statuses of managed jobs.
|
|
4629
4699
|
|
|
4630
4700
|
Each managed jobs can have one of the following statuses:
|
|
@@ -4675,12 +4745,29 @@ def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
|
4675
4745
|
|
|
4676
4746
|
watch -n60 sky jobs queue
|
|
4677
4747
|
|
|
4748
|
+
(Tip) To show only the latest 10 jobs, use ``-l/--limit 10``:
|
|
4749
|
+
|
|
4750
|
+
.. code-block:: bash
|
|
4751
|
+
|
|
4752
|
+
sky jobs queue -l 10
|
|
4753
|
+
|
|
4678
4754
|
"""
|
|
4679
4755
|
click.secho('Fetching managed job statuses...', fg='cyan')
|
|
4680
4756
|
with rich_utils.client_status('[cyan]Checking managed jobs[/]'):
|
|
4757
|
+
max_num_jobs_to_show = (limit if not all else None)
|
|
4758
|
+
fields = _DEFAULT_MANAGED_JOB_FIELDS_TO_GET
|
|
4759
|
+
if verbose:
|
|
4760
|
+
fields = _VERBOSE_MANAGED_JOB_FIELDS_TO_GET
|
|
4761
|
+
if all_users:
|
|
4762
|
+
fields = fields + _USER_NAME_FIELD
|
|
4763
|
+
if verbose:
|
|
4764
|
+
fields = fields + _USER_HASH_FIELD
|
|
4681
4765
|
managed_jobs_request_id = managed_jobs.queue(
|
|
4682
|
-
refresh=refresh,
|
|
4683
|
-
|
|
4766
|
+
refresh=refresh,
|
|
4767
|
+
skip_finished=skip_finished,
|
|
4768
|
+
all_users=all_users,
|
|
4769
|
+
limit=max_num_jobs_to_show,
|
|
4770
|
+
fields=fields)
|
|
4684
4771
|
num_jobs, msg = _handle_jobs_queue_request(
|
|
4685
4772
|
managed_jobs_request_id,
|
|
4686
4773
|
show_all=verbose,
|
|
@@ -4699,7 +4786,8 @@ def jobs_queue(verbose: bool, refresh: bool, skip_finished: bool,
|
|
|
4699
4786
|
f'{colorama.Fore.CYAN}'
|
|
4700
4787
|
f'Only showing the latest {max_num_jobs_to_show} '
|
|
4701
4788
|
f'managed jobs'
|
|
4702
|
-
f'(use --
|
|
4789
|
+
f'(use --limit to show more managed jobs or '
|
|
4790
|
+
f'--all to show all managed jobs) {colorama.Style.RESET_ALL} ')
|
|
4703
4791
|
|
|
4704
4792
|
|
|
4705
4793
|
@jobs.command('cancel', cls=_DocumentedCodeCommand)
|
|
@@ -88,15 +88,21 @@ def format_storage_table(storages: List[responses.StorageRecord],
|
|
|
88
88
|
return 'No existing storage.'
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
def format_job_table(
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
def format_job_table(
|
|
92
|
+
jobs: List[responses.ManagedJobRecord],
|
|
93
|
+
show_all: bool,
|
|
94
|
+
show_user: bool,
|
|
95
|
+
max_jobs: Optional[int] = None,
|
|
96
|
+
status_counts: Optional[Dict[str, int]] = None,
|
|
97
|
+
):
|
|
95
98
|
jobs = [job.model_dump() for job in jobs]
|
|
96
|
-
return managed_jobs.format_job_table(
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
return managed_jobs.format_job_table(
|
|
100
|
+
jobs,
|
|
101
|
+
show_all=show_all,
|
|
102
|
+
show_user=show_user,
|
|
103
|
+
max_jobs=max_jobs,
|
|
104
|
+
job_status_counts=status_counts,
|
|
105
|
+
)
|
|
100
106
|
|
|
101
107
|
|
|
102
108
|
_BASIC_COLUMNS = [
|
{skypilot_nightly-1.0.0.dev20251022 → skypilot_nightly-1.0.0.dev20251024}/sky/dashboard/out/404.html
RENAMED
|
@@ -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/
|
|
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/4c052b4444e52a58.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4c052b4444e52a58.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-31acb2000f9b372c.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-7d2f4467a685de9b.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/KxZarRnMeQID-gZkBfhzv/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/KxZarRnMeQID-gZkBfhzv/_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":"KxZarRnMeQID-gZkBfhzv","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST=function(s,c,e,
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,c,a,e,t,f,u,n,o,b,j,r,i,k,h){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-444f1804401f04ea.js"],"/_error":["static/chunks/pages/_error-c66a4e8afc46f17b.js"],"/clusters":["static/chunks/pages/clusters-d887733ca514d22e.js"],"/clusters/[cluster]":[s,c,a,f,u,j,b,e,t,n,r,o,i,k,h,"static/chunks/6856-5c94d394259cdb6e.js","static/chunks/1871-5f68bb683940d23f.js","static/chunks/pages/clusters/[cluster]-5edf81da6677352c.js"],"/clusters/[cluster]/[job]":[s,c,a,f,e,t,o,"static/chunks/pages/clusters/[cluster]/[job]-1d90fbf8f0ffd194.js"],"/config":["static/chunks/pages/config-dfb9bf07b13045f4.js"],"/infra":["static/chunks/pages/infra-e1c3789e69102cdb.js"],"/infra/[context]":["static/chunks/pages/infra/[context]-79b68556c00d284e.js"],"/jobs":["static/chunks/pages/jobs-0dc34cf9a8710a9f.js"],"/jobs/pools/[pool]":[s,c,a,u,b,e,t,n,"static/chunks/pages/jobs/pools/[pool]-e020fd69dbe76cea.js"],"/jobs/[job]":[s,c,a,f,u,b,e,t,n,o,"static/chunks/pages/jobs/[job]-10f12af2b199ff68.js"],"/users":["static/chunks/pages/users-0befb1254ac5c965.js"],"/volumes":["static/chunks/pages/volumes-d2af9d22e87cc4ba.js"],"/workspace/new":["static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js"],"/workspaces":["static/chunks/pages/workspaces-6fc994fa1ee6c6bf.js"],"/workspaces/[name]":[s,c,a,f,u,j,e,t,n,r,o,i,k,h,"static/chunks/1141-145e542070a6b615.js","static/chunks/pages/workspaces/[name]-ecc38434a21e8a1e.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-0389e2cb52412db3.js","static/chunks/8632-396a81107ba407c3.js","static/chunks/6212-7bd06f60ba693125.js","static/chunks/7359-c8d04e06886000b3.js","static/chunks/6990-f6818c84ed8f1c86.js","static/chunks/4282-d2f3ef2fbf78e347.js","static/chunks/6601-06114c982db410b6.js","static/chunks/3015-2dcace420c8939f4.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/1141-145e542070a6b615.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1141],{99333:function(e,s,a){a.d(s,{Z:function(){return t}});/**
|
|
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 t=(0,a(60998).Z)("Save",[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]])},98418:function(e,s,a){a.d(s,{Z:function(){return t}});/**
|
|
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 t=(0,a(60998).Z)("Trash",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}]])},1812:function(e,s,a){a.d(s,{X:function(){return n}});var t=a(85893),r=a(67294);let l=e=>{if(!(null==e?void 0:e.message))return"An unexpected error occurred.";let s=e.message;return s.includes("failed:")&&(s=s.split("failed:")[1].trim()),s},n=e=>{let{error:s,title:a="Error",onDismiss:n}=e,[c,i]=(0,r.useState)(!1);if((0,r.useEffect)(()=>{s&&i(!1)},[s]),!s||c)return null;let o="string"==typeof s?s:l(s);return(0,t.jsx)("div",{className:"bg-red-50 border border-red-200 rounded-md p-3 mb-4",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex",children:[(0,t.jsx)("div",{className:"flex-shrink-0",children:(0,t.jsx)("svg",{className:"h-5 w-5 text-red-400",viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z",clipRule:"evenodd"})})}),(0,t.jsx)("div",{className:"ml-3",children:(0,t.jsxs)("div",{className:"text-sm text-red-800",children:[(0,t.jsxs)("strong",{children:[a,":"]})," ",o]})})]}),(0,t.jsx)("button",{onClick:()=>{i(!0),n&&n()},className:"flex-shrink-0 ml-4 text-red-400 hover:text-red-600 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 focus:ring-offset-red-50 rounded","aria-label":"Dismiss error",children:(0,t.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",children:(0,t.jsx)("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})})]})})}},69123:function(e,s,a){a.d(s,{g:function(){return n}});var t=a(85893),r=a(67294),l=a(32350);let n=r.forwardRef((e,s)=>{let{className:a,...r}=e;return(0,t.jsx)("textarea",{className:(0,l.cn)("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",a),ref:s,...r})});n.displayName="Textarea"},11141:function(e,s,a){a.r(s),a.d(s,{WorkspaceEditor:function(){return _}});var t=a(85893),r=a(67294),l=a(11163),n=a(17324),c=a(23266),i=a(68969);a(48632);var o=a(41664),d=a.n(o),u=a(9008),x=a.n(u),m=a(37673),h=a(30803),f=a(69123),g=a(55739),p=a(70282),b=a(6021),j=a(13626),y=a(98418),N=a(99333),k=a(50326);let v=e=>{let{className:s="",variant:a="default",children:r,...l}=e;return(0,t.jsx)("div",{role:"alert",className:"".concat("relative w-full rounded-lg border p-4 flex items-start space-x-2"," ").concat({default:"bg-blue-50 border-blue-200 text-blue-800",destructive:"bg-red-50 border-red-200 text-red-800"}[a]," ").concat(s),...l,children:r})},w=e=>{let{className:s="",children:a,...r}=e;return(0,t.jsx)("div",{className:"text-sm leading-relaxed ".concat(s),...r,children:a})};var C=a(53850),L=a(1812),E=a(23015),S=a(1272),W=a(93225),A=a(53081),M=a(6378);let Z=e=>{let{message:s}=e;return s?(0,t.jsxs)(v,{className:"border-green-200 bg-green-50",children:[(0,t.jsx)(p.Z,{className:"h-4 w-4 text-green-600"}),(0,t.jsx)(w,{className:"text-green-800",children:s})]}):null},D=e=>{let{workspaceName:s,config:a,enabledClouds:r=[]}=e;if(!a)return null;let l="default"===s,n=0===Object.keys(a).length;if(l&&n)return(0,t.jsx)("div",{className:"text-sm text-gray-500 mb-3 italic p-3 bg-sky-50 rounded border border-sky-200",children:"Workspace 'default' can use all accessible infrastructure."});let c=[],i=[],o=[],d=new Set(r.map(e=>e.toLowerCase()));Object.entries(a).forEach(e=>{let[s,a]=e;if("private"===s||"allowed_users"===s)return;let r=W.Z2[s.toLowerCase()]||s.toUpperCase(),l=null==r?void 0:r.toLowerCase(),n=d.has(l)||Array.from(d).some(e=>e.startsWith(l+"/")),u=()=>"kubernetes"===s.toLowerCase()?Array.from(d).filter(e=>e.startsWith(l+"/")).map(e=>e.split("/")[1]):[];if((null==a?void 0:a.disabled)===!0)i.push(r);else if(a&&Object.keys(a).length>0){let e="";if("gcp"===s.toLowerCase()&&a.project_id)e=" (Project ID: ".concat(a.project_id,")");else if("aws"===s.toLowerCase()&&a.region)e=" (Region: ".concat(a.region,")");else if("kubernetes"===s.toLowerCase()){let s=u();s.length>0&&(e=" (Contexts: ".concat(s.join(", "),")"))}n?c.push((0,t.jsxs)("span",{className:"block",children:[r,e," is enabled."]},"".concat(s,"-enabled"))):o.push((0,t.jsxs)("span",{className:"block text-amber-700",children:[r,e," is configured but not currently available."]},"".concat(s,"-configured-not-enabled")))}else if(n){let e="";if("kubernetes"===s.toLowerCase()){let s=u();s.length>0&&(e=" (Contexts: ".concat(s.join(", "),")"))}c.push((0,t.jsxs)("span",{className:"block",children:[r,e," is enabled (using default settings)."]},"".concat(s,"-default-enabled")))}else o.push((0,t.jsxs)("span",{className:"block text-amber-700",children:[r," is configured but not currently available."]},"".concat(s,"-default-not-enabled")))});let u=[];if(i.length>0){let e=i.join(" and ");u.push((0,t.jsxs)("span",{className:"block",children:[e," ",1===i.length?"is":"are"," explicitly disabled."]},"disabled-clouds"))}return(u.push(...c),u.push(...o),u.length>0)?(0,t.jsx)("div",{className:"text-sm text-gray-700 mb-3 p-3 bg-sky-50 rounded border border-sky-200",children:u}):!l&&n?(0,t.jsx)("div",{className:"text-sm text-gray-500 mb-3 italic p-3 bg-sky-50 rounded border border-sky-200",children:"This workspace has no specific cloud resource configurations and can use all accessible infrastructure."}):null},P=e=>{let{isPrivate:s}=e;return s?(0,t.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-gray-100 text-gray-700 border border-gray-300",children:"Private"}):(0,t.jsx)("span",{className:"inline-flex items-center px-2 py-1 rounded-full text-xs font-medium bg-green-100 text-green-700 border border-green-300",children:"Public"})},R=e=>{let{workspaceConfig:s,allUsers:a}=e;if(!s.private)return null;let r=s.allowed_users||[],l=(a||[]).filter(e=>"admin"===e.role).map(e=>e.username),n=[...new Set([...r,...l])];return 0===n.length?(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsx)("h4",{className:"mb-2 text-xs text-gray-500 tracking-wider",children:"Allowed Users (0)"}),(0,t.jsx)("div",{className:"text-amber-600 text-xs italic p-2 bg-amber-50 rounded border border-amber-200",children:"No users configured (workspace may be inaccessible)"})]}):(0,t.jsxs)("div",{className:"mt-4",children:[(0,t.jsxs)("h4",{className:"mb-2 text-xs text-gray-500 tracking-wider",children:["Allowed Users (",n.length,")"]}),(0,t.jsx)("div",{className:"space-y-1 max-h-48 overflow-y-auto border border-gray-200 rounded",children:n.map(e=>{let s=l.includes(e);return(0,t.jsxs)("div",{className:"flex items-center justify-between text-xs p-2 bg-gray-50 hover:bg-gray-100 border-b border-gray-100 last:border-b-0",children:[(0,t.jsx)("span",{className:"font-medium text-gray-700",children:e}),s?(0,t.jsxs)("span",{className:"inline-flex items-center text-blue-600",children:[(0,t.jsx)(C.r7,{className:"w-3 h-3 mr-1"}),"Admin"]}):(0,t.jsxs)("span",{className:"inline-flex items-center text-gray-600",children:[(0,t.jsx)(b.Z,{className:"w-3 h-3 mr-1"}),"User"]})]},e)})})]})};function _(e){let{workspaceName:s,isNewWorkspace:a=!1}=e,o=(0,l.useRouter)(),[u,p]=(0,r.useState)({}),[b,v]=(0,r.useState)({}),[w,W]=(0,r.useState)(""),[_,z]=(0,r.useState)(!0),[O,U]=(0,r.useState)(!1),[T,Y]=(0,r.useState)(!1),[J,F]=(0,r.useState)(null),[I,V]=(0,r.useState)(null),[H,B]=(0,r.useState)(null),[X,G]=(0,r.useState)([]),[q,K]=(0,r.useState)({showDialog:!1,deleting:!1,error:null}),[Q,$]=(0,r.useState)({totalClusterCount:0,runningClusterCount:0,managedJobsCount:0,clouds:[]}),[ee,es]=(0,r.useState)(!1),ea=(0,r.useCallback)(async()=>{z(!0),F(null);try{let e;let[a,t]=await Promise.all([(0,n.getWorkspaces)(),(0,A.R)()]),r=a[s]||{};p(r),v(r),G(t||[]),e=0===Object.keys(r).length?"".concat(s,":\n # Empty workspace configuration - uses all accessible infrastructure\n"):S.ZP.dump({[s]:r},{indent:2,lineWidth:-1,noRefs:!0,skipInvalid:!0,flowLevel:-1}),W(e)}catch(e){console.error("Error fetching workspace config:",e),F(e)}finally{z(!1)}},[s]),et=(0,r.useCallback)(async()=>{if(!a){es(!0);try{let[e,a,t]=await Promise.all([M.dashboardCache.get(c.getClusters),M.dashboardCache.get(i.getManagedJobs,[{allUsers:!0,skipFinished:!0,workspaceMatch:s,fields:["workspace","status"]}]),M.dashboardCache.get(n.getEnabledClouds,[s,!0])]),r=e.filter(e=>(e.workspace||"default")===s),l=r.filter(e=>"RUNNING"===e.status||"LAUNCHING"===e.status),o={};e.forEach(e=>{o[e.cluster]=e.workspace||"default"});let d=a.jobs||[],u=new Set(E.statusGroups.active),x=0;d.forEach(e=>{e.workspace===s&&u.has(e.status)&&x++}),$({totalClusterCount:r.length,runningClusterCount:l.length,managedJobsCount:x,clouds:Array.isArray(t)?t:[]})}catch(e){console.error("Failed to fetch workspace stats:",e)}finally{es(!1)}}},[s,a]);(0,r.useEffect)(()=>{a?(z(!1),W("".concat(s,":\n # New workspace configuration\n # Leave empty to use all accessible infrastructure\n"))):(ea(),et())},[s,a,ea,et]),(0,r.useEffect)(()=>{Y(JSON.stringify(u)!==JSON.stringify(b))},[u,b]);let er=e=>{W(e),B(null);try{let a=S.ZP.load(e)||{},t=Object.keys(a);if(0===t.length)p({});else if(1===t.length){let e=t[0];if(e!==s){B('Workspace name cannot be changed. Expected "'.concat(s,'" but found "').concat(e,'".'));return}let r=a[s]||{};p(r)}else B("Configuration must contain only one workspace. Found: ".concat(t.join(", ")))}catch(e){B("Invalid YAML: ".concat(e.message))}},el=async()=>{U(!0),F(null),V(null);try{if(H)throw Error("Please fix YAML errors before saving");let e=S.ZP.load(w)||{},t=Object.keys(e);if(t.length>0&&t[0]!==s)throw Error('Workspace name cannot be changed. Expected "'.concat(s,'".'));a?(await (0,n.MB)(s,u),V("Workspace created successfully!"),setTimeout(()=>{o.push("/workspaces/".concat(s))},1500)):(await (0,n.eA)(s,u),V("Workspace updated successfully!"),v(u),et())}catch(e){console.error("Error saving workspace:",e),F(e)}finally{U(!1)}},en=async()=>{K(e=>({...e,deleting:!0,error:null}));try{await (0,n.zl)(s),V("Workspace deleted successfully!"),setTimeout(()=>{o.push("/workspaces")},1500)}catch(e){console.error("Error deleting workspace:",e),K(s=>({...s,deleting:!1,error:e}))}},ec=()=>{K({showDialog:!1,deleting:!1,error:null})},ei=async()=>{await Promise.all([ea(),et()])};if(!o.isReady)return(0,t.jsx)("div",{children:"Loading..."});let eo=a?"Create New Workspace | SkyPilot Dashboard":"Workspace: ".concat(s," | SkyPilot Dashboard");return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x(),{children:(0,t.jsx)("title",{children:eo})}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-4 h-5",children:[(0,t.jsxs)("div",{className:"text-base flex items-center",children:[(0,t.jsx)(d(),{href:"/workspaces",className:"text-sky-blue hover:underline",children:"Workspaces"}),(0,t.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,t.jsx)(d(),{href:a?"/workspace/new":"/workspaces/".concat(s),className:"text-sky-blue hover:underline",children:a?"New Workspace":s}),T&&(0,t.jsx)("span",{className:"ml-3 px-2 py-1 bg-yellow-100 text-yellow-800 text-xs rounded",children:"Unsaved changes"})]}),(0,t.jsxs)("div",{className:"text-sm flex items-center",children:[(_||O||ee)&&(0,t.jsxs)("div",{className:"flex items-center mr-4",children:[(0,t.jsx)(g.Z,{size:15,className:"mt-0"}),(0,t.jsx)("span",{className:"ml-2 text-gray-500",children:O?"Saving...":"Loading..."})]}),(0,t.jsxs)("div",{className:"flex items-center space-x-4",children:[!a&&(0,t.jsxs)("button",{onClick:ei,disabled:_||O||ee,className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center",children:[(0,t.jsx)(j.Z,{className:"w-4 h-4 mr-1.5"}),"Refresh"]}),!a&&"default"!==s&&(0,t.jsxs)("button",{onClick:()=>K({...q,showDialog:!0}),disabled:q.deleting||O,className:"text-red-600 hover:text-red-700 font-medium inline-flex items-center",children:[(0,t.jsx)(y.Z,{className:"w-4 h-4 mr-1.5"}),"Delete"]})]})]})]}),_?(0,t.jsxs)("div",{className:"flex justify-center items-center py-12",children:[(0,t.jsx)(g.Z,{size:24,className:"mr-2"}),(0,t.jsx)("span",{className:"text-gray-500",children:"Loading workspace configuration..."})]}):(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsx)(L.X,{error:J,title:"Error",onDismiss:()=>F(null)}),(0,t.jsx)(Z,{message:I}),(0,t.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[!a&&(0,t.jsx)("div",{className:"lg:col-span-1",children:(0,t.jsxs)(m.Zb,{className:"h-full",children:[(0,t.jsx)(m.Ol,{children:(0,t.jsx)(m.ll,{className:"text-base font-normal",children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"font-semibold",children:"Workspace:"})," ",s]}),(0,t.jsx)(P,{isPrivate:!0===b.private})]})})}),(0,t.jsxs)(m.aY,{className:"text-sm pb-2 flex-1",children:[(0,t.jsxs)("div",{className:"py-2 flex items-center justify-between",children:[(0,t.jsxs)("div",{className:"flex items-center text-gray-600",children:[(0,t.jsx)(C.QT,{className:"w-4 h-4 mr-2 text-gray-500"}),(0,t.jsx)("span",{children:"Clusters (Running / Total)"})]}),(0,t.jsx)("span",{className:"font-normal text-gray-800",children:ee?"...":"".concat(Q.runningClusterCount," / ").concat(Q.totalClusterCount)})]}),(0,t.jsxs)("div",{className:"py-2 flex items-center justify-between border-t border-gray-100",children:[(0,t.jsxs)("div",{className:"flex items-center text-gray-600",children:[(0,t.jsx)(C.Vp,{className:"w-4 h-4 mr-2 text-gray-500"}),(0,t.jsx)("span",{children:"Managed Jobs"})]}),(0,t.jsx)("span",{className:"font-normal text-gray-800",children:ee?"...":Q.managedJobsCount})]})]}),(0,t.jsxs)("div",{className:"px-6 pb-6 text-sm pt-3",children:[(0,t.jsx)("h4",{className:"mb-2 text-xs text-gray-500 tracking-wider",children:"Enabled Infra"}),(0,t.jsx)("div",{className:"flex flex-wrap gap-x-4 gap-y-1",children:ee?(0,t.jsx)("span",{className:"text-gray-500",children:"Loading..."}):Q.clouds.length>0?Q.clouds.map(e=>(0,t.jsxs)("div",{className:"flex items-center text-gray-700",children:[(0,t.jsx)(C.Ye,{className:"w-3.5 h-3.5 mr-1.5 text-green-500"}),(0,t.jsx)("span",{children:e})]},e)):(0,t.jsx)("span",{className:"text-gray-500 italic",children:"No enabled infrastructure"})}),(0,t.jsx)("div",{className:"mt-4",children:(0,t.jsx)(D,{workspaceName:s,config:b,enabledClouds:Q.clouds})}),(0,t.jsx)(R,{workspaceConfig:b,allUsers:X})]})]})}),(0,t.jsx)("div",{className:a?"lg:col-span-3":"lg:col-span-2",children:(0,t.jsxs)(m.Zb,{className:"h-full flex flex-col",children:[(0,t.jsx)(m.Ol,{children:(0,t.jsx)(m.ll,{className:"text-base font-normal",children:a?"New Workspace YAML":"Edit Workspace YAML"})}),(0,t.jsx)(m.aY,{className:"flex-1 flex flex-col",children:(0,t.jsxs)("div",{className:"space-y-4 flex-1 flex flex-col",children:[H&&(0,t.jsx)(L.X,{error:H,onDismiss:()=>B(null)}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col",children:[(0,t.jsxs)("p",{className:"text-sm text-gray-600 mb-3",children:["Configure infra-specific settings for this workspace. Leave empty to use all accessible infrastructure. Refer to"," ",(0,t.jsx)("a",{href:"https://docs.skypilot.co/en/latest/admin/workspaces.html#configuration",target:"_blank",rel:"noopener noreferrer",className:"text-blue-600",children:"SkyPilot Docs"})," ","for more details."]}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)("h4",{className:"text-sm font-medium text-gray-700 mb-2",children:"Example configuration:"}),(0,t.jsx)("div",{className:"p-3 bg-gray-50 border rounded-lg",children:(0,t.jsx)("pre",{className:"text-xs font-mono text-gray-600 whitespace-pre-wrap",children:"".concat(s||"my-workspace",":\n private: true\n allowed_users:\n - user1@mydomain.com\n - user2@mydomain.com\n gcp:\n project_id: xxx\n disabled: false\n kubernetes:\n allowed_contexts:\n - context-1")})})]}),(0,t.jsx)(f.g,{value:w,onChange:e=>er(e.target.value),className:"font-mono text-sm flex-1 resize-none",style:{minHeight:"350px"},spellCheck:!1,placeholder:"# Enter workspace configuration in YAML format"}),(0,t.jsx)("div",{className:"flex justify-end space-x-3 pt-3 border-gray-200",children:(0,t.jsxs)(h.z,{onClick:el,disabled:O||H||_,className:"inline-flex items-center bg-sky-600 hover:bg-sky-700 text-white",children:[(0,t.jsx)(N.Z,{className:"w-4 h-4 mr-1.5"}),O?"Applying...":"Apply"]})})]})]})})]})})]})]}),(0,t.jsx)(k.Vq,{open:q.showDialog,onOpenChange:ec,children:(0,t.jsxs)(k.cZ,{className:"sm:max-w-md",children:[(0,t.jsxs)(k.fK,{className:"",children:[(0,t.jsx)(k.$N,{children:"Delete Workspace"}),(0,t.jsxs)(k.Be,{children:['Are you sure you want to delete workspace "',s,'"? This action cannot be undone.']})]}),q.error&&(0,t.jsx)(L.X,{error:q.error,title:"Deletion Failed",onDismiss:()=>K(e=>({...e,error:null}))}),(0,t.jsxs)(k.cN,{className:"",children:[(0,t.jsx)(h.z,{variant:"outline",onClick:ec,disabled:q.deleting,children:"Cancel"}),(0,t.jsx)(h.z,{variant:"destructive",onClick:en,disabled:q.deleting,children:q.deleting?"Deleting...":"Delete"})]})]})})]})]})}}}]);
|
skypilot_nightly-1.0.0.dev20251024/sky/dashboard/out/_next/static/chunks/1871-5f68bb683940d23f.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1871],{39037:function(e,s,t){t.r(s),t.d(s,{ClusterTable:function(){return _},Clusters:function(){return I},Status2Actions:function(){return F},enabledActions:function(){return H},handleVSCodeConnection:function(){return O}});var r=t(85893),l=t(67294),a=t(11163),n=t(55739),i=t(36989),c=t(41664),o=t.n(c),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 v=(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"}]]),g=(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(48632);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 l=Math.floor(s/e.value);t+="".concat(l).concat(e.label," "),s%=e.value,r++}return t.trim()||"0s"};function I(){let e=(0,a.useRouter)(),[s,t]=(0,l.useState)(!1),c=l.useRef(null),[u,d]=(0,l.useState)(!1),[h,m]=(0,l.useState)(!1),[j,v]=(0,l.useState)(null),[g,w]=(0,l.useState)(()=>!!e.isReady&&"true"===e.query.history),[S,M]=(0,l.useState)(!0),[E,I]=(0,l.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}),O=(0,b.X)(),[q,H]=(0,l.useState)([]),[W,F]=(0,l.useState)({status:[],cluster:[],user:[],workspace:[],infra:[]}),[A,D]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(e.isReady){U();let s="true"===e.query.history;g!==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,l.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))],l=new Set(s);r.includes("default")&&l.has("default"),r.forEach(e=>l.add(e));let a=[...new Set(t.map(e=>({userId:e.user_hash||e.user,username:e.user})).filter(e=>e.userId)).values()],n=new Map;a.forEach(e=>{n.set(e.userId,{userId:e.userId,username:e.username,display:R(e.username,e.userId)})}),D(!0)}catch(e){console.error("Error fetching data for filters:",e),D(!0)}})()},[]);let P=s=>{let t={...e.query},r=[],l=[],a=[];s.map((e,s)=>{var t;r.push(null!==(t=e.property.toLowerCase())&&void 0!==t?t:""),l.push(e.operator),a.push(e.value)}),t.property=r,t.operator=l,t.value=a,e.replace({pathname:e.pathname,query:t},void 0,{shallow:!0})},Z=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,l=s.value;if(void 0===t)return;let a=[],n=Array.isArray(t)?t.length:1,i=new Map;if(i.set("",""),i.set("status","Status"),i.set("cluster","Cluster"),i.set("user","User"),i.set("workspace","Workspace"),i.set("infra","Infra"),1===n)a.push({property:i.get(t),operator:r,value:l});else for(let e=0;e<n;e++)a.push({property:i.get(t[e]),operator:r[e],value:l[e]});H(a)};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:W,setFilters:H,updateURLParams:P,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:g,onChange:e=>{let s=e.target.checked;w(s),Z(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(g?"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(g?"translate-x-5":"translate-x-1")})}),(0,r.jsx)("span",{className:"ml-2 text-sm text-gray-700",children:"Show history"})]}),g&&(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),g&&N.default.invalidate(x.uR),D(!1),C.ZP.preloadForPage("clusters",{force:!0}).then(()=>{D(!0),c.current&&c.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"}),!O&&(0,r.jsx)("span",{children:"Refresh"})]})]})]}),(0,r.jsx)(z,{filters:q,setFilters:H,updateURLParams:P}),(0,r.jsx)(_,{refreshInterval:i.yc,setLoading:t,refreshDataRef:c,filters:q,showHistory:g,historyDays:E,onOpenSSHModal:e=>{v(e),d(!0)},onOpenVSCodeModal:e=>{v(e),m(!0)},setOptionValues:F,preloadingComplete:A}),(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:a,filters:c,showHistory:p,historyDays:f,onOpenSSHModal:j,onOpenVSCodeModal:v,setOptionValues:g,preloadingComplete:y}=e,[b,k]=(0,l.useState)([]),[C,L]=(0,l.useState)({key:null,direction:"ascending"}),[R,I]=(0,l.useState)(!1),[_,O]=(0,l.useState)(!0),[q,H]=(0,l.useState)(1),[W,V]=(0,l.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},A=l.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})),l=[...t];r.forEach(s=>{e.some(e=>e.cluster_hash===s.cluster_hash)||l.push(s)}),g(z(l)),k(l)}else{let s=e.map(e=>({...e,isHistorical:!1}));g(z(s)),k(s)}}catch(e){console.error("Error fetching cluster data:",e),g(z([])),k([])}t(!1),I(!1),O(!1)},[t,p,f,g]),D=(e,s)=>{var t;let{property:r,operator:l,value:a}=s;if(!a)return!0;if(!r){let s=a.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(),i=a.toString().toLowerCase();switch(l){case"=":return n===i;case":":return null==n?void 0:n.includes(i);default:return!0}},P=l.useMemo(()=>{let e=0===c.length?b:b.filter(e=>{let s=null;for(let t=0;t<c.length;t++){let r=D(e,c[t]);s=null===s?r:s&&r}return s});return(0,m.R0)(e,C.key,C.direction)},[b,C,c]);l.useEffect(()=>{a&&(a.current=A)},[a,A]),(0,l.useEffect)(()=>{k([]);let e=!0;if(y){A();let t=setInterval(()=>{e&&"visible"===window.document.visibilityState&&A()},s);return()=>{e=!1,clearInterval(t)}}return()=>{e=!1}},[s,A,y]),(0,l.useEffect)(()=>{H(1)},[b.length]);let Z=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(P.length/W),Q=(q-1)*W,T=Q+W,X=P.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:()=>Z("status"),children:["Status",B("status")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("cluster"),children:["Cluster",B("cluster")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("user"),children:["User",B("user")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("workspace"),children:["Workspace",B("workspace")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("infra"),children:["Infra",B("infra")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("resources_str"),children:["Resources",B("resources_str")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("time"),children:["Started",B("time")]}),p&&(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("duration"),children:["Duration",B("duration")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>Z("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)(i.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)(i.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)(i.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)(F,{cluster:e.cluster,status:e.status,onOpenSSHModal:j,onOpenVSCodeModal:v})})]},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:W,onChange:e=>{V(parseInt(e.target.value,10)),H(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,P.length)," of ").concat(P.length)}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)(u.z,{variant:"ghost",size:"icon",onClick:()=>{H(e=>Math.max(e-1,1))},disabled:1===q,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:()=>{H(e=>Math.min(e+1,U))},disabled:q===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 O=(e,s)=>{s&&s(e)},q=(e,s)=>{s?s(e):window.open("ssh://".concat(e))},H=e=>"RUNNING"===e?["connect","VSCode"]:[],W={connect:(0,r.jsx)(v,{className:"w-4 h-4 text-gray-500 inline-block"}),VSCode:(0,r.jsx)(g,{className:"w-4 h-4 text-gray-500 inline-block"})};function F(e){let{withLabel:s=!1,cluster:t,status:l,onOpenSSHModal:a,onOpenVSCodeModal:n}=e,c=H(l),o=(0,b.X)(),u=e=>{switch(e){case"connect":q(t,a);break;case"VSCode":O(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(W).map(e=>{let t,l,[a,n]=e;switch(a){case"connect":t="Connect",l="Connect with SSH";break;case"VSCode":t="VSCode",l="Open in VS Code"}return(s||(t=""),c.includes(a))?(0,r.jsx)(i.WH,{content:l,className:"capitalize text-sm text-muted-foreground",children:(0,r.jsxs)("button",{onClick:()=>u(a),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})]})},a):(0,r.jsx)(i.WH,{content:l,className:"capitalize text-sm text-muted-foreground",children:(0,r.jsxs)("span",{className:"opacity-30 flex items-center cursor-not-allowed text-sm",title:a,children:[n,!o&&(0,r.jsx)("span",{className:"ml-1.5",children:t})]})},a)})})})}let V=e=>{let{propertyList:s=[],valueList:t,setFilters:a,updateURLParams:n,placeholder:i="Filter clusters"}=e,c=(0,l.useRef)(null),o=(0,l.useRef)(null),[u,d]=(0,l.useState)(!1),[h,x]=(0,l.useState)(""),[p,m]=(0,l.useState)("status"),[f,j]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=e=>{o.current&&!o.current.contains(e.target)&&c.current&&!c.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,l.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 v=e=>{let t=s.find(s=>s.value===e);return t?t.label:e},g=e=>{a(s=>{let t=[...s,{property:v(p),operator:":",value:e}];return n(t),t}),d(!1),x(""),c.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:c,placeholder:i,value:h,onChange:e=>{x(e.target.value),u||d(!0)},onFocus:()=>{d(!0)},onKeyDown:e=>{"Enter"===e.key&&""!==h.trim()?(a(e=>{let s=[...e,{property:v(p),operator:":",value:h}];return n(s),s}),x(""),d(!1)):"Escape"===e.key&&(d(!1),c.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:()=>g(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:l}=e,a=e=>{t(s=>{let t=s.filter((s,t)=>t!==e);return l(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)(A,{filter:e,onRemove:()=>a(s)},"filteritem-".concat(s))),s.length>0&&(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("button",{onClick:()=>{l([]),t([])},className:"rounded-full px-4 py-1 text-sm text-gray-700 bg-gray-200 hover:bg-gray-300",children:"Clear filters"})})]})})})},A=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"})})})]})})}},12003:function(e,s,t){t.d(s,{j:function(){return n}});var r=t(90512);let l=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,a=r.W,n=(e,s)=>t=>{var r;if((null==s?void 0:s.variants)==null)return a(e,null==t?void 0:t.class,null==t?void 0:t.className);let{variants:n,defaultVariants:i}=s,c=Object.keys(n).map(e=>{let s=null==t?void 0:t[e],r=null==i?void 0:i[e];if(null===s)return null;let a=l(s)||l(r);return n[e][a]}),o=t&&Object.entries(t).reduce((e,s)=>{let[t,r]=s;return void 0===r||(e[t]=r),e},{});return a(e,c,null==s?void 0:null===(r=s.compoundVariants)||void 0===r?void 0:r.reduce((e,s)=>{let{class:t,className:r,...l}=s;return Object.entries(l).every(e=>{let[s,t]=e;return Array.isArray(t)?t.includes({...i,...o}[s]):({...i,...o})[s]===t})?[...e,t,r]:e},[]),null==t?void 0:t.class,null==t?void 0:t.className)}}}]);
|