@runeya/runeya 2.0.141 → 2.0.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{chat-UQIVCG33.js → chat-X3X527EX.js} +3 -3
- package/{chunk-H2MAALKN.js → chunk-NSS47H26.js} +28 -11
- package/chunk-NSS47H26.js.map +1 -0
- package/{chunk-36CC5CZK.js → chunk-P73PTVII.js} +21 -55
- package/chunk-P73PTVII.js.map +1 -0
- package/{companion-EVCS2HNC.js → companion-2LHKU577.js} +2 -2
- package/index.js +6 -6
- package/{install-gate-SFHNMBWT.js → install-gate-2NNH7RM2.js} +2 -2
- package/package.json +1 -1
- package/{src-ZSQISY6W.js → src-5TEXF3SU.js} +6 -6
- package/{src-ZSQISY6W.js.map → src-5TEXF3SU.js.map} +1 -1
- package/web/assets/{AgentScalarChatInterface.vue-Df0_SDmK.js → AgentScalarChatInterface.vue-uNy1P-l4.js} +1 -1
- package/web/assets/{AgentTerminalPage-BGA_7YUb.js → AgentTerminalPage-CFnALyb1.js} +1 -1
- package/web/assets/{AiChatModals-CaGj0i1I.js → AiChatModals-B6svb69W.js} +1 -1
- package/web/assets/{AppLayout-CDOSGDLm.js → AppLayout-BKlJtfuQ.js} +1 -1
- package/web/assets/{AuditPage-BMYSSho1.js → AuditPage-BsSpX2TJ.js} +1 -1
- package/web/assets/{CloudAccountPage-DJNbXhOH.js → CloudAccountPage-DabrwDsa.js} +1 -1
- package/web/assets/{CloudMessagingPage-JXnnH4aT.js → CloudMessagingPage-BtOJO5FB.js} +1 -1
- package/web/assets/{DashboardPage-BjeN6ZQ3.js → DashboardPage-DMByzpgW.js} +1 -1
- package/web/assets/{DirectoryPickerDialog-CNIrtkmh.js → DirectoryPickerDialog-CDyk4Z_Q.js} +1 -1
- package/web/assets/{EnvironmentForm-DTJsmGg_.js → EnvironmentForm-BlGWpU2_.js} +1 -1
- package/web/assets/{EnvironmentFormPage-HNIgKqaJ.js → EnvironmentFormPage-B-dpyO0_.js} +1 -1
- package/web/assets/{EnvironmentListPage-DRI3aFZw.js → EnvironmentListPage-BlaOiTVh.js} +1 -1
- package/web/assets/{KanbanBoardPage-DocxhfeF.js → KanbanBoardPage-C52zM-Zw.js} +3 -3
- package/web/assets/{KanbanListPage-DR_DYt46.js → KanbanListPage-BmNdd1aP.js} +1 -1
- package/web/assets/{LaunchProjectPage-Dgtz9dX8.js → LaunchProjectPage-B5sXxaet.js} +1 -1
- package/web/assets/{LaunchServicesPage-iM8a_UHk.js → LaunchServicesPage-C1u6lV4l.js} +1 -1
- package/web/assets/{LaunchShell-DccCGeLx.js → LaunchShell-CeyVMzL2.js} +1 -1
- package/web/assets/{LogViewer-DOcy8D-m.js → LogViewer-CAvRwSZu.js} +1 -1
- package/web/assets/{OrgKeyPrompt-Dx95YhKV.js → OrgKeyPrompt-NDfCQ-In.js} +1 -1
- package/web/assets/{ProcessControls-BUMbz3Cc.js → ProcessControls-D23gTUiv.js} +1 -1
- package/web/assets/{ProcessDetailPage-DKVRY4sj.js → ProcessDetailPage-vHpK0Eer.js} +1 -1
- package/web/assets/{ProjectCreateDialog-CdYIXATf.js → ProjectCreateDialog-2PZX7tq2.js} +1 -1
- package/web/assets/{ProjectLocationGate-BpKnR1WI.js → ProjectLocationGate-fMAxwT0y.js} +1 -1
- package/web/assets/{ProjectPublishDialog-BTZXEmZh.js → ProjectPublishDialog-BylWoa0n.js} +1 -1
- package/web/assets/{RandomJobTestPage-BLR9jVah.js → RandomJobTestPage-DUclmkBw.js} +1 -1
- package/web/assets/{ScenarioEditorPage-ebK_glPw.js → ScenarioEditorPage-DbEsfuZa.js} +1 -1
- package/web/assets/{SendToChatDialog-VwH8FOP7.js → SendToChatDialog-DGuOMMrS.js} +1 -1
- package/web/assets/{ServiceControlsBar-3dlgA6Sg.js → ServiceControlsBar-D6M8hYFk.js} +1 -1
- package/web/assets/{ServiceDetailPage-C9MWIf-1.js → ServiceDetailPage-G-A9ryZD.js} +1 -1
- package/web/assets/{ServiceFormPage-DIJMr_Ij.js → ServiceFormPage-BgHSW1XX.js} +1 -1
- package/web/assets/{SettingsPage-4bd7gsHf.js → SettingsPage-CPFBr7QE.js} +4 -4
- package/web/assets/{UnlockPage-F37odjgM.js → UnlockPage-B4VEN9LN.js} +1 -1
- package/web/assets/{VaultMigrationPage-CT6EFAXK.js → VaultMigrationPage-9qDGbF9X.js} +1 -1
- package/web/assets/{VersionBadge-4MjBn5ih.js → VersionBadge-CqHdCnuJ.js} +1 -1
- package/web/assets/{WikiPage-Dhil7fWU.js → WikiPage-Pjosr1Vn.js} +1 -1
- package/web/assets/{WikiView-Ca2kGbvZ.js → WikiView-Bcxq2mQW.js} +1 -1
- package/web/assets/{add-scalar-classes-ny-bwITc.js → add-scalar-classes-BnJYThbS.js} +1 -1
- package/web/assets/{agent.store-BBUsxY3E.js → agent.store-DTyu_McS.js} +1 -1
- package/web/assets/{auth-DgcowXmP.js → auth-D_pCPFq7.js} +2 -2
- package/web/assets/{cloud-chat.store-BT0ikifC.js → cloud-chat.store-CMklOB48.js} +1 -1
- package/web/assets/{cloud-client-7eaj_DyS.js → cloud-client-CX0pW7Kt.js} +2 -2
- package/web/assets/{cloud-session-BI06sY79.js → cloud-session-ja0-uvVS.js} +2 -2
- package/web/assets/{editor.store-uLBvEAgM.js → editor.store-BAjGG8Ji.js} +1 -1
- package/web/assets/i18n-CXvcscXP.js +1 -0
- package/web/assets/{index-c8l1Vzb5.js → index-DTrxphh3.js} +4 -4
- package/web/assets/{index-CZJJuyAp.css → index-eb4FRryj.css} +1 -1
- package/web/assets/{modal-CNk5Pd2V.js → modal-Cvv2YgUo.js} +1 -1
- package/web/assets/{project-launch.store-C0TgNDYm.js → project-launch.store-C7xfTlMc.js} +1 -1
- package/web/assets/{project.store-Dx530iqh.js → project.store-ZpH_PaSy.js} +1 -1
- package/web/assets/scenario.store-F78cizck.js +7 -0
- package/web/assets/{service.store-CgzQ1QCL.js → service.store-Dti7eDhR.js} +1 -1
- package/web/assets/{settings-scope-54SF-1Hf.js → settings-scope-CUuHrUpc.js} +1 -1
- package/web/assets/{settings.store-Cz6g0qH2.js → settings.store-De1-3IG8.js} +1 -1
- package/web/assets/{src-gyxHZ5yB.js → src-C0KK-qsF.js} +1 -1
- package/web/assets/{src-BbRuct-7.js → src-DXlxwMXe.js} +1 -1
- package/web/assets/{trpc-PGQoddea.js → trpc-B5Yw_z6v.js} +3 -3
- package/web/assets/{useCloudOrg-DePshxqA.js → useCloudOrg-QzX8ryg1.js} +1 -1
- package/web/assets/{useEnvVarAutocomplete-lyIwYncA.js → useEnvVarAutocomplete-BdGgINv9.js} +1 -1
- package/web/assets/{useProjectCatalog-BFmo-l75.js → useProjectCatalog-Cr90BND4.js} +1 -1
- package/web/assets/{useProjectCloudOrg-DN7UK1So.js → useProjectCloudOrg-2wwByg2k.js} +1 -1
- package/web/assets/{useServiceUrlHost-D31YSsBc.js → useServiceUrlHost-CxbARDeg.js} +1 -1
- package/web/assets/{vue-draggable-plus-DE0HToYu.js → vue-draggable-plus-pTwVkhnN.js} +1 -1
- package/web/index.html +17 -17
- package/chunk-36CC5CZK.js.map +0 -1
- package/chunk-H2MAALKN.js.map +0 -1
- package/web/assets/i18n-m0G6Pfwe.js +0 -1
- package/web/assets/scenario.store-DWezewHe.js +0 -7
- /package/{chat-UQIVCG33.js.map → chat-X3X527EX.js.map} +0 -0
- /package/{companion-EVCS2HNC.js.map → companion-2LHKU577.js.map} +0 -0
- /package/{install-gate-SFHNMBWT.js.map → install-gate-2NNH7RM2.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,x as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as r,_ as i,b as a,bt as o,ct as ee,g as s,k as c,mt as l,o as u,qt as te,rn as d,y as f}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as p,I as m}from"./floating-ui.dom-DWhsZyqT.js";import{F as ne,H as re,J as h,P as ie,S as g,dt as _,ft as v,i as ae,k as oe,l as y,mt as se,z as b}from"./src-Ds4DOFJs.js";import{n as ce}from"./project-launch.store-C0TgNDYm.js";import{g as le,h as ue}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as x}from"./trpc-PGQoddea.js";import{n as de}from"./project.store-Dx530iqh.js";import{n as S}from"./error-DpF7X5iu.js";import{t as fe}from"./service.store-CgzQ1QCL.js";import{t as pe}from"./agent.store-BBUsxY3E.js";import{c as me}from"./index-c8l1Vzb5.js";var he={class:`service-form-page`},ge={class:`page-header`},_e={key:0,class:`restart-banner`},ve={key:1,class:`loading-container`},ye={class:`form-section`},be={class:`form-group`},C={for:`svc-project`},w={class:`form-hint`},T={class:`form-group`},E={for:`svc-agent`},D={class:`form-hint`},O={class:`form-group`},k={for:`svc-name`},A={class:`form-hint`},j={class:`form-actions`},M={class:`form-section`},N={class:`form-row`},xe={class:`form-group flex-1`},Se={for:`svc-name-edit`},Ce={class:`form-group`,style:{width:`160px`}},we={for:`svc-runner`},Te={class:`form-group`},Ee={for:`svc-agent-edit`},De={class:`form-hint`},Oe={class:`form-row`},ke={class:`form-group flex-1`},Ae={for:`svc-cwd`},je={class:`form-group`,style:{"min-width":`200px`}},Me={for:`svc-ports`},Ne={class:`form-group switch-group`},Pe={for:`svc-autorestart`},Fe={class:`form-section`},Ie={class:`section-header`},Le={key:0,class:`empty-env`},Re={class:`form-group`},ze={for:`hc-path`},Be={class:`form-row`},Ve={class:`form-group flex-1`},He={for:`hc-interval`},Ue={class:`form-group flex-1`},We={for:`hc-timeout`},Ge={class:`form-group flex-1`},Ke={for:`hc-retries`},P=`__inherit__`,F=v(c({__name:`ServiceFormPage`,props:{id:{}},setup(c){let v=c,F=le(),qe=ue(),I=ie(),L=de(),R=fe(),z=pe(),B=ce(),Je=me(),{t:V}=se(),H=s(()=>!!v.id),U=s(()=>qe.query.projectId),W=t(!1),G=t(!1),K=t(null),q=t(null),J=t(!1),Y=n({projectId:``,agentId:P,name:``,cwd:``,ports:[],runner:`native`,autoRestart:!1,healthCheck:{enabled:!1,path:``,interval:3e4,timeout:5e3,retries:3}}),X=t([]),Ye=[{label:`Native`,value:`native`},{label:`Docker`,value:`docker`}],Xe=s(()=>L.projects.map(e=>({label:e.name,value:e.id}))),Z=s(()=>[{label:V(`serviceForm.agentInherit`),value:P},...z.agents.map(e=>({label:`${e.config.name} ${e.status.connected?`(Online)`:`(Offline)`}`,value:e.config.id}))]);function Ze(){X.value=[...X.value,{key:``,value:``,isSecret:!1}]}function Qe(e){X.value=X.value.filter((t,n)=>n!==e)}function Q(){let e={},t=!1;for(let n of X.value){let r=n.key.trim();r&&(e[r]={value:{value:n.value,pre:``,post:``,isSecret:n.isSecret}},t=!0)}return t?e:void 0}async function $e(){if(v.id){W.value=!0;try{let e=await x.service.get.query({id:v.id});Y.agentId=e.agentId??P,Y.name=e.name,Y.cwd=e.cwd??``,Y.ports=(e.ports??[]).map(String),Y.runner=e.runner,Y.autoRestart=e.autoRestart,e.healthCheck&&(Y.healthCheck.enabled=!0,Y.healthCheck.path=e.healthCheck.path,Y.healthCheck.interval=e.healthCheck.interval,Y.healthCheck.timeout=e.healthCheck.timeout,Y.healthCheck.retries=e.healthCheck.retries),e.variables&&typeof e.variables==`object`&&Object.keys(e.variables).length>0&&(X.value=Object.entries(e.variables).map(([e,t])=>{let n=t;return{key:e,value:n.value.value??``,isSecret:n.value.isSecret??!1}}))}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e)??V(`serviceForm.failedToLoad`),life:5e3}),F.back()}finally{W.value=!1}}}async function $(){if(H.value&&v.id&&!G.value&&!W.value){if(!Y.name.trim()){I.add({severity:`warn`,summary:V(`serviceForm.validation`),detail:V(`serviceForm.nameRequired`),life:3e3});return}G.value=!0;try{let e={agentId:Y.agentId===P?null:Y.agentId||null,name:Y.name.trim(),cwd:Y.cwd.trim()||void 0,ports:Y.ports.map(Number).filter(e=>e>0&&e<=65535),runner:Y.runner,autoRestart:Y.autoRestart,variables:Q(),healthCheck:Y.healthCheck.enabled?{path:Y.healthCheck.path,interval:Y.healthCheck.interval,timeout:Y.healthCheck.timeout,retries:Y.healthCheck.retries}:void 0};(await x.service.update.mutate({id:v.id,...e}))?.stoppedForAgentChange?(K.value=e.agentId,q.value=v.id,I.add({severity:`warn`,summary:V(`serviceForm.saved`),detail:V(`serviceForm.agentChangedServiceStopped`),life:4e3})):I.add({severity:`success`,summary:V(`serviceForm.saved`),life:1500})}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e)??V(`serviceForm.failedToSave`),life:5e3})}finally{G.value=!1}}}async function et(){if(K.value&&q.value){J.value=!0;try{await Je.start(K.value,q.value),K.value=null,q.value=null,I.add({severity:`success`,summary:V(`serviceForm.restarted`),life:2e3})}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e),life:5e3})}finally{J.value=!1}}}async function tt(){if(!Y.name.trim()){I.add({severity:`warn`,summary:V(`serviceForm.validation`),detail:V(`serviceForm.nameRequired`),life:3e3});return}if(!Y.projectId){I.add({severity:`warn`,summary:V(`serviceForm.validation`),detail:V(`serviceForm.projectRequired`),life:3e3});return}G.value=!0;try{let e=L.getByRef({id:Y.projectId,orgId:B.activeOrgId})??L.getById(Y.projectId),t=await R.create({name:Y.name.trim(),...Y.agentId&&Y.agentId!==P?{agentId:Y.agentId}:{},projectId:Y.projectId,orgId:e?.orgId??null});if(!t)throw Error(R.error??`Failed to create service`);await L.addService(e??{id:Y.projectId},t.id),I.add({severity:`success`,summary:V(`serviceForm.serviceCreated`),detail:V(`serviceForm.configureAfterCreate`),life:3e3}),F.push({name:`service-detail`,params:{id:t.id,tab:`config`}})}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e)??V(`serviceForm.failedToSave`),life:5e3})}finally{G.value=!1}}return ee(async()=>{await Promise.all([L.fetchAll(),z.fetchAll()]),U.value?Y.projectId=U.value:!Y.projectId&&B.activeProjectId&&(Y.projectId=B.activeProjectId),H.value&&await $e()}),(t,n)=>(l(),a(`div`,he,[i(`div`,ge,[r(e(_),{icon:`ti ti-arrow-left`,severity:`secondary`,variant:`text`,rounded:``,onClick:n[0]||=t=>e(F).back()}),i(`h1`,null,d(H.value?e(V)(`serviceForm.editTitle`):e(V)(`serviceForm.createTitle`)),1)]),q.value?(l(),a(`div`,_e,[i(`span`,null,d(e(V)(`serviceForm.agentChangedServiceStopped`)),1),r(e(_),{label:e(V)(`serviceForm.restartNow`),icon:`ti ti-player-play`,severity:`warn`,size:`small`,loading:J.value,onClick:et},null,8,[`label`,`loading`]),r(e(_),{icon:`ti ti-x`,severity:`secondary`,variant:`text`,rounded:``,size:`small`,onClick:n[1]||=e=>{q.value=null,K.value=null}})])):f(``,!0),W.value?(l(),a(`div`,ve,[r(e(re))])):(l(),a(`form`,{key:2,class:`service-form`,onSubmit:m(tt,[`prevent`])},[H.value?(l(),a(u,{key:1},[i(`div`,M,[i(`div`,N,[i(`div`,xe,[i(`label`,Se,d(e(V)(`serviceForm.nameLabelShort`)),1),r(e(h),{id:`svc-name-edit`,modelValue:Y.name,"onUpdate:modelValue":n[6]||=e=>Y.name=e,placeholder:`my-service`,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Ce,[i(`label`,we,d(e(V)(`serviceForm.runnerLabel`)),1),r(e(g),{id:`svc-runner`,modelValue:Y.runner,"onUpdate:modelValue":n[7]||=e=>Y.runner=e,options:Ye,optionLabel:`label`,optionValue:`value`,class:`w-full`,onChange:$},null,8,[`modelValue`])])]),i(`div`,Te,[i(`label`,Ee,d(e(V)(`serviceForm.agentLabel`)),1),r(e(g),{id:`svc-agent-edit`,modelValue:Y.agentId,"onUpdate:modelValue":n[8]||=e=>Y.agentId=e,options:Z.value,optionLabel:`label`,optionValue:`value`,class:`w-full`,onChange:$},null,8,[`modelValue`,`options`]),i(`small`,De,d(e(V)(`serviceForm.agentHintEdit`)),1)]),i(`div`,Oe,[i(`div`,ke,[i(`label`,Ae,d(e(V)(`serviceForm.cwdLabel`)),1),r(e(h),{id:`svc-cwd`,modelValue:Y.cwd,"onUpdate:modelValue":n[9]||=e=>Y.cwd=e,placeholder:`.`,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,je,[i(`label`,Me,d(e(V)(`serviceForm.portsLabel`)),1),r(e(ae),{inputId:`svc-ports`,modelValue:Y.ports,"onUpdate:modelValue":n[10]||=e=>Y.ports=e,multiple:``,typeahead:!1,placeholder:e(V)(`serviceForm.portsPlaceholder`),class:`w-full`,onChange:$},null,8,[`modelValue`,`placeholder`])])]),i(`div`,Ne,[r(e(oe),{modelValue:Y.autoRestart,"onUpdate:modelValue":n[11]||=e=>Y.autoRestart=e,inputId:`svc-autorestart`,onChange:$},null,8,[`modelValue`]),i(`label`,Pe,d(e(V)(`serviceForm.autoRestart`)),1)])]),r(e(b)),i(`div`,Fe,[i(`div`,Ie,[i(`h3`,null,d(e(V)(`serviceForm.envVars`)),1),r(e(_),{label:e(V)(`serviceForm.addEnvVar`),icon:`ti ti-plus`,severity:`secondary`,size:`small`,onClick:Ze},null,8,[`label`])]),X.value.length===0?(l(),a(`div`,Le,[i(`small`,null,d(e(V)(`serviceForm.noEnvVars`)),1)])):f(``,!0),(l(!0),a(u,null,o(X.value,(t,o)=>(l(),a(`div`,{key:o,class:`env-row`},[r(e(h),{modelValue:t.key,"onUpdate:modelValue":e=>t.key=e,placeholder:`KEY`,class:`env-key`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeydown`]),n[17]||=i(`span`,{class:`env-eq`},`=`,-1),r(e(h),{modelValue:t.value,"onUpdate:modelValue":e=>t.value=e,placeholder:`value`,class:`env-value`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeydown`]),r(e(_),{icon:`ti ti-trash`,severity:`danger`,variant:`text`,rounded:``,size:`small`,onClick:()=>{Qe(o),$()}},null,8,[`onClick`])]))),128))]),r(e(b)),r(e(ne),{legend:e(V)(`serviceForm.healthCheck`),toggleable:!0,collapsed:!Y.healthCheck.enabled,onToggle:n[16]||=e=>{Y.healthCheck.enabled=!e.value,$()}},{default:te(()=>[i(`div`,Re,[i(`label`,ze,d(e(V)(`serviceForm.healthCheckPath`)),1),r(e(h),{id:`hc-path`,modelValue:Y.healthCheck.path,"onUpdate:modelValue":n[12]||=e=>Y.healthCheck.path=e,placeholder:`/health`,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Be,[i(`div`,Ve,[i(`label`,He,d(e(V)(`serviceForm.interval`)),1),r(e(y),{id:`hc-interval`,modelValue:Y.healthCheck.interval,"onUpdate:modelValue":n[13]||=e=>Y.healthCheck.interval=e,min:1e3,step:1e3,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Ue,[i(`label`,We,d(e(V)(`serviceForm.timeout`)),1),r(e(y),{id:`hc-timeout`,modelValue:Y.healthCheck.timeout,"onUpdate:modelValue":n[14]||=e=>Y.healthCheck.timeout=e,min:500,step:500,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Ge,[i(`label`,Ke,d(e(V)(`serviceForm.retries`)),1),r(e(y),{id:`hc-retries`,modelValue:Y.healthCheck.retries,"onUpdate:modelValue":n[15]||=e=>Y.healthCheck.retries=e,min:0,max:20,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])])]),_:1},8,[`legend`,`collapsed`]),r(e(b))],64)):(l(),a(u,{key:0},[i(`div`,ye,[i(`div`,be,[i(`label`,C,d(e(V)(`serviceForm.projectLabel`)),1),r(e(g),{id:`svc-project`,modelValue:Y.projectId,"onUpdate:modelValue":n[2]||=e=>Y.projectId=e,options:Xe.value,optionLabel:`label`,optionValue:`value`,placeholder:e(V)(`serviceForm.projectPlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),i(`small`,w,d(e(V)(`serviceForm.projectHint`)),1)]),i(`div`,T,[i(`label`,E,d(e(V)(`serviceForm.agentLabel`)),1),r(e(g),{id:`svc-agent`,modelValue:Y.agentId,"onUpdate:modelValue":n[3]||=e=>Y.agentId=e,options:Z.value,optionLabel:`label`,optionValue:`value`,placeholder:e(V)(`serviceForm.agentInherit`),"show-clear":``,class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),i(`small`,D,d(e(V)(`serviceForm.agentHint`)),1)]),i(`div`,O,[i(`label`,k,d(e(V)(`serviceForm.nameLabel`)),1),r(e(h),{id:`svc-name`,modelValue:Y.name,"onUpdate:modelValue":n[4]||=e=>Y.name=e,placeholder:`my-service`,class:`w-full`},null,8,[`modelValue`]),i(`small`,A,d(e(V)(`serviceForm.nameConfigHint`)),1)])]),r(e(b)),i(`div`,j,[r(e(_),{label:e(V)(`serviceForm.cancel`),severity:`secondary`,variant:`text`,onClick:n[5]||=t=>e(F).back()},null,8,[`label`]),r(e(_),{label:e(V)(`serviceForm.create`),icon:`ti ti-check`,loading:G.value,type:`submit`},null,8,[`label`,`loading`])])],64))],32))]))}}),[[`__scopeId`,`data-v-d66dd220`]]);export{F as default};
|
|
1
|
+
import{B as e,C as t,x as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as r,_ as i,b as a,bt as o,ct as ee,g as s,k as c,mt as l,o as u,qt as te,rn as d,y as f}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as p,I as m}from"./floating-ui.dom-DWhsZyqT.js";import{F as ne,H as re,J as h,P as ie,S as g,dt as _,ft as v,i as ae,k as oe,l as y,mt as se,z as b}from"./src-Ds4DOFJs.js";import{n as ce}from"./project-launch.store-C7xfTlMc.js";import{g as le,h as ue}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as x}from"./trpc-B5Yw_z6v.js";import{n as de}from"./project.store-ZpH_PaSy.js";import{n as S}from"./error-DpF7X5iu.js";import{t as fe}from"./service.store-Dti7eDhR.js";import{t as pe}from"./agent.store-DTyu_McS.js";import{c as me}from"./index-DTrxphh3.js";var he={class:`service-form-page`},ge={class:`page-header`},_e={key:0,class:`restart-banner`},ve={key:1,class:`loading-container`},ye={class:`form-section`},be={class:`form-group`},C={for:`svc-project`},w={class:`form-hint`},T={class:`form-group`},E={for:`svc-agent`},D={class:`form-hint`},O={class:`form-group`},k={for:`svc-name`},A={class:`form-hint`},j={class:`form-actions`},M={class:`form-section`},N={class:`form-row`},xe={class:`form-group flex-1`},Se={for:`svc-name-edit`},Ce={class:`form-group`,style:{width:`160px`}},we={for:`svc-runner`},Te={class:`form-group`},Ee={for:`svc-agent-edit`},De={class:`form-hint`},Oe={class:`form-row`},ke={class:`form-group flex-1`},Ae={for:`svc-cwd`},je={class:`form-group`,style:{"min-width":`200px`}},Me={for:`svc-ports`},Ne={class:`form-group switch-group`},Pe={for:`svc-autorestart`},Fe={class:`form-section`},Ie={class:`section-header`},Le={key:0,class:`empty-env`},Re={class:`form-group`},ze={for:`hc-path`},Be={class:`form-row`},Ve={class:`form-group flex-1`},He={for:`hc-interval`},Ue={class:`form-group flex-1`},We={for:`hc-timeout`},Ge={class:`form-group flex-1`},Ke={for:`hc-retries`},P=`__inherit__`,F=v(c({__name:`ServiceFormPage`,props:{id:{}},setup(c){let v=c,F=le(),qe=ue(),I=ie(),L=de(),R=fe(),z=pe(),B=ce(),Je=me(),{t:V}=se(),H=s(()=>!!v.id),U=s(()=>qe.query.projectId),W=t(!1),G=t(!1),K=t(null),q=t(null),J=t(!1),Y=n({projectId:``,agentId:P,name:``,cwd:``,ports:[],runner:`native`,autoRestart:!1,healthCheck:{enabled:!1,path:``,interval:3e4,timeout:5e3,retries:3}}),X=t([]),Ye=[{label:`Native`,value:`native`},{label:`Docker`,value:`docker`}],Xe=s(()=>L.projects.map(e=>({label:e.name,value:e.id}))),Z=s(()=>[{label:V(`serviceForm.agentInherit`),value:P},...z.agents.map(e=>({label:`${e.config.name} ${e.status.connected?`(Online)`:`(Offline)`}`,value:e.config.id}))]);function Ze(){X.value=[...X.value,{key:``,value:``,isSecret:!1}]}function Qe(e){X.value=X.value.filter((t,n)=>n!==e)}function Q(){let e={},t=!1;for(let n of X.value){let r=n.key.trim();r&&(e[r]={value:{value:n.value,pre:``,post:``,isSecret:n.isSecret}},t=!0)}return t?e:void 0}async function $e(){if(v.id){W.value=!0;try{let e=await x.service.get.query({id:v.id});Y.agentId=e.agentId??P,Y.name=e.name,Y.cwd=e.cwd??``,Y.ports=(e.ports??[]).map(String),Y.runner=e.runner,Y.autoRestart=e.autoRestart,e.healthCheck&&(Y.healthCheck.enabled=!0,Y.healthCheck.path=e.healthCheck.path,Y.healthCheck.interval=e.healthCheck.interval,Y.healthCheck.timeout=e.healthCheck.timeout,Y.healthCheck.retries=e.healthCheck.retries),e.variables&&typeof e.variables==`object`&&Object.keys(e.variables).length>0&&(X.value=Object.entries(e.variables).map(([e,t])=>{let n=t;return{key:e,value:n.value.value??``,isSecret:n.value.isSecret??!1}}))}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e)??V(`serviceForm.failedToLoad`),life:5e3}),F.back()}finally{W.value=!1}}}async function $(){if(H.value&&v.id&&!G.value&&!W.value){if(!Y.name.trim()){I.add({severity:`warn`,summary:V(`serviceForm.validation`),detail:V(`serviceForm.nameRequired`),life:3e3});return}G.value=!0;try{let e={agentId:Y.agentId===P?null:Y.agentId||null,name:Y.name.trim(),cwd:Y.cwd.trim()||void 0,ports:Y.ports.map(Number).filter(e=>e>0&&e<=65535),runner:Y.runner,autoRestart:Y.autoRestart,variables:Q(),healthCheck:Y.healthCheck.enabled?{path:Y.healthCheck.path,interval:Y.healthCheck.interval,timeout:Y.healthCheck.timeout,retries:Y.healthCheck.retries}:void 0};(await x.service.update.mutate({id:v.id,...e}))?.stoppedForAgentChange?(K.value=e.agentId,q.value=v.id,I.add({severity:`warn`,summary:V(`serviceForm.saved`),detail:V(`serviceForm.agentChangedServiceStopped`),life:4e3})):I.add({severity:`success`,summary:V(`serviceForm.saved`),life:1500})}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e)??V(`serviceForm.failedToSave`),life:5e3})}finally{G.value=!1}}}async function et(){if(K.value&&q.value){J.value=!0;try{await Je.start(K.value,q.value),K.value=null,q.value=null,I.add({severity:`success`,summary:V(`serviceForm.restarted`),life:2e3})}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e),life:5e3})}finally{J.value=!1}}}async function tt(){if(!Y.name.trim()){I.add({severity:`warn`,summary:V(`serviceForm.validation`),detail:V(`serviceForm.nameRequired`),life:3e3});return}if(!Y.projectId){I.add({severity:`warn`,summary:V(`serviceForm.validation`),detail:V(`serviceForm.projectRequired`),life:3e3});return}G.value=!0;try{let e=L.getByRef({id:Y.projectId,orgId:B.activeOrgId})??L.getById(Y.projectId),t=await R.create({name:Y.name.trim(),...Y.agentId&&Y.agentId!==P?{agentId:Y.agentId}:{},projectId:Y.projectId,orgId:e?.orgId??null});if(!t)throw Error(R.error??`Failed to create service`);await L.addService(e??{id:Y.projectId},t.id),I.add({severity:`success`,summary:V(`serviceForm.serviceCreated`),detail:V(`serviceForm.configureAfterCreate`),life:3e3}),F.push({name:`service-detail`,params:{id:t.id,tab:`config`}})}catch(e){I.add({severity:`error`,summary:V(`serviceForm.error`),detail:S(e)??V(`serviceForm.failedToSave`),life:5e3})}finally{G.value=!1}}return ee(async()=>{await Promise.all([L.fetchAll(),z.fetchAll()]),U.value?Y.projectId=U.value:!Y.projectId&&B.activeProjectId&&(Y.projectId=B.activeProjectId),H.value&&await $e()}),(t,n)=>(l(),a(`div`,he,[i(`div`,ge,[r(e(_),{icon:`ti ti-arrow-left`,severity:`secondary`,variant:`text`,rounded:``,onClick:n[0]||=t=>e(F).back()}),i(`h1`,null,d(H.value?e(V)(`serviceForm.editTitle`):e(V)(`serviceForm.createTitle`)),1)]),q.value?(l(),a(`div`,_e,[i(`span`,null,d(e(V)(`serviceForm.agentChangedServiceStopped`)),1),r(e(_),{label:e(V)(`serviceForm.restartNow`),icon:`ti ti-player-play`,severity:`warn`,size:`small`,loading:J.value,onClick:et},null,8,[`label`,`loading`]),r(e(_),{icon:`ti ti-x`,severity:`secondary`,variant:`text`,rounded:``,size:`small`,onClick:n[1]||=e=>{q.value=null,K.value=null}})])):f(``,!0),W.value?(l(),a(`div`,ve,[r(e(re))])):(l(),a(`form`,{key:2,class:`service-form`,onSubmit:m(tt,[`prevent`])},[H.value?(l(),a(u,{key:1},[i(`div`,M,[i(`div`,N,[i(`div`,xe,[i(`label`,Se,d(e(V)(`serviceForm.nameLabelShort`)),1),r(e(h),{id:`svc-name-edit`,modelValue:Y.name,"onUpdate:modelValue":n[6]||=e=>Y.name=e,placeholder:`my-service`,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Ce,[i(`label`,we,d(e(V)(`serviceForm.runnerLabel`)),1),r(e(g),{id:`svc-runner`,modelValue:Y.runner,"onUpdate:modelValue":n[7]||=e=>Y.runner=e,options:Ye,optionLabel:`label`,optionValue:`value`,class:`w-full`,onChange:$},null,8,[`modelValue`])])]),i(`div`,Te,[i(`label`,Ee,d(e(V)(`serviceForm.agentLabel`)),1),r(e(g),{id:`svc-agent-edit`,modelValue:Y.agentId,"onUpdate:modelValue":n[8]||=e=>Y.agentId=e,options:Z.value,optionLabel:`label`,optionValue:`value`,class:`w-full`,onChange:$},null,8,[`modelValue`,`options`]),i(`small`,De,d(e(V)(`serviceForm.agentHintEdit`)),1)]),i(`div`,Oe,[i(`div`,ke,[i(`label`,Ae,d(e(V)(`serviceForm.cwdLabel`)),1),r(e(h),{id:`svc-cwd`,modelValue:Y.cwd,"onUpdate:modelValue":n[9]||=e=>Y.cwd=e,placeholder:`.`,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,je,[i(`label`,Me,d(e(V)(`serviceForm.portsLabel`)),1),r(e(ae),{inputId:`svc-ports`,modelValue:Y.ports,"onUpdate:modelValue":n[10]||=e=>Y.ports=e,multiple:``,typeahead:!1,placeholder:e(V)(`serviceForm.portsPlaceholder`),class:`w-full`,onChange:$},null,8,[`modelValue`,`placeholder`])])]),i(`div`,Ne,[r(e(oe),{modelValue:Y.autoRestart,"onUpdate:modelValue":n[11]||=e=>Y.autoRestart=e,inputId:`svc-autorestart`,onChange:$},null,8,[`modelValue`]),i(`label`,Pe,d(e(V)(`serviceForm.autoRestart`)),1)])]),r(e(b)),i(`div`,Fe,[i(`div`,Ie,[i(`h3`,null,d(e(V)(`serviceForm.envVars`)),1),r(e(_),{label:e(V)(`serviceForm.addEnvVar`),icon:`ti ti-plus`,severity:`secondary`,size:`small`,onClick:Ze},null,8,[`label`])]),X.value.length===0?(l(),a(`div`,Le,[i(`small`,null,d(e(V)(`serviceForm.noEnvVars`)),1)])):f(``,!0),(l(!0),a(u,null,o(X.value,(t,o)=>(l(),a(`div`,{key:o,class:`env-row`},[r(e(h),{modelValue:t.key,"onUpdate:modelValue":e=>t.key=e,placeholder:`KEY`,class:`env-key`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeydown`]),n[17]||=i(`span`,{class:`env-eq`},`=`,-1),r(e(h),{modelValue:t.value,"onUpdate:modelValue":e=>t.value=e,placeholder:`value`,class:`env-value`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onUpdate:modelValue`,`onKeydown`]),r(e(_),{icon:`ti ti-trash`,severity:`danger`,variant:`text`,rounded:``,size:`small`,onClick:()=>{Qe(o),$()}},null,8,[`onClick`])]))),128))]),r(e(b)),r(e(ne),{legend:e(V)(`serviceForm.healthCheck`),toggleable:!0,collapsed:!Y.healthCheck.enabled,onToggle:n[16]||=e=>{Y.healthCheck.enabled=!e.value,$()}},{default:te(()=>[i(`div`,Re,[i(`label`,ze,d(e(V)(`serviceForm.healthCheckPath`)),1),r(e(h),{id:`hc-path`,modelValue:Y.healthCheck.path,"onUpdate:modelValue":n[12]||=e=>Y.healthCheck.path=e,placeholder:`/health`,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Be,[i(`div`,Ve,[i(`label`,He,d(e(V)(`serviceForm.interval`)),1),r(e(y),{id:`hc-interval`,modelValue:Y.healthCheck.interval,"onUpdate:modelValue":n[13]||=e=>Y.healthCheck.interval=e,min:1e3,step:1e3,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Ue,[i(`label`,We,d(e(V)(`serviceForm.timeout`)),1),r(e(y),{id:`hc-timeout`,modelValue:Y.healthCheck.timeout,"onUpdate:modelValue":n[14]||=e=>Y.healthCheck.timeout=e,min:500,step:500,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),i(`div`,Ge,[i(`label`,Ke,d(e(V)(`serviceForm.retries`)),1),r(e(y),{id:`hc-retries`,modelValue:Y.healthCheck.retries,"onUpdate:modelValue":n[15]||=e=>Y.healthCheck.retries=e,min:0,max:20,class:`w-full`,onBlur:$,onKeydown:p(m($,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])])])]),_:1},8,[`legend`,`collapsed`]),r(e(b))],64)):(l(),a(u,{key:0},[i(`div`,ye,[i(`div`,be,[i(`label`,C,d(e(V)(`serviceForm.projectLabel`)),1),r(e(g),{id:`svc-project`,modelValue:Y.projectId,"onUpdate:modelValue":n[2]||=e=>Y.projectId=e,options:Xe.value,optionLabel:`label`,optionValue:`value`,placeholder:e(V)(`serviceForm.projectPlaceholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),i(`small`,w,d(e(V)(`serviceForm.projectHint`)),1)]),i(`div`,T,[i(`label`,E,d(e(V)(`serviceForm.agentLabel`)),1),r(e(g),{id:`svc-agent`,modelValue:Y.agentId,"onUpdate:modelValue":n[3]||=e=>Y.agentId=e,options:Z.value,optionLabel:`label`,optionValue:`value`,placeholder:e(V)(`serviceForm.agentInherit`),"show-clear":``,class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),i(`small`,D,d(e(V)(`serviceForm.agentHint`)),1)]),i(`div`,O,[i(`label`,k,d(e(V)(`serviceForm.nameLabel`)),1),r(e(h),{id:`svc-name`,modelValue:Y.name,"onUpdate:modelValue":n[4]||=e=>Y.name=e,placeholder:`my-service`,class:`w-full`},null,8,[`modelValue`]),i(`small`,A,d(e(V)(`serviceForm.nameConfigHint`)),1)])]),r(e(b)),i(`div`,j,[r(e(_),{label:e(V)(`serviceForm.cancel`),severity:`secondary`,variant:`text`,onClick:n[5]||=t=>e(F).back()},null,8,[`label`]),r(e(_),{label:e(V)(`serviceForm.create`),icon:`ti ti-check`,loading:G.value,type:`submit`},null,8,[`label`,`loading`])])],64))],32))]))}}),[[`__scopeId`,`data-v-d66dd220`]]);export{F as default};
|