dstack 0.19.21__py3-none-any.whl → 0.19.23rc1__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 (71) hide show
  1. dstack/_internal/cli/commands/apply.py +8 -3
  2. dstack/_internal/cli/services/configurators/__init__.py +8 -0
  3. dstack/_internal/cli/services/configurators/fleet.py +1 -1
  4. dstack/_internal/cli/services/configurators/gateway.py +1 -1
  5. dstack/_internal/cli/services/configurators/run.py +11 -1
  6. dstack/_internal/cli/services/configurators/volume.py +1 -1
  7. dstack/_internal/cli/utils/common.py +48 -5
  8. dstack/_internal/cli/utils/fleet.py +5 -5
  9. dstack/_internal/cli/utils/run.py +32 -0
  10. dstack/_internal/core/backends/configurators.py +9 -0
  11. dstack/_internal/core/backends/hotaisle/__init__.py +1 -0
  12. dstack/_internal/core/backends/hotaisle/api_client.py +109 -0
  13. dstack/_internal/core/backends/hotaisle/backend.py +16 -0
  14. dstack/_internal/core/backends/hotaisle/compute.py +225 -0
  15. dstack/_internal/core/backends/hotaisle/configurator.py +60 -0
  16. dstack/_internal/core/backends/hotaisle/models.py +45 -0
  17. dstack/_internal/core/backends/lambdalabs/compute.py +2 -1
  18. dstack/_internal/core/backends/models.py +8 -0
  19. dstack/_internal/core/backends/nebius/compute.py +8 -2
  20. dstack/_internal/core/backends/nebius/fabrics.py +1 -0
  21. dstack/_internal/core/backends/nebius/resources.py +9 -0
  22. dstack/_internal/core/compatibility/runs.py +8 -0
  23. dstack/_internal/core/models/backends/base.py +2 -0
  24. dstack/_internal/core/models/configurations.py +139 -1
  25. dstack/_internal/core/models/health.py +28 -0
  26. dstack/_internal/core/models/instances.py +2 -0
  27. dstack/_internal/core/models/logs.py +2 -1
  28. dstack/_internal/core/models/runs.py +21 -1
  29. dstack/_internal/core/services/ssh/tunnel.py +7 -0
  30. dstack/_internal/server/app.py +4 -0
  31. dstack/_internal/server/background/__init__.py +4 -0
  32. dstack/_internal/server/background/tasks/process_instances.py +107 -56
  33. dstack/_internal/server/background/tasks/process_probes.py +164 -0
  34. dstack/_internal/server/background/tasks/process_running_jobs.py +13 -0
  35. dstack/_internal/server/background/tasks/process_runs.py +21 -14
  36. dstack/_internal/server/migrations/versions/25479f540245_add_probes.py +43 -0
  37. dstack/_internal/server/migrations/versions/728b1488b1b4_add_instance_health.py +50 -0
  38. dstack/_internal/server/models.py +41 -0
  39. dstack/_internal/server/routers/instances.py +33 -5
  40. dstack/_internal/server/schemas/health/dcgm.py +56 -0
  41. dstack/_internal/server/schemas/instances.py +32 -0
  42. dstack/_internal/server/schemas/runner.py +5 -0
  43. dstack/_internal/server/services/instances.py +103 -1
  44. dstack/_internal/server/services/jobs/__init__.py +8 -1
  45. dstack/_internal/server/services/jobs/configurators/base.py +26 -0
  46. dstack/_internal/server/services/logging.py +4 -2
  47. dstack/_internal/server/services/logs/aws.py +13 -1
  48. dstack/_internal/server/services/logs/gcp.py +16 -1
  49. dstack/_internal/server/services/probes.py +6 -0
  50. dstack/_internal/server/services/projects.py +16 -4
  51. dstack/_internal/server/services/runner/client.py +52 -20
  52. dstack/_internal/server/services/runner/ssh.py +4 -4
  53. dstack/_internal/server/services/runs.py +49 -13
  54. dstack/_internal/server/services/ssh.py +66 -0
  55. dstack/_internal/server/settings.py +13 -0
  56. dstack/_internal/server/statics/index.html +1 -1
  57. dstack/_internal/server/statics/{main-8f9ee218d3eb45989682.css → main-03e818b110e1d5705378.css} +1 -1
  58. dstack/_internal/server/statics/{main-39a767528976f8078166.js → main-cc067b7fd1a8f33f97da.js} +26 -15
  59. dstack/_internal/server/statics/{main-39a767528976f8078166.js.map → main-cc067b7fd1a8f33f97da.js.map} +1 -1
  60. dstack/_internal/server/testing/common.py +44 -0
  61. dstack/_internal/{core/backends/remote → server/utils}/provisioning.py +22 -17
  62. dstack/_internal/settings.py +3 -0
  63. dstack/_internal/utils/common.py +15 -0
  64. dstack/api/server/__init__.py +1 -1
  65. dstack/version.py +1 -1
  66. {dstack-0.19.21.dist-info → dstack-0.19.23rc1.dist-info}/METADATA +14 -14
  67. {dstack-0.19.21.dist-info → dstack-0.19.23rc1.dist-info}/RECORD +71 -58
  68. /dstack/_internal/{core/backends/remote → server/schemas/health}/__init__.py +0 -0
  69. {dstack-0.19.21.dist-info → dstack-0.19.23rc1.dist-info}/WHEEL +0 -0
  70. {dstack-0.19.21.dist-info → dstack-0.19.23rc1.dist-info}/entry_points.txt +0 -0
  71. {dstack-0.19.21.dist-info → dstack-0.19.23rc1.dist-info}/licenses/LICENSE.md +0 -0
@@ -73749,7 +73749,7 @@ var src_ResizeObserverController = (function () {
73749
73749
  ;// ./node_modules/@juggle/resize-observer/lib/ResizeObserver.js
73750
73750
 
73751
73751
 
73752
- var src_ResizeObserver = (function () {
73752
+ var src_ResizeObserver_ResizeObserver = (function () {
73753
73753
  function ResizeObserver(callback) {
73754
73754
  if (arguments.length === 0) {
73755
73755
  throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");
@@ -73878,7 +73878,7 @@ function src_useResizeObserver(elementRef, onObserve) {
73878
73878
  const element = typeof elementRef === 'function' ? elementRef() : elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
73879
73879
  if (element) {
73880
73880
  let connected = true;
73881
- const observer = new src_ResizeObserver(entries => {
73881
+ const observer = new src_ResizeObserver_ResizeObserver(entries => {
73882
73882
  // Prevent observe notifications on already unmounted component.
73883
73883
  if (connected) {
73884
73884
  stableOnObserve(src_convertResizeObserverEntry(entries[0]));
@@ -93148,7 +93148,7 @@ function src_useStickyScrollbar(scrollbarRef, scrollbarContentRef, tableRef, wra
93148
93148
  // Update scrollbar position wrapper or table size change.
93149
93149
  (0,src_react.useEffect)(() => {
93150
93150
  if (wrapperRef.current && tableRef.current) {
93151
- const observer = new src_ResizeObserver(() => {
93151
+ const observer = new src_ResizeObserver_ResizeObserver(() => {
93152
93152
  if (scrollbarContentRef.current) {
93153
93153
  src_updatePosition(tableRef.current, wrapperRef.current, scrollbarRef.current, scrollbarContentRef.current, inScrollableContainer);
93154
93154
  }
@@ -123705,7 +123705,8 @@ LOGS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(pr
123705
123705
  ARTIFACTS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/artifacts/list")},// Fleets
123706
123706
  FLEETS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/fleets/list")},FLEETS_DETAILS:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/fleets/get")},FLEETS_DELETE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/fleets/delete")},FLEET_INSTANCES_DELETE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/fleets/delete_instances")},// Fleets
123707
123707
  VOLUMES_DELETE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/volumes/delete")},// METRICS
123708
- JOB_METRICS:function(projectName,runName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/metrics/job/").concat(runName)}},BACKENDS:{BASE:function(){return"".concat(src_API.BASE(),"/backends")},LIST_TYPES:function(){return"".concat(src_API.BACKENDS.BASE(),"/list_types")},CONFIG_VALUES:function(){return"".concat(src_API.BACKENDS.BASE(),"/config_values")}},PROJECT_BACKENDS:{BASE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/backends")},LIST:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/list")},CREATE:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/create")},UPDATE:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/update")},DELETE:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/delete")},BACKEND_CONFIG_INFO:function(projectName,backendName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/").concat(backendName,"/config_info")},CREATE_YAML:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/create_yaml")},UPDATE_YAML:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/update_yaml")},GET_YAML:function(projectName,backendName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/").concat(backendName,"/get_yaml")}},PROJECT_GATEWAYS:{BASE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/gateways")},LIST:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/list")},CREATE:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/create")},DELETE:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/delete")},DETAILS:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/get")},SET_DEFAULT:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/set_default")},SET_WILDCARD_DOMAIN:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/set_wildcard_domain")}// TEST_DOMAIN: (projectName: IProject['project_name'], instanceName: string) =>
123708
+ JOB_METRICS:function(projectName,runName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/metrics/job/").concat(runName)},// SECRETS
123709
+ SECRETS_LIST:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/secrets/list")},SECRET_GET:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/secrets/get")},SECRETS_UPDATE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/secrets/create_or_update")},SECRETS_DELETE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/secrets/delete")}},BACKENDS:{BASE:function(){return"".concat(src_API.BASE(),"/backends")},LIST_TYPES:function(){return"".concat(src_API.BACKENDS.BASE(),"/list_types")},CONFIG_VALUES:function(){return"".concat(src_API.BACKENDS.BASE(),"/config_values")}},PROJECT_BACKENDS:{BASE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/backends")},LIST:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/list")},CREATE:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/create")},UPDATE:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/update")},DELETE:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/delete")},BACKEND_CONFIG_INFO:function(projectName,backendName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/").concat(backendName,"/config_info")},CREATE_YAML:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/create_yaml")},UPDATE_YAML:function(projectName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/update_yaml")},GET_YAML:function(projectName,backendName){return"".concat(src_API.PROJECT_BACKENDS.BASE(projectName),"/").concat(backendName,"/get_yaml")}},PROJECT_GATEWAYS:{BASE:function(projectName){return"".concat(src_API.BASE(),"/project/").concat(projectName,"/gateways")},LIST:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/list")},CREATE:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/create")},DELETE:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/delete")},DETAILS:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/get")},SET_DEFAULT:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/set_default")},SET_WILDCARD_DOMAIN:function(projectName){return"".concat(src_API.PROJECT_GATEWAYS.BASE(projectName),"/set_wildcard_domain")}// TEST_DOMAIN: (projectName: IProject['project_name'], instanceName: string) =>
123709
123710
  // `${API.PROJECT_GATEWAYS.DETAILS(projectName, instanceName)}/test_domain`,
123710
123711
  },RUNS:{BASE:function(){return"".concat(src_API.BASE(),"/runs")},LIST:function(){return"".concat(src_API.RUNS.BASE(),"/list")}},FLEETS:{BASE:function(){return"".concat(src_API.BASE(),"/fleets")},LIST:function(){return"".concat(src_API.FLEETS.BASE(),"/list")}},INSTANCES:{BASE:function(){return"".concat(src_API.BASE(),"/instances")},LIST:function(){return"".concat(src_API.INSTANCES.BASE(),"/list")}},SERVER:{BASE:function(){return"".concat(src_API.BASE(),"/server")},INFO:function(){return"".concat(src_API.SERVER.BASE(),"/get_info")}},VOLUME:{BASE:function(){return"".concat(src_API.BASE(),"/volumes")},LIST:function(){return"".concat(src_API.VOLUME.BASE(),"/list")}}};
123711
123712
  ;// ./node_modules/reselect/es/defaultMemoize.js
@@ -135608,7 +135609,7 @@ var src_UsersAutosuggest_excluded=["optionsFilter","onSelect"];var src_UserAutos
135608
135609
  /* harmony default export */ const src_Members_styles_module = ({"role":"ECf2j","roleFieldWrapper":"cvhmo","deleteMemberButtonWrapper":"aeJmV"});
135609
135610
  ;// ./src/pages/Project/Members/index.tsx
135610
135611
  function src_Members_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function src_Members_objectSpread(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?src_Members_ownKeys(Object(t),!0).forEach(function(r){src_defineProperty_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):src_Members_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))});return e}//TODO move type to special file
135611
- var src_ProjectMembers=function(_ref){var members=_ref.members,loading=_ref.loading,onChange=_ref.onChange,readonly=_ref.readonly,isAdmin=_ref.isAdmin,project=_ref.project,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useState=(0,src_react.useState)([]),_useState2=src_slicedToArray_slicedToArray(_useState,2),selectedItems=_useState2[0],setSelectedItems=_useState2[1],_useGetUserListQuery=src_useGetUserListQuery(),usersData=_useGetUserListQuery.data,userData=src_hooks_useAppSelector(src_selectUserData),_useProjectMemberActi=src_useProjectMemberActions(),handleJoinProject=_useProjectMemberActi.handleJoinProject,handleLeaveProject=_useProjectMemberActi.handleLeaveProject,isMemberActionLoading=_useProjectMemberActi.isMemberActionLoading,_useForm=src_index_esm_useForm({defaultValues:{members:null!==members&&void 0!==members?members:[]}}),handleSubmit=_useForm.handleSubmit,control=_useForm.control,getValues=_useForm.getValues,setValue=_useForm.setValue,_useFieldArray=src_useFieldArray({control:control,name:"members"}),fields=_useFieldArray.fields,append=_useFieldArray.append,remove=_useFieldArray.remove,currentUserRole=(0,src_react.useMemo)(function(){if(!(null!==userData&&void 0!==userData&&userData.username))return null;var member=null===members||void 0===members?void 0:members.find(function(m){return m.user.username===userData.username});return(null===member||void 0===member?void 0:member.project_role)||null},[members,null===userData||void 0===userData?void 0:userData.username]);(0,src_react.useEffect)(function(){members&&setValue("members",members)},[members]);var onChangeHandler=function(){onChange(getValues("members"))},fieldsWithIndex=fields.map(function(field,index){return src_Members_objectSpread(src_Members_objectSpread({},field),{},{index:index})}),_useCollection=src_use_collection_useCollection(fieldsWithIndex,{filtering:{empty:/*#__PURE__*/src_react.createElement(src_ListEmptyMessage_ListEmptyMessage,{title:t("projects.edit.members_empty_message_title"),message:t("projects.edit.members_empty_message_text")})},pagination:{pageSize:10},selection:{}}),items=_useCollection.items,paginationProps=_useCollection.paginationProps,roleSelectOptions=[{label:t("roles.admin"),value:"admin",disabled:!isAdmin},{label:t("roles.manager"),value:"manager"},{label:t("roles.user"),value:"user"}],addMemberHandler=function(username){var selectedUser=null===usersData||void 0===usersData?void 0:usersData.find(function(u){return u.username===username});selectedUser?(append({user:selectedUser,project_role:"user"}),onChangeHandler()):onChange([].concat(src_toConsumableArray_toConsumableArray(getValues("members")),[{user:{username:username},project_role:"user"}]))},deleteSelectedMembers=function(){remove(selectedItems.map(function(_ref2){var index=_ref2.index;return index})),setSelectedItems([]),onChangeHandler()},COLUMN_DEFINITIONS=[{id:"name",header:t("projects.edit.members.name"),cell:function(item){return/*#__PURE__*/src_react.createElement(src_components_link,{target:"_blank",href:src_routes_ROUTES.USER.DETAILS.FORMAT(item.user.username)},item.user.username)}},{id:"global_role",header:t("projects.edit.members.role"),cell:function(field){var isAvailableForAdmin=!readonly&&(isAdmin||"admin"!==field.project_role);return/*#__PURE__*/src_react.createElement("div",{className:src_Members_styles_module.role},/*#__PURE__*/src_react.createElement("div",{className:src_Members_styles_module.roleFieldWrapper},/*#__PURE__*/src_react.createElement(src_FormSelect,{key:field.user.username,control:control,name:"members.".concat(field.index,".project_role"),options:roleSelectOptions,disabled:loading||!isAvailableForAdmin,expandToViewport:!0,onChange:onChangeHandler})),/*#__PURE__*/src_react.createElement("div",{className:src_Members_styles_module.deleteMemberButtonWrapper},isAvailableForAdmin&&/*#__PURE__*/src_react.createElement(src_Button_Button,{disabled:loading,formAction:"none",onClick:function(){remove(field.index),onChangeHandler()},variant:"icon",iconName:"remove"})))}}];return/*#__PURE__*/src_react.createElement("form",{onSubmit:handleSubmit(function(){})},/*#__PURE__*/src_react.createElement(src_table,{selectionType:"multi",selectedItems:selectedItems,onSelectionChange:function(event){return setSelectedItems(event.detail.selectedItems)},columnDefinitions:COLUMN_DEFINITIONS,items:items,header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2",counter:"(".concat(null===items||void 0===items?void 0:items.length,")"),actions:function(){var actions=[];// Add management actions only if not readonly
135612
+ var src_ProjectMembers=function(_ref){var members=_ref.members,loading=_ref.loading,onChange=_ref.onChange,readonly=_ref.readonly,isAdmin=_ref.isAdmin,project=_ref.project,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useState=(0,src_react.useState)([]),_useState2=src_slicedToArray_slicedToArray(_useState,2),selectedItems=_useState2[0],setSelectedItems=_useState2[1],_useGetUserListQuery=src_useGetUserListQuery(),usersData=_useGetUserListQuery.data,userData=src_hooks_useAppSelector(src_selectUserData),_useProjectMemberActi=src_useProjectMemberActions(),handleJoinProject=_useProjectMemberActi.handleJoinProject,handleLeaveProject=_useProjectMemberActi.handleLeaveProject,isMemberActionLoading=_useProjectMemberActi.isMemberActionLoading,_useNotifications=src_useNotifications_useNotifications(),_useNotifications2=src_slicedToArray_slicedToArray(_useNotifications,1),pushNotification=_useNotifications2[0],_useForm=src_index_esm_useForm({defaultValues:{members:null!==members&&void 0!==members?members:[]}}),handleSubmit=_useForm.handleSubmit,control=_useForm.control,getValues=_useForm.getValues,setValue=_useForm.setValue,_useFieldArray=src_useFieldArray({control:control,name:"members"}),fields=_useFieldArray.fields,append=_useFieldArray.append,remove=_useFieldArray.remove,currentUserRole=(0,src_react.useMemo)(function(){if(!(null!==userData&&void 0!==userData&&userData.username))return null;var member=null===members||void 0===members?void 0:members.find(function(m){return m.user.username===userData.username});return(null===member||void 0===member?void 0:member.project_role)||null},[members,null===userData||void 0===userData?void 0:userData.username]);(0,src_react.useEffect)(function(){members&&setValue("members",members)},[members]);var onChangeHandler=function(){onChange(getValues("members"))},fieldsWithIndex=fields.map(function(field,index){return src_Members_objectSpread(src_Members_objectSpread({},field),{},{index:index})}),_useCollection=src_use_collection_useCollection(fieldsWithIndex,{filtering:{empty:/*#__PURE__*/src_react.createElement(src_ListEmptyMessage_ListEmptyMessage,{title:t("projects.edit.members_empty_message_title"),message:t("projects.edit.members_empty_message_text")})},pagination:{pageSize:10},selection:{}}),items=_useCollection.items,paginationProps=_useCollection.paginationProps,roleSelectOptions=[{label:t("roles.admin"),value:"admin",disabled:!isAdmin},{label:t("roles.manager"),value:"manager"},{label:t("roles.user"),value:"user"}],addMemberHandler=function(username){var existingMembers=getValues("members"),isDuplicate=existingMembers.some(function(member){return member.user.username===username});if(isDuplicate)return void pushNotification({type:"error",content:"User \"".concat(username,"\" is already a member of this project")});var selectedUser=null===usersData||void 0===usersData?void 0:usersData.find(function(u){return u.username===username});selectedUser?(append({user:selectedUser,project_role:"user"}),onChangeHandler()):onChange([].concat(src_toConsumableArray_toConsumableArray(getValues("members")),[{user:{username:username},project_role:"user"}]))},deleteSelectedMembers=function(){remove(selectedItems.map(function(_ref2){var index=_ref2.index;return index})),setSelectedItems([]),onChangeHandler()},COLUMN_DEFINITIONS=[{id:"name",header:t("projects.edit.members.name"),cell:function(item){return/*#__PURE__*/src_react.createElement(src_components_link,{target:"_blank",href:src_routes_ROUTES.USER.DETAILS.FORMAT(item.user.username)},item.user.username)}},{id:"global_role",header:t("projects.edit.members.role"),cell:function(field){var isAvailableForAdmin=!readonly&&(isAdmin||"admin"!==field.project_role);return/*#__PURE__*/src_react.createElement("div",{className:src_Members_styles_module.role},/*#__PURE__*/src_react.createElement("div",{className:src_Members_styles_module.roleFieldWrapper},/*#__PURE__*/src_react.createElement(src_FormSelect,{key:field.user.username,control:control,name:"members.".concat(field.index,".project_role"),options:roleSelectOptions,disabled:loading||!isAvailableForAdmin,expandToViewport:!0,onChange:onChangeHandler})),/*#__PURE__*/src_react.createElement("div",{className:src_Members_styles_module.deleteMemberButtonWrapper},isAvailableForAdmin&&/*#__PURE__*/src_react.createElement(src_Button_Button,{disabled:loading,formAction:"none",onClick:function(){remove(field.index),onChangeHandler()},variant:"icon",iconName:"remove"})))}}];return/*#__PURE__*/src_react.createElement("form",{onSubmit:handleSubmit(function(){})},/*#__PURE__*/src_react.createElement(src_table,{selectionType:"multi",selectedItems:selectedItems,onSelectionChange:function(event){return setSelectedItems(event.detail.selectedItems)},columnDefinitions:COLUMN_DEFINITIONS,items:items,header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2",counter:"(".concat(null===items||void 0===items?void 0:items.length,")"),actions:function(){var actions=[];// Add management actions only if not readonly
135612
135613
  // Add join/leave button if user is authenticated (available even in readonly mode)
135613
135614
  if(readonly||actions.push(/*#__PURE__*/src_react.createElement(src_Button_Button,{key:"delete",formAction:"none",onClick:deleteSelectedMembers,disabled:!selectedItems.length},t("common.delete"))),null!==userData&&void 0!==userData&&userData.username&&project)if(!(null!==currentUserRole))actions.unshift(/*#__PURE__*/src_react.createElement(src_Button_Button,{key:"join",onClick:function(){return handleJoinProject(project.project_name,userData.username)},disabled:isMemberActionLoading,variant:"normal"},isMemberActionLoading?t("common.loading"):t("projects.join")));else{// Check if user is the last admin - if so, don't show leave button
135614
135615
  var adminCount=project.members.filter(function(member){return"admin"===member.project_role}).length;"admin"===currentUserRole&&1>=adminCount||actions.unshift(/*#__PURE__*/src_react.createElement(src_ButtonWithConfirmation,{key:"leave",onClick:function(){return handleLeaveProject(project.project_name,userData.username)},disabled:isMemberActionLoading,variant:"danger-normal",confirmTitle:t("projects.leave_confirm_title"),confirmContent:t("projects.leave_confirm_message"),confirmButtonLabel:t("projects.leave")},isMemberActionLoading?t("common.loading"):t("projects.leave")))}return 0<actions.length?/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"xs",direction:"horizontal"},actions):void 0}()},t("projects.edit.members.section_title")),filter:readonly?void 0:/*#__PURE__*/src_react.createElement(src_UserAutosuggest,{disabled:loading,onSelect:function(_ref3){var detail=_ref3.detail;return addMemberHandler(detail.value)},optionsFilter:function(options){return options.filter(function(o){return!fields.find(function(f){return f.user.username===o.value})})}}),pagination:/*#__PURE__*/src_react.createElement(src_pagination_Pagination,paginationProps)}))};
@@ -135660,6 +135661,15 @@ var src_Edit_FIELD_NAMES={WILDCARD_DOMAIN:"wildcard_domain",DEFAULT:"default"};v
135660
135661
  var src_useGatewaysTable=function(projectName){var navigate=src_dist_useNavigate(),_useGetProjectGateway=src_useGetProjectGatewaysQuery({projectName:projectName}),data=_useGetProjectGateway.data,isLoading=_useGetProjectGateway.isLoading,_useDeleteProjectGate=src_useDeleteProjectGatewayMutation(),_useDeleteProjectGate2=src_slicedToArray_slicedToArray(_useDeleteProjectGate,2),deleteGatewayRequest=_useDeleteProjectGate2[0],isDeleting=_useDeleteProjectGate2[1].isLoading;return{data:data,isLoading:isLoading,isDeleting:isDeleting,editGateway:function(gateway){navigate(src_routes_ROUTES.PROJECT.GATEWAY.EDIT.FORMAT(projectName,gateway.name))},deleteGateway:function(gateways){deleteGatewayRequest({projectName:projectName,names:gateways.map(function(gateway){return gateway.name})})},addGateway:function(){navigate(src_routes_ROUTES.PROJECT.GATEWAY.ADD.FORMAT(projectName))}}};
135661
135662
  ;// ./src/pages/Project/Gateways/hooks/index.ts
135662
135663
 
135664
+ ;// ./src/services/secrets.ts
135665
+ var src_secrets_excluded=["project_name"];var src_secretApi=src_rtk_query_react_esm_createApi({reducerPath:"secretApi",baseQuery:src_fetchBaseQuery({prepareHeaders:src_fetchBaseQueryHeaders}),tagTypes:["Secrets"],endpoints:function(builder){return{getAllSecrets:builder.query({query:function(_ref){var project_name=_ref.project_name;return{url:src_API.PROJECTS.SECRETS_LIST(project_name),method:"POST"}},providesTags:function(result){return result?[].concat(src_toConsumableArray_toConsumableArray(result.map(function(_ref2){var id=_ref2.id;return{type:"Secrets",id:id}})),["Secrets"]):["Secrets"]}}),getSecret:builder.query({query:function(_ref3){var project_name=_ref3.project_name,name=_ref3.name;return{url:src_API.PROJECTS.SECRET_GET(project_name),method:"POST",body:{name:name}}},providesTags:function(result){return result?[{type:"Secrets",id:result.id},"Secrets"]:["Secrets"]}}),updateSecret:builder.mutation({query:function(_ref4){var project_name=_ref4.project_name,body=src_objectWithoutProperties_objectWithoutProperties(_ref4,src_secrets_excluded);return{url:src_API.PROJECTS.SECRETS_UPDATE(project_name),method:"POST",body:body}},invalidatesTags:function(){return["Secrets"]}}),deleteSecrets:builder.mutation({query:function(_ref5){var project_name=_ref5.project_name,names=_ref5.names;return{url:src_API.PROJECTS.SECRETS_DELETE(project_name),method:"POST",body:{secrets_names:names}}},invalidatesTags:function(){return["Secrets"]}})}}});var src_useGetAllSecretsQuery=src_secretApi.useGetAllSecretsQuery,src_useGetSecretQuery=src_secretApi.useGetSecretQuery,src_useLazyGetSecretQuery=src_secretApi.useLazyGetSecretQuery,src_useUpdateSecretMutation=src_secretApi.useUpdateSecretMutation,src_useDeleteSecretsMutation=src_secretApi.useDeleteSecretsMutation;
135666
+ ;// ./src/pages/Project/Secrets/Form/index.tsx
135667
+ function src_Form_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function src_Form_objectSpread(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?src_Form_ownKeys(Object(t),!0).forEach(function(r){src_defineProperty_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):src_Form_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))});return e}var src_SecretForm=function(_ref){var initialValues=_ref.initialValues,onSubmitProp=_ref.onSubmit,loading=_ref.loading,onCancel=_ref.onCancel,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useForm=src_index_esm_useForm({defaultValues:src_Form_objectSpread({},initialValues)}),handleSubmit=_useForm.handleSubmit,control=_useForm.control;return/*#__PURE__*/src_react.createElement("form",{onSubmit:handleSubmit(function(values){return onSubmitProp(values)})},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{direction:"vertical",size:"l"},/*#__PURE__*/src_react.createElement(src_FormInput,{label:t("projects.edit.secrets.name"),control:control,name:"name",disabled:loading||!!(null!==initialValues&&void 0!==initialValues&&initialValues.id),rules:{required:t("validation.required"),pattern:{value:/^[A-Za-z0-9-_]{1,200}$/,message:t("projects.edit.secrets.validation.secret_name_format")}}}),/*#__PURE__*/src_react.createElement(src_FormTextarea,{rows:6,label:t("projects.edit.secrets.value"),control:control,name:"value",disabled:loading,rules:{required:t("validation.required")}}),/*#__PURE__*/src_react.createElement(src_box_Box,{float:"right"},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l",direction:"horizontal"},onCancel&&/*#__PURE__*/src_react.createElement(src_Button_Button,{formAction:"none",disabled:loading,onClick:onCancel},t("common.cancel")),/*#__PURE__*/src_react.createElement(src_Button_Button,{variant:"primary",formAction:"submit",loading:loading,disabled:loading},t("common.save"))))))};
135668
+ ;// ./src/pages/Project/Secrets/styles.module.scss
135669
+ // extracted by mini-css-extract-plugin
135670
+ /* harmony default export */ const src_Secrets_styles_module = ({"value":"CPyzR","valueFieldWrapper":"Zu_2_","buttonsWrapper":"XRcmd"});
135671
+ ;// ./src/pages/Project/Secrets/index.tsx
135672
+ var src_ProjectSecrets=function(_ref){var _project$project_name,project=_ref.project,loading=_ref.loading,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useState=(0,src_react.useState)(),_useState2=src_slicedToArray_slicedToArray(_useState,2),initialFormValues=_useState2[0],setInitialFormValues=_useState2[1],projectName=null!==(_project$project_name=null===project||void 0===project?void 0:project.project_name)&&void 0!==_project$project_name?_project$project_name:"",_useNotifications=src_useNotifications_useNotifications(),_useNotifications2=src_slicedToArray_slicedToArray(_useNotifications,1),pushNotification=_useNotifications2[0],_usePermissionGuard=src_usePermissionGuard({allowedProjectRoles:[src_ProjectUserRole.ADMIN],allowedGlobalRoles:[src_types_GlobalUserRole.ADMIN]}),_usePermissionGuard2=src_slicedToArray_slicedToArray(_usePermissionGuard,1),hasPermissionForSecretsManaging=_usePermissionGuard2[0],_useGetAllSecretsQuer=src_useGetAllSecretsQuery({project_name:projectName},{skip:!hasPermissionForSecretsManaging}),data=_useGetAllSecretsQuer.data,isLoading=_useGetAllSecretsQuer.isLoading,isFetching=_useGetAllSecretsQuer.isFetching,_useUpdateSecretMutat=src_useUpdateSecretMutation(),_useUpdateSecretMutat2=src_slicedToArray_slicedToArray(_useUpdateSecretMutat,2),updateSecret=_useUpdateSecretMutat2[0],isUpdating=_useUpdateSecretMutat2[1].isLoading,_useDeleteSecretsMuta=src_useDeleteSecretsMutation(),_useDeleteSecretsMuta2=src_slicedToArray_slicedToArray(_useDeleteSecretsMuta,2),deleteSecret=_useDeleteSecretsMuta2[0],isDeleting=_useDeleteSecretsMuta2[1].isLoading,_useLazyGetSecretQuer=src_useLazyGetSecretQuery(),_useLazyGetSecretQuer2=src_slicedToArray_slicedToArray(_useLazyGetSecretQuer,2),getSecret=_useLazyGetSecretQuer2[0],isGettingSecrets=_useLazyGetSecretQuer2[1].isLoading,_useCollection=src_use_collection_useCollection(null!==data&&void 0!==data?data:[],{filtering:{empty:hasPermissionForSecretsManaging?/*#__PURE__*/src_react.createElement(src_ListEmptyMessage_ListEmptyMessage,{title:t("projects.edit.secrets.empty_message_title"),message:t("projects.edit.secrets.empty_message_text")}):/*#__PURE__*/src_react.createElement(src_ListEmptyMessage_ListEmptyMessage,{title:t("projects.edit.secrets.not_permissions_title"),message:t("projects.edit.secrets.not_permissions_description")})},pagination:{pageSize:10},selection:{}}),items=_useCollection.items,paginationProps=_useCollection.paginationProps,collectionProps=_useCollection.collectionProps,selectedItems=collectionProps.selectedItems,deleteSelectedSecrets=function(){var names=null===selectedItems||void 0===selectedItems?void 0:selectedItems.map(function(s){var _s$name;return null!==(_s$name=s.name)&&void 0!==_s$name?_s$name:""});null!==names&&void 0!==names&&names.length&&deleteSecret({project_name:projectName,names:names})},removeSecretByName=function(name){deleteSecret({project_name:projectName,names:[name]})},editSecret=function(_ref3){var name=_ref3.name;getSecret({project_name:projectName,name:name}).unwrap().then(function(secret){return setInitialFormValues(secret)})},closeModal=function(){return setInitialFormValues(void 0)},isDisabledActions=loading||isLoading||isFetching||isDeleting||isGettingSecrets,COLUMN_DEFINITIONS=[{id:"name",header:t("projects.edit.secrets.name"),cell:function(secret){return secret.name}},{id:"value",header:t("projects.edit.secrets.value"),cell:function(secret){return/*#__PURE__*/src_react.createElement("div",{className:src_Secrets_styles_module.value},/*#__PURE__*/src_react.createElement("div",{className:src_Secrets_styles_module.valueFieldWrapper},"************************"),/*#__PURE__*/src_react.createElement("div",{className:src_Secrets_styles_module.buttonsWrapper},/*#__PURE__*/src_react.createElement(src_Button_Button,{disabled:isDisabledActions,formAction:"none",onClick:function(){return editSecret(secret)},variant:"icon",iconName:"edit"}),/*#__PURE__*/src_react.createElement(src_ButtonWithConfirmation,{disabled:isDisabledActions,formAction:"none",onClick:function(){return removeSecretByName(secret.name)},confirmTitle:t("projects.edit.secrets.delete_confirm_title"),confirmContent:t("projects.edit.secrets.delete_confirm_message",{name:secret.name}),variant:"icon",iconName:"remove"})))}}],addSecretHandler=function(){setInitialFormValues({})},isShowModal=!!initialFormValues;return/*#__PURE__*/src_react.createElement(src_react.Fragment,null,/*#__PURE__*/src_react.createElement(src_table,src_extends_extends({},collectionProps,{selectionType:"multi",columnDefinitions:COLUMN_DEFINITIONS,items:items,loading:isLoading,header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2",counter:hasPermissionForSecretsManaging?"(".concat(null===items||void 0===items?void 0:items.length,")"):"",actions:function(){if(!hasPermissionForSecretsManaging)return null;var actions=[/*#__PURE__*/src_react.createElement(src_Button_Button,{key:"add",formAction:"none",onClick:addSecretHandler},t("common.add")),/*#__PURE__*/src_react.createElement(src_ButtonWithConfirmation,{key:"delete",disabled:isDisabledActions||!(null!==selectedItems&&void 0!==selectedItems&&selectedItems.length),formAction:"none",onClick:deleteSelectedSecrets,confirmTitle:t("projects.edit.secrets.multiple_delete_confirm_title"),confirmContent:t("projects.edit.secrets.multiple_delete_confirm_message",{count:null===selectedItems||void 0===selectedItems?void 0:selectedItems.length})},t("common.delete"))];return 0<actions.length?/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"xs",direction:"horizontal"},actions):void 0}()},t("projects.edit.secrets.section_title")),pagination:/*#__PURE__*/src_react.createElement(src_pagination_Pagination,paginationProps)})),hasPermissionForSecretsManaging&&/*#__PURE__*/src_react.createElement(src_modal_Modal,{header:null!==initialFormValues&&void 0!==initialFormValues&&initialFormValues.id?t("projects.edit.secrets.update_secret"):t("projects.edit.secrets.create_secret"),visible:isShowModal,onDismiss:closeModal},isShowModal&&/*#__PURE__*/src_react.createElement(src_SecretForm,{initialValues:initialFormValues,onSubmit:function(_ref2){var name=_ref2.name,value=_ref2.value;name&&value&&updateSecret({project_name:projectName,name:name,value:value}).unwrap().then(function(){return setInitialFormValues(void 0)}).catch(function(error){pushNotification({type:"error",content:t("common.server_error",{error:src_serverErrors_getServerError(error)})})})},loading:isLoading||isUpdating,onCancel:closeModal})))};
135663
135673
  ;// ./src/pages/Project/Details/Settings/constants.tsx
135664
135674
  var src_CLI_INFO={header:/*#__PURE__*/src_react.createElement("h2",null,"CLI"),body:/*#__PURE__*/src_react.createElement(src_react.Fragment,null,/*#__PURE__*/src_react.createElement("p",null,"To use this project with your CLI, add it using the",/*#__PURE__*/src_react.createElement("a",{href:"https://dstack.ai/docs/reference/cli/dstack/project/",target:"_blank"},/*#__PURE__*/src_react.createElement("code",null,"dstack project add"))," ","command."),/*#__PURE__*/src_react.createElement("p",null,"To learn how to install the CLI, refer to the"," ",/*#__PURE__*/src_react.createElement("a",{href:"https://dstack.ai/docs/cli/installation",target:"_blank"},"installation")," ","guide."))};
135665
135675
  ;// ./src/pages/Project/Details/Settings/styles.module.scss
@@ -135668,10 +135678,10 @@ var src_CLI_INFO={header:/*#__PURE__*/src_react.createElement("h2",null,"CLI"),b
135668
135678
  ;// ./src/pages/Project/Details/Settings/index.tsx
135669
135679
  var src_ProjectSettings=function(){var _params$projectName,_currentUser$username,_data$backends,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,params=src_dist_useParams(),navigate=src_dist_useNavigate(),paramProjectName=null!==(_params$projectName=params.projectName)&&void 0!==_params$projectName?_params$projectName:"",_useHelpPanel=src_useHelpPanel_useHelpPanel(),_useHelpPanel2=src_slicedToArray_slicedToArray(_useHelpPanel,1),openHelpPanel=_useHelpPanel2[0],_useConfigProjectCliC=src_useConfigProjectCliCommand({projectName:paramProjectName}),_useConfigProjectCliC2=src_slicedToArray_slicedToArray(_useConfigProjectCliC,2),configCliCommand=_useConfigProjectCliC2[0],copyCliCommand=_useConfigProjectCliC2[1],_useCheckAvailablePro=src_useCheckAvailableProjectPermission(),isAvailableDeletingPermission=_useCheckAvailablePro.isAvailableDeletingPermission,isProjectManager=_useCheckAvailablePro.isProjectManager,isProjectAdmin=_useCheckAvailablePro.isProjectAdmin,isAvailableProjectManaging=_useCheckAvailablePro.isAvailableProjectManaging,_useNotifications=src_useNotifications_useNotifications(),_useNotifications2=src_slicedToArray_slicedToArray(_useNotifications,1),pushNotification=_useNotifications2[0],_useUpdateProjectMemb=src_useUpdateProjectMembersMutation(),_useUpdateProjectMemb2=src_slicedToArray_slicedToArray(_useUpdateProjectMemb,1),updateProjectMembers=_useUpdateProjectMemb2[0],_useUpdateProjectMuta=src_useUpdateProjectMutation(),_useUpdateProjectMuta2=src_slicedToArray_slicedToArray(_useUpdateProjectMuta,1),updateProject=_useUpdateProjectMuta2[0],_useDeleteProject=src_useDeleteProject(),deleteProject=_useDeleteProject.deleteProject,isDeleting=_useDeleteProject.isDeleting,_useGetUserDataQuery=src_useGetUserDataQuery({}),currentUser=_useGetUserDataQuery.data,_useGetProjectQuery=src_useGetProjectQuery({name:paramProjectName}),data=_useGetProjectQuery.data,isLoading=_useGetProjectQuery.isLoading,error=_useGetProjectQuery.error;(0,src_react.useEffect)(function(){error&&"status"in error&&404===error.status&&src_riseRouterException()},[error]);var currentUserRole=data?src_getProjectRoleByUserName(data,null!==(_currentUser$username=null===currentUser||void 0===currentUser?void 0:currentUser.username)&&void 0!==_currentUser$username?_currentUser$username:""):null,currentOwner={label:null===data||void 0===data?void 0:data.owner.username,value:null===data||void 0===data?void 0:data.owner.username},visibilityOptions=[{label:t("projects.edit.visibility.private")||"",value:"private"},{label:t("projects.edit.visibility.public")||"",value:"public"}],_useState=(0,src_react.useState)(null!==data&&void 0!==data&&data.isPublic?visibilityOptions[1]:visibilityOptions[0]),_useState2=src_slicedToArray_slicedToArray(_useState,2),selectedVisibility=_useState2[0],setSelectedVisibility=_useState2[1];(0,src_react.useEffect)(function(){setSelectedVisibility(null!==data&&void 0!==data&&data.isPublic?visibilityOptions[1]:visibilityOptions[0])},[data]);var _useBackendsTable=src_useBackendsTable(paramProjectName,null!==(_data$backends=null===data||void 0===data?void 0:data.backends)&&void 0!==_data$backends?_data$backends:[]),backendsData=_useBackendsTable.data,isDeletingBackend=_useBackendsTable.isDeleting,addBackend=_useBackendsTable.addBackend,deleteBackend=_useBackendsTable.deleteBackend,editBackend=_useBackendsTable.editBackend,_useGatewaysTable=src_useGatewaysTable(paramProjectName),gatewaysData=_useGatewaysTable.data,isLoadingGateways=_useGatewaysTable.isLoading;src_useBreadcrumbs_useBreadcrumbs([{text:t("navigation.project_other"),href:src_routes_ROUTES.PROJECT.LIST},{text:paramProjectName,href:src_routes_ROUTES.PROJECT.DETAILS.FORMAT(paramProjectName)}]);var debouncedMembersHandler=(0,src_react.useCallback)((0,src_lodash.debounce)(function(members){updateProjectMembers({project_name:paramProjectName,members:members.map(function(m){return{project_role:m.project_role,username:m.user.username}})}).unwrap().then(function(){pushNotification({type:"success",content:t("projects.edit.update_members_success")})})// eslint-disable-next-line @typescript-eslint/no-explicit-any
135670
135680
  .catch(function(error){var _error$data;pushNotification({type:"error",content:t("common.server_error",{error:null===error||void 0===error||null===(_error$data=error.data)||void 0===_error$data||null===(_error$data=_error$data.detail)||void 0===_error$data?void 0:_error$data.msg})})})},1e3),[]),changeVisibilityHandler=function(is_public){updateProject({project_name:paramProjectName,is_public:is_public}).unwrap().then(function(){pushNotification({type:"success",content:t("projects.edit.update_visibility_success")})})// eslint-disable-next-line @typescript-eslint/no-explicit-any
135671
- .catch(function(error){var _error$data2;pushNotification({type:"error",content:t("common.server_error",{error:null===error||void 0===error||null===(_error$data2=error.data)||void 0===_error$data2||null===(_error$data2=_error$data2.detail)||void 0===_error$data2?void 0:_error$data2.msg})})})},isDisabledButtons=(0,src_react.useMemo)(function(){return isDeleting||!data||!isAvailableDeletingPermission(data)},[data,isDeleting,isAvailableDeletingPermission]);return isLoading||!data||isLoadingGateways?/*#__PURE__*/src_react.createElement(src_Container,null,/*#__PURE__*/src_react.createElement(src_Loader_Loader,null)):/*#__PURE__*/src_react.createElement(src_react.Fragment,null,data&&backendsData&&gatewaysData&&/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l"},null!==currentUserRole&&/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2",info:/*#__PURE__*/src_react.createElement(src_InfoLink_InfoLink,{onFollow:function(){return openHelpPanel(src_CLI_INFO)}})},t("projects.edit.cli"))},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"s"},/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"p",color:"text-body-secondary"},"Run the following commands to set up the CLI for this project"),/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.codeWrapper},/*#__PURE__*/src_react.createElement(src_Hotspot_Hotspot,{hotspotId:src_constants_HotspotIds.CONFIGURE_CLI_COMMAND},/*#__PURE__*/src_react.createElement(src_Code,{className:src_Settings_styles_module.code},configCliCommand),/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.copy},/*#__PURE__*/src_react.createElement(src_popover,{dismissButton:!1,position:"top",size:"small",triggerType:"custom",content:/*#__PURE__*/src_react.createElement(src_status_indicator_StatusIndicator,{type:"success"},t("common.copied"))},/*#__PURE__*/src_react.createElement(src_Button_Button,{formAction:"none",iconName:"copy",variant:"normal",onClick:copyCliCommand}))))))),/*#__PURE__*/src_react.createElement(src_BackendsTable,src_extends_extends({backends:backendsData},isProjectManager(data)?{onClickAddBackend:addBackend,editBackend:editBackend,deleteBackends:deleteBackend,isDisabledDelete:isDeletingBackend}:{})),/*#__PURE__*/src_react.createElement(src_GatewaysTable,{gateways:gatewaysData}),/*#__PURE__*/src_react.createElement(src_ProjectMembers,{onChange:debouncedMembersHandler,members:data.members,readonly:!isProjectManager(data),isAdmin:isProjectAdmin(data),project:data}),/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2"},t("common.danger_zone"))},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l"},/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.dangerSectionGrid},isAvailableProjectManaging&&/*#__PURE__*/src_react.createElement(src_react.Fragment,null,/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"h5",color:"text-body-secondary"},t("projects.edit.delete_this_project")),/*#__PURE__*/src_react.createElement("div",null,/*#__PURE__*/src_react.createElement(src_ButtonWithConfirmation,{variant:"danger-normal",disabled:isDisabledButtons,formAction:"none",onClick:function(){data&&deleteProject(data).then(function(){return navigate(src_routes_ROUTES.PROJECT.LIST)})// eslint-disable-next-line @typescript-eslint/no-explicit-any
135681
+ .catch(function(error){var _error$data2;pushNotification({type:"error",content:t("common.server_error",{error:null===error||void 0===error||null===(_error$data2=error.data)||void 0===_error$data2||null===(_error$data2=_error$data2.detail)||void 0===_error$data2?void 0:_error$data2.msg})})})},isDisabledButtons=(0,src_react.useMemo)(function(){return isDeleting||!data||!isAvailableDeletingPermission(data)},[data,isDeleting,isAvailableDeletingPermission]);return isLoading||!data||isLoadingGateways?/*#__PURE__*/src_react.createElement(src_Container,null,/*#__PURE__*/src_react.createElement(src_Loader_Loader,null)):/*#__PURE__*/src_react.createElement(src_react.Fragment,null,data&&backendsData&&gatewaysData&&/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l"},null!==currentUserRole&&/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2",info:/*#__PURE__*/src_react.createElement(src_InfoLink_InfoLink,{onFollow:function(){return openHelpPanel(src_CLI_INFO)}})},t("projects.edit.cli"))},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"s"},/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"p",color:"text-body-secondary"},"Run the following commands to set up the CLI for this project"),/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.codeWrapper},/*#__PURE__*/src_react.createElement(src_Hotspot_Hotspot,{hotspotId:src_constants_HotspotIds.CONFIGURE_CLI_COMMAND},/*#__PURE__*/src_react.createElement(src_Code,{className:src_Settings_styles_module.code},configCliCommand),/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.copy},/*#__PURE__*/src_react.createElement(src_popover,{dismissButton:!1,position:"top",size:"small",triggerType:"custom",content:/*#__PURE__*/src_react.createElement(src_status_indicator_StatusIndicator,{type:"success"},t("common.copied"))},/*#__PURE__*/src_react.createElement(src_Button_Button,{formAction:"none",iconName:"copy",variant:"normal",onClick:copyCliCommand}))))))),/*#__PURE__*/src_react.createElement(src_BackendsTable,src_extends_extends({backends:backendsData},isProjectManager(data)?{onClickAddBackend:addBackend,editBackend:editBackend,deleteBackends:deleteBackend,isDisabledDelete:isDeletingBackend}:{})),/*#__PURE__*/src_react.createElement(src_GatewaysTable,{gateways:gatewaysData}),/*#__PURE__*/src_react.createElement(src_ProjectMembers,{onChange:debouncedMembersHandler,members:data.members,readonly:!isProjectManager(data),isAdmin:isProjectAdmin(data),project:data}),/*#__PURE__*/src_react.createElement(src_ProjectSecrets,{project:data}),/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2"},t("common.danger_zone"))},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l"},/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.dangerSectionGrid},isAvailableProjectManaging&&/*#__PURE__*/src_react.createElement(src_react.Fragment,null,/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"h5",color:"text-body-secondary"},t("projects.edit.delete_this_project")),/*#__PURE__*/src_react.createElement("div",null,/*#__PURE__*/src_react.createElement(src_ButtonWithConfirmation,{variant:"danger-normal",disabled:isDisabledButtons,formAction:"none",onClick:function(){data&&deleteProject(data).then(function(){return navigate(src_routes_ROUTES.PROJECT.LIST)})// eslint-disable-next-line @typescript-eslint/no-explicit-any
135672
135682
  .catch(function(error){console.error("Delete project failed:",error)})},confirmTitle:t("projects.edit.delete_project_confirm_title"),confirmContent:t("projects.edit.delete_project_confirm_message")},t("common.delete")))),isAvailableProjectManaging&&/*#__PURE__*/src_react.createElement(src_react.Fragment,null,/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"h5",color:"text-body-secondary"},t("projects.edit.project_visibility")),/*#__PURE__*/src_react.createElement("div",null,/*#__PURE__*/src_react.createElement(src_ButtonWithConfirmation,{variant:"danger-normal",disabled:!isProjectManager(data),formAction:"none",onClick:function(){return changeVisibilityHandler("public"===selectedVisibility.value)},confirmTitle:t("projects.edit.update_visibility_confirm_title"),confirmButtonLabel:t("projects.edit.change_visibility"),confirmContent:/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"s"},/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"p",color:"text-body-secondary"},t("projects.edit.update_visibility_confirm_message")),/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.dangerSectionField},/*#__PURE__*/src_react.createElement(src_components_select,{options:visibilityOptions,selectedOption:selectedVisibility,onChange:function(event){return setSelectedVisibility(event.detail.selectedOption)},expandToViewport:!0,filteringType:"auto"})))},t("projects.edit.change_visibility")))),/*#__PURE__*/src_react.createElement(src_box_Box,{variant:"h5",color:"text-body-secondary"},t("projects.edit.owner")),/*#__PURE__*/src_react.createElement("div",null,/*#__PURE__*/src_react.createElement("div",{className:src_Settings_styles_module.dangerSectionField},/*#__PURE__*/src_react.createElement(src_components_select,{disabled:!0,options:[currentOwner],selectedOption:currentOwner,expandToViewport:!0,filteringType:"auto"}))))))))};
135673
135683
  ;// ./src/pages/Project/Form/index.tsx
135674
- function src_Form_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function src_Form_objectSpread(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?src_Form_ownKeys(Object(t),!0).forEach(function(r){src_defineProperty_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):src_Form_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))});return e}var src_ProjectForm=function(_ref){var initialValues=_ref.initialValues,onCancel=_ref.onCancel,loading=_ref.loading,onSubmitProp=_ref.onSubmit,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useNotifications=src_useNotifications_useNotifications(),_useNotifications2=src_slicedToArray_slicedToArray(_useNotifications,1),pushNotification=_useNotifications2[0],formMethods=src_index_esm_useForm({defaultValues:src_Form_objectSpread({isPublic:!1},initialValues)}),handleSubmit=formMethods.handleSubmit,control=formMethods.control,setError=formMethods.setError,clearErrors=formMethods.clearErrors;return/*#__PURE__*/src_react.createElement("form",{onSubmit:handleSubmit(function(data){clearErrors();// Transform frontend camelCase to backend snake_case
135684
+ function src_Project_Form_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function src_Project_Form_objectSpread(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?src_Project_Form_ownKeys(Object(t),!0).forEach(function(r){src_defineProperty_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):src_Project_Form_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))});return e}var src_ProjectForm=function(_ref){var initialValues=_ref.initialValues,onCancel=_ref.onCancel,loading=_ref.loading,onSubmitProp=_ref.onSubmit,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useNotifications=src_useNotifications_useNotifications(),_useNotifications2=src_slicedToArray_slicedToArray(_useNotifications,1),pushNotification=_useNotifications2[0],formMethods=src_index_esm_useForm({defaultValues:src_Project_Form_objectSpread({isPublic:!1},initialValues)}),handleSubmit=formMethods.handleSubmit,control=formMethods.control,setError=formMethods.setError,clearErrors=formMethods.clearErrors;return/*#__PURE__*/src_react.createElement("form",{onSubmit:handleSubmit(function(data){clearErrors();// Transform frontend camelCase to backend snake_case
135675
135685
  var backendData={project_name:data.project_name,is_public:data.isPublic};onSubmitProp(backendData).catch(function(errorResponse){var errorRequestData=null===errorResponse||void 0===errorResponse?void 0:errorResponse.data;if(src_isResponseServerError(errorRequestData))errorRequestData.detail.forEach(function(error){src_isResponseServerFormFieldError(error)?setError(error.loc.join("."),{type:"custom",message:error.msg}):pushNotification({type:"error",content:t("common.server_error",{error:error.msg})})});else{var _errorResponse$error;pushNotification({type:"error",content:t("common.server_error",{error:null!==(_errorResponse$error=null===errorResponse||void 0===errorResponse?void 0:errorResponse.error)&&void 0!==_errorResponse$error?_errorResponse$error:errorResponse})})}})})},/*#__PURE__*/src_react.createElement(src_form_Form,{actions:/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{direction:"horizontal",size:"xs"},/*#__PURE__*/src_react.createElement(src_Button_Button,{formAction:"none",disabled:loading,variant:"link",onClick:onCancel},t("common.cancel")),/*#__PURE__*/src_react.createElement(src_Button_Button,{loading:loading,disabled:loading,variant:"primary"},t("common.save")))},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l"},/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2"},t("projects.edit.general"))},/*#__PURE__*/src_react.createElement(src_space_between_SpaceBetween,{size:"l"},/*#__PURE__*/src_react.createElement(src_FormInput,{label:t("projects.edit.project_name"),description:t("projects.edit.project_name_description"),control:control,name:"project_name",disabled:loading,rules:{required:t("validation.required"),pattern:{value:/^[a-zA-Z0-9-_]+$/,message:t("projects.edit.validation.user_name_format")}}}),/*#__PURE__*/src_react.createElement(src_FormCheckbox,{label:t("projects.edit.is_public"),description:t("projects.edit.is_public_description"),control:control,name:"isPublic",disabled:loading}))))))};
135676
135686
  ;// ./src/pages/Project/Add/index.tsx
135677
135687
  var src_ProjectAdd=function(){var _useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,navigate=src_dist_useNavigate(),_useNotifications=src_useNotifications_useNotifications(),_useNotifications2=src_slicedToArray_slicedToArray(_useNotifications,1),pushNotification=_useNotifications2[0],_useCreateProjectMuta=src_useCreateProjectMutation(),_useCreateProjectMuta2=src_slicedToArray_slicedToArray(_useCreateProjectMuta,2),createProject=_useCreateProjectMuta2[0],isLoading=_useCreateProjectMuta2[1].isLoading;src_useBreadcrumbs_useBreadcrumbs([{text:t("navigation.project_other"),href:src_routes_ROUTES.PROJECT.LIST},{text:t("common.create",{text:t("navigation.project")}),href:src_routes_ROUTES.PROJECT.ADD}]);var onSubmitHandler=/*#__PURE__*/function(){var _ref=src_asyncToGenerator_asyncToGenerator(/*#__PURE__*/src_regenerator_default().mark(function _callee(data){var request;return src_regenerator_default().wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:return request=createProject(data).unwrap(),request.then(function(data){pushNotification({type:"success",content:t("projects.create.success_notification")}),navigate(src_routes_ROUTES.PROJECT.DETAILS.SETTINGS.FORMAT(data.project_name))}).catch(function(error){pushNotification({type:"error",content:t("common.server_error",{error:src_serverErrors_getServerError(error)})})}),_context.abrupt("return",request);case 3:case"end":return _context.stop()}},_callee)}));return function(){return _ref.apply(this,arguments)}}();return/*#__PURE__*/src_react.createElement(src_ContentLayout,{header:/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"awsui-h1-sticky"},t("projects.create.page_title"))},/*#__PURE__*/src_react.createElement(src_ProjectForm,{onSubmit:onSubmitHandler,loading:isLoading,onCancel:function(){navigate(src_routes_ROUTES.PROJECT.LIST)}}))};
@@ -135801,14 +135811,15 @@ return/*#__PURE__*/src_react.createElement("div",{className:src_Runs_Details_sty
135801
135811
  var src_List_hooks_useColumnsDefinitions=function(_ref){var projectName=_ref.projectName,runId=_ref.runId,runPriority=_ref.runPriority,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,columns=[{id:"job_name",header:t("projects.run.job_name"),cell:function(item){return/*#__PURE__*/src_react.createElement(src_NavigateLink_NavigateLink,{href:src_routes_ROUTES.PROJECT.DETAILS.RUNS.DETAILS.JOBS.DETAILS.FORMAT(projectName,runId,item.job_spec.job_name)},item.job_spec.job_name)}},{id:"submitted_at",header:t("projects.run.submitted_at"),cell:src_getJobSubmittedAt},{id:"status",header:t("projects.run.status"),cell:function(item){var status=src_getJobStatus(item);return/*#__PURE__*/src_react.createElement(src_status_indicator_StatusIndicator,{type:src_getStatusIconType(status,src_getJobTerminationReason(item))},src_getJobStatusMessage(item))}},{id:"priority",header:t("projects.run.priority"),cell:function(){return runPriority}},{id:"error",header:t("projects.run.error"),cell:function(item){return src_getJobError(item)}},{id:"resources",header:"".concat(t("projects.run.resources")),cell:src_getJobListItemResources},{id:"spot",header:"".concat(t("projects.run.spot")),cell:src_getJobListItemSpot},{id:"price",header:"".concat(t("projects.run.price")),cell:src_getJobListItemPrice},{id:"instance",header:"".concat(t("projects.run.instance")),cell:src_getJobListItemInstance},{id:"region",header:"".concat(t("projects.run.region")),cell:src_getJobListItemRegion},{id:"backend",header:"".concat(t("projects.run.backend")),cell:src_getJobListItemBackend}];return{columns:columns}};
135802
135812
  ;// ./src/pages/Runs/Details/Jobs/List/index.tsx
135803
135813
  var src_JobList=function(_ref){var jobs=_ref.jobs,projectName=_ref.projectName,runId=_ref.runId,runPriority=_ref.runPriority,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,_useColumnsDefinition=src_List_hooks_useColumnsDefinitions({projectName:projectName,runId:runId,runPriority:runPriority}),columns=_useColumnsDefinition.columns,_useCollection=src_use_collection_useCollection(jobs,{pagination:{pageSize:20}}),items=_useCollection.items,collectionProps=_useCollection.collectionProps,paginationProps=_useCollection.paginationProps;return/*#__PURE__*/src_react.createElement(src_table,src_extends_extends({},collectionProps,{columnDefinitions:columns,items:items,header:/*#__PURE__*/src_react.createElement(src_components_header_Header,null,t("projects.run.jobs")),pagination:/*#__PURE__*/src_react.createElement(src_pagination_Pagination,paginationProps)}))};
135804
- ;// ./src/pages/Runs/Details/Logs/helpers.ts
135805
- function src_helpers_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function src_helpers_objectSpread(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?src_helpers_ownKeys(Object(t),!0).forEach(function(r){src_defineProperty_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):src_helpers_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))});return e}var src_getJobSubmissionId=function(run){var _lastJob$job_submissi;if(run){var lastJob=run.jobs[run.jobs.length-1];return lastJob?null===(_lastJob$job_submissi=lastJob.job_submissions[lastJob.job_submissions.length-1])||void 0===_lastJob$job_submissi?void 0:_lastJob$job_submissi.id:void 0}};var src_decodeLogs=function(logs){return logs.map(function(log){var message=log.message;try{message=atob(message)}catch(e){return log}return src_helpers_objectSpread(src_helpers_objectSpread({},log),{},{message:message})})};
135806
135814
  ;// ./src/pages/Runs/Details/Logs/styles.module.scss
135807
135815
  // extracted by mini-css-extract-plugin
135808
- /* harmony default export */ const src_Logs_styles_module = ({"headerContainer":"dh5Vt","headerTitle":"m5lhe","switchers":"KZwhB","loader":"AsNP2","mainLoader":"q9_1l","logs":"Lym9X","terminal":"Vs5Qg","timestamp":"P2X4U","scroll":"ZXmZb"});
135816
+ /* harmony default export */ const src_Logs_styles_module = ({"headerContainer":"dh5Vt","headerTitle":"m5lhe","switchers":"KZwhB","loader":"AsNP2","mainLoader":"q9_1l","logs":"Lym9X","terminal":"Vs5Qg","logItem":"LwQWn","toggleCollapse":"gPMQG","hidden":"p_8Mp","timestamp":"P2X4U","messageCol":"uk88g","message":"lIfz5","collapsed":"dSa7C","scroll":"ZXmZb"});
135817
+ ;// ./src/pages/Runs/Details/Logs/components/LogRow/index.tsx
135818
+ var src_LogRow=function(_ref){var logItem=_ref.logItem,isShowTimestamp=_ref.isShowTimestamp,_useState=(0,src_react.useState)(!0),_useState2=src_slicedToArray_slicedToArray(_useState,2),collapsed=_useState2[0],setCollapsed=_useState2[1],_useState3=(0,src_react.useState)(!0),_useState4=src_slicedToArray_slicedToArray(_useState3,2),showChevron=_useState4[0],setShowChevron=_useState4[1],messageInnerRef=(0,src_react.useRef)(null);return (0,src_react.useEffect)(function(){var observeTarget=messageInnerRef.current;if(observeTarget){var resizeObserver=new ResizeObserver(function(entries){var entry=entries[0];if(entry){var height=entry.contentRect.height;setShowChevron(32<height)}});return resizeObserver.observe(observeTarget),function(){resizeObserver.unobserve(observeTarget)}}},[]),/*#__PURE__*/src_react.createElement("tr",{className:src_Logs_styles_module.logItem},isShowTimestamp&&/*#__PURE__*/src_react.createElement("td",{className:src_Logs_styles_module.timestamp},/*#__PURE__*/src_react.createElement("span",{className:src_classnames_default()(src_Logs_styles_module.toggleCollapse,src_defineProperty_defineProperty({},src_Logs_styles_module.hidden,!showChevron)),onClick:function(){return setCollapsed(function(val){return!val})}},/*#__PURE__*/src_react.createElement(src_Icon,{name:collapsed?"caret-right-filled":"caret-down-filled"}))," ",new Date(logItem.timestamp).toISOString()),/*#__PURE__*/src_react.createElement("td",{className:src_Logs_styles_module.messageCol},/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_Logs_styles_module.message,src_defineProperty_defineProperty({},src_Logs_styles_module.collapsed,collapsed&&isShowTimestamp))},/*#__PURE__*/src_react.createElement("div",{ref:messageInnerRef,className:src_Logs_styles_module.messageInner},logItem.message))))};
135819
+ ;// ./src/pages/Runs/Details/Logs/helpers.ts
135820
+ function src_helpers_ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function src_helpers_objectSpread(e){for(var t,r=1;r<arguments.length;r++)t=null==arguments[r]?{}:arguments[r],r%2?src_helpers_ownKeys(Object(t),!0).forEach(function(r){src_defineProperty_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):src_helpers_ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))});return e}var src_getJobSubmissionId=function(run){var _lastJob$job_submissi;if(run){var lastJob=run.jobs[run.jobs.length-1];return lastJob?null===(_lastJob$job_submissi=lastJob.job_submissions[lastJob.job_submissions.length-1])||void 0===_lastJob$job_submissi?void 0:_lastJob$job_submissi.id:void 0}};var src_decodeLogs=function(logs){return logs.map(function(log){var message=log.message;try{message=atob(message)}catch(e){return log}return src_helpers_objectSpread(src_helpers_objectSpread({},log),{},{message:message})})};
135809
135821
  ;// ./src/pages/Runs/Details/Logs/index.tsx
135810
- var src_LIMIT_LOG_ROWS=100,src_LOADING_SCROLL_GAP=300;var src_Logs=function(_ref){var className=_ref.className,projectName=_ref.projectName,runName=_ref.runName,jobSubmissionId=_ref.jobSubmissionId,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,codeRef=(0,src_react.useRef)(null),nextTokenRef=(0,src_react.useRef)(void 0),scrollPositionByBottom=(0,src_react.useRef)(0),_useState=(0,src_react.useState)([]),_useState2=src_slicedToArray_slicedToArray(_useState,2),logsData=_useState2[0],setLogsData=_useState2[1],_useState3=(0,src_react.useState)(!1),_useState4=src_slicedToArray_slicedToArray(_useState3,2),isLoading=_useState4[0],setIsLoading=_useState4[1],_useLazyGetProjectLog=src_useLazyGetProjectLogsQuery(),_useLazyGetProjectLog2=src_slicedToArray_slicedToArray(_useLazyGetProjectLog,1),getProjectLogs=_useLazyGetProjectLog2[0],_useLocalStorageState=src_useLocalStorageState("enable-encode-logs",!1),_useLocalStorageState2=src_slicedToArray_slicedToArray(_useLocalStorageState,2),isEnabledDecoding=_useLocalStorageState2[0],setIsEnabledDecoding=_useLocalStorageState2[1],logsForView=(0,src_react.useMemo)(function(){return isEnabledDecoding?src_decodeLogs(logsData):logsData},[logsData,isEnabledDecoding]),saveScrollPositionByBottom=function(){if(codeRef.current){var _codeRef$current=codeRef.current,clientHeight=_codeRef$current.clientHeight,scrollHeight=_codeRef$current.scrollHeight,scrollTop=_codeRef$current.scrollTop;scrollPositionByBottom.current=scrollHeight-clientHeight-scrollTop}},restoreScrollPositionByBottom=function(){if(codeRef.current){var _codeRef$current2=codeRef.current,clientHeight=_codeRef$current2.clientHeight,scrollHeight=_codeRef$current2.scrollHeight;codeRef.current.scrollTo(0,scrollHeight-clientHeight-scrollPositionByBottom.current)}},checkNeedMoreLoadingData=function(){if(codeRef.current){var _codeRef$current3=codeRef.current,clientHeight=_codeRef$current3.clientHeight,scrollHeight=_codeRef$current3.scrollHeight;scrollHeight-clientHeight<=src_LOADING_SCROLL_GAP&&getNextLogItems()}},getLogItems=function(nextToken){setIsLoading(!0);jobSubmissionId&&getProjectLogs({project_name:projectName,run_name:runName,descending:!0,job_submission_id:jobSubmissionId,next_token:nextToken,limit:src_LIMIT_LOG_ROWS}).unwrap().then(function(response){saveScrollPositionByBottom();var reversed=response.logs.toReversed();nextToken?setLogsData(function(old){return[].concat(src_toConsumableArray_toConsumableArray(reversed),src_toConsumableArray_toConsumableArray(old))}):setLogsData(reversed),nextTokenRef.current=response.next_token,setIsLoading(!1)}).catch(function(){return setIsLoading(!1)})},getNextLogItems=function(){nextTokenRef.current&&getLogItems(nextTokenRef.current)};// const [isShowTimestamp, setIsShowTimestamp] = useLocalStorageState('enable-showing-timestamp-logs', false);
135811
- (0,src_react.useEffect)(function(){getLogItems()},[]),(0,src_react.useLayoutEffect)(function(){logsForView.length&&logsForView.length<=src_LIMIT_LOG_ROWS?scrollToBottom():restoreScrollPositionByBottom(),logsForView.length&&checkNeedMoreLoadingData()},[logsForView]);var onScroll=(0,src_react.useCallback)(function(event){var element=event.target;element.scrollTop<=src_LOADING_SCROLL_GAP&&!isLoading&&getNextLogItems()},[isLoading,logsForView]);(0,src_react.useEffect)(function(){if(codeRef.current)return codeRef.current.addEventListener("scroll",onScroll),function(){codeRef.current&&codeRef.current.removeEventListener("scroll",onScroll)}},[codeRef.current,onScroll]);var scrollToBottom=function(){if(codeRef.current){var _codeRef$current4=codeRef.current,clientHeight=_codeRef$current4.clientHeight,scrollHeight=_codeRef$current4.scrollHeight;codeRef.current.scrollTo(0,scrollHeight-clientHeight)}};return/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_Logs_styles_module.logs,className)},/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement("div",{className:src_Logs_styles_module.headerContainer},/*#__PURE__*/src_react.createElement("div",{className:src_Logs_styles_module.headerTitle},/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2"},t("projects.run.log"))),/*#__PURE__*/src_react.createElement(src_Loader_Loader,{show:isLoading&&!!logsForView.length,padding:"n",className:src_Logs_styles_module.loader,loadingText:""}),/*#__PURE__*/src_react.createElement("div",{className:src_Logs_styles_module.switchers},/*#__PURE__*/src_react.createElement(src_box_Box,null,/*#__PURE__*/src_react.createElement(src_Button_Button,{ariaLabel:"Legacy mode",formAction:"none",iconName:"gen-ai",variant:isEnabledDecoding?"primary":"icon",onClick:function(){saveScrollPositionByBottom(),setIsEnabledDecoding(!isEnabledDecoding)}}))))},/*#__PURE__*/src_react.createElement(src_TextContent,null,!isLoading&&!logsForView.length&&/*#__PURE__*/src_react.createElement(src_ListEmptyMessage_ListEmptyMessage,{title:t("projects.run.log_empty_message_title"),message:t("projects.run.log_empty_message_text")}),!logsForView.length&&/*#__PURE__*/src_react.createElement(src_Loader_Loader,{show:isLoading,className:src_Logs_styles_module.mainLoader}),!!logsForView.length&&/*#__PURE__*/src_react.createElement(src_Code,{className:src_Logs_styles_module.terminal,ref:codeRef},logsForView.map(function(log,i){return/*#__PURE__*/src_react.createElement("p",{key:i},log.message)})))))};
135822
+ var src_LIMIT_LOG_ROWS=100,src_LOADING_SCROLL_GAP=300;var src_Logs=function(_ref){var className=_ref.className,projectName=_ref.projectName,runName=_ref.runName,jobSubmissionId=_ref.jobSubmissionId,_useTranslation=src_useTranslation_useTranslation(),t=_useTranslation.t,codeRef=(0,src_react.useRef)(null),nextTokenRef=(0,src_react.useRef)(void 0),scrollPositionByBottom=(0,src_react.useRef)(0),_useState=(0,src_react.useState)([]),_useState2=src_slicedToArray_slicedToArray(_useState,2),logsData=_useState2[0],setLogsData=_useState2[1],_useState3=(0,src_react.useState)(),_useState4=src_slicedToArray_slicedToArray(_useState3,2),externalLink=_useState4[0],setExternalLink=_useState4[1],_useState5=(0,src_react.useState)(!1),_useState6=src_slicedToArray_slicedToArray(_useState5,2),isLoading=_useState6[0],setIsLoading=_useState6[1],_useLazyGetProjectLog=src_useLazyGetProjectLogsQuery(),_useLazyGetProjectLog2=src_slicedToArray_slicedToArray(_useLazyGetProjectLog,1),getProjectLogs=_useLazyGetProjectLog2[0],_useLocalStorageState=src_useLocalStorageState("enable-encode-logs",!1),_useLocalStorageState2=src_slicedToArray_slicedToArray(_useLocalStorageState,2),isEnabledDecoding=_useLocalStorageState2[0],setIsEnabledDecoding=_useLocalStorageState2[1],_useLocalStorageState3=src_useLocalStorageState("enable-showing-timestamp-logs",!1),_useLocalStorageState4=src_slicedToArray_slicedToArray(_useLocalStorageState3,2),isShowTimestamp=_useLocalStorageState4[0],setIsShowTimestamp=_useLocalStorageState4[1],logsForView=(0,src_react.useMemo)(function(){return isEnabledDecoding?src_decodeLogs(logsData):logsData},[logsData,isEnabledDecoding]),saveScrollPositionByBottom=function(){if(codeRef.current){var _codeRef$current=codeRef.current,clientHeight=_codeRef$current.clientHeight,scrollHeight=_codeRef$current.scrollHeight,scrollTop=_codeRef$current.scrollTop;scrollPositionByBottom.current=scrollHeight-clientHeight-scrollTop}},restoreScrollPositionByBottom=function(){if(codeRef.current){var _codeRef$current2=codeRef.current,clientHeight=_codeRef$current2.clientHeight,scrollHeight=_codeRef$current2.scrollHeight;codeRef.current.scrollTo(0,scrollHeight-clientHeight-scrollPositionByBottom.current)}},checkNeedMoreLoadingData=function(){if(codeRef.current){var _codeRef$current3=codeRef.current,clientHeight=_codeRef$current3.clientHeight,scrollHeight=_codeRef$current3.scrollHeight;scrollHeight-clientHeight<=src_LOADING_SCROLL_GAP&&getNextLogItems()}},getLogItems=function(nextToken){setIsLoading(!0);jobSubmissionId&&getProjectLogs({project_name:projectName,run_name:runName,descending:!0,job_submission_id:jobSubmissionId,next_token:nextToken,limit:src_LIMIT_LOG_ROWS}).unwrap().then(function(response){saveScrollPositionByBottom();var reversed=response.logs.toReversed();nextToken?setLogsData(function(old){return[].concat(src_toConsumableArray_toConsumableArray(reversed),src_toConsumableArray_toConsumableArray(old))}):(setLogsData(reversed),setExternalLink(response.external_url)),nextTokenRef.current=response.next_token,setIsLoading(!1)}).catch(function(){return setIsLoading(!1)})},getNextLogItems=function(){nextTokenRef.current&&getLogItems(nextTokenRef.current)};(0,src_react.useEffect)(function(){getLogItems()},[]),(0,src_react.useLayoutEffect)(function(){logsForView.length&&logsForView.length<=src_LIMIT_LOG_ROWS?scrollToBottom():restoreScrollPositionByBottom(),logsForView.length&&checkNeedMoreLoadingData()},[logsForView]);var onScroll=(0,src_react.useCallback)(function(event){var element=event.target;element.scrollTop<=src_LOADING_SCROLL_GAP&&!isLoading&&getNextLogItems()},[isLoading,logsForView]);(0,src_react.useEffect)(function(){if(codeRef.current)return codeRef.current.addEventListener("scroll",onScroll),function(){codeRef.current&&codeRef.current.removeEventListener("scroll",onScroll)}},[codeRef.current,onScroll]);var scrollToBottom=function(){if(codeRef.current){var _codeRef$current4=codeRef.current,clientHeight=_codeRef$current4.clientHeight,scrollHeight=_codeRef$current4.scrollHeight;codeRef.current.scrollTo(0,scrollHeight-clientHeight)}};return/*#__PURE__*/src_react.createElement("div",{className:src_classnames_default()(src_Logs_styles_module.logs,className)},/*#__PURE__*/src_react.createElement(src_Container,{header:/*#__PURE__*/src_react.createElement("div",{className:src_Logs_styles_module.headerContainer},/*#__PURE__*/src_react.createElement("div",{className:src_Logs_styles_module.headerTitle},/*#__PURE__*/src_react.createElement(src_components_header_Header,{variant:"h2"},t("projects.run.log"))),externalLink&&/*#__PURE__*/src_react.createElement(src_Button_Button,{target:"_blank",formAction:"none",iconName:"external",href:externalLink,variant:"icon"}),/*#__PURE__*/src_react.createElement(src_Loader_Loader,{show:isLoading&&!!logsForView.length,padding:"n",className:src_Logs_styles_module.loader,loadingText:""}),/*#__PURE__*/src_react.createElement("div",{className:src_Logs_styles_module.switchers},/*#__PURE__*/src_react.createElement(src_box_Box,null,/*#__PURE__*/src_react.createElement(src_Button_Button,{ariaLabel:"Legacy mode",formAction:"none",iconName:"gen-ai",variant:isEnabledDecoding?"primary":"icon",onClick:function(){saveScrollPositionByBottom(),setIsEnabledDecoding(!isEnabledDecoding)}})),/*#__PURE__*/src_react.createElement(src_box_Box,null,/*#__PURE__*/src_react.createElement(src_Button_Button,{ariaLabel:"Show timestamp",formAction:"none",iconName:"status-pending",variant:isShowTimestamp?"primary":"icon",onClick:function(){setIsShowTimestamp(!isShowTimestamp)}}))))},/*#__PURE__*/src_react.createElement(src_TextContent,null,!isLoading&&!logsForView.length&&/*#__PURE__*/src_react.createElement(src_ListEmptyMessage_ListEmptyMessage,{title:t("projects.run.log_empty_message_title"),message:t("projects.run.log_empty_message_text")}),!logsForView.length&&/*#__PURE__*/src_react.createElement(src_Loader_Loader,{show:isLoading,className:src_Logs_styles_module.mainLoader}),!!logsForView.length&&/*#__PURE__*/src_react.createElement(src_Code,{className:src_Logs_styles_module.terminal,ref:codeRef},/*#__PURE__*/src_react.createElement("table",null,/*#__PURE__*/src_react.createElement("tbody",null,logsForView.map(function(log,i){return/*#__PURE__*/src_react.createElement(src_LogRow,{logItem:log,key:i,isShowTimestamp:isShowTimestamp})})))))))};
135812
135823
  ;// ./src/pages/Runs/Details/RunDetails/styles.module.scss
135813
135824
  // extracted by mini-css-extract-plugin
135814
135825
  /* harmony default export */ const src_RunDetails_styles_module = ({"logs":"tVvb0"});
@@ -135944,7 +135955,7 @@ var src_router_router=src_createBrowserRouter([{path:"/",element:/*#__PURE__*/sr
135944
135955
  ;// ./src/services/mainApi.ts
135945
135956
  var src_mainApi=src_rtk_query_react_esm_createApi({baseQuery:src_fetchBaseQuery({prepareHeaders:src_fetchBaseQueryHeaders}),endpoints:function(){return{}}});
135946
135957
  ;// ./src/store.ts
135947
- var src_reducer_0;var src_store=src_redux_toolkit_esm_configureStore({reducer:(src_reducer_0={app:src_App_slice,notifications:src_Notifications_slice},src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_reducer_0,src_projectApi.reducerPath,src_projectApi.reducer),src_runApi.reducerPath,src_runApi.reducer),src_artifactApi.reducerPath,src_artifactApi.reducer),src_fleetApi.reducerPath,src_fleetApi.reducer),src_instanceApi.reducerPath,src_instanceApi.reducer),src_userApi.reducerPath,src_userApi.reducer),src_gatewayApi.reducerPath,src_gatewayApi.reducer),src_authApi.reducerPath,src_authApi.reducer),src_serverApi.reducerPath,src_serverApi.reducer),src_volumeApi.reducerPath,src_volumeApi.reducer),src_defineProperty_defineProperty(src_reducer_0,src_mainApi.reducerPath,src_mainApi.reducer)),middleware:function(getDefaultMiddleware){return getDefaultMiddleware({serializableCheck:!1}).concat(src_projectApi.middleware).concat(src_runApi.middleware).concat(src_artifactApi.middleware).concat(src_fleetApi.middleware).concat(src_instanceApi.middleware).concat(src_gatewayApi.middleware).concat(src_userApi.middleware).concat(src_authApi.middleware).concat(src_serverApi.middleware).concat(src_volumeApi.middleware).concat(src_mainApi.middleware)}});
135958
+ var src_reducer_0;var src_store=src_redux_toolkit_esm_configureStore({reducer:(src_reducer_0={app:src_App_slice,notifications:src_Notifications_slice},src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_reducer_0,src_projectApi.reducerPath,src_projectApi.reducer),src_runApi.reducerPath,src_runApi.reducer),src_artifactApi.reducerPath,src_artifactApi.reducer),src_fleetApi.reducerPath,src_fleetApi.reducer),src_instanceApi.reducerPath,src_instanceApi.reducer),src_userApi.reducerPath,src_userApi.reducer),src_gatewayApi.reducerPath,src_gatewayApi.reducer),src_authApi.reducerPath,src_authApi.reducer),src_serverApi.reducerPath,src_serverApi.reducer),src_volumeApi.reducerPath,src_volumeApi.reducer),src_defineProperty_defineProperty(src_defineProperty_defineProperty(src_reducer_0,src_secretApi.reducerPath,src_secretApi.reducer),src_mainApi.reducerPath,src_mainApi.reducer)),middleware:function(getDefaultMiddleware){return getDefaultMiddleware({serializableCheck:!1}).concat(src_projectApi.middleware).concat(src_runApi.middleware).concat(src_artifactApi.middleware).concat(src_fleetApi.middleware).concat(src_instanceApi.middleware).concat(src_gatewayApi.middleware).concat(src_userApi.middleware).concat(src_authApi.middleware).concat(src_serverApi.middleware).concat(src_volumeApi.middleware).concat(src_secretApi.middleware).concat(src_mainApi.middleware)}});
135948
135959
  ;// ./node_modules/i18next/dist/esm/i18next.js
135949
135960
  const src_i18next_isString = obj => typeof obj === 'string';
135950
135961
  const src_i18next_defer = () => {
@@ -138142,7 +138153,7 @@ const src_i18next_loadLanguages = src_instance.loadLanguages;
138142
138153
 
138143
138154
 
138144
138155
  ;// ./src/locale/en.json
138145
- 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?"}}');
138156
+ 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"},"secrets":{"section_title":"Secrets","empty_message_title":"No secrets","empty_message_text":"No secrets to display.","name":"Secret name","value":"Secret value","create_secret":"Create secret","update_secret":"Update secret","delete_confirm_title":"Delete secret","delete_confirm_message":"Are you sure you want to delete the {{name}} secret?","multiple_delete_confirm_title":"Delete secrets","multiple_delete_confirm_message":"Are you sure you want to delete {{count}} secrets?","not_permissions_title":"No permissions","not_permissions_description":"You don\'t have permissions for managing secrets","validation":{"secret_name_format":"Invalid secret name"}},"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?"}}');
138146
138157
  ;// ./src/locale/index.ts
138147
138158
  src_instance.use(src_initReactI18next).init({returnNull:!1,resources:{en:{translation:src_en_namespaceObject}},fallbackLng:"en",interpolation:{escapeValue:!1}});
138148
138159
  ;// ./src/index.tsx
@@ -138151,4 +138162,4 @@ var src_container=document.getElementById("root"),src_src_theme={tokens:{fontFam
138151
138162
 
138152
138163
  /******/ })()
138153
138164
  ;
138154
- //# sourceMappingURL=main-39a767528976f8078166.js.map
138165
+ //# sourceMappingURL=main-cc067b7fd1a8f33f97da.js.map