release: 25.16.0#6592
Conversation
Co-authored-by: octodog <mu001@lablup.com>
There was a problem hiding this comment.
Pull Request Overview
This pull request represents a version release update from 25.16.0-rc.3 to 25.16.1. The changes primarily consist of:
- Version number updates across multiple configuration and build files
- Addition of new translation key "ExcludedFolders" across all supported languages
- Build artifact updates (JavaScript bundles, source maps)
- Removal of changelog fragment files
- GraphQL schema changes updating default architecture parameter
Reviewed Changes
Copilot reviewed 36 out of 42 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| VERSION | Updated version from 25.16.0rc3 to 25.16.0 |
| src/ai/backend/web/static/version.json | Updated package version and build metadata |
| src/ai/backend/web/static/manifest.json | Updated application version |
| src/ai/backend/web/static/index.html | Updated embedded version string and main JS reference |
| src/ai/backend/web/static/asset-manifest.json | Updated main JS bundle references |
| src/ai/backend/web/static/resources/i18n/*.json | Added "ExcludedFolders" translation key across all languages |
| docs/manager/rest-reference/openapi.json | Updated API version |
| docs/manager/graphql-reference/*.graphql | Changed default architecture from "x86_64" to "aarch64" |
| configs/agent/sample.toml | Reordered compute plugins in comment |
| changes/*.md | Removed changelog fragment files |
| static/js/* | Updated JavaScript bundles |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @@ -1 +1 @@ | |||
| 25.16.0rc3 | |||
| 25.16.0 | |||
There was a problem hiding this comment.
Version mismatch: The VERSION file shows 25.16.0 but the package version in other files (version.json, manifest.json, index.html) is 25.16.1. These should be consistent.
| 25.16.0 | |
| 25.16.1 |
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
This guard always evaluates to false.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
This guard always evaluates to false.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
This guard always evaluates to false.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
This guard always evaluates to false.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
This guard always evaluates to false.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
Variable 'n' is used before its declaration.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
Avoid automated semicolon insertion (90% of all statements in the enclosing function have an explicit semicolon).
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
Avoid automated semicolon insertion (92% of all statements in the enclosing function have an explicit semicolon).
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
There was a problem hiding this comment.
This statement is unreachable.
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
Check failure
Code scanning / devskim
A token or key was found in source code. If this represents a secret, it should be moved somewhere else. Error
| @@ -0,0 +1,2 @@ | |||
| "use strict";(self.webpackChunkbackend_ai_webui_react=self.webpackChunkbackend_ai_webui_react||[]).push([[9154],{94985:(e,n,l)=>{l.d(n,{Ay:()=>h,z7:()=>p});var a=l(29818),i=l(47441),r=l(74826),t=l(38069),o=l(46038),s=l(91313),d=l(8348),u=l.n(d),m=l(84100),c=l(81291),v=l(7960);const g=[/AUTH/i,/ACCESS/i,/SECRET/i,/_KEY/i,/PASSWORD/i,/PASSWD/i,/PWD/i,/TOKEN/i,/PRIVATE/i,/CREDENTIAL/i,/JWT/i,/KEYPAIR/i,/CERTIFICATE/i,/SSH/i,/ENCRYPT/i,/SIGNATURE/i,/SALT/i,/PIN/i,/PASSPHRASE/i,/OAUTH/i];function p(e){return u().map(e,(e=>{return e&&(n=e.variable,g.some((e=>e.test(n))))?{...e,value:""}:e;var n}))}const h=e=>{let{formItemProps:n,...l}=e;const d=(0,m.useRef)(null),{t:g}=(0,c.Bd)(),p=r.A.useFormInstance();return(0,v.jsx)(r.A.List,{...l,children:(e,m)=>{let{add:c,remove:h}=m;return(0,v.jsxs)(s.OO,{direction:"column",gap:"xs",align:"stretch",children:[e.map(((i,o)=>{let{key:m,name:c,...y}=i;return(0,v.jsxs)(s.OO,{direction:"row",align:"baseline",gap:"xs",children:[(0,v.jsx)(r.A.Item,{...y,style:{marginBottom:0,flex:1},name:[c,"variable"],rules:[{required:!0,message:g("session.launcher.EnterEnvironmentVariable")},{pattern:/^[a-zA-Z_][a-zA-Z0-9_]*$/,message:g("session.launcher.EnvironmentVariableNamePatternError")},e=>{let{getFieldValue:n}=e;return{validator(e,a){const i=u().map(n(l.name),(e=>null===e||void 0===e?void 0:e.variable));return!u().isEmpty(a)&&i.length>0&&u().filter(i,(e=>e===a)).length>1?Promise.reject(g("session.launcher.EnvironmentVariableDuplicateName")):Promise.resolve()}}}],...n,children:(0,v.jsx)(t.A,{ref:o===e.length-1?d:null,placeholder:"Variable",onChange:()=>{const n=e.map(((e,n)=>[l.name,n,"variable"]));p.validateFields(n)}})}),(0,v.jsx)(r.A.Item,{...y,name:[c,"value"],style:{marginBottom:0,flex:1},rules:[{required:!0,message:g("session.launcher.EnvironmentVariableValueRequired")}],validateTrigger:["onChange","onBlur"],children:(0,v.jsx)(t.A,{placeholder:"Value"})}),(0,v.jsx)(a.A,{onClick:()=>h(c)})]},m)})),(0,v.jsx)(r.A.Item,{noStyle:!0,children:(0,v.jsx)(o.Ay,{type:"dashed",onClick:()=>{c(),setTimeout((()=>{d.current&&d.current.focus()}),0)},icon:(0,v.jsx)(i.A,{}),block:!0,children:g("session.launcher.AddEnvironmentVariable")})})]})}})}},89349:(e,n,l)=>{l.d(n,{A:()=>w});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"installed"}],n={alias:null,args:null,kind:"ScalarField",name:"key",storageKey:null},l=[n,{alias:null,args:null,kind:"ScalarField",name:"value",storageKey:null}],a=[{alias:null,args:[{kind:"Variable",name:"is_installed",variableName:"installed"}],concreteType:"Image",kind:"LinkedField",name:"images",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"humanized_name",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"tag",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"registry",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"digest",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"installed",storageKey:null},{alias:null,args:null,concreteType:"ResourceLimit",kind:"LinkedField",name:"resource_limits",plural:!0,selections:[n,{alias:null,args:null,kind:"ScalarField",name:"min",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"max",storageKey:null}],storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"labels",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"namespace",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"base_image_name",storageKey:null},{alias:null,args:null,concreteType:"KVPair",kind:"LinkedField",name:"tags",plural:!0,selections:l,storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"version",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"supported_accelerators",storageKey:null}],storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageEnvironmentSelectFormItemsQuery",selections:a,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageEnvironmentSelectFormItemsQuery",selections:a},params:{cacheID:"192812639ccebbee01e918cbd60b8816",id:null,metadata:{},name:"ImageEnvironmentSelectFormItemsQuery",operationKind:"query",text:'query ImageEnvironmentSelectFormItemsQuery(\n $installed: Boolean\n) {\n images(is_installed: $installed) {\n id\n name @deprecatedSince(version: "24.12.0")\n humanized_name\n tag\n registry\n architecture\n digest\n installed\n resource_limits {\n key\n min\n max\n }\n labels {\n key\n value\n }\n namespace @since(version: "24.12.0")\n base_image_name @since(version: "24.12.0")\n tags @since(version: "24.12.0") {\n key\n value\n }\n version @since(version: "24.12.0")\n supported_accelerators\n }\n}\n'}}}();a.hash="cd124d0155c7eab304c2d3b6dc75074a";const i=a;var r=l(2156),t=l(19885),o=l(35467),s=l(54802);var d=l(652),u=l(67208),m=l(51873),c=l(74826),v=l(68144),g=l(28599),p=l(2600),h=l(73067),y=l(36830),f=l(38069),x=l(91313),A=l(8348),_=l.n(A),j=l(84100),k=l(81291),F=l(85724),b=l(7960);const w=e=>{var n;let{filter:l,showPrivate:a}=e;const A=c.A.useFormInstance(),w=c.A.useWatch("environments",{form:A,preserve:!0}),S=(0,t.CX)(),V=null===S||void 0===S?void 0:S.supports("extended-image-info"),[I,K]=(0,j.useState)(""),[O,T]=(0,j.useState)(""),{t:E}=(0,k.Bd)(),[N,{getBaseVersion:C,getImageMeta:P,tagAlias:M}]=(0,t.Gj)(),{token:R}=v.A.useToken(),{isDarkMode:L}=(0,o.e)(),z=(0,j.useRef)(null),q=(0,j.useRef)(null),B=null!==S&&void 0!==S&&null!==(n=S._config)&&void 0!==n&&n.showNonInstalledImages?{}:{installed:!0},{images:D}=(0,F.useLazyLoadQuery)(i,B,{fetchPolicy:"store-and-network"});(0,j.useEffect)((()=>{var e,n,l;if(!_().isEmpty(null===w||void 0===w?void 0:w.manual))return void((w.environment||w.version)&&A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}}));let a,i,t,o,s=null===(e=A.getFieldValue("environments"))||void 0===e?void 0:e.version;var d,u;(s&&s.indexOf("@")<0&&(s+="@x86_64"),s&&_().find(Q,(e=>(a=_().find(e.environmentGroups,(e=>(i=_().find(e.images,(e=>(0,r.A_)(e)===s)),!!i))),!!a))),a?(t=a,o=i):A.getFieldValue(["environments","environment"])&&_().find(Q,(e=>{var n;return t=_().find(e.environmentGroups,(e=>e.environmentName===A.getFieldValue(["environments","environment"]))),o=null===(n=t)||void 0===n?void 0:n.images[0],!!t})),t&&o)||(t=null===(d=Q[0])||void 0===d?void 0:d.environmentGroups[0],o=null===(u=t)||void 0===u?void 0:u.images[0]);const m=null===(n=_().find(null===(l=o)||void 0===l?void 0:l.labels,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key))))||void 0===n?void 0:n.value;o?!a&&S._config.allow_manual_image_name_for_session&&s?A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0,manual:s,customizedTag:null!==m&&void 0!==m?m:void 0}}):A.setFieldsValue({environments:{environment:t.environmentName,version:(0,r.A_)(o),image:o,customizedTag:null!==m&&void 0!==m?m:void 0}}):S._config.allow_manual_image_name_for_session&&A.setFieldValue(["environments","manual"],s)}),[null===w||void 0===w?void 0:w.version,null===w||void 0===w?void 0:w.manual]);const Q=(0,j.useMemo)((()=>_().chain(D).filter((e=>(!!a||!(e=>_().some(null===e||void 0===e?void 0:e.labels,(e=>{var n;return"ai.backend.features"===(null===e||void 0===e?void 0:e.key)&&(null===e||void 0===e||null===(n=e.value)||void 0===n?void 0:n.split(" ").includes("private"))})))(e))&&(!l||l(e)))).groupBy((e=>{var n;return(null===N||void 0===N||null===(n=N.imageInfo[P((0,r.A_)(e)||"").key])||void 0===n?void 0:n.group)||"Custom Environments"})).map(((e,n)=>{var l;return{groupName:n,groupSortKey:(null===N||void 0===N||null===(l=N.groupSortKeyMap)||void 0===l?void 0:l[n])||n,environmentGroups:_().chain(e).groupBy((e=>`${null===e||void 0===e?void 0:e.registry}/${V?null===e||void 0===e?void 0:e.namespace:null===e||void 0===e?void 0:e.name}`)).map(((e,n)=>{var l,a;const i=null===(l=n.split("/"))||void 0===l?void 0:l[2],t=i&&(null===N||void 0===N||null===(a=N.imageInfo[i])||void 0===a?void 0:a.name)||_().last(n.split("/"));return{environmentName:n,displayName:t,prefix:_().chain(n).split("/").drop(1).dropRight(1).join("/").value(),images:e.sort(((e,n)=>{var l,a,i,t,o,s;return function(e,n){const l=e.split(".").map(Number),a=n.split(".").map(Number);for(let i=0;i<Math.max(l.length,a.length);i++){const e=l[i]||0,n=a[i]||0;if(e>n)return 1;if(e<n)return-1}return 0}(null!==(l=null===n||void 0===n||null===(a=n.tag)||void 0===a||null===(i=a.split("-"))||void 0===i?void 0:i[0])&&void 0!==l?l:"",null!==(t=null===e||void 0===e||null===(o=e.tag)||void 0===o||null===(s=o.split("-"))||void 0===s?void 0:s[0])&&void 0!==t?t:"")||(0,r._f)(null===e||void 0===e?void 0:e.architecture,null===n||void 0===n?void 0:n.architecture)}))}})).sortBy((e=>e.displayName)).value()}})).sortBy((e=>e.groupSortKey)).value()),[D,N,l,a]),{fullNameMatchedImage:$}=(0,j.useMemo)((()=>{let e,n;return I.length&&_().chain(Q.flatMap((e=>e.environmentGroups)).find((l=>(n=l,e=_().find(l.images,(e=>(0,r.A_)(e)===I)),!!e)))).value(),{fullNameMatchedImage:e,fullNameMatchedImageGroup:n}}),[I,Q]);return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("style",{children:"/* Change the image and tags of the select option when the selection is opened */\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n img,\ndiv.image-environment-select-form-item\n div.ant-select-open\n span.ant-select-selection-item\n div\n span.ant-tag {\n opacity: 0.5;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-light {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n div.ant-select-item-option-content\n div.tag-wrap-dark {\n /* flex: 1 !important; */\n flex-wrap: wrap !important;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark {\n overflow: hidden;\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-light::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px; /* Width of the transparent gradient area */\n background: linear-gradient(\n to right,\n rgba(255, 255, 255, 0),\n rgba(255, 255, 255, 1)\n );\n}\n\ndiv.image-environment-select-form-item\n span.ant-select-selection-item\n div.tag-wrap-dark::after {\n content: '';\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 10px;\n background: linear-gradient(\n to right,\n rgba(20, 20, 20, 0),\n rgba(20, 20, 20, 1)\n );\n}\n"}),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","environment"],label:(0,b.jsxs)(g.A.Text,{copyable:{text:(0,r.A_)(A.getFieldValue(["environments","image"]))},children:[E("session.launcher.Environments")," /"," ",E("session.launcher.Version")]}),rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Environments")})}],style:{marginBottom:10},children:(0,b.jsx)(p.A,{ref:z,showSearch:!0,popupMatchSelectWidth:!1,searchValue:I,onSearch:K,defaultActiveFirstOption:!0,optionFilterProp:"filterValue",onChange:e=>{if($)A.setFieldsValue({environments:{environment:(V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name)||"",version:(0,r.A_)($),image:$}});else{const n=Q.flatMap((e=>e.environmentGroups)).filter((n=>n.environmentName===e))[0].images[0];A.setFieldsValue({environments:{environment:(V?null===n||void 0===n?void 0:n.namespace:null===n||void 0===n?void 0:n.name)||"",version:(0,r.A_)(n),image:n}})}},disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:$?(0,b.jsx)(p.A.Option,{value:V?null===$||void 0===$?void 0:$.namespace:null===$||void 0===$?void 0:$.name,filterValue:(0,r.A_)($),children:(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",style:{display:"inline-flex"},children:[(0,b.jsx)(d.A,{image:(0,r.A_)($)||"",style:{width:15,height:15}}),(0,r.A_)($)]})}):_().map(Q,(e=>(0,b.jsx)(p.A.OptGroup,{label:e.groupName,children:_().map(e.environmentGroups,(e=>{var n;const l=e.images[0],a=null===N||void 0===N?void 0:N.imageInfo[null===(n=e.environmentName.split("/"))||void 0===n?void 0:n[2]],i=[];let t=null;e.prefix&&!["lablup","cloud","stable"].includes(e.prefix)&&(i.push(e.prefix),t=(0,b.jsx)(h.A,{color:"purple",children:(0,b.jsx)(m.A,{keyword:I,children:e.prefix})}));const o=_().map(null===a||void 0===a?void 0:a.label,(e=>_().isUndefined(e.category)&&e.tag&&e.color?(i.push(e.tag),(0,b.jsx)(h.A,{color:e.color,children:(0,b.jsx)(m.A,{keyword:I,children:e.tag},e.tag)},e.tag)):null));return(0,b.jsx)(p.A.Option,{value:e.environmentName,filterValue:e.displayName+"\t"+i.join("\t"),children:(0,b.jsxs)(x.OO,{direction:"row",justify:"between",children:[(0,b.jsxs)(x.OO,{direction:"row",align:"center",gap:"xs",children:[(0,b.jsx)(d.A,{image:(0,r.A_)(l)||"",style:{width:15,height:15}}),(0,b.jsx)(m.A,{keyword:I,children:e.displayName})]}),(0,b.jsxs)(x.OO,{direction:"row",className:L?"tag-wrap-dark":"tag-wrap-light",style:{marginLeft:R.marginXS,flexShrink:1},children:[t,o]})]})},e.environmentName)}))},e.groupName)))})}),(0,b.jsx)(c.A.Item,{noStyle:!0,shouldUpdate:(e,n)=>{var l,a;return(null===(l=e.environments)||void 0===l?void 0:l.environment)!==(null===(a=n.environments)||void 0===a?void 0:a.environment)},children:e=>{var n;let l,{getFieldValue:a}=e;return _().find(Q,(e=>_().find(e.environmentGroups,(e=>{var n;return e.environmentName===(null===(n=a("environments"))||void 0===n?void 0:n.environment)&&(l=e,!0)})))),(0,b.jsx)(c.A.Item,{className:"image-environment-select-form-item",name:["environments","version"],rules:[{required:_().isEmpty(null===w||void 0===w?void 0:w.manual),message:E("general.ValueRequired",{name:E("session.launcher.Version")})}],children:(0,b.jsx)(p.A,{ref:q,popupMatchSelectWidth:!1,onChange:e=>{const n=_().find(D,(n=>(0,r.A_)(n)===e));A.setFieldValue(["environments","image"],n)},showSearch:!0,searchValue:O,onSearch:T,optionFilterProp:"filterValue",popupRender:e=>(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(x.OO,{style:{fontWeight:R.fontWeightStrong,paddingLeft:R.paddingSM},children:[E("session.launcher.Version"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Architecture"),(0,b.jsx)(y.A,{type:"vertical"}),E("session.launcher.Tags")]}),(0,b.jsx)(y.A,{style:{margin:"8px 0"}}),e]}),disabled:S._config.allow_manual_image_name_for_session&&!_().isEmpty(null===w||void 0===w?void 0:w.manual),children:_().map(_().uniqBy(null===(n=l)||void 0===n?void 0:n.images,"id"),(e=>{var n;const[l,a,...i]=(null===e||void 0===e||null===(n=e.tag)||void 0===n?void 0:n.split("-"))||["","",""];let t=null===N||void 0===N?void 0:N.tagAlias[a];if(!t){for(const[e,n]of Object.entries((null===N||void 0===N?void 0:N.tagReplace)||{})){const l=new RegExp(e);l.test(a)&&(t=null===a||void 0===a?void 0:a.replace(l,n))}t||(t=a)}const o=[],d=_().chain(i).filter((e=>!e.startsWith("customized_"))).map(((e,n)=>(0,b.jsx)(s.A,{values:_().split((null===N||void 0===N?void 0:N.tagAlias[e])||e,":").map((e=>(o.push(e),{label:e,highlightKeyword:O})))},n))).value(),c=null===e||void 0===e?void 0:e.labels;if(c){const e=_().findIndex(c,(e=>null!==e&&"ai.backend.customized-image.name"===(null===e||void 0===e?void 0:e.key)));if(e&&c[e]){var v;const n=(null===(v=c[e])||void 0===v?void 0:v.value)||"";o.push("Customized"),o.push(n),d.push((0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:"Customized",color:"cyan"},{label:null!==n&&void 0!==n?n:"",color:"cyan"}]},d.length+1))}}return(0,b.jsx)(p.A.Option,{value:(0,r.A_)(e),filterValue:[l,t,null===e||void 0===e?void 0:e.architecture,...o].join("\t"),children:V?(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.version}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(x.OO,{direction:"row",align:"start",children:_().map(null===e||void 0===e?void 0:e.tags,(n=>{var l;const a=_().includes(n.key,"customized_"),i=a?null===(l=_().find(null===e||void 0===e?void 0:e.labels,{key:"ai.backend.customized-image.name"}))||void 0===l?void 0:l.value:n.value,t=M(n.key+i);return _().isEqual(t,(0,r.WY)(n.key+i))||a?(0,b.jsx)(s.A,{highlightKeyword:O,values:[{label:M(n.key),color:a?"cyan":"blue"},{label:null!==i&&void 0!==i?i:"",color:a?"cyan":"blue"}]},n.key):(0,b.jsx)(h.A,{color:a?"cyan":"blue",children:(0,b.jsx)(m.A,{keyword:O,children:t})},n.key)}))})]}):(0,b.jsx)(x.OO,{direction:"row",justify:"between",children:(0,b.jsxs)(x.OO,{direction:"row",children:[(0,b.jsx)(m.A,{keyword:O,children:C((0,r.A_)(e)||"")}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(m.A,{keyword:O,children:null===e||void 0===e?void 0:e.architecture}),(0,b.jsx)(y.A,{type:"vertical"}),(0,b.jsx)(u.J,{tag:(null===e||void 0===e?void 0:e.tag)||"",highlightKeyword:O,labels:null===e||void 0===e?void 0:e.labels})]})})},null===e||void 0===e?void 0:e.id)}))})})}}),(0,b.jsx)(c.A.Item,{label:E("session.launcher.ManualImageName"),name:["environments","manual"],style:{display:S._config.allow_manual_image_name_for_session?"block":"none"},children:(0,b.jsx)(f.A,{allowClear:!0,onChange:e=>{_().isEmpty(e)||A.setFieldsValue({environments:{environment:void 0,version:void 0,image:void 0}})}})}),(0,b.jsx)(c.A.Item,{noStyle:!0,hidden:!0,name:["environments","image"],children:(0,b.jsx)(f.A,{})})]})}},67208:(e,n,l)=>{l.d(n,{J:()=>j,e:()=>k});const a=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"uuid"}],n=[{kind:"Variable",name:"id",variableName:"uuid"}],l={alias:null,args:null,kind:"ScalarField",name:"image",storageKey:null},a={alias:null,args:null,kind:"ScalarField",name:"mounts",storageKey:null},i={alias:null,args:null,kind:"ScalarField",name:"architecture",storageKey:null};return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i],storageKey:null}],type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"ImageTagsUNSAFELazySessionImageTagQuery",selections:[{alias:null,args:n,concreteType:"ComputeSession",kind:"LinkedField",name:"compute_session",plural:!1,selections:[l,a,i,{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null}],storageKey:null}]},params:{cacheID:"561670e250a47b880df70cc432c19049",id:null,metadata:{},name:"ImageTagsUNSAFELazySessionImageTagQuery",operationKind:"query",text:"query ImageTagsUNSAFELazySessionImageTagQuery(\n $uuid: UUID!\n) {\n compute_session(id: $uuid) {\n image\n mounts\n architecture\n id\n }\n}\n"}}}();a.hash="20cd966dac98c484e7c795ff3d7e78a4";const i=a;var r=l(2156),t=l(19885),o=l(54802),s=l(652),d=l(51873),u=l(73067),m=l(68144),c=l(91313),v=l(8348),g=l.n(v),p=l(84100),h=l(85724),y=l(7960);const f=e=>{let{image:n,...l}=e;n=n||"";const[,{getImageAliasName:a,getBaseVersion:i,tagAlias:r}]=(0,t.Gj)();return(0,y.jsx)(o.A,{values:[{label:r(a(n)),color:"blue"},{label:i(n),color:"green"}],...l})},x=e=>{let{image:n,...l}=e;n=n||"";const[,{getBaseImage:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:i(a(n))})},A=e=>{let{image:n,...l}=e;n=n||"";const[,{getArchitecture:a,tagAlias:i}]=(0,t.Gj)();return g().isEmpty(i(a(n)))?null:(0,y.jsx)(u.A,{color:"green",...l,children:a(n)})},_=p.memo((function(e){let{image:n}=e;return n=n||"",(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(f,{image:n}),(0,y.jsx)(x,{image:n}),(0,y.jsx)(A,{image:n})]})})),j=e=>{let{tag:n,labels:l,highlightKeyword:a,...i}=e;l=l||[];const[,{getTags:s,tagAlias:m}]=(0,t.Gj)(),c=s(n,l);return(0,y.jsx)(p.Fragment,{...i,children:g().map(c,((e,n)=>{const l="Customized"===e.key,i=m(e.key+e.value);return g().isEqual(i,(0,r.WY)(e.key+e.value))?(0,y.jsx)(o.A,{highlightKeyword:a,values:[{label:m(e.key),color:l?"cyan":"blue"},{label:e.value,color:l?"cyan":"blue"}]},e.key):(0,y.jsx)(u.A,{color:l?"cyan":"blue",children:(0,y.jsx)(d.A,{keyword:a,children:i},n)},e.key)}))})},k=e=>{let{sessionId:n}=e;const{token:l}=m.A.useToken(),{compute_session:a}=(0,h.useLazyLoadQuery)(i,{uuid:n||""},{fetchPolicy:n?"store-or-network":"store-only"}),r=(null===a||void 0===a?void 0:a.image)&&(null===a||void 0===a?void 0:a.architecture)&&a.image+"@"+a.architecture;return r?(0,y.jsxs)(c.OO,{gap:["xs",0],wrap:"wrap",children:[(0,y.jsx)(s.A,{image:r,style:{marginRight:l.marginXS}}),(0,y.jsx)(_,{image:r})]}):null}},23886:(e,n,l)=>{l.d(n,{A:()=>Q});var a=l(92526);const i=function(){var e=[{defaultValue:null,kind:"LocalArgument",name:"domain_name"},{defaultValue:null,kind:"LocalArgument",name:"group_id"},{defaultValue:null,kind:"LocalArgument",name:"keypair_resource_policy_name"}],n=[{alias:null,args:null,kind:"ScalarField",name:"allowed_vfolder_hosts",storageKey:null}],l=[{alias:null,args:[{kind:"Variable",name:"name",variableName:"domain_name"}],concreteType:"Domain",kind:"LinkedField",name:"domain",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"domain_name",variableName:"domain_name"},{kind:"Variable",name:"id",variableName:"group_id"}],concreteType:"Group",kind:"LinkedField",name:"group",plural:!1,selections:n,storageKey:null},{alias:null,args:[{kind:"Variable",name:"name",variableName:"keypair_resource_policy_name"}],concreteType:"KeyPairResourcePolicy",kind:"LinkedField",name:"keypair_resource_policy",plural:!1,selections:n,storageKey:null}];return{fragment:{argumentDefinitions:e,kind:"Fragment",metadata:null,name:"VFolderTableProjectQuery",selections:l,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:e,kind:"Operation",name:"VFolderTableProjectQuery",selections:l},params:{cacheID:"2c2ce905afd89e93c6d761f22ed59f3d",id:null,metadata:{},name:"VFolderTableProjectQuery",operationKind:"query",text:"query VFolderTableProjectQuery(\n $domain_name: String!\n $group_id: UUID!\n $keypair_resource_policy_name: String!\n) {\n domain(name: $domain_name) {\n allowed_vfolder_hosts\n }\n group(id: $group_id, domain_name: $domain_name) {\n allowed_vfolder_hosts\n }\n keypair_resource_policy(name: $keypair_resource_policy_name) {\n allowed_vfolder_hosts\n }\n}\n"}}}();i.hash="ccdbaa52a63c2ea005423e7c541eff80";const r=i;var t=l(2156),o=l(19885),s=l(17174),d=l(79887),u=l(68798),m=l(71526),c=l(43975),v=l(28299),g=l(51873);const p={argumentDefinitions:[],kind:"Fragment",metadata:null,name:"VFolderPermissionTag_VFolder",selections:[{alias:null,args:null,kind:"ScalarField",name:"permission",storageKey:null}],type:"VirtualFolder",abstractKey:null,hash:"d3b0f85629ac8c6f45ef363938f66067"},h=p;var y=l(54802),f=l(8348),x=l.n(f),A=l(84100),_=l(85724),j=l(7960);const k=e=>{let{vFolderFrgmt:n=null,permission:l}=e;const a=(0,_.useFragment)(h,n),i=x().chain({r:"green",w:"blue",d:"red"}).map(((e,n)=>{if(((e,n)=>!(null===e||void 0===e||!e.includes(n))||!(null===e||void 0===e||!e.includes("w")||"r"!==n))((null===a||void 0===a?void 0:a.permission)||l,n))return{label:n.toUpperCase(),color:e}})).compact().value();return(0,j.jsx)(y.A,{values:i})};var F=l(79654),b=l(44013),w=l(18491),S=l(74826),V=l(68144),I=l(28599),K=l(6534),O=l(38069),T=l(46038),E=l(31370),N=l(73067),C=l(91313),P=l(77629),M=l.n(P),R=l(65370),L=l(81291);const z=/^[a-zA-Z0-9_/.-]*$/,q="/home/work/",B=e=>{let{rowFilter:n,showAliasInput:l=!1,selectedRowKeys:i=[],onChangeSelectedRowKeys:p,aliasBasePath:h=q,aliasMap:y,onChangeAliasMap:f,rowKey:P="name",onChangeAutoMountedFolders:B,showAutoMountedFoldersSection:D,ownerEmail:Q,onValidateSelectedRowKeys:$,...W}=e;const{generateFolderPath:G}=(0,v.useFolderExplorerOpener)(),U=A.useMemo((()=>e=>e&&e[P]),[P]),[J,H]=(0,A.useState)(!1),[Y,X]=(0,u.A)({value:i,onChange:e=>{const n=x().filter(je,(n=>x().includes(e,U(n))));null===p||void 0===p||p(e,n)}},{defaultValue:[]}),[Z,ee]=(0,u.A)({value:y,onChange:f},{defaultValue:{}}),ne=(0,o.CX)(),[le]=(0,s.x)(null===ne||void 0===ne?void 0:ne._config.accessKey),[ae]=S.A.useForm();(0,A.useEffect)((()=>{Z&&(ae.setFieldsValue(x().mapValues(Z,(e=>e.startsWith(h)?e.slice(h.length):e))),ae.validateFields())}),[Z,ae,h]);const{t:ie}=(0,L.Bd)(),{token:re}=V.A.useToken(),te=(0,t.QE)(),oe=(0,m.hd)(),[se,de]=(0,o.Tw)("first"),[ue,me]=(0,A.useTransition)(),{data:ce}=(0,d.nj)({queryKey:["VFolderSelectQuery",se,oe.id,Q],queryFn:()=>{const e=new URLSearchParams;return Q&&e.set("owner_user_email",Q),te({method:"GET",url:`/folders?${e.toString()}`})},staleTime:1e3}),{domain:ve,group:ge,keypair_resource_policy:pe}=(0,_.useLazyLoadQuery)(r,{domain_name:ne._config.domainName,group_id:oe.id,keypair_resource_policy_name:(null===le||void 0===le?void 0:le.resource_policy)||""},{fetchPolicy:"store-and-network",fetchKey:se}),he=(0,A.useMemo)((()=>{const e=JSON.parse((null===ve||void 0===ve?void 0:ve.allowed_vfolder_hosts)||"{}"),n=JSON.parse((null===ge||void 0===ge?void 0:ge.allowed_vfolder_hosts)||"{}"),l=JSON.parse((null===pe||void 0===pe?void 0:pe.allowed_vfolder_hosts)||"{}"),a=x().merge({},e,n,l);return Object.keys(a).filter((e=>a[e].includes("mount-in-session")))}),[ve,ge,pe]),ye=(0,A.useMemo)((()=>(null===ce||void 0===ce?void 0:ce.filter((e=>"user"===e.ownership_type||!e.group||e.group===oe.id)))||[]),[ce,oe.id]),fe=(0,A.useMemo)((()=>ye.filter((e=>he.includes(e.host)))),[ye,he]);(0,A.useEffect)((()=>{const e=x().difference(Y,fe.map((e=>U(e))));null===$||void 0===$||$(e,x().filter(fe,(e=>x().includes(Y,U(e)))))}),[fe,U,$,JSON.stringify(Y)]);const xe=(0,A.useMemo)((()=>x().chain(fe).filter((e=>{var n;return"ready"===e.status&&(null===(n=e.name)||void 0===n?void 0:n.startsWith("."))})).map((e=>e.name)).value()),[fe]);(0,A.useEffect)((()=>{x().isFunction(B)&&B(xe)}),[xe]),(0,A.useEffect)((()=>{i&&0!==i.length||X([])}),[oe.id]);const[Ae,_e]=(0,A.useState)(""),je=(0,A.useMemo)((()=>x().chain(fe).filter((e=>!(n&&!n(e))&&(!!Y.includes(U(e))||(!Ae||e.name.includes(Ae))))).value()),[fe,n,Y,U,Ae]),ke=(0,A.useCallback)(((e,n)=>void 0===n||""===n?`${h}${e}`:n.startsWith("/")?n:`${h}${n}`),[h]),Fe=(0,a.E)((()=>{ee(x().mapValues(x().pickBy(ae.getFieldsValue({strict:!1}),(e=>!!e)),((e,n)=>ke(n,e)))),ae.validateFields().catch((()=>{}))}));(0,A.useEffect)((()=>{Fe()}),[JSON.stringify(Y),Fe]);const be=[{title:(0,j.jsxs)(C.OO,{direction:"row",gap:"xxs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.folders.Name")}),l&&(0,j.jsx)(j.Fragment,{children:(0,j.jsxs)(I.A.Text,{type:"secondary",style:{fontWeight:"normal"},children:["(",ie("session.launcher.FolderAlias")," ",(0,j.jsx)(K.A,{title:(0,j.jsx)(L.x6,{i18nKey:"session.launcher.DescFolderAlias"}),children:(0,j.jsx)(F.A,{})}),")"]})})]}),dataIndex:"name",sorter:(e,n)=>e.name.localeCompare(n.name),render:(e,n)=>{const a=Y.includes(U(n));return(0,j.jsxs)(C.OO,{direction:"column",align:"start",gap:"xxs",style:l&&a?{display:"inline-flex",height:70,width:"100%"}:{maxWidth:200},children:[(0,j.jsx)(C.rm,{type:"hover",to:G(n.id),children:(0,j.jsx)(g.A,{keyword:Ae,children:e})}),l&&a&&(0,j.jsx)(S.A.Item,{noStyle:!0,shouldUpdate:(e,l)=>e[U(n)]!==l[U(n)],children:()=>{const e=x()(Y).reduce(((e,n)=>(e[n]=(null===Z||void 0===Z?void 0:Z[n])||ke(n,void 0),e)),{});return(0,j.jsx)(S.A.Item,{name:U(n),rules:[{type:"string",pattern:z,message:ie("session.launcher.FolderAliasInvalid")},{type:"string",validator:async(l,a)=>a&&x().some(e,((e,l)=>l!==U(n)&&e===ke(U(n),a)))?Promise.reject(ie("session.launcher.FolderAliasOverlapping")):Promise.resolve()},{type:"string",validator:async(e,l)=>{const a=ke(U(n),l);return l&&x().map(xe,(e=>ke("",e))).includes(a)?Promise.reject(ie("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],extra:ke(n.name,ae.getFieldValue(U(n))),children:(0,j.jsx)(O.A,{onClick:e=>{e.stopPropagation()},placeholder:ie("session.launcher.FolderAlias"),allowClear:!0,onChange:()=>{Fe()}})})}})]})}},{title:ie("data.UsageMode"),dataIndex:"usage_mode",sorter:(e,n)=>e.usage_mode.localeCompare(n.usage_mode)},{title:ie("data.Host"),dataIndex:"host"},{title:ie("data.Type"),dataIndex:"type",sorter:(e,n)=>e.type.localeCompare(n.type),render:(e,n)=>(0,j.jsx)(C.OO,{direction:"column",children:"user"===n.ownership_type?(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.User")}),(0,j.jsx)(b.A,{style:{color:re.colorTextTertiary}})]}):(0,j.jsxs)(C.OO,{gap:"xs",children:[(0,j.jsx)(I.A.Text,{children:ie("data.Project")}),(0,j.jsx)(C.Ob,{style:{color:re.colorTextTertiary}})]})})},{title:ie("data.Permission"),dataIndex:"permission",sorter:(e,n)=>e.permission.localeCompare(n.permission),render:(e,n)=>(0,j.jsx)(k,{permission:n.permission})},{title:ie("data.Created"),dataIndex:"created_at",sorter:(e,n)=>e.created_at.localeCompare(n.created_at),render:e=>M()(e).format("L"),defaultSortOrder:"descend"}];return(0,j.jsxs)(C.OO,{direction:"column",align:"stretch",gap:"xs",children:[(0,j.jsxs)(C.OO,{direction:"row",gap:"xs",justify:"between",children:[(0,j.jsx)(O.A,{value:Ae,onChange:e=>_e(e.target.value),allowClear:!0,placeholder:ie("data.SearchByName")}),(0,j.jsx)(K.A,{title:ie("button.Refresh"),children:(0,j.jsx)(T.Ay,{loading:ue,icon:(0,j.jsx)(w.A,{}),onClick:()=>{me((()=>{de()}))}})}),(0,j.jsx)(K.A,{title:ie("data.CreateANewStorageFolder"),children:(0,j.jsx)(T.Ay,{icon:(0,j.jsx)(R.A,{}),type:"primary",ghost:!0,onClick:()=>{H(!0)}})})]}),(0,j.jsx)(S.A,{form:ae,component:!1,preserve:!1,children:(0,j.jsx)(C.zx,{scroll:{x:"max-content"},rowKey:U,rowSelection:{selectedRowKeys:Y,onChange:e=>{X(e),Fe()}},showSorterTooltip:!1,columns:be,dataSource:je,onRow:e=>({onClick:n=>{var l;const a=n.target;null!==a&&void 0!==a&&null!==(l=a.classList)&&void 0!==l&&l.contains("ant-table-selection-column")&&(n.stopPropagation(),Y.includes(U(e))?X(Y.filter((n=>n!==U(e)))):X([...Y,U(e)]))}}),...W})}),D&&xe.length>0?(0,j.jsx)(j.Fragment,{children:(0,j.jsx)(E.A,{size:"small",children:(0,j.jsx)(E.A.Item,{label:ie("data.AutomountFolders"),children:x().map(xe,(e=>(0,j.jsx)(N.A,{children:e},e)))})})}):null,(0,j.jsx)(c.A,{open:J,onRequestClose:e=>{H(!1),e&&me((()=>{de(),X((n=>[...n,e[P]]))}))}})]})};var D=l(83925);const Q=e=>{let{rowFilter:n,rowKey:l="name",tableProps:i,...r}=e;const t=S.A.useFormInstance(),{t:o}=(0,L.Bd)(),{message:s}=D.A.useApp();return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(S.A.Item,{hidden:!0,name:"mount_id_map",rules:[{validator(e,n){const l=x().chain(t.getFieldValue("mount_ids")).reduce(((e,l)=>(e[l]=n[l]||"/home/work/"+l,e)),{}).values().value();return x().uniq(l).length!==l.length?Promise.reject(o("session.launcher.FolderAliasOverlapping")):x().some(l,(e=>!z.test(e)))?Promise.reject(o("session.launcher.FolderAliasInvalid")):x().some(t.getFieldValue("autoMountedFolderNames"),(e=>l.includes(q+e)))?Promise.reject(o("session.launcher.FolderAliasOverlappingToAutoMount")):Promise.resolve()}}],children:(0,j.jsx)(O.A,{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"mounts",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"autoMountedFolderNames",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{hidden:!0,name:"vfoldersNameMap",children:(0,j.jsx)("div",{})}),(0,j.jsx)(S.A.Item,{name:"mount_ids",...r,valuePropName:"selectedRowKeys",trigger:"onChangeSelectedRowKeys",children:(0,j.jsx)(B,{rowKey:l,showAliasInput:!0,aliasMap:t.getFieldValue("mount_id_map"),onChangeAliasMap:(0,a.E)((e=>{t.setFieldValue("mount_id_map",e),t.validateFields(["mount_id_map"])})),pagination:!1,rowFilter:n,showAutoMountedFoldersSection:!0,onChangeAutoMountedFolders:(0,a.E)((e=>{t.setFieldValue("autoMountedFolderNames",e)})),onValidateSelectedRowKeys:(0,a.E)(((e,n)=>{t.setFieldValue("mount_ids",x().difference(t.getFieldValue("mount_ids"),e)),t.setFieldValue("mount_id_map",x().omitBy(t.getFieldValue("mount_id_map"),((n,l)=>e.includes(l)))),t.setFieldValue("vfoldersNameMap",x().reduce(n,((e,n)=>(e[n[l]]=n.name,e)),{})),e.length>0&&s.warning(o("session.launcher.InvalidMountsSelectionWarning"))})),...i},null===i||void 0===i?void 0:i.ownerEmail)})]})}}}]); | |||
Check notice
Code scanning / devskim
If untrusted data (data from HTTP requests, user submitted files, etc.) is included in an setTimeout statement it can allow an attacker to inject their own code. Note
Checklist: (if applicable)
ai.backend.testdocsdirectory📚 Documentation preview 📚: https://sorna--6592.org.readthedocs.build/en/6592/
📚 Documentation preview 📚: https://sorna-ko--6592.org.readthedocs.build/ko/6592/