@runeya/runeya 2.0.142 → 2.0.143
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/package.json +1 -1
- package/web/assets/{AgentScalarChatInterface.vue-uNy1P-l4.js → AgentScalarChatInterface.vue-B-SjOsdj.js} +1 -1
- package/web/assets/{AgentTerminalPage-CFnALyb1.js → AgentTerminalPage-JzC8DUgu.js} +1 -1
- package/web/assets/{AiChatModals-B6svb69W.js → AiChatModals-D1928AxG.js} +1 -1
- package/web/assets/AppLayout-8sBPr3od.css +1 -0
- package/web/assets/AppLayout-CVQIBYqg.js +1 -0
- package/web/assets/{AuditPage-BsSpX2TJ.js → AuditPage-BZIJ3_Kr.js} +1 -1
- package/web/assets/{CloudAccountPage-DabrwDsa.js → CloudAccountPage-DBv470sT.js} +1 -1
- package/web/assets/CloudMessagingPage-Cn3JhJsY.css +1 -0
- package/web/assets/CloudMessagingPage-qCI8-UDL.js +2 -0
- package/web/assets/{DashboardPage-DMByzpgW.js → DashboardPage-D0UZM0mr.js} +1 -1
- package/web/assets/{DirectoryPickerDialog-CDyk4Z_Q.js → DirectoryPickerDialog-B5DvDfQP.js} +1 -1
- package/web/assets/{EditorIcon-BGHxAlSR.js → EditorIcon-CypGLV6w.js} +1 -1
- package/web/assets/{EnvironmentForm-BlGWpU2_.js → EnvironmentForm-Bw8Djnqm.js} +1 -1
- package/web/assets/EnvironmentForm-CkKVSiT7.css +1 -0
- package/web/assets/EnvironmentFormPage-B59uiYtp.js +1 -0
- package/web/assets/EnvironmentFormPage-C1gS0BI_.css +1 -0
- package/web/assets/EnvironmentListPage-BKhq_xXN.css +1 -0
- package/web/assets/EnvironmentListPage-W9zLDZAg.js +1 -0
- package/web/assets/{FlagChip-CHio0TB3.js → FlagChip-R_T5qYpL.js} +1 -1
- package/web/assets/{KanbanBoardPage-C52zM-Zw.js → KanbanBoardPage-DwPqoJDJ.js} +3 -3
- package/web/assets/{KanbanListPage-BmNdd1aP.js → KanbanListPage-Bn9k8Rpc.js} +1 -1
- package/web/assets/{LaunchProjectPage-B5sXxaet.js → LaunchProjectPage-Dc7v1UjQ.js} +1 -1
- package/web/assets/{LaunchServicesPage-C1u6lV4l.js → LaunchServicesPage-CXUS9O3y.js} +1 -1
- package/web/assets/{LaunchShell-CeyVMzL2.js → LaunchShell-LonTJpb3.js} +1 -1
- package/web/assets/LogViewer-DkuqWYkQ.js +3 -0
- package/web/assets/{LogViewer-DEsbVxax.css → LogViewer-OHdSLleq.css} +1 -1
- package/web/assets/{OrgKeyPrompt-NDfCQ-In.js → OrgKeyPrompt-By1VjlSN.js} +1 -1
- package/web/assets/{ProcessControls-D23gTUiv.js → ProcessControls-C0skzKGL.js} +1 -1
- package/web/assets/{ProcessDetailPage-vHpK0Eer.js → ProcessDetailPage-BvPX6z_X.js} +1 -1
- package/web/assets/{ProcessMetrics-DtneQJzo.js → ProcessMetrics-Crlfkelj.js} +1 -1
- package/web/assets/{ProjectCreateDialog-2PZX7tq2.js → ProjectCreateDialog-C4o9u15L.js} +1 -1
- package/web/assets/{ProjectLocationGate-fMAxwT0y.js → ProjectLocationGate-BJ1CSQt0.js} +1 -1
- package/web/assets/{ProjectPublishDialog-BylWoa0n.js → ProjectPublishDialog-Cp-zXdGm.js} +1 -1
- package/web/assets/{RandomJobTestPage-DUclmkBw.js → RandomJobTestPage-DF4a1U13.js} +1 -1
- package/web/assets/{ScenarioEditorPage-DbEsfuZa.js → ScenarioEditorPage-Dl-gEkJI.js} +1 -1
- package/web/assets/{SendToChatDialog-DGuOMMrS.js → SendToChatDialog-Dg2SHkVD.js} +1 -1
- package/web/assets/{ServiceControlsBar-D6M8hYFk.js → ServiceControlsBar-q2VHWaxK.js} +1 -1
- package/web/assets/ServiceDetailPage-CJ8WaFod.js +2 -0
- package/web/assets/ServiceDetailPage-COdaCZ6r.css +1 -0
- package/web/assets/{ServiceFormPage-BgHSW1XX.js → ServiceFormPage-tT_n7WUy.js} +1 -1
- package/web/assets/{SettingsPage-CPFBr7QE.js → SettingsPage-CWakkv0V.js} +4 -4
- package/web/assets/{UnlockPage-B4VEN9LN.js → UnlockPage-BKAdMJkb.js} +1 -1
- package/web/assets/{VaultMigrationPage-9qDGbF9X.js → VaultMigrationPage-D9KUTTss.js} +1 -1
- package/web/assets/{VersionBadge-CqHdCnuJ.js → VersionBadge-moKP5bAv.js} +1 -1
- package/web/assets/{WikiPage-Pjosr1Vn.js → WikiPage-hLUndDxo.js} +1 -1
- package/web/assets/{WikiView-Bcxq2mQW.js → WikiView-rrjXRR72.js} +1 -1
- package/web/assets/{add-scalar-classes-BnJYThbS.js → add-scalar-classes-CBfRr8B2.js} +1 -1
- package/web/assets/{agent.store-DTyu_McS.js → agent.store-B3dVemmT.js} +1 -1
- package/web/assets/{auth-D_pCPFq7.js → auth-BCrvnP1U.js} +2 -2
- package/web/assets/{cloud-chat.store-CMklOB48.js → cloud-chat.store-Wg1poFem.js} +1 -1
- package/web/assets/{cloud-client-CX0pW7Kt.js → cloud-client-DQlUaoAw.js} +2 -2
- package/web/assets/{cloud-session-ja0-uvVS.js → cloud-session-DRUqcSGP.js} +2 -2
- package/web/assets/{editor.store-BAjGG8Ji.js → editor.store-SoH48ux2.js} +1 -1
- package/web/assets/i18n-BszFg0ko.js +1 -0
- package/web/assets/{index-eb4FRryj.css → index-C_JV7fYy.css} +1 -1
- package/web/assets/{index-DTrxphh3.js → index-D_x2s8Ut.js} +3 -3
- package/web/assets/{modal-Cvv2YgUo.js → modal-CpsVK_dA.js} +1 -1
- package/web/assets/{project-launch.store-C7xfTlMc.js → project-launch.store-C3fZeRGb.js} +1 -1
- package/web/assets/{project.store-ZpH_PaSy.js → project.store-BEk4fciH.js} +1 -1
- package/web/assets/{scenario.store-F78cizck.js → scenario.store-D-JrRiVO.js} +1 -1
- package/web/assets/{service.store-Dti7eDhR.js → service.store-B5uYZtyM.js} +1 -1
- package/web/assets/{settings-scope-CUuHrUpc.js → settings-scope-Blnwj3rR.js} +1 -1
- package/web/assets/{settings.store-De1-3IG8.js → settings.store-Bo3FYs1o.js} +1 -1
- package/web/assets/{src-Ds4DOFJs.js → src--GO-VSJ0.js} +2 -2
- package/web/assets/{src-DXlxwMXe.js → src-CAwAaB5j.js} +1 -1
- package/web/assets/src-CcvmgMAA.css +1 -0
- package/web/assets/{src-C0KK-qsF.js → src-DValZNJU.js} +2 -2
- package/web/assets/{src-DUVb4kUw.css → src-DuBXN1hu.css} +1 -1
- package/web/assets/{trpc-B5Yw_z6v.js → trpc-DbsE5GvQ.js} +3 -3
- package/web/assets/{useCloudOrg-QzX8ryg1.js → useCloudOrg-DygUBG1a.js} +1 -1
- package/web/assets/{useEnvVarAutocomplete-BdGgINv9.js → useEnvVarAutocomplete-DmYNOXgd.js} +1 -1
- package/web/assets/{useProjectCatalog-Cr90BND4.js → useProjectCatalog-D2mHB7dg.js} +1 -1
- package/web/assets/{useProjectCloudOrg-2wwByg2k.js → useProjectCloudOrg-avTCVold.js} +1 -1
- package/web/assets/{useServiceUrlHost-CxbARDeg.js → useServiceUrlHost-Q3fzGox3.js} +1 -1
- package/web/assets/vue-draggable-plus-BHsveB8w.css +1 -0
- package/web/assets/vue-draggable-plus-WgrMXXmE.js +1 -0
- package/web/index.html +20 -20
- package/web/assets/AppLayout-BKlJtfuQ.js +0 -1
- package/web/assets/AppLayout-C4sv2O-I.css +0 -1
- package/web/assets/CloudMessagingPage-BcEvuswL.css +0 -1
- package/web/assets/CloudMessagingPage-BtOJO5FB.js +0 -2
- package/web/assets/EnvironmentForm-CMwzl9kA.css +0 -1
- package/web/assets/EnvironmentFormPage-B-dpyO0_.js +0 -1
- package/web/assets/EnvironmentFormPage-CYv6PG5q.css +0 -1
- package/web/assets/EnvironmentListPage-BlaOiTVh.js +0 -1
- package/web/assets/EnvironmentListPage-fRWTY84U.css +0 -1
- package/web/assets/LogViewer-CAvRwSZu.js +0 -3
- package/web/assets/ServiceDetailPage-DOycCWLP.css +0 -1
- package/web/assets/ServiceDetailPage-G-A9ryZD.js +0 -2
- package/web/assets/i18n-CXvcscXP.js +0 -1
- package/web/assets/src-CR9xphzo.css +0 -1
- package/web/assets/vue-draggable-plus-2Opxvs3C.css +0 -1
- package/web/assets/vue-draggable-plus-pTwVkhnN.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,E as i,Ht as a,St as o,Yt as s,_ as c,b as l,bt as u,ct as d,en as f,ft as p,g as m,it as h,k as g,mt as _,nn as v,o as y,qt as b,rn as x,tt as S,v as C,y as w}from"./runtime-core.esm-bundler-DujKY9QV.js";import{I as T,P as E}from"./floating-ui.dom-DWhsZyqT.js";import{C as D,H as O,J as k,P as A,R as j,S as M,U as N,W as P,dt as F,ft as I,j as L,mt as R}from"./src-Ds4DOFJs.js";import{n as z}from"./project-launch.store-C7xfTlMc.js";import{i as B,n as V,t as H}from"./i18n-CXvcscXP.js";import{g as U,h as W}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as G}from"./vue-router-fin80h5W.js";import{r as K}from"./trpc-B5Yw_z6v.js";import{n as ee,r as q}from"./project.store-ZpH_PaSy.js";import{t as J}from"./cloud-auth-D_am4FlK.js";import{t as Y}from"./useProjectCatalog-Cr90BND4.js";import{n as X,r as te,t as ne}from"./error-DpF7X5iu.js";import{r as re}from"./cloud-session-ja0-uvVS.js";import{n as ie}from"./cloud-client-CX0pW7Kt.js";import{s as ae}from"./composables-DiiOYol8.js";import{t as oe}from"./use-polling-CEkhIY_9.js";import{t as se}from"./editor.store-BAjGG8Ji.js";import{t as Z}from"./useAiChatDrawer-D_ofn8Eo.js";import{l as ce}from"./dist-DoChtT9t.js";import{t as Q}from"./service.store-Dti7eDhR.js";import{t as le}from"./agent.store-DTyu_McS.js";import{n as ue,r as de}from"./process-BWkHpZOM.js";import{F as fe,G as pe,I as me,N as he,P as ge,c as _e,l as ve,p as ye,r as be,v as xe}from"./index-DTrxphh3.js";import{n as Se,t as Ce}from"./cloud-chat.store-CMklOB48.js";import{t as we}from"./page-actions-CSvO7j9F.js";import{t as Te}from"./EditorIcon-BGHxAlSR.js";import{t as Ee}from"./useServiceUrlHost-CxbARDeg.js";import{t as De}from"./ServiceControlsBar-D6M8hYFk.js";import{t as Oe}from"./OrgKeyPrompt-NDfCQ-In.js";import{t as ke}from"./ProjectCreateDialog-2PZX7tq2.js";import{t as Ae}from"./ProjectPublishDialog-BylWoa0n.js";import{t as je}from"./ProjectLocationGate-fMAxwT0y.js";function Me(e,n,r){let i=t(null),o=t(!0);function s(t){let n=e.value,a=n?r(n):null;if(o.value=t||i.value===null,!n||!a){i.value=null;return}let s=n.getBoundingClientRect(),c=a.getBoundingClientRect();i.value={x:c.left-s.left-n.clientLeft+n.scrollLeft,y:c.top-s.top-n.clientTop+n.scrollTop,w:c.width,h:c.height}}a(n,()=>S(()=>s(!1)));let c=null;return d(()=>{s(!0),c=new ResizeObserver(()=>s(!0)),e.value&&c.observe(e.value)}),h(()=>c?.disconnect()),{indicator:i,instant:o,place:s}}var Ne={class:`service-sidebar__header`},Pe={class:`service-sidebar__search`},Fe={class:`service-sidebar__search-wrapper`},Ie={class:`service-sidebar__list`},Le=[`draggable`,`onClick`,`onDragstart`,`onDragover`,`onDrop`],Re={class:`service-sidebar__group-label`},ze={class:`service-sidebar__group-badges`},Be=[`title`],Ve=[`title`],He=[`title`],Ue={class:`service-sidebar__group-count`},We={class:`service-sidebar__group-items`},Ge=[`onClick`],Ke={key:0,class:`ti ti-alert-triangle service-sidebar__status service-sidebar__status--error`},qe=[`title`],Je=[`title`],Ye=[`title`],Xe={key:4,class:`ti ti-circle-filled service-sidebar__status service-sidebar__status--running`},Ze={key:5,class:`ti ti-spin ti-loader-2 service-sidebar__status service-sidebar__status--starting`},Qe={key:6,class:`ti ti-circle service-sidebar__status service-sidebar__status--stopped`},$e={class:`service-sidebar__item-name`},et={key:0,class:`service-sidebar__empty`},tt={key:1,class:`service-sidebar__empty`},$=`__all__`,nt=I(g({__name:`ServiceSidebar`,props:{selectedServiceId:{},collapsed:{type:Boolean},activeProjectId:{},activeOrgId:{},portrait:{type:Boolean},width:{},resizing:{type:Boolean}},emits:[`select-service`,`add-service`,`toggle-collapse`],setup(n,{emit:o}){let d=n,p=m(()=>{if(!(d.collapsed||d.portrait||!d.width))return{width:`${d.width}px`,minWidth:`${d.width}px`}}),h=o,{t:g}=R(),b=ee(),C=Q(),T=_e(),D=t(``),O=m(()=>d.activeProjectId?b.getByRef({id:d.activeProjectId,orgId:d.activeOrgId}):null),A=m(()=>{let e=D.value.toLowerCase();if(!O.value)return[];let t=C.getByIds(O.value.serviceIds).filter(t=>!e||t.name.toLowerCase().includes(e)),n={errored:0,running:1,starting:2};return t.sort((e,t)=>{let r=Y(e.id),i=Y(t.id),a=r!==null&&r in n?n[r]:9,o=i!==null&&i in n?n[i]:9;if(a!==o)return a-o;let s=e=>e.trim().replace(/[^a-zA-Z0-9\s]/g,``).toLowerCase();return s(e.name).localeCompare(s(t.name))})}),j=m(()=>{let e=new Map;for(let t of A.value){let n=t.groups&&t.groups.length>0?t.groups:[$];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=O.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==$).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t,counts:G(t)})),i=e.get($);return i&&i.length>0&&r.push({key:$,label:g(`serviceSidebar.defaultGroup`),services:i,counts:G(i)}),r});function M(e,t){return`runeya.serviceSidebar.collapsedGroups.${e??`local`}:${t}`}function N(e,t){if(!t)return new Set;try{let n=localStorage.getItem(M(e,t));if(!n)return new Set;let r=JSON.parse(n);return Array.isArray(r)?new Set(r.filter(e=>typeof e==`string`)):new Set}catch{return new Set}}let P=t(N(d.activeOrgId,d.activeProjectId));a(()=>[d.activeOrgId,d.activeProjectId],([e,t])=>{P.value=N(e,t)});function I(){if(d.activeProjectId)try{localStorage.setItem(M(d.activeOrgId,d.activeProjectId),JSON.stringify([...P.value]))}catch{}}function L(e){let t=new Set(P.value);t.has(e)?t.delete(e):t.add(e),P.value=t,I()}let z=t(null),B=t(null);function V(e,t){if(e===$){t.preventDefault();return}z.value=e,t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`,t.dataTransfer.setData(`text/plain`,e))}function H(e,t){z.value&&e!==$&&e!==z.value&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`),B.value=e)}function U(e){let t=z.value;if(z.value=null,B.value=null,!t||e===$||t===e||!O.value)return;let n=j.value.map(e=>e.key).filter(e=>e!==$),r=n.indexOf(t),i=n.indexOf(e);r!==-1&&i!==-1&&(n.splice(r,1),n.splice(i,0,t),b.updateGroupOrder(O.value,n))}function W(){z.value=null,B.value=null}function G(e){let t=0,n=0,r=0;for(let i of e){let e=Y(i.id);if(e===`errored`)t++;else if(e===`running`){let e=X(i.id);e.hasHealthCheck&&e.status===`healthy`?n++:r++}}return{errored:t,healthy:n,running:r}}let K=t({});function q(e,t){t?K.value[e]=t:delete K.value[e]}async function J(){if(!d.selectedServiceId)return;await S();let e=K.value[d.selectedServiceId];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}a(A,J),a(()=>d.selectedServiceId,J);function Y(e){let t=T.getByService(e);return!t||t.length===0?null:t.some(e=>e.state===`errored`)?`errored`:t.some(e=>e.state===`running`)?`running`:t.some(e=>e.state===`starting`)?`starting`:`stopped`}function X(e){if(!C.getById(e)?.healthCheck)return{hasHealthCheck:!1,status:null};let t=T.getByService(e);return!t||t.length===0?{hasHealthCheck:!0,status:null}:t.some(e=>e.healthStatus===`unhealthy`)?{hasHealthCheck:!0,status:`unhealthy`}:t.every(e=>e.healthStatus===`healthy`)?{hasHealthCheck:!0,status:`healthy`}:{hasHealthCheck:!0,status:`unknown`}}return(t,a)=>(_(),l(y,null,[n.portrait&&!n.collapsed?(_(),l(`div`,{key:0,class:`service-sidebar__backdrop`,onClick:a[0]||=e=>h(`toggle-collapse`)})):w(``,!0),c(`aside`,{class:f([`service-sidebar`,{"service-sidebar--collapsed":n.collapsed,"service-sidebar--portrait":n.portrait,"service-sidebar--resizing":n.resizing}]),style:v(p.value)},[n.collapsed?w(``,!0):(_(),l(y,{key:0},[c(`div`,Ne,[r(e(F),{icon:`ti ti-plus`,label:e(g)(`serviceSidebar.addService`),variant:`outlined`,size:`small`,class:`service-sidebar__add-btn`,onClick:a[1]||=e=>h(`add-service`)},null,8,[`label`])]),c(`div`,Pe,[c(`span`,Fe,[a[3]||=c(`i`,{class:`ti ti-search`},null,-1),r(e(k),{modelValue:D.value,"onUpdate:modelValue":a[2]||=e=>D.value=e,placeholder:e(g)(`serviceSidebar.searchPlaceholder`),size:`small`,class:`service-sidebar__search-input`},null,8,[`modelValue`,`placeholder`])])]),c(`div`,Ie,[(_(!0),l(y,null,u(j.value,t=>(_(),l(`div`,{key:t.key,class:f([`service-sidebar__group`,{"service-sidebar__group--dragover":B.value===t.key}])},[c(`button`,{class:f([`service-sidebar__group-header`,{"service-sidebar__group-header--dragging":z.value===t.key}]),draggable:t.key!==$,onClick:e=>L(t.key),onDragstart:e=>V(t.key,e),onDragover:e=>H(t.key,e),onDrop:e=>U(t.key),onDragend:W},[c(`i`,{class:f(P.value.has(t.key)?`ti ti-chevron-right`:`ti ti-chevron-down`)},null,2),c(`span`,Re,x(t.label),1),c(`span`,ze,[t.counts.errored?(_(),l(`span`,{key:0,class:`service-sidebar__group-badge`,title:e(g)(`serviceSidebar.badgeErrored`)},[a[4]||=c(`i`,{class:`ti ti-alert-triangle service-sidebar__status--error`},null,-1),i(` `+x(t.counts.errored),1)],8,Be)):w(``,!0),t.counts.healthy?(_(),l(`span`,{key:1,class:`service-sidebar__group-badge`,title:e(g)(`serviceSidebar.badgeHealthy`)},[a[5]||=c(`i`,{class:`ti ti-heart-filled service-sidebar__status--healthy`},null,-1),i(` `+x(t.counts.healthy),1)],8,Ve)):w(``,!0),t.counts.running?(_(),l(`span`,{key:2,class:`service-sidebar__group-badge`,title:e(g)(`serviceSidebar.badgeRunning`)},[a[6]||=c(`i`,{class:`ti ti-circle-filled service-sidebar__status--running`},null,-1),i(` `+x(t.counts.running),1)],8,He)):w(``,!0)]),c(`span`,Ue,x(t.services.length),1)],42,Le),s(c(`div`,We,[(_(!0),l(y,null,u(t.services,t=>(_(),l(`button`,{key:t.id,ref_for:!0,ref:e=>q(t.id,e),class:f([`service-sidebar__item`,{"service-sidebar__item--active":n.selectedServiceId===t.id,"service-sidebar__item--inactive":!Y(t.id)||Y(t.id)===`stopped`}]),onClick:e=>{h(`select-service`,t.id),n.portrait&&h(`toggle-collapse`)}},[Y(t.id)===`errored`?(_(),l(`i`,Ke)):Y(t.id)===`running`&&X(t.id).hasHealthCheck&&X(t.id).status===`healthy`?(_(),l(`i`,{key:1,class:`ti ti-heart-filled service-sidebar__status service-sidebar__status--healthy`,title:e(g)(`serviceSidebar.healthHealthy`)},null,8,qe)):Y(t.id)===`running`&&X(t.id).hasHealthCheck&&X(t.id).status===`unhealthy`?(_(),l(`i`,{key:2,class:`ti ti-heart-filled service-sidebar__status service-sidebar__status--unhealthy`,title:e(g)(`serviceSidebar.healthUnhealthy`)},null,8,Je)):Y(t.id)===`running`&&X(t.id).hasHealthCheck&&X(t.id).status===`unknown`?(_(),l(`i`,{key:3,class:`ti ti-heart service-sidebar__status service-sidebar__status--health-pending`,title:e(g)(`serviceSidebar.healthWaiting`)},null,8,Ye)):Y(t.id)===`running`?(_(),l(`i`,Xe)):Y(t.id)===`starting`?(_(),l(`i`,Ze)):(_(),l(`i`,Qe)),c(`span`,$e,x(t.name),1)],10,Ge))),128))],512),[[E,!P.value.has(t.key)]])],2))),128)),O.value?A.value.length===0?(_(),l(`div`,tt,x(e(g)(`serviceSidebar.noServices`)),1)):w(``,!0):(_(),l(`div`,et,x(e(g)(`serviceSidebar.noProject`)),1))])],64))],6)],64))}}),[[`__scopeId`,`data-v-9a792af5`]]),rt={class:`notification-trigger`},it={class:`notification-panel`},at={class:`notification-header`},ot={class:`notification-title`},st={class:`notification-actions`},ct={key:0,class:`notification-empty`},lt={key:1,class:`notification-list`},ut=[`onClick`],dt={class:`notification-content`},ft={class:`notification-item-title`},pt={class:`notification-message`},mt={class:`notification-footer`},ht={class:`notification-time`},gt=[`onClick`],_t=I(g({__name:`NotificationCenter`,setup(n){let{t:i}=R(),a=ve(),o=U(),s=t(),d=m(()=>a.unreadCount>0),p=m(()=>a.notifications);function h(e){s.value.toggle(e)}function g(){a.markAllRead()}function S(){a.clear()}function E(e){a.remove(e)}function O(e){if(!e)return null;let t=e.trim();if(!t||!t.startsWith(`/`)||t.startsWith(`//`))return null;try{let e=new URL(t,window.location.origin);return e.origin===window.location.origin?`${e.pathname}${e.search}${e.hash}`:null}catch{return null}}function k(e,t){a.markRead(e);let n=O(t);n&&(o.push(n).catch(()=>{}),s.value?.hide())}function A(e){let t=Date.now()-e,n=Math.floor(t/1e3);if(n<60)return i(`notifications.justNow`);let r=Math.floor(n/60);if(r<60)return i(`notifications.minutesAgo`,{n:r});let a=Math.floor(r/60);if(a<24)return i(`notifications.hoursAgo`,{n:a});let o=Math.floor(a/24);return i(`notifications.daysAgo`,{n:o})}function M(e){switch(e){case`success`:return`ti ti-circle-check`;case`error`:return`ti ti-circle-x`;case`warn`:return`ti ti-alert-triangle`;default:return`ti ti-info-circle`}}function N(e){switch(e){case`success`:return`var(--r-green-500)`;case`error`:return`var(--r-red-500)`;case`warn`:return`var(--r-orange-500)`;default:return`var(--r-blue-500)`}}return(t,n)=>(_(),l(y,null,[c(`div`,rt,[r(e(F),{icon:`ti ti-bell`,variant:`text`,rounded:``,"aria-label":e(i)(`notifications.title`),onClick:h},null,8,[`aria-label`]),d.value?(_(),C(e(j),{key:0,value:e(a).unreadCount,severity:`danger`,class:`notification-badge`},null,8,[`value`])):w(``,!0)]),r(e(D),{ref_key:`op`,ref:s,class:`notification-overlay`},{default:b(()=>[c(`div`,it,[c(`div`,at,[c(`span`,ot,x(e(i)(`notifications.title`)),1),c(`div`,st,[d.value?(_(),C(e(F),{key:0,label:e(i)(`notifications.markAllRead`),variant:`text`,size:`small`,onClick:g},null,8,[`label`])):w(``,!0),p.value.length>0?(_(),C(e(F),{key:1,label:e(i)(`notifications.clear`),variant:`text`,size:`small`,severity:`secondary`,onClick:S},null,8,[`label`])):w(``,!0)])]),p.value.length===0?(_(),l(`div`,ct,[n[0]||=c(`i`,{class:`ti ti-bell-off`,style:{"font-size":`1.5rem`,"margin-bottom":`0.5rem`}},null,-1),c(`p`,null,x(e(i)(`notifications.empty`)),1)])):(_(),l(`div`,lt,[(_(!0),l(y,null,u(p.value,t=>(_(),l(`div`,{key:t.id,class:f([`notification-item`,{unread:!t.read}]),onClick:e=>k(t.id,t.link)},[c(`i`,{class:f(M(t.type)),style:v({color:N(t.type)})},null,6),c(`div`,dt,[c(`div`,ft,x(t.title),1),c(`div`,pt,x(t.message),1),c(`div`,mt,[c(`span`,ht,x(A(t.timestamp)),1),O(t.link)?(_(),l(`button`,{key:0,type:`button`,class:`notification-link`,onClick:T(e=>k(t.id,t.link),[`stop`])},x(t.linkLabel||e(i)(`notifications.openResource`)),9,gt)):w(``,!0)])]),r(e(F),{icon:`ti ti-x`,variant:`text`,rounded:``,size:`small`,severity:`secondary`,onClick:T(e=>E(t.id),[`stop`])},null,8,[`onClick`])],10,ut))),128))]))])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-4f65f60a`]]),vt={class:`lang-switcher`},yt=[`title`],bt={class:`lang-menu`},xt={class:`lang-menu__title`},St=[`onClick`],Ct=I(g({__name:`LanguageSwitcher`,setup(n){let{t:i}=R(),a=t(null),o={fr:`🇫🇷 Français`,en:`🇬🇧 English`};function s(e){a.value?.toggle(e)}function d(e){B(e),a.value?.hide()}return(t,n)=>(_(),l(`div`,vt,[c(`button`,{class:`lang-btn`,title:e(i)(`language.label`),onClick:s},[...n[0]||=[c(`i`,{class:`ti ti-language`},null,-1)]],8,yt),r(e(D),{ref_key:`popover`,ref:a},{default:b(()=>[c(`div`,bt,[c(`p`,xt,x(e(i)(`language.label`)),1),(_(!0),l(y,null,u(e(H),t=>(_(),l(`button`,{key:t,class:f([`lang-menu__item`,{"lang-menu__item--active":e(V)()===t}]),onClick:e=>d(t)},x(o[t]),11,St))),128))])]),_:1},512)]))}}),[[`__scopeId`,`data-v-d503afe4`]]),wt={class:`global-nav__top`},Tt=[`title`],Et={class:`global-nav__label`},Dt=[`title`],Ot={class:`global-nav__label`},kt=[`data-tab`,`title`,`onClick`],At={key:2,class:`global-nav__label`},jt=[`title`],Mt={key:0,class:`global-nav__badge`},Nt={key:1,class:`global-nav__label`},Pt={class:`global-nav__bottom`},Ft=[`title`],It=[`data-tab`,`title`,`data-testid`,`onClick`],Lt={key:0,class:`global-nav__label`},Rt={key:1,class:`global-nav__separator`},zt={class:`global-nav__util`},Bt={key:2,class:`global-nav__util`},Vt={key:3,class:`global-nav__util`},Ht=I(g({__name:`GlobalNavBar`,props:{activeTab:{},portrait:{type:Boolean}},emits:[`tab-change`,`toggle-service-sidebar`],setup(n,{emit:i}){let{t:o}=R(),s=Ce(),d=n,p=i,{isOpen:h,toggle:g}=Z(),b=m(()=>[{id:`dashboard`,icon:`ti ti-home`,label:o(`nav.dashboard`)},{id:`wiki-global`,icon:`ti ti-file-pencil`,label:`Wiki`},{id:`kanban`,icon:`ti ti-layout-grid`,label:o(`kanban.nav`)},{id:`issues`,icon:`ti ti-list`,label:o(`kanban.issuesNav`)},{id:`agent-terminal`,svgIcon:`terminal`,label:o(`nav.agentTerminal`)}]),T=m(()=>[{id:`environments`,icon:`ti ti-world`,label:o(`nav.environments`)},{id:`settings`,icon:`ti ti-adjustments-horizontal`,label:o(`nav.settings`)}]),E=t(null),{indicator:D,instant:O,place:k}=Me(E,()=>d.activeTab,e=>e.querySelector(`[data-tab="${d.activeTab}"]`));return a(()=>d.portrait,()=>S(()=>k(!0))),(t,i)=>(_(),l(`nav`,{ref_key:`nav`,ref:E,class:f([`global-nav`,{"global-nav--portrait":n.portrait}]),"data-testid":`global-nav`},[e(D)?(_(),l(`span`,{key:0,class:f([`global-nav__indicator`,{"global-nav__indicator--instant":e(O)}]),style:v({width:`${e(D).w}px`,height:`${e(D).h}px`,transform:`translate(${e(D).x}px, ${e(D).y}px)`}),"aria-hidden":`true`},null,6)):w(``,!0),c(`div`,wt,[n.portrait?(_(),l(`button`,{key:0,class:f([`global-nav__btn`,{"global-nav__btn--active":e(h)}]),title:e(o)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:i[0]||=(...t)=>e(g)&&e(g)(...t)},[c(`i`,{class:f(e(he))},null,2),c(`span`,Et,x(e(o)(`nav.aiChat`)),1)],10,Tt)):w(``,!0),n.portrait?(_(),l(`button`,{key:1,class:`global-nav__btn`,title:e(o)(`nav.services`),"data-testid":`global-nav-services-btn`,onClick:i[1]||=e=>p(`toggle-service-sidebar`)},[i[4]||=c(`i`,{class:`ti ti-list`},null,-1),c(`span`,Ot,x(e(o)(`nav.services`)),1)],8,Dt)):w(``,!0),(_(!0),l(y,null,u(b.value,e=>(_(),l(`button`,{key:e.id,class:f([`global-nav__btn`,{"global-nav__btn--current":n.activeTab===e.id}]),"data-tab":e.id,title:e.label,"data-testid":`global-nav-btn`,onClick:t=>p(`tab-change`,e.id)},[e.svgIcon===`terminal`?(_(),C(ye,{key:0})):(_(),l(`i`,{key:1,class:f(e.icon)},null,2)),n.portrait?(_(),l(`span`,At,x(e.label),1)):w(``,!0)],10,kt))),128)),c(`button`,{class:f([`global-nav__btn global-nav__btn--badged`,{"global-nav__btn--current":n.activeTab===`cloud-messaging`,"global-nav__btn--pulse":e(s).unreadCount>0&&n.activeTab!==`cloud-messaging`}]),"data-tab":`cloud-messaging`,title:e(o)(`nav.messaging`),"data-testid":`global-nav-messaging-btn`,onClick:i[2]||=e=>p(`tab-change`,`cloud-messaging`)},[c(`i`,{class:f(e(ge))},null,2),e(s).unreadCount>0?(_(),l(`span`,Mt,x(e(s).unreadCount>99?`99+`:e(s).unreadCount),1)):w(``,!0),n.portrait?(_(),l(`span`,Nt,x(e(o)(`nav.messaging`)),1)):w(``,!0)],10,jt)]),c(`div`,Pt,[n.portrait?w(``,!0):(_(),l(`button`,{key:0,class:f([`global-nav__btn`,{"global-nav__btn--active":e(h)}]),title:e(o)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:i[3]||=(...t)=>e(g)&&e(g)(...t)},[c(`i`,{class:f(e(he))},null,2)],10,Ft)),(_(!0),l(y,null,u(T.value,e=>(_(),l(`button`,{key:e.id,class:f([`global-nav__btn`,{"global-nav__btn--current":n.activeTab===e.id}]),"data-tab":e.id,title:e.label,"data-testid":e.id===`environments`?`nav-environments`:`global-nav-btn`,onClick:t=>p(`tab-change`,e.id)},[c(`i`,{class:f(e.icon)},null,2),n.portrait?(_(),l(`span`,Lt,x(e.label),1)):w(``,!0)],10,It))),128)),n.portrait?w(``,!0):(_(),l(`div`,Rt)),c(`div`,zt,[r(_t)]),n.portrait?w(``,!0):(_(),l(`div`,Bt,[r(e(be))])),n.portrait?w(``,!0):(_(),l(`div`,Vt,[r(Ct)]))])],2))}}),[[`__scopeId`,`data-v-b7a37059`]]),Ut={class:`service-nav`,"data-testid":`service-nav`},Wt={class:`service-nav__tabs`},Gt=[`title`,`onClick`],Kt={class:`service-nav__btn-inner`},qt={key:0,class:`service-nav__badge`},Jt=I(g({__name:`ServiceNavBar`,props:{activeTab:{},serviceId:{}},emits:[`tab-change`],setup(e,{emit:n}){let r=e,i=n,{t:o}=R(),s=m(()=>[{id:`wiki`,icon:`ti ti-file-pencil`,label:`Wiki`},{id:`terminal`,icon:`ti ti-code`,label:o(`serviceNavBar.terminal`)},{id:`metrics`,icon:`ti ti-chart-line`,label:o(`serviceNavBar.metrics`)},{id:`config`,icon:`ti ti-settings`,label:o(`serviceNavBar.config`)},{id:`git`,icon:`ti ti-brand-github`,label:o(`serviceNavBar.git`)}]),d=t(0),h=null,g=oe(v,6e4,`service-navbar:git-status`);async function v(){if(r.serviceId)try{let e=await K.git.status.query({serviceId:r.serviceId});d.value=e.staged.length+e.unstaged.length+e.untracked.length}catch{d.value=0}}function b(){S(),r.serviceId&&(h=K.git.onStatusChange.subscribe({serviceId:r.serviceId},{onData(e){d.value=e.staged.length+e.unstaged.length+e.untracked.length},onError(e){let t=e?.message??``;t.includes(`PRECONDITION_FAILED`)||t.includes(`Unresolved variables`)||v()}}),g.start())}function S(){h?.unsubscribe(),h=null,g.stop(),d.value=0}return a(()=>r.serviceId,e=>{e?b():S()},{immediate:!0}),p(S),(t,n)=>(_(),l(`nav`,Ut,[c(`div`,Wt,[(_(!0),l(y,null,u(s.value,t=>(_(),l(`button`,{key:t.id,class:f([`service-nav__btn`,{"service-nav__btn--active":e.activeTab===t.id}]),title:t.label,onClick:e=>i(`tab-change`,t.id)},[c(`div`,Kt,[c(`i`,{class:f(t.icon)},null,2),t.id===`git`&&d.value>0?(_(),l(`span`,qt,x(d.value>99?`99+`:d.value),1)):w(``,!0)])],10,Gt))),128))])]))}}),[[`__scopeId`,`data-v-27ca1182`]]),Yt={class:`service-header`},Xt={class:`service-header__banner`},Zt={class:`service-header__left`},Qt={key:0,class:`service-header__title`},$t=[`title`],en=[`title`],tn={key:1,class:`service-header__title`},nn=[`id`],rn={key:0,class:`service-header__right`},an={class:`service-header__editor-popover`},on={class:`service-header__editor-current`},sn={class:`service-header__editor-label`},cn={class:`service-header__editor-select`},ln={class:`service-header__editor-label`},un={key:0,class:`editor-option`},dn={class:`editor-option`},fn={key:0,class:`service-header__mismatch-banner`},pn={class:`service-header__mismatch-body`},mn={key:0},hn={key:1},gn={key:1,class:`service-header__clone-banner`},_n={key:0},vn={key:1},yn=I(g({__name:`ServiceHeader`,props:{service:{},totalProcesses:{},stateCount:{}},setup(d){let f=d,{t:p}=R(),h=W(),g=m(()=>{let e=h.meta.titleKey;return typeof e==`string`?p(e):`Runeya`}),v=A(),S=se(),E=t(),{urlHost:O}=Ee(()=>f.service?de(f.service)??void 0:void 0),k=m(()=>{let e=f.service;return e?ce(e,O.value).map(({url:e,source:t})=>({url:e,icon:t===`cloud`?`ti ti-cloud`:`ti ti-world`})):[]}),j=t(!1),P=t([]),I=t(null),L=t(null),z=t(!1);async function B(){if(!f.service?.git?.remote){j.value=!1,P.value=[],I.value=null,L.value=null;return}let e=f.service.id;try{let t=await K.service.checkCwd.query({id:e});P.value=t.unresolvedVars??[],I.value=t.resolvedCwd??null,L.value=t.gitMismatch??null,j.value=t.canClone||(t.unresolvedVars??[]).length>0,t.exists&&t.gitMismatch===null&&setTimeout(async()=>{if(f.service?.id===e)try{let t=await K.service.checkCwd.query({id:e,checkReachability:!0});if(f.service?.id!==e)return;L.value=t.gitMismatch??null}catch{}},1500)}catch(e){console.error(`[checkCwd] error:`,e),j.value=!1,P.value=[],I.value=null,L.value=null}}a(()=>f.service?.id,()=>B(),{immediate:!0});async function V(){if(f.service){z.value=!0;try{await K.service.cloneRepository.mutate({id:f.service.id}),j.value=!1,v.add({severity:`success`,summary:`Repository cloned`,detail:`Cloned into ${I.value??f.service.cwd??`.`}`,life:4e3})}catch(e){v.add({severity:`error`,summary:`Clone failed`,detail:e.message,life:6e3})}finally{z.value=!1}}}let H=m(()=>f.service?S.getEffectiveEditor(f.service.id):null),U=m(()=>f.service?S.getServiceEditor(f.service.id):null),G=m(()=>[{label:p(`serviceHeader.useDefault`),value:`__default__`},...S.installedEditors.map(e=>({label:e.name,value:e.key}))]),ee=m(()=>f.service?U.value?.key??`__default__`:`__default__`);function q(e){window.open(e,`_blank`)}function J(){let e=H.value,t=f.service?.cwd;if(!e){v.add({severity:`warn`,summary:p(`serviceHeader.noEditorConfigured`),detail:p(`serviceHeader.setDefaultEditorHint`),life:3e3});return}S.openEditor(e.key,t||`.`)}function Y(e){E.value?.toggle(e)}async function X(e){f.service&&(e===`__default__`?await S.removeServiceEditor(f.service.id):await S.setServiceEditor(f.service.id,e))}return(t,a)=>{let f=o(`router-link`),m=n(`tooltip`);return _(),l(`header`,Yt,[c(`div`,Xt,[c(`div`,Zt,[d.service?(_(),l(`h1`,Qt,[d.service.runner===`docker`?(_(),l(`i`,{key:0,class:`ti ti-box service-header__runner-icon`,title:e(p)(`serviceHeader.docker`)},null,8,$t)):(_(),l(`i`,{key:1,class:`ti ti-device-desktop service-header__runner-icon`,title:e(p)(`serviceHeader.native`)},null,8,en)),i(x(d.service.name),1)])):(_(),l(`h1`,tn,x(g.value),1)),d.service&&d.totalProcesses>0?(_(),C(e(N),{key:2,value:`${d.stateCount.running} running`,severity:d.stateCount.running>0?`success`:`secondary`,class:`service-header__tag`},null,8,[`value`,`severity`])):w(``,!0)]),c(`div`,{id:e(we),class:`service-header__actions`},null,8,nn),d.service?(_(),l(`div`,rn,[s((_(),C(e(F),{variant:`text`,rounded:``,size:`small`,"aria-label":e(p)(`serviceHeader.openInEditor`),onClick:J,onContextmenu:T(Y,[`prevent`])},{icon:b(()=>[r(Te,{"editor-key":H.value?.key??null,size:14},null,8,[`editor-key`])]),_:1},8,[`aria-label`])),[[m,H.value?`Open in ${H.value.name}`:e(p)(`serviceHeader.openInEditor`),void 0,{bottom:!0}]]),s(r(e(F),{icon:`ti ti-chevron-down`,variant:`text`,rounded:``,size:`small`,class:`service-header__editor-caret`,"aria-label":e(p)(`serviceHeader.editorOptions`),onClick:Y},null,8,[`aria-label`]),[[m,e(p)(`serviceHeader.editorSettings`),void 0,{bottom:!0}]]),r(e(D),{ref_key:`editorPopover`,ref:E},{default:b(()=>[c(`div`,an,[c(`div`,on,[c(`span`,sn,x(e(p)(`serviceHeader.editorDefault`)),1),c(`span`,null,x(e(S).defaultEditor?.name??e(p)(`serviceHeader.editorNotSet`)),1)]),c(`div`,cn,[c(`span`,ln,x(e(p)(`serviceHeader.editorThisService`)),1),r(e(M),{"model-value":ee.value,options:G.value,"option-label":`label`,"option-value":`value`,placeholder:e(p)(`serviceHeader.useDefault`),size:`small`,class:`service-header__editor-dropdown`,"onUpdate:modelValue":X},{value:b(e=>[e.value?(_(),l(`div`,un,[r(Te,{"editor-key":e.value===`__default__`?null:e.value,size:14},null,8,[`editor-key`]),c(`span`,null,x(G.value.find(t=>t.value===e.value)?.label),1)])):w(``,!0)]),option:b(e=>[c(`div`,dn,[r(Te,{"editor-key":e.option.value===`__default__`?null:e.option.value,size:14},null,8,[`editor-key`]),c(`span`,null,x(e.option.label),1)])]),_:1},8,[`model-value`,`options`,`placeholder`])]),r(f,{to:{name:`settings`,query:{section:`editor`}},class:`service-header__editor-settings-link`},{default:b(()=>[a[0]||=c(`i`,{class:`ti ti-settings`},null,-1),c(`span`,null,x(e(p)(`serviceHeader.editorSettings`)),1)]),_:1})])]),_:1},512),(_(!0),l(y,null,u(k.value,t=>s((_(),C(e(F),{key:t.url,icon:t.icon,variant:`text`,rounded:``,size:`small`,"aria-label":`${e(p)(`serviceHeader.openServiceUrl`)} — ${t.url}`,onClick:e=>q(t.url)},null,8,[`icon`,`aria-label`,`onClick`])),[[m,t.url,void 0,{bottom:!0}]])),128))])):w(``,!0)]),L.value&&d.service?(_(),l(`div`,fn,[a[10]||=c(`i`,{class:`ti ti-alert-triangle service-header__mismatch-icon`},null,-1),c(`div`,pn,[c(`strong`,null,x(L.value.unreachable?`Git remote unreachable`:L.value.actual===null?`No git remote found`:`Git remote mismatch`),1),L.value.unreachable?(_(),l(`span`,mn,[a[1]||=i(` Cannot reach `,-1),c(`code`,null,x(L.value.configured),1),a[2]||=i(` — check your network or SSH credentials. `,-1)])):L.value.actual===null?(_(),l(`span`,hn,[a[3]||=i(` The directory `,-1),c(`code`,null,x(I.value??d.service.cwd),1),a[4]||=i(` has no `,-1),a[5]||=c(`code`,null,`origin`,-1),a[6]||=i(` remote, but the service is configured for `,-1),c(`code`,null,x(L.value.configured),1),a[7]||=i(`. `,-1)])):(_(),l(y,{key:2},[c(`span`,null,[a[8]||=i(`Configured: `,-1),c(`code`,null,x(L.value.configured),1)]),c(`span`,null,[a[9]||=i(`Actual: `,-1),c(`code`,null,x(L.value.actual),1)])],64))])])):w(``,!0),j.value&&d.service?(_(),l(`div`,gn,[a[14]||=c(`i`,{class:`ti ti-folder-open service-header__clone-icon`},null,-1),(P.value??[]).length>0?(_(),l(`span`,_n,[a[11]||=i(` Working directory `,-1),c(`code`,null,x(I.value??d.service.cwd),1),a[12]||=i(` contains unresolved variables: `,-1),(_(!0),l(y,null,u(P.value??[],e=>(_(),l(`code`,{key:e,class:`service-header__clone-var`},`$`+x(e),1))),128)),a[13]||=i(` — set them in the environment before cloning. `,-1)])):(_(),l(`span`,vn,x(e(p)(`serviceHeader.cwdNotExist`,{cwd:I.value??d.service.cwd})),1)),(P.value??[]).length===0?(_(),C(e(F),{key:2,label:e(p)(`serviceHeader.cloneRepository`),icon:`ti ti-download`,size:`small`,loading:z.value,onClick:V},null,8,[`label`,`loading`])):w(``,!0)])):w(``,!0)])}}}),[[`__scopeId`,`data-v-be29fac7`]]),bn={class:`app-layout__main`,"data-testid":`page-content`},xn={class:`app-layout__content`},Sn=I(g({__name:`AppMainArea`,props:{selectedService:{},selectedServiceId:{},selectedServiceProcesses:{},activeTab:{}},emits:[`tab-change`],setup(n,{emit:i}){let o=n,u=i;function d(e){u(`tab-change`,e)}let p=[`ai-chat`,`kanban`,`issues`,`agent-terminal`,`wiki-global`,`cloud-messaging`,`settings`],h=m(()=>p.includes(o.activeTab)),g=t(null),v=W(),y=window.matchMedia(`(prefers-reduced-motion: reduce)`),b=m(()=>{let e=v.meta.pageKey;return typeof e==`string`?`${e}:${String(v.params.id??``)}`:v.path});return a(b,(e,t)=>{t&&e!==t&&g.value?.animate(y.matches?[{opacity:0},{opacity:1}]:[{opacity:0,transform:`translateY(12px)`},{opacity:1,transform:`translateY(0)`}],{duration:400,easing:`ease`})}),(t,i)=>(_(),l(`div`,bn,[r(yn,{service:n.selectedService},null,8,[`service`]),c(`div`,xn,[s(r(Jt,{"active-tab":n.activeTab,"service-id":n.selectedServiceId,onTabChange:d},null,8,[`active-tab`,`service-id`]),[[E,!!n.selectedServiceId]]),c(`div`,{class:f(n.selectedServiceId?`app-layout__service-view`:h.value?`app-layout__fullpage`:`app-layout__page`)},[n.selectedService?(_(),C(De,{key:0,service:n.selectedService,processes:n.selectedServiceProcesses},null,8,[`service`,`processes`])):w(``,!0),c(`div`,{ref_key:`routeView`,ref:g,class:f(h.value?`app-layout__router-view-fullpage`:`app-layout__router-view`)},[r(e(G))],2)],2)])]))}}),[[`__scopeId`,`data-v-377440b5`]]),Cn={class:`environment-selector`},wn={for:`env-select`,class:`label`,"data-testid":`env-selector-label`},Tn={class:`env-panel-heading`},En={key:0,class:`env-option`},Dn={key:1},On={class:`env-option`},kn=I(g({__name:`EnvironmentSelector`,props:{modelValue:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(t,{emit:n}){let i=n,{t:a}=R(),o=q(),s=m(()=>o.globalEnvironments);function u(e){if(e)return e.startsWith(`#`)?e:`#${e}`}function d(e){return o.environments.find(t=>t.id===e)}function f(e){i(`update:modelValue`,e)}return(n,i)=>(_(),l(`div`,Cn,[c(`label`,wn,x(e(a)(`environmentSelector.label`)),1),r(e(M),{id:`env-select`,"model-value":t.modelValue,options:s.value,"option-label":`name`,"option-value":`id`,"onUpdate:modelValue":f,placeholder:e(a)(`environmentSelector.placeholder`),disabled:t.disabled},{header:b(()=>[c(`div`,Tn,x(e(a)(`environmentSelector.heading`)),1)]),value:b(e=>[e.value?(_(),l(`div`,En,[d(e.value)?.color||d(e.value)?.bgColor?(_(),l(`span`,{key:0,class:`env-dot`,style:v({backgroundColor:u(d(e.value)?.bgColor)||u(d(e.value)?.color)})},null,4)):w(``,!0),c(`span`,null,x(d(e.value)?.name??e.value),1)])):(_(),l(`span`,Dn,x(e.placeholder),1))]),option:b(e=>[c(`div`,On,[e.option.color||e.option.bgColor?(_(),l(`span`,{key:0,class:`env-dot`,style:v({backgroundColor:u(e.option.bgColor)||u(e.option.color)})},null,4)):w(``,!0),c(`span`,null,x(e.option.name),1)])]),_:1},8,[`model-value`,`options`,`placeholder`,`disabled`])]))}}),[[`__scopeId`,`data-v-bba11e7a`]]),An={class:`switcher`},jn={class:`switcher__heading`},Mn={key:1,class:`switcher__group`},Nn={class:`switcher__title`},Pn=[`disabled`,`onClick`],Fn={key:0,class:`ti ti-spin ti-loader-2`},In={key:2,class:`ti ti-folder`},Ln={class:`switcher__name`},Rn={class:`switcher__hint`},zn={class:`switcher__group`},Bn={class:`switcher__title`},Vn={key:0,class:`switcher__empty`},Hn=[`onClick`],Un={class:`switcher__name`},Wn=[`title`,`aria-label`,`onClick`],Gn={key:2,class:`switcher__loading`},Kn={class:`switcher__title`},qn={key:0,class:`switcher__empty`},Jn=[`disabled`,`onClick`],Yn={key:0,class:`ti ti-spin ti-loader-2`},Xn={class:`switcher__name`},Zn={key:2,class:`ti ti-download switcher__hint`},Qn=[`title`,`aria-label`,`onClick`],$n=[`title`,`aria-label`,`onClick`],er={key:3,class:`switcher__empty switcher__signin`},tr=I(g({__name:`ProjectSwitcher`,setup(n,{expose:a}){let{t:o}=R(),s=U(),d=L(),p=ee(),h=z(),{isLinked:g}=re(),v=t(null),S=t(``),E=t(``),k=Y(),{loading:A,error:j}=k,M=k.orgGroups,{recent:N}=fe(k),I=m(()=>p.projects.filter(e=>!e.orgId)),B=m(()=>h.activeProjectId),V=m(()=>h.activeOrgId);function H(e,t){return t===B.value&&e===V.value}function W(e){v.value?.toggle(e)}async function G(){await k.refreshCloud()}function q(e){h.setActiveProject(e,null),v.value?.hide(),s.push({name:`dashboard`})}async function J(e,t,n){S.value=t,j.value=``;try{await k.pullProject(e,t,n),h.setActiveProject(t,e),v.value?.hide(),s.push({name:`dashboard`})}catch(n){j.value=te(n,o),ne(n)&&(Z.value={orgId:e,projectId:t})}finally{S.value=``}}async function ie(){let e=Z.value;if(Z.value=null,!e)return;j.value=``;let t=k.orgGroups.value.find(t=>t.orgId===e.orgId);await J(e.orgId,e.projectId,t?.accountId)}function ae(e,t){j.value=``,d.require({header:o(`projectSwitcher.deleteFromOrgTitle`),message:o(`projectSwitcher.deleteFromOrgConfirm`,{project:t.name,org:e.name}),icon:`ti ti-alert-triangle`,rejectLabel:o(`actions.cancel`),acceptLabel:o(`projectSwitcher.deleteFromOrgAccept`),acceptProps:{severity:`danger`},accept:()=>void oe(e.orgId,t.projectId)})}async function oe(e,t){E.value=t;try{await K.cloudSync.deleteProjectFromOrg.mutate({orgId:e,projectId:t}),await p.fetchAll(),await k.refreshCloud()}catch(e){j.value=te(e,o)}finally{E.value=``}}async function se(e,t){j.value=``;try{await K.cloudSync.untrackProject.mutate({orgId:e,projectId:t}),await p.fetchAll(),k.markUntracked(e,t)}catch(e){j.value=X(e)}}let Z=t(null),ce=t(!1),Q=t(!1),le=t(null);function ue(e){le.value={id:e.id,name:e.name},Q.value=!0}function de(){v.value?.hide(),s.push({name:`dashboard`})}return a({toggle:W}),(t,n)=>(_(),l(y,null,[r(e(D),{ref_key:`popover`,ref:v,onShow:G,class:`project-switcher`},{default:b(()=>[c(`div`,An,[c(`h2`,jn,x(e(o)(`projectSwitcher.heading`)),1),e(j)?(_(),C(e(P),{key:0,severity:`error`,class:`switcher__error`},{default:b(()=>[i(x(e(j)),1)]),_:1})):w(``,!0),e(N).length?(_(),l(`section`,Mn,[c(`h3`,Nn,x(e(o)(`projectSwitcher.recent`)),1),(_(!0),l(y,null,u(e(N),t=>(_(),l(`button`,{key:`${t.orgId??`local`}:${t.id}`,class:`switcher__item`,disabled:S.value===t.id,onClick:e=>t.orgId?J(t.orgId,t.id,t.accountId):q(t.id)},[S.value===t.id?(_(),l(`i`,Fn)):t.orgId?(_(),C(me,{key:1,"org-id":t.orgId,name:t.orgName??``,size:18},null,8,[`org-id`,`name`])):(_(),l(`i`,In)),c(`span`,Ln,x(t.name),1),c(`span`,Rn,x(t.orgName??e(o)(`projectSwitcher.local`)),1)],8,Pn))),128))])):w(``,!0),c(`section`,zn,[c(`h3`,Bn,x(e(o)(`projectSwitcher.local`)),1),I.value.length===0?(_(),l(`p`,Vn,x(e(o)(`projectSwitcher.noLocal`)),1)):w(``,!0),(_(!0),l(y,null,u(I.value,t=>(_(),l(`button`,{key:t.id,class:f([`switcher__item`,{"is-active":t.id===B.value&&V.value===null}]),onClick:e=>q(t.id)},[n[6]||=c(`i`,{class:`ti ti-folder`},null,-1),c(`span`,Un,x(t.name),1),e(g)&&e(M).length?(_(),l(`span`,{key:0,class:`switcher__publish`,role:`button`,title:e(o)(`projectSwitcher.publish`),"aria-label":e(o)(`projectSwitcher.publish`),onClick:T(e=>ue(t),[`stop`])},[...n[5]||=[c(`i`,{class:`ti ti-cloud-upload`},null,-1)]],8,Wn)):w(``,!0)],10,Hn))),128))]),e(A)?(_(),l(`div`,Gn,[r(e(O),{style:{width:`1.5rem`,height:`1.5rem`}})])):w(``,!0),(_(!0),l(y,null,u(e(M),t=>(_(),l(`section`,{key:t.orgId,class:`switcher__group`},[c(`h3`,Kn,[r(me,{"org-id":t.orgId,name:t.name,size:16},null,8,[`org-id`,`name`]),c(`span`,null,x(t.name),1)]),t.projects.length===0?(_(),l(`p`,qn,x(e(o)(`projectSwitcher.noProjects`)),1)):w(``,!0),(_(!0),l(y,null,u(t.projects,r=>(_(),l(`button`,{key:r.projectId,class:f([`switcher__item`,{"is-active":H(t.orgId,r.projectId)}]),disabled:S.value===r.projectId,onClick:e=>J(t.orgId,r.projectId,t.accountId)},[S.value===r.projectId?(_(),l(`i`,Yn)):(_(),C(me,{key:1,"org-id":t.orgId,name:t.name,size:18},null,8,[`org-id`,`name`])),c(`span`,Xn,x(r.name),1),!r.local&&S.value!==r.projectId?(_(),l(`i`,Zn)):r.local&&!H(t.orgId,r.projectId)?(_(),l(`span`,{key:3,class:`switcher__drop`,role:`button`,title:e(o)(`projectSwitcher.untrack`),"aria-label":e(o)(`projectSwitcher.untrack`),onClick:T(e=>se(t.orgId,r.projectId),[`stop`])},[...n[7]||=[c(`i`,{class:`ti ti-x`},null,-1)]],8,Qn)):w(``,!0),t.canDelete===!1?w(``,!0):(_(),l(`span`,{key:4,class:`switcher__delete`,role:`button`,title:e(o)(`projectSwitcher.deleteFromOrg`,{org:t.name}),"aria-label":e(o)(`projectSwitcher.deleteFromOrg`,{org:t.name}),onClick:T(e=>ae(t,r),[`stop`])},[c(`i`,{class:f([`ti`,E.value===r.projectId?`ti-spin ti-loader-2`:`ti-trash`])},null,2)],8,$n))],10,Jn))),128))]))),128)),e(g)?w(``,!0):(_(),l(`p`,er,x(e(M).length?e(o)(`projectSwitcher.signInMore`):e(o)(`projectSwitcher.signInHint`)),1)),r(e(F),{label:e(o)(`projectSwitcher.create`),icon:`ti ti-plus`,variant:`text`,size:`small`,class:`switcher__create`,onClick:n[0]||=e=>ce.value=!0},null,8,[`label`])])]),_:1},512),r(Oe,{"org-id":Z.value?.orgId??null,reference:`cloud`,title:e(o)(`projectSwitcher.keyPromptTitle`),hint:e(o)(`projectSwitcher.keyPromptHint`),"confirm-label":e(o)(`projectSwitcher.keyPromptUse`),onClose:n[1]||=e=>Z.value=null,onAdopted:ie},null,8,[`org-id`,`title`,`hint`,`confirm-label`]),r(Ae,{visible:Q.value,"onUpdate:visible":n[2]||=e=>Q.value=e,project:le.value,onPublished:n[3]||=t=>e(k).refreshCloud()},null,8,[`visible`,`project`]),r(ke,{visible:ce.value,"onUpdate:visible":n[4]||=e=>ce.value=e,onCreated:de},null,8,[`visible`])],64))}}),[[`__scopeId`,`data-v-48afa473`]]),nr={class:`bottom-bar`},rr={class:`bottom-bar__content`},ir=[`aria-label`],ar={class:`desktop-info`},or={class:`desktop-info__title`},sr={class:`desktop-info__text`},cr={key:0,class:`desktop-info__address`},lr={class:`desktop-info__cta`},ur=[`title`],dr={key:0,class:`ti ti-folder icon`},fr={class:`value`},pr={class:`bottom-bar__right`},mr={key:0,class:`bottom-bar__section environment`},hr=[`aria-label`],gr=[`src`,`alt`],_r={key:1,class:`cloud-avatar cloud-avatar--local`},vr={key:2,class:`cloud-avatar cloud-avatar--initials`},yr={class:`desktop-info__title`},br={class:`desktop-info__text`},xr=150,Sr=I(g({__name:`BottomBar`,setup(n){let a=ee();q(),z();let o=A(),{t:s}=R(),u=U(),{user:d,currentAccount:p,isLinked:g,activeOrgId:v}=re(),S=m(()=>{let e=d.value;return e?.image?J(e.id,{accountId:p.value?.id}):``}),C=t(!1),T=m(()=>(d.value?.name||d.value?.email||`?`).trim().split(/\s+/).slice(0,2).map(e=>e.charAt(0).toUpperCase()).join(``)||`?`),E=m(()=>g.value&&v.value===null),O=m(()=>g.value&&!E.value&&!p.value),k=m(()=>E.value?s(`bottomBar.cloudLocalProject.title`):O.value?s(`bottomBar.cloudNoAccountForOrg.title`):s(`bottomBar.cloudAccount`)),j=m(()=>E.value||O.value),M=m(()=>E.value?{icon:`ti ti-device-desktop`,title:s(`bottomBar.cloudLocalProject.title`),text:s(`bottomBar.cloudLocalProject.description`),cta:s(`bottomBar.cloudLocalProject.cta`)}:{icon:`ti ti-cloud`,title:s(`bottomBar.cloudNoAccountForOrg.title`),text:s(`bottomBar.cloudNoAccountForOrg.description`),cta:s(`bottomBar.cloudNoAccountForOrg.cta`)}),N=t(null),P=t(!1),F=null;function I(){F!==null&&(clearTimeout(F),F=null)}function L(e){I(),j.value&&!P.value&&(P.value=!0,N.value?.show(e))}function B(){I(),F=setTimeout(()=>{F=null,P.value=!1,N.value?.hide()},xr)}h(I);let V=t(!1),H=m(()=>{let e=Z.value;return!e||e.orgId?null:{id:e.id,name:e.name}});function W(){I(),P.value=!1,N.value?.hide(),V.value=!0}function G(){u.push({name:`cloud-account`})}let{isDesktop:Y,port:X}=pe(),te=t(null);function ne(e){te.value?.show(e)}function ie(){te.value?.hide()}function ae(){ie(),u.push({name:`settings`,query:{section:`diagnostics`}})}let oe=t(null);function se(e){oe.value?.toggle(e)}let Z=m(()=>a.currentProject),ce=t({});K.cloudSync.orgNames.query().then(e=>{ce.value=e}).catch(()=>{});let Q=m(()=>{let e=Z.value?.orgId;return e?ce.value[e]??``:``}),le=m(()=>Z.value?.activeEnvironmentId??null);async function ue(e){Z.value&&(await a.setActiveEnvironment(Z.value,e)||o.add({severity:`error`,summary:s(`bottomBar.errorChangingEnv`),life:5e3}))}return(t,n)=>(_(),l(`div`,nr,[c(`div`,rr,[e(Y)?(_(),l(`button`,{key:0,class:`bottom-bar__section desktop-badge`,"aria-label":e(s)(`bottomBar.desktopMode.title`),"data-testid":`bottom-bar-desktop`,onMouseenter:ne,onMouseleave:ie,onFocus:ne,onBlur:ie,onClick:ae},[...n[4]||=[c(`i`,{class:`ti ti-device-desktop icon`},null,-1)]],40,ir)):w(``,!0),r(e(D),{ref_key:`desktopPopover`,ref:te,dismissable:!0},{default:b(()=>[c(`div`,ar,[c(`div`,or,[n[5]||=c(`i`,{class:`ti ti-device-desktop`},null,-1),c(`span`,null,x(e(s)(`bottomBar.desktopMode.title`)),1)]),c(`p`,sr,x(e(s)(`bottomBar.desktopMode.description`)),1),e(X)?(_(),l(`p`,cr,[i(x(e(s)(`bottomBar.desktopMode.address`))+` `,1),c(`code`,null,`http://localhost:`+x(e(X)),1)])):w(``,!0),c(`p`,lr,[n[6]||=c(`i`,{class:`ti ti-arrow-right`},null,-1),i(` `+x(e(s)(`bottomBar.desktopMode.goToDiagnostics`)),1)])])]),_:1},512),c(`button`,{class:`bottom-bar__section project-btn is-clickable`,title:e(s)(`bottomBar.switchProject`),"data-testid":`bottom-bar-project`,onClick:se},[Z.value?.orgId?(_(),l(y,{key:1},[r(me,{"org-id":Z.value.orgId,name:Q.value,size:16,title:Q.value},null,8,[`org-id`,`name`,`title`]),n[7]||=c(`i`,{class:`ti ti-chevron-right org-sep`},null,-1)],64)):(_(),l(`i`,dr)),c(`span`,fr,x(Z.value?.name??e(s)(`bottomBar.none`)),1),n[8]||=c(`i`,{class:`ti ti-chevron-up caret`},null,-1)],8,ur),r(tr,{ref_key:`switcher`,ref:oe},null,512),r(Ae,{visible:V.value,"onUpdate:visible":n[0]||=e=>V.value=e,project:H.value,onPublished:n[1]||=t=>e(a).fetchAll()},null,8,[`visible`,`project`]),c(`div`,pr,[Z.value&&le.value?(_(),l(`div`,mr,[n[9]||=c(`i`,{class:`ti ti-world icon`},null,-1),r(kn,{"model-value":le.value,"onUpdate:modelValue":ue,class:`bottom-env-selector`},null,8,[`model-value`])])):w(``,!0),e(g)?(_(),l(`button`,{key:2,class:`bottom-bar__section cloud-btn cloud-avatar-btn`,"aria-label":k.value,onMouseenter:L,onMouseleave:B,onFocus:L,onBlur:B,onClick:G},[S.value&&!C.value?(_(),l(`img`,{key:0,src:S.value,alt:e(d)?.name??``,class:`cloud-avatar`,onError:n[2]||=e=>C.value=!0},null,40,gr)):E.value?(_(),l(`span`,_r,[...n[11]||=[c(`i`,{class:`ti ti-device-desktop`,"aria-hidden":`true`},null,-1)]])):(_(),l(`span`,vr,x(T.value),1))],40,hr)):(_(),l(`button`,{key:1,class:`bottom-bar__section cloud-btn cloud-login`,onClick:G},[n[10]||=c(`i`,{class:`ti ti-cloud icon`},null,-1),c(`span`,null,x(e(s)(`bottomBar.cloudLogin`)),1)])),r(e(D),{ref_key:`cloudPopover`,ref:N,dismissable:!0,onHide:n[3]||=e=>P.value=!1},{default:b(()=>[c(`div`,{class:`desktop-info`,onMouseenter:I,onMouseleave:B},[c(`div`,yr,[c(`i`,{class:f(M.value.icon)},null,2),c(`span`,null,x(M.value.title),1)]),c(`p`,br,x(M.value.text),1),E.value&&H.value?(_(),l(`button`,{key:0,type:`button`,class:`desktop-info__cta desktop-info__cta--action`,onClick:W},[n[12]||=c(`i`,{class:`ti ti-cloud-upload`},null,-1),i(` `+x(e(s)(`projectSwitcher.publish`)),1)])):w(``,!0),c(`button`,{type:`button`,class:`desktop-info__cta desktop-info__cta--action`,onClick:G},[n[13]||=c(`i`,{class:`ti ti-arrow-right`},null,-1),i(` `+x(M.value.cta),1)])],32)]),_:1},512)])])]))}}),[[`__scopeId`,`data-v-8f35d490`]]),Cr={class:`cloud-banner__text`},wr=I(g({__name:`CloudProjectBanner`,setup(e){let{t:n}=R(),r=ee(),i=z(),{user:o,isLinked:s,currentAccount:u,loading:d}=re(),p=ae(ie,Se()),h=m(()=>i.activeProjectId?r.currentProjectOrgId:null),g=t(null),v=t(new Map);a([()=>o.value?.id,h],async([e,t])=>{if(e&&t){p.refresh();try{let[e,t]=await Promise.all([K.cloudAuth.status.query(),K.cloudSync.orgClouds.query()]);g.value=u.value?.cloudUrl??e.cloudUrl??null,v.value=new Map(Object.entries(t))}catch{}}},{immediate:!0});function y(e,t){return e.replace(/\/+$/,``)===t.replace(/\/+$/,``)}let b=m(()=>{if(!h.value||d.value)return null;if(!s.value)return`offline`;let e=v.value.get(h.value);return e&&g.value&&!y(e,g.value)?`other-cloud`:p.loading.value||!p.organizations.value.length||p.organizations.value.some(e=>e.id===h.value)?null:`other-org`}),S=m(()=>b.value===`offline`?n(`cloudBanner.offline`):b.value===`other-cloud`?n(`cloudBanner.otherCloud`):n(`cloudBanner.otherOrg`));return(e,t)=>b.value?(_(),l(`div`,{key:0,class:f([`cloud-banner`,`cloud-banner--${b.value}`]),role:`status`,"data-testid":`cloud-project-banner`},[c(`i`,{class:f([b.value===`offline`?`ti ti-cloud-off`:`ti ti-alert-triangle`,`cloud-banner__icon`])},null,2),c(`span`,Cr,x(S.value),1)],2)):w(``,!0)}}),[[`__scopeId`,`data-v-ad9d8d17`]]),Tr={class:`app-layout__body`},Er=`runeya.serviceSidebar.widthPx`,Dr=160,Or=600,kr=220,Ar=`(max-width: 480px)`,jr=I(g({__name:`AppLayout`,setup(n){let i=U(),o=W(),s=ee(),u=Q(),h=_e(),g=le(),v=z(),y=q(),b=se();Ce();let x=t(!1),{size:S,isResizing:C,start:E}=xe({axis:`x`,min:Dr,max:Or,initial:kr,storageKey:Er}),D=t(window.matchMedia(Ar).matches),O=window.matchMedia(Ar);function k(e){D.value=e.matches,e.matches?x.value=!0:x.value=!1}O.addEventListener(`change`,k),D.value&&(x.value=!0);let A=m(()=>o.name===`service-detail`?o.params.id:null),j=m(()=>{if(o.name===`service-detail`){let e=o.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`||e===`wiki`?e:`terminal`}return o.path===`/wiki`?`wiki-global`:o.name===`environments`||o.name===`environment-edit`?`environments`:o.path===`/settings`?`settings`:o.path.startsWith(`/ai-chat`)||o.path.startsWith(`/scenario`)?`ai-chat`:o.path.startsWith(`/kanban`)?`kanban`:o.path===`/issues`||o.path.startsWith(`/issues/`)?`issues`:o.path===`/agent-terminal`?`agent-terminal`:o.name===`cloud-messaging`?`cloud-messaging`:`dashboard`}),M=m(()=>A.value?u.getById(A.value):null),N=m(()=>A.value?h.getByService(A.value):[]),P=m(()=>v.activeProjectId),F=m(()=>v.activeOrgId);function I(e){e===`dashboard`?i.push(`/`):e===`environments`?P.value&&i.push({name:`environments`,params:{projectId:P.value}}):e===`ai-chat`?i.push(`/ai-chat`):e===`kanban`?i.push(`/kanban`):e===`issues`?i.push(`/issues`):e===`agent-terminal`?i.push(`/agent-terminal`):e===`settings`?i.push(`/settings`):e===`wiki-global`?i.push(`/wiki`):e===`cloud-messaging`?i.push({name:`cloud-messaging`}):A.value&&i.push(`/services/${A.value}/${e}`)}function L(e){let t=j.value,n=t===`terminal`||t===`metrics`||t===`config`||t===`git`||t===`wiki`?t:`terminal`;i.push(`/services/${e}/${n}`)}function R(){i.push(`/services/new`)}let B=[`dashboard`,`projects`,`agents`,`settings`,`audit`,`api-keys`,`ai-chat`,`kanban-list`,`issues-list`,`kanban-board`,`issues-board`,`agent-terminal`,`wiki-global`];a(P,async e=>{if(!e&&o.name&&!B.includes(o.name)&&i.push({name:`dashboard`}),e){try{await y.fetchAll(e,!0)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}b.fetchPreferences(),V(e)||i.push({name:`launch-services`})}});function V(e){let t=(s.getByRef({id:e,orgId:v.activeOrgId})??s.getById(e))?.serviceIds??[];if(t.length===0)return!0;let n=ue(h.processes);return t.some(e=>n.has(e))}return p(()=>{O.removeEventListener(`change`,k)}),d(async()=>{if(await Promise.all([s.fetchAll(),u.fetchAll(),h.fetchAll(),g.fetchAll()]),P.value)try{await y.fetchAll(P.value)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}b.fetchAvailable(),P.value&&b.fetchPreferences(),g.subscribeStatus(),!P.value&&!B.includes(o.name)&&i.push({name:`dashboard`})}),(t,n)=>(_(),l(`div`,{class:f([`app-layout`,{"app-layout--portrait":D.value}])},[r(wr),r(je),c(`div`,Tr,[r(Ht,{"active-tab":j.value,portrait:D.value,onTabChange:I,onToggleServiceSidebar:n[0]||=e=>x.value=!x.value},null,8,[`active-tab`,`portrait`]),r(nt,{"selected-service-id":A.value,collapsed:x.value,"active-project-id":P.value,"active-org-id":F.value,portrait:D.value,width:e(S),resizing:e(C),onSelectService:L,onAddService:R,onToggleCollapse:n[1]||=e=>x.value=!x.value},null,8,[`selected-service-id`,`collapsed`,`active-project-id`,`active-org-id`,`portrait`,`width`,`resizing`]),!D.value&&!x.value?(_(),l(`div`,{key:0,class:f([`app-layout__resizer`,{"app-layout__resizer--active":e(C)}]),onMousedown:n[2]||=T((...t)=>e(E)&&e(E)(...t),[`prevent`])},null,34)):w(``,!0),D.value&&x.value?(_(),l(`div`,{key:1,class:`app-layout__sidebar-edge-trigger`,onClick:n[3]||=e=>x.value=!1},[...n[4]||=[c(`i`,{class:`ti ti-chevron-right`},null,-1)]])):w(``,!0),r(Sn,{"selected-service":M.value,"selected-service-id":A.value,"selected-service-processes":N.value,"active-tab":j.value,onTabChange:I},null,8,[`selected-service`,`selected-service-id`,`selected-service-processes`,`active-tab`])]),r(Sr)],2))}}),[[`__scopeId`,`data-v-ba7261d7`]]);export{jr as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.service-sidebar[data-v-9a792af5]{background:var(--runeya-sidebar-bg);width:220px;min-width:220px;color:var(--runeya-sidebar-text);border-right:1px solid var(--runeya-border);flex-direction:column;transition:width .2s,min-width .2s;display:flex;overflow:hidden}.service-sidebar--collapsed[data-v-9a792af5]{border-right:none;width:0;min-width:0}.service-sidebar--resizing[data-v-9a792af5]{transition:none!important}.service-sidebar__header[data-v-9a792af5]{padding:.75rem}.service-sidebar__add-btn[data-v-9a792af5]{width:100%;font-size:.8125rem}.service-sidebar__search[data-v-9a792af5]{padding:0 .75rem .5rem}.service-sidebar__search-wrapper[data-v-9a792af5]{width:100%;position:relative}.service-sidebar__search-wrapper>i[data-v-9a792af5]{color:var(--r-text-muted);z-index:1;font-size:.75rem;position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.service-sidebar__search-input[data-v-9a792af5]{width:100%;padding-left:2rem;font-size:.8125rem}.service-sidebar__list[data-v-9a792af5]{flex:1;overflow:hidden auto}.service-sidebar__group[data-v-9a792af5]{margin-bottom:.25rem}.service-sidebar__group-header[data-v-9a792af5]{width:100%;color:var(--r-text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;align-items:center;gap:.375rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;display:flex}.service-sidebar__group-header[data-v-9a792af5]:hover{color:var(--r-text)}.service-sidebar__group-header--dragging[data-v-9a792af5]{opacity:.5}.service-sidebar__group--dragover[data-v-9a792af5]{box-shadow:inset 0 2px 0 0 var(--r-primary)}.service-sidebar__group-header .ti[data-v-9a792af5]{font-size:.625rem}.service-sidebar__group-label[data-v-9a792af5]{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.service-sidebar__group-badges[data-v-9a792af5]{align-items:center;gap:.375rem;display:flex}.service-sidebar__group-badge[data-v-9a792af5]{color:var(--r-text);text-transform:none;letter-spacing:0;align-items:center;gap:.2rem;font-size:.6875rem;font-weight:600;display:inline-flex}.service-sidebar__group-badge .ti[data-v-9a792af5]{font-size:.625rem}.service-sidebar__group-count[data-v-9a792af5]{background:var(--r-bg-hover);color:var(--r-text-muted);border-radius:8px;padding:0 .375rem;font-size:.6875rem;line-height:1.4}.service-sidebar__group-items[data-v-9a792af5]{flex-direction:column;display:flex}.service-sidebar__item[data-v-9a792af5]{width:100%;color:var(--runeya-sidebar-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .75rem .5rem 1.5rem;font-size:.8125rem;transition:background .15s,color .15s;display:flex}.service-sidebar__item[data-v-9a792af5]:hover{background:var(--runeya-sidebar-active)}.service-sidebar__item--active[data-v-9a792af5]{background:var(--runeya-sidebar-active);color:var(--runeya-sidebar-active-text);font-weight:600}.service-sidebar__item--inactive[data-v-9a792af5],.service-sidebar__item--inactive[data-v-9a792af5]:hover{color:var(--runeya-sidebar-inactive-text)}.service-sidebar__status[data-v-9a792af5]{flex-shrink:0;font-size:.5rem}.service-sidebar__status--running[data-v-9a792af5]{color:#22c55e}.service-sidebar__status--error[data-v-9a792af5]{color:#ef4444;font-size:.75rem}.service-sidebar__status--starting[data-v-9a792af5]{color:#f59e0b;font-size:.75rem}.service-sidebar__status--stopped[data-v-9a792af5]{color:var(--r-text-muted)}.service-sidebar__status--healthy[data-v-9a792af5]{color:#22c55e;font-size:.625rem}.service-sidebar__status--unhealthy[data-v-9a792af5]{color:#ef4444;font-size:.625rem}.service-sidebar__status--health-pending[data-v-9a792af5]{color:#f59e0b;font-size:.625rem}.service-sidebar__item-name[data-v-9a792af5]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.service-sidebar__empty[data-v-9a792af5]{text-align:center;color:var(--r-text-muted);padding:1.5rem;font-size:.8125rem}.service-sidebar__backdrop[data-v-9a792af5]{z-index:499;background:#0006;position:fixed;inset:0}.service-sidebar--portrait[data-v-9a792af5]{z-index:500;height:calc(100% - 52px);transition:transform .25s;position:fixed;top:0;left:0;transform:translate(0);box-shadow:4px 0 16px #0003}.service-sidebar--portrait.service-sidebar--collapsed[data-v-9a792af5]{border-right:1px solid var(--runeya-border);width:220px;min-width:220px;transform:translate(-100%)}.notification-trigger[data-v-4f65f60a]{display:inline-flex;position:relative}.notification-badge[data-v-4f65f60a]{pointer-events:none;min-width:1.1rem;height:1.1rem;font-size:.65rem;line-height:1.1rem;position:absolute;top:2px;right:2px}.notification-panel[data-v-4f65f60a]{flex-direction:column;min-width:320px;max-width:400px;height:420px;display:flex}.notification-header[data-v-4f65f60a]{border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem 0;display:flex}.notification-title[data-v-4f65f60a]{font-size:.95rem;font-weight:600}.notification-actions[data-v-4f65f60a]{gap:.25rem;display:flex}.notification-empty[data-v-4f65f60a]{text-align:center;color:var(--r-text-muted);flex-direction:column;align-items:center;padding:1.5rem 0;display:flex}.notification-empty p[data-v-4f65f60a]{margin:0}.notification-list[data-v-4f65f60a]{flex-direction:column;flex:1;gap:.25rem;display:flex;overflow-y:auto}.notification-item[data-v-4f65f60a]{cursor:pointer;border-radius:8px;align-items:flex-start;gap:.65rem;padding:.6rem .5rem;transition:background .15s;display:flex}.notification-item[data-v-4f65f60a]:hover{background-color:var(--r-bg-hover)}.notification-item.unread[data-v-4f65f60a]{background-color:color-mix(in srgb, var(--r-primary) 8%, transparent)}.notification-item.unread[data-v-4f65f60a]:hover{background-color:color-mix(in srgb, var(--r-primary) 14%, transparent)}.notification-item>i[data-v-4f65f60a]{opacity:.9;flex-shrink:0;margin-top:.2rem;font-size:.9rem}.notification-content[data-v-4f65f60a]{flex:1;min-width:0}.notification-item-title[data-v-4f65f60a]{align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;line-height:1.3;display:flex}.notification-item-title[data-v-4f65f60a]:after{content:"";background:var(--r-primary);opacity:0;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:opacity .15s;display:inline-block}.notification-item.unread .notification-item-title[data-v-4f65f60a]:after{opacity:1}.notification-message[data-v-4f65f60a]{word-break:break-word;margin-top:.2rem;font-size:.78rem;line-height:1.4}.notification-footer[data-v-4f65f60a]{align-items:center;gap:.5rem;margin-top:.3rem;display:flex}.notification-time[data-v-4f65f60a]{color:var(--r-text-muted);font-size:.68rem}.notification-link[data-v-4f65f60a]{color:var(--r-primary);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:.68rem;font-weight:500;text-decoration:none;display:inline-flex}.notification-link[data-v-4f65f60a]:before{content:"·";color:var(--r-text-muted);margin-right:.4rem}.notification-link[data-v-4f65f60a]:hover{text-decoration:underline}.lang-btn[data-v-d503afe4]{width:36px;height:36px;color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.lang-btn[data-v-d503afe4]:hover{background:var(--runeya-sidebar-hover);color:var(--r-text)}.lang-menu[data-v-d503afe4]{flex-direction:column;gap:2px;min-width:140px;display:flex}.lang-menu__title[data-v-d503afe4]{color:var(--r-text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;font-size:.75rem;font-weight:600}.lang-menu__item[data-v-d503afe4]{width:100%;color:var(--r-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:.875rem;transition:background .12s;display:block}.lang-menu__item[data-v-d503afe4]:hover{background:var(--runeya-sidebar-hover)}.lang-menu__item--active[data-v-d503afe4]{background:color-mix(in srgb, var(--r-primary) 12%, var(--r-bg));color:var(--r-primary);font-weight:600}.global-nav[data-v-b7a37059]{background:var(--runeya-icon-nav-bg);border-right:1px solid var(--runeya-border);flex-direction:column;width:44px;min-width:44px;padding:.25rem 0;display:flex;position:relative}.global-nav__top[data-v-b7a37059]{flex-direction:column;display:flex}.global-nav__bottom[data-v-b7a37059]{flex-direction:column;margin-top:auto;padding-bottom:.5rem;display:flex}.global-nav__btn[data-v-b7a37059]{width:36px;height:36px;color:var(--r-text-muted);cursor:pointer;z-index:1;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:2px auto;font-size:1rem;transition:background-color .15s,color .15s;display:flex;position:relative}.global-nav__btn[data-v-b7a37059]:hover{background:var(--runeya-sidebar-hover);color:var(--r-text)}.global-nav__btn--badged[data-v-b7a37059]{position:relative}.global-nav__btn--pulse[data-v-b7a37059]{color:var(--r-primary);animation:1.6s ease-in-out infinite nav-pulse-b7a37059}@keyframes nav-pulse-b7a37059{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--r-primary) 55%, transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--r-primary) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--r-primary) 0%, transparent)}}@media (prefers-reduced-motion:reduce){.global-nav__btn--pulse[data-v-b7a37059]{animation:none}}.global-nav__badge[data-v-b7a37059]{color:#fff;text-align:center;min-width:15px;height:15px;box-shadow:0 0 0 2px var(--runeya-icon-nav-bg);pointer-events:none;background:#ef4444;border-radius:8px;padding:0 3px;font-size:.6rem;font-weight:700;line-height:15px;position:absolute;top:2px;right:2px}.global-nav__indicator[data-v-b7a37059]{background:var(--r-primary);pointer-events:none;will-change:transform;border-radius:8px;transition:transform .24s cubic-bezier(.77,0,.175,1),width .24s cubic-bezier(.77,0,.175,1),height .24s cubic-bezier(.77,0,.175,1);position:absolute;top:0;left:0}.global-nav__indicator--instant[data-v-b7a37059]{transition:none}.global-nav--portrait .global-nav__indicator[data-v-b7a37059]{border-radius:0}@media (prefers-reduced-motion:reduce){.global-nav__indicator[data-v-b7a37059]{transition:none}}.global-nav__btn--current[data-v-b7a37059],.global-nav__btn--current[data-v-b7a37059]:hover{color:var(--r-primary-contrast,#fff);background:0 0}.global-nav__btn--active[data-v-b7a37059]{background:var(--r-primary);color:var(--r-primary-contrast,#fff)}.global-nav__btn--active[data-v-b7a37059]:hover{background:var(--r-primary);filter:brightness(1.1)}.global-nav__separator[data-v-b7a37059]{border-top:1px solid var(--runeya-border);margin:.5rem}.global-nav__util[data-v-b7a37059]{justify-content:center;display:flex}.global-nav--portrait[data-v-b7a37059]{width:100%;min-width:unset;border-right:none;border-top:1px solid var(--runeya-border);z-index:500;scrollbar-width:none;flex-direction:row;height:52px;padding:0;position:fixed;bottom:0;left:0;right:0;overflow:auto hidden}.global-nav--portrait[data-v-b7a37059]::-webkit-scrollbar{display:none}.global-nav--portrait .global-nav__top[data-v-b7a37059],.global-nav--portrait .global-nav__bottom[data-v-b7a37059]{display:contents}.global-nav--portrait .global-nav__btn[data-v-b7a37059]{border-radius:0;flex-direction:column;flex:1;gap:2px;width:auto;min-width:56px;height:52px;margin:0;padding:0 .5rem;font-size:.85rem}.global-nav--portrait .global-nav__btn i[data-v-b7a37059],.global-nav--portrait .global-nav__btn svg[data-v-b7a37059]{font-size:1.1rem}.global-nav--portrait .global-nav__util[data-v-b7a37059]{flex:1;align-items:center;height:52px}.global-nav__label[data-v-b7a37059]{white-space:nowrap;text-overflow:ellipsis;max-width:56px;font-size:.6rem;line-height:1;overflow:hidden}.service-nav[data-v-27ca1182]{background:var(--runeya-icon-nav-bg);border-right:1px solid var(--runeya-border);flex-direction:column;width:52px;min-width:52px;padding:.25rem 0;display:flex}.service-nav__tabs[data-v-27ca1182]{flex-direction:column;display:flex}.service-nav__btn[data-v-27ca1182]{width:44px;height:44px;color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:2px auto;font-size:1.125rem;transition:all .15s;display:flex}.service-nav__btn[data-v-27ca1182]:hover{background:var(--runeya-sidebar-hover);color:var(--r-text)}.service-nav__btn--active[data-v-27ca1182]{background:var(--r-primary);color:var(--r-primary-contrast,#fff)}.service-nav__btn--active[data-v-27ca1182]:hover{background:var(--r-primary);filter:brightness(1.1)}.service-nav__btn-inner[data-v-27ca1182]{justify-content:center;align-items:center;display:flex;position:relative}.service-nav__badge[data-v-27ca1182]{background:var(--r-red-500,#ef4444);color:#fff;text-align:center;pointer-events:none;border-radius:999px;min-width:14px;padding:2px 4px;font-size:.55rem;font-weight:700;line-height:1;position:absolute;top:-6px;right:-8px}.service-header[data-v-be29fac7]{flex-shrink:0}.service-header__clone-banner[data-v-be29fac7]{background:color-mix(in srgb, var(--r-yellow-500) 15%, var(--r-bg));border-bottom:1px solid color-mix(in srgb, var(--r-yellow-500) 40%, transparent);align-items:center;gap:.75rem;padding:.5rem 1.5rem;font-size:.875rem;display:flex}.service-header__clone-icon[data-v-be29fac7]{color:var(--r-yellow-600);flex-shrink:0}.service-header__clone-banner code[data-v-be29fac7]{background:color-mix(in srgb, var(--r-yellow-500) 20%, transparent);border-radius:4px;padding:.125rem .375rem;font-size:.8125rem}.service-header__clone-banner .r-button[data-v-be29fac7]{flex-shrink:0;margin-left:auto}.service-header__mismatch-banner[data-v-be29fac7]{background:color-mix(in srgb, var(--r-red-500) 12%, var(--r-bg));border-bottom:1px solid color-mix(in srgb, var(--r-red-500) 40%, transparent);align-items:flex-start;gap:.75rem;padding:.625rem 1.5rem;font-size:.875rem;display:flex}.service-header__mismatch-icon[data-v-be29fac7]{color:var(--r-red-500);flex-shrink:0;margin-top:.125rem}.service-header__mismatch-body[data-v-be29fac7]{flex-direction:column;gap:.125rem;display:flex}.service-header__mismatch-body strong[data-v-be29fac7]{color:var(--r-red-600);margin-bottom:.125rem}.service-header__mismatch-body code[data-v-be29fac7]{background:color-mix(in srgb, var(--r-red-500) 15%, transparent);border-radius:4px;padding:.125rem .375rem;font-size:.8125rem}.service-header__clone-var[data-v-be29fac7]{background:color-mix(in srgb, var(--r-red-500) 20%, transparent);margin:0 .125rem}.service-header__banner[data-v-be29fac7]{background:var(--runeya-header-bg);border-bottom:1px solid color-mix(in srgb, var(--runeya-header-bg) 70%, black);justify-content:space-between;align-items:center;min-height:52px;padding:.75rem 1.5rem;display:flex}.service-header__left[data-v-be29fac7]{align-items:center;gap:.75rem;display:flex}.service-header__title[data-v-be29fac7]{color:var(--runeya-header-text);letter-spacing:-.01em;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:700;display:flex}.service-header__runner-icon[data-v-be29fac7]{opacity:.8;color:var(--runeya-header-text);font-size:1rem}.service-header__tag[data-v-be29fac7]{font-size:.75rem}.service-header__left[data-v-be29fac7] .r-tag{border:1px solid #ffffff59;color:#fff!important;background:#ffffff38!important}.service-header__actions[data-v-be29fac7]{justify-content:flex-end;align-items:center;min-width:0;margin-left:auto;display:flex}.service-header__actions[data-v-be29fac7] .r-button.r-button--filled{--btn-bg:var(--runeya-header-text);--btn-bg-hover:var(--runeya-header-text);--btn-bg-active:var(--runeya-header-text);--btn-border:var(--runeya-header-text);--btn-text:var(--r-primary);--btn-text-hover:var(--r-primary)}.service-header__actions[data-v-be29fac7] .r-button.r-button--outlined{--btn-bg:transparent;--btn-border:color-mix(in srgb, var(--runeya-header-text) 45%, transparent);--btn-text:var(--runeya-header-text);--btn-text-hover:var(--runeya-header-text);--btn-bg-hover:color-mix(in srgb, var(--runeya-header-text) 15%, transparent);--btn-bg-active:color-mix(in srgb, var(--runeya-header-text) 25%, transparent)}.service-header__actions[data-v-be29fac7] .r-input,.service-header__actions[data-v-be29fac7] .r-select{border-color:#0000}.service-header__right[data-v-be29fac7]{align-items:center;gap:.125rem;display:flex}.service-header__right[data-v-be29fac7] .r-button.r-button--text{--btn-text:var(--runeya-header-text);--btn-text-hover:var(--runeya-header-text);--btn-bg-hover:color-mix(in srgb, var(--runeya-header-text) 15%, transparent);opacity:.85}.service-header__right[data-v-be29fac7] .r-button.r-button--text:hover{opacity:1}.service-header__editor-caret[data-v-be29fac7]{margin-left:-.375rem;width:1.25rem!important}.service-header__editor-popover[data-v-be29fac7]{flex-direction:column;gap:.625rem;min-width:200px;padding:.25rem;display:flex}.service-header__editor-current[data-v-be29fac7],.service-header__editor-select[data-v-be29fac7]{align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.service-header__editor-label[data-v-be29fac7]{color:var(--r-text-muted);white-space:nowrap}.service-header__editor-dropdown[data-v-be29fac7]{flex:1}.service-header__editor-settings-link[data-v-be29fac7]{color:var(--r-primary);border-top:1px solid var(--r-border);align-items:center;gap:.375rem;padding-top:.25rem;font-size:.8125rem;text-decoration:none;display:flex}.service-header__editor-settings-link[data-v-be29fac7]:hover{text-decoration:underline}.editor-option[data-v-be29fac7]{align-items:center;gap:.5rem;display:flex}.app-layout__main[data-v-377440b5]{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.app-layout__content[data-v-377440b5]{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.app-layout__page[data-v-377440b5]{flex:1;height:100%;padding:1.5rem;overflow-y:auto}.app-layout__fullpage[data-v-377440b5]{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.app-layout__router-view[data-v-377440b5],.app-layout__router-view-fullpage[data-v-377440b5]{flex:1;min-height:0;overflow:hidden}.app-layout__service-view[data-v-377440b5]{flex-direction:column;flex:1;min-width:0;height:100%;display:flex;overflow:hidden}.env-panel-heading[data-v-bba11e7a]{color:var(--r-text-muted);padding:.5rem .75rem .35rem;font-size:.8rem;font-weight:600}.environment-selector[data-v-bba11e7a]{align-items:center;gap:.75rem;display:flex}.label[data-v-bba11e7a]{color:var(--text-color);white-space:nowrap;font-weight:500}[data-v-bba11e7a] .r-select{min-width:200px}.env-option[data-v-bba11e7a]{align-items:center;gap:.5rem;display:flex}.env-dot[data-v-bba11e7a]{border:1px solid var(--r-border);border-radius:50%;flex-shrink:0;width:10px;height:10px}.switcher[data-v-48afa473]{flex-direction:column;gap:1rem;min-width:18rem;max-width:24rem;max-height:60vh;display:flex;overflow-y:auto}.switcher__group[data-v-48afa473]{flex-direction:column;gap:.125rem;display:flex}.switcher__heading[data-v-48afa473]{color:var(--r-text);margin:0 0 .6rem;font-size:.9rem;font-weight:600}.switcher__title[data-v-48afa473]{text-transform:uppercase;letter-spacing:.04em;color:var(--r-text-muted);align-items:center;gap:.4rem;margin:0 0 .25rem;font-size:.7rem;font-weight:600;display:flex}.switcher__item[data-v-48afa473]{border-radius:var(--r-radius-sm,4px);width:100%;color:var(--r-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.4rem .5rem;font-size:.85rem;display:flex}.switcher__item[data-v-48afa473]:hover:not(:disabled){background:var(--r-bg-hover)}.switcher__item.is-active[data-v-48afa473]{background:var(--r-bg-highlight);color:var(--r-text-highlight)}.switcher__item[data-v-48afa473]:disabled{cursor:progress;opacity:.7}.switcher__name[data-v-48afa473]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.switcher__delete[data-v-48afa473]{color:var(--r-text-muted);opacity:0;border-radius:4px;align-items:center;padding:.1rem .2rem;transition:opacity .12s,color .12s;display:inline-flex}.switcher__item:hover .switcher__delete[data-v-48afa473]{opacity:1}.switcher__delete[data-v-48afa473]:hover{color:var(--r-red-500);background:var(--r-bg-hover)}.switcher__drop[data-v-48afa473]{color:var(--r-text-muted);opacity:0;border-radius:4px;align-items:center;margin-left:auto;padding:.15rem .25rem;transition:opacity .15s,background .15s,color .15s;display:inline-flex}.switcher__item:hover .switcher__drop[data-v-48afa473]{opacity:1}.switcher__drop[data-v-48afa473]:hover{color:var(--r-text);background:var(--r-bg-hover)}.switcher__publish[data-v-48afa473]{color:var(--r-text-muted);opacity:0;border-radius:4px;margin-left:auto;padding:.15rem .25rem;transition:opacity .15s,background .15s,color .15s}.switcher__item:hover .switcher__publish[data-v-48afa473]{opacity:1}.switcher__publish[data-v-48afa473]:hover{color:var(--r-primary);background:var(--r-bg-hover)}.switcher__hint[data-v-48afa473]{color:var(--r-text-muted);font-size:.7rem}.switcher__empty[data-v-48afa473],.switcher__signin[data-v-48afa473]{color:var(--r-text-muted);margin:0;padding:.25rem .5rem;font-size:.8rem}.switcher__loading[data-v-48afa473]{justify-content:center;display:flex}.switcher__error[data-v-48afa473]{margin:0}.switcher__create[data-v-48afa473]{align-self:flex-start}.bottom-bar[data-v-8f35d490]{background:var(--r-bg-hover);border-top:1px solid var(--r-border);flex-shrink:0;box-shadow:0 -2px 8px #0000000d}.bottom-bar__content[data-v-8f35d490]{align-items:center;gap:2rem;max-width:100%;margin:0 auto;padding:.5rem 1rem;display:flex}.bottom-bar__section[data-v-8f35d490]{align-items:center;gap:.5rem;font-size:.875rem;display:flex}.bottom-bar__right[data-v-8f35d490]{align-items:center;gap:2rem;margin-left:auto;display:flex}.desktop-badge[data-v-8f35d490]{color:var(--r-primary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;margin-right:-1.5rem;padding:.25rem .35rem;line-height:1;transition:background .15s}.desktop-badge[data-v-8f35d490]:hover,.desktop-badge[data-v-8f35d490]:focus-visible{background:var(--r-bg)}.desktop-badge .icon[data-v-8f35d490]{font-size:.95rem}.desktop-info[data-v-8f35d490]{max-width:20rem;font-size:.85rem;line-height:1.5}.desktop-info__title[data-v-8f35d490]{align-items:center;gap:.5rem;margin-bottom:.4rem;font-weight:600;display:flex}.desktop-info__title .ti[data-v-8f35d490]{color:var(--r-primary)}.desktop-info__text[data-v-8f35d490]{color:var(--r-text-muted);margin:0}.desktop-info__address[data-v-8f35d490]{color:var(--r-text-muted);margin:.5rem 0 0}.desktop-info__address code[data-v-8f35d490]{font-size:.85em}.desktop-info__cta--action[data-v-8f35d490]{border:none;border-top:1px solid var(--r-border);width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0}.desktop-info__cta--action[data-v-8f35d490]:hover{color:var(--r-primary);text-decoration:underline}.desktop-info__cta[data-v-8f35d490]{border-top:1px solid var(--r-border);color:var(--r-primary);align-items:center;gap:.4rem;margin:.6rem 0 0;padding-top:.5rem;font-weight:500;display:flex}.desktop-info__cta .ti[data-v-8f35d490]{font-size:.75rem}.org-sep[data-v-8f35d490]{opacity:.55;font-size:.7rem}.project-btn[data-v-8f35d490]{color:inherit;font:inherit;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem}.project-btn.is-clickable[data-v-8f35d490]{cursor:pointer;transition:background .15s}.project-btn.is-clickable[data-v-8f35d490]:hover{background:var(--r-bg)}.project-btn[data-v-8f35d490]:disabled{cursor:default}.cloud-btn[data-v-8f35d490]{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;transition:background .15s}.cloud-btn[data-v-8f35d490]:hover{background:var(--r-bg)}.cloud-btn.cloud-login[data-v-8f35d490]{color:var(--r-primary);font-weight:600}.cloud-email[data-v-8f35d490]{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.cloud-avatar-btn[data-v-8f35d490]{border-radius:50%;padding:.15rem}.cloud-avatar[data-v-8f35d490]{object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.cloud-avatar--initials[data-v-8f35d490]{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7);font-size:.7rem;font-weight:700}.cloud-avatar--local[data-v-8f35d490]{color:var(--r-text-muted);background:color-mix(in srgb, var(--r-text) 10%, var(--r-bg));font-size:.75rem}.icon[data-v-8f35d490]{color:var(--r-primary);font-size:.875rem}.label[data-v-8f35d490]{color:var(--r-text-muted);font-weight:500}.value[data-v-8f35d490]{color:var(--r-text);font-weight:600}[data-v-8f35d490] .bottom-env-selector{font-size:.875rem}[data-v-8f35d490] .bottom-env-selector .r-select{align-items:center;min-width:150px;height:2rem;font-size:.875rem;display:inline-flex}[data-v-8f35d490] .bottom-env-selector .r-select__trigger{align-items:center;padding-top:0;padding-bottom:0;display:flex}[data-v-8f35d490] .bottom-env-selector .label{display:none}.cloud-banner[data-v-ad9d8d17]{border-bottom:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.85rem;font-weight:500;display:flex}.cloud-banner--offline[data-v-ad9d8d17]{background:var(--r-amber-100,#fef3c7);color:var(--r-amber-900,#78350f);border-bottom-color:var(--r-amber-300,#fcd34d)}.cloud-banner--other-cloud[data-v-ad9d8d17],.cloud-banner--other-org[data-v-ad9d8d17]{background:var(--r-red-100,#fee2e2);color:var(--r-red-900,#7f1d1d);border-bottom-color:var(--r-red-300,#fca5a5)}.cloud-banner__icon[data-v-ad9d8d17]{font-size:.9rem}.dark-mode .cloud-banner--offline[data-v-ad9d8d17]{background:color-mix(in srgb, var(--r-amber-500,#f59e0b) 22%, transparent);color:var(--r-amber-200,#fde68a);border-bottom-color:color-mix(in srgb, var(--r-amber-500,#f59e0b) 45%, transparent)}.dark-mode .cloud-banner--other-cloud[data-v-ad9d8d17],.dark-mode .cloud-banner--other-org[data-v-ad9d8d17]{background:color-mix(in srgb, var(--r-red-500,#ef4444) 22%, transparent);color:var(--r-red-200,#fecaca);border-bottom-color:color-mix(in srgb, var(--r-red-500,#ef4444) 45%, transparent)}.app-layout[data-v-ba7261d7]{flex-direction:column;flex:1;height:100%;min-height:0;display:flex;overflow:hidden}.app-layout__body[data-v-ba7261d7]{flex-direction:row;flex:1;min-height:0;display:flex;overflow:hidden}.app-layout__resizer[data-v-ba7261d7]{z-index:2;width:0;min-width:0;position:relative}.app-layout__resizer[data-v-ba7261d7]:after{content:"";cursor:col-resize;width:9px;position:absolute;top:0;bottom:0;left:-4px}.app-layout__resizer[data-v-ba7261d7]:before{content:"";background:var(--r-border);opacity:0;pointer-events:none;border-radius:999px;width:4px;height:36px;transition:opacity .15s,background .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.app-layout__resizer[data-v-ba7261d7]:hover:before,.app-layout__resizer--active[data-v-ba7261d7]:before{opacity:1}.app-layout__resizer--active[data-v-ba7261d7]:before{background:var(--r-primary)}.app-layout__sidebar-edge-trigger[data-v-ba7261d7]{cursor:pointer;background:var(--runeya-sidebar-bg);border-right:1px solid var(--runeya-border);z-index:1;justify-content:center;align-items:center;width:20px;min-width:20px;transition:background .15s;display:flex;position:relative}.app-layout__sidebar-edge-trigger[data-v-ba7261d7]:hover{background:var(--runeya-sidebar-active)}.app-layout__sidebar-edge-trigger .ti[data-v-ba7261d7]{color:var(--r-text-muted);font-size:.5rem}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.cloud-chat[data-v-766ca891]{flex-direction:column;width:100%;height:100%;min-height:0;padding:1rem 1.25rem;display:flex}.topbar[data-v-766ca891]{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.topbar h1[data-v-766ca891]{flex:1;font-size:1.4rem;font-weight:700}.org-select[data-v-766ca891]{min-width:200px}.notice[data-v-766ca891]{color:var(--r-text-muted,#888);text-align:center;padding:2rem 0}.panel[data-v-766ca891]{flex:1;min-height:0}.connect-cta[data-v-766ca891]{text-align:center;border:1px solid var(--r-border);background:var(--r-bg);border-radius:16px;flex-direction:column;align-items:center;gap:.75rem;max-width:420px;margin:3rem auto;padding:2rem;display:flex}.connect-cta__badge[data-v-766ca891]{color:#fff;background:linear-gradient(135deg,#ec4899,#a855f7);border-radius:16px;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.75rem;display:flex;box-shadow:0 6px 18px #a855f766}.connect-cta__title[data-v-766ca891]{margin:.25rem 0 0;font-size:1.25rem;font-weight:800}.connect-cta__desc[data-v-766ca891]{color:var(--r-text-muted);margin:0 0 .5rem;font-size:.9rem;line-height:1.5}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,_ as r,b as i,en as a,g as o,k as s,mt as c,qt as l,rn as u,v as ee}from"./runtime-core.esm-bundler-DujKY9QV.js";import{Y as te,dt as d,ft as f,mt as ne}from"./src-Ds4DOFJs.js";import{g as re}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as p}from"./scenario.store-F78cizck.js";import{n as m,r as h,t as g}from"./cloud-auth-D_am4FlK.js";import{r as _}from"./cloud-session-ja0-uvVS.js";import{n as ie,t as ae}from"./cloud-client-CX0pW7Kt.js";import{r as oe,t as se}from"./AiChatModals-B6svb69W.js";import{t as ce}from"./useAiChatDrawer-D_ofn8Eo.js";import{P as v,d as y,f as b}from"./index-DTrxphh3.js";import{n as x}from"./src-DXlxwMXe.js";import{t as S}from"./cloud-chat.store-CMklOB48.js";import{t as C}from"./useCloudOrg-QzX8ryg1.js";var w={class:`cloud-chat`},T={class:`topbar`},E={key:0,class:`connect-cta`},D={class:`connect-cta__badge`},O={class:`connect-cta__title`},k={class:`connect-cta__desc`},A={key:1,class:`notice`},j=f(s({__name:`CloudMessagingPage`,setup(s){let{t:f}=ne(),j=re(),{user:M}=_(),N=o(()=>M.value?.id),P=o(()=>m());function F(e){return g(e,{orgId:L.value})}function I(e,t){return t?f(`cloudMessaging.${e}`,t):f(`cloudMessaging.${e}`)}let{orgId:L,orgSlug:R,members:z,unavailability:B}=C(),V=t([]),{columnTitles:H}=b(V);function U(e,t){return H.value[y(e,t)]}function W(){R.value&&window.open(`${h()}/app/${R.value}/settings/org/billing`,`_blank`,`noopener`)}let G=S();function le(e){G.noteChannelRead(e)}let K=o(()=>h().replace(/\/+$/,``));function ue(e){let t=/^\/app\/[^/]+(\/kanban\/[^/]+(?:\/card\/[^/?#]+)?)(?:[?#].*)?$/.exec(e);return t?t[1]:null}function de(e,t){if(t!==K.value){j.push(e);return}let n=ue(e);n?j.push(n):window.open(`${t}${e}`,`_blank`,`noopener`)}let{openWithContext:q}=ce(),J=p(),Y=t(null),X=t(!1),Z=t(null);function Q(){let e=Z.value;if(!e)return``;let t=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),n=e.messages.map(e=>`[${t(e.createdAt)}] ${e.userName}: ${e.content}`).join(`
|
|
2
|
-
`);return`Messages de la conversation « ${e.title} » :\n\n${n}`}function $(){return f(`cloudMessaging.aiContextLabel`,{count:Z.value?.messages.length??0})}function fe(e){e.messages.length&&(Z.value=e,X.value=!0)}async function pe(e,t){let n=Q();n.trim()&&(await J.createConversation({runner:e,providerId:t}),q({text:n,label:$(),icon:`ti-messages`}))}function me(e,t,n){X.value=!1,Y.value?.showScenarioDialog(e,void 0,t,n??void 0)}async function he(e,t){X.value=!1,await pe(e===`keep`?void 0:e,t??void 0)}async function ge(e,t,n,r){let i=Q(),a=t||i,o=await J.createConversation({scenarioId:e,scenarioInput:a});if(a&&o){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;J.startScenarioRun(o.id,e,a,void 0,t)}q({text:i,label:$(),icon:`ti-messages`})}return(t,o)=>(c(),i(`div`,w,[r(`div`,T,[n(e(d),{icon:`ti ti-arrow-left`,variant:`text`,rounded:``,onClick:o[0]||=t=>e(j).push({name:`cloud-account`})}),r(`h1`,null,u(e(f)(`cloudMessaging.title`)),1)]),e(M)?e(L)?(c(),ee(e(x),{key:2,class:`panel`,client:e(ie),"org-id":e(L),"cloud-api-base-url":P.value,"avatar-url":F,"stream-url":e(ae),"notify-on-unread":!1,"current-user-id":N.value,members:e(z),t:I,"internal-origins":[K.value],"enable-select-to-ai":``,"card-column":U,onCardRefs:o[2]||=e=>V.value=e,onChannelRead:le,onAiContext:fe,onInternalLink:de,onUpgrade:W},null,8,[`client`,`org-id`,`cloud-api-base-url`,`stream-url`,`current-user-id`,`members`,`internal-origins`])):(c(),i(`div`,A,u(e(B)===`not-member`?e(f)(`cloudMessaging.orgNotAccessible`):e(f)(`cloudMessaging.noProjectOrg`)),1)):(c(),i(`div`,E,[r(`div`,D,[r(`i`,{class:a(e(v))},null,2)]),r(`h2`,O,u(e(f)(`cloudMessaging.notConnectedTitle`)),1),r(`p`,k,u(e(f)(`cloudMessaging.notConnectedDesc`)),1),n(e(d),{label:e(f)(`cloudMessaging.connectAction`),icon:`ti ti-cloud`,onClick:o[1]||=t=>e(j).push({name:`cloud-account`})},null,8,[`label`])])),n(e(te),{visible:X.value,header:e(f)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":o[3]||=e=>{e||(X.value=!1)}},{default:l(()=>[n(oe,{compact:``,onSelectScenario:me,onSkip:he})]),_:1},8,[`visible`,`header`]),n(se,{ref_key:`aiModalsRef`,ref:Y,onConfirmScenarioStart:ge},null,512)]))}}),[[`__scopeId`,`data-v-766ca891`]]);export{j as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.tab-icon[data-v-a6ed54b0]{margin-right:.4rem;font-size:.85rem}.tab-content[data-v-a6ed54b0]{flex-direction:column;gap:2rem;display:flex}.form-group[data-v-a6ed54b0]{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.form-group[data-v-a6ed54b0]:last-child{margin-bottom:0}.form-group label[data-v-a6ed54b0]{color:var(--text-color);font-weight:500}.required[data-v-a6ed54b0]{color:var(--red-500);font-weight:700}.form-actions[data-v-a6ed54b0]{border-top:1px solid var(--surface-border);justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;display:flex}.form-row[data-v-a6ed54b0]{gap:1.5rem;display:flex}.flex-1[data-v-a6ed54b0]{flex:1}.color-field[data-v-a6ed54b0]{align-items:center;gap:.75rem;display:flex}.color-input[data-v-a6ed54b0]{flex:1;font-family:Monaco,Menlo,monospace;font-size:.85rem}.switch-row[data-v-a6ed54b0]{justify-content:space-between;align-items:center;gap:1rem;display:flex}.empty-variables[data-v-a6ed54b0]{color:var(--r-text-muted);justify-content:center;align-items:center;gap:.5rem;padding:2rem;display:flex}.empty-variables .ti[data-v-a6ed54b0]{font-size:1rem}.inherited-accordion[data-v-a6ed54b0]{margin-top:1rem}.inherited-header[data-v-a6ed54b0]{color:var(--r-text-muted);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.inherited-header .ti[data-v-a6ed54b0]{font-size:.8rem}.inherited-row-key[data-v-a6ed54b0]{flex-direction:column;gap:.2rem;display:flex}.preview-key[data-v-a6ed54b0]{color:var(--r-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;font-weight:600}.preview-value[data-v-a6ed54b0]{color:var(--r-text);word-break:break-all;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem}.source-badge[data-v-a6ed54b0]{opacity:.7;font-size:.7rem}.secret-mask[data-v-a6ed54b0]{color:var(--r-text-muted,#6b7280);font-size:.85rem;font-style:italic}.value-row[data-v-a6ed54b0]{align-items:center;display:inline-flex}.value-actions[data-v-a6ed54b0]{flex-shrink:0;align-items:center;gap:.2rem;margin-right:.4rem;display:inline-flex}.action-icon[data-v-a6ed54b0]{color:var(--r-text-muted,#9ca3af);cursor:pointer;padding:.15rem;font-size:.75rem;transition:color .15s}.action-icon[data-v-a6ed54b0]:hover{color:var(--r-text)}.action-icon.ti-check[data-v-a6ed54b0]{color:var(--r-green-500,#22c55e)}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,_ as r,b as i,ct as a,g as o,k as s,mt as c,rn as l,v as u,y as d}from"./runtime-core.esm-bundler-DujKY9QV.js";import{H as f,P as p,dt as m,ft as h,mt as g}from"./src-Ds4DOFJs.js";import{g as _,h as v}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as y}from"./project.store-ZpH_PaSy.js";import{n as b}from"./error-DpF7X5iu.js";import{t as x}from"./EnvironmentForm-BlGWpU2_.js";var S={class:`environment-form-page`},C={class:`header`},w={key:0,class:`loading`},T={key:1,class:`form-container`},E=h(s({__name:`EnvironmentFormPage`,setup(s){let{t:h}=g(),E=v(),D=_(),O=y(),k=p(),A=o(()=>E.params.projectId),j=o(()=>E.params.id),M=o(()=>!!j.value),N=t(!1),P=t(null);async function F(){if(M.value){N.value=!0;try{let e=O.getById(j.value);if(!e){console.error(`Environment not found`),L();return}P.value=e}catch(e){console.error(`Failed to load environment:`,b(e))}finally{N.value=!1}}}async function I(e){try{M.value&&P.value?(await O.update({...e,id:P.value.id}),await F(),k.add({severity:`success`,summary:h(`environmentFormPage.updated`),detail:`"${e.name}" ${h(`environmentFormPage.updatedDesc`)}`,life:3e3})):(await O.create(e),k.add({severity:`success`,summary:h(`environmentFormPage.created`),detail:`"${e.name}" ${h(`environmentFormPage.createdDesc`)}`,life:3e3}),L())}catch(e){console.error(`Save failed:`,b(e)),k.add({severity:`error`,summary:h(`environmentFormPage.saveFailed`),detail:b(e)??h(`environmentFormPage.saveFailedDesc`),life:5e3})}}function L(){D.back()}return a(async()=>{O.environments.length===0&&await O.fetchAll(A.value),M.value&&await F()}),(t,a)=>(c(),i(`div`,S,[r(`div`,C,[n(e(m),{icon:`ti ti-arrow-left`,variant:`text`,onClick:L,class:`back-button`}),r(`h1`,null,l(M.value?e(h)(`environmentFormPage.editTitle`):e(h)(`environmentFormPage.createTitle`)),1),a[0]||=r(`div`,{style:{width:`40px`}},null,-1)]),N.value?(c(),i(`div`,w,[n(e(f))])):(c(),i(`div`,T,[P.value||!M.value?(c(),u(x,{key:0,"project-id":A.value,"environment-id":j.value,"initial-data":P.value,onSave:I,onCancel:L},null,8,[`project-id`,`environment-id`,`initial-data`])):d(``,!0)]))]))}}),[[`__scopeId`,`data-v-0ea7bf43`]]);export{E as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.environment-form-page[data-v-0ea7bf43]{padding:2rem}.header[data-v-0ea7bf43]{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.header h1[data-v-0ea7bf43]{flex:1;margin:0;font-size:1.75rem}.back-button[data-v-0ea7bf43]{width:auto}.loading[data-v-0ea7bf43]{justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.form-container[data-v-0ea7bf43]{max-width:900px;margin:0 auto}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as ee,D as n,E as r,Yt as i,_ as a,b as o,bt as te,ct as s,en as c,g as l,k as ne,mt as u,nn as d,o as f,qt as p,rn as m,v as h,y as g}from"./runtime-core.esm-bundler-DujKY9QV.js";import{I as _}from"./floating-ui.dom-DWhsZyqT.js";import{H as v,P as y,U as b,V as re,Y as ie,dt as x,ft as S,j as C,mt as w}from"./src-Ds4DOFJs.js";import{n as ae}from"./project-launch.store-C7xfTlMc.js";import{g as oe,h as T}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as E,r as D}from"./project.store-ZpH_PaSy.js";import{n as O}from"./error-DpF7X5iu.js";import{t as k}from"./EnvironmentForm-BlGWpU2_.js";var A={class:`environment-list-page`},j={class:`header`},M={class:`subtitle`},N={key:0,class:`loading`},P={key:1,class:`environments-grid`},F={class:`title-row`},I={class:`title-name`},L={class:`badges`},R=[`title`,`onClick`],z={key:0,class:`description`},B={key:1,class:`parents`},se={class:`var-count`},V={class:`actions`},H=S(ne({__name:`EnvironmentListPage`,setup(ne){let{t:S}=w(),H=T(),U=oe(),W=D(),G=E(),K=ae(),ce=C(),q=y(),J=l(()=>H.params.projectId),Y=t(!1),X=l(()=>G.getByRef({id:J.value,orgId:K.activeOrgId})??G.getById(J.value)),Z=l(()=>X.value?.activeEnvironmentId),le=l(()=>W.environments.filter(e=>e.scope===`global`||!e.scope)),ue=e=>e.map(e=>W.getById(e)?.name||e);function Q(e){if(e)return e.startsWith(`#`)?e:`#${e}`}s(async()=>{await W.fetchAll(J.value)});async function de(e){try{await W.create(e),Y.value=!1,q.add({severity:`success`,summary:S(`environmentList.created`),detail:S(`environmentList.createdDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:S(`environmentList.createError`),detail:O(e)??S(`environmentList.createErrorDesc`),life:5e3})}}function $(e){U.push(`/projects/${J.value}/environments/${e}/edit`)}async function fe(e){try{await W.update({id:e,default:!0}),q.add({severity:`success`,summary:S(`environmentList.defaultSet`),detail:S(`environmentList.defaultSetDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:S(`environmentList.failedToSetDefault`),detail:O(e),life:5e3})}}async function pe(e){try{if(!X.value)return;await G.setActiveEnvironment(X.value,e),await W.fetchAll(J.value),q.add({severity:`success`,summary:S(`environmentList.activated`),life:3e3})}catch(e){q.add({severity:`error`,summary:S(`environmentList.failedToActivate`),detail:O(e),life:5e3})}}function me(e,t){ce.require({message:S(`environmentList.deleteConfirmMsg`,{name:t}),header:S(`environmentList.deleteTitle`),icon:`ti ti-alert-triangle`,accept:async()=>{try{await W.deleteEnv(e),q.add({severity:`success`,summary:S(`environmentList.deleted`),detail:S(`environmentList.deletedDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:S(`environmentList.failedToDelete`),detail:O(e),life:5e3})}}})}return(t,s)=>{let l=ee(`tooltip`);return u(),o(`div`,A,[a(`div`,j,[a(`div`,null,[a(`h1`,null,m(e(S)(`environmentList.title`)),1),a(`p`,M,m(e(S)(`environmentList.subtitle`)),1)]),n(e(x),{onClick:s[0]||=e=>Y.value=!0,icon:`ti ti-plus`,label:e(S)(`environmentList.createButton`)},null,8,[`label`])]),e(W).loading?(u(),o(`div`,N,[n(e(v))])):(u(),o(`div`,P,[(u(!0),o(f,null,te(le.value,t=>(u(),h(e(re),{key:t.id,class:c([`environment-card`,{active:t.id===Z.value,immutable:t.immutable}]),style:d(t.bgColor||t.color?{borderLeftColor:Q(t.bgColor)||Q(t.color),borderLeftWidth:`4px`}:{}),onClick:e=>$(t.id)},{title:p(()=>[a(`div`,F,[a(`div`,I,[t.color||t.bgColor?(u(),o(`span`,{key:0,class:`env-swatch`,style:d({backgroundColor:Q(t.bgColor)||Q(t.color),color:Q(t.color)})},null,4)):g(``,!0),a(`span`,null,m(t.name),1)]),a(`div`,L,[t.immutable?(u(),h(e(b),{key:0,severity:`warn`,value:e(S)(`environmentList.immutableBadge`)},null,8,[`value`])):g(``,!0),t.id===Z.value?(u(),h(e(b),{key:1,severity:`success`,value:e(S)(`environmentList.activeBadge`)},null,8,[`value`])):g(``,!0),a(`i`,{class:c([`star-default ti`,t.default?`ti-star-filled`:`ti-star`]),title:t.default?e(S)(`environmentList.defaultEnv`):e(S)(`environmentList.setAsDefault`),onClick:_(e=>!t.default&&fe(t.id),[`stop`])},null,10,R)])])]),content:p(()=>[t.description?(u(),o(`p`,z,m(t.description),1)):g(``,!0),t.parentIds.length>0?(u(),o(`p`,B,[s[3]||=a(`strong`,null,`Parents:`,-1),r(` `+m(ue(t.parentIds).join(`, `)),1)])):g(``,!0),a(`p`,se,[s[4]||=a(`strong`,null,`Variables:`,-1),r(` `+m(Object.keys(t.variables??{}).length),1)])]),footer:p(()=>[a(`div`,V,[t.id!==Z.value&&!t.immutable?i((u(),h(e(x),{key:0,onClick:_(e=>pe(t.id),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-check`},null,8,[`onClick`])),[[l,e(S)(`environmentList.activateButton`),void 0,{top:!0}]]):g(``,!0),i(n(e(x),{onClick:_(e=>$(t.id),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-pencil`},null,8,[`onClick`]),[[l,e(S)(`environmentList.editButton`),void 0,{top:!0}]]),!t.immutable&&t.id!==Z.value?i((u(),h(e(x),{key:1,onClick:_(e=>me(t.id,t.name),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-trash`,severity:`danger`,"data-testid":`env-delete-btn`},null,8,[`onClick`])),[[l,e(S)(`environmentList.deleteButton`),void 0,{top:!0}]]):g(``,!0)])]),_:2},1032,[`class`,`style`,`onClick`]))),128))])),n(e(ie),{visible:Y.value,"onUpdate:visible":s[2]||=e=>Y.value=e,header:e(S)(`environments.createEnvironment`),style:{width:`600px`},modal:!1},{default:p(()=>[n(k,{"project-id":J.value,onSave:de,onCancel:s[1]||=e=>Y.value=!1},null,8,[`project-id`])]),_:1},8,[`visible`,`header`])])}}}),[[`__scopeId`,`data-v-42e0abcf`]]);export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.environment-list-page[data-v-42e0abcf]{padding:2rem}.header[data-v-42e0abcf]{justify-content:space-between;align-items:flex-start;margin-bottom:2rem;display:flex}.header h1[data-v-42e0abcf]{margin:0 0 .5rem;font-size:2rem}.subtitle[data-v-42e0abcf]{color:var(--text-color-secondary);margin:0;font-size:.95rem}.loading[data-v-42e0abcf]{justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.environments-grid[data-v-42e0abcf]{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;display:grid}.environment-card[data-v-42e0abcf]{cursor:pointer;height:100%;transition:all .2s}.environment-card[data-v-42e0abcf]:hover{box-shadow:0 4px 16px 0 color-mix(in srgb, var(--r-surface-900,#000) 12%, transparent)}.environment-card.active[data-v-42e0abcf]{outline:2px solid var(--r-primary,var(--primary-color));outline-offset:-1px;box-shadow:0 0 12px 0 color-mix(in srgb, var(--r-primary,var(--primary-color)) 35%, transparent)}.environment-card.immutable[data-v-42e0abcf]{opacity:.9}.title-row[data-v-42e0abcf]{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.title-name[data-v-42e0abcf]{align-items:center;gap:.5rem;display:flex}.env-swatch[data-v-42e0abcf]{border:1px solid var(--surface-border);border-radius:4px;flex-shrink:0;width:14px;height:14px}.badges[data-v-42e0abcf]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.star-default[data-v-42e0abcf]{color:var(--r-yellow-400,#facc15);font-size:1rem;transition:transform .15s,opacity .15s}.star-default.ti-star[data-v-42e0abcf]{opacity:.35;cursor:pointer}.star-default.ti-star[data-v-42e0abcf]:hover{opacity:1;transform:scale(1.2)}.star-default.ti-star-filled[data-v-42e0abcf]{cursor:default}.description[data-v-42e0abcf]{color:var(--text-color-secondary);margin:.5rem 0;font-size:.9rem}.parents[data-v-42e0abcf],.var-count[data-v-42e0abcf]{color:var(--text-color-secondary);margin:.25rem 0;font-size:.85rem}.actions[data-v-42e0abcf]{justify-content:flex-end;gap:.25rem;display:flex}.environment-card[data-v-42e0abcf] .r-card__body{flex-direction:column;gap:0;height:100%;padding:.75rem;display:flex}.environment-card[data-v-42e0abcf] .r-card__title{margin-bottom:.5rem;padding:0}.environment-card[data-v-42e0abcf] .r-card__content{flex:1;padding:0}.environment-card[data-v-42e0abcf] .r-card__footer{margin-top:auto;padding:.5rem 0 0}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{B as e,C as t,z as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as r,E as i,Ht as a,St as o,Yt as s,Z as c,_ as l,b as u,bt as d,ct as f,en as p,et as m,ft as h,g,k as _,mt as v,nn as y,o as b,qt as x,rn as S,tt as C,v as w,wt as T,xt as E,y as D}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as O,I as k,P as A,p as j}from"./floating-ui.dom-DWhsZyqT.js";import{C as M,H as N,J as P,S as ee,Y as F,a as I,dt as L,ft as R,mt as te}from"./src-Ds4DOFJs.js";import{n as ne}from"./scenario.store-F78cizck.js";import{r as re,t as ie}from"./AiChatModals-B6svb69W.js";import{t as ae}from"./useAiChatDrawer-D_ofn8Eo.js";import{n as z}from"./dist-DoChtT9t.js";import{P as oe,j as B}from"./index-DTrxphh3.js";import{t as se}from"./useProjectCloudOrg-2wwByg2k.js";import{t as ce}from"./SendToChatDialog-DGuOMMrS.js";var V=e=>Array.isArray(e),le=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ue=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,de=e=>`"${e}":`,fe=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,H=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,U=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),pe={class:`json-view-item`},me=[`aria-expanded`],W={class:`properties`},G={class:`value-key`},K=function(e){return e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e}({}),he=_({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(e,{emit:n}){let i=n,a=t(e.data.depth<e.maxDepth),c=()=>{a.value=!a.value},f=e=>{let t={key:e.key,value:e.value,path:e.path};i(`selected`,t)},m=e=>i(`selected`,e),h=g(()=>({"chevron-arrow":!0,opened:a.value})),_=g(()=>({"value-key":!0,"can-select":e.canSelect})),C=g(()=>{let{length:t,type:n}=e.data;return t===void 0?``:fe(t,n===1)}),E=g(()=>JSON.stringify(e.data.value)),M=e=>de(e.key),N=e=>ue(e);return(t,n)=>{let i=o(`JsonTreeViewItem`,!0);return v(),u(`div`,pe,[e.data.type===0||e.data.type===1?(v(),u(b,{key:0},[l(`button`,{class:`data-key`,type:`button`,"aria-expanded":a.value,onClick:k(c,[`stop`])},[l(`div`,{class:p(h.value),"aria-hidden":`true`},null,2),l(`span`,null,S(e.data.key)+`:`,1),l(`span`,W,S(C.value),1)],8,me),r(j,{name:`expand`},{default:x(()=>[s(l(`div`,null,[(v(!0),u(b,null,d(e.data.children,t=>(v(),w(i,{key:M(t),data:t,"max-depth":e.maxDepth,"can-select":e.canSelect,onSelected:m},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[A,a.value]])]),_:1})],64)):D(``,!0),e.data.type===2?(v(),w(T(e.canSelect?`button`:`div`),{key:1,class:p(_.value),type:e.canSelect?`button`:null,tabindex:e.canSelect?0:null,onClick:n[0]||=t=>e.canSelect?f(e.data):null,onKeyup:[n[1]||=O(t=>e.canSelect?f(e.data):null,[`enter`]),n[2]||=O(k(t=>e.canSelect?f(e.data):null,[`prevent`]),[`space`])]},{default:x(()=>[l(`span`,G,S(e.data.key)+`:`,1),l(`span`,{style:y({color:N(e.data.value)})},S(E.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):D(``,!0)])}}}),ge=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(_({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:t}){let n=t,r=e=>n(`selected`,e),i=(e,t,n,r,i)=>{let a=t.map((t,a)=>s(a.toString(),t,n+1,H(r,e,i,!0),!1));return{key:e,type:K.ARRAY,depth:n,path:r,length:a.length,children:a}},a=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>s(t,a,n+1,H(r,e,i),!0));return{key:e,type:K.OBJECT,depth:n,path:r,length:a.length,children:a}},o=(e,t,n,r,i)=>({key:e,type:K.VALUE,path:U(r,e,i),depth:n,value:t}),s=(e,t,n,r,s)=>V(t)?i(e,t,n,r,s):le(t)?a(e,t,n,r,s):o(e,t,n,r,s),c=(e,t)=>{try{let n=JSON.parse(e);return le(n)||V(n)?s(t,n,0,``,!0):o(t,n,0,``,!0)}catch{return o(t,e,0,``,!0)}},l=g(()=>c(e.json,e.rootKey));return(t,n)=>(v(),w(he,{class:p([`root-item`,{dark:e.colorScheme===`dark`}]),data:l.value,"max-depth":e.maxDepth,onSelected:r},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),_e={class:`log-card__icon`},q=[`innerHTML`],ve={key:0,class:`log-card__badge`},ye=[`innerHTML`],be={class:`log-card__clip`},xe=320,Se=150,J=R(_({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(n){let i=n,a=t(!i.defaultCollapsed),o=t(!!i.defaultCollapsed),s=t(!!i.defaultCollapsed);function c(){a.value?(a.value=!1,setTimeout(()=>{o.value=!0,s.value=!0},xe)):(o.value=!1,s.value=!1,setTimeout(()=>{a.value=!0},Se))}return(t,i)=>(v(),u(`div`,{class:p([`log-card`,{"log-card--muted":n.muted,"log-card--open":!s.value}])},[l(`div`,{class:`log-card__header`,style:y({background:n.color}),onClick:c},[l(`span`,_e,S(n.icon),1),l(`span`,{class:`log-card__title`,innerHTML:e(B).sanitize(n.title)},null,8,q),n.badge?(v(),u(`span`,ve,S(n.badge),1)):D(``,!0),t.$slots.default?(v(),u(`span`,{key:1,class:p([`log-card__chevron`,{"log-card__chevron--open":!s.value}])},[...i[0]||=[l(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[l(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):D(``,!0)],4),t.$slots.default?(v(),u(b,{key:0},[r(j,{name:`dots`},{default:x(()=>[o.value?(v(),u(`div`,{key:0,class:`log-card__preview`,style:y({borderLeftColor:n.color})},[n.lastLine?(v(),u(`span`,{key:0,class:`log-card__last-line`,innerHTML:e(B).sanitize(n.lastLine)},null,8,ye)):(v(),u(b,{key:1},[i[1]||=l(`span`,{class:`log-card__dot`},null,-1),i[2]||=l(`span`,{class:`log-card__dot`},null,-1),i[3]||=l(`span`,{class:`log-card__dot`},null,-1)],64))],4)):D(``,!0)]),_:1}),l(`div`,{class:p([`log-card__grid`,{"log-card__grid--open":a.value}])},[l(`div`,be,[l(`div`,{class:`log-card__body`,style:y({borderLeftColor:n.color})},[E(t.$slots,`default`,{},void 0,!0)],4)])],2)],64)):D(``,!0)],2))}}),[[`__scopeId`,`data-v-641c6e90`]]),Y={key:5},Ce=[`title`],we=[`innerHTML`],Te=R(_({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(t,{emit:n}){let a=t,o=n;function s(){let e=window.getSelection();e&&e.toString().length>0||o(`click`,a.log)}let c={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},d=g(()=>c[a.log.level]??`#a3a3a3`),f=g(()=>a.log.logCard?.state===`self`?a.log.logCard.type:null);function p(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function m(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function h(e){return JSON.stringify(e.json)}return(n,o)=>(v(),u(`div`,null,[f.value===`command-start`?(v(),w(J,{key:0,icon:`⌗`,title:t.log.logCard.header,color:`#3b82f6`,onClick:s},{default:x(()=>[i(S(t.log.message),1)]),_:1},8,[`title`])):f.value===`command-fail`?(v(),w(J,{key:1,icon:`⌗`,title:t.log.logCard.header,color:`#ef4444`,badge:`✗ ${t.log.message}`,onClick:s},null,8,[`title`,`badge`])):f.value===`system-warn`?(v(),w(J,{key:2,icon:`⚠`,title:t.log.logCard.header,color:`#ef4444`,badge:t.log.message,onClick:s},null,8,[`title`,`badge`])):f.value===`json`?(v(),w(J,{key:3,icon:`</>`,title:t.log.logCard.header,color:d.value},{default:x(()=>[l(`div`,{onClick:o[0]||=k(()=>{},[`stop`])},[r(e(ge),{json:h(a.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):t.log.json?(v(),w(J,{key:4,icon:`</>`,title:`JSON`,color:d.value,onClick:s},{default:x(()=>[l(`div`,{onClick:o[1]||=k(()=>{},[`stop`])},[r(e(ge),{json:h(a.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(v(),u(`div`,Y,[l(`div`,{class:`log-line`,"data-testid":`log-message`,style:y({boxShadow:`inset 3px 0 0 0 ${d.value}`}),title:p(a.log)?m(a.log):void 0,onClick:s},[l(`span`,{class:`log-message`,innerHTML:e(B).sanitize(a.log.message)},null,8,we)],12,Ce)]))]))}}),[[`__scopeId`,`data-v-6ac1d4e1`]]),Ee={class:`log-filter`},De={class:`log-filter__row`},Oe={class:`log-filter__level-option`},ke={class:`log-filter__level-chip`},Ae={key:0,class:`log-filter__badges`},je=[`title`],Me={class:`log-filter__badge-type`},Ne={key:0,class:`log-filter__badge-flag`},Pe={class:`log-filter__badge-pattern`},Fe=[`aria-label`,`onClick`],Ie={class:`log-filter__popover`},Le={class:`log-filter__popover-title`},Re={class:`log-filter__popover-row`},ze={class:`log-filter__popover-row log-filter__popover-row--between`},Be={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},Ve={class:`log-filter__popover-input-wrap`},He={key:0,class:`log-filter__popover-error`},Ue={class:`log-filter__popover-actions`},We=R(_({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(n,{emit:o}){let{t:s}=te(),c=n,f=o,m={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},g=z.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:m[e]??`#a3a3a3`})),_=t([...c.modelValue.levels]),T=t([...c.modelValue.filters]),E=!1;a(_,e=>{E||f(`update:modelValue`,{levels:e,filters:T.value})}),a(()=>c.modelValue,e=>{E=!0,_.value=[...e.levels],T.value=[...e.filters],C(()=>{E=!1})});let O=t(null),k=t(``),A=t(`include`),j=t(!1),N=t(``);function ee(e){O.value?.toggle(e)}function F(){O.value?.hide()}function R(e){try{return new RegExp(e),!0}catch(e){return N.value=e instanceof Error?e.message:`Invalid regex`,!1}}function ne(){let e=k.value.trim();e&&(N.value=``,(!j.value||R(e))&&(T.value=[...T.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:A.value,isRegex:j.value}],k.value=``,f(`update:modelValue`,{levels:_.value,filters:T.value}),F()))}function re(e){e.key===`Enter`&&(e.preventDefault(),ne()),e.key===`Escape`&&F()}function ie(){N.value=``}function ae(e){T.value=T.value.filter(t=>t.id!==e),f(`update:modelValue`,{levels:_.value,filters:T.value})}function oe(){_.value=[...z],T.value=[],f(`update:modelValue`,{levels:[...z],filters:[]})}return h(()=>{}),(t,n)=>(v(),u(`div`,Ee,[l(`div`,De,[r(e(I),{modelValue:_.value,"onUpdate:modelValue":n[0]||=e=>_.value=e,options:e(g),"option-label":`label`,"option-value":`value`,placeholder:e(s)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,"max-selected-labels":3,display:`chip`},{option:x(({option:e})=>[l(`div`,Oe,[l(`span`,{class:`log-filter__level-dot`,style:y({backgroundColor:e.color})},null,4),i(` `+S(e.label),1)])]),chip:x(({value:e})=>[l(`div`,ke,[l(`span`,{class:`log-filter__level-dot`,style:y({backgroundColor:m[e]})},null,4),i(` `+S(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),r(e(L),{icon:`ti ti-filter`,label:e(s)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:T.value.length>0?String(T.value.length):void 0,"badge-severity":`contrast`,onClick:ee},null,8,[`label`,`badge`]),T.value.length>0||_.value.length<e(z).length?(v(),w(e(L),{key:0,icon:`ti ti-filter-off`,variant:`text`,rounded:``,size:`small`,severity:`secondary`,"aria-label":e(s)(`logFilter.clearAll`),title:e(s)(`logFilter.clearAll`),onClick:oe},null,8,[`aria-label`,`title`])):D(``,!0)]),T.value.length>0?(v(),u(`div`,Ae,[(v(!0),u(b,null,d(T.value,t=>(v(),u(`span`,{key:t.id,class:p([`log-filter__badge`,t.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${t.type} · ${t.isRegex?`regex`:`text`}: ${t.pattern}`},[l(`span`,Me,S(t.type===`include`?`+`:`−`),1),t.isRegex?(v(),u(`span`,Ne,`.*`)):D(``,!0),l(`span`,Pe,S(t.pattern),1),l(`button`,{class:`log-filter__badge-remove`,"aria-label":e(s)(`logFilter.removeFilter`),onClick:e=>ae(t.id)},[...n[5]||=[l(`i`,{class:`ti ti-x`,style:{"font-size":`0.6rem`}},null,-1)]],8,Fe)],10,je))),128))])):D(``,!0),r(e(M),{ref_key:`popoverRef`,ref:O},{default:x(()=>[l(`div`,Ie,[l(`p`,Le,S(e(s)(`logFilter.newFilter`)),1),l(`div`,Re,[l(`button`,{class:p([`log-filter__type-btn`,A.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>A.value=`include`},[n[6]||=l(`i`,{class:`ti ti-plus`},null,-1),i(` `+S(e(s)(`logFilter.include`)),1)],2),l(`button`,{class:p([`log-filter__type-btn`,A.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>A.value=`exclude`},[n[7]||=l(`i`,{class:`ti ti-minus`},null,-1),i(` `+S(e(s)(`logFilter.exclude`)),1)],2)]),l(`div`,ze,[l(`label`,Be,S(e(s)(`logFilter.regex`)),1),l(`button`,{id:`logfilter-regex-toggle`,class:p([`log-filter__regex-toggle`,j.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{j.value=!j.value,N.value=``}},` .* `,2)]),l(`div`,Ve,[r(e(P),{modelValue:k.value,"onUpdate:modelValue":n[4]||=e=>k.value=e,placeholder:j.value?e(s)(`logFilter.regexPlaceholder`):e(s)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!N.value,autofocus:``,onInput:ie,onKeydown:re},null,8,[`modelValue`,`placeholder`,`invalid`]),N.value?(v(),u(`p`,He,S(N.value),1)):D(``,!0)]),l(`div`,Ue,[r(e(L),{label:e(s)(`logFilter.add`),icon:`ti ti-check`,size:`small`,disabled:!k.value.trim(),onClick:ne},null,8,[`label`,`disabled`]),r(e(L),{label:e(s)(`logFilter.cancel`),size:`small`,severity:`secondary`,variant:`text`,onClick:F},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-2ebea2b0`]]),Ge,{min:X,max:Z,abs:Ke,floor:qe}=Math,Je=(e,t,n)=>X(n,Z(t,e)),Ye=e=>e.sort((e,t)=>e-t),Xe=setTimeout,Ze=clearTimeout,Qe=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},$e=()=>{let e;return[new Promise(t=>{e=t}),e]},et=e=>e.ownerDocument,tt=e=>e.defaultView,nt=()=>(Ge??=/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0,Ge),rt=e=>Z(e.t(),e.o()),it=({l:e,i:t,u:n,p:r,m:i,h:a,t:o,S:s,v:c,I:l},u=0)=>{let d=!!l,f=!!u,p=1,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=null,C=[0,f?Z(u-1,0):-1],w=0,T=!1,E=new Set,D=()=>g-h,O=()=>D()+v+_,k=e=>n(e)-v,A=e=>{e&&(nt()&&b!==0||S&&x===1?v+=e:_+=e)};return{k:()=>{E.clear()},O:()=>p,l:(t=200)=>{if(!T||f)return C;let n,r;if(y)[n,r]=C;else{let i=Z(0,O()),a=i+m;d||(t=Z(0,t),b!==1&&(i-=t),b!==2&&(a+=t)),[n,r]=C=e(Z(0,i),Z(0,a)),S&&(n=X(n,S[0]),r=Z(r,S[1]))}return[Z(n,0),X(r,s()-1)]},T:e=>t(e-h),R:a,u:k,p:r,N:s,A:()=>g,M:()=>b!==0,o:()=>m,C:()=>h,t:o,j:()=>(y=_,_=0,[y,x===2]),q:(e,t)=>{let n=[e,t];return E.add(n),()=>{E.delete(n)}},P:(n,s)=>{let u,C,j=0;switch(n){case 1:{if(s===g&&x===0)break;let e=y;y=0;let t=s-g,n=Ke(t);e&&n<Ke(e)+1||x!==0||(b=t<0?2:1),f&&=!1,g=s,j=4;let r=D();r>=-m&&r<=o()&&(j+=1,C=n>m);break}case 2:j=8,b!==0&&(u=!0,j+=1),b=0,x=0,S=null;break;case 3:{let e=s.filter(([e,t])=>!a(e,t));if(!e.length)break;A(e.reduce((e,[t,n])=>{let i;if(x===2)i=!0;else if(S&&x===1)i=t<S[0];else{let e=D(),n=k(t),a=r(t);i=b!==1&&x===0?n+a<=e:n<e&&n+a<e+m}return i&&(e+=n-r(t)),e},0));for(let[t,n]of e){let e=r(t),a=i(t,n);d&&(w+=a?n:n-e)}d&&m&&w>m&&(A(l(t(O()))),d=!1),j=3,C=!0;break}case 4:m!==s&&(m||(T=C=!0),m=s,j=3);break;case 5:s[1]?(A(c(s[0],!0)),x=2,j=1):(c(s[0]),j=1);break;case 6:h=s;break;case 7:x=1;break;case 9:A(s),j=3;break;case 8:S=e(s,s+m),j=1}j&&(p=1+(2147483647&p),u&&v&&(_+=v,v=0),E.forEach(([e,t])=>{j&e&&t(C)}))}}},Q=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},$=(e,t,n,r=0,i=t-1)=>{let a=r;for(;r<=i;){let t=qe((r+i)/2);e(t)<=n?(a=t,r=t+1):i=t-1}return Je(a,0,t-1)},at=(e,t,n)=>{let r=n&&n[1]||t||40,i=-1,a=0,o=n&&n[0],s=o?Q(o.slice(0,X(e,o.length)),Z(0,e-o.length)):Q([],e),c=Q([],e+1),l=e=>{let t=s[e];return t===-1?r:t},u=t=>{if(!e)return 0;if(i>=t)return c[t];i<0&&(c[0]=0,i=0);let n=i,r=c[n];for(;n<t;)r+=l(n),c[++n]=r;return i=t,r};return{l:(t,n)=>{let r,i;return a=X(a,e-1),u(a)<=t?(i=$(u,e,n,a),r=$(u,e,t,a,i)):(r=$(u,e,t,void 0,a),i=$(u,e,n,r)),a=r,[r,i]},i:t=>$(u,e,t),u,p:l,m:(e,t)=>{let n=s[e]===-1;return s[e]=t,i=X(e,i),n},h:(e,t=-1)=>s[e]===t,t:()=>u(e),S:()=>e,v:(t,n)=>{let a=t-e;return i=n?-1:X(t-1,i),e=t,a>0?(Q(c,a),Q(s,a,n),r*a):(c.splice(a),(n?s.splice(0,-a):s.splice(a)).reduce((e,t)=>e-(t===-1?r:t),0))},I:t?void 0:e=>{let t=0,n=[];s.forEach((r,i)=>{r!==-1&&(r&&n.push(r),i<e&&t++)}),i=-1,Ye(n);let a=n.length,o=a/2|0,c=a%2==0?(n[o-1]+n[o])/2:n[o],l=r;return((r=c)-l)*Z(e-t,0)},B:()=>[s.slice(),r]}},ot=e=>{let t;return{X(n){(t||=new(tt(et(n))).ResizeObserver(e)).observe(n)},Y(e){t.unobserve(e)},J(){t&&t.disconnect()}}},st=(e,t,n,r,i,a,o)=>{let s,c,l=0,u=!1,d=!1,f=!1,p=!1,m=Date.now,h=r?`scrollLeft`:`scrollTop`,g=r?`left`:`top`,_=e=>i?-e:e,v=()=>_(n[h]),y=(e,t)=>{n.scrollTo({[g]:_(e),behavior:t?`smooth`:`instant`})},b=()=>{if(u||d)return u=!1,void x();f=!1,e.P(2)},x=()=>{Ze(c),c=Xe(b,150)},S=()=>{l=m(),f&&(p=!0),o&&e.P(6,o()),e.P(1,v()),x()},C=t=>{if(u||!e.M()||t.ctrlKey)return;let n=m()-l;150>n&&50<n&&(r?t.deltaX:t.deltaY)&&(u=!0)},w=()=>{d=!0,f=p=!1},T=()=>{d=!1,nt()&&(f=!0)};return t.addEventListener(`scroll`,S),t.addEventListener(`wheel`,C,{passive:!0}),t.addEventListener(`touchstart`,w,{passive:!0}),t.addEventListener(`touchend`,T,{passive:!0}),{J:()=>{t.removeEventListener(`scroll`,S),t.removeEventListener(`wheel`,C),t.removeEventListener(`touchstart`,w),t.removeEventListener(`touchend`,T),Ze(c)},U:()=>{let[t,r]=e.j();if(!t)return;p&&a&&a(),p=!1;let i=e.A()+t;i<=0||i>=e.C()+e.t()-e.o()?y(i):n.scrollBy({[g]:_(t),behavior:`instant`}),r&&(s&&s(),e.o()>e.t()&&e.P(1,v()))},G:(t,n)=>{let r,i,a;s&&s();let o=s=()=>{r=!0,Ze(i),a&&a()},c=()=>{if(!r){if(e.o()&&(Ze(i),i=Xe(o,150)),n){for(let[t,n]=e.l(0);t<=n;t++)if(e.R(t))return;o()}e.P(7),y(t(),n)}},l=()=>{if(r)return;let t;a=e.q(2,()=>{t||(t=!0,Qe(()=>{t=!1,c()}))}),c()};n?(e.P(8,t()),Qe(l)):l()}}},ct=(e,t)=>{e.K(()=>t)},lt=(e,t,n,{align:r,smooth:i,offset:a=0}={})=>{if(n=Je(n,0,t.N()-1),r===`nearest`){let e=t.u(n),i=t.A();if(e<i)r=`start`;else{if(!(e+t.p(n)>i+t.o()))return;r=`end`}}e.K(()=>a+e.Z()+t.u(n)+(r===`end`?t.p(n)-t.o():r===`center`?(t.p(n)-t.o())/2:0),i)},ut=_(e=>{let n=t(),i=g(()=>e.ee.value&&e.te.u(e.oe)),o=g(()=>e.ee.value&&e.te.R(e.oe)),s=g(()=>e.re({item:e.ne,index:e.oe}));return a(()=>n.value&&e.oe,(t,r,i)=>{i(e.se(n.value,e.oe))},{flush:`post`}),()=>{let{le:t,ie:a,ce:c,oe:l,ne:u}=e,d=o.value,{style:f,...p}=e.ae?.({item:u,index:l})||{},h={contain:`layout style`,position:d&&a?void 0:`absolute`,[t?`height`:`width`]:`100%`,[t?`top`:`left`]:`0px`,[t?`insetInlineStart`:`top`]:i.value+`px`,visibility:!d||a?void 0:`hidden`,...f};return t&&(h.display=`inline-flex`),r(c,m({ref:n,style:h},p),{default:()=>[s.value]},16,[`style`])}},{props:{ee:null,te:null,re:null,ne:null,se:null,oe:null,le:null,ie:null,ce:null,ae:null}}),dt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ft=(e,t)=>e[0]===t[0]&&e[1]===t[1],pt=_({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:n,expose:i,slots:o}){let s=!!e.ssrCount,l=e.horizontal,u=t(),d=at(e.data.length,e.itemSize,e.cache),p=it(d,e.ssrCount),m=((e,t)=>{let n,r,i=$e(),a=new WeakMap,o=ot(r=>{let i=[];for(let{target:o,contentRect:{width:s,height:c}}of r)if(o===n)(s||c)&&e.P(4,t?s:c);else if(o.offsetParent){let e=a.get(o);e!=null&&i.push([e,t?s:c])}i.length&&e.P(3,i)});return{ue(a,s=a.parentElement){o.X(n=s),r=st(e,s,s,t,t&&getComputedStyle(s).direction===`rtl`,()=>{let e=t?`overflowX`:`overflowY`,n=s.style,r=n[e];n[e]=`hidden`,Xe(()=>{n[e]=r})}),i[1](!0)},k(){o.J(),r&&r.J(),i[1](!1),i=$e()},fe:(e,t)=>(a.set(e,t),o.X(e),()=>{a.delete(e),o.Y(e)}),async K(e,t){await i[0]&&r.G(e,t)},de(){r&&r.U()},Z:e.C}})(p,l),_=t(p.O());p.q(1,()=>{_.value=p.O()}),p.q(4,()=>{n(`scroll`,p.A())}),p.q(8,()=>{n(`scrollEnd`)});let v=g(t=>{_.value;let n=p.l(e.bufferSize);return t&&ft(t,n)?t:n}),y=g(()=>_.value&&p.M()),b=g(()=>_.value&&p.t());return f(()=>{s=!1;let t=u.value,n=requestAnimationFrame(()=>{m.ue(t,e.scrollRef)});h(()=>{cancelAnimationFrame(n)})}),h(()=>{p.k(),m.k()}),a(()=>e.data.length,t=>{p.P(5,[t,e.shift])}),a(()=>e.startMargin,e=>{p.P(6,e)},{immediate:!0}),a([_],()=>{m.de()},{flush:`post`}),i({get cache(){return d.B()},get scrollOffset(){return p.A()},get scrollSize(){return rt(p)},get viewportSize(){return p.o()},findItemIndex:p.T,getItemOffset:p.u,getItemSize:p.p,scrollToIndex:(e,t)=>lt(m,p,e,t),scrollTo:e=>ct(m,e),scrollBy:e=>((e,t,n)=>{ct(e,n+t.A())})(m,p,e)}),()=>{let t=e.as,n=e.item,i=b.value,a=[],d=t=>{let i=o.default({item:e.data[t],index:t});return r(ut,{key:dt(i,t),ee:_,te:p,se:m.fe,oe:t,re:o.default,ne:e.data[t],le:l,ie:s,ce:n,ae:e.itemProps},null,8,[`ee`,`te`,`se`,`oe`,`re`,`ne`,`le`,`ie`,`ce`,`ae`])};if(e.keepMounted){let t=e.data.length,n=new Set(e.keepMounted);for(let[e,t]=v.value;e<=t;e++)n.add(e);Ye([...n]).forEach(e=>{e<t&&a.push(d(e))})}else for(let[e,t]=v.value;e<=t;e++)a.push(d(e));return r(t,{ref:u,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:l?i+`px`:`100%`,height:l?`100%`:i+`px`,pointerEvents:y.value?`none`:void 0}},typeof(f=a)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!c(f)?a:{default:()=>[a],_:2},8,[`style`]);var f}}}),mt=_({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:n,expose:i,slots:a}){let o=e.horizontal,s=e=>{n(`scroll`,e)},l=()=>{n(`scrollEnd`)},u=t();return i({get cache(){return u.value.cache},get scrollOffset(){return u.value.scrollOffset},get scrollSize(){return u.value.scrollSize},get viewportSize(){return u.value.viewportSize},findItemIndex:(...e)=>u.value.findItemIndex(...e),getItemOffset:(...e)=>u.value.getItemOffset(...e),getItemSize:(...e)=>u.value.getItemSize(...e),scrollToIndex:(...e)=>u.value.scrollToIndex(...e),scrollTo:(...e)=>u.value.scrollTo(...e),scrollBy:(...e)=>u.value.scrollBy(...e)}),()=>{return r(`div`,{style:{display:o?`inline-block`:`block`,[o?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[r(pt,{ref:u,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:o,keepMounted:e.keepMounted,cache:e.cache,onScroll:s,onScrollEnd:l},(t=a,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!c(t)?a:{default:()=>[a],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}}),ht={class:`log-viewer`},gt={class:`log-viewer__toolbar`},_t={class:`log-viewer__toolbar-right`},vt={class:`log-viewer__count`},yt=[`title`],bt=[`title`],xt={class:`log-viewer__pin-wrap`},St=[`title`],Ct={key:0,class:`log-viewer__loading`},wt={key:1,class:`log-viewer__scroll log-viewer__empty`},Tt={class:`log-viewer__simple-line`},Et={key:0,class:`log-viewer__time-separator`},Dt={class:`log-viewer__time-separator-label`},Ot=150,kt=2e3,At=R(_({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(o,{emit:s}){let c=o,p=s,{t:m}=te(),h=[10,50,100,200,500,1e3,2e3,5e3,1e4],_=t(500),y=t({levels:[...z],filters:[]}),T=t(!0),E=t(null),O=t(!1),k=t(!1),A=t(0),j;function M(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function P(e){if(j===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===j)return e.slice(t+1);return null}function I(e){let t=e.length>_.value?e.slice(e.length-_.value):e;j=t[t.length-1]?.id,W.value=M(t),me(t),T.value&&C(()=>C(q))}function R(e){e.length!==0&&(j=e[e.length-1].id,W.value+=M(e),pe(e,de(),H.value),H.value.length>_.value?H.value=H.value.slice(H.value.length-_.value):n(H),T.value&&C(q))}function B(){if(A.value===0)return;A.value=0;let e=c.logs,t=P(e);t===null?I(e):R(t)}a(()=>c.logs,e=>{if(e.length===0){j=void 0,A.value=0,W.value=0,me([]);return}if(!T.value){let t=P(e);A.value=t===null?e.length:t.length;return}if(j===void 0){I(e);return}let t=P(e);t===null?I(e):R(t)},{deep:!1}),f(()=>{c.logs.length>0&&I(c.logs)});let V=new WeakMap;function le(e){if(V.has(e))return V.get(e);try{let t=new RegExp(e.pattern,`i`);return V.set(e,t),t}catch{return V.set(e,null),null}}function ue(e,t){if(e.isRegex){let n=le(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function de(){return{levelSet:new Set(y.value.levels),filterAll:y.value.levels.length>=z.length,includes:y.value.filters.filter(e=>e.type===`include`),excludes:y.value.filters.filter(e=>e.type===`exclude`),hidden:O.value}}function fe(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>ue(t,e.message))||t.excludes.some(t=>ue(t,e.message)))}let H=t([]),U=new Map;function pe(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){fe(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};U.set(e.id,t),n.push(t);continue}if(e.state===`close`){U.delete(e.id);continue}let i=U.get(e.id);i&&fe(r,t)&&i.body.push(r);continue}fe(r,t)&&n.push({...r,_type:`log`})}}function me(e){U=new Map;let t=de(),n=[];pe(e,t,n),H.value=n}a([y,O,_],()=>{I(c.logs)});let W=t(0),G=t(null),K=t(null);a(()=>c.logs,e=>{if(e.length===0){G.value=null,K.value=null;return}let t=Date.now();G.value===null&&(G.value=t),K.value=t});let he=g(()=>{if(G.value===null||K.value===null)return null;let e=K.value-G.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),ge=0,_e=0;function q(){E.value&&H.value.length!==0&&(ge=Date.now()+Ot,E.value.scrollToIndex(H.value.length-1,{align:`end`}))}function ve(e){let t=e<_e;if(!t&&Date.now()<ge){_e=e;return}if(_e=e,!E.value)return;let n=E.value.scrollSize-e-E.value.viewportSize;T.value?t&&n>1&&(T.value=!1):n<=1&&(T.value=!0,B(),C(q))}function ye(){T.value=!T.value,T.value&&(B(),C(q))}f(()=>{T.value&&C(q)});function be(e){y.value=e}function xe(e){p(`log-click`,e)}let Se=t(null),Y=t(!1),Ce=ne(),{openWithContext:we}=ae(),Ee=``;function De(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Oe(){return H.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
|
|
2
|
-
`):`[${e.level}] ${e.message}`).join(`
|
|
3
|
-
`)}function ke(){Ee=De(),Y.value=!0}let{available:Ae}=se(),je=t(null);function Me(){let e=De()||Fe();e.trim()&&je.value?.open(e)}function Ne(e,t,n){Y.value=!1,Se.value?.showScenarioDialog(e,void 0,t,n??void 0)}async function Pe(e,t){Y.value=!1,await Ie(e===`keep`?void 0:e,t??void 0)}function Fe(){let e=Ee||Oe();return c.serviceLabel?`Service: ${c.serviceLabel}\n\n${e}`:e}async function Ie(e,t){let n=Fe();n.trim()&&(await Ce.createConversation({runner:e,providerId:t}),we({text:n,label:m(`logViewer.logsContext`),icon:`ti-list`}))}async function Le(e,t,n,r){let i=Fe(),a=t||i,o=await Ce.createConversation({scenarioId:e,scenarioInput:a});if(a&&o){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;Ce.startScenarioRun(o.id,e,a,void 0,t)}we({text:i,label:m(`logViewer.logsContext`),icon:`ti-list`})}function Re(e){return e._type===`card`?e.body[0]?.timestamp??``:e.timestamp}function ze(e){if(e===0)return!0;let t=H.value[e-1],n=H.value[e];return new Date(Re(n)).getTime()-new Date(Re(t)).getTime()>kt}function Be(e){return new Date(e).toLocaleString()}return(t,n)=>(v(),u(`div`,ht,[l(`div`,gt,[r(We,{"model-value":y.value,"onUpdate:modelValue":be},null,8,[`model-value`]),l(`div`,_t,[!k.value&&W.value>0?(v(),w(e(L),{key:0,icon:O.value?`ti ti-eye`:`ti ti-eye-off`,severity:O.value?`warn`:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":O.value?e(m)(`logViewer.showingHidden`):e(m)(`logViewer.hiddenFiltered`),title:e(m)(`logViewer.hiddenLogsToggle`,{n:W.value}),onClick:n[0]||=e=>O.value=!O.value},null,8,[`icon`,`severity`,`aria-label`,`title`])):D(``,!0),l(`span`,vt,[i(S(k.value?c.logs.length:H.value.length)+` / `,1),r(e(ee),{modelValue:_.value,"onUpdate:modelValue":n[1]||=e=>_.value=e,options:h,size:`small`,class:`log-viewer__limit-select`,title:e(m)(`logViewer.maxLines`)},null,8,[`modelValue`,`title`])]),c.showStats&&he.value!==null?(v(),u(`span`,{key:1,class:`log-viewer__stats`,title:e(m)(`logViewer.timeSpan`)},`⏱ `+S(he.value),9,yt)):D(``,!0),c.showStats&&c.receivedPerSec!==void 0?(v(),u(`span`,{key:2,class:`log-viewer__stats`,title:e(m)(`logViewer.throughput`)},`↓`+S(c.receivedPerSec)+`/s · ⬡`+S(c.flushedPerSec)+`/s`,9,bt)):D(``,!0),r(e(L),{icon:k.value?`ti ti-code`:`ti ti-align-left`,severity:k.value?`warn`:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":k.value?e(m)(`logViewer.simpleModeOn`):e(m)(`logViewer.simpleModeOff`),title:e(m)(`logViewer.toggleSimple`),onClick:n[2]||=e=>k.value=!k.value},null,8,[`icon`,`severity`,`aria-label`,`title`]),r(e(L),{icon:`ti ti-brain`,severity:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":e(m)(`logViewer.sendToAi`),title:e(m)(`logViewer.sendToAiTitle`),onClick:ke},null,8,[`aria-label`,`title`]),e(Ae)?(v(),w(e(L),{key:3,icon:e(oe),severity:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":e(m)(`logViewer.sendToChat`),title:e(m)(`logViewer.sendToChat`),onClick:Me},null,8,[`icon`,`aria-label`,`title`])):D(``,!0),l(`div`,xt,[r(e(L),{icon:T.value?`ti ti-player-pause`:`ti ti-arrow-down`,severity:T.value?`success`:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":T.value?e(m)(`logViewer.autoScrollOn`):e(m)(`logViewer.autoScrollOff`),title:T.value?e(m)(`logViewer.live`):e(m)(`logViewer.paused`),onClick:ye},null,8,[`icon`,`severity`,`aria-label`,`title`]),!T.value&&A.value>0?(v(),u(`span`,{key:0,class:`log-viewer__waiting-badge`,title:e(m)(`logViewer.waitingLogs`,{n:A.value})},S(A.value>999?`999+`:A.value),9,St)):D(``,!0)])])]),o.loading&&c.logs.length===0?(v(),u(`div`,Ct,[r(e(N),{style:{width:`2rem`,height:`2rem`}}),l(`span`,null,S(e(m)(`logViewer.loading`)),1)])):H.value.length===0?(v(),u(`div`,wt,S(e(m)(`logViewer.empty`)),1)):k.value?(v(),w(e(mt),{key:2,ref_key:`listRef`,ref:E,data:c.logs,class:`log-viewer__scroll`,onScroll:ve},{default:x(({item:e})=>[l(`span`,Tt,S(e.raw),1)]),_:1},8,[`data`])):(v(),w(e(mt),{key:3,ref_key:`listRef`,ref:E,data:H.value,class:`log-viewer__scroll`,onScroll:ve},{default:x(({item:e,index:t})=>[ze(t)?(v(),u(`div`,Et,[n[4]||=l(`span`,{class:`log-viewer__time-separator-line`},null,-1),l(`span`,Dt,S(Be(Re(e))),1),n[5]||=l(`span`,{class:`log-viewer__time-separator-line`},null,-1)])):D(``,!0),e._type===`card`?(v(),w(J,{key:1,icon:`🐋`,title:e.header,color:`#1d4ed8`,"default-collapsed":e.defaultCollapsed,"last-line":e.body.length>0?e.body[e.body.length-1].message:void 0},{default:x(()=>[(v(!0),u(b,null,d(e.body,e=>(v(),w(Te,{key:e.id,log:e,onClick:xe},null,8,[`log`]))),128))]),_:2},1032,[`title`,`default-collapsed`,`last-line`])):(v(),w(Te,{key:2,log:e,onClick:xe},null,8,[`log`]))]),_:1},8,[`data`])),r(e(F),{visible:Y.value,header:e(m)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":n[3]||=e=>{e||(Y.value=!1)}},{default:x(()=>[r(re,{compact:``,onSelectScenario:Ne,onSkip:Pe})]),_:1},8,[`visible`,`header`]),r(ie,{ref_key:`aiModalsRef`,ref:Se,onConfirmScenarioStart:Le},null,512),e(Ae)?(v(),w(ce,{key:4,ref_key:`sendToChatRef`,ref:je},null,512)):D(``,!0)]))}}),[[`__scopeId`,`data-v-cf3a9fec`]]);export{At as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.log-details[data-v-b2c352ef]{flex-direction:column;gap:1.5rem;display:flex}.log-details__section[data-v-b2c352ef]{flex-direction:column;gap:.5rem;display:flex}.log-details__label[data-v-b2c352ef]{text-transform:uppercase;color:var(--r-primary);letter-spacing:.05em;font-size:.75rem;font-weight:600}.log-details__value[data-v-b2c352ef]{color:var(--r-text);font-size:.875rem}.log-details__value--box[data-v-b2c352ef]{border:1px solid var(--r-border);padding:.75rem}.log-details__value--code[data-v-b2c352ef]{white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.5}.log-details__process[data-v-b2c352ef]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.log-details__process span[data-v-b2c352ef]{word-break:break-all;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.8125rem}.service-terminal[data-v-de6d6402]{flex-direction:column;height:100%;display:flex;overflow:hidden}.service-terminal--fullscreen[data-v-de6d6402]{z-index:9999;position:fixed;inset:0}.service-terminal__header[data-v-de6d6402]{border-bottom:1px solid var(--r-border);background:var(--r-bg);justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.service-terminal__header-left[data-v-de6d6402]{align-items:center;gap:.625rem;display:flex}.service-terminal__name[data-v-de6d6402]{color:var(--r-text);font-size:1rem;font-weight:600}.service-terminal__state-tag[data-v-de6d6402]{font-size:.75rem}.service-terminal__header-right[data-v-de6d6402]{align-items:center;gap:.5rem;display:flex}.service-terminal__toolbar[data-v-de6d6402]{border-bottom:1px solid var(--r-border);background:var(--r-bg);justify-content:space-between;align-items:center;padding:.25rem .5rem;display:flex}.service-terminal__toolbar-left[data-v-de6d6402],.service-terminal__toolbar-right[data-v-de6d6402]{align-items:center;gap:.25rem;display:flex}.service-terminal__content[data-v-de6d6402]{flex:1;min-height:0;overflow:hidden}.service-terminal__shortcuts[data-v-de6d6402]{border-top:1px solid var(--r-border);background:var(--r-bg);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.375rem 1rem;display:flex}.shortcut-badge[data-v-de6d6402]{font-size:.75rem}.service-terminal__command-input[data-v-de6d6402]{border-top:1px solid var(--r-border);background:var(--r-bg);align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.service-terminal__prompt[data-v-de6d6402]{color:var(--r-primary);font-family:Courier New,monospace;font-size:1rem;font-weight:600;line-height:1}.service-terminal__autocomplete[data-v-de6d6402]{flex:1}.service-terminal__autocomplete[data-v-de6d6402] .r-autocomplete__input{width:100%}.service-terminal__input[data-v-de6d6402]{color:var(--r-text);font-family:Courier New,monospace;font-size:.875rem;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important;padding:.5rem 0!important}.service-terminal__input[data-v-de6d6402]::placeholder{color:var(--r-text-muted);font-style:italic}.service-terminal__input[data-v-de6d6402]:disabled{opacity:.5;cursor:not-allowed}.service-terminal__bottom[data-v-de6d6402]{border-top:1px solid var(--r-border);background:var(--r-bg);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.service-terminal__pill[data-v-de6d6402]{text-overflow:ellipsis;max-width:200px;font-size:.75rem;overflow:hidden}.service-terminal__pid-selector[data-v-de6d6402]{min-width:200px;font-size:.875rem}.pid-option[data-v-de6d6402]{align-items:center;gap:.5rem;width:100%;display:flex}.pid-option span[data-v-de6d6402]{flex:1}.pid-badge[data-v-de6d6402]{margin-left:auto;font-size:.625rem}.pid-status-icon[data-v-de6d6402]{margin-right:.5rem;font-size:.5rem}.pid-status-icon--active[data-v-de6d6402]{color:#22c55e}.pid-status-icon--stopped[data-v-de6d6402]{color:#94a3b8}.service-metrics[data-v-4ff9fccd]{flex-direction:column;height:100%;padding:1rem;display:flex;overflow-y:auto}.service-metrics__no-data[data-v-4ff9fccd],.service-metrics__no-process[data-v-4ff9fccd]{color:var(--r-text-muted);justify-content:center;align-items:center;gap:.5rem;padding:3rem;font-size:.9375rem;display:flex}.service-metrics__skeleton[data-v-4ff9fccd]{flex-wrap:wrap;gap:1rem;display:flex}.metric-skeleton[data-v-4ff9fccd]{border:1px solid var(--r-border);background:var(--r-bg);flex:1;min-width:160px;max-width:260px;padding:1rem}.config-general[data-v-2ad058bc]{flex-direction:column;gap:.75rem;display:flex}.config-card[data-v-2ad058bc]{border:1px solid var(--r-border);background:var(--r-bg);padding:.875rem 1rem}.config-card--inline[data-v-2ad058bc]{justify-content:space-between;align-items:center;display:flex}.config-card__header[data-v-2ad058bc]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:flex}.config-card--inline .config-card__header[data-v-2ad058bc]{margin-bottom:0}.config-card__input[data-v-2ad058bc]{width:100%}.config-card__hint[data-v-2ad058bc]{color:var(--r-text-muted);margin-top:.3rem;font-size:.78rem;display:block}.config-meta[data-v-2ad058bc]{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.config-meta__row[data-v-2ad058bc]{align-items:center;gap:.5rem;display:flex}.config-meta__input[data-v-2ad058bc]{flex:1}.config-meta__input--wide[data-v-2ad058bc]{flex:2}.config-meta__add[data-v-2ad058bc]{align-self:flex-start}.docker-config[data-v-1a62039a]{flex-direction:column;gap:.75rem;display:flex}.docker-config__section[data-v-1a62039a]{flex-direction:column;gap:.375rem;display:flex}.docker-config__section-title[data-v-1a62039a]{color:var(--r-text);font-size:.875rem;font-weight:600}.docker-config__label[data-v-1a62039a]{color:var(--r-text-muted);font-size:.75rem;font-weight:600}.docker-config__input[data-v-1a62039a]{width:100%;max-width:480px}.docker-config__select[data-v-1a62039a]{width:100%;max-width:320px}.docker-config__mode-toggle.r-radio-group[data-v-1a62039a]{gap:1.5rem;display:flex}.docker-config__mode-toggle--indented.r-radio-group[data-v-1a62039a]{flex-direction:column;gap:.375rem;margin-top:.5rem;padding-left:1.5rem}.docker-config__mode-option[data-v-1a62039a]{cursor:pointer;align-items:center;gap:.375rem;font-size:.875rem;display:flex}.docker-config__kv-list[data-v-1a62039a]{flex-direction:column;gap:.5rem;display:flex}.docker-config__kv-row[data-v-1a62039a]{align-items:center;gap:.5rem;display:flex}.docker-config__kv-input[data-v-1a62039a]{flex:1}.docker-config__list[data-v-1a62039a]{flex-direction:column;gap:.5rem;display:flex}.docker-config__list-row[data-v-1a62039a]{align-items:center;gap:.5rem;display:flex}.docker-config__checkbox-row[data-v-1a62039a]{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.docker-config__checkbox-label[data-v-1a62039a]{cursor:pointer;font-size:.875rem}.docker-config__hint[data-v-1a62039a]{color:var(--r-text-muted);margin-top:.125rem;font-size:.75rem}.docker-config__shell-row[data-v-1a62039a]{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;padding-left:1.5rem;display:flex}.docker-config__shell-row .docker-config__label[data-v-1a62039a]{white-space:nowrap}.docker-config__shell-row .docker-config__hint[data-v-1a62039a]{margin-top:0}.docker-config__select--small[data-v-1a62039a]{max-width:180px}.docker-config__hint code[data-v-1a62039a]{font-family:monospace;font-size:.7rem}.docker-config__hint-inline[data-v-1a62039a]{color:var(--r-text-muted);font-size:.75rem;font-weight:400}.docker-config__bootstrap-card[data-v-1a62039a]{border:1px solid var(--r-border);background:var(--r-bg);padding:.75rem 1rem}.docker-config__bootstrap-row[data-v-1a62039a]{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.docker-config__bootstrap-field[data-v-1a62039a]{flex-direction:column;flex:1;gap:.25rem;min-width:120px;display:flex}.docker-config__bootstrap-field--wide[data-v-1a62039a]{flex:2;min-width:200px}.docker-config__bootstrap-actions[data-v-1a62039a]{align-items:center;gap:.125rem;padding-bottom:.125rem;display:flex}.config-commands[data-v-4820790b]{flex-direction:column;gap:.75rem;display:flex}.config-commands__tab-content[data-v-4820790b]{flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.config-commands__empty[data-v-4820790b]{text-align:center;color:var(--r-text-muted);padding:1.5rem;font-size:.875rem}.config-card[data-v-4820790b]{border:1px solid var(--r-border);background:var(--r-bg);padding:.875rem 1rem}.config-card__input[data-v-4820790b]{width:100%}.config-commands__row[data-v-4820790b]{align-items:flex-end;gap:.75rem;display:flex}.config-commands__field[data-v-4820790b]{flex-direction:column;flex:1;gap:.25rem;display:flex}.config-commands__field--wide[data-v-4820790b]{flex:2}.config-commands__label[data-v-4820790b]{color:var(--r-text-muted);font-size:.75rem;font-weight:600}.config-commands__actions-cell[data-v-4820790b]{align-items:center;padding-bottom:.125rem;display:flex}.config-commands__footer[data-v-4820790b]{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.tab-icon[data-v-4820790b]{margin-right:.4rem;font-size:.85rem}.config-commands__execution[data-v-4820790b]{flex-wrap:wrap;align-items:stretch;gap:.75rem;padding-bottom:.25rem;display:flex}.config-card--execution[data-v-4820790b]{flex-direction:column;flex:1;gap:.5rem;min-width:180px;display:flex}.config-card__header[data-v-4820790b]{align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:flex}.config-card__hint[data-v-4820790b]{color:var(--r-text-muted);font-size:.78rem}.runner-option[data-v-4820790b]{align-items:center;gap:.5rem;display:flex}.config-env[data-v-c7f150f3]{flex-direction:column;gap:1rem;display:flex}.active-env-display[data-v-c7f150f3]{background:var(--r-bg-hover);border-left:3px solid var(--r-primary);border-radius:4px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.active-env-label[data-v-c7f150f3]{color:var(--r-text-muted);font-weight:600}.inheritance-toggle[data-v-c7f150f3]{background:var(--r-bg-hover);border:1px solid var(--r-border);border-radius:4px;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.875rem;display:flex}.inheritance-label[data-v-c7f150f3]{color:var(--r-text)}.config-env__header[data-v-c7f150f3]{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.config-env__title[data-v-c7f150f3]{color:var(--r-text);flex:1;margin:0;font-size:1rem;font-weight:600}.config-env__actions[data-v-c7f150f3]{align-items:center;gap:.5rem;display:flex}.variables-view[data-v-c7f150f3]{flex-direction:column;gap:1rem;display:flex}.inherited-accordion[data-v-c7f150f3]{margin-top:.25rem}.inherited-header[data-v-c7f150f3]{color:var(--r-text-muted);align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;display:inline-flex}.inherited-header .ti[data-v-c7f150f3]{font-size:.8rem}.empty-state[data-v-c7f150f3]{text-align:center;color:var(--r-text-muted);border:1px dashed var(--r-border);border-radius:4px;padding:2rem}.editor-container[data-v-c7f150f3]{flex-direction:column;gap:1rem;display:flex}.editor-env-banner[data-v-c7f150f3]{background:var(--r-bg-hover);color:var(--r-text);border-radius:6px;align-items:center;gap:.4rem;padding:.65rem .85rem;font-size:.85rem;display:flex}.editor-env-text[data-v-c7f150f3]{margin-right:.15rem}.editor-section[data-v-c7f150f3]{flex-direction:column;gap:.75rem;display:flex}.preview-container[data-v-c7f150f3]{flex-direction:column;gap:1rem;display:flex}.preview-info[data-v-c7f150f3]{color:var(--r-text-muted);margin:0;font-size:.875rem;font-style:italic}.preview-key[data-v-c7f150f3]{color:var(--r-text);font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;font-weight:600}.preview-value[data-v-c7f150f3]{color:var(--r-text);word-break:break-all;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem}.loading-container[data-v-c7f150f3]{justify-content:center;padding:2rem;display:flex}[data-v-c7f150f3] .preview-container .r-datatable{margin-top:1rem}.passthrough-info[data-v-c7f150f3]{color:var(--r-text-muted);margin:0 0 .5rem;font-size:.8rem;font-style:italic}.passthrough-undefined[data-v-c7f150f3]{color:var(--r-orange-500);font-size:.85rem;font-style:italic}.inherited-row-key[data-v-c7f150f3]{flex-direction:column;gap:.2rem;display:flex}.source-badge[data-v-c7f150f3]{opacity:.7;font-size:.7rem}.secret-mask[data-v-c7f150f3]{color:var(--r-text-muted,#6b7280);font-size:.85rem;font-style:italic}.value-row[data-v-c7f150f3]{align-items:center;display:inline-flex}.value-actions[data-v-c7f150f3]{flex-shrink:0;align-items:center;gap:.2rem;margin-right:.4rem;display:inline-flex}.action-icon[data-v-c7f150f3]{color:var(--r-text-muted,#9ca3af);cursor:pointer;padding:.15rem;font-size:.75rem;transition:color .15s}.action-icon[data-v-c7f150f3]:hover{color:var(--r-text)}.action-icon.ti-check[data-v-c7f150f3]{color:var(--r-green-500,#22c55e)}.config-health[data-v-956bcc34]{flex-direction:column;gap:.75rem;display:flex}.config-card[data-v-956bcc34]{border:1px solid var(--r-border);background:var(--r-bg);padding:.875rem 1rem}.config-card--inline[data-v-956bcc34]{justify-content:space-between;align-items:center;display:flex}.config-card__header[data-v-956bcc34]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:flex}.config-card--inline .config-card__header[data-v-956bcc34]{margin-bottom:0}.config-card__input[data-v-956bcc34]{width:100%}.config-card__hint[data-v-956bcc34]{color:var(--r-text-muted);margin-top:.25rem;font-size:.75rem;display:block}.config-shortcuts[data-v-cbad556b]{flex-direction:column;gap:.75rem;display:flex}.config-shortcuts__empty[data-v-cbad556b]{text-align:center;color:var(--r-text-muted);padding:1.5rem;font-size:.875rem}.config-card[data-v-cbad556b]{border:1px solid var(--r-border);background:var(--r-bg);padding:.875rem 1rem}.config-card__input[data-v-cbad556b]{width:100%}.config-shortcuts__row[data-v-cbad556b]{align-items:flex-end;gap:.75rem;display:flex}.config-shortcuts__field[data-v-cbad556b]{flex-direction:column;flex:1;gap:.25rem;display:flex}.config-shortcuts__field--wide[data-v-cbad556b]{flex:2}.config-shortcuts__label[data-v-cbad556b]{color:var(--r-text-muted);font-size:.75rem;font-weight:600}.config-shortcuts__actions-cell[data-v-cbad556b]{align-items:center;padding-bottom:.125rem;display:flex}.config-shortcuts__footer[data-v-cbad556b]{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.config-log-parsers[data-v-b8de20cf]{flex-direction:column;gap:.75rem;display:flex}.config-card[data-v-b8de20cf]{border:1px solid var(--r-border);background:var(--r-bg);padding:.875rem 1rem}.config-card__header[data-v-b8de20cf]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:flex}.config-card__hint[data-v-b8de20cf]{color:var(--r-text-muted);margin-top:.3rem;font-size:.78rem;display:block}.config-card__header-hint[data-v-b8de20cf]{color:var(--r-text-muted);margin-left:auto;font-size:.75rem;font-weight:400}.config-log-parsers__drag-list[data-v-b8de20cf]{flex-direction:column;gap:.375rem;margin-top:.5rem;display:flex}.config-log-parsers__drag-row[data-v-b8de20cf]{border:1px solid var(--r-border);background:var(--r-bg-hover);-webkit-user-select:none;user-select:none;align-items:center;gap:.625rem;padding:.4rem .625rem;display:flex}.drag-handle[data-v-b8de20cf]{cursor:grab;color:var(--r-text-muted);flex-shrink:0}.drag-handle[data-v-b8de20cf]:active{cursor:grabbing}.config-log-parsers__order[data-v-b8de20cf]{text-align:center;width:1.25rem;color:var(--r-text-muted);flex-shrink:0;font-size:.75rem;font-weight:700}.config-log-parsers__name[data-v-b8de20cf]{flex:1;font-size:.875rem;font-weight:500}.config-log-parsers__delete[data-v-b8de20cf]{flex-shrink:0;margin-left:auto}.config-log-parsers__empty[data-v-b8de20cf]{color:var(--r-text-muted);padding:1rem 0 .5rem;font-size:.875rem}.config-log-parsers__add-row[data-v-b8de20cf]{border-top:1px solid var(--r-border);align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.config-log-parsers__add-select[data-v-b8de20cf]{flex:1}.config-log-parsers__footer[data-v-b8de20cf]{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.config-log-sources[data-v-bc1e3496]{flex-direction:column;gap:.75rem;display:flex}.config-card[data-v-bc1e3496]{border:1px solid var(--r-border);background:var(--r-bg);padding:.875rem 1rem}.config-card__header[data-v-bc1e3496]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8125rem;font-weight:600;display:flex}.config-card__hint[data-v-bc1e3496]{color:var(--r-text-muted);margin-top:.3rem;font-size:.78rem;display:block}.config-card--list[data-v-bc1e3496]{flex-direction:column;gap:.375rem;padding:.5rem;display:flex}.source-row[data-v-bc1e3496]{border:1px solid var(--r-border);background:var(--r-bg-hover);align-items:center;gap:.75rem;padding:.5rem .625rem;display:flex}.source-row__icon[data-v-bc1e3496]{color:var(--r-text-muted);flex-shrink:0}.source-row__info[data-v-bc1e3496]{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.source-row__type[data-v-bc1e3496]{text-transform:uppercase;color:var(--r-primary);letter-spacing:.04em;font-size:.7rem;font-weight:700}.source-row__label[data-v-bc1e3496]{color:var(--r-text);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.source-row__actions[data-v-bc1e3496]{flex-shrink:0;gap:.25rem;display:flex}.config-log-sources__empty[data-v-bc1e3496]{text-align:center;color:var(--r-text-muted);border:1px dashed var(--r-border);padding:2rem;font-size:.875rem}.config-log-sources__empty-icon[data-v-bc1e3496]{opacity:.4;margin-bottom:.5rem;font-size:2rem;display:block}.config-log-sources__empty p[data-v-bc1e3496]{margin:0 0 .25rem}.config-log-sources__footer[data-v-bc1e3496]{justify-content:flex-end;padding-top:.25rem;display:flex}.dialog-form[data-v-bc1e3496]{flex-direction:column;gap:.875rem;padding-top:.25rem;display:flex}.dialog-form__row[data-v-bc1e3496]{gap:.75rem;display:flex}.dialog-form__row .dialog-form__field[data-v-bc1e3496]{flex:1}.dialog-form__field--port[data-v-bc1e3496]{flex:0 0 100px!important}.dialog-form__field--grow[data-v-bc1e3496]{flex:2!important}.dialog-form__field[data-v-bc1e3496]{flex-direction:column;gap:.3rem;display:flex}.dialog-form__field--row[data-v-bc1e3496]{flex-direction:row;justify-content:space-between;align-items:center}.dialog-form__label[data-v-bc1e3496]{color:var(--r-text-muted);font-size:.8rem;font-weight:600}.dialog-form__input[data-v-bc1e3496]{width:100%}.dialog-form__required[data-v-bc1e3496]{color:var(--r-red-500,#ef4444)}.dialog-form__hint[data-v-bc1e3496]{color:var(--r-text-muted);font-size:.75rem;font-weight:400}.dialog-form__hint-block[data-v-bc1e3496]{color:var(--r-text-muted);background:var(--r-bg-hover);padding:.5rem;font-size:.8rem;display:block}.config-traefik[data-v-37776b09]{flex-direction:column;gap:.75rem;padding:1rem 0;display:flex}.traefik-entry[data-v-37776b09]{align-items:center;gap:.5rem;min-width:0;display:flex}.traefik-entry__fields[data-v-37776b09]{flex:1;align-items:center;gap:.5rem;min-width:0;display:flex}.traefik-entry__url[data-v-37776b09]{flex:1;min-width:0}.traefik-entry__port[data-v-37776b09]{flex:0 0 100px}.config-view[data-v-204a6ce7]{flex-direction:column;height:100%;padding:1rem;display:flex;overflow-y:auto}.config-view__header[data-v-204a6ce7]{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.config-view__title[data-v-204a6ce7]{color:var(--r-text);margin:0;font-size:1.125rem;font-weight:600}.config-view__tabs[data-v-204a6ce7]{flex:1}.tab-icon[data-v-204a6ce7]{margin-right:.4rem;font-size:.85rem}.service-detail[data-v-ac012903]{height:100%}.service-detail__not-found[data-v-ac012903]{height:100%;color:var(--r-text-muted);justify-content:center;align-items:center;display:flex}
|