skypilot-nightly 1.0.0.dev20251011__py3-none-any.whl → 1.0.0.dev20251012__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (34) hide show
  1. sky/__init__.py +2 -2
  2. sky/backends/cloud_vm_ray_backend.py +2 -2
  3. sky/client/cli/command.py +44 -3
  4. sky/client/sdk.py +11 -3
  5. sky/dashboard/out/404.html +1 -1
  6. sky/dashboard/out/clusters/[cluster]/[job].html +1 -1
  7. sky/dashboard/out/clusters/[cluster].html +1 -1
  8. sky/dashboard/out/clusters.html +1 -1
  9. sky/dashboard/out/config.html +1 -1
  10. sky/dashboard/out/index.html +1 -1
  11. sky/dashboard/out/infra/[context].html +1 -1
  12. sky/dashboard/out/infra.html +1 -1
  13. sky/dashboard/out/jobs/[job].html +1 -1
  14. sky/dashboard/out/jobs/pools/[pool].html +1 -1
  15. sky/dashboard/out/jobs.html +1 -1
  16. sky/dashboard/out/users.html +1 -1
  17. sky/dashboard/out/volumes.html +1 -1
  18. sky/dashboard/out/workspace/new.html +1 -1
  19. sky/dashboard/out/workspaces/[name].html +1 -1
  20. sky/dashboard/out/workspaces.html +1 -1
  21. sky/serve/constants.py +0 -3
  22. sky/serve/service_spec.py +1 -8
  23. sky/server/constants.py +4 -0
  24. sky/server/requests/payloads.py +2 -0
  25. sky/server/requests/requests.py +119 -2
  26. sky/server/server.py +13 -3
  27. {skypilot_nightly-1.0.0.dev20251011.dist-info → skypilot_nightly-1.0.0.dev20251012.dist-info}/METADATA +37 -36
  28. {skypilot_nightly-1.0.0.dev20251011.dist-info → skypilot_nightly-1.0.0.dev20251012.dist-info}/RECORD +34 -34
  29. /sky/dashboard/out/_next/static/{Xs6jdcfyNaUuBO8jmzU9_ → yOfMelBaFp8uL5F9atyAK}/_buildManifest.js +0 -0
  30. /sky/dashboard/out/_next/static/{Xs6jdcfyNaUuBO8jmzU9_ → yOfMelBaFp8uL5F9atyAK}/_ssgManifest.js +0 -0
  31. {skypilot_nightly-1.0.0.dev20251011.dist-info → skypilot_nightly-1.0.0.dev20251012.dist-info}/WHEEL +0 -0
  32. {skypilot_nightly-1.0.0.dev20251011.dist-info → skypilot_nightly-1.0.0.dev20251012.dist-info}/entry_points.txt +0 -0
  33. {skypilot_nightly-1.0.0.dev20251011.dist-info → skypilot_nightly-1.0.0.dev20251012.dist-info}/licenses/LICENSE +0 -0
  34. {skypilot_nightly-1.0.0.dev20251011.dist-info → skypilot_nightly-1.0.0.dev20251012.dist-info}/top_level.txt +0 -0
sky/__init__.py CHANGED
@@ -7,7 +7,7 @@ import urllib.request
7
7
  from sky.utils import directory_utils
8
8
 
9
9
  # Replaced with the current commit when building the wheels.
10
- _SKYPILOT_COMMIT_SHA = '72125e8f2e379d977fb80480f2b3ae63eebcf82c'
10
+ _SKYPILOT_COMMIT_SHA = '7d5d1a2925fc7192af10061ca395d329364e7405'
11
11
 
12
12
 
13
13
  def _get_git_commit():
@@ -37,7 +37,7 @@ def _get_git_commit():
37
37
 
38
38
 
39
39
  __commit__ = _get_git_commit()
40
- __version__ = '1.0.0.dev20251011'
40
+ __version__ = '1.0.0.dev20251012'
41
41
  __root_dir__ = directory_utils.get_sky_dir()
42
42
 
43
43
 
@@ -2826,7 +2826,7 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2826
2826
  return grpc.insecure_channel(f'localhost:{tunnel.port}',
2827
2827
  options=grpc_options)
2828
2828
  except socket.error as e:
2829
- logger.warning(
2829
+ logger.debug(
2830
2830
  'Failed to connect to SSH tunnel for cluster '
2831
2831
  f'{self.cluster_name!r} on port {tunnel.port} ({e}), '
2832
2832
  'acquiring lock')
@@ -2852,7 +2852,7 @@ class CloudVmRayResourceHandle(backends.backend.ResourceHandle):
2852
2852
  return grpc.insecure_channel(f'localhost:{tunnel.port}',
2853
2853
  options=grpc_options)
2854
2854
  except socket.error as e:
2855
- logger.warning(
2855
+ logger.debug(
2856
2856
  'Failed to connect to SSH tunnel for cluster '
2857
2857
  f'{self.cluster_name!r} on port {tunnel.port} ({e}), '
2858
2858
  'opening new tunnel')
sky/client/cli/command.py CHANGED
@@ -111,6 +111,13 @@ an autogenerated name."""
111
111
  # command.
112
112
  _NUM_MANAGED_JOBS_TO_SHOW_IN_STATUS = 5
113
113
  _NUM_MANAGED_JOBS_TO_SHOW = 50
114
+ _NUM_REQUESTS_TO_SHOW = 50
115
+ _DEFAULT_REQUEST_FIELDS_TO_SHOW = [
116
+ 'request_id', 'name', 'user_id', 'status', 'created_at'
117
+ ]
118
+ _VERBOSE_REQUEST_FIELDS_TO_SHOW = _DEFAULT_REQUEST_FIELDS_TO_SHOW + [
119
+ 'cluster_name'
120
+ ]
114
121
 
115
122
  _STATUS_PROPERTY_CLUSTER_NUM_ERROR_MESSAGE = (
116
123
  '{cluster_num} cluster{plural} {verb}. Please specify {cause} '
@@ -6155,6 +6162,25 @@ def api_cancel(request_ids: Optional[List[str]], all: bool, all_users: bool):
6155
6162
  fg='green')
6156
6163
 
6157
6164
 
6165
+ class IntOrNone(click.ParamType):
6166
+ """Int or None"""
6167
+ name = 'int-or-none'
6168
+
6169
+ def convert(self, value, param, ctx):
6170
+ if isinstance(value, int):
6171
+ return value
6172
+ if isinstance(value, str) and value.lower() in ('none', 'all'):
6173
+ return None
6174
+ try:
6175
+ return int(value)
6176
+ except ValueError:
6177
+ self.fail(f'{value!r} is not a valid integer or "none" or "all"',
6178
+ param, ctx)
6179
+
6180
+
6181
+ INT_OR_NONE = IntOrNone()
6182
+
6183
+
6158
6184
  @api.command('status', cls=_DocumentedCodeCommand)
6159
6185
  @flags.config_option(expose_value=False)
6160
6186
  @click.argument('request_ids',
@@ -6168,15 +6194,26 @@ def api_cancel(request_ids: Optional[List[str]], all: bool, all_users: bool):
6168
6194
  default=False,
6169
6195
  required=False,
6170
6196
  help='Show requests of all statuses.')
6197
+ @click.option(
6198
+ '--limit',
6199
+ '-l',
6200
+ default=_NUM_REQUESTS_TO_SHOW,
6201
+ type=INT_OR_NONE,
6202
+ required=False,
6203
+ help=(f'Number of requests to show, default is {_NUM_REQUESTS_TO_SHOW},'
6204
+ f' set to "none" or "all" to show all requests.'))
6171
6205
  @flags.verbose_option('Show more details.')
6172
6206
  @usage_lib.entrypoint
6173
6207
  # pylint: disable=redefined-builtin
6174
6208
  def api_status(request_ids: Optional[List[str]], all_status: bool,
6175
- verbose: bool):
6209
+ verbose: bool, limit: Optional[int]):
6176
6210
  """List requests on SkyPilot API server."""
6177
6211
  if not request_ids:
6178
6212
  request_ids = None
6179
- request_list = sdk.api_status(request_ids, all_status)
6213
+ fields = _DEFAULT_REQUEST_FIELDS_TO_SHOW
6214
+ if verbose:
6215
+ fields = _VERBOSE_REQUEST_FIELDS_TO_SHOW
6216
+ request_list = sdk.api_status(request_ids, all_status, limit, fields)
6180
6217
  columns = ['ID', 'User', 'Name']
6181
6218
  if verbose:
6182
6219
  columns.append('Cluster')
@@ -6202,8 +6239,12 @@ def api_status(request_ids: Optional[List[str]], all_status: bool,
6202
6239
  if verbose:
6203
6240
  dummy_row.append('-')
6204
6241
  table.add_row(dummy_row)
6205
- click.echo()
6206
6242
  click.echo(table)
6243
+ if limit and len(request_list) >= limit:
6244
+ click.echo()
6245
+ click.echo(
6246
+ f'Showing {limit} requests. Use "-l none" or "-l all" to show'
6247
+ f' all requests.')
6207
6248
 
6208
6249
 
6209
6250
  @api.command('login', cls=_DocumentedCodeCommand)
sky/client/sdk.py CHANGED
@@ -2158,7 +2158,9 @@ def _local_api_server_running(kill: bool = False) -> bool:
2158
2158
  def api_status(
2159
2159
  request_ids: Optional[List[Union[server_common.RequestId[T], str]]] = None,
2160
2160
  # pylint: disable=redefined-builtin
2161
- all_status: bool = False
2161
+ all_status: bool = False,
2162
+ limit: Optional[int] = None,
2163
+ fields: Optional[List[str]] = None,
2162
2164
  ) -> List[payloads.RequestPayload]:
2163
2165
  """Lists all requests.
2164
2166
 
@@ -2167,6 +2169,8 @@ def api_status(
2167
2169
  If None, all requests are queried.
2168
2170
  all_status: Whether to list all finished requests as well. This argument
2169
2171
  is ignored if request_ids is not None.
2172
+ limit: The number of requests to show. If None, show all requests.
2173
+ fields: The fields to get. If None, get all fields.
2170
2174
 
2171
2175
  Returns:
2172
2176
  A list of request payloads.
@@ -2175,8 +2179,12 @@ def api_status(
2175
2179
  logger.info('SkyPilot API server is not running.')
2176
2180
  return []
2177
2181
 
2178
- body = payloads.RequestStatusBody(request_ids=request_ids,
2179
- all_status=all_status)
2182
+ body = payloads.RequestStatusBody(
2183
+ request_ids=request_ids,
2184
+ all_status=all_status,
2185
+ limit=limit,
2186
+ fields=fields,
2187
+ )
2180
2188
  response = server_common.make_authenticated_request(
2181
2189
  'GET',
2182
2190
  '/api/status',
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_error-c66a4e8afc46f17b.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8f058b0346db2aff.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D/%5Bjob%5D-8f058b0346db2aff.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]/[job]","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-5fdc9b851a18acdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-49141c317f3a9020.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-477555ab7c0b13d8.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/6856-5fdc9b851a18acdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/1871-49141c317f3a9020.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters/%5Bcluster%5D-477555ab7c0b13d8.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters/[cluster]","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/clusters-2f61f65487f6d8ff.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/clusters","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/config-dfb9bf07b13045f4.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/config","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/index-444f1804401f04ea.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-553b8b5cb65e100b.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra/%5Bcontext%5D-553b8b5cb65e100b.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra/[context]","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-910a22500c50596f.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/infra-910a22500c50596f.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/infra","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-e5c9ce6a24fc0de4.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/%5Bjob%5D-e5c9ce6a24fc0de4.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/[job]","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-bc979970c247d8f3.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/pools/[pool]","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/6212-7bd06f60ba693125.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs/pools/%5Bpool%5D-bc979970c247d8f3.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs/pools/[pool]","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/jobs-a35a9dc3c5ccd657.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/jobs","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-98d2ed979084162a.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/users-98d2ed979084162a.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/users","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-835d14ba94808f79.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/volumes-835d14ba94808f79.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/volumes","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspace/new","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-3b40c39626f99c89.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-e8688c35c06f0ac5.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/616-3d59f75e2ccf9321.js" defer=""></script><script src="/dashboard/_next/static/chunks/6130-2be46d70a38f1e82.js" defer=""></script><script src="/dashboard/_next/static/chunks/5739-d67458fcb1386c92.js" defer=""></script><script src="/dashboard/_next/static/chunks/7411-b15471acd2cba716.js" defer=""></script><script src="/dashboard/_next/static/chunks/1272-1ef0bf0237faccdb.js" defer=""></script><script src="/dashboard/_next/static/chunks/7359-c8d04e06886000b3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6989-01359c57e018caa4.js" defer=""></script><script src="/dashboard/_next/static/chunks/3850-ff4a9a69d978632b.js" defer=""></script><script src="/dashboard/_next/static/chunks/8969-66237729cdf9749e.js" defer=""></script><script src="/dashboard/_next/static/chunks/6990-f6818c84ed8f1c86.js" defer=""></script><script src="/dashboard/_next/static/chunks/6135-4b4d5e824b7f9d3c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1121-d0782b9251f0fcd3.js" defer=""></script><script src="/dashboard/_next/static/chunks/6601-06114c982db410b6.js" defer=""></script><script src="/dashboard/_next/static/chunks/3015-7e0e8f06bb2f881c.js" defer=""></script><script src="/dashboard/_next/static/chunks/1141-3b40c39626f99c89.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces/%5Bname%5D-e8688c35c06f0ac5.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces/[name]","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"Xs6jdcfyNaUuBO8jmzU9_","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link rel="preload" href="/dashboard/_next/static/css/4614e06482d7309e.css" as="style"/><link rel="stylesheet" href="/dashboard/_next/static/css/4614e06482d7309e.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/dashboard/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/dashboard/_next/static/chunks/webpack-66f23594d38c7f16.js" defer=""></script><script src="/dashboard/_next/static/chunks/framework-cf60a09ccd051a10.js" defer=""></script><script src="/dashboard/_next/static/chunks/main-f15ccb73239a3bf1.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/_app-ce361c6959bc2001.js" defer=""></script><script src="/dashboard/_next/static/chunks/pages/workspaces-69c80d677d3c2949.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js" defer=""></script><script src="/dashboard/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js" defer=""></script></head><body><div id="__next"></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/workspaces","query":{},"buildId":"yOfMelBaFp8uL5F9atyAK","assetPrefix":"/dashboard","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
sky/serve/constants.py CHANGED
@@ -76,9 +76,6 @@ CONTROLLER_AUTOSTOP = {
76
76
  # A period of time to initialize your service. Any readiness probe failures
77
77
  # during this period will be ignored.
78
78
  DEFAULT_INITIAL_DELAY_SECONDS = 1200
79
- # For pool, we shrink the initial delay to 300s to make the pool more
80
- # responsive to the failure that setup command starts a long-running server.
81
- DEFAULT_INITIAL_DELAY_SECONDS_POOL = 300
82
79
  DEFAULT_MIN_REPLICAS = 1
83
80
 
84
81
  # Default port range start for controller and load balancer. Ports will be
sky/serve/service_spec.py CHANGED
@@ -125,12 +125,6 @@ class SkyServiceSpec:
125
125
  self.base_ondemand_fallback_replicas is not None and
126
126
  self.base_ondemand_fallback_replicas > 0)
127
127
 
128
- @staticmethod
129
- def _get_initial_delay_seconds(pool: bool) -> int:
130
- if pool:
131
- return constants.DEFAULT_INITIAL_DELAY_SECONDS_POOL
132
- return constants.DEFAULT_INITIAL_DELAY_SECONDS
133
-
134
128
  @staticmethod
135
129
  def from_yaml_config(config: Dict[str, Any]) -> 'SkyServiceSpec':
136
130
  common_utils.validate_schema(config, schemas.get_service_schema(),
@@ -159,8 +153,7 @@ class SkyServiceSpec:
159
153
  'timeout_seconds', None)
160
154
  readiness_headers = readiness_section.get('headers', None)
161
155
  if initial_delay_seconds is None:
162
- initial_delay_seconds = SkyServiceSpec._get_initial_delay_seconds(
163
- config.get('pool', False))
156
+ initial_delay_seconds = constants.DEFAULT_INITIAL_DELAY_SECONDS
164
157
  service_config['initial_delay_seconds'] = initial_delay_seconds
165
158
  if readiness_timeout_seconds is None:
166
159
  readiness_timeout_seconds = (
sky/server/constants.py CHANGED
@@ -64,3 +64,7 @@ DAEMON_RESTART_INTERVAL_SECONDS = 20
64
64
 
65
65
  # Cookie header for stream request id.
66
66
  STREAM_REQUEST_HEADER = 'X-SkyPilot-Stream-Request-ID'
67
+
68
+ # Valid empty values for pickled fields (base64-encoded pickled None)
69
+ # base64.b64encode(pickle.dumps(None)).decode('utf-8')
70
+ EMPTY_PICKLED_VALUE = 'gAROLg=='
@@ -573,6 +573,8 @@ class RequestStatusBody(pydantic.BaseModel):
573
573
  """The request body for the API request status endpoint."""
574
574
  request_ids: Optional[List[str]] = None
575
575
  all_status: bool = False
576
+ limit: Optional[int] = None
577
+ fields: Optional[List[str]] = None
576
578
 
577
579
 
578
580
  class ServeUpBody(RequestBody):
@@ -292,6 +292,100 @@ class Request:
292
292
  raise
293
293
 
294
294
 
295
+ def encode_requests(requests: List[Request]) -> List[payloads.RequestPayload]:
296
+ """Serialize the SkyPilot API request for display purposes.
297
+
298
+ This function should be called on the server side to serialize the
299
+ request body into human readable format, e.g., the entrypoint should
300
+ be a string, and the pid, error, or return value are not needed.
301
+
302
+ The returned value will then be displayed on the client side in request
303
+ table.
304
+
305
+ We do not use `encode` for display to avoid a large amount of data being
306
+ sent to the client side, especially for the request table could include
307
+ all the requests.
308
+ """
309
+ encoded_requests = []
310
+ all_users = global_user_state.get_all_users()
311
+ all_users_map = {user.id: user.name for user in all_users}
312
+ for request in requests:
313
+ if request.request_body is not None:
314
+ assert isinstance(request.request_body,
315
+ payloads.RequestBody), (request.name,
316
+ request.request_body)
317
+ user_name = all_users_map.get(request.user_id)
318
+ payload = payloads.RequestPayload(
319
+ request_id=request.request_id,
320
+ name=request.name,
321
+ entrypoint=request.entrypoint.__name__
322
+ if request.entrypoint is not None else '',
323
+ request_body=request.request_body.model_dump_json()
324
+ if request.request_body is not None else json.dumps(None),
325
+ status=request.status.value,
326
+ return_value=json.dumps(None),
327
+ error=json.dumps(None),
328
+ pid=None,
329
+ created_at=request.created_at,
330
+ schedule_type=request.schedule_type.value,
331
+ user_id=request.user_id,
332
+ user_name=user_name,
333
+ cluster_name=request.cluster_name,
334
+ status_msg=request.status_msg,
335
+ should_retry=request.should_retry,
336
+ finished_at=request.finished_at,
337
+ )
338
+ encoded_requests.append(payload)
339
+ return encoded_requests
340
+
341
+
342
+ def _update_request_row_fields(
343
+ row: Tuple[Any, ...],
344
+ fields: Optional[List[str]] = None) -> Tuple[Any, ...]:
345
+ """Update the request row fields."""
346
+ if not fields:
347
+ return row
348
+
349
+ # Convert tuple to dictionary for easier manipulation
350
+ content = dict(zip(fields, row))
351
+
352
+ # Required fields in RequestPayload
353
+ if 'request_id' not in fields:
354
+ content['request_id'] = ''
355
+ if 'name' not in fields:
356
+ content['name'] = ''
357
+ if 'entrypoint' not in fields:
358
+ content['entrypoint'] = server_constants.EMPTY_PICKLED_VALUE
359
+ if 'request_body' not in fields:
360
+ content['request_body'] = server_constants.EMPTY_PICKLED_VALUE
361
+ if 'status' not in fields:
362
+ content['status'] = RequestStatus.PENDING.value
363
+ if 'created_at' not in fields:
364
+ content['created_at'] = 0
365
+ if 'user_id' not in fields:
366
+ content['user_id'] = ''
367
+ if 'return_value' not in fields:
368
+ content['return_value'] = json.dumps(None)
369
+ if 'error' not in fields:
370
+ content['error'] = json.dumps(None)
371
+ if 'schedule_type' not in fields:
372
+ content['schedule_type'] = ScheduleType.SHORT.value
373
+ # Optional fields in RequestPayload
374
+ if 'pid' not in fields:
375
+ content['pid'] = None
376
+ if 'cluster_name' not in fields:
377
+ content['cluster_name'] = None
378
+ if 'status_msg' not in fields:
379
+ content['status_msg'] = None
380
+ if 'should_retry' not in fields:
381
+ content['should_retry'] = False
382
+ if 'finished_at' not in fields:
383
+ content['finished_at'] = None
384
+
385
+ # Convert back to tuple in the same order as REQUEST_COLUMNS
386
+ return tuple(content[col] for col in REQUEST_COLUMNS)
387
+
388
+
295
389
  def kill_cluster_requests(cluster_name: str, exclude_request_name: str):
296
390
  """Kill all pending and running requests for a cluster.
297
391
 
@@ -634,6 +728,7 @@ class RequestTaskFilter:
634
728
  Mutually exclusive with exclude_request_names.
635
729
  finished_before: if provided, only include requests finished before this
636
730
  timestamp.
731
+ limit: the number of requests to show. If None, show all requests.
637
732
 
638
733
  Raises:
639
734
  ValueError: If both exclude_request_names and include_request_names are
@@ -645,6 +740,8 @@ class RequestTaskFilter:
645
740
  exclude_request_names: Optional[List[str]] = None
646
741
  include_request_names: Optional[List[str]] = None
647
742
  finished_before: Optional[float] = None
743
+ limit: Optional[int] = None
744
+ fields: Optional[List[str]] = None
648
745
 
649
746
  def __post_init__(self):
650
747
  if (self.exclude_request_names is not None and
@@ -687,8 +784,13 @@ class RequestTaskFilter:
687
784
  if filter_str:
688
785
  filter_str = f' WHERE {filter_str}'
689
786
  columns_str = ', '.join(REQUEST_COLUMNS)
690
- return (f'SELECT {columns_str} FROM {REQUEST_TABLE}{filter_str} '
691
- 'ORDER BY created_at DESC'), filter_params
787
+ if self.fields:
788
+ columns_str = ', '.join(self.fields)
789
+ query_str = (f'SELECT {columns_str} FROM {REQUEST_TABLE}{filter_str} '
790
+ 'ORDER BY created_at DESC')
791
+ if self.limit is not None:
792
+ query_str += f' LIMIT {self.limit}'
793
+ return query_str, filter_params
692
794
 
693
795
 
694
796
  @init_db
@@ -722,6 +824,21 @@ async def get_request_tasks_async(
722
824
  return [Request.from_row(row) for row in rows]
723
825
 
724
826
 
827
+ @init_db_async
828
+ @metrics_lib.time_me_async
829
+ async def get_request_tasks_with_fields_async(
830
+ req_filter: RequestTaskFilter,
831
+ fields: Optional[List[str]] = None,
832
+ ) -> List[Request]:
833
+ """Async version of get_request_tasks."""
834
+ assert _DB is not None
835
+ async with _DB.execute_fetchall_async(*req_filter.build_query()) as rows:
836
+ if not rows:
837
+ return []
838
+ rows = [_update_request_row_fields(row, fields) for row in rows]
839
+ return [Request.from_row(row) for row in rows]
840
+
841
+
725
842
  @init_db_async
726
843
  @metrics_lib.time_me_async
727
844
  async def get_api_request_ids_start_with(incomplete: str) -> List[str]:
sky/server/server.py CHANGED
@@ -1629,6 +1629,10 @@ async def api_status(
1629
1629
  None, description='Request IDs to get status for.'),
1630
1630
  all_status: bool = fastapi.Query(
1631
1631
  False, description='Get finished requests as well.'),
1632
+ limit: Optional[int] = fastapi.Query(
1633
+ None, description='Number of requests to show.'),
1634
+ fields: Optional[List[str]] = fastapi.Query(
1635
+ None, description='Fields to get. If None, get all fields.'),
1632
1636
  ) -> List[payloads.RequestPayload]:
1633
1637
  """Gets the list of requests."""
1634
1638
  if request_ids is None:
@@ -1638,9 +1642,15 @@ async def api_status(
1638
1642
  requests_lib.RequestStatus.PENDING,
1639
1643
  requests_lib.RequestStatus.RUNNING,
1640
1644
  ]
1641
- request_tasks = await requests_lib.get_request_tasks_async(
1642
- req_filter=requests_lib.RequestTaskFilter(status=statuses))
1643
- return [r.readable_encode() for r in request_tasks]
1645
+ request_tasks = await requests_lib.get_request_tasks_with_fields_async(
1646
+ req_filter=requests_lib.RequestTaskFilter(
1647
+ status=statuses,
1648
+ limit=limit,
1649
+ fields=fields,
1650
+ ),
1651
+ fields=fields,
1652
+ )
1653
+ return requests_lib.encode_requests(request_tasks)
1644
1654
  else:
1645
1655
  encoded_request_tasks = []
1646
1656
  for request_id in request_ids:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: skypilot-nightly
3
- Version: 1.0.0.dev20251011
3
+ Version: 1.0.0.dev20251012
4
4
  Summary: SkyPilot: Run AI on Any Infra — Unified, Faster, Cheaper.
5
5
  Author: SkyPilot Team
6
6
  License: Apache 2.0
@@ -155,51 +155,51 @@ Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "server"
155
155
  Requires-Dist: aiosqlite; extra == "server"
156
156
  Requires-Dist: greenlet; extra == "server"
157
157
  Provides-Extra: all
158
- Requires-Dist: google-cloud-storage; extra == "all"
159
- Requires-Dist: ray[default]>=2.6.1; extra == "all"
158
+ Requires-Dist: anyio; extra == "all"
160
159
  Requires-Dist: nebius>=0.2.47; extra == "all"
161
- Requires-Dist: awscli>=1.27.10; extra == "all"
162
- Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
160
+ Requires-Dist: ecsapi>=0.2.0; extra == "all"
161
+ Requires-Dist: ibm-cos-sdk; extra == "all"
162
+ Requires-Dist: python-dateutil; extra == "all"
163
+ Requires-Dist: azure-core>=1.31.0; extra == "all"
164
+ Requires-Dist: aiosqlite; extra == "all"
163
165
  Requires-Dist: protobuf<7.0.0,>=5.26.1; extra == "all"
164
- Requires-Dist: azure-core>=1.24.0; extra == "all"
165
- Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
166
+ Requires-Dist: cudo-compute>=0.1.10; extra == "all"
167
+ Requires-Dist: pydo>=0.3.0; extra == "all"
168
+ Requires-Dist: casbin; extra == "all"
166
169
  Requires-Dist: azure-storage-blob>=12.23.1; extra == "all"
167
- Requires-Dist: websockets; extra == "all"
170
+ Requires-Dist: boto3>=1.26.1; extra == "all"
171
+ Requires-Dist: sqlalchemy_adapter; extra == "all"
168
172
  Requires-Dist: passlib; extra == "all"
169
- Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
170
- Requires-Dist: ibm-cloud-sdk-core; extra == "all"
171
- Requires-Dist: ibm-cos-sdk; extra == "all"
172
- Requires-Dist: azure-identity>=1.19.0; extra == "all"
173
- Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
174
- Requires-Dist: pyjwt; extra == "all"
175
- Requires-Dist: pydo>=0.3.0; extra == "all"
176
- Requires-Dist: aiohttp; extra == "all"
177
- Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
178
- Requires-Dist: colorama<0.4.5; extra == "all"
179
- Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
180
- Requires-Dist: anyio; extra == "all"
181
- Requires-Dist: oci; extra == "all"
182
173
  Requires-Dist: greenlet; extra == "all"
183
- Requires-Dist: ecsapi>=0.2.0; extra == "all"
184
174
  Requires-Dist: msrestazure; extra == "all"
185
- Requires-Dist: boto3>=1.26.1; extra == "all"
175
+ Requires-Dist: colorama<0.4.5; extra == "all"
176
+ Requires-Dist: azure-common; extra == "all"
177
+ Requires-Dist: pyopenssl<24.3.0,>=23.2.0; extra == "all"
178
+ Requires-Dist: websockets; extra == "all"
179
+ Requires-Dist: tomli; python_version < "3.11" and extra == "all"
180
+ Requires-Dist: ray[default]>=2.6.1; extra == "all"
181
+ Requires-Dist: azure-mgmt-compute>=33.0.0; extra == "all"
182
+ Requires-Dist: google-cloud-storage; extra == "all"
183
+ Requires-Dist: docker; extra == "all"
184
+ Requires-Dist: grpcio>=1.63.0; extra == "all"
186
185
  Requires-Dist: msgraph-sdk; extra == "all"
187
- Requires-Dist: casbin; extra == "all"
188
186
  Requires-Dist: ibm-vpc; extra == "all"
189
- Requires-Dist: python-dateutil; extra == "all"
190
- Requires-Dist: botocore>=1.29.10; extra == "all"
191
187
  Requires-Dist: vastai-sdk>=0.1.12; extra == "all"
192
- Requires-Dist: grpcio>=1.63.0; extra == "all"
188
+ Requires-Dist: pyjwt; extra == "all"
189
+ Requires-Dist: pyvmomi==8.0.1.0.2; extra == "all"
190
+ Requires-Dist: botocore>=1.29.10; extra == "all"
193
191
  Requires-Dist: azure-cli>=2.65.0; extra == "all"
194
- Requires-Dist: tomli; python_version < "3.11" and extra == "all"
195
- Requires-Dist: aiosqlite; extra == "all"
192
+ Requires-Dist: ibm-platform-services>=0.48.0; extra == "all"
193
+ Requires-Dist: oci; extra == "all"
194
+ Requires-Dist: awscli>=1.27.10; extra == "all"
195
+ Requires-Dist: azure-mgmt-network>=27.0.0; extra == "all"
196
+ Requires-Dist: azure-core>=1.24.0; extra == "all"
197
+ Requires-Dist: azure-identity>=1.19.0; extra == "all"
196
198
  Requires-Dist: runpod>=1.6.1; extra == "all"
197
- Requires-Dist: cudo-compute>=0.1.10; extra == "all"
198
- Requires-Dist: azure-common; extra == "all"
199
- Requires-Dist: sqlalchemy_adapter; extra == "all"
200
- Requires-Dist: docker; extra == "all"
201
199
  Requires-Dist: google-api-python-client>=2.69.0; extra == "all"
202
- Requires-Dist: azure-core>=1.31.0; extra == "all"
200
+ Requires-Dist: ibm-cloud-sdk-core; extra == "all"
201
+ Requires-Dist: kubernetes!=32.0.0,>=20.0.0; extra == "all"
202
+ Requires-Dist: aiohttp; extra == "all"
203
203
  Dynamic: author
204
204
  Dynamic: classifier
205
205
  Dynamic: description
@@ -249,10 +249,11 @@ Dynamic: summary
249
249
  ----
250
250
 
251
251
  :fire: *News* :fire:
252
+ - [Oct 2025] Run large-scale **LLM training with TorchTitan** on any AI infra: [**example**](./llm/torchtitan/)
253
+ - [Sep 2025] Scaling AI infrastructure at Abridge - **10x faster development** with SkyPilot: [**blog**](https://blog.skypilot.co/abridge/)
254
+ - [Sep 2025] Network and Storage Benchmarks for LLM training on the cloud: [**blog**](https://maknee.github.io/blog/2025/Network-And-Storage-Training-Skypilot/)
252
255
  - [Aug 2025] Serve and finetune **OpenAI GPT-OSS models** (gpt-oss-120b, gpt-oss-20b) with one command on any infra: [**serve**](./llm/gpt-oss/) + [**LoRA and full finetuning**](./llm/gpt-oss-finetuning/)
253
- - [Jul 2025] Run large-scale **LLM training with TorchTitan** on any cloud: [**example**](./llm/torchtitan/)
254
256
  - [Jul 2025] Run distributed **RL training for LLMs** with Verl (PPO, GRPO) on any cloud: [**example**](./llm/verl/)
255
- - [Jul 2025] 🎉 SkyPilot v0.10.0 released! [**blog post**](https://blog.skypilot.co/announcing-skypilot-0.10.0/), [**release notes**](https://github.com/skypilot-org/skypilot/releases/tag/v0.10.0)
256
257
  - [Jul 2025] Finetune **Llama4** on any distributed cluster/cloud: [**example**](./llm/llama-4-finetuning/)
257
258
  - [Jul 2025] Two-part blog series, `The Evolution of AI Job Orchestration`: (1) [Running AI jobs on GPU Neoclouds](https://blog.skypilot.co/ai-job-orchestration-pt1-gpu-neoclouds/), (2) [The AI-Native Control Plane & Orchestration that Finally Works for ML](https://blog.skypilot.co/ai-job-orchestration-pt2-ai-control-plane/)
258
259
  - [Apr 2025] Spin up **Qwen3** on your cluster/cloud: [**example**](./llm/qwen/)
@@ -1,4 +1,4 @@
1
- sky/__init__.py,sha256=N7LSSmftSCZ8e_XeFLtZYZzS4gjz7YHnoXcd0nz_ENA,6713
1
+ sky/__init__.py,sha256=eVWKgnyQIF-bYteVbNZyrfmB5XOsHgVn2iaxXny-qHc,6713
2
2
  sky/admin_policy.py,sha256=XdcJnYqmude-LGGop-8U-FeiJcqtfYsYtIy4rmoCJnM,9799
3
3
  sky/authentication.py,sha256=oOY5TmvqLXQslUNDPAe2aNFZ1qi7igDM-Mp4GfAQ2hw,24066
4
4
  sky/check.py,sha256=hBDTkiADC3HFfO6brZV819FVWcdOs3aiuhB6x6mY4Q4,29728
@@ -38,7 +38,7 @@ sky/adaptors/vsphere.py,sha256=zJP9SeObEoLrpgHW2VHvZE48EhgVf8GfAEIwBeaDMfM,2129
38
38
  sky/backends/__init__.py,sha256=l1xXpkzPFMma0ZkT4GzVMu7uvgS3AsECg6zLc0S3JHQ,702
39
39
  sky/backends/backend.py,sha256=zmF6TuKtUwzsP1hq0TI9nuuUySlPc9sgeW6F4GC8Ckk,8352
40
40
  sky/backends/backend_utils.py,sha256=qbewVFNHQlinc4Wvn6ewocv3nash0X6RuDPOgyLXvFY,177499
41
- sky/backends/cloud_vm_ray_backend.py,sha256=er8BcbWZj1_Y_T9hLjcIPzQ038ww4kI7pumQu3D_n1E,308450
41
+ sky/backends/cloud_vm_ray_backend.py,sha256=ktTr2M8qsqM-BVIX0YL3A8KE-lpNch14vHWOb8EVrao,308446
42
42
  sky/backends/docker_utils.py,sha256=_EhM6NStZDAwcegppQqExaB5iuSn1qL4xFFUqXAz2Uk,8392
43
43
  sky/backends/local_docker_backend.py,sha256=ncc8-WJrMRnqPl9fzvGr-nftIz7tTzKtUi-p_z_nH60,17366
44
44
  sky/backends/wheel_utils.py,sha256=DE71Muq5qLRhGpCVg1Rb6YOI7S_BzT8Hak27Pz8L4yw,12486
@@ -83,11 +83,11 @@ sky/catalog/data_fetchers/fetch_vsphere.py,sha256=Yf7tKzwJsQ_4f64IT1EAP108C1D3Rg
83
83
  sky/client/__init__.py,sha256=pz6xvVSd9X-gwqbsDL0E9QOojYqM0KAD0j-NCyCIF1k,38
84
84
  sky/client/common.py,sha256=j8ENgeRN3KdKBf0-pi1K9w1HtkqrkBR12QtF_wGWG8M,16950
85
85
  sky/client/oauth.py,sha256=sNJ_DMsSTcxluj5FeNQ2IafZJLImRFmCAZ79bXeABn4,2871
86
- sky/client/sdk.py,sha256=zlIhCbrIhzYsqL1SUW3onmu2xDYTleSKBSLuDm6Z13o,107483
86
+ sky/client/sdk.py,sha256=uYm3aIJIYNLUQzoBSAVhbEyEBNcUzFIVy5lht8k7ftE,107721
87
87
  sky/client/sdk_async.py,sha256=8G_E9Dn4d80rV-wxRH4zZUXZGAm6rLw3C8PI07fXwwQ,31106
88
88
  sky/client/service_account_auth.py,sha256=5jXk0G6ufuW-SHCO7BEHQeTO0_2a8KfFmA63auXFRj4,1529
89
89
  sky/client/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
- sky/client/cli/command.py,sha256=fqEiu4GsRz2Zi3ZIE9oYp7B_oGxgYArVewuWDnyh1G8,250525
90
+ sky/client/cli/command.py,sha256=Qn67dnfRXhiXDGMnG8eQI0PkCWpzpWMufkm4l1NN5Kg,251806
91
91
  sky/client/cli/deprecation_utils.py,sha256=H_d5UyF2CekEoThduAzt5cihBO8hwKYMu0-Wqfbjv5E,3370
92
92
  sky/client/cli/flags.py,sha256=lLXHooU4HEslbHJuGAiCrKYkJZx99hAKaJbstw7s1bc,12136
93
93
  sky/client/cli/table_utils.py,sha256=HT_y__9_tZLKJ0aJu-hh67cu3NXfWDoiHir5fTmWaDw,10156
@@ -119,19 +119,17 @@ sky/clouds/utils/azure_utils.py,sha256=NToRBnhEyuUvb-nBnsKTxjhOBRkMcrelL8LK4w6s4
119
119
  sky/clouds/utils/gcp_utils.py,sha256=09MF4Vx0EW7S-GXGpyxpl2aQlHrqeu9ioV0nyionAyk,9890
120
120
  sky/clouds/utils/oci_utils.py,sha256=TFqAqRLggg4Z0bhxrrq8nouSSomZy-ub1frHXEkud2M,7302
121
121
  sky/clouds/utils/scp_utils.py,sha256=VGuccVO5uFGr8-yolWSoYrgr11z6cIeDBGcqkBzAyOs,18409
122
- sky/dashboard/out/404.html,sha256=iHTtcdePx8fU8_uYwRLH3bhmyk9qnyP1pFAoBD7TBoI,1423
123
- sky/dashboard/out/clusters.html,sha256=b8Jjo729-EV3C94KE6zU2n6gf5WScog8TaAgj65BZs4,1418
124
- sky/dashboard/out/config.html,sha256=wN89ofAmCnj9024H9sRHc6q2HP8FKXdntzYvI6tAjY0,1414
122
+ sky/dashboard/out/404.html,sha256=e6DQ5ExllY0UvAAGaWzxywESaF7Pd-WwWh4EXJZ5ZkQ,1423
123
+ sky/dashboard/out/clusters.html,sha256=rzaTBNYoRcrcATRTtjNAvNlTka4rYwtRXfOw4Q-ioHY,1418
124
+ sky/dashboard/out/config.html,sha256=gNffJAkvHbHuCANbLv0P6FOoZ-9QFVBzCBwPdnygV5c,1414
125
125
  sky/dashboard/out/favicon.ico,sha256=XilUZZglAl_1zRsg85QsbQgmQAzGPQjcUIJ-A3AzYn8,93590
126
- sky/dashboard/out/index.html,sha256=VdXFlocm4-TD1lyD4ogWUQLb9l1p76S4OhxtLQOTYTg,1407
127
- sky/dashboard/out/infra.html,sha256=FDE_mEvMMmwMX1LjMZcTxSxfekPpZ5ZNFijMHHnNUIg,1412
128
- sky/dashboard/out/jobs.html,sha256=EpJ49nAOQRyQ9DEa8wszW1AFCwFg5BJcoIkZwW8MBFg,1410
126
+ sky/dashboard/out/index.html,sha256=h_ewg6Jv_81pSF69OkClga9LFJS7H5owm15FvZb-VUU,1407
127
+ sky/dashboard/out/infra.html,sha256=4yNTpr9mdGJ6Uetmq-ygl2KXoUQfN5gGwQU8KAAY2zs,1412
128
+ sky/dashboard/out/jobs.html,sha256=9-c-kKY65QBJhYynpHyqFZXhdKuevDI1UMnZY46soKA,1410
129
129
  sky/dashboard/out/skypilot.svg,sha256=c0iRtlfLlaUm2p0rG9NFmo5FN0Qhf3pq5Xph-AeMPJw,5064
130
- sky/dashboard/out/users.html,sha256=IRThL7x5FFIbcmCBH2DYQR0X9JFv_dOc2JHTClQTMrM,1412
131
- sky/dashboard/out/volumes.html,sha256=9rCu2MHChxJN4rqlgP6jUb92aXJKvkxy_xs41plhJcI,1416
132
- sky/dashboard/out/workspaces.html,sha256=y_b4XFUQn9wC5a5AVKhV_8LfgGGM3gURAH-kNf0WLLQ,1422
133
- sky/dashboard/out/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_buildManifest.js,sha256=1ombZKzLAegWk-mEKBFMtiwI-xk8sWY2rYidGQBNj7Y,2394
134
- sky/dashboard/out/_next/static/Xs6jdcfyNaUuBO8jmzU9_/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
130
+ sky/dashboard/out/users.html,sha256=r6t3JDxumrf85zRhxiG3_4c3dzcJGyeaKmntnQNl7_U,1412
131
+ sky/dashboard/out/volumes.html,sha256=sVC6VHnvasWuvMkeS_KRfN4fFlu8HITrBieIMVHxfFI,1416
132
+ sky/dashboard/out/workspaces.html,sha256=uaeNuOI67IrnOAU9sYDdy0HiE6R8llbQ44TL010YTHY,1422
135
133
  sky/dashboard/out/_next/static/chunks/1121-d0782b9251f0fcd3.js,sha256=jIvnDxaTleAz3HdZK9-RScSB0ZMg8-D63KQmn8avaHI,8883
136
134
  sky/dashboard/out/_next/static/chunks/1141-3b40c39626f99c89.js,sha256=M5vM2c9SRPEly-CQj0Vj7wJzyFSyuALDik9KFLXWmec,18285
137
135
  sky/dashboard/out/_next/static/chunks/1272-1ef0bf0237faccdb.js,sha256=VJ6y-Z6Eg2T93hQIRfWAbjAkQ7nQhglmIaVbEpKSILY,38451
@@ -186,14 +184,16 @@ sky/dashboard/out/_next/static/chunks/pages/jobs/pools/[pool]-bc979970c247d8f3.j
186
184
  sky/dashboard/out/_next/static/chunks/pages/workspace/new-3f88a1c7e86a3f86.js,sha256=83s5N5CZwIaRcmYMfqn2we60n2VRmgFw6Tbx18b8-e0,762
187
185
  sky/dashboard/out/_next/static/chunks/pages/workspaces/[name]-e8688c35c06f0ac5.js,sha256=TVmk0pD0iszL39u2Ru56HLEFFLO648NeT2KbEcW5X5o,1495
188
186
  sky/dashboard/out/_next/static/css/4614e06482d7309e.css,sha256=nk6GriyGVd1aGXrLd7BcMibnN4v0z-Q_mXGxrHFWqrE,56126
189
- sky/dashboard/out/clusters/[cluster].html,sha256=EA15bGlRjhBkedbuVKo0Zqqnhr6dUa4SN1Izv_OH_So,2937
190
- sky/dashboard/out/clusters/[cluster]/[job].html,sha256=PYDTv2sId3KrtezjCDXEmaYblWvqsiz2h11U81QMv0U,2073
191
- sky/dashboard/out/infra/[context].html,sha256=UvBTaYbJKaDRHyOHKHYhm71T5SboyvpoWcu9TiyHnC0,1436
192
- sky/dashboard/out/jobs/[job].html,sha256=8nlZAZChf0cbTzD9jPH_b2xP2Ki7uHj19lxfH6XSESs,2305
193
- sky/dashboard/out/jobs/pools/[pool].html,sha256=XrYw9Ee2mjjSKsz1At5BeSpjEDYWMQ_k418bPNQ86f0,2143
187
+ sky/dashboard/out/_next/static/yOfMelBaFp8uL5F9atyAK/_buildManifest.js,sha256=1ombZKzLAegWk-mEKBFMtiwI-xk8sWY2rYidGQBNj7Y,2394
188
+ sky/dashboard/out/_next/static/yOfMelBaFp8uL5F9atyAK/_ssgManifest.js,sha256=Z49s4suAsf5y_GfnQSvm4qtq2ggxEbZPfEDTXjy6XgA,80
189
+ sky/dashboard/out/clusters/[cluster].html,sha256=FV9t1Tx2nDdSaGUfgUqkHSwHsTTuC27QAausJ3I4s8s,2937
190
+ sky/dashboard/out/clusters/[cluster]/[job].html,sha256=qBmiozI5gw9OwhjEJRByrj5lyml218Rdpuyl3dAKY6o,2073
191
+ sky/dashboard/out/infra/[context].html,sha256=To1wzpSsZ7Itq-vzEP77aY_ayuPSTw8Axm0YLnI_HUg,1436
192
+ sky/dashboard/out/jobs/[job].html,sha256=gIz3O1a9ZbJe4TivYtjqt6mRzGiSVA2DAZ3Vo-uwYXs,2305
193
+ sky/dashboard/out/jobs/pools/[pool].html,sha256=mhJcWfthFR4Oh1IlmVKG9DwA7w3VhYXau1c1BXUnMV4,2143
194
194
  sky/dashboard/out/videos/cursor-small.mp4,sha256=8tRdp1vjawOrXUar1cfjOc-nkaKmcwCPZx_LO0XlCvQ,203285
195
- sky/dashboard/out/workspace/new.html,sha256=0fDNuy3rMSGKlfKpAis2XmfLOR-oD8BfdT4M2E61514,1428
196
- sky/dashboard/out/workspaces/[name].html,sha256=I4h8DCGMp_4dssa1LwHn5mH7gwP2TVl4O_UsVFPhBpY,2759
195
+ sky/dashboard/out/workspace/new.html,sha256=s39AAFrmLvP_T1w647a9h-_fdCQ0Tk7iGarBi0d0P6I,1428
196
+ sky/dashboard/out/workspaces/[name].html,sha256=_orPh8J_4CYe-nqLKxZBdXfdw7Z8ZEqTl6pXUJQ_FpM,2759
197
197
  sky/data/__init__.py,sha256=Nhaf1NURisXpZuwWANa2IuCyppIuc720FRwqSE2oEwY,184
198
198
  sky/data/data_transfer.py,sha256=N8b0CQebDuHieXjvEVwlYmK6DbQxUGG1RQJEyTbh3dU,12040
199
199
  sky/data/data_utils.py,sha256=AjEA_JRjo9NBMlv-Lq5iV4lBED_YZ1VqBR9pG6fGVWE,35179
@@ -362,7 +362,7 @@ sky/schemas/generated/servev1_pb2.pyi,sha256=HSjaksOAoaoNLzaWzqwN4UVwHel7BKhVZa9
362
362
  sky/schemas/generated/servev1_pb2_grpc.py,sha256=1tlAqxEjbQiXQSx8KniWWigUMwrxA6ocOjmGM-9UOgY,13657
363
363
  sky/serve/__init__.py,sha256=jlwErB4VeKh0wp9FkTIQoE5JQvc6KIB-vrqhtsJ2q-E,1810
364
364
  sky/serve/autoscalers.py,sha256=DBMf5AyH1PBrTMGPElHzMe_nMg1TQAM4R1tKJvEwRvk,48666
365
- sky/serve/constants.py,sha256=VXzFs207N9Pxa-ZUJjRBGMGvffhr0ernOATXDZXbGic,5250
365
+ sky/serve/constants.py,sha256=VYQKGuwaPI9o2xC5HzB0TGKdiMeE9gOiX82K5yGEfGg,5062
366
366
  sky/serve/controller.py,sha256=lyB6EHIfEMqKg-gshFLKUHEZqs77ufsD_ev6catz10Q,13975
367
367
  sky/serve/load_balancer.py,sha256=gQpjOwnpu2HLdymbYCeCgJodDklMEwYMGgYU9ThXHPM,15774
368
368
  sky/serve/load_balancing_policies.py,sha256=hhPrcuwT_rEJx4DMRC6iuLpUY8wOabUtXtPK7clg1F8,10148
@@ -371,7 +371,7 @@ sky/serve/serve_rpc_utils.py,sha256=6MTwPRt7h0pVnOthO4JUs1UEBbCLZ-prd-Pzjy_QPmw,
371
371
  sky/serve/serve_state.py,sha256=pRtxWBagIUUvgrKNZ51-9xfW0hadSGILIMzVRzm_0IU,33321
372
372
  sky/serve/serve_utils.py,sha256=G-enI29qHA-hLzej3G7AibSqv6lPy6PVC_w0Mm2colU,70833
373
373
  sky/serve/service.py,sha256=IYyMGYIu_TZtcjtao67H_Qm9WX358AiTOiHJbpcl5eQ,18365
374
- sky/serve/service_spec.py,sha256=INa1Gno8GUgYlqsgzwSkIbZAKhbZ0mVNPw3d7jjgx3I,25056
374
+ sky/serve/service_spec.py,sha256=5AjPXjtqc4e1CJWHiH998suRJMkHcQHi4mUaX52_Mhs,24800
375
375
  sky/serve/spot_placer.py,sha256=auRlYZNg8uIW-lxiirxpDP-iIaJtkrhesm6OGMgwPq4,11288
376
376
  sky/serve/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
377
377
  sky/serve/client/impl.py,sha256=ZukLKNyEtDnl24GEI6tg9b76RkSpAs5mj6PcYO57W18,10741
@@ -384,11 +384,11 @@ sky/serve/server/server.py,sha256=KPbYYUlTK3LEqrDd8q-9gsKu-gF8hXWjdMTFLhaoguM,45
384
384
  sky/server/__init__.py,sha256=MPPBqFzXz6Jv5QSk6td_IcvnfXfNErDZVcizu4MLRow,27
385
385
  sky/server/common.py,sha256=spZ2skXS2A7eD-90LSpDs7gbSH2b0RWvUV4I3CixyB4,40342
386
386
  sky/server/config.py,sha256=oQO2Wls01oYIIr4h7B6UiPBNPcsqHlCJ3batir-Zx80,11143
387
- sky/server/constants.py,sha256=9hLNn1FsBegnMxoQzYfgHIVPIqon7KufzG4G9yqhS-o,2456
387
+ sky/server/constants.py,sha256=XkwSIXR0wSJhopbtGwxYTHJZWYQ2UmpgrgZ1YQRB8SI,2615
388
388
  sky/server/daemons.py,sha256=XQdqRMVyxyqS9fY2HLqW_cxVR6qgqoQ7irPvRYWvG7E,9092
389
389
  sky/server/metrics.py,sha256=8mTyD-zo2gyAJSPJyCtTR8oImeFJ2K-sAdlje5Bf5U4,5781
390
390
  sky/server/rest.py,sha256=295lCvmAJhGTaal2P00ab6z0fxGj4KfxdI94E-2AhQA,14414
391
- sky/server/server.py,sha256=ce4vrz4LP5zm_-uvkkBWg2WyEda6QWuNyJtcMSC8PmA,84261
391
+ sky/server/server.py,sha256=HBDOtODegY7cBc5wBUzHwQVGzLI164jhpZhN6Y646ZM,84619
392
392
  sky/server/state.py,sha256=YbVOMJ1JipQQv17gLIGyiGN7MKfnP83qlUa5MB1z0Yk,747
393
393
  sky/server/stream_utils.py,sha256=V_sZWx9ppPHo4YuoN21zT6asttQlTnF2hb3FgmfpIMY,12136
394
394
  sky/server/uvicorn.py,sha256=lJROnpJqoZr59zGwYa_pUniV7rEwmZn0PV4t-YYY-yo,11832
@@ -402,10 +402,10 @@ sky/server/html/token_page.html,sha256=eUndS5u1foL9vaWGPRTLMt7lCzD1g0wYJ2v_EeeFz
402
402
  sky/server/requests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
403
403
  sky/server/requests/event_loop.py,sha256=OhpPbuce65bbjpGRlcJa78AVnYSm08SzFKt70ypCUuQ,1211
404
404
  sky/server/requests/executor.py,sha256=WDZoy6ijIuCBh5LHS6-1YepsLjf0YVHX2v4hfk048u4,34197
405
- sky/server/requests/payloads.py,sha256=4ZXDJuu35lQiQ06aJNfTzSGQxCGSxZZgBsAWcf3nKJc,28022
405
+ sky/server/requests/payloads.py,sha256=nhOGOk-AZApLQBdKLRAtQ3MF7WkJxBA-ZAuF9nMsCxk,28093
406
406
  sky/server/requests/preconditions.py,sha256=En-mSIe8JXDkiRCMlpgyJGFgYDnhthGReihV5u0oqy8,7283
407
407
  sky/server/requests/process.py,sha256=UpJp5rZizNMFRCNRtudFSjbcJhFarFbtAGDWI9x_ZyE,13197
408
- sky/server/requests/requests.py,sha256=3O0qVFm0GCmGVhS5LHV-LXgZmrRPtD7_nGhNn6DL5Oo,30992
408
+ sky/server/requests/requests.py,sha256=8li5R1Qzu7Am6KQTSLRsx7DSDzggisP8Ts82Jq9QBR4,35574
409
409
  sky/server/requests/queues/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
410
  sky/server/requests/queues/local_queue.py,sha256=X6VkBiUmgd_kfqIK1hCtMWG1b8GiZbY70TBiBR6c6GY,416
411
411
  sky/server/requests/queues/mp_queue.py,sha256=jDqP4Jd28U3ibSFyMR1DF9I2OWZrPZqFJrG5S6RFpyw,3403
@@ -566,9 +566,9 @@ sky/workspaces/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
566
566
  sky/workspaces/core.py,sha256=kRrdh-8MhX1953pML1B_DoStnDuNrsmHcZlnWoAxVo0,27218
567
567
  sky/workspaces/server.py,sha256=Box45DS54xXGHy7I3tGKGy-JP0a8G_z6IhfvGlEXtsA,3439
568
568
  sky/workspaces/utils.py,sha256=IIAiFoS6sdb2t0X5YoX9AietpTanZUQNTK8cePun-sY,2143
569
- skypilot_nightly-1.0.0.dev20251011.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
570
- skypilot_nightly-1.0.0.dev20251011.dist-info/METADATA,sha256=mdB_WExr69ksSXsZnel8RJhtn75sYiVSL3owVTtGOjQ,20454
571
- skypilot_nightly-1.0.0.dev20251011.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
572
- skypilot_nightly-1.0.0.dev20251011.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
573
- skypilot_nightly-1.0.0.dev20251011.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
574
- skypilot_nightly-1.0.0.dev20251011.dist-info/RECORD,,
569
+ skypilot_nightly-1.0.0.dev20251012.dist-info/licenses/LICENSE,sha256=emRJAvE7ngL6x0RhQvlns5wJzGI3NEQ_WMjNmd9TZc4,12170
570
+ skypilot_nightly-1.0.0.dev20251012.dist-info/METADATA,sha256=6eTxJyYyxDNhxeDy1vNOe8gOaA2sONEFQP7ZUyvGk4U,20559
571
+ skypilot_nightly-1.0.0.dev20251012.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
572
+ skypilot_nightly-1.0.0.dev20251012.dist-info/entry_points.txt,sha256=StA6HYpuHj-Y61L2Ze-hK2IcLWgLZcML5gJu8cs6nU4,36
573
+ skypilot_nightly-1.0.0.dev20251012.dist-info/top_level.txt,sha256=qA8QuiNNb6Y1OF-pCUtPEr6sLEwy2xJX06Bd_CrtrHY,4
574
+ skypilot_nightly-1.0.0.dev20251012.dist-info/RECORD,,