skypilot-nightly 1.0.0.dev20250926__py3-none-any.whl → 1.0.0.dev20250927__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.

Potentially problematic release.


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

Files changed (57) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/backend_utils.py +25 -4
  3. sky/backends/cloud_vm_ray_backend.py +151 -36
  4. sky/client/cli/command.py +2 -1
  5. sky/client/cli/table_utils.py +34 -0
  6. sky/client/sdk.py +7 -5
  7. sky/client/sdk_async.py +5 -5
  8. sky/core.py +3 -4
  9. sky/dashboard/out/404.html +1 -1
  10. sky/dashboard/out/_next/static/{VXU6_xE28M55BOdwmUUJS → UDSEoDB67vwFMZyCJ4HWU}/_buildManifest.js +1 -1
  11. sky/dashboard/out/_next/static/chunks/{3294.03e02ae73455f48e.js → 3294.93d9336bdc032b3a.js} +1 -1
  12. sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js +1 -0
  13. sky/dashboard/out/_next/static/chunks/{webpack-8e64d11e58eab5cb.js → webpack-7340bc0f0dd8ae74.js} +1 -1
  14. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  15. sky/dashboard/out/clusters/[cluster].html +1 -1
  16. sky/dashboard/out/clusters.html +1 -1
  17. sky/dashboard/out/config.html +1 -1
  18. sky/dashboard/out/index.html +1 -1
  19. sky/dashboard/out/infra/[context].html +1 -1
  20. sky/dashboard/out/infra.html +1 -1
  21. sky/dashboard/out/jobs/[job].html +1 -1
  22. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  23. sky/dashboard/out/jobs.html +1 -1
  24. sky/dashboard/out/users.html +1 -1
  25. sky/dashboard/out/volumes.html +1 -1
  26. sky/dashboard/out/workspace/new.html +1 -1
  27. sky/dashboard/out/workspaces/[name].html +1 -1
  28. sky/dashboard/out/workspaces.html +1 -1
  29. sky/execution.py +0 -1
  30. sky/global_user_state.py +3 -3
  31. sky/jobs/server/core.py +96 -26
  32. sky/jobs/server/utils.py +65 -32
  33. sky/jobs/state.py +145 -3
  34. sky/jobs/utils.py +85 -7
  35. sky/schemas/api/responses.py +18 -0
  36. sky/schemas/generated/managed_jobsv1_pb2.py +70 -0
  37. sky/schemas/generated/managed_jobsv1_pb2.pyi +262 -0
  38. sky/schemas/generated/managed_jobsv1_pb2_grpc.py +278 -0
  39. sky/serve/serve_utils.py +16 -0
  40. sky/serve/server/core.py +1 -1
  41. sky/serve/server/impl.py +6 -6
  42. sky/server/requests/serializers/decoders.py +2 -2
  43. sky/server/requests/serializers/encoders.py +7 -3
  44. sky/skylet/constants.py +1 -1
  45. sky/skylet/job_lib.py +2 -32
  46. sky/skylet/log_lib.py +211 -0
  47. sky/skylet/log_lib.pyi +30 -1
  48. sky/skylet/services.py +208 -2
  49. sky/skylet/skylet.py +3 -0
  50. {skypilot_nightly-1.0.0.dev20250926.dist-info → skypilot_nightly-1.0.0.dev20250927.dist-info}/METADATA +32 -32
  51. {skypilot_nightly-1.0.0.dev20250926.dist-info → skypilot_nightly-1.0.0.dev20250927.dist-info}/RECORD +56 -52
  52. sky/dashboard/out/_next/static/chunks/6856-2b3600ff2854d066.js +0 -1
  53. /sky/dashboard/out/_next/static/{VXU6_xE28M55BOdwmUUJS → UDSEoDB67vwFMZyCJ4HWU}/_ssgManifest.js +0 -0
  54. {skypilot_nightly-1.0.0.dev20250926.dist-info → skypilot_nightly-1.0.0.dev20250927.dist-info}/WHEEL +0 -0
  55. {skypilot_nightly-1.0.0.dev20250926.dist-info → skypilot_nightly-1.0.0.dev20250927.dist-info}/entry_points.txt +0 -0
  56. {skypilot_nightly-1.0.0.dev20250926.dist-info → skypilot_nightly-1.0.0.dev20250927.dist-info}/licenses/LICENSE +0 -0
  57. {skypilot_nightly-1.0.0.dev20250926.dist-info → skypilot_nightly-1.0.0.dev20250927.dist-info}/top_level.txt +0 -0
@@ -1,14 +1,14 @@
1
- sky/__init__.py,sha256=5DzNcNmJww2JcDpdra9LeeOy5UrWFipeCU8W9qAYpyk,6713
1
+ sky/__init__.py,sha256=D7BBwbnxQrvtvfgtKQSnKZnUU5veyZhtKzG-gu-N4pU,6713
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=xWdnHD4b172-FPTcVFmRhYvt_JNVLYvgFkaFS5qvs-k,28210
4
4
  sky/check.py,sha256=Z7D6txaOAEL7fyEQ8q-Zxk1aWaHpEcl412Rj2mThbQ0,31025
5
5
  sky/cli.py,sha256=VXIZryeTtJPYpPTBKymVPmuOCyh8knfWrq-qnkr6R-4,178
6
6
  sky/cloud_stores.py,sha256=Ln5GBpel-sEs7rVx7bBrMkfLwA_bctI05Rox2uoz7Lo,26388
7
- sky/core.py,sha256=R9TT3NrPKGChKgOvHNwyiU2_EwQa_sffWu82NURdm7I,58209
7
+ sky/core.py,sha256=h-aXltbwlC5CEELQmC4mIrBE9Xe36zjvd6rhwI1Q8QY,58272
8
8
  sky/dag.py,sha256=0ZpAEDXuIFo1SP7YJpF9vXiFxpRwqP8od-UXMg95td8,3929
9
9
  sky/exceptions.py,sha256=IprWNwo6z5cHE-vTuQ5bMcjCfE2kgwZ3PRuawLPucXY,20466
10
- sky/execution.py,sha256=NIAywx4e3dOWv6eW2mc55nCcdaVl2gh0e_BO78w5BxY,35087
11
- sky/global_user_state.py,sha256=Lc6NkhTNpW9ki-kEH7VYP-avK1BH8sUZPZ7hSRWBVUc,102511
10
+ sky/execution.py,sha256=1DtEne4EXROfnHKq6rrin69jtXvBmtRvrP7FUXBQCbk,35086
11
+ sky/global_user_state.py,sha256=AujopDSPU4v3DvbCJ4ygnIdl8Q35u8QyUfbqOLdMCbo,102508
12
12
  sky/models.py,sha256=ZKisLai7vqUr6_BPev6Oziu5N23WLzTh9nRtHSlRchw,3999
13
13
  sky/optimizer.py,sha256=iR57bL_8BeG6bh1sH3J6n6i65EBFjmyftezYM4nnDZA,64150
14
14
  sky/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -37,8 +37,8 @@ sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
37
37
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
38
38
  sky/backends/__init__.py,sha256=l1xXpkzPFMma0ZkT4GzVMu7uvgS3AsECg6zLc0S3JHQ,702
39
39
  sky/backends/backend.py,sha256=6bvW1K1hVgxWiD4B8NiBD8OJ9ihfEdhyY5p60-3aQf4,8433
40
- sky/backends/backend_utils.py,sha256=osrNzT8w03ZZHq35YCx69p4F70yIKTsEKj1pq0t0r_M,176246
41
- sky/backends/cloud_vm_ray_backend.py,sha256=h24UBmdG1dG7reIKKJlZG0uz7XsMV7di33x6FkSCeMI,301736
40
+ sky/backends/backend_utils.py,sha256=oIY4EwpIZb-DAIAWuWVdtlj9RF9yWo0C-5Cyd32vcHI,176993
41
+ sky/backends/cloud_vm_ray_backend.py,sha256=rNHbs2wYpr2IMFk85hUbKbLI1JoGc0Y4kPd3m1TVXkc,306963
42
42
  sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
43
43
  sky/backends/local_docker_backend.py,sha256=EyLYwJSihhOEOwpgzXVtykjByEJuZOrqEr9N0cta3k4,17563
44
44
  sky/backends/wheel_utils.py,sha256=DE71Muq5qLRhGpCVg1Rb6YOI7S_BzT8Hak27Pz8L4yw,12486
@@ -83,13 +83,14 @@ sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg
83
83
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
84
84
  sky/client/common.py,sha256=j8ENgeRN3KdKBf0-pi1K9w1HtkqrkBR12QtF_wGWG8M,16950
85
85
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
86
- sky/client/sdk.py,sha256=T7EYx9EKO7FKy_YT4LJDXcgRQQxEQzsVZGGZBBH9d6E,107621
87
- sky/client/sdk_async.py,sha256=9ThZq9kmaXjB5T__7Gmcgvqlr_T8JEPsPXPaFo58Rk8,31100
86
+ sky/client/sdk.py,sha256=wdZA7Ulk8iap5k5fhPnVdKMzdj4KxCiy8zRezgzYyv8,107655
87
+ sky/client/sdk_async.py,sha256=8G_E9Dn4d80rV-wxRH4zZUXZGAm6rLw3C8PI07fXwwQ,31106
88
88
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
89
89
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- sky/client/cli/command.py,sha256=s2BHJot_2GAxBiiqIHUlSeyKXa6KJlz51iD3rOAoqPQ,249732
90
+ sky/client/cli/command.py,sha256=X-QczFTS6XsXKSei21Y0Wkvvf3G6ro9YAyjMGVAc94c,249775
91
91
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
92
92
  sky/client/cli/flags.py,sha256=lLXHooU4HEslbHJuGAiCrKYkJZx99hAKaJbstw7s1bc,12136
93
+ sky/client/cli/table_utils.py,sha256=UrQ0VTEM0P_WIPtm2oShu6L9VurGSIFZuxpjnWBQXh8,1106
93
94
  sky/clouds/__init__.py,sha256=hX6oZM4U6WuXQclg9-8mP2OAeFbzTbaVuPzJxqudKIc,1750
94
95
  sky/clouds/aws.py,sha256=PrvbWuSAkPC18HsLVHx8NBJQiduz32NpDm1XXr6NPLo,63737
95
96
  sky/clouds/azure.py,sha256=qnabVjfS3em-TvxOIqZ6mMiipnt51MBVf7R0pnyB7bo,33233
@@ -118,26 +119,26 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
118
119
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
119
120
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
120
121
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
121
- sky/dashboard/out/404.html,sha256=j1FmpIHZ8tqQ7uzP6e4qYdgHSITKVM-srSd9wwT1lnk,1423
122
- sky/dashboard/out/clusters.html,sha256=uyvxY-4mq32q2yMCtwHfEbNOOoxuUE-TWGnslzEv-yY,1418
123
- sky/dashboard/out/config.html,sha256=SGJ-SbCHyZt3r2Ite0jaVMWiKJLSdXuvb6TA3292c-s,1414
122
+ sky/dashboard/out/404.html,sha256=bfzW2sWtif8fUGIw-FqL6_LclTzIRCLjC1KHbbmXW9w,1423
123
+ sky/dashboard/out/clusters.html,sha256=ZBcroBhlvc0_ho9HxNZSTW5Mmq9tOXz9wbzo7mz2NTk,1418
124
+ sky/dashboard/out/config.html,sha256=5wzLhkZpib1KtIrKt0j6QYFC5F2FJ-OD5YY213CLYnw,1414
124
125
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
125
- sky/dashboard/out/index.html,sha256=h2KEu7h-jUQSEJtrT1y8dTQXRff85notBMrNQCxdefU,1407
126
- sky/dashboard/out/infra.html,sha256=xAjw88z6T_yd9YiO_IAvK8sDC977eNoZpYQuJP6OKxY,1412
127
- sky/dashboard/out/jobs.html,sha256=1K4pNsxWiWB3tknC0gsq4qXpGXzpYtzlwoeki4umfts,1410
126
+ sky/dashboard/out/index.html,sha256=r2_dY8vHe5WOH6-q15sVFdCTL8h14La8TWM3_gJAIJ8,1407
127
+ sky/dashboard/out/infra.html,sha256=n2bvRftsp7MBxFwEuKyBhBrjUlvHP8to2nGj3RnIUi8,1412
128
+ sky/dashboard/out/jobs.html,sha256=iEWl5zDK4HOQ_sUvaVFq2zt6DA0xm26AT9eqrAkzHk0,1410
128
129
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
129
- sky/dashboard/out/users.html,sha256=dWVmL888KaFitx2fF0dzo_GCA5tNWsKw1o_MXPLgBwc,1412
130
- sky/dashboard/out/volumes.html,sha256=LWby354l0oPPdL7Audo3YtmsynS1cKr1BFIQtjckm0M,1416
131
- sky/dashboard/out/workspaces.html,sha256=imFmUD30DiZ_4WBmmAMldoVFHbnVx6FdO5JEbfDhMyE,1422
132
- sky/dashboard/out/_next/static/VXU6_xE28M55BOdwmUUJS/_buildManifest.js,sha256=2VOffezYWwqKP0NKG6tfQPnNZnMOt7zo80K1WvXbqzM,2428
133
- sky/dashboard/out/_next/static/VXU6_xE28M55BOdwmUUJS/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
130
+ sky/dashboard/out/users.html,sha256=HVMSHYyqHJh59CetF62XVbSZSq0KXCsn3d11w8Ze8yw,1412
131
+ sky/dashboard/out/volumes.html,sha256=X7MySG-6S9bKI0tS2Ehvbjp0vk6HwT6QVD3HSicObLY,1416
132
+ sky/dashboard/out/workspaces.html,sha256=tRodIGA_GnMt2f4xqSYhWl0X10WzD9HxviZhIIbXRXI,1422
133
+ sky/dashboard/out/_next/static/UDSEoDB67vwFMZyCJ4HWU/_buildManifest.js,sha256=TpmiOwMtm71CTmPMh3PC5RdUpcsp8LqJJO9_cJpAiuQ,2428
134
+ sky/dashboard/out/_next/static/UDSEoDB67vwFMZyCJ4HWU/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
134
135
  sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js,sha256=jIvnDxaTleAz3HdZK9-RScSB0ZMg8-D63KQmn8avaHI,8883
135
136
  sky/dashboard/out/_next/static/chunks/1141-159df2d4c441a9d1.js,sha256=kdYh_Ek9hdib5emC7Iezojh3qASBnOIUHH5zX_ScR0U,17355
136
137
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
137
138
  sky/dashboard/out/_next/static/chunks/1836-37fede578e2da5f8.js,sha256=2ibdKVUjO2N62T4dtfY0xsRFwG-IJh41sK450Dv0_48,10554
138
139
  sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js,sha256=TQCHO4AUL9MZo1e_8GOiL8y6vjQpj5tdXZ8oCKwM1LA,271
139
140
  sky/dashboard/out/_next/static/chunks/3015-88c7c8d69b0b6dba.js,sha256=vLsGnavwf14nRl-XTDt9f1vaktbXDWH6YiJfUEzvLYk,39337
140
- sky/dashboard/out/_next/static/chunks/3294.03e02ae73455f48e.js,sha256=33v3Ywgcb0D2efUW5vg3z58jIGPoMjJYd5z2Mm5D144,43101
141
+ sky/dashboard/out/_next/static/chunks/3294.93d9336bdc032b3a.js,sha256=x3dU97W3J2NHFar0SLASawUOTFcMAA7-l37BP7CQF_Y,43099
141
142
  sky/dashboard/out/_next/static/chunks/3785.0fa442e16dd3f00e.js,sha256=4jP00x0jORTUAIGFUlQu_Ut-T07_OmfH46D5Nut_crQ,4438
142
143
  sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js,sha256=XphBY9psNzmvGD28zgDunQEb-TX0_eOVaElmcuOjD1g,7455
143
144
  sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js,sha256=0tYP8uuog_WLEZmEuej4zenfX0PUa17nR874wSSBgqI,54583
@@ -151,7 +152,7 @@ sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js,sha256=OLvQvfyMwh
151
152
  sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js,sha256=UQxIbEZseq4ore8Y1Tm5OT3Re7fU8ZZKjQQWk4JPvK4,179393
152
153
  sky/dashboard/out/_next/static/chunks/649.b9d7f7d10c1b8c53.js,sha256=wUdmzEiSknP_LP1jtpaNdiDRrF8dtxaC7Z_bWNRC8sM,11946
153
154
  sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js,sha256=coh7shL8L5Vp2MsibBTx-xxNq_BI-zp0jAl7f6eVmUQ,9659
154
- sky/dashboard/out/_next/static/chunks/6856-2b3600ff2854d066.js,sha256=VDha27h5S81gWxPXJapFtSzzaev6sVSztO-zUegSyxk,18210
155
+ sky/dashboard/out/_next/static/chunks/6856-5fdc9b851a18acdb.js,sha256=4K_3WXrxsS2oMAlYgI2MOu9Ga57839QqmoFFUyTpIdo,18165
155
156
  sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js,sha256=iIEGQp3dsChOsDxd7QH_ShGczWhvigMfIT35CSsZjjY,11873
156
157
  sky/dashboard/out/_next/static/chunks/6990-f6818c84ed8f1c86.js,sha256=S_U1sK3gxmP1Lw9QkbrfWmjpdc1qeR2olYlNx04klOQ,16152
157
158
  sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js,sha256=5x42A-PEZANeHAcNDbcnJ21uQF48yTrP3XeW5L4RH1g,495
@@ -166,7 +167,7 @@ sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_Qbam
166
167
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
167
168
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
168
169
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
169
- sky/dashboard/out/_next/static/chunks/webpack-8e64d11e58eab5cb.js,sha256=iVnZXu5Q8BDmUOV-UCi0MjABZiWI5MK1DAYhcxITIZQ,4742
170
+ sky/dashboard/out/_next/static/chunks/webpack-7340bc0f0dd8ae74.js,sha256=EpKuvzgsBBWhS84bdvKFoFLQYaFMoowRmSZD8ojB3f4,4742
170
171
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
171
172
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
172
173
  sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
@@ -185,14 +186,14 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.j
185
186
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
186
187
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-af76bb06dbb3954f.js,sha256=cGCpDszMI6ckUHVelwAh9ZVk1erfz_UXSLz9GCqGUAE,1495
187
188
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
188
- sky/dashboard/out/clusters/[cluster].html,sha256=0FdegFVZqZ8-93X5sdOW2XQ6km0s2Srv2JQzFLt0kng,2936
189
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=M0C5NvVDSgKNLDDV3IDd6APdN2FTvEVt3vG3SWIHpl4,2073
190
- sky/dashboard/out/infra/[context].html,sha256=l-3tLT9GQOlcVUiW8_SeBWg0o_0nIFPiAqxkMhDItdE,1436
191
- sky/dashboard/out/jobs/[job].html,sha256=YkiySFCOVLyNw1osIrSWb-ZmyTSEvNZeH4Kafjm4ceQ,2304
192
- sky/dashboard/out/jobs/pools/[pool].html,sha256=YGjVcFNdruCVYJCaEvyClbEk51BJD2N6PUZqkOX5xN8,2142
189
+ sky/dashboard/out/clusters/[cluster].html,sha256=hUN7fic1SLLEsq6N7YvkLSBxQ4dLmFYy_1B_mezSXLY,2936
190
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=U3zfdmoqPWewyy-FoS0aTkzQw-7y3JMPYmhqjOzkgG4,2073
191
+ sky/dashboard/out/infra/[context].html,sha256=fQG0Vx31P8P28keSthe50t7qEt4auT78y6GNHgMO9nQ,1436
192
+ sky/dashboard/out/jobs/[job].html,sha256=pxAKj7CWoGI5hauOeWs1-DDFL8Qv7bU4nKFv7DbPVS8,2304
193
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=syFATHtIFgC30L-NIPz-yI1VbY5HHOEGIDsFDE0urko,2142
193
194
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
194
- sky/dashboard/out/workspace/new.html,sha256=tt5ucivgKN-S48YbNmJKW2X4Xwfj_GzQnVJlNtgF7MI,1428
195
- sky/dashboard/out/workspaces/[name].html,sha256=am7TjP_9iW-8LayUfOdcTiPaW9RYezRtDXwecCfSbds,2759
195
+ sky/dashboard/out/workspace/new.html,sha256=RlU7ynPj83xRHbQpujjliZTazvyXlEQEYF_q20sOqWc,1428
196
+ sky/dashboard/out/workspaces/[name].html,sha256=eEdAlxlDiA4C_L3cog9ynikvT1lByruFATBgeslGXb0,2759
196
197
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
197
198
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
198
199
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -204,15 +205,15 @@ sky/jobs/constants.py,sha256=74kv_hCMbzDCYIXqa8Tc2BmECweNZIO2s5mP0IDunmg,3500
204
205
  sky/jobs/controller.py,sha256=G9uaLk8hkc5MTSgMTcU5EHbA5mzQsws11FGGPBiaK0E,56048
205
206
  sky/jobs/recovery_strategy.py,sha256=w8HqSnnVJ10nH-ENFO3NpIM70cyxBzTijzH6EFggiaM,36948
206
207
  sky/jobs/scheduler.py,sha256=rUait5vQoIxAMuxWDRkR6DtFpmmVqQHxECHyhhrY9HI,16564
207
- sky/jobs/state.py,sha256=LTpmMrEdFoaXXrPDVWM9yzBpBkFkYRj3RAJr-iBvBnc,77472
208
- sky/jobs/utils.py,sha256=VTkGCGWNtjgnj3ZKRhytXk549hvJVlFHrjjABMN1JCQ,90294
208
+ sky/jobs/state.py,sha256=TaE7NWPcL9gB4ezCUgAikcS2GmxFESm9WnhniXvRNC4,84400
209
+ sky/jobs/utils.py,sha256=eiPS9FupTumf8Wi9nF640Xz9fC1YzOPd7LdK88oEDro,93813
209
210
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
211
  sky/jobs/client/sdk.py,sha256=IL2zVKiXLbgiZY0ewCPv42dFvQ5FAB_QwwGwZlMqMBo,17071
211
212
  sky/jobs/client/sdk_async.py,sha256=hsyPshdpbKG0RUzw2ntDeAJAkOIl-O9WDoSREV_km3o,4875
212
213
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
213
- sky/jobs/server/core.py,sha256=CnDjJmFTERoMs0RFUonG6m3Ua2fpD9tlGiSnwN4-6nE,43567
214
+ sky/jobs/server/core.py,sha256=zqf1O2SmVWFK4a8WvsjEYc90SdGNK7RQCaPRHw-j4Wk,46579
214
215
  sky/jobs/server/server.py,sha256=mklShi9XBUyyF8Wv_hdK8ag0_8mK4Bh769NzGLWYBeg,8890
215
- sky/jobs/server/utils.py,sha256=eb4QSaNQb-d_m8yJFt2Q8iaj6xkJrxz1v2b7Iq2nhmM,3573
216
+ sky/jobs/server/utils.py,sha256=rI_fVyEJhHjuapcB6JefkKgRuT_VeLiubAixsPo5jj0,5023
216
217
  sky/logs/__init__.py,sha256=zW4gAEvWDz5S53FlLp3krAuKrmTSJ0e3kZDnhxSbW4E,722
217
218
  sky/logs/agent.py,sha256=Jwpzio10P45BS6cugt6Ovu3_ZhysuXVcL_aneYZQENE,4766
218
219
  sky/logs/aws.py,sha256=NLl_Ekxcdt6tnh1CufEzPvCch3yyLBSetn4QtBdDKUc,9621
@@ -328,7 +329,7 @@ sky/provision/vsphere/common/vapiconnect.py,sha256=piU29ZfdYCJQMV5n-5J0EQ8G56AWO
328
329
  sky/provision/vsphere/common/vim_utils.py,sha256=TjDgxIzV5Iuc5j1aFNL3NpaOwS0KKXhEUEwq7dzQT-s,17849
329
330
  sky/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
331
  sky/schemas/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
- sky/schemas/api/responses.py,sha256=ESPeTf93idifAbQifLaI8a5pFhJyYi91o5fUvcL3Kto,3871
332
+ sky/schemas/api/responses.py,sha256=UqIQ9xjEk8sD8H1QfwLzeRUF1JEh10YMBX8C-H4tWW0,4354
332
333
  sky/schemas/db/README,sha256=M93NBw29groxXu-Gy7sgqSyxpppXpRBbXxEXANLhVCo,122
333
334
  sky/schemas/db/env.py,sha256=T-2a00Z9RcaIqcMu90R-RNA_lCutsWBRopDy4LQFnoM,2918
334
335
  sky/schemas/db/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704
@@ -352,6 +353,9 @@ sky/schemas/generated/autostopv1_pb2_grpc.py,sha256=sUoHZNUNjxpsiYzJhSchC7p-uvig
352
353
  sky/schemas/generated/jobsv1_pb2.py,sha256=GZ4gVESMl2qxihQJLUZNTlTS6AjC1n4031z1-DwLVG0,10092
353
354
  sky/schemas/generated/jobsv1_pb2.pyi,sha256=qNQlJ2NAR1V6HrtLO8bZWc5PhEcUrbVZri4VuoZm2es,10675
354
355
  sky/schemas/generated/jobsv1_pb2_grpc.py,sha256=1QPd4wx09Hxjot3VpO3TPEbzouMA_cLG4cc-gZFYSSA,22959
356
+ sky/schemas/generated/managed_jobsv1_pb2.py,sha256=GBwI2AbT79sD5WzPfRgwuUoCQfoL575c-J8t43vRlVM,10202
357
+ sky/schemas/generated/managed_jobsv1_pb2.pyi,sha256=exRl_ZmreH-ZUDELrjNODmCWoBKh0LDRRTix-HpZ1eQ,13284
358
+ sky/schemas/generated/managed_jobsv1_pb2_grpc.py,sha256=XN8gy8iKcBk_GYBMn7cp528tVQU8PcJ32BgieNFUUU8,11916
355
359
  sky/schemas/generated/servev1_pb2.py,sha256=1mNJoOB8N-c26WJCRvtk5Q4bkLYGjSKhVAo5ywufZbs,5263
356
360
  sky/schemas/generated/servev1_pb2.pyi,sha256=HSjaksOAoaoNLzaWzqwN4UVwHel7BKhVZa9EF1Uo0IM,4619
357
361
  sky/schemas/generated/servev1_pb2_grpc.py,sha256=1tlAqxEjbQiXQSx8KniWWigUMwrxA6ocOjmGM-9UOgY,13657
@@ -364,7 +368,7 @@ sky/serve/load_balancing_policies.py,sha256=hhPrcuwT_rEJx4DMRC6iuLpUY8wOabUtXtPK
364
368
  sky/serve/replica_managers.py,sha256=U6B-9i99_4lgebw1PkXJKFJ86knjfPrpppY2xvJaLus,70889
365
369
  sky/serve/serve_rpc_utils.py,sha256=6MTwPRt7h0pVnOthO4JUs1UEBbCLZ-prd-Pzjy_QPmw,7116
366
370
  sky/serve/serve_state.py,sha256=pRtxWBagIUUvgrKNZ51-9xfW0hadSGILIMzVRzm_0IU,33321
367
- sky/serve/serve_utils.py,sha256=fC77WiHc_HQrGuRPDgv-XAy2Fj-6jDmDuFePYURf0w4,70017
371
+ sky/serve/serve_utils.py,sha256=G-enI29qHA-hLzej3G7AibSqv6lPy6PVC_w0Mm2colU,70833
368
372
  sky/serve/service.py,sha256=IYyMGYIu_TZtcjtao67H_Qm9WX358AiTOiHJbpcl5eQ,18365
369
373
  sky/serve/service_spec.py,sha256=5AjPXjtqc4e1CJWHiH998suRJMkHcQHi4mUaX52_Mhs,24800
370
374
  sky/serve/spot_placer.py,sha256=auRlYZNg8uIW-lxiirxpDP-iIaJtkrhesm6OGMgwPq4,11288
@@ -373,8 +377,8 @@ sky/serve/client/impl.py,sha256=ZukLKNyEtDnl24GEI6tg9b76RkSpAs5mj6PcYO57W18,1074
373
377
  sky/serve/client/sdk.py,sha256=fqz6SlCIgzuLvEMkUhTpxvj8oIoV8vhpvhK1QbdenD8,11614
374
378
  sky/serve/client/sdk_async.py,sha256=idvbLb6q_NBo79OnXE-3SF-bwYFMPzDg_khiNqOLd3o,5018
375
379
  sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
376
- sky/serve/server/core.py,sha256=OgdrX97C_DSdL4TL7dC6J4BUu1eNuuFwXcFyAlQR8b8,11029
377
- sky/serve/server/impl.py,sha256=rlK82PIgR5w48ruIo-hiNyeEXdFjjrIMeKJTsMYA0lQ,49090
380
+ sky/serve/server/core.py,sha256=4w79PONDX5hAem95U1MRDHZ1VNMaBZJkI6hv5d2IKjQ,11011
381
+ sky/serve/server/impl.py,sha256=oQL6qd-rTq9M7Qs3n-fCv0vyQe1F9dAid_OgmRCjyjs,48982
378
382
  sky/serve/server/server.py,sha256=DzTOQ69FcNoSmA_wCV0RcHD66_nuDzXVcULhTpMqOhU,4519
379
383
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
380
384
  sky/server/common.py,sha256=V3n_-8im0vpnYHr4AJRye_yiYxsu8xedYcs2xMPUPWw,40191
@@ -404,8 +408,8 @@ sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
404
408
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
405
409
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
406
410
  sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
407
- sky/server/requests/serializers/decoders.py,sha256=3SSfn1S1H0zEwncMRw3D8pfyqz_sWkWweBqnX-8Lr3I,7652
408
- sky/server/requests/serializers/encoders.py,sha256=nAiFssF3UD6dt0LdiGVpvpod90HmnyXZVZ2fO-UE8iA,7900
411
+ sky/server/requests/serializers/decoders.py,sha256=jidC6NzEAOzQUw7G0ZLqvFKLMZouVOIKa-fQvWS9dtY,7724
412
+ sky/server/requests/serializers/encoders.py,sha256=Nib5a40nNeidNz9OYlGIWw_Mz7QgbEeI9Zry4Bx11lU,8036
409
413
  sky/setup_files/MANIFEST.in,sha256=4gbgHHwSdP6BbMJv5XOt-2K6wUVWF_T9CGsdESvh918,776
410
414
  sky/setup_files/alembic.ini,sha256=854_UKvCaFmZ8vI16tSHbGgP9IMFQ42Td6c9Zmn2Oxs,5079
411
415
  sky/setup_files/dependencies.py,sha256=sgsKCFkGlZXFm1xi50X9TvwM4L_pIhxls-ySAbfZJ94,8888
@@ -415,13 +419,13 @@ sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
415
419
  sky/skylet/attempt_skylet.py,sha256=BbnCgMDGc1wxZx6Olp7ezhsXC0E1aYhmfug-9NrJ00g,2137
416
420
  sky/skylet/autostop_lib.py,sha256=2eab980ckQ5dA2DFAJlI5bAJ6EI7YI-JSlzFoTA9XwU,9698
417
421
  sky/skylet/configs.py,sha256=nNBnpuzoU696FbC3Nv0qKVSDuTw4GAbr7eCcg0_Sldo,2135
418
- sky/skylet/constants.py,sha256=4iMNVMHpNEtXDWYvxScAw7rDsNPt5z0Yyy8eL6jQOgs,24823
422
+ sky/skylet/constants.py,sha256=QDv4ke4T7za3-ChmEvdFwtff6qhfXegwtf6hoU9fx_Y,24823
419
423
  sky/skylet/events.py,sha256=9MFVSSzHZNPPuS5mKjCRdpJv9i5pou7Hk7qxL-0u1F8,15826
420
- sky/skylet/job_lib.py,sha256=-qzv1nCGrrN5zB8ZueBFlLDOlmQtP7DRuCu62GrJQus,54232
421
- sky/skylet/log_lib.py,sha256=EC-Vmnz86Uz5SLpiz9p14J3owBaF-GbFkyixQ3KfPqg,23775
422
- sky/skylet/log_lib.pyi,sha256=OI4izel66u3Rr3H6OFXRIJfmM8HJD30VPpdlfwqM3IU,4762
423
- sky/skylet/services.py,sha256=CKtdnWDbb4eOKVGIZ7MvSJqR13YaJoP2kvBHsN64GDA,16530
424
- sky/skylet/skylet.py,sha256=BSlulqUXWlHrqdYa95DJRAARM-8C6fsrX5Dan7HfWFU,2792
424
+ sky/skylet/job_lib.py,sha256=_BlkEQhsTIBfPOaIDVshMTNQPSgkRaNFk5HrP0aH7Qc,53226
425
+ sky/skylet/log_lib.py,sha256=OnJ06_ySnNwXJgp9YoYfTyU60eZFd-eeG7fyGWoMpTw,32042
426
+ sky/skylet/log_lib.pyi,sha256=KQJY7nKbw2C-Qshrup7EExpn22AaJ8LZQdjRnCaeZRA,5401
427
+ sky/skylet/services.py,sha256=NOL83qCcUczYz0TXM41EWZ8wdlPSDm0FyBNnRo5extw,26504
428
+ sky/skylet/skylet.py,sha256=zgSXFC53TbBFHwGBsJ5O2UzGNW15iiE7Rx3nH6uyA38,2971
425
429
  sky/skylet/subprocess_daemon.py,sha256=gcL-_Hea7-SrBUyZfAbo40RBFbaeuBmPCW0dm4YYkPo,3537
426
430
  sky/skylet/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
427
431
  sky/skylet/providers/command_runner.py,sha256=DdBKP0QX325_N3zAVYwnmXmfbfXNqkzWQZpF9DSR7Go,16259
@@ -563,9 +567,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
563
567
  sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
564
568
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
565
569
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
566
- skypilot_nightly-1.0.0.dev20250926.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
567
- skypilot_nightly-1.0.0.dev20250926.dist-info/METADATA,sha256=37tf3tUL8ThZYnsKNSfY22KkDTl3sjEB_M7MxX_Y0us,20433
568
- skypilot_nightly-1.0.0.dev20250926.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
569
- skypilot_nightly-1.0.0.dev20250926.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
570
- skypilot_nightly-1.0.0.dev20250926.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
571
- skypilot_nightly-1.0.0.dev20250926.dist-info/RECORD,,
570
+ skypilot_nightly-1.0.0.dev20250927.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
571
+ skypilot_nightly-1.0.0.dev20250927.dist-info/METADATA,sha256=bXpRa4tNr_mRJ8zh_17y-RqcVzpzc6R1uXLjjcJvKR4,20433
572
+ skypilot_nightly-1.0.0.dev20250927.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
573
+ skypilot_nightly-1.0.0.dev20250927.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
574
+ skypilot_nightly-1.0.0.dev20250927.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
575
+ skypilot_nightly-1.0.0.dev20250927.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6856],{32045:function(e,t,o){o.d(t,{Cu:function(){return s},R8:function(){return u},Xg:function(){return c},ef:function(){return n}});var r=o(93225),a=o(47145);async function n(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=(await Promise.resolve().then(o.bind(o,6378))).default,{getClusters:n}=await Promise.resolve().then(o.bind(o,23266)),{getManagedJobs:s}=await Promise.resolve().then(o.bind(o,68969));try{let o=await t.get(s,[{allUsers:!0}]),c=(null==o?void 0:o.jobs)||[],l=await t.get(n),i=[];try{if(e){console.log("Force refreshing clouds by running sky check...");try{let e=await a.x.post("/check",{}),t=e.headers.get("X-Skypilot-Request-ID")||e.headers.get("X-Request-ID"),o=await a.x.get("/api/get?request_id=".concat(t)),r=await o.json();console.log("Sky check completed:",r)}catch(e){console.error("Error running sky check:",e)}}let t=await a.x.get("/enabled_clouds"),o=t.headers.get("X-Skypilot-Request-ID")||t.headers.get("X-Request-ID"),r=await a.x.get("/api/get?request_id=".concat(o)),n=await r.json();i=n.return_value?JSON.parse(n.return_value):[],console.log("Enabled clouds:",i)}catch(e){console.error("Error fetching enabled clouds:",e),i=[]}let u={};r.$m.forEach(e=>{let t=i.includes(e.toLowerCase());u[e]={name:e,clusters:0,jobs:0,enabled:t}}),(l||[]).forEach(e=>{if(e.cloud){let t=e.cloud;u[t]&&(u[t].clusters+=1,u[t].enabled=!0)}}),c.forEach(e=>{if(e.cloud){let t=e.cloud;u[t]&&(u[t].jobs+=1,u[t].enabled=!0)}});let d=r.$m.length,g=Object.values(u).filter(e=>e.enabled).length;return{clouds:Object.values(u).filter(e=>e.enabled).sort((e,t)=>e.name.localeCompare(t.name)),totalClouds:d,enabledClouds:g}}catch(e){return console.error("Error fetching cloud infrastructure:",e),{clouds:[],totalClouds:r.$m.length,enabledClouds:0}}}async function s(){return await c()}async function c(){try{console.log("[DEBUG] Starting workspace-aware infrastructure fetch");let{getWorkspaces:e}=await Promise.resolve().then(o.bind(o,17324));console.log("[DEBUG] About to call getWorkspaces()");let t=await e();if(console.log("[DEBUG] Workspaces data received:",t),console.log("[DEBUG] Number of accessible workspaces:",Object.keys(t||{}).length),console.log("[DEBUG] Workspace names:",Object.keys(t||{})),!t||0===Object.keys(t).length)return console.log("[DEBUG] No accessible workspaces found - returning empty result"),{workspaces:{},allContextNames:[],allGPUs:[],perContextGPUs:[],perNodeGPUs:[],contextStats:{},contextWorkspaceMap:{}};let{getEnabledClouds:r}=await Promise.resolve().then(o.bind(o,17324)),a={},n=[],s={};for(let[e,o]of Object.entries(t)){console.log("Fetching infrastructure for workspace: ".concat(e));try{console.log("[DEBUG] Fetching enabled clouds for workspace: ".concat(e));let t=await r(e,!0);console.log("[DEBUG] Expanded clouds for ".concat(e,":"),t),a[e]={config:o,clouds:t,contexts:[]},console.log("[DEBUG] Processing expandedClouds for ".concat(e,":"),t),t&&Array.isArray(t)?t.forEach(t=>{if(console.log("[DEBUG] Processing infraItem: ".concat(t)),t.toLowerCase().startsWith("kubernetes/")){let o=t.replace(/^kubernetes\//i,"");console.log("[DEBUG] Extracted kubernetes context: ".concat(o)),n.push(o),s[o]||(s[o]=[]),s[o].includes(e)||s[o].push(e),a[e].contexts.push(o)}else if(t.toLowerCase().startsWith("ssh/")){let o=t.replace(/^ssh\//i,""),r="ssh-".concat(o);console.log("[DEBUG] Extracted SSH context: ".concat(r)),n.push(r),s[r]||(s[r]=[]),s[r].includes(e)||s[r].push(e),a[e].contexts.push(r)}}):console.log("[DEBUG] No expanded clouds or not an array for ".concat(e))}catch(t){console.error("Failed to fetch infrastructure for workspace ".concat(e,":"),t),a[e]={config:o,clouds:[],contexts:[],error:t.message}}}let{getClusters:c}=await Promise.resolve().then(o.bind(o,23266)),i=(await Promise.resolve().then(o.bind(o,6378))).default,u=await i.get(c),g=await d(u||[]),f=n.filter(e=>e&&"string"==typeof e),p=await l(f),h={workspaces:a,allContextNames:[...new Set(n)].sort(),allGPUs:p.allGPUs||[],perContextGPUs:p.perContextGPUs||[],perNodeGPUs:p.perNodeGPUs||[],contextStats:g,contextWorkspaceMap:s};return console.log("[DEBUG] Final result:",h),console.log("[DEBUG] All contexts found:",n),console.log("[DEBUG] Context workspace map:",s),h}catch(e){return console.error("[DEBUG] Failed to fetch workspace infrastructure:",e),console.error("[DEBUG] Error stack:",e.stack),{workspaces:{},allContextNames:[],allGPUs:[],perContextGPUs:[],perNodeGPUs:[],contextStats:{},contextWorkspaceMap:{},error:e.message}}}async function l(e){try{var t,o,r,a,n,s;if(!e||0===e.length)return{allGPUs:[],perContextGPUs:[],perNodeGPUs:[]};let c={},l={},u={},d=await Promise.all(e.map(e=>i(e))),g={};for(let t=0;t<e.length;t++)g[e[t]]=d[t];for(let r of e){let e=g[r]||{};if(e&&Object.keys(e).length>0){let a={};for(let n in e){let s=e[n];if(!s){console.warn("No node data for node ".concat(n," in context ").concat(r));continue}let c=s.accelerator_type,l=(null===(t=s.total)||void 0===t?void 0:t.accelerator_count)||0,i=(null===(o=s.free)||void 0===o?void 0:o.accelerators_available)||0;l>0&&(a[c]||(a[c]={gpu_name:c,gpu_requestable_qty_per_node:0,gpu_total:0,gpu_free:0,context:r}),a[c].gpu_total+=l,a[c].gpu_free+=i,a[c].gpu_requestable_qty_per_node=l)}for(let e in l[r]=Object.values(a),a)e in c?(c[e].gpu_total+=a[e].gpu_total,c[e].gpu_free+=a[e].gpu_free):c[e]={gpu_total:a[e].gpu_total,gpu_free:a[e].gpu_free,gpu_name:e}}else l[r]=[]}for(let t of e){let e=g[t];if(e&&Object.keys(e).length>0)for(let o in e){let i=e[o];if(!i){console.warn("No node data for node ".concat(o," in context ").concat(t));continue}let d=i.accelerator_type||"-",g=null!==(n=null===(r=i.total)||void 0===r?void 0:r.accelerator_count)&&void 0!==n?n:0,f=null!==(s=null===(a=i.free)||void 0===a?void 0:a.accelerators_available)&&void 0!==s?s:0;u["".concat(t,"/").concat(o)]={node_name:i.name||o,gpu_name:d,gpu_total:g,gpu_free:f,ip_address:i.ip_address||null,context:t},"-"===d||!l[t]||l[t].some(e=>e.gpu_name===d)||(d in c||(c[d]={gpu_total:0,gpu_free:0,gpu_name:d}),l[t].find(e=>e.gpu_name===d)||l[t].push({gpu_name:d,gpu_requestable_qty_per_node:"-",gpu_total:0,gpu_free:0,context:t}))}}return{allGPUs:Object.values(c).sort((e,t)=>e.gpu_name.localeCompare(t.gpu_name)),perContextGPUs:Object.values(l).flat().sort((e,t)=>e.context.localeCompare(t.context)||e.gpu_name.localeCompare(t.gpu_name)),perNodeGPUs:Object.values(u).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("[infra.jsx] Error in getKubernetesGPUsFromContexts:",e),{allGPUs:[],perContextGPUs:[],perNodeGPUs:[]}}}async function i(e){try{let t=await a.x.post("/kubernetes_node_info",{context:e}),o=t.headers.get("X-Skypilot-Request-ID")||t.headers.get("x-request-id"),r=await a.x.get("/api/get?request_id=".concat(o));if(500===r.status){try{let t=await r.json();if(t.detail&&t.detail.error)try{let o=JSON.parse(t.detail.error);console.warn("[infra.jsx] Context ".concat(e," unavailable:"),o.message)}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{}}let n=await r.json();return(n.return_value?JSON.parse(n.return_value):{}).node_info_dict||{}}catch(t){return console.warn("[infra.jsx] Context ".concat(e," unavailable or timed out:"),t.message),{}}}async function u(e){try{let t={};return e.forEach(e=>{let o=null;if("Kubernetes"===e.cloud)(o=e.region)&&(o="kubernetes/".concat(o));else if("SSH"===e.cloud&&(o=e.region)){let e=o.startsWith("ssh-")?o.substring(4):o;o="ssh/".concat(e)}o&&(t[o]||(t[o]={clusters:0,jobs:0}),t[o].jobs+=1)}),t}catch(e){return console.error("=== Error in getContextJobs ===",e),{}}}async function d(e){try{let t={};return e.forEach(e=>{let o=null;if("Kubernetes"===e.cloud)(o=e.region)&&(o="kubernetes/".concat(o));else if("SSH"===e.cloud&&(o=e.region)){let e=o.startsWith("ssh-")?o.substring(4):o;o="ssh/".concat(e)}o&&(t[o]||(t[o]={clusters:0,jobs:0}),t[o].clusters+=1)}),t}catch(e){return console.error("=== Error in getContextClusters ===",e),{}}}},29326:function(e,t,o){o.d(t,{IS:function(){return d},It:function(){return n},MV:function(){return c},Ri:function(){return s},_x:function(){return i},ez:function(){return u},hY:function(){return l},mF:function(){return f},wJ:function(){return g}});var r=o(93225),a=o(15821);async function n(){try{let e=await fetch("".concat(r.f4,"/ssh_node_pools"),{method:"GET",headers:{"Content-Type":"application/json"}});if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));return await e.json()}catch(e){return console.error("Error fetching SSH Node Pools:",e),{}}}async function s(e){try{let t=await fetch("".concat(r.f4,"/ssh_node_pools"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));return await t.json()}catch(e){throw console.error("Error updating SSH Node Pools:",e),e}}async function c(e){try{let t=await fetch("".concat(r.f4,"/ssh_node_pools/").concat(e),{method:"DELETE",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));return await t.json()}catch(e){throw console.error("Error deleting SSH Node Pool:",e),e}}async function l(e,t){try{let o=new FormData;o.append("key_name",e),o.append("key_file",t);let a=await fetch("".concat(r.f4,"/ssh_node_pools/keys"),{method:"POST",body:o});if(!a.ok)throw Error("HTTP error! status: ".concat(a.status));return await a.json()}catch(e){throw console.error("Error uploading SSH key:",e),e}}async function i(e){try{let t=await fetch("".concat(r.f4,"/ssh_node_pools/").concat(e,"/deploy"),{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));return await t.json()}catch(e){throw console.error("Error deploying SSH Node Pool:",e),e}}async function u(e){try{let t=await fetch("".concat(r.f4,"/ssh_node_pools/").concat(e,"/down"),{method:"POST",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));return await t.json()}catch(e){throw console.error("Error tearing down SSH Node Pool:",e),e}}async function d(e){try{let t=await fetch("".concat(r.f4,"/ssh_node_pools/").concat(e,"/status"),{method:"GET",headers:{"Content-Type":"application/json"}});if(!t.ok)throw Error("HTTP error! status: ".concat(t.status));return await t.json()}catch(e){throw console.error("Error fetching SSH Node Pool status:",e),e}}async function g(e){let t,{requestId:o,signal:n,onNewLog:s}=e,c=Date.now(),l=new Promise(e=>{let o=()=>{let r=Date.now()-c;r>=3e5?e({timeout:!0}):t=setTimeout(o,3e5-r)};t=setTimeout(o,3e5)}),i=(async()=>{try{let e=await fetch("".concat(r.f4,"/api/stream?request_id=").concat(o,"&format=plain&tail=").concat(1e3,"&follow=true"),{method:"GET",headers:{"Content-Type":"application/json"},...n?{signal:n}:{}});if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));let a=e.body.getReader();try{for(;;){let{done:e,value:t}=await a.read();if(e)break;c=Date.now();let o=new TextDecoder().decode(t);s(o)}}finally{a.cancel(),t&&clearTimeout(t)}return{timeout:!1}}catch(e){if(t&&clearTimeout(t),"AbortError"===e.name)return{timeout:!1};throw e}})(),u=await Promise.race([i,l]);if(t&&clearTimeout(t),u.timeout){(0,a.C)("SSH deployment log stream timed out after ".concat(300,"s of inactivity"),"warning");return}}async function f(e){let t,{requestId:o,signal:n,onNewLog:s,operationType:c="operation"}=e,l=Date.now(),i=new Promise(e=>{let o=()=>{let r=Date.now()-l;r>=3e5?e({timeout:!0}):t=setTimeout(o,3e5-r)};t=setTimeout(o,3e5)}),u=(async()=>{try{let e=await fetch("".concat(r.f4,"/api/stream?request_id=").concat(o,"&format=plain&tail=").concat(1e3,"&follow=true"),{method:"GET",headers:{"Content-Type":"application/json"},...n?{signal:n}:{}});if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));let a=e.body.getReader();try{for(;;){let{done:e,value:t}=await a.read();if(e)break;l=Date.now();let o=new TextDecoder().decode(t);s(o)}}finally{a.cancel(),t&&clearTimeout(t)}return{timeout:!1}}catch(e){if(t&&clearTimeout(t),"AbortError"===e.name)return{timeout:!1};throw e}})(),d=await Promise.race([u,i]);if(t&&clearTimeout(t),d.timeout){(0,a.C)("SSH ".concat(c," log stream timed out after ").concat(300,"s of inactivity"),"warning");return}}},19238:function(e,t,o){o.d(t,{C:function(){return a},w:function(){return n}});var r=o(47145);async function a(){try{return(await r.x.fetch("/volumes",{},"GET")).map(e=>{var t,o,r;let a=e.cloud||"";return e.region&&(a+="/".concat(e.region)),e.zone&&(a+="/".concat(e.zone)),{name:e.name,launched_at:e.launched_at,user_hash:e.user_hash,user_name:e.user_name||"-",workspace:e.workspace||"-",last_attached_at:e.last_attached_at,status:e.status,type:e.type,cloud:e.cloud,region:e.region,zone:e.zone,infra:a,size:"".concat(e.size,"Gi"),config:e.config,storage_class:(null===(t=e.config)||void 0===t?void 0:t.storage_class_name)||"-",access_mode:(null===(o=e.config)||void 0===o?void 0:o.access_mode)||"-",namespace:(null===(r=e.config)||void 0===r?void 0:r.namespace)||"-",name_on_cloud:e.name_on_cloud,usedby_pods:e.usedby_pods,usedby_clusters:e.usedby_clusters}})||[]}catch(e){return console.error("Failed to fetch volumes:",e),[]}}async function n(e){let t="";try{let o=await r.x.post("/volumes/delete",{names:[e]}),a=o.headers.get("X-SkyPilot-Request-ID")||o.headers.get("X-Request-ID"),n=await r.x.get("/api/get?request_id=".concat(a));if(500===n.status){try{let e=await n.json();if(e.detail&&e.detail.error)try{t=JSON.parse(e.detail.error).message}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{success:!1,msg:t}}return{success:!0}}catch(e){return console.error("Failed to delete volume:",e),{success:!1,msg:e.message}}}},36856:function(e,t,o){var r=o(6378),a=o(23266),n=o(68969),s=o(17324),c=o(53081),l=o(19238),i=o(32045),u=o(29326);let d={base:{getClusters:{fn:a.getClusters,args:[]},getManagedJobs:{fn:n.aT,args:[{allUsers:!0}]},getWorkspaces:{fn:s.getWorkspaces,args:[]},getUsers:{fn:c.R,args:[]},getGPUs:{fn:i.Cu,args:[]},getCloudInfrastructure:{fn:i.ef,args:[!1]},getSSHNodePools:{fn:u.It,args:[]},getVolumes:{fn:l.C,args:[]}},dynamic:{getEnabledClouds:{fn:s.getEnabledClouds,requiresWorkspaces:!0}},pages:{clusters:["getClusters","getWorkspaces"],jobs:["getManagedJobs","getClusters","getWorkspaces","getUsers"],infra:["getClusters","getManagedJobs","getGPUs","getCloudInfrastructure","getSSHNodePools"],workspaces:["getWorkspaces","getClusters","getManagedJobs","getEnabledClouds"],users:["getUsers","getClusters","getManagedJobs"],volumes:["getVolumes"]}};class g{async preloadForPage(e,t){let{backgroundPreload:o=!0,force:r=!1}=t||{};if(!d.pages[e]){console.warn("Unknown page: ".concat(e));return}console.log("[CachePreloader] Preloading cache for page: ".concat(e));try{await this._loadPageData(e,r),o&&this._backgroundPreloadOtherPages(e)}catch(t){console.error("[CachePreloader] Error preloading for page ".concat(e,":"),t)}}async _loadPageData(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=d.pages[e],a=[];for(let e of o)if(d.base[e]){let{fn:o,args:n}=d.base[e];t&&r.default.invalidate(o,n),a.push(r.default.get(o,n).then(e=>(this._markAsPreloaded(o,n),e)))}else"getEnabledClouds"===e&&a.push(this._loadEnabledCloudsForAllWorkspaces(t));await Promise.allSettled(a),console.log("[CachePreloader] Loaded data for page: ".concat(e))}async _loadEnabledCloudsForAllWorkspaces(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];try{e&&r.default.invalidate(s.getWorkspaces);let t=await r.default.get(s.getWorkspaces),o=Object.keys(t||{}).map(t=>(e&&r.default.invalidate(s.getEnabledClouds,[t]),r.default.get(s.getEnabledClouds,[t])));await Promise.allSettled(o)}catch(e){console.error("[CachePreloader] Error loading enabled clouds:",e)}}_backgroundPreloadOtherPages(e){if(this.isPreloading)return;this.isPreloading=!0;let t=new Set(d.pages[e]),o=new Set;Object.keys(d.pages).filter(t=>t!==e).forEach(e=>{d.pages[e].forEach(e=>{t.has(e)||o.add(e)})}),console.log("[CachePreloader] Background preloading ".concat(o.size," unique functions: ").concat(Array.from(o).join(", "))),Promise.allSettled(Array.from(o).map(async e=>{try{if(d.base[e]){let{fn:t,args:o}=d.base[e];await r.default.get(t,o),this._markAsPreloaded(t,o)}else"getEnabledClouds"===e&&await this._loadEnabledCloudsForAllWorkspaces(!1);console.log("[CachePreloader] Background loaded function: ".concat(e))}catch(t){console.error("[CachePreloader] Background load failed for function ".concat(e,":"),t)}})).then(()=>{this.isPreloading=!1,console.log("[CachePreloader] Background preloading complete")})}async preloadBaseFunctions(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];console.log("[CachePreloader] Preloading all base functions");let t=Object.entries(d.base).map(t=>{let[o,{fn:a,args:n}]=t;return e&&r.default.invalidate(a,n),r.default.get(a,n).catch(e=>{console.error("[CachePreloader] Failed to preload ".concat(o,":"),e)})});await Promise.allSettled(t),console.log("[CachePreloader] Base functions preloaded")}getCacheStats(){return{...r.default.getStats(),isPreloading:this.isPreloading}}wasRecentlyPreloaded(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this._generateKey(e,t),r=this.recentlyPreloaded.get(o);if(!r)return!1;let a=Date.now()-r<this.PRELOAD_GRACE_PERIOD;return a||this.recentlyPreloaded.delete(o),a}_markAsPreloaded(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this._generateKey(e,t);this.recentlyPreloaded.set(o,Date.now())}_generateKey(e,t){let o=e.toString(),r=this._simpleHash(o),a=t.length>0?JSON.stringify(t):"";return"".concat(r,"_").concat(a)}_simpleHash(e){let t=5381;for(let o=0;o<e.length;o++)t=(t<<5)+t+e.charCodeAt(o);return t>>>0}clearCache(){r.default.clear(),this.isPreloading=!1,this.preloadPromises.clear(),this.recentlyPreloaded.clear(),console.log("[CachePreloader] Cache cleared")}constructor(){this.isPreloading=!1,this.preloadPromises=new Map,this.recentlyPreloaded=new Map,this.PRELOAD_GRACE_PERIOD=5e3}}let f=new g;r.default.setPreloader(f),t.ZP=f}}]);