skypilot-nightly 1.0.0.dev20250819__py3-none-any.whl → 1.0.0.dev20250821__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 (80) hide show
  1. sky/__init__.py +5 -3
  2. sky/backends/cloud_vm_ray_backend.py +15 -14
  3. sky/backends/wheel_utils.py +2 -1
  4. sky/client/cli/command.py +20 -16
  5. sky/client/cli/flags.py +3 -3
  6. sky/core.py +1 -1
  7. sky/dashboard/out/404.html +1 -1
  8. sky/dashboard/out/_next/static/chunks/3015-6c9c09593b1e67b6.js +1 -0
  9. sky/dashboard/out/_next/static/chunks/{3785.bc5d2853355c9c47.js → 3785.d5b86f6ebc88e6e6.js} +1 -1
  10. sky/dashboard/out/_next/static/chunks/{9277.71481d5b2e606e33.js → 4783.c485f48348349f47.js} +8 -3
  11. sky/dashboard/out/_next/static/chunks/{6633-efe924b9b8136699.js → 7205-88191679e7988c57.js} +9 -4
  12. sky/dashboard/out/_next/static/chunks/8969-4a6f1a928fb6d370.js +1 -0
  13. sky/dashboard/out/_next/static/chunks/{8838.e7953f42af2b0544.js → 9946.3b7b43c217ff70ec.js} +9 -4
  14. sky/dashboard/out/_next/static/chunks/pages/clusters/{[cluster]-ec747e4f2dc39b57.js → [cluster]-a0527109c2fab467.js} +7 -2
  15. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +11 -0
  16. sky/dashboard/out/_next/static/chunks/pages/{jobs-4b3ba1792dc6f21d.js → jobs-7421e63ac35f8fce.js} +1 -1
  17. sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-65f72dee417237ef.js → [name]-de06e613e20bc977.js} +1 -1
  18. sky/dashboard/out/_next/static/chunks/pages/{workspaces-338de9df523d883a.js → workspaces-be35b22e2046564c.js} +1 -1
  19. sky/dashboard/out/_next/static/chunks/webpack-6e76f636a048e145.js +1 -0
  20. sky/dashboard/out/_next/static/{tYn7R2be3cQPYJfTxxE09 → wN25tc2rkvOkO-qkzIhcD}/_buildManifest.js +1 -1
  21. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  22. sky/dashboard/out/clusters/[cluster].html +1 -1
  23. sky/dashboard/out/clusters.html +1 -1
  24. sky/dashboard/out/config.html +1 -1
  25. sky/dashboard/out/index.html +1 -1
  26. sky/dashboard/out/infra/[context].html +1 -1
  27. sky/dashboard/out/infra.html +1 -1
  28. sky/dashboard/out/jobs/[job].html +1 -1
  29. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  30. sky/dashboard/out/jobs.html +1 -1
  31. sky/dashboard/out/users.html +1 -1
  32. sky/dashboard/out/volumes.html +1 -1
  33. sky/dashboard/out/workspace/new.html +1 -1
  34. sky/dashboard/out/workspaces/[name].html +1 -1
  35. sky/dashboard/out/workspaces.html +1 -1
  36. sky/exceptions.py +6 -1
  37. sky/global_user_state.py +18 -11
  38. sky/jobs/server/core.py +1 -1
  39. sky/models.py +1 -0
  40. sky/provision/aws/config.py +11 -11
  41. sky/provision/aws/instance.py +30 -27
  42. sky/provision/do/utils.py +2 -2
  43. sky/provision/docker_utils.py +20 -1
  44. sky/provision/kubernetes/network_utils.py +3 -3
  45. sky/provision/kubernetes/utils.py +2 -2
  46. sky/provision/kubernetes/volume.py +2 -0
  47. sky/resources.py +17 -7
  48. sky/serve/replica_managers.py +7 -0
  49. sky/serve/server/impl.py +1 -1
  50. sky/server/requests/payloads.py +1 -0
  51. sky/server/requests/serializers/encoders.py +14 -2
  52. sky/server/server.py +33 -0
  53. sky/setup_files/dependencies.py +17 -11
  54. sky/skypilot_config.py +4 -4
  55. sky/users/permission.py +2 -1
  56. sky/utils/common.py +27 -7
  57. sky/utils/common_utils.py +13 -9
  58. sky/utils/directory_utils.py +12 -0
  59. sky/utils/env_options.py +3 -0
  60. sky/utils/kubernetes/gpu_labeler.py +3 -3
  61. sky/utils/schemas.py +1 -0
  62. sky/utils/serialize_utils.py +16 -0
  63. sky/volumes/client/sdk.py +10 -7
  64. sky/volumes/server/core.py +12 -3
  65. sky/volumes/volume.py +17 -3
  66. {skypilot_nightly-1.0.0.dev20250819.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/METADATA +21 -13
  67. {skypilot_nightly-1.0.0.dev20250819.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/RECORD +76 -74
  68. sky/dashboard/out/_next/static/chunks/3015-bf218e4973bf5c8f.js +0 -1
  69. sky/dashboard/out/_next/static/chunks/8969-23c8fbdb8b397d59.js +0 -1
  70. sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-ad2cd5aab787bc15.js +0 -6
  71. sky/dashboard/out/_next/static/chunks/webpack-008593a02784a2df.js +0 -1
  72. /sky/dashboard/out/_next/static/chunks/{1121-2edb8ab2ba080a76.js → 1121-8afcf719ea87debc.js} +0 -0
  73. /sky/dashboard/out/_next/static/chunks/{1141-2f60a90b7d76838e.js → 1141-943efc7aff0f0c06.js} +0 -0
  74. /sky/dashboard/out/_next/static/chunks/{6856-e6f350f567182e87.js → 6856-049014c6d43d127b.js} +0 -0
  75. /sky/dashboard/out/_next/static/chunks/pages/jobs/pools/{[pool]-7d4182df6625fe10.js → [pool]-07349868f7905d37.js} +0 -0
  76. /sky/dashboard/out/_next/static/{tYn7R2be3cQPYJfTxxE09 → wN25tc2rkvOkO-qkzIhcD}/_ssgManifest.js +0 -0
  77. {skypilot_nightly-1.0.0.dev20250819.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/WHEEL +0 -0
  78. {skypilot_nightly-1.0.0.dev20250819.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/entry_points.txt +0 -0
  79. {skypilot_nightly-1.0.0.dev20250819.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/licenses/LICENSE +0 -0
  80. {skypilot_nightly-1.0.0.dev20250819.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/top_level.txt +0 -0
@@ -1,20 +1,20 @@
1
- sky/__init__.py,sha256=kGLWB-L9YZHphOC6gzXETZp8oNIDguWzCr85ZcucpV0,6589
1
+ sky/__init__.py,sha256=ueD01v52YcUcIk7KZm0GYiBUHc5LGsIpzn7y4et7CMU,6615
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=NfKQSCb8681cwHll_M5F3E4Ck8hLsijlNwCMqeNj7VE,57593
7
+ sky/core.py,sha256=TmgehnTSJhQYPvGfQfS10FWGl-jsCFioRgg7Uso6b68,57597
8
8
  sky/dag.py,sha256=0ZpAEDXuIFo1SP7YJpF9vXiFxpRwqP8od-UXMg95td8,3929
9
- sky/exceptions.py,sha256=ZqJy4QELotO2OH89xveJGvcBtXKLcvNekVeLh0weRkM,19585
9
+ sky/exceptions.py,sha256=j9bYAH9VmvifRdQzd0_T9RmPWePL2wsTPyC6gcvYh4Q,19814
10
10
  sky/execution.py,sha256=v1JNAjjQC1iOXjG8eba-zrMDVGrjZjx7Ys4f4ExwQp0,34674
11
- sky/global_user_state.py,sha256=TzyyqRBKMSH5QSs5uG8A9HJ4ZfCwsJH7y0LXOf_04dc,81243
12
- sky/models.py,sha256=Eor-cT4D71QTimogcnJ5ey1G1PXK-OXN-snEtE8Uu_g,3152
11
+ sky/global_user_state.py,sha256=-s-bJUxpEsUcdCT_U8r7mcb965Z44iUyNRNY27TpZs4,81455
12
+ sky/models.py,sha256=C5vuymhZtQHxtzE7sM63VV-dKJ8Zo7U7cQWCZKb9q10,3196
13
13
  sky/optimizer.py,sha256=rcH6CVix1PJWWSwe1XWItfsmG8igwbKtRE5QVWRlpR4,63804
14
14
  sky/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- sky/resources.py,sha256=R2MmOKs8_6hAU_yn-FNyPvYxgyCpjTArXd-5YvewyZY,106812
15
+ sky/resources.py,sha256=TY-JVOOBexmLEbUj_8tYU8O_F9jKDpFkexcGUjl0XJk,107313
16
16
  sky/sky_logging.py,sha256=aFcwYKKlZG28q-bEsVzvmBEZ1WqHMMp1SwRGONLopDI,8512
17
- sky/skypilot_config.py,sha256=2ow9fzLGA3v-tns3dHldsAfJsiJa8dre89qsWn1XLxM,36797
17
+ sky/skypilot_config.py,sha256=Pjm9fd2aES7SrwniSI5Xj-MnWwMmd_wJ00XMqkyV2mY,36725
18
18
  sky/task.py,sha256=tYigDcGDjz0YwikwGXZMyq6rio7q7SYXpmz5muB0-0Q,76045
19
19
  sky/adaptors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
20
20
  sky/adaptors/aws.py,sha256=4caUTO5nxZQyDVPyQdoPljaF-Lz_Fa6NEnu3FfmLZd4,8633
@@ -36,10 +36,10 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
36
36
  sky/backends/__init__.py,sha256=tpa9gAygQopsiBUUuy3wVmr4E05FoPTFHIWqEo4i-u0,627
37
37
  sky/backends/backend.py,sha256=DcZZYgBvhghjLnD1C2TvgAisPpcqT0oYNJ3p_P-0UT4,8098
38
38
  sky/backends/backend_utils.py,sha256=gaWoIBnz-R0vzQfbrBIt0ktuY1YyQu8wb6jVMJiJaiY,156272
39
- sky/backends/cloud_vm_ray_backend.py,sha256=r-Yzo2bssxyNKpD075kcNl9JwyuerHmbXvWkO543F2o,274885
39
+ sky/backends/cloud_vm_ray_backend.py,sha256=X-FJiOX82-Z8Ut2zX7T6u3T9rN4gxD7huwqrjriIVI8,275131
40
40
  sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
41
41
  sky/backends/local_docker_backend.py,sha256=i_Ff6MUNiIJKknTJw0YtQcvDlba2F7f44lx_eZKfP40,17409
42
- sky/backends/wheel_utils.py,sha256=IUruJijm5854UGDdSayHbHzjjWRM46bATK1nSnK44xY,11071
42
+ sky/backends/wheel_utils.py,sha256=2ik8vImmlYLCygRqqTI1ukfZNpqjpdjvj2kHWznFjs8,11104
43
43
  sky/backends/monkey_patches/monkey_patch_ray_up.py,sha256=76-y2fCaE3JINj8lEwHT1eirYzCbpD8O1ySsysuGu8o,3450
44
44
  sky/catalog/__init__.py,sha256=uP_1iXyr3cY9PWAMi-YSgZbqtg3P5ydhW1jS2LkRfN8,14754
45
45
  sky/catalog/aws_catalog.py,sha256=AttfW66wcHhh3gho-qSY6QzyF_WGakpAIS41syMfLTY,14194
@@ -82,9 +82,9 @@ sky/client/sdk.py,sha256=vjf9JgBGJqxdUTxiNhoS5c15iRS09xpxhAlO9RwYqBU,102103
82
82
  sky/client/sdk_async.py,sha256=ZIcKzER6SAoVmK9Q2hQqKrmLEYWLLIzQnNgTBQlko5s,30425
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=_Da_L-xJYcNiGjpRRIvGKUtih0ZZYDKoTvJ9SFFRqRc,246498
85
+ sky/client/cli/command.py,sha256=NOt6rOOkcvgjfa1XlAAMlzOjqslBN3r40vOz4OZNSlk,246736
86
86
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
87
- sky/client/cli/flags.py,sha256=yGb4edFHXRQGDfrlFK-pfHvMg8kpIIMsbmGkTEvmIFk,12087
87
+ sky/client/cli/flags.py,sha256=lLXHooU4HEslbHJuGAiCrKYkJZx99hAKaJbstw7s1bc,12136
88
88
  sky/client/cli/git.py,sha256=dqSaJI1Ndv6RfKJa6HT6ednXr0j_pVlwSdh3XiQzB60,22018
89
89
  sky/clouds/__init__.py,sha256=tC9_Vi6GvVceWUi6uZvm7vXzBa0uH3CjRQ-QCYqdJMw,1624
90
90
  sky/clouds/aws.py,sha256=wGhtQns0nxrdo09A33T6LOGKZLqVThTvVICZFwbKy_s,58360
@@ -112,81 +112,81 @@ 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=L4RsqCd1FTUlgzwuP0vHgBu4CUDqwy273Rkq90GmMlc,1423
116
- sky/dashboard/out/clusters.html,sha256=aU4M9iInqj_EQi1MEbxsneGJzPnDmIoNqs_5imrUMGA,1418
117
- sky/dashboard/out/config.html,sha256=5LkMcs8yWaZcYF3IzAbgDuqSI9VDoT64VCgYQYiK6QE,1414
115
+ sky/dashboard/out/404.html,sha256=-hELfCLLcuSFx7o__q0YfAIoRF5PecsV19savabHJNY,1423
116
+ sky/dashboard/out/clusters.html,sha256=s396ja86G1uR0-qcM0P5gzW37DRJwL5KzRXoUKoJRKM,1418
117
+ sky/dashboard/out/config.html,sha256=nJPMD_1qievBhgcndW11q6ZswoXYpNZ_mfabNuVEwCI,1414
118
118
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
119
- sky/dashboard/out/index.html,sha256=TfVYJ2ki-CwQNfTGSX9f6IhbnSaQmbxekOoBU9I0JUc,1407
120
- sky/dashboard/out/infra.html,sha256=UG8DrmHmvJ0xZja4dyVCQxi28Qaxr-UuM8DmwMFlzYQ,1412
121
- sky/dashboard/out/jobs.html,sha256=wU_x3HcolSeCTRO9pmZ96lcX77h7gaYxsUWqRAr9ccw,1410
119
+ sky/dashboard/out/index.html,sha256=sMJ3lK1KD8BMoeYfo_RcCDmngD4kUCCewyUkOmlIBVA,1407
120
+ sky/dashboard/out/infra.html,sha256=X6Zty-z8IZ8uIeQwLqITvVsxEvhC_Koy6zihjPMM3Bg,1412
121
+ sky/dashboard/out/jobs.html,sha256=IKDcyn2DYJeTlHvNZrNKQXOvpGnuJ1sf-ZVlV5ScCsA,1410
122
122
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
123
- sky/dashboard/out/users.html,sha256=4rWGGdDvsAAiEZ5ksU_Cbm3KG0jDy2TB3LSIJHWVdV8,1412
124
- sky/dashboard/out/volumes.html,sha256=ukl_7yriI8YSokIBwxO2xP2fZqwla_c5kJrwwQQZRK4,1416
125
- sky/dashboard/out/workspaces.html,sha256=qlnauNqpu4cpIq5ER1IetvGjp3EfDoFAZSy7Vi0yZFM,1422
126
- sky/dashboard/out/_next/static/chunks/1121-2edb8ab2ba080a76.js,sha256=fLXxFyYpxIIH-GAL9X9Ew3rc2f6zqOZqg6TjrapDZUM,8554
127
- sky/dashboard/out/_next/static/chunks/1141-2f60a90b7d76838e.js,sha256=tUOoU0nIEShZeD5pBiOWrl8-czHc6PpnxxJilnDplHM,17330
123
+ sky/dashboard/out/users.html,sha256=ZnRLmiPjCtlxKshkN4HFQ3REGd4tn2uIxjdmMr6nkdo,1412
124
+ sky/dashboard/out/volumes.html,sha256=r3ed1FyZ9xxzrTPRuYa9Y6ujVpaPIEp7ta4OXeQRc7k,1416
125
+ sky/dashboard/out/workspaces.html,sha256=8DSLzMZi9sE6559JFxuS7KQ0db8XQXkcHmnHOHMg4Ds,1422
126
+ sky/dashboard/out/_next/static/chunks/1121-8afcf719ea87debc.js,sha256=fLXxFyYpxIIH-GAL9X9Ew3rc2f6zqOZqg6TjrapDZUM,8554
127
+ sky/dashboard/out/_next/static/chunks/1141-943efc7aff0f0c06.js,sha256=tUOoU0nIEShZeD5pBiOWrl8-czHc6PpnxxJilnDplHM,17330
128
128
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
129
129
  sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js,sha256=TQCHO4AUL9MZo1e_8GOiL8y6vjQpj5tdXZ8oCKwM1LA,271
130
- sky/dashboard/out/_next/static/chunks/3015-bf218e4973bf5c8f.js,sha256=HVUqOiHR_zgRMKopnRkQU6GVt9qskpo1_3FfaZMWPlk,38729
131
- sky/dashboard/out/_next/static/chunks/3785.bc5d2853355c9c47.js,sha256=6fVX2IMO1KPvJT8-_6lGk902AiUdi9oOwT-OpX9nHSk,4427
130
+ sky/dashboard/out/_next/static/chunks/3015-6c9c09593b1e67b6.js,sha256=fsoCBib_DsqEXqCKMiUF29cseBjqGJQr-HwMsy4eHhs,39821
131
+ sky/dashboard/out/_next/static/chunks/3785.d5b86f6ebc88e6e6.js,sha256=vYbhoNejiE7xKPOKVVw4OyepR6jVNDQ5rrZ4TeihJKE,4427
132
132
  sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js,sha256=XphBY9psNzmvGD28zgDunQEb-TX0_eOVaElmcuOjD1g,7455
133
133
  sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js,sha256=0tYP8uuog_WLEZmEuej4zenfX0PUa17nR874wSSBgqI,54583
134
134
  sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js,sha256=tapRUwwIf-YKMV73OTSX78ZWKDKCZdcBx-JC-0wgEF4,31405
135
135
  sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js,sha256=cfO5u2g0pHjyBqEtXvxjqyzqSSCXL6l1vYdMFd90WGg,8571
136
136
  sky/dashboard/out/_next/static/chunks/4725.10f7a9a5d3ea8208.js,sha256=Og54dlTz1nWvsEyE9mmzeKjfJcNkloX5MbQN7ujfrt0,15962
137
+ sky/dashboard/out/_next/static/chunks/4783.c485f48348349f47.js,sha256=jFLx8ImF7DRXHUIb3scnAZnLBgI-SQhkCRMoSm-Fy8A,20663
137
138
  sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js,sha256=UMLEyZH3SWcAdDnaOYztbUYUzCCP2t0KiwP2vT_swDQ,65504
138
139
  sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js,sha256=5gyzVH8d5jnrVqCh9y0HEFcRmg4zguJ9_fe9olGFW2U,29162
139
140
  sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js,sha256=OLvQvfyMwh1ltTzUqJda3AF23BSCllkw9J7MVmkTyKI,15165
140
141
  sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js,sha256=UQxIbEZseq4ore8Y1Tm5OT3Re7fU8ZZKjQQWk4JPvK4,179393
141
142
  sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js,sha256=coh7shL8L5Vp2MsibBTx-xxNq_BI-zp0jAl7f6eVmUQ,9659
142
- sky/dashboard/out/_next/static/chunks/6633-efe924b9b8136699.js,sha256=UF0K6GcXAupMcXe7eyYcoblsEbXMPhLgSj_A1wesNyM,10647
143
- sky/dashboard/out/_next/static/chunks/6856-e6f350f567182e87.js,sha256=mfXoB61ooynzKpZqIF5OcPFeUVvWh8mPzbAmwJ12bnk,11490
143
+ sky/dashboard/out/_next/static/chunks/6856-049014c6d43d127b.js,sha256=mfXoB61ooynzKpZqIF5OcPFeUVvWh8mPzbAmwJ12bnk,11490
144
144
  sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js,sha256=iIEGQp3dsChOsDxd7QH_ShGczWhvigMfIT35CSsZjjY,11873
145
145
  sky/dashboard/out/_next/static/chunks/6990-08b2a1cae076a943.js,sha256=fWdN6V7HMAPhUGCaejOrETv_O1D7atMOpnMiE6LIsc8,16117
146
+ sky/dashboard/out/_next/static/chunks/7205-88191679e7988c57.js,sha256=z_Yjm7qPPSdBKI_YxSItLuHXo11yI2dPkz4s03oHCSc,11088
146
147
  sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js,sha256=5x42A-PEZANeHAcNDbcnJ21uQF48yTrP3XeW5L4RH1g,495
147
148
  sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js,sha256=Dnmr9e-yZQbnkjwzqIZU3aK-3u1Tqr8STF-ODYWLkaw,13304
148
149
  sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js,sha256=R6UUmK1P1PfVx9zOU0jlBsVSk5ZchuPwWObAeVkkhU0,785694
149
150
  sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js,sha256=FbppLXkHKPxzVKrJg15FwCoqLU18yn5jBgYgDkjqDGM,52179
150
- sky/dashboard/out/_next/static/chunks/8838.e7953f42af2b0544.js,sha256=2oTAwFktVQkqRa7sAhLAK9bTB5zSKWQdP2v4JrpWxLU,12040
151
- sky/dashboard/out/_next/static/chunks/8969-23c8fbdb8b397d59.js,sha256=BBlqnwaQqoh-myHA6gUr_sPPwP9G2u5gyuSnznd9z9o,12111
151
+ sky/dashboard/out/_next/static/chunks/8969-4a6f1a928fb6d370.js,sha256=sr3ziFsAJEhAoBBHE_cHUCfKoVh7KKuVnmXHWOVuSPg,13191
152
152
  sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js,sha256=Qmu5IJ8QMLwYYKT22vy4Rbzsf5BHzaUhdolaX4dhfQc,10561
153
153
  sky/dashboard/out/_next/static/chunks/9037-89a84fd7fa31362d.js,sha256=2ivIVd6v8xfZg1T4aXFtuZEXDeuejYEKPCQoLMmvbRo,18942
154
- sky/dashboard/out/_next/static/chunks/9277.71481d5b2e606e33.js,sha256=4IJ1zGg1_QBEbvrzUu9FZHPVF6j5yFU0IjcuwRy6IC4,20222
154
+ sky/dashboard/out/_next/static/chunks/9946.3b7b43c217ff70ec.js,sha256=VBkPZwDbUpmP2iYJKdnKOcVjY_ZtEGiftXh7Raxs7ck,12481
155
155
  sky/dashboard/out/_next/static/chunks/9984.7eb6cc51fb460cae.js,sha256=oL14jmN_217nK9OBWcAXikK7XZBcjLCfUymuXbvuTUE,43003
156
156
  sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
157
157
  sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_QbamfAbTV4_xMVOTjz0rhiAPAi8ET5MuSNjjW5oMng,140965
158
158
  sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
159
159
  sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
160
160
  sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
161
- sky/dashboard/out/_next/static/chunks/webpack-008593a02784a2df.js,sha256=sSw7U2iheTO5IgdsBeV2xE33iBg8lyl-1FDl-aPRKzU,4744
161
+ sky/dashboard/out/_next/static/chunks/webpack-6e76f636a048e145.js,sha256=wq1Fj-i_9I-RNvESKj6vxLA60J8FBnV47TSTw8yRGgE,4744
162
162
  sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
163
163
  sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
164
164
  sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
165
165
  sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js,sha256=imQqQzmk2dN9ly16TS_d7BV1rHuhzYxrkyx4YUylJCw,796
166
166
  sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js,sha256=caOxDw7dl3NlA86txmKO4O-D02wQ_o8WbGleTa-bU1I,482
167
167
  sky/dashboard/out/_next/static/chunks/pages/infra-c320641c2bcbbea6.js,sha256=ENGA6uTlyElTQY977jpF7jsN-R02XPdruME8Ucbfwlw,839
168
- sky/dashboard/out/_next/static/chunks/pages/jobs-4b3ba1792dc6f21d.js,sha256=8VvOWZ2SgavjyjkAKu4-P3ZI57YMT1irPxplWj6jvpo,832
168
+ sky/dashboard/out/_next/static/chunks/pages/jobs-7421e63ac35f8fce.js,sha256=sKihhiBvnPaqWkWAqFiCYGiW-5PM_Q30ebuQ3ArVsrY,832
169
169
  sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js,sha256=mZuU1XexJy9ix9hAMnH0l2btGQHJPxohZg4K7NY8faA,838
170
170
  sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js,sha256=URJ4PMHh15XCXB6os2a7ymR3mG3MfTNrKyizYEhW2OE,836
171
- sky/dashboard/out/_next/static/chunks/pages/workspaces-338de9df523d883a.js,sha256=8X9drwPTXf1pq7bnxgsU2lk_6F44-g4jNdtV5sNqa0g,863
172
- sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-ec747e4f2dc39b57.js,sha256=l722LkkvEJ_9Zsd5hbKsVC3uvf9pVFrr_xTuwkVGGH4,19625
171
+ sky/dashboard/out/_next/static/chunks/pages/workspaces-be35b22e2046564c.js,sha256=GECjvYOxR-KjwjvaMxE738HlZnimvjIHKAXjNtai288,863
172
+ sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-a0527109c2fab467.js,sha256=bA5Yw2O5deSwLzMWMbMRmZc5hLVjNW1Cqym7bBaATqQ,20079
173
173
  sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-06afb50d25f7c61f.js,sha256=8VCfLDItToMOu1U9lcUOcoCf53xuE16WPzqvPPb5mOw,25537
174
174
  sky/dashboard/out/_next/static/chunks/pages/infra/[context]-81351f95f3bec08e.js,sha256=82dg8LHkKpmDVPYtAE8RLkkfiWiV_usv7lrqqZfyI1g,847
175
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-ad2cd5aab787bc15.js,sha256=MZ_9zazm4zFjHwTQxVlVpYQvjQtqckcOgzXOJGBuTqw,27971
176
- sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-7d4182df6625fe10.js,sha256=Q0LIzBnqZxcH4wL87way-kjcfK74u2K75ytBzz4W0PY,25590
175
+ sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js,sha256=pDCMgJauG-gMgWzCSTF3CBcc_WduZw75NhuyRBbm8bg,29203
176
+ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-07349868f7905d37.js,sha256=Q0LIzBnqZxcH4wL87way-kjcfK74u2K75ytBzz4W0PY,25590
177
177
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
178
- sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-65f72dee417237ef.js,sha256=JLMuvtlbTdAfZZQXphwUWEL4QI8G8ePamwRCq2UgYqc,1495
178
+ sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-de06e613e20bc977.js,sha256=8d4XLtF8E3ahNnsbdNUQkJVbM1b9sIG9wRaoRjRwMhE,1495
179
179
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
180
- sky/dashboard/out/_next/static/tYn7R2be3cQPYJfTxxE09/_buildManifest.js,sha256=LUiI7KnUALcdnX9KDvhKXBuPg2B2A0tLJ5V_XpzRGzU,2428
181
- sky/dashboard/out/_next/static/tYn7R2be3cQPYJfTxxE09/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
182
- sky/dashboard/out/clusters/[cluster].html,sha256=GC6zXjKRz6hbBk0-Y3DWgBbEvpcHyuX2O-4s7sT8nTw,2936
183
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=nILHPkOtcWMz_OQDXZlkQ6nguIgB84ps_KINs8sVlQc,2073
184
- sky/dashboard/out/infra/[context].html,sha256=p_coLEP9nfb2q9MY03-7Rt2h47jhIqrlq27Pv3-V_fY,1436
185
- sky/dashboard/out/jobs/[job].html,sha256=V_96cXyf04JoayPyN0dyNhD7uokqWtidghMjEUWdhww,2304
186
- sky/dashboard/out/jobs/pools/[pool].html,sha256=MwpJy5lZPEdslW1jw2m6euvEGOTiyB_NGVQ85srX3ew,2142
180
+ sky/dashboard/out/_next/static/wN25tc2rkvOkO-qkzIhcD/_buildManifest.js,sha256=osxUordT3Fb32OsAF270nSx4GMgfsKF6Vc8OBBxtPgk,2428
181
+ sky/dashboard/out/_next/static/wN25tc2rkvOkO-qkzIhcD/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
182
+ sky/dashboard/out/clusters/[cluster].html,sha256=iVENQ7BQVWQv3cbGqKeyrhmMcYFF-NOtCsXSPKfaLto,2936
183
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=FH2wDhw6sQkmTkEnCXMsCZZiCmjkpVnUNjtcOlodCj0,2073
184
+ sky/dashboard/out/infra/[context].html,sha256=N9GD2b8COYVfx21rt6KJCUvNSlTIvURC9FfK-qBypEQ,1436
185
+ sky/dashboard/out/jobs/[job].html,sha256=L7UjpbYhk7c5URohFsEqusd6PSgXOxxDufr5r9P4_ak,2304
186
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=VlS6EJXuH6HbE4boK7VSz6ngyKYQldIkxpIj8XvaQzg,2142
187
187
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
188
- sky/dashboard/out/workspace/new.html,sha256=6dUWFXKQm8KMuGDb130XUJaMh9bHFGBH-THFq0GLt34,1428
189
- sky/dashboard/out/workspaces/[name].html,sha256=s40EyDTdv4jZ4Yk7b1oTV0jL2AHpKLH7-yumw3vAums,2759
188
+ sky/dashboard/out/workspace/new.html,sha256=501TvfqebnOxCAj2s-VWfNwcbVeovXJiju_UychtN7g,1428
189
+ sky/dashboard/out/workspaces/[name].html,sha256=MLuZoBOHYSMszSTTFHO4u9ZOy2y0aUkji6f0ka3useU,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
@@ -204,7 +204,7 @@ sky/jobs/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
204
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=FbClCppWI5q85rxHtHavE8mo73AGUrk3mHIudjNv0fM,40821
207
+ sky/jobs/server/core.py,sha256=rtD5S82P6NnHk5XDpeSlbg-0lGShRrZWRutOn_rDVs0,40821
208
208
  sky/jobs/server/server.py,sha256=v91KdT-ntLna46arzIgjckvNqebyREPw8z8U61t79qo,7195
209
209
  sky/jobs/server/utils.py,sha256=7YRZNF8BGTQwWRiY7P40n4hQpCCOkp9gBiapd5rVFaI,3517
210
210
  sky/logs/__init__.py,sha256=zW4gAEvWDz5S53FlLp3krAuKrmTSJ0e3kZDnhxSbW4E,722
@@ -216,14 +216,14 @@ sky/metrics/utils.py,sha256=Cww3yNG4HyW4DEdLOFUayFgMZ16t2JFSvvhuTTV7Vio,7654
216
216
  sky/provision/__init__.py,sha256=yEe5zxKjy8M4D6mXHNGx_35h4IQ83t8HtZjwFFaamNw,7911
217
217
  sky/provision/common.py,sha256=LdjM9SL9NDtsARom12tVv_WoUNL3PTlU5RoLfeWGGgM,10807
218
218
  sky/provision/constants.py,sha256=oc_XDUkcoLQ_lwDy5yMeMSWviKS0j0s1c0pjlvpNeWY,800
219
- sky/provision/docker_utils.py,sha256=ev_f5ZebMZ4NYe6OxleisBO8EAB6W0FHFJlaqVK3ugE,20939
219
+ sky/provision/docker_utils.py,sha256=qkqA1jpmheejEUGiwZKxwNyGAUopYvj6CNgcfw4sVJI,21437
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
223
  sky/provision/provisioner.py,sha256=gH85DqHFAUJU1L95zA1kA6lsYMDzClSfQHe9gWfpBE0,33352
224
224
  sky/provision/aws/__init__.py,sha256=mxq8PeWJqUtalDozTNpbtENErRZ1ktEs8uf2aG9UUgU,731
225
- sky/provision/aws/config.py,sha256=Ux9lCz6HWnxARSBdBgA2V401Pamq3E1lr-uzfgG3TOc,28045
226
- sky/provision/aws/instance.py,sha256=8mjjZN3dGHddrpMzr0CcwQH-cM8W73YV4G3r1Pma414,43387
225
+ sky/provision/aws/config.py,sha256=6ujEyqBM2qrw12IezvvrYbdsK2fiNC8hzYweb7GZrfg,28034
226
+ sky/provision/aws/instance.py,sha256=utnq5lCZxcMlEhROPmdocLuYFn44KW8So_8K9UG9CSc,43740
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
@@ -239,7 +239,7 @@ sky/provision/do/__init__.py,sha256=VAhSO9F9FDAjvEuCDlRPueB-TTA3XHR61vVXyUe85z0,
239
239
  sky/provision/do/config.py,sha256=WWFz6kZLKrUHoJoKRzHGY8ck_ieQiBrMWDb5JP6rWUk,387
240
240
  sky/provision/do/constants.py,sha256=NYomY7Zb3Svd33wJbNJTi4NwYMzbD7nGNlHWBX-_EYI,172
241
241
  sky/provision/do/instance.py,sha256=c9kZ3qPy_Ra0qm8m5T_4frSSlR3HI8ke5WS-ozxooWg,11223
242
- sky/provision/do/utils.py,sha256=aoC_C9cyHrKJkl7cOXkpNWfdB750mskRb4QqulujJGk,10368
242
+ sky/provision/do/utils.py,sha256=x-qb9_3xtVKu8l-J1jMpyMTBCLbEACy0Nkis_n-kxig,10382
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
@@ -260,9 +260,9 @@ sky/provision/kubernetes/config.py,sha256=iuKFZdivSaEOZf6PWz3JLju3bqyIuO58jTb9fF
260
260
  sky/provision/kubernetes/constants.py,sha256=vZJQsAVjAgwsOskB48tIFSXtNw7IFnJOQE_H6N-vOYQ,1130
261
261
  sky/provision/kubernetes/instance.py,sha256=kAsQ_uVkX31Sm4aaPCo5IlT1nohaveIi98mHA921pE8,67181
262
262
  sky/provision/kubernetes/network.py,sha256=Dgj8u7IQBHKHt-mSDhYzue1wfDk96FR_8fO89TwuZ2E,12846
263
- sky/provision/kubernetes/network_utils.py,sha256=eEbt8acJW3Ohe6qHZNZ9GAQ29kIZEQX7Q5S08yOuvhA,12220
264
- sky/provision/kubernetes/utils.py,sha256=LHEGg6XicmZquhbNdic1WejYPWtIj2cGgU9L6ZeatM0,153569
265
- sky/provision/kubernetes/volume.py,sha256=9u7kDnQxNKvic4ZKJFxGE7fHcMo5N18VQmkVjseRFjU,8059
263
+ sky/provision/kubernetes/network_utils.py,sha256=EROwcgkdVawLQVkw6cpRaEg4k2pS0V8dEoO8vh9G9Kc,12273
264
+ sky/provision/kubernetes/utils.py,sha256=8H9lTtLCOCQ4k-85dieIzDfY6ylbv16hPei7oZuRDys,153609
265
+ sky/provision/kubernetes/volume.py,sha256=mChbYJw02vrUbBWw9a2mKHWlSfCBjWS4AeWs5_6MPSw,8142
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
@@ -338,7 +338,7 @@ sky/serve/constants.py,sha256=VYQKGuwaPI9o2xC5HzB0TGKdiMeE9gOiX82K5yGEfGg,5062
338
338
  sky/serve/controller.py,sha256=JlDvk275fBt5d_I1B2KiBHiBlz-98NlgNF-7ShvU9tE,12445
339
339
  sky/serve/load_balancer.py,sha256=ZUt1QEf8b7tpmtedg7oiWkXDapm8fb7a6YdLqDK7Tno,14204
340
340
  sky/serve/load_balancing_policies.py,sha256=Ssr0GtHKyzzAIEOUAMCLvND5rapmrpxI-OQemf3dgxU,5177
341
- sky/serve/replica_managers.py,sha256=DKQNXkMkmWbGL928GvXHZQIEVC5YTYJaWDgWCYYSV3s,70451
341
+ sky/serve/replica_managers.py,sha256=YaNyB8czSbxwlZP3oQqM4fOwxK0chIp9e7XVJYiTB4g,70830
342
342
  sky/serve/serve_state.py,sha256=k9rvkz-l8tpZZN1cL7aBtb60l_DE_3dE0DVyfT4tYzg,33328
343
343
  sky/serve/serve_utils.py,sha256=JptYHFMMlRGsHF10HjUnIiVc2MUHok393B24WJyO2Aw,69220
344
344
  sky/serve/service.py,sha256=yiqNIAJ2-whyrux-uY4CZrLDFcmNVhWZxQq2HfcFJdo,18401
@@ -350,7 +350,7 @@ sky/serve/client/sdk.py,sha256=fqz6SlCIgzuLvEMkUhTpxvj8oIoV8vhpvhK1QbdenD8,11614
350
350
  sky/serve/client/sdk_async.py,sha256=idvbLb6q_NBo79OnXE-3SF-bwYFMPzDg_khiNqOLd3o,5018
351
351
  sky/serve/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
352
352
  sky/serve/server/core.py,sha256=QEdBUE0clX8ZSQEO_mb5Gt3ykeWBdVzqtmiRcBjH7UY,10321
353
- sky/serve/server/impl.py,sha256=Oe-4hSYuNXZ48YOiA9FHyaiwh0rrS02dg7aOWnRsQbQ,42760
353
+ sky/serve/server/impl.py,sha256=GPf5HO45jrMA9Lc01P_TA-Ch21Y3tcJFK0jnFCFzFYg,42760
354
354
  sky/serve/server/server.py,sha256=A9K37a0nQgZeN3eKWv62Oh2C5TSAReTZ9pHmztqlI-c,4396
355
355
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
356
356
  sky/server/common.py,sha256=oSYD2PLnnQL3R5K5kbMaSJH5hUoF9ddU0KZ7vMbkVLk,39141
@@ -359,7 +359,7 @@ sky/server/constants.py,sha256=yjX8t73w6gj3_SDSP4vBFdNdiOqq7dnlXT2pw3yo0jM,2321
359
359
  sky/server/daemons.py,sha256=3cwp-Os2StWLaOF21Sv4jzJ1zkEYpKuiKF5HFkg86WA,8700
360
360
  sky/server/metrics.py,sha256=6H6n6dq_C5HMaU97mJlRUB9bqOEA_k205PO15wE3AWk,3648
361
361
  sky/server/rest.py,sha256=XExs_gWGnHQCgXcxdSW7MRr9iJ66b1WDMpkkYWa_LNc,12684
362
- sky/server/server.py,sha256=3U57Uryat27LEt8iMlaxK6DRmqWl75nu3TgCM2XOfl4,77015
362
+ sky/server/server.py,sha256=Efz0FCC_oYWLFyuUbRnJoz1rrtc6-nBvjnZE_MGN6jY,78401
363
363
  sky/server/state.py,sha256=YbVOMJ1JipQQv17gLIGyiGN7MKfnP83qlUa5MB1z0Yk,747
364
364
  sky/server/stream_utils.py,sha256=RS4RuMxQqTGqp3uxzZVtmFWzos4d49P7hMX_VklzEVU,9189
365
365
  sky/server/uvicorn.py,sha256=7K-_Xge8EDWGqunqzSqPzGVBo5X1F8snKzWmzE2FdrY,9292
@@ -372,7 +372,7 @@ sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFz
372
372
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
373
373
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
374
374
  sky/server/requests/executor.py,sha256=1TFMCK2-VyyxhkPitOyUk-3Eutozw_H9ncs-9OBrekc,27168
375
- sky/server/requests/payloads.py,sha256=5lyGBtG9rU-TNVjtIBRRtGQAG2AxGlZ4Oax37ncSOw0,26185
375
+ sky/server/requests/payloads.py,sha256=H7XgGTTBcL6qey2NvzYIek7nGxA_V-qyfYMRkj72KTc,26229
376
376
  sky/server/requests/preconditions.py,sha256=uUQjzFFHf7O5-WvBypMzqViGmd1CXksbqrrDPmY_s_Y,7178
377
377
  sky/server/requests/process.py,sha256=UpJp5rZizNMFRCNRtudFSjbcJhFarFbtAGDWI9x_ZyE,13197
378
378
  sky/server/requests/requests.py,sha256=-A399p-xVwGCA63qUvur7gI1qtDJPwo_bRbagjr3L1o,24219
@@ -381,10 +381,10 @@ sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY
381
381
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
382
382
  sky/server/requests/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
383
383
  sky/server/requests/serializers/decoders.py,sha256=KSOy147DLT05RBEHpnFyY0Pi3hxMWl_y-dWGfTDCMeU,7175
384
- sky/server/requests/serializers/encoders.py,sha256=Wc7mZAxRn14IFV-eollqvPROF_L2vamMZ3oE9i9MUz0,6765
384
+ sky/server/requests/serializers/encoders.py,sha256=b0RmAqAkKYoetw_qyGkSN-Y-kab9pN1a38kBzu-zj8c,7425
385
385
  sky/setup_files/MANIFEST.in,sha256=4gbgHHwSdP6BbMJv5XOt-2K6wUVWF_T9CGsdESvh918,776
386
386
  sky/setup_files/alembic.ini,sha256=854_UKvCaFmZ8vI16tSHbGgP9IMFQ42Td6c9Zmn2Oxs,5079
387
- sky/setup_files/dependencies.py,sha256=D-y2qkG21XSL7MFceqqogvRc_RrBhgtDG2cI3gJWfTk,7213
387
+ sky/setup_files/dependencies.py,sha256=wvF2ZpKeQ0_Gs-Y2GVtbLoINKaRQGZ0SCkiQ70yff3U,7241
388
388
  sky/setup_files/setup.py,sha256=GTXvAi65S4_TSLhQ1GzkmaWf_yzciHiaxMbZumcTtKU,7522
389
389
  sky/skylet/LICENSE,sha256=BnFrJSvUFpMUoH5mOpWnEvaC5R6Uux8W6WXgrte8iYg,12381
390
390
  sky/skylet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -454,7 +454,7 @@ sky/usage/constants.py,sha256=mFrTgrFIfFf4kpcl-M1VDU7_moD5_mJazUJTUDrybms,1102
454
454
  sky/usage/usage_lib.py,sha256=JlKupp72xYGDbk9UbfTq_tPBoJ2CxZyjeIvajgYdU7I,21470
455
455
  sky/users/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
456
456
  sky/users/model.conf,sha256=nPAaMai2fc-nlnEDTfW5Lyw6vgCcOS32BSms4aFOHoY,259
457
- sky/users/permission.py,sha256=lKJA3lpdnfsQNwsKOM7Tj0m2-tdFaR2ve3ojxMs9uV8,15635
457
+ sky/users/permission.py,sha256=EL-a1yrZXqC_KLZcDY5yfBtcKvZj2KP3CYYJoZop6SY,15696
458
458
  sky/users/rbac.py,sha256=3ZWukXo85u6zWbPmHcPsF9EtZ3cd_51PLZYf2h-7uAM,3636
459
459
  sky/users/server.py,sha256=RyxxbjHkL3bIQMqzOkwBnPp05lVdKWabu8inshLfOcI,27921
460
460
  sky/users/token_service.py,sha256=78Xgm6rkd5M6IMMUekAp2YNLms4teNNvVDPfHh_5jts,7804
@@ -466,15 +466,16 @@ sky/utils/atomic.py,sha256=vrw-7XCnckF0xCx-ttamao7evPdGtVsnjaTtgMlBXIE,1280
466
466
  sky/utils/cluster_utils.py,sha256=s6DFRXktv6_gF_DnwDEXJ7CniifHp8CAPeGciRCbXgI,14432
467
467
  sky/utils/command_runner.py,sha256=tmkbVPDr17ZBAA-_TzKAus6LMtuIGk2QLLVFjIYPnUE,48582
468
468
  sky/utils/command_runner.pyi,sha256=IS3qeCTgWys94KhaHx3S2Pty8qDWn_zFht7bgDLJFcw,9593
469
- sky/utils/common.py,sha256=nTg-mjNu0diZjs2UvyiMc84Tu1ZonRLRAmfqFIP1TtY,2242
470
- sky/utils/common_utils.py,sha256=jyapcfohSKKmb-Sq-mI-6MfRUkC7s5-7UHO-o1zXw5I,39977
469
+ sky/utils/common.py,sha256=yJc110y8rwcBIKEJgb8kUD4e1OeolFEVtonwmqtAxCM,2729
470
+ sky/utils/common_utils.py,sha256=7K_eGR3S5O5SlAH4SBFqDuJTNchURw656OYeR0rC7Qk,40045
471
471
  sky/utils/config_utils.py,sha256=agfDWJi79DH5XKD_GBvUwhRwmB0-ZkYbKCjcEgV6gP4,13861
472
472
  sky/utils/context.py,sha256=yEGvcKr9fKEeoAnNKiXDiky7dlLOChFdZYXGr0EeQ9g,9997
473
473
  sky/utils/context_utils.py,sha256=cby-QPmnGObjIE4K7eZ_dkWZdUo7YJUmnJr5oKf_v54,6712
474
474
  sky/utils/control_master_utils.py,sha256=iD4M0onjYOdZ2RuxjwMBl4KhafHXJzuHjvqlBUnu-VE,1450
475
475
  sky/utils/controller_utils.py,sha256=X1u0zNmsibNQ86uTaB1XLY3RaYKvs_e9M08tDcbOKJU,59450
476
476
  sky/utils/dag_utils.py,sha256=VDmLl0qw_E2xRwGW7Lkq4l67Ck6RnrMOVfkkBtSVkc4,8571
477
- sky/utils/env_options.py,sha256=PaQGjem9nK4R8Y_YvCLkNZ891wWiS3t50hE8q2HLis0,1922
477
+ sky/utils/directory_utils.py,sha256=hpvl7i5AFMffbg9TuIu1iRO8RqtLXMbSU_COkSf1Exc,327
478
+ sky/utils/env_options.py,sha256=UjPNtr5h-L0HkzhLIUdKDVHrx73QQngz3a5Z5mq-v1Q,2091
478
479
  sky/utils/git.py,sha256=rzGuJ1PEjAk8jG2X9a9QXSVJ-UqiSSNeRsHvr4bG7zI,278
479
480
  sky/utils/git_clone.sh,sha256=hXOz7i1MCYl2IwMdKnFYhinhh8Jaf5a1Qwd65cePQYc,17790
480
481
  sky/utils/infra_utils.py,sha256=WkkB4Hj6CX-3eV029fPYqydNVyFZ8ZwRAVA_GCLJ9QU,6981
@@ -487,7 +488,8 @@ sky/utils/resource_checker.py,sha256=0rwr7yLVkYO3Qq5FZmniyPp-p66tIXmSoK5t0ZgIfso
487
488
  sky/utils/resources_utils.py,sha256=3wnzmSIldFS5NmHTx6r2viS8zaP1q20noQolgQqucUU,16722
488
489
  sky/utils/rich_console_utils.py,sha256=wPvAlshaFHuMZSjiDnaK3OSBppZLBjAn-lj7AvxNBQk,553
489
490
  sky/utils/rich_utils.py,sha256=Q-N5bZGfvqciU5cuQacInoNpldZcaMKCdBX2368KIDA,19971
490
- sky/utils/schemas.py,sha256=givsSlbkPn04X83IQOMSqnm_GYPMM1kmhqrm5jbCxPg,56322
491
+ sky/utils/schemas.py,sha256=d7vWIQWCYCzGYgNNbN-jWArHYspXMmgjwLhjgNXgoU0,56352
492
+ sky/utils/serialize_utils.py,sha256=nn2x-8cTZeiVr5cgaBpLOGGpSFtms62QAJFyxs_bodI,630
491
493
  sky/utils/status_lib.py,sha256=QGkd6COD1GX1h30Mk9RMUdyeUOMJs5971GkxTcFgdsU,1705
492
494
  sky/utils/subprocess_utils.py,sha256=tOpFY_1ml7JkVGAN1o473lcKPklGR95qBCW61eu8kEo,15773
493
495
  sky/utils/tempstore.py,sha256=3S5fJ3UjnE12ve38c3MpTXpoRWfDSGndZpqNe7P_8aU,2148
@@ -511,7 +513,7 @@ sky/utils/kubernetes/deploy_remote_cluster.py,sha256=0bQqtz8dDHaYSfxVP5BPM6OoUo2
511
513
  sky/utils/kubernetes/exec_kubeconfig_converter.py,sha256=fCWX13qvbqvoHghwjWjZdmzfOrcmSiTaQnP6owJ05A8,2256
512
514
  sky/utils/kubernetes/generate_kind_config.py,sha256=_TNLnifA_r7-CRq083IP1xjelYqiLjzQX9ohuqYpDH8,3187
513
515
  sky/utils/kubernetes/generate_kubeconfig.sh,sha256=JnHiFJ8RTULB55jpbbmQrixzxLpc2otbRnUleDakMR4,10694
514
- sky/utils/kubernetes/gpu_labeler.py,sha256=3v5Gwdwt0O5R_7moGCI5C2VgeQeOw9nVbI4JJS8TkUY,10352
516
+ sky/utils/kubernetes/gpu_labeler.py,sha256=9Jr-8p8NdWhvwB9C8aCx3CB8WExOzCoRhdwCPx7G30s,10389
515
517
  sky/utils/kubernetes/k8s_gpu_labeler_job.yaml,sha256=k0TBoQ4zgf79-sVkixKSGYFHQ7ZWF5gdVIZPupCCo9A,1224
516
518
  sky/utils/kubernetes/k8s_gpu_labeler_setup.yaml,sha256=VLKT2KKimZu1GDg_4AIlIt488oMQvhRZWwsj9vBbPUg,3812
517
519
  sky/utils/kubernetes/kubernetes_deploy_utils.py,sha256=lF9hMg0TVVX1jE8W1xmzkaz66YOwFJvGNws3ICC2syA,15932
@@ -521,19 +523,19 @@ sky/utils/kubernetes/ssh_jump_lifecycle_manager.py,sha256=Kq1MDygF2IxFmu9FXpCxqu
521
523
  sky/utils/kubernetes/ssh_utils.py,sha256=hPV2gU6j3j1aVf8kFvkux_KE88R5j8-JUDEopG6v70o,9046
522
524
  sky/volumes/__init__.py,sha256=oy7JTgRXxkK2nOOF-OWivr0xeSL1-Syz703kZEuUnn0,241
523
525
  sky/volumes/utils.py,sha256=5085ymeeQpzQAjXGm6LPn5-73hUR0biF7wlImeOa5P4,5680
524
- sky/volumes/volume.py,sha256=XR316DX2vgKJr7Qw2HzjGboSBeI_wfeFv98rpHYOGSM,4389
526
+ sky/volumes/volume.py,sha256=LV8O4Wtf6Wpz95rwFTRjUim6PinsfkgdXK2Oyisj98c,5035
525
527
  sky/volumes/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
526
- sky/volumes/client/sdk.py,sha256=1IkN4Jq_1Ukdh9txY8BNV2hc1xvvbkN-mOLFgXdZwDc,2672
528
+ sky/volumes/client/sdk.py,sha256=Rf5D_tEDvObf5Q1FHW8jzFYN8-P9DhqeBjqsplJ_WPQ,2549
527
529
  sky/volumes/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
528
- sky/volumes/server/core.py,sha256=JH-vGe78BF7Ka-0fnMJXK0E7TLm_QJ5aaWBaMdmCF98,8745
530
+ sky/volumes/server/core.py,sha256=R1oDdodPC_VpTFNuus82BNIp2LI5ca7Ma1Pn_Fns6Kk,8856
529
531
  sky/volumes/server/server.py,sha256=jucvW3O2nQFQz6AxT4zpXIX2eJFrIgUxeR6aaoM6am4,3051
530
532
  sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
531
533
  sky/workspaces/core.py,sha256=AjwbbRwk0glzCnqICJk4sQzMoUcawixbXoQWKLB3-aQ,25372
532
534
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
533
535
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
534
- skypilot_nightly-1.0.0.dev20250819.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
535
- skypilot_nightly-1.0.0.dev20250819.dist-info/METADATA,sha256=WyRMnhURxpS1vfpmQXMcnA_8zOwZp9gCeA2lEGLxbyU,20381
536
- skypilot_nightly-1.0.0.dev20250819.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
537
- skypilot_nightly-1.0.0.dev20250819.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
538
- skypilot_nightly-1.0.0.dev20250819.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
539
- skypilot_nightly-1.0.0.dev20250819.dist-info/RECORD,,
536
+ skypilot_nightly-1.0.0.dev20250821.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
537
+ skypilot_nightly-1.0.0.dev20250821.dist-info/METADATA,sha256=Ehg2NgMdI9qWbtiqNMNEeT4zd5h2d5jMHvQr1QD6LIk,20089
538
+ skypilot_nightly-1.0.0.dev20250821.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
539
+ skypilot_nightly-1.0.0.dev20250821.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
540
+ skypilot_nightly-1.0.0.dev20250821.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
541
+ skypilot_nightly-1.0.0.dev20250821.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3015],{23015:function(e,s,t){t.r(s),t.d(s,{ClusterJobs:function(){return K},ManagedJobs:function(){return Z},ManagedJobsTable:function(){return B},Status2Actions:function(){return q},filterJobsByName:function(){return U},filterJobsByPool:function(){return O},filterJobsByUser:function(){return W},filterJobsByWorkspace:function(){return J},statusGroups:function(){return z}});var r=t(85893),a=t(67294),l=t(11163),n=t(41664),i=t.n(n),c=t(55739),o=t(30803),d=t(37673),u=t(68764),h=t(36989),x=t(51214),m=t(68969),p=t(6378);class j{_generateFilterKey(e){let{allUsers:s=!0,nameMatch:t,userMatch:r,workspaceMatch:a,poolMatch:l,statuses:n}=e;return["allUsers:".concat(s),t?"name:".concat(t):"",r?"user:".concat(r):"",a?"workspace:".concat(a):"",l?"pool:".concat(l):"",n&&n.length>0?"statuses:".concat(n.sort().join(",")):""].filter(Boolean).join("|")||"default"}_getCacheStatus(e){let s=this.fullDataCache.get(e),t=Date.now();if(!s)return{isCached:!1,isFresh:!1,age:0,maxAge:12e4,hasData:!1};let r=t-s.timestamp;return{isCached:!0,isFresh:r<12e4,age:r,maxAge:12e4,hasData:s.jobs&&Array.isArray(s.jobs),data:s}}async getPaginatedJobs(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{page:s=1,limit:t=10,...r}=e,a=this._generateFilterKey(r);try{let e=this._getCacheStatus(a);if(e.isCached&&e.hasData){let l=e.data,n=(s-1)*t,i=l.jobs.slice(n,n+t);if(!this.prefetching.has(a)&&(!e.isFresh||e.age>e.maxAge/2)){let e=this._loadFullDataset(r,a).catch(()=>{}).finally(()=>this.prefetching.delete(a));this.prefetching.set(a,e)}return{jobs:i,total:l.total,totalNoFilter:l.totalNoFilter||l.total,controllerStopped:l.controllerStopped,statusCounts:l.statusCounts||{},fromCache:!0,cacheStatus:e.isFresh?"local_cache_hit":"local_cache_stale_hit"}}let l=await p.default.get(m.getManagedJobs,[{...r,page:s,limit:t}]),n=(null==l?void 0:l.jobs)||[],i="number"==typeof(null==l?void 0:l.total)?l.total:n.length,c=!!(null==l?void 0:l.controllerStopped);if(!this.prefetching.has(a)){let e=this._loadFullDataset(r,a).catch(e=>{console.warn("Background prefetch of full jobs failed:",e)}).finally(()=>{this.prefetching.delete(a)});this.prefetching.set(a,e)}return{jobs:n,total:i,totalNoFilter:(null==l?void 0:l.totalNoFilter)||i,controllerStopped:c,statusCounts:(null==l?void 0:l.statusCounts)||{},fromCache:!1,cacheStatus:"server_page_fetch"}}catch(e){return console.error("Error in getPaginatedJobs:",e),{jobs:[],total:0,totalNoFilter:0,controllerStopped:!1,statusCounts:{},fromCache:!1,cacheStatus:"error"}}}async _loadFullDataset(e,s){let t=await p.default.get(m.getManagedJobs,[e]);if(t.controllerStopped||!t.jobs)return t;let r={jobs:t.jobs,total:t.jobs.length,totalNoFilter:t.totalNoFilter||t.jobs.length,controllerStopped:!1,statusCounts:t.statusCounts||{},timestamp:Date.now()};return this.fullDataCache.set(s,r),r}isDataLoading(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=this._generateFilterKey(e);return this.isLoading.has(s)||this.prefetching.has(s)}isDataCached(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=this._generateFilterKey(e),t=this._getCacheStatus(s);return t.isCached&&t.isFresh&&t.hasData}getCacheStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=this._generateFilterKey(e);return this._getCacheStatus(s)}invalidateCache(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;if(e){let s=this._generateFilterKey(e);this.fullDataCache.delete(s),this.isLoading.delete(s),this.prefetching.delete(s)}else this.fullDataCache.clear(),this.isLoading.clear(),this.prefetching.clear();p.default.invalidateFunction(m.getManagedJobs)}getCacheStats(){let e={cachedFilters:Array.from(this.fullDataCache.keys()),loadingFilters:Array.from(this.isLoading.keys()),prefetchingFilters:Array.from(this.prefetching.keys()),cacheSize:this.fullDataCache.size,loadingCount:this.isLoading.size,prefetchingCount:this.prefetching.size};for(let[s,t]of(e.detailedStatus={},this.fullDataCache.entries())){let r=this._getCacheStatus(s);e.detailedStatus[s]={age:r.age,isFresh:r.isFresh,hasData:r.hasData,jobCount:t.jobs?t.jobs.length:0}}return e}constructor(){this.fullDataCache=new Map,this.isLoading=new Map,this.prefetching=new Map}}let f=new j;var g=t(23266),b=t(17324),v=t(53081),N=t(13626),w=t(23293),y=t(6521),k=t(53610),C=t(92128),S=t(94545),_=t(99307),L=t(20546),E=t(23001),R=t(88950);let D=(e,s)=>{let t={...e.query},r=[],a=[],l=[];s.map((e,s)=>{var t;r.push(null!==(t=e.property.toLowerCase())&&void 0!==t?t:""),a.push(e.operator),l.push(e.value)}),t.property=r,t.operator=a,t.value=l,e.replace({pathname:e.pathname,query:t},void 0,{shallow:!0})},F=(e,s)=>{let t={...e.query},r=t.property,a=t.operator,l=t.value;if(void 0===r)return[];let n=[],i=Array.isArray(r)?r.length:1;if(1===i)n.push({property:s.get(r),operator:a,value:l});else for(let e=0;e<i;e++)n.push({property:s.get(r[e]),operator:a[e],value:l[e]});return n},M=e=>{var s,t;let{propertyList:l=[],valueList:n,setFilters:i,updateURLParams:c,placeholder:o="Filter items"}=e,d=(0,a.useRef)(null),u=(0,a.useRef)(null),[h,x]=(0,a.useState)(!1),[m,p]=(0,a.useState)(""),[j,f]=(0,a.useState)((null===(s=l[0])||void 0===s?void 0:s.value)||"status"),[g,b]=(0,a.useState)([]);(0,a.useEffect)(()=>{let e=e=>{u.current&&!u.current.contains(e.target)&&d.current&&!d.current.contains(e.target)&&x(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,a.useEffect)(()=>{let e=[];n&&"object"==typeof n&&(e=n[j]||[]),""!==m.trim()&&(e=e.filter(e=>e&&e.toString().toLowerCase().includes(m.toLowerCase()))),b(e)},[j,n,m]);let v=e=>{let s=l.find(s=>s.value===e);return s?s.label:e},N=e=>{i(s=>{let t=[...s,{property:v(j),operator:":",value:e}];return c(t),t}),x(!1),p(""),d.current.focus()};return(0,r.jsxs)("div",{className:"flex flex-row border border-gray-300 rounded-md overflow-visible",children:[(0,r.jsx)("div",{className:"border-r border-gray-300 flex-shrink-0",children:(0,r.jsxs)(R.Ph,{onValueChange:f,value:j,children:[(0,r.jsx)(R.i4,{"aria-label":"Filter Property",className:"focus:ring-0 focus:ring-offset-0 border-none rounded-l-md rounded-r-none w-20 sm:w-24 md:w-32 h-8 text-xs sm:text-sm",children:(0,r.jsx)(R.ki,{placeholder:(null===(t=l[0])||void 0===t?void 0:t.label)||"Status"})}),(0,r.jsx)(R.Bw,{children:l.map((e,s)=>(0,r.jsx)(R.Ql,{value:e.value,children:e.label},"property-item-".concat(s)))})]})}),(0,r.jsxs)("div",{className:"relative flex-1",children:[(0,r.jsx)("input",{type:"text",ref:d,placeholder:o,value:m,onChange:e=>{p(e.target.value),h||x(!0)},onFocus:()=>{x(!0)},onKeyDown:e=>{"Enter"===e.key&&""!==m.trim()?(i(e=>{let s=[...e,{property:v(j),operator:":",value:m}];return c(s),s}),p(""),x(!1)):"Escape"===e.key&&(x(!1),d.current.blur())},className:"h-8 w-full sm:w-96 px-3 pr-8 text-sm border-none rounded-l-none rounded-r-md focus:ring-0 focus:outline-none",autoComplete:"off"}),m&&(0,r.jsx)("button",{onClick:()=>{p(""),x(!1)},className:"absolute right-2 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600",title:"Clear filter",tabIndex:-1,children:(0,r.jsx)("svg",{className:"h-4 w-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})}),h&&g.length>0&&(0,r.jsx)("div",{ref:u,className:"absolute z-50 mt-1 w-full bg-white border border-gray-200 rounded-md shadow-lg max-h-60 overflow-y-auto",style:{zIndex:9999},children:g.map((e,s)=>(0,r.jsx)("div",{className:"px-3 py-2 cursor-pointer hover:bg-gray-50 text-sm ".concat(s!==g.length-1?"border-b border-gray-100":""),onClick:()=>N(e),children:(0,r.jsx)("span",{className:"text-sm text-gray-700",children:e})},"".concat(e,"-").concat(s)))})]})]})},I=e=>{let{filters:s=[],setFilters:t,updateURLParams:a}=e,l=e=>{t(s=>{let t=s.filter((s,t)=>t!==e);return a(t),t})};return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"flex items-center gap-4 py-2 px-2",children:(0,r.jsxs)("div",{className:"flex flex-wrap items-content gap-2",children:[s.map((e,s)=>(0,r.jsx)(A,{filter:e,onRemove:()=>l(s)},"filteritem-".concat(s))),s.length>0&&(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("button",{onClick:()=>{a([]),t([])},className:"rounded-full px-4 py-1 text-sm text-gray-700 bg-gray-200 hover:bg-gray-300",children:"Clear filters"})})]})})})},A=e=>{let{filter:s,onRemove:t}=e;return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"flex items-center text-blue-600 bg-blue-100 px-1 py-1 rounded-full text-sm",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 px-2",children:[(0,r.jsx)("span",{children:"".concat(s.property," ")}),(0,r.jsx)("span",{children:"".concat(s.operator," ")}),(0,r.jsx)("span",{children:" ".concat(s.value)})]}),(0,r.jsx)("button",{onClick:()=>t(),className:"p-0.5 ml-1 transform text-gray-400 hover:text-gray-600 bg-blue-500 hover:bg-blue-600 rounded-full flex flex-col items-center",title:"Clear filter",children:(0,r.jsx)("svg",{className:"h-3 w-3",fill:"none",stroke:"white",viewBox:"0 0 24 24",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:5,d:"M6 18L18 6M6 6l12 12"})})})]})})},z={active:["PENDING","RUNNING","RECOVERING","SUBMITTED","STARTING","CANCELLING"],finished:["SUCCEEDED","FAILED","CANCELLED","FAILED_SETUP","FAILED_PRECHECKS","FAILED_NO_RESOURCE","FAILED_CONTROLLER"]},P=[{label:"Name",value:"name"},{label:"User",value:"user"},{label:"Workspace",value:"workspace"},{label:"Pool",value:"pool"}];function U(e,s){if(!s||""===s.trim())return e;let t=s.toLowerCase().trim();return e.filter(e=>(e.name||"").toLowerCase().includes(t))}function J(e,s){return s&&"ALL_WORKSPACES"!==s?e.filter(e=>(e.workspace||"default").toLowerCase()===s.toLowerCase()):e}function W(e,s){return s&&"ALL_USERS"!==s?e.filter(e=>(e.user_hash||e.user)===s):e}function O(e,s){if(!s||""===s.trim())return e;let t=s.toLowerCase().trim();return e.filter(e=>(e.pool||"").toLowerCase().includes(t))}let T=e=>{if(!e)return"-";let s=e instanceof Date?e:new Date(1e3*e);return(0,r.jsx)(h.Zg,{date:s})};function Z(){let e=(0,l.useRouter)(),[s,t]=(0,a.useState)(!1),[n,c]=(0,a.useState)(!0),[o,d]=(0,a.useState)(!0),u=a.useRef(null),x=a.useRef(null),[j,g]=(0,a.useState)([]),[N,w]=(0,a.useState)([]),y=async function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t(!0),!e&&o&&c(!0);try{let[e]=await Promise.all([p.default.get(m.vs,[{}])]);g(e.pools||[])}catch(e){console.error("Error fetching data:",e)}finally{t(!1),!e&&o&&(c(!1),d(!1))}};(0,a.useEffect)(()=>{y()},[]);let k=s=>{D(e,s)},C=a.useCallback(()=>{let s=new Map;s.set("",""),s.set("status","Status"),s.set("name","Name"),s.set("user","User"),s.set("workspace","Workspace"),s.set("pool","Pool"),w(F(e,s))},[e,w]);return(0,a.useEffect)(()=>{e.isReady&&C()},[e.isReady,e.query.tab,C]),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2 mb-1",children:[(0,r.jsx)("div",{className:"text-base",children:(0,r.jsx)(i(),{href:"/jobs",className:"text-sky-blue hover:underline leading-none",children:"Managed Jobs"})}),(0,r.jsx)("div",{className:"w-full sm:w-auto",children:(0,r.jsx)(M,{propertyList:P,valueList:{},setFilters:w,updateURLParams:k,placeholder:"Filter jobs"})})]}),(0,r.jsx)(I,{filters:N,setFilters:w,updateURLParams:k}),(0,r.jsx)(B,{refreshInterval:h.yc,setLoading:t,refreshDataRef:u,filters:N,onRefresh:()=>{f.invalidateCache(),p.default.invalidate(m.vs,[{}]),p.default.invalidate(b.fX),p.default.invalidate(v.R),y(!0),u.current&&u.current(),x.current&&x.current()},poolsData:j,poolsLoading:n}),(0,r.jsx)("div",{className:"mb-4",children:(0,r.jsx)(V,{refreshInterval:h.yc,setLoading:t,refreshDataRef:x})})]})}function B(e){let{refreshInterval:s,setLoading:t,refreshDataRef:l,filters:n,onRefresh:j,poolsData:b,poolsLoading:v}=e,[y,k]=(0,a.useState)([]),[R,D]=(0,a.useState)(0),[F,M]=(0,a.useState)(0),[I,A]=(0,a.useState)({key:null,direction:"ascending"}),[P,U]=(0,a.useState)(!1),[J,W]=(0,a.useState)(!0),[O,Z]=(0,a.useState)(1),[B,K]=(0,a.useState)(10),[V,X]=(0,a.useState)(null),Y=(0,a.useRef)(null),[Q,$]=(0,a.useState)([]),[ee,es]=(0,a.useState)({}),[et,er]=(0,a.useState)({}),[ea,el]=(0,a.useState)(!1),[en,ei]=(0,a.useState)(!1),[ec,eo]=(0,a.useState)(!1),[ed,eu]=(0,a.useState)("all"),[eh,ex]=(0,a.useState)(!0),[em,ep]=(0,a.useState)({isOpen:!1,title:"",message:"",onConfirm:null}),ej=(0,E.X)(),ef=async()=>{ep({isOpen:!0,title:"Restart Controller",message:"Are you sure you want to restart the controller?",onConfirm:async()=>{try{eo(!0),U(!0),await (0,m.Ce)("restartcontroller"),await eg()}catch(e){console.error("Error restarting controller:",e)}finally{eo(!1),U(!1)}}})},eg=a.useCallback(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=!1!==e.includeStatus;U(!0),t(!0);try{let e,t;let r=e=>{let s=(n||[]).find(s=>(s.property||"").toLowerCase()===e);return s&&s.value?String(s.value):void 0};Q.length>0?t=Q:eh?"active"===ed?t=z.active:"finished"===ed&&(t=z.finished):t=[];let a={allUsers:!0,nameMatch:r("name"),userMatch:r("user"),workspaceMatch:r("workspace"),poolMatch:r("pool"),statuses:t,page:O,limit:B},l=null;if(f.isDataCached(a),f.isDataLoading(a),s){let[s,t]=await Promise.all([f.getPaginatedJobs(a),p.default.get(g.getClusters)]);e=s,l=t}else e=await f.getPaginatedJobs(a);let{jobs:i=[],total:c=0,totalNoFilter:o=0,controllerStopped:d=!1,cacheStatus:u="unknown",statusCounts:h={}}=e||{},x=!!d,m=!1;if(s&&l){let e=null==l?void 0:l.find(e=>(0,S.Ym)(e.cluster)),s=e?e.status:"NOT_FOUND";"STOPPED"==s&&d&&(x=!0),"LAUNCHING"==s&&(m=!0)}k(i),D(c||0),M(o||0),el(!!x),ei(!!m),er(h),W(!1)}catch(e){console.error("Error fetching data:",e),k([]),el(!1),W(!1)}finally{U(!1),t(!1)}},[t,n,O,B,Q,eh,ed]);a.useEffect(()=>{l&&(l.current=eg)},[l,eg]);let eb=a.useRef(eg);a.useEffect(()=>{eb.current=eg},[eg]),a.useEffect(()=>{eg({includeStatus:!0})},[]),a.useEffect(()=>{eg({includeStatus:!1})},[O]),a.useEffect(()=>{eg({includeStatus:!0})},[n,B]),a.useEffect(()=>{eg({includeStatus:!0})},[ed,Q,eh]),(0,a.useEffect)(()=>{let e=setInterval(()=>{eb.current&&eb.current({includeStatus:!0})},s);return()=>{clearInterval(e)}},[s]),(0,a.useEffect)(()=>{Z(1)},[ed]),(0,a.useEffect)(()=>{Z(1)},[n,B]),(0,a.useEffect)(()=>{$([]),ex(!0)},[ed]);let ev=e=>{let s="ascending";I.key===e&&"ascending"===I.direction&&(s="descending"),A({key:e,direction:s})},eN=e=>I.key===e?"ascending"===I.direction?" ↑":" ↓":"";a.useMemo(()=>{let e=y||[];return{active:e.filter(e=>z.active.includes(e.status)).length,finished:e.filter(e=>z.finished.includes(e.status)).length}},[y]);let ew=e=>Q.length>0?Q.includes(e):"all"===ed||z[ed].includes(e),ey=a.useMemo(()=>y,[y]),ek=a.useMemo(()=>I.key?[...ey].sort((e,s)=>e[I.key]<s[I.key]?"ascending"===I.direction?-1:1:e[I.key]>s[I.key]?"ascending"===I.direction?1:-1:0):ey,[ey,I]),eC=(O-1)*B,eS=R>0?Math.ceil(R/B):0,e_=R>0?Math.min(eC+ek.length,R):0,eL=e=>{if(Q.includes(e)){let s=Q.filter(s=>s!==e);0===s.length?(ex(!0),$([])):($(s),ex(!1))}else $([...Q,e]),ex(!1);Z(1)};return(0,a.useEffect)(()=>{es(et)},[et]),(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 justify-between text-sm mb-1",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center",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:[!P&&0===F&&!J&&(0,r.jsx)("span",{className:"text-gray-500 mr-2",children:"No jobs found"}),Object.entries(ee).map(e=>{let[s,t]=e;return(0,r.jsxs)("button",{onClick:()=>eL(s),className:"px-3 py-0.5 rounded-full flex items-center space-x-2 ".concat(ew(s)||Q.includes(s)?(0,_.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(ew(s)||Q.includes(s)?"bg-white/50":"bg-gray-200"," px-1.5 py-0.5 rounded"),children:t})]},s)}),F>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:()=>{a.startTransition(()=>{eu("all"),$([]),ex(!0),Z(1)})},className:"text-sm font-medium ".concat("all"===ed&&eh?"text-purple-700 underline":"text-gray-600 hover:text-purple-700 hover:underline"),children:"show all jobs"}),(0,r.jsx)("span",{className:"text-gray-500 mx-1",children:"|"}),(0,r.jsx)("button",{onClick:()=>{a.startTransition(()=>{eu("active"),$([]),ex(!0),Z(1)})},className:"text-sm font-medium ".concat("active"===ed&&eh?"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:()=>{a.startTransition(()=>{eu("finished"),$([]),ex(!0),Z(1)})},className:"text-sm font-medium ".concat("finished"===ed&&eh?"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.jsxs)("div",{className:"flex items-center gap-2",children:[P&&(0,r.jsxs)("div",{className:"flex items-center",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:()=>{j&&j(),l&&l.current&&l.current()},disabled:P,className:"text-sky-blue hover:text-sky-blue-bright flex items-center text-sm",children:[(0,r.jsx)(N.Z,{className:"h-4 w-4 mr-1.5"}),(0,r.jsx)("span",{children:"Refresh"})]})]})]})}),ej&&ea&&0===ek.length&&!P&&!J&&(0,r.jsx)("div",{className:"mb-4 p-4 bg-gray-50 rounded-lg border",children:(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-3",children:[(0,r.jsxs)("p",{className:"text-gray-700 text-center text-sm",children:["Job controller stopped.",(0,r.jsx)("br",{}),"Restart to check status."]}),(0,r.jsx)(o.z,{variant:"outline",size:"sm",onClick:ef,className:"text-sky-blue hover:text-sky-blue-bright",disabled:P||ec,children:ec?(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.Z,{className:"h-4 w-4 mr-2"}),"Restart"]})})]})}),(0,r.jsx)(d.Zb,{children:(0,r.jsx)("div",{className:"overflow-x-auto rounded-lg",children:(0,r.jsxs)(u.iA,{className:"min-w-full",children:[(0,r.jsx)(u.xD,{children:(0,r.jsxs)(u.SC,{children:[(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("id"),children:["ID",eN("id")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("name"),children:["Name",eN("name")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("user"),children:["User",eN("user")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("workspace"),children:["Workspace",eN("workspace")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("submitted_at"),children:["Submitted",eN("submitted_at")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("job_duration"),children:["Duration",eN("job_duration")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("status"),children:["Status",eN("status")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("resources_str"),children:["Requested",eN("resources_str")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("infra"),children:["Infra",eN("infra")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("cluster"),children:["Resources",eN("cluster")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("recoveries"),children:["Recoveries",eN("recoveries")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>ev("pool"),children:["Worker Pool",eN("pool")]}),(0,r.jsx)(u.ss,{children:"Details"}),(0,r.jsx)(u.ss,{children:"Logs"})]})}),(0,r.jsx)(u.RM,{children:P&&J?(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:12,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..."})]})})}):ek.length>0?(0,r.jsx)(r.Fragment,{children:ek.map(e=>(0,r.jsxs)(a.Fragment,{children:[(0,r.jsxs)(u.SC,{children:[(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/jobs/".concat(e.id),className:"text-blue-600",children:e.id})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/jobs/".concat(e.id),className:"text-blue-600",children:e.name})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(L.H,{username:e.user,userHash:e.user_hash})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/workspaces",className:"text-gray-700 hover:text-blue-600 hover:underline",children:e.workspace||"default"})}),(0,r.jsx)(u.pj,{children:T(e.submitted_at)}),(0,r.jsx)(u.pj,{children:(0,h.LU)(e.job_duration)}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(_.OE,{status:e.status})}),(0,r.jsx)(u.pj,{children:e.requested_resources}),(0,r.jsx)(u.pj,{children:e.infra&&"-"!==e.infra?(0,r.jsx)(h.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:" "+(()=>{let s=x.MO.NAME_TRUNCATE_LENGTH,t=e.infra.substring(e.infra.indexOf("(")),r=t.substring(1,t.length-1);if(r.length<=s)return t;let a="".concat(r.substring(0,Math.floor((s-3)/2)),"...").concat(r.substring(r.length-Math.ceil((s-3)/2)));return"(".concat(a,")")})()})]})}):(0,r.jsx)("span",{children:e.infra||"-"})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(h.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)(u.pj,{children:e.recoveries}),(0,r.jsx)(u.pj,{children:(0,r.jsx)("div",{className:v?"blur-sm transition-all duration-300":"",children:v?"-":(0,h.os)(e.pool,e.pool_hash,b)})}),(0,r.jsx)(u.pj,{children:e.details?(0,r.jsx)(G,{text:e.details,rowId:e.id,expandedRowId:V,setExpandedRowId:X}):"-"}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(q,{jobParent:"/jobs",jobId:e.id,managed:!0})})]}),V===e.id&&(0,r.jsx)(H,{text:e.details,colSpan:13,innerRef:Y})]},e.task_job_id))}):(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:13,className:"text-center py-6",children:(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-4",children:[en&&(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. It will be ready shortly."}),(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..."})]})]}),!ea&&!en&&(0,r.jsx)("p",{className:"text-gray-500",children:"No active jobs"}),!ej&&ea&&(0,r.jsxs)("div",{className:"flex flex-col items-center space-y-3 px-4",children:[(0,r.jsx)("p",{className:"text-gray-700 text-center text-sm sm:text-base max-w-md",children:"The managed job controller has been stopped. Restart to check the latest job status."}),(0,r.jsx)(o.z,{variant:"outline",size:"sm",onClick:ef,className:"text-sky-blue hover:text-sky-blue-bright",disabled:P||ec,children:ec?(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.Z,{className:"h-4 w-4 mr-2"}),"Restart Controller"]})})]})]})})})})]})})}),(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:B,onChange:e=>{K(parseInt(e.target.value,10)),Z(1)},className:"py-1 pl-2 pr-6 appearance-none outline-none cursor-pointer border-none bg-transparent",style:{minWidth:"40px"},children:[(0,r.jsx)("option",{value:10,children:"10"}),(0,r.jsx)("option",{value:30,children:"30"}),(0,r.jsx)("option",{value:50,children:"50"}),(0,r.jsx)("option",{value:100,children:"100"}),(0,r.jsx)("option",{value:200,children:"200"})]}),(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4 text-gray-500 absolute right-0 top-1/2 transform -translate-y-1/2 pointer-events-none",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]})]}),(0,r.jsx)("div",{children:R>0?"".concat(eC+1," – ").concat(e_," of ").concat(R):"0 – 0 of 0"}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)(o.z,{variant:"ghost",size:"icon",onClick:()=>{Z(e=>Math.max(e-1,1))},disabled:1===O||!ek||0===ek.length,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:()=>{eS>0&&O<eS&&Z(e=>e+1)},disabled:0===eS||O>=eS||!ek||0===ek.length,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)(C.cV,{isOpen:em.isOpen,onClose:()=>ep({...em,isOpen:!1}),onConfirm:em.onConfirm,title:em.title,message:em.message,confirmClassName:"bg-blue-600 hover:bg-blue-700 text-white"})]})}function q(e){let{withLabel:s=!1,jobParent:t,jobId:a,managed:n}=e,i=(0,l.useRouter)(),c=(e,s)=>{e.preventDefault(),e.stopPropagation(),i.push({pathname:"".concat(t,"/").concat(a),query:{tab:s}})};return(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsx)(h.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)(y.Z,{className:"w-4 h-4"}),s&&(0,r.jsx)("span",{className:"ml-1.5",children:"Logs"})]})},"logs"),n&&(0,r.jsx)(h.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)(k.Z,{className:"w-4 h-4"}),s&&(0,r.jsx)("span",{className:"ml-2",children:"Controller Logs"})]})},"controllerlogs")]})}function K(e){let{clusterName:s,clusterJobData:t,loading:l,refreshClusterJobsOnly:n,userFilter:x=null,nameFilter:m=null}=e,[p,j]=(0,a.useState)(null),[f,g]=(0,a.useState)({key:null,direction:"ascending"}),[b,v]=(0,a.useState)(1),[w,y]=(0,a.useState)(10),k=(0,a.useRef)(null),[C,S]=(0,a.useState)(null);(0,a.useEffect)(()=>{let e=e=>{p&&k.current&&!k.current.contains(e.target)&&j(null)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[p]);let E=a.useMemo(()=>{let e=t||[];return x&&"ALL_USERS"!==x&&(e=W(e,x)),m&&(e=U(e,m)),e},[t,x,m]);(0,a.useEffect)(()=>{JSON.stringify(t)!==JSON.stringify(C)&&S(t)},[t,C]);let R=a.useMemo(()=>f.key?[...E].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):E,[E,f]),D=e=>{let s="ascending";f.key===e&&"ascending"===f.direction&&(s="descending"),g({key:e,direction:s})},F=e=>f.key===e?"ascending"===f.direction?" ↑":" ↓":"",M=Math.ceil(R.length/w),I=(b-1)*w,A=I+w,z=R.slice(I,A);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"}),(0,r.jsx)("div",{className:"flex items-center",children:n&&(0,r.jsxs)("button",{onClick:n,disabled:l,className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center text-sm ml-2",children:[(0,r.jsx)(N.Z,{className:"w-4 h-4 mr-1"}),"Refresh Jobs"]})})]}),(0,r.jsxs)(u.iA,{children:[(0,r.jsx)(u.xD,{children:(0,r.jsxs)(u.SC,{children:[(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("id"),children:["ID",F("id")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("job"),children:["Name",F("job")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("user"),children:["User",F("user")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("workspace"),children:["Workspace",F("workspace")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("submitted_at"),children:["Submitted",F("submitted_at")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("job_duration"),children:["Duration",F("job_duration")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("status"),children:["Status",F("status")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap",onClick:()=>D("resources"),children:["Resources",F("resources")]}),(0,r.jsx)(u.ss,{className:"whitespace-nowrap",children:"Logs"})]})}),(0,r.jsx)(u.RM,{children:l?(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:9,className:"text-center py-12 text-gray-500",children:(0,r.jsxs)("div",{className:"flex justify-center items-center",children:[(0,r.jsx)(c.Z,{size:24,className:"mr-2"}),(0,r.jsx)("span",{children:"Loading cluster jobs..."})]})})}):z.length>0?z.map(e=>(0,r.jsxs)(a.Fragment,{children:[(0,r.jsxs)(u.SC,{className:p===e.id?"selected-row":"",children:[(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/clusters/".concat(s,"/").concat(e.id),className:"text-blue-600",children:e.id})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/clusters/".concat(s,"/").concat(e.id),className:"text-blue-600",children:(0,r.jsx)(G,{text:e.job||"Unnamed job",rowId:e.id,expandedRowId:p,setExpandedRowId:j})})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(L.H,{username:e.user,userHash:e.user_hash})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/workspaces",className:"text-gray-700 hover:text-blue-600 hover:underline",children:e.workspace||"default"})}),(0,r.jsx)(u.pj,{children:T(e.submitted_at)}),(0,r.jsx)(u.pj,{children:(0,h.LU)(e.job_duration)}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(_.OE,{status:e.status})}),(0,r.jsx)(u.pj,{children:e.resources}),(0,r.jsx)(u.pj,{className:"flex content-center items-center",children:(0,r.jsx)(q,{jobParent:"/clusters/".concat(s),jobId:e.id,managed:!1})})]}),p===e.id&&(0,r.jsx)(H,{text:e.job||"Unnamed job",colSpan:9,innerRef:k})]},e.id)):(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:8,className:"text-center py-6 text-gray-500",children:"No jobs found"})})})]})]}),R&&R.length>0&&(0,r.jsx)("div",{className:"flex justify-end items-center py-2 px-4 text-sm text-gray-700",children:(0,r.jsxs)("div",{className:"flex items-center space-x-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("span",{className:"mr-2",children:"Rows per page:"}),(0,r.jsxs)("div",{className:"relative inline-block",children:[(0,r.jsxs)("select",{value:w,onChange:e=>{y(parseInt(e.target.value,10)),v(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:[I+1," – ",Math.min(A,R.length)," of"," ",R.length]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)(o.z,{variant:"ghost",size:"icon",onClick:()=>{v(e=>Math.max(e-1,1))},disabled:1===b,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:()=>{v(e=>Math.min(e+1,M))},disabled:b===M||0===M,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 H(e){let{text:s,colSpan:t,innerRef:a}=e;return(0,r.jsx)(u.SC,{className:"expanded-details",children:(0,r.jsx)(u.pj,{colSpan:t,children:(0,r.jsx)("div",{className:"p-4 bg-gray-50 rounded-md border border-gray-200",ref:a,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 G(e){let{text:s,rowId:t,expandedRowId:l,setExpandedRowId:n}=e,i=s||"",c=i.length>50,o=l===t,d=c?"".concat(i.substring(0,50)):i,u=(0,a.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:d}),c&&(0,r.jsx)("button",{ref:u,type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),n(o?null:t)},className:"text-blue-600 hover:text-blue-800 font-medium ml-1 flex-shrink-0","data-button-type":"show-more-less",children:o?"... show less":"... show more"})]})}function V(e){let{refreshInterval:s,setLoading:t,refreshDataRef:l}=e,[n,o]=(0,a.useState)([]),[x,j]=(0,a.useState)({key:null,direction:"ascending"}),[f,g]=(0,a.useState)(!1),[b,v]=(0,a.useState)(!0),[N,w]=(0,a.useState)(1),[y,k]=(0,a.useState)(10),C=a.useCallback(async()=>{g(!0),t(!0);try{let{pools:e=[]}=await p.default.get(m.vs,[{}])||{};o(e),v(!1)}catch(e){console.error("Error fetching pools data:",e),o([]),v(!1)}finally{g(!1),t(!1)}},[t]);a.useEffect(()=>{l&&(l.current=C)},[l,C]),(0,a.useEffect)(()=>{o([]);let e=!0;C();let t=setInterval(()=>{e&&C()},s);return()=>{e=!1,clearInterval(t)}},[s,C]);let S=e=>{let s="ascending";x.key===e&&"ascending"===x.direction&&(s="descending"),j({key:e,direction:s})},L=e=>x.key===e?"ascending"===x.direction?" ↑":" ↓":"",E=a.useMemo(()=>x.key?[...n].sort((e,s)=>e[x.key]<s[x.key]?"ascending"===x.direction?-1:1:e[x.key]>s[x.key]?"ascending"===x.direction?1:-1:0):n,[n,x]),R=Math.ceil(E.length/y),D=(N-1)*y,F=D+y,M=E.slice(D,F),I=e=>{if(!e||!e.replica_info||0===e.replica_info.length)return"0 (target: 0)";let s=e.replica_info.filter(e=>"READY"===e.status).length,t=e.target_num_replicas||0;return"".concat(s," (target: ").concat(t,")")},A=e=>{let{jobCounts:s}=e;return(0,r.jsx)(h.x9,{jobCounts:s,getStatusStyle:_.Cl})},z=e=>{let{replicaInfo:s}=e;return(0,r.jsx)(h.Kl,{replicaInfo:s})};return(0,r.jsxs)(d.Zb,{children:[(0,r.jsx)("div",{className:"overflow-x-auto rounded-lg",children:(0,r.jsxs)(u.iA,{className:"min-w-full table-fixed",children:[(0,r.jsx)(u.xD,{children:(0,r.jsxs)(u.SC,{children:[(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap w-32",onClick:()=>S("name"),children:["Pool",L("name")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap w-40",onClick:()=>S("job_counts"),children:["Jobs",L("job_counts")]}),(0,r.jsx)(u.ss,{className:"whitespace-nowrap w-20",children:"Workers"}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap w-36",onClick:()=>S("requested_resources_str"),children:["Worker Details",L("requested_resources_str")]}),(0,r.jsxs)(u.ss,{className:"sortable whitespace-nowrap w-40",onClick:()=>S("requested_resources_str"),children:["Worker Resources",L("requested_resources_str")]})]})}),(0,r.jsx)(u.RM,{children:f&&b?(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:5,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..."})]})})}):M.length>0?M.map(e=>(0,r.jsxs)(u.SC,{children:[(0,r.jsx)(u.pj,{children:(0,r.jsx)(i(),{href:"/jobs/pools/".concat(e.name),className:"text-blue-600 hover:text-blue-800",children:e.name})}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(A,{jobCounts:e.jobCounts})}),(0,r.jsx)(u.pj,{children:I(e)}),(0,r.jsx)(u.pj,{children:(0,r.jsx)(z,{replicaInfo:e.replica_info})}),(0,r.jsx)(u.pj,{children:e.requested_resources_str||"-"})]},e.name)):(0,r.jsx)(u.SC,{children:(0,r.jsx)(u.pj,{colSpan:5,className:"text-center py-6 text-gray-500",children:"No pools found"})})})]})}),M.length>0&&R>1&&(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 border-t border-gray-200",children:[(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsx)("span",{className:"text-sm text-gray-700",children:"Rows per page:"}),(0,r.jsxs)("select",{value:y,onChange:e=>{k(parseInt(e.target.value,10)),w(1)},className:"border border-gray-300 rounded px-2 py-1 text-sm",children:[(0,r.jsx)("option",{value:5,children:"5"}),(0,r.jsx)("option",{value:10,children:"10"}),(0,r.jsx)("option",{value:25,children:"25"}),(0,r.jsx)("option",{value:50,children:"50"})]})]}),(0,r.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,r.jsxs)("span",{className:"text-sm text-gray-700",children:[D+1,"-",Math.min(F,E.length)," of"," ",E.length]}),(0,r.jsx)("button",{onClick:()=>{w(e=>Math.max(e-1,1))},disabled:1===N,className:"px-2 py-1 text-sm border border-gray-300 rounded disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50",children:"Previous"}),(0,r.jsx)("button",{onClick:()=>{w(e=>Math.min(e+1,R))},disabled:N===R,className:"px-2 py-1 text-sm border border-gray-300 rounded disabled:opacity-50 disabled:cursor-not-allowed hover:bg-gray-50",children:"Next"})]})]})]})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8969],{68969:function(e,t,o){o.d(t,{Ce:function(){return p},NJ:function(){return h},UA:function(){return u},aT:function(){return i},getManagedJobs:function(){return l},vs:function(){return d}});var r=o(67294),a=o(15821),n=o(93225),s=o(6378),c=o(47145);async function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{var t;let{allUsers:o=!0,nameMatch:r,userMatch:a,workspaceMatch:s,poolMatch:l,page:i,limit:d,statuses:u}=e,h={all_users:o,verbose:!0};void 0!==r&&(h.name_match=r),void 0!==a&&(h.user_match=a),void 0!==s&&(h.workspace_match=s),void 0!==l&&(h.pool_match=l),void 0!==i&&(h.page=i),void 0!==d&&(h.limit=d),void 0!==u&&u.length>0&&(h.statuses=u);let p=(await c.x.post("/jobs/queue",h)).headers.get("X-Skypilot-Request-ID"),b=await c.x.get("/api/get?request_id=".concat(p));if(500===b.status){try{let e=await b.json();if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);if(t.type&&t.type===n.iW)return{jobs:[],total:0,controllerStopped:!0}}catch(e){console.error("Error parsing JSON:",e)}}catch(e){console.error("Error parsing JSON:",e)}return{jobs:[],total:0,controllerStopped:!1}}let f=await b.json(),g=f.return_value?JSON.parse(f.return_value):[],_=Array.isArray(g)?g:(null==g?void 0:g.jobs)||[],m=Array.isArray(g)?_.length:null!==(t=null==g?void 0:g.total)&&void 0!==t?t:_.length,y=(null==g?void 0:g.total_no_filter)||m,w=(null==g?void 0:g.status_counts)||{};return{jobs:_.map(e=>{var t;let o=0;e.end_at&&e.submitted_at?o=e.end_at-e.submitted_at:e.submitted_at&&(o=Date.now()/1e3-e.submitted_at);let r=[];e.submitted_at&&r.push({type:"PENDING",timestamp:e.submitted_at}),e.start_at&&r.push({type:"RUNNING",timestamp:e.start_at}),e.end_at&&r.push({type:e.status,timestamp:e.end_at});let a="",n="",s="",c="",l="";try{if(a=e.cloud||"",s=e.cluster_resources,n=e.region||"",a&&(c=a,n&&(c+="/".concat(n))),l=c,e.accelerators){let t=Object.entries(e.accelerators).map(e=>{let[t,o]=e;return"".concat(o,"x").concat(t)}).join(", ");t&&(l+=" (".concat(t,")"))}}catch(t){s=e.cluster_resources}return{id:e.job_id,task_job_id:e._job_id,task:e.task_name,name:e.job_name,job_duration:e.job_duration,total_duration:o,workspace:e.workspace,status:e.status,requested_resources:e.resources,resources_str:s,resources_str_full:e.cluster_resources_full||s,cloud:a,region:e.region,infra:c,full_infra:l,recoveries:e.recovery_count,details:e.details||e.failure_reason,user:e.user_name,user_hash:e.user_hash,submitted_at:e.submitted_at?new Date(1e3*e.submitted_at):null,events:r,dag_yaml:e.user_yaml,entrypoint:e.entrypoint,git_commit:(null===(t=e.metadata)||void 0===t?void 0:t.git_commit)||"-",pool:e.pool,pool_hash:e.pool_hash,current_cluster_name:e.current_cluster_name,job_id_on_pool_cluster:e.job_id_on_pool_cluster}}),total:m,totalNoFilter:y,controllerStopped:!1,statusCounts:w}}catch(e){return console.error("Error fetching managed job data:",e),{jobs:[],total:0,totalNoFilter:0,controllerStopped:!1,statusCounts:{}}}}async function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{allUsers:t=!0,nameMatch:o,userMatch:r,workspaceMatch:a,poolMatch:n,page:s=1,limit:c=10,useClientPagination:i=!0}=e;try{if(!i)return await l(e);let d=await l({allUsers:t,nameMatch:o,userMatch:r,workspaceMatch:a,poolMatch:n});if(d.controllerStopped||!d.jobs)return d;let u=d.jobs,h=u.length,p=(s-1)*c;return{jobs:u.slice(p,p+c),total:h,controllerStopped:!1}}catch(e){return console.error("Error fetching managed job data with client pagination:",e),{jobs:[],total:0,controllerStopped:!1}}}async function d(){try{let e=(await c.x.post("/jobs/pool_status",{pool_names:null})).headers.get("X-Skypilot-Request-ID"),t=await c.x.get("/api/get?request_id=".concat(e));if(500===t.status){try{let e=await t.json();if(e.detail&&e.detail.error)try{let t=JSON.parse(e.detail.error);if(t.type&&t.type===n.iW)return{pools:[],controllerStopped:!0}}catch(e){console.error("Failed to parse error JSON:",e)}}catch(e){console.error("Failed to parse response JSON:",e)}throw Error("Server error")}let o=await t.json(),r=o.return_value?JSON.parse(o.return_value):[],a={jobs:[]};try{let e=await l({allUsers:!0});e.controllerStopped||(a=e)}catch(e){console.warn("Failed to fetch jobs for pool job counts:",e)}let s={},i=["SUCCEEDED","FAILED","FAILED_SETUP","FAILED_PRECHECKS","FAILED_NO_RESOURCE","FAILED_CONTROLLER","CANCELLED"];return a.jobs&&Array.isArray(a.jobs)&&a.jobs.forEach(e=>{let t=e.pool,o=e.status;t&&!i.includes(o)&&(s[t]||(s[t]={}),s[t][o]=(s[t][o]||0)+1)}),{pools:r.map(e=>({...e,jobCounts:s[e.name]||{}})),controllerStopped:!1}}catch(e){throw console.error("Error fetching pools:",e),e}}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,[o,a]=(0,r.useState)(null),[n,c]=(0,r.useState)(!0);return(0,r.useEffect)(()=>{(async function(){if(e)try{var t;c(!0);let o=await s.default.get(l,[{allUsers:!0}]),r=null==o?void 0:null===(t=o.jobs)||void 0===t?void 0:t.find(t=>String(t.id)===String(e));r?a({jobs:[r],controllerStopped:o.controllerStopped||!1}):a({jobs:[],controllerStopped:o.controllerStopped||!1})}catch(e){console.error("Error fetching single managed job data:",e),a({jobs:[],controllerStopped:!1})}finally{c(!1)}})()},[e,t]),{jobData:o,loading:n}}async function h(e){let t,{jobId:o,controller:r=!1,signal:s,onNewLog:c}=e,l=Date.now(),i=new Promise(e=>{let o=()=>{let r=Date.now()-l;r>=3e4?e({timeout:!0}):t=setTimeout(o,3e4-r)};t=setTimeout(o,3e4)}),d=window.location.origin,u="".concat(d).concat(n.f4),h=(async()=>{try{let e=(await fetch("".concat(u,"/jobs/logs"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({controller:r,follow:!1,job_id:o,tail:1e4}),...s?{signal:s}:{}})).body.getReader();try{for(;;){let{done:t,value:o}=await e.read();if(t)break;l=Date.now();let r=new TextDecoder().decode(o);c(r)}}finally{if(!s||!s.aborted)try{e.cancel()}catch(e){"AbortError"!==e.name&&console.warn("Error canceling reader:",e)}t&&clearTimeout(t)}return{timeout:!1}}catch(e){if(t&&clearTimeout(t),"AbortError"===e.name)return{timeout:!1};throw e}})(),p=await Promise.race([h,i]);if(t&&clearTimeout(t),p.timeout){(0,a.C)("Log request for job ".concat(o," timed out after ").concat(30,"s of inactivity"),"warning");return}}async function p(e,t,o){let r="",s="",c="",l={};if("restartcontroller"===e)r="Restarting",s="restarted",c="jobs/queue",l={all_users:!0,refresh:!0},t="controller";else throw Error("Invalid action: ".concat(e));(0,a.C)("".concat(r," job ").concat(t,"..."),"info");let i=window.location.origin,d="".concat(i).concat(n.f4);try{try{let e=(await fetch("".concat(d,"/").concat(c),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)})).headers.get("X-Skypilot-Request-ID"),i=await fetch("".concat(d,"/api/get?request_id=").concat(e));if(200===i.status)(0,a.C)("Job ".concat(t," ").concat(s," successfully."),"success");else if(500===i.status)try{let e=await i.json();if(e.detail&&e.detail.error)try{let s=JSON.parse(e.detail.error);s.type&&s.type===n.Bo?(0,a.C)("".concat(r," job ").concat(t," is not supported!"),"error",1e4):s.type&&s.type===n.mF?(0,a.C)("Cluster ".concat(o," does not exist."),"error"):s.type&&s.type===n.iW?(0,a.C)("Cluster ".concat(o," is not up."),"error"):(0,a.C)("".concat(r," job ").concat(t," failed: ").concat(s.type),"error")}catch(o){(0,a.C)("".concat(r," job ").concat(t," failed: ").concat(e.detail.error),"error")}else(0,a.C)("".concat(r," job ").concat(t," failed with no details."),"error")}catch(e){(0,a.C)("".concat(r," job ").concat(t," failed with parse error."),"error")}else(0,a.C)("".concat(r," job ").concat(t," failed with status ").concat(i.status,"."),"error")}catch(e){console.error("Fetch error:",e),(0,a.C)("Network error ".concat(r," job ").concat(t,": ").concat(e.message),"error")}}catch(e){console.error("Error in handleStop:",e),(0,a.C)("Critical error ".concat(r," job ").concat(t,": ").concat(e.message),"error")}}},15821:function(e,t,o){o.d(t,{C:function(){return r}});function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5e3,r=document.getElementById("toast-container");r||((r=document.createElement("div")).id="toast-container",r.className="fixed top-0 right-0 p-4 z-[9999] flex flex-col items-end space-y-2",document.body.appendChild(r));let a=document.createElement("div");switch(a.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":a.className+=" bg-green-100 border-green-500 text-green-800";break;case"error":a.className+=" bg-red-100 border-red-500 text-red-800";break;case"warning":a.className+=" bg-yellow-100 border-yellow-500 text-yellow-800";break;default:a.className+=" bg-blue-100 border-blue-500 text-blue-800"}return a.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 '),r.appendChild(a),a.querySelector("button").addEventListener("click",()=>{r.removeChild(a)}),setTimeout(()=>{r.contains(a)&&r.removeChild(a)},o),a}},6378:function(e,t,o){o.r(t),o.d(t,{DashboardCache:function(){return a},dashboardCache:function(){return n}});let r=o(51214).ej.DEFAULT_TTL;class a{async get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=o.ttl||r,n=!1!==o.refreshOnAccess,s=this._generateKey(e,t),c=e.name||"anonymous",l=this.cache.get(s),i=Date.now();if(l&&i-l.lastUpdated<a){let o=Math.round((i-l.lastUpdated)/1e3);return this._debug("Cache HIT for ".concat(c," (age: ").concat(o,"s, TTL: ").concat(Math.round(a/1e3),"s)")),n&&(this.cache.set(s,{data:l.data,lastUpdated:i}),this._debug("Cache TTL refreshed for ".concat(c))),this.backgroundJobs.has(s)||this._refreshInBackground(e,t,s),l.data}try{let o=await e(...t);return this.cache.set(s,{data:o,lastUpdated:i}),o}catch(e){if(l)return console.warn("Failed to fetch fresh data for ".concat(s,", returning stale data:"),e),l.data;throw e}}invalidate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],o=this._generateKey(e,t);this.cache.delete(o),this.backgroundJobs.delete(o)}invalidateFunction(e){let t=e.name||"anonymous",o=[];for(let e of this.cache.keys())e.startsWith("".concat(t,"_"))&&o.push(e);o.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[o,r]of this.cache.entries()){let a=e-r.lastUpdated;t.push({key:o,age:Math.round(a/1e3),lastUpdated:new Date(r.lastUpdated).toISOString(),hasBackgroundJob:this.backgroundJobs.has(o)})}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,o=Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];this.debugMode&&console.log("[DashboardCache] ".concat(e),...o)}_refreshInBackground(e,t,o){this.backgroundJobs.set(o,!0),e(...t).then(e=>{this.cache.set(o,{data:e,lastUpdated:Date.now()})}).catch(e=>{console.warn("Background refresh failed for ".concat(o,":"),e)}).finally(()=>{this.backgroundJobs.delete(o)})}_generateKey(e,t){let o=function(e){let t=5381;for(let o=0;o<e.length;o++)t=(t<<5)+t+e.charCodeAt(o);return t>>>0}(e.toString()),r=t.length>0?JSON.stringify(t):"";return"".concat(o,"_").concat(r)}constructor(){this.cache=new Map,this.backgroundJobs=new Map,this.debugMode=!1}}let n=new a;t.default=n}}]);
@@ -1,6 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9315,2350],{40479:function(e,t,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/jobs/[job]",function(){return s(88099)}])},13626:function(e,t,s){"use strict";s.d(t,{Z:function(){return r}});/**
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 r=(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"}]])},1125:function(e,t,s){"use strict";s.d(t,{C:function(){return o}});var r=s(85893),n=s(67294),a=s(34209),l=s(84283);let c=e=>{if(!e||"string"!=typeof e)return e;let t=e.split("\n"),s=[];for(let e=0;e<t.length;e++){let r=t[e];if(""===r.trim()){let n=!1,a=0;for(let s=e-1;s>=0;s--){let e=t[s],r=e.trim();if(r&&e.match(/:\s*[|>]\s*$/)){n=!0;for(let e=s+1;e<t.length;e++){let s=t[e];if(s.trim()){a=s.search(/\S/);break}}break}if(r&&0===e.search(/\S/))break}if(n)for(let n=e+1;n<t.length;n++){let e=t[n];if(e.trim()){e.search(/\S/)>=a?s.push(" #YAML_BLANK_LINE_MARKER#"):s.push(r);break}}else s.push(r)}else s.push(r)}return s.join("\n")};function o(e){let{children:t,className:s=""}=e,o=(0,n.useRef)(null),i=c(t);(0,n.useEffect)(()=>{if(o.current){let e=o.current;setTimeout(()=>{let t;let s=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null);for(;t=s.nextNode();)t.textContent&&t.textContent.includes("#YAML_BLANK_LINE_MARKER#")&&(t.textContent=t.textContent.replace(/#YAML_BLANK_LINE_MARKER#/g,""))},0)}},[i]);let d={...l.mQ,'code[class*="language-"]':{...l.mQ['code[class*="language-"]'],whiteSpace:"pre !important"},'pre[class*="language-"]':{...l.mQ['pre[class*="language-"]'],whiteSpace:"pre !important"}};return(0,r.jsx)("div",{ref:o,className:s,children:(0,r.jsx)(a.Z,{language:"yaml",style:d,customStyle:{margin:0,padding:0,background:"transparent",fontSize:"0.875rem",fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace'},wrapLines:!0,wrapLongLines:!0,showLineNumbers:!1,useInlineStyles:!0,children:i})})}},99307:function(e,t,s){"use strict";s.d(t,{Cl:function(){return c},OE:function(){return d}});var r=s(85893);s(67294);var n=s(55739),a=s(36989),l=s(53850);let c=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"}},o=e=>{switch(e){case"LAUNCHING":case"STARTING":case"PROVISIONING":case"SHUTTING_DOWN":return(0,r.jsx)(n.Z,{size:12,className:"w-3 h-3 mr-1"});case"RUNNING":case"IN_USE":default:return(0,r.jsx)(l.W2,{className:"w-3 h-3 mr-1"});case"STOPPED":case"PREEMPTED":return(0,r.jsx)(l.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,r.jsx)(l.Ps,{className:"w-3 h-3 mr-1"});case"SUCCEEDED":return(0,r.jsx)(l.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,r.jsx)(l.J$,{className:"w-3 h-3 mr-1"})}},i=e=>{let t=c(e),s=o(e);return(0,r.jsxs)("span",{className:"".concat("inline-flex items-center px-2 py-1 rounded-full text-sm"," ").concat(t),children:[s,e]})},d=e=>{let{status:t}=e;return(0,r.jsx)(a.WH,{content:t,className:"text-muted-foreground text-sm",children:(0,r.jsx)("span",{children:i(t)})})}},20546:function(e,t,s){"use strict";s.d(t,{H:function(){return d}});var r=s(85893);s(67294);var n=s(41664),a=s.n(n),l=s(45697),c=s.n(l);function o(e){return!!e&&"string"==typeof e&&e.toLowerCase().startsWith("sa-")}let i=()=>(0,r.jsx)("span",{className:"px-2 py-0.5 text-xs bg-blue-100 text-blue-700 rounded font-medium ml-1",children:"SA"}),d=e=>{let{username:t,userHash:s,className:n="flex items-center gap-1",linkClassName:l="text-gray-700 hover:text-blue-600 hover:underline",showBadge:c=!0}=e,d=o(s),u=o(s)?"/users?tab=service-accounts":"/users";return(0,r.jsxs)("div",{className:n,children:[(0,r.jsx)(a(),{href:u,className:l,children:t}),c&&d&&(0,r.jsx)(i,{})]})};d.propTypes={username:c().string.isRequired,userHash:c().string,className:c().string,linkClassName:c().string,showBadge:c().bool}},37673:function(e,t,s){"use strict";s.d(t,{Ol:function(){return i},Zb:function(){return o},aY:function(){return m},ll:function(){return d}});var r=s(85893),n=s(67294),a=s(45697),l=s.n(a),c=s(32350);let o=n.forwardRef((e,t)=>{let{className:s,children:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,c.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",s),...a,children:n})});o.displayName="Card",o.propTypes={className:l().string,children:l().node};let i=n.forwardRef((e,t)=>{let{className:s,children:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,c.cn)("flex flex-col space-y-1.5 p-6",s),...a,children:n})});i.displayName="CardHeader",i.propTypes={className:l().string,children:l().node};let d=n.forwardRef((e,t)=>{let{className:s,children:n,...a}=e;return(0,r.jsx)("h3",{ref:t,className:(0,c.cn)("text-2xl font-semibold leading-none tracking-tight",s),...a,children:n})});d.displayName="CardTitle",d.propTypes={className:l().string,children:l().node};let u=n.forwardRef((e,t)=>{let{className:s,children:n,...a}=e;return(0,r.jsx)("p",{ref:t,className:(0,c.cn)("text-sm text-muted-foreground",s),...a,children:n})});u.displayName="CardDescription",u.propTypes={className:l().string,children:l().node};let m=n.forwardRef((e,t)=>{let{className:s,children:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,c.cn)("p-6 pt-0",s),...a,children:n})});m.displayName="CardContent",m.propTypes={className:l().string,children:l().node};let x=n.forwardRef((e,t)=>{let{className:s,children:n,...a}=e;return(0,r.jsx)("div",{ref:t,className:(0,c.cn)("flex items-center p-6 pt-0",s),...a,children:n})});x.displayName="CardFooter",x.propTypes={className:l().string,children:l().node}},47145:function(e,t,s){"use strict";s.d(t,{x:function(){return n}});var r=s(93225);let n={fetch:async function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"POST",n=window.location.origin,a="".concat(n).concat(r.f4).concat(e),l=await fetch(a,{method:s,headers:"POST"===s?{"Content-Type":"application/json"}:{},body:"POST"===s?JSON.stringify(t):void 0}),c=l.headers.get("X-Skypilot-Request-ID")||l.headers.get("X-Request-ID"),o=await fetch("".concat(n).concat(r.f4,"/api/get?request_id=").concat(c)),i=await o.json();return i.return_value?JSON.parse(i.return_value):[]},post:async(e,t)=>{let s=window.location.origin,n="".concat(s).concat(r.f4).concat(e);return await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})},stream:async(e,t,s)=>{let r=(await n.post(e,t)).body.getReader();try{for(;;){let{done:e,value:t}=await r.read();if(e)break;let n=new TextDecoder().decode(t);s(n)}}catch(e){throw console.error("Error in stream:",e),e}},get:async e=>{let t=window.location.origin,s="".concat(t).concat(r.f4).concat(e);return await fetch(s)}}},32350:function(e,t,s){"use strict";s.d(t,{cn:function(){return a}});var r=s(90512),n=s(98388);function a(){for(var e=arguments.length,t=Array(e),s=0;s<e;s++)t[s]=arguments[s];return(0,n.m6)((0,r.W)(t))}},84303:function(e,t,s){"use strict";s.d(t,{_q:function(){return a},pJ:function(){return o}});var r=s(1272);let n={lineWidth:-1,quotingType:"'",forceQuotes:!1,noRefs:!0,sortKeys:!1,condenseFlow:!1,indent:2},a=e=>{if(!e)return"No YAML available";try{let t=r.ZP.load(e),s=r.ZP.dump(t,n).split("\n"),a=[],l=-1;for(let e=0;e<s.length;e++){let t=s[e],r=t.search(/\S/);0===r&&l>=0&&e>0&&a.push(""),a.push(t),l=r}return a.join("\n").trim()}catch(t){return console.error("YAML formatting error:",t),e}},l=e=>"string"==typeof e?e.substring(0,50)+"...":e&&e.name?"name: ".concat(e.name):e&&e.resources?"Task configuration":"YAML document",c=(e,t)=>{try{let s=r.ZP.load(e),a=r.ZP.dump(s,n).split("\n"),c=[],o=-1;for(let e=0;e<a.length;e++){let t=a[e],s=t.search(/\S/);0===s&&o>=0&&e>0&&c.push(""),c.push(t),o=s}return{index:t,content:c.join("\n").trim(),preview:l(s)}}catch(s){return console.error("YAML formatting error for document ".concat(t,":"),s),{index:t,content:e,preview:"Invalid YAML"}}},o=e=>{if(!e)return[];try{let t=[],s=e.split(/^---$/m);for(let e=0;e<s.length;e++){let r=s[e].trim();r&&""!==r&&t.push(r)}return(t.length>1?t.slice(1):t).map((e,t)=>c(e,t))}catch(t){return console.error("YAML formatting error:",t),[{index:0,content:e,preview:"Invalid YAML"}]}}},88099:function(e,t,s){"use strict";s.r(t);var r=s(85893),n=s(67294),a=s(55739),l=s(11163);s(6135);var c=s(37673),o=s(68969),i=s(41664),d=s.n(i),u=s(13626),m=s(70282),x=s(27325),f=s(45895),g=s(6639),h=s(36989),N=s(99307),p=s(23001),j=s(9008),b=s.n(j),y=s(84303),v=s(20546),E=s(1125),L=s(6378);function w(e){let{jobData:t,activeTab:s,setIsLoadingLogs:l,setIsLoadingControllerLogs:c,isLoadingLogs:i,isLoadingControllerLogs:u,refreshFlag:p,poolsData:j}=e,[b,L]=(0,n.useState)(""),[w,I]=(0,n.useState)(""),[C,R]=(0,n.useState)(!1),[S,T]=(0,n.useState)({}),[_,A]=(0,n.useState)(!1),[D,O]=(0,n.useState)(!1),[k,P]=(0,n.useState)(0),[F,M]=(0,n.useState)(0),[Z,U]=(0,n.useState)(!1),[G,q]=(0,n.useState)(!1),[H,W]=(0,n.useState)(!1),[Y,B]=(0,n.useState)(!1),J=(0,n.useRef)(null),K=(0,n.useRef)(null),V=(0,n.useRef)(new WeakSet),$=(0,n.useRef)(null),z=(0,n.useRef)(null),X=(0,n.useRef)(""),Q=(0,n.useRef)(""),ee=(0,n.useRef)(null);(0,n.useRef)(0);let et=(0,n.useCallback)(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"request";if(e){if(V.current.has(e)){console.log("".concat(t," controller already aborted previously, skipping"));return}try{if("function"!=typeof e.abort){console.warn("Controller for ".concat(t," does not have abort method"));return}if(e.signal&&e.signal.aborted){console.log("".concat(t," already aborted via signal, skipping")),V.current.add(e);return}e.abort(),V.current.add(e),console.log("Successfully aborted ".concat(t))}catch(s){console.log("Caught error while aborting ".concat(t,":"),s.name,s.message),V.current.add(e),"AbortError"!==s.name&&"InvalidStateError"!==s.name&&console.warn("Unexpected error aborting ".concat(t,":"),s)}}},[]),es=(0,n.useCallback)(e=>{let t="logs"===e?$:z;if(t.current)for(let s of[()=>t.current.querySelector(".logs-container"),()=>t.current.querySelector('[class*="logs-container"]'),()=>t.current.querySelector('div[style*="overflow"]'),()=>t.current]){let t=s();if(t&&t.scrollHeight>t.clientHeight){t.scrollTop=t.scrollHeight,console.log("Auto-scrolled ".concat(e," to bottom"));break}}},[]),er=["PENDING","SUBMITTED","STARTING"].includes(t.status),en=["PENDING","SUBMITTED"].includes(t.status),ea=["RECOVERING"].includes(t.status),el=e=>{T(t=>({...t,[e]:!t[e]}))},ec=async()=>{try{let e=(0,y.pJ)(t.dag_yaml),s="";s=1===e.length?e[0].content:e.length>1?e.map(e=>e.content).join("\n---\n"):t.dag_yaml,await navigator.clipboard.writeText(s),A(!0),setTimeout(()=>A(!1),2e3)}catch(e){console.error("Failed to copy YAML to clipboard:",e)}},eo=async()=>{try{await navigator.clipboard.writeText(t.entrypoint),O(!0),setTimeout(()=>O(!1),2e3)}catch(e){console.error("Failed to copy command to clipboard:",e)}};(0,n.useEffect)(()=>{L(""),P(0),B(!1)},[s,t.id]),(0,n.useEffect)(()=>{I(""),M(0),B(!1)},[s,t.id]);let ei=(0,n.useCallback)(function(e,t,s,r){let n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a="logs"===e?J:K;if(a.current)return console.log("Request already active for ".concat(e,", skipping...")),()=>{};let l=!0,c=new AbortController;return"logs"===e&&(er||ea)?(r(!1),n&&U(!1),()=>{}):"controllerlogs"===e&&en?(r(!1),n&&q(!1),()=>{}):t?(a.current=c,r(!0),W(!0),n&&(s(""),"logs"===e?P(0):M(0)),(0,o.NJ)({jobId:t,controller:"controllerlogs"===e,signal:c.signal,onNewLog:t=>{l&&(Y||B(!0),("logs"===e?s:I)(s=>{let r=t.split("\n").filter(e=>e.trim()),n=s;for(let e of r){let t=(0,h.Zn)(e);if(/\d+%\s*\|/.test(t)){let e=t.match(/^\(([^)]+)\)/);if(e&&n){let s=n.split("\n"),r=!1;for(let a=s.length-1;a>=0;a--){let l=s[a];if(/\d+%\s*\|/.test(l)){let c=l.match(/^\(([^)]+)\)/);if(c&&c[1]===e[1]){s[a]=t,n=s.join("\n"),r=!0;break}}}r||(n+=(n?"\n":"")+t)}else n+=(n?"\n":"")+t}else n+=(n?"\n":"")+t}return"logs"===e?P(n.length):M(n.length),n}),requestAnimationFrame(()=>{es(e)}))}}).then(()=>{l&&(r(!1),n&&("logs"===e?U(!1):q(!1)),requestAnimationFrame(()=>{es(e)}))}).catch(t=>{l&&("AbortError"!==t.name&&(console.error("Error streaming ".concat(e,":"),t),t.message&&s(e=>e+"Error fetching logs: ".concat(t.message,"\n"))),r(!1),n&&("logs"===e?U(!1):q(!1)))}).finally(()=>{console.log("Cleaning up ".concat(e," request")),l=!1,a.current===c&&(et(c,e),a.current=null),"logs"===e?X.current="":Q.current="",ee.current&&(clearTimeout(ee.current),ee.current=null)}),()=>{console.log("Cleaning up ".concat(e," request")),l=!1,a.current===c&&(et(c,"".concat(e," cleanup")),a.current=null),"logs"===e?X.current="":Q.current="",ee.current&&(clearTimeout(ee.current),ee.current=null)}):()=>{l=!1}},[er,en,ea,Y,et,es]);return((0,n.useEffect)(()=>{if(J.current&&(et(J.current,"logs"),J.current=null),!er&&!ea)return ei("logs",t.id,L,l)},[t.id,ei,l,er,ea,et]),(0,n.useEffect)(()=>{if(K.current&&(et(K.current,"controller logs"),K.current=null),!en)return ei("controllerlogs",t.id,I,c)},[t.id,ei,c,en,et]),(0,n.useEffect)(()=>{if(p>0&&"logs"===s)return J.current&&(et(J.current,"logs refresh"),J.current=null),U(!0),ei("logs",t.id,L,l,!0)},[p,s,t.id,ei,l,et]),(0,n.useEffect)(()=>{if(p>0&&"controllerlogs"===s)return K.current&&(et(K.current,"controller logs refresh"),K.current=null),q(!0),ei("controllerlogs",t.id,I,c,!0)},[p,s,t.id,ei,c,et]),(0,n.useEffect)(()=>()=>{console.log("Cleaning up managed job log requests..."),J.current&&(et(J.current,"logs cleanup"),J.current=null),K.current&&(et(K.current,"controller logs cleanup"),K.current=null),ee.current&&(clearTimeout(ee.current),ee.current=null),X.current="",Q.current="",l(!1),c(!1),U(!1),q(!1)},[et,l,c]),(0,n.useEffect)(()=>{let e=()=>{document.hidden?(console.log("Page hidden - pausing log streaming for performance"),ee.current&&(clearTimeout(ee.current),ee.current=null)):console.log("Page visible - resuming normal operation")};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[]),(0,n.useEffect)(()=>{let e=()=>{("logs"===s&&b||"controllerlogs"===s&&w)&&es("logs"===s?"logs":"controllerlogs")};requestAnimationFrame(()=>{requestAnimationFrame(e)})},[s,b,w,es]),"logs"===s)?(0,r.jsx)("div",{className:"max-h-96 overflow-y-auto",ref:$,children:er?(0,r.jsx)("div",{className:"bg-[#f7f7f7] flex items-center justify-center py-4 text-gray-500",children:(0,r.jsx)("span",{children:"Waiting for the job to start; refresh in a few moments."})}):ea?(0,r.jsx)("div",{className:"bg-[#f7f7f7] flex items-center justify-center py-4 text-gray-500",children:(0,r.jsx)("span",{children:"Waiting for the job to recover; refresh in a few moments."})}):Y||b?(0,r.jsx)(h.$B,{logs:b}):i?(0,r.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,r.jsx)(a.Z,{size:20,className:"mr-2"}),(0,r.jsx)("span",{children:"Loading logs..."})]}):(0,r.jsx)(h.$B,{logs:b})}):"controllerlogs"===s?(0,r.jsx)("div",{className:"max-h-96 overflow-y-auto",ref:z,children:en?(0,r.jsx)("div",{className:"bg-[#f7f7f7] flex items-center justify-center py-4 text-gray-500",children:(0,r.jsx)("span",{children:"Waiting for the job controller process to start; refresh in a few moments."})}):Y||w?(0,r.jsx)(h.$B,{logs:w,controller:!0}):u?(0,r.jsxs)("div",{className:"flex items-center justify-center py-4",children:[(0,r.jsx)(a.Z,{size:20,className:"mr-2"}),(0,r.jsx)("span",{children:"Loading logs..."})]}):(0,r.jsx)(h.$B,{logs:w,controller:!0})}):(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Job ID (Name)"}),(0,r.jsxs)("div",{className:"text-base mt-1",children:[t.id," ",t.name?"(".concat(t.name,")"):""]})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Status"}),(0,r.jsx)("div",{className:"text-base mt-1",children:(0,r.jsx)(N.OE,{status:t.status})})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"User"}),(0,r.jsx)("div",{className:"text-base mt-1",children:(0,r.jsx)(v.H,{username:t.user,userHash:t.user_hash})})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Submitted"}),(0,r.jsx)("div",{className:"text-base mt-1",children:t.submitted_at?(0,h.xn)(t.submitted_at):"N/A"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Requested Resources"}),(0,r.jsx)("div",{className:"text-base mt-1",children:t.requested_resources||"N/A"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Infra"}),(0,r.jsx)("div",{className:"text-base mt-1",children:t.infra?(0,r.jsx)(h.Md,{content:t.full_infra||t.infra,className:"text-sm text-muted-foreground",children:(0,r.jsxs)("span",{children:[(0,r.jsx)(d(),{href:"/infra",className:"text-blue-600 hover:underline",children:t.cloud||t.infra.split("(")[0].trim()}),t.infra.includes("(")&&(0,r.jsx)("span",{children:" "+t.infra.substring(t.infra.indexOf("("))})]})}):"-"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Resources"}),(0,r.jsx)("div",{className:"text-base mt-1",children:t.resources_str_full||t.resources_str||"-"})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Git Commit"}),(0,r.jsx)("div",{className:"text-base mt-1 flex items-center",children:t.git_commit&&"-"!==t.git_commit?(0,r.jsxs)("span",{className:"flex items-center mr-2",children:[t.git_commit,(0,r.jsx)(h.WH,{content:_?"Copied!":"Copy commit",className:"text-muted-foreground",children:(0,r.jsx)("button",{onClick:async()=>{await navigator.clipboard.writeText(t.git_commit),A(!0),setTimeout(()=>A(!1),2e3)},className:"flex items-center text-gray-500 hover:text-gray-700 transition-colors duration-200 p-1 ml-2",children:_?(0,r.jsx)(m.Z,{className:"w-4 h-4 text-green-600"}):(0,r.jsx)(x.Z,{className:"w-4 h-4"})})})]}):(0,r.jsx)("span",{className:"text-gray-400",children:"-"})})]}),(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Worker Pool"}),(0,r.jsx)("div",{className:"text-base mt-1",children:(0,h.os)(t.pool,t.pool_hash,j)})]}),(t.entrypoint||t.dag_yaml)&&(0,r.jsxs)("div",{className:"col-span-2",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("div",{className:"text-gray-600 font-medium text-base",children:"Entrypoint"}),t.entrypoint&&(0,r.jsx)(h.WH,{content:D?"Copied!":"Copy command",className:"text-muted-foreground",children:(0,r.jsx)("button",{onClick:eo,className:"flex items-center text-gray-500 hover:text-gray-700 transition-colors duration-200 p-1 ml-2",children:D?(0,r.jsx)(m.Z,{className:"w-4 h-4 text-green-600"}):(0,r.jsx)(x.Z,{className:"w-4 h-4"})})})]}),(0,r.jsxs)("div",{className:"space-y-4 mt-3",children:[t.entrypoint&&(0,r.jsx)("div",{children:(0,r.jsx)("div",{className:"bg-gray-50 border border-gray-200 rounded-md p-3",children:(0,r.jsx)("code",{className:"text-sm text-gray-800 font-mono break-all",children:t.entrypoint})})}),t.dag_yaml&&"{}"!==t.dag_yaml&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center mb-2",children:[(0,r.jsxs)("button",{onClick:()=>{R(!C)},className:"flex items-center text-left focus:outline-none text-gray-700 hover:text-gray-900 transition-colors duration-200",children:[C?(0,r.jsx)(f.Z,{className:"w-4 h-4 mr-1"}):(0,r.jsx)(g.Z,{className:"w-4 h-4 mr-1"}),(0,r.jsx)("span",{className:"text-base",children:"Show SkyPilot YAML"})]}),(0,r.jsx)(h.WH,{content:_?"Copied!":"Copy YAML",className:"text-muted-foreground",children:(0,r.jsx)("button",{onClick:ec,className:"flex items-center text-gray-500 hover:text-gray-700 transition-colors duration-200 p-1 ml-2",children:_?(0,r.jsx)(m.Z,{className:"w-4 h-4 text-green-600"}):(0,r.jsx)(x.Z,{className:"w-4 h-4"})})})]}),C&&(0,r.jsx)("div",{className:"bg-gray-50 border border-gray-200 rounded-md p-3 max-h-96 overflow-y-auto",children:(()=>{let e=(0,y.pJ)(t.dag_yaml);return 0===e.length?(0,r.jsx)("div",{className:"text-gray-500",children:"No YAML available"}):1===e.length?(0,r.jsx)(E.C,{className:"whitespace-pre-wrap",children:e[0].content}):(0,r.jsx)("div",{className:"space-y-4",children:e.map((e,t)=>(0,r.jsxs)("div",{className:"border-b border-gray-200 pb-4 last:border-b-0",children:[(0,r.jsx)("button",{onClick:()=>el(t),className:"flex items-center justify-between w-full text-left focus:outline-none",children:(0,r.jsxs)("div",{className:"flex items-center",children:[S[t]?(0,r.jsx)(f.Z,{className:"w-4 h-4 mr-2"}):(0,r.jsx)(g.Z,{className:"w-4 h-4 mr-2"}),(0,r.jsxs)("span",{className:"text-sm font-medium text-gray-700",children:["Task ",t+1,": ",e.preview]})]})}),S[t]&&(0,r.jsx)("div",{className:"mt-3 ml-6",children:(0,r.jsx)(E.C,{className:"whitespace-pre-wrap",children:e.content})})]},t))})})()})]})]})]})]})}t.default=function(){var e;let t=(0,l.useRouter)(),{job:s,tab:i}=t.query,[m,x]=(0,n.useState)(0),{jobData:f,loading:g}=(0,o.UA)(s,m),[N,j]=(0,n.useState)([]),[y,v]=(0,n.useState)(!1),[E,I]=(0,n.useState)(!0),[C,R]=(0,n.useState)(!1),[S,T]=(0,n.useState)(!1),[_,A]=(0,n.useState)(!1),[D,O]=(0,n.useState)(!1),[k,P]=(0,n.useState)(!1),[F,M]=(0,n.useState)(0),[Z,U]=(0,n.useState)(0),G=(0,p.X)();n.useEffect(()=>{!g&&E&&I(!1)},[g,E]),(0,n.useEffect)(()=>{(async function(){try{let e=await L.default.get(o.vs,[{}]);j(e.pools||[])}catch(e){console.error("Error fetching pools data:",e),j([])}})()},[]);let q=e=>{let t=document.getElementById(e);t&&t.scrollIntoView({behavior:"smooth"})};(0,n.useEffect)(()=>{O(!0)},[]),(0,n.useEffect)(()=>{if(!k){let e=new MutationObserver(()=>{let t=document.getElementById("logs-section"),s=document.getElementById("controller-logs-section");("logs"===i&&t||"controllerlogs"===i&&s)&&(P(!0),e.disconnect())});return e.observe(document.body,{childList:!0,subtree:!0}),()=>e.disconnect()}},[k,i]),(0,n.useEffect)(()=>{if(t.isReady&&D&&k&&!_){let e=setTimeout(()=>{"logs"===i?(q("logs-section"),A(!0)):"controllerlogs"===i&&(q("controller-logs-section"),A(!0))},800);return()=>clearTimeout(e)}},[t.isReady,i,_,D,k]),(0,n.useEffect)(()=>{A(!1),P(!1)},[i]);let H=async()=>{v(!0);try{x(e=>e+1),M(e=>e+1),U(e=>e+1)}catch(e){console.error("Error refreshing data:",e)}finally{v(!1)}};if(!t.isReady)return(0,r.jsx)("div",{children:"Loading..."});let W=null==f?void 0:null===(e=f.jobs)||void 0===e?void 0:e.find(e=>String(e.id)===String(s)),Y=s?"Job: ".concat(s," | SkyPilot Dashboard"):"Job Details | SkyPilot Dashboard";return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(b(),{children:(0,r.jsx)("title",{children:Y})}),(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,r.jsxs)("div",{className:"text-base flex items-center",children:[(0,r.jsx)(d(),{href:"/jobs",className:"text-sky-blue hover:underline",children:"Managed Jobs"}),(0,r.jsx)("span",{className:"mx-2 text-gray-500",children:"›"}),(0,r.jsxs)(d(),{href:"/jobs/".concat(s),className:"text-sky-blue hover:underline",children:[s," ",(null==W?void 0:W.name)?"(".concat(W.name,")"):""]})]}),(0,r.jsxs)("div",{className:"text-sm flex items-center",children:[(g||y||C||S)&&(0,r.jsxs)("div",{className:"flex items-center mr-4",children:[(0,r.jsx)(a.Z,{size:15,className:"mt-0"}),(0,r.jsx)("span",{className:"ml-2 text-gray-500",children:"Loading..."})]}),(0,r.jsx)(h.WH,{content:"Refresh",className:"text-muted-foreground",children:(0,r.jsxs)("button",{onClick:H,disabled:g||y,className:"text-sky-blue hover:text-sky-blue-bright font-medium inline-flex items-center h-8",children:[(0,r.jsx)(u.Z,{className:"w-4 h-4 mr-1.5"}),!G&&(0,r.jsx)("span",{children:"Refresh"})]})})]})]}),g&&E?(0,r.jsxs)("div",{className:"flex items-center justify-center py-32",children:[(0,r.jsx)(a.Z,{size:20,className:"mr-2"}),(0,r.jsx)("span",{children:"Loading..."})]}):W?(0,r.jsxs)("div",{className:"space-y-8",children:[(0,r.jsx)("div",{id:"details-section",children:(0,r.jsxs)(c.Zb,{children:[(0,r.jsx)("div",{className:"flex items-center justify-between px-4 pt-4",children:(0,r.jsx)("h3",{className:"text-lg font-semibold",children:"Details"})}),(0,r.jsx)("div",{className:"p-4",children:(0,r.jsx)(w,{jobData:W,activeTab:"info",setIsLoadingLogs:R,setIsLoadingControllerLogs:T,isLoadingLogs:C,isLoadingControllerLogs:S,refreshFlag:0,poolsData:N})})]})}),(0,r.jsx)("div",{id:"logs-section",className:"mt-6",children:(0,r.jsxs)(c.Zb,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold",children:"Logs"}),(0,r.jsx)("span",{className:"ml-2 text-xs text-gray-500",children:"(Logs are not streaming; click refresh to fetch the latest logs.)"})]}),(0,r.jsx)(h.WH,{content:"Refresh logs",className:"text-muted-foreground",children:(0,r.jsx)("button",{onClick:()=>{M(e=>e+1)},disabled:C,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:(0,r.jsx)(u.Z,{className:"w-4 h-4 ".concat(C?"animate-spin":"")})})})]}),(0,r.jsx)("div",{className:"p-4",children:(0,r.jsx)(w,{jobData:W,activeTab:"logs",setIsLoadingLogs:R,setIsLoadingControllerLogs:T,isLoadingLogs:C,isLoadingControllerLogs:S,refreshFlag:F,poolsData:N})})]})}),(0,r.jsx)("div",{id:"controller-logs-section",className:"mt-6",children:(0,r.jsxs)(c.Zb,{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 pt-4",children:[(0,r.jsxs)("div",{className:"flex items-center",children:[(0,r.jsx)("h3",{className:"text-lg font-semibold",children:"Controller Logs"}),(0,r.jsx)("span",{className:"ml-2 text-xs text-gray-500",children:"(Logs are not streaming; click refresh to fetch the latest logs.)"})]}),(0,r.jsx)(h.WH,{content:"Refresh controller logs",className:"text-muted-foreground",children:(0,r.jsx)("button",{onClick:()=>{U(e=>e+1)},disabled:S,className:"text-sky-blue hover:text-sky-blue-bright flex items-center",children:(0,r.jsx)(u.Z,{className:"w-4 h-4 ".concat(S?"animate-spin":"")})})})]}),(0,r.jsx)("div",{className:"p-4",children:(0,r.jsx)(w,{jobData:W,activeTab:"controllerlogs",setIsLoadingLogs:R,setIsLoadingControllerLogs:T,isLoadingLogs:C,isLoadingControllerLogs:S,refreshFlag:Z,poolsData:N})})]})})]}):(0,r.jsx)("div",{className:"flex items-center justify-center py-32",children:(0,r.jsx)("span",{children:"Job not found"})})]})]})}}},function(e){e.O(0,[616,6130,5739,7411,1272,754,6989,3850,8969,6135,2888,9774,179],function(){return e(e.s=40479)}),_N_E=e.O()}]);