skypilot-nightly 1.0.0.dev20250820__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.
- sky/__init__.py +2 -2
- sky/backends/cloud_vm_ray_backend.py +9 -1
- sky/client/cli/flags.py +3 -3
- sky/dashboard/out/404.html +1 -1
- sky/dashboard/out/_next/static/chunks/3015-6c9c09593b1e67b6.js +1 -0
- sky/dashboard/out/_next/static/chunks/{3785.bc5d2853355c9c47.js → 3785.d5b86f6ebc88e6e6.js} +1 -1
- sky/dashboard/out/_next/static/chunks/{9277.71481d5b2e606e33.js → 4783.c485f48348349f47.js} +8 -3
- sky/dashboard/out/_next/static/chunks/{6633-efe924b9b8136699.js → 7205-88191679e7988c57.js} +9 -4
- sky/dashboard/out/_next/static/chunks/8969-4a6f1a928fb6d370.js +1 -0
- sky/dashboard/out/_next/static/chunks/{8838.e7953f42af2b0544.js → 9946.3b7b43c217ff70ec.js} +9 -4
- sky/dashboard/out/_next/static/chunks/pages/clusters/{[cluster]-ec747e4f2dc39b57.js → [cluster]-a0527109c2fab467.js} +7 -2
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-dd64309c3fe67ed2.js +11 -0
- sky/dashboard/out/_next/static/chunks/pages/{jobs-4b3ba1792dc6f21d.js → jobs-7421e63ac35f8fce.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/workspaces/{[name]-65f72dee417237ef.js → [name]-de06e613e20bc977.js} +1 -1
- sky/dashboard/out/_next/static/chunks/pages/{workspaces-338de9df523d883a.js → workspaces-be35b22e2046564c.js} +1 -1
- sky/dashboard/out/_next/static/chunks/webpack-6e76f636a048e145.js +1 -0
- sky/dashboard/out/_next/static/{8ZscIHnvBWz3AXkxsJL6H → wN25tc2rkvOkO-qkzIhcD}/_buildManifest.js +1 -1
- sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
- sky/dashboard/out/clusters/[cluster].html +1 -1
- sky/dashboard/out/clusters.html +1 -1
- sky/dashboard/out/config.html +1 -1
- sky/dashboard/out/index.html +1 -1
- sky/dashboard/out/infra/[context].html +1 -1
- sky/dashboard/out/infra.html +1 -1
- sky/dashboard/out/jobs/[job].html +1 -1
- sky/dashboard/out/jobs/pools/[pool].html +1 -1
- sky/dashboard/out/jobs.html +1 -1
- sky/dashboard/out/users.html +1 -1
- sky/dashboard/out/volumes.html +1 -1
- sky/dashboard/out/workspace/new.html +1 -1
- sky/dashboard/out/workspaces/[name].html +1 -1
- sky/dashboard/out/workspaces.html +1 -1
- sky/provision/docker_utils.py +20 -1
- sky/resources.py +17 -7
- sky/skypilot_config.py +4 -4
- sky/users/permission.py +2 -1
- {skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/METADATA +1 -1
- {skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/RECORD +47 -47
- sky/dashboard/out/_next/static/chunks/3015-bf218e4973bf5c8f.js +0 -1
- sky/dashboard/out/_next/static/chunks/8969-23c8fbdb8b397d59.js +0 -1
- sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-ad2cd5aab787bc15.js +0 -6
- sky/dashboard/out/_next/static/chunks/webpack-008593a02784a2df.js +0 -1
- /sky/dashboard/out/_next/static/chunks/{1121-2edb8ab2ba080a76.js → 1121-8afcf719ea87debc.js} +0 -0
- /sky/dashboard/out/_next/static/chunks/{1141-2f60a90b7d76838e.js → 1141-943efc7aff0f0c06.js} +0 -0
- /sky/dashboard/out/_next/static/chunks/{6856-e6f350f567182e87.js → 6856-049014c6d43d127b.js} +0 -0
- /sky/dashboard/out/_next/static/chunks/pages/jobs/pools/{[pool]-7d4182df6625fe10.js → [pool]-07349868f7905d37.js} +0 -0
- /sky/dashboard/out/_next/static/{8ZscIHnvBWz3AXkxsJL6H → wN25tc2rkvOkO-qkzIhcD}/_ssgManifest.js +0 -0
- {skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/WHEEL +0 -0
- {skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/entry_points.txt +0 -0
- {skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/licenses/LICENSE +0 -0
- {skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/top_level.txt +0 -0
sky/resources.py
CHANGED
|
@@ -1260,10 +1260,14 @@ class Resources:
|
|
|
1260
1260
|
def extract_docker_image(self) -> Optional[str]:
|
|
1261
1261
|
if self.image_id is None:
|
|
1262
1262
|
return None
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
if
|
|
1266
|
-
|
|
1263
|
+
# Handle dict image_id
|
|
1264
|
+
if len(self.image_id) == 1:
|
|
1265
|
+
# Check if the single key matches the region or is None (any region)
|
|
1266
|
+
image_key = list(self.image_id.keys())[0]
|
|
1267
|
+
if image_key == self.region or image_key is None:
|
|
1268
|
+
image_id = self.image_id[image_key]
|
|
1269
|
+
if image_id.startswith('docker:'):
|
|
1270
|
+
return image_id[len('docker:'):]
|
|
1267
1271
|
return None
|
|
1268
1272
|
|
|
1269
1273
|
def _try_validate_image_id(self) -> None:
|
|
@@ -1333,13 +1337,19 @@ class Resources:
|
|
|
1333
1337
|
'Kubernetes, please explicitly specify the cloud.') from e
|
|
1334
1338
|
|
|
1335
1339
|
if self._region is not None:
|
|
1336
|
-
|
|
1340
|
+
# If the image_id has None as key (region-agnostic),
|
|
1341
|
+
# use it for any region
|
|
1342
|
+
if None in self._image_id:
|
|
1343
|
+
# Replace None key with the actual region
|
|
1344
|
+
self._image_id = {self._region: self._image_id[None]}
|
|
1345
|
+
elif self._region not in self._image_id:
|
|
1337
1346
|
with ux_utils.print_exception_no_traceback():
|
|
1338
1347
|
raise ValueError(
|
|
1339
1348
|
f'image_id {self._image_id} should contain the image '
|
|
1340
1349
|
f'for the specified region {self._region}.')
|
|
1341
|
-
|
|
1342
|
-
|
|
1350
|
+
else:
|
|
1351
|
+
# Narrow down the image_id to the specified region.
|
|
1352
|
+
self._image_id = {self._region: self._image_id[self._region]}
|
|
1343
1353
|
|
|
1344
1354
|
# Check the image_id's are valid.
|
|
1345
1355
|
for region, image_id in self._image_id.items():
|
sky/skypilot_config.py
CHANGED
|
@@ -514,10 +514,10 @@ def parse_and_validate_config_file(config_path: str) -> config_utils.Config:
|
|
|
514
514
|
|
|
515
515
|
|
|
516
516
|
def _parse_dotlist(dotlist: List[str]) -> config_utils.Config:
|
|
517
|
-
"""Parse a
|
|
517
|
+
"""Parse a single key-value pair into a dictionary.
|
|
518
518
|
|
|
519
519
|
Args:
|
|
520
|
-
dotlist: A
|
|
520
|
+
dotlist: A single key-value pair.
|
|
521
521
|
|
|
522
522
|
Returns:
|
|
523
523
|
A config_utils.Config object with the parsed key-value pairs.
|
|
@@ -788,7 +788,7 @@ def _compose_cli_config(cli_config: Optional[List[str]]) -> config_utils.Config:
|
|
|
788
788
|
"""Composes the skypilot CLI config.
|
|
789
789
|
CLI config can either be:
|
|
790
790
|
- A path to a config file
|
|
791
|
-
- A
|
|
791
|
+
- A single key-value pair
|
|
792
792
|
"""
|
|
793
793
|
|
|
794
794
|
if not cli_config:
|
|
@@ -804,7 +804,7 @@ def _compose_cli_config(cli_config: Optional[List[str]]) -> config_utils.Config:
|
|
|
804
804
|
config_source = maybe_config_path
|
|
805
805
|
# cli_config is a path to a config file
|
|
806
806
|
parsed_config = parse_and_validate_config_file(maybe_config_path)
|
|
807
|
-
else: # cli_config is a
|
|
807
|
+
else: # cli_config is a single key-value pair
|
|
808
808
|
parsed_config = _parse_dotlist(cli_config)
|
|
809
809
|
_validate_config(parsed_config, config_source)
|
|
810
810
|
except ValueError as e:
|
sky/users/permission.py
CHANGED
|
@@ -46,7 +46,8 @@ class PermissionService:
|
|
|
46
46
|
engine = global_user_state.initialize_and_get_db()
|
|
47
47
|
db_utils.add_all_tables_to_db_sqlalchemy(
|
|
48
48
|
sqlalchemy_adapter.Base.metadata, engine)
|
|
49
|
-
adapter = sqlalchemy_adapter.Adapter(
|
|
49
|
+
adapter = sqlalchemy_adapter.Adapter(
|
|
50
|
+
engine, db_class=sqlalchemy_adapter.CasbinRule)
|
|
50
51
|
model_path = os.path.join(os.path.dirname(__file__),
|
|
51
52
|
'model.conf')
|
|
52
53
|
enforcer = casbin.Enforcer(model_path, adapter)
|
{skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/RECORD
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
sky/__init__.py,sha256=
|
|
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
|
|
@@ -12,9 +12,9 @@ sky/global_user_state.py,sha256=-s-bJUxpEsUcdCT_U8r7mcb965Z44iUyNRNY27TpZs4,8145
|
|
|
12
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=
|
|
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=
|
|
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,7 +36,7 @@ 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=
|
|
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
42
|
sky/backends/wheel_utils.py,sha256=2ik8vImmlYLCygRqqTI1ukfZNpqjpdjvj2kHWznFjs8,11104
|
|
@@ -84,7 +84,7 @@ sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63au
|
|
|
84
84
|
sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
85
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=
|
|
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
|
|
116
|
-
sky/dashboard/out/clusters.html,sha256=
|
|
117
|
-
sky/dashboard/out/config.html,sha256=
|
|
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=
|
|
120
|
-
sky/dashboard/out/infra.html,sha256=
|
|
121
|
-
sky/dashboard/out/jobs.html,sha256=
|
|
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=
|
|
124
|
-
sky/dashboard/out/volumes.html,sha256
|
|
125
|
-
sky/dashboard/out/workspaces.html,sha256=
|
|
126
|
-
sky/dashboard/out/_next/static/
|
|
127
|
-
sky/dashboard/out/_next/static/
|
|
128
|
-
sky/dashboard/out/_next/static/chunks/1121-2edb8ab2ba080a76.js,sha256=fLXxFyYpxIIH-GAL9X9Ew3rc2f6zqOZqg6TjrapDZUM,8554
|
|
129
|
-
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
|
|
130
128
|
sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
|
|
131
129
|
sky/dashboard/out/_next/static/chunks/2350.fab69e61bac57b23.js,sha256=TQCHO4AUL9MZo1e_8GOiL8y6vjQpj5tdXZ8oCKwM1LA,271
|
|
132
|
-
sky/dashboard/out/_next/static/chunks/3015-
|
|
133
|
-
sky/dashboard/out/_next/static/chunks/3785.
|
|
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
|
|
134
132
|
sky/dashboard/out/_next/static/chunks/3850-ff4a9a69d978632b.js,sha256=XphBY9psNzmvGD28zgDunQEb-TX0_eOVaElmcuOjD1g,7455
|
|
135
133
|
sky/dashboard/out/_next/static/chunks/3937.210053269f121201.js,sha256=0tYP8uuog_WLEZmEuej4zenfX0PUa17nR874wSSBgqI,54583
|
|
136
134
|
sky/dashboard/out/_next/static/chunks/4045.b30465273dc5e468.js,sha256=tapRUwwIf-YKMV73OTSX78ZWKDKCZdcBx-JC-0wgEF4,31405
|
|
137
135
|
sky/dashboard/out/_next/static/chunks/4676-9da7fdbde90b5549.js,sha256=cfO5u2g0pHjyBqEtXvxjqyzqSSCXL6l1vYdMFd90WGg,8571
|
|
138
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
|
|
139
138
|
sky/dashboard/out/_next/static/chunks/5739-d67458fcb1386c92.js,sha256=UMLEyZH3SWcAdDnaOYztbUYUzCCP2t0KiwP2vT_swDQ,65504
|
|
140
139
|
sky/dashboard/out/_next/static/chunks/6130-2be46d70a38f1e82.js,sha256=5gyzVH8d5jnrVqCh9y0HEFcRmg4zguJ9_fe9olGFW2U,29162
|
|
141
140
|
sky/dashboard/out/_next/static/chunks/6135-4b4d5e824b7f9d3c.js,sha256=OLvQvfyMwh1ltTzUqJda3AF23BSCllkw9J7MVmkTyKI,15165
|
|
142
141
|
sky/dashboard/out/_next/static/chunks/616-3d59f75e2ccf9321.js,sha256=UQxIbEZseq4ore8Y1Tm5OT3Re7fU8ZZKjQQWk4JPvK4,179393
|
|
143
142
|
sky/dashboard/out/_next/static/chunks/6601-06114c982db410b6.js,sha256=coh7shL8L5Vp2MsibBTx-xxNq_BI-zp0jAl7f6eVmUQ,9659
|
|
144
|
-
sky/dashboard/out/_next/static/chunks/
|
|
145
|
-
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
|
|
146
144
|
sky/dashboard/out/_next/static/chunks/6989-01359c57e018caa4.js,sha256=iIEGQp3dsChOsDxd7QH_ShGczWhvigMfIT35CSsZjjY,11873
|
|
147
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
|
|
148
147
|
sky/dashboard/out/_next/static/chunks/7325.b4bc99ce0892dcd5.js,sha256=5x42A-PEZANeHAcNDbcnJ21uQF48yTrP3XeW5L4RH1g,495
|
|
149
148
|
sky/dashboard/out/_next/static/chunks/7411-b15471acd2cba716.js,sha256=Dnmr9e-yZQbnkjwzqIZU3aK-3u1Tqr8STF-ODYWLkaw,13304
|
|
150
149
|
sky/dashboard/out/_next/static/chunks/754-d0da8ab45f9509e9.js,sha256=R6UUmK1P1PfVx9zOU0jlBsVSk5ZchuPwWObAeVkkhU0,785694
|
|
151
150
|
sky/dashboard/out/_next/static/chunks/7669.1f5d9a402bf5cc42.js,sha256=FbppLXkHKPxzVKrJg15FwCoqLU18yn5jBgYgDkjqDGM,52179
|
|
152
|
-
sky/dashboard/out/_next/static/chunks/
|
|
153
|
-
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
|
|
154
152
|
sky/dashboard/out/_next/static/chunks/9025.a1bef12d672bb66d.js,sha256=Qmu5IJ8QMLwYYKT22vy4Rbzsf5BHzaUhdolaX4dhfQc,10561
|
|
155
153
|
sky/dashboard/out/_next/static/chunks/9037-89a84fd7fa31362d.js,sha256=2ivIVd6v8xfZg1T4aXFtuZEXDeuejYEKPCQoLMmvbRo,18942
|
|
156
|
-
sky/dashboard/out/_next/static/chunks/
|
|
154
|
+
sky/dashboard/out/_next/static/chunks/9946.3b7b43c217ff70ec.js,sha256=VBkPZwDbUpmP2iYJKdnKOcVjY_ZtEGiftXh7Raxs7ck,12481
|
|
157
155
|
sky/dashboard/out/_next/static/chunks/9984.7eb6cc51fb460cae.js,sha256=oL14jmN_217nK9OBWcAXikK7XZBcjLCfUymuXbvuTUE,43003
|
|
158
156
|
sky/dashboard/out/_next/static/chunks/fd9d1056-86323a29a8f7e46a.js,sha256=2lquiZSfbI-gX4j4TW4JSMLL_D5ShqwydgWpFyXrTy8,172834
|
|
159
157
|
sky/dashboard/out/_next/static/chunks/framework-cf60a09ccd051a10.js,sha256=_QbamfAbTV4_xMVOTjz0rhiAPAi8ET5MuSNjjW5oMng,140965
|
|
160
158
|
sky/dashboard/out/_next/static/chunks/main-app-587214043926b3cc.js,sha256=t7glRfataAjNw691Wni-ZU4a3BsygRzPKoI8NOm-lsY,116244
|
|
161
159
|
sky/dashboard/out/_next/static/chunks/main-f15ccb73239a3bf1.js,sha256=jxOPLDVX3rkMc_jvGx2a-N2v6mvfOa8O6V0o-sLT0tI,110208
|
|
162
160
|
sky/dashboard/out/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js,sha256=6QPOwdWeAVe8x-SsiDrm-Ga6u2DkqgG5SFqglrlyIgA,91381
|
|
163
|
-
sky/dashboard/out/_next/static/chunks/webpack-
|
|
161
|
+
sky/dashboard/out/_next/static/chunks/webpack-6e76f636a048e145.js,sha256=wq1Fj-i_9I-RNvESKj6vxLA60J8FBnV47TSTw8yRGgE,4744
|
|
164
162
|
sky/dashboard/out/_next/static/chunks/pages/_app-ce361c6959bc2001.js,sha256=mllo4Yasw61zRtEO49uE_MrAutg9josSJShD0DNSjf0,95518
|
|
165
163
|
sky/dashboard/out/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js,sha256=vjERjtMAbVk-19LyPf1Jc-H6TMcrSznSz6brzNqbqf8,253
|
|
166
164
|
sky/dashboard/out/_next/static/chunks/pages/clusters-469814d711d63b1b.js,sha256=p8CQtv5n745WbV7QdyCapmglI2s_2UBB-f_KZE4RAZg,879
|
|
167
165
|
sky/dashboard/out/_next/static/chunks/pages/config-dfb9bf07b13045f4.js,sha256=imQqQzmk2dN9ly16TS_d7BV1rHuhzYxrkyx4YUylJCw,796
|
|
168
166
|
sky/dashboard/out/_next/static/chunks/pages/index-444f1804401f04ea.js,sha256=caOxDw7dl3NlA86txmKO4O-D02wQ_o8WbGleTa-bU1I,482
|
|
169
167
|
sky/dashboard/out/_next/static/chunks/pages/infra-c320641c2bcbbea6.js,sha256=ENGA6uTlyElTQY977jpF7jsN-R02XPdruME8Ucbfwlw,839
|
|
170
|
-
sky/dashboard/out/_next/static/chunks/pages/jobs-
|
|
168
|
+
sky/dashboard/out/_next/static/chunks/pages/jobs-7421e63ac35f8fce.js,sha256=sKihhiBvnPaqWkWAqFiCYGiW-5PM_Q30ebuQ3ArVsrY,832
|
|
171
169
|
sky/dashboard/out/_next/static/chunks/pages/users-018bf31cda52e11b.js,sha256=mZuU1XexJy9ix9hAMnH0l2btGQHJPxohZg4K7NY8faA,838
|
|
172
170
|
sky/dashboard/out/_next/static/chunks/pages/volumes-739726d6b823f532.js,sha256=URJ4PMHh15XCXB6os2a7ymR3mG3MfTNrKyizYEhW2OE,836
|
|
173
|
-
sky/dashboard/out/_next/static/chunks/pages/workspaces-
|
|
174
|
-
sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]-
|
|
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
|
|
175
173
|
sky/dashboard/out/_next/static/chunks/pages/clusters/[cluster]/[job]-06afb50d25f7c61f.js,sha256=8VCfLDItToMOu1U9lcUOcoCf53xuE16WPzqvPPb5mOw,25537
|
|
176
174
|
sky/dashboard/out/_next/static/chunks/pages/infra/[context]-81351f95f3bec08e.js,sha256=82dg8LHkKpmDVPYtAE8RLkkfiWiV_usv7lrqqZfyI1g,847
|
|
177
|
-
sky/dashboard/out/_next/static/chunks/pages/jobs/[job]-
|
|
178
|
-
sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-
|
|
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
|
|
179
177
|
sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
|
|
180
|
-
sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-
|
|
178
|
+
sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-de06e613e20bc977.js,sha256=8d4XLtF8E3ahNnsbdNUQkJVbM1b9sIG9wRaoRjRwMhE,1495
|
|
181
179
|
sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
|
|
182
|
-
sky/dashboard/out/
|
|
183
|
-
sky/dashboard/out/
|
|
184
|
-
sky/dashboard/out/
|
|
185
|
-
sky/dashboard/out/
|
|
186
|
-
sky/dashboard/out/
|
|
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=
|
|
189
|
-
sky/dashboard/out/workspaces/[name].html,sha256=
|
|
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
|
|
@@ -216,7 +216,7 @@ 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=
|
|
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
|
|
@@ -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=
|
|
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
|
|
@@ -533,9 +533,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
533
533
|
sky/workspaces/core.py,sha256=AjwbbRwk0glzCnqICJk4sQzMoUcawixbXoQWKLB3-aQ,25372
|
|
534
534
|
sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
|
|
535
535
|
sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
|
|
536
|
-
skypilot_nightly-1.0.0.
|
|
537
|
-
skypilot_nightly-1.0.0.
|
|
538
|
-
skypilot_nightly-1.0.0.
|
|
539
|
-
skypilot_nightly-1.0.0.
|
|
540
|
-
skypilot_nightly-1.0.0.
|
|
541
|
-
skypilot_nightly-1.0.0.
|
|
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()}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";var e,t,n,r,c,o,u,a,f,i={},s={};function d(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}},r=!0;try{i[e](n,n.exports,d),r=!1}finally{r&&delete s[e]}return n.exports}d.m=i,e=[],d.O=function(t,n,r,c){if(n){c=c||0;for(var o=e.length;o>0&&e[o-1][2]>c;o--)e[o]=e[o-1];e[o]=[n,r,c];return}for(var u=1/0,o=0;o<e.length;o++){for(var n=e[o][0],r=e[o][1],c=e[o][2],a=!0,f=0;f<n.length;f++)u>=c&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(a=!1,c<u&&(u=c));if(a){e.splice(o--,1);var i=r();void 0!==i&&(t=i)}}return t},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r||"object"==typeof e&&e&&(4&r&&e.__esModule||16&r&&"function"==typeof e.then))return e;var c=Object.create(null);d.r(c);var o={};t=t||[null,n({}),n([]),n(n)];for(var u=2&r&&e;"object"==typeof u&&!~t.indexOf(u);u=n(u))Object.getOwnPropertyNames(u).forEach(function(t){o[t]=function(){return e[t]}});return o.default=function(){return e},d.d(c,o),c},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce(function(t,n){return d.f[n](e,t),t},[]))},d.u=function(e){return 2350===e?"static/chunks/2350.fab69e61bac57b23.js":7325===e?"static/chunks/7325.b4bc99ce0892dcd5.js":3937===e?"static/chunks/3937.210053269f121201.js":9025===e?"static/chunks/9025.a1bef12d672bb66d.js":9984===e?"static/chunks/9984.7eb6cc51fb460cae.js":8838===e?"static/chunks/8838.e7953f42af2b0544.js":7669===e?"static/chunks/7669.1f5d9a402bf5cc42.js":4045===e?"static/chunks/4045.b30465273dc5e468.js":4725===e?"static/chunks/4725.10f7a9a5d3ea8208.js":3785===e?"static/chunks/3785.bc5d2853355c9c47.js":9277===e?"static/chunks/9277.71481d5b2e606e33.js":"static/chunks/"+e+"-"+({616:"3d59f75e2ccf9321",1121:"2edb8ab2ba080a76",1141:"2f60a90b7d76838e",1272:"1ef0bf0237faccdb",3015:"bf218e4973bf5c8f",3850:"ff4a9a69d978632b",4676:"9da7fdbde90b5549",5739:"d67458fcb1386c92",6130:"2be46d70a38f1e82",6135:"4b4d5e824b7f9d3c",6601:"06114c982db410b6",6633:"efe924b9b8136699",6856:"e6f350f567182e87",6989:"01359c57e018caa4",6990:"08b2a1cae076a943",7411:"b15471acd2cba716",8969:"23c8fbdb8b397d59",9037:"89a84fd7fa31362d"})[e]+".js"},d.miniCssF=function(e){},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},c="_N_E:",d.l=function(e,t,n,o){if(r[e]){r[e].push(t);return}if(void 0!==n)for(var u,a,f=document.getElementsByTagName("script"),i=0;i<f.length;i++){var s=f[i];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==c+n){u=s;break}}u||(a=!0,(u=document.createElement("script")).charset="utf-8",u.timeout=120,d.nc&&u.setAttribute("nonce",d.nc),u.setAttribute("data-webpack",c+n),u.src=d.tu(e)),r[e]=[t];var b=function(t,n){u.onerror=u.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],u.parentNode&&u.parentNode.removeChild(u),c&&c.forEach(function(e){return e(n)}),t)return t(n)},l=setTimeout(b.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=b.bind(null,u.onerror),u.onload=b.bind(null,u.onload),a&&document.head.appendChild(u)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.tt=function(){return void 0===o&&(o={createScriptURL:function(e){return e}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(o=trustedTypes.createPolicy("nextjs#bundler",o))),o},d.tu=function(e){return d.tt().createScriptURL(e)},d.p="/dashboard/_next/",u={2272:0},d.f.j=function(e,t){var n=d.o(u,e)?u[e]:void 0;if(0!==n){if(n)t.push(n[2]);else if(2272!=e){var r=new Promise(function(t,r){n=u[e]=[t,r]});t.push(n[2]=r);var c=d.p+d.u(e),o=Error();d.l(c,function(t){if(d.o(u,e)&&(0!==(n=u[e])&&(u[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+e+" failed.\n("+r+": "+c+")",o.name="ChunkLoadError",o.type=r,o.request=c,n[1](o)}},"chunk-"+e,e)}else u[e]=0}},d.O.j=function(e){return 0===u[e]},a=function(e,t){var n,r,c=t[0],o=t[1],a=t[2],f=0;if(c.some(function(e){return 0!==u[e]})){for(n in o)d.o(o,n)&&(d.m[n]=o[n]);if(a)var i=a(d)}for(e&&e(t);f<c.length;f++)r=c[f],d.o(u,r)&&u[r]&&u[r][0](),u[r]=0;return d.O(i)},(f=self.webpackChunk_N_E=self.webpackChunk_N_E||[]).forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f)),d.nc=void 0}();
|
/sky/dashboard/out/_next/static/chunks/{1121-2edb8ab2ba080a76.js → 1121-8afcf719ea87debc.js}
RENAMED
|
File without changes
|
/sky/dashboard/out/_next/static/chunks/{1141-2f60a90b7d76838e.js → 1141-943efc7aff0f0c06.js}
RENAMED
|
File without changes
|
/sky/dashboard/out/_next/static/chunks/{6856-e6f350f567182e87.js → 6856-049014c6d43d127b.js}
RENAMED
|
File without changes
|
|
File without changes
|
/sky/dashboard/out/_next/static/{8ZscIHnvBWz3AXkxsJL6H → wN25tc2rkvOkO-qkzIhcD}/_ssgManifest.js
RENAMED
|
File without changes
|
{skypilot_nightly-1.0.0.dev20250820.dist-info → skypilot_nightly-1.0.0.dev20250821.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|