skypilot-nightly 1.0.0.dev20250529__py3-none-any.whl → 1.0.0.dev20250531__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. sky/__init__.py +2 -2
  2. sky/adaptors/nebius.py +99 -16
  3. sky/authentication.py +54 -7
  4. sky/backends/backend_utils.py +37 -24
  5. sky/backends/cloud_vm_ray_backend.py +33 -17
  6. sky/check.py +1 -1
  7. sky/cli.py +43 -15
  8. sky/client/cli.py +43 -15
  9. sky/clouds/cloud.py +20 -0
  10. sky/clouds/cudo.py +2 -0
  11. sky/clouds/do.py +3 -0
  12. sky/clouds/fluidstack.py +3 -0
  13. sky/clouds/gcp.py +10 -3
  14. sky/clouds/kubernetes.py +70 -4
  15. sky/clouds/lambda_cloud.py +3 -0
  16. sky/clouds/nebius.py +57 -14
  17. sky/clouds/paperspace.py +3 -0
  18. sky/clouds/runpod.py +2 -0
  19. sky/clouds/scp.py +3 -0
  20. sky/clouds/vast.py +3 -0
  21. sky/clouds/vsphere.py +3 -0
  22. sky/dashboard/out/404.html +1 -1
  23. sky/dashboard/out/_next/static/bdeJWb62qu7L7FOq1dbXX/_buildManifest.js +1 -0
  24. sky/dashboard/out/_next/static/chunks/236-7458fda7b295f305.js +6 -0
  25. sky/dashboard/out/_next/static/chunks/37-b638675d511d58b4.js +6 -0
  26. sky/dashboard/out/_next/static/chunks/{470-4d003c441839094d.js → 470-9e7a479cc8303baa.js} +1 -1
  27. sky/dashboard/out/_next/static/chunks/{173-7db8607cefc20f70.js → 614-3d29f98e0634b179.js} +2 -2
  28. sky/dashboard/out/_next/static/chunks/682-5c12535476a21ce3.js +6 -0
  29. sky/dashboard/out/_next/static/chunks/798-c0525dc3f21e488d.js +1 -0
  30. sky/dashboard/out/_next/static/chunks/843-786c36624d5ff61f.js +11 -0
  31. sky/dashboard/out/_next/static/chunks/856-ab9627e7e8ac35e8.js +1 -0
  32. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8f270e2c9c59fa1a.js +6 -0
  33. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-25edb867a41b6b20.js +6 -0
  34. sky/dashboard/out/_next/static/chunks/pages/{clusters-943992b84fd6f4ee.js → clusters-f37ff20f0af29aae.js} +1 -1
  35. sky/dashboard/out/_next/static/chunks/pages/{config-7c48919fe030bc43.js → config-3c6a2dabf56e8cd6.js} +1 -1
  36. sky/dashboard/out/_next/static/chunks/pages/infra/{[context]-909f1ceb0fcf1b99.js → [context]-342bc15bb78ab2e5.js} +1 -1
  37. sky/dashboard/out/_next/static/chunks/pages/{infra-d4c6875c88771e17.js → infra-7b4b8e7fa9fa0827.js} +1 -1
  38. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-c0c1dff3cd463d9e.js +11 -0
  39. sky/dashboard/out/_next/static/chunks/pages/{jobs-a4efc09e61988f8d.js → jobs-78a6c5ba3e24c0cf.js} +1 -1
  40. sky/dashboard/out/_next/static/chunks/pages/{users-b2634885d67c49a6.js → users-89f9212b81d8897e.js} +1 -1
  41. sky/dashboard/out/_next/static/chunks/pages/workspace/{new-579b3203c7c19d84.js → new-198b6e00d7d724c5.js} +1 -1
  42. sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-9388e38fac73ee8f.js → [name]-2ce792183b03c341.js} +1 -1
  43. sky/dashboard/out/_next/static/chunks/pages/workspaces-17d41826537196e7.js +1 -0
  44. sky/dashboard/out/_next/static/chunks/webpack-f27c9a32aa3d9c6d.js +1 -0
  45. sky/dashboard/out/_next/static/css/2b3ee34e586949a3.css +3 -0
  46. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  47. sky/dashboard/out/clusters/[cluster].html +1 -1
  48. sky/dashboard/out/clusters.html +1 -1
  49. sky/dashboard/out/config.html +1 -1
  50. sky/dashboard/out/index.html +1 -1
  51. sky/dashboard/out/infra/[context].html +1 -1
  52. sky/dashboard/out/infra.html +1 -1
  53. sky/dashboard/out/jobs/[job].html +1 -1
  54. sky/dashboard/out/jobs.html +1 -1
  55. sky/dashboard/out/users.html +1 -1
  56. sky/dashboard/out/workspace/new.html +1 -1
  57. sky/dashboard/out/workspaces/[name].html +1 -1
  58. sky/dashboard/out/workspaces.html +1 -1
  59. sky/exceptions.py +10 -0
  60. sky/global_user_state.py +149 -1
  61. sky/jobs/client/sdk.py +3 -0
  62. sky/jobs/constants.py +1 -1
  63. sky/jobs/server/core.py +8 -3
  64. sky/jobs/state.py +24 -5
  65. sky/jobs/utils.py +34 -11
  66. sky/provision/gcp/config.py +3 -1
  67. sky/provision/gcp/constants.py +10 -0
  68. sky/provision/kubernetes/utils.py +2 -1
  69. sky/provision/provisioner.py +15 -10
  70. sky/resources.py +44 -3
  71. sky/serve/controller.py +10 -7
  72. sky/serve/replica_managers.py +22 -18
  73. sky/serve/service.py +5 -4
  74. sky/server/common.py +5 -2
  75. sky/server/constants.py +1 -1
  76. sky/server/requests/payloads.py +1 -0
  77. sky/server/stream_utils.py +21 -0
  78. sky/templates/kubernetes-ray.yml.j2 +26 -1
  79. sky/utils/common_utils.py +66 -0
  80. sky/utils/resources_utils.py +26 -0
  81. sky/utils/rich_utils.py +5 -0
  82. sky/utils/schemas.py +23 -1
  83. {skypilot_nightly-1.0.0.dev20250529.dist-info → skypilot_nightly-1.0.0.dev20250531.dist-info}/METADATA +1 -1
  84. {skypilot_nightly-1.0.0.dev20250529.dist-info → skypilot_nightly-1.0.0.dev20250531.dist-info}/RECORD +90 -91
  85. sky/dashboard/out/_next/static/HvNkg7hqKM1p0ptAcdDcF/_buildManifest.js +0 -1
  86. sky/dashboard/out/_next/static/chunks/236-90e5498a5b00ec29.js +0 -6
  87. sky/dashboard/out/_next/static/chunks/303-2c7b0f7af571710b.js +0 -6
  88. sky/dashboard/out/_next/static/chunks/320-afea3ddcc5bd1c6c.js +0 -6
  89. sky/dashboard/out/_next/static/chunks/578-9146658cead92981.js +0 -6
  90. sky/dashboard/out/_next/static/chunks/843-256ec920f6d5f41f.js +0 -11
  91. sky/dashboard/out/_next/static/chunks/856-59a1760784c9e770.js +0 -1
  92. sky/dashboard/out/_next/static/chunks/9f96d65d-5a3e4af68c26849e.js +0 -1
  93. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-159bffb2fa34ed54.js +0 -6
  94. sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-9506c00257d10dbd.js +0 -1
  95. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-6b80e9e0c6aa16a1.js +0 -6
  96. sky/dashboard/out/_next/static/chunks/pages/workspaces-610c49ae3619ee85.js +0 -1
  97. sky/dashboard/out/_next/static/chunks/webpack-deda68c926e8d0bc.js +0 -1
  98. sky/dashboard/out/_next/static/css/ffd1cd601648c303.css +0 -3
  99. /sky/dashboard/out/_next/static/{HvNkg7hqKM1p0ptAcdDcF → bdeJWb62qu7L7FOq1dbXX}/_ssgManifest.js +0 -0
  100. /sky/dashboard/out/_next/static/chunks/pages/{_app-a631df412d8172de.js → _app-ad1edd7fe17ea796.js} +0 -0
  101. {skypilot_nightly-1.0.0.dev20250529.dist-info → skypilot_nightly-1.0.0.dev20250531.dist-info}/WHEEL +0 -0
  102. {skypilot_nightly-1.0.0.dev20250529.dist-info → skypilot_nightly-1.0.0.dev20250531.dist-info}/entry_points.txt +0 -0
  103. {skypilot_nightly-1.0.0.dev20250529.dist-info → skypilot_nightly-1.0.0.dev20250531.dist-info}/licenses/LICENSE +0 -0
  104. {skypilot_nightly-1.0.0.dev20250529.dist-info → skypilot_nightly-1.0.0.dev20250531.dist-info}/top_level.txt +0 -0
sky/utils/rich_utils.py CHANGED
@@ -57,6 +57,7 @@ class Control(enum.Enum):
57
57
  STOP = 'rich_stop'
58
58
  EXIT = 'rich_exit'
59
59
  UPDATE = 'rich_update'
60
+ HEARTBEAT = 'heartbeat'
60
61
 
61
62
  def encode(self, msg: str) -> str:
62
63
  return f'<{self.value}>{msg}</{self.value}>'
@@ -385,6 +386,10 @@ def decode_rich_status(
385
386
  decoding_status.__exit__(None, None, None)
386
387
  elif control == Control.START:
387
388
  decoding_status.start()
389
+ elif control == Control.HEARTBEAT:
390
+ # Heartbeat is not displayed to the user, so we do not
391
+ # need to update the status.
392
+ pass
388
393
  finally:
389
394
  if decoding_status is not None:
390
395
  decoding_status.__exit__(None, None, None)
sky/utils/schemas.py CHANGED
@@ -223,6 +223,9 @@ def _get_single_resources_schema():
223
223
  'disk_tier': {
224
224
  'type': 'string',
225
225
  },
226
+ 'network_tier': {
227
+ 'type': 'string',
228
+ },
226
229
  'ports': {
227
230
  'anyOf': [{
228
231
  'type': 'string',
@@ -1108,6 +1111,9 @@ def get_config_schema():
1108
1111
  'required': [],
1109
1112
  'properties': {
1110
1113
  **_NETWORK_CONFIG_SCHEMA,
1114
+ 'tenant_id': {
1115
+ 'type': 'string',
1116
+ },
1111
1117
  },
1112
1118
  'additionalProperties': {
1113
1119
  'type': 'object',
@@ -1212,7 +1218,7 @@ def get_config_schema():
1212
1218
  # all clouds except gcp, kubernetes, ssh
1213
1219
  not_supported_clouds = [
1214
1220
  cloud for cloud in allowed_workspace_cloud_names
1215
- if cloud.lower() not in ['gcp', 'kubernetes', 'ssh']
1221
+ if cloud.lower() not in ['gcp', 'kubernetes', 'ssh', 'nebius']
1216
1222
  ]
1217
1223
  not_supported_cloud_regex = '|'.join(not_supported_clouds)
1218
1224
  workspaces_schema = {
@@ -1281,6 +1287,22 @@ def get_config_schema():
1281
1287
  },
1282
1288
  'additionalProperties': False,
1283
1289
  },
1290
+ 'nebius': {
1291
+ 'type': 'object',
1292
+ 'required': [],
1293
+ 'properties': {
1294
+ 'credentials_file_path': {
1295
+ 'type': 'string',
1296
+ },
1297
+ 'tenant_id': {
1298
+ 'type': 'string',
1299
+ },
1300
+ 'disabled': {
1301
+ 'type': 'boolean'
1302
+ },
1303
+ },
1304
+ 'additionalProperties': False,
1305
+ },
1284
1306
  },
1285
1307
  },
1286
1308
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20250529
3
+ Version: 1.0.0.dev20250531
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -1,17 +1,17 @@
1
- sky/__init__.py,sha256=M2rtGUnec8bT_gfnUoWfL9RwRZtcTj8V003VIoSAix4,6428
1
+ sky/__init__.py,sha256=BbTIIFb0xONzHwJUNzZRk9GIMoM-E3A-SUdgDWdNVow,6428
2
2
  sky/admin_policy.py,sha256=hPo02f_A32gCqhUueF0QYy1fMSSKqRwYEg_9FxScN_s,3248
3
- sky/authentication.py,sha256=ND011K_-Ud1dVZF37A9KrwYir_ihJXcHc7iDWmuBc8Q,22872
4
- sky/check.py,sha256=ENQ-NerQhMSUe_A9o79E3L4amhiiEeHQe7suasDuXwo,28593
5
- sky/cli.py,sha256=DfGIn_2oI3yh5p5okxFC_NRPrHLC1yzeMeghSW4_A3w,244358
3
+ sky/authentication.py,sha256=jEo4hsbKqnutG-ictNT74vXUfTV85ePKtWY8E5V6Iac,25119
4
+ sky/check.py,sha256=Tvei7s8uywVhdjtKi1Wchp70IM62xusbS79cJIwhChU,28612
5
+ sky/cli.py,sha256=18DU5lplQAQvrno94-pN99scVHvPgN7CUXW0joHP0IQ,245418
6
6
  sky/cloud_stores.py,sha256=Ln5GBpel-sEs7rVx7bBrMkfLwA_bctI05Rox2uoz7Lo,26388
7
7
  sky/core.py,sha256=aR9lIsZUkIMfM8HEAx186woTgxwCwuway6r46pi3XUM,52197
8
8
  sky/dag.py,sha256=8x-VMtjvSi0lYBemCMPLYq5ONljhoABjWzMKjmmdjSo,3369
9
- sky/exceptions.py,sha256=qfsEBD8OmjKChD4UGrHH-WwW-45Uh64_4KvF763aVuw,17360
9
+ sky/exceptions.py,sha256=MKkGTj6ixRgZ7bSoTS4LkyDTC0XlGcUzO6G4SlmTeHM,17707
10
10
  sky/execution.py,sha256=YSzpSxoUqLlGZ5v-2pgCt9Jkkcwz12FovOeFs3lC3q8,33109
11
- sky/global_user_state.py,sha256=0g4rb_TOddlMLklPSQH-POf66nhhCb1Ik5qL06Lifh0,41331
11
+ sky/global_user_state.py,sha256=cVZSWGvERRhdOFGmJSaCqFJUWga2_9w9ZtsEICRV91A,47497
12
12
  sky/models.py,sha256=bGMSATMkSMr_Kp6SCoiJVVeebwSdZuzjw_jrJzVWAAc,1603
13
13
  sky/optimizer.py,sha256=24hkzaM1W_VRhVkhtWXmUhJDOX55WV9kEF1hAVW_tVg,61426
14
- sky/resources.py,sha256=M6Yyc5IA5DHAZCRbDQGtAFLSPWvxaRTejnVUpJlCfPI,92805
14
+ sky/resources.py,sha256=PbEj_zf2Zh_IE76ejb1Tnww4BdRFmFmFAKNPUgLyy7Q,94723
15
15
  sky/sky_logging.py,sha256=cMurxhFExKEFX1frcMR71Ti_s9Obg9WY30veVxsZB6o,7285
16
16
  sky/skypilot_config.py,sha256=12NGZ2_nIuQaO4cRF4C9xu98EPK3OxtRAfhn3-smTwc,28618
17
17
  sky/task.py,sha256=AEQqeJ2SHuBj36mdWjyF2OrLXwJ20Jnv-7Sw3g4m0bc,59240
@@ -26,15 +26,15 @@ sky/adaptors/docker.py,sha256=_kzpZ0fkWHqqQAVVl0llTsCE31KYz3Sjn8psTBQHVkA,468
26
26
  sky/adaptors/gcp.py,sha256=oEb9jClEtApw6PQnxdxDYxOCYsedvM3aiko1EW1FDVo,3501
27
27
  sky/adaptors/ibm.py,sha256=7YbHrWbYcZsJDgxMBNZr1yBI03mjs_C3pnCTCz-MNtQ,5068
28
28
  sky/adaptors/kubernetes.py,sha256=za3TnGzsbnM4eUSCKaOsjApaDgbzAPwbmAV_wLHPf5k,9316
29
- sky/adaptors/nebius.py,sha256=5vshmw0kCX98Zb6fClx00BCuzF5lm-vL0CjxzUtZrLU,5897
29
+ sky/adaptors/nebius.py,sha256=5dLZcWWCtwVdlQESfpXo4ZsZ832INw5ih16EUd8IR7c,8695
30
30
  sky/adaptors/oci.py,sha256=xJt6J9xBSFIENa6FwEt1V1sZE8puAZ_vPEoGlyQACPs,2839
31
31
  sky/adaptors/runpod.py,sha256=4Nt_BfZhJAKQNA3wO8cxvvNI8x4NsDGHu_4EhRDlGYQ,225
32
32
  sky/adaptors/vast.py,sha256=tpvmHi7IkQNzbbHVkeo04kUSajoEpSzXr2XgeO_I1LU,695
33
33
  sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
34
34
  sky/backends/__init__.py,sha256=UDjwbUgpTRApbPJnNfR786GadUuwgRk3vsWoVu5RB_c,536
35
35
  sky/backends/backend.py,sha256=o47WUnB_h2nd_SkV0q0NTJ4vCwk23-KH5DgAm_JpKgE,7739
36
- sky/backends/backend_utils.py,sha256=-KMX7enVxTBUY_PN5EIHh3L0kPWpBr-sXWdYRy23Gc4,139005
37
- sky/backends/cloud_vm_ray_backend.py,sha256=4IE8eCtXPkvsyQEPyL2sAPrkk3v_YlQawT6txKmYHT0,256785
36
+ sky/backends/backend_utils.py,sha256=hiefykkYSbb1mw1dW5wWNK7GdJ6jRCyoZxoKUtxR1nc,139594
37
+ sky/backends/cloud_vm_ray_backend.py,sha256=DkC35Ss0M7-JfmG53a9NNBTtEgsrUa4doP9vMzA6HDU,257547
38
38
  sky/backends/docker_utils.py,sha256=Hyw1YY20EyghhEbYx6O2FIMDcGkNzBzV9TM7LFynei8,8358
39
39
  sky/backends/local_docker_backend.py,sha256=r80BGJZmAH8F49v6Y_pG3_pHmW5LQEQRusLkKoYoe9Q,17047
40
40
  sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
@@ -43,29 +43,29 @@ sky/benchmark/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
43
  sky/benchmark/benchmark_state.py,sha256=X8CXmuU9KgsDRhKedhFgjeRMUFWtQsjFs1qECvPG2yg,8723
44
44
  sky/benchmark/benchmark_utils.py,sha256=7rf-iHt6RXZ_pnBBWOMwcdodHQW69x27xNyx0yVog1U,26385
45
45
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
46
- sky/client/cli.py,sha256=DfGIn_2oI3yh5p5okxFC_NRPrHLC1yzeMeghSW4_A3w,244358
46
+ sky/client/cli.py,sha256=18DU5lplQAQvrno94-pN99scVHvPgN7CUXW0joHP0IQ,245418
47
47
  sky/client/common.py,sha256=E_5cjxd8fWRB7fU1yfIbiyQf-IyVhpD5KkB7Fl3cQEI,15215
48
48
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
49
49
  sky/client/sdk.py,sha256=txybH3mT06QUJC4wKKyeg4Ef75Y99vJ3H9_AFlpAJhA,81296
50
50
  sky/clouds/__init__.py,sha256=5aPPmXGCnGN8DbOXTXh_BirESaW4wK-bao2n_3-fm6Q,1561
51
51
  sky/clouds/aws.py,sha256=BkD27knG7aaC033jFS5SO3qdG19a5yHlKTrLIeBUBck,55055
52
52
  sky/clouds/azure.py,sha256=1jxa8vxi3N8EHdeV3mzL6uc1XKrQy4_lGB9lnccswjM,32743
53
- sky/clouds/cloud.py,sha256=2UGiWQ09UdhtJT7Rr_gwXazwzqx56vkFIhxmocl6Yeg,37913
54
- sky/clouds/cudo.py,sha256=K9_1IqQCLobsG0qlsxL_b1BiTqBIVNE5lB0WWNXTuws,13459
55
- sky/clouds/do.py,sha256=JOhNAb4WTI8Zv6NGuJQcmAqJ-0aQC3XF4ehmp94Wu_E,11839
56
- sky/clouds/fluidstack.py,sha256=YZevkDLWR8dwXJFAC89JqzEnISmlA_8_rjIK_qVwGu8,12918
57
- sky/clouds/gcp.py,sha256=WFD5afjCrQyh63w6U2pATrsEIYpSg-aEUEU4sEflkbo,67369
53
+ sky/clouds/cloud.py,sha256=PJmk4lKWvGjqdFrv-fL5fw8ZuUgEKn5fjrFPaKbAkrU,38722
54
+ sky/clouds/cudo.py,sha256=dA4SsIpriJHXXE5eZpxJeHtmqHHhFwKVdkKP4A6VLRs,13603
55
+ sky/clouds/do.py,sha256=1A_Eg29tiVjIZkqWo2MXRFyuCYxS8JquM50C-ib4cD4,11996
56
+ sky/clouds/fluidstack.py,sha256=TREsai1mRpH8OxsRLVp_BiJLmVgtgcM90y0gd7RuyzE,13075
57
+ sky/clouds/gcp.py,sha256=zklscRyefHzdvcsLHLnGbVV3oAleIcQaqV1Sh-9q2ko,67841
58
58
  sky/clouds/ibm.py,sha256=9_7EGmCtYznJSvAC5reKAwTtb-ZRmhHZSrUKHF9CVBg,22352
59
- sky/clouds/kubernetes.py,sha256=uIBtKyGEVNybsuCTDQWTrpX8HkbFgi7jd5eJxkQYD_Q,39963
60
- sky/clouds/lambda_cloud.py,sha256=TAmc7K_YIg5Ixbftby0YqjNmA-4dWd__C78USa0_DbU,13037
61
- sky/clouds/nebius.py,sha256=biz0o9qwJuGG22V6KE3kYqen-v2XKf2nT8qlAWG1QdA,16210
59
+ sky/clouds/kubernetes.py,sha256=YVXa9CY3-acxfw1O6h7zWs7xiYKO1bnngph2sYyg_yY,43325
60
+ sky/clouds/lambda_cloud.py,sha256=evjN4lm5TAmovA7Un4JA59nqEm02XCRtVBcqeO1gGUk,13194
61
+ sky/clouds/nebius.py,sha256=7QvhrZ3QGrXktubqP_QFBR6wOj7_U0iuxGcS1hel2Yc,18794
62
62
  sky/clouds/oci.py,sha256=w86FhaVW30Kx0BVeFweTMThWmYAWG65vgdcqqJXGjy8,28011
63
- sky/clouds/paperspace.py,sha256=ZdxZqwymxVMQ9S-wM_wAnS35_yFPSMgRgkvaTpXxuNM,11307
64
- sky/clouds/runpod.py,sha256=vqAO1CxQmnYRRwG5r30QROhBrSBHu8r674pK8fNr6XM,12769
65
- sky/clouds/scp.py,sha256=yaV5_kLycx4KXpbmD1BONrGxTNEikZOUtNBZ88s0B_Q,16262
63
+ sky/clouds/paperspace.py,sha256=5SLlEqy46q6EMto7S-BqmrPUR5GfmGLyvJUM7Uqf7tU,11464
64
+ sky/clouds/runpod.py,sha256=bnJebjILYmDsjvW2LV0VAO046bq7yqCsg_V8qnhOy58,12902
65
+ sky/clouds/scp.py,sha256=TeGKP6AtzCMTPKu6m_zKWv189ClwaGzAuDNY2vUvFWE,16419
66
66
  sky/clouds/ssh.py,sha256=iDX-ToYnJBFn3I831ktfuQOVyvcXrXakRKlAeSdfy6Q,8319
67
- sky/clouds/vast.py,sha256=orwttbvp4sCgp0d22Bt-IuaueIM8065fcWZBdxm25g8,11584
68
- sky/clouds/vsphere.py,sha256=pUS_6TCDM9o2iRtTANost69ALZ10U9FxOio4OMldazc,12691
67
+ sky/clouds/vast.py,sha256=6Jo9C45RkUyk83lFCgzbX_fk8y-yhilTbi0x4zXCHCs,11741
68
+ sky/clouds/vsphere.py,sha256=FdlebUreLsBdVGNAHKa2VpTMo1DfeIhp7ykvDi849Ok,12848
69
69
  sky/clouds/service_catalog/__init__.py,sha256=rw8ynYIQ3RyC9HP47J3NGhMg5rK4klYHfe1ABPVGcy4,15126
70
70
  sky/clouds/service_catalog/aws_catalog.py,sha256=PbYD37rU_8m-Y_5xTglW21ppxI0GecM1sdO1yXuPwHE,13518
71
71
  sky/clouds/service_catalog/azure_catalog.py,sha256=5Q51x_WEKvQ2YSgJvZHRH3URlbwIstYuwpjaWW_wJlw,8149
@@ -104,60 +104,59 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
104
104
  sky/clouds/utils/gcp_utils.py,sha256=YtuS4EoAMvcRnGPgE_WLENPOPWIdvhp7dLceTw_zfas,7114
105
105
  sky/clouds/utils/oci_utils.py,sha256=0YxhgZdeIHQUI1AZ86YuswsZg5HdVCIVfSTRJsSHYI0,6396
106
106
  sky/clouds/utils/scp_utils.py,sha256=MqawUhhFHHxVnn29nOI4gJ_nF665ich4Po7bsy1afsA,15948
107
- sky/dashboard/out/404.html,sha256=KaMAH_Up4wDB8zMNjoOxMMgHYoXW9Qosd-X2TwdrFio,2296
108
- sky/dashboard/out/clusters.html,sha256=drJnm_euKFHDPwesF9uo7C1CKp3Tu2ey6hmqpp2MJYo,14554
109
- sky/dashboard/out/config.html,sha256=6Ianqst8_ukOgpze5jmHfkbZNdIWQ3uEEPIQaEXkJts,15184
107
+ sky/dashboard/out/404.html,sha256=X5qxwWiw1elzpQKPZb0vR8hsdVgjJkBUZT6cAFtgy5c,2296
108
+ sky/dashboard/out/clusters.html,sha256=Yd0LlhQxRpNP0dTdFsY68YeslBt70cxAJjnt3Pux5W8,14802
109
+ sky/dashboard/out/config.html,sha256=_L2Rtj7BKuoZgCtN_v3UGkOPEXr2REKCVaIv9tWNlPs,15092
110
110
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
111
- sky/dashboard/out/index.html,sha256=MxMvilhFIYdVu2RhvrVpQ4_3hyyH-pNfHnO90IyjKQg,1407
112
- sky/dashboard/out/infra.html,sha256=ZakD00u5DIYW12PcZXp-1_Gr1iDHF4yLEmJLpwQiuG0,19996
113
- sky/dashboard/out/jobs.html,sha256=EdN7tOf2AHZ0lF36cluhV8MT2JiSSqnj7ASEPZGb57E,15810
111
+ sky/dashboard/out/index.html,sha256=5vjOy1XsHu-vUYOJ22QcMr9PbZ_Jxv2q-9iP2gjx3io,1407
112
+ sky/dashboard/out/infra.html,sha256=89FFyd7apHS9AYQmEH7HlA_pwViNNH0_FkjyeeXL_9w,19996
113
+ sky/dashboard/out/jobs.html,sha256=g9Zr9QPgVDAmTCdwpc9DNzJL7LmV4Sfm52HH5v2jPY8,15810
114
114
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
115
- sky/dashboard/out/users.html,sha256=hmKbib9odk1ayDFleD0b8C-FilADD6A7UHjRyVgeGss,13306
116
- sky/dashboard/out/workspaces.html,sha256=CiVQYuDVMz-1oewSJt926BrDWjg_Wh3PlfM9bpjEBxU,13128
117
- sky/dashboard/out/_next/static/HvNkg7hqKM1p0ptAcdDcF/_buildManifest.js,sha256=uC7FFH4cosGdOycfylmF_fipI6ubwNUUkTzfHOjZseA,1998
118
- sky/dashboard/out/_next/static/HvNkg7hqKM1p0ptAcdDcF/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
115
+ sky/dashboard/out/users.html,sha256=-NChDgYVC6aX-UWbwQ6gA9xK717XPm2HgeJ_twHOC_E,13306
116
+ sky/dashboard/out/workspaces.html,sha256=IJ69862CC0UpbfhpswGpQTruDSPh_GiMdemfWIeY_ps,13082
117
+ sky/dashboard/out/_next/static/bdeJWb62qu7L7FOq1dbXX/_buildManifest.js,sha256=j46Nth7dHZ5vh6vrhbhvLY9vILhxrLzvuCHvPudcf3g,1948
118
+ sky/dashboard/out/_next/static/bdeJWb62qu7L7FOq1dbXX/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
119
119
  sky/dashboard/out/_next/static/chunks/121-8f55ee3fa6301784.js,sha256=RIwzzRiPiEGM8PV-7Wesb3CkChfz9cgvLseMyKfD_MY,9292
120
- sky/dashboard/out/_next/static/chunks/173-7db8607cefc20f70.js,sha256=eB4k1aLBieIGFo-LiDz4KSvRfzVGLUo5B6619eZDpKc,284517
121
- sky/dashboard/out/_next/static/chunks/236-90e5498a5b00ec29.js,sha256=RuE4xHxx2b8ljVd8MItjrbAsa2HmCHFyFNvHxE2XtwQ,23991
120
+ sky/dashboard/out/_next/static/chunks/236-7458fda7b295f305.js,sha256=5y-Mx9ooV5GpCbUc9KwAVvXt-SHfZ2cDtFsu6q4tEyU,23831
122
121
  sky/dashboard/out/_next/static/chunks/293-351268365226d251.js,sha256=kIKGZcJd0zyOkyYylqy_sRcpCMk2bjzq5A_6-Hrt0b8,12465
123
- sky/dashboard/out/_next/static/chunks/303-2c7b0f7af571710b.js,sha256=X1u5pw3tzIbYiZlfNsMWsMu5GiNhCcpJOMYT2x9JVCk,16540
124
- sky/dashboard/out/_next/static/chunks/320-afea3ddcc5bd1c6c.js,sha256=TfRRqBkCCzHk0Hb8DUzYDRIt9ekDN9ZRdiYlDWAIiiQ,62726
125
- sky/dashboard/out/_next/static/chunks/470-4d003c441839094d.js,sha256=9pWbenfMEX_WfceKxPD5sfdzwackdYUIdNKnyiHzoPw,22281
126
- sky/dashboard/out/_next/static/chunks/578-9146658cead92981.js,sha256=4oCNy2OJVJbQJGnwwSQhniyuaOnx8--bK56ZqDUxypQ,10169
127
- sky/dashboard/out/_next/static/chunks/843-256ec920f6d5f41f.js,sha256=v0hr9xIP0ayaBw1drG0Q_Z2Fa2PoNALKjVjGEc9lddc,15631
128
- sky/dashboard/out/_next/static/chunks/856-59a1760784c9e770.js,sha256=7ULJdG5h3TJdQKrAxoW33KAhnEunLx4DcCxdsgjYgno,23207
122
+ sky/dashboard/out/_next/static/chunks/37-b638675d511d58b4.js,sha256=vjtwJOeOrOl3glwenJUp2phu9tN49VOWJxpRCyZj21A,10409
123
+ sky/dashboard/out/_next/static/chunks/470-9e7a479cc8303baa.js,sha256=iP1BodDz6ywQUXbCdmP7wZhr6SDivtzCDkdo6_jiMD4,22278
124
+ sky/dashboard/out/_next/static/chunks/614-3d29f98e0634b179.js,sha256=JllLxIGISain5yHH3XMUvyqvXYtqflIN_z2h3J7xoJk,284557
125
+ sky/dashboard/out/_next/static/chunks/682-5c12535476a21ce3.js,sha256=1kq4q4y9AUePWP_P-Z3MvzVLvKmN-o-ohMRegyI1_nE,16487
126
+ sky/dashboard/out/_next/static/chunks/798-c0525dc3f21e488d.js,sha256=qROA0j-IKFdZFhQdWglA67iuCH8pf6mQRDqD6Q4hy00,38450
127
+ sky/dashboard/out/_next/static/chunks/843-786c36624d5ff61f.js,sha256=K32I4DcgHhwuliF47ZVauksEx3xL5xKz6Zc9_ez9iLw,15559
128
+ sky/dashboard/out/_next/static/chunks/856-ab9627e7e8ac35e8.js,sha256=eG7_Z3uViU2kMGGvYbdzwiA444i30lhZXOBFCN3-Xjc,23539
129
129
  sky/dashboard/out/_next/static/chunks/937.f97f83652028e944.js,sha256=3G2YlQgxD17Z7GeznWGDwYSKEB8W4FZFfLKEXmtBiWE,54452
130
130
  sky/dashboard/out/_next/static/chunks/973-1a09cac61cfcc1e1.js,sha256=QoNq70edEqfx5pik8iQhhFhU71DxhfND_wu3mLnEnmw,13476
131
- sky/dashboard/out/_next/static/chunks/9f96d65d-5a3e4af68c26849e.js,sha256=wJGR2e5odhfpiO3-Y0iIQVUJ5rBhfM_9tSb5CIDHcaE,134395
132
131
  sky/dashboard/out/_next/static/chunks/fd9d1056-2821b0f0cabcd8bd.js,sha256=ce2WOATL1LdzsWouKQ-1NCiBQJmcykgzqP8wCp1yqbE,172831
133
132
  sky/dashboard/out/_next/static/chunks/framework-87d061ee6ed71b28.js,sha256=dh6TKdXcSRoGP4HqHe2uwzWCZBPz16dyTWufLsxeRvM,140942
134
133
  sky/dashboard/out/_next/static/chunks/main-app-241eb28595532291.js,sha256=P0_tU7pqs_pOQaw-lVzCNl6recBw5lFfkAD0jRk2uzc,115881
135
134
  sky/dashboard/out/_next/static/chunks/main-e0e2335212e72357.js,sha256=BxTmVbZDnMUQvQd57MEl1Ui0VZaNmwLOviY7h_xMjP0,109884
136
135
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
137
- sky/dashboard/out/_next/static/chunks/webpack-deda68c926e8d0bc.js,sha256=e2NBwO2sLf3MuwMPPaYQ5bWK1OwP5mbuzaaLkDLCJJ4,3620
138
- sky/dashboard/out/_next/static/chunks/pages/_app-a631df412d8172de.js,sha256=lqFYBo3gcDUyNT-vVEqyoXJkFmFKu6i4wvssOQiqQhE,2097
136
+ sky/dashboard/out/_next/static/chunks/webpack-f27c9a32aa3d9c6d.js,sha256=ZmruoC8C86_-mqwGF3AsHiR0CXx1Skr-vPg8cTjrZxA,3605
137
+ sky/dashboard/out/_next/static/chunks/pages/_app-ad1edd7fe17ea796.js,sha256=lqFYBo3gcDUyNT-vVEqyoXJkFmFKu6i4wvssOQiqQhE,2097
139
138
  sky/dashboard/out/_next/static/chunks/pages/_error-1be831200e60c5c0.js,sha256=TZqrus06KKPx-CMABDMPKF7w-NQ5s2gwJAM8Huyl7qU,247
140
- sky/dashboard/out/_next/static/chunks/pages/clusters-943992b84fd6f4ee.js,sha256=OGDlScOO6R0_7coQ7QgON-naAGvoN4qvfJT5F7JYrtU,575
141
- sky/dashboard/out/_next/static/chunks/pages/config-7c48919fe030bc43.js,sha256=0b3ep_iCrhktR2NdYzrCA6S1aXg6Y-CtPy3I-ey82XM,10956
139
+ sky/dashboard/out/_next/static/chunks/pages/clusters-f37ff20f0af29aae.js,sha256=qnQjkj7_GDcLsr-2PTQ02UMlr7ZAQ2pFnNiGmioAmfQ,578
140
+ sky/dashboard/out/_next/static/chunks/pages/config-3c6a2dabf56e8cd6.js,sha256=Wu9ah0cxC2qtRju4VVJHRMczJOLmaN75LbIHj0OiRN0,10905
142
141
  sky/dashboard/out/_next/static/chunks/pages/index-6b0d9e5031b70c58.js,sha256=Fp2FKnKQtORK_5O7MEQ08tlTk7ewMLuecw_EY5g4Dlg,513
143
- sky/dashboard/out/_next/static/chunks/pages/infra-d4c6875c88771e17.js,sha256=fyHcfpdkSws6Szg-I1I_hNtTiAQReAUNHaabzUPvkcA,561
144
- sky/dashboard/out/_next/static/chunks/pages/jobs-a4efc09e61988f8d.js,sha256=YsLWwwgrQke4KyYfLxKDttC5-JUHKrhrorwr_2hphV8,603
145
- sky/dashboard/out/_next/static/chunks/pages/users-b2634885d67c49a6.js,sha256=rBIuOujFfFn5nznvB-CgsZvOoFDw2NFPR-uwO7QSTwc,10912
146
- sky/dashboard/out/_next/static/chunks/pages/workspaces-610c49ae3619ee85.js,sha256=9Gmr2cE9-Mrhc_dVbetBKszoOC1CqtM4bjux0om_Q7E,12188
147
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-9506c00257d10dbd.js,sha256=7PWOxAh5pcx6HUdOOlkRpPSQHfKzmNUdKBiMYLmBKi0,4860
148
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-159bffb2fa34ed54.js,sha256=6nXL2C-VEOBQC6jRqUy8mznS7drzuePOJaYqA8S815k,15480
149
- sky/dashboard/out/_next/static/chunks/pages/infra/[context]-909f1ceb0fcf1b99.js,sha256=-WkwdLanMhoPYE7lqR8IcvjVfp7uZpNAPPRyEsSQCWM,571
150
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-6b80e9e0c6aa16a1.js,sha256=Z4KmvZZB9ynCnLiAHYF7Ym85rNWiFaNQgNy9kP7c974,20260
151
- sky/dashboard/out/_next/static/chunks/pages/workspace/new-579b3203c7c19d84.js,sha256=OPFOPb048yhMxq9ltjC-NcZ_xaDRLIWH0jv1JG2MbBA,3546
152
- sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-9388e38fac73ee8f.js,sha256=WSoOBat7o9pZ1LwQRsaBXRvKlaeatYmDf2yO7OQqtKo,573
153
- sky/dashboard/out/_next/static/css/ffd1cd601648c303.css,sha256=uu8ORNMhCFOYRwCTsKdG5SqMfYo5pypZkfo4yVpUMcs,37714
154
- sky/dashboard/out/clusters/[cluster].html,sha256=0JIQeAePJUG2nu4nqcHtYv7hNbsGKyMNJMrpnho_oqk,2159
155
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=C-VzYVy0W8Sxq568j8jPBnICwyod73Hdzcse52u8IgQ,1653
156
- sky/dashboard/out/infra/[context].html,sha256=qrVIq8BiU1f5YiSiAOOTdHimJtuLhSXFlLsQfKwJYx4,20020
157
- sky/dashboard/out/jobs/[job].html,sha256=YgTw8LkiEYT2U4ZRAYsDB2NO3vsAniihJvKRvD9PbSQ,1621
142
+ sky/dashboard/out/_next/static/chunks/pages/infra-7b4b8e7fa9fa0827.js,sha256=XzUoYkFoJ98z2AknTL5RxnIlWjjTTn1IoSrnNwwJYB4,561
143
+ sky/dashboard/out/_next/static/chunks/pages/jobs-78a6c5ba3e24c0cf.js,sha256=pfsU_vKAJ6mf1e3peQG301Kif2xJRiramKB9nhmMjbs,563
144
+ sky/dashboard/out/_next/static/chunks/pages/users-89f9212b81d8897e.js,sha256=92qnB-zELDvIeTRDJoOVjKFOYJw0tWVZmqE1-O8diLM,10872
145
+ sky/dashboard/out/_next/static/chunks/pages/workspaces-17d41826537196e7.js,sha256=Rkkl4lt7R6UT38lR9DPIGupYHwTON-xw3ftqYOcrSOY,12321
146
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-25edb867a41b6b20.js,sha256=vWAa-9w4hnznFnshBs3VrSOmDm-ct027MO_tYnwBC4w,7131
147
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-8f270e2c9c59fa1a.js,sha256=DVwvWDNQKm17l_bAXhSp1q3maEdO2cZ1eaYttQ9Qn8c,15559
148
+ sky/dashboard/out/_next/static/chunks/pages/infra/[context]-342bc15bb78ab2e5.js,sha256=GrTozxI1XMqIXlyYgUCFaToZ7_JWaTv9pEgtksCxQA8,571
149
+ sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-c0c1dff3cd463d9e.js,sha256=gr2HGQ8cHs9DPxNk6WuwvAYvaxankVu9UxEzVBbW7rE,26678
150
+ sky/dashboard/out/_next/static/chunks/pages/workspace/new-198b6e00d7d724c5.js,sha256=dEjlIoAb-DxdPCJGnraVc8D49-6lixPI4u1G1R6z7Cg,3542
151
+ sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-2ce792183b03c341.js,sha256=S1AlYNpHGN4ttwMtA3BXY5KK4TRPvbC66C984VJU3RA,569
152
+ sky/dashboard/out/_next/static/css/2b3ee34e586949a3.css,sha256=Uf7ADStbwFxzINj6bQDFoiY-mnWD5RgpR1rAlvKb-oA,38056
153
+ sky/dashboard/out/clusters/[cluster].html,sha256=xmUapDRi7r9x9la3AiinD77wSM3xcPwGIhIxU7p56eg,2245
154
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=b74DGF-wZ-5Ms9x2odZYxX8SKo56-TtYqPHC-X-qJc4,1653
155
+ sky/dashboard/out/infra/[context].html,sha256=nOmdkTOXG9GC6P2Gcbu3ELzduOw9eV1UhbWdYmMYDIE,20020
156
+ sky/dashboard/out/jobs/[job].html,sha256=-K-XLcGf00K0kbi8z9Nyu25Awd9ARolWE7tRzLfktls,1708
158
157
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
159
- sky/dashboard/out/workspace/new.html,sha256=WoDzLNpZXH34dnOXzMgBlueuIKpUNmd3_LxgZUapWe8,12899
160
- sky/dashboard/out/workspaces/[name].html,sha256=y4VUcODFRvAzfREPVCPnROg3JOZ4E55wosFlmucmPVM,2336
158
+ sky/dashboard/out/workspace/new.html,sha256=q1s5X-ZnsTMhcMaPurqJ0EK8rUhhEY6SAyZmKDNfzdc,12807
159
+ sky/dashboard/out/workspaces/[name].html,sha256=VvUiNmF9jgm1cuvOgUAC7GrWOueVMrZ7hiFgEasoS4M,2244
161
160
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
162
161
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
163
162
  sky/data/data_utils.py,sha256=CNYPM963qby5ddW0DZNbhiWXkqgB9MHh_jrC5DoBctM,33437
@@ -165,19 +164,19 @@ sky/data/mounting_utils.py,sha256=6f1d0EeBj4dY-LQPwh8EtI6yoEHZawDgHaC8LChDS2s,21
165
164
  sky/data/storage.py,sha256=WZNcqYmbQW9L00DyIdRwA4xdJCj9dKvud0ZmW1sQ2vo,236661
166
165
  sky/data/storage_utils.py,sha256=u8PTKUkE7qYwr1GgAJ45pI5YUkhUaPQPRUz_CZZo_HI,13785
167
166
  sky/jobs/__init__.py,sha256=qoI53-xXE0-SOkrLWigvhgFXjk7dWE0OTqGPYIk-kmM,1458
168
- sky/jobs/constants.py,sha256=6AMgCgL2nnoKeDY1pS9gmRd03vu4dzd188iyuSkABhM,3329
167
+ sky/jobs/constants.py,sha256=4r_a85PdRSc3d4YzPnrxDQuhxt6b8Oc5fhAaV7W-jwg,3329
169
168
  sky/jobs/controller.py,sha256=1MHXM4fmPdVuOPeqsOpNxyTFUPlJWC9JGmFytaG35aY,31211
170
169
  sky/jobs/recovery_strategy.py,sha256=a9A4W-6U3KU-pjkWiFpIdgTHC8W26-jYrmi4vzU9iOg,28818
171
170
  sky/jobs/scheduler.py,sha256=QMpApgCIh2v46bjx3cNxDJWVphn2g50kBMTdTM0uy84,13865
172
- sky/jobs/state.py,sha256=odlhsMhciiSMeggbiyXmLJ_U6XFyOLMSSx4RffThhTg,49811
173
- sky/jobs/utils.py,sha256=Nn3Mkr9736CctEDyTOQ2hWTcwTk52fxMKQC-7JZcYAQ,62280
171
+ sky/jobs/state.py,sha256=9DPYD6Zo83yfzjvUxFN-R53PNV0ewke76HFMlNjxY6Q,50608
172
+ sky/jobs/utils.py,sha256=4y7dNI4TpR_m6LfnFiKoaxMonmjpBTFhfuE69q7CQTs,63559
174
173
  sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
175
- sky/jobs/client/sdk.py,sha256=BEhGmXq97ZBJtpipTSUzgGFzR1QkVkQva-rBsS331oI,10545
174
+ sky/jobs/client/sdk.py,sha256=UDobv7wvVeVEXJK4-E1zVUflubn1pJcylXpPsIB9MWk,10674
176
175
  sky/jobs/dashboard/dashboard.py,sha256=JKg8cCH_Y0sf3MoDTx85BghVEXWpp8ItPLshp09-_Js,7618
177
176
  sky/jobs/dashboard/static/favicon.ico,sha256=uYlvgxSM7gjBmXpZ8wydvZUPAbJiiix-rc2Xe5mma9s,15086
178
177
  sky/jobs/dashboard/templates/index.html,sha256=NrlTDiEHJDt7sViwWgXUSxVCyVl_IEukE5jdvN8WhtQ,33132
179
178
  sky/jobs/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
180
- sky/jobs/server/core.py,sha256=2KwqYODqhlgHZbQZgepkKwQhyH4Id5wdo2qfHmyIDYY,28546
179
+ sky/jobs/server/core.py,sha256=TB3WQpIbHDUiVIN3X_qVB_awrhFkPYH-R2KGrUkf2yg,28682
181
180
  sky/jobs/server/dashboard_utils.py,sha256=2Mbx40W1pQqPEPHsSDbHeaF0j5cgyKy-_A9Owdwp_AQ,2315
182
181
  sky/jobs/server/server.py,sha256=LqBWzYVMMJ6rRcGeDsqCQco6pG_CcDCAHzmVbt57IQM,8618
183
182
  sky/provision/__init__.py,sha256=c4QZli6zQz1YVG0plR27kGDjxhRQwDrT5d0UZemrNPI,6487
@@ -187,7 +186,7 @@ sky/provision/docker_utils.py,sha256=ev_f5ZebMZ4NYe6OxleisBO8EAB6W0FHFJlaqVK3ugE
187
186
  sky/provision/instance_setup.py,sha256=mI-V89Fa0MzLP74YJ8Ns-dgR-Y_CkAxLdrUudTdmKGk,24435
188
187
  sky/provision/logging.py,sha256=_sx_TH6nLt0FF3myS5pEZbiMhXyl4s1XwMidu_TTBUw,2091
189
188
  sky/provision/metadata_utils.py,sha256=LrxeV4wD2QPzNdXV_npj8q-pr35FatxBBjF_jSbpOT0,4013
190
- sky/provision/provisioner.py,sha256=da2s4cB61lZG8qPNwyVxindkCl6FzF9bumCcZJOE1Z0,30873
189
+ sky/provision/provisioner.py,sha256=6NL_zln8Q9P63dYyZ7CBlYsaVPD_5RnyqW20fW8lyz0,30925
191
190
  sky/provision/aws/__init__.py,sha256=mxq8PeWJqUtalDozTNpbtENErRZ1ktEs8uf2aG9UUgU,731
192
191
  sky/provision/aws/config.py,sha256=2PifaPQpD-2Kxqd6843sCUIjEhJR3lI3cJRXE1ox_ls,26728
193
192
  sky/provision/aws/instance.py,sha256=cVW0aQU0Jvo86u4aqfbq29-XrEcgMFFZNIkVS2PvgH8,42295
@@ -212,8 +211,8 @@ sky/provision/fluidstack/config.py,sha256=hDqesKEVjIhXLTWej3fDdpbHtKBXoybxFGgC6T
212
211
  sky/provision/fluidstack/fluidstack_utils.py,sha256=NdhQcwhIPGT21g7lQR-t6j-1zTA_1ZgOhh1oR7rmV4A,5883
213
212
  sky/provision/fluidstack/instance.py,sha256=zCyG8_gmMowzXpmEfv4yBYXgyslKjNXsbFXBq8eQnzc,13788
214
213
  sky/provision/gcp/__init__.py,sha256=zlgjR2JoaGD7sStGStMRu9bJ62f-8NKEIyb-bFHBlzM,528
215
- sky/provision/gcp/config.py,sha256=RaNz4-MlxYE_V_hAtOeOMwr_lz2SZ98insjw0kJAi-o,41504
216
- sky/provision/gcp/constants.py,sha256=rquSueYWtWyUR4BG3oXK9PQZ-qAzBRJilZ6N73HAHks,15194
214
+ sky/provision/gcp/config.py,sha256=3xIX4u-Dn6Z9W4UY2sjAl6fB-4MHWnuaVq53O5QA65o,41668
215
+ sky/provision/gcp/constants.py,sha256=1AefCqLbQzYo4NXcq0YqAWIw_wM9QnS-AppcHq0zPAg,15881
217
216
  sky/provision/gcp/instance.py,sha256=fHtOh-Qo1rk_oL7wZML2s6tKUyQxQu2nuIsb_E0x_rQ,25118
218
217
  sky/provision/gcp/instance_utils.py,sha256=RM5KOAk56TU8q1LNRoo9yl4VwQ3DDq7FAfTxpgdZVTc,72094
219
218
  sky/provision/gcp/mig_utils.py,sha256=oFpcFZoapHMILSE4iIm8V5bxP1RhbMHRF7cciqq8qAk,7883
@@ -224,7 +223,7 @@ sky/provision/kubernetes/constants.py,sha256=dZCUV8FOO9Gct80sdqeubKnxeW3CGl-u5mx
224
223
  sky/provision/kubernetes/instance.py,sha256=c-Cp2Y7ix8utxTJ3QyityZ0Ay8yX7wZxTBF1G3jeWIs,59525
225
224
  sky/provision/kubernetes/network.py,sha256=PEy7lZvmoysmormB49JW245tRcy4owAXzDGV5KHVPEI,12672
226
225
  sky/provision/kubernetes/network_utils.py,sha256=6uck1aBkgtm-gGBitU3_hEUp8j14ZuG_4Xo70ReZYXs,11654
227
- sky/provision/kubernetes/utils.py,sha256=r9qaMVJDcod_oGDUagYN9u5oY5b4KJAp_S46lUKdIeM,132342
226
+ sky/provision/kubernetes/utils.py,sha256=mJnaW9veCDn9gQKAq1CBD3rlAKaLHn1KxZNEkHjaTug,132393
228
227
  sky/provision/kubernetes/manifests/fusermount-server-daemonset.yaml,sha256=S87GNAbDqgTrLuxF-afPAqQ0V-i41El4s_9KBZMuaag,1331
229
228
  sky/provision/lambda_cloud/__init__.py,sha256=6EEvSgtUeEiup9ivIFevHmgv0GqleroO2X0K7TRa2nE,612
230
229
  sky/provision/lambda_cloud/config.py,sha256=jq1iLzp4Up61r4JGxvtpVbJlgXnea3LHYQhCQyyl7ik,272
@@ -273,13 +272,13 @@ sky/provision/vsphere/common/vim_utils.py,sha256=y_i_bh6jxAEfaoVKbgVB02vWE0HbxP9
273
272
  sky/serve/__init__.py,sha256=jlwErB4VeKh0wp9FkTIQoE5JQvc6KIB-vrqhtsJ2q-E,1810
274
273
  sky/serve/autoscalers.py,sha256=kHEL3U2bW50NByiJhv5j64JKjgxKtHwO5dswlJQ1uEA,32698
275
274
  sky/serve/constants.py,sha256=TdavR0D3uNISK9GXasZhBvIp3wBbRKifRrN9cWOzXDU,5002
276
- sky/serve/controller.py,sha256=jtzWHsLHnVPQ727ZpDZTUpGTtIOssbnQpXeWOyAuW_s,11886
275
+ sky/serve/controller.py,sha256=TBp0PtkSWGWzNTNnWyuetg_cGXnup7ygamS4K-b9L5M,11926
277
276
  sky/serve/load_balancer.py,sha256=2nkMPRvy-h7hJL4Qq__tkT8nIAVC_nmjyXf8mMGYEFk,13658
278
277
  sky/serve/load_balancing_policies.py,sha256=Ssr0GtHKyzzAIEOUAMCLvND5rapmrpxI-OQemf3dgxU,5177
279
- sky/serve/replica_managers.py,sha256=kODwyRqtETu97J6prWPz7sHZtuKaAxD0aDKQ7rKXONw,64529
278
+ sky/serve/replica_managers.py,sha256=x8c1tRIQMN4dVzVUHJpZYSEBtEjOCbcwmqZ_GkVzpnc,64785
280
279
  sky/serve/serve_state.py,sha256=xIA5PeLiogLnDNWGVfCT_fV9DvZ8bbKExmACpLv7WN4,21160
281
280
  sky/serve/serve_utils.py,sha256=ErpByT7SL_z7thgp0kmdXO3dm4qGdVJ8-Vbkj3-bvLw,46747
282
- sky/serve/service.py,sha256=uDb3FG-mkGlC9a7PS5PWQo2y_lgjzBe5_aRgPXjgm84,14282
281
+ sky/serve/service.py,sha256=f-Lpxl9YtIprcE3Wr0JUslSvEDylNFe-fyaKIJeKb2c,14315
283
282
  sky/serve/service_spec.py,sha256=t7wh7sx68DKjPyrk1Ub-c1ZjkWD8ehG-YOj9CNdC9qQ,18552
284
283
  sky/serve/spot_placer.py,sha256=auRlYZNg8uIW-lxiirxpDP-iIaJtkrhesm6OGMgwPq4,11288
285
284
  sky/serve/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -288,18 +287,18 @@ sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
288
287
  sky/serve/server/core.py,sha256=QRXTDSXAvLZNUCJcVuwWIOCHP96lpiQgxhJNlDWfcQw,41246
289
288
  sky/serve/server/server.py,sha256=A9K37a0nQgZeN3eKWv62Oh2C5TSAReTZ9pHmztqlI-c,4396
290
289
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
291
- sky/server/common.py,sha256=VDJ4CEPNcs6b2EwHaqaCptqfCEs_j8X_0b95DMRCeIw,30933
290
+ sky/server/common.py,sha256=9s6-31tLRaNA81YT1YAcCdDHEu-IkcjglVPYTfl5-QY,31094
292
291
  sky/server/config.py,sha256=XWf5Kw4am6vMO5wcyWevbQAFH-dmKb7AMEgDzD083-M,8538
293
- sky/server/constants.py,sha256=hkDwRo3K6xx9TRb7i8zdZMUEue1oP6G6I0B-p9kprbY,1193
292
+ sky/server/constants.py,sha256=s2dHx-CZLWDdqN5JR0mK_I6Ygdpmknd92rZrIHXzUv4,1193
294
293
  sky/server/server.py,sha256=EqUi7yyz9XnDXIuFhXSYcIHSiss9vdyRzs4iH0BEHTw,54628
295
- sky/server/stream_utils.py,sha256=4JMHgtoXPpCT8JwtqyUcDQ9IdZFir9om0JaCRr8rvbQ,5849
294
+ sky/server/stream_utils.py,sha256=yyfKLcaB3RDC8BfhLLiOQW-nQE05ojUsQ26K0teSea0,6878
296
295
  sky/server/uvicorn.py,sha256=4bTlvqQiykYDEIfV6Ta9KXWKZUtSfIrhDeT1F9yQuvs,3323
297
296
  sky/server/html/log.html,sha256=TSGZktua9Ysl_ysg3w60rjxAxhH61AJnsYDHdtqrjmI,6929
298
297
  sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFzlc,7046
299
298
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
300
299
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
301
300
  sky/server/requests/executor.py,sha256=7WiPNmB8DiJcPZhFtRebUkv1eOKAUSoQFpv_qa8kuGs,23596
302
- sky/server/requests/payloads.py,sha256=2XpTAZ2DrujwRHz2I5IOgFuS_508oS_9zs_uazYx_tY,18527
301
+ sky/server/requests/payloads.py,sha256=KrRLsunWirCt54DNsbMIHyKeEt9kLAJMVBU0moR6t04,18558
303
302
  sky/server/requests/preconditions.py,sha256=ipxIb_3JXG6S3-ymcOdqQNb7VDvoPqADxu9ZK7-nQWc,7179
304
303
  sky/server/requests/process.py,sha256=uv6JmqdT1vR6S5j3a0CEmxz3fUoKQoZCryQsjZpZE7E,8734
305
304
  sky/server/requests/requests.py,sha256=7WABtaxHOppJT6OgYQl4nkjDu5yPXtk1_VpfqPdeg5k,21923
@@ -352,7 +351,7 @@ sky/templates/jobs-controller.yaml.j2,sha256=t4X-W9HJ8sWvVJq1axeGPFmnAYcDeG8hcwz
352
351
  sky/templates/kubernetes-ingress.yml.j2,sha256=73iDklVDWBMbItg0IexCa6_ClXPJOxw7PWz3leku4nE,1340
353
352
  sky/templates/kubernetes-loadbalancer.yml.j2,sha256=IxrNYM366N01bbkJEbZ_UPYxUP8wyVEbRNFHRsBuLsw,626
354
353
  sky/templates/kubernetes-port-forward-proxy-command.sh,sha256=iw7mypHszg6Ggq9MbyiYMFOkSlXaQZulaxqC5IWYGCc,3381
355
- sky/templates/kubernetes-ray.yml.j2,sha256=G_2rwLWfBBTHwD8LSkt_W0Bz6bYCx6xPZvXaS_NEmRI,40074
354
+ sky/templates/kubernetes-ray.yml.j2,sha256=alhqEG4VkJokG6cjNML-MURRmvODQWVR8Z43AG3DMHE,41274
356
355
  sky/templates/kubernetes-ssh-jump.yml.j2,sha256=k5W5sOIMppU7dDkJMwPlqsUcb92y7L5_TVG3hkgMy8M,2747
357
356
  sky/templates/lambda-ray.yml.j2,sha256=AeFThho5hPQMncrOWQ6DhEWOsAuZtdxf1gjmp_6kPJA,4747
358
357
  sky/templates/local-ray.yml.j2,sha256=FNHeyHF6nW9nU9QLIZceUWfvrFTTcO51KqhTnYCEFaA,1185
@@ -378,7 +377,7 @@ sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14
378
377
  sky/utils/command_runner.py,sha256=6VknLKttMwPAHGJt_ccyr3l6lXZGVoX6C3-ZtQ7WtR0,39613
379
378
  sky/utils/command_runner.pyi,sha256=SDwvKvwaK4_-l2S3bwKSHZX8tGKU5SkbKuYRDn03o7o,7810
380
379
  sky/utils/common.py,sha256=P4oVXFATUYgkruHX92cN12SJBtfb8DiOOYZtbN1kvP0,1927
381
- sky/utils/common_utils.py,sha256=T850YbVaAk3VCenBAEY99jDphA2-B1q7AcuunEkfj9E,32712
380
+ sky/utils/common_utils.py,sha256=xSB7WWk88tuEDZrL0CZ41GEucCkUIJ4GNWIlWzGMuUA,34774
382
381
  sky/utils/config_utils.py,sha256=v8yZcr8OvEfXmBDYcdOj3U-AH1XERY76zGJMNdqzvqc,10339
383
382
  sky/utils/context.py,sha256=yxNlkVV9_7_0bnXJkXXe8h9t_LbFbYzPAnWIx8aTLJI,9327
384
383
  sky/utils/context_utils.py,sha256=cby-QPmnGObjIE4K7eZ_dkWZdUo7YJUmnJr5oKf_v54,6712
@@ -392,10 +391,10 @@ sky/utils/kubernetes_enums.py,sha256=imGqHSa8O07zD_6xH1SDMM7dBU5lF5fzFFlQuQy00QM
392
391
  sky/utils/log_utils.py,sha256=_PMfgKNH5aaTkWoQoS2_XfyAmLa_UbboKMDGxJq3k6s,27360
393
392
  sky/utils/message_utils.py,sha256=zi2Z7PEX6Xq_zvho-aEZe_J7UvpKOLdVDdGAcipRQPU,2662
394
393
  sky/utils/registry.py,sha256=I08nS0rvCF-xR5GEZoHEVgN1jcOeglz77h7xPpBCIjU,4179
395
- sky/utils/resources_utils.py,sha256=oxHFiISc0Y68gCGhTw4ep6bJ6Fi21epMyeu3EN20Smc,11673
394
+ sky/utils/resources_utils.py,sha256=S_5V0BJCgWe8n0b5aRAiAgLeTki5uOacXi5mW_zr_1I,12450
396
395
  sky/utils/rich_console_utils.py,sha256=wPvAlshaFHuMZSjiDnaK3OSBppZLBjAn-lj7AvxNBQk,553
397
- sky/utils/rich_utils.py,sha256=ZTXdFJp--4CJDt2ANQz0VICLPc2V7llgA6LelHdG9Mw,14188
398
- sky/utils/schemas.py,sha256=hf2aDWd7q5vsJTlpmlhSaZcd1USSkticDh4-bd_qMuE,42452
396
+ sky/utils/rich_utils.py,sha256=EmtLN6U49SKiANTGmqgZXICXEnDLJW9EPpw6O4-FVUE,14432
397
+ sky/utils/schemas.py,sha256=YfYhLJdWZOPYJIcezutZ8r12rxH_KqR2oJtXAiLVAzM,43207
399
398
  sky/utils/status_lib.py,sha256=zn_MSuRYQdNKF8pnFOGQ54X_s_R7dyqWS6Q3a9zENw8,1512
400
399
  sky/utils/subprocess_utils.py,sha256=3euz4h7B-tHulmjhQUkY9oWUA0Np5hlL8kHdTHHZOs0,16060
401
400
  sky/utils/timeline.py,sha256=ob6s3bc7nwAuSI76yLKBrSR5bzOHnOhbozz1avwoet4,4070
@@ -424,9 +423,9 @@ sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqu
424
423
  sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
425
424
  sky/workspaces/core.py,sha256=YtmfIwq26MBQqI9eKdgiVpCq-5b-c8SHURJzjYsK-0k,16813
426
425
  sky/workspaces/server.py,sha256=A3jt9RSzRXTYWpmVQNW0b4-QrgfLq3eiHcRA0tutZhw,2893
427
- skypilot_nightly-1.0.0.dev20250529.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
428
- skypilot_nightly-1.0.0.dev20250529.dist-info/METADATA,sha256=MTXMt0ATXOjVNqn41vmNnYT0jdsz-p5Gtw4hvxWVO-E,18378
429
- skypilot_nightly-1.0.0.dev20250529.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
430
- skypilot_nightly-1.0.0.dev20250529.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
431
- skypilot_nightly-1.0.0.dev20250529.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
432
- skypilot_nightly-1.0.0.dev20250529.dist-info/RECORD,,
426
+ skypilot_nightly-1.0.0.dev20250531.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
427
+ skypilot_nightly-1.0.0.dev20250531.dist-info/METADATA,sha256=82adzGeoUyZjWPcQoyGVGQSQY8kGBHWec_d8EbUAB2U,18378
428
+ skypilot_nightly-1.0.0.dev20250531.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
429
+ skypilot_nightly-1.0.0.dev20250531.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
430
+ skypilot_nightly-1.0.0.dev20250531.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
431
+ skypilot_nightly-1.0.0.dev20250531.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- self.__BUILD_MANIFEST=function(s,c,e,a,t,r,n,u,f,i,j,k){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-6b0d9e5031b70c58.js"],"/_error":["static/chunks/pages/_error-1be831200e60c5c0.js"],"/clusters":[s,t,c,e,a,r,i,"static/chunks/pages/clusters-943992b84fd6f4ee.js"],"/clusters/[cluster]":[s,t,c,e,a,r,n,i,"static/chunks/pages/clusters/[cluster]-9506c00257d10dbd.js"],"/clusters/[cluster]/[job]":[s,c,"static/chunks/pages/clusters/[cluster]/[job]-159bffb2fa34ed54.js"],"/config":[u,s,f,c,e,"static/chunks/pages/config-7c48919fe030bc43.js"],"/infra":[s,c,e,a,j,"static/chunks/pages/infra-d4c6875c88771e17.js"],"/infra/[context]":[s,c,e,a,j,"static/chunks/pages/infra/[context]-909f1ceb0fcf1b99.js"],"/jobs":[s,t,c,e,a,r,n,"static/chunks/pages/jobs-a4efc09e61988f8d.js"],"/jobs/[job]":[s,c,"static/chunks/pages/jobs/[job]-6b80e9e0c6aa16a1.js"],"/users":[s,c,e,a,"static/chunks/pages/users-b2634885d67c49a6.js"],"/workspace/new":[u,s,t,f,c,e,a,r,n,k,"static/chunks/pages/workspace/new-579b3203c7c19d84.js"],"/workspaces":[u,s,t,f,c,e,a,r,n,"static/chunks/pages/workspaces-610c49ae3619ee85.js"],"/workspaces/[name]":[u,s,t,f,c,e,a,r,n,k,"static/chunks/pages/workspaces/[name]-9388e38fac73ee8f.js"],sortedPages:["/","/_app","/_error","/clusters","/clusters/[cluster]","/clusters/[cluster]/[job]","/config","/infra","/infra/[context]","/jobs","/jobs/[job]","/users","/workspace/new","/workspaces","/workspaces/[name]"]}}("static/chunks/173-7db8607cefc20f70.js","static/chunks/470-4d003c441839094d.js","static/chunks/293-351268365226d251.js","static/chunks/856-59a1760784c9e770.js","static/chunks/121-8f55ee3fa6301784.js","static/chunks/973-1a09cac61cfcc1e1.js","static/chunks/236-90e5498a5b00ec29.js","static/chunks/9f96d65d-5a3e4af68c26849e.js","static/chunks/320-afea3ddcc5bd1c6c.js","static/chunks/578-9146658cead92981.js","static/chunks/303-2c7b0f7af571710b.js","static/chunks/843-256ec920f6d5f41f.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1,6 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[236],{8236:function(e,s,t){t.d(s,{L4:function(){return D},Nk:function(){return I},x2:function(){return R}});var r=t(5893),n=t(7294),a=t(1163),l=t(1664),i=t.n(l),c=t(8799),o=t(803),d=t(7673),h=t(8764),x=t(6989),u=t(8969),m=t(3266),p=t(7324),j=t(9470),f=t(3626),g=t(998);/**
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 w=(0,g.Z)("RefreshCcw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]),N=(0,g.Z)("FileSearch",[["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M4.268 21a2 2 0 0 0 1.727 1H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v3",key:"ms7g94"}],["path",{d:"m9 18-1.5-1.5",key:"1j6qii"}],["circle",{cx:"5",cy:"14",r:"3",key:"ufru5t"}]]),b=(0,g.Z)("MonitorPlay",[["path",{d:"M10 7.75a.75.75 0 0 1 1.142-.638l3.664 2.249a.75.75 0 0 1 0 1.278l-3.664 2.25a.75.75 0 0 1-1.142-.64z",key:"1pctta"}],["path",{d:"M12 17v4",key:"1riwvh"}],["path",{d:"M8 21h8",key:"1ev6f3"}],["rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",key:"x3v2xh"}]]);var y=t(9284),v=t(4545),k=t(9307),C=t(3001),S=t(8950),E=t(6378),L=t(6856);let R={active:["PENDING","RUNNING","RECOVERING","SUBMITTED","STARTING","CANCELLING"],finished:["SUCCEEDED","FAILED","CANCELLED","FAILED_SETUP","FAILED_PRECHECKS","FAILED_NO_RESOURCE","FAILED_CONTROLLER"]},M="__ALL_WORKSPACES__",_=e=>{if(!e)return"-";let s=(0,x.GV)(e);if(n.isValidElement(s)&&s.props&&s.props.children&&(s=n.isValidElement(s.props.children)&&s.props.children.props&&s.props.children.props.children?s.props.children.props.children:s.props.children),"string"!=typeof s)return s;if("just now"===s)return"now";let t=s.match(/^About\s+(\d+)\s+(\w+)\s+ago$/);if(t){let e=t[1],s=t[2],r={second:"sec",seconds:"secs",minute:"min",minutes:"mins",hour:"hr",hours:"hrs",day:"d",days:"d",month:"mo",months:"mos",year:"yr",years:"yrs"};if(r[s])return"~ ".concat(e," ").concat(r[s]," ago")}let r=s.match(/^a[n]?\s+(\w+)\s+ago$/);if(r){let e=r[1],s={second:"sec",minute:"min",hour:"hr",day:"d",month:"mo",year:"yr"};if(s[e])return"1 ".concat(s[e]," ago")}let a=s.match(/^(\d+)\s+(\w+)\s+ago$/);if(a){let e=a[1],s=a[2],t={seconds:"secs",minutes:"mins",hours:"hrs",days:"d",months:"mo",years:"yr"};if(t[s])return"".concat(e," ").concat(t[s]," ago")}return s};function I(){let e=(0,a.useRouter)(),[s,t]=(0,n.useState)(!1),l=n.useRef(null),[o,d]=(0,n.useState)({isOpen:!1,title:"",message:"",onConfirm:null}),h=(0,C.X)(),[g,w]=(0,n.useState)(M),[N,b]=(0,n.useState)([]);return(0,n.useEffect)(()=>{e.isReady&&e.query.workspace&&w(Array.isArray(e.query.workspace)?e.query.workspace[0]:e.query.workspace)},[e.isReady,e.query.workspace]),(0,n.useEffect)(()=>{(async()=>{try{await L.ZP.preloadForPage("jobs");let e=await E.ZP.get(p.fX),s=Object.keys(e),t=(await E.ZP.get(u.getManagedJobs)).jobs||[],r=[...new Set(t.map(e=>e.workspace||"default").filter(e=>e))],n=new Set(s);r.forEach(e=>n.add(e)),b(Array.from(n).sort())}catch(e){console.error("Error fetching data for workspace filter:",e),b(["default"])}})()},[]),(0,r.jsxs)(j.A,{highlighted:"jobs",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4 h-5",children:[(0,r.jsxs)("div",{className:"text-base flex items-center",children:[(0,r.jsx)(i(),{href:"/jobs",className:"text-sky-blue hover:underline leading-none",children:"Managed Jobs"}),(0,r.jsxs)(S.Ph,{value:g,onValueChange:w,children:[(0,r.jsx)(S.i4,{className:"h-8 w-48 ml-4 mr-2 text-sm border-none focus:ring-0 focus:outline-none",children:(0,r.jsx)(S.ki,{placeholder:"Filter by workspace...",children:g===M?"All Workspaces":g})}),(0,r.jsxs)(S.Bw,{children:[(0,r.jsx)(S.Ql,{value:M,children:"All Workspaces"}),N.map(e=>(0,r.jsx)(S.Ql,{value:e,children:e},e))]})]})]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[s&&(0,r.jsxs)("div",{className:"flex items-center mr-2",children:[(0,r.jsx)(c.Z,{size:15,className:"mt-0"}),(0,r.jsx)("span",{className:"ml-2 text-gray-500 text-sm",children:"Loading..."})]}),(0,r.jsxs)("button",{onClick:()=>{E.ZP.invalidate(u.getManagedJobs),E.ZP.invalidate(m.getClusters),E.ZP.invalidate(p.fX),l.current&&l.current()},disabled:s,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",title:"Refresh",children:[(0,r.jsx)(f.Z,{className:"h-4 w-4 mr-1.5"}),!h&&(0,r.jsx)("span",{children:"Refresh"})]})]})]}),(0,r.jsx)(P,{refreshInterval:x.yc,setLoading:t,refreshDataRef:l,workspaceFilter:g}),(0,r.jsx)(y.cV,{isOpen:o.isOpen,onClose:()=>d({...o,isOpen:!1}),onConfirm:o.onConfirm,title:o.title,message:o.message})]})}function P(e){let{refreshInterval:s,setLoading:t,refreshDataRef:a,workspaceFilter:l}=e,[p,j]=(0,n.useState)([]),[f,g]=(0,n.useState)({key:null,direction:"ascending"}),[N,b]=(0,n.useState)(!1),[C,S]=(0,n.useState)(!0),[L,I]=(0,n.useState)(1),[P,D]=(0,n.useState)(10),[z,F]=(0,n.useState)(null),W=(0,n.useRef)(null),[U,q]=(0,n.useState)([]),[T,V]=(0,n.useState)({}),[B,J]=(0,n.useState)(!1),[G,H]=(0,n.useState)(!1),[X,$]=(0,n.useState)(!1),[K,Q]=(0,n.useState)("active"),[Y,ee]=(0,n.useState)(!0),[es,et]=(0,n.useState)({isOpen:!1,title:"",message:"",onConfirm:null}),er=async()=>{et({isOpen:!0,title:"Restart Controller",message:"Are you sure you want to restart the controller? This will temporarily interrupt job management.",onConfirm:async()=>{try{$(!0),b(!0),await (0,u.Ce)("restartcontroller"),await en()}catch(e){console.error("Error restarting controller:",e)}finally{$(!1),b(!1)}}})},en=n.useCallback(async()=>{b(!0),t(!0);try{let[e,s]=await Promise.all([E.ZP.get(u.getManagedJobs),E.ZP.get(m.getClusters)]),{jobs:t,controllerStopped:r}=e,n=s.find(e=>(0,v.Ym)(e.cluster)),a=n?n.status:"NOT_FOUND",l=!1;"STOPPED"==a&&r&&(l=!0),"LAUNCHING"==a?H(!0):H(!1),j(t),J(l)}catch(e){console.error("Error fetching data:",e),j([])}finally{b(!1),t(!1),S(!1)}},[t]);n.useEffect(()=>{a&&(a.current=en)},[a,en]),(0,n.useEffect)(()=>{j([]);let e=!0;en();let t=setInterval(()=>{e&&en()},s);return()=>{e=!1,clearInterval(t)}},[s,en]),(0,n.useEffect)(()=>{I(1)},[K,p.length]),(0,n.useEffect)(()=>{q([]),ee(!0)},[K]);let ea=e=>{let s="ascending";f.key===e&&"ascending"===f.direction&&(s="descending"),g({key:e,direction:s})},el=e=>f.key===e?"ascending"===f.direction?" ↑":" ↓":"";n.useMemo(()=>({active:p.filter(e=>R.active.includes(e.status)).length,finished:p.filter(e=>R.finished.includes(e.status)).length}),[p]);let ei=e=>U.length>0?U.includes(e):R[K].includes(e),ec=n.useMemo(()=>{let e=l&&l!==M?p.filter(e=>(e.workspace||"default").toLowerCase()===l.toLowerCase()):p;return U.length>0?e.filter(e=>U.includes(e.status)):Y?e.filter(e=>R[K].includes(e.status)):[]},[p,K,U,Y,R,l]),eo=n.useMemo(()=>f.key?[...ec].sort((e,s)=>e[f.key]<s[f.key]?"ascending"===f.direction?-1:1:e[f.key]>s[f.key]?"ascending"===f.direction?1:-1:0):ec,[ec,f]),ed=Math.ceil(eo.length/P),eh=(L-1)*P,ex=eh+P,eu=eo.slice(eh,ex),em=e=>{if(U.includes(e)){let s=U.filter(s=>s!==e);0===s.length?(ee(!0),q([])):(q(s),ee(!1))}else q([...U,e]),ee(!1)};return(0,n.useEffect)(()=>{V(p.reduce((e,s)=>(e[s.status]=(e[s.status]||0)+1,e),{}))},[p]),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsx)("div",{className:"flex flex-col space-y-1 mb-1",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-center text-sm mb-1",children:[(0,r.jsx)("span",{className:"mr-2 text-sm font-medium",children:"Statuses:"}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2 items-center",children:[!N&&0===p.length&&!C&&(0,r.jsx)("span",{className:"text-gray-500 mr-2",children:"No jobs found"}),Object.entries(T).map(e=>{let[s,t]=e;return(0,r.jsxs)("button",{onClick:()=>em(s),className:"px-3 py-1 rounded-full flex items-center space-x-2 ".concat(ei(s)||U.includes(s)?(0,k.Cl)(s):"bg-gray-50 text-gray-600 hover:bg-gray-100"),children:[(0,r.jsx)("span",{children:s}),(0,r.jsx)("span",{className:"text-xs ".concat(ei(s)||U.includes(s)?"bg-white/50":"bg-gray-200"," px-1.5 py-0.5 rounded"),children:t})]},s)}),p.length>0&&(0,r.jsxs)("div",{className:"flex items-center ml-2 gap-2",children:[(0,r.jsx)("span",{className:"text-gray-500",children:"("}),(0,r.jsx)("button",{onClick:()=>{Q("active"),q([]),ee(!0)},className:"text-sm font-medium ".concat("active"===K&&Y?"text-green-700 underline":"text-gray-600 hover:text-green-700 hover:underline"),children:"show all active jobs"}),(0,r.jsx)("span",{className:"text-gray-500 mx-1",children:"|"}),(0,r.jsx)("button",{onClick:()=>{Q("finished"),q([]),ee(!0)},className:"text-sm font-medium ".concat("finished"===K&&Y?"text-blue-700 underline":"text-gray-600 hover:text-blue-700 hover:underline"),children:"show all finished jobs"}),(0,r.jsx)("span",{className:"text-gray-500",children:")"})]})]})]})}),(0,r.jsx)(d.Zb,{children:(0,r.jsxs)(h.iA,{children:[(0,r.jsx)(h.xD,{children:(0,r.jsxs)(h.SC,{children:[(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("id"),children:["ID",el("id")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("name"),children:["Name",el("name")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("user"),children:["User",el("user")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("workspace"),children:["Workspace",el("workspace")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("submitted_at"),children:["Submitted",el("submitted_at")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("job_duration"),children:["Duration",el("job_duration")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("status"),children:["Status",el("status")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("priority"),children:["Priority",el("priority")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("resources_str"),children:["Requested",el("resources_str")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("infra"),children:["Infra",el("infra")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("cluster"),children:["Resources",el("cluster")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>ea("recoveries"),children:["Recoveries",el("recoveries")]}),(0,r.jsx)(h.ss,{children:"Details"}),(0,r.jsx)(h.ss,{children:"Logs"})]})}),(0,r.jsx)(h.RM,{children:N&&C?(0,r.jsx)(h.SC,{children:(0,r.jsx)(h.pj,{colSpan:13,className:"text-center py-6 text-gray-500",children:(0,r.jsxs)("div",{className:"flex justify-center items-center",children:[(0,r.jsx)(c.Z,{size:20,className:"mr-2"}),(0,r.jsx)("span",{children:"Loading..."})]})})}):eu.length>0?(0,r.jsx)(r.Fragment,{children:eu.map(e=>(0,r.jsxs)(n.Fragment,{children:[(0,r.jsxs)(h.SC,{children:[(0,r.jsx)(h.pj,{children:(0,r.jsx)(i(),{href:"/jobs/".concat(e.id),className:"text-blue-600",children:e.id})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(i(),{href:"/jobs/".concat(e.id),className:"text-blue-600",children:e.name})}),(0,r.jsx)(h.pj,{children:e.user}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(i(),{href:"/workspaces",className:"text-blue-600 hover:underline",children:e.workspace||"default"})}),(0,r.jsx)(h.pj,{children:_(e.submitted_at)}),(0,r.jsx)(h.pj,{children:(0,x.LU)(e.job_duration)}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(k.OE,{status:e.status})}),(0,r.jsx)(h.pj,{children:e.priority}),(0,r.jsx)(h.pj,{children:e.requested_resources}),(0,r.jsx)(h.pj,{children:e.infra&&"-"!==e.infra?(0,r.jsx)(x.Md,{content:e.full_infra||e.infra,className:"text-sm text-muted-foreground",children:(0,r.jsxs)("span",{children:[(0,r.jsx)(i(),{href:"/infra",className:"text-blue-600 hover:underline",children:e.cloud||e.infra.split("(")[0].trim()}),e.infra.includes("(")&&(0,r.jsx)("span",{children:" "+e.infra.substring(e.infra.indexOf("("))})]})}):(0,r.jsx)("span",{children:e.infra||"-"})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(x.Md,{content:e.resources_str_full||e.resources_str,className:"text-sm text-muted-foreground",children:(0,r.jsx)("span",{children:e.resources_str})})}),(0,r.jsx)(h.pj,{children:e.recoveries}),(0,r.jsx)(h.pj,{children:e.details?(0,r.jsx)(Z,{text:e.details,rowId:e.id,expandedRowId:z,setExpandedRowId:F}):"-"}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(O,{jobParent:"/jobs",jobId:e.id,managed:!0})})]}),z===e.id&&(0,r.jsx)(A,{text:e.details,colSpan:13,innerRef:W})]},e.id))}):(0,r.jsx)(h.SC,{children:(0,r.jsx)(h.pj,{colSpan:13,className:"text-center py-6",children:(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-4",children:[G&&(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-2",children:[(0,r.jsx)("p",{className:"text-gray-700",children:"The managed job controller is launching. Please wait for it to be ready."}),(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)(c.Z,{size:12,className:"mr-2"}),(0,r.jsx)("span",{className:"text-gray-500",children:"Launching..."})]})]}),!B&&!G&&(0,r.jsx)("p",{className:"text-gray-500",children:"No active jobs"}),B&&(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-2",children:[(0,r.jsx)("p",{className:"text-gray-700",children:"The managed job controller has been stopped. Please restart it to check the latest job status."}),(0,r.jsx)(o.z,{variant:"outline",size:"sm",onClick:er,className:"text-sky-blue hover:text-sky-blue-bright",disabled:N||X,children:X?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.Z,{size:12,className:"mr-2"}),"Restarting..."]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w,{className:"h-4 w-4 mr-2"}),"Restart Controller"]})})]})]})})})})]})}),eo.length>0&&(0,r.jsx)("div",{className:"flex justify-end items-center py-2 px-4 text-sm text-gray-700",children:(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("span",{className:"mr-2",children:"Rows per page:"}),(0,r.jsxs)("div",{className:"relative inline-block",children:[(0,r.jsxs)("select",{value:P,onChange:e=>{D(parseInt(e.target.value,10)),I(1)},className:"py-1 pl-2 pr-6 appearance-none outline-none cursor-pointer border-none bg-transparent",style:{minWidth:"40px"},children:[(0,r.jsx)("option",{value:10,children:"10"}),(0,r.jsx)("option",{value:30,children:"30"}),(0,r.jsx)("option",{value:50,children:"50"}),(0,r.jsx)("option",{value:100,children:"100"}),(0,r.jsx)("option",{value:200,children:"200"})]}),(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-gray-500 absolute right-0 top-1/2 transform -translate-y-1/2 pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),(0,r.jsxs)("div",{children:[eh+1," – ",Math.min(ex,eo.length)," of"," ",eo.length]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)(o.z,{variant:"ghost",size:"icon",onClick:()=>{I(e=>Math.max(e-1,1))},disabled:1===L,className:"text-gray-500 h-8 w-8 p-0",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"chevron-left",children:(0,r.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,r.jsx)(o.z,{variant:"ghost",size:"icon",onClick:()=>{I(e=>Math.min(e+1,ed))},disabled:L===ed||0===ed,className:"text-gray-500 h-8 w-8 p-0",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"chevron-right",children:(0,r.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})]})}),(0,r.jsx)(y.cV,{isOpen:es.isOpen,onClose:()=>et({...es,isOpen:!1}),onConfirm:es.onConfirm,title:es.title,message:es.message})]})}function O(e){let{withLabel:s=!1,jobParent:t,jobId:n,managed:l}=e,i=(0,a.useRouter)(),c=(e,s)=>{e.preventDefault(),e.stopPropagation(),i.push({pathname:"".concat(t,"/").concat(n),query:{tab:s}})};return(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsx)(x.WH,{content:"View Job Logs",className:"capitalize text-sm text-muted-foreground",children:(0,r.jsxs)("button",{onClick:e=>c(e,"logs"),className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center h-8",children:[(0,r.jsx)(N,{className:"w-4 h-4"}),s&&(0,r.jsx)("span",{className:"ml-1.5",children:"Logs"})]})},"logs"),l&&(0,r.jsx)(x.WH,{content:"View Controller Logs",className:"capitalize text-sm text-muted-foreground",children:(0,r.jsxs)("button",{onClick:e=>c(e,"controllerlogs"),className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center h-8",children:[(0,r.jsx)(b,{className:"w-4 h-4"}),s&&(0,r.jsx)("span",{className:"ml-2",children:"Controller Logs"})]})},"controllerlogs")]})}function D(e){let{clusterName:s,clusterJobData:t,loading:a}=e,[l,u]=(0,n.useState)(null),[m,p]=(0,n.useState)({key:null,direction:"ascending"}),[j,f]=(0,n.useState)(1),[g,w]=(0,n.useState)(10),N=(0,n.useRef)(null),[b,y]=(0,n.useState)(null);(0,n.useEffect)(()=>{let e=e=>{l&&N.current&&!N.current.contains(e.target)&&u(null)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[l]);let v=n.useMemo(()=>t||[],[t]);(0,n.useEffect)(()=>{JSON.stringify(t)!==JSON.stringify(b)&&y(t)},[t,b]);let C=n.useMemo(()=>m.key?[...v].sort((e,s)=>e[m.key]<s[m.key]?"ascending"===m.direction?-1:1:e[m.key]>s[m.key]?"ascending"===m.direction?1:-1:0):v,[v,m]),S=e=>{let s="ascending";m.key===e&&"ascending"===m.direction&&(s="descending"),p({key:e,direction:s})},E=e=>m.key===e?"ascending"===m.direction?" ↑":" ↓":"",L=Math.ceil(C.length/g),R=(j-1)*g,M=R+g,I=C.slice(R,M);return(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)(d.Zb,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between p-4",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold",children:"Cluster Jobs"}),a&&(0,r.jsxs)("div",{className:"flex items-center mr-2",children:[(0,r.jsx)(c.Z,{size:15,className:"mt-0"}),(0,r.jsx)("span",{className:"ml-2 text-gray-500 text-sm",children:"Loading..."})]})]}),(0,r.jsxs)(h.iA,{children:[(0,r.jsx)(h.xD,{children:(0,r.jsxs)(h.SC,{children:[(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("id"),children:["ID",E("id")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("job"),children:["Name",E("job")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("user"),children:["User",E("user")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("workspace"),children:["Workspace",E("workspace")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("submitted_at"),children:["Submitted",E("submitted_at")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("job_duration"),children:["Duration",E("job_duration")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("status"),children:["Status",E("status")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("priority"),children:["Priority",E("priority")]}),(0,r.jsxs)(h.ss,{className:"sortable whitespace-nowrap",onClick:()=>S("resources"),children:["Resources",E("resources")]}),(0,r.jsx)(h.ss,{className:"whitespace-nowrap",children:"Logs"})]})}),(0,r.jsx)(h.RM,{children:I.length>0?I.map(e=>(0,r.jsxs)(n.Fragment,{children:[(0,r.jsxs)(h.SC,{className:l===e.id?"selected-row":"",children:[(0,r.jsx)(h.pj,{children:(0,r.jsx)(i(),{href:"/clusters/".concat(s,"/").concat(e.id),className:"text-blue-600",children:e.id})}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(i(),{href:"/clusters/".concat(s,"/").concat(e.id),className:"text-blue-600",children:(0,r.jsx)(Z,{text:e.job||"Unnamed job",rowId:e.id,expandedRowId:l,setExpandedRowId:u})})}),(0,r.jsx)(h.pj,{children:e.user}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(i(),{href:"/workspaces",className:"text-blue-600 hover:underline",children:e.workspace||"default"})}),(0,r.jsx)(h.pj,{children:_(e.submitted_at)}),(0,r.jsx)(h.pj,{children:(0,x.LU)(e.job_duration)}),(0,r.jsx)(h.pj,{children:(0,r.jsx)(k.OE,{status:e.status})}),(0,r.jsx)(h.pj,{children:e.priority}),(0,r.jsx)(h.pj,{children:e.resources}),(0,r.jsx)(h.pj,{className:"flex content-center items-center",children:(0,r.jsx)(O,{jobParent:"/clusters/".concat(s),jobId:e.id,managed:!1})})]}),l===e.id&&(0,r.jsx)(A,{text:e.job||"Unnamed job",colSpan:9,innerRef:N})]},e.id)):(0,r.jsx)(h.SC,{children:(0,r.jsx)(h.pj,{colSpan:9,className:"text-center py-6 text-gray-500",children:"No jobs found"})})})]})]}),C.length>0&&(0,r.jsx)("div",{className:"flex justify-end items-center py-2 px-4 text-sm text-gray-700",children:(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("span",{className:"mr-2",children:"Rows per page:"}),(0,r.jsxs)("div",{className:"relative inline-block",children:[(0,r.jsxs)("select",{value:g,onChange:e=>{w(parseInt(e.target.value,10)),f(1)},className:"py-1 pl-2 pr-6 appearance-none outline-none cursor-pointer border-none bg-transparent",style:{minWidth:"40px"},children:[(0,r.jsx)("option",{value:5,children:"5"}),(0,r.jsx)("option",{value:10,children:"10"}),(0,r.jsx)("option",{value:20,children:"20"}),(0,r.jsx)("option",{value:50,children:"50"})]}),(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-gray-500 absolute right-0 top-1/2 transform -translate-y-1/2 pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),(0,r.jsxs)("div",{children:[R+1," – ",Math.min(M,C.length)," of"," ",C.length]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)(o.z,{variant:"ghost",size:"icon",onClick:()=>{f(e=>Math.max(e-1,1))},disabled:1===j,className:"text-gray-500 h-8 w-8 p-0",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"chevron-left",children:(0,r.jsx)("path",{d:"M15 18l-6-6 6-6"})})}),(0,r.jsx)(o.z,{variant:"ghost",size:"icon",onClick:()=>{f(e=>Math.min(e+1,L))},disabled:j===L||0===L,className:"text-gray-500 h-8 w-8 p-0",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"chevron-right",children:(0,r.jsx)("path",{d:"M9 18l6-6-6-6"})})})]})]})})]})}function A(e){let{text:s,colSpan:t,innerRef:n}=e;return(0,r.jsx)(h.SC,{className:"expanded-details",children:(0,r.jsx)(h.pj,{colSpan:t,children:(0,r.jsx)("div",{className:"p-4 bg-gray-50 rounded-md border border-gray-200",ref:n,children:(0,r.jsx)("div",{className:"flex justify-between items-start",children:(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-gray-900",children:"Full Details"}),(0,r.jsx)("p",{className:"mt-1 text-sm text-gray-700",style:{whiteSpace:"pre-wrap"},children:s})]})})})})})}function Z(e){let{text:s,rowId:t,expandedRowId:a,setExpandedRowId:l}=e,i=s.length>50,c=a===t,o=i?"".concat(s.substring(0,50)):s,d=(0,n.useRef)(null);return(0,r.jsxs)("div",{className:"truncated-details relative max-w-full flex items-center",children:[(0,r.jsx)("span",{className:"truncate",children:o}),i&&(0,r.jsx)("button",{ref:d,type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),l(c?null:t)},className:"text-blue-600 hover:text-blue-800 font-medium ml-1 flex-shrink-0","data-button-type":"show-more-less",children:c?"... show less":"... show more"})]})}}}]);
@@ -1,6 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[303],{3626:function(e,s,t){"use strict";t.d(s,{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,t(998).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"}]])},8682:function(e,s,t){"use strict";t.d(s,{fx:function(){return v}});var a=t(5893),l=t(7294),r=t(8799),n=t(9470),d=t(3626),c=t(3001),i=t(2045),o=t(3266),x=t(8969),m=t(6378),h=t(6856),u=t(1214),g=t(1163),f=t(1664),p=t.n(f),j=t(6989);let N=u.nb.REFRESH_INTERVAL,b=u.MO.NAME_TRUNCATE_LENGTH;function y(e){let{title:s,isLoading:t,isDataLoaded:l,contexts:n,gpus:d,groupedPerContextGPUs:c,groupedPerNodeGPUs:i,handleContextClick:o,contextStats:x={},isSSH:m=!1}=e;return t&&!l?(0,a.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold mb-4",children:s}),(0,a.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,a.jsx)(r.Z,{size:24,className:"mr-3"}),(0,a.jsxs)("span",{className:"text-gray-500",children:["Loading ",s,"..."]})]})]})}):l&&0===n.length?(0,a.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold mb-4",children:s}),(0,a.jsxs)("p",{className:"text-sm text-gray-500",children:["No ",s," found or ",s," is not configured."]})]})}):l&&n.length>0?(0,a.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsxs)("div",{className:"flex items-center mb-4",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:s}),(0,a.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-blue-100 text-blue-800 rounded-full text-xs font-medium",children:[n.length," ",1===n.length?m?"pool":"context":m?"pools":"contexts"]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,a.jsx)("div",{children:(0,a.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm bg-white",children:(0,a.jsxs)("table",{className:"min-w-full text-sm",children:[(0,a.jsx)("thead",{className:"bg-gray-50",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/4",children:m?"Node Pool":"Context"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/8",children:"Clusters"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/8",children:"Jobs"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/8",children:"Nodes"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/4",children:"GPU Types"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/8",children:"#GPUs"})]})}),(0,a.jsx)("tbody",{className:"bg-white divide-y divide-gray-200 ".concat(n.length>5?"max-h-[250px] overflow-y-auto block":""),children:n.map(e=>{let s=c[e]||[],t=i[e]||[],l=s.reduce((e,s)=>e+(s.gpu_total||0),0),r=x[m?"ssh/".concat(e.replace(/^ssh-/,"")):"kubernetes/".concat(e)]||{clusters:0,jobs:0},n=Object.keys(s.reduce((e,s)=>(e[s.gpu_name]=(e[s.gpu_name]||0)+(s.gpu_total||0),e),{})).join(", "),d=m?e.replace(/^ssh-/,""):e;return(0,a.jsxs)("tr",{className:"hover:bg-gray-50",children:[(0,a.jsx)("td",{className:"p-3",children:(0,a.jsx)(j.Md,{content:d,className:"text-sm text-muted-foreground",children:(0,a.jsx)("span",{className:"text-blue-600 hover:underline cursor-pointer",onClick:()=>o(e),children:d.length>b?"".concat(d.substring(0,Math.floor((b-3)/2)),"...").concat(d.substring(d.length-Math.ceil((b-3)/2))):d})})}),(0,a.jsx)("td",{className:"p-3",children:r.clusters>0?(0,a.jsx)("span",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded text-xs font-medium",children:r.clusters}):(0,a.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-xs font-medium",children:"0"})}),(0,a.jsx)("td",{className:"p-3",children:r.jobs>0?(0,a.jsx)("span",{className:"px-2 py-0.5 bg-green-100 text-green-800 rounded text-xs font-medium",children:r.jobs}):(0,a.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-xs font-medium",children:"0"})}),(0,a.jsx)("td",{className:"p-3",children:t.length}),(0,a.jsx)("td",{className:"p-3",children:n||"-"}),(0,a.jsx)("td",{className:"p-3",children:l})]},e)})})]})})}),d.length>0&&(0,a.jsx)("div",{children:(0,a.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm bg-white",children:(0,a.jsxs)("table",{className:"min-w-full text-sm",children:[(0,a.jsx)("thead",{className:"bg-gray-50",children:(0,a.jsxs)("tr",{children:[(0,a.jsxs)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/4 whitespace-nowrap",children:["GPU",(0,a.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-green-100 text-green-800 rounded-full text-xs font-medium whitespace-nowrap",children:[d.reduce((e,s)=>e+s.gpu_free,0)," ","of"," ",d.reduce((e,s)=>e+s.gpu_total,0)," ","free"]})]}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/4",children:"Requestable"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-1/2",children:(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsx)("span",{children:"Utilization"})})})]})}),(0,a.jsx)("tbody",{className:"bg-white divide-y divide-gray-200 ".concat(d.length>5?"max-h-[250px] overflow-y-auto block":""),children:d.map(e=>{let s=e.gpu_total-e.gpu_free,t=e.gpu_total>0?e.gpu_free/e.gpu_total*100:0,l=e.gpu_total>0?s/e.gpu_total*100:0,r=c?Object.values(c).flat().filter(s=>s.gpu_name===e.gpu_name&&(m?s.context.startsWith("ssh-"):!s.context.startsWith("ssh-"))).map(e=>e.gpu_requestable_qty_per_node).filter((e,s,t)=>t.indexOf(e)===s).join(", "):"-";return(0,a.jsxs)("tr",{children:[(0,a.jsx)("td",{className:"p-3 font-medium w-24 whitespace-nowrap",children:e.gpu_name}),(0,a.jsxs)("td",{className:"p-3 text-xs text-gray-600",children:[r||"-"," / node"]}),(0,a.jsx)("td",{className:"p-3 w-2/3",children:(0,a.jsx)("div",{className:"flex items-center gap-3",children:(0,a.jsxs)("div",{className:"flex-1 bg-gray-100 rounded-md h-5 flex overflow-hidden shadow-sm min-w-[100px] w-full",children:[l>0&&(0,a.jsx)("div",{style:{width:"".concat(l,"%")},className:"bg-yellow-500 h-full flex items-center justify-center text-white text-xs font-medium",children:l>15&&"".concat(s," used")}),t>0&&(0,a.jsx)("div",{style:{width:"".concat(t,"%")},className:"bg-green-700 h-full flex items-center justify-center text-white text-xs font-medium",children:t>15&&"".concat(e.gpu_free," free")})]})})})]},e.gpu_name)})})]})})})]})]})}):null}function w(e){let{contextName:s,gpusInContext:t,nodesInContext:l}=e;return s.startsWith("ssh-"),(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm h-full",children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsx)("h4",{className:"text-lg font-semibold mb-4",children:"Available GPUs"}),(0,a.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 mb-6",children:t.map(e=>{let s=e.gpu_total-e.gpu_free,t=e.gpu_total>0?e.gpu_free/e.gpu_total*100:0,l=e.gpu_total>0?s/e.gpu_total*100:0;return(0,a.jsxs)("div",{className:"p-3 bg-gray-50 rounded-md border border-gray-200 shadow-sm",children:[(0,a.jsxs)("div",{className:"flex justify-between items-center mb-1.5 flex-wrap",children:[(0,a.jsxs)("div",{className:"font-medium text-gray-800 text-sm",children:[e.gpu_name,(0,a.jsxs)("span",{className:"text-xs text-gray-500 ml-2",children:["(Requestable: ",e.gpu_requestable_qty_per_node," / node)"]})]}),(0,a.jsxs)("span",{className:"text-xs font-medium",children:[e.gpu_free," free / ",e.gpu_total," total"]})]}),(0,a.jsxs)("div",{className:"w-full bg-gray-100 rounded-md h-4 flex overflow-hidden shadow-sm",children:[l>0&&(0,a.jsx)("div",{style:{width:"".concat(l,"%")},className:"bg-yellow-500 h-full flex items-center justify-center text-white text-xs",children:l>15&&"".concat(s," used")}),t>0&&(0,a.jsx)("div",{style:{width:"".concat(t,"%")},className:"bg-green-700 h-full flex items-center justify-center text-white text-xs",children:t>15&&"".concat(e.gpu_free," free")})]})]},e.gpu_name)})}),l.length>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("h4",{className:"text-lg font-semibold mb-4",children:"Nodes"}),(0,a.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm",children:(0,a.jsxs)("table",{className:"min-w-full text-sm",children:[(0,a.jsx)("thead",{className:"bg-gray-100",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600",children:"Node"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600",children:"GPU"}),(0,a.jsx)("th",{className:"p-3 text-right font-medium text-gray-600",children:"Availability"})]})}),(0,a.jsx)("tbody",{className:"bg-white divide-y divide-gray-200",children:l.map((e,s)=>(0,a.jsxs)("tr",{className:"hover:bg-gray-50",children:[(0,a.jsx)("td",{className:"p-3 whitespace-nowrap text-gray-700",children:e.node_name}),(0,a.jsx)("td",{className:"p-3 whitespace-nowrap text-gray-700",children:e.gpu_name}),(0,a.jsx)("td",{className:"p-3 whitespace-nowrap text-right text-gray-700",children:"".concat(e.gpu_free," of ").concat(e.gpu_total," free")})]},"".concat(e.node_name,"-").concat(s)))})]})})]})]})})})}function v(){let[e,s]=(0,l.useState)(!0),[t,u]=(0,l.useState)(!0),[f,j]=(0,l.useState)(!0),b=l.useRef(null),v=(0,c.X)(),[_,C]=(0,l.useState)(!1),[S,P]=(0,l.useState)(!1),k=(0,g.useRouter)(),[L,U]=(0,l.useState)([]),[E,I]=(0,l.useState)([]),[M,R]=(0,l.useState)([]),[G,Z]=(0,l.useState)([]),[q,W]=(0,l.useState)([]),[A,z]=(0,l.useState)(0),[H,F]=(0,l.useState)(0),[T,O]=(0,l.useState)({}),[D,J]=(0,l.useState)(null),K=l.useCallback(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{showLoadingIndicators:!0};e.showLoadingIndicators&&(s(!0),u(!0));try{let{gpuData:e,cloudData:s}=await m.ZP.get(i.l4),{allContextNames:t,allGPUs:a,perContextGPUs:l,perNodeGPUs:r,contextStats:n}=e;U(t||[]),I(a||[]),R(l||[]),Z(r||[]),O(n||{}),C(!0),W((null==s?void 0:s.clouds)||[]),z((null==s?void 0:s.totalClouds)||0),F((null==s?void 0:s.enabledClouds)||0),P(!0)}catch(e){console.error("Error in fetchData:",e)}finally{s(!1),u(!1),f&&e.showLoadingIndicators&&j(!1)}},[f]);(0,l.useEffect)(()=>{b.current=K},[K]),(0,l.useEffect)(()=>{(async()=>{await h.ZP.preloadForPage("infra"),K({showLoadingIndicators:!0})})()},[]),(0,l.useEffect)(()=>{let e=!0,s=setInterval(()=>{e&&b.current&&b.current({showLoadingIndicators:!1})},N);return()=>{e=!1,clearInterval(s)}},[N]),E.length,E.reduce((e,s)=>e+s.gpu_total,0),E.reduce((e,s)=>e+s.gpu_free,0);let V=l.useMemo(()=>M?M.reduce((e,s)=>{let{context:t}=s;return e[t]||(e[t]=[]),e[t].push(s),e},{}):{},[M]),X=l.useMemo(()=>L.filter(e=>e.startsWith("ssh-")),[L]),B=l.useMemo(()=>L.filter(e=>!e.startsWith("ssh-")),[L]),Q=l.useMemo(()=>{if(!M)return[];let e=new Set;return M.forEach(s=>{s.context.startsWith("ssh-")&&e.add(s.gpu_name)}),E.filter(s=>e.has(s.gpu_name))},[E,M]),Y=l.useMemo(()=>{if(!M)return[];let e=new Set;return M.forEach(s=>{s.context.startsWith("ssh-")||e.add(s.gpu_name)}),E.filter(s=>e.has(s.gpu_name))},[E,M]),$=l.useMemo(()=>G?G.reduce((e,s)=>{let{context:t}=s;return e[t]||(e[t]=[]),e[t].push(s),e},{}):{},[G]);(0,l.useEffect)(()=>{k.isReady&&k.query.context&&J(decodeURIComponent(Array.isArray(k.query.context)?k.query.context[0]:k.query.context))},[k.isReady,k.query.context]);let ee=e=>{J(e),k.push("/infra/".concat(encodeURIComponent(e)))},es=e||t;return(0,a.jsxs)(n.A,{highlighted:"infra",children:[(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)(p(),{href:"/infra",className:"text-sky-blue hover:underline ".concat(D?"":"cursor-default"),children:"Infrastructure"}),D&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),D.startsWith("ssh-")?(0,a.jsx)(p(),{href:"/infra",className:"text-sky-blue hover:underline cursor-pointer",children:"SSH Node Pool"}):(0,a.jsx)(p(),{href:"/infra",className:"text-sky-blue hover:underline cursor-pointer",children:"Kubernetes"}),(0,a.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,a.jsx)("span",{className:"text-sky-blue",children:D.startsWith("ssh-")?D.replace(/^ssh-/,""):D})]})]}),(0,a.jsxs)("div",{className:"flex items-center",children:[es&&(0,a.jsxs)("div",{className:"flex items-center mr-2",children:[(0,a.jsx)(r.Z,{size:15,className:"mt-0"}),(0,a.jsx)("span",{className:"ml-2 text-gray-500",children:"Loading..."})]}),(0,a.jsxs)("button",{onClick:()=>{m.ZP.invalidate(o.getClusters),m.ZP.invalidate(x.getManagedJobs),m.ZP.invalidate(i.l4),b.current&&b.current({showLoadingIndicators:!0})},disabled:es,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:[(0,a.jsx)(d.Z,{className:"h-4 w-4 mr-1.5"}),!v&&"Refresh"]})]})]}),D?e&&!_?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center h-64",children:[(0,a.jsx)(r.Z,{size:32,className:"mb-4"}),(0,a.jsx)("span",{className:"text-gray-500 text-lg",children:"Loading Context..."})]}):(s=>{let t=V[s]||[],l=$[s]||[];return e&&!_?(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center h-64",children:[(0,a.jsx)(r.Z,{size:32,className:"mb-4"}),(0,a.jsx)("span",{className:"text-gray-500 text-lg",children:"Loading Context..."})]}):(0,a.jsx)(w,{contextName:s,gpusInContext:t,nodesInContext:l})})(D):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y,{title:"SSH Node Pool",isLoading:e,isDataLoaded:_,contexts:X,gpus:Q,groupedPerContextGPUs:V,groupedPerNodeGPUs:$,handleContextClick:ee,contextStats:T,isSSH:!0}),(0,a.jsx)(y,{title:"Kubernetes",isLoading:e,isDataLoaded:_,contexts:B,gpus:Y,groupedPerContextGPUs:V,groupedPerNodeGPUs:$,handleContextClick:ee,contextStats:T,isSSH:!1}),t&&!S?(0,a.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold mb-4",children:"Cloud"}),(0,a.jsxs)("div",{className:"flex items-center justify-center py-6",children:[(0,a.jsx)(r.Z,{size:24,className:"mr-3"}),(0,a.jsx)("span",{className:"text-gray-500",children:"Loading Cloud..."})]})]})}):(0,a.jsx)("div",{className:"rounded-lg border bg-card text-card-foreground shadow-sm mb-6",children:(0,a.jsxs)("div",{className:"p-5",children:[(0,a.jsxs)("div",{className:"flex items-center mb-4",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold",children:"Cloud"}),(0,a.jsxs)("span",{className:"ml-2 px-2 py-0.5 bg-blue-100 text-blue-800 rounded-full text-xs font-medium",children:[H," of ",A," enabled"]})]}),0===q.length?(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"No enabled clouds available."}):(0,a.jsx)("div",{className:"overflow-x-auto rounded-md border border-gray-200 shadow-sm bg-white",children:(0,a.jsxs)("table",{className:"min-w-full text-sm",children:[(0,a.jsx)("thead",{className:"bg-gray-50",children:(0,a.jsxs)("tr",{children:[(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-32",children:"Cloud"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-24",children:"Clusters"}),(0,a.jsx)("th",{className:"p-3 text-left font-medium text-gray-600 w-24",children:"Jobs"})]})}),(0,a.jsx)("tbody",{className:"bg-white divide-y divide-gray-200",children:q.map(e=>(0,a.jsxs)("tr",{className:"hover:bg-gray-50",children:[(0,a.jsx)("td",{className:"p-3 font-medium text-gray-700",children:e.name}),(0,a.jsx)("td",{className:"p-3",children:e.clusters>0?(0,a.jsx)("span",{className:"px-2 py-0.5 bg-blue-100 text-blue-800 rounded text-xs font-medium",children:e.clusters}):(0,a.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-xs font-medium",children:"0"})}),(0,a.jsx)("td",{className:"p-3",children:e.jobs>0?(0,a.jsx)("span",{className:"px-2 py-0.5 bg-green-100 text-green-800 rounded text-xs font-medium",children:e.jobs}):(0,a.jsx)("span",{className:"px-2 py-0.5 bg-gray-100 text-gray-500 rounded text-xs font-medium",children:"0"})})]},e.name))})]})})]})})]})]})}},9008:function(e,s,t){e.exports=t(7219)}}]);