dstack 0.19.16__py3-none-any.whl → 0.19.17__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 dstack might be problematic. Click here for more details.

Files changed (55) hide show
  1. dstack/_internal/cli/commands/secrets.py +92 -0
  2. dstack/_internal/cli/main.py +2 -0
  3. dstack/_internal/cli/services/completion.py +5 -0
  4. dstack/_internal/cli/services/configurators/run.py +59 -17
  5. dstack/_internal/cli/utils/secrets.py +25 -0
  6. dstack/_internal/core/backends/__init__.py +10 -4
  7. dstack/_internal/core/compatibility/runs.py +29 -2
  8. dstack/_internal/core/models/configurations.py +11 -0
  9. dstack/_internal/core/models/files.py +67 -0
  10. dstack/_internal/core/models/runs.py +14 -0
  11. dstack/_internal/core/models/secrets.py +9 -2
  12. dstack/_internal/server/app.py +2 -0
  13. dstack/_internal/server/background/tasks/process_running_jobs.py +109 -12
  14. dstack/_internal/server/background/tasks/process_runs.py +15 -3
  15. dstack/_internal/server/migrations/versions/5f1707c525d2_add_filearchivemodel.py +39 -0
  16. dstack/_internal/server/migrations/versions/644b8a114187_add_secretmodel.py +49 -0
  17. dstack/_internal/server/models.py +33 -0
  18. dstack/_internal/server/routers/files.py +67 -0
  19. dstack/_internal/server/routers/secrets.py +57 -15
  20. dstack/_internal/server/schemas/files.py +5 -0
  21. dstack/_internal/server/schemas/runner.py +2 -0
  22. dstack/_internal/server/schemas/secrets.py +7 -11
  23. dstack/_internal/server/services/backends/__init__.py +1 -1
  24. dstack/_internal/server/services/files.py +91 -0
  25. dstack/_internal/server/services/jobs/__init__.py +19 -8
  26. dstack/_internal/server/services/jobs/configurators/base.py +20 -2
  27. dstack/_internal/server/services/jobs/configurators/dev.py +3 -3
  28. dstack/_internal/server/services/proxy/repo.py +3 -0
  29. dstack/_internal/server/services/runner/client.py +8 -0
  30. dstack/_internal/server/services/runs.py +52 -7
  31. dstack/_internal/server/services/secrets.py +204 -0
  32. dstack/_internal/server/services/storage/base.py +21 -0
  33. dstack/_internal/server/services/storage/gcs.py +28 -6
  34. dstack/_internal/server/services/storage/s3.py +27 -9
  35. dstack/_internal/server/settings.py +2 -2
  36. dstack/_internal/server/statics/index.html +1 -1
  37. dstack/_internal/server/statics/{main-a4eafa74304e587d037c.js → main-d151637af20f70b2e796.js} +56 -8
  38. dstack/_internal/server/statics/{main-a4eafa74304e587d037c.js.map → main-d151637af20f70b2e796.js.map} +1 -1
  39. dstack/_internal/server/statics/{main-f53d6d0d42f8d61df1de.css → main-d48635d8fe670d53961c.css} +1 -1
  40. dstack/_internal/server/statics/static/media/google.b194b06fafd0a52aeb566922160ea514.svg +1 -0
  41. dstack/_internal/server/testing/common.py +43 -5
  42. dstack/_internal/settings.py +4 -0
  43. dstack/_internal/utils/files.py +69 -0
  44. dstack/_internal/utils/nested_list.py +47 -0
  45. dstack/_internal/utils/path.py +12 -4
  46. dstack/api/_public/runs.py +67 -7
  47. dstack/api/server/__init__.py +6 -0
  48. dstack/api/server/_files.py +18 -0
  49. dstack/api/server/_secrets.py +15 -15
  50. dstack/version.py +1 -1
  51. {dstack-0.19.16.dist-info → dstack-0.19.17.dist-info}/METADATA +3 -4
  52. {dstack-0.19.16.dist-info → dstack-0.19.17.dist-info}/RECORD +55 -42
  53. {dstack-0.19.16.dist-info → dstack-0.19.17.dist-info}/WHEEL +0 -0
  54. {dstack-0.19.16.dist-info → dstack-0.19.17.dist-info}/entry_points.txt +0 -0
  55. {dstack-0.19.16.dist-info → dstack-0.19.17.dist-info}/licenses/LICENSE.md +0 -0
@@ -27,11 +27,8 @@ class S3Storage(BaseStorage):
27
27
  code_hash: str,
28
28
  blob: bytes,
29
29
  ):
30
- self._client.put_object(
31
- Bucket=self.bucket,
32
- Key=self._get_code_key(project_id, repo_id, code_hash),
33
- Body=blob,
34
- )
30
+ key = self._get_code_key(project_id, repo_id, code_hash)
31
+ self._upload(key, blob)
35
32
 
36
33
  def get_code(
37
34
  self,
@@ -39,11 +36,32 @@ class S3Storage(BaseStorage):
39
36
  repo_id: str,
40
37
  code_hash: str,
41
38
  ) -> Optional[bytes]:
39
+ key = self._get_code_key(project_id, repo_id, code_hash)
40
+ return self._get(key)
41
+
42
+ def upload_archive(
43
+ self,
44
+ user_id: str,
45
+ archive_hash: str,
46
+ blob: bytes,
47
+ ):
48
+ key = self._get_archive_key(user_id, archive_hash)
49
+ self._upload(key, blob)
50
+
51
+ def get_archive(
52
+ self,
53
+ user_id: str,
54
+ archive_hash: str,
55
+ ) -> Optional[bytes]:
56
+ key = self._get_archive_key(user_id, archive_hash)
57
+ return self._get(key)
58
+
59
+ def _upload(self, key: str, blob: bytes):
60
+ self._client.put_object(Bucket=self.bucket, Key=key, Body=blob)
61
+
62
+ def _get(self, key: str) -> Optional[bytes]:
42
63
  try:
43
- response = self._client.get_object(
44
- Bucket=self.bucket,
45
- Key=self._get_code_key(project_id, repo_id, code_hash),
46
- )
64
+ response = self._client.get_object(Bucket=self.bucket, Key=key)
47
65
  except botocore.exceptions.ClientError as e:
48
66
  if e.response["Error"]["Code"] == "NoSuchKey":
49
67
  return None
@@ -70,6 +70,8 @@ SERVER_METRICS_FINISHED_TTL_SECONDS = int(
70
70
  os.getenv("DSTACK_SERVER_METRICS_FINISHED_TTL_SECONDS", 7 * 24 * 3600)
71
71
  )
72
72
 
73
+ SERVER_KEEP_SHIM_TASKS = os.getenv("DSTACK_SERVER_KEEP_SHIM_TASKS") is not None
74
+
73
75
  DEFAULT_PROJECT_NAME = "main"
74
76
 
75
77
  SENTRY_DSN = os.getenv("DSTACK_SENTRY_DSN")
@@ -95,8 +97,6 @@ SERVER_CODE_UPLOAD_LIMIT = int(os.getenv("DSTACK_SERVER_CODE_UPLOAD_LIMIT", 2 *
95
97
 
96
98
  SQL_ECHO_ENABLED = os.getenv("DSTACK_SQL_ECHO_ENABLED") is not None
97
99
 
98
- LOCAL_BACKEND_ENABLED = os.getenv("DSTACK_LOCAL_BACKEND_ENABLED") is not None
99
-
100
100
  UPDATE_DEFAULT_PROJECT = os.getenv("DSTACK_UPDATE_DEFAULT_PROJECT") is not None
101
101
  DO_NOT_UPDATE_DEFAULT_PROJECT = os.getenv("DSTACK_DO_NOT_UPDATE_DEFAULT_PROJECT") is not None
102
102
  SKIP_GATEWAY_UPDATE = os.getenv("DSTACK_SKIP_GATEWAY_UPDATE", None) is not None
@@ -1,3 +1,3 @@
1
1
  <!doctype html><html lang="en"><head><meta charset="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><title>dstack</title><meta name="description" content="Get GPUs at the best prices and availability from a wide range of providers. No cloud account of your own is required.
2
2
  "/><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet"><meta name="og:title" content="dstack"><meta name="og:type" content="article"><meta name="og:image" content="/splash_thumbnail.png"><meta name="og:description" content="Get GPUs at the best prices and availability from a wide range of providers. No cloud account of your own is required.
3
- "><link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="48x48" href="/assets/favicon-48x48.png"><link rel="manifest" href="/assets/manifest.webmanifest"><meta name="mobile-web-app-capable" content="yes"><meta name="theme-color" content="#fff"><meta name="application-name" content="dstackai"><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-title" content="dstackai"><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-640x1136.png"><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-1136x640.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-750x1334.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-1334x750.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1125x2436.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2436x1125.png"><link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1170x2532.png"><link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2532x1170.png"><link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1179x2556.png"><link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2556x1179.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-828x1792.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-1792x828.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1242x2688.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2688x1242.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1242x2208.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2208x1242.png"><link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1284x2778.png"><link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2778x1284.png"><link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1290x2796.png"><link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2796x1290.png"><link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1488x2266.png"><link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2266x1488.png"><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1536x2048.png"><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2048x1536.png"><link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1620x2160.png"><link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2160x1620.png"><link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1640x2160.png"><link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2160x1640.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1668x2388.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2388x1668.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1668x2224.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2224x1668.png"><link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-2048x2732.png"><link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2732x2048.png"><meta name="msapplication-TileColor" content="#fff"><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"><meta name="msapplication-config" content="/assets/browserconfig.xml"><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"><script defer="defer" src="/main-a4eafa74304e587d037c.js"></script><link href="/main-f53d6d0d42f8d61df1de.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div class="b-page-header" id="header"></div><div id="root"></div></body></html>
3
+ "><link rel="icon" type="image/x-icon" href="/assets/favicon.ico"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="48x48" href="/assets/favicon-48x48.png"><link rel="manifest" href="/assets/manifest.webmanifest"><meta name="mobile-web-app-capable" content="yes"><meta name="theme-color" content="#fff"><meta name="application-name" content="dstackai"><link rel="apple-touch-icon" sizes="57x57" href="/assets/apple-touch-icon-57x57.png"><link rel="apple-touch-icon" sizes="60x60" href="/assets/apple-touch-icon-60x60.png"><link rel="apple-touch-icon" sizes="72x72" href="/assets/apple-touch-icon-72x72.png"><link rel="apple-touch-icon" sizes="76x76" href="/assets/apple-touch-icon-76x76.png"><link rel="apple-touch-icon" sizes="114x114" href="/assets/apple-touch-icon-114x114.png"><link rel="apple-touch-icon" sizes="120x120" href="/assets/apple-touch-icon-120x120.png"><link rel="apple-touch-icon" sizes="144x144" href="/assets/apple-touch-icon-144x144.png"><link rel="apple-touch-icon" sizes="152x152" href="/assets/apple-touch-icon-152x152.png"><link rel="apple-touch-icon" sizes="167x167" href="/assets/apple-touch-icon-167x167.png"><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon-180x180.png"><link rel="apple-touch-icon" sizes="1024x1024" href="/assets/apple-touch-icon-1024x1024.png"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-title" content="dstackai"><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-640x1136.png"><link rel="apple-touch-startup-image" media="(device-width: 320px) and (device-height: 568px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-1136x640.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-750x1334.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 667px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-1334x750.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1125x2436.png"><link rel="apple-touch-startup-image" media="(device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2436x1125.png"><link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1170x2532.png"><link rel="apple-touch-startup-image" media="(device-width: 390px) and (device-height: 844px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2532x1170.png"><link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1179x2556.png"><link rel="apple-touch-startup-image" media="(device-width: 393px) and (device-height: 852px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2556x1179.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-828x1792.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-1792x828.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1242x2688.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 896px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2688x1242.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1242x2208.png"><link rel="apple-touch-startup-image" media="(device-width: 414px) and (device-height: 736px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2208x1242.png"><link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1284x2778.png"><link rel="apple-touch-startup-image" media="(device-width: 428px) and (device-height: 926px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2778x1284.png"><link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1290x2796.png"><link rel="apple-touch-startup-image" media="(device-width: 430px) and (device-height: 932px) and (-webkit-device-pixel-ratio: 3) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2796x1290.png"><link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1488x2266.png"><link rel="apple-touch-startup-image" media="(device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2266x1488.png"><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1536x2048.png"><link rel="apple-touch-startup-image" media="(device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2048x1536.png"><link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1620x2160.png"><link rel="apple-touch-startup-image" media="(device-width: 810px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2160x1620.png"><link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1640x2160.png"><link rel="apple-touch-startup-image" media="(device-width: 820px) and (device-height: 1080px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2160x1640.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1668x2388.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1194px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2388x1668.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-1668x2224.png"><link rel="apple-touch-startup-image" media="(device-width: 834px) and (device-height: 1112px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2224x1668.png"><link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="/assets/apple-touch-startup-image-2048x2732.png"><link rel="apple-touch-startup-image" media="(device-width: 1024px) and (device-height: 1366px) and (-webkit-device-pixel-ratio: 2) and (orientation: landscape)" href="/assets/apple-touch-startup-image-2732x2048.png"><meta name="msapplication-TileColor" content="#fff"><meta name="msapplication-TileImage" content="/assets/mstile-144x144.png"><meta name="msapplication-config" content="/assets/browserconfig.xml"><link rel="yandex-tableau-widget" href="/assets/yandex-browser-manifest.json"><script defer="defer" src="/main-d151637af20f70b2e796.js"></script><link href="/main-d48635d8fe670d53961c.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div class="b-page-header" id="header"></div><div id="root"></div></body></html>
@@ -123713,9 +123713,9 @@ var src_Hotspot_excluded=["renderHotspot","children"];var src_Hotspot_Hotspot=fu
123713
123713
  ;// ./src/consts.ts
123714
123714
  var src_consts_DATE_TIME_FORMAT="MM/dd/yyyy HH:mm";var src_DISCORD_URL="https://discord.gg/u8SmfwPpMd";var src_QUICK_START_URL="https://dstack.ai/docs/quickstart/";var src_TALLY_FORM_ID="3xYlYG";var src_DOCS_URL="https://dstack.ai/docs/";var src_DEFAULT_TABLE_PAGE_SIZE=20;
123715
123715
  ;// ./src/routes.ts
123716
- var src_routes_ROUTES={BASE:"/",LOGOUT:"/logout",AUTH:{GITHUB_CALLBACK:"/auth/github/callback",OKTA_CALLBACK:"/auth/okta/callback",ENTRA_CALLBACK:"/auth/entra/callback",TOKEN:"/auth/token"},PROJECT:{LIST:"/projects",ADD:"/projects/add",DETAILS:{TEMPLATE:"/projects/:projectName",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.TEMPLATE,{projectName:projectName})},SETTINGS:{TEMPLATE:"/projects/:projectName",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.SETTINGS.TEMPLATE,{projectName:projectName})}},RUNS:{DETAILS:{TEMPLATE:"/projects/:projectName/runs/:runId",FORMAT:function(projectName,runId){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.TEMPLATE,{projectName:projectName,runId:runId})},METRICS:{TEMPLATE:"/projects/:projectName/runs/:runId/metrics",FORMAT:function(projectName,runId){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.METRICS.TEMPLATE,{projectName:projectName,runId:runId})}},JOBS:{DETAILS:{TEMPLATE:"/projects/:projectName/runs/:runId/jobs/:jobName",FORMAT:function(projectName,runId,jobName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.TEMPLATE,{projectName:projectName,runId:runId,jobName:jobName})},METRICS:{TEMPLATE:"/projects/:projectName/runs/:runId/jobs/:jobName/metrics",FORMAT:function(projectName,runId,jobName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.METRICS.TEMPLATE,{projectName:projectName,runId:runId,jobName:jobName})}}}}}}},BACKEND:{ADD:{TEMPLATE:"/projects/:projectName/backends/add",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.BACKEND.ADD.TEMPLATE,{projectName:projectName})}},EDIT:{TEMPLATE:"/projects/:projectName/backends/:backend",FORMAT:function(projectName,backendName){return src_buildRoute(src_routes_ROUTES.PROJECT.BACKEND.EDIT.TEMPLATE,{projectName:projectName,backend:backendName})}}},GATEWAY:{ADD:{TEMPLATE:"/projects/:projectName/gateways/add",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.GATEWAY.ADD.TEMPLATE,{projectName:projectName})}},EDIT:{TEMPLATE:"/projects/:projectName/gateways/:instance",FORMAT:function(projectName,instanceName){return src_buildRoute(src_routes_ROUTES.PROJECT.GATEWAY.EDIT.TEMPLATE,{projectName:projectName,instance:instanceName})}}}},RUNS:{LIST:"/runs"},MODELS:{LIST:"/models",DETAILS:{TEMPLATE:"/projects/:projectName/models/:runName",FORMAT:function(projectName,runName){return src_buildRoute(src_routes_ROUTES.MODELS.DETAILS.TEMPLATE,{projectName:projectName,runName:runName})}}},FLEETS:{LIST:"/fleets",DETAILS:{TEMPLATE:"/projects/:projectName/fleets/:fleetId",FORMAT:function(projectName,fleetId){return src_buildRoute(src_routes_ROUTES.FLEETS.DETAILS.TEMPLATE,{projectName:projectName,fleetId:fleetId})}}},INSTANCES:{LIST:"/instances"},VOLUMES:{LIST:"/volumes"},USER:{LIST:"/users",ADD:"/users/add",DETAILS:{TEMPLATE:"/users/:userName",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.DETAILS.TEMPLATE,{userName:userName})}},EDIT:{TEMPLATE:"/users/:userName/edit",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.EDIT.TEMPLATE,{userName:userName})}},PROJECTS:{TEMPLATE:"/users/:userName/projects",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.PROJECTS.TEMPLATE,{userName:userName})}},BILLING:{LIST:{TEMPLATE:"/users/:userName/billing",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.BILLING.LIST.TEMPLATE,{userName:userName})}},ADD_PAYMENT:{TEMPLATE:"/users/:userName/billing/payments/add",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.BILLING.ADD_PAYMENT.TEMPLATE,{userName:userName})}}}},BILLING:{BALANCE:"/billing"}};
123716
+ var src_routes_ROUTES={BASE:"/",LOGOUT:"/logout",AUTH:{GITHUB_CALLBACK:"/auth/github/callback",OKTA_CALLBACK:"/auth/okta/callback",ENTRA_CALLBACK:"/auth/entra/callback",GOOGLE_CALLBACK:"/auth/google/callback",TOKEN:"/auth/token"},PROJECT:{LIST:"/projects",ADD:"/projects/add",DETAILS:{TEMPLATE:"/projects/:projectName",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.TEMPLATE,{projectName:projectName})},SETTINGS:{TEMPLATE:"/projects/:projectName",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.SETTINGS.TEMPLATE,{projectName:projectName})}},RUNS:{DETAILS:{TEMPLATE:"/projects/:projectName/runs/:runId",FORMAT:function(projectName,runId){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.TEMPLATE,{projectName:projectName,runId:runId})},METRICS:{TEMPLATE:"/projects/:projectName/runs/:runId/metrics",FORMAT:function(projectName,runId){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.METRICS.TEMPLATE,{projectName:projectName,runId:runId})}},JOBS:{DETAILS:{TEMPLATE:"/projects/:projectName/runs/:runId/jobs/:jobName",FORMAT:function(projectName,runId,jobName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.TEMPLATE,{projectName:projectName,runId:runId,jobName:jobName})},METRICS:{TEMPLATE:"/projects/:projectName/runs/:runId/jobs/:jobName/metrics",FORMAT:function(projectName,runId,jobName){return src_buildRoute(src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.METRICS.TEMPLATE,{projectName:projectName,runId:runId,jobName:jobName})}}}}}}},BACKEND:{ADD:{TEMPLATE:"/projects/:projectName/backends/add",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.BACKEND.ADD.TEMPLATE,{projectName:projectName})}},EDIT:{TEMPLATE:"/projects/:projectName/backends/:backend",FORMAT:function(projectName,backendName){return src_buildRoute(src_routes_ROUTES.PROJECT.BACKEND.EDIT.TEMPLATE,{projectName:projectName,backend:backendName})}}},GATEWAY:{ADD:{TEMPLATE:"/projects/:projectName/gateways/add",FORMAT:function(projectName){return src_buildRoute(src_routes_ROUTES.PROJECT.GATEWAY.ADD.TEMPLATE,{projectName:projectName})}},EDIT:{TEMPLATE:"/projects/:projectName/gateways/:instance",FORMAT:function(projectName,instanceName){return src_buildRoute(src_routes_ROUTES.PROJECT.GATEWAY.EDIT.TEMPLATE,{projectName:projectName,instance:instanceName})}}}},RUNS:{LIST:"/runs"},MODELS:{LIST:"/models",DETAILS:{TEMPLATE:"/projects/:projectName/models/:runName",FORMAT:function(projectName,runName){return src_buildRoute(src_routes_ROUTES.MODELS.DETAILS.TEMPLATE,{projectName:projectName,runName:runName})}}},FLEETS:{LIST:"/fleets",DETAILS:{TEMPLATE:"/projects/:projectName/fleets/:fleetId",FORMAT:function(projectName,fleetId){return src_buildRoute(src_routes_ROUTES.FLEETS.DETAILS.TEMPLATE,{projectName:projectName,fleetId:fleetId})}}},INSTANCES:{LIST:"/instances"},VOLUMES:{LIST:"/volumes"},USER:{LIST:"/users",ADD:"/users/add",DETAILS:{TEMPLATE:"/users/:userName",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.DETAILS.TEMPLATE,{userName:userName})}},EDIT:{TEMPLATE:"/users/:userName/edit",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.EDIT.TEMPLATE,{userName:userName})}},PROJECTS:{TEMPLATE:"/users/:userName/projects",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.PROJECTS.TEMPLATE,{userName:userName})}},BILLING:{LIST:{TEMPLATE:"/users/:userName/billing",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.BILLING.LIST.TEMPLATE,{userName:userName})}},ADD_PAYMENT:{TEMPLATE:"/users/:userName/billing/payments/add",FORMAT:function(userName){return src_buildRoute(src_routes_ROUTES.USER.BILLING.ADD_PAYMENT.TEMPLATE,{userName:userName})}}}},BILLING:{BALANCE:"/billing"}};
123717
123717
  ;// ./src/api.ts
123718
- var src_BASE_URL="/api";var src_API={BASE:function(){return"".concat(src_BASE_URL)},AUTH:{BASE:function(){return"".concat(src_API.BASE(),"/auth")},GITHUB:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/github")},AUTHORIZE:function(){return"".concat(src_API.AUTH.GITHUB.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.GITHUB.BASE(),"/callback")}},OKTA:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/okta")},INFO:function(){return"".concat(src_API.AUTH.OKTA.BASE(),"/info")},AUTHORIZE:function(){return"".concat(src_API.AUTH.OKTA.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.OKTA.BASE(),"/callback")}},ENTRA:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/entra")},INFO:function(){return"".concat(src_API.AUTH.ENTRA.BASE(),"/info")},AUTHORIZE:function(){return"".concat(src_API.AUTH.ENTRA.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.ENTRA.BASE(),"/callback")}}},USERS:{BASE:function(){return"".concat(src_API.BASE(),"/users")},LIST:function(){return"".concat(src_API.USERS.BASE(),"/list")},CREATE:function(){return"".concat(src_API.USERS.BASE(),"/create")},UPDATE:function(){return"".concat(src_API.USERS.BASE(),"/update")},DETAILS:function(){return"".concat(src_API.USERS.BASE(),"/get_user")},CURRENT_USER:function(){return"".concat(src_API.USERS.BASE(),"/get_my_user")},REFRESH_TOKEN:function(){return"".concat(src_API.USERS.BASE(),"/refresh_token")},DELETE:function(){return"".concat(src_API.USERS.BASE(),"/delete")}},USER_PAYMENTS:{BASE:function(username){return"".concat(src_API.BASE(),"/user/").concat(username,"/payments")},LIST:function(username){return"".concat(src_API.USER_PAYMENTS.BASE(username),"/list")},ADD:function(username){return"".concat(src_API.USER_PAYMENTS.BASE(username),"/add")}},USER_BILLING:{BASE:function(username){return"".concat(src_API.BASE(),"/user/").concat(username,"/billing")},INFO:function(username){return"".concat(src_API.USER_BILLING.BASE(username),"/info")},CHECKOUT_SESSION:function(username){return"".concat(src_API.USER_BILLING.BASE(username),"/checkout_session")},PORTAL_SESSION:function(username){return"".concat(src_API.USER_BILLING.BASE(username),"/portal_session")}},PROJECTS:{BASE:function(){return"".concat(src_API.BASE(),"/projects")},LIST:function(){return"".concat(src_API.PROJECTS.BASE(),"/list")},CREATE:function(){return"".concat(src_API.PROJECTS.BASE(),"/create")},DELETE:function(){return"".concat(src_API.PROJECTS.BASE(),"/delete")},DETAILS:function(name){return"".concat(src_API.PROJECTS.BASE(),"/").concat(name)},DETAILS_INFO:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/get")},SET_MEMBERS:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/set_members")},ADD_MEMBERS:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/add_members")},REMOVE_MEMBERS:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/remove_members")},UPDATE:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/update")},// Repos
123718
+ var src_BASE_URL="/api";var src_API={BASE:function(){return"".concat(src_BASE_URL)},AUTH:{BASE:function(){return"".concat(src_API.BASE(),"/auth")},GITHUB:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/github")},AUTHORIZE:function(){return"".concat(src_API.AUTH.GITHUB.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.GITHUB.BASE(),"/callback")}},OKTA:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/okta")},INFO:function(){return"".concat(src_API.AUTH.OKTA.BASE(),"/info")},AUTHORIZE:function(){return"".concat(src_API.AUTH.OKTA.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.OKTA.BASE(),"/callback")}},ENTRA:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/entra")},INFO:function(){return"".concat(src_API.AUTH.ENTRA.BASE(),"/info")},AUTHORIZE:function(){return"".concat(src_API.AUTH.ENTRA.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.ENTRA.BASE(),"/callback")}},GOOGLE:{BASE:function(){return"".concat(src_API.AUTH.BASE(),"/google")},INFO:function(){return"".concat(src_API.AUTH.GOOGLE.BASE(),"/info")},AUTHORIZE:function(){return"".concat(src_API.AUTH.GOOGLE.BASE(),"/authorize")},CALLBACK:function(){return"".concat(src_API.AUTH.GOOGLE.BASE(),"/callback")}}},USERS:{BASE:function(){return"".concat(src_API.BASE(),"/users")},LIST:function(){return"".concat(src_API.USERS.BASE(),"/list")},CREATE:function(){return"".concat(src_API.USERS.BASE(),"/create")},UPDATE:function(){return"".concat(src_API.USERS.BASE(),"/update")},DETAILS:function(){return"".concat(src_API.USERS.BASE(),"/get_user")},CURRENT_USER:function(){return"".concat(src_API.USERS.BASE(),"/get_my_user")},REFRESH_TOKEN:function(){return"".concat(src_API.USERS.BASE(),"/refresh_token")},DELETE:function(){return"".concat(src_API.USERS.BASE(),"/delete")}},USER_PAYMENTS:{BASE:function(username){return"".concat(src_API.BASE(),"/user/").concat(username,"/payments")},LIST:function(username){return"".concat(src_API.USER_PAYMENTS.BASE(username),"/list")},ADD:function(username){return"".concat(src_API.USER_PAYMENTS.BASE(username),"/add")}},USER_BILLING:{BASE:function(username){return"".concat(src_API.BASE(),"/user/").concat(username,"/billing")},INFO:function(username){return"".concat(src_API.USER_BILLING.BASE(username),"/info")},CHECKOUT_SESSION:function(username){return"".concat(src_API.USER_BILLING.BASE(username),"/checkout_session")},PORTAL_SESSION:function(username){return"".concat(src_API.USER_BILLING.BASE(username),"/portal_session")}},PROJECTS:{BASE:function(){return"".concat(src_API.BASE(),"/projects")},LIST:function(){return"".concat(src_API.PROJECTS.BASE(),"/list")},CREATE:function(){return"".concat(src_API.PROJECTS.BASE(),"/create")},DELETE:function(){return"".concat(src_API.PROJECTS.BASE(),"/delete")},DETAILS:function(name){return"".concat(src_API.PROJECTS.BASE(),"/").concat(name)},DETAILS_INFO:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/get")},SET_MEMBERS:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/set_members")},ADD_MEMBERS:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/add_members")},REMOVE_MEMBERS:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/remove_members")},UPDATE:function(name){return"".concat(src_API.PROJECTS.DETAILS(name),"/update")},// Repos
123719
123719
  REPOS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/repos")},REPOS_LIST:function(projectName){return"".concat(src_API.PROJECTS.REPOS(projectName),"/list")},// Runs
123720
123720
  RUNS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/runs")},RUNS_LIST:function(projectName){return"".concat(src_API.PROJECTS.RUNS(projectName),"/list")},RUN_DETAILS:function(projectName){return"".concat(src_API.PROJECTS.RUNS(projectName),"/get")},RUN_GET_PLAN:function(projectName){return"".concat(src_API.PROJECTS.RUNS(projectName),"/get_plan")},RUNS_DELETE:function(projectName){return"".concat(src_API.PROJECTS.RUNS(projectName),"/delete")},RUNS_STOP:function(projectName){return"".concat(src_API.PROJECTS.RUNS(projectName),"/stop")},RUNS_SUBMIT:function(projectName){return"".concat(src_API.PROJECTS.RUNS(projectName),"/submit")},// Logs
123721
123721
  LOGS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/logs/poll")},// Logs
@@ -127108,7 +127108,7 @@ onItemFollow:onFollowHandler}].filter(Boolean)}))),/*#__PURE__*/src_react.create
127108
127108
  ;// ./src/layouts/UnauthorizedLayout/index.tsx
127109
127109
  var src_UnauthorizedLayout_UnauthorizedLayout=function(_ref){var children=_ref.children;return/*#__PURE__*/src_react.createElement("div",{className:src_UnauthorizedLayout_styles_module.layout},children)};
127110
127110
  ;// ./src/services/auth.ts
127111
- var src_authApi=src_rtk_query_react_esm_createApi({reducerPath:"authApi",baseQuery:src_fetchBaseQuery({prepareHeaders:src_fetchBaseQueryHeaders}),tagTypes:["Auth"],endpoints:function(builder){return{githubAuthorize:builder.mutation({query:function(){return{url:src_API.AUTH.GITHUB.AUTHORIZE(),method:"POST"}}}),githubCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.GITHUB.CALLBACK(),method:"POST",body:body}}}),getOktaInfo:builder.query({query:function(){return{url:src_API.AUTH.OKTA.INFO(),method:"POST"}}}),oktaAuthorize:builder.mutation({query:function(){return{url:src_API.AUTH.OKTA.AUTHORIZE(),method:"POST"}}}),oktaCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.OKTA.CALLBACK(),method:"POST",body:body}}}),getEntraInfo:builder.query({query:function(){return{url:src_API.AUTH.ENTRA.INFO(),method:"POST"}}}),entraAuthorize:builder.mutation({query:function(body){return{url:src_API.AUTH.ENTRA.AUTHORIZE(),method:"POST",body:body}}}),entraCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.ENTRA.CALLBACK(),method:"POST",body:body}}})}}});var src_auth_useGithubAuthorizeMutation=src_authApi.useGithubAuthorizeMutation,src_useGithubCallbackMutation=src_authApi.useGithubCallbackMutation,src_useGetOktaInfoQuery=src_authApi.useGetOktaInfoQuery,src_useOktaAuthorizeMutation=src_authApi.useOktaAuthorizeMutation,src_useOktaCallbackMutation=src_authApi.useOktaCallbackMutation,src_useGetEntraInfoQuery=src_authApi.useGetEntraInfoQuery,src_useEntraAuthorizeMutation=src_authApi.useEntraAuthorizeMutation,src_useEntraCallbackMutation=src_authApi.useEntraCallbackMutation;
127111
+ var src_authApi=src_rtk_query_react_esm_createApi({reducerPath:"authApi",baseQuery:src_fetchBaseQuery({prepareHeaders:src_fetchBaseQueryHeaders}),tagTypes:["Auth"],endpoints:function(builder){return{githubAuthorize:builder.mutation({query:function(){return{url:src_API.AUTH.GITHUB.AUTHORIZE(),method:"POST"}}}),githubCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.GITHUB.CALLBACK(),method:"POST",body:body}}}),getOktaInfo:builder.query({query:function(){return{url:src_API.AUTH.OKTA.INFO(),method:"POST"}}}),oktaAuthorize:builder.mutation({query:function(){return{url:src_API.AUTH.OKTA.AUTHORIZE(),method:"POST"}}}),oktaCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.OKTA.CALLBACK(),method:"POST",body:body}}}),getEntraInfo:builder.query({query:function(){return{url:src_API.AUTH.ENTRA.INFO(),method:"POST"}}}),entraAuthorize:builder.mutation({query:function(body){return{url:src_API.AUTH.ENTRA.AUTHORIZE(),method:"POST",body:body}}}),entraCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.ENTRA.CALLBACK(),method:"POST",body:body}}}),getGoogleInfo:builder.query({query:function(){return{url:src_API.AUTH.GOOGLE.INFO(),method:"POST"}}}),googleAuthorize:builder.mutation({query:function(){return{url:src_API.AUTH.GOOGLE.AUTHORIZE(),method:"POST"}}}),googleCallback:builder.mutation({query:function(body){return{url:src_API.AUTH.GOOGLE.CALLBACK(),method:"POST",body:body}}})}}});var src_auth_useGithubAuthorizeMutation=src_authApi.useGithubAuthorizeMutation,src_useGithubCallbackMutation=src_authApi.useGithubCallbackMutation,src_useGetOktaInfoQuery=src_authApi.useGetOktaInfoQuery,src_useOktaAuthorizeMutation=src_authApi.useOktaAuthorizeMutation,src_useOktaCallbackMutation=src_authApi.useOktaCallbackMutation,src_useGetEntraInfoQuery=src_authApi.useGetEntraInfoQuery,src_useEntraAuthorizeMutation=src_authApi.useEntraAuthorizeMutation,src_useEntraCallbackMutation=src_authApi.useEntraCallbackMutation,src_useGetGoogleInfoQuery=src_authApi.useGetGoogleInfoQuery,src_useGoogleAuthorizeMutation=src_authApi.useGoogleAuthorizeMutation,src_useGoogleCallbackMutation=src_authApi.useGoogleCallbackMutation;
127112
127112
  ;// ./src/assets/icons/entraID.svg
127113
127113
  var src_entraID_path, src_entraID_path2, src_polygon, src_entraID_path3, src_entraID_path4, src_polygon2;
127114
127114
  var src_entraID_excluded = ["title", "titleId"];
@@ -127195,6 +127195,52 @@ var src_okta_ForwardRef = /*#__PURE__*/(0,src_react.forwardRef)(src_SvgOkta);
127195
127195
  /* harmony default export */ const src_LoginByOkta_styles_module = ({"signIn":"BVE_A","loginButtonInner":"wDfgd","loginButtonLabel":"gTtHn"});
127196
127196
  ;// ./src/App/Login/LoginByOkta/index.tsx
127197
127197
  var src_LoginByOkta=function(_ref){var className=_ref.className,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useOktaAuthorizeMuta=src_useOktaAuthorizeMutation(),_useOktaAuthorizeMuta2=src_slicedToArray_slicedToArray(_useOktaAuthorizeMuta,2),oktaAuthorize=_useOktaAuthorizeMuta2[0],isLoading=_useOktaAuthorizeMuta2[1].isLoading;return/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_LoginByOkta_styles_module.signIn,className)},/*#__PURE__*/src_react.createElement(src_Button_Button,{onClick:function(){oktaAuthorize().unwrap().then(function(data){src_libs_goToUrl(data.authorization_url)}).catch(console.log)},disabled:isLoading,loading:isLoading,variant:"primary"},/*#__PURE__*/src_react.createElement("span",{className:src_LoginByOkta_styles_module.loginButtonInner},/*#__PURE__*/src_react.createElement(src_okta_ForwardRef,null),/*#__PURE__*/src_react.createElement("span",{className:src_LoginByOkta_styles_module.loginButtonLabel},t("common.login_okta")))))};
127198
+ ;// ./src/assets/icons/google.svg
127199
+ var src_google_path, src_google_path2, src_google_path3, src_google_path4, src_google_path5;
127200
+ var src_google_excluded = ["title", "titleId"];
127201
+ function src_google_extends() { return src_google_extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, src_google_extends.apply(null, arguments); }
127202
+ function src_google_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = src_google_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
127203
+ function src_google_objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
127204
+
127205
+
127206
+ var src_SvgGoogle = function SvgGoogle(_ref, ref) {
127207
+ var title = _ref.title,
127208
+ titleId = _ref.titleId,
127209
+ props = src_google_objectWithoutProperties(_ref, src_google_excluded);
127210
+ return /*#__PURE__*/src_react.createElement("svg", src_google_extends({
127211
+ xmlns: "http://www.w3.org/2000/svg",
127212
+ height: 14,
127213
+ viewBox: "0 0 24 24",
127214
+ width: 14,
127215
+ ref: ref,
127216
+ "aria-labelledby": titleId
127217
+ }, props), title ? /*#__PURE__*/src_react.createElement("title", {
127218
+ id: titleId
127219
+ }, title) : null, src_google_path || (src_google_path = /*#__PURE__*/src_react.createElement("path", {
127220
+ d: "M22.56 12.25c0-.78-.07-1.53-.2-2.25H12v4.26h5.92c-.26 1.37-1.04 2.53-2.21 3.31v2.77h3.57c2.08-1.92 3.28-4.74 3.28-8.09z",
127221
+ fill: "#4285F4"
127222
+ })), src_google_path2 || (src_google_path2 = /*#__PURE__*/src_react.createElement("path", {
127223
+ d: "M12 23c2.97 0 5.46-.98 7.28-2.66l-3.57-2.77c-.98.66-2.23 1.06-3.71 1.06-2.86 0-5.29-1.93-6.16-4.53H2.18v2.84C3.99 20.53 7.7 23 12 23z",
127224
+ fill: "#34A853"
127225
+ })), src_google_path3 || (src_google_path3 = /*#__PURE__*/src_react.createElement("path", {
127226
+ d: "M5.84 14.09c-.22-.66-.35-1.36-.35-2.09s.13-1.43.35-2.09V7.07H2.18C1.43 8.55 1 10.22 1 12s.43 3.45 1.18 4.93l2.85-2.22.81-.62z",
127227
+ fill: "#FBBC05"
127228
+ })), src_google_path4 || (src_google_path4 = /*#__PURE__*/src_react.createElement("path", {
127229
+ d: "M12 5.38c1.62 0 3.06.56 4.21 1.64l3.15-3.15C17.45 2.09 14.97 1 12 1 7.7 1 3.99 3.47 2.18 7.07l3.66 2.84c.87-2.6 3.3-4.53 6.16-4.53z",
127230
+ fill: "#EA4335"
127231
+ })), src_google_path5 || (src_google_path5 = /*#__PURE__*/src_react.createElement("path", {
127232
+ d: "M1 1h22v22H1z",
127233
+ fill: "none"
127234
+ })));
127235
+ };
127236
+ var src_google_ForwardRef = /*#__PURE__*/(0,src_react.forwardRef)(src_SvgGoogle);
127237
+
127238
+ /* harmony default export */ const src_google = (__webpack_require__.p + "static/media/google.b194b06fafd0a52aeb566922160ea514.svg");
127239
+ ;// ./src/App/Login/LoginByGoogle/styles.module.scss
127240
+ // extracted by mini-css-extract-plugin
127241
+ /* harmony default export */ const src_LoginByGoogle_styles_module = ({"signIn":"O3dLS","loginButtonInner":"wutJr","loginButtonLabel":"EFHt5"});
127242
+ ;// ./src/App/Login/LoginByGoogle/index.tsx
127243
+ var src_LoginByGoogle=function(_ref){var className=_ref.className,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useGoogleAuthorizeMu=src_useGoogleAuthorizeMutation(),_useGoogleAuthorizeMu2=src_slicedToArray_slicedToArray(_useGoogleAuthorizeMu,2),googleAuthorize=_useGoogleAuthorizeMu2[0],isLoading=_useGoogleAuthorizeMu2[1].isLoading;return/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_LoginByGoogle_styles_module.signIn,className)},/*#__PURE__*/src_react.createElement(src_Button_Button,{onClick:function(){googleAuthorize().unwrap().then(function(data){src_libs_goToUrl(data.authorization_url)}).catch(console.log)},disabled:isLoading,loading:isLoading,variant:"normal"},/*#__PURE__*/src_react.createElement("span",{className:src_LoginByGoogle_styles_module.loginButtonInner},/*#__PURE__*/src_react.createElement(src_google_ForwardRef,null),/*#__PURE__*/src_react.createElement("span",{className:src_LoginByGoogle_styles_module.loginButtonLabel},t("common.login_google")))))};
127198
127244
  ;// ./src/App/Login/LoginByTokenForm/styles.module.scss
127199
127245
  // extracted by mini-css-extract-plugin
127200
127246
  /* harmony default export */ const src_LoginByTokenForm_styles_module = ({"form":"WtKGs","token":"Vl_4W","fieldWrap":"EvIN9","buttonWrap":"JUfvj"});
@@ -127204,7 +127250,7 @@ var src_LoginByTokenForm=function(_ref){var className=_ref.className,_useTransla
127204
127250
  // extracted by mini-css-extract-plugin
127205
127251
  /* harmony default export */ const src_EnterpriseLogin_styles_module = ({"form":"Gb9hi","okta":"w_GI3","entra":"uaI3N"});
127206
127252
  ;// ./src/App/Login/EnterpriseLogin/index.tsx
127207
- var src_EnterpriseLogin=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useGetOktaInfoQuery=src_useGetOktaInfoQuery(),oktaData=_useGetOktaInfoQuery.data,isLoadingOkta=_useGetOktaInfoQuery.isLoading,_useGetEntraInfoQuery=src_useGetEntraInfoQuery(),entraData=_useGetEntraInfoQuery.data,isLoadingEntra=_useGetEntraInfoQuery.isLoading,oktaEnabled=null===oktaData||void 0===oktaData?void 0:oktaData.enabled,entraEnabled=null===entraData||void 0===entraData?void 0:entraData.enabled,isLoading=isLoadingOkta||isLoadingEntra,isShowTokenForm=!oktaEnabled&&!entraEnabled;return/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_EnterpriseLogin_styles_module.form)},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"xl",alignItems:"center"},/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"h1",textAlign:"center"},t("auth.sign_in_to_dstack_enterprise")),!isLoading&&isShowTokenForm&&/*#__PURE__*/src_react.createElement(src_LoginByTokenForm,null),!isLoadingOkta&&oktaEnabled&&/*#__PURE__*/src_react.createElement(src_LoginByOkta,{className:src_EnterpriseLogin_styles_module.okta}),!isLoadingEntra&&entraEnabled&&/*#__PURE__*/src_react.createElement(src_LoginByEntraID,{className:src_EnterpriseLogin_styles_module.entra}),!isLoading&&!isShowTokenForm&&/*#__PURE__*/src_react.createElement(src_box_Box,{color:"text-body-secondary"},/*#__PURE__*/src_react.createElement(src_NavigateLink_NavigateLink,{href:src_routes_ROUTES.AUTH.TOKEN},t("auth.login_by_token"))))))};
127253
+ var src_EnterpriseLogin=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useGetOktaInfoQuery=src_useGetOktaInfoQuery(),oktaData=_useGetOktaInfoQuery.data,isLoadingOkta=_useGetOktaInfoQuery.isLoading,_useGetEntraInfoQuery=src_useGetEntraInfoQuery(),entraData=_useGetEntraInfoQuery.data,isLoadingEntra=_useGetEntraInfoQuery.isLoading,_useGetGoogleInfoQuer=src_useGetGoogleInfoQuery(),googleData=_useGetGoogleInfoQuer.data,isLoadingGoogle=_useGetGoogleInfoQuer.isLoading,oktaEnabled=null===oktaData||void 0===oktaData?void 0:oktaData.enabled,entraEnabled=null===entraData||void 0===entraData?void 0:entraData.enabled,googleEnabled=null===googleData||void 0===googleData?void 0:googleData.enabled,isLoading=isLoadingOkta||isLoadingEntra,isShowTokenForm=!oktaEnabled&&!entraEnabled;return/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_EnterpriseLogin_styles_module.form)},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"xl",alignItems:"center"},/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"h1",textAlign:"center"},t("auth.sign_in_to_dstack_enterprise")),!isLoading&&isShowTokenForm&&/*#__PURE__*/src_react.createElement(src_LoginByTokenForm,null),!isLoadingOkta&&oktaEnabled&&/*#__PURE__*/src_react.createElement(src_LoginByOkta,{className:src_EnterpriseLogin_styles_module.okta}),!isLoadingEntra&&entraEnabled&&/*#__PURE__*/src_react.createElement(src_LoginByEntraID,{className:src_EnterpriseLogin_styles_module.entra}),!isLoadingGoogle&&googleEnabled&&/*#__PURE__*/src_react.createElement(src_LoginByGoogle,{className:src_EnterpriseLogin_styles_module.google}),!isLoading&&!isShowTokenForm&&/*#__PURE__*/src_react.createElement(src_box_Box,{color:"text-body-secondary"},/*#__PURE__*/src_react.createElement(src_NavigateLink_NavigateLink,{href:src_routes_ROUTES.AUTH.TOKEN},t("auth.login_by_token"))))))};
127208
127254
  ;// ./src/assets/icons/github.svg
127209
127255
  var src_github_path;
127210
127256
  var src_github_excluded = (/* unused pure expression or super */ null && (["title", "titleId"]));
@@ -127246,7 +127292,7 @@ var src_LoginByGithub=function(){var _useTranslation=useTranslation(),t=_useTran
127246
127292
  ;// ./src/App/AuthErrorMessage/index.tsx
127247
127293
  var src_AuthErrorMessage=function(_ref){var title=_ref.title,text=_ref.text,children=_ref.children;return/*#__PURE__*/src_react.createElement(src_box_Box,{margin:{vertical:"xxxl"},textAlign:"center",color:"inherit"},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"xxs"},/*#__PURE__*/src_react.createElement("div",null,/*#__PURE__*/src_react.createElement("b",null,title),text&&/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"p",color:"inherit"},text))),/*#__PURE__*/src_react.createElement("div",{className:src_AuthErrorMessage_styles_module.content},children))};
127248
127294
  ;// ./src/App/index.tsx
127249
- var src_localStorageIsAvailable="localStorage"in window,src_IGNORED_AUTH_PATHS=[src_routes_ROUTES.AUTH.GITHUB_CALLBACK,src_routes_ROUTES.AUTH.OKTA_CALLBACK,src_routes_ROUTES.AUTH.ENTRA_CALLBACK,src_routes_ROUTES.AUTH.TOKEN],src_LoginFormComponent= true?src_EnterpriseLogin:0,src_App_0=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,token=src_hooks_useAppSelector(src_selectAuthToken),isAuthenticated=!!token,dispatch=src_hooks_useAppDispatch(),_useLocation=src_dist_useLocation(),pathname=_useLocation.pathname,_useGetUserDataQuery=src_useGetUserDataQuery({token:token},{skip:!isAuthenticated||!src_localStorageIsAvailable}),isLoading=_useGetUserDataQuery.isLoading,userData=_useGetUserDataQuery.data,getUserError=_useGetUserDataQuery.error;(0,src_react.useEffect)(function(){(null!==userData&&void 0!==userData&&userData.username||getUserError)&&null!==userData&&void 0!==userData&&userData.username&&dispatch(src_setUserData(userData))},[userData,getUserError,isLoading]);return src_IGNORED_AUTH_PATHS.includes(pathname)?/*#__PURE__*/src_react.createElement(src_Outlet,null):src_localStorageIsAvailable?getUserError?function(){return/*#__PURE__*/src_react.createElement(src_LoginFormComponent,null)}():isAuthenticated?/*#__PURE__*/src_react.createElement(src_layouts_AppLayout,null,/*#__PURE__*/src_react.createElement(src_Outlet,null)):function(){return/*#__PURE__*/src_react.createElement(src_LoginFormComponent,null)}():function(){return/*#__PURE__*/src_react.createElement(src_AuthErrorMessage,{title:t("common.local_storage_unavailable"),text:t("common.local_storage_unavailable_message")})}()};/* harmony default export */ const src_src_App = (src_App_0);
127295
+ var src_localStorageIsAvailable="localStorage"in window,src_IGNORED_AUTH_PATHS=[src_routes_ROUTES.AUTH.GITHUB_CALLBACK,src_routes_ROUTES.AUTH.OKTA_CALLBACK,src_routes_ROUTES.AUTH.ENTRA_CALLBACK,src_routes_ROUTES.AUTH.GOOGLE_CALLBACK,src_routes_ROUTES.AUTH.TOKEN],src_LoginFormComponent= true?src_EnterpriseLogin:0,src_App_0=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,token=src_hooks_useAppSelector(src_selectAuthToken),isAuthenticated=!!token,dispatch=src_hooks_useAppDispatch(),_useLocation=src_dist_useLocation(),pathname=_useLocation.pathname,_useGetUserDataQuery=src_useGetUserDataQuery({token:token},{skip:!isAuthenticated||!src_localStorageIsAvailable}),isLoading=_useGetUserDataQuery.isLoading,userData=_useGetUserDataQuery.data,getUserError=_useGetUserDataQuery.error;(0,src_react.useEffect)(function(){(null!==userData&&void 0!==userData&&userData.username||getUserError)&&null!==userData&&void 0!==userData&&userData.username&&dispatch(src_setUserData(userData))},[userData,getUserError,isLoading]);return src_IGNORED_AUTH_PATHS.includes(pathname)?/*#__PURE__*/src_react.createElement(src_Outlet,null):src_localStorageIsAvailable?getUserError?function(){return/*#__PURE__*/src_react.createElement(src_LoginFormComponent,null)}():isAuthenticated?/*#__PURE__*/src_react.createElement(src_layouts_AppLayout,null,/*#__PURE__*/src_react.createElement(src_Outlet,null)):function(){return/*#__PURE__*/src_react.createElement(src_LoginFormComponent,null)}():function(){return/*#__PURE__*/src_react.createElement(src_AuthErrorMessage,{title:t("common.local_storage_unavailable"),text:t("common.local_storage_unavailable_message")})}()};/* harmony default export */ const src_src_App = (src_App_0);
127250
127296
  ;// ./src/App/Loading/styles.module.scss
127251
127297
  // extracted by mini-css-extract-plugin
127252
127298
  /* harmony default export */ const src_Loading_styles_module = ({"spinner":"OZnXs"});
@@ -127258,6 +127304,8 @@ var src_LoginByEntraIDCallback=function(){var _useTranslation=src_useTranslation
127258
127304
  var src_LoginByGithubCallback=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useSearchParams=src_dist_useSearchParams(),_useSearchParams2=src_slicedToArray_slicedToArray(_useSearchParams,1),searchParams=_useSearchParams2[0],navigate=src_dist_useNavigate(),code=searchParams.get("code"),_useState=(0,src_react.useState)(!1),_useState2=src_slicedToArray_slicedToArray(_useState,2),isInvalidCode=_useState2[0],setIsInvalidCode=_useState2[1],dispatch=src_hooks_useAppDispatch(),_useGithubCallbackMut=src_useGithubCallbackMutation(),_useGithubCallbackMut2=src_slicedToArray_slicedToArray(_useGithubCallbackMut,1),githubCallback=_useGithubCallbackMut2[0],checkCode=function(){code&&githubCallback({code:code}).unwrap().then(function(_ref){var token=_ref.creds.token;dispatch(src_setAuthData({token:token})),navigate("/")}).catch(function(){setIsInvalidCode(!0)})};return (0,src_react.useEffect)(function(){code?checkCode():setIsInvalidCode(!0)},[]),isInvalidCode?/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement(src_AuthErrorMessage,{title:t("auth.authorization_failed")},/*#__PURE__*/src_react.createElement(src_NavigateLink_NavigateLink,{href:src_routes_ROUTES.BASE},t("auth.try_again")))):/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement(src_Loading,null),";")};
127259
127305
  ;// ./src/App/Login/LoginByOktaCallback/index.tsx
127260
127306
  var src_LoginByOktaCallback=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useSearchParams=src_dist_useSearchParams(),_useSearchParams2=src_slicedToArray_slicedToArray(_useSearchParams,1),searchParams=_useSearchParams2[0],navigate=src_dist_useNavigate(),code=searchParams.get("code"),state=searchParams.get("state"),_useState=(0,src_react.useState)(!1),_useState2=src_slicedToArray_slicedToArray(_useState,2),isInvalidCode=_useState2[0],setIsInvalidCode=_useState2[1],dispatch=src_hooks_useAppDispatch(),_useOktaCallbackMutat=src_useOktaCallbackMutation(),_useOktaCallbackMutat2=src_slicedToArray_slicedToArray(_useOktaCallbackMutat,1),oktaCallback=_useOktaCallbackMutat2[0],checkCode=function(){code&&state&&oktaCallback({code:code,state:state}).unwrap().then(function(_ref){var token=_ref.creds.token;dispatch(src_setAuthData({token:token})),navigate("/")}).catch(function(){setIsInvalidCode(!0)})};return (0,src_react.useEffect)(function(){code&&state?checkCode():setIsInvalidCode(!0)},[]),isInvalidCode?/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement(src_AuthErrorMessage,{title:t("auth.authorization_failed")},/*#__PURE__*/src_react.createElement(src_NavigateLink_NavigateLink,{href:src_routes_ROUTES.BASE},t("auth.try_again")))):/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement(src_Loading,null),";")};
127307
+ ;// ./src/App/Login/LoginByGoogleCallback/index.tsx
127308
+ var src_LoginByGoogleCallback=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useSearchParams=src_dist_useSearchParams(),_useSearchParams2=src_slicedToArray_slicedToArray(_useSearchParams,1),searchParams=_useSearchParams2[0],navigate=src_dist_useNavigate(),code=searchParams.get("code"),state=searchParams.get("state"),_useState=(0,src_react.useState)(!1),_useState2=src_slicedToArray_slicedToArray(_useState,2),isInvalidCode=_useState2[0],setIsInvalidCode=_useState2[1],dispatch=src_hooks_useAppDispatch(),_useGoogleCallbackMut=src_useGoogleCallbackMutation(),_useGoogleCallbackMut2=src_slicedToArray_slicedToArray(_useGoogleCallbackMut,1),googleCallback=_useGoogleCallbackMut2[0],checkCode=function(){code&&state&&googleCallback({code:code,state:state}).unwrap().then(function(_ref){var token=_ref.creds.token;dispatch(src_setAuthData({token:token})),navigate("/")}).catch(function(){setIsInvalidCode(!0)})};return (0,src_react.useEffect)(function(){code&&state?checkCode():setIsInvalidCode(!0)},[]),isInvalidCode?/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement(src_AuthErrorMessage,{title:t("auth.authorization_failed")},/*#__PURE__*/src_react.createElement(src_NavigateLink_NavigateLink,{href:src_routes_ROUTES.BASE},t("auth.try_again")))):/*#__PURE__*/src_react.createElement(src_UnauthorizedLayout_UnauthorizedLayout,null,/*#__PURE__*/src_react.createElement(src_Loading,null),";")};
127261
127309
  ;// ./src/App/Login/TokenLogin/styles.module.scss
127262
127310
  // extracted by mini-css-extract-plugin
127263
127311
  /* harmony default export */ const src_TokenLogin_styles_module = ({"form":"uQjy_"});
@@ -135899,7 +135947,7 @@ function src_Volumes_List_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnProp
135899
135947
 
135900
135948
  ;// ./src/router.tsx
135901
135949
  var src_router_router=src_createBrowserRouter([{path:"/",element:/*#__PURE__*/src_react.createElement(src_src_App,null),errorElement:/*#__PURE__*/src_react.createElement(src_AuthErrorMessage,{title:"Not Found",text:"Page not found"}),children:[// auth
135902
- {path:src_routes_ROUTES.AUTH.GITHUB_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByGithubCallback,null)},{path:src_routes_ROUTES.AUTH.OKTA_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByOktaCallback,null)},{path:src_routes_ROUTES.AUTH.ENTRA_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByEntraIDCallback,null)},{path:src_routes_ROUTES.AUTH.TOKEN,element:/*#__PURE__*/src_react.createElement(src_TokenLogin,null)},// hubs
135950
+ {path:src_routes_ROUTES.AUTH.GITHUB_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByGithubCallback,null)},{path:src_routes_ROUTES.AUTH.OKTA_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByOktaCallback,null)},{path:src_routes_ROUTES.AUTH.ENTRA_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByEntraIDCallback,null)},{path:src_routes_ROUTES.AUTH.GOOGLE_CALLBACK,element:/*#__PURE__*/src_react.createElement(src_LoginByGoogleCallback,null)},{path:src_routes_ROUTES.AUTH.TOKEN,element:/*#__PURE__*/src_react.createElement(src_TokenLogin,null)},// hubs
135903
135951
  {path:src_routes_ROUTES.BASE,element:/*#__PURE__*/src_react.createElement(src_Navigate,{replace:!0,to:src_routes_ROUTES.RUNS.LIST})},{path:src_routes_ROUTES.PROJECT.LIST,element:/*#__PURE__*/src_react.createElement(src_ProjectList,null)},{path:src_routes_ROUTES.PROJECT.DETAILS.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_ProjectDetails,null),children:[{index:!0,element:/*#__PURE__*/src_react.createElement(src_ProjectSettings,null)},{path:src_routes_ROUTES.PROJECT.BACKEND.ADD.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_BackendAdd,null)},{path:src_routes_ROUTES.PROJECT.BACKEND.EDIT.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_BackendEdit,null)},{path:src_routes_ROUTES.PROJECT.GATEWAY.ADD.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_AddGateway,null)},{path:src_routes_ROUTES.PROJECT.GATEWAY.EDIT.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_EditGateway,null)}]},{path:src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_RunDetailsPage,null),children:[{index:!0,element:/*#__PURE__*/src_react.createElement(src_RunDetails,null)},{path:src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.METRICS.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_JobMetrics,null)}]},{path:src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_JobDetailsPage,null),children:[{index:!0,element:/*#__PURE__*/src_react.createElement(src_JobDetails,null)},{path:src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.METRICS.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_JobMetrics,null)}]},{path:src_routes_ROUTES.PROJECT.ADD,element:/*#__PURE__*/src_react.createElement(src_ProjectAdd,null)},// Runs
135904
135952
  {path:src_routes_ROUTES.RUNS.LIST,element:/*#__PURE__*/src_react.createElement(src_RunList,null)},// Models
135905
135953
  {path:src_routes_ROUTES.MODELS.LIST,element:/*#__PURE__*/src_react.createElement(src_List_List,null)},{path:src_routes_ROUTES.MODELS.DETAILS.TEMPLATE,element:/*#__PURE__*/src_react.createElement(src_ModelDetails,null)},// Fleets
@@ -138109,7 +138157,7 @@ const src_i18next_loadLanguages = src_instance.loadLanguages;
138109
138157
 
138110
138158
 
138111
138159
  ;// ./src/locale/en.json
138112
- const src_en_namespaceObject = /*#__PURE__*/JSON.parse('{"dstack":"Dstack","common":{"loading":"Loading","add":"Add","yes":"Yes","no":"No","create":"Create {{text}}","edit":"Edit","delete":"Delete","remove":"Remove","apply":"Apply","settings":"Settings","match_count_with_value_one":"{{count}} match","match_count_with_value_other":"{{count}} matches","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","sign_out":"Sign out","cancel":"Cancel","save":"Save","send":"Send","profile":"Profile","copied":"Copied","copy":"Copy","info":"Info","stop":"Stop","abort":"Abort","close":"Close","clearFilter":"Clear filter","server_error":"Server error: {{error}}","login":"Sign in","login_github":"Sign in with GitHub","login_okta":"Sign in with Okta","login_entra":"Sign in with EntraID","general":"General","test":"Test","local_storage_unavailable":"Local Storage is unavailable","local_storage_unavailable_message":"Your browser doesn\'t support local storage","object":"Object","objects_other":"Objects","continue":"Continue","select_visible_columns":"Select visible columns","tutorial":"Tutorials","tutorial_other":"Tour","docs":"Docs","discord":"Discord","danger_zone":"Danger Zone","control_plane":"Control plane","refresh":"Refresh","quickstart":"Quickstart"},"auth":{"invalid_token":"Invalid token","you_are_not_logged_in":"You are not logged in","contact_to_administrator":"For getting the authorization token, contact to the administrator","sign_in_to_dstack":"Welcome to dstack Sky","sign_in_to_dstack_enterprise":"Welcome to dstack","authorization_failed":"Authorization is failed","try_again":"Please try again","login_by_token":"Sign in via a token","another_login_methods":"Other sign in options"},"navigation":{"settings":"Settings","runs":"Runs","models":"Models","fleets":"Fleets","project":"Project","project_other":"Projects","general":"General","users":"Users","user_settings":"User settings","account":"User","billing":"Billing","resources":"Resources","volumes":"Volumes","instances":"Instances"},"backend":{"page_title_one":"Backend","page_title_other":"Backends","add_backend":"Add backend","edit_backend":"Edit backend","empty_message_title":"No backends","empty_message_text":"No backends to display.","type":{"aws":"AWS","aws_description":"Run workflows and store data in Amazon Web Services ","gcp":"GCP","gcp_description":"Run workflows and store data in Google Cloud Platform","azure":"Azure","azure_description":"Run workflows and store data in Microsoft Azure","lambda":"Lambda","lambda_description":"Run workflows and store data in Lambda","local":"Local","local_description":"Run workflows and store data locally via Docker"},"table":{"region":"Region","bucket":"Storage"},"edit":{"success_notification":"Project updating is successful","delete_backend_confirm_title":"Delete backend","delete_backend_confirm_message":"Are you sure you want to delete this backend?","delete_backends_confirm_title":"Delete backends","delete_backends_confirm_message":"Are you sure you want to delete these backends?"},"create":{"success_notification":"Backend is created"}},"gateway":{"page_title_one":"Gateway","page_title_other":"Gateways","add_gateway":"Add gateway","edit_gateway":"Edit gateway","empty_message_title":"No gateways","empty_message_text":"No gateways to display.","edit":{"backend":"Backend","backend_description":"Select a backend","region":"Region","region_description":"Select a region","default":"Default","default_checkbox":"Turn on default","external_ip":"External IP","wildcard_domain":"Wildcard domain","wildcard_domain_description":"Specify the wildcard domain mapped to the external IP.","wildcard_domain_placeholder":"*.mydomain.com","delete_gateway_confirm_title":"Delete gateway","delete_gateway_confirm_message":"Are you sure you want to delete this gateway?","delete_gateways_confirm_title":"Delete gateways","delete_gateways_confirm_message":"Are you sure you want to delete these gateways?","validation":{"wildcard_domain_format":"Should use next format: {{pattern}}"}},"create":{"success_notification":"Gateway is created","creating_notification":"The gateway is creating. It may take some time"},"update":{"success_notification":"Gateway is updated"},"test_domain":{"success_notification":"Domain is valid"}},"projects":{"page_title":"Projects","search_placeholder":"Find projects","empty_message_title":"No projects","empty_message_text":"No projects to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","nomatch_message_button_label":"Clear filter","repositories":"Repositories","runs":"Runs","tags":"Tags","settings":"Settings","join":"Join","leave_confirm_title":"Leave project","leave_confirm_message":"Are you sure you want to leave this project?","leave":"Leave","join_success":"Successfully joined the project","leave_success":"Successfully left the project","join_error":"Failed to join project","leave_error":"Failed to leave project","card":{"backend":"Backend","settings":"Settings"},"edit":{"general":"General","project_name":"Project name","owner":"Owner","project_name_description":"Only latin characters, dashes, underscores, and digits","is_public":"Make project public","is_public_description":"Public projects can be accessed by any user without being a member","backend":"Backend","backend_config":"Backend config","backend_config_description":"Specify the backend config in the YAML format. Click Info for examples.","backend_type":"Type","backend_type_description":"Select a backend type","members_empty_message_title":"No members","members_empty_message_text":"Select project\'s members","update_members_success":"Members are updated","update_visibility_success":"Project visibility updated successfully","update_visibility_confirm_title":"Change project visibility","update_visibility_confirm_message":"Are you sure you want to change the project visibility? This will affect who can access this project.","change_visibility":"Change visibility","project_visibility":"Project visibility","project_visibility_description":"Control who can access this project","make_project_public":"Make project public","delete_project_confirm_title":"Delete project","delete_project_confirm_message":"Are you sure you want to delete this project?","delete_projects_confirm_title":"Delete projects","delete_projects_confirm_message":"Are you sure you want to delete these projects?","delete_this_project":"Delete this project","cli":"CLI","aws":{"authorization":"Authorization","authorization_default":"Default credentials","authorization_access_key":"Access key","access_key":"Access key","access_key_id":"Access key ID","access_key_id_description":"Specify the AWS access key ID","secret_key":"Secret key","secret_key_id":"Secret access key","secret_key_id_description":"Specify the AWS secret access key","regions":"Regions","regions_description":"Select regions to run workflows and store artifacts","regions_placeholder":"Select regions","s3_bucket_name":"Bucket","s3_bucket_name_description":"Select an S3 bucket to store artifacts","ec2_subnet_id":"Subnet","ec2_subnet_id_description":"Select a subnet to run workflows in","ec2_subnet_id_placeholder":"Not selected","vpc_name":"VPC","vpc_name_description":"Enter a vpc"},"azure":{"authorization":"Authorization","authorization_default":"Default credentials","authorization_client":"Client secret","tenant_id":"Tenant ID","tenant_id_description":"Specify an Azure tenant ID","tenant_id_placeholder":"Not selected","client_id":"Client ID","client_id_description":"Specify an Azure client (application) ID","client_secret":"Client secret","client_secret_description":"Specify an Azure client (application) secret","subscription_id":"Subscription ID","subscription_id_description":"Select an Azure subscription ID","subscription_id_placeholder":"Not selected","locations":"Locations","locations_description":"Select locations to run workflows","locations_placeholder":"Select locations","storage_account":"Storage account","storage_account_description":"Select an Azure storage account to store artifacts","storage_account_placeholder":"Not selected"},"gcp":{"authorization":"Authorization","authorization_default":"Default credentials","service_account":"Service account key","credentials_description":"Credentials description","credentials_placeholder":"Credentials placeholder","regions":"Regions","regions_description":"Select regions to run workflows and store artifacts","regions_placeholder":"Select regions","project_id":"Project Id","project_id_description":"Select a project id","project_id_placeholder":"Select a project Id"},"lambda":{"api_key":"API key","api_key_description":"Specify the Lambda API key","regions":"Regions","regions_description":"Select regions to run workflows","regions_placeholder":"Select regions","storage_backend":{"type":"Storage","type_description":"Select backend storage","type_placeholder":"Select type","credentials":{"access_key_id":"Access key ID","access_key_id_description":"Specify the AWS access key ID","secret_key_id":"Secret access key","secret_key_id_description":"Specify the AWS secret access key"},"s3_bucket_name":"Bucket","s3_bucket_name_description":"Select an S3 bucket to store artifacts"}},"local":{"path":"Files path"},"members":{"section_title":"Members","name":"User name","role":"Project role"},"error_notification":"Update project error","validation":{"user_name_format":"Only letters, numbers, - or _"},"visibility":{"private":"Private","public":"Public"}},"create":{"page_title":"Create project","error_notification":"Create project error","success_notification":"Project is created"},"repo":{"search_placeholder":"Find repositories","empty_message_title":"No repositories","empty_message_text":"No repositories to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","card":{"owner":"Owner","last_run":"Last run","tags_count":"Tags count","directory":"Directory"},"secrets":{"table_title":"Secrets","add_modal_title":"Add secret","update_modal_title":"Update secret","name":"Secret name","name_description":"Secret name","value":"Secret value","value_description":"Secret value","search_placeholder":"Find secrets","empty_message_title":"No secrets","empty_message_text":"No secrets to display."}},"run":{"list_page_title":"Runs","search_placeholder":"Find runs","empty_message_title":"No runs","empty_message_text":"No runs to display.","quickstart_message_text":"Check out the quickstart guide to get started with dstack","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match. Try to change project or clear filter","filter_property_placeholder":"Filter runs by properties","project":"Project","project_placeholder":"Filtering by project","repo":"Repository","repo_placeholder":"Filtering by repository","user":"User","user_placeholder":"Filtering by user","active_only":"Active runs","log":"Logs","log_empty_message_title":"No logs","log_empty_message_text":"No logs to display.","run_name":"Name","workflow_name":"Workflow","configuration":"Configuration","instance":"Instance","priority":"Priority","provider_name":"Provider","status":"Status","submitted_at":"Submitted","finished_at":"Finished","metrics":{"title":"Metrics","show_metrics":"Show metrics","cpu_utilization":"CPU utilization %","memory_used":"System memory used","per_each_cpu_utilization":"GPU utilization %","per_each_memory_used":"GPU memory used"},"jobs":"Jobs","job_name":"Job Name","cost":"Cost","backend":"Backend","region":"Region","instance_id":"Instance ID","resources":"Resources","spot":"Spot","termination_reason":"Termination reason","price":"Price","error":"Error","artifacts":"Artifacts","artifacts_count":"Artifacts","hub_user_name":"User","service_url":"Service URL","statuses":{"pending":"Pending","submitted":"Submitted","provisioning":"Provisioning","pulling":"Pulling","downloading":"Downloading","running":"Running","uploading":"Uploading","stopping":"Stopping","stopped":"Stopped","terminating":"Terminating","terminated":"Terminated","aborting":"Aborting","aborted":"Aborted","failed":"Failed","done":"Done","building":"Building"}},"tag":{"list_page_title":"Artifacts","search_placeholder":"Find tags","empty_message_title":"No tags","empty_message_text":"No tags to display.","tag_name":"Tag","run_name":"Run","artifacts":"Files"},"artifact":{"list_page_title":"Artifacts","search_placeholder":"Find objects","empty_message_title":"No objects","empty_message_text":"No objects to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","name":"Name","type":"Type","size":"Size"}},"models":{"model_name":"Name","url":"URL","gateway":"Gateway","type":"Type","run":"Run","resources":"Resources","price":"Price","submitted_at":"Submitted","user":"User","repository":"Repository","backend":"Backend","code":"Code","empty_message_title":"No models","empty_message_text":"No models to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","nomatch_message_button_label":"Clear filter","details":{"instructions":"System","instructions_description":"Specify system","message_placeholder":"Enter your question","chat_empty_title":"No messages yet","chat_empty_message":"Please start a chat","run_name":"Run name","view_code":"View code","view_code_description":"You can use the following code to start integrating your current prompt and settings into your application."}},"fleets":{"fleet":"Fleet","fleet_placeholder":"Filtering by fleet","fleet_name":"Fleet name","total_instances":"Number of instances","empty_message_title":"No fleets","empty_message_text":"No fleets to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","nomatch_message_button_label":"Clear filter","active_only":"Active fleets","filter_property_placeholder":"Filter fleets by properties","statuses":{"active":"Active","submitted":"Submitted","failed":"Failed","terminating":"Terminating","terminated":"Terminated"},"instances":{"active_only":"Active instances","filter_property_placeholder":"Filter instances by properties","title":"Instances","empty_message_title":"No instances","empty_message_text":"No instances to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","instance_name":"Instance","instance_num":"Instance num","created":"Created","status":"Status","project":"Project","hostname":"Host name","instance_type":"Type","statuses":{"pending":"Pending","provisioning":"Provisioning","idle":"Idle","busy":"Busy","terminating":"Terminating","terminated":"Terminated"},"resources":"Resources","backend":"Backend","region":"Region","spot":"Spot","started":"Started","price":"Price"}},"volume":{"volumes":"Volumes","empty_message_title":"No volumes","empty_message_text":"No volumes to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","delete_volumes_confirm_title":"Delete volumes","delete_volumes_confirm_message":"Are you sure you want to delete these volumes?","active_only":"Active volumes","filter_property_placeholder":"Filter volumes by properties","name":"Name","project":"Project name","region":"Region","backend":"Backend","status":"Status","created":"Created","finished":"Finished","price":"Price (per month)","cost":"Cost","statuses":{"failed":"Failed","submitted":"Submitted","provisioning":"Provisioning","active":"Active","deleted":"Deleted"}},"users":{"page_title":"Users","search_placeholder":"Find members","empty_message_title":"No members","empty_message_text":"No members to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","user_name":"User name","user_name_description":"Only latin characters, dashes, underscores, and digits","global_role_description":"Whether the user is an administrator or not","email_description":"Enter user email","token":"Token","token_description":"Specify use your personal access token","global_role":"Global role","active":"Active","active_description":"Specify user activation","activated":"Activated","deactivated":"Deactivated","email":"Email","created_at":"Created at","account":"User","account_settings":"User settings","settings":"Settings","projects":"Projects","create":{"page_title":"Create user","error_notification":"Create user error","success_notification":"User is created"},"edit":{"error_notification":"Update user error","success_notification":"User updating is successful","refresh_token_success_notification":"Token rotating is successful","refresh_token_error_notification":"Token rotating error","refresh_token_confirm_title":"Rotate token","refresh_token_confirm_message":"Are you sure you want to rotate token?","refresh_token_button_label":"Rotate","validation":{"user_name_format":"Only letters, numbers, - or _","email_format":"Incorrect email"}},"manual_payments":{"title":"Credits history","add_payment":"Add payment","empty_message_title":"No payments","empty_message_text":"No payments to display.","create":{"success_notification":"Payment creating is successful"},"edit":{"value":"Amount","value_description":"Enter amount here","description":"Description","description_description":"Describe payment here","created_at":"Created at"}},"token_copied":"Token copied"},"billing":{"title":"Billing","balance":"Balance","billing_history":"Billing history","payment_method":"Payment method","no_payment_method":"No payment method attached","top_up_balance":"Top up balance","edit_payment_method":"Edit payment method","payment_amount":"Payment amount","amount_description":"Minimum: ${{value}}","make_payment":"Make a payment","min_amount_error_message":"The amount is allowed to be more than {{value}}","payment_success_message":"Payment succeeded. There can be a short delay before the balance is updated."},"validation":{"required":"This is required field"},"users_autosuggest":{"placeholder":"Enter username or email to add member","entered_text":"Add member","loading":"Loading users","no_match":"No matches found"},"roles":{"admin":"Admin","manager":"Manager","user":"User"},"confirm_dialog":{"title":"Confirm delete","message":"Are you sure you want to delete?"}}');
138160
+ const src_en_namespaceObject = /*#__PURE__*/JSON.parse('{"dstack":"Dstack","common":{"loading":"Loading","add":"Add","yes":"Yes","no":"No","create":"Create {{text}}","edit":"Edit","delete":"Delete","remove":"Remove","apply":"Apply","settings":"Settings","match_count_with_value_one":"{{count}} match","match_count_with_value_other":"{{count}} matches","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","sign_out":"Sign out","cancel":"Cancel","save":"Save","send":"Send","profile":"Profile","copied":"Copied","copy":"Copy","info":"Info","stop":"Stop","abort":"Abort","close":"Close","clearFilter":"Clear filter","server_error":"Server error: {{error}}","login":"Sign in","login_github":"Sign in with GitHub","login_okta":"Sign in with Okta","login_entra":"Sign in with EntraID","login_google":"Sign in with Google","general":"General","test":"Test","local_storage_unavailable":"Local Storage is unavailable","local_storage_unavailable_message":"Your browser doesn\'t support local storage","object":"Object","objects_other":"Objects","continue":"Continue","select_visible_columns":"Select visible columns","tutorial":"Tutorials","tutorial_other":"Tour","docs":"Docs","discord":"Discord","danger_zone":"Danger Zone","control_plane":"Control plane","refresh":"Refresh","quickstart":"Quickstart"},"auth":{"invalid_token":"Invalid token","you_are_not_logged_in":"You are not logged in","contact_to_administrator":"For getting the authorization token, contact to the administrator","sign_in_to_dstack":"Welcome to dstack Sky","sign_in_to_dstack_enterprise":"Welcome to dstack","authorization_failed":"Authorization is failed","try_again":"Please try again","login_by_token":"Sign in via a token","another_login_methods":"Other sign in options"},"navigation":{"settings":"Settings","runs":"Runs","models":"Models","fleets":"Fleets","project":"Project","project_other":"Projects","general":"General","users":"Users","user_settings":"User settings","account":"User","billing":"Billing","resources":"Resources","volumes":"Volumes","instances":"Instances"},"backend":{"page_title_one":"Backend","page_title_other":"Backends","add_backend":"Add backend","edit_backend":"Edit backend","empty_message_title":"No backends","empty_message_text":"No backends to display.","type":{"aws":"AWS","aws_description":"Run workflows and store data in Amazon Web Services ","gcp":"GCP","gcp_description":"Run workflows and store data in Google Cloud Platform","azure":"Azure","azure_description":"Run workflows and store data in Microsoft Azure","lambda":"Lambda","lambda_description":"Run workflows and store data in Lambda","local":"Local","local_description":"Run workflows and store data locally via Docker"},"table":{"region":"Region","bucket":"Storage"},"edit":{"success_notification":"Project updating is successful","delete_backend_confirm_title":"Delete backend","delete_backend_confirm_message":"Are you sure you want to delete this backend?","delete_backends_confirm_title":"Delete backends","delete_backends_confirm_message":"Are you sure you want to delete these backends?"},"create":{"success_notification":"Backend is created"}},"gateway":{"page_title_one":"Gateway","page_title_other":"Gateways","add_gateway":"Add gateway","edit_gateway":"Edit gateway","empty_message_title":"No gateways","empty_message_text":"No gateways to display.","edit":{"backend":"Backend","backend_description":"Select a backend","region":"Region","region_description":"Select a region","default":"Default","default_checkbox":"Turn on default","external_ip":"External IP","wildcard_domain":"Wildcard domain","wildcard_domain_description":"Specify the wildcard domain mapped to the external IP.","wildcard_domain_placeholder":"*.mydomain.com","delete_gateway_confirm_title":"Delete gateway","delete_gateway_confirm_message":"Are you sure you want to delete this gateway?","delete_gateways_confirm_title":"Delete gateways","delete_gateways_confirm_message":"Are you sure you want to delete these gateways?","validation":{"wildcard_domain_format":"Should use next format: {{pattern}}"}},"create":{"success_notification":"Gateway is created","creating_notification":"The gateway is creating. It may take some time"},"update":{"success_notification":"Gateway is updated"},"test_domain":{"success_notification":"Domain is valid"}},"projects":{"page_title":"Projects","search_placeholder":"Find projects","empty_message_title":"No projects","empty_message_text":"No projects to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","nomatch_message_button_label":"Clear filter","repositories":"Repositories","runs":"Runs","tags":"Tags","settings":"Settings","join":"Join","leave_confirm_title":"Leave project","leave_confirm_message":"Are you sure you want to leave this project?","leave":"Leave","join_success":"Successfully joined the project","leave_success":"Successfully left the project","join_error":"Failed to join project","leave_error":"Failed to leave project","card":{"backend":"Backend","settings":"Settings"},"edit":{"general":"General","project_name":"Project name","owner":"Owner","project_name_description":"Only latin characters, dashes, underscores, and digits","is_public":"Make project public","is_public_description":"Public projects can be accessed by any user without being a member","backend":"Backend","backend_config":"Backend config","backend_config_description":"Specify the backend config in the YAML format. Click Info for examples.","backend_type":"Type","backend_type_description":"Select a backend type","members_empty_message_title":"No members","members_empty_message_text":"Select project\'s members","update_members_success":"Members are updated","update_visibility_success":"Project visibility updated successfully","update_visibility_confirm_title":"Change project visibility","update_visibility_confirm_message":"Are you sure you want to change the project visibility? This will affect who can access this project.","change_visibility":"Change visibility","project_visibility":"Project visibility","project_visibility_description":"Control who can access this project","make_project_public":"Make project public","delete_project_confirm_title":"Delete project","delete_project_confirm_message":"Are you sure you want to delete this project?","delete_projects_confirm_title":"Delete projects","delete_projects_confirm_message":"Are you sure you want to delete these projects?","delete_this_project":"Delete this project","cli":"CLI","aws":{"authorization":"Authorization","authorization_default":"Default credentials","authorization_access_key":"Access key","access_key":"Access key","access_key_id":"Access key ID","access_key_id_description":"Specify the AWS access key ID","secret_key":"Secret key","secret_key_id":"Secret access key","secret_key_id_description":"Specify the AWS secret access key","regions":"Regions","regions_description":"Select regions to run workflows and store artifacts","regions_placeholder":"Select regions","s3_bucket_name":"Bucket","s3_bucket_name_description":"Select an S3 bucket to store artifacts","ec2_subnet_id":"Subnet","ec2_subnet_id_description":"Select a subnet to run workflows in","ec2_subnet_id_placeholder":"Not selected","vpc_name":"VPC","vpc_name_description":"Enter a vpc"},"azure":{"authorization":"Authorization","authorization_default":"Default credentials","authorization_client":"Client secret","tenant_id":"Tenant ID","tenant_id_description":"Specify an Azure tenant ID","tenant_id_placeholder":"Not selected","client_id":"Client ID","client_id_description":"Specify an Azure client (application) ID","client_secret":"Client secret","client_secret_description":"Specify an Azure client (application) secret","subscription_id":"Subscription ID","subscription_id_description":"Select an Azure subscription ID","subscription_id_placeholder":"Not selected","locations":"Locations","locations_description":"Select locations to run workflows","locations_placeholder":"Select locations","storage_account":"Storage account","storage_account_description":"Select an Azure storage account to store artifacts","storage_account_placeholder":"Not selected"},"gcp":{"authorization":"Authorization","authorization_default":"Default credentials","service_account":"Service account key","credentials_description":"Credentials description","credentials_placeholder":"Credentials placeholder","regions":"Regions","regions_description":"Select regions to run workflows and store artifacts","regions_placeholder":"Select regions","project_id":"Project Id","project_id_description":"Select a project id","project_id_placeholder":"Select a project Id"},"lambda":{"api_key":"API key","api_key_description":"Specify the Lambda API key","regions":"Regions","regions_description":"Select regions to run workflows","regions_placeholder":"Select regions","storage_backend":{"type":"Storage","type_description":"Select backend storage","type_placeholder":"Select type","credentials":{"access_key_id":"Access key ID","access_key_id_description":"Specify the AWS access key ID","secret_key_id":"Secret access key","secret_key_id_description":"Specify the AWS secret access key"},"s3_bucket_name":"Bucket","s3_bucket_name_description":"Select an S3 bucket to store artifacts"}},"local":{"path":"Files path"},"members":{"section_title":"Members","name":"User name","role":"Project role"},"error_notification":"Update project error","validation":{"user_name_format":"Only letters, numbers, - or _"},"visibility":{"private":"Private","public":"Public"}},"create":{"page_title":"Create project","error_notification":"Create project error","success_notification":"Project is created"},"repo":{"search_placeholder":"Find repositories","empty_message_title":"No repositories","empty_message_text":"No repositories to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","card":{"owner":"Owner","last_run":"Last run","tags_count":"Tags count","directory":"Directory"},"secrets":{"table_title":"Secrets","add_modal_title":"Add secret","update_modal_title":"Update secret","name":"Secret name","name_description":"Secret name","value":"Secret value","value_description":"Secret value","search_placeholder":"Find secrets","empty_message_title":"No secrets","empty_message_text":"No secrets to display."}},"run":{"list_page_title":"Runs","search_placeholder":"Find runs","empty_message_title":"No runs","empty_message_text":"No runs to display.","quickstart_message_text":"Check out the quickstart guide to get started with dstack","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match. Try to change project or clear filter","filter_property_placeholder":"Filter runs by properties","project":"Project","project_placeholder":"Filtering by project","repo":"Repository","repo_placeholder":"Filtering by repository","user":"User","user_placeholder":"Filtering by user","active_only":"Active runs","log":"Logs","log_empty_message_title":"No logs","log_empty_message_text":"No logs to display.","run_name":"Name","workflow_name":"Workflow","configuration":"Configuration","instance":"Instance","priority":"Priority","provider_name":"Provider","status":"Status","submitted_at":"Submitted","finished_at":"Finished","metrics":{"title":"Metrics","show_metrics":"Show metrics","cpu_utilization":"CPU utilization %","memory_used":"System memory used","per_each_cpu_utilization":"GPU utilization %","per_each_memory_used":"GPU memory used"},"jobs":"Jobs","job_name":"Job Name","cost":"Cost","backend":"Backend","region":"Region","instance_id":"Instance ID","resources":"Resources","spot":"Spot","termination_reason":"Termination reason","price":"Price","error":"Error","artifacts":"Artifacts","artifacts_count":"Artifacts","hub_user_name":"User","service_url":"Service URL","statuses":{"pending":"Pending","submitted":"Submitted","provisioning":"Provisioning","pulling":"Pulling","downloading":"Downloading","running":"Running","uploading":"Uploading","stopping":"Stopping","stopped":"Stopped","terminating":"Terminating","terminated":"Terminated","aborting":"Aborting","aborted":"Aborted","failed":"Failed","done":"Done","building":"Building"}},"tag":{"list_page_title":"Artifacts","search_placeholder":"Find tags","empty_message_title":"No tags","empty_message_text":"No tags to display.","tag_name":"Tag","run_name":"Run","artifacts":"Files"},"artifact":{"list_page_title":"Artifacts","search_placeholder":"Find objects","empty_message_title":"No objects","empty_message_text":"No objects to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","name":"Name","type":"Type","size":"Size"}},"models":{"model_name":"Name","url":"URL","gateway":"Gateway","type":"Type","run":"Run","resources":"Resources","price":"Price","submitted_at":"Submitted","user":"User","repository":"Repository","backend":"Backend","code":"Code","empty_message_title":"No models","empty_message_text":"No models to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","nomatch_message_button_label":"Clear filter","details":{"instructions":"System","instructions_description":"Specify system","message_placeholder":"Enter your question","chat_empty_title":"No messages yet","chat_empty_message":"Please start a chat","run_name":"Run name","view_code":"View code","view_code_description":"You can use the following code to start integrating your current prompt and settings into your application."}},"fleets":{"fleet":"Fleet","fleet_placeholder":"Filtering by fleet","fleet_name":"Fleet name","total_instances":"Number of instances","empty_message_title":"No fleets","empty_message_text":"No fleets to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","nomatch_message_button_label":"Clear filter","active_only":"Active fleets","filter_property_placeholder":"Filter fleets by properties","statuses":{"active":"Active","submitted":"Submitted","failed":"Failed","terminating":"Terminating","terminated":"Terminated"},"instances":{"active_only":"Active instances","filter_property_placeholder":"Filter instances by properties","title":"Instances","empty_message_title":"No instances","empty_message_text":"No instances to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","instance_name":"Instance","instance_num":"Instance num","created":"Created","status":"Status","project":"Project","hostname":"Host name","instance_type":"Type","statuses":{"pending":"Pending","provisioning":"Provisioning","idle":"Idle","busy":"Busy","terminating":"Terminating","terminated":"Terminated"},"resources":"Resources","backend":"Backend","region":"Region","spot":"Spot","started":"Started","price":"Price"}},"volume":{"volumes":"Volumes","empty_message_title":"No volumes","empty_message_text":"No volumes to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","delete_volumes_confirm_title":"Delete volumes","delete_volumes_confirm_message":"Are you sure you want to delete these volumes?","active_only":"Active volumes","filter_property_placeholder":"Filter volumes by properties","name":"Name","project":"Project name","region":"Region","backend":"Backend","status":"Status","created":"Created","finished":"Finished","price":"Price (per month)","cost":"Cost","statuses":{"failed":"Failed","submitted":"Submitted","provisioning":"Provisioning","active":"Active","deleted":"Deleted"}},"users":{"page_title":"Users","search_placeholder":"Find members","empty_message_title":"No members","empty_message_text":"No members to display.","nomatch_message_title":"No matches","nomatch_message_text":"We can\'t find a match.","user_name":"User name","user_name_description":"Only latin characters, dashes, underscores, and digits","global_role_description":"Whether the user is an administrator or not","email_description":"Enter user email","token":"Token","token_description":"Specify use your personal access token","global_role":"Global role","active":"Active","active_description":"Specify user activation","activated":"Activated","deactivated":"Deactivated","email":"Email","created_at":"Created at","account":"User","account_settings":"User settings","settings":"Settings","projects":"Projects","create":{"page_title":"Create user","error_notification":"Create user error","success_notification":"User is created"},"edit":{"error_notification":"Update user error","success_notification":"User updating is successful","refresh_token_success_notification":"Token rotating is successful","refresh_token_error_notification":"Token rotating error","refresh_token_confirm_title":"Rotate token","refresh_token_confirm_message":"Are you sure you want to rotate token?","refresh_token_button_label":"Rotate","validation":{"user_name_format":"Only letters, numbers, - or _","email_format":"Incorrect email"}},"manual_payments":{"title":"Credits history","add_payment":"Add payment","empty_message_title":"No payments","empty_message_text":"No payments to display.","create":{"success_notification":"Payment creating is successful"},"edit":{"value":"Amount","value_description":"Enter amount here","description":"Description","description_description":"Describe payment here","created_at":"Created at"}},"token_copied":"Token copied"},"billing":{"title":"Billing","balance":"Balance","billing_history":"Billing history","payment_method":"Payment method","no_payment_method":"No payment method attached","top_up_balance":"Top up balance","edit_payment_method":"Edit payment method","payment_amount":"Payment amount","amount_description":"Minimum: ${{value}}","make_payment":"Make a payment","min_amount_error_message":"The amount is allowed to be more than {{value}}","payment_success_message":"Payment succeeded. There can be a short delay before the balance is updated."},"validation":{"required":"This is required field"},"users_autosuggest":{"placeholder":"Enter username or email to add member","entered_text":"Add member","loading":"Loading users","no_match":"No matches found"},"roles":{"admin":"Admin","manager":"Manager","user":"User"},"confirm_dialog":{"title":"Confirm delete","message":"Are you sure you want to delete?"}}');
138113
138161
  ;// ./src/locale/index.ts
138114
138162
  src_instance.use(src_initReactI18next).init({returnNull:!1,resources:{en:{translation:src_en_namespaceObject}},fallbackLng:"en",interpolation:{escapeValue:!1}});
138115
138163
  ;// ./src/index.tsx
@@ -138118,4 +138166,4 @@ var src_container=document.getElementById("root"),src_src_theme={tokens:{fontFam
138118
138166
 
138119
138167
  /******/ })()
138120
138168
  ;
138121
- //# sourceMappingURL=main-a4eafa74304e587d037c.js.map
138169
+ //# sourceMappingURL=main-d151637af20f70b2e796.js.map