skypilot-nightly 1.0.0.dev20250521__py3-none-any.whl → 1.0.0.dev20250523__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/kubernetes.py +46 -16
  3. sky/backends/cloud_vm_ray_backend.py +16 -4
  4. sky/check.py +109 -44
  5. sky/cli.py +261 -90
  6. sky/client/cli.py +261 -90
  7. sky/client/sdk.py +122 -3
  8. sky/clouds/__init__.py +5 -0
  9. sky/clouds/aws.py +4 -2
  10. sky/clouds/azure.py +4 -2
  11. sky/clouds/cloud.py +30 -6
  12. sky/clouds/cudo.py +2 -1
  13. sky/clouds/do.py +2 -1
  14. sky/clouds/fluidstack.py +2 -1
  15. sky/clouds/gcp.py +160 -23
  16. sky/clouds/ibm.py +4 -2
  17. sky/clouds/kubernetes.py +66 -22
  18. sky/clouds/lambda_cloud.py +2 -1
  19. sky/clouds/nebius.py +18 -2
  20. sky/clouds/oci.py +4 -2
  21. sky/clouds/paperspace.py +2 -1
  22. sky/clouds/runpod.py +2 -1
  23. sky/clouds/scp.py +2 -1
  24. sky/clouds/service_catalog/__init__.py +3 -0
  25. sky/clouds/service_catalog/common.py +9 -2
  26. sky/clouds/service_catalog/constants.py +2 -1
  27. sky/clouds/service_catalog/ssh_catalog.py +167 -0
  28. sky/clouds/ssh.py +203 -0
  29. sky/clouds/vast.py +2 -1
  30. sky/clouds/vsphere.py +2 -1
  31. sky/core.py +59 -17
  32. sky/dashboard/out/404.html +1 -1
  33. sky/dashboard/out/_next/static/{hvWzC5E6Q4CcKzXcWbgig → ECKwDNS9v9y3_IKFZ2lpp}/_buildManifest.js +1 -1
  34. sky/dashboard/out/_next/static/chunks/pages/infra-abf08c4384190a39.js +1 -0
  35. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  36. sky/dashboard/out/clusters/[cluster].html +1 -1
  37. sky/dashboard/out/clusters.html +1 -1
  38. sky/dashboard/out/index.html +1 -1
  39. sky/dashboard/out/infra.html +1 -1
  40. sky/dashboard/out/jobs/[job].html +1 -1
  41. sky/dashboard/out/jobs.html +1 -1
  42. sky/data/storage.py +1 -0
  43. sky/execution.py +56 -7
  44. sky/jobs/server/core.py +4 -2
  45. sky/optimizer.py +29 -15
  46. sky/provision/__init__.py +1 -0
  47. sky/provision/aws/instance.py +17 -1
  48. sky/provision/gcp/constants.py +147 -4
  49. sky/provision/gcp/instance_utils.py +10 -0
  50. sky/provision/gcp/volume_utils.py +247 -0
  51. sky/provision/kubernetes/instance.py +16 -5
  52. sky/provision/kubernetes/utils.py +37 -19
  53. sky/provision/nebius/instance.py +3 -1
  54. sky/provision/nebius/utils.py +14 -2
  55. sky/provision/ssh/__init__.py +18 -0
  56. sky/resources.py +177 -4
  57. sky/serve/server/core.py +2 -4
  58. sky/server/common.py +46 -9
  59. sky/server/constants.py +2 -0
  60. sky/server/html/token_page.html +154 -0
  61. sky/server/requests/executor.py +3 -6
  62. sky/server/requests/payloads.py +7 -0
  63. sky/server/server.py +80 -8
  64. sky/setup_files/dependencies.py +1 -0
  65. sky/skypilot_config.py +117 -31
  66. sky/task.py +24 -1
  67. sky/templates/gcp-ray.yml.j2 +44 -1
  68. sky/templates/nebius-ray.yml.j2 +12 -2
  69. sky/utils/admin_policy_utils.py +26 -22
  70. sky/utils/context.py +36 -6
  71. sky/utils/context_utils.py +15 -0
  72. sky/utils/infra_utils.py +21 -1
  73. sky/utils/kubernetes/cleanup-tunnel.sh +62 -0
  74. sky/utils/kubernetes/create_cluster.sh +1 -0
  75. sky/utils/kubernetes/deploy_remote_cluster.py +1437 -0
  76. sky/utils/kubernetes/kubernetes_deploy_utils.py +117 -10
  77. sky/utils/kubernetes/ssh-tunnel.sh +387 -0
  78. sky/utils/log_utils.py +214 -1
  79. sky/utils/resources_utils.py +14 -0
  80. sky/utils/schemas.py +67 -0
  81. sky/utils/ux_utils.py +2 -1
  82. {skypilot_nightly-1.0.0.dev20250521.dist-info → skypilot_nightly-1.0.0.dev20250523.dist-info}/METADATA +6 -1
  83. {skypilot_nightly-1.0.0.dev20250521.dist-info → skypilot_nightly-1.0.0.dev20250523.dist-info}/RECORD +88 -81
  84. sky/dashboard/out/_next/static/chunks/pages/infra-9180cd91cee64b96.js +0 -1
  85. sky/utils/kubernetes/deploy_remote_cluster.sh +0 -308
  86. /sky/dashboard/out/_next/static/{hvWzC5E6Q4CcKzXcWbgig → ECKwDNS9v9y3_IKFZ2lpp}/_ssgManifest.js +0 -0
  87. {skypilot_nightly-1.0.0.dev20250521.dist-info → skypilot_nightly-1.0.0.dev20250523.dist-info}/WHEEL +0 -0
  88. {skypilot_nightly-1.0.0.dev20250521.dist-info → skypilot_nightly-1.0.0.dev20250523.dist-info}/entry_points.txt +0 -0
  89. {skypilot_nightly-1.0.0.dev20250521.dist-info → skypilot_nightly-1.0.0.dev20250523.dist-info}/licenses/LICENSE +0 -0
  90. {skypilot_nightly-1.0.0.dev20250521.dist-info → skypilot_nightly-1.0.0.dev20250523.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,20 @@
1
- sky/__init__.py,sha256=FdlnKwsN40b-2AZDV73OlqLnhQS6OTjJp8zfjDdezyo,6428
1
+ sky/__init__.py,sha256=OQ779OQcKWNFdbMT0xIhpHaErYv3YvlkATt_XVzOs_s,6428
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
3
  sky/authentication.py,sha256=ND011K_-Ud1dVZF37A9KrwYir_ihJXcHc7iDWmuBc8Q,22872
4
- sky/check.py,sha256=I3vs6IhgpG3iDsOM1U3IFfYhCpELTn_mY-fyrGo45Mo,16549
5
- sky/cli.py,sha256=nVqxLz3c-5xZi5162rCDsjYGrVwFXb5cOpFiPE_0O6Y,235902
4
+ sky/check.py,sha256=xu_vFNgeu0nEcAS7R0_0ivmlKY6rGiCO4ZANqlL4K4E,19352
5
+ sky/cli.py,sha256=TALkantouRMxIXU7bKRbOmbA983-LarNwA5VZPQLNkM,242807
6
6
  sky/cloud_stores.py,sha256=Ln5GBpel-sEs7rVx7bBrMkfLwA_bctI05Rox2uoz7Lo,26388
7
- sky/core.py,sha256=AT-ZX3NXsIyRBMzdtEBlhc1bAj6CcufiuAGsjT4MX94,49469
7
+ sky/core.py,sha256=4RM8Ixl1obK-i3DMS7RydAoyXyBfkF17iy8paVbVYU0,51214
8
8
  sky/dag.py,sha256=8x-VMtjvSi0lYBemCMPLYq5ONljhoABjWzMKjmmdjSo,3369
9
9
  sky/exceptions.py,sha256=6TJ1MMw6Y9W94eig22xgun3rzvJCTh4yHNq3mGACX-U,17362
10
- sky/execution.py,sha256=nRevwm-z6A9UvcN1GzQA7etSBp5Hv6JL1oT1HxB5Sp8,31325
10
+ sky/execution.py,sha256=YSzpSxoUqLlGZ5v-2pgCt9Jkkcwz12FovOeFs3lC3q8,33109
11
11
  sky/global_user_state.py,sha256=PuAcfsmVAn5NnDKJWIasg93tO0etUfrvwjU531LhP_0,33902
12
12
  sky/models.py,sha256=bGMSATMkSMr_Kp6SCoiJVVeebwSdZuzjw_jrJzVWAAc,1603
13
- sky/optimizer.py,sha256=2svch0EzxT3a2AZ9xld9lLXH5MUjIyWt_SRJhkF9--s,60556
14
- sky/resources.py,sha256=VQQ4BctTFm-N7R4aQnlYvbZbjPYTl7_nJrAJyUjVKtE,83759
13
+ sky/optimizer.py,sha256=CTA3DLJx7em5GuZYQnDxZDkuOVlLV6y2p94cKgJWk8A,61357
14
+ sky/resources.py,sha256=QIUvDeEEcxxAMwl_MnLRP3Y6L0CBczNO4EoDhLcGR5A,92232
15
15
  sky/sky_logging.py,sha256=cMurxhFExKEFX1frcMR71Ti_s9Obg9WY30veVxsZB6o,7285
16
- sky/skypilot_config.py,sha256=kQUpx0QwMM0NiQO9qoMhsALDlJCPCQKchqZ1WyjXW8c,21188
17
- sky/task.py,sha256=FNpcg5Ty5cCQEv9hlFgnFbSiSC4LVgG1ejX_k3P5QjA,57190
16
+ sky/skypilot_config.py,sha256=IYqynjPivI673up28i-lp5uTsOAzM_eDD-RGKJDilkw,24497
17
+ sky/task.py,sha256=trVBbnDejpRjDjpl-9FTt32sx6HXihAkCmQ4yKFebXg,58403
18
18
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
20
20
  sky/adaptors/azure.py,sha256=7l5jobSTsTUcTo3ptrgOpRgngHY92U64eQBPxvDe1HA,21986
@@ -25,7 +25,7 @@ sky/adaptors/do.py,sha256=dJ0BYbkQoUWVu6_9Pxq3fOu6PngjZyyCQzgjnODXLCA,777
25
25
  sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
26
26
  sky/adaptors/gcp.py,sha256=oEb9jClEtApw6PQnxdxDYxOCYsedvM3aiko1EW1FDVo,3501
27
27
  sky/adaptors/ibm.py,sha256=7YbHrWbYcZsJDgxMBNZr1yBI03mjs_C3pnCTCz-MNtQ,5068
28
- sky/adaptors/kubernetes.py,sha256=FIPzhhiwpnpRqMlDHO2XGhBlHce_ZktRdg7xTYRTmmM,7473
28
+ sky/adaptors/kubernetes.py,sha256=87etu8rXjlitr0QjfhZh-TVf3aJ6iDvKHaMkBj-GPfA,8835
29
29
  sky/adaptors/nebius.py,sha256=5vshmw0kCX98Zb6fClx00BCuzF5lm-vL0CjxzUtZrLU,5897
30
30
  sky/adaptors/oci.py,sha256=xJt6J9xBSFIENa6FwEt1V1sZE8puAZ_vPEoGlyQACPs,2839
31
31
  sky/adaptors/runpod.py,sha256=4Nt_BfZhJAKQNA3wO8cxvvNI8x4NsDGHu_4EhRDlGYQ,225
@@ -34,7 +34,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
34
34
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
35
35
  sky/backends/backend.py,sha256=o47WUnB_h2nd_SkV0q0NTJ4vCwk23-KH5DgAm_JpKgE,7739
36
36
  sky/backends/backend_utils.py,sha256=RH_p7fA_nC3mbiFv5JyFeCc0ZQ6ThNv6J6cleNXZW50,137928
37
- sky/backends/cloud_vm_ray_backend.py,sha256=p9QxjzCb4gYe9pFbj8C6MLb-Uv0iDBGW30Tfx813dTI,255925
37
+ sky/backends/cloud_vm_ray_backend.py,sha256=uvmTZRYkHehXWd9WypZN5Qy3o71hbA-DWtH7L7Fm_QE,256675
38
38
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
39
39
  sky/backends/local_docker_backend.py,sha256=r80BGJZmAH8F49v6Y_pG3_pHmW5LQEQRusLkKoYoe9Q,17047
40
40
  sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
@@ -43,33 +43,34 @@ sky/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  sky/benchmark/benchmark_state.py,sha256=X8CXmuU9KgsDRhKedhFgjeRMUFWtQsjFs1qECvPG2yg,8723
44
44
  sky/benchmark/benchmark_utils.py,sha256=7rf-iHt6RXZ_pnBBWOMwcdodHQW69x27xNyx0yVog1U,26385
45
45
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
46
- sky/client/cli.py,sha256=nVqxLz3c-5xZi5162rCDsjYGrVwFXb5cOpFiPE_0O6Y,235902
46
+ sky/client/cli.py,sha256=TALkantouRMxIXU7bKRbOmbA983-LarNwA5VZPQLNkM,242807
47
47
  sky/client/common.py,sha256=E_5cjxd8fWRB7fU1yfIbiyQf-IyVhpD5KkB7Fl3cQEI,15215
48
- sky/client/sdk.py,sha256=-A6gRAtPXBX8kE2DnRoac544Xru-4StDG-AlMMiLuz0,72207
49
- sky/clouds/__init__.py,sha256=OW6mJ-9hpJSBORCgt2LippLQEYZHNfnBW1mooRNNvxo,1416
50
- sky/clouds/aws.py,sha256=cWcyeuLbUg7ARBcy95puzoEsrxoA2NuFRYA7bzVwgA0,54983
51
- sky/clouds/azure.py,sha256=Q5r2wI67nj7EiW_3mKqDaRmkIHjewfaw5wU7v7gxfi0,32671
52
- sky/clouds/cloud.py,sha256=3s8kqUqvM4Ajyfy8AAZbEFAoiKx7YUe0uUXmwo5wi-4,37135
53
- sky/clouds/cudo.py,sha256=sZ77kQ_7d2XYDj0FdFqe7ygSOUVRpj35_M_IOuOFVU8,13423
54
- sky/clouds/do.py,sha256=r4d5FDNMQ_HwRWxqTI1KCfRX1tP2MTUwvISqlJLKqM4,11803
55
- sky/clouds/fluidstack.py,sha256=KxkbwXTluliDtQGjx7hxUTs6VYX2mc7UE9vJN8r8xiQ,12882
56
- sky/clouds/gcp.py,sha256=YVOf9L3qj8xMMBNmqefeKQKO0N_Q93uf_8PKe-Ge_J4,60498
57
- sky/clouds/ibm.py,sha256=jNJvnBL93aBu0H6jU5308vKFyplfxaNE4HUtaktRxBs,22280
58
- sky/clouds/kubernetes.py,sha256=oK_bLsbCYsLzDTx4vQa6Ovmf4DASjIpk_J5rPe_Y9c0,38267
59
- sky/clouds/lambda_cloud.py,sha256=NPs7hFrKkdPswNZoOIxXwd_Ee0LBhG3s8zi0fWKiEiU,13001
60
- sky/clouds/nebius.py,sha256=YL7YmSjPNzP6JithssBcDD27-pi7ojLvUiYhiBM0mIY,15507
61
- sky/clouds/oci.py,sha256=weINuoBCidW_bkqa-Di8MitkA4daaZoC3F0FpN8QuVQ,27939
62
- sky/clouds/paperspace.py,sha256=dSHayuctj_-hKuKnr95t65HSdz-w73dsb-OuNuHLUkM,11271
63
- sky/clouds/runpod.py,sha256=vR3QRKRvekLMmwb9RJh_RxSlpPh1o8XfuRCnJm-zaB0,12733
64
- sky/clouds/scp.py,sha256=DrBluM6N-glxyI2oK05Ff-Kkz3XVC-UvcZZ4y5TUUJk,16226
65
- sky/clouds/vast.py,sha256=XezLilfoULFFTwZqVuLx1nPXVfTlg9S65yZS_VAG3KE,11548
66
- sky/clouds/vsphere.py,sha256=-MBwC8Ih4LL_jiXSrGPq4e7p8M6bq4IYZVCHnxQVJzU,12655
67
- sky/clouds/service_catalog/__init__.py,sha256=WCYMAhek36Ee1HjJL9LP287a70hv2NMA_8plcZDI4Z4,14997
48
+ sky/client/sdk.py,sha256=jMzCO12-8ROzZu1gLryY8FsGgNdYalfgKFotQITykTo,76803
49
+ sky/clouds/__init__.py,sha256=5aPPmXGCnGN8DbOXTXh_BirESaW4wK-bao2n_3-fm6Q,1561
50
+ sky/clouds/aws.py,sha256=BkD27knG7aaC033jFS5SO3qdG19a5yHlKTrLIeBUBck,55055
51
+ sky/clouds/azure.py,sha256=1jxa8vxi3N8EHdeV3mzL6uc1XKrQy4_lGB9lnccswjM,32743
52
+ sky/clouds/cloud.py,sha256=J8MZKf8tfSJHPc0t2VlkKCJUKwQrQRvJhNCUpLIr15s,37907
53
+ sky/clouds/cudo.py,sha256=K9_1IqQCLobsG0qlsxL_b1BiTqBIVNE5lB0WWNXTuws,13459
54
+ sky/clouds/do.py,sha256=JOhNAb4WTI8Zv6NGuJQcmAqJ-0aQC3XF4ehmp94Wu_E,11839
55
+ sky/clouds/fluidstack.py,sha256=YZevkDLWR8dwXJFAC89JqzEnISmlA_8_rjIK_qVwGu8,12918
56
+ sky/clouds/gcp.py,sha256=I8bbo0AsxUZcuTUklxAfNgLj8JH0LVJBgmrGZwcBgrY,66727
57
+ sky/clouds/ibm.py,sha256=9_7EGmCtYznJSvAC5reKAwTtb-ZRmhHZSrUKHF9CVBg,22352
58
+ sky/clouds/kubernetes.py,sha256=z4lhUPOjEvGQkX-gQm3AZkofaY646sL8y0qNWkj4Ul0,39674
59
+ sky/clouds/lambda_cloud.py,sha256=TAmc7K_YIg5Ixbftby0YqjNmA-4dWd__C78USa0_DbU,13037
60
+ sky/clouds/nebius.py,sha256=biz0o9qwJuGG22V6KE3kYqen-v2XKf2nT8qlAWG1QdA,16210
61
+ sky/clouds/oci.py,sha256=w86FhaVW30Kx0BVeFweTMThWmYAWG65vgdcqqJXGjy8,28011
62
+ sky/clouds/paperspace.py,sha256=ZdxZqwymxVMQ9S-wM_wAnS35_yFPSMgRgkvaTpXxuNM,11307
63
+ sky/clouds/runpod.py,sha256=vqAO1CxQmnYRRwG5r30QROhBrSBHu8r674pK8fNr6XM,12769
64
+ sky/clouds/scp.py,sha256=yaV5_kLycx4KXpbmD1BONrGxTNEikZOUtNBZ88s0B_Q,16262
65
+ sky/clouds/ssh.py,sha256=mk25ujraATWU7Xx-Her7H8T4gaEiM6OcRJN1wOTyC3w,7577
66
+ sky/clouds/vast.py,sha256=orwttbvp4sCgp0d22Bt-IuaueIM8065fcWZBdxm25g8,11584
67
+ sky/clouds/vsphere.py,sha256=pUS_6TCDM9o2iRtTANost69ALZ10U9FxOio4OMldazc,12691
68
+ sky/clouds/service_catalog/__init__.py,sha256=rw8ynYIQ3RyC9HP47J3NGhMg5rK4klYHfe1ABPVGcy4,15126
68
69
  sky/clouds/service_catalog/aws_catalog.py,sha256=PbYD37rU_8m-Y_5xTglW21ppxI0GecM1sdO1yXuPwHE,13518
69
70
  sky/clouds/service_catalog/azure_catalog.py,sha256=5Q51x_WEKvQ2YSgJvZHRH3URlbwIstYuwpjaWW_wJlw,8149
70
- sky/clouds/service_catalog/common.py,sha256=6TCUE1kg2FvUZXpV2ktrnsRchUYNTGx8rq16m5Nztek,27766
71
+ sky/clouds/service_catalog/common.py,sha256=1Mr0VDxiHyBaIlS7VqTy_3p7Xc0DcUFbrq1ICXsiE-Q,28307
71
72
  sky/clouds/service_catalog/config.py,sha256=ylzqewdEBjDg4awvFek6ldYmFrnvD2bVGLZuLPvEVYA,1793
72
- sky/clouds/service_catalog/constants.py,sha256=N-Qgy93rtWC4lMNO7eeYYgXH9LXn-Y3lcWb8lR3vMwk,435
73
+ sky/clouds/service_catalog/constants.py,sha256=ZRLCPYkIrrx7Nddxo4e5ZMZ81r5A8TCj9mLVOCemmDk,573
73
74
  sky/clouds/service_catalog/cudo_catalog.py,sha256=V_takvL6dWTGQaTLCEvjKIotCDPnMujiNUZ87kZKGVI,4673
74
75
  sky/clouds/service_catalog/do_catalog.py,sha256=Cug2QaQlSN6nFhba7f1ksyzs6z0ICTj6vSiR-792WnI,3698
75
76
  sky/clouds/service_catalog/fluidstack_catalog.py,sha256=21-cvrYEYTIi7n3ZNF2e7_0QX-PF4BkhlVJUWQOvKrY,5059
@@ -82,6 +83,7 @@ sky/clouds/service_catalog/oci_catalog.py,sha256=cyA6ZqwHGOKuPxUl_dKmFGdeWdQGMrv
82
83
  sky/clouds/service_catalog/paperspace_catalog.py,sha256=MOlfoGRChjEwMzu4nRAho8DrIwwUJ3QlRzrMA1RLqvE,3789
83
84
  sky/clouds/service_catalog/runpod_catalog.py,sha256=BJ7CXEciTDpF3Jmbf0g5EHeRgb_plQF7T8vv9AskhD0,3748
84
85
  sky/clouds/service_catalog/scp_catalog.py,sha256=nrtD0hAZd1rUDsFuHI1hrBgAVSE5YprdWoYSXQooIqU,5195
86
+ sky/clouds/service_catalog/ssh_catalog.py,sha256=k9nOCytwgJfkbzvn_qbu8Hs58EmPnNpu9rkUvGNSftI,5956
85
87
  sky/clouds/service_catalog/vast_catalog.py,sha256=3QfbFx7b2UIjrMbvjPyhuc7ppaKC3hYQJbITZC5DRPA,4204
86
88
  sky/clouds/service_catalog/vsphere_catalog.py,sha256=OV3Czi3vwRSW4lqVPHxU_GND0ox322gmhv3kb11Q8AM,4412
87
89
  sky/clouds/service_catalog/data_fetchers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -101,13 +103,15 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
101
103
  sky/clouds/utils/gcp_utils.py,sha256=YtuS4EoAMvcRnGPgE_WLENPOPWIdvhp7dLceTw_zfas,7114
102
104
  sky/clouds/utils/oci_utils.py,sha256=0YxhgZdeIHQUI1AZ86YuswsZg5HdVCIVfSTRJsSHYI0,6396
103
105
  sky/clouds/utils/scp_utils.py,sha256=MqawUhhFHHxVnn29nOI4gJ_nF665ich4Po7bsy1afsA,15948
104
- sky/dashboard/out/404.html,sha256=ZB7QPBMgUfhofFdSHcRNsdED5LHVknn9cui95Pz3jFE,2296
105
- sky/dashboard/out/clusters.html,sha256=m8LiL0yIPYQWDTC_Vqid_coMGuhLmVoUoFitiNb1qVc,12642
106
+ sky/dashboard/out/404.html,sha256=fVAwSIbh19nKR2KuVz-COHrkG9OxPJBejOsOey2VfEo,2296
107
+ sky/dashboard/out/clusters.html,sha256=pHbfIYjZKMxbWvCpIZFcvL9eLGdPmj9wqsZqMoy1gfc,12642
106
108
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
107
- sky/dashboard/out/index.html,sha256=pytiY9y4lyo9VHWQXXucutdZHfqwqycG17kx94OPQQk,1407
108
- sky/dashboard/out/infra.html,sha256=gowJTm_2wqu2Pf4BEznS7TYLNUsYQ6qxA3nIeCuAT_E,16725
109
- sky/dashboard/out/jobs.html,sha256=LdU_W6DqqMwfiRFjnn0Ic8VgJQCqGUrdJwtY-0lx_Yo,13738
109
+ sky/dashboard/out/index.html,sha256=NBhejaNgPZjBy1yftD6vqNo2wwzPpQVlrvkKEiuXa18,1407
110
+ sky/dashboard/out/infra.html,sha256=oIxd2-G4iywnnc5hjjtCIITgkepH1frOLWraxft0VXY,18932
111
+ sky/dashboard/out/jobs.html,sha256=ElUT4m-Q26pzymgDgVNEpo8pMDVbhLpMUXtTamL1n0M,13738
110
112
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
113
+ sky/dashboard/out/_next/static/ECKwDNS9v9y3_IKFZ2lpp/_buildManifest.js,sha256=n34rBDkDq18a7-FLv9f--jXW1_yeNWE1xGW91d6O4Ko,1120
114
+ sky/dashboard/out/_next/static/ECKwDNS9v9y3_IKFZ2lpp/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
111
115
  sky/dashboard/out/_next/static/chunks/236-1a3a9440417720eb.js,sha256=Lc5O6gmyJI1sTk_N_MiG5uxVFn2Y48Oo65wpMp7_0wg,25620
112
116
  sky/dashboard/out/_next/static/chunks/312-c3c8845990db8ffc.js,sha256=H8yGnoxM_IYM2kU-A7mESi4aV4Ph3PxbIdnM2v5Kd3M,25150
113
117
  sky/dashboard/out/_next/static/chunks/37-d584022b0da4ac3b.js,sha256=0TCmdR39ipjM5HhPyoGqJylFdWbj0jtTKzPv-t4CNpg,8557
@@ -124,23 +128,21 @@ sky/dashboard/out/_next/static/chunks/pages/_app-8cfab319f9fb3ae8.js,sha256=9n1k
124
128
  sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js,sha256=TZqrus06KKPx-CMABDMPKF7w-NQ5s2gwJAM8Huyl7qU,247
125
129
  sky/dashboard/out/_next/static/chunks/pages/clusters-3a748bd76e5c2984.js,sha256=l1PHITUowVvkm06Sulox2I4KGriyj6scEwH8Yu3TROE,554
126
130
  sky/dashboard/out/_next/static/chunks/pages/index-6b0d9e5031b70c58.js,sha256=Fp2FKnKQtORK_5O7MEQ08tlTk7ewMLuecw_EY5g4Dlg,513
127
- sky/dashboard/out/_next/static/chunks/pages/infra-9180cd91cee64b96.js,sha256=bhcqzLzeCh_5ABRGq95Cp4Mrr0NIqAzKdj-fse4_-Sk,26536
131
+ sky/dashboard/out/_next/static/chunks/pages/infra-abf08c4384190a39.js,sha256=QlJKHKF2dQ2BieG5S2s-VuhxCgQqQocBUgoiA8MBPFg,29607
128
132
  sky/dashboard/out/_next/static/chunks/pages/jobs-ecd804b9272f4a7c.js,sha256=3y9XAcXceQjR2d7zN8F6CuNpF3I4JHpx14e0nO9q65A,555
129
133
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-e2fc2dd1955e6c36.js,sha256=-vepQDyFElBOGUYkXPuMF6WPFd8XxbQqPgGOsz3HGMM,4519
130
134
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-33bc2bec322249b1.js,sha256=z9fta7OpPucgYYz28vUAiRx2YhkwgDlVmTeoODKxdWc,13001
131
135
  sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-70756c2dad850a7e.js,sha256=QodX11wjkbEfBYwPqA1TaF1eO2sbY0HMaXhnTn9m0fk,17559
132
136
  sky/dashboard/out/_next/static/css/7e7ce4ff31d3977b.css,sha256=qsnE9kcljKiExjHlJ_3L3A8gYGDND72q5D_HE6JQd-8,33240
133
- sky/dashboard/out/_next/static/hvWzC5E6Q4CcKzXcWbgig/_buildManifest.js,sha256=Z7ajzdfoGlasZgCbkheB_4MYbHMR8Y9MvRJd1lBRuuo,1120
134
- sky/dashboard/out/_next/static/hvWzC5E6Q4CcKzXcWbgig/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
135
- sky/dashboard/out/clusters/[cluster].html,sha256=P3h0h9hV3tTlvknu49KNx8OPtAjbBbWMkbRA_NDoEkQ,1984
136
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=_7T88nqJzgwAGLUSXE3H2WL6YcD_hEB_Vk14e7gYeqw,1653
137
- sky/dashboard/out/jobs/[job].html,sha256=xf79-RmqZWkq7Vy3-mdkzQ4rQFIN_qVEL6SjNNMXFns,1621
137
+ sky/dashboard/out/clusters/[cluster].html,sha256=gonrv1Yu54WlfLC1u-fRmPc0Ax2VUQAtfARt6q4EjfY,1984
138
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=6mjtgapD9CO17cpTxy2xlDMXbd5IYqF5tE1fqApExnA,1653
139
+ sky/dashboard/out/jobs/[job].html,sha256=hFM5DcjttWoLXpia_5P4bQW76BTszfx_adUzQKkhjpI,1621
138
140
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
139
141
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
140
142
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
141
143
  sky/data/data_utils.py,sha256=CNYPM963qby5ddW0DZNbhiWXkqgB9MHh_jrC5DoBctM,33437
142
144
  sky/data/mounting_utils.py,sha256=6f1d0EeBj4dY-LQPwh8EtI6yoEHZawDgHaC8LChDS2s,21946
143
- sky/data/storage.py,sha256=xumCpKDW-FELA0m0IXSrRpaAS2zV162NJWfy-ugCRjc,236587
145
+ sky/data/storage.py,sha256=HfV0zWnIXlo8jJ37RtOha4CkeujA-Xo1NvUsBgFNI_w,236609
144
146
  sky/data/storage_utils.py,sha256=u8PTKUkE7qYwr1GgAJ45pI5YUkhUaPQPRUz_CZZo_HI,13785
145
147
  sky/jobs/__init__.py,sha256=qoI53-xXE0-SOkrLWigvhgFXjk7dWE0OTqGPYIk-kmM,1458
146
148
  sky/jobs/constants.py,sha256=FLPAT02CmG7PLVPpYOUlbw1s_LgRdQiwdg2YBg8joFA,3305
@@ -155,10 +157,10 @@ sky/jobs/dashboard/dashboard.py,sha256=JKg8cCH_Y0sf3MoDTx85BghVEXWpp8ItPLshp09-_
155
157
  sky/jobs/dashboard/static/favicon.ico,sha256=uYlvgxSM7gjBmXpZ8wydvZUPAbJiiix-rc2Xe5mma9s,15086
156
158
  sky/jobs/dashboard/templates/index.html,sha256=NrlTDiEHJDt7sViwWgXUSxVCyVl_IEukE5jdvN8WhtQ,33132
157
159
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
158
- sky/jobs/server/core.py,sha256=yYoEAUWLsaBcNyMqncswwgApP3neioJxXEIgfb5FsfM,26684
160
+ sky/jobs/server/core.py,sha256=xcas0s1PIJ1Y57E109uI7N9KWuKrodLPy1qLCZsU0QI,26802
159
161
  sky/jobs/server/dashboard_utils.py,sha256=2Mbx40W1pQqPEPHsSDbHeaF0j5cgyKy-_A9Owdwp_AQ,2315
160
162
  sky/jobs/server/server.py,sha256=LqBWzYVMMJ6rRcGeDsqCQco6pG_CcDCAHzmVbt57IQM,8618
161
- sky/provision/__init__.py,sha256=LzOo5LjkRXwSf29dUqN14YbjzQu3liXLQcmweTeZ4dE,6457
163
+ sky/provision/__init__.py,sha256=c4QZli6zQz1YVG0plR27kGDjxhRQwDrT5d0UZemrNPI,6487
162
164
  sky/provision/common.py,sha256=mTsL1UU-kPYGAc1gWUo-btI8bdL6tAWg9OMMAb-v8ws,10197
163
165
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
164
166
  sky/provision/docker_utils.py,sha256=ev_f5ZebMZ4NYe6OxleisBO8EAB6W0FHFJlaqVK3ugE,20939
@@ -168,7 +170,7 @@ sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpO
168
170
  sky/provision/provisioner.py,sha256=da2s4cB61lZG8qPNwyVxindkCl6FzF9bumCcZJOE1Z0,30873
169
171
  sky/provision/aws/__init__.py,sha256=mxq8PeWJqUtalDozTNpbtENErRZ1ktEs8uf2aG9UUgU,731
170
172
  sky/provision/aws/config.py,sha256=2PifaPQpD-2Kxqd6843sCUIjEhJR3lI3cJRXE1ox_ls,26728
171
- sky/provision/aws/instance.py,sha256=DuX4LcoEO-WXTquAWUjRg3IwdhXuqdCpQYfaGDuAUSc,41567
173
+ sky/provision/aws/instance.py,sha256=cVW0aQU0Jvo86u4aqfbq29-XrEcgMFFZNIkVS2PvgH8,42295
172
174
  sky/provision/aws/utils.py,sha256=LrjeQ09zA7GoMv9Nt8TlL2A3VqqChsgJ9bL-Q5VLaao,3401
173
175
  sky/provision/azure/__init__.py,sha256=87cgk1_Ws7n9rqaDDPv-HpfrkVeSQMdFQnhnXwyx9g4,548
174
176
  sky/provision/azure/azure-config-template.json,sha256=jrjAgOtpe0e6FSg3vsVqHKQqJe0w-HeWOFT1HuwzS2c,4712
@@ -191,17 +193,18 @@ sky/provision/fluidstack/fluidstack_utils.py,sha256=NdhQcwhIPGT21g7lQR-t6j-1zTA_
191
193
  sky/provision/fluidstack/instance.py,sha256=TCGLojd5mEuEaUQ1BnmRvXMOSSBjltyf7dhPG3OLdgQ,13787
192
194
  sky/provision/gcp/__init__.py,sha256=zlgjR2JoaGD7sStGStMRu9bJ62f-8NKEIyb-bFHBlzM,528
193
195
  sky/provision/gcp/config.py,sha256=RaNz4-MlxYE_V_hAtOeOMwr_lz2SZ98insjw0kJAi-o,41504
194
- sky/provision/gcp/constants.py,sha256=3650EDtLKekfv8L9j5lH6DUrlOFvZnYfuYc0EzrRwp8,10364
196
+ sky/provision/gcp/constants.py,sha256=rquSueYWtWyUR4BG3oXK9PQZ-qAzBRJilZ6N73HAHks,15194
195
197
  sky/provision/gcp/instance.py,sha256=fHtOh-Qo1rk_oL7wZML2s6tKUyQxQu2nuIsb_E0x_rQ,25118
196
- sky/provision/gcp/instance_utils.py,sha256=EjfBsTqfzSA9Y83N17Is9LA1q69VJVd-ovG8b8ThRkY,71553
198
+ sky/provision/gcp/instance_utils.py,sha256=RM5KOAk56TU8q1LNRoo9yl4VwQ3DDq7FAfTxpgdZVTc,72094
197
199
  sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
200
+ sky/provision/gcp/volume_utils.py,sha256=tTZ8QFbssPYJQlFZ48_DUUemywn248__Jr1-l429WK8,11856
198
201
  sky/provision/kubernetes/__init__.py,sha256=y6yVfii81WYG3ROxv4hiIj-ydinS5-xGxLvXnARVQoI,719
199
202
  sky/provision/kubernetes/config.py,sha256=-6ddvMro9LZ-y7K-hUPo8GdUGZ-01YyBzTAdkKblGXY,29623
200
203
  sky/provision/kubernetes/constants.py,sha256=dZCUV8FOO9Gct80sdqeubKnxeW3CGl-u5mxKeIb-B0M,411
201
- sky/provision/kubernetes/instance.py,sha256=BrAg3RN_9_Gr3nSZn5nJBZh2JP_HH0Q0tJ63U-NpJnA,58969
204
+ sky/provision/kubernetes/instance.py,sha256=c-Cp2Y7ix8utxTJ3QyityZ0Ay8yX7wZxTBF1G3jeWIs,59525
202
205
  sky/provision/kubernetes/network.py,sha256=PEy7lZvmoysmormB49JW245tRcy4owAXzDGV5KHVPEI,12672
203
206
  sky/provision/kubernetes/network_utils.py,sha256=6uck1aBkgtm-gGBitU3_hEUp8j14ZuG_4Xo70ReZYXs,11654
204
- sky/provision/kubernetes/utils.py,sha256=cTaaiS1hFvFFj0qbm-PP06gPSUPdymubIfgszRlvlT0,131452
207
+ sky/provision/kubernetes/utils.py,sha256=wkM4e-MkzNLMJUp9vOP3nn3A-GPNFkvMpQE_wVO3v_U,132342
205
208
  sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=S87GNAbDqgTrLuxF-afPAqQ0V-i41El4s_9KBZMuaag,1331
206
209
  sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
207
210
  sky/provision/lambda_cloud/config.py,sha256=jq1iLzp4Up61r4JGxvtpVbJlgXnea3LHYQhCQyyl7ik,272
@@ -209,8 +212,8 @@ sky/provision/lambda_cloud/instance.py,sha256=zenKFaAS9bAJxXM5_-Vnz7Fm7sSf3KSIlX
209
212
  sky/provision/lambda_cloud/lambda_utils.py,sha256=G1dciGF8U3OGYk0-1pc3IDsT8AyA8AceujOkQy4fqho,13284
210
213
  sky/provision/nebius/__init__.py,sha256=30I3181mu0W5g9fNvaWMPoBJZoGZ9RibuTpBH9P2pDg,558
211
214
  sky/provision/nebius/config.py,sha256=LK9kTDp2w6zZrn3vNdcSGgsgS-dL_j63Nh4_u3pqNiA,321
212
- sky/provision/nebius/instance.py,sha256=baaH-sbtuaXboK_GTJ3TXiiLw2KuXjm4nU3y6_ygm4c,12004
213
- sky/provision/nebius/utils.py,sha256=QJXwHY46rp_LwmQ1IvuLEAN372z5xHdI9oMDGNSQOzg,12157
215
+ sky/provision/nebius/instance.py,sha256=gcWuYAbmdEl_xKk6nmbJ3LDruj7OrRlRnuUq3czRlxM,12089
216
+ sky/provision/nebius/utils.py,sha256=_pTKvYD1BKWmLiv0vEOuLNMzwfqFp6px-_vR37f5H6U,12740
214
217
  sky/provision/oci/__init__.py,sha256=5E6EUtTK3mqGVREw5TuVl5DxteBYTZigIii7c8gHExU,612
215
218
  sky/provision/oci/config.py,sha256=diSDTyHLokcuXGB2XgZCHFvsXa8bah1PP2XuMouW_UU,1650
216
219
  sky/provision/oci/instance.py,sha256=rVGee5y0qkoeLIP5vPDmLq1N8G1n8mru62VHb0Bv5iY,16784
@@ -227,6 +230,7 @@ sky/provision/runpod/utils.py,sha256=zlilNbzKAYJIq-hlJZkjIbn1Wua8waNddESW5HmShP4
227
230
  sky/provision/runpod/api/__init__.py,sha256=eJwjPeQZ5B7chf4-Bl4YeI2Uo9aLX4M1rr2NmPk89_E,112
228
231
  sky/provision/runpod/api/commands.py,sha256=oh77PS0H0wZudHV8II9ceRuaFQ8FN4NJ4S3-6_PeqPM,4238
229
232
  sky/provision/runpod/api/pods.py,sha256=GMwxgNr9NnHPfyh2Y9b8S_vLhrLY4h7LybFBBQNAyfw,4948
233
+ sky/provision/ssh/__init__.py,sha256=jLQEBTOBMBO11ER9PnY1U2aMCJx7_TEFoaoa5nDHX34,917
230
234
  sky/provision/vast/__init__.py,sha256=iuTyc9Ib3x8Rm5kMvciydkUBEs19fititGdPsXRCr4E,487
231
235
  sky/provision/vast/config.py,sha256=Aa57fKITHvNiXkY0ADoiK6YYRNG6ND9vOC7ueETJIr0,319
232
236
  sky/provision/vast/instance.py,sha256=-i3Dg30NKkvdpYA1ybV0G4V6LAqsvBFRZ9BWEXvUzyI,9500
@@ -261,20 +265,21 @@ sky/serve/spot_placer.py,sha256=auRlYZNg8uIW-lxiirxpDP-iIaJtkrhesm6OGMgwPq4,1128
261
265
  sky/serve/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
262
266
  sky/serve/client/sdk.py,sha256=7wJf_Ob1291Cs4yKAghZ_xWvd-Kc0IDtHiLIlphj8tQ,14673
263
267
  sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
264
- sky/serve/server/core.py,sha256=kjPrsln_hF0cM5nVFujQm5uTemtLIHDTOfPbl12FZzc,41178
268
+ sky/serve/server/core.py,sha256=sS1fkQj05CUjZGnkj73m41YKJLyRo4zueEfKOs4y1L4,41070
265
269
  sky/serve/server/server.py,sha256=A9K37a0nQgZeN3eKWv62Oh2C5TSAReTZ9pHmztqlI-c,4396
266
270
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
267
- sky/server/common.py,sha256=RPxnyaw_ArHkzo3VJdnCO-o8lazAUJZTMUBSySdUwgI,29018
271
+ sky/server/common.py,sha256=JGkAkj1oexseiDRB0F5IvlhFZpmavHrX0Ovdf0rqjtU,30759
268
272
  sky/server/config.py,sha256=XWf5Kw4am6vMO5wcyWevbQAFH-dmKb7AMEgDzD083-M,8538
269
- sky/server/constants.py,sha256=Ha3A4X0kPh0FrdlM5u34Wi7OxhScPUwHqRi4-ye347Y,1112
270
- sky/server/server.py,sha256=TTv9DJaW60AbR0e4YIEWFkbYVJr1bnpjr91w5Gd9ArI,49002
273
+ sky/server/constants.py,sha256=rJAuxkxj6UqSey9hQaBZ__MyZ-rRew9XrpUBNzRdxHI,1193
274
+ sky/server/server.py,sha256=JvvvJ4yMJG8u6LCk4CLOxwTE24wXhQkA6YjI9KUexcA,51502
271
275
  sky/server/stream_utils.py,sha256=4JMHgtoXPpCT8JwtqyUcDQ9IdZFir9om0JaCRr8rvbQ,5849
272
276
  sky/server/uvicorn.py,sha256=4bTlvqQiykYDEIfV6Ta9KXWKZUtSfIrhDeT1F9yQuvs,3323
273
277
  sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
278
+ sky/server/html/token_page.html,sha256=ha1BnR9ri4DCK-LLsqoznBM_UnRbzeqFpiGAXe-QOVM,5597
274
279
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
275
280
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
276
- sky/server/requests/executor.py,sha256=EURzExLaHeRA1w2B52p4HWokfHmbJAVgYl_oV40w0jw,23628
277
- sky/server/requests/payloads.py,sha256=qcvkd4p0rh_QAZz8MhmBNu8Xa4z8WLtxBOQR5ulGtuk,17064
281
+ sky/server/requests/executor.py,sha256=9p_ECwh8fhfiou7k5cwrAYEDRjw4nigerc4kIomNgSg,23542
282
+ sky/server/requests/payloads.py,sha256=qcF-DJj-pARgZE6G_kUS5eLI3VThGyvgHc6TbJQlGA0,17246
278
283
  sky/server/requests/preconditions.py,sha256=ipxIb_3JXG6S3-ymcOdqQNb7VDvoPqADxu9ZK7-nQWc,7179
279
284
  sky/server/requests/process.py,sha256=uv6JmqdT1vR6S5j3a0CEmxz3fUoKQoZCryQsjZpZE7E,8734
280
285
  sky/server/requests/requests.py,sha256=7WABtaxHOppJT6OgYQl4nkjDu5yPXtk1_VpfqPdeg5k,21923
@@ -285,7 +290,7 @@ sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
285
290
  sky/server/requests/serializers/decoders.py,sha256=F7eqENzt7hH92BPYUGnSJ_-XGobA0whPezTh5EDLCQs,6729
286
291
  sky/server/requests/serializers/encoders.py,sha256=4bQV5yTg8RTPT_HkRyQpjaBY_uUvBJ4NH189W0-6Pi0,5578
287
292
  sky/setup_files/MANIFEST.in,sha256=xhxaTVBu63MiTRV52AIlHp6qrg0i301PDIvH0lRw4E0,619
288
- sky/setup_files/dependencies.py,sha256=clbntQqbSmsENqXqrTxsBXUiZOfA5cxc8EFnMClqS5A,6365
293
+ sky/setup_files/dependencies.py,sha256=JRzw9Sa9zpXuNVb2kQtEmTSnd2OYcw2bpLWy071t9X8,6423
289
294
  sky/setup_files/setup.py,sha256=GTXvAi65S4_TSLhQ1GzkmaWf_yzciHiaxMbZumcTtKU,7522
290
295
  sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
291
296
  sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -321,7 +326,7 @@ sky/templates/azure-ray.yml.j2,sha256=2_WQ3x_LoraE3F12qc97DUXZvD9no0gs8jGRhvkV3N
321
326
  sky/templates/cudo-ray.yml.j2,sha256=9g0yFYUk6xPet-JNTPuVDZlVZ9oAcFPL1qaE6fyy-Xc,3797
322
327
  sky/templates/do-ray.yml.j2,sha256=7XZsM2H6RF2muHCm6xnqglnKhONXH8S3Y_mFiVxD558,4220
323
328
  sky/templates/fluidstack-ray.yml.j2,sha256=dNr9svMNp0z6-PHyQeRa6Hl3SbgqMESgBdfpvtP3aH0,3789
324
- sky/templates/gcp-ray.yml.j2,sha256=IgvSSBgYhvQxUO4CJo35wyVDJb2tE1sCKoan7UVA8zU,10403
329
+ sky/templates/gcp-ray.yml.j2,sha256=2wK1j7nkLzZm2kHIbc76WZ-dk4yxObzBEEhzTEQUOuc,11789
325
330
  sky/templates/ibm-ray.yml.j2,sha256=n_EsoqQx1DUPDh7ZgCxvlEEZnROJ4rBXrFcHYVRIN2c,6907
326
331
  sky/templates/jobs-controller.yaml.j2,sha256=LbeWGkarOcrRbbdvkZv_ZfyydEcJBohKItCoAfWK6X0,2432
327
332
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
@@ -331,7 +336,7 @@ sky/templates/kubernetes-ray.yml.j2,sha256=G_2rwLWfBBTHwD8LSkt_W0Bz6bYCx6xPZvXaS
331
336
  sky/templates/kubernetes-ssh-jump.yml.j2,sha256=k5W5sOIMppU7dDkJMwPlqsUcb92y7L5_TVG3hkgMy8M,2747
332
337
  sky/templates/lambda-ray.yml.j2,sha256=AeFThho5hPQMncrOWQ6DhEWOsAuZtdxf1gjmp_6kPJA,4747
333
338
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
334
- sky/templates/nebius-ray.yml.j2,sha256=AvZJXst-8cmGlLfLffp1Jsl6qNDRmSl4ttG0JEB8Pv4,6122
339
+ sky/templates/nebius-ray.yml.j2,sha256=GKcWRIz5FAKFDiTqaQhe525RBPsMHlE3rpntnb7JUSQ,6614
335
340
  sky/templates/oci-ray.yml.j2,sha256=TvB2at81DuXSG1QV4dxmqjjMdfDTsCU5T4JH01vI5DU,4810
336
341
  sky/templates/paperspace-ray.yml.j2,sha256=GrMfpUKgeZ76FoKsnqggBrOPkwiYqUw297npPMOcMFw,4270
337
342
  sky/templates/runpod-ray.yml.j2,sha256=Ch306rKPPScu8Q6A_IJID31hRa46xnuqu_r0ziWZWG8,4604
@@ -346,7 +351,7 @@ sky/usage/constants.py,sha256=mFrTgrFIfFf4kpcl-M1VDU7_moD5_mJazUJTUDrybms,1102
346
351
  sky/usage/usage_lib.py,sha256=rInJW2kj2O1wwXUZAbeVVLhnoa7T_xBHqDhbBBrUqfI,21400
347
352
  sky/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
348
353
  sky/utils/accelerator_registry.py,sha256=rZniDbqqPAF-vjkrwxGwEErFSAp6puOimkRj3ppOSRY,3905
349
- sky/utils/admin_policy_utils.py,sha256=y_do0VH6qh163EqSuRW1uGeKvTnJhiYNrHUs77uoOcA,6013
354
+ sky/utils/admin_policy_utils.py,sha256=1f-iwc0Z2h1dKxQxfYldkWyEuZLws4LERptRcBO-5qs,6020
350
355
  sky/utils/annotations.py,sha256=-rfacB30Sl0xkFriejGvxma3oKctGfXXLZkQPHG33eo,1626
351
356
  sky/utils/atomic.py,sha256=vrw-7XCnckF0xCx-ttamao7evPdGtVsnjaTtgMlBXIE,1280
352
357
  sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14432
@@ -355,47 +360,49 @@ sky/utils/command_runner.pyi,sha256=SDwvKvwaK4_-l2S3bwKSHZX8tGKU5SkbKuYRDn03o7o,
355
360
  sky/utils/common.py,sha256=P4oVXFATUYgkruHX92cN12SJBtfb8DiOOYZtbN1kvP0,1927
356
361
  sky/utils/common_utils.py,sha256=T850YbVaAk3VCenBAEY99jDphA2-B1q7AcuunEkfj9E,32712
357
362
  sky/utils/config_utils.py,sha256=v8yZcr8OvEfXmBDYcdOj3U-AH1XERY76zGJMNdqzvqc,10339
358
- sky/utils/context.py,sha256=Sqr28B898Rck9T3dA6lw1US8QSLe8p3AypAgGOFjB_E,8126
359
- sky/utils/context_utils.py,sha256=74uR78DgpL7HIdI2Nr3rJQDtV9vY7ezJTulwo5l3UoI,6157
363
+ sky/utils/context.py,sha256=yxNlkVV9_7_0bnXJkXXe8h9t_LbFbYzPAnWIx8aTLJI,9327
364
+ sky/utils/context_utils.py,sha256=cby-QPmnGObjIE4K7eZ_dkWZdUo7YJUmnJr5oKf_v54,6712
360
365
  sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
361
366
  sky/utils/controller_utils.py,sha256=65cA--9V32HTcNS-gaXZRcLswafS7DlMZ9qSbdTLkF8,53396
362
367
  sky/utils/dag_utils.py,sha256=FjxMaAT6ia4ndVg-ogXgiekLGD1GiPCAdK_c-cjIeuY,7607
363
368
  sky/utils/db_utils.py,sha256=K2-OHPg0FeHCarevMdWe0IWzm6wWumViEeYeJuGoFUE,3747
364
369
  sky/utils/env_options.py,sha256=aaD6GoYK0LaZIqjOEZ-R7eccQuiRriW3EuLWtOI5En8,1578
365
- sky/utils/infra_utils.py,sha256=tNQcsrsCzmbMWKg6FWvLjtejaloVVmi-DFLUDbNmHOE,5942
370
+ sky/utils/infra_utils.py,sha256=CFDCxFJ0kGc5YkGcuwbPSK_AKxGFRUXMTjbeLUrRf8I,6961
366
371
  sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM,1384
367
- sky/utils/log_utils.py,sha256=0c6PiUE_XUZRc0MTKxWGPYKU7pM6QsOytclcDKVHtzo,16684
372
+ sky/utils/log_utils.py,sha256=NxlZ_KmYGZEywbNoZsgVmgD4hud6ElHS_VOaGV4ndnY,27154
368
373
  sky/utils/message_utils.py,sha256=zi2Z7PEX6Xq_zvho-aEZe_J7UvpKOLdVDdGAcipRQPU,2662
369
374
  sky/utils/registry.py,sha256=I08nS0rvCF-xR5GEZoHEVgN1jcOeglz77h7xPpBCIjU,4179
370
- sky/utils/resources_utils.py,sha256=WpEiTpieZsePMKfhQ383B-1wy5iFc_PTRD0DxReC-Ss,11339
375
+ sky/utils/resources_utils.py,sha256=oxHFiISc0Y68gCGhTw4ep6bJ6Fi21epMyeu3EN20Smc,11673
371
376
  sky/utils/rich_console_utils.py,sha256=wPvAlshaFHuMZSjiDnaK3OSBppZLBjAn-lj7AvxNBQk,553
372
377
  sky/utils/rich_utils.py,sha256=ZTXdFJp--4CJDt2ANQz0VICLPc2V7llgA6LelHdG9Mw,14188
373
- sky/utils/schemas.py,sha256=vcV0YCY-ZH8XKet92Uv_frLcYqH6Uh_Om-arwM4KDp8,35906
378
+ sky/utils/schemas.py,sha256=VtgfMDQEG7-ysRmwqr10SizDipbSVaPG3oHFxiFxCvc,38355
374
379
  sky/utils/status_lib.py,sha256=zn_MSuRYQdNKF8pnFOGQ54X_s_R7dyqWS6Q3a9zENw8,1512
375
380
  sky/utils/subprocess_utils.py,sha256=NmW22zGe9iXDXQ7XfsP4i5fve8Jq9KKiUwD7qUmw44k,16069
376
381
  sky/utils/timeline.py,sha256=ob6s3bc7nwAuSI76yLKBrSR5bzOHnOhbozz1avwoet4,4070
377
- sky/utils/ux_utils.py,sha256=R-ddrqcwKngziZz5haHufxiUnABaMMbmRVsaUljrPBg,10181
382
+ sky/utils/ux_utils.py,sha256=FChNkVnTX3vKsu4_kXt7eaf2jNSoTfwH4XLMBtGK0t4,10233
378
383
  sky/utils/validator.py,sha256=yo5cPUjGxqfa0ZxGyEYZMCWZ8O35G-k3VOEAtAoA_3w,856
379
384
  sky/utils/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
380
385
  sky/utils/aws/get_default_security_group.py,sha256=LPzz5133ZUMbzDD3iqqACL9PdlgqiQR5hKZIn-D1zhw,228
381
386
  sky/utils/cli_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
382
387
  sky/utils/cli_utils/status_utils.py,sha256=uli7MCnXj52LJL-P0Us4V1knVZXBtyV5UOlrd-uyy5Q,15275
383
388
  sky/utils/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
384
- sky/utils/kubernetes/create_cluster.sh,sha256=VLXfazav9XCMQmeKVqhuOQzt2vM6G1jgnvvb0SHUFno,7773
389
+ sky/utils/kubernetes/cleanup-tunnel.sh,sha256=rXMXuMfyB9bzKjLvXdMCjimDVvdjGPMXuqeo2ZNx9OA,2244
390
+ sky/utils/kubernetes/create_cluster.sh,sha256=VpFLLLzodeldN9-JKqcjs2LkKksMGlg14Q7qGZ49LQE,7816
385
391
  sky/utils/kubernetes/delete_cluster.sh,sha256=BSccHF43GyepDNf-FZcenzHzpXXATkVD92vgn1lWPgk,927
386
- sky/utils/kubernetes/deploy_remote_cluster.sh,sha256=EQMBC0VUqe3UaiYvwkNq4P6U9bkiBwjTNTE0z-MsTBc,10785
392
+ sky/utils/kubernetes/deploy_remote_cluster.py,sha256=4NSqAEr9nyXHuRqKtTLktNtisWXHU50m_llElqGcYbU,59118
387
393
  sky/utils/kubernetes/exec_kubeconfig_converter.py,sha256=fE1SnteoxI05EaugnWeV82hXwZTVHmbXsh1aaZAgF3c,2548
388
394
  sky/utils/kubernetes/generate_kind_config.py,sha256=_TNLnifA_r7-CRq083IP1xjelYqiLjzQX9ohuqYpDH8,3187
389
395
  sky/utils/kubernetes/generate_kubeconfig.sh,sha256=MBvXJio0PeujZSCXiRKE_pa6HCTiU9qBzR1WrXccVSY,10477
390
396
  sky/utils/kubernetes/gpu_labeler.py,sha256=YAwkytFo2j5GyGyX8RqnUXCMBff00Mdm9G_0mmtNZLo,10345
391
397
  sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7ZWF5gdVIZPupCCo9A,1224
392
398
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
393
- sky/utils/kubernetes/kubernetes_deploy_utils.py,sha256=HPVgNt-wbCVPd9dpDFiA7t2mzQLpjXHJ61eiwRbEr-c,10378
399
+ sky/utils/kubernetes/kubernetes_deploy_utils.py,sha256=8NPHenrSbeKDGM7rhY_vvffvV3G7hVcUzWznprUDjX0,14553
394
400
  sky/utils/kubernetes/rsync_helper.sh,sha256=MT29sI5iD2QxYlXFwrN16oq0Er4TPFQVs4Z4A3U4a7Q,2483
401
+ sky/utils/kubernetes/ssh-tunnel.sh,sha256=JDoEK4axrtCkVNUz7RPZCIU7Pr9dXN4az8y0s6EFyvA,12710
395
402
  sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqucXLmeUrvs6OtRij6XTQbo,6554
396
- skypilot_nightly-1.0.0.dev20250521.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
397
- skypilot_nightly-1.0.0.dev20250521.dist-info/METADATA,sha256=_8sNr6eaUj2T6jmLYJFCZ6ANw9a7tOZlpn7x-x2Qqwo,17985
398
- skypilot_nightly-1.0.0.dev20250521.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
399
- skypilot_nightly-1.0.0.dev20250521.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
400
- skypilot_nightly-1.0.0.dev20250521.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
401
- skypilot_nightly-1.0.0.dev20250521.dist-info/RECORD,,
403
+ skypilot_nightly-1.0.0.dev20250523.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
404
+ skypilot_nightly-1.0.0.dev20250523.dist-info/METADATA,sha256=M6ebnDUnWVWHWfy_QXAQCPYOry8Nmlb6ckdU41wi5Tg,18207
405
+ skypilot_nightly-1.0.0.dev20250523.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
406
+ skypilot_nightly-1.0.0.dev20250523.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
407
+ skypilot_nightly-1.0.0.dev20250523.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
408
+ skypilot_nightly-1.0.0.dev20250523.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[588],{6206:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/infra",function(){return r(1090)}])},3266:function(e,t,r){"use strict";r.d(t,{QL:function(){return d},Sl:function(){return c},zd:function(){return o}});var s=r(7294),a=r(5821),n=r(3225);let l={UP:"RUNNING",STOPPED:"STOPPED",INIT:"LAUNCHING",null:"TERMINATED"};async function o(){let{clusterNames:e=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{let t=await fetch("".concat(n.f4,"/status"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cluster_names:e,all_users:!0})}),r=t.headers.get("X-Skypilot-Request-ID")||t.headers.get("X-Request-ID"),s=await fetch("".concat(n.f4,"/api/get?request_id=").concat(r)),a=await s.json();return(a.return_value?JSON.parse(a.return_value):[]).map(e=>{let t="",r=t=e.zone?e.zone:e.region;return t&&t.length>25&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15;if(!e||e.length<=t)return e;if(t<=3)return"...";let r=Math.floor((t-3)/2),s=r+(t-3)%2;return 0===r?e.substring(0,s)+"...":e.substring(0,s)+"..."+e.substring(e.length-r)}(t,25)),{status:l[e.status],cluster:e.name,user:e.user_name,cloud:e.cloud,infra:t?e.cloud+" ("+t+")":e.cloud,full_infra:r?"".concat(e.cloud," (").concat(r,")"):e.cloud,cpus:e.cpus,mem:e.memory,gpus:e.accelerators,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:new Date(1e3*e.launched_at),num_nodes:e.nodes,jobs:[],events:[{time:new Date(1e3*e.launched_at),event:"Cluster created."}]}})}catch(e){return console.error("Error fetching clusters:",e),[]}}async function c(e){let{clusterName:t,jobId:r,onNewLog:s}=e;try{let e=(await fetch("".concat(n.f4,"/logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({follow:!1,cluster_name:t,job_id:r})})).body.getReader();for(;;){let{done:t,value:r}=await e.read();if(t)break;let a=new TextDecoder().decode(r);s(a)}}catch(e){console.error("Error in streamClusterJobLogs:",e),(0,a.C)("Error in streamClusterJobLogs: ".concat(e.message),"error")}}async function i(e){let{clusterName:t}=e;try{let e=await fetch("".concat(n.f4,"/queue"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cluster_name:t,all_users:!0})}),r=e.headers.get("X-Skypilot-Request-ID")||e.headers.get("X-Request-ID"),s=await fetch("".concat(n.f4,"/api/get?request_id=").concat(r)),a=await s.json();return JSON.parse(a.return_value).map(e=>{let r=e.end_at?e.end_at:Date.now()/1e3,s=0,a=0;return e.submitted_at&&(s=r-e.submitted_at),e.start_at&&(a=r-e.start_at),{id:e.job_id,status:e.status,job:e.job_name,user:e.username,gpus:e.accelerators||{},submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,resources:e.resources,cluster:t,total_duration:s,job_duration:a,infra:"",logs:""}})}catch(e){return console.error("Error fetching cluster jobs:",e),[]}}function d(e){let{cluster:t,job:r=null}=e,[a,n]=(0,s.useState)(null),[l,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(!0),[m,h]=(0,s.useState)(!0),f=(0,s.useCallback)(async()=>{if(t)try{u(!0);let e=await o({clusterNames:[t]});n(e[0])}catch(e){console.error("Error fetching cluster data:",e)}finally{u(!1)}},[t]),x=(0,s.useCallback)(async()=>{if(t)try{h(!0);let e=await i({clusterName:t});c(e)}catch(e){console.error("Error fetching cluster job data:",e)}finally{h(!1)}},[t]),g=(0,s.useCallback)(async()=>{await Promise.all([f(),x()])},[f,x]);return(0,s.useEffect)(()=>{f(),x()},[t,r,f,x]),{clusterData:a,clusterJobData:l,loading:d||m,refreshData:g}}},8969:function(e,t,r){"use strict";r.d(t,{Ce:function(){return i},NJ:function(){return c},Pr:function(){return o},Vp:function(){return l}});var s=r(7294),a=r(5821),n=r(3225);async function l(){let{allUsers:e=!0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{let t=(await fetch("".concat(n.f4,"/jobs/queue"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({all_users:e})})).headers.get("X-Skypilot-Request-ID"),r=await fetch("".concat(n.f4,"/api/get?request_id=").concat(t));if(500===r.status){try{let e=await r.json();if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);if(t.type&&t.type===n.iW)return{jobs:[],controllerStopped:!0}}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{jobs:[],controllerStopped:!1}}let s=await r.json();return{jobs:(s.return_value?JSON.parse(s.return_value):[]).map(e=>{let t=[];e.submitted_at&&t.push({time:new Date(1e3*e.submitted_at),event:"Job submitted."}),e.start_at&&t.push({time:new Date(1e3*e.start_at),event:"Job started."}),e.end_at&&("CANCELLING"==e.status||"CANCELLED"==e.status?t.push({time:new Date(1e3*e.end_at),event:"Job cancelled."}):t.push({time:new Date(1e3*e.end_at),event:"Job completed."})),e.last_recovered_at&&e.last_recovered_at!=e.start_at&&t.push({time:new Date(1e3*e.last_recovered_at),event:"Job recovered."});let r=(e.end_at?e.end_at:Date.now()/1e3)-e.submitted_at,s=e.cloud,a=e.cluster_resources;if(!s){if(e.cluster_resources&&"-"!==e.cluster_resources)try{s=e.cluster_resources.split("(")[0].split("x").pop().trim(),a=e.cluster_resources.replace("".concat(s,"("),"(").replace("x ","x")}catch(e){s="Unknown"}else s="Unknown"}let n="",l=n=e.zone?e.zone:e.region;n&&n.length>15&&(n=n.substring(0,15)+"...");let o=s+" ("+n+")";"-"===n&&(o=s);let c=s+" ("+l+")";return"-"===l&&(c=s),{id:e.job_id,task:e.task_name,name:e.job_name,job_duration:e.job_duration,total_duration:r,status:e.status,requested_resources:e.resources,resources_str:a,resources_str_full:e.cluster_resources_full||a,cloud:s,infra:o,full_infra:c,recoveries:e.recovery_count,details:e.failure_reason,user:e.user_name,submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,events:t}}),controllerStopped:!1}}catch(e){return console.error("Error fetching managed job data:",e),{jobs:[],controllerStopped:!1}}}function o(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,[t,r]=(0,s.useState)(null),[a,n]=(0,s.useState)(!0);return(0,s.useEffect)(()=>{(async function(){try{n(!0);let e=await l({allUsers:!0});r(e)}catch(e){console.error("Error fetching managed job data:",e)}finally{n(!1)}})()},[e]),{jobData:t,loading:a}}async function c(e){let{jobId:t,controller:r=!1,signal:s,onNewLog:l}=e,o=new Promise(e=>{setTimeout(()=>{e({timeout:!0})},1e4)}),c=(async()=>{try{let e=(await fetch("".concat(n.f4,"/jobs/logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({controller:r,follow:!1,job_id:t}),...s?{signal:s}:{}})).body.getReader();try{for(;;){let{done:t,value:r}=await e.read();if(t)break;let s=new TextDecoder().decode(r);l(s)}}finally{e.cancel()}return{timeout:!1}}catch(e){if("AbortError"===e.name)return{timeout:!1};throw e}})();if((await Promise.race([c,o])).timeout){(0,a.C)("Log request for job ".concat(t," timed out after ").concat(1e4,"ms"),"error");return}}async function i(e,t,r){let s="",l="",o="",c={};if("restartcontroller"===e)s="Restarting",l="restarted",o="jobs/queue",c={all_users:!0,refresh:!0},t="controller";else throw Error("Invalid action: ".concat(e));(0,a.C)("".concat(s," job ").concat(t,"..."),"info");try{try{let e=(await fetch("".concat(n.f4,"/").concat(o),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)})).headers.get("X-Skypilot-Request-ID"),i=await fetch("".concat(n.f4,"/api/get?request_id=").concat(e));if(200===i.status)(0,a.C)("Job ".concat(t," ").concat(l," successfully."),"success");else if(500===i.status)try{let e=await i.json();if(e.detail&&e.detail.error)try{let l=JSON.parse(e.detail.error);l.type&&l.type===n.Bo?(0,a.C)("".concat(s," job ").concat(t," is not supported!"),"error",1e4):l.type&&l.type===n.mF?(0,a.C)("Cluster ".concat(r," does not exist."),"error"):l.type&&l.type===n.iW?(0,a.C)("Cluster ".concat(r," is not up."),"error"):(0,a.C)("".concat(s," job ").concat(t," failed: ").concat(l.type),"error")}catch(r){(0,a.C)("".concat(s," job ").concat(t," failed: ").concat(e.detail.error),"error")}else(0,a.C)("".concat(s," job ").concat(t," failed with no details."),"error")}catch(e){(0,a.C)("".concat(s," job ").concat(t," failed with parse error."),"error")}else(0,a.C)("".concat(s," job ").concat(t," failed with status ").concat(i.status,"."),"error")}catch(e){console.error("Fetch error:",e),(0,a.C)("Network error ".concat(s," job ").concat(t,": ").concat(e.message),"error")}}catch(e){console.error("Error in handleStop:",e),(0,a.C)("Critical error ".concat(s," job ").concat(t,": ").concat(e.message),"error")}}},1090:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return v}});var s=r(5893),a=r(7294),n=r(8799),l=r(9470),o=r(3626),c=r(3001),i=r(3225),d=r(3266),u=r(8969);async function m(){try{let[e,t]=await Promise.all([(0,d.zd)(),(0,u.Vp)()]),r=(null==t?void 0:t.jobs)||[],s=[];try{let e=await fetch("".concat(i.f4,"/enabled_clouds"),{method:"GET",headers:{"Content-Type":"application/json"}}),t=e.headers.get("X-Skypilot-Request-ID")||e.headers.get("X-Request-ID"),r=await fetch("".concat(i.f4,"/api/get?request_id=").concat(t)),a=await r.json();s=a.return_value?JSON.parse(a.return_value):[],console.log("Enabled clouds:",s)}catch(e){console.error("Error fetching enabled clouds:",e),s=[]}let a={};i.$m.forEach(e=>{let t=s.includes(e);a[e]={name:e,clusters:0,jobs:0,enabled:t}}),(e||[]).forEach(e=>{if(e.cloud){let t=e.cloud;a[t]&&(a[t].clusters+=1,a[t].enabled=!0)}}),r.forEach(e=>{if(e.cloud){let t=e.cloud;a[t]&&(a[t].jobs+=1,a[t].enabled=!0)}});let n=i.$m.length,l=Object.values(a).filter(e=>e.enabled).length;return{clouds:Object.values(a).filter(e=>e.enabled).sort((e,t)=>t.clusters-e.clusters||t.jobs-e.jobs),totalClouds:n,enabledClouds:l}}catch(e){return console.error("Error fetching cloud infrastructure:",e),{clouds:[],totalClouds:i.$m.length,enabledClouds:0}}}async function h(){return await g()}async function f(){try{let e=await fetch("".concat(i.f4,"/realtime_kubernetes_gpu_availability"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({context:null,name_filter:null,quantity_filter:null})});if(!e.ok){if(422===e.status)return console.log("No GPU resources available in Kubernetes contexts"),[];return console.error("Error fetching Kubernetes context GPUs: ".concat(e.status," ").concat(e.statusText)),[]}let t=e.headers.get("X-Skypilot-Request-ID")||e.headers.get("x-request-id");if(!t)return console.error("No request ID returned for Kubernetes GPU availability"),[];let r=await fetch("".concat(i.f4,"/api/get?request_id=").concat(t));if(500===r.status){try{let e=await r.json();if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);console.error("Error fetching Kubernetes context GPUs:",t.message)}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return[]}let s=await r.json();return s.return_value?JSON.parse(s.return_value):[]}catch(e){return console.error("Error fetching Kubernetes context GPUs:",e),[]}}async function x(e){try{let t=await fetch("".concat(i.f4,"/kubernetes_node_info"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({context:e})}),r=t.headers.get("X-Skypilot-Request-ID")||t.headers.get("x-request-id"),s=await fetch("".concat(i.f4,"/api/get?request_id=").concat(r));if(500===s.status){try{let e=await s.json();if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);console.error("Error fetching Kubernetes per node GPUs:",t.message)}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{}}let a=await s.json();return(a.return_value?JSON.parse(a.return_value):{}).node_info_dict||{}}catch(e){return console.error("Error fetching Kubernetes per node GPUs:",e),{}}}async function g(){try{let e=await f();if(!e||0===e.length)return console.log("No Kubernetes GPUs available"),{allGPUs:[],perContextGPUs:[],perNodeGPUs:[]};let t={},r={},s={};for(let a of e){let e=a[0],n=a[1];for(let s of(r[e]||(r[e]=[]),n)){let a=s[0],n=s[1].join(", "),l=s[2],o=s[3];a in t?(t[a].gpu_total+=l,t[a].gpu_free+=o):t[a]={gpu_total:l,gpu_free:o,gpu_name:a},r[e].push({gpu_name:a,gpu_requestable_qty_per_node:n,gpu_total:l,gpu_free:o,context:e})}let l=await x(e);for(let t in l)s["".concat(e,"/").concat(t)]={node_name:l[t].name,gpu_name:l[t].accelerator_type||"-",gpu_total:l[t].total.accelerator_count,gpu_free:l[t].free.accelerators_available,context:e}}return{allGPUs:Object.values(t).sort((e,t)=>e.gpu_name.localeCompare(t.gpu_name)),perContextGPUs:Object.values(r).flat().sort((e,t)=>e.context.localeCompare(t.context)||e.gpu_name.localeCompare(t.gpu_name)),perNodeGPUs:Object.values(s).sort((e,t)=>e.context.localeCompare(t.context)||e.node_name.localeCompare(t.node_name)||e.gpu_name.localeCompare(t.gpu_name))}}catch(e){return console.error("Error fetching Kubernetes GPUs:",e),{allGPUs:[],perContextGPUs:[],perNodeGPUs:[]}}}var p=r(1163),b=r(1664),j=r.n(b),y=r(7469);function _(){let[e,t]=(0,a.useState)(!0),[r,i]=(0,a.useState)(!0),[d,u]=(0,a.useState)(!0),f=a.useRef(null),x=(0,c.X)(),[g,b]=(0,a.useState)(!1),[_,N]=(0,a.useState)(!1),w=(0,p.useRouter)(),[v,C]=(0,a.useState)([]),[S,E]=(0,a.useState)([]),[P,O]=(0,a.useState)([]),[q,k]=(0,a.useState)([]),[U,J]=(0,a.useState)(0),[D,G]=(0,a.useState)(0),[T,I]=(0,a.useState)(null),R=a.useCallback(async()=>{t(!0),i(!0);try{let{allGPUs:e,perContextGPUs:t,perNodeGPUs:r}=await h();C(e||[]),E(t||[]),O(r||[]),b(!0)}catch(e){console.error("Error fetching Kubernetes data:",e),C([]),E([]),O([])}finally{t(!1)}try{let e=await m();k((null==e?void 0:e.clouds)||[]),J((null==e?void 0:e.totalClouds)||0),G((null==e?void 0:e.enabledClouds)||0),N(!0)}catch(e){console.error("Error fetching cloud infrastructure data:",e),k([]),J(0),G(0)}finally{i(!1),d&&u(!1)}},[d]);a.useEffect(()=>{f&&(f.current=R)},[f,R]),(0,a.useEffect)(()=>{let e=!0;R();let t=setInterval(()=>{e&&R()},6e4);return()=>{e=!1,clearInterval(t)}},[R]),v.length;let K=v.reduce((e,t)=>e+t.gpu_total,0),L=v.reduce((e,t)=>e+t.gpu_free,0),X=a.useMemo(()=>S?S.reduce((e,t)=>{let{context:r}=t;return e[r]||(e[r]=[]),e[r].push(t),e},{}):{},[S]),z=a.useMemo(()=>Object.keys(X),[X]),A=a.useMemo(()=>P?P.reduce((e,t)=>{let{context:r}=t;return e[r]||(e[r]=[]),e[r].push(t),e},{}):{},[P]);(0,a.useEffect)(()=>{w.query.context&&I(decodeURIComponent(Array.isArray(w.query.context)?w.query.context[0]:w.query.context))},[w.isReady,w.query]);let M=e=>{I(e),w.replace({pathname:"/infra",query:e?{context:e}:void 0},e?"/infra/".concat(encodeURIComponent(e)):"/infra",{shallow:!0})},F=()=>{I(null),w.replace({pathname:"/infra"},"/infra",{shallow:!0})};(0,a.useEffect)(()=>{let e=e=>{let t=e.match(/\/infra\/([^\/]+)$/);t?I(decodeURIComponent(t[1])):"/infra"===e&&I(null)};return w.events.on("routeChangeComplete",e),()=>{w.events.off("routeChangeComplete",e)}},[w.events]);let Z=e||r;return(0,s.jsxs)(l.A,{highlighted:"infra",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-4 h-5",children:[(0,s.jsxs)("div",{className:"text-base flex items-center",children:[(0,s.jsx)(j(),{href:"/infra",className:"text-sky-blue hover:underline ".concat(T?"":"cursor-default"),onClick:e=>{T&&(e.preventDefault(),F())},children:"Infrastructure"}),T&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,s.jsx)("span",{className:"text-sky-blue hover:underline cursor-pointer",onClick:e=>{e.preventDefault(),F()},children:"Kubernetes"}),(0,s.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,s.jsx)("span",{className:"text-sky-blue",children:T})]})]}),(0,s.jsxs)("div",{className:"flex items-center",children:[Z&&(0,s.jsxs)("div",{className:"flex items-center mr-2",children:[(0,s.jsx)(n.Z,{size:15,className:"mt-0"}),(0,s.jsx)("span",{className:"ml-2 text-gray-500",children:"Loading..."})]}),(0,s.jsxs)("button",{onClick:()=>{f.current&&(u(!1),f.current())},disabled:Z,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:[(0,s.jsx)(o.Z,{className:"h-4 w-4 mr-1.5"}),!x&&"Refresh"]})]})]}),T?e&&!g?(0,s.jsxs)("div",{className:"flex flex-col items-center justify-center h-64",children:[(0,s.jsx)(n.Z,{size:32,className:"mb-4"}),(0,s.jsx)("span",{className:"text-gray-500 text-lg",children:"Loading Context..."})]}):(e=>{let t=X[e]||[],r=A[e]||[];return(0,s.jsx)("div",{className:"mb-4",children:(0,s.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm h-full",children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("h4",{className:"text-lg font-semibold mb-4",children:"Available GPUs"}),(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6",children:t.map(e=>{let t=e.gpu_total-e.gpu_free,r=e.gpu_total>0?e.gpu_free/e.gpu_total*100:0,a=e.gpu_total>0?t/e.gpu_total*100:0;return(0,s.jsxs)("div",{className:"p-3 bg-gray-50 rounded-md border border-gray-200 shadow-sm",children:[(0,s.jsxs)("div",{className:"flex justify-between items-center mb-1.5 flex-wrap",children:[(0,s.jsxs)("div",{className:"font-medium text-gray-800 text-sm",children:[e.gpu_name,(0,s.jsxs)("span",{className:"text-xs text-gray-500 ml-2",children:["(Requestable: ",e.gpu_requestable_qty_per_node," / node)"]})]}),(0,s.jsxs)("span",{className:"text-xs font-medium",children:[e.gpu_free," free / ",e.gpu_total," total"]})]}),(0,s.jsxs)("div",{className:"w-full bg-gray-100 rounded-md h-4 flex overflow-hidden shadow-sm",children:[a>0&&(0,s.jsx)("div",{style:{width:"".concat(a,"%")},className:"bg-yellow-500 h-full flex items-center justify-center text-white text-xs",children:a>15&&"".concat(t," used")}),r>0&&(0,s.jsx)("div",{style:{width:"".concat(r,"%")},className:"bg-green-700 h-full flex items-center justify-center text-white text-xs",children:r>15&&"".concat(e.gpu_free," free")})]})]},e.gpu_name)})}),r.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h4",{className:"text-lg font-semibold mb-4",children:"Nodes"}),(0,s.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm",children:(0,s.jsxs)("table",{className:"min-w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-gray-100",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600",children:"Node"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600",children:"GPU"}),(0,s.jsx)("th",{className:"p-3 text-right font-medium text-gray-600",children:"Availability"})]})}),(0,s.jsx)("tbody",{className:"bg-white divide-y divide-gray-200",children:r.map((e,t)=>(0,s.jsxs)("tr",{className:"hover:bg-gray-50",children:[(0,s.jsx)("td",{className:"p-3 whitespace-nowrap text-gray-700",children:e.node_name}),(0,s.jsx)("td",{className:"p-3 whitespace-nowrap text-gray-700",children:e.gpu_name}),(0,s.jsx)("td",{className:"p-3 whitespace-nowrap text-right text-gray-700",children:"".concat(e.gpu_free," of ").concat(e.gpu_total," free")})]},"".concat(e.node_name,"-").concat(t)))})]})})]})]})})})})(T):(0,s.jsxs)(s.Fragment,{children:[e&&!g?(0,s.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Kubernetes"}),(0,s.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,s.jsx)(n.Z,{size:24,className:"mr-3"}),(0,s.jsx)("span",{className:"text-gray-500",children:"Loading Kubernetes..."})]})]})}):g&&v.length>0?(0,s.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsxs)("div",{className:"flex items-center mb-4",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold",children:"Kubernetes"}),(0,s.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-blue-100 text-blue-800 rounded-full text-xs font-medium",children:[z.length," ",1===z.length?"context":"contexts"]})]}),(0,s.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,s.jsx)("div",{children:(0,s.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm bg-white",children:(0,s.jsxs)("table",{className:"min-w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-gray-50",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/3",children:"Context"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/6",children:"Nodes"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/3",children:"GPU Types"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/6",children:"#GPUs"})]})}),(0,s.jsx)("tbody",{className:"bg-white divide-y divide-gray-200 ".concat(z.length>5?"max-h-[250px] overflow-y-auto block":""),children:z.map(e=>{let t=X[e]||[],r=A[e]||[],a=t.reduce((e,t)=>e+(t.gpu_total||0),0),n=Object.keys(t.reduce((e,t)=>(e[t.gpu_name]=(e[t.gpu_name]||0)+(t.gpu_total||0),e),{})).join(", ");return(0,s.jsxs)("tr",{className:"hover:bg-gray-50",children:[(0,s.jsx)("td",{className:"p-3",children:(0,s.jsx)(y.Md,{content:e,className:"text-sm text-muted-foreground",children:(0,s.jsx)("span",{className:"text-blue-600 hover:underline cursor-pointer",onClick:()=>M(e),children:e.length>30?"".concat(e.substring(0,Math.floor(13.5)),"...").concat(e.substring(e.length-Math.ceil(13.5))):e})})}),(0,s.jsx)("td",{className:"p-3",children:r.length}),(0,s.jsx)("td",{className:"p-3",children:n}),(0,s.jsx)("td",{className:"p-3",children:a})]},e)})})]})})}),(0,s.jsx)("div",{children:(0,s.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm bg-white",children:(0,s.jsxs)("table",{className:"min-w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-gray-50",children:(0,s.jsxs)("tr",{children:[(0,s.jsxs)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/4 whitespace-nowrap",children:["GPU",(0,s.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-green-100 text-green-800 rounded-full text-xs font-medium whitespace-nowrap",children:[L," of ",K," free"]})]}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/4",children:"Requestable"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/2",children:(0,s.jsx)("div",{className:"flex items-center",children:(0,s.jsx)("span",{children:"Utilization"})})})]})}),(0,s.jsx)("tbody",{className:"bg-white divide-y divide-gray-200 ".concat(v.length>5?"max-h-[250px] overflow-y-auto block":""),children:v.map(e=>{let t=e.gpu_total-e.gpu_free,r=e.gpu_total>0?e.gpu_free/e.gpu_total*100:0,a=e.gpu_total>0?t/e.gpu_total*100:0,n=S.filter(t=>t.gpu_name===e.gpu_name).map(e=>e.gpu_requestable_qty_per_node).filter((e,t,r)=>r.indexOf(e)===t).join(", ");return(0,s.jsxs)("tr",{children:[(0,s.jsx)("td",{className:"p-3 font-medium w-24 whitespace-nowrap",children:e.gpu_name}),(0,s.jsxs)("td",{className:"p-3 text-xs text-gray-600",children:[n||"-"," / node"]}),(0,s.jsx)("td",{className:"p-3 w-2/3",children:(0,s.jsx)("div",{className:"flex items-center gap-3",children:(0,s.jsxs)("div",{className:"flex-1 bg-gray-100 rounded-md h-5 flex overflow-hidden shadow-sm min-w-[100px] w-full",children:[a>0&&(0,s.jsx)("div",{style:{width:"".concat(a,"%")},className:"bg-yellow-500 h-full flex items-center justify-center text-white text-xs font-medium",children:a>15&&"".concat(t," used")}),r>0&&(0,s.jsx)("div",{style:{width:"".concat(r,"%")},className:"bg-green-700 h-full flex items-center justify-center text-white text-xs font-medium",children:r>15&&"".concat(e.gpu_free," free")})]})})})]},e.gpu_name)})})]})})})]})]})}):g&&0===v.length?(0,s.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Kubernetes Infrastructure"}),(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"No Kubernetes GPUs found or Kubernetes is not configured."})]})}):null,r&&!_?(0,s.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Cloud"}),(0,s.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,s.jsx)(n.Z,{size:24,className:"mr-3"}),(0,s.jsx)("span",{className:"text-gray-500",children:"Loading Cloud..."})]})]})}):(0,s.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,s.jsxs)("div",{className:"p-5",children:[(0,s.jsxs)("div",{className:"flex items-center mb-4",children:[(0,s.jsx)("h3",{className:"text-lg font-semibold",children:"Cloud"}),(0,s.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-blue-100 text-blue-800 rounded-full text-xs font-medium",children:[D," of ",U," enabled"]})]}),0===q.length?(0,s.jsx)("p",{className:"text-sm text-gray-500",children:"No enabled clouds available."}):(0,s.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm bg-white",children:(0,s.jsxs)("table",{className:"min-w-full text-sm",children:[(0,s.jsx)("thead",{className:"bg-gray-50",children:(0,s.jsxs)("tr",{children:[(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-32",children:"Cloud"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-24",children:"Clusters"}),(0,s.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-24",children:"Jobs"})]})}),(0,s.jsx)("tbody",{className:"bg-white divide-y divide-gray-200",children:q.map(e=>(0,s.jsxs)("tr",{className:"hover:bg-gray-50",children:[(0,s.jsx)("td",{className:"p-3 font-medium text-gray-700",children:e.name}),(0,s.jsx)("td",{className:"p-3",children:e.clusters>0?(0,s.jsx)("span",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded text-xs font-medium",children:e.clusters}):(0,s.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-xs font-medium",children:"0"})}),(0,s.jsx)("td",{className:"p-3",children:e.jobs>0?(0,s.jsx)("span",{className:"px-2 py-0.5 bg-green-100 text-green-800 rounded text-xs font-medium",children:e.jobs}):(0,s.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-xs font-medium",children:"0"})})]},e.name))})]})})]})})]})]})}var N=r(9008),w=r.n(N);function v(){return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(w(),{children:(0,s.jsx)("title",{children:"Infra | SkyPilot Dashboard"})}),(0,s.jsx)(_,{})]})}}},function(e){e.O(0,[582,480,888,774,179],function(){return e(e.s=6206)}),_N_E=e.O()}]);