skypilot-nightly 1.0.0.dev20250807__py3-none-any.whl → 1.0.0.dev20250812__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 (91) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/kubernetes.py +5 -2
  3. sky/backends/backend_utils.py +57 -7
  4. sky/backends/cloud_vm_ray_backend.py +50 -8
  5. sky/client/cli/command.py +60 -26
  6. sky/client/sdk.py +132 -65
  7. sky/client/sdk_async.py +1 -1
  8. sky/core.py +10 -2
  9. sky/dashboard/out/404.html +1 -1
  10. sky/dashboard/out/_next/static/{YAirOGsV1z6B2RJ0VIUmD → Fuy7OzApYTUMz2QgoP7dP}/_buildManifest.js +1 -1
  11. sky/dashboard/out/_next/static/chunks/{6601-3e21152fe16da09c.js → 6601-06114c982db410b6.js} +1 -1
  12. sky/dashboard/out/_next/static/chunks/8056-5bdeda81199c0def.js +1 -0
  13. sky/dashboard/out/_next/static/chunks/{8969-318c3dca725e8e5d.js → 8969-c9686994ddafcf01.js} +1 -1
  14. sky/dashboard/out/_next/static/chunks/pages/{_app-1e6de35d15a8d432.js → _app-491a4d699d95e808.js} +1 -1
  15. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-078751bad714c017.js +11 -0
  16. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-da9cc0901349c2e9.js +1 -0
  17. sky/dashboard/out/_next/static/chunks/webpack-7fd0cf9dbecff10f.js +1 -0
  18. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  19. sky/dashboard/out/clusters/[cluster].html +1 -1
  20. sky/dashboard/out/clusters.html +1 -1
  21. sky/dashboard/out/config.html +1 -1
  22. sky/dashboard/out/index.html +1 -1
  23. sky/dashboard/out/infra/[context].html +1 -1
  24. sky/dashboard/out/infra.html +1 -1
  25. sky/dashboard/out/jobs/[job].html +1 -1
  26. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  27. sky/dashboard/out/jobs.html +1 -1
  28. sky/dashboard/out/users.html +1 -1
  29. sky/dashboard/out/volumes.html +1 -1
  30. sky/dashboard/out/workspace/new.html +1 -1
  31. sky/dashboard/out/workspaces/[name].html +1 -1
  32. sky/dashboard/out/workspaces.html +1 -1
  33. sky/execution.py +21 -4
  34. sky/global_user_state.py +110 -1
  35. sky/jobs/client/sdk.py +27 -20
  36. sky/jobs/controller.py +2 -1
  37. sky/jobs/recovery_strategy.py +3 -0
  38. sky/jobs/server/core.py +4 -0
  39. sky/jobs/utils.py +9 -2
  40. sky/provision/__init__.py +3 -2
  41. sky/provision/aws/instance.py +5 -4
  42. sky/provision/azure/instance.py +5 -4
  43. sky/provision/cudo/instance.py +5 -4
  44. sky/provision/do/instance.py +5 -4
  45. sky/provision/fluidstack/instance.py +5 -4
  46. sky/provision/gcp/instance.py +5 -4
  47. sky/provision/hyperbolic/instance.py +5 -4
  48. sky/provision/kubernetes/instance.py +36 -6
  49. sky/provision/lambda_cloud/instance.py +5 -4
  50. sky/provision/nebius/instance.py +5 -4
  51. sky/provision/oci/instance.py +5 -4
  52. sky/provision/paperspace/instance.py +5 -4
  53. sky/provision/provisioner.py +6 -0
  54. sky/provision/runpod/instance.py +5 -4
  55. sky/provision/scp/instance.py +5 -5
  56. sky/provision/vast/instance.py +5 -5
  57. sky/provision/vsphere/instance.py +5 -4
  58. sky/schemas/db/global_user_state/001_initial_schema.py +1 -1
  59. sky/schemas/db/global_user_state/003_fix_initial_revision.py +61 -0
  60. sky/schemas/db/global_user_state/004_is_managed.py +34 -0
  61. sky/schemas/db/global_user_state/005_cluster_event.py +32 -0
  62. sky/schemas/db/serve_state/001_initial_schema.py +67 -0
  63. sky/schemas/db/spot_jobs/001_initial_schema.py +1 -1
  64. sky/serve/client/impl.py +11 -8
  65. sky/serve/client/sdk.py +7 -7
  66. sky/serve/serve_state.py +437 -340
  67. sky/serve/serve_utils.py +37 -3
  68. sky/serve/server/impl.py +2 -2
  69. sky/server/common.py +12 -8
  70. sky/server/constants.py +1 -1
  71. sky/setup_files/alembic.ini +4 -0
  72. sky/skypilot_config.py +4 -4
  73. sky/users/permission.py +1 -1
  74. sky/utils/cli_utils/status_utils.py +10 -1
  75. sky/utils/db/db_utils.py +53 -1
  76. sky/utils/db/migration_utils.py +5 -1
  77. sky/utils/kubernetes/deploy_remote_cluster.py +3 -1
  78. sky/utils/resource_checker.py +162 -21
  79. sky/volumes/client/sdk.py +4 -4
  80. sky/workspaces/core.py +210 -6
  81. {skypilot_nightly-1.0.0.dev20250807.dist-info → skypilot_nightly-1.0.0.dev20250812.dist-info}/METADATA +2 -2
  82. {skypilot_nightly-1.0.0.dev20250807.dist-info → skypilot_nightly-1.0.0.dev20250812.dist-info}/RECORD +87 -83
  83. sky/dashboard/out/_next/static/chunks/8056-019615038d6ce427.js +0 -1
  84. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-6fd1d2d8441aa54b.js +0 -11
  85. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-155d477a6c3e04e2.js +0 -1
  86. sky/dashboard/out/_next/static/chunks/webpack-76efbdad99742559.js +0 -1
  87. /sky/dashboard/out/_next/static/{YAirOGsV1z6B2RJ0VIUmD → Fuy7OzApYTUMz2QgoP7dP}/_ssgManifest.js +0 -0
  88. {skypilot_nightly-1.0.0.dev20250807.dist-info → skypilot_nightly-1.0.0.dev20250812.dist-info}/WHEEL +0 -0
  89. {skypilot_nightly-1.0.0.dev20250807.dist-info → skypilot_nightly-1.0.0.dev20250812.dist-info}/entry_points.txt +0 -0
  90. {skypilot_nightly-1.0.0.dev20250807.dist-info → skypilot_nightly-1.0.0.dev20250812.dist-info}/licenses/LICENSE +0 -0
  91. {skypilot_nightly-1.0.0.dev20250807.dist-info → skypilot_nightly-1.0.0.dev20250812.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,20 @@
1
- sky/__init__.py,sha256=ejF5VVFcXonbZW4-HU-DPnLuT1Zt8SV8bqEoO0Sq8Q8,6535
1
+ sky/__init__.py,sha256=9YHvJDI-zMHI7niZiJFf5RJhgwiBUZH8LY6sJ-x5avA,6535
2
2
  sky/admin_policy.py,sha256=BeSowGnWfDj58ALiNf3cc2N4gMQWzjO6aXnX7vaqYhk,9782
3
3
  sky/authentication.py,sha256=V7zGSV7bqcAKC_EGOOS0KhJ01ZFLnme0WnjLFO7zavs,25603
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=FArTDVCRJ1HA20hbwdHzYO8l0jE-8sCYU9_oOgcLDKg,57023
7
+ sky/core.py,sha256=CxzJc3PtSKMYIaXhl-YQldFpbeDmeT0_N4DH1ScrbgU,57375
8
8
  sky/dag.py,sha256=5MFXlP43y9U54zxfYGhVyBiWEInoFFlt_zJ7ASJntXw,3889
9
9
  sky/exceptions.py,sha256=U9s7ty5eyTdpOeteVxh7qOKmkYhyRVQmHXQXyREnMyk,19482
10
- sky/execution.py,sha256=nW3lZhiPqqXSFg8YR0nYrHyu0rNi7jI_Tei_KBPMmHQ,33568
11
- sky/global_user_state.py,sha256=eLQ_xDwFbeWabUMyU9wzLey_BfX-YydyvY85deyjLyg,68793
10
+ sky/execution.py,sha256=WyPplJrcGf1kBdGKnTsTRnDtVi6osPiHNo1WvVvr4Dw,34475
11
+ sky/global_user_state.py,sha256=c-Y30JUNlervgS-g8P4OUD4wOig7wFcOFzim6zF06oI,73388
12
12
  sky/models.py,sha256=Eor-cT4D71QTimogcnJ5ey1G1PXK-OXN-snEtE8Uu_g,3152
13
13
  sky/optimizer.py,sha256=rcH6CVix1PJWWSwe1XWItfsmG8igwbKtRE5QVWRlpR4,63804
14
14
  sky/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
15
  sky/resources.py,sha256=66L-77Tn3sb2-7Y1-mxydH2tsYJQ1zrxdOxGBkT7YIc,106823
16
16
  sky/sky_logging.py,sha256=aFcwYKKlZG28q-bEsVzvmBEZ1WqHMMp1SwRGONLopDI,8512
17
- sky/skypilot_config.py,sha256=KesPrzq4m07mqPrVIphLnT2qyS4mrxh3-FKbpjOXDu8,36817
17
+ sky/skypilot_config.py,sha256=2ow9fzLGA3v-tns3dHldsAfJsiJa8dre89qsWn1XLxM,36797
18
18
  sky/task.py,sha256=-Jdpgx1wQeH9k1fuGeW3w7PbnQxoIsUnHOMEoEnOM2A,75850
19
19
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
@@ -27,7 +27,7 @@ sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
27
27
  sky/adaptors/gcp.py,sha256=oEb9jClEtApw6PQnxdxDYxOCYsedvM3aiko1EW1FDVo,3501
28
28
  sky/adaptors/hyperbolic.py,sha256=iyHDmtLFVTK9QajpAmObk0XO2OZnnO_1LbvDffPpt68,245
29
29
  sky/adaptors/ibm.py,sha256=7YbHrWbYcZsJDgxMBNZr1yBI03mjs_C3pnCTCz-MNtQ,5068
30
- sky/adaptors/kubernetes.py,sha256=I0DS2nrwb4rZMf8uPNR_dVdOXBqo1JU01yroBJz81sI,9888
30
+ sky/adaptors/kubernetes.py,sha256=x-XpvLdb0K9yvbP-MTm4OuUtP10ski2LhEuM61E8jTM,10091
31
31
  sky/adaptors/nebius.py,sha256=EXONbdbNEm61KeezeJvbE8WrRBD0Zu4zJKsQqO0FHeE,8869
32
32
  sky/adaptors/oci.py,sha256=xJt6J9xBSFIENa6FwEt1V1sZE8puAZ_vPEoGlyQACPs,2839
33
33
  sky/adaptors/runpod.py,sha256=4Nt_BfZhJAKQNA3wO8cxvvNI8x4NsDGHu_4EhRDlGYQ,225
@@ -35,8 +35,8 @@ sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
35
35
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
36
36
  sky/backends/__init__.py,sha256=tpa9gAygQopsiBUUuy3wVmr4E05FoPTFHIWqEo4i-u0,627
37
37
  sky/backends/backend.py,sha256=6ltCouZhaXJqv2Zh9nP_YCdHf10_oIRNzAA-XDiMmI8,7969
38
- sky/backends/backend_utils.py,sha256=fOig4J7rJyq-nQyIDwoWV_LJoDI3w1e-jUDV_34PgDw,150770
39
- sky/backends/cloud_vm_ray_backend.py,sha256=eToX3V76026DlfS5Gl0CVaX2H8j3ucLewGS29qoJzC8,265402
38
+ sky/backends/backend_utils.py,sha256=oMl34XYsnV34LC1UnbbZsJaK0AnkBhiotPlRV9RLn3E,153117
39
+ sky/backends/cloud_vm_ray_backend.py,sha256=PqaVLO74129-4HmYeR42ZFHPNx5SsS4p3qm3gpBrLpM,267502
40
40
  sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
41
41
  sky/backends/local_docker_backend.py,sha256=r84uhXCk7NK9hGW840KPKnrADd7mCerMwncxOzckHg4,17126
42
42
  sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
@@ -78,11 +78,11 @@ sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg
78
78
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
79
79
  sky/client/common.py,sha256=RYXlfL9FTk97RxVrOX0p4gfgol1E5dqM-_vaEUhqsy4,15622
80
80
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
81
- sky/client/sdk.py,sha256=Mv2UPMne6wUUAlh-nSa95NITKaoowHTWq4F9LSPPz2A,97616
82
- sky/client/sdk_async.py,sha256=rpuKumkMol2Zp5SDcdjKEcCnfa5-SvXqTQlCq1iu5zs,30375
81
+ sky/client/sdk.py,sha256=Qv9M5bbObPlBlCUL4UHEz37f9jXKnB9F3QajlNPIQus,100019
82
+ sky/client/sdk_async.py,sha256=UY2CBbEsnPxyHbJ_9te6wEIiwe_yALUEdwT_yCBMnMk,30375
83
83
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
84
84
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- sky/client/cli/command.py,sha256=GMDc8-1fVyau-dvNGtnQqEaqwC1YhKIIAGGOR9zvOYI,244444
85
+ sky/client/cli/command.py,sha256=jEKVXBoEWkDOTaJ0AeJRZAtMAaESqsCUNVKzYQZ1DNc,246453
86
86
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
87
87
  sky/client/cli/flags.py,sha256=yGb4edFHXRQGDfrlFK-pfHvMg8kpIIMsbmGkTEvmIFk,12087
88
88
  sky/client/cli/git.py,sha256=dqSaJI1Ndv6RfKJa6HT6ednXr0j_pVlwSdh3XiQzB60,22018
@@ -112,19 +112,19 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
112
112
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
113
113
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
114
114
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
115
- sky/dashboard/out/404.html,sha256=psXEYzQIYyyvIjVM5b3q1byHpsrl6KTqyOKjRUFP7hE,1423
116
- sky/dashboard/out/clusters.html,sha256=PNie72iNkiGttSo0NXCD75cd1uWa8ODf70MSUnqSkuw,1418
117
- sky/dashboard/out/config.html,sha256=wszaKHZXSiXOvFkNEV4UtACOR_ElN-GC_gfSbCeLP2o,1414
115
+ sky/dashboard/out/404.html,sha256=xhKIIa33DkPHghf2ISxlGqoy5i2tAt71rWjSCEnEKxE,1423
116
+ sky/dashboard/out/clusters.html,sha256=J7kwBoGDBv1UVYBwZEbiAElmy9XA2_VTGNLdHukBfSU,1418
117
+ sky/dashboard/out/config.html,sha256=L0aGkvWgVc86pc-n0BpEYdmm7hvPBTNA7bmY7gY6CgA,1414
118
118
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
119
- sky/dashboard/out/index.html,sha256=Lxsba1VvDNv3koRA9wKHeAkBBeNODnDTkIrtAPkXkzE,1407
120
- sky/dashboard/out/infra.html,sha256=zRPSuhCUYn9g5mNE_DKd2P44Z9539Wa311pdl6QQpqQ,1412
121
- sky/dashboard/out/jobs.html,sha256=E1dFRVO0aY57j9hEst7GKM-Ng33-lvmEEEaoYIeKSDU,1410
119
+ sky/dashboard/out/index.html,sha256=dxQgNOm-aDH0kswvjdFyCWNSURK0lsuypNacoB9Men8,1407
120
+ sky/dashboard/out/infra.html,sha256=6vrc76lYi2pIAsSt7rAuf7hjStUTU6PHpOYZTg_KgZ0,1412
121
+ sky/dashboard/out/jobs.html,sha256=QHFP971iKDPfqn7u1zLMKbD-9cktEDg6uzfugF1QEio,1410
122
122
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
123
- sky/dashboard/out/users.html,sha256=T7W0463pQJJ8WY999-5PN4fXuObJSCdDo9GzigKiSk0,1412
124
- sky/dashboard/out/volumes.html,sha256=pcOd40HBipgPQvehS57xGBhMiRji3qmhxDUCDrqAZwc,1416
125
- sky/dashboard/out/workspaces.html,sha256=vlK6eNdf_Oi8Z2o6hCI7A3cD1s3-p94L41ZnQ-eQzGE,1422
126
- sky/dashboard/out/_next/static/YAirOGsV1z6B2RJ0VIUmD/_buildManifest.js,sha256=yE1RaUGvcHeeglowZjF-CLnoxwrU3j0U835toS4pUXs,2353
127
- sky/dashboard/out/_next/static/YAirOGsV1z6B2RJ0VIUmD/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
123
+ sky/dashboard/out/users.html,sha256=3rTrD-n4xbImkTwDjkJklQralSJzZheOOo7NEhfseFw,1412
124
+ sky/dashboard/out/volumes.html,sha256=1X_GCQpdXrnOLmV9TDLbNGIIi9N3_vLcaF5clpv5k0I,1416
125
+ sky/dashboard/out/workspaces.html,sha256=bVZM0mqj5k2CaEGtPZ7gCYi2jE1kZ86WcR7eiMC8ZPA,1422
126
+ sky/dashboard/out/_next/static/Fuy7OzApYTUMz2QgoP7dP/_buildManifest.js,sha256=np-Eq-9Y7Vd-mSHsXbGiNrw1_sEORXApcZv-ZjJdjIA,2353
127
+ sky/dashboard/out/_next/static/Fuy7OzApYTUMz2QgoP7dP/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
128
128
  sky/dashboard/out/_next/static/chunks/1141-a8a8f1adba34c892.js,sha256=ZRSIOX22aV_DDxhIuqXLikPebpbPkJjWi5CVl-QQKRg,18246
129
129
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
130
130
  sky/dashboard/out/_next/static/chunks/1559-6c00e20454194859.js,sha256=m7cJHbBlJJX1kIbMpu-i3q3V5FO2iZwAn8rsPb0Bliw,9717
@@ -141,14 +141,14 @@ sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js,sha256=5gyzVH8d5j
141
141
  sky/dashboard/out/_next/static/chunks/6135-85426374db04811e.js,sha256=EmgR24TKGgQGR92Br_18mFF2lEWn_AkVp5Zyo0AXDFs,14829
142
142
  sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js,sha256=UQxIbEZseq4ore8Y1Tm5OT3Re7fU8ZZKjQQWk4JPvK4,179393
143
143
  sky/dashboard/out/_next/static/chunks/6212-7bd06f60ba693125.js,sha256=ipLAaXhbFdPNtxl4XXjguGHlA4fAytX77aaU2zFt4fk,785262
144
- sky/dashboard/out/_next/static/chunks/6601-3e21152fe16da09c.js,sha256=buxA14upQSfQ856s5s5P4HZt3amf0y62y_rrPL4NNm0,9637
144
+ sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js,sha256=coh7shL8L5Vp2MsibBTx-xxNq_BI-zp0jAl7f6eVmUQ,9659
145
145
  sky/dashboard/out/_next/static/chunks/691.5eeedf82cc243343.js,sha256=mAbI3GUzoengaVLBNTXSHK0HjhjqDurMoR08gjelUzg,12637
146
146
  sky/dashboard/out/_next/static/chunks/6989-6129c1cfbcf51063.js,sha256=TB2Yg9Jt5c1tHg9e-YNHjob_M2F2QVm5GafISe40EsY,11705
147
147
  sky/dashboard/out/_next/static/chunks/6990-0f886f16e0d55ff8.js,sha256=uo6xA0EyNgHmxfQ86tTthCj1nELr5sBG9FUkzStQLqg,16112
148
148
  sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js,sha256=Dnmr9e-yZQbnkjwzqIZU3aK-3u1Tqr8STF-ODYWLkaw,13304
149
- sky/dashboard/out/_next/static/chunks/8056-019615038d6ce427.js,sha256=dnooVMT_HwfvsvekzFKc4n5_ivRWsfJ5YeI4YvHW10s,19209
149
+ sky/dashboard/out/_next/static/chunks/8056-5bdeda81199c0def.js,sha256=_ZOk-ZUvq3AxP4dMmZdF67LvWT9w_34cNDXw_-32DsQ,19214
150
150
  sky/dashboard/out/_next/static/chunks/8252.62b0d23aed618bb2.js,sha256=Icc6xzLtf6BA5KStEONDD0h5RKDgiFyT65tSF81ylns,2062
151
- sky/dashboard/out/_next/static/chunks/8969-318c3dca725e8e5d.js,sha256=suUnkGORibkcnW8Dc0Sb_ex9nKuUoMxWs4a6FPi4Qe8,10880
151
+ sky/dashboard/out/_next/static/chunks/8969-c9686994ddafcf01.js,sha256=IgIL5uvinSPMGErfFZFXWQkEpsdovTKLiGyZY4cTyFI,10880
152
152
  sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js,sha256=Qmu5IJ8QMLwYYKT22vy4Rbzsf5BHzaUhdolaX4dhfQc,10561
153
153
  sky/dashboard/out/_next/static/chunks/9159-11421c0f2909236f.js,sha256=JVPjnKPGEtmKTbJgEoC1zPXgGk3ces1EfgqxbEwBnPY,35262
154
154
  sky/dashboard/out/_next/static/chunks/9360.85b0b1b4054574dd.js,sha256=Fj5lkTl5qrlI36sg21MV7fNGyjrP-AnF_DuZw31jiyg,18744
@@ -160,8 +160,8 @@ sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_Qbam
160
160
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
161
161
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
162
162
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
163
- sky/dashboard/out/_next/static/chunks/webpack-76efbdad99742559.js,sha256=4NfFsTxsBMuRU6l3k7XogtUacweM8shyS_zHYEAWT24,4794
164
- sky/dashboard/out/_next/static/chunks/pages/_app-1e6de35d15a8d432.js,sha256=4elUHljSs0QWUtuH8iUKI5vi-3i0Ufin5PqyHf7wvJM,95530
163
+ sky/dashboard/out/_next/static/chunks/webpack-7fd0cf9dbecff10f.js,sha256=5oXmFUi3YsmoiL-oPp83IfmWozeqVJScYLhpYBqsal0,4794
164
+ sky/dashboard/out/_next/static/chunks/pages/_app-491a4d699d95e808.js,sha256=82sIz-GD6l8eGx6gzIM24ncYBgkAxZBiVKL9dS5qOt8,95524
165
165
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
166
166
  sky/dashboard/out/_next/static/chunks/pages/clusters-b30460f683e6ba96.js,sha256=MtfgA8GXZ-WS-9vlyDOo9xZQHK4dKX0aziMAPSQfiKc,859
167
167
  sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js,sha256=imQqQzmk2dN9ly16TS_d7BV1rHuhzYxrkyx4YUylJCw,796
@@ -171,22 +171,22 @@ sky/dashboard/out/_next/static/chunks/pages/jobs-cdc60fb5d371e16a.js,sha256=OZGa
171
171
  sky/dashboard/out/_next/static/chunks/pages/users-7ed36e44e779d5c7.js,sha256=Nivx5g_Z5Wh8kxdnr5oNxl-AVN_0LuK0-mJFWQFRPl8,827
172
172
  sky/dashboard/out/_next/static/chunks/pages/volumes-c9695d657f78b5dc.js,sha256=8V524bjzt7atRoUXeER3zuhzQfH84pCUX93KDLVIMfg,816
173
173
  sky/dashboard/out/_next/static/chunks/pages/workspaces-8f67be60165724cc.js,sha256=iEHuC9wVsrM-mUxV5B_HmmzmRP8QXAP9IzcaCCwZxos,853
174
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-155d477a6c3e04e2.js,sha256=vXw7eJMnfjNCRQ1hhzKX-5M1bP6dgnD9BqL8LorQmLo,17729
175
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-6fd1d2d8441aa54b.js,sha256=YCb_Bi53tsNFcItSxmxYOVvZRDdmgODR74xZ8R4EhpY,23920
174
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-da9cc0901349c2e9.js,sha256=ZUj2ANKLVe5a6qdc18WHbehnCTfHfcXXOtvlXL0sdcc,18046
175
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-078751bad714c017.js,sha256=e9AnGVwotZqVJFPQQ_M1_rBdSlJT7UbOKJ8xHZL0c-k,23925
176
176
  sky/dashboard/out/_next/static/chunks/pages/infra/[context]-13d53fffc03ccb52.js,sha256=_3B1mkMwqNx3IOWtkBDu6YXpnPfp2An1YE-436Ucm7g,837
177
177
  sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-154f55cf8af55be5.js,sha256=EH5FcozbHDX6fRg7sQEllzDyEGvGBDTTAPbHTMLSG2c,28749
178
178
  sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-f5ccf5d39d87aebe.js,sha256=Y5ecI3PAC0ovFYJD09huxYfplcWlbgy3CFBxEmw3Jn4,25857
179
179
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
180
180
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-f72f73bcef9541dc.js,sha256=IEp-x7cRRpBxRkIJVCI5z4T4noz7LrUy2yb9LouLa5Y,1495
181
181
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
182
- sky/dashboard/out/clusters/[cluster].html,sha256=wiP2maMCVR77mX-_OePnHkzBLoYsEzH-aWc8y0mpvsE,2849
183
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=0zfjDRpp4WOYT_iwF8Tbg9bf_qPHv2E3thDYe6UZS1E,2073
184
- sky/dashboard/out/infra/[context].html,sha256=UZ3XihNjw88UnV5eqdpJTC5W01f36kMBoEHJ9RiZ0UU,1436
185
- sky/dashboard/out/jobs/[job].html,sha256=8DRrvSni04RUnDf4jNqsmtZRrnjVFCMz3xMVRYKjcV8,2305
186
- sky/dashboard/out/jobs/pools/[pool].html,sha256=8OoSkLS-Qy99Y1RLJmUAHYX9oENiTHltP-Pww-ZREww,2143
182
+ sky/dashboard/out/clusters/[cluster].html,sha256=o0byjmFTn0RGO8ohcsqpSOFA3he4h1DHH_HozA3AJKU,2849
183
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=b9Fzmvh3yxYcKWdDBEpbG-yCDAnhZCeJheFvVv6hciM,2073
184
+ sky/dashboard/out/infra/[context].html,sha256=hXbvGcT3eXGRjTVbz_fW7K1svS11bXzryIbwd_nlaes,1436
185
+ sky/dashboard/out/jobs/[job].html,sha256=SySAw4EUAM1jg1M4gdTzCuDwaH23r7OD4vSuSlNefIA,2305
186
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=4avqrr9tgQDj_7GvhFeSt2OyoK7WpuQy5Cw9UgTtR_8,2143
187
187
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
188
- sky/dashboard/out/workspace/new.html,sha256=kbGtJ8EJlkbU9y4aVD5X4FYIWG7zFd8lk4GsLqBz5q8,1428
189
- sky/dashboard/out/workspaces/[name].html,sha256=V7mDD5qA7hOIATocTP53yHy1O-nVcOTQDXpe27rYOIU,2759
188
+ sky/dashboard/out/workspace/new.html,sha256=z4qDGyYeo4FYHFXHsEdlZBdadXS2BQn8qdNaBg7H3pg,1428
189
+ sky/dashboard/out/workspaces/[name].html,sha256=T9r2OlW8yYAv40vaOXWIdD-UjhVmUtfduclFFViNkVk,2759
190
190
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
191
191
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
192
192
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -195,16 +195,16 @@ sky/data/storage.py,sha256=Q3jwgbFZpkYQFyhK-edX61NsFaIY8o6ol-XvkHeaXcU,208135
195
195
  sky/data/storage_utils.py,sha256=l6sx0r3j0F2mTcIVn1S7-4Y_vFRZcvwsVrG_CCacVR8,13856
196
196
  sky/jobs/__init__.py,sha256=BiABNdlab7xZDOv4C34kc1XuxG6C_Ip7Q96mT2iCnIg,1686
197
197
  sky/jobs/constants.py,sha256=N7Bw_sSCL8cVd0NmKGXvAhyclR8Y-gJAair597umVo4,3305
198
- sky/jobs/controller.py,sha256=5g_X12aPSjI8oRpJM_SVHkbUIsxbJqDXgBvt7CZ4WL0,38655
199
- sky/jobs/recovery_strategy.py,sha256=tjZ1PXW_LI0sp-y37Pc1gzgnTHx3QzEeIGNb9CtGboQ,31252
198
+ sky/jobs/controller.py,sha256=9t_5BvnPIEMu7D_9UOgG78-XMsZrpZxKfSs3xUkCEHw,38705
199
+ sky/jobs/recovery_strategy.py,sha256=wxOEdTAUCcL3oPD-cN66ZvXU2gum2RT5oKTeOpdjg7s,31435
200
200
  sky/jobs/scheduler.py,sha256=42gdjUt3X3AKyG1837kLuPhialCiV3Jn4BcjvaJ_apQ,16935
201
201
  sky/jobs/state.py,sha256=z6P4ocdXR9xBwB1QIPtc_rVV0uwm-4LjZUcvRs9iQtQ,67385
202
- sky/jobs/utils.py,sha256=62pzOxnDHTQQHlFQRwHJtZrur5b-r9vM4V3wjwmheUs,77328
202
+ sky/jobs/utils.py,sha256=5KTWRCzEFAdIpXoHcEBS6eLzljX-XFW3QH_ybR5cvT4,77826
203
203
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
- sky/jobs/client/sdk.py,sha256=S-b50oytCeHc_qPxxmLAo3_106oJPtCGoYGQvjpM5kE,16064
204
+ sky/jobs/client/sdk.py,sha256=MqaI2sotaQQWBFzawB5tnWNX_OcMLiO-Dsi5zcc8IeU,16405
205
205
  sky/jobs/client/sdk_async.py,sha256=qOI5TB5FDdX36R9rZ1lL9ouzQtJ6qnZxuK9uoKF86oU,4791
206
206
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
207
- sky/jobs/server/core.py,sha256=PlvDRO1dH6ED5ag9L2ZMIdP5tiYLdGWlmFxAzm8qKZg,37954
207
+ sky/jobs/server/core.py,sha256=o6TMNDDwBjmifQ3hiKvCF9ehbNqAFYmVKyHwNWApxOg,38187
208
208
  sky/jobs/server/server.py,sha256=v91KdT-ntLna46arzIgjckvNqebyREPw8z8U61t79qo,7195
209
209
  sky/jobs/server/utils.py,sha256=q9KL1VGJ8TBIypzt3U9ozHd90QwRib7CBPrXZypMQ98,3496
210
210
  sky/logs/__init__.py,sha256=zW4gAEvWDz5S53FlLp3krAuKrmTSJ0e3kZDnhxSbW4E,722
@@ -213,52 +213,52 @@ sky/logs/aws.py,sha256=cbRE3sHGFSZUqGwLQvMzoxu6QFyO5SglMUXLEQNUC1c,9740
213
213
  sky/logs/gcp.py,sha256=eKVEcHO3FJRg_YTcE9omE8uAIF6AdBWWpkEPqWFAqXg,3857
214
214
  sky/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
215
215
  sky/metrics/utils.py,sha256=Cww3yNG4HyW4DEdLOFUayFgMZ16t2JFSvvhuTTV7Vio,7654
216
- sky/provision/__init__.py,sha256=ZdSBl3_UojMQjebUTjZK8zBWqnEhkRJ5SfydqaD_6Ys,7814
216
+ sky/provision/__init__.py,sha256=Z-743rnnllMpKsixINlFBJsnpRC29MOV9xhoDaOLsl0,7888
217
217
  sky/provision/common.py,sha256=LdjM9SL9NDtsARom12tVv_WoUNL3PTlU5RoLfeWGGgM,10807
218
218
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
219
219
  sky/provision/docker_utils.py,sha256=ev_f5ZebMZ4NYe6OxleisBO8EAB6W0FHFJlaqVK3ugE,20939
220
220
  sky/provision/instance_setup.py,sha256=YjANEJoPSamKLav_BjoGiTOkFlGKoR_F1DlGuUFe-U0,26141
221
221
  sky/provision/logging.py,sha256=_sx_TH6nLt0FF3myS5pEZbiMhXyl4s1XwMidu_TTBUw,2091
222
222
  sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
223
- sky/provision/provisioner.py,sha256=rzfGWSXWlC3A9D8v6oyWy6--40PydAz4qzqz8QN3GuE,32436
223
+ sky/provision/provisioner.py,sha256=xKl_fbDt_BHo9FDaFc29mAadmdI0r3g_RobHYq1AAzg,32716
224
224
  sky/provision/aws/__init__.py,sha256=mxq8PeWJqUtalDozTNpbtENErRZ1ktEs8uf2aG9UUgU,731
225
225
  sky/provision/aws/config.py,sha256=2PifaPQpD-2Kxqd6843sCUIjEhJR3lI3cJRXE1ox_ls,26728
226
- sky/provision/aws/instance.py,sha256=cVW0aQU0Jvo86u4aqfbq29-XrEcgMFFZNIkVS2PvgH8,42295
226
+ sky/provision/aws/instance.py,sha256=l-wC0kzg0xYm7vSbY-9khHQrWUxpHsuxuFYhYBLYyUY,42435
227
227
  sky/provision/aws/utils.py,sha256=LrjeQ09zA7GoMv9Nt8TlL2A3VqqChsgJ9bL-Q5VLaao,3401
228
228
  sky/provision/azure/__init__.py,sha256=87cgk1_Ws7n9rqaDDPv-HpfrkVeSQMdFQnhnXwyx9g4,548
229
229
  sky/provision/azure/azure-config-template.json,sha256=jrjAgOtpe0e6FSg3vsVqHKQqJe0w-HeWOFT1HuwzS2c,4712
230
230
  sky/provision/azure/config.py,sha256=4MdatCG7-38vq8azy9kNDYhNdmndIBTEoQQzeQqPlJ8,8905
231
- sky/provision/azure/instance.py,sha256=BQ4stZl_m76iULPY_TFEN4WDwNPWI1jmw-LswxxqXPg,47495
231
+ sky/provision/azure/instance.py,sha256=TCsIt3kJ6DqbVXJURqQJCSY2sanOSxsH0bajdR7b6r4,47582
232
232
  sky/provision/cudo/__init__.py,sha256=KAEl26MVPsk7IoP9Gg-MOJJRIV6-X9B0fbyHdyJWdLo,741
233
233
  sky/provision/cudo/config.py,sha256=RYOVkV0MoUqVBJRZiKhBZhjFygeyFs7eUdVMdPg1vds,327
234
234
  sky/provision/cudo/cudo_machine_type.py,sha256=Bo2z4DyIvCFe98kYD8itTADx6MG7tn8ny8Jbh6QYbGg,681
235
235
  sky/provision/cudo/cudo_utils.py,sha256=GFwSEf_LXN7Dh37m5UOLs6wXEJqF8kGI2-ys35L4rl8,1883
236
236
  sky/provision/cudo/cudo_wrapper.py,sha256=JG9s8_qh8IR8E-D_x4Mokyv7ZJzSky38sbcD3pnyzss,4919
237
- sky/provision/cudo/instance.py,sha256=C2tl48PtQWz0irDWiSNoqWu8YcrDqQrucau0KGUFFxg,8828
237
+ sky/provision/cudo/instance.py,sha256=Z9mWaoqE04-WWS5UgY6s-FH5qHSNqS-VSMkVg_gtY84,8921
238
238
  sky/provision/do/__init__.py,sha256=VAhSO9F9FDAjvEuCDlRPueB-TTA3XHR61vVXyUe85z0,518
239
239
  sky/provision/do/config.py,sha256=WWFz6kZLKrUHoJoKRzHGY8ck_ieQiBrMWDb5JP6rWUk,387
240
240
  sky/provision/do/constants.py,sha256=NYomY7Zb3Svd33wJbNJTi4NwYMzbD7nGNlHWBX-_EYI,172
241
- sky/provision/do/instance.py,sha256=0h3oAqL3kL1bH_Wb5gXgNVL7_0AIJ5vVLpddBWNJfwQ,11076
241
+ sky/provision/do/instance.py,sha256=aPvA-jKaCxGjfQF_je1UlJQg2smgKEgOeuWGVPS72t4,11169
242
242
  sky/provision/do/utils.py,sha256=aoC_C9cyHrKJkl7cOXkpNWfdB750mskRb4QqulujJGk,10368
243
243
  sky/provision/fluidstack/__init__.py,sha256=h2df4JHCHtBMYZwtC05WM0VnLbAsRO-T3GFTf6NpY04,592
244
244
  sky/provision/fluidstack/config.py,sha256=hDqesKEVjIhXLTWej3fDdpbHtKBXoybxFGgC6T8U5uo,326
245
245
  sky/provision/fluidstack/fluidstack_utils.py,sha256=NdhQcwhIPGT21g7lQR-t6j-1zTA_1ZgOhh1oR7rmV4A,5883
246
- sky/provision/fluidstack/instance.py,sha256=zCyG8_gmMowzXpmEfv4yBYXgyslKjNXsbFXBq8eQnzc,13788
246
+ sky/provision/fluidstack/instance.py,sha256=3nC8iFJrN9I5UbCHtHhy4vG8cw1nklwDSp7vEFde2Jk,13881
247
247
  sky/provision/gcp/__init__.py,sha256=OoV5L-FOx3rdfgkIEu3wrnefybc734RKIldsKaC2Qnc,596
248
248
  sky/provision/gcp/config.py,sha256=9QxZPRGsclAeI-K5AbrmaXjWUa8ze6VtwoTonkS3R_s,45120
249
249
  sky/provision/gcp/constants.py,sha256=gb1DxFBvJTfMjJkR-GtyD-vFGSriDTr7kRVG9F138wc,16001
250
- sky/provision/gcp/instance.py,sha256=AZmqFDckqkPKhDvN6fDBRFGNVkrWzoZRcWI57HI3o9A,26009
250
+ sky/provision/gcp/instance.py,sha256=O07LF9_DqpHT8-DpQVu4uPsijNqK5scwTS0owPA3b0I,26149
251
251
  sky/provision/gcp/instance_utils.py,sha256=RM5KOAk56TU8q1LNRoo9yl4VwQ3DDq7FAfTxpgdZVTc,72094
252
252
  sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
253
253
  sky/provision/gcp/volume_utils.py,sha256=tTZ8QFbssPYJQlFZ48_DUUemywn248__Jr1-l429WK8,11856
254
254
  sky/provision/hyperbolic/__init__.py,sha256=76Z9YhSwNvnisvnYto2wIEtWg1qt4Y4hG3Nmttqbp1U,673
255
255
  sky/provision/hyperbolic/config.py,sha256=N7ekDE57bc8GPQc4zabQ1f9y95syadpADRRH6gZZiNI,276
256
- sky/provision/hyperbolic/instance.py,sha256=LM6tYpS8aZpIrQcR-PKaW11Oa4qCZl6cLgRmWhwyRW4,17131
256
+ sky/provision/hyperbolic/instance.py,sha256=NmgZbxhKLrrn_KcVbFewG6WhVV222GU4MQ6rCHlQNZY,17220
257
257
  sky/provision/hyperbolic/utils.py,sha256=NCa3ULvIi64-YHYoOnPd3SShlJ6VuQsEwaTBqHFrqpg,14953
258
258
  sky/provision/kubernetes/__init__.py,sha256=xzVA9OCga0pCdUAQ7zZiCZMdq-Y0182oHlIKWESA15A,896
259
259
  sky/provision/kubernetes/config.py,sha256=iuKFZdivSaEOZf6PWz3JLju3bqyIuO58jTb9fFUn8nE,29632
260
260
  sky/provision/kubernetes/constants.py,sha256=vZJQsAVjAgwsOskB48tIFSXtNw7IFnJOQE_H6N-vOYQ,1130
261
- sky/provision/kubernetes/instance.py,sha256=T1ac7efRMF6L5SrH51NNVxGeXmKlUC-tthWhOfchJTI,59914
261
+ sky/provision/kubernetes/instance.py,sha256=2KJU1NZD9KyiLHcM0MATvjXsZCN3UsbSVo-65C4CYcA,61288
262
262
  sky/provision/kubernetes/network.py,sha256=Dgj8u7IQBHKHt-mSDhYzue1wfDk96FR_8fO89TwuZ2E,12846
263
263
  sky/provision/kubernetes/network_utils.py,sha256=eEbt8acJW3Ohe6qHZNZ9GAQ29kIZEQX7Q5S08yOuvhA,12220
264
264
  sky/provision/kubernetes/utils.py,sha256=LHEGg6XicmZquhbNdic1WejYPWtIj2cGgU9L6ZeatM0,153569
@@ -266,40 +266,40 @@ sky/provision/kubernetes/volume.py,sha256=9u7kDnQxNKvic4ZKJFxGE7fHcMo5N18VQmkVjs
266
266
  sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=S87GNAbDqgTrLuxF-afPAqQ0V-i41El4s_9KBZMuaag,1331
267
267
  sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
268
268
  sky/provision/lambda_cloud/config.py,sha256=jq1iLzp4Up61r4JGxvtpVbJlgXnea3LHYQhCQyyl7ik,272
269
- sky/provision/lambda_cloud/instance.py,sha256=zenKFaAS9bAJxXM5_-Vnz7Fm7sSf3KSIlXhKUL4n6l8,12726
269
+ sky/provision/lambda_cloud/instance.py,sha256=AGzeHNrJChi1nyZEus40-CdOiArh0cawJKQqDAicivo,12819
270
270
  sky/provision/lambda_cloud/lambda_utils.py,sha256=G1dciGF8U3OGYk0-1pc3IDsT8AyA8AceujOkQy4fqho,13284
271
271
  sky/provision/nebius/__init__.py,sha256=30I3181mu0W5g9fNvaWMPoBJZoGZ9RibuTpBH9P2pDg,558
272
272
  sky/provision/nebius/config.py,sha256=LK9kTDp2w6zZrn3vNdcSGgsgS-dL_j63Nh4_u3pqNiA,321
273
273
  sky/provision/nebius/constants.py,sha256=t2wglGR4-sifAIiVyLhwAvPJZRqk7oQIRgNXpL9PKDY,1682
274
- sky/provision/nebius/instance.py,sha256=zqVmapRHAQb4xRUOH2oYftRw0NHAx0pxSjmrVjwYQoE,12202
274
+ sky/provision/nebius/instance.py,sha256=GtC-VLV67f4TM-QbK2mJD8kiRNbTZbg9HABbJ1CPHrg,12295
275
275
  sky/provision/nebius/utils.py,sha256=1AQfeErPV_dyVvgI3hUR_1jVQcS0eLnIi8rTnNsOeTo,14017
276
276
  sky/provision/oci/__init__.py,sha256=5E6EUtTK3mqGVREw5TuVl5DxteBYTZigIii7c8gHExU,612
277
277
  sky/provision/oci/config.py,sha256=diSDTyHLokcuXGB2XgZCHFvsXa8bah1PP2XuMouW_UU,1650
278
- sky/provision/oci/instance.py,sha256=rVGee5y0qkoeLIP5vPDmLq1N8G1n8mru62VHb0Bv5iY,16784
278
+ sky/provision/oci/instance.py,sha256=ulDN27_jub4I9SKKHcDEZnhtPrk-r1DQ_CQIZvBEWQk,16873
279
279
  sky/provision/oci/query_utils.py,sha256=hrJHqcjE2pxYqv-26Ptx1g1mBmWHhB1eOFO14fJG5VA,28343
280
280
  sky/provision/paperspace/__init__.py,sha256=1nbUPWio7UA5gCQkO_rfEDfgXT17u5OtuByxQx4Ez6g,598
281
281
  sky/provision/paperspace/config.py,sha256=oNmffSt-V466pE0DmML8hOCX1CiA24jAqE5JEKuqpyI,1541
282
282
  sky/provision/paperspace/constants.py,sha256=NcLJGivJxshJwhR28yVHysWQ2gtMAkTVmHC91d3kyKM,957
283
- sky/provision/paperspace/instance.py,sha256=LkvamrI1COmNPzPV6w_axoCvILnHQrVnl7Goo6QuxXQ,12141
283
+ sky/provision/paperspace/instance.py,sha256=fo3U6sbdAKglCHiI8pfUTM9HzOc40SQDk_lIPFZGAA8,12234
284
284
  sky/provision/paperspace/utils.py,sha256=FhJZz0O5tCbdaJ5WE6zTdVXvW6msalMaAc3xOR3imIw,9736
285
285
  sky/provision/runpod/__init__.py,sha256=6HYvHI27EaLrX1SS0vWVhdLu5HDBeZCdvAeDJuwM5pk,556
286
286
  sky/provision/runpod/config.py,sha256=9ulZJVL7nHuxhTdoj8D7lNn7SdicJ5zc6FIcHIG9tcg,321
287
- sky/provision/runpod/instance.py,sha256=tWE6J2G4uDGXGk3utcU-njETslu7rI57lWjgk3K7IbM,10218
287
+ sky/provision/runpod/instance.py,sha256=Ya4x03xneudPoeF5xVFWlfQWUW5c2Q-Ig-RzthKekEw,10311
288
288
  sky/provision/runpod/utils.py,sha256=UcrlU4xcEfrAzg7Lu_DK0pdZ28RxAovwvZvEZElWmJ0,13792
289
289
  sky/provision/runpod/api/__init__.py,sha256=eJwjPeQZ5B7chf4-Bl4YeI2Uo9aLX4M1rr2NmPk89_E,112
290
290
  sky/provision/runpod/api/commands.py,sha256=oh77PS0H0wZudHV8II9ceRuaFQ8FN4NJ4S3-6_PeqPM,4238
291
291
  sky/provision/runpod/api/pods.py,sha256=GMwxgNr9NnHPfyh2Y9b8S_vLhrLY4h7LybFBBQNAyfw,4948
292
292
  sky/provision/scp/__init__.py,sha256=n64mYmRMUs-iB868gPQsXdRVO8Jc1pmIFxx4V_zFTuc,731
293
293
  sky/provision/scp/config.py,sha256=8v5dyXC7PPyLhnS5p3tK4B6xufEmUmYFZ7LPHKsS1Zw,2916
294
- sky/provision/scp/instance.py,sha256=1W2qq-ouOwVj4gxnFa2zi7OH5r177Eq40ktd28iEmXk,19099
294
+ sky/provision/scp/instance.py,sha256=3udocqYJBbru2edF0dpGC6YaxJ_OEnBLvHq2ruBsnbQ,19238
295
295
  sky/provision/ssh/__init__.py,sha256=jLQEBTOBMBO11ER9PnY1U2aMCJx7_TEFoaoa5nDHX34,917
296
296
  sky/provision/vast/__init__.py,sha256=iuTyc9Ib3x8Rm5kMvciydkUBEs19fititGdPsXRCr4E,487
297
297
  sky/provision/vast/config.py,sha256=Aa57fKITHvNiXkY0ADoiK6YYRNG6ND9vOC7ueETJIr0,319
298
- sky/provision/vast/instance.py,sha256=F5aWzeAhrI3hQXyA91rfXoozH6I_X7YaRm09NO6r2M4,9558
298
+ sky/provision/vast/instance.py,sha256=BBTTLMj6sdQFqnk6IYqJizDR3QpV1azkAnLR2fFzJxo,9650
299
299
  sky/provision/vast/utils.py,sha256=iiHWzNpCLNeCCz748n21iaAWYSSwU4Rir5ceMEHj7OU,5635
300
300
  sky/provision/vsphere/__init__.py,sha256=5icB8-kfs926S9DVfNJSCBVr7z7cmCEDr04-YHX89_4,788
301
301
  sky/provision/vsphere/config.py,sha256=f_ojGmi_vbnwJ8Ri48cqhZHBOuIkj41j9bFbq-ldPOo,504
302
- sky/provision/vsphere/instance.py,sha256=p6i3BRrR93uKUoez6veJJfzTILnp-GU0t8vX7HUiuyg,24114
302
+ sky/provision/vsphere/instance.py,sha256=-zPlvKEWwr9pfzhYirfD5tDVhQgaYCrptrbaytXAjGM,24252
303
303
  sky/provision/vsphere/vsphere_utils.py,sha256=w7ZnlRXMOsIJVjLKY3r-8UA88djqgLKMaUsRjKtWrxM,15155
304
304
  sky/provision/vsphere/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
305
305
  sky/provision/vsphere/common/cls_api_client.py,sha256=Xryr64_ZtUsBb3yWhxMXGER59dZW9dJPbmhFoIno87c,4167
@@ -315,9 +315,13 @@ sky/provision/vsphere/common/vim_utils.py,sha256=TjDgxIzV5Iuc5j1aFNL3NpaOwS0KKXh
315
315
  sky/schemas/db/README,sha256=M93NBw29groxXu-Gy7sgqSyxpppXpRBbXxEXANLhVCo,122
316
316
  sky/schemas/db/env.py,sha256=T-2a00Z9RcaIqcMu90R-RNA_lCutsWBRopDy4LQFnoM,2918
317
317
  sky/schemas/db/script.py.mako,sha256=04kgeBtNMa4cCnG8CfQcKt6P6rnloIfj8wy0u_DBydM,704
318
- sky/schemas/db/global_user_state/001_initial_schema.py,sha256=I7swXDQq_uw0GYPIx94V0xRf2tKKz_PmXGk7ELVYKUg,6162
318
+ sky/schemas/db/global_user_state/001_initial_schema.py,sha256=-NeZbeLZtHa56Zz_iQ28BSrI8K8sSIjea3lAOM4kZAw,6166
319
319
  sky/schemas/db/global_user_state/002_add_workspace_to_cluster_history.py,sha256=nlvVKHBO3kr6xPuiIuSwrGfZRjHl0lW1TT575YwSfQw,896
320
- sky/schemas/db/spot_jobs/001_initial_schema.py,sha256=-V4PUL2ajbbnksAB2rxmCfWvhu0EsQv6i5oNE6zUkDU,3755
320
+ sky/schemas/db/global_user_state/003_fix_initial_revision.py,sha256=zFvlsWfTIrDxHYZrGX41hluBz3BVNLj1dRoVNutVtxg,2363
321
+ sky/schemas/db/global_user_state/004_is_managed.py,sha256=D9LMF6-aM9_myMaTMz6ZNLM0K7iQZkBMRDzIigMF9nI,932
322
+ sky/schemas/db/global_user_state/005_cluster_event.py,sha256=ceIhoILBxESCIhhEXSEERMVjxYKW0QSebUQhRvioA2s,812
323
+ sky/schemas/db/serve_state/001_initial_schema.py,sha256=9vy5hO4Zqe-DN-33vBJQTvgJnDFcTgz18gKfO3UB62g,2595
324
+ sky/schemas/db/spot_jobs/001_initial_schema.py,sha256=eHT3GxFHQhySA1rO5uZq9QlloJdtTMQp93f0CRmayf8,3759
321
325
  sky/schemas/db/spot_jobs/002_cluster_pool.py,sha256=9ef0D_lUb4WB0e9uz8E0my_X4cgK_oX-WIj4p8usbOA,1369
322
326
  sky/schemas/db/spot_jobs/003_pool_hash.py,sha256=YSBPXx277ErScN1Z0fo54go11j7qnYDmfUvVCshhnhE,872
323
327
  sky/serve/__init__.py,sha256=jlwErB4VeKh0wp9FkTIQoE5JQvc6KIB-vrqhtsJ2q-E,1810
@@ -327,23 +331,23 @@ sky/serve/controller.py,sha256=JlDvk275fBt5d_I1B2KiBHiBlz-98NlgNF-7ShvU9tE,12445
327
331
  sky/serve/load_balancer.py,sha256=ZUt1QEf8b7tpmtedg7oiWkXDapm8fb7a6YdLqDK7Tno,14204
328
332
  sky/serve/load_balancing_policies.py,sha256=Ssr0GtHKyzzAIEOUAMCLvND5rapmrpxI-OQemf3dgxU,5177
329
333
  sky/serve/replica_managers.py,sha256=kV6ZwrDsBIOj6HDklrfKepF5Ov9_S-XPFdbb9eJqhtM,68486
330
- sky/serve/serve_state.py,sha256=stEdR8qoxXfHNPVxJQM88OMvY-kJfxmXgrYTHSHGw5s,26337
331
- sky/serve/serve_utils.py,sha256=7Ruo1Eg1SCqh7YrMHggkEEYY1o71grjk9eCI_vLTIEY,66143
334
+ sky/serve/serve_state.py,sha256=0OOc9bxXTs3QS7oCSHAGCTFbFuWPX62gEs9lx_jZGlM,31710
335
+ sky/serve/serve_utils.py,sha256=4YLLcwp6xmUTV5JZXxNiEKl5hd-Mcl38QDepdp43KIE,68061
332
336
  sky/serve/service.py,sha256=bc68iU1MANSt88sn-usgT4_IRnEsnBN6uPMPpiHL120,15931
333
337
  sky/serve/service_spec.py,sha256=c92moNwtjg1gCXug1ydsnoVG7mvUWNZ5esCT6GpS-K4,21689
334
338
  sky/serve/spot_placer.py,sha256=auRlYZNg8uIW-lxiirxpDP-iIaJtkrhesm6OGMgwPq4,11288
335
339
  sky/serve/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
- sky/serve/client/impl.py,sha256=2mkllSwrLw1bdbcM-DcWd6fBXwKmP_ybFF_UyBMXCaE,9284
337
- sky/serve/client/sdk.py,sha256=E3YF6hX-B0EUUWKS1OlR0DhjijwNkaGv02qGGtVjfbs,11580
340
+ sky/serve/client/impl.py,sha256=TMvZGnui5QeqhqGzCzrMrLXO_As8RDUFSZa67cDbJJs,9466
341
+ sky/serve/client/sdk.py,sha256=fqz6SlCIgzuLvEMkUhTpxvj8oIoV8vhpvhK1QbdenD8,11614
338
342
  sky/serve/client/sdk_async.py,sha256=idvbLb6q_NBo79OnXE-3SF-bwYFMPzDg_khiNqOLd3o,5018
339
343
  sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
340
344
  sky/serve/server/core.py,sha256=QEdBUE0clX8ZSQEO_mb5Gt3ykeWBdVzqtmiRcBjH7UY,10321
341
- sky/serve/server/impl.py,sha256=A4gO60gYQ38VS4gRG6J7mBYieJvK1jxwLn7HZ-ixsPM,42967
345
+ sky/serve/server/impl.py,sha256=FaWasvC1Fy9Yy1lB2IHyAtK93AjhzFGM6ISbubGty9o,42959
342
346
  sky/serve/server/server.py,sha256=A9K37a0nQgZeN3eKWv62Oh2C5TSAReTZ9pHmztqlI-c,4396
343
347
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
344
- sky/server/common.py,sha256=tOxbRdMtkCwoJ0eiA7dA9nl8KItjf8FUmLDM68AVNfI,39129
348
+ sky/server/common.py,sha256=eUMDKQ1bt6x-GvBhdLPcFKZJ_QQhR9P-TMviYt766oQ,39185
345
349
  sky/server/config.py,sha256=XWf5Kw4am6vMO5wcyWevbQAFH-dmKb7AMEgDzD083-M,8538
346
- sky/server/constants.py,sha256=cF2PCfKBmxv4hsMCLhaxQT-WWnyXroL3Fhdkmb9mZBU,2321
350
+ sky/server/constants.py,sha256=X3x4k07MR2c_fseWXgNlxlSDkCGd9ipicK3pOgMtz9o,2321
347
351
  sky/server/daemons.py,sha256=3cwp-Os2StWLaOF21Sv4jzJ1zkEYpKuiKF5HFkg86WA,8700
348
352
  sky/server/metrics.py,sha256=6H6n6dq_C5HMaU97mJlRUB9bqOEA_k205PO15wE3AWk,3648
349
353
  sky/server/rest.py,sha256=XExs_gWGnHQCgXcxdSW7MRr9iJ66b1WDMpkkYWa_LNc,12684
@@ -371,7 +375,7 @@ sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm
371
375
  sky/server/requests/serializers/decoders.py,sha256=3jC05aNaJxthHWWWfTW69dMPa6TKRv5pm63lSXuSrh0,6638
372
376
  sky/server/requests/serializers/encoders.py,sha256=bmKtwHwF5g0SmjOBhi88OvOmI3EAozf1drD0I8bCk7o,5915
373
377
  sky/setup_files/MANIFEST.in,sha256=fKWkj_JoaZ1FxrEaoEaD6Oz35LLYcsJYUorTBw01Y3A,738
374
- sky/setup_files/alembic.ini,sha256=9yEQ1Pe8t-Pzp6PhQdJ4ut_BlHO63FNSYt7sRRFB_Wg,4965
378
+ sky/setup_files/alembic.ini,sha256=854_UKvCaFmZ8vI16tSHbGgP9IMFQ42Td6c9Zmn2Oxs,5079
375
379
  sky/setup_files/dependencies.py,sha256=FQlStWR2hRPrV3dGjR_35lHBMMt04FTLKsaihDL8yj0,7235
376
380
  sky/setup_files/setup.py,sha256=GTXvAi65S4_TSLhQ1GzkmaWf_yzciHiaxMbZumcTtKU,7522
377
381
  sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
@@ -434,7 +438,7 @@ sky/usage/constants.py,sha256=mFrTgrFIfFf4kpcl-M1VDU7_moD5_mJazUJTUDrybms,1102
434
438
  sky/usage/usage_lib.py,sha256=JlKupp72xYGDbk9UbfTq_tPBoJ2CxZyjeIvajgYdU7I,21470
435
439
  sky/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
436
440
  sky/users/model.conf,sha256=nPAaMai2fc-nlnEDTfW5Lyw6vgCcOS32BSms4aFOHoY,259
437
- sky/users/permission.py,sha256=fIJX2hOi55j4u0C557297_XaBUnyBncEjn7PO-Y6LyY,15631
441
+ sky/users/permission.py,sha256=lKJA3lpdnfsQNwsKOM7Tj0m2-tdFaR2ve3ojxMs9uV8,15635
438
442
  sky/users/rbac.py,sha256=3ZWukXo85u6zWbPmHcPsF9EtZ3cd_51PLZYf2h-7uAM,3636
439
443
  sky/users/server.py,sha256=RyxxbjHkL3bIQMqzOkwBnPp05lVdKWabu8inshLfOcI,27921
440
444
  sky/users/token_service.py,sha256=78Xgm6rkd5M6IMMUekAp2YNLms4teNNvVDPfHh_5jts,7804
@@ -463,7 +467,7 @@ sky/utils/locks.py,sha256=L51SbGY48b1gQQp8qk3HBentcENozYx1u68KuNL-_Jo,10729
463
467
  sky/utils/log_utils.py,sha256=21WN-uAf94zornM0wiCo2r7TCw7XhYvm8REPVfHNMiQ,29285
464
468
  sky/utils/message_utils.py,sha256=zi2Z7PEX6Xq_zvho-aEZe_J7UvpKOLdVDdGAcipRQPU,2662
465
469
  sky/utils/registry.py,sha256=I08nS0rvCF-xR5GEZoHEVgN1jcOeglz77h7xPpBCIjU,4179
466
- sky/utils/resource_checker.py,sha256=N18XhoVIqjY1VzmKvxQxRchRgC2WIgcEQyHDkLvg4Y8,5825
470
+ sky/utils/resource_checker.py,sha256=0rwr7yLVkYO3Qq5FZmniyPp-p66tIXmSoK5t0ZgIfso,10498
467
471
  sky/utils/resources_utils.py,sha256=zcJXHYQt6WtQHKuWEif1QP1NtSO7XQYJBaEs625yV1Y,15958
468
472
  sky/utils/rich_console_utils.py,sha256=wPvAlshaFHuMZSjiDnaK3OSBppZLBjAn-lj7AvxNBQk,553
469
473
  sky/utils/rich_utils.py,sha256=Q-N5bZGfvqciU5cuQacInoNpldZcaMKCdBX2368KIDA,19971
@@ -478,16 +482,16 @@ sky/utils/volume.py,sha256=b1dybVUGUjDTEXint7SBezelUO86Dsz8eXZ5WZqVedM,2860
478
482
  sky/utils/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
479
483
  sky/utils/aws/get_default_security_group.py,sha256=LPzz5133ZUMbzDD3iqqACL9PdlgqiQR5hKZIn-D1zhw,228
480
484
  sky/utils/cli_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
481
- sky/utils/cli_utils/status_utils.py,sha256=Lxf_dQu_VTKRWCI86fDi0NiLjUk7IUCEc4jMo0dKjQA,15733
485
+ sky/utils/cli_utils/status_utils.py,sha256=WLPD32WHYtVR5eWaGzd7DG4zowcyHcdDYvtVaUcF5Vs,16074
482
486
  sky/utils/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
483
- sky/utils/db/db_utils.py,sha256=Mee-36jZbG0T4qeJrWu8mamJd8qGBC95dQ2AG6ejt_8,7968
484
- sky/utils/db/migration_utils.py,sha256=PJmhMLRKKhgDhuRliONsHET13Rg9205RnK-7ZjS4eXU,4969
487
+ sky/utils/db/db_utils.py,sha256=GVkH9aepjEsdV5H2VyOa4m0xuRabeLSfXxhArV80sbk,9385
488
+ sky/utils/db/migration_utils.py,sha256=s2oPuh6P_YPErTjxrkHml8XngDQqtUcutNyYEOaTFS0,5067
485
489
  sky/utils/kubernetes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
486
490
  sky/utils/kubernetes/cleanup-tunnel.sh,sha256=rXMXuMfyB9bzKjLvXdMCjimDVvdjGPMXuqeo2ZNx9OA,2244
487
491
  sky/utils/kubernetes/config_map_utils.py,sha256=ucdQGp1XHliZxoCFWU8EMJ2NKfUEs7t-ygw-J61It_w,4760
488
492
  sky/utils/kubernetes/create_cluster.sh,sha256=VpFLLLzodeldN9-JKqcjs2LkKksMGlg14Q7qGZ49LQE,7816
489
493
  sky/utils/kubernetes/delete_cluster.sh,sha256=BSccHF43GyepDNf-FZcenzHzpXXATkVD92vgn1lWPgk,927
490
- sky/utils/kubernetes/deploy_remote_cluster.py,sha256=KECOmpIt_i1qnrC2Ju7sKUlTbQYqkP17ezjivaHctwc,54712
494
+ sky/utils/kubernetes/deploy_remote_cluster.py,sha256=0bQqtz8dDHaYSfxVP5BPM6OoUo2CHZGIxcdCTU6zicQ,54733
491
495
  sky/utils/kubernetes/exec_kubeconfig_converter.py,sha256=fCWX13qvbqvoHghwjWjZdmzfOrcmSiTaQnP6owJ05A8,2256
492
496
  sky/utils/kubernetes/generate_kind_config.py,sha256=_TNLnifA_r7-CRq083IP1xjelYqiLjzQX9ohuqYpDH8,3187
493
497
  sky/utils/kubernetes/generate_kubeconfig.sh,sha256=JnHiFJ8RTULB55jpbbmQrixzxLpc2otbRnUleDakMR4,10694
@@ -503,17 +507,17 @@ sky/volumes/__init__.py,sha256=oy7JTgRXxkK2nOOF-OWivr0xeSL1-Syz703kZEuUnn0,241
503
507
  sky/volumes/utils.py,sha256=5085ymeeQpzQAjXGm6LPn5-73hUR0biF7wlImeOa5P4,5680
504
508
  sky/volumes/volume.py,sha256=XR316DX2vgKJr7Qw2HzjGboSBeI_wfeFv98rpHYOGSM,4389
505
509
  sky/volumes/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
506
- sky/volumes/client/sdk.py,sha256=5FrGSUTwHeVxs1e4SYhuADxiJVpG352wOQmfSfGR_cI,2627
510
+ sky/volumes/client/sdk.py,sha256=1IkN4Jq_1Ukdh9txY8BNV2hc1xvvbkN-mOLFgXdZwDc,2672
507
511
  sky/volumes/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
508
512
  sky/volumes/server/core.py,sha256=CO-pgo7MNXo-5ZZ8aeGGxRr8Uye9rDhyK9y3xq-6XWI,8720
509
513
  sky/volumes/server/server.py,sha256=MZaxWaowuRd-vMLWUZPDf9gI2V2DcWAyabP9Dbv7EyA,3026
510
514
  sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
511
- sky/workspaces/core.py,sha256=MkQoVqWN67tf4VRq284U9vgAw4lwb_cpUfwHQT4V9Ow,16598
515
+ sky/workspaces/core.py,sha256=AjwbbRwk0glzCnqICJk4sQzMoUcawixbXoQWKLB3-aQ,25372
512
516
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
513
517
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
514
- skypilot_nightly-1.0.0.dev20250807.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
515
- skypilot_nightly-1.0.0.dev20250807.dist-info/METADATA,sha256=kJaUv91KLlvYNpTS9oBfvKHEt8VjzcFEwhrfPWpWmDU,20415
516
- skypilot_nightly-1.0.0.dev20250807.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
517
- skypilot_nightly-1.0.0.dev20250807.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
518
- skypilot_nightly-1.0.0.dev20250807.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
519
- skypilot_nightly-1.0.0.dev20250807.dist-info/RECORD,,
518
+ skypilot_nightly-1.0.0.dev20250812.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
519
+ skypilot_nightly-1.0.0.dev20250812.dist-info/METADATA,sha256=Q76Nxk5Kp_JxFu4hOXujlkSk_SXs_OItwW77-82Vzdw,20478
520
+ skypilot_nightly-1.0.0.dev20250812.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
521
+ skypilot_nightly-1.0.0.dev20250812.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
522
+ skypilot_nightly-1.0.0.dev20250812.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
523
+ skypilot_nightly-1.0.0.dev20250812.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8056],{50326:function(e,t,a){a.d(t,{$N:function(){return p},Be:function(){return h},Vq:function(){return c},cN:function(){return f},cZ:function(){return d},fK:function(){return g}});var r=a(85893),s=a(67294),o=a(6327),n=a(32350),l=a(43767);let c=o.fC;o.xz;let u=o.h_;o.x8;let i=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(o.aV,{ref:t,className:(0,n.cn)("fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...s})});i.displayName=o.aV.displayName;let d=s.forwardRef((e,t)=>{let{className:a,children:s,...c}=e;return(0,r.jsxs)(u,{children:[(0,r.jsx)(i,{}),(0,r.jsxs)(o.VY,{ref:t,className:(0,n.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-gray-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...c,children:[s,(0,r.jsxs)(o.x8,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-gray-400 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-gray-100 data-[state=open]:text-gray-500",children:[(0,r.jsx)(l.Z,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});d.displayName=o.VY.displayName;let g=e=>{let{className:t,...a}=e;return(0,r.jsx)("div",{className:(0,n.cn)("flex flex-col space-y-1.5 text-center sm:text-left",t),...a})};g.displayName="DialogHeader";let f=e=>{let{className:t,...a}=e;return(0,r.jsx)("div",{className:(0,n.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a})};f.displayName="DialogFooter";let p=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(o.Dx,{ref:t,className:(0,n.cn)("text-lg font-semibold leading-none tracking-tight",a),...s})});p.displayName=o.Dx.displayName;let h=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)(o.dk,{ref:t,className:(0,n.cn)("text-sm text-gray-500",a),...s})});h.displayName=o.dk.displayName},23266:function(e,t,a){a.d(t,{QL:function(){return g},Sl:function(){return i},getClusters:function(){return c},uR:function(){return u}});var r=a(67294),s=a(15821),o=a(47145),n=a(6378);let l={UP:"RUNNING",STOPPED:"STOPPED",INIT:"LAUNCHING",null:"TERMINATED"};async function c(){let{clusterNames:e=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{return(await o.x.fetch("/status",{cluster_names:e,all_users:!0})).map(e=>{let t="",a=t=e.zone?e.zone:e.region;return t&&t.length>25&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15;if(!e||e.length<=t)return e;if(t<=3)return"...";let a=Math.floor((t-3)/2),r=a+(t-3)%2;return 0===a?e.substring(0,r)+"...":e.substring(0,r)+"..."+e.substring(e.length-a)}(t,25)),{status:l[e.status],cluster:e.name,user:e.user_name,user_hash:e.user_hash,cluster_hash:e.cluster_hash,cloud:e.cloud,region:e.region,infra:t?e.cloud+" ("+t+")":e.cloud,full_infra:a?"".concat(e.cloud," (").concat(a,")"):e.cloud,cpus:e.cpus,mem:e.memory,gpus:e.accelerators,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:new Date(1e3*e.launched_at),num_nodes:e.nodes,workspace:e.workspace,autostop:e.autostop,to_down:e.to_down,jobs:[],command:e.last_creation_command||e.last_use,task_yaml:e.last_creation_yaml||"{}",events:[{time:new Date(1e3*e.launched_at),event:"Cluster created."}]}})}catch(e){return console.error("Error fetching clusters:",e),[]}}async function u(){try{let e=await o.x.fetch("/cost_report",{days:30});console.log("Raw cluster history data:",e);let t=e.map(e=>{let t="Unknown";e.cloud?t=e.cloud:e.resources&&e.resources.cloud&&(t=e.resources.cloud);let a=e.user_name||"-";return{status:e.status?l[e.status]:"TERMINATED",cluster:e.name,user:a,user_hash:e.user_hash,cluster_hash:e.cluster_hash,cloud:t,region:"",infra:t,full_infra:t,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:e.launched_at?new Date(1e3*e.launched_at):null,num_nodes:e.num_nodes||1,duration:e.duration,total_cost:e.total_cost,workspace:e.workspace||"default",autostop:-1,to_down:!1,cluster_hash:e.cluster_hash,usage_intervals:e.usage_intervals,command:e.last_creation_command||"",task_yaml:e.last_creation_yaml||"{}",events:[{time:e.launched_at?new Date(1e3*e.launched_at):new Date,event:"Cluster created."}]}});return console.log("Processed cluster history data:",t),t}catch(e){return console.error("Error fetching cluster history:",e),[]}}async function i(e){let{clusterName:t,jobId:a,onNewLog:r,workspace:n}=e;try{await o.x.stream("/logs",{follow:!1,cluster_name:t,job_id:a,override_skypilot_config:{active_workspace:n||"default"}},r)}catch(e){console.error("Error in streamClusterJobLogs:",e),(0,s.C)("Error in streamClusterJobLogs: ".concat(e.message),"error")}}async function d(e){let{clusterName:t,workspace:a}=e;try{return(await o.x.fetch("/queue",{cluster_name:t,all_users:!0,override_skypilot_config:{active_workspace:a}})).map(e=>{var r;let s=e.end_at?e.end_at:Date.now()/1e3,o=0,n=0;return e.submitted_at&&(o=s-e.submitted_at),e.start_at&&(n=s-e.start_at),{id:e.job_id,status:e.status,job:e.job_name,user:e.username,user_hash:e.user_hash,gpus:e.accelerators||{},submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,resources:e.resources,cluster:t,total_duration:o,job_duration:n,infra:"",logs:"",workspace:a||"default",git_commit:(null===(r=e.metadata)||void 0===r?void 0:r.git_commit)||"-"}})}catch(e){return console.error("Error fetching cluster jobs:",e),[]}}function g(e){let{cluster:t,job:a=null}=e,[s,o]=(0,r.useState)(null),[l,u]=(0,r.useState)(null),[i,g]=(0,r.useState)(!0),[f,p]=(0,r.useState)(!0),h=(0,r.useCallback)(async()=>{if(t)try{g(!0);let e=await n.default.get(c,[{clusterNames:[t]}]);return o(e[0]),e[0]}catch(e){console.error("Error fetching cluster data:",e)}finally{g(!1)}return null},[t]),_=(0,r.useCallback)(async e=>{if(t)try{p(!0);let a=await n.default.get(d,[{clusterName:t,workspace:e||"default"}]);u(a)}catch(e){console.error("Error fetching cluster job data:",e)}finally{p(!1)}},[t]),m=(0,r.useCallback)(async()=>{n.default.invalidate(c,[{clusterNames:[t]}]);let e=await h();e&&(n.default.invalidate(d,[{clusterName:t,workspace:e.workspace||"default"}]),await _(e.workspace))},[h,_,t]),y=(0,r.useCallback)(async()=>{s&&(n.default.invalidate(d,[{clusterName:t,workspace:s.workspace||"default"}]),await _(s.workspace))},[_,s,t]);return(0,r.useEffect)(()=>{(async()=>{let e=await h();e&&_(e.workspace)})()},[t,a,h,_]),{clusterData:s,clusterJobData:l,loading:i,clusterDetailsLoading:i,clusterJobsLoading:f,refreshData:m,refreshClusterJobsOnly:y}}},32045:function(e,t,a){a.d(t,{l4:function(){return n}});var r=a(93225),s=a(47145);async function o(e,t){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];try{let o=[];try{if(a){console.log("Force refreshing clouds by running sky check...");try{let e=await s.x.post("/check",{}),t=e.headers.get("X-Skypilot-Request-ID")||e.headers.get("X-Request-ID"),a=await s.x.get("/api/get?request_id=".concat(t)),r=await a.json();console.log("Sky check completed:",r)}catch(e){console.error("Error running sky check:",e)}}let e=await s.x.get("/enabled_clouds"),t=e.headers.get("X-Skypilot-Request-ID")||e.headers.get("X-Request-ID"),r=await s.x.get("/api/get?request_id=".concat(t)),n=await r.json();o=n.return_value?JSON.parse(n.return_value):[],console.log("Enabled clouds:",o)}catch(e){console.error("Error fetching enabled clouds:",e),o=[]}let n={};r.$m.forEach(e=>{let t=o.includes(e.toLowerCase());n[e]={name:e,clusters:0,jobs:0,enabled:t}}),e.forEach(e=>{if(e.cloud){let t=e.cloud;n[t]&&(n[t].clusters+=1,n[t].enabled=!0)}}),t.forEach(e=>{if(e.cloud){let t=e.cloud;n[t]&&(n[t].jobs+=1,n[t].enabled=!0)}});let l=r.$m.length,c=Object.values(n).filter(e=>e.enabled).length;return{clouds:Object.values(n).filter(e=>e.enabled).sort((e,t)=>e.name.localeCompare(t.name)),totalClouds:l,enabledClouds:c}}catch(e){return console.error("Error fetching cloud infrastructure:",e),{clouds:[],totalClouds:r.$m.length,enabledClouds:0}}}async function n(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],{getClusters:t}=await Promise.resolve().then(a.bind(a,23266)),{getManagedJobs:r}=await Promise.resolve().then(a.bind(a,68969)),s=(await Promise.resolve().then(a.bind(a,6378))).default,[n,c]=await Promise.all([s.get(t),s.get(r,[{allUsers:!0}])]),u=n||[],i=(null==c?void 0:c.jobs)||[],[d,g]=await Promise.all([l(u,i),o(u,i,e)]);return{gpuData:d,cloudData:g}}async function l(e,t){return await g({clusters:e||[],jobs:t||[]})}async function c(){try{let e=await s.x.post("/realtime_kubernetes_gpu_availability",{context:null,name_filter:null,quantity_filter:null});if(!e.ok)return console.error("Error fetching Kubernetes context GPUs (in getKubernetesContextGPUs): ".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 (in getKubernetesContextGPUs)"),[];let a=await s.x.get("/api/get?request_id=".concat(t)),r=await a.text();if(500===a.status){try{let e=JSON.parse(r);if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);console.error("[infra.jsx] getKubernetesContextGPUs: Server error detail:",t.message)}catch(t){console.error("[infra.jsx] getKubernetesContextGPUs: Error parsing server error JSON:",t,"Original error text:",e.detail.error)}}catch(e){console.error("[infra.jsx] getKubernetesContextGPUs: Error parsing 500 error response JSON:",e,"Raw text was:",r)}return[]}let o=JSON.parse(r);return o.return_value?JSON.parse(o.return_value):[]}catch(e){return console.error("[infra.jsx] Outer error in getKubernetesContextGPUs:",e),[]}}async function u(){try{let e=await s.x.get("/all_contexts");if(!e.ok)return console.error("Error fetching all contexts: ".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 /all_contexts"),[];let a=await s.x.get("/api/get?request_id=".concat(t)),r=await a.json();return r.return_value?JSON.parse(r.return_value):[]}catch(e){return console.error("[infra.jsx] Error in getAllContexts:",e),[]}}async function i(e){try{let t=await s.x.post("/kubernetes_node_info",{context:e}),a=t.headers.get("X-Skypilot-Request-ID")||t.headers.get("x-request-id"),r=await s.x.get("/api/get?request_id=".concat(a));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 per node GPUs:",t.message)}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{}}let o=await r.json();return(o.return_value?JSON.parse(o.return_value):{}).node_info_dict||{}}catch(t){return console.error("[infra.jsx] Error in getKubernetesPerNodeGPUs for context",e,":",t),{}}}async function d(e){try{let t=e.clusters,a=e.jobs,r={};return t.forEach(e=>{let t=null;if("Kubernetes"===e.cloud)(t=e.region)&&(t="kubernetes/".concat(t));else if("SSH"===e.cloud&&(t=e.region)){let e=t.startsWith("ssh-")?t.substring(4):t;t="ssh/".concat(e)}t&&(r[t]||(r[t]={clusters:0,jobs:0}),r[t].clusters+=1)}),a.forEach(e=>{let t=null;if("Kubernetes"===e.cloud)(t=e.region)&&(t="kubernetes/".concat(t));else if("SSH"===e.cloud&&(t=e.region)){let e=t.startsWith("ssh-")?t.substring(4):t;t="ssh/".concat(e)}t&&(r[t]||(r[t]={clusters:0,jobs:0}),r[t].jobs+=1)}),r}catch(e){return console.error("=== Error in getContextClustersAndJobs ===",e),{}}}async function g(e){try{let o=await u();if(!o||0===o.length)return console.log("No contexts found from /all_contexts endpoint."),{allContextNames:[],allGPUs:[],perContextGPUs:[],perNodeGPUs:[],contextStats:{}};let n=await d(e),l=await c(),g=new Map;l&&l.forEach(e=>{g.set(e[0],e[1])});let f={},p={},h={};for(let e of o){p[e]||(p[e]=[]);let o=g.get(e);if(o&&o.length>0)for(let t of o){let a=t[0],r=t[1].join(", "),s=t[2],o=t[3];a in f?(f[a].gpu_total+=s,f[a].gpu_free+=o):f[a]={gpu_total:s,gpu_free:o,gpu_name:a},p[e].push({gpu_name:a,gpu_requestable_qty_per_node:r,gpu_total:s,gpu_free:o,context:e})}let n=await i(e);if(n&&Object.keys(n).length>0)for(let o in n){var t,a,r,s;let l=n[o],c=l.accelerator_type||"-",u=null!==(r=null===(t=l.total)||void 0===t?void 0:t.accelerator_count)&&void 0!==r?r:0,i=null!==(s=null===(a=l.free)||void 0===a?void 0:a.accelerators_available)&&void 0!==s?s:0;h["".concat(e,"/").concat(o)]={node_name:l.name,gpu_name:c,gpu_total:u,gpu_free:i,ip_address:l.ip_address||null,context:e},"-"===c||p[e].some(e=>e.gpu_name===c)||(c in f||(f[c]={gpu_total:0,gpu_free:0,gpu_name:c}),p[e].find(e=>e.gpu_name===c)||p[e].push({gpu_name:c,gpu_requestable_qty_per_node:"-",gpu_total:0,gpu_free:0,context:e}))}0===p[e].length&&n&&Object.keys(n).length}return{allContextNames:o.sort(),allGPUs:Object.values(f).sort((e,t)=>e.gpu_name.localeCompare(t.gpu_name)),perContextGPUs:Object.values(p).flat().sort((e,t)=>e.context.localeCompare(t.context)||e.gpu_name.localeCompare(t.gpu_name)),perNodeGPUs:Object.values(h).sort((e,t)=>e.context.localeCompare(t.context)||e.node_name.localeCompare(t.node_name)||e.gpu_name.localeCompare(t.gpu_name)),contextStats:n}}catch(e){return console.error("[infra.jsx] Outer error in getKubernetesGPUs:",e),{allContextNames:[],allGPUs:[],perContextGPUs:[],perNodeGPUs:[],contextStats:{}}}}},53081:function(e,t,a){a.d(t,{R:function(){return s}}),a(23266),a(68969);var r=a(47145);async function s(){try{let e=await r.x.get("/users");if(!e.ok)throw Error("HTTP error! status: ".concat(e.status));return(await e.json()).map(e=>({userId:e.id,username:e.name,role:e.role,created_at:e.created_at}))||[]}catch(e){return console.error("Failed to fetch users:",e),[]}}},19238:function(e,t,a){a.d(t,{C:function(){return s},w:function(){return o}});var r=a(47145);async function s(){try{return(await r.x.fetch("/volumes",{},"GET")).map(e=>{var t,a,r;let s=e.cloud||"";return e.region&&(s+="/".concat(e.region)),e.zone&&(s+="/".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:s,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===(a=e.config)||void 0===a?void 0:a.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 o(e){let t="";try{let a=await r.x.post("/volumes/delete",{names:[e]}),s=a.headers.get("X-SkyPilot-Request-ID")||a.headers.get("X-Request-ID"),o=await r.x.get("/api/get?request_id=".concat(s));if(500===o.status){try{let e=await o.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}}}},23001:function(e,t,a){a.d(t,{X:function(){return s}});var r=a(67294);function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:768,[t,a]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{let t=()=>{a(window.innerWidth<e)};return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]),t}},36856:function(e,t,a){var r=a(6378),s=a(23266),o=a(68969),n=a(17324),l=a(53081),c=a(32045),u=a(19238);let i={base:{getClusters:{fn:s.getClusters,args:[]},getClusterHistory:{fn:s.uR,args:[]},getManagedJobs:{fn:o.getManagedJobs,args:[{allUsers:!0}]},getWorkspaces:{fn:n.fX,args:[]},getUsers:{fn:l.R,args:[]},getInfraData:{fn:c.l4,args:[]},getVolumes:{fn:u.C,args:[]}},dynamic:{getEnabledClouds:{fn:n.yz,requiresWorkspaces:!0}},pages:{clusters:["getClusters","getClusterHistory","getWorkspaces","getUsers"],jobs:["getManagedJobs","getClusters","getWorkspaces","getUsers"],infra:["getInfraData","getClusters","getManagedJobs"],workspaces:["getWorkspaces","getClusters","getManagedJobs","getEnabledClouds"],users:["getUsers","getClusters","getManagedJobs"],volumes:["getVolumes"]}};class d{async preloadForPage(e,t){let{backgroundPreload:a=!0,force:r=!1}=t||{};if(!i.pages[e]){console.warn("Unknown page: ".concat(e));return}console.log("[CachePreloader] Preloading cache for page: ".concat(e));try{await this._loadPageData(e,r),a&&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],a=i.pages[e],s=[];for(let e of a)if(i.base[e]){let{fn:a,args:o}=i.base[e];t&&r.default.invalidate(a,o),s.push(r.default.get(a,o))}else"getEnabledClouds"===e&&s.push(this._loadEnabledCloudsForAllWorkspaces(t));await Promise.allSettled(s),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(n.fX);let t=await r.default.get(n.fX),a=Object.keys(t||{}).map(t=>(e&&r.default.invalidate(n.yz,[t]),r.default.get(n.yz,[t])));await Promise.allSettled(a)}catch(e){console.error("[CachePreloader] Error loading enabled clouds:",e)}}_backgroundPreloadOtherPages(e){if(this.isPreloading)return;this.isPreloading=!0;let t=Object.keys(i.pages).filter(t=>t!==e);console.log("[CachePreloader] Background preloading pages: ".concat(t.join(", "))),Promise.allSettled(t.map(async e=>{try{await this._loadPageData(e,!1),console.log("[CachePreloader] Background loaded: ".concat(e))}catch(t){console.error("[CachePreloader] Background load failed for ".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(i.base).map(t=>{let[a,{fn:s,args:o}]=t;return e&&r.default.invalidate(s,o),r.default.get(s,o).catch(e=>{console.error("[CachePreloader] Failed to preload ".concat(a,":"),e)})});await Promise.allSettled(t),console.log("[CachePreloader] Base functions preloaded")}getCacheStats(){return{...r.default.getStats(),isPreloading:this.isPreloading}}clearCache(){r.default.clear(),this.isPreloading=!1,this.preloadPromises.clear(),console.log("[CachePreloader] Cache cleared")}constructor(){this.isPreloading=!1,this.preloadPromises=new Map}}let g=new d;t.ZP=g}}]);
@@ -1,11 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9826,9666],{94966:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/clusters/[cluster]/[job]",function(){return s(50190)}])},27325:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});/**
2
- * @license lucide-react v0.407.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */let a=(0,s(60998).Z)("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]])},13626:function(e,t,s){"use strict";s.d(t,{Z:function(){return a}});/**
7
- * @license lucide-react v0.407.0 - ISC
8
- *
9
- * This source code is licensed under the ISC license.
10
- * See the LICENSE file in the root directory of this source tree.
11
- */let a=(0,s(60998).Z)("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]])},99307:function(e,t,s){"use strict";s.d(t,{Cl:function(){return l},OE:function(){return u}});var a=s(85893);s(67294);var r=s(55739),n=s(36989),c=s(53850);let l=e=>{switch(e){case"LAUNCHING":return"bg-blue-100 text-sky-blue";case"RUNNING":case"IN_USE":case"READY":return"bg-green-50 text-green-700";case"STOPPED":return"bg-yellow-100 text-yellow-800";case"TERMINATED":case"PENDING":case"UNKNOWN":default:return"bg-gray-100 text-gray-800";case"SUCCEEDED":case"PROVISIONING":case"CONTROLLER_INIT":case"REPLICA_INIT":return"bg-blue-50 text-blue-700";case"FAILED":case"FAILED_PRECHECKS":case"FAILED_NO_RESOURCE":case"FAILED_CONTROLLER":case"FAILED_INITIAL_DELAY":case"FAILED_PROBING":case"FAILED_PROVISION":case"FAILED_CLEANUP":case"CONTROLLER_FAILED":return"bg-red-50 text-red-700";case"CANCELLED":case"CANCELLING":case"NOT_READY":return"bg-yellow-50 text-yellow-700";case"RECOVERING":case"SHUTTING_DOWN":return"bg-orange-50 text-orange-700";case"SUBMITTED":return"bg-indigo-50 text-indigo-700";case"STARTING":return"bg-cyan-50 text-cyan-700";case"FAILED_SETUP":return"bg-pink-50 text-pink-700";case"PREEMPTED":case"NO_REPLICA":return"bg-purple-50 text-purple-700"}},i=e=>{switch(e){case"LAUNCHING":case"STARTING":case"PROVISIONING":case"SHUTTING_DOWN":return(0,a.jsx)(r.Z,{size:12,className:"w-3 h-3 mr-1"});case"RUNNING":case"IN_USE":default:return(0,a.jsx)(c.W2,{className:"w-3 h-3 mr-1"});case"STOPPED":case"PREEMPTED":return(0,a.jsx)(c.fp,{className:"w-3 h-3 mr-1"});case"TERMINATED":case"FAILED":case"CANCELLED":case"FAILED_INITIAL_DELAY":case"FAILED_PROBING":case"FAILED_PROVISION":case"FAILED_CLEANUP":case"CONTROLLER_FAILED":case"UNKNOWN":return(0,a.jsx)(c.Ps,{className:"w-3 h-3 mr-1"});case"SUCCEEDED":return(0,a.jsx)(c.Ye,{className:"w-3 h-3 mr-1"});case"PENDING":case"RECOVERING":case"SUBMITTED":case"CANCELLING":case"FAILED_SETUP":case"FAILED_PRECHECKS":case"FAILED_NO_RESOURCE":case"FAILED_CONTROLLER":case"READY":case"NOT_READY":case"CONTROLLER_INIT":case"REPLICA_INIT":case"NO_REPLICA":return(0,a.jsx)(c.J$,{className:"w-3 h-3 mr-1"})}},o=e=>{let t=l(e),s=i(e);return(0,a.jsxs)("span",{className:"".concat("inline-flex items-center px-2 py-1 rounded-full text-sm"," ").concat(t),children:[s,e]})},u=e=>{let{status:t}=e;return(0,a.jsx)(n.WH,{content:t,className:"text-muted-foreground text-sm",children:(0,a.jsx)("span",{children:o(t)})})}},20546:function(e,t,s){"use strict";s.d(t,{H:function(){return u}});var a=s(85893);s(67294);var r=s(41664),n=s.n(r),c=s(45697),l=s.n(c);function i(e){return!!e&&"string"==typeof e&&e.toLowerCase().startsWith("sa-")}let o=()=>(0,a.jsx)("span",{className:"px-2 py-0.5 text-xs bg-blue-100 text-blue-700 rounded font-medium ml-1",children:"SA"}),u=e=>{let{username:t,userHash:s,className:r="flex items-center gap-1",linkClassName:c="text-gray-700 hover:text-blue-600 hover:underline",showBadge:l=!0}=e,u=i(s),d=i(s)?"/users?tab=service-accounts":"/users";return(0,a.jsxs)("div",{className:r,children:[(0,a.jsx)(n(),{href:d,className:c,children:t}),l&&u&&(0,a.jsx)(o,{})]})};u.propTypes={username:l().string.isRequired,userHash:l().string,className:l().string,linkClassName:l().string,showBadge:l().bool}},37673:function(e,t,s){"use strict";s.d(t,{Ol:function(){return o},Zb:function(){return i},aY:function(){return h},ll:function(){return u}});var a=s(85893),r=s(67294),n=s(45697),c=s.n(n),l=s(32350);let i=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",s),...n,children:r})});i.displayName="Card",i.propTypes={className:c().string,children:c().node};let o=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",s),...n,children:r})});o.displayName="CardHeader",o.propTypes={className:c().string,children:c().node};let u=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("h3",{ref:t,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",s),...n,children:r})});u.displayName="CardTitle",u.propTypes={className:c().string,children:c().node};let d=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("p",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",s),...n,children:r})});d.displayName="CardDescription",d.propTypes={className:c().string,children:c().node};let h=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",s),...n,children:r})});h.displayName="CardContent",h.propTypes={className:c().string,children:c().node};let m=r.forwardRef((e,t)=>{let{className:s,children:r,...n}=e;return(0,a.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",s),...n,children:r})});m.displayName="CardFooter",m.propTypes={className:c().string,children:c().node}},47145:function(e,t,s){"use strict";s.d(t,{x:function(){return r}});var a=s(93225);let r={fetch:async function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"POST",r=window.location.origin,n="".concat(r).concat(a.f4).concat(e),c=await fetch(n,{method:s,headers:"POST"===s?{"Content-Type":"application/json"}:{},body:"POST"===s?JSON.stringify(t):void 0}),l=c.headers.get("X-Skypilot-Request-ID")||c.headers.get("X-Request-ID"),i=await fetch("".concat(r).concat(a.f4,"/api/get?request_id=").concat(l)),o=await i.json();return o.return_value?JSON.parse(o.return_value):[]},post:async(e,t)=>{let s=window.location.origin,r="".concat(s).concat(a.f4).concat(e);return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})},stream:async(e,t,s)=>{let a=(await r.post(e,t)).body.getReader();try{for(;;){let{done:e,value:t}=await a.read();if(e)break;let r=new TextDecoder().decode(t);s(r)}}catch(e){throw console.error("Error in stream:",e),e}},get:async e=>{let t=window.location.origin,s="".concat(t).concat(a.f4).concat(e);return await fetch(s)}}},23266:function(e,t,s){"use strict";s.d(t,{QL:function(){return h},Sl:function(){return u},getClusters:function(){return i},uR:function(){return o}});var a=s(67294),r=s(15821),n=s(47145),c=s(6378);let l={UP:"RUNNING",STOPPED:"STOPPED",INIT:"LAUNCHING",null:"TERMINATED"};async function i(){let{clusterNames:e=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{return(await n.x.fetch("/status",{cluster_names:e,all_users:!0})).map(e=>{let t="",s=t=e.zone?e.zone:e.region;return t&&t.length>25&&(t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:15;if(!e||e.length<=t)return e;if(t<=3)return"...";let s=Math.floor((t-3)/2),a=s+(t-3)%2;return 0===s?e.substring(0,a)+"...":e.substring(0,a)+"..."+e.substring(e.length-s)}(t,25)),{status:l[e.status],cluster:e.name,user:e.user_name,user_hash:e.user_hash,cluster_hash:e.cluster_hash,cloud:e.cloud,region:e.region,infra:t?e.cloud+" ("+t+")":e.cloud,full_infra:s?"".concat(e.cloud," (").concat(s,")"):e.cloud,cpus:e.cpus,mem:e.memory,gpus:e.accelerators,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:new Date(1e3*e.launched_at),num_nodes:e.nodes,workspace:e.workspace,autostop:e.autostop,to_down:e.to_down,jobs:[],command:e.last_creation_command||e.last_use,task_yaml:e.last_creation_yaml||"{}",events:[{time:new Date(1e3*e.launched_at),event:"Cluster created."}]}})}catch(e){return console.error("Error fetching clusters:",e),[]}}async function o(){try{let e=await n.x.fetch("/cost_report",{days:30});console.log("Raw cluster history data:",e);let t=e.map(e=>{let t="Unknown";e.cloud?t=e.cloud:e.resources&&e.resources.cloud&&(t=e.resources.cloud);let s=e.user_name||"-";return{status:e.status?l[e.status]:"TERMINATED",cluster:e.name,user:s,user_hash:e.user_hash,cluster_hash:e.cluster_hash,cloud:t,region:"",infra:t,full_infra:t,resources_str:e.resources_str,resources_str_full:e.resources_str_full,time:e.launched_at?new Date(1e3*e.launched_at):null,num_nodes:e.num_nodes||1,duration:e.duration,total_cost:e.total_cost,workspace:e.workspace||"default",autostop:-1,to_down:!1,cluster_hash:e.cluster_hash,usage_intervals:e.usage_intervals,command:e.last_creation_command||"",task_yaml:e.last_creation_yaml||"{}",events:[{time:e.launched_at?new Date(1e3*e.launched_at):new Date,event:"Cluster created."}]}});return console.log("Processed cluster history data:",t),t}catch(e){return console.error("Error fetching cluster history:",e),[]}}async function u(e){let{clusterName:t,jobId:s,onNewLog:a,workspace:c}=e;try{await n.x.stream("/logs",{follow:!1,cluster_name:t,job_id:s,override_skypilot_config:{active_workspace:c||"default"}},a)}catch(e){console.error("Error in streamClusterJobLogs:",e),(0,r.C)("Error in streamClusterJobLogs: ".concat(e.message),"error")}}async function d(e){let{clusterName:t,workspace:s}=e;try{return(await n.x.fetch("/queue",{cluster_name:t,all_users:!0,override_skypilot_config:{active_workspace:s}})).map(e=>{var a;let r=e.end_at?e.end_at:Date.now()/1e3,n=0,c=0;return e.submitted_at&&(n=r-e.submitted_at),e.start_at&&(c=r-e.start_at),{id:e.job_id,status:e.status,job:e.job_name,user:e.username,user_hash:e.user_hash,gpus:e.accelerators||{},submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,resources:e.resources,cluster:t,total_duration:n,job_duration:c,infra:"",logs:"",workspace:s||"default",git_commit:(null===(a=e.metadata)||void 0===a?void 0:a.git_commit)||"-"}})}catch(e){return console.error("Error fetching cluster jobs:",e),[]}}function h(e){let{cluster:t,job:s=null}=e,[r,n]=(0,a.useState)(null),[l,o]=(0,a.useState)(null),[u,h]=(0,a.useState)(!0),[m,f]=(0,a.useState)(!0),x=(0,a.useCallback)(async()=>{if(t)try{h(!0);let e=await c.default.get(i,[{clusterNames:[t]}]);return n(e[0]),e[0]}catch(e){console.error("Error fetching cluster data:",e)}finally{h(!1)}return null},[t]),g=(0,a.useCallback)(async e=>{if(t)try{f(!0);let s=await c.default.get(d,[{clusterName:t,workspace:e||"default"}]);o(s)}catch(e){console.error("Error fetching cluster job data:",e)}finally{f(!1)}},[t]),N=(0,a.useCallback)(async()=>{c.default.invalidate(i,[{clusterNames:[t]}]);let e=await x();e&&(c.default.invalidate(d,[{clusterName:t,workspace:e.workspace||"default"}]),await g(e.workspace))},[x,g,t]),b=(0,a.useCallback)(async()=>{r&&(c.default.invalidate(d,[{clusterName:t,workspace:r.workspace||"default"}]),await g(r.workspace))},[g,r,t]);return(0,a.useEffect)(()=>{(async()=>{let e=await x();e&&g(e.workspace)})()},[t,s,x,g]),{clusterData:r,clusterJobData:l,loading:u,clusterDetailsLoading:u,clusterJobsLoading:m,refreshData:N,refreshClusterJobsOnly:b}}},15821:function(e,t,s){"use strict";function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3,a=document.getElementById("toast-container");a||((a=document.createElement("div")).id="toast-container",a.className="fixed top-0 right-0 p-4 z-[9999] flex flex-col items-end space-y-2",document.body.appendChild(a));let r=document.createElement("div");switch(r.className="rounded-md border-l-4 p-4 shadow-md flex items-center justify-between max-w-md w-full mb-2 pointer-events-auto",t){case"success":r.className+=" bg-green-100 border-green-500 text-green-800";break;case"error":r.className+=" bg-red-100 border-red-500 text-red-800";break;case"warning":r.className+=" bg-yellow-100 border-yellow-500 text-yellow-800";break;default:r.className+=" bg-blue-100 border-blue-500 text-blue-800"}return r.innerHTML='\n <div class="flex-1 mr-2">\n <p class="text-sm font-medium">'.concat(e,'</p>\n </div>\n <button class="text-gray-500 hover:text-gray-700 focus:outline-none" aria-label="Close toast">\n <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">\n <line x1="18" y1="6" x2="6" y2="18"></line>\n <line x1="6" y1="6" x2="18" y2="18"></line>\n </svg>\n </button>\n '),a.appendChild(r),r.querySelector("button").addEventListener("click",()=>{a.removeChild(r)}),setTimeout(()=>{a.contains(r)&&a.removeChild(r)},s),r}s.d(t,{C:function(){return a}})},23001:function(e,t,s){"use strict";s.d(t,{X:function(){return r}});var a=s(67294);function r(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:768,[t,s]=(0,a.useState)(!1);return(0,a.useEffect)(()=>{let t=()=>{s(window.innerWidth<e)};return t(),window.addEventListener("resize",t),()=>{window.removeEventListener("resize",t)}},[e]),t}},6378:function(e,t,s){"use strict";s.r(t),s.d(t,{DashboardCache:function(){return r},dashboardCache:function(){return n}});let a=s(51214).ej.DEFAULT_TTL;class r{async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=s.ttl||a,n=!1!==s.refreshOnAccess,c=this._generateKey(e,t),l=e.name||"anonymous",i=this.cache.get(c),o=Date.now();if(i&&o-i.lastUpdated<r){let s=Math.round((o-i.lastUpdated)/1e3);return this._debug("Cache HIT for ".concat(l," (age: ").concat(s,"s, TTL: ").concat(Math.round(r/1e3),"s)")),n&&(this.cache.set(c,{data:i.data,lastUpdated:o}),this._debug("Cache TTL refreshed for ".concat(l))),this.backgroundJobs.has(c)||this._refreshInBackground(e,t,c),i.data}try{let s=await e(...t);return this.cache.set(c,{data:s,lastUpdated:o}),s}catch(e){if(i)return console.warn("Failed to fetch fresh data for ".concat(c,", returning stale data:"),e),i.data;throw e}}invalidate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=this._generateKey(e,t);this.cache.delete(s),this.backgroundJobs.delete(s)}invalidateFunction(e){let t=e.name||"anonymous",s=[];for(let e of this.cache.keys())e.startsWith("".concat(t,"_"))&&s.push(e);s.forEach(e=>{this.cache.delete(e),this.backgroundJobs.delete(e)})}clear(){this.cache.clear(),this.backgroundJobs.clear()}getStats(){return{cacheSize:this.cache.size,backgroundJobs:this.backgroundJobs.size,keys:Array.from(this.cache.keys())}}getDetailedStats(){let e=Date.now(),t=[];for(let[s,a]of this.cache.entries()){let r=e-a.lastUpdated;t.push({key:s,age:Math.round(r/1e3),lastUpdated:new Date(a.lastUpdated).toISOString(),hasBackgroundJob:this.backgroundJobs.has(s)})}return{cacheSize:this.cache.size,backgroundJobs:this.backgroundJobs.size,entries:t.sort((e,t)=>e.age-t.age)}}setDebugMode(e){this.debugMode=e}_debug(e){for(var t=arguments.length,s=Array(t>1?t-1:0),a=1;a<t;a++)s[a-1]=arguments[a];this.debugMode&&console.log("[DashboardCache] ".concat(e),...s)}_refreshInBackground(e,t,s){this.backgroundJobs.set(s,!0),e(...t).then(e=>{this.cache.set(s,{data:e,lastUpdated:Date.now()})}).catch(e=>{console.warn("Background refresh failed for ".concat(s,":"),e)}).finally(()=>{this.backgroundJobs.delete(s)})}_generateKey(e,t){let s=function(e){let t=5381;for(let s=0;s<e.length;s++)t=(t<<5)+t+e.charCodeAt(s);return t>>>0}(e.toString()),a=t.length>0?JSON.stringify(t):"";return"".concat(s,"_").concat(a)}constructor(){this.cache=new Map,this.backgroundJobs=new Map,this.debugMode=!1}}let n=new r;t.default=n},32350:function(e,t,s){"use strict";s.d(t,{cn:function(){return n}});var a=s(90512),r=s(98388);function n(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,r.m6)((0,a.W)(t))}},50190:function(e,t,s){"use strict";s.r(t),s.d(t,{JobDetailPage:function(){return y}});var a=s(85893),r=s(67294);s(6135);var n=s(37673),c=s(41664),l=s.n(c),i=s(11163),o=s(23266),u=s(36989),d=s(13626),h=s(55739),m=s(99307),f=s(23001),x=s(9008),g=s.n(x),N=s(20546),b=s(70282),p=s(27325);function _(e){let{cluster:t,job:s,jobData:r,onRefresh:n,isRefreshing:c,loading:i}=e,o=(0,f.X)();return(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4 h-5",children:[(0,a.jsxs)("div",{className:"text-base flex items-center",children:[(0,a.jsx)(l(),{href:"/clusters",className:"text-sky-blue hover:underline",children:"Sky Clusters"}),(0,a.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,a.jsx)(l(),{href:"/clusters/".concat(t),className:"text-sky-blue hover:underline",children:t}),(0,a.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,a.jsxs)(l(),{href:"/clusters/".concat(t,"/").concat(s),className:"text-sky-blue hover:underline",children:[s,r.job&&"-"!=r.job?" (".concat(r.job,")"):""]})]}),(0,a.jsxs)("div",{className:"flex items-center",children:[(i||c)&&(0,a.jsxs)("div",{className:"flex items-center mr-2",children:[(0,a.jsx)(h.Z,{size:15,className:"mt-0"}),(0,a.jsx)("span",{className:"text-sm ml-2 text-gray-500",children:"Loading..."})]}),(0,a.jsx)(u.WH,{content:"Refresh",className:"text-muted-foreground",children:(0,a.jsxs)("button",{onClick:n,disabled:i||c,className:"text-sm text-sky-blue hover:text-sky-blue-bright font-medium mx-2 flex items-center",children:[(0,a.jsx)(d.Z,{className:"w-4 h-4 mr-1.5"}),!o&&(0,a.jsx)("span",{children:"Refresh"})]})})]})]})}function y(){let e=(0,i.useRouter)(),{cluster:t,job:s}=e.query,{clusterData:c,clusterJobData:f,loading:x,refreshData:y}=(0,o.QL)({cluster:t}),[j,w]=(0,r.useState)(!1),[v,E]=(0,r.useState)(!0),[I,k]=(0,r.useState)(!1),[C,D]=(0,r.useState)(""),[L,T]=(0,r.useState)(!1),[R,S]=(0,r.useState)(!1),A=(0,r.useMemo)(()=>["INIT","PENDING","SETTING_UP"],[]),O=(0,r.useMemo)(()=>{if(!f||!s)return!0;let e=f.find(e=>e.id==s);return e&&A.includes(e.status)},[f,s,A]);r.useEffect(()=>{!x&&v&&E(!1)},[x,v]),(0,r.useEffect)(()=>{let e=!0;return t&&s&&!O?(k(!0),(0,o.Sl)({clusterName:t,jobId:s,onNewLog:t=>{e&&D(e=>{let s=t.split("\n").filter(e=>e.trim()),a=e;for(let e of s){let t=(0,u.Zn)(e);if(/\d+%\s*\|/.test(t)){let e=t.match(/^\(([^)]+)\)/);if(e&&a){let s=a.split("\n"),r=!1;for(let n=s.length-1;n>=0;n--){let c=s[n];if(/\d+%\s*\|/.test(c)){let l=c.match(/^\(([^)]+)\)/);if(l&&l[1]===e[1]){s[n]=t,a=s.join("\n"),r=!0;break}}}r||(a+=(a?"\n":"")+t)}else a+=(a?"\n":"")+t}else a+=(a?"\n":"")+t}return a})},workspace:null==c?void 0:c.workspace}).then(()=>{e&&k(!1)}).catch(t=>{e&&(console.error("Error streaming logs:",t),k(!1))})):k(!1),()=>{e=!1}},[t,s,L,O,c]);let P=async()=>{w(!0),T(e=>!e),D("");try{y&&await y()}catch(e){console.error("Error refreshing data:",e)}finally{w(!1)}};if(!e.isReady)return(0,a.jsx)("div",{children:"Loading..."});let U={id:s};if(c&&f){let e=f.find(e=>e.id==s);e&&(U={...e,infra:c.infra,cluster:c.cluster,user:c.user,user_hash:c.user_hash})}let F=t&&s?"Job: ".concat(s," @ ").concat(t," | SkyPilot Dashboard"):"Job Details | SkyPilot Dashboard";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(g(),{children:(0,a.jsx)("title",{children:F})}),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(_,{cluster:t,job:s,jobData:U,onRefresh:P,isRefreshing:j,loading:x}),x&&v?(0,a.jsxs)("div",{className:"flex items-center justify-center h-64",children:[(0,a.jsx)(h.Z,{size:24,className:"mr-2"}),(0,a.jsx)("span",{children:"Loading..."})]}):(0,a.jsxs)("div",{className:"space-y-8",children:[(0,a.jsx)("div",{id:"details",children:(0,a.jsxs)(n.Zb,{children:[(0,a.jsx)("div",{className:"flex items-center justify-between px-4 pt-4",children:(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Details"})}),(0,a.jsx)("div",{className:"p-4",children:(0,a.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Job ID"}),(0,a.jsx)("div",{className:"text-base mt-1",children:U.id})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Job Name"}),(0,a.jsx)("div",{className:"text-base mt-1",children:U.job})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Status"}),(0,a.jsx)("div",{className:"text-base mt-1",children:(0,a.jsx)(m.OE,{status:U.status})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"User"}),(0,a.jsx)("div",{className:"text-base mt-1",children:(0,a.jsx)(N.H,{username:U.user,userHash:U.user_hash})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Submitted"}),(0,a.jsx)("div",{className:"text-base mt-1",children:U.submitted_at?(0,u.xn)(U.submitted_at):"N/A"})]}),U.resources&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Requested Resources"}),(0,a.jsx)("div",{className:"text-base mt-1",children:U.resources||"N/A"})]}),U.cluster&&(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Cluster"}),(0,a.jsx)("div",{className:"text-base mt-1",children:(0,a.jsx)(l(),{href:"/clusters/".concat(U.cluster),className:"text-sky-blue hover:underline",children:U.cluster})})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Git Commit"}),(0,a.jsx)("div",{className:"text-base mt-1 flex items-center",children:U.git_commit&&"-"!==U.git_commit?(0,a.jsxs)("span",{className:"flex items-center mr-2",children:[U.git_commit,(0,a.jsx)(u.WH,{content:R?"Copied!":"Copy commit",className:"text-muted-foreground",children:(0,a.jsx)("button",{onClick:async()=>{await navigator.clipboard.writeText(U.git_commit),S(!0),setTimeout(()=>S(!1),2e3)},className:"flex items-center text-gray-500 hover:text-gray-700 transition-colors duration-200 p-1 ml-2",children:R?(0,a.jsx)(b.Z,{className:"w-4 h-4 text-green-600"}):(0,a.jsx)(p.Z,{className:"w-4 h-4"})})})]}):(0,a.jsx)("span",{className:"text-gray-400",children:"-"})})]})]})})]})}),(0,a.jsx)("div",{id:"logs",className:"mt-6",children:(0,a.jsxs)(n.Zb,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4",children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"Logs"}),(0,a.jsx)("span",{className:"ml-2 text-xs text-gray-500",children:"(Logs are not streaming; click refresh to fetch the latest logs.)"})]}),(0,a.jsx)(u.WH,{content:"Refresh logs",className:"text-muted-foreground",children:(0,a.jsx)("button",{onClick:()=>{T(e=>!e),D("")},disabled:I,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:(0,a.jsx)(d.Z,{className:"w-4 h-4 ".concat(I?"animate-spin":"")})})})]}),(0,a.jsx)("div",{className:"p-4",children:O?(0,a.jsx)("div",{className:"bg-[#f7f7f7] flex items-center justify-center py-4 text-gray-500",children:(0,a.jsx)("span",{children:"Waiting for the job to start; refresh in a few moments."})}):I?(0,a.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,a.jsx)(h.Z,{size:20,className:"mr-2"}),(0,a.jsx)("span",{children:"Loading..."})]}):(0,a.jsx)("div",{className:"max-h-96 overflow-y-auto",children:(0,a.jsx)(u.$B,{logs:C})})})]})})]})]})]})}t.default=y},9008:function(e,t,s){e.exports=s(37219)}},function(e){e.O(0,[616,6130,5739,7411,6989,3850,6135,2888,9774,179],function(){return e(e.s=94966)}),_N_E=e.O()}]);