@runeya/runeya 2.0.4 → 2.0.5
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/agent/index.js +8 -0
- package/agent/index.js.map +1 -1
- package/package.json +1 -1
- package/web/assets/{AddressBar.vue-BKDjFQEO.js → AddressBar.vue-BOHUxRhN.js} +1 -1
- package/web/assets/{AgentPage-BgJ6Oumo.js → AgentPage-DFHxsu-9.js} +1 -1
- package/web/assets/{AgentScalarChatInterface.vue-C__iUL1Z.js → AgentScalarChatInterface.vue-Cxxiyyj8.js} +1 -1
- package/web/assets/{AgentTerminalPage-10MrzYed.js → AgentTerminalPage-D-T5emEl.js} +1 -1
- package/web/assets/AiChatPage-C81mFvv5.js +1 -0
- package/web/assets/{ApiDocsPage-BLR94Cpt.js → ApiDocsPage-CMGvcGEJ.js} +3 -3
- package/web/assets/{AppLayout-CDmZkp4X.js → AppLayout-D10vX1fo.js} +1 -1
- package/web/assets/{AuditPage-DmzLNZum.js → AuditPage-DZiwogoY.js} +1 -1
- package/web/assets/{CodeInput.vue-DESnqXGT.js → CodeInput.vue-8aNMYCYM.js} +1 -1
- package/web/assets/{Collection.vue-DsMsUTvq.js → Collection.vue-N8zZa4pa.js} +1 -1
- package/web/assets/{CollectionAuthentication.vue-CMRcgbVh.js → CollectionAuthentication.vue-cJOxjafo.js} +1 -1
- package/web/assets/CollectionCookies.vue-DrFQqbwv.js +1 -0
- package/web/assets/{CollectionEnvironment.vue-1tFpk-iW.js → CollectionEnvironment.vue-DWPTZ8qx.js} +1 -1
- package/web/assets/{CollectionOverview.vue-ClKgsIxR.js → CollectionOverview.vue-1Qf130d5.js} +1 -1
- package/web/assets/CollectionScripts.vue-DhcFFz80.js +1 -0
- package/web/assets/{CollectionServers.vue-DQQoH4jS.js → CollectionServers.vue-h7E03W0v.js} +1 -1
- package/web/assets/{CollectionSettings.vue-BNccb6p7.js → CollectionSettings.vue-CFrOwl7U.js} +1 -1
- package/web/assets/CollectionSync.vue-PV_tIrJS.js +1 -0
- package/web/assets/{CommandActionInput.vue-B3M0qimk.js → CommandActionInput.vue-L7AcEf6T.js} +1 -1
- package/web/assets/{Cookies.vue-Dm17xLaC.js → Cookies.vue-_P19OjMm.js} +1 -1
- package/web/assets/{DashboardPage-jcsHhPai.js → DashboardPage-BUDWnuJT.js} +1 -1
- package/web/assets/{DataTable.vue-zdywGoM2.js → DataTable.vue-DYVeGQPP.js} +1 -1
- package/web/assets/{DataTableCheckbox.vue-CclkBKvE.js → DataTableCheckbox.vue-n2xCTJj1.js} +1 -1
- package/web/assets/{DataTableHeader.vue-CeoLy43w.js → DataTableHeader.vue-ByesjY2f.js} +1 -1
- package/web/assets/{DataTableInput.vue-3ERbFJoE.js → DataTableInput.vue-uPpuKzrX.js} +1 -1
- package/web/assets/{DeleteSidebarListElement.vue-3UGiyFzi.js → DeleteSidebarListElement.vue-CBIb58rU.js} +1 -1
- package/web/assets/{EditSidebarListElement.vue-CCE5jAED.js → EditSidebarListElement.vue-DqTVSZtI.js} +1 -1
- package/web/assets/{EditorIcon-C2ppEtfo.js → EditorIcon-B70ii4EM.js} +1 -1
- package/web/assets/{EmptyState.vue-DlGCQP8X.js → EmptyState.vue-CcnWPtfW.js} +1 -1
- package/web/assets/{Environment.vue-B9fCQn_o.js → Environment.vue-Cgx06nkH.js} +1 -1
- package/web/assets/{EnvironmentForm-B6sX-gjz.js → EnvironmentForm-iBZzqZKd.js} +1 -1
- package/web/assets/{EnvironmentFormPage-LkjLL2Tx.js → EnvironmentFormPage-YVxAAreT.js} +1 -1
- package/web/assets/{EnvironmentListPage-DJrq-bw9.js → EnvironmentListPage-CHYDJ_c-.js} +1 -1
- package/web/assets/{EnvironmentModal.vue-CGuZ2LaE.js → EnvironmentModal.vue-BJNYZuPC.js} +1 -1
- package/web/assets/{EnvironmentSelector-BLJiz2gj.js → EnvironmentSelector-BZn_taec.js} +1 -1
- package/web/assets/{Form.vue-Cv791OrG.js → Form.vue-NLXFw40d.js} +1 -1
- package/web/assets/{IconSelector.vue-fCHQhHMO.js → IconSelector.vue-Ykh6DAln.js} +1 -1
- package/web/assets/{KanbanBoardPage-DhSVHsG8.js → KanbanBoardPage-gtXv0ZhK.js} +3 -3
- package/web/assets/{KanbanListPage-BeViEJtv.js → KanbanListPage-DMNSYO_o.js} +1 -1
- package/web/assets/{LaunchProjectPage-CIGYCxFP.js → LaunchProjectPage-DSyBuhky.js} +1 -1
- package/web/assets/{LaunchServicesPage-D0j30OXl.js → LaunchServicesPage-CiGkiqwE.js} +1 -1
- package/web/assets/{LogViewer-CXdJvW0h.js → LogViewer-DBVkaZnm.js} +1 -1
- package/web/assets/{ProcessControls-DL7EynVq.js → ProcessControls-Cya4eb3d.js} +1 -1
- package/web/assets/{ProcessDetailPage-DrFtEQIB.js → ProcessDetailPage-8ypC6zkc.js} +1 -1
- package/web/assets/{ProcessMetrics-DI_OfGVK.js → ProcessMetrics-CxRgbaUS.js} +1 -1
- package/web/assets/{ProjectDetailPage-BbTkdOjA.js → ProjectDetailPage-a1lTAjKP.js} +1 -1
- package/web/assets/{ProjectListPage-D5AjQ76w.js → ProjectListPage-Dewqu8Dm.js} +1 -1
- package/web/assets/{RandomJobTestPage-BqA1OISu.js → RandomJobTestPage-E6mevkqw.js} +1 -1
- package/web/assets/{Request.vue-DZqQbBpT.js → Request.vue-DQPTi6ur.js} +1 -1
- package/web/assets/{RequestAuth.vue-D_xgg-Np.js → RequestAuth.vue-DV5nNO3f.js} +1 -1
- package/web/assets/{RequestRoot.vue-BNteZz7y.js → RequestRoot.vue-DKlASKU5.js} +1 -1
- package/web/assets/{ScalarAsciiArt.vue-Bq6jHX7k.js → ScalarAsciiArt.vue-mk9jZSKh.js} +1 -1
- package/web/assets/{ScalarIconEyeSlash.vue-BmXqf-BS.js → ScalarIconEyeSlash.vue-DWKhR_BX.js} +1 -1
- package/web/assets/{ScalarIconTrash.vue-B6zURvRt.js → ScalarIconTrash.vue-CtSwrO5S.js} +1 -1
- package/web/assets/{ScenarioEditorPage-C6ezD0zR.js → ScenarioEditorPage-DogHTbNU.js} +1 -1
- package/web/assets/{ServerVariablesForm.vue-DNmYrfHr.js → ServerVariablesForm.vue-DYmWiAuz.js} +1 -1
- package/web/assets/{ServiceControlsBar-IQttXg13.js → ServiceControlsBar-B8Sm6p9E.js} +1 -1
- package/web/assets/{ServiceDetailPage-KU1gvCBw.js → ServiceDetailPage-DpWLccOg.js} +1 -1
- package/web/assets/{ServiceFormPage-DJjK3iWz.js → ServiceFormPage-DQbOgtB3.js} +1 -1
- package/web/assets/{Settings.vue-DKVhG7ed.js → Settings.vue-buoYkM3l.js} +1 -1
- package/web/assets/{SettingsPage-B_3jbuRH.js → SettingsPage-CCjZq5jP.js} +1 -1
- package/web/assets/{SetupKeyPage-CuqL0je4.js → SetupKeyPage-BdSpJPDR.js} +1 -1
- package/web/assets/{SetupPage-66SJwdOq.js → SetupPage-BsWaVllB.js} +1 -1
- package/web/assets/{Sidebar.vue-Bi6nDDuM.js → Sidebar.vue-DntMEn5m.js} +1 -1
- package/web/assets/{SidebarButton.vue-DXlFKFt7.js → SidebarButton.vue-DTin2zI2.js} +1 -1
- package/web/assets/{SidebarListElement.vue-RCpzoEDa.js → SidebarListElement.vue-zlfRLuE5.js} +1 -1
- package/web/assets/{UnlockPage-DOJwyaIc.js → UnlockPage-CmwRV1XA.js} +1 -1
- package/web/assets/{VariablesTable-DKZDozPX.js → VariablesTable-C8lxLV1V.js} +1 -1
- package/web/assets/{ViewLayout.vue-CA3dFsBE.js → ViewLayout.vue-C7w_U_o6.js} +1 -1
- package/web/assets/{ViewLayoutContent.vue-D0ZyDMeg.js → ViewLayoutContent.vue-CAXM5eIo.js} +1 -1
- package/web/assets/{ViewLayoutSection.vue-2zO572AC.js → ViewLayoutSection.vue-BzJIsja7.js} +1 -1
- package/web/assets/{active-entities-y4R6TMSt.js → active-entities-C2TbBQeI.js} +1 -1
- package/web/assets/{api-reference-BxlRg4qR.js → api-reference-BJkGMKQj.js} +1 -1
- package/web/assets/{autocomplete-6qBTCyf6.js → autocomplete-CxPmwkcZ.js} +1 -1
- package/web/assets/{card-CCBkP2P8.js → card-D5_gGGD-.js} +1 -1
- package/web/assets/{checkbox-C1esDvCD.js → checkbox-C0sXsL9e.js} +1 -1
- package/web/assets/{chip-DEYEeW-F.js → chip-rnk9_cKV.js} +1 -1
- package/web/assets/{column-aK2I8PaJ.js → column-ChvIrUdH.js} +1 -1
- package/web/assets/{core-CGdWGCUX.js → core-wYvkV3-A.js} +1 -1
- package/web/assets/{cssMode-DpoqIkov.js → cssMode-DdlczEni.js} +1 -1
- package/web/assets/{dist-BFf6fIdo.js → dist-BHh6fQzR.js} +1 -1
- package/web/assets/{dist-wmfsxjxc.js → dist-DBBhfLmf.js} +1 -1
- package/web/assets/{dist-Cu0IbGNw.js → dist-DeOvPbza.js} +1 -1
- package/web/assets/{dist-BpDjOvWf.js → dist-ZJ37S89a.js} +1 -1
- package/web/assets/{divider-Bk4Brbv7.js → divider-D6L7p-FU.js} +1 -1
- package/web/assets/{editor.store-BF8_S543.js → editor.store-CWtgIxvE.js} +1 -1
- package/web/assets/{fieldset-DA1GYALV.js → fieldset-CiwzR0un.js} +1 -1
- package/web/assets/{freemarker2-C0SgSEQX.js → freemarker2-_wLEdPSz.js} +1 -1
- package/web/assets/{handlebars-DgMfQd2U.js → handlebars-66zKrSAk.js} +1 -1
- package/web/assets/{html-XhTY3nJ1.js → html-oM24gnvF.js} +1 -1
- package/web/assets/{htmlMode-a8Q5--J-.js → htmlMode-D65_fKu-.js} +1 -1
- package/web/assets/{index-DtgzVYQA.js → index-D5xJxOo2.js} +5 -5
- package/web/assets/index-Pqvy10Qz.css +1 -0
- package/web/assets/{javascript-CF3GRA6J.js → javascript-D-njx6Yh.js} +1 -1
- package/web/assets/{jsonMode-BVI1ty1E.js → jsonMode-bqHogKpM.js} +1 -1
- package/web/assets/{keyboard-C-kSRd_7.js → keyboard-BzTLpobK.js} +1 -1
- package/web/assets/{lib-Byz6Xoc7.js → lib-CPo2W-Kx.js} +1 -1
- package/web/assets/{library-yLls1gid.js → library-DmdL5Pgv.js} +1 -1
- package/web/assets/{liquid-BTUbnx76.js → liquid-BDL70fhI.js} +1 -1
- package/web/assets/{mdx-CT9JRVqk.js → mdx-Bo_N_Jd-.js} +1 -1
- package/web/assets/{mediaTypes-C2O-9mqw.js → mediaTypes-Cnm-r_sv.js} +1 -1
- package/web/assets/{message-BP6E2kB3.js → message-gtjFpAbc.js} +1 -1
- package/web/assets/{minus-l3m1t2VR.js → minus-C5Lsl7Wp.js} +1 -1
- package/web/assets/{multiselect-Dx1fcUSk.js → multiselect-BlmCsiSW.js} +1 -1
- package/web/assets/{password-DrgM_4MT.js → password-RYOg4soC.js} +1 -1
- package/web/assets/{plus-Dz5uLOsa.js → plus-C52I3-BN.js} +1 -1
- package/web/assets/{pretty-ms-BlzIQVgC.js → pretty-ms-BBvjfSt1.js} +1 -1
- package/web/assets/process.store-3BOses3z.js +1 -0
- package/web/assets/{project.store-IkiJVnHi.js → project.store-emr8mjg8.js} +1 -1
- package/web/assets/{python-D-ygMaD7.js → python-D1UXSNgK.js} +1 -1
- package/web/assets/{radiobutton-BF_JCgK5.js → radiobutton-B0t-WlKP.js} +1 -1
- package/web/assets/{razor-Cj7iiXRp.js → razor-Bd4GOtMe.js} +1 -1
- package/web/assets/router-DHhyM3YQ.js +1 -0
- package/web/assets/{settings.store-DlrIalG7.js → settings.store-CDr0Mia7.js} +1 -1
- package/web/assets/{store-DIQ5cnJB.js → store-CZKREOuj.js} +1 -1
- package/web/assets/{tabpanel-BFvptblG.js → tabpanel-geoVG-sX.js} +1 -1
- package/web/assets/{tag-Bg6HzaCD.js → tag-Dv5CaUPa.js} +1 -1
- package/web/assets/{toggleswitch-COqZTyfv.js → toggleswitch-DNzwv4Lc.js} +1 -1
- package/web/assets/trpc-B-vyi6vd.js +1 -0
- package/web/assets/{tsMode-IV67jT9w.js → tsMode-BkM4CkKr.js} +1 -1
- package/web/assets/{typescript-Bx9S0mR5.js → typescript-CUKl0qxN.js} +1 -1
- package/web/assets/{urls-D-5DkVsl.js → urls-BqL-MrG5.js} +1 -1
- package/web/assets/{use-tree-walker-Xi56Kyhe.js → use-tree-walker-E64HILpa.js} +1 -1
- package/web/assets/useAiChatDrawer-uS6dsG6x.js +1 -0
- package/web/assets/{useClipboard-CQwV_ErZ.js → useClipboard-Bep2crMO.js} +1 -1
- package/web/assets/{useLayout-CtomPxVB.js → useLayout-F9XKAPPL.js} +1 -1
- package/web/assets/{usePluginManager-B0LLVYIo.js → usePluginManager-yL67GqCi.js} +1 -1
- package/web/assets/{useSidebar-lFxMzh7T.js → useSidebar-DVRRagIa.js} +1 -1
- package/web/assets/{vue-router-DyWP0jFg.js → vue-router-uE6ClrN-.js} +1 -1
- package/web/assets/{xml-Chbr5k8r.js → xml-DMOW2yTg.js} +1 -1
- package/web/assets/{yaml-W-9gxiit.js → yaml-D2q3K0ZL.js} +1 -1
- package/web/index.html +2 -2
- package/web/assets/AiChatPage-DHXHJArt.js +0 -1
- package/web/assets/CollectionCookies.vue-giwIx9Oo.js +0 -1
- package/web/assets/CollectionScripts.vue-CfmQLF4T.js +0 -1
- package/web/assets/CollectionSync.vue-Cvrk773s.js +0 -1
- package/web/assets/index-BRDI9Dib.css +0 -1
- package/web/assets/process.store-Bt4k1TZl.js +0 -1
- package/web/assets/router-DcgtzWsZ.js +0 -1
- package/web/assets/trpc-tQqsDgwJ.js +0 -1
- package/web/assets/useAiChatDrawer-CaLJAha9.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Bn as n,Ca as r,Cn as i,Dn as a,Ea as o,Gi as s,Gn as c,H as l,Hi as u,Ii as d,Jn as f,Kn as p,Oa as m,On as h,P as g,Ri as _,Rn as v,W as y,Wi as b,Yn as x,_i as S,a as C,ai as w,at as T,ci as E,di as D,er as O,fi as k,gi as A,ha as j,hn as M,ia as N,it as P,ka as F,ki as I,li as L,n as R,nt as z,o as B,q as V,qn as H,ra as U,ri as W,s as G,t as ee,ti as te,ui as K,yi as q,zn as ne}from"./index-DtgzVYQA.js";import{t as J}from"./project.store-IkiJVnHi.js";import{t as re}from"./tag-Bg6HzaCD.js";import{t as Y}from"./editor.store-BF8_S543.js";import{t as X}from"./EditorIcon-C2ppEtfo.js";import"./ProcessControls-DL7EynVq.js";import{t as ie}from"./ServiceControlsBar-IQttXg13.js";import{t as ae}from"./EnvironmentSelector-BLJiz2gj.js";var oe={class:`service-sidebar__header`},se={class:`service-sidebar__search`},ce={class:`p-input-icon-left service-sidebar__search-wrapper`},le={class:`service-sidebar__list`},ue={class:`service-sidebar__group-items`},de=[`onClick`],fe={key:0,class:`pi pi-exclamation-triangle service-sidebar__status service-sidebar__status--error`},pe=[`title`],me=[`title`],he=[`title`],ge={key:4,class:`pi pi-circle-fill service-sidebar__status service-sidebar__status--running`},_e={key:5,class:`pi pi-spin pi-spinner service-sidebar__status service-sidebar__status--starting`},ve={key:6,class:`pi pi-circle service-sidebar__status service-sidebar__status--stopped`},ye={class:`service-sidebar__item-name`},be={key:0,class:`service-sidebar__empty`},xe={key:1,class:`service-sidebar__empty`},Se=i(q({__name:`ServiceSidebar`,props:{selectedServiceId:{},collapsed:{type:Boolean},activeProjectId:{},portrait:{type:Boolean}},emits:[`select-service`,`add-service`,`toggle-collapse`],setup(n,{emit:i}){let s=n,c=i,{t:l}=x(),d=J(),f=z(),p=C(),m=j(``),h=E(()=>s.activeProjectId?d.getById(s.activeProjectId):null),g=E(()=>{let e=m.value.toLowerCase();if(!h.value)return[];let t=f.getByIds(h.value.serviceIds).filter(t=>!e||t.name.toLowerCase().includes(e)),n={errored:0,running:1,starting:2};return t.sort((e,t)=>{let r=b(e.id),i=b(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({});function v(e,t){t?_.value[e]=t:delete _.value[e]}async function y(){if(!s.selectedServiceId)return;await I();let e=_.value[s.selectedServiceId];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}e(g,y),e(()=>s.selectedServiceId,y);function b(e){let t=p.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 T(e){if(!f.getById(e)?.healthCheck)return{hasHealthCheck:!1,status:null};let t=p.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(e,i)=>(t(),k(w,null,[n.portrait&&!n.collapsed?(t(),k(`div`,{key:0,class:`service-sidebar__backdrop`,onClick:i[0]||=e=>c(`toggle-collapse`)})):D(``,!0),L(`aside`,{class:o([`service-sidebar`,{"service-sidebar--collapsed":n.collapsed,"service-sidebar--portrait":n.portrait}])},[n.collapsed?D(``,!0):(t(),k(w,{key:0},[L(`div`,oe,[S(r(a),{icon:`pi pi-plus`,label:r(l)(`serviceSidebar.addService`),outlined:``,size:`small`,class:`service-sidebar__add-btn`,onClick:i[1]||=e=>c(`add-service`)},null,8,[`label`])]),L(`div`,se,[L(`span`,ce,[i[3]||=L(`i`,{class:`pi pi-search`},null,-1),S(r(V),{modelValue:m.value,"onUpdate:modelValue":i[2]||=e=>m.value=e,placeholder:r(l)(`serviceSidebar.searchPlaceholder`),size:`small`,class:`service-sidebar__search-input`},null,8,[`modelValue`,`placeholder`])])]),L(`div`,le,[L(`div`,ue,[(t(!0),k(w,null,u(g.value,e=>(t(),k(`button`,{key:e.id,ref_for:!0,ref:t=>v(e.id,t),class:o([`service-sidebar__item`,{"service-sidebar__item--active":n.selectedServiceId===e.id,"service-sidebar__item--inactive":!b(e.id)||b(e.id)===`stopped`}]),onClick:t=>{c(`select-service`,e.id),n.portrait&&c(`toggle-collapse`)}},[b(e.id)===`errored`?(t(),k(`i`,fe)):b(e.id)===`running`&&T(e.id).hasHealthCheck&&T(e.id).status===`healthy`?(t(),k(`i`,{key:1,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--healthy`,title:r(l)(`serviceSidebar.healthHealthy`)},null,8,pe)):b(e.id)===`running`&&T(e.id).hasHealthCheck&&T(e.id).status===`unhealthy`?(t(),k(`i`,{key:2,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--unhealthy`,title:r(l)(`serviceSidebar.healthUnhealthy`)},null,8,me)):b(e.id)===`running`&&T(e.id).hasHealthCheck&&T(e.id).status===`unknown`?(t(),k(`i`,{key:3,class:`pi pi-heart service-sidebar__status service-sidebar__status--health-pending`,title:r(l)(`serviceSidebar.healthWaiting`)},null,8,he)):b(e.id)===`running`?(t(),k(`i`,ge)):b(e.id)===`starting`?(t(),k(`i`,_e)):(t(),k(`i`,ve)),L(`span`,ye,F(e.name),1)],10,de))),128))]),h.value?g.value.length===0?(t(),k(`div`,xe,F(r(l)(`serviceSidebar.noServices`)),1)):D(``,!0):(t(),k(`div`,be,F(r(l)(`serviceSidebar.noProject`)),1))])],64))],2)],64))}}),[[`__scopeId`,`data-v-ddd5d3cc`]]),Ce={class:`notification-trigger`},we={class:`notification-panel`},Te={class:`notification-header`},Ee={class:`notification-title`},De={class:`notification-actions`},Oe={key:0,class:`notification-empty`},ke={key:1,class:`notification-list`},Ae=[`onClick`],je={class:`notification-content`},Me={class:`notification-item-title`},Ne={class:`notification-message`},Pe=[`onClick`],Fe={class:`notification-time`},Ie=i(q({__name:`NotificationCenter`,setup(e){let{t:i}=x(),s=B(),c=n(),l=j(),d=E(()=>s.unreadCount>0),f=E(()=>s.notifications);function p(e){l.value.toggle(e)}function _(){s.markAllRead()}function v(){s.clear()}function y(e){s.remove(e)}function b(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 C(e,t){s.markRead(e);let n=b(t);n&&(c.push(n).catch(()=>{}),l.value?.hide())}function T(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);return a<24?i(`notifications.hoursAgo`,{n:a}):i(`notifications.daysAgo`,{n:Math.floor(a/24)})}function O(e){switch(e){case`success`:return`pi pi-check-circle`;case`error`:return`pi pi-times-circle`;case`warn`:return`pi pi-exclamation-triangle`;default:return`pi pi-info-circle`}}function A(e){switch(e){case`success`:return`var(--p-green-500)`;case`error`:return`var(--p-red-500)`;case`warn`:return`var(--p-orange-500)`;default:return`var(--p-blue-500)`}}return(e,n)=>(t(),k(w,null,[L(`div`,Ce,[S(r(a),{icon:`pi pi-bell`,text:``,rounded:``,"aria-label":r(i)(`notifications.title`),onClick:p},null,8,[`aria-label`]),d.value?(t(),K(r(h),{key:0,value:r(s).unreadCount,severity:`danger`,class:`notification-badge`},null,8,[`value`])):D(``,!0)]),S(r(g),{ref_key:`op`,ref:l,class:`notification-overlay`},{default:U(()=>[L(`div`,we,[L(`div`,Te,[L(`span`,Ee,F(r(i)(`notifications.title`)),1),L(`div`,De,[d.value?(t(),K(r(a),{key:0,label:r(i)(`notifications.markAllRead`),text:``,size:`small`,onClick:_},null,8,[`label`])):D(``,!0),f.value.length>0?(t(),K(r(a),{key:1,label:r(i)(`notifications.clear`),text:``,size:`small`,severity:`secondary`,onClick:v},null,8,[`label`])):D(``,!0)])]),f.value.length===0?(t(),k(`div`,Oe,[n[0]||=L(`i`,{class:`pi pi-bell-slash`,style:{"font-size":`1.5rem`,"margin-bottom":`0.5rem`}},null,-1),L(`p`,null,F(r(i)(`notifications.empty`)),1)])):(t(),k(`div`,ke,[(t(!0),k(w,null,u(f.value,e=>(t(),k(`div`,{key:e.id,class:o([`notification-item`,{unread:!e.read}]),onClick:t=>C(e.id,e.link)},[L(`i`,{class:o(O(e.type)),style:m({color:A(e.type)})},null,6),L(`div`,je,[L(`div`,Me,F(e.title),1),L(`div`,Ne,F(e.message),1),b(e.link)?(t(),k(`button`,{key:0,type:`button`,class:`notification-link`,onClick:W(t=>C(e.id,e.link),[`stop`])},F(e.linkLabel||r(i)(`notifications.openResource`)),9,Pe)):D(``,!0),L(`div`,Fe,F(T(e.timestamp)),1)]),S(r(a),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:W(t=>y(e.id),[`stop`])},null,8,[`onClick`])],10,Ae))),128))]))])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-4165cfbc`]]),Le=[`title`],Re={class:`trigger-blob`},ze={class:`theme-picker`},Be={class:`theme-section`},Ve={class:`section-label`},He={class:`preset-list`},Ue=[`onClick`],We={class:`theme-section theme-section--row`},Ge={class:`section-label`},Ke=[`title`],qe={class:`theme-section theme-section--row`},Je={class:`section-label`},Ye={class:`mode-toggle`},Xe={class:`theme-section`},Ze={class:`section-label`},Qe={class:`swatches`},$e=[`title`,`onClick`],et={class:`custom-hue-header`},tt={class:`section-label`},nt={class:`custom-hue-track-wrap`},rt=[`value`],Z=`#18181b`,Q=`#f8fafc`,$=`custom`,it=i(q({__name:`ThemePicker`,setup(n){let i=[{id:`aura`,label:`Aura`}],a=[{id:`slate`,label:`Slate`,hex:`#64748b`},{id:`orange`,label:`Orange`,hex:`#f97316`},{id:`amber`,label:`Amber`,hex:`#f59e0b`},{id:`emerald`,label:`Emerald`,hex:`#10b981`},{id:`teal`,label:`Teal`,hex:`#14b8a6`},{id:`sky`,label:`Sky`,hex:`#0ea5e9`},{id:`blue`,label:`Blue`,hex:`#3b82f6`},{id:`violet`,label:`Violet`,hex:`#8b5cf6`},{id:`pink`,label:`Pink`,hex:`#ec4899`}];function s(e){let t=e/60,n=.7,r=n*(1-Math.abs(t%2-1)),i=0,a=0,o=0;t<1?(i=n,a=r):t<2?(i=r,a=n):t<3?(a=n,o=r):t<4?(a=r,o=n):t<5?(i=r,o=n):(i=n,o=r);let s=e=>Math.round((e+.2)*255).toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function c(e){let t=parseInt(e.slice(1,3),16)/255,n=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r);if(i===a)return 0;let o=i-a,s=0;return s=i===t?((n-r)/o+(n<r?6:0))/6:i===n?((r-t)/o+2)/6:((t-n)/o+4)/6,Math.round(s*360)}let l=localStorage.getItem(`runeya-theme-color`)??`emerald`,d=localStorage.getItem(`runeya-theme-custom`)??`#10b981`,f=localStorage.getItem(`runeya-dark-mode`)===`1`,p=localStorage.getItem(`runeya-theme-preset`)??`aura`,h=localStorage.getItem(`runeya-theme-gradient`)===`1`,_=j(l),v=j(d),y=j(c(d)),b=j(f),C=j(p),T=j(h),{t:D}=x(),M=j(null),N=E(()=>_.value===$?v.value:a.find(e=>e.id===_.value)?.hex??a[3].hex),P=E(()=>{let e=O(N.value);return[e[700],e[500],e[300],e[100]]});function I(){T.value=!T.value,localStorage.setItem(`runeya-theme-gradient`,T.value?`1`:`0`),ee(T.value)}function z(e){C.value=e,localStorage.setItem(`runeya-theme-preset`,e),R(e,_.value,b.value,v.value)}function B(e){_.value=e,localStorage.setItem(`runeya-theme-color`,e),R(C.value,e,b.value,v.value)}function V(e){b.value=e,localStorage.setItem(`runeya-dark-mode`,e?`1`:`0`),R(C.value,_.value,e,v.value)}function H(e){let t=Number(e.target.value);y.value=t,v.value=s(t),localStorage.setItem(`runeya-theme-custom`,v.value),_.value=$,localStorage.setItem(`runeya-theme-color`,$),R(C.value,$,b.value,v.value)}e(v,e=>{/^#[0-9a-f]{6}$/i.test(e)&&(y.value=c(e))});function W(e){M.value?.toggle(e)}return(e,n)=>(t(),k(w,null,[L(`button`,{class:`theme-trigger`,title:r(D)(`themePicker.title`),onClick:W},[L(`div`,Re,[(t(!0),k(w,null,u(P.value,(e,n)=>(t(),k(`div`,{key:n,class:`rad`,style:m({backgroundColor:e})},null,4))),128))])],8,Le),S(r(g),{ref_key:`popover`,ref:M,class:`theme-popover`},{default:U(()=>[L(`div`,ze,[L(`div`,Be,[L(`span`,Ve,F(r(D)(`themePicker.preset`)),1),L(`div`,He,[(t(),k(w,null,u(i,e=>L(`button`,{key:e.id,class:o([`preset-btn`,{active:C.value===e.id}]),onClick:t=>z(e.id)},F(e.label),11,Ue)),64))])]),n[5]||=L(`div`,{class:`theme-divider`},null,-1),L(`div`,We,[L(`span`,Ge,F(r(D)(`themePicker.gradient`)),1),L(`button`,{class:o([`gradient-toggle`,{active:T.value}]),title:T.value?r(D)(`themePicker.disableGradient`):r(D)(`themePicker.enableGradient`),onClick:I},[...n[2]||=[L(`span`,{class:`gradient-toggle__track`},[L(`span`,{class:`gradient-toggle__thumb`})],-1)]],10,Ke)]),n[6]||=L(`div`,{class:`theme-divider`},null,-1),L(`div`,qe,[L(`span`,Je,F(r(D)(`themePicker.mode`)),1),L(`div`,Ye,[L(`button`,{class:o([`mode-btn`,{active:b.value}]),onClick:n[0]||=e=>V(!0)},[n[3]||=L(`i`,{class:`pi pi-moon`},null,-1),A(` `+F(r(D)(`themePicker.dark`)),1)],2),L(`button`,{class:o([`mode-btn`,{active:!b.value}]),onClick:n[1]||=e=>V(!1)},[n[4]||=L(`i`,{class:`pi pi-sun`},null,-1),A(` `+F(r(D)(`themePicker.light`)),1)],2)])]),n[7]||=L(`div`,{class:`theme-divider`},null,-1),L(`div`,Xe,[L(`span`,Ze,F(r(D)(`themePicker.accentColor`)),1),L(`div`,Qe,[(t(),k(w,null,u(a,e=>L(`div`,{key:e.id,class:o([`swatch`,{active:_.value===e.id}]),title:e.label,style:m({"--swatch-bg":b.value?Z:Q}),onClick:t=>B(e.id)},[L(`div`,{class:`viewwindow`,style:m({backgroundColor:b.value?Z:Q})},[(t(!0),k(w,null,u((()=>{let t=r(O)(e.hex);return[t[700],t[500],t[300],t[100]]})(),(e,n)=>(t(),k(`div`,{key:n,class:`rad`,style:m({backgroundColor:e})},null,4))),128))],4)],14,$e)),64))])]),L(`div`,{class:o([`theme-section custom-hue-section`,{"custom-hue-section--active":_.value===$}])},[L(`div`,et,[L(`span`,tt,F(r(D)(`themePicker.customColor`)),1),L(`span`,{class:`custom-hue-preview`,style:m({backgroundColor:v.value})},null,4)]),L(`div`,nt,[L(`input`,{type:`range`,min:`0`,max:`359`,class:`custom-hue-slider`,value:y.value,onInput:H},null,40,rt)])],2)])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-6c87d61a`]]),at={class:`lang-switcher`},ot=[`title`],st={class:`lang-menu`},ct={class:`lang-menu__title`},lt=[`onClick`],ut=i(q({__name:`LanguageSwitcher`,setup(e){let{t:n}=x(),i=j(null),a={fr:`🇫🇷 Français`,en:`🇬🇧 English`};function s(e){i.value?.toggle(e)}function c(e){f(e),i.value?.hide()}return(e,l)=>(t(),k(`div`,at,[L(`button`,{class:`lang-btn`,title:r(n)(`language.label`),onClick:s},[...l[0]||=[L(`i`,{class:`pi pi-language`},null,-1)]],8,ot),S(r(g),{ref_key:`popover`,ref:i},{default:U(()=>[L(`div`,st,[L(`p`,ct,F(r(n)(`language.label`)),1),(t(!0),k(w,null,u(r(p),e=>(t(),k(`button`,{key:e,class:o([`lang-menu__item`,{"lang-menu__item--active":r(H)()===e}]),onClick:t=>c(e)},F(a[e]),11,lt))),128))])]),_:1},512)]))}}),[[`__scopeId`,`data-v-dd64a597`]]),dt={class:`global-nav__top`},ft=[`title`],pt={class:`global-nav__label`},mt=[`title`],ht={class:`global-nav__label`},gt=[`title`,`onClick`],_t={key:0,class:`global-nav__label`},vt={class:`global-nav__bottom`},yt=[`title`],bt=[`title`,`data-testid`,`onClick`],xt={key:0,class:`global-nav__label`},St={key:1,class:`global-nav__separator`},Ct={class:`global-nav__util`},wt={key:2,class:`global-nav__util`},Tt={key:3,class:`global-nav__util`},Et=i(q({__name:`GlobalNavBar`,props:{activeTab:{},portrait:{type:Boolean}},emits:[`tab-change`,`toggle-service-sidebar`],setup(e,{emit:n}){let{t:i}=x(),a=n,{isOpen:s,toggle:c}=T(),l=E(()=>[{id:`dashboard`,icon:`pi pi-home`,label:i(`nav.dashboard`)},{id:`kanban`,icon:`pi pi-th-large`,label:i(`kanban.nav`)},{id:`agent-terminal`,icon:`pi pi-desktop`,label:i(`nav.agentTerminal`)}]),d=E(()=>[{id:`environments`,icon:`pi pi-globe`,label:i(`nav.environments`)},{id:`agents`,icon:`pi pi-server`,label:i(`nav.agents`)},{id:`api-docs`,icon:`pi pi-book`,label:i(`nav.apiDocs`)},{id:`settings`,icon:`pi pi-sliders-h`,label:i(`nav.settings`)}]);return(n,f)=>(t(),k(`nav`,{class:o([`global-nav`,{"global-nav--portrait":e.portrait}]),"data-testid":`global-nav`},[L(`div`,dt,[e.portrait?(t(),k(`button`,{key:0,class:o([`global-nav__btn`,{"global-nav__btn--active":r(s)}]),title:r(i)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:f[0]||=(...e)=>r(c)&&r(c)(...e)},[f[3]||=L(`i`,{class:`pi pi-comments`},null,-1),L(`span`,pt,F(r(i)(`nav.aiChat`)),1)],10,ft)):D(``,!0),e.portrait?(t(),k(`button`,{key:1,class:`global-nav__btn`,title:r(i)(`nav.services`),"data-testid":`global-nav-services-btn`,onClick:f[1]||=e=>a(`toggle-service-sidebar`)},[f[4]||=L(`i`,{class:`pi pi-list`},null,-1),L(`span`,ht,F(r(i)(`nav.services`)),1)],8,mt)):D(``,!0),(t(!0),k(w,null,u(l.value,n=>(t(),k(`button`,{key:n.id,class:o([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===n.id}]),title:n.label,"data-testid":`global-nav-btn`,onClick:e=>a(`tab-change`,n.id)},[L(`i`,{class:o(n.icon)},null,2),e.portrait?(t(),k(`span`,_t,F(n.label),1)):D(``,!0)],10,gt))),128))]),L(`div`,vt,[e.portrait?D(``,!0):(t(),k(`button`,{key:0,class:o([`global-nav__btn`,{"global-nav__btn--active":r(s)}]),title:r(i)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:f[2]||=(...e)=>r(c)&&r(c)(...e)},[...f[5]||=[L(`i`,{class:`pi pi-comments`},null,-1)]],10,yt)),(t(!0),k(w,null,u(d.value,n=>(t(),k(`button`,{key:n.id,class:o([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===n.id}]),title:n.label,"data-testid":n.id===`environments`?`nav-environments`:`global-nav-btn`,onClick:e=>a(`tab-change`,n.id)},[L(`i`,{class:o(n.icon)},null,2),e.portrait?(t(),k(`span`,xt,F(n.label),1)):D(``,!0)],10,bt))),128)),e.portrait?D(``,!0):(t(),k(`div`,St)),L(`div`,Ct,[S(Ie)]),e.portrait?D(``,!0):(t(),k(`div`,wt,[S(it)])),e.portrait?D(``,!0):(t(),k(`div`,Tt,[S(ut)]))])],2))}}),[[`__scopeId`,`data-v-4136782f`]]),Dt={class:`service-nav`,"data-testid":`service-nav`},Ot={class:`service-nav__tabs`},kt=[`title`,`onClick`],At={class:`service-nav__btn-inner`},jt={key:0,class:`service-nav__badge`},Mt=i(q({__name:`ServiceNavBar`,props:{activeTab:{},serviceId:{}},emits:[`tab-change`],setup(n,{emit:r}){let i=n,a=r,{t:s}=x(),c=E(()=>[{id:`terminal`,icon:`pi pi-code`,label:s(`serviceNavBar.terminal`)},{id:`metrics`,icon:`pi pi-chart-line`,label:s(`serviceNavBar.metrics`)},{id:`config`,icon:`pi pi-cog`,label:s(`serviceNavBar.config`)},{id:`git`,icon:`pi pi-github`,label:s(`serviceNavBar.git`)}]),l=j(0),d=null,f=null;async function p(){if(i.serviceId)try{let e=await M.git.status.query({serviceId:i.serviceId});l.value=e.staged.length+e.unstaged.length+e.untracked.length}catch{l.value=0}}function m(){h(),i.serviceId&&(d=M.git.onStatusChange.subscribe({serviceId:i.serviceId},{onData(e){l.value=e.staged.length+e.unstaged.length+e.untracked.length},onError(e){let t=e?.message??``;t.includes(`PRECONDITION_FAILED`)||t.includes(`Unresolved variables`)||p()}}),f=setInterval(p,6e4))}function h(){d?.unsubscribe(),d=null,f&&=(clearInterval(f),null),l.value=0}return e(()=>i.serviceId,e=>{e?m():h()},{immediate:!0}),_(h),(e,r)=>(t(),k(`nav`,Dt,[L(`div`,Ot,[(t(!0),k(w,null,u(c.value,e=>(t(),k(`button`,{key:e.id,class:o([`service-nav__btn`,{"service-nav__btn--active":n.activeTab===e.id}]),title:e.label,onClick:t=>a(`tab-change`,e.id)},[L(`div`,At,[L(`i`,{class:o(e.icon)},null,2),e.id===`git`&&l.value>0?(t(),k(`span`,jt,F(l.value>99?`99+`:l.value),1)):D(``,!0)])],10,kt))),128))])]))}}),[[`__scopeId`,`data-v-085a35d1`]]),Nt={class:`service-header`},Pt={class:`service-header__banner`},Ft={class:`service-header__left`},It={key:0,class:`service-header__title`},Lt=[`title`],Rt=[`title`],zt={key:1,class:`service-header__title`},Bt={key:0,class:`service-header__right`},Vt={class:`service-header__editor-popover`},Ht={class:`service-header__editor-current`},Ut={class:`service-header__editor-label`},Wt={class:`service-header__editor-select`},Gt={class:`service-header__editor-label`},Kt={key:0,class:`editor-option`},qt={class:`editor-option`},Jt={key:0,class:`service-header__mismatch-banner`},Yt={class:`service-header__mismatch-body`},Xt={key:0},Zt={key:1},Qt={key:1,class:`service-header__clone-banner`},$t={key:0},en={key:1},tn=i(q({__name:`ServiceHeader`,props:{service:{},totalProcesses:{},stateCount:{}},setup(n){let i=n,{t:o}=x(),l=c(),d=Y(),f=j(),p=j(!1),m=j([]),h=j(null),_=j(null),v=j(!1);async function C(){if(!i.service?.git?.remote){p.value=!1,m.value=[],h.value=null,_.value=null;return}let e=i.service.id;try{let t=await M.service.checkCwd.query({id:e});m.value=t.unresolvedVars??[],h.value=t.resolvedCwd??null,_.value=t.gitMismatch??null,p.value=t.canClone||(t.unresolvedVars??[]).length>0,t.exists&&t.gitMismatch===null&&setTimeout(async()=>{if(i.service?.id===e)try{let t=await M.service.checkCwd.query({id:e,checkReachability:!0});if(i.service?.id!==e)return;_.value=t.gitMismatch??null}catch{}},1500)}catch(e){console.error(`[checkCwd] error:`,e),p.value=!1,m.value=[],h.value=null,_.value=null}}e(()=>i.service?.id,()=>C(),{immediate:!0});async function T(){if(i.service){v.value=!0;try{await M.service.cloneRepository.mutate({id:i.service.id}),p.value=!1,l.add({severity:`success`,summary:`Repository cloned`,detail:`Cloned into ${h.value??i.service.cwd??`.`}`,life:4e3})}catch(e){l.add({severity:`error`,summary:`Clone failed`,detail:e.message,life:6e3})}finally{v.value=!1}}}let O=E(()=>i.service?d.getEffectiveEditor(i.service.id):null),P=E(()=>i.service?d.getServiceEditor(i.service.id):null),I=E(()=>[{label:o(`serviceHeader.useDefault`),value:`__default__`},...d.installedEditors.map(e=>({label:e.name,value:e.key}))]),R=E(()=>i.service?P.value?.key??`__default__`:`__default__`);function z(e){window.open(e,`_blank`)}function B(){let e=O.value,t=i.service?.cwd;if(!e){l.add({severity:`warn`,summary:o(`serviceHeader.noEditorConfigured`),detail:o(`serviceHeader.setDefaultEditorHint`),life:3e3});return}d.openEditor(e.key,t||`.`)}function V(e){f.value?.toggle(e)}async function H(e){i.service&&(e===`__default__`?await d.removeServiceEditor(i.service.id):await d.setServiceEditor(i.service.id,e))}return(e,i)=>{let c=b(`router-link`),l=s(`tooltip`);return t(),k(`header`,Nt,[L(`div`,Pt,[L(`div`,Ft,[n.service?(t(),k(`h1`,It,[n.service.runner===`docker`?(t(),k(`i`,{key:0,class:`pi pi-box service-header__runner-icon`,title:r(o)(`serviceHeader.docker`)},null,8,Lt)):(t(),k(`i`,{key:1,class:`pi pi-desktop service-header__runner-icon`,title:r(o)(`serviceHeader.native`)},null,8,Rt)),A(F(n.service.name),1)])):(t(),k(`h1`,zt,`Runeya`)),n.service&&n.totalProcesses>0?(t(),K(r(re),{key:2,value:`${n.stateCount.running} running`,severity:n.stateCount.running>0?`success`:`secondary`,class:`service-header__tag`},null,8,[`value`,`severity`])):D(``,!0)]),n.service?(t(),k(`div`,Bt,[N((t(),K(r(a),{text:``,rounded:``,size:`small`,"aria-label":r(o)(`serviceHeader.openInEditor`),onClick:B,onContextmenu:W(V,[`prevent`])},{icon:U(()=>[S(X,{"editor-key":O.value?.key??null,size:14},null,8,[`editor-key`])]),_:1},8,[`aria-label`])),[[l,O.value?`Open in ${O.value.name}`:r(o)(`serviceHeader.openInEditor`),void 0,{bottom:!0}]]),N(S(r(a),{icon:`pi pi-chevron-down`,text:``,rounded:``,size:`small`,class:`service-header__editor-caret`,"aria-label":r(o)(`serviceHeader.editorOptions`),onClick:V},null,8,[`aria-label`]),[[l,r(o)(`serviceHeader.editorSettings`),void 0,{bottom:!0}]]),S(r(g),{ref_key:`editorPopover`,ref:f},{default:U(()=>[L(`div`,Vt,[L(`div`,Ht,[L(`span`,Ut,F(r(o)(`serviceHeader.editorDefault`)),1),L(`span`,null,F(r(d).defaultEditor?.name??r(o)(`serviceHeader.editorNotSet`)),1)]),L(`div`,Wt,[L(`span`,Gt,F(r(o)(`serviceHeader.editorThisService`)),1),S(r(y),{"model-value":R.value,options:I.value,"option-label":`label`,"option-value":`value`,placeholder:r(o)(`serviceHeader.useDefault`),size:`small`,class:`service-header__editor-dropdown`,"onUpdate:modelValue":H},{value:U(e=>[e.value?(t(),k(`div`,Kt,[S(X,{"editor-key":e.value===`__default__`?null:e.value,size:14},null,8,[`editor-key`]),L(`span`,null,F(I.value.find(t=>t.value===e.value)?.label),1)])):D(``,!0)]),option:U(e=>[L(`div`,qt,[S(X,{"editor-key":e.option.value===`__default__`?null:e.option.value,size:14},null,8,[`editor-key`]),L(`span`,null,F(e.option.label),1)])]),_:1},8,[`model-value`,`options`,`placeholder`])]),S(c,{to:{name:`settings`,query:{section:`editor`}},class:`service-header__editor-settings-link`},{default:U(()=>[i[1]||=L(`i`,{class:`pi pi-cog`},null,-1),L(`span`,null,F(r(o)(`serviceHeader.editorSettings`)),1)]),_:1})])]),_:1},512),(t(!0),k(w,null,u(n.service.localUrls??[],e=>N((t(),K(r(a),{key:e.url,icon:`pi pi-cloud`,text:``,rounded:``,size:`small`,"aria-label":`Open https://${e.url}`,onClick:t=>z(`https://${e.url}`)},null,8,[`aria-label`,`onClick`])),[[l,`https://${e.url}`,void 0,{bottom:!0}]])),128)),n.service.url?N((t(),K(r(a),{key:0,icon:`pi pi-globe`,text:``,rounded:``,size:`small`,"aria-label":r(o)(`serviceHeader.openServiceUrl`),onClick:i[0]||=e=>z(n.service.url)},null,8,[`aria-label`])),[[l,n.service.url,void 0,{bottom:!0}]]):D(``,!0)])):D(``,!0)]),_.value&&n.service?(t(),k(`div`,Jt,[i[11]||=L(`i`,{class:`pi pi-exclamation-triangle service-header__mismatch-icon`},null,-1),L(`div`,Yt,[L(`strong`,null,F(_.value.unreachable?`Git remote unreachable`:_.value.actual===null?`No git remote found`:`Git remote mismatch`),1),_.value.unreachable?(t(),k(`span`,Xt,[i[2]||=A(` Cannot reach `,-1),L(`code`,null,F(_.value.configured),1),i[3]||=A(` — check your network or SSH credentials. `,-1)])):_.value.actual===null?(t(),k(`span`,Zt,[i[4]||=A(` The directory `,-1),L(`code`,null,F(h.value??n.service.cwd),1),i[5]||=A(` has no `,-1),i[6]||=L(`code`,null,`origin`,-1),i[7]||=A(` remote, but the service is configured for `,-1),L(`code`,null,F(_.value.configured),1),i[8]||=A(`. `,-1)])):(t(),k(w,{key:2},[L(`span`,null,[i[9]||=A(`Configured: `,-1),L(`code`,null,F(_.value.configured),1)]),L(`span`,null,[i[10]||=A(`Actual: `,-1),L(`code`,null,F(_.value.actual),1)])],64))])])):D(``,!0),p.value&&n.service?(t(),k(`div`,Qt,[i[15]||=L(`i`,{class:`pi pi-folder-open service-header__clone-icon`},null,-1),(m.value??[]).length>0?(t(),k(`span`,$t,[i[12]||=A(` Working directory `,-1),L(`code`,null,F(h.value??n.service.cwd),1),i[13]||=A(` contains unresolved variables: `,-1),(t(!0),k(w,null,u(m.value??[],e=>(t(),k(`code`,{key:e,class:`service-header__clone-var`},`$`+F(e),1))),128)),i[14]||=A(` — set them in the environment before cloning. `,-1)])):(t(),k(`span`,en,F(r(o)(`serviceHeader.cwdNotExist`,{cwd:h.value??n.service.cwd})),1)),(m.value??[]).length===0?(t(),K(r(a),{key:2,label:r(o)(`serviceHeader.cloneRepository`),icon:`pi pi-download`,size:`small`,loading:v.value,onClick:T},null,8,[`label`,`loading`])):D(``,!0)])):D(``,!0)])}}}),[[`__scopeId`,`data-v-e5a40cc7`]]),nn={class:`bottom-bar`},rn={class:`bottom-bar__content`},an={class:`bottom-bar__section`},on={class:`label`},sn={class:`value`},cn={key:0,class:`bottom-bar__section environment`},ln={class:`label`},un=i(q({__name:`BottomBar`,setup(e){let n=J();P();let i=G(),a=c(),{t:o}=x(),s=E(()=>{let e=i.activeProjectId;return!e&&n.projects.length>0&&(e=n.projects[0].id),e?n.getById(e):null}),l=E(()=>s.value?.activeEnvironmentId??null);async function u(e){s.value&&(await n.setActiveEnvironment(s.value.id,e)||a.add({severity:`error`,summary:o(`bottomBar.errorChangingEnv`),life:5e3}))}return(e,n)=>(t(),k(`div`,nn,[L(`div`,rn,[L(`div`,an,[n[0]||=L(`i`,{class:`pi pi-folder icon`},null,-1),L(`span`,on,F(r(o)(`bottomBar.project`)),1),L(`span`,sn,F(s.value?.name??r(o)(`bottomBar.none`)),1)]),s.value&&l.value?(t(),k(`div`,cn,[n[1]||=L(`i`,{class:`pi pi-globe icon`},null,-1),L(`span`,ln,F(r(o)(`bottomBar.environment`)),1),S(ae,{"model-value":l.value,"onUpdate:modelValue":u,class:`bottom-env-selector`},null,8,[`model-value`])])):D(``,!0)])]))}}),[[`__scopeId`,`data-v-68371a62`]]),dn={class:`app-layout__body`},fn={class:`app-layout__main`,"data-testid":`page-content`},pn={class:`app-layout__content`},mn=i(q({__name:`AppLayout`,setup(i){let a=n(),s=ne(),c=J(),u=z(),f=C(),p=l(),m=G(),h=P(),g=Y(),y=j(!1),b=j(window.matchMedia(`(orientation: portrait)`).matches),x=window.matchMedia(`(orientation: portrait)`);function w(e){b.value=e.matches,e.matches?y.value=!0:y.value=!1}x.addEventListener(`change`,w),b.value&&(y.value=!0);let T=E(()=>s.name===`service-detail`?s.params.id:null),O=E(()=>{if(s.name===`service-detail`){let e=s.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`?e:`terminal`}return s.name===`environments`||s.name===`environment-edit`?`environments`:s.path===`/agents`?`agents`:s.path===`/api-docs`?`api-docs`:s.path===`/settings`?`settings`:s.path.startsWith(`/ai-chat`)||s.path.startsWith(`/scenario`)?`ai-chat`:s.path.startsWith(`/kanban`)?`kanban`:s.path===`/agent-terminal`?`agent-terminal`:`dashboard`}),A=E(()=>T.value?u.getById(T.value):null),M=E(()=>T.value?f.getByService(T.value):[]),F=E(()=>m.activeProjectId);function I(e){e===`dashboard`?a.push(`/`):e===`environments`?F.value&&a.push({name:`environments`,params:{projectId:F.value}}):e===`agents`?a.push(`/agents`):e===`api-docs`?a.push(`/api-docs`):e===`ai-chat`?a.push(`/ai-chat`):e===`kanban`?a.push(`/kanban`):e===`agent-terminal`?a.push(`/agent-terminal`):e===`settings`?a.push(`/settings`):T.value&&a.push(`/services/${T.value}/${e}`)}function R(e){let t=O.value,n=t===`terminal`||t===`metrics`||t===`config`||t===`git`?t:`terminal`;a.push(`/services/${e}/${n}`)}function B(){a.push(`/services/new`)}return e(F,async e=>{if(!e&&s.name&&![`projects`,`agents`,`settings`,`audit`,`api-keys`,`api-docs`,`ai-chat`,`kanban-list`,`kanban-board`,`agent-terminal`].includes(s.name)&&a.push({name:`projects`}),e){try{await h.fetchAll(e,!0)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}g.fetchPreferences()}}),_(()=>x.removeEventListener(`change`,w)),d(async()=>{if(await Promise.all([c.fetchAll(),u.fetchAll(),f.fetchAll(),p.fetchAll()]),F.value)try{await h.fetchAll(F.value)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}g.fetchAvailable(),F.value&&g.fetchPreferences(),p.subscribeStatus(),!F.value&&s.name!==`projects`&&s.name!==`agents`&&s.name!==`settings`&&s.name!==`audit`&&s.name!==`api-keys`&&s.name!==`api-docs`&&s.name!==`ai-chat`&&s.name!==`kanban-list`&&s.name!==`kanban-board`&&s.name!==`agent-terminal`&&a.push({name:`projects`})}),(e,n)=>(t(),k(`div`,{class:o([`app-layout`,{"app-layout--portrait":b.value}])},[L(`div`,dn,[S(Et,{"active-tab":O.value,portrait:b.value,onTabChange:I,onToggleServiceSidebar:n[0]||=e=>y.value=!y.value},null,8,[`active-tab`,`portrait`]),S(Se,{"selected-service-id":T.value,collapsed:y.value,"active-project-id":F.value,portrait:b.value,onSelectService:R,onAddService:B,onToggleCollapse:n[1]||=e=>y.value=!y.value},null,8,[`selected-service-id`,`collapsed`,`active-project-id`,`portrait`]),L(`div`,fn,[S(tn,{service:A.value},null,8,[`service`]),L(`div`,pn,[N(S(Mt,{"active-tab":O.value,"service-id":T.value,onTabChange:I},null,8,[`active-tab`,`service-id`]),[[te,!!T.value]]),L(`div`,{class:o(T.value?`app-layout__service-view`:[`api-docs`,`ai-chat`,`kanban`,`agent-terminal`].includes(O.value)?`app-layout__fullpage`:`app-layout__page`)},[A.value?(t(),K(ie,{key:0,service:A.value,processes:M.value},null,8,[`service`,`processes`])):D(``,!0),L(`div`,{class:o([`api-docs`,`ai-chat`,`kanban`,`agent-terminal`].includes(O.value)?`app-layout__router-view-fullpage`:`app-layout__router-view`)},[S(r(v))],2)],2)])])]),S(un)],2))}}),[[`__scopeId`,`data-v-0f3edbaa`]]);export{mn as default};
|
|
1
|
+
import{$i as e,Bi as t,Bn as n,Ca as r,Cn as i,Dn as a,Ea as o,Gi as s,Gn as c,H as l,Hi as u,Ii as d,Jn as f,Kn as p,Oa as m,On as h,P as g,Ri as _,Rn as v,W as y,Wi as b,Yn as x,_i as S,a as C,ai as w,at as T,ci as E,di as D,er as O,fi as k,gi as A,ha as j,hn as M,ia as N,it as P,ka as F,ki as I,li as L,n as R,nt as z,o as B,q as V,qn as H,ra as U,ri as W,s as G,t as ee,ti as te,ui as K,yi as q,zn as ne}from"./index-D5xJxOo2.js";import{t as J}from"./project.store-emr8mjg8.js";import{t as re}from"./tag-Dv5CaUPa.js";import{t as Y}from"./editor.store-CWtgIxvE.js";import{t as X}from"./EditorIcon-B70ii4EM.js";import"./ProcessControls-Cya4eb3d.js";import{t as ie}from"./ServiceControlsBar-B8Sm6p9E.js";import{t as ae}from"./EnvironmentSelector-BZn_taec.js";var oe={class:`service-sidebar__header`},se={class:`service-sidebar__search`},ce={class:`p-input-icon-left service-sidebar__search-wrapper`},le={class:`service-sidebar__list`},ue={class:`service-sidebar__group-items`},de=[`onClick`],fe={key:0,class:`pi pi-exclamation-triangle service-sidebar__status service-sidebar__status--error`},pe=[`title`],me=[`title`],he=[`title`],ge={key:4,class:`pi pi-circle-fill service-sidebar__status service-sidebar__status--running`},_e={key:5,class:`pi pi-spin pi-spinner service-sidebar__status service-sidebar__status--starting`},ve={key:6,class:`pi pi-circle service-sidebar__status service-sidebar__status--stopped`},ye={class:`service-sidebar__item-name`},be={key:0,class:`service-sidebar__empty`},xe={key:1,class:`service-sidebar__empty`},Se=i(q({__name:`ServiceSidebar`,props:{selectedServiceId:{},collapsed:{type:Boolean},activeProjectId:{},portrait:{type:Boolean}},emits:[`select-service`,`add-service`,`toggle-collapse`],setup(n,{emit:i}){let s=n,c=i,{t:l}=x(),d=J(),f=z(),p=C(),m=j(``),h=E(()=>s.activeProjectId?d.getById(s.activeProjectId):null),g=E(()=>{let e=m.value.toLowerCase();if(!h.value)return[];let t=f.getByIds(h.value.serviceIds).filter(t=>!e||t.name.toLowerCase().includes(e)),n={errored:0,running:1,starting:2};return t.sort((e,t)=>{let r=b(e.id),i=b(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({});function v(e,t){t?_.value[e]=t:delete _.value[e]}async function y(){if(!s.selectedServiceId)return;await I();let e=_.value[s.selectedServiceId];e&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}e(g,y),e(()=>s.selectedServiceId,y);function b(e){let t=p.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 T(e){if(!f.getById(e)?.healthCheck)return{hasHealthCheck:!1,status:null};let t=p.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(e,i)=>(t(),k(w,null,[n.portrait&&!n.collapsed?(t(),k(`div`,{key:0,class:`service-sidebar__backdrop`,onClick:i[0]||=e=>c(`toggle-collapse`)})):D(``,!0),L(`aside`,{class:o([`service-sidebar`,{"service-sidebar--collapsed":n.collapsed,"service-sidebar--portrait":n.portrait}])},[n.collapsed?D(``,!0):(t(),k(w,{key:0},[L(`div`,oe,[S(r(a),{icon:`pi pi-plus`,label:r(l)(`serviceSidebar.addService`),outlined:``,size:`small`,class:`service-sidebar__add-btn`,onClick:i[1]||=e=>c(`add-service`)},null,8,[`label`])]),L(`div`,se,[L(`span`,ce,[i[3]||=L(`i`,{class:`pi pi-search`},null,-1),S(r(V),{modelValue:m.value,"onUpdate:modelValue":i[2]||=e=>m.value=e,placeholder:r(l)(`serviceSidebar.searchPlaceholder`),size:`small`,class:`service-sidebar__search-input`},null,8,[`modelValue`,`placeholder`])])]),L(`div`,le,[L(`div`,ue,[(t(!0),k(w,null,u(g.value,e=>(t(),k(`button`,{key:e.id,ref_for:!0,ref:t=>v(e.id,t),class:o([`service-sidebar__item`,{"service-sidebar__item--active":n.selectedServiceId===e.id,"service-sidebar__item--inactive":!b(e.id)||b(e.id)===`stopped`}]),onClick:t=>{c(`select-service`,e.id),n.portrait&&c(`toggle-collapse`)}},[b(e.id)===`errored`?(t(),k(`i`,fe)):b(e.id)===`running`&&T(e.id).hasHealthCheck&&T(e.id).status===`healthy`?(t(),k(`i`,{key:1,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--healthy`,title:r(l)(`serviceSidebar.healthHealthy`)},null,8,pe)):b(e.id)===`running`&&T(e.id).hasHealthCheck&&T(e.id).status===`unhealthy`?(t(),k(`i`,{key:2,class:`pi pi-heart-fill service-sidebar__status service-sidebar__status--unhealthy`,title:r(l)(`serviceSidebar.healthUnhealthy`)},null,8,me)):b(e.id)===`running`&&T(e.id).hasHealthCheck&&T(e.id).status===`unknown`?(t(),k(`i`,{key:3,class:`pi pi-heart service-sidebar__status service-sidebar__status--health-pending`,title:r(l)(`serviceSidebar.healthWaiting`)},null,8,he)):b(e.id)===`running`?(t(),k(`i`,ge)):b(e.id)===`starting`?(t(),k(`i`,_e)):(t(),k(`i`,ve)),L(`span`,ye,F(e.name),1)],10,de))),128))]),h.value?g.value.length===0?(t(),k(`div`,xe,F(r(l)(`serviceSidebar.noServices`)),1)):D(``,!0):(t(),k(`div`,be,F(r(l)(`serviceSidebar.noProject`)),1))])],64))],2)],64))}}),[[`__scopeId`,`data-v-ddd5d3cc`]]),Ce={class:`notification-trigger`},we={class:`notification-panel`},Te={class:`notification-header`},Ee={class:`notification-title`},De={class:`notification-actions`},Oe={key:0,class:`notification-empty`},ke={key:1,class:`notification-list`},Ae=[`onClick`],je={class:`notification-content`},Me={class:`notification-item-title`},Ne={class:`notification-message`},Pe=[`onClick`],Fe={class:`notification-time`},Ie=i(q({__name:`NotificationCenter`,setup(e){let{t:i}=x(),s=B(),c=n(),l=j(),d=E(()=>s.unreadCount>0),f=E(()=>s.notifications);function p(e){l.value.toggle(e)}function _(){s.markAllRead()}function v(){s.clear()}function y(e){s.remove(e)}function b(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 C(e,t){s.markRead(e);let n=b(t);n&&(c.push(n).catch(()=>{}),l.value?.hide())}function T(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);return a<24?i(`notifications.hoursAgo`,{n:a}):i(`notifications.daysAgo`,{n:Math.floor(a/24)})}function O(e){switch(e){case`success`:return`pi pi-check-circle`;case`error`:return`pi pi-times-circle`;case`warn`:return`pi pi-exclamation-triangle`;default:return`pi pi-info-circle`}}function A(e){switch(e){case`success`:return`var(--p-green-500)`;case`error`:return`var(--p-red-500)`;case`warn`:return`var(--p-orange-500)`;default:return`var(--p-blue-500)`}}return(e,n)=>(t(),k(w,null,[L(`div`,Ce,[S(r(a),{icon:`pi pi-bell`,text:``,rounded:``,"aria-label":r(i)(`notifications.title`),onClick:p},null,8,[`aria-label`]),d.value?(t(),K(r(h),{key:0,value:r(s).unreadCount,severity:`danger`,class:`notification-badge`},null,8,[`value`])):D(``,!0)]),S(r(g),{ref_key:`op`,ref:l,class:`notification-overlay`},{default:U(()=>[L(`div`,we,[L(`div`,Te,[L(`span`,Ee,F(r(i)(`notifications.title`)),1),L(`div`,De,[d.value?(t(),K(r(a),{key:0,label:r(i)(`notifications.markAllRead`),text:``,size:`small`,onClick:_},null,8,[`label`])):D(``,!0),f.value.length>0?(t(),K(r(a),{key:1,label:r(i)(`notifications.clear`),text:``,size:`small`,severity:`secondary`,onClick:v},null,8,[`label`])):D(``,!0)])]),f.value.length===0?(t(),k(`div`,Oe,[n[0]||=L(`i`,{class:`pi pi-bell-slash`,style:{"font-size":`1.5rem`,"margin-bottom":`0.5rem`}},null,-1),L(`p`,null,F(r(i)(`notifications.empty`)),1)])):(t(),k(`div`,ke,[(t(!0),k(w,null,u(f.value,e=>(t(),k(`div`,{key:e.id,class:o([`notification-item`,{unread:!e.read}]),onClick:t=>C(e.id,e.link)},[L(`i`,{class:o(O(e.type)),style:m({color:A(e.type)})},null,6),L(`div`,je,[L(`div`,Me,F(e.title),1),L(`div`,Ne,F(e.message),1),b(e.link)?(t(),k(`button`,{key:0,type:`button`,class:`notification-link`,onClick:W(t=>C(e.id,e.link),[`stop`])},F(e.linkLabel||r(i)(`notifications.openResource`)),9,Pe)):D(``,!0),L(`div`,Fe,F(T(e.timestamp)),1)]),S(r(a),{icon:`pi pi-times`,text:``,rounded:``,size:`small`,severity:`secondary`,onClick:W(t=>y(e.id),[`stop`])},null,8,[`onClick`])],10,Ae))),128))]))])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-4165cfbc`]]),Le=[`title`],Re={class:`trigger-blob`},ze={class:`theme-picker`},Be={class:`theme-section`},Ve={class:`section-label`},He={class:`preset-list`},Ue=[`onClick`],We={class:`theme-section theme-section--row`},Ge={class:`section-label`},Ke=[`title`],qe={class:`theme-section theme-section--row`},Je={class:`section-label`},Ye={class:`mode-toggle`},Xe={class:`theme-section`},Ze={class:`section-label`},Qe={class:`swatches`},$e=[`title`,`onClick`],et={class:`custom-hue-header`},tt={class:`section-label`},nt={class:`custom-hue-track-wrap`},rt=[`value`],Z=`#18181b`,Q=`#f8fafc`,$=`custom`,it=i(q({__name:`ThemePicker`,setup(n){let i=[{id:`aura`,label:`Aura`}],a=[{id:`slate`,label:`Slate`,hex:`#64748b`},{id:`orange`,label:`Orange`,hex:`#f97316`},{id:`amber`,label:`Amber`,hex:`#f59e0b`},{id:`emerald`,label:`Emerald`,hex:`#10b981`},{id:`teal`,label:`Teal`,hex:`#14b8a6`},{id:`sky`,label:`Sky`,hex:`#0ea5e9`},{id:`blue`,label:`Blue`,hex:`#3b82f6`},{id:`violet`,label:`Violet`,hex:`#8b5cf6`},{id:`pink`,label:`Pink`,hex:`#ec4899`}];function s(e){let t=e/60,n=.7,r=n*(1-Math.abs(t%2-1)),i=0,a=0,o=0;t<1?(i=n,a=r):t<2?(i=r,a=n):t<3?(a=n,o=r):t<4?(a=r,o=n):t<5?(i=r,o=n):(i=n,o=r);let s=e=>Math.round((e+.2)*255).toString(16).padStart(2,`0`);return`#${s(i)}${s(a)}${s(o)}`}function c(e){let t=parseInt(e.slice(1,3),16)/255,n=parseInt(e.slice(3,5),16)/255,r=parseInt(e.slice(5,7),16)/255,i=Math.max(t,n,r),a=Math.min(t,n,r);if(i===a)return 0;let o=i-a,s=0;return s=i===t?((n-r)/o+(n<r?6:0))/6:i===n?((r-t)/o+2)/6:((t-n)/o+4)/6,Math.round(s*360)}let l=localStorage.getItem(`runeya-theme-color`)??`emerald`,d=localStorage.getItem(`runeya-theme-custom`)??`#10b981`,f=localStorage.getItem(`runeya-dark-mode`)===`1`,p=localStorage.getItem(`runeya-theme-preset`)??`aura`,h=localStorage.getItem(`runeya-theme-gradient`)===`1`,_=j(l),v=j(d),y=j(c(d)),b=j(f),C=j(p),T=j(h),{t:D}=x(),M=j(null),N=E(()=>_.value===$?v.value:a.find(e=>e.id===_.value)?.hex??a[3].hex),P=E(()=>{let e=O(N.value);return[e[700],e[500],e[300],e[100]]});function I(){T.value=!T.value,localStorage.setItem(`runeya-theme-gradient`,T.value?`1`:`0`),ee(T.value)}function z(e){C.value=e,localStorage.setItem(`runeya-theme-preset`,e),R(e,_.value,b.value,v.value)}function B(e){_.value=e,localStorage.setItem(`runeya-theme-color`,e),R(C.value,e,b.value,v.value)}function V(e){b.value=e,localStorage.setItem(`runeya-dark-mode`,e?`1`:`0`),R(C.value,_.value,e,v.value)}function H(e){let t=Number(e.target.value);y.value=t,v.value=s(t),localStorage.setItem(`runeya-theme-custom`,v.value),_.value=$,localStorage.setItem(`runeya-theme-color`,$),R(C.value,$,b.value,v.value)}e(v,e=>{/^#[0-9a-f]{6}$/i.test(e)&&(y.value=c(e))});function W(e){M.value?.toggle(e)}return(e,n)=>(t(),k(w,null,[L(`button`,{class:`theme-trigger`,title:r(D)(`themePicker.title`),onClick:W},[L(`div`,Re,[(t(!0),k(w,null,u(P.value,(e,n)=>(t(),k(`div`,{key:n,class:`rad`,style:m({backgroundColor:e})},null,4))),128))])],8,Le),S(r(g),{ref_key:`popover`,ref:M,class:`theme-popover`},{default:U(()=>[L(`div`,ze,[L(`div`,Be,[L(`span`,Ve,F(r(D)(`themePicker.preset`)),1),L(`div`,He,[(t(),k(w,null,u(i,e=>L(`button`,{key:e.id,class:o([`preset-btn`,{active:C.value===e.id}]),onClick:t=>z(e.id)},F(e.label),11,Ue)),64))])]),n[5]||=L(`div`,{class:`theme-divider`},null,-1),L(`div`,We,[L(`span`,Ge,F(r(D)(`themePicker.gradient`)),1),L(`button`,{class:o([`gradient-toggle`,{active:T.value}]),title:T.value?r(D)(`themePicker.disableGradient`):r(D)(`themePicker.enableGradient`),onClick:I},[...n[2]||=[L(`span`,{class:`gradient-toggle__track`},[L(`span`,{class:`gradient-toggle__thumb`})],-1)]],10,Ke)]),n[6]||=L(`div`,{class:`theme-divider`},null,-1),L(`div`,qe,[L(`span`,Je,F(r(D)(`themePicker.mode`)),1),L(`div`,Ye,[L(`button`,{class:o([`mode-btn`,{active:b.value}]),onClick:n[0]||=e=>V(!0)},[n[3]||=L(`i`,{class:`pi pi-moon`},null,-1),A(` `+F(r(D)(`themePicker.dark`)),1)],2),L(`button`,{class:o([`mode-btn`,{active:!b.value}]),onClick:n[1]||=e=>V(!1)},[n[4]||=L(`i`,{class:`pi pi-sun`},null,-1),A(` `+F(r(D)(`themePicker.light`)),1)],2)])]),n[7]||=L(`div`,{class:`theme-divider`},null,-1),L(`div`,Xe,[L(`span`,Ze,F(r(D)(`themePicker.accentColor`)),1),L(`div`,Qe,[(t(),k(w,null,u(a,e=>L(`div`,{key:e.id,class:o([`swatch`,{active:_.value===e.id}]),title:e.label,style:m({"--swatch-bg":b.value?Z:Q}),onClick:t=>B(e.id)},[L(`div`,{class:`viewwindow`,style:m({backgroundColor:b.value?Z:Q})},[(t(!0),k(w,null,u((()=>{let t=r(O)(e.hex);return[t[700],t[500],t[300],t[100]]})(),(e,n)=>(t(),k(`div`,{key:n,class:`rad`,style:m({backgroundColor:e})},null,4))),128))],4)],14,$e)),64))])]),L(`div`,{class:o([`theme-section custom-hue-section`,{"custom-hue-section--active":_.value===$}])},[L(`div`,et,[L(`span`,tt,F(r(D)(`themePicker.customColor`)),1),L(`span`,{class:`custom-hue-preview`,style:m({backgroundColor:v.value})},null,4)]),L(`div`,nt,[L(`input`,{type:`range`,min:`0`,max:`359`,class:`custom-hue-slider`,value:y.value,onInput:H},null,40,rt)])],2)])]),_:1},512)],64))}}),[[`__scopeId`,`data-v-6c87d61a`]]),at={class:`lang-switcher`},ot=[`title`],st={class:`lang-menu`},ct={class:`lang-menu__title`},lt=[`onClick`],ut=i(q({__name:`LanguageSwitcher`,setup(e){let{t:n}=x(),i=j(null),a={fr:`🇫🇷 Français`,en:`🇬🇧 English`};function s(e){i.value?.toggle(e)}function c(e){f(e),i.value?.hide()}return(e,l)=>(t(),k(`div`,at,[L(`button`,{class:`lang-btn`,title:r(n)(`language.label`),onClick:s},[...l[0]||=[L(`i`,{class:`pi pi-language`},null,-1)]],8,ot),S(r(g),{ref_key:`popover`,ref:i},{default:U(()=>[L(`div`,st,[L(`p`,ct,F(r(n)(`language.label`)),1),(t(!0),k(w,null,u(r(p),e=>(t(),k(`button`,{key:e,class:o([`lang-menu__item`,{"lang-menu__item--active":r(H)()===e}]),onClick:t=>c(e)},F(a[e]),11,lt))),128))])]),_:1},512)]))}}),[[`__scopeId`,`data-v-dd64a597`]]),dt={class:`global-nav__top`},ft=[`title`],pt={class:`global-nav__label`},mt=[`title`],ht={class:`global-nav__label`},gt=[`title`,`onClick`],_t={key:0,class:`global-nav__label`},vt={class:`global-nav__bottom`},yt=[`title`],bt=[`title`,`data-testid`,`onClick`],xt={key:0,class:`global-nav__label`},St={key:1,class:`global-nav__separator`},Ct={class:`global-nav__util`},wt={key:2,class:`global-nav__util`},Tt={key:3,class:`global-nav__util`},Et=i(q({__name:`GlobalNavBar`,props:{activeTab:{},portrait:{type:Boolean}},emits:[`tab-change`,`toggle-service-sidebar`],setup(e,{emit:n}){let{t:i}=x(),a=n,{isOpen:s,toggle:c}=T(),l=E(()=>[{id:`dashboard`,icon:`pi pi-home`,label:i(`nav.dashboard`)},{id:`kanban`,icon:`pi pi-th-large`,label:i(`kanban.nav`)},{id:`agent-terminal`,icon:`pi pi-desktop`,label:i(`nav.agentTerminal`)}]),d=E(()=>[{id:`environments`,icon:`pi pi-globe`,label:i(`nav.environments`)},{id:`agents`,icon:`pi pi-server`,label:i(`nav.agents`)},{id:`api-docs`,icon:`pi pi-book`,label:i(`nav.apiDocs`)},{id:`settings`,icon:`pi pi-sliders-h`,label:i(`nav.settings`)}]);return(n,f)=>(t(),k(`nav`,{class:o([`global-nav`,{"global-nav--portrait":e.portrait}]),"data-testid":`global-nav`},[L(`div`,dt,[e.portrait?(t(),k(`button`,{key:0,class:o([`global-nav__btn`,{"global-nav__btn--active":r(s)}]),title:r(i)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:f[0]||=(...e)=>r(c)&&r(c)(...e)},[f[3]||=L(`i`,{class:`pi pi-comments`},null,-1),L(`span`,pt,F(r(i)(`nav.aiChat`)),1)],10,ft)):D(``,!0),e.portrait?(t(),k(`button`,{key:1,class:`global-nav__btn`,title:r(i)(`nav.services`),"data-testid":`global-nav-services-btn`,onClick:f[1]||=e=>a(`toggle-service-sidebar`)},[f[4]||=L(`i`,{class:`pi pi-list`},null,-1),L(`span`,ht,F(r(i)(`nav.services`)),1)],8,mt)):D(``,!0),(t(!0),k(w,null,u(l.value,n=>(t(),k(`button`,{key:n.id,class:o([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===n.id}]),title:n.label,"data-testid":`global-nav-btn`,onClick:e=>a(`tab-change`,n.id)},[L(`i`,{class:o(n.icon)},null,2),e.portrait?(t(),k(`span`,_t,F(n.label),1)):D(``,!0)],10,gt))),128))]),L(`div`,vt,[e.portrait?D(``,!0):(t(),k(`button`,{key:0,class:o([`global-nav__btn`,{"global-nav__btn--active":r(s)}]),title:r(i)(`nav.aiChat`),"data-testid":`global-nav-btn`,onClick:f[2]||=(...e)=>r(c)&&r(c)(...e)},[...f[5]||=[L(`i`,{class:`pi pi-comments`},null,-1)]],10,yt)),(t(!0),k(w,null,u(d.value,n=>(t(),k(`button`,{key:n.id,class:o([`global-nav__btn`,{"global-nav__btn--active":e.activeTab===n.id}]),title:n.label,"data-testid":n.id===`environments`?`nav-environments`:`global-nav-btn`,onClick:e=>a(`tab-change`,n.id)},[L(`i`,{class:o(n.icon)},null,2),e.portrait?(t(),k(`span`,xt,F(n.label),1)):D(``,!0)],10,bt))),128)),e.portrait?D(``,!0):(t(),k(`div`,St)),L(`div`,Ct,[S(Ie)]),e.portrait?D(``,!0):(t(),k(`div`,wt,[S(it)])),e.portrait?D(``,!0):(t(),k(`div`,Tt,[S(ut)]))])],2))}}),[[`__scopeId`,`data-v-4136782f`]]),Dt={class:`service-nav`,"data-testid":`service-nav`},Ot={class:`service-nav__tabs`},kt=[`title`,`onClick`],At={class:`service-nav__btn-inner`},jt={key:0,class:`service-nav__badge`},Mt=i(q({__name:`ServiceNavBar`,props:{activeTab:{},serviceId:{}},emits:[`tab-change`],setup(n,{emit:r}){let i=n,a=r,{t:s}=x(),c=E(()=>[{id:`terminal`,icon:`pi pi-code`,label:s(`serviceNavBar.terminal`)},{id:`metrics`,icon:`pi pi-chart-line`,label:s(`serviceNavBar.metrics`)},{id:`config`,icon:`pi pi-cog`,label:s(`serviceNavBar.config`)},{id:`git`,icon:`pi pi-github`,label:s(`serviceNavBar.git`)}]),l=j(0),d=null,f=null;async function p(){if(i.serviceId)try{let e=await M.git.status.query({serviceId:i.serviceId});l.value=e.staged.length+e.unstaged.length+e.untracked.length}catch{l.value=0}}function m(){h(),i.serviceId&&(d=M.git.onStatusChange.subscribe({serviceId:i.serviceId},{onData(e){l.value=e.staged.length+e.unstaged.length+e.untracked.length},onError(e){let t=e?.message??``;t.includes(`PRECONDITION_FAILED`)||t.includes(`Unresolved variables`)||p()}}),f=setInterval(p,6e4))}function h(){d?.unsubscribe(),d=null,f&&=(clearInterval(f),null),l.value=0}return e(()=>i.serviceId,e=>{e?m():h()},{immediate:!0}),_(h),(e,r)=>(t(),k(`nav`,Dt,[L(`div`,Ot,[(t(!0),k(w,null,u(c.value,e=>(t(),k(`button`,{key:e.id,class:o([`service-nav__btn`,{"service-nav__btn--active":n.activeTab===e.id}]),title:e.label,onClick:t=>a(`tab-change`,e.id)},[L(`div`,At,[L(`i`,{class:o(e.icon)},null,2),e.id===`git`&&l.value>0?(t(),k(`span`,jt,F(l.value>99?`99+`:l.value),1)):D(``,!0)])],10,kt))),128))])]))}}),[[`__scopeId`,`data-v-085a35d1`]]),Nt={class:`service-header`},Pt={class:`service-header__banner`},Ft={class:`service-header__left`},It={key:0,class:`service-header__title`},Lt=[`title`],Rt=[`title`],zt={key:1,class:`service-header__title`},Bt={key:0,class:`service-header__right`},Vt={class:`service-header__editor-popover`},Ht={class:`service-header__editor-current`},Ut={class:`service-header__editor-label`},Wt={class:`service-header__editor-select`},Gt={class:`service-header__editor-label`},Kt={key:0,class:`editor-option`},qt={class:`editor-option`},Jt={key:0,class:`service-header__mismatch-banner`},Yt={class:`service-header__mismatch-body`},Xt={key:0},Zt={key:1},Qt={key:1,class:`service-header__clone-banner`},$t={key:0},en={key:1},tn=i(q({__name:`ServiceHeader`,props:{service:{},totalProcesses:{},stateCount:{}},setup(n){let i=n,{t:o}=x(),l=c(),d=Y(),f=j(),p=j(!1),m=j([]),h=j(null),_=j(null),v=j(!1);async function C(){if(!i.service?.git?.remote){p.value=!1,m.value=[],h.value=null,_.value=null;return}let e=i.service.id;try{let t=await M.service.checkCwd.query({id:e});m.value=t.unresolvedVars??[],h.value=t.resolvedCwd??null,_.value=t.gitMismatch??null,p.value=t.canClone||(t.unresolvedVars??[]).length>0,t.exists&&t.gitMismatch===null&&setTimeout(async()=>{if(i.service?.id===e)try{let t=await M.service.checkCwd.query({id:e,checkReachability:!0});if(i.service?.id!==e)return;_.value=t.gitMismatch??null}catch{}},1500)}catch(e){console.error(`[checkCwd] error:`,e),p.value=!1,m.value=[],h.value=null,_.value=null}}e(()=>i.service?.id,()=>C(),{immediate:!0});async function T(){if(i.service){v.value=!0;try{await M.service.cloneRepository.mutate({id:i.service.id}),p.value=!1,l.add({severity:`success`,summary:`Repository cloned`,detail:`Cloned into ${h.value??i.service.cwd??`.`}`,life:4e3})}catch(e){l.add({severity:`error`,summary:`Clone failed`,detail:e.message,life:6e3})}finally{v.value=!1}}}let O=E(()=>i.service?d.getEffectiveEditor(i.service.id):null),P=E(()=>i.service?d.getServiceEditor(i.service.id):null),I=E(()=>[{label:o(`serviceHeader.useDefault`),value:`__default__`},...d.installedEditors.map(e=>({label:e.name,value:e.key}))]),R=E(()=>i.service?P.value?.key??`__default__`:`__default__`);function z(e){window.open(e,`_blank`)}function B(){let e=O.value,t=i.service?.cwd;if(!e){l.add({severity:`warn`,summary:o(`serviceHeader.noEditorConfigured`),detail:o(`serviceHeader.setDefaultEditorHint`),life:3e3});return}d.openEditor(e.key,t||`.`)}function V(e){f.value?.toggle(e)}async function H(e){i.service&&(e===`__default__`?await d.removeServiceEditor(i.service.id):await d.setServiceEditor(i.service.id,e))}return(e,i)=>{let c=b(`router-link`),l=s(`tooltip`);return t(),k(`header`,Nt,[L(`div`,Pt,[L(`div`,Ft,[n.service?(t(),k(`h1`,It,[n.service.runner===`docker`?(t(),k(`i`,{key:0,class:`pi pi-box service-header__runner-icon`,title:r(o)(`serviceHeader.docker`)},null,8,Lt)):(t(),k(`i`,{key:1,class:`pi pi-desktop service-header__runner-icon`,title:r(o)(`serviceHeader.native`)},null,8,Rt)),A(F(n.service.name),1)])):(t(),k(`h1`,zt,`Runeya`)),n.service&&n.totalProcesses>0?(t(),K(r(re),{key:2,value:`${n.stateCount.running} running`,severity:n.stateCount.running>0?`success`:`secondary`,class:`service-header__tag`},null,8,[`value`,`severity`])):D(``,!0)]),n.service?(t(),k(`div`,Bt,[N((t(),K(r(a),{text:``,rounded:``,size:`small`,"aria-label":r(o)(`serviceHeader.openInEditor`),onClick:B,onContextmenu:W(V,[`prevent`])},{icon:U(()=>[S(X,{"editor-key":O.value?.key??null,size:14},null,8,[`editor-key`])]),_:1},8,[`aria-label`])),[[l,O.value?`Open in ${O.value.name}`:r(o)(`serviceHeader.openInEditor`),void 0,{bottom:!0}]]),N(S(r(a),{icon:`pi pi-chevron-down`,text:``,rounded:``,size:`small`,class:`service-header__editor-caret`,"aria-label":r(o)(`serviceHeader.editorOptions`),onClick:V},null,8,[`aria-label`]),[[l,r(o)(`serviceHeader.editorSettings`),void 0,{bottom:!0}]]),S(r(g),{ref_key:`editorPopover`,ref:f},{default:U(()=>[L(`div`,Vt,[L(`div`,Ht,[L(`span`,Ut,F(r(o)(`serviceHeader.editorDefault`)),1),L(`span`,null,F(r(d).defaultEditor?.name??r(o)(`serviceHeader.editorNotSet`)),1)]),L(`div`,Wt,[L(`span`,Gt,F(r(o)(`serviceHeader.editorThisService`)),1),S(r(y),{"model-value":R.value,options:I.value,"option-label":`label`,"option-value":`value`,placeholder:r(o)(`serviceHeader.useDefault`),size:`small`,class:`service-header__editor-dropdown`,"onUpdate:modelValue":H},{value:U(e=>[e.value?(t(),k(`div`,Kt,[S(X,{"editor-key":e.value===`__default__`?null:e.value,size:14},null,8,[`editor-key`]),L(`span`,null,F(I.value.find(t=>t.value===e.value)?.label),1)])):D(``,!0)]),option:U(e=>[L(`div`,qt,[S(X,{"editor-key":e.option.value===`__default__`?null:e.option.value,size:14},null,8,[`editor-key`]),L(`span`,null,F(e.option.label),1)])]),_:1},8,[`model-value`,`options`,`placeholder`])]),S(c,{to:{name:`settings`,query:{section:`editor`}},class:`service-header__editor-settings-link`},{default:U(()=>[i[1]||=L(`i`,{class:`pi pi-cog`},null,-1),L(`span`,null,F(r(o)(`serviceHeader.editorSettings`)),1)]),_:1})])]),_:1},512),(t(!0),k(w,null,u(n.service.localUrls??[],e=>N((t(),K(r(a),{key:e.url,icon:`pi pi-cloud`,text:``,rounded:``,size:`small`,"aria-label":`Open https://${e.url}`,onClick:t=>z(`https://${e.url}`)},null,8,[`aria-label`,`onClick`])),[[l,`https://${e.url}`,void 0,{bottom:!0}]])),128)),n.service.url?N((t(),K(r(a),{key:0,icon:`pi pi-globe`,text:``,rounded:``,size:`small`,"aria-label":r(o)(`serviceHeader.openServiceUrl`),onClick:i[0]||=e=>z(n.service.url)},null,8,[`aria-label`])),[[l,n.service.url,void 0,{bottom:!0}]]):D(``,!0)])):D(``,!0)]),_.value&&n.service?(t(),k(`div`,Jt,[i[11]||=L(`i`,{class:`pi pi-exclamation-triangle service-header__mismatch-icon`},null,-1),L(`div`,Yt,[L(`strong`,null,F(_.value.unreachable?`Git remote unreachable`:_.value.actual===null?`No git remote found`:`Git remote mismatch`),1),_.value.unreachable?(t(),k(`span`,Xt,[i[2]||=A(` Cannot reach `,-1),L(`code`,null,F(_.value.configured),1),i[3]||=A(` — check your network or SSH credentials. `,-1)])):_.value.actual===null?(t(),k(`span`,Zt,[i[4]||=A(` The directory `,-1),L(`code`,null,F(h.value??n.service.cwd),1),i[5]||=A(` has no `,-1),i[6]||=L(`code`,null,`origin`,-1),i[7]||=A(` remote, but the service is configured for `,-1),L(`code`,null,F(_.value.configured),1),i[8]||=A(`. `,-1)])):(t(),k(w,{key:2},[L(`span`,null,[i[9]||=A(`Configured: `,-1),L(`code`,null,F(_.value.configured),1)]),L(`span`,null,[i[10]||=A(`Actual: `,-1),L(`code`,null,F(_.value.actual),1)])],64))])])):D(``,!0),p.value&&n.service?(t(),k(`div`,Qt,[i[15]||=L(`i`,{class:`pi pi-folder-open service-header__clone-icon`},null,-1),(m.value??[]).length>0?(t(),k(`span`,$t,[i[12]||=A(` Working directory `,-1),L(`code`,null,F(h.value??n.service.cwd),1),i[13]||=A(` contains unresolved variables: `,-1),(t(!0),k(w,null,u(m.value??[],e=>(t(),k(`code`,{key:e,class:`service-header__clone-var`},`$`+F(e),1))),128)),i[14]||=A(` — set them in the environment before cloning. `,-1)])):(t(),k(`span`,en,F(r(o)(`serviceHeader.cwdNotExist`,{cwd:h.value??n.service.cwd})),1)),(m.value??[]).length===0?(t(),K(r(a),{key:2,label:r(o)(`serviceHeader.cloneRepository`),icon:`pi pi-download`,size:`small`,loading:v.value,onClick:T},null,8,[`label`,`loading`])):D(``,!0)])):D(``,!0)])}}}),[[`__scopeId`,`data-v-e5a40cc7`]]),nn={class:`bottom-bar`},rn={class:`bottom-bar__content`},an={class:`bottom-bar__section`},on={class:`label`},sn={class:`value`},cn={key:0,class:`bottom-bar__section environment`},ln={class:`label`},un=i(q({__name:`BottomBar`,setup(e){let n=J();P();let i=G(),a=c(),{t:o}=x(),s=E(()=>{let e=i.activeProjectId;return!e&&n.projects.length>0&&(e=n.projects[0].id),e?n.getById(e):null}),l=E(()=>s.value?.activeEnvironmentId??null);async function u(e){s.value&&(await n.setActiveEnvironment(s.value.id,e)||a.add({severity:`error`,summary:o(`bottomBar.errorChangingEnv`),life:5e3}))}return(e,n)=>(t(),k(`div`,nn,[L(`div`,rn,[L(`div`,an,[n[0]||=L(`i`,{class:`pi pi-folder icon`},null,-1),L(`span`,on,F(r(o)(`bottomBar.project`)),1),L(`span`,sn,F(s.value?.name??r(o)(`bottomBar.none`)),1)]),s.value&&l.value?(t(),k(`div`,cn,[n[1]||=L(`i`,{class:`pi pi-globe icon`},null,-1),L(`span`,ln,F(r(o)(`bottomBar.environment`)),1),S(ae,{"model-value":l.value,"onUpdate:modelValue":u,class:`bottom-env-selector`},null,8,[`model-value`])])):D(``,!0)])]))}}),[[`__scopeId`,`data-v-68371a62`]]),dn={class:`app-layout__body`},fn={class:`app-layout__main`,"data-testid":`page-content`},pn={class:`app-layout__content`},mn=i(q({__name:`AppLayout`,setup(i){let a=n(),s=ne(),c=J(),u=z(),f=C(),p=l(),m=G(),h=P(),g=Y(),y=j(!1),b=j(window.matchMedia(`(orientation: portrait)`).matches),x=window.matchMedia(`(orientation: portrait)`);function w(e){b.value=e.matches,e.matches?y.value=!0:y.value=!1}x.addEventListener(`change`,w),b.value&&(y.value=!0);let T=E(()=>s.name===`service-detail`?s.params.id:null),O=E(()=>{if(s.name===`service-detail`){let e=s.params.tab;return e===`terminal`||e===`metrics`||e===`config`||e===`git`?e:`terminal`}return s.name===`environments`||s.name===`environment-edit`?`environments`:s.path===`/agents`?`agents`:s.path===`/api-docs`?`api-docs`:s.path===`/settings`?`settings`:s.path.startsWith(`/ai-chat`)||s.path.startsWith(`/scenario`)?`ai-chat`:s.path.startsWith(`/kanban`)?`kanban`:s.path===`/agent-terminal`?`agent-terminal`:`dashboard`}),A=E(()=>T.value?u.getById(T.value):null),M=E(()=>T.value?f.getByService(T.value):[]),F=E(()=>m.activeProjectId);function I(e){e===`dashboard`?a.push(`/`):e===`environments`?F.value&&a.push({name:`environments`,params:{projectId:F.value}}):e===`agents`?a.push(`/agents`):e===`api-docs`?a.push(`/api-docs`):e===`ai-chat`?a.push(`/ai-chat`):e===`kanban`?a.push(`/kanban`):e===`agent-terminal`?a.push(`/agent-terminal`):e===`settings`?a.push(`/settings`):T.value&&a.push(`/services/${T.value}/${e}`)}function R(e){let t=O.value,n=t===`terminal`||t===`metrics`||t===`config`||t===`git`?t:`terminal`;a.push(`/services/${e}/${n}`)}function B(){a.push(`/services/new`)}return e(F,async e=>{if(!e&&s.name&&![`projects`,`agents`,`settings`,`audit`,`api-keys`,`api-docs`,`ai-chat`,`kanban-list`,`kanban-board`,`agent-terminal`].includes(s.name)&&a.push({name:`projects`}),e){try{await h.fetchAll(e,!0)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}g.fetchPreferences()}}),_(()=>x.removeEventListener(`change`,w)),d(async()=>{if(await Promise.all([c.fetchAll(),u.fetchAll(),f.fetchAll(),p.fetchAll()]),F.value)try{await h.fetchAll(F.value)}catch(e){console.error(`[AppLayout] Failed to load environments:`,e.message)}g.fetchAvailable(),F.value&&g.fetchPreferences(),p.subscribeStatus(),!F.value&&s.name!==`projects`&&s.name!==`agents`&&s.name!==`settings`&&s.name!==`audit`&&s.name!==`api-keys`&&s.name!==`api-docs`&&s.name!==`ai-chat`&&s.name!==`kanban-list`&&s.name!==`kanban-board`&&s.name!==`agent-terminal`&&a.push({name:`projects`})}),(e,n)=>(t(),k(`div`,{class:o([`app-layout`,{"app-layout--portrait":b.value}])},[L(`div`,dn,[S(Et,{"active-tab":O.value,portrait:b.value,onTabChange:I,onToggleServiceSidebar:n[0]||=e=>y.value=!y.value},null,8,[`active-tab`,`portrait`]),S(Se,{"selected-service-id":T.value,collapsed:y.value,"active-project-id":F.value,portrait:b.value,onSelectService:R,onAddService:B,onToggleCollapse:n[1]||=e=>y.value=!y.value},null,8,[`selected-service-id`,`collapsed`,`active-project-id`,`portrait`]),L(`div`,fn,[S(tn,{service:A.value},null,8,[`service`]),L(`div`,pn,[N(S(Mt,{"active-tab":O.value,"service-id":T.value,onTabChange:I},null,8,[`active-tab`,`service-id`]),[[te,!!T.value]]),L(`div`,{class:o(T.value?`app-layout__service-view`:[`api-docs`,`ai-chat`,`kanban`,`agent-terminal`].includes(O.value)?`app-layout__fullpage`:`app-layout__page`)},[A.value?(t(),K(ie,{key:0,service:A.value,processes:M.value},null,8,[`service`,`processes`])):D(``,!0),L(`div`,{class:o([`api-docs`,`ai-chat`,`kanban`,`agent-terminal`].includes(O.value)?`app-layout__router-view-fullpage`:`app-layout__router-view`)},[S(r(v))],2)],2)])])]),S(un)],2))}}),[[`__scopeId`,`data-v-0f3edbaa`]]);export{mn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,Cn as r,Ii as i,W as a,Yn as o,_i as s,ci as c,di as l,fi as u,gi as d,ha as f,hn as p,ka as m,li as h,ra as g,yi as _}from"./index-
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,Cn as r,Ii as i,W as a,Yn as o,_i as s,ci as c,di as l,fi as u,gi as d,ha as f,hn as p,ka as m,li as h,ra as g,yi as _}from"./index-D5xJxOo2.js";import{t as v}from"./tag-Dv5CaUPa.js";import{n as y,t as b}from"./column-ChvIrUdH.js";var x={class:`audit-page`},S={class:`filters`},C={key:0,class:`audit-metadata`},w=r(_({__name:`AuditPage`,setup(r){let{t:_}=o(),w=f([]),T=f(0),E=f(!1),D=f(void 0),O=f(void 0),k=f(0),A=f(20),j=c(()=>[{label:_(`auditPage.allActions`),value:void 0},{label:_(`auditPage.actionCreate`),value:`create`},{label:_(`auditPage.actionUpdate`),value:`update`},{label:_(`auditPage.actionDelete`),value:`delete`},{label:_(`auditPage.actionDeploy`),value:`deploy`},{label:_(`auditPage.actionStart`),value:`start`},{label:_(`auditPage.actionStop`),value:`stop`},{label:_(`auditPage.actionRestart`),value:`restart`}]),M=c(()=>[{label:_(`auditPage.allTypes`),value:void 0},{label:_(`auditPage.typeProject`),value:`project`},{label:_(`auditPage.typeService`),value:`service`},{label:_(`auditPage.typeProcess`),value:`process`},{label:_(`auditPage.typeAgent`),value:`agent`}]);async function N(){E.value=!0;try{let e=await p.audit.list.query({action:D.value,entityType:O.value,limit:A.value,offset:k.value});w.value=e.entries,T.value=e.total}catch(e){console.error(`Failed to load audit log:`,e)}finally{E.value=!1}}function P(e){k.value=e.first,A.value=e.rows,N()}function F(e){switch(e){case`create`:return`success`;case`delete`:return`danger`;case`start`:return`success`;case`stop`:return`warn`;default:return`info`}}function I(e){return Object.entries(e).map(([e,t])=>{let n=typeof t==`string`?t:JSON.stringify(t);return`${e}=${n.length>50?n.slice(0,50)+`...`:n}`}).join(`, `)}return e([D,O],()=>{k.value=0,N()}),i(N),(e,r)=>(t(),u(`div`,x,[h(`h2`,null,m(n(_)(`auditPage.title`)),1),h(`div`,S,[s(n(a),{modelValue:D.value,"onUpdate:modelValue":r[0]||=e=>D.value=e,options:j.value,"option-label":`label`,"option-value":`value`,placeholder:n(_)(`auditPage.filterByAction`),class:`filter-select`},null,8,[`modelValue`,`options`,`placeholder`]),s(n(a),{modelValue:O.value,"onUpdate:modelValue":r[1]||=e=>O.value=e,options:M.value,"option-label":`label`,"option-value":`value`,placeholder:n(_)(`auditPage.filterByType`),class:`filter-select`},null,8,[`modelValue`,`options`,`placeholder`])]),s(n(y),{value:w.value,loading:E.value,lazy:!0,paginator:!0,rows:A.value,"total-records":T.value,first:k.value,"rows-per-page-options":[10,20,50],"striped-rows":``,size:`small`,onPage:P},{default:g(()=>[s(n(b),{field:`timestamp`,header:n(_)(`auditPage.timeColumn`),sortable:!1,style:{width:`180px`}},{body:g(({data:e})=>[d(m(new Date(e.timestamp).toLocaleString()),1)]),_:1},8,[`header`]),s(n(b),{field:`action`,header:n(_)(`auditPage.actionColumn`),style:{width:`120px`}},{body:g(({data:e})=>[s(n(v),{value:e.action,severity:F(e.action)},null,8,[`value`,`severity`])]),_:1},8,[`header`]),s(n(b),{field:`entityType`,header:n(_)(`auditPage.entityTypeColumn`),style:{width:`120px`}},null,8,[`header`]),s(n(b),{field:`entityId`,header:n(_)(`auditPage.entityIdColumn`),style:{width:`260px`}},{body:g(({data:e})=>[h(`code`,null,m(e.entityId.substring(0,8))+`...`,1)]),_:1},8,[`header`]),s(n(b),{field:`userId`,header:n(_)(`auditPage.userColumn`),style:{width:`80px`}},null,8,[`header`]),s(n(b),{header:n(_)(`auditPage.detailsColumn`)},{body:g(({data:e})=>[e.metadata?(t(),u(`code`,C,m(I(e.metadata)),1)):l(``,!0)]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`,`rows`,`total-records`,`first`])]))}}),[[`__scopeId`,`data-v-01404a0e`]]);export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,Ea as r,Hi as i,Ii as a,Ji as o,Oa as s,Oi as c,Si as l,Ui as u,_i as d,ai as f,ci as p,di as m,ei as h,fi as g,gi as _,ha as v,ia as y,ka as b,ki as x,li as S,ni as C,qr as w,ra as T,ri as E,ui as D,ya as O,yi as k}from"./index-DtgzVYQA.js";import{$ as A,P as j,Rt as M,V as N,Y as P,dt as F,hn as I,l as L,nn as R,o as z,q as B}from"./dist-BpDjOvWf.js";import{a as V,c as H,i as U,l as W,n as ee,o as G,r as K,s as q,t as te}from"./dist-wmfsxjxc.js";import{t as ne}from"./_plugin-vue_export-helper-C7ztIXtE.js";import{t as re}from"./core-CGdWGCUX.js";import{n as ie,t as J}from"./useLayout-CtomPxVB.js";import{i as ae}from"./vue-router-DyWP0jFg.js";import{n as Y,t as oe}from"./active-entities-y4R6TMSt.js";function X(e){return e?.color||`#FFFFFF`}function Z(e){return e.flatMap(e=>{if(e.key===`value`)try{let t=JSON.parse(e.value);return Object.keys(t).map(n=>({key:n,value:t[n],source:e.source}))}catch{}return[e]})}var se={key:0,class:`gap-1/2 flex flex-col`},ce=[`onClick`],le={class:`flex items-center gap-2 whitespace-nowrap`},ue={class:`w-20 overflow-hidden text-right text-ellipsis whitespace-nowrap`},de=k({__name:`EnvironmentVariableDropdown`,props:{query:{},environment:{},envVariables:{},dropdownPosition:{}},emits:[`select`],setup(e,{expose:o,emit:c}){let l=e,u=c,h=v(!0),y=v(null),x=v(0),C=ae(),{activeCollection:w}=oe(),E=()=>{if(!C)return;let{currentRoute:e,push:t}=C,n=e.value.params.workspace;!w.value||w.value.info?.title===`Drafts`?t({name:`environment.default`,params:{[Y.Workspace]:n}}):t({name:`collection.environment`,params:{[Y.Collection]:w.value.uid}}),h.value=!1},O=new ie(Z(l.envVariables),{keys:[`key`,`value`]}),k=p(()=>{let e=l.query;if(!e)return Z(l.envVariables).slice(-4).filter(({key:e,value:t})=>e!==``||t!==``);let t=O.search(e,{limit:10});return t.length>0?t.map(e=>e.item).filter(({key:e,value:t})=>e!==``||t!==``):[]}),j=e=>{u(`select`,e)};o({handleArrowKey:e=>{let t=e===`up`?-1:1,n=k.value.length;n!==0&&(x.value=(x.value+t+n)%n)},handleSelect:()=>{if(x.value>=0){let e=k.value[x.value];e&&j(e.key)}}}),a(()=>{x.value=0});let M=p(()=>({left:(l.dropdownPosition?.left??0)+`px`,top:(l.dropdownPosition?.top??0)+5+`px`}));return re(y,()=>{h.value=!1},{ignore:[y]}),(a,o)=>h.value?(t(),D(n(A),{key:0,class:`scalar-client`},{default:T(()=>[S(`div`,{ref_key:`dropdownRef`,ref:y,class:`custom-scroll fixed top-0 left-0 flex max-h-[60svh] w-56 flex-col rounded border p-0.75`,style:s(M.value)},[k.value.length?(t(),g(`ul`,se,[(t(!0),g(f,null,i(k.value,(i,a)=>(t(),g(`li`,{key:i.key,class:r([`font-code text-xxs hover:bg-b-2 flex h-8 cursor-pointer items-center justify-between gap-1.5 rounded p-1.5 transition-colors duration-150`,{"bg-b-2":a===x.value}]),onClick:e=>j(i.key)},[S(`div`,le,[i.source===`collection`&&e.environment.name!==`No Environment`?(t(),g(`span`,{key:0,class:`h-2.25 w-2.25 min-w-2.25 rounded-full`,style:s({backgroundColor:n(X)(e.environment)})},null,4)):(t(),D(n(W),{key:1,class:`-ml-0.25 size-2.5`,icon:`Globe`})),_(` `+b(i.key),1)]),S(`span`,ue,b(i.value),1)],10,ce))),128))])):n(C)?(t(),D(n(I),{key:1,class:`font-code text-xxs bg-b-inherit hover:bg-b-2 flex h-8 w-full justify-start gap-2 px-1.5 transition-colors duration-150`,variant:`outlined`,onClick:E},{default:T(()=>[d(n(R),{class:`size-3`}),o[0]||=_(` Add Variable `,-1)]),_:1})):m(``,!0),o[1]||=S(`div`,{class:`bg-b-1 brightness-lifted absolute inset-0 -z-1 rounded shadow-lg`},null,-1)],4)]),_:1})):m(``,!0)}}),fe={class:`group-[.alert]:outline-orange group-[.error]:outline-red w-full pr-10 -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline`},pe={class:`text-c-1 whitespace-nowrap`},me={class:`text-c-1 overflow-hidden text-ellipsis`},he={class:`overflow-hidden text-ellipsis`},ge={class:`flex h-4 w-4 items-center justify-center`},Q=k({__name:`DataTableInputSelect`,props:{modelValue:{},value:{},default:{},canAddCustomValue:{type:Boolean,default:!0},type:{}},emits:[`update:modelValue`],setup(a,{emit:o}){let s=a,c=o,l=p(()=>s.value??[]),u=v(!1),_=v(``),w=v(null);e(_,e=>{c(`update:modelValue`,e)});let E=e=>{c(`update:modelValue`,e),u.value=!1},O=()=>{_.value.trim()&&E(_.value)},k=()=>{_.value.trim()||c(`update:modelValue`,``),u.value=!1},A=e=>s.modelValue.toString()===e;e(u,e=>{e&&x(()=>{w.value?.focus()})});let M=p(()=>s.modelValue===void 0?s.default:s.modelValue),F=p(()=>{let e=new Set(s.modelValue.toString().split(`, `));return l.value.filter(t=>e.has(t)).map(e=>({id:e,label:e,value:e}))}),L=p(()=>l.value.map(e=>({id:e,label:e,value:e}))),R=e=>{c(`update:modelValue`,e.map(e=>e.value).join(`, `))};return(e,o)=>(t(),g(`div`,fe,[a.type===`array`?(t(),D(n(P),{key:0,modelValue:F.value,options:L.value,"onUpdate:modelValue":R},{default:T(()=>[d(n(I),{class:`custom-scroll h-full justify-start gap-1.5 px-2 py-1.5 pr-6 font-normal outline-none`,fullWidth:``,variant:`ghost`},{default:T(()=>[S(`span`,pe,b(F.value.length>0?F.value.map(e=>e.label).join(`, `):`Select a value`),1),d(n(N),{icon:`ChevronDown`,size:`md`,class:`min-w-4`})]),_:1})]),_:1},8,[`modelValue`,`options`])):u.value?y((t(),g(`input`,{key:1,ref_key:`inputRef`,ref:w,"onUpdate:modelValue":o[0]||=e=>_.value=e,class:`text-c-1 w-full min-w-0 border-none px-2 py-1.5 outline-none`,placeholder:`Value`,type:`text`,onBlur:k,onKeyup:C(O,[`enter`])},null,544)),[[h,_.value]]):(t(),D(n(B),{key:2,resize:``,value:M.value},{items:T(()=>[(t(!0),g(f,null,i(l.value,e=>(t(),D(n(z),{key:e,class:`group/item flex items-center gap-1.5 overflow-hidden text-ellipsis whitespace-nowrap`,value:e,onClick:t=>E(e)},{default:T(()=>[S(`div`,{class:r([`flex h-4 w-4 items-center justify-center rounded-full p-[3px]`,A(e)?`bg-c-accent text-b-1`:`shadow-border text-transparent`])},[d(n(N),{class:`size-2.5`,icon:`Checkmark`,thickness:`3`})],2),S(`span`,he,b(e),1)]),_:2},1032,[`value`,`onClick`]))),128)),a.canAddCustomValue?(t(),g(f,{key:0},[l.value.length?(t(),D(n(j),{key:0})):m(``,!0),d(n(z),{class:`flex items-center gap-1.5`,onClick:o[1]||=e=>u.value=!0},{default:T(()=>[S(`div`,ge,[d(n(N),{icon:`Add`,size:`sm`})]),o[2]||=S(`span`,null,`Add value`,-1)]),_:1})],64)):m(``,!0)]),default:T(()=>[d(n(I),{class:`size-full justify-start gap-1.5 overflow-auto px-2 py-1.5 font-normal whitespace-nowrap outline-none`,variant:`ghost`},{default:T(()=>[S(`span`,me,b(M.value||`Select a value`),1),d(n(N),{icon:`ChevronDown`,size:`md`})]),_:1})]),_:1},8,[`value`]))]))}}),_e=class e extends q{constructor(e,t,n,r){super(),this.variableName=e,this.variableName=e,this.environment=t,this.envVariables=n,this.isReadOnly=r??!1,this.uid=F()}app;uid;environment;envVariables;isReadOnly;toDOM(){let e=document.createElement(`span`);return e.className=`cm-pill`,e.textContent=`${this.variableName}`,this.app=w(k({props:{variableName:{type:String,default:null}},render:()=>{let t=this.envVariables?Z(this.envVariables).find(e=>e.key===this.variableName):void 0,n=t?.source===`global`,r=n?`var(--scalar-color-1)`:t&&this.environment&&this.environment.name!==`No Environment`?X(this.environment):`var(--scalar-color-1)`;e.style.setProperty(`--tw-bg-base`,r),e.style.opacity=t?.value?`1`:`0.5`;let i=t?.value||`No value`,a=l(`div`,{class:`flex items-center gap-1 whitespace-nowrap`},[(n||this.environment?.name===`No Environment`&&t?.value)&&l(W,{class:`size-3 -ml-1`,icon:`Globe`}),l(`span`,this.variableName)]);return l(L,{content:i,delay:0,placement:`bottom`,offset:6},{default:()=>a})}}),{variableName:this.variableName}),this.app.mount(e),e}destroy(){this.app&&this.app.unmount()}eq(t){return t instanceof e&&t.variableName===this.variableName&&t.uid===this.uid}ignoreEvent(){return!1}},ve=e=>G.fromClass(class{decorations;constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged)&&requestAnimationFrame(()=>{this.decorations=this.buildDecorations(e.view),e.view.update([])})}buildDecorations(t){let n=new H;for(let{from:r,to:i}of t.visibleRanges){let a=t.state.doc.sliceString(r,i),o;for(;(o=M.VARIABLES.exec(a))!==null;){let t=r+o.index,i=t+o[0].length,a=o[1]??``;n.add(t,i,U.widget({widget:new _e(a,e.environment,e.envVariables,e.isReadOnly),side:1}))}}return n.finish()}},{decorations:e=>e.decorations}),ye=V.domEventHandlers({keydown(e,t){if(e.key===`Backspace`){let{state:n}=t,{from:r,to:i}=n.selection.main;if(r===0&&i===n.doc.length)return t.dispatch({changes:{from:0,to:n.doc.length},selection:{anchor:0}}),e.preventDefault(),!0;if(r===i&&r>0&&n.doc.sliceString(r-2,r)===`}}`)return t.dispatch({changes:{from:r-2,to:i},selection:{anchor:r-2}}),e.preventDefault(),!0}return!1}}),be={class:`whitespace-nowrap`},$=[`id`],xe={key:0,class:`z-context text-c-2 absolute right-1.5 bottom-1 hidden font-sans group-has-[:focus-visible]/input:block`,role:`alert`},Se={key:5,class:`centered-y text-orange absolute right-7 text-xs`},Ce={key:6,class:`centered-y absolute right-0 flex h-full items-center p-1.5 group-has-[.cm-focused]:z-1`},we={key:7,class:`required centered-y text-xxs text-c-3 group-[.error]:text-red bg-b-1 pointer-events-none absolute right-0 mr-0.5 pt-px pr-2 opacity-100 shadow-[-8px_0_4px_var(--scalar-background-1)] transition-opacity duration-150 group-[.alert]:bg-transparent group-[.alert]:shadow-none group-[.error]:bg-transparent group-[.error]:shadow-none peer-has-[.cm-focused]:opacity-0`},Te=ne(k({inheritAttrs:!1,__name:`CodeInput`,props:{colorPicker:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},modelValue:{},error:{type:Boolean},emitOnBlur:{type:Boolean,default:!0},extensions:{default:()=>[]},lineNumbers:{type:Boolean},lint:{type:Boolean},disableTabIndent:{type:Boolean,default:!1},language:{},handleFieldSubmit:{},handleFieldChange:{},placeholder:{},required:{type:Boolean},disableEnter:{type:Boolean,default:!1},disableCloseBrackets:{type:Boolean,default:!1},enum:{},examples:{},type:{},nullable:{type:Boolean,default:!1},withVariables:{type:Boolean,default:!0},importCurl:{type:Boolean},default:{},environment:{},envVariables:{},lineWrapping:{type:Boolean,default:!1}},emits:[`submit`,`update:modelValue`,`curl`,`blur`],setup(i,{expose:a,emit:s}){let l=i,d=s,h=o(),y=h.id||`id-${F()}`,x=v(!1),w=v(!1),T=v(``),k=v({left:0,top:0}),A=v(null),{layout:j}=J();function M(e){return e===l.modelValue?null:l.importCurl&&e.trim().toLowerCase().startsWith(`curl`)?(d(`curl`,e),B.value?.dispatch({changes:{from:0,to:B.value.state.doc.length,insert:String(l.modelValue)}}),null):l.handleFieldChange?l.handleFieldChange(e):d(`update:modelValue`,e)}function N(e){return l.handleFieldSubmit?l.handleFieldSubmit(e):d(`submit`,e)}function P(e){x.value=!1,l.emitOnBlur&&l.modelValue&&N(e),d(`blur`,e)}let I=[...l.extensions];l.colorPicker&&I.push(K);let L=p(()=>ve({environment:l.environment,envVariables:l.envVariables,isReadOnly:j===`modal`})),R=p(()=>[...I,L.value,ye]),z=v(null),{codeMirror:B}=ee({content:O(()=>l.modelValue===void 0?``:String(l.modelValue)),onChange:e=>{M(e),H()},onFocus:()=>x.value=!0,onBlur:e=>P(e),codeMirrorRef:z,disableTabIndent:O(()=>l.disableTabIndent),disableEnter:O(()=>l.disableEnter),disableCloseBrackets:O(()=>l.disableCloseBrackets),lineNumbers:O(()=>l.lineNumbers),language:O(()=>l.language),lint:O(()=>l.lint),extensions:R,placeholder:O(()=>l.placeholder)});B.value?.focus(),e(B,()=>{B.value&&Object.hasOwn(h,`autofocus`)&&B.value.focus()});let{handleDropdownSelect:V,updateDropdownVisibility:H}=te({codeMirror:B,query:T,showDropdown:w,dropdownPosition:k}),U=p(()=>l.nullable?[`true`,`false`,`null`]:[`true`,`false`]),W=(e,t)=>{w.value?e===`down`?(t.preventDefault(),A.value?.handleArrowKey(`down`)):e===`up`?(t.preventDefault(),A.value?.handleArrowKey(`up`)):e===`enter`&&(t.preventDefault(),A.value?.handleSelect()):e===`escape`?l.disableTabIndent||t.stopPropagation():e===`enter`&&t.target instanceof HTMLDivElement&&N(t.target.textContent??``)},G=p(()=>Array.isArray(l.type)?l.type.find(e=>e!==`null`)??`string`:l.type),q=p(()=>w.value&&l.withVariables&&j!==`modal`&&l.environment);return a({focus:()=>{B.value?.focus()},handleChange:M,handleSubmit:N,handleBlur:P,booleanOptions:U,codeMirror:B,modelValue:l.modelValue}),(e,a)=>(t(),g(f,null,[i.disabled?(t(),g(`div`,{key:0,class:r([`text-c-2 flex cursor-default items-center justify-center`,n(j)===`modal`?`font-code pr-2 pl-1 text-base`:`px-2`]),"data-testid":`code-input-disabled`},[S(`span`,be,b(i.modelValue),1)],2)):l.enum&&l.enum.length?(t(),D(Q,{key:1,default:l.default,modelValue:i.modelValue,type:G.value,value:l.enum,"onUpdate:modelValue":a[0]||=e=>d(`update:modelValue`,e)},null,8,[`default`,`modelValue`,`type`,`value`])):i.type===`boolean`||i.type?.includes(`boolean`)?(t(),D(Q,{key:2,default:l.default,modelValue:i.modelValue,value:U.value,"onUpdate:modelValue":a[1]||=e=>d(`update:modelValue`,e)},null,8,[`default`,`modelValue`,`value`])):l.examples&&l.examples.length?(t(),D(Q,{key:3,default:l.default,modelValue:l.modelValue,value:l.examples,"onUpdate:modelValue":a[2]||=e=>d(`update:modelValue`,e)},null,8,[`default`,`modelValue`,`value`])):(t(),g(`div`,c({key:4,id:n(y)},e.$attrs,{ref_key:`codeMirrorRef`,ref:z,class:[`group/input group-[.alert]:outline-orange group-[.error]:outline-red font-code peer relative w-full overflow-hidden text-xs leading-[1.44] whitespace-nowrap -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline`,{"line-wrapping has-[:focus-visible]:bg-b-1 has-[:focus-visible]:absolute has-[:focus-visible]:z-1":i.lineWrapping,"flow-code-input--error":i.error}],onKeydown:[a[3]||=C(E(e=>W(`down`,e),[`stop`]),[`down`]),a[4]||=C(e=>W(`enter`,e),[`enter`]),a[5]||=C(e=>W(`escape`,e),[`escape`]),a[6]||=C(E(e=>W(`up`,e),[`stop`]),[`up`])]}),[i.disableTabIndent?m(``,!0):(t(),g(`div`,xe,[...a[7]||=[_(` Press `,-1),S(`kbd`,{class:`-mx-0.25 rounded border px-0.5 font-mono`},`Esc`,-1),_(` then `,-1),S(`kbd`,{class:`-mx-0.25 rounded border px-0.5 font-mono`},`Tab`,-1),_(` to exit `,-1)]]))],16,$)),e.$slots.warning?(t(),g(`div`,Se,[u(e.$slots,`warning`,{},void 0,!0)])):m(``,!0),e.$slots.icon?(t(),g(`div`,Ce,[u(e.$slots,`icon`,{},void 0,!0)])):m(``,!0),i.required?(t(),g(`div`,we,` Required `)):m(``,!0),q.value?(t(),D(de,{key:8,ref_key:`dropdownRef`,ref:A,dropdownPosition:k.value,envVariables:i.envVariables,environment:i.environment,query:T.value,onSelect:n(V)},null,8,[`dropdownPosition`,`envVariables`,`environment`,`query`,`onSelect`])):m(``,!0)],64))}}),[[`__scopeId`,`data-v-103d9d56`]]);export{Q as n,Te as t};
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,Ea as r,Hi as i,Ii as a,Ji as o,Oa as s,Oi as c,Si as l,Ui as u,_i as d,ai as f,ci as p,di as m,ei as h,fi as g,gi as _,ha as v,ia as y,ka as b,ki as x,li as S,ni as C,qr as w,ra as T,ri as E,ui as D,ya as O,yi as k}from"./index-D5xJxOo2.js";import{$ as A,P as j,Rt as M,V as N,Y as P,dt as F,hn as I,l as L,nn as R,o as z,q as B}from"./dist-ZJ37S89a.js";import{a as V,c as H,i as U,l as W,n as ee,o as G,r as K,s as q,t as te}from"./dist-DBBhfLmf.js";import{t as ne}from"./_plugin-vue_export-helper-C7ztIXtE.js";import{t as re}from"./core-wYvkV3-A.js";import{n as ie,t as J}from"./useLayout-F9XKAPPL.js";import{i as ae}from"./vue-router-uE6ClrN-.js";import{n as Y,t as oe}from"./active-entities-C2TbBQeI.js";function X(e){return e?.color||`#FFFFFF`}function Z(e){return e.flatMap(e=>{if(e.key===`value`)try{let t=JSON.parse(e.value);return Object.keys(t).map(n=>({key:n,value:t[n],source:e.source}))}catch{}return[e]})}var se={key:0,class:`gap-1/2 flex flex-col`},ce=[`onClick`],le={class:`flex items-center gap-2 whitespace-nowrap`},ue={class:`w-20 overflow-hidden text-right text-ellipsis whitespace-nowrap`},de=k({__name:`EnvironmentVariableDropdown`,props:{query:{},environment:{},envVariables:{},dropdownPosition:{}},emits:[`select`],setup(e,{expose:o,emit:c}){let l=e,u=c,h=v(!0),y=v(null),x=v(0),C=ae(),{activeCollection:w}=oe(),E=()=>{if(!C)return;let{currentRoute:e,push:t}=C,n=e.value.params.workspace;!w.value||w.value.info?.title===`Drafts`?t({name:`environment.default`,params:{[Y.Workspace]:n}}):t({name:`collection.environment`,params:{[Y.Collection]:w.value.uid}}),h.value=!1},O=new ie(Z(l.envVariables),{keys:[`key`,`value`]}),k=p(()=>{let e=l.query;if(!e)return Z(l.envVariables).slice(-4).filter(({key:e,value:t})=>e!==``||t!==``);let t=O.search(e,{limit:10});return t.length>0?t.map(e=>e.item).filter(({key:e,value:t})=>e!==``||t!==``):[]}),j=e=>{u(`select`,e)};o({handleArrowKey:e=>{let t=e===`up`?-1:1,n=k.value.length;n!==0&&(x.value=(x.value+t+n)%n)},handleSelect:()=>{if(x.value>=0){let e=k.value[x.value];e&&j(e.key)}}}),a(()=>{x.value=0});let M=p(()=>({left:(l.dropdownPosition?.left??0)+`px`,top:(l.dropdownPosition?.top??0)+5+`px`}));return re(y,()=>{h.value=!1},{ignore:[y]}),(a,o)=>h.value?(t(),D(n(A),{key:0,class:`scalar-client`},{default:T(()=>[S(`div`,{ref_key:`dropdownRef`,ref:y,class:`custom-scroll fixed top-0 left-0 flex max-h-[60svh] w-56 flex-col rounded border p-0.75`,style:s(M.value)},[k.value.length?(t(),g(`ul`,se,[(t(!0),g(f,null,i(k.value,(i,a)=>(t(),g(`li`,{key:i.key,class:r([`font-code text-xxs hover:bg-b-2 flex h-8 cursor-pointer items-center justify-between gap-1.5 rounded p-1.5 transition-colors duration-150`,{"bg-b-2":a===x.value}]),onClick:e=>j(i.key)},[S(`div`,le,[i.source===`collection`&&e.environment.name!==`No Environment`?(t(),g(`span`,{key:0,class:`h-2.25 w-2.25 min-w-2.25 rounded-full`,style:s({backgroundColor:n(X)(e.environment)})},null,4)):(t(),D(n(W),{key:1,class:`-ml-0.25 size-2.5`,icon:`Globe`})),_(` `+b(i.key),1)]),S(`span`,ue,b(i.value),1)],10,ce))),128))])):n(C)?(t(),D(n(I),{key:1,class:`font-code text-xxs bg-b-inherit hover:bg-b-2 flex h-8 w-full justify-start gap-2 px-1.5 transition-colors duration-150`,variant:`outlined`,onClick:E},{default:T(()=>[d(n(R),{class:`size-3`}),o[0]||=_(` Add Variable `,-1)]),_:1})):m(``,!0),o[1]||=S(`div`,{class:`bg-b-1 brightness-lifted absolute inset-0 -z-1 rounded shadow-lg`},null,-1)],4)]),_:1})):m(``,!0)}}),fe={class:`group-[.alert]:outline-orange group-[.error]:outline-red w-full pr-10 -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline`},pe={class:`text-c-1 whitespace-nowrap`},me={class:`text-c-1 overflow-hidden text-ellipsis`},he={class:`overflow-hidden text-ellipsis`},ge={class:`flex h-4 w-4 items-center justify-center`},Q=k({__name:`DataTableInputSelect`,props:{modelValue:{},value:{},default:{},canAddCustomValue:{type:Boolean,default:!0},type:{}},emits:[`update:modelValue`],setup(a,{emit:o}){let s=a,c=o,l=p(()=>s.value??[]),u=v(!1),_=v(``),w=v(null);e(_,e=>{c(`update:modelValue`,e)});let E=e=>{c(`update:modelValue`,e),u.value=!1},O=()=>{_.value.trim()&&E(_.value)},k=()=>{_.value.trim()||c(`update:modelValue`,``),u.value=!1},A=e=>s.modelValue.toString()===e;e(u,e=>{e&&x(()=>{w.value?.focus()})});let M=p(()=>s.modelValue===void 0?s.default:s.modelValue),F=p(()=>{let e=new Set(s.modelValue.toString().split(`, `));return l.value.filter(t=>e.has(t)).map(e=>({id:e,label:e,value:e}))}),L=p(()=>l.value.map(e=>({id:e,label:e,value:e}))),R=e=>{c(`update:modelValue`,e.map(e=>e.value).join(`, `))};return(e,o)=>(t(),g(`div`,fe,[a.type===`array`?(t(),D(n(P),{key:0,modelValue:F.value,options:L.value,"onUpdate:modelValue":R},{default:T(()=>[d(n(I),{class:`custom-scroll h-full justify-start gap-1.5 px-2 py-1.5 pr-6 font-normal outline-none`,fullWidth:``,variant:`ghost`},{default:T(()=>[S(`span`,pe,b(F.value.length>0?F.value.map(e=>e.label).join(`, `):`Select a value`),1),d(n(N),{icon:`ChevronDown`,size:`md`,class:`min-w-4`})]),_:1})]),_:1},8,[`modelValue`,`options`])):u.value?y((t(),g(`input`,{key:1,ref_key:`inputRef`,ref:w,"onUpdate:modelValue":o[0]||=e=>_.value=e,class:`text-c-1 w-full min-w-0 border-none px-2 py-1.5 outline-none`,placeholder:`Value`,type:`text`,onBlur:k,onKeyup:C(O,[`enter`])},null,544)),[[h,_.value]]):(t(),D(n(B),{key:2,resize:``,value:M.value},{items:T(()=>[(t(!0),g(f,null,i(l.value,e=>(t(),D(n(z),{key:e,class:`group/item flex items-center gap-1.5 overflow-hidden text-ellipsis whitespace-nowrap`,value:e,onClick:t=>E(e)},{default:T(()=>[S(`div`,{class:r([`flex h-4 w-4 items-center justify-center rounded-full p-[3px]`,A(e)?`bg-c-accent text-b-1`:`shadow-border text-transparent`])},[d(n(N),{class:`size-2.5`,icon:`Checkmark`,thickness:`3`})],2),S(`span`,he,b(e),1)]),_:2},1032,[`value`,`onClick`]))),128)),a.canAddCustomValue?(t(),g(f,{key:0},[l.value.length?(t(),D(n(j),{key:0})):m(``,!0),d(n(z),{class:`flex items-center gap-1.5`,onClick:o[1]||=e=>u.value=!0},{default:T(()=>[S(`div`,ge,[d(n(N),{icon:`Add`,size:`sm`})]),o[2]||=S(`span`,null,`Add value`,-1)]),_:1})],64)):m(``,!0)]),default:T(()=>[d(n(I),{class:`size-full justify-start gap-1.5 overflow-auto px-2 py-1.5 font-normal whitespace-nowrap outline-none`,variant:`ghost`},{default:T(()=>[S(`span`,me,b(M.value||`Select a value`),1),d(n(N),{icon:`ChevronDown`,size:`md`})]),_:1})]),_:1},8,[`value`]))]))}}),_e=class e extends q{constructor(e,t,n,r){super(),this.variableName=e,this.variableName=e,this.environment=t,this.envVariables=n,this.isReadOnly=r??!1,this.uid=F()}app;uid;environment;envVariables;isReadOnly;toDOM(){let e=document.createElement(`span`);return e.className=`cm-pill`,e.textContent=`${this.variableName}`,this.app=w(k({props:{variableName:{type:String,default:null}},render:()=>{let t=this.envVariables?Z(this.envVariables).find(e=>e.key===this.variableName):void 0,n=t?.source===`global`,r=n?`var(--scalar-color-1)`:t&&this.environment&&this.environment.name!==`No Environment`?X(this.environment):`var(--scalar-color-1)`;e.style.setProperty(`--tw-bg-base`,r),e.style.opacity=t?.value?`1`:`0.5`;let i=t?.value||`No value`,a=l(`div`,{class:`flex items-center gap-1 whitespace-nowrap`},[(n||this.environment?.name===`No Environment`&&t?.value)&&l(W,{class:`size-3 -ml-1`,icon:`Globe`}),l(`span`,this.variableName)]);return l(L,{content:i,delay:0,placement:`bottom`,offset:6},{default:()=>a})}}),{variableName:this.variableName}),this.app.mount(e),e}destroy(){this.app&&this.app.unmount()}eq(t){return t instanceof e&&t.variableName===this.variableName&&t.uid===this.uid}ignoreEvent(){return!1}},ve=e=>G.fromClass(class{decorations;constructor(e){this.decorations=this.buildDecorations(e)}update(e){(e.docChanged||e.viewportChanged)&&requestAnimationFrame(()=>{this.decorations=this.buildDecorations(e.view),e.view.update([])})}buildDecorations(t){let n=new H;for(let{from:r,to:i}of t.visibleRanges){let a=t.state.doc.sliceString(r,i),o;for(;(o=M.VARIABLES.exec(a))!==null;){let t=r+o.index,i=t+o[0].length,a=o[1]??``;n.add(t,i,U.widget({widget:new _e(a,e.environment,e.envVariables,e.isReadOnly),side:1}))}}return n.finish()}},{decorations:e=>e.decorations}),ye=V.domEventHandlers({keydown(e,t){if(e.key===`Backspace`){let{state:n}=t,{from:r,to:i}=n.selection.main;if(r===0&&i===n.doc.length)return t.dispatch({changes:{from:0,to:n.doc.length},selection:{anchor:0}}),e.preventDefault(),!0;if(r===i&&r>0&&n.doc.sliceString(r-2,r)===`}}`)return t.dispatch({changes:{from:r-2,to:i},selection:{anchor:r-2}}),e.preventDefault(),!0}return!1}}),be={class:`whitespace-nowrap`},$=[`id`],xe={key:0,class:`z-context text-c-2 absolute right-1.5 bottom-1 hidden font-sans group-has-[:focus-visible]/input:block`,role:`alert`},Se={key:5,class:`centered-y text-orange absolute right-7 text-xs`},Ce={key:6,class:`centered-y absolute right-0 flex h-full items-center p-1.5 group-has-[.cm-focused]:z-1`},we={key:7,class:`required centered-y text-xxs text-c-3 group-[.error]:text-red bg-b-1 pointer-events-none absolute right-0 mr-0.5 pt-px pr-2 opacity-100 shadow-[-8px_0_4px_var(--scalar-background-1)] transition-opacity duration-150 group-[.alert]:bg-transparent group-[.alert]:shadow-none group-[.error]:bg-transparent group-[.error]:shadow-none peer-has-[.cm-focused]:opacity-0`},Te=ne(k({inheritAttrs:!1,__name:`CodeInput`,props:{colorPicker:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},modelValue:{},error:{type:Boolean},emitOnBlur:{type:Boolean,default:!0},extensions:{default:()=>[]},lineNumbers:{type:Boolean},lint:{type:Boolean},disableTabIndent:{type:Boolean,default:!1},language:{},handleFieldSubmit:{},handleFieldChange:{},placeholder:{},required:{type:Boolean},disableEnter:{type:Boolean,default:!1},disableCloseBrackets:{type:Boolean,default:!1},enum:{},examples:{},type:{},nullable:{type:Boolean,default:!1},withVariables:{type:Boolean,default:!0},importCurl:{type:Boolean},default:{},environment:{},envVariables:{},lineWrapping:{type:Boolean,default:!1}},emits:[`submit`,`update:modelValue`,`curl`,`blur`],setup(i,{expose:a,emit:s}){let l=i,d=s,h=o(),y=h.id||`id-${F()}`,x=v(!1),w=v(!1),T=v(``),k=v({left:0,top:0}),A=v(null),{layout:j}=J();function M(e){return e===l.modelValue?null:l.importCurl&&e.trim().toLowerCase().startsWith(`curl`)?(d(`curl`,e),B.value?.dispatch({changes:{from:0,to:B.value.state.doc.length,insert:String(l.modelValue)}}),null):l.handleFieldChange?l.handleFieldChange(e):d(`update:modelValue`,e)}function N(e){return l.handleFieldSubmit?l.handleFieldSubmit(e):d(`submit`,e)}function P(e){x.value=!1,l.emitOnBlur&&l.modelValue&&N(e),d(`blur`,e)}let I=[...l.extensions];l.colorPicker&&I.push(K);let L=p(()=>ve({environment:l.environment,envVariables:l.envVariables,isReadOnly:j===`modal`})),R=p(()=>[...I,L.value,ye]),z=v(null),{codeMirror:B}=ee({content:O(()=>l.modelValue===void 0?``:String(l.modelValue)),onChange:e=>{M(e),H()},onFocus:()=>x.value=!0,onBlur:e=>P(e),codeMirrorRef:z,disableTabIndent:O(()=>l.disableTabIndent),disableEnter:O(()=>l.disableEnter),disableCloseBrackets:O(()=>l.disableCloseBrackets),lineNumbers:O(()=>l.lineNumbers),language:O(()=>l.language),lint:O(()=>l.lint),extensions:R,placeholder:O(()=>l.placeholder)});B.value?.focus(),e(B,()=>{B.value&&Object.hasOwn(h,`autofocus`)&&B.value.focus()});let{handleDropdownSelect:V,updateDropdownVisibility:H}=te({codeMirror:B,query:T,showDropdown:w,dropdownPosition:k}),U=p(()=>l.nullable?[`true`,`false`,`null`]:[`true`,`false`]),W=(e,t)=>{w.value?e===`down`?(t.preventDefault(),A.value?.handleArrowKey(`down`)):e===`up`?(t.preventDefault(),A.value?.handleArrowKey(`up`)):e===`enter`&&(t.preventDefault(),A.value?.handleSelect()):e===`escape`?l.disableTabIndent||t.stopPropagation():e===`enter`&&t.target instanceof HTMLDivElement&&N(t.target.textContent??``)},G=p(()=>Array.isArray(l.type)?l.type.find(e=>e!==`null`)??`string`:l.type),q=p(()=>w.value&&l.withVariables&&j!==`modal`&&l.environment);return a({focus:()=>{B.value?.focus()},handleChange:M,handleSubmit:N,handleBlur:P,booleanOptions:U,codeMirror:B,modelValue:l.modelValue}),(e,a)=>(t(),g(f,null,[i.disabled?(t(),g(`div`,{key:0,class:r([`text-c-2 flex cursor-default items-center justify-center`,n(j)===`modal`?`font-code pr-2 pl-1 text-base`:`px-2`]),"data-testid":`code-input-disabled`},[S(`span`,be,b(i.modelValue),1)],2)):l.enum&&l.enum.length?(t(),D(Q,{key:1,default:l.default,modelValue:i.modelValue,type:G.value,value:l.enum,"onUpdate:modelValue":a[0]||=e=>d(`update:modelValue`,e)},null,8,[`default`,`modelValue`,`type`,`value`])):i.type===`boolean`||i.type?.includes(`boolean`)?(t(),D(Q,{key:2,default:l.default,modelValue:i.modelValue,value:U.value,"onUpdate:modelValue":a[1]||=e=>d(`update:modelValue`,e)},null,8,[`default`,`modelValue`,`value`])):l.examples&&l.examples.length?(t(),D(Q,{key:3,default:l.default,modelValue:l.modelValue,value:l.examples,"onUpdate:modelValue":a[2]||=e=>d(`update:modelValue`,e)},null,8,[`default`,`modelValue`,`value`])):(t(),g(`div`,c({key:4,id:n(y)},e.$attrs,{ref_key:`codeMirrorRef`,ref:z,class:[`group/input group-[.alert]:outline-orange group-[.error]:outline-red font-code peer relative w-full overflow-hidden text-xs leading-[1.44] whitespace-nowrap -outline-offset-1 has-[:focus-visible]:rounded-[4px] has-[:focus-visible]:outline`,{"line-wrapping has-[:focus-visible]:bg-b-1 has-[:focus-visible]:absolute has-[:focus-visible]:z-1":i.lineWrapping,"flow-code-input--error":i.error}],onKeydown:[a[3]||=C(E(e=>W(`down`,e),[`stop`]),[`down`]),a[4]||=C(e=>W(`enter`,e),[`enter`]),a[5]||=C(e=>W(`escape`,e),[`escape`]),a[6]||=C(E(e=>W(`up`,e),[`stop`]),[`up`])]}),[i.disableTabIndent?m(``,!0):(t(),g(`div`,xe,[...a[7]||=[_(` Press `,-1),S(`kbd`,{class:`-mx-0.25 rounded border px-0.5 font-mono`},`Esc`,-1),_(` then `,-1),S(`kbd`,{class:`-mx-0.25 rounded border px-0.5 font-mono`},`Tab`,-1),_(` to exit `,-1)]]))],16,$)),e.$slots.warning?(t(),g(`div`,Se,[u(e.$slots,`warning`,{},void 0,!0)])):m(``,!0),e.$slots.icon?(t(),g(`div`,Ce,[u(e.$slots,`icon`,{},void 0,!0)])):m(``,!0),i.required?(t(),g(`div`,we,` Required `)):m(``,!0),q.value?(t(),D(de,{key:8,ref_key:`dropdownRef`,ref:A,dropdownPosition:k.value,envVariables:i.envVariables,environment:i.environment,query:T.value,onSelect:n(V)},null,8,[`dropdownPosition`,`envVariables`,`environment`,`query`,`onSelect`])):m(``,!0)],64))}}),[[`__scopeId`,`data-v-103d9d56`]]);export{Q as n,Te as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,Da as r,Ea as i,Hi as a,Oi as o,_i as s,ai as c,ci as l,di as u,fi as d,ha as f,ka as p,li as m,ra as h,ui as g,xi as _,yi as v}from"./index-
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,Da as r,Ea as i,Hi as a,Oi as o,_i as s,ai as c,ci as l,di as u,fi as d,ha as f,ka as p,li as m,ra as h,ui as g,xi as _,yi as v}from"./index-D5xJxOo2.js";import{_n as y,hn as b}from"./dist-ZJ37S89a.js";import{t as x}from"./store-CZKREOuj.js";import{t as S}from"./_plugin-vue_export-helper-C7ztIXtE.js";import{r as C}from"./core-wYvkV3-A.js";import{i as w,n as T,t as E}from"./vue-router-uE6ClrN-.js";import{n as D,t as O}from"./active-entities-C2TbBQeI.js";import{t as k}from"./IconSelector.vue-Ykh6DAln.js";import{t as A}from"./library-DmdL5Pgv.js";import{t as j}from"./ViewLayout.vue-C7w_U_o6.js";import{t as M}from"./ViewLayoutSection.vue-BzJIsja7.js";var N=[`for`],P=[`id`,`placeholder`,`value`],F=S(v({__name:`LabelInput`,props:{inputId:{},placeholder:{},value:{},layout:{}},emits:[`updateValue`],setup(e,{emit:i}){let a=i,{cx:s}=y(),l=e=>{let t=e.target;a(`updateValue`,t.value)};return(i,a)=>(t(),d(`div`,r(_(n(s)(`flex-1 flex gap-1 items-center pointer-events-none group`))),[e.layout===`modal`?(t(),d(`span`,r(o({key:1},n(s)(`flex items-center text-c-1 h-8`))),p(e.value),17)):(t(),d(c,{key:0},[m(`label`,o(n(s)(`absolute w-full h-full top-0 left-0 pointer-events-auto opacity-0 cursor-text`),{for:e.inputId}),null,16,N),m(`input`,o(n(s)(`flex-1 text-c-1 rounded pointer-events-auto relative w-full pl-1.25 -ml-0.5 md:-ml-1.25 h-8 group-hover-input has-[:focus-visible]:outline z-10`),{id:e.inputId,placeholder:e.placeholder,value:e.value,onInput:l}),null,16,P)],64))],16))}}),[[`__scopeId`,`data-v-fced736a`]]),I=[`aria-label`],L={class:`group relative ml-1.25`},R=S(v({__name:`CollectionInfoForm`,setup(e){let{activeCollection:r}=O(),{collectionMutators:i}=x(),a=l(()=>r?.value?.[`x-scalar-icon`]||`interface-content-folder`),o=e=>{r?.value?.uid&&i.edit(r?.value?.uid,`x-scalar-icon`,e)},c=e=>{r.value&&i.edit(r.value.uid,`info.title`,e)},u=l(()=>({icon:r?.value?.[`x-scalar-icon`],title:r?.value?.info?.title,description:r?.value?.info?.description,version:r?.value?.info?.version}));return(e,r)=>(t(),d(`div`,{"aria-label":`Collection: ${u.value.title}`,class:`mx-auto flex h-fit w-full flex-col gap-2 pt-6 pb-3 md:mx-auto md:max-w-[720px]`},[s(k,{modelValue:a.value,placement:`bottom-start`,"onUpdate:modelValue":r[0]||=e=>o(e)},{default:h(()=>[s(n(b),{class:`hover:bg-b-2 aspect-square h-7 w-7 cursor-pointer rounded border border-transparent p-0 hover:border-inherit`,variant:`ghost`},{default:h(()=>[s(n(A),{class:`text-c-2 size-5`,src:a.value,"stroke-width":`2`},null,8,[`src`])]),_:1})]),_:1},8,[`modelValue`]),m(`div`,L,[s(F,{class:`text-xl font-bold`,inputId:`collectionName`,placeholder:`Untitled Collection`,value:u.value.title,onUpdateValue:c},null,8,[`value`])])],8,I))}}),[[`__scopeId`,`data-v-68d5218e`]]),z={class:`bg-b-1 sticky -top-[104px] z-10 mx-auto w-full`},B={key:0,class:`flex max-w-40 items-center`},V={class:`text-c-1 mr-[6.25px] hidden overflow-hidden px-2 font-medium text-ellipsis whitespace-nowrap md:block`},H=v({__name:`CollectionNavigation`,props:{isSticky:{type:Boolean}},setup(e){let{currentRoute:r}=w(),{activeCollection:o}=O(),f=l(()=>[{displayName:`Overview`,to:{name:`collection.overview`,params:{[D.Collection]:o.value?.uid}}},{displayName:`Servers`,to:{name:`collection.servers`,params:{[D.Collection]:o.value?.uid}}},{displayName:`Authentication`,to:{name:`collection.authentication`,params:{[D.Collection]:o.value?.uid}}},{displayName:`Environment`,to:{name:`collection.environment`,params:{[D.Collection]:o.value?.uid}}},{displayName:`Settings`,to:{name:`collection.settings`}}]);return(l,_)=>(t(),d(`div`,z,[s(R),m(`div`,{class:i([`items-center text-sm font-medium`,e.isSticky?`h-fit border-b md:grid md:grid-cols-[1fr_720px_1fr] md:px-4`:`flex md:mx-auto md:max-w-[720px]`])},[e.isSticky?(t(),d(`div`,B,[s(n(A),{class:`text-c-2 hidden size-3.5 md:block`,src:n(o)?.[`x-scalar-icon`]||`interface-content-folder`,"stroke-width":`2`},null,8,[`src`]),m(`span`,V,p(n(o)?.info?.title),1)])):u(``,!0),m(`div`,{class:i([`flex w-full max-w-[720px] gap-2 pl-1.5 md:ml-1.5 md:pl-0`,!e.isSticky&&`border-b`])},[(t(!0),d(c,null,a(f.value,({to:e,displayName:a},o)=>(t(),g(n(E),{key:o,class:`-ml-2 flex h-10 cursor-pointer items-center px-2 text-center text-sm font-medium whitespace-nowrap no-underline -outline-offset-1 has-[:focus-visible]:outline`,to:e},{default:h(()=>[m(`span`,{class:i([`flex-center h-full w-full border-b`,typeof e.name==`string`&&typeof n(r).name==`string`&&n(r).name?.startsWith(e.name)?`text-c-1 border-c-1`:`text-c-2 hover:text-c-1 border-transparent`])},p(a),3)]),_:2},1032,[`to`]))),128))],2)],2)]))}}),U={class:`w-full md:mx-auto md:max-w-[720px]`},W=v({__name:`Collection`,setup(r){let{activeCollection:i}=O(),a=w(),o=f(null),{y:c}=C(o),u=l(()=>c.value>104);return e(i,e=>{if(e?.info?.title===`Drafts`){let t=e.requests[0];a.push({name:`request`,params:{[D.Request]:t}})}},{immediate:!0}),(e,r)=>(t(),g(j,{ref_key:`el`,ref:o,class:`h-fit overflow-auto pb-6 xl:overflow-auto`},{default:h(()=>[s(M,{class:`xl:h-fit`},{default:h(()=>[s(H,{isSticky:u.value},null,8,[`isSticky`]),m(`div`,U,[s(n(T))])]),_:1})]),_:1},512))}});export{W as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Ea as n,_i as r,di as i,fi as a,li as o,ui as s,yi as c}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Ea as n,_i as r,di as i,fi as a,li as o,ui as s,yi as c}from"./index-D5xJxOo2.js";import{d as l}from"./dist-ZJ37S89a.js";import"./dist-DBBhfLmf.js";import{t as u}from"./store-CZKREOuj.js";import{t as d}from"./_plugin-vue_export-helper-C7ztIXtE.js";import"./w3c-keyname-DDCGDLuI.js";import"./CodeInput.vue-8aNMYCYM.js";import{t as f}from"./active-entities-C2TbBQeI.js";import"./DataTableCheckbox.vue-n2xCTJj1.js";import"./dist-DeOvPbza.js";import"./DataTable.vue-DYVeGQPP.js";import{t as p}from"./RequestAuth.vue-DV5nNO3f.js";import"./DataTableInput.vue-uPpuKzrX.js";var m={class:`flex h-full w-full flex-col gap-12 px-1.5 pt-8`},h={class:`flex flex-col gap-4`},g={class:`flex flex-col gap-2`},_={class:`flex h-8 items-center justify-between`},v=d(c({__name:`CollectionAuthentication`,setup(c){let{activeCollection:d,activeEnvVariables:v,activeEnvironment:y,activeServer:b,activeWorkspace:x}=f(),{collectionMutators:S}=u(),C=()=>{d.value?.uid&&S.edit(d.value.uid,`useCollectionSecurity`,!d.value.useCollectionSecurity)};return(c,u)=>(e(),a(`div`,m,[o(`div`,h,[o(`div`,g,[o(`div`,_,[u[0]||=o(`h3`,{class:`font-bold`},`Authentication`,-1),r(t(l),{class:`w-4`,modelValue:t(d)?.useCollectionSecurity??!1,"onUpdate:modelValue":C},null,8,[`modelValue`])]),u[1]||=o(`p`,{class:`pr-6 text-sm`},` Added authentication will apply to all requests under this collection. You can override this by specifying another one in the request. `,-1)]),t(d)&&t(x)?(e(),s(t(p),{key:0,class:n([`scalar-collection-auth`,!t(d)?.useCollectionSecurity&&`pointer-events-none opacity-50 mix-blend-luminosity`]),collection:t(d),envVariables:t(v),environment:t(y),layout:`client`,selectedSecuritySchemeUids:t(d)?.selectedSecuritySchemeUids??[],server:t(b),title:`Authentication`,workspace:t(x)},null,8,[`class`,`collection`,`envVariables`,`environment`,`selectedSecuritySchemeUids`,`server`,`workspace`])):i(``,!0)])]))}}),[[`__scopeId`,`data-v-cc87292e`]]);export{v as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bi as e,gi as t,ra as n,ui as r,yi as i}from"./index-D5xJxOo2.js";import"./dist-ZJ37S89a.js";import{t as a}from"./ViewLayoutSection.vue-BzJIsja7.js";var o=i({__name:`CollectionCookies`,setup(i){return(i,o)=>(e(),r(a,null,{title:n(()=>[...o[0]||=[t(`Cookies`,-1)]]),_:1}))}});export{o as default};
|
package/web/assets/{CollectionEnvironment.vue-1tFpk-iW.js → CollectionEnvironment.vue-DWPTZ8qx.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,Ea as r,Hi as i,Ii as a,Oa as o,_i as s,ai as c,ci as l,di as u,fi as d,gi as f,ha as p,ka as m,ki as h,li as g,mi as _,ra as v,ri as y,ui as b,yi as x}from"./index-
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,Ea as r,Hi as i,Ii as a,Oa as o,_i as s,ai as c,ci as l,di as u,fi as d,gi as f,ha as p,ka as m,ki as h,li as g,mi as _,ra as v,ri as y,ui as b,yi as x}from"./index-D5xJxOo2.js";import{V as S,hn as C,n as w,r as T}from"./dist-ZJ37S89a.js";import"./dist-DBBhfLmf.js";import{t as E}from"./ScalarIconTrash.vue-CtSwrO5S.js";import{n as D,t as O}from"./DataTableHeader.vue-ByesjY2f.js";import{t as k}from"./store-CZKREOuj.js";import{t as A}from"./_plugin-vue_export-helper-C7ztIXtE.js";import"./w3c-keyname-DDCGDLuI.js";import{t as j}from"./CodeInput.vue-8aNMYCYM.js";import{t as M}from"./active-entities-C2TbBQeI.js";import"./dist-DeOvPbza.js";import{t as N}from"./ViewLayoutSection.vue-BzJIsja7.js";import"./CommandActionInput.vue-L7AcEf6T.js";import{n as P,r as F,t as I}from"./DataTable.vue-DYVeGQPP.js";import{t as L}from"./dist-BHh6fQzR.js";import{t as R}from"./DeleteSidebarListElement.vue-CBIb58rU.js";import{t as z}from"./EditSidebarListElement.vue-DqTVSZtI.js";import{n as B,t as V}from"./EnvironmentModal.vue-BJNYZuPC.js";var H=A(x({__name:`EnvironmentForm`,props:{collection:{},environment:{},workspace:{},envVariables:{}},setup(o){let{collectionMutators:m}=k(),g=p([]),x=p(new Set),S=p(new Map),w=p(!1),T=l(()=>{if(!o.environment?.value)return[{key:``,value:``}];try{let e=JSON.parse(o.environment.value),t=Object.entries(e).map(([e,t])=>({key:e,value:String(t)}));return t.length===0?[{key:``,value:``}]:t}catch{return[{key:``,value:``}]}}),A=l(()=>{let e=g.value[g.value.length-1];return e?e.key||e.value?[...g.value,{key:``,value:``}]:g.value:[{key:``,value:``}]}),M=l(()=>{let e=new Map;return g.value.forEach((t,n)=>{if(t.key){let r=e.get(t.key)||[];r.push(n),e.set(t.key,r)}}),S.value.forEach((t,n)=>{if(t){let r=e.get(t)||[];r.push(n),e.set(t,r)}}),Array.from(e.values()).filter(e=>e.length>1).flat()});e(T,e=>{g.value=[...e],x.value=new Set(e.map(e=>e.key).filter(Boolean))},{immediate:!0});let N=async(e,t,n)=>{if(!w.value){if(t===`key`){S.value.set(e,n);let t=new Set(x.value),r=g.value[e];if(r&&t.delete(r.key),t.has(n))return}w.value=!0;try{let r=[...g.value],i=r[e];if(!i)return;r[e]={key:t===`key`?n:i.key,value:t===`value`?n:i.value},!r[e].key&&!r[e].value&&e!==r.length-1&&r.splice(e,1);let a=r.reduce((e,{key:t,value:n})=>((t||n)&&(e[t]=n),e),{});if(o.collection){let e={...o.collection[`x-scalar-environments`],[o.environment.name]:{...o.collection[`x-scalar-environments`]?.[o.environment.name],variables:a}};await m.edit(o.collection.uid,`x-scalar-environments`,e)}if(e===g.value.length-1){let e=r[r.length-1];e&&(e.key||e.value)&&await L()}await h(),g.value=r,t===`key`&&(x.value=new Set(r.map(e=>e.key).filter(Boolean)),S.value.delete(e))}finally{w.value=!1}}},L=async()=>{if(!w.value){w.value=!0;try{let e=[...g.value,{key:``,value:``}],t=e.reduce((e,{key:t,value:n})=>((t||n)&&(e[t]=n),e),{});if(o.collection){let e={...o.collection[`x-scalar-environments`],[o.environment.name]:{...o.collection[`x-scalar-environments`]?.[o.environment.name],variables:t}};await m.edit(o.collection.uid,`x-scalar-environments`,e)}await h(),g.value=e}finally{w.value=!1}}},R=async e=>{if(!w.value){w.value=!0;try{let t=[...g.value];t.splice(e,1);let n=t.reduce((e,{key:t,value:n})=>((t||n)&&(e[t]=n),e),{});if(o.collection){let e={...o.collection[`x-scalar-environments`],[o.environment.name]:{...o.collection[`x-scalar-environments`]?.[o.environment.name],variables:n}};await m.edit(o.collection.uid,`x-scalar-environments`,e)}await h(),g.value=t}finally{w.value=!1}}},z=async()=>{if(g.value.length===0)await L();else if(g.value.length>=1){let e=g.value[g.value.length-1];e&&(e.key||e.value)&&await L()}};return a(()=>{z()}),e(()=>g.value,()=>{z()}),(e,a)=>(t(),b(I,{class:`group/table flex-1`,columns:[``,``]},{default:v(()=>[s(P,{class:`sr-only !block`},{default:v(()=>[s(O,null,{default:v(()=>[...a[0]||=[f(`Key`,-1)]]),_:1}),s(O,null,{default:v(()=>[...a[1]||=[f(`Value`,-1)]]),_:1})]),_:1}),(t(!0),d(c,null,i(A.value,(e,i)=>(t(),b(P,{key:i,class:r({error:M.value.includes(i)})},{default:v(()=>[s(F,null,{default:v(()=>[s(j,{disableCloseBrackets:``,disableEnter:``,disableTabIndent:``,lineWrapping:``,environment:o.environment,envVariables:o.envVariables,modelValue:e.key,placeholder:`Key`,workspace:o.workspace,"onUpdate:modelValue":e=>N(i,`key`,e)},_({_:2},[M.value.includes(i)?{name:`icon`,fn:v(()=>[s(n(D),{class:`text-red mr-0.75 size-3.5 brightness-[.9]`})]),key:`0`}:void 0]),1032,[`environment`,`envVariables`,`modelValue`,`workspace`,`onUpdate:modelValue`])]),_:2},1024),s(F,null,{default:v(()=>[s(j,{class:`pr-6 group-hover:pr-10 group-has-[.cm-focused]:pr-10`,disableCloseBrackets:``,disableEnter:``,disableTabIndent:``,lineWrapping:``,environment:o.environment,envVariables:o.envVariables,modelValue:e.value,placeholder:`Value`,workspace:o.workspace,"onUpdate:modelValue":e=>N(i,`value`,e)},{icon:v(()=>[e.key||e.value?(t(),b(n(C),{key:0,class:`text-c-2 hover:text-c-1 hover:bg-b-2 z-context hidden h-fit rounded p-1 group-hover:flex group-has-[.cm-focused]:flex`,size:`sm`,variant:`ghost`,onClick:y(e=>R(i),[`stop`])},{default:v(()=>[s(n(E),{class:`size-3.5`})]),_:1},8,[`onClick`])):u(``,!0)]),_:2},1032,[`environment`,`envVariables`,`modelValue`,`workspace`,`onUpdate:modelValue`])]),_:2},1024)]),_:2},1032,[`class`]))),128))]),_:1}))}}),[[`__scopeId`,`data-v-83bfcc8a`]]),U={class:`flex h-full w-full flex-col gap-12 px-1.5 pt-8`},W={class:`flex flex-col gap-4`},G={class:`rounded-lg border`},K={class:`bg-b-2 flex cursor-grab items-center justify-between rounded-t-lg px-1 py-1 text-sm`},q={class:`flex items-center`},J=[`onClick`],Y={class:`text-c-3 flex h-full items-center justify-center rounded-lg border p-4`},X=x({__name:`CollectionEnvironment`,setup(e){let{activeCollection:r,activeWorkspace:a,activeEnvVariables:h}=M(),{collectionMutators:_}=k(),y=T(),x=T(),D=T(),O=T(),A=p(``),j=p(null),P=p(void 0),F=l(()=>r.value?.[`x-scalar-environments`]?Object.entries(r.value[`x-scalar-environments`]).map(([e,t])=>({uid:e,name:e,value:JSON.stringify(t.variables||{}),color:t.color||`#FFFFFF`})):[]),I=()=>{!r.value?.uid||!j.value||(_.removeEnvironment(j.value,r.value.uid),x.hide())},X=e=>{j.value=e,x.show()},Z=e=>{r.value?.uid&&(_.addEnvironment(e.name,{variables:{},color:e.color},r.value.uid),D.hide())},Q=e=>{j.value=e.name,A.value=e.color||`#FFFFFF`,y.show()},$=e=>{if(!r.value?.uid||!j.value)return;let t={...r.value[`x-scalar-environments`],[j.value]:{variables:r.value[`x-scalar-environments`]?.[j.value]?.variables||{},color:e}};_.edit(r.value.uid,`x-scalar-environments`,t),y.hide()},ee=e=>{j.value=e,P.value=e,O.show()},te=()=>{j.value=null,P.value=void 0,O.hide()},ne=e=>{if(!r.value?.uid||!j.value)return;let t={...r.value[`x-scalar-environments`]};if(!t[j.value])return;let n={},i=Object.entries(t),a=i.findIndex(([e])=>e===j.value);i.forEach(([t,r],i)=>{i===a?n[e]=r:n[t]=r}),_.edit(r.value.uid,`x-scalar-environments`,n),j.value=null,P.value=void 0,O.hide()},re=(e,t)=>{if(!r.value?.uid)return;let n={...r.value[`x-scalar-environments`]},i={},a=Object.entries(n),o=a.findIndex(([t])=>t===e.id),s=a.findIndex(([e])=>e===t.id);if(o===-1||s===-1)return;let c=a[o];c&&(a.splice(o,1),a.splice(s,0,c),a.forEach(([e,t])=>{i[e]=t}),_.edit(r.value.uid,`x-scalar-environments`,i))};return(e,l)=>(t(),b(N,null,{default:v(()=>[g(`div`,U,[g(`div`,W,[l[5]||=g(`div`,{class:`flex items-start justify-between gap-2`},[g(`div`,{class:`flex flex-col gap-2`},[g(`div`,{class:`flex h-8 items-center`},[g(`h3`,{class:`font-bold`},`Environment Variables`)]),g(`p`,{class:`text-sm`},[f(` Set environment variables at your collection level. Use `),g(`code`,{class:`font-code text-c-2`},`{{ variable }}`),f(` to add / search among the selected environment's variables in your request inputs. `)])])],-1),(t(!0),d(c,null,i(F.value,e=>(t(),b(n(L),{key:e.name,id:e.name,isDraggable:!0,isDroppable:!0,parentIds:[],onOnDragEnd:re},{default:v(()=>[g(`div`,G,[g(`div`,K,[g(`div`,q,[s(n(C),{class:`hover:bg-b-3 flex h-6 w-6 p-1`,onClick:t=>Q(e),variant:`ghost`},{default:v(()=>[g(`span`,{style:o({backgroundColor:e.color||`#FFFFFF`}),class:`h-2.5 w-2.5 rounded-full`},null,4)]),_:2},1032,[`onClick`]),g(`button`,{class:`hover:bg-b-3 rounded px-1 py-0.5 text-sm`,onClick:t=>ee(e.name)},m(e.name),9,J)]),s(n(C),{class:`hover:bg-b-3 hover:text-c-1 h-fit p-1.25`,variant:`ghost`,onClick:t=>X(e.name)},{default:v(()=>[s(n(E),{class:`size-3.5`})]),_:1},8,[`onClick`])]),n(r)&&n(a)?(t(),b(H,{key:0,collection:n(r),environment:e,envVariables:n(h),workspace:n(a)},null,8,[`collection`,`environment`,`envVariables`,`workspace`])):u(``,!0)])]),_:2},1032,[`id`]))),128)),g(`div`,Y,[s(n(C),{class:`hover:bg-b-2 hover:text-c-1 flex items-center gap-2`,size:`sm`,variant:`ghost`,onClick:l[0]||=e=>n(D).show()},{default:v(()=>[s(n(S),{class:`inline-flex`,icon:`Add`,size:`sm`,thickness:`1.5`}),l[4]||=g(`span`,null,`Add Environment`,-1)]),_:1})])]),s(n(w),{size:`xxs`,state:n(x),title:`Delete ${j.value||`Environment`}`},{default:v(()=>[s(R,{variableName:`Environment`,warningMessage:`Are you sure you want to delete this environment? This action cannot be undone.`,onClose:l[1]||=e=>n(x).hide(),onDelete:I})]),_:1},8,[`state`,`title`]),s(V,{activeWorkspaceCollections:n(r)?[n(r)]:[],collectionId:n(r)?.uid,state:n(D),onCancel:l[2]||=e=>n(D).hide(),onSubmit:Z},null,8,[`activeWorkspaceCollections`,`collectionId`,`state`]),s(B,{selectedColor:A.value,state:n(y),onCancel:l[3]||=e=>n(y).hide(),onSubmit:$},null,8,[`selectedColor`,`state`]),s(n(w),{size:`xxs`,state:n(O),title:`Edit ${j.value}`},{default:v(()=>[s(z,{name:P.value??``,onClose:te,onEdit:ne},null,8,[`name`])]),_:1},8,[`state`,`title`])])]),_:1}))}});export{X as default};
|
package/web/assets/{CollectionOverview.vue-ClKgsIxR.js → CollectionOverview.vue-1Qf130d5.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,_i as r,ai as i,di as a,fi as o,ha as s,ki as c,li as l,ra as u,ui as d,yi as f}from"./index-
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,_i as r,ai as i,di as a,fi as o,ha as s,ki as c,li as l,ra as u,ui as d,yi as f}from"./index-D5xJxOo2.js";import{R as p,V as m,hn as h}from"./dist-ZJ37S89a.js";import"./dist-DBBhfLmf.js";import{t as g}from"./store-CZKREOuj.js";import{t as _}from"./_plugin-vue_export-helper-C7ztIXtE.js";import"./w3c-keyname-DDCGDLuI.js";import{t as v}from"./CodeInput.vue-8aNMYCYM.js";import{t as y}from"./active-entities-C2TbBQeI.js";import{t as b}from"./ViewLayoutSection.vue-BzJIsja7.js";var x={class:`flex h-full w-full flex-col gap-2 pt-8`},S={class:`flex min-h-8 items-center justify-between gap-2 pl-1.5`},C={class:`has-[:focus-visible]:bg-b-1 group relative z-1 flex flex-col rounded-lg`},w={class:`flex h-full min-h-[calc(1rem*4)] flex-col`},T={key:1,class:`text-c-3 flex h-full items-center justify-center rounded-lg border p-4`},E=_(f({__name:`MarkdownInput`,props:{modelValue:{},environment:{},envVariables:{},workspace:{}},emits:[`update:modelValue`],setup(f,{emit:g}){let _=g,y=s(`preview`),b=s(null);e(y,e=>{e===`edit`&&c(()=>{b.value?.focus()})});let E=()=>{requestAnimationFrame(()=>{y.value=`preview`})};return(e,s)=>(t(),o(`div`,x,[l(`div`,S,[s[5]||=l(`h3`,{class:`font-bold`},`Description`,-1),y.value===`preview`?(t(),d(n(h),{key:0,class:`text-c-2 hover:text-c-1 flex items-center gap-2`,size:`sm`,type:`button`,variant:`outlined`,onClick:s[0]||=e=>y.value=`edit`},{default:u(()=>[r(n(m),{icon:`Pencil`,size:`sm`,thickness:`1.5`}),s[4]||=l(`span`,null,`Edit`,-1)]),_:1})):a(``,!0)]),l(`div`,C,[l(`div`,w,[y.value===`preview`?(t(),o(i,{key:0},[f.modelValue&&f.modelValue.trim().length?(t(),o(i,{key:0},[f.modelValue?(t(),d(n(p),{key:0,class:`h-full flex-1 rounded border border-transparent p-1.5 hover:border-(--scalar-background-3)`,value:f.modelValue,withImages:``,onDblclick:s[1]||=e=>y.value=`edit`},null,8,[`value`])):a(``,!0),s[6]||=l(`div`,{class:`brightness-lifted bg-b-1 absolute inset-0 -z-1 hidden rounded group-hover:block group-has-[:focus-visible]:hidden`},null,-1)],64)):(t(),o(`div`,T,[r(n(h),{class:`hover:bg-b-2 hover:text-c-1 text-c-2 flex items-center gap-2`,size:`sm`,variant:`ghost`,onClick:s[2]||=e=>y.value=`edit`},{default:u(()=>[r(n(m),{icon:`Pencil`,size:`sm`,thickness:`1.5`}),s[7]||=l(`span`,null,`Write a description`,-1)]),_:1})]))],64)):a(``,!0),y.value===`edit`?(t(),d(v,{key:1,ref_key:`codeInputRef`,ref:b,class:`h-full flex-1 border px-0.5 py-0`,envVariables:f.envVariables,environment:f.environment,modelValue:f.modelValue,workspace:f.workspace,onBlur:E,"onUpdate:modelValue":s[3]||=e=>_(`update:modelValue`,e)},null,8,[`envVariables`,`environment`,`modelValue`,`workspace`])):a(``,!0)])])]))}}),[[`__scopeId`,`data-v-5997a667`]]),D=f({__name:`CollectionOverview`,setup(e){let{activeCollection:r,activeEnvironment:i,activeEnvVariables:o,activeWorkspace:s}=y(),{collectionMutators:c}=g(),l=e=>{r.value&&c.edit(r.value.uid,`info.description`,e)};return(e,c)=>(t(),d(b,null,{default:u(()=>[n(i)&&n(s)?(t(),d(E,{key:0,envVariables:n(o),environment:n(i),modelValue:n(r)?.info?.description??``,workspace:n(s),"onUpdate:modelValue":l},null,8,[`envVariables`,`environment`,`modelValue`,`workspace`])):a(``,!0)]),_:1}))}});export{D as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bi as e,gi as t,ra as n,ui as r,yi as i}from"./index-D5xJxOo2.js";import"./dist-ZJ37S89a.js";import{t as a}from"./ViewLayoutSection.vue-BzJIsja7.js";var o=i({__name:`CollectionScripts`,setup(i){return(i,o)=>(e(),r(a,null,{title:n(()=>[...o[0]||=[t(`Scripts`,-1)]]),_:1}))}});export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,Ea as r,Hi as i,_i as a,ai as o,ci as s,di as c,fi as l,ha as u,hi as d,ka as f,li as p,ra as m,ui as h,yi as g}from"./index-
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,Ea as r,Hi as i,_i as a,ai as o,ci as s,di as c,fi as l,ha as u,hi as d,ka as f,li as p,ra as m,ui as h,yi as g}from"./index-D5xJxOo2.js";import{R as _,Rt as v,V as y,hn as b,n as x,r as S}from"./dist-ZJ37S89a.js";import"./dist-DBBhfLmf.js";import{t as C}from"./ScalarIconTrash.vue-CtSwrO5S.js";import{t as w}from"./store-CZKREOuj.js";import"./w3c-keyname-DDCGDLuI.js";import"./CodeInput.vue-8aNMYCYM.js";import{t as T}from"./active-entities-C2TbBQeI.js";import{t as E}from"./ServerVariablesForm.vue-DYmWiAuz.js";import"./ViewLayoutSection.vue-BzJIsja7.js";import"./DataTable.vue-DYVeGQPP.js";import"./DataTableInput.vue-uPpuKzrX.js";import{t as D}from"./DeleteSidebarListElement.vue-CBIb58rU.js";import{t as O}from"./Form.vue-NLXFw40d.js";var k=g({__name:`CollectionServerForm`,props:{collectionId:{default:``},serverUid:{default:``}},setup(n){let i=n,{activeWorkspaceCollections:u}=T(),{servers:d,serverMutators:f}=w(),p=[{label:`URL`,key:`url`,placeholder:`https://void.scalar.com`,type:`text`},{label:`Description`,key:`description`,placeholder:`Production`,type:`text`}],m=s(()=>{let e=u.value.find(e=>e.uid===i.collectionId);return d[e&&typeof i.serverUid==`string`&&i.serverUid===`default`?e.servers[0]??``:e?.servers.find(e=>e===i.serverUid)??``]});e(s(()=>m.value?.url?m.value.url.match(v.PATH)?.map(e=>e.slice(1,-1))??[]:[]),e=>{if(!m.value)return;let t=m.value.variables?{...m.value.variables}:{};Object.keys(t).forEach(n=>{e.includes(n)||delete t[n]}),e.forEach(e=>{t[e]||(t[e]={default:``})}),f.edit(m.value.uid,`variables`,t)},{immediate:!0});let g=(e,t)=>{!u.value||!m.value||f.edit(m.value.uid,e,t)},_=(e,t)=>{if(!m.value)return;let n=m.value.variables||{};n[e]={...n[e],default:t},f.edit(m.value.uid,`variables`,n)};return(e,n)=>(t(),l(`div`,{class:r([`divide-0.5 flex w-full flex-col divide-y rounded-b-lg text-sm`,m.value?.variables&&`bg-b-1`])},[m.value?(t(),l(o,{key:0},[a(O,{data:m.value,onUpdate:g,options:p},null,8,[`data`]),m.value.variables?(t(),h(E,{key:0,variables:m.value.variables,"onUpdate:variable":_},null,8,[`variables`])):c(``,!0)],64)):c(``,!0)],2))}}),A={class:`flex h-full w-full flex-col gap-12 px-1.5 pt-8`},j={class:`flex flex-col gap-4`},M={class:`rounded-lg border`},N={class:`bg-b-2 flex items-start justify-between rounded-t-lg py-1 pr-1 pl-3 text-sm`},P={key:1,class:`self-center`},F={class:`text-c-3 flex h-full items-center justify-center rounded-lg border p-4`},I=g({__name:`CollectionServers`,setup(e){let{activeCollection:r}=T(),{servers:g,events:v,serverMutators:E}=w(),O=S(),I=u(null),L=s(()=>!g||!r.value?.servers?[]:Object.values(g).filter(e=>r.value?.servers.includes(e.uid))),R=()=>v.commandPalette.emit({commandName:`Add Server`}),z=()=>{!r.value?.uid||!I.value||(E.delete(I.value,r.value.uid),O.hide())},B=e=>{I.value=e,O.show()};return(e,s)=>(t(),l(`div`,A,[p(`div`,j,[s[2]||=d(`<div class="flex items-start justify-between gap-2"><div class="flex flex-col gap-2"><div class="flex h-8 items-center"><h3 class="font-bold">Servers</h3></div><p class="text-sm"> Add different base URLs for your API. You can use <code class="font-code text-c-2">{variables}</code> for dynamic parts. </p></div></div>`,1),(t(!0),l(o,null,i(L.value,(e,i)=>(t(),l(`div`,{key:e.uid},[p(`div`,M,[p(`div`,N,[e.description?(t(),h(n(_),{key:0,class:`self-center`,value:e.description},null,8,[`value`])):(t(),l(`span`,P,`Server `+f(i+1),1)),a(n(b),{class:`hover:bg-b-3 hover:text-c-1 h-fit p-1.25`,variant:`ghost`,onClick:t=>B(e.uid)},{default:m(()=>[a(n(C),{class:`size-3.5`})]),_:1},8,[`onClick`])]),n(r)?(t(),h(k,{key:0,collectionId:n(r).uid,serverUid:e.uid},null,8,[`collectionId`,`serverUid`])):c(``,!0)])]))),128)),p(`div`,F,[a(n(b),{class:`hover:bg-b-2 hover:text-c-1 flex items-center gap-2`,size:`sm`,variant:`ghost`,onClick:R},{default:m(()=>[a(n(y),{class:`inline-flex`,icon:`Add`,size:`sm`,thickness:`1.5`}),s[1]||=p(`span`,null,`Add Server`,-1)]),_:1})])]),a(n(x),{size:`xxs`,state:n(O),title:`Delete ${I.value?n(g)[I.value]?.url:`Server`}`},{default:m(()=>[a(D,{variableName:`Server`,warningMessage:`Are you sure you want to delete this server? This action cannot be undone.`,onClose:s[0]||=e=>n(O).hide(),onDelete:z})]),_:1},8,[`state`,`title`])]))}});export{I as default};
|
package/web/assets/{CollectionSettings.vue-BNccb6p7.js → CollectionSettings.vue-CFrOwl7U.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,_i as n,ai as r,fi as i,gi as a,ka as o,li as s,ra as c,yi as l}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,_i as n,ai as r,fi as i,gi as a,ka as o,li as s,ra as c,yi as l}from"./index-D5xJxOo2.js";import{V as u,d,hn as f,n as p,r as m}from"./dist-ZJ37S89a.js";import{t as h}from"./store-CZKREOuj.js";import{i as g}from"./vue-router-uE6ClrN-.js";import{n as _,t as v}from"./active-entities-C2TbBQeI.js";import{t as y}from"./DeleteSidebarListElement.vue-CBIb58rU.js";var b={class:`flex h-full w-full flex-col gap-12 px-1.5 pt-8`},x={class:`flex flex-col gap-2`},S={class:`bg-b-2 rounded-lg border text-sm`},C={class:`bg-b-1 flex items-center justify-between gap-4 rounded-t-lg p-3`},w={class:`text-c-1 flex items-center overflow-x-auto border-t py-1.5 whitespace-nowrap`},T={class:`flex items-center`},E=[`href`],D={class:`flex flex-col gap-4`},O={class:`flex items-center justify-between rounded-lg border p-3 text-sm`},k=l({__name:`CollectionSettings`,setup(l){let{activeCollection:k,activeWorkspace:A,activeWorkspaceCollections:j}=v(),{collectionMutators:M}=h(),{replace:N}=g(),P=m();function F(){k.value&&k.value?.documentUrl&&M.edit(k.value.uid,`watchMode`,!k.value?.watchMode)}function I(){if(!k.value||!A.value)return;M.delete(k.value,A.value);let e=j.value[0];e&&N({name:`collection`,params:{[_.Workspace]:A.value.uid,[_.Collection]:e.uid}}),P.hide()}return(l,m)=>(e(),i(r,null,[s(`div`,b,[s(`div`,x,[m[5]||=s(`div`,{class:`flex h-8 items-center`},[s(`h3`,{class:`font-bold`},`Features`)],-1),s(`div`,S,[s(`div`,C,[m[2]||=s(`div`,null,[s(`h4`,null,`Watch Mode`),s(`p`,{class:`text-c-2 mt-1`},` When enabled, the OpenAPI document will be polled for changes. The collection will be updated automatically. `)],-1),n(t(d),{class:`w-4`,disabled:!t(k)?.documentUrl,modelValue:t(k)?.watchMode??!1,"onUpdate:modelValue":F},null,8,[`disabled`,`modelValue`])]),s(`div`,w,[s(`div`,T,[t(k)?.documentUrl?(e(),i(r,{key:0},[m[3]||=s(`span`,{class:`bg-b-2 sticky left-0 pr-2 pl-3`},`Source`,-1),s(`a`,{class:`text-c-2 group rounded pr-3 no-underline hover:underline`,href:t(k).documentUrl,target:`_blank`},[a(o(t(k).documentUrl)+` `,1),n(t(u),{class:`ml-1 hidden w-2.5 group-hover:inline`,icon:`ExternalLink`})],8,E)],64)):(e(),i(r,{key:1},[n(t(u),{class:`text-c-2 mr-2 ml-3 w-4`,icon:`NotAllowed`,size:`sm`}),m[4]||=s(`span`,{class:`text-c-2 pr-3`},` No URL configured. Try importing an OpenAPI document from an URL. `,-1)],64))])])])]),s(`div`,D,[m[8]||=s(`h3`,{class:`font-bold`},`Danger Zone`,-1),s(`div`,O,[m[7]||=s(`div`,null,[s(`h4`,null,`Delete Collection`),s(`p`,{class:`text-c-2 mt-1`},` Be careful, my friend. Once deleted, there is no way to recover the collection. `)],-1),n(t(f),{size:`sm`,variant:`danger`,onClick:m[0]||=e=>t(P).show()},{default:c(()=>[...m[6]||=[a(` Delete Collection `,-1)]]),_:1})])])]),n(t(p),{size:`xxs`,state:t(P),title:`Delete ${t(k)?.info?.title}`},{default:c(()=>[n(y,{variableName:t(k)?.info?.title??``,warningMessage:`This action cannot be undone.`,onClose:m[1]||=e=>t(P).hide(),onDelete:I},null,8,[`variableName`])]),_:1},8,[`state`,`title`])],64))}});export{k as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Bi as e,gi as t,ra as n,ui as r,yi as i}from"./index-D5xJxOo2.js";import"./dist-ZJ37S89a.js";import{t as a}from"./ViewLayoutSection.vue-BzJIsja7.js";var o=i({__name:`CollectionSync`,setup(i){return(i,o)=>(e(),r(a,null,{title:n(()=>[...o[0]||=[t(`Sync`,-1)]]),_:1}))}});export{o as default};
|
package/web/assets/{CommandActionInput.vue-B3M0qimk.js → CommandActionInput.vue-L7AcEf6T.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Da as n,Ii as r,Oi as i,Ui as a,_i as o,ci as s,ei as c,fi as l,gi as u,ha as d,ia as f,ki as p,li as m,ni as h,ra as g,ri as _,xi as v,yi as y}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Da as n,Ii as r,Oi as i,Ui as a,_i as o,ci as s,ei as c,fi as l,gi as u,ha as d,ia as f,ki as p,li as m,ni as h,ra as g,ri as _,xi as v,yi as y}from"./index-D5xJxOo2.js";import{_n as b,hn as x}from"./dist-ZJ37S89a.js";var S={class:`flex gap-2`},C={class:`flex max-h-8 flex-1`},w=y({__name:`CommandActionForm`,props:{loader:{},disabled:{type:Boolean,default:!1}},emits:[`submit`,`cancel`,`back`],setup(r){let{cx:i}=b();return(s,c)=>(e(),l(`form`,{class:`flex w-full flex-col gap-3`,onKeydown:c[0]||=h(_(()=>{},[`stop`]),[`enter`]),onSubmit:c[1]||=_(e=>!r.disabled&&s.$emit(`submit`),[`prevent`,`stop`])},[m(`div`,n(v(t(i)(`relative flex min-h-20 flex-col rounded`))),[a(s.$slots,`default`)],16),m(`div`,S,[m(`div`,C,[a(s.$slots,`options`)]),o(t(x),{class:`max-h-8 px-3 text-xs`,disabled:r.disabled,loader:r.loader,type:`submit`},{default:g(()=>[a(s.$slots,`submit`,{},()=>[c[2]||=u(`Continue`,-1)])]),_:3},8,[`disabled`,`loader`])])],32))}}),T=[`placeholder`],E=y({inheritAttrs:!1,__name:`CommandActionInput`,props:{modelValue:{},placeholder:{},autofocus:{type:Boolean}},emits:[`update:modelValue`,`onDelete`],setup(t,{emit:n}){let a=t,o=n,u=d(null);r(()=>p(()=>{a.autofocus&&u.value?.focus()}));let m=s({get:()=>a.modelValue??``,set:e=>o(`update:modelValue`,e)});function g(e){if(e.shiftKey||!e.target)return;e.preventDefault();let t=e.target,n=new Event(`submit`,{cancelable:!0});t.form?.dispatchEvent(n)}function _(e){m.value===``&&(e.preventDefault(),e.stopPropagation(),o(`onDelete`,e))}return(t,n)=>f((e(),l(`textarea`,i({id:`command-action-input`,ref_key:`input`,ref:u,"onUpdate:modelValue":n[0]||=e=>m.value=e,class:`min-h-8 w-full flex-1 resize-none border border-transparent py-1.5 pl-8.5 text-sm outline-none focus:border-b-1`,placeholder:a.placeholder??``,wrap:`hard`},t.$attrs,{onKeydown:[n[1]||=h(e=>_(e),[`delete`]),n[2]||=h(e=>g(e),[`enter`])]}),null,16,T)),[[c,m.value]])}});export{w as n,E as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$i as e,Bi as t,Ca as n,Hi as r,Ii as i,Mi as a,_i as o,ai as s,ci as c,fi as l,gi as u,ha as d,li as f,ra as p,ri as m,ui as h,yi as g}from"./index-
|
|
1
|
+
import{$i as e,Bi as t,Ca as n,Hi as r,Ii as i,Mi as a,_i as o,ai as s,ci as c,fi as l,gi as u,ha as d,li as f,ra as p,ri as m,ui as h,yi as g}from"./index-D5xJxOo2.js";import{n as _,r as v}from"./dist-ZJ37S89a.js";import"./dist-DBBhfLmf.js";import{t as y}from"./store-CZKREOuj.js";import{t as b}from"./_plugin-vue_export-helper-C7ztIXtE.js";import"./w3c-keyname-DDCGDLuI.js";import{i as x,r as S}from"./vue-router-uE6ClrN-.js";import"./CodeInput.vue-8aNMYCYM.js";import{n as C,t as w}from"./active-entities-C2TbBQeI.js";import{t as T}from"./Sidebar.vue-DntMEn5m.js";import{n as E}from"./dist-DeOvPbza.js";import{t as D}from"./ViewLayout.vue-C7w_U_o6.js";import{t as O}from"./ViewLayoutContent.vue-CAXM5eIo.js";import{n as k}from"./ScalarAsciiArt.vue-mk9jZSKh.js";import"./useClipboard-Bep2crMO.js";import{t as A}from"./ViewLayoutSection.vue-BzJIsja7.js";import{n as j,t as M}from"./CommandActionInput.vue-L7AcEf6T.js";import"./DataTable.vue-DYVeGQPP.js";import"./DataTableInput.vue-uPpuKzrX.js";import"./dist-BHh6fQzR.js";import"./DeleteSidebarListElement.vue-CBIb58rU.js";import{t as N}from"./Form.vue-NLXFw40d.js";import{t as P}from"./EmptyState.vue-CcnWPtfW.js";import{t as F}from"./SidebarButton.vue-DTin2zI2.js";import{n as I,t as L}from"./SidebarListElement.vue-zlfRLuE5.js";var R=g({__name:`CookieForm`,setup(e){let{activeCookieId:n}=w(),{cookies:r,cookieMutators:i}=y(),a=[{label:`Name`,key:`name`,placeholder:`session_id`},{label:`Value`,key:`value`,placeholder:`my-cookie-session-id`},{label:`Domain`,key:`domain`,placeholder:`example.com`}],o=c(()=>r[n.value]||k.parse({name:``,value:``,domain:``,path:``})),s=(e,t)=>{i.edit(n.value,e,t)};return(e,n)=>(t(),h(N,{data:o.value,onUpdate:s,options:a},null,8,[`data`]))}}),z={class:`flex h-8 items-start gap-2 text-sm`},B={class:`flex h-8 items-start gap-2 text-sm`},V={class:`flex h-8 items-start gap-2 text-sm`},H=b(g({__name:`CookieModal`,props:{state:{}},emits:[`cancel`,`submit`],setup(r,{emit:i}){let a=r,s=i,c=d({name:``,value:``,domain:``}),{toast:l}=E(),m=()=>{if(!c.value.name||!c.value.value){l(`Please fill in all fields before adding a cookie.`,`error`);return}s(`submit`,c.value),a.state.hide()};return e(()=>a.state.open,e=>{e&&(c.value={name:``,value:``,domain:``})}),(e,i)=>(t(),h(n(_),{size:`xs`,state:r.state,title:`Add Cookie`},{default:p(()=>[o(j,{disabled:!c.value.name||!c.value.value,onCancel:i[3]||=e=>s(`cancel`),onSubmit:m},{submit:p(()=>[...i[7]||=[u(`Add Cookie`,-1)]]),default:p(()=>[f(`div`,z,[i[4]||=u(` Name: `,-1),o(M,{modelValue:c.value.name,"onUpdate:modelValue":i[0]||=e=>c.value.name=e,autofocus:``,class:`!p-0`,placeholder:`session_id`},null,8,[`modelValue`])]),f(`div`,B,[i[5]||=u(` Value: `,-1),o(M,{modelValue:c.value.value,"onUpdate:modelValue":i[1]||=e=>c.value.value=e,autofocus:``,class:`!p-0`,placeholder:`my-cookie-session-id`},null,8,[`modelValue`])]),f(`div`,V,[i[6]||=u(` Domain: `,-1),o(M,{modelValue:c.value.domain,"onUpdate:modelValue":i[2]||=e=>c.value.domain=e,autofocus:``,class:`!p-0`,placeholder:`example.com`},null,8,[`modelValue`])])]),_:1},8,[`disabled`])]),_:1},8,[`state`]))}}),[[`__scopeId`,`data-v-694018d6`]]),U={class:`flex-1`},W={class:`relative mb-[.5px] last:mb-0`},G=g({__name:`Cookies`,setup(d){let{cookies:g,cookieMutators:_,events:b,workspaceMutators:E}=y(),{activeWorkspace:j,activeCookieId:M}=w(),N=x(),z=S(),B=v(),V=e=>{let t=k.parse({name:e.name,value:e.value,domain:e.domain,path:`/`});_.add(t),E.edit(j.value?.uid,`cookies`,[...j.value?.cookies??[],t.uid]),N.push({name:`cookies`,params:{cookies:t.uid}})},G=e=>{_.delete(e),E.edit(j.value?.uid,`cookies`,[...(j.value?.cookies??[]).filter(t=>t!==e)]);let t=Object.values(g).filter(t=>t.uid!==e);if(t.length>0){let e=t[t.length-1];e&&N.push(e.uid)}else N.push({name:`cookies`,params:{[C.Cookies]:`default`}})},K=()=>{B.show()},q=e=>{e?.createNew&&z.name===`cookies`&&K()},J=(e,t)=>{let n={name:`cookies`,params:{workspace:j.value?.uid??`default`,cookies:t}};if(e.metaKey){let e=N.resolve(n).href;window.open(e,`_blank`);return}N.push(n)};i(()=>b.hotKeys.on(q)),a(()=>b.hotKeys.off(q));let Y=c(()=>g[M.value]),X=c(()=>Object.keys(g).length>0&&Y.value);return e(()=>z.query.openCookieModal,e=>{e===`true`&&K()},{immediate:!0}),(e,i)=>(t(),h(D,null,{default:p(()=>[o(n(T),{title:`Cookies`},{content:p(()=>[f(`div`,U,[o(I,null,{default:p(()=>[(t(!0),l(s,null,r(Object.values(n(g)),e=>(t(),l(`li`,{key:e.uid,class:`gap-1/2 flex flex-col`},[f(`div`,W,[(t(),h(L,{key:e.uid,class:`text-xs`,isDeletable:``,to:{name:`cookies`,params:{[n(C).Cookies]:e.uid}},type:`cookies`,variable:{name:e.name,uid:e.uid},warningMessage:`Are you sure you want to delete this cookie?`,onClick:m(t=>J(t,e.uid),[`prevent`]),onDelete:t=>G(e.uid)},null,8,[`to`,`variable`,`onClick`,`onDelete`]))])]))),128))]),_:1})])]),button:p(()=>[o(F,{click:K,hotkey:`N`},{title:p(()=>[...i[1]||=[u(` Add Cookie `,-1)]]),_:1})]),_:1}),o(O,{class:`flex-1`},{default:p(()=>[X.value?(t(),h(A,{key:0,class:`*:border-b-0`},{title:p(()=>[...i[2]||=[u(`Edit Cookie`,-1)]]),default:p(()=>[o(R)]),_:1})):(t(),h(P,{key:1}))]),_:1}),o(H,{state:n(B),onCancel:i[0]||=e=>n(B).hide(),onSubmit:V},null,8,[`state`])]),_:1}))}});export{G as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Bn as t,Ca as n,Cn as r,H as i,Hi as a,Ii as ee,Ri as te,Yn as ne,_i as o,a as re,ai as s,ci as c,fi as l,gi as ie,ha as ae,ka as u,li as d,nt as oe,ra as f,ui as p,yi as m}from"./index-
|
|
1
|
+
import{Bi as e,Bn as t,Ca as n,Cn as r,H as i,Hi as a,Ii as ee,Ri as te,Yn as ne,_i as o,a as re,ai as s,ci as c,fi as l,gi as ie,ha as ae,ka as u,li as d,nt as oe,ra as f,ui as p,yi as m}from"./index-D5xJxOo2.js";import{t as se}from"./project.store-emr8mjg8.js";import{t as h}from"./tag-Dv5CaUPa.js";import{n as ce,t as g}from"./column-ChvIrUdH.js";import{t as _}from"./card-D5_gGGD-.js";var v={class:`dashboard-page`},y={class:`page-title`},b={class:`summary-grid`},x={class:`summary-content`},S={class:`summary-value`},C={class:`summary-label`},w={class:`summary-content`},T={class:`summary-value`},E={class:`summary-label`},D={class:`summary-content`},O={class:`summary-value`},k={class:`summary-label`},A={class:`summary-content`},j={class:`summary-value`},M={class:`summary-label`},N={class:`dashboard-section`},P={class:`section-title`},le={key:0,class:`empty-message`},F={key:1,class:`project-cards`},I={class:`project-description`},L={class:`project-meta`},R={class:`dashboard-section`},z={class:`section-title`},B={key:0,class:`empty-message`},V={key:1,class:`agent-list`},H={class:`agent-name`},U={class:`dashboard-section`},W={class:`section-title`},ue={key:0,class:`empty-message`},G=r(m({__name:`DashboardPage`,setup(r){let{t:m}=ne(),G=t(),K=se(),q=i(),J=re(),Y=oe(),X=ae(Date.now()),Z=null;ee(async()=>{await Promise.all([K.fetchAll(),q.fetchAll(),J.fetchAll(),Y.fetchAll()]),Z=setInterval(()=>{X.value=Date.now()},1e3)}),te(()=>{Z&&clearInterval(Z)});let Q=c(()=>[...K.projects].slice(0,5)),$=c(()=>J.runningProcesses.map(e=>{let t=Y.getById(e.serviceId),n=q.agents.find(t=>t.config.id===e.agentId),r=e.uptime;if(e.startedAt){let t=new Date(e.startedAt).getTime();r=Math.max(0,X.value-t)}let i=r/1e3;return{...e,serviceName:t?.name??e.serviceId,agentName:n?.config.name??e.agentId,uptimeFormatted:de(i)}}));function de(e){return e==null?`-`:e<60?`${Math.floor(e)}s`:e<3600?`${Math.floor(e/60)}m`:`${Math.floor(e/3600)}h ${Math.floor(e%3600/60)}m`}function fe(e){G.push(`/projects/${e}`)}return(t,r)=>(e(),l(`div`,v,[d(`h1`,y,u(n(m)(`dashboard.title`)),1),d(`div`,b,[o(n(_),{class:`summary-card`},{content:f(()=>[d(`div`,x,[r[0]||=d(`i`,{class:`pi pi-folder summary-icon`},null,-1),d(`div`,null,[d(`div`,S,u(n(K).projectCount),1),d(`div`,C,u(n(m)(`dashboard.projects`)),1)])])]),_:1}),o(n(_),{class:`summary-card`},{content:f(()=>[d(`div`,w,[r[1]||=d(`i`,{class:`pi pi-list summary-icon`},null,-1),d(`div`,null,[d(`div`,T,u(n(Y).serviceCount),1),d(`div`,E,u(n(m)(`dashboard.services`)),1)])])]),_:1}),o(n(_),{class:`summary-card`},{content:f(()=>[d(`div`,D,[r[2]||=d(`i`,{class:`pi pi-server summary-icon`},null,-1),d(`div`,null,[d(`div`,O,u(n(q).connectedAgents.length),1),d(`div`,k,u(n(m)(`dashboard.agentsConnected`)),1)])])]),_:1}),o(n(_),{class:`summary-card`},{content:f(()=>[d(`div`,A,[r[3]||=d(`i`,{class:`pi pi-play summary-icon`},null,-1),d(`div`,null,[d(`div`,j,u(n(J).runningProcesses.length),1),d(`div`,M,u(n(m)(`dashboard.runningProcesses`)),1)])])]),_:1})]),d(`section`,N,[d(`h2`,P,u(n(m)(`dashboard.projects`)),1),Q.value.length===0?(e(),l(`div`,le,u(n(m)(`dashboard.noProjects`)),1)):(e(),l(`div`,F,[(e(!0),l(s,null,a(Q.value,t=>(e(),p(n(_),{key:t.id,class:`project-card`,onClick:e=>fe(t.id)},{title:f(()=>[ie(u(t.name),1)]),content:f(()=>[d(`p`,I,u(t.description||n(m)(`dashboard.noDescription`)),1),d(`div`,L,[o(n(h),{value:`${t.serviceIds.length} ${t.serviceIds.length===1?n(m)(`dashboard.service`):n(m)(`dashboard.services_plural`)}`,severity:`info`},null,8,[`value`])])]),_:2},1032,[`onClick`]))),128))]))]),d(`section`,R,[d(`h2`,z,u(n(m)(`dashboard.agentStatus`)),1),n(q).agents.length===0?(e(),l(`div`,B,u(n(m)(`dashboard.noAgents`)),1)):(e(),l(`div`,V,[(e(!0),l(s,null,a(n(q).agents,t=>(e(),l(`div`,{key:t.config.id,class:`agent-item`},[d(`span`,H,u(t.config.name),1),o(n(h),{value:t.status.connected?n(m)(`dashboard.connected`):n(m)(`dashboard.disconnected`),severity:t.status.connected?`success`:`danger`},null,8,[`value`,`severity`])]))),128))]))]),d(`section`,U,[d(`h2`,W,u(n(m)(`dashboard.runningProcesses`)),1),$.value.length===0?(e(),l(`div`,ue,u(n(m)(`dashboard.noProcesses`)),1)):(e(),p(n(ce),{key:1,value:$.value,"striped-rows":``,size:`small`,paginator:!0,rows:10,"rows-per-page-options":[5,10,20]},{default:f(()=>[o(n(g),{field:`serviceName`,header:n(m)(`dashboard.serviceColumn`)},null,8,[`header`]),o(n(g),{field:`agentName`,header:n(m)(`dashboard.agentColumn`)},null,8,[`header`]),o(n(g),{field:`state`,header:n(m)(`dashboard.stateColumn`)},{body:f(({data:e})=>[o(n(h),{value:e.state,severity:`success`},null,8,[`value`])]),_:1},8,[`header`]),o(n(g),{field:`uptimeFormatted`,header:n(m)(`dashboard.uptimeColumn`)},null,8,[`header`])]),_:1},8,[`value`]))])]))}}),[[`__scopeId`,`data-v-67101356`]]);export{G as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Da as n,Ea as r,Ki as i,Oa as a,Oi as o,Ui as s,di as c,fi as l,li as u,ra as d,ui as f,xi as p,yi as m}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Da as n,Ea as r,Ki as i,Oa as a,Oi as o,Ui as s,di as c,fi as l,li as u,ra as d,ui as f,xi as p,yi as m}from"./index-D5xJxOo2.js";import{_n as h}from"./dist-ZJ37S89a.js";import{t as g}from"./_plugin-vue_export-helper-C7ztIXtE.js";var _=m({inheritAttrs:!1,__name:`DataTableCell`,props:{is:{default:`td`}},setup(n){let{cx:r}=h();return(a,c)=>(e(),f(i(n.is),o(t(r)(`box-content max-h-8 min-h-8 min-w-8 border-l-0 border-t border-b-0 border-r flex text-base last:border-r-0 group-last:border-b-transparent p-0 m-0 relative`),{class:`group-[.alert]:bg-b-alert group-[.error]:bg-b-danger`}),{default:d(()=>[s(a.$slots,`default`)]),_:3},16))}}),v={},y={class:`group contents`};function b(t,n){return e(),l(`tr`,y,[s(t.$slots,`default`)])}var x=g(v,[[`render`,b]]),S=[`role`],C={key:0,class:`sr-only`},w=m({__name:`DataTable`,props:{columns:{},scroll:{type:Boolean},presentational:{type:Boolean}},setup(i){let{cx:o}=h();return(d,f)=>(e(),l(`div`,n(p(t(o)(i.scroll?`overflow-x-auto custom-scroll`:`overflow-visible`,`scalar-data-table`))),[u(`table`,{class:r([`mb-0 grid min-h-8 auto-rows-auto`,{"w-max min-w-full":i.scroll}]),role:i.presentational?`presentation`:`table`,style:a({gridTemplateColumns:i.columns.map(e=>e||`1fr`).join(` `)})},[d.$slots.caption?(e(),l(`caption`,C,[s(d.$slots,`caption`)])):c(``,!0),s(d.$slots,`default`)],14,S)],16))}});export{x as n,_ as r,w as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Ea as n,Ii as r,Ri as i,Vi as a,_i as o,ci as s,ea as c,ha as l,li as u,ra as d,ui as f,wi as p,yi as m}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Ea as n,Ii as r,Ri as i,Vi as a,_i as o,ci as s,ea as c,ha as l,li as u,ra as d,ui as f,wi as p,yi as m}from"./index-D5xJxOo2.js";import{V as h,vn as g}from"./dist-ZJ37S89a.js";import{c as _,i as v,n as y,o as b,s as x,t as S}from"./keyboard-BzTLpobK.js";import{r as C}from"./DataTable.vue-DYVeGQPP.js";function w(e,t){if(e)return e;let n=t??`button`;if(typeof n==`string`&&n.toLowerCase()===`button`)return`button`}function T(e,t){let n=l(w(e.value.type,e.value.as));return r(()=>{n.value=w(e.value.type,e.value.as)}),c(()=>{var e;n.value||x(t)&&x(t)instanceof HTMLButtonElement&&!((e=x(t))!=null&&e.hasAttribute(`type`))&&(n.value=`button`)}),n}var E=Symbol(`Context`),D=(e=>(e[e.Open=1]=`Open`,e[e.Closed=2]=`Closed`,e[e.Closing=4]=`Closing`,e[e.Opening=8]=`Opening`,e))(D||{});function O(){return p(E,null)}function k(e){a(E,e)}var A=(e=>(e[e.Open=0]=`Open`,e[e.Closed=1]=`Closed`,e))(A||{}),j=Symbol(`DisclosureContext`);function M(e){let t=p(j,null);if(t===null){let t=Error(`<${e} /> is missing a parent <Disclosure /> component.`);throw Error.captureStackTrace&&Error.captureStackTrace(t,M),t}return t}var N=Symbol(`DisclosurePanelContext`);function P(){return p(N,null)}var F=m({name:`Disclosure`,props:{as:{type:[Object,String],default:`template`},defaultOpen:{type:[Boolean],default:!1}},setup(e,{slots:t,attrs:n}){let r=l(e.defaultOpen?0:1),i=l(null),o=l(null),c={buttonId:l(`headlessui-disclosure-button-${_()}`),panelId:l(`headlessui-disclosure-panel-${_()}`),disclosureState:r,panel:i,button:o,toggleDisclosure(){r.value=b(r.value,{0:1,1:0})},closeDisclosure(){r.value!==1&&(r.value=1)},close(e){c.closeDisclosure(),(()=>e?e instanceof HTMLElement?e:e.value instanceof HTMLElement?x(e):x(c.button):x(c.button))()?.focus()}};return a(j,c),k(s(()=>b(r.value,{0:D.Open,1:D.Closed}))),()=>{let{defaultOpen:i,...a}=e;return y({theirProps:a,ourProps:{},slot:{open:r.value===0,close:c.close},slots:t,attrs:n,name:`Disclosure`})}}}),I=m({name:`DisclosureButton`,props:{as:{type:[Object,String],default:`button`},disabled:{type:[Boolean],default:!1},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:a}){let o=M(`DisclosureButton`),u=P(),d=s(()=>u===null?!1:u.value===o.panelId.value);r(()=>{d.value||e.id!==null&&(o.buttonId.value=e.id)}),i(()=>{d.value||(o.buttonId.value=null)});let f=l(null);a({el:f,$el:f}),d.value||c(()=>{o.button.value=f.value});let p=T(s(()=>({as:e.as,type:t.type})),f);function m(){var t;e.disabled||(d.value?(o.toggleDisclosure(),(t=x(o.button))==null||t.focus()):o.toggleDisclosure())}function h(t){var n;if(!e.disabled)if(d.value)switch(t.key){case S.Space:case S.Enter:t.preventDefault(),t.stopPropagation(),o.toggleDisclosure(),(n=x(o.button))==null||n.focus();break}else switch(t.key){case S.Space:case S.Enter:t.preventDefault(),t.stopPropagation(),o.toggleDisclosure();break}}function g(e){switch(e.key){case S.Space:e.preventDefault();break}}return()=>{let r={open:o.disclosureState.value===0},{id:i,...a}=e;return y({ourProps:d.value?{ref:f,type:p.value,onClick:m,onKeydown:h}:{id:o.buttonId.value??i,ref:f,type:p.value,"aria-expanded":o.disclosureState.value===0,"aria-controls":o.disclosureState.value===0||x(o.panel)?o.panelId.value:void 0,disabled:e.disabled?!0:void 0,onClick:m,onKeydown:h,onKeyup:g},theirProps:a,slot:r,attrs:t,slots:n,name:`DisclosureButton`})}}}),L=m({name:`DisclosurePanel`,props:{as:{type:[Object,String],default:`div`},static:{type:Boolean,default:!1},unmount:{type:Boolean,default:!0},id:{type:String,default:null}},setup(e,{attrs:t,slots:n,expose:o}){let c=M(`DisclosurePanel`);r(()=>{e.id!==null&&(c.panelId.value=e.id)}),i(()=>{c.panelId.value=null}),o({el:c.panel,$el:c.panel}),a(N,c.panelId);let l=O(),u=s(()=>l===null?c.disclosureState.value===0:(l.value&D.Open)===D.Open);return()=>{let r={open:c.disclosureState.value===0,close:c.close},{id:i,...a}=e;return y({ourProps:{id:c.panelId.value??i,ref:c.panel},theirProps:a,slot:r,attrs:t,slots:n,features:v.RenderStrategy|v.Static,visible:u.value,name:`DisclosurePanel`})}}}),R=[`checked`,`disabled`],z=m({__name:`DataTableCheckbox`,props:{modelValue:{type:Boolean},disabled:{type:Boolean},align:{default:`center`}},emits:[`update:modelValue`],setup(r){let i=g({base:`w-8 h-8 flex items-center justify-center text-border peer-checked:text-c-1 pointer-events-none absolute`,variants:{align:{left:`left-0`,center:`centered`}}});return(a,s)=>(e(),f(C,{class:`group/cell relative flex min-w-8`},{default:d(()=>[u(`input`,{checked:r.modelValue,class:`peer absolute inset-0 size-full cursor-pointer opacity-0 disabled:cursor-default`,disabled:!!r.disabled,type:`checkbox`,onChange:s[0]||=e=>a.$emit(`update:modelValue`,e.target.checked)},null,40,R),u(`div`,{class:n(t(i)({align:r.align}))},[u(`div`,{class:n([`absolute m-auto size-3/4 rounded border-[1px] opacity-0`,!r.disabled&&`group-has-[:focus-visible]/cell:border-c-accent group-hover/cell:opacity-100 group-has-[:focus-visible]/cell:opacity-100`])},null,2),o(t(h),{icon:`Checkmark`,size:`xs`,thickness:`2.5`})],2)]),_:1}))}});export{D as a,T as c,L as i,F as n,O as o,I as r,k as s,z as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Oi as n,Ui as r,di as i,fi as a,li as o,ra as s,ui as c,yi as l}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Oi as n,Ui as r,di as i,fi as a,li as o,ra as s,ui as c,yi as l}from"./index-D5xJxOo2.js";import{_n as u,un as d}from"./dist-ZJ37S89a.js";import{r as f}from"./DataTable.vue-DYVeGQPP.js";var p={key:0},m={key:1},h={key:2},g={key:3},_={key:4},v={key:5},y=l({name:`ScalarIconWarning`,props:{label:{},weight:{}},setup(s){let{bind:c,weight:l}=d(s);return(s,u)=>(e(),a(`svg`,n({xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 256 256`,fill:`currentColor`},t(c)),[r(s.$slots,`default`),t(l)===`bold`?(e(),a(`g`,p,[...u[0]||=[o(`path`,{d:`M240.26,186.1,152.81,34.23h0a28.74,28.74,0,0,0-49.62,0L15.74,186.1a27.45,27.45,0,0,0,0,27.71A28.31,28.31,0,0,0,40.55,228h174.9a28.31,28.31,0,0,0,24.79-14.19A27.45,27.45,0,0,0,240.26,186.1Zm-20.8,15.7a4.46,4.46,0,0,1-4,2.2H40.55a4.46,4.46,0,0,1-4-2.2,3.56,3.56,0,0,1,0-3.73L124,46.2a4.77,4.77,0,0,1,8,0l87.44,151.87A3.56,3.56,0,0,1,219.46,201.8ZM116,136V104a12,12,0,0,1,24,0v32a12,12,0,0,1-24,0Zm28,40a16,16,0,1,1-16-16A16,16,0,0,1,144,176Z`},null,-1)]])):t(l)===`duotone`?(e(),a(`g`,m,[...u[1]||=[o(`path`,{d:`M215.46,216H40.54C27.92,216,20,202.79,26.13,192.09L113.59,40.22c6.3-11,22.52-11,28.82,0l87.46,151.87C236,202.79,228.08,216,215.46,216Z`,opacity:`0.2`},null,-1),o(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`},null,-1)]])):t(l)===`fill`?(e(),a(`g`,h,[...u[2]||=[o(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM120,104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm8,88a12,12,0,1,1,12-12A12,12,0,0,1,128,192Z`},null,-1)]])):t(l)===`light`?(e(),a(`g`,g,[...u[3]||=[o(`path`,{d:`M235.07,189.09,147.61,37.22h0a22.75,22.75,0,0,0-39.22,0L20.93,189.09a21.53,21.53,0,0,0,0,21.72A22.35,22.35,0,0,0,40.55,222h174.9a22.35,22.35,0,0,0,19.6-11.19A21.53,21.53,0,0,0,235.07,189.09ZM224.66,204.8a10.46,10.46,0,0,1-9.21,5.2H40.55a10.46,10.46,0,0,1-9.21-5.2,9.51,9.51,0,0,1,0-9.72L118.79,43.21a10.75,10.75,0,0,1,18.42,0l87.46,151.87A9.51,9.51,0,0,1,224.66,204.8ZM122,144V104a6,6,0,0,1,12,0v40a6,6,0,0,1-12,0Zm16,36a10,10,0,1,1-10-10A10,10,0,0,1,138,180Z`},null,-1)]])):t(l)===`regular`?(e(),a(`g`,_,[...u[4]||=[o(`path`,{d:`M236.8,188.09,149.35,36.22h0a24.76,24.76,0,0,0-42.7,0L19.2,188.09a23.51,23.51,0,0,0,0,23.72A24.35,24.35,0,0,0,40.55,224h174.9a24.35,24.35,0,0,0,21.33-12.19A23.51,23.51,0,0,0,236.8,188.09ZM222.93,203.8a8.5,8.5,0,0,1-7.48,4.2H40.55a8.5,8.5,0,0,1-7.48-4.2,7.59,7.59,0,0,1,0-7.72L120.52,44.21a8.75,8.75,0,0,1,15,0l87.45,151.87A7.59,7.59,0,0,1,222.93,203.8ZM120,144V104a8,8,0,0,1,16,0v40a8,8,0,0,1-16,0Zm20,36a12,12,0,1,1-12-12A12,12,0,0,1,140,180Z`},null,-1)]])):t(l)===`thin`?(e(),a(`g`,v,[...u[5]||=[o(`path`,{d:`M233.34,190.09,145.88,38.22h0a20.75,20.75,0,0,0-35.76,0L22.66,190.09a19.52,19.52,0,0,0,0,19.71A20.36,20.36,0,0,0,40.54,220H215.46a20.36,20.36,0,0,0,17.86-10.2A19.52,19.52,0,0,0,233.34,190.09ZM226.4,205.8a12.47,12.47,0,0,1-10.94,6.2H40.54a12.47,12.47,0,0,1-10.94-6.2,11.45,11.45,0,0,1,0-11.72L117.05,42.21a12.76,12.76,0,0,1,21.9,0L226.4,194.08A11.45,11.45,0,0,1,226.4,205.8ZM124,144V104a4,4,0,0,1,8,0v40a4,4,0,0,1-8,0Zm12,36a8,8,0,1,1-8-8A8,8,0,0,1,136,180Z`},null,-1)]])):i(``,!0)],16))}}),b=l({__name:`DataTableHeader`,setup(i){let{cx:a}=u();return(i,o)=>(e(),c(f,n({is:`th`},t(a)(`items-center font-medium px-2 min-w-0 -outline-offset-1`)),{default:s(()=>[r(i.$slots,`default`)]),_:3},16))}});export{y as n,b as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Ea as n,Oi as r,Ui as i,ai as a,ci as o,di as s,fi as c,gi as l,ha as u,li as d,ra as f,ui as p,yi as m}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Ea as n,Oi as r,Ui as i,ai as a,ci as o,di as s,fi as c,gi as l,ha as u,li as d,ra as f,ui as p,yi as m}from"./index-D5xJxOo2.js";import{B as h,tn as g}from"./dist-ZJ37S89a.js";import{n as _,t as v}from"./ScalarIconEyeSlash.vue-DWKhR_BX.js";import{t as y}from"./_plugin-vue_export-helper-C7ztIXtE.js";import{n as b,t as x}from"./CodeInput.vue-8aNMYCYM.js";import{r as S}from"./DataTable.vue-DYVeGQPP.js";var C=[`for`],w={class:`relative flex min-w-0 flex-1`},T=[`readOnly`,`type`,`value`],E={key:1,class:`centered-y text-orange absolute right-7 text-xs`},D=y(m({inheritAttrs:!1,__name:`DataTableInput`,props:{id:{},type:{},containerClass:{},required:{type:Boolean,default:!1},modelValue:{},canAddCustomEnumValue:{type:Boolean,default:!0},readOnly:{type:Boolean,default:!1},enum:{},min:{},max:{},environment:{},envVariables:{},description:{},lineWrapping:{type:Boolean,default:!1}},emits:[`update:modelValue`,`inputFocus`,`inputBlur`,`selectVariable`],setup(m,{emit:y}){let D=m,O=y,k=u(!0),A=u(!1),j=u(null),M=()=>{A.value||O(`inputBlur`)},N=o(()=>D.type===`password`?`text`:D.type??`text`),P=()=>{!D.enum?.length&&!D.readOnly&&j.value?.focus()};return(o,u)=>(e(),p(S,{class:n([`relative flex`,m.containerClass])},{default:f(()=>[o.$slots.default?(e(),c(`div`,{key:0,class:`text-c-1 flex items-center pr-0 pl-3`,for:m.id??``,onClick:P},[i(o.$slots,`default`,{},void 0,!0),u[6]||=l(`: `,-1)],8,C)):s(``,!0),d(`div`,w,[D.enum&&D.enum.length?(e(),p(b,{key:0,canAddCustomValue:D.canAddCustomEnumValue,modelValue:D.modelValue,value:D.enum,"onUpdate:modelValue":u[0]||=e=>O(`update:modelValue`,e)},null,8,[`canAddCustomValue`,`modelValue`,`value`])):(e(),c(a,{key:1},[k.value&&m.type===`password`?(e(),c(`input`,r({key:0},m.id?{...o.$attrs,id:m.id}:o.$attrs,{autocomplete:`off`,class:[`text-c-1 disabled:text-c-2 peer w-full min-w-0 border-none px-2 py-1.25 -outline-offset-1`,{"scalar-password-input":m.type===`password`}],"data-1p-ignore":``,readOnly:m.readOnly,spellcheck:`false`,type:N.value,value:m.modelValue,onInput:u[1]||=e=>O(`update:modelValue`,e.target.value??``)}),null,16,T)):(e(),p(x,r({key:1},o.$attrs,{id:m.id,ref_key:`codeInput`,ref:j,class:[`text-c-1 disabled:text-c-2 peer w-full min-w-0 border-none -outline-offset-1`,[m.type===`password`&&m.description&&`pr-12`,m.description&&`pr-8`,m.type===`password`&&`scalar-password-input`]],description:m.description,disableCloseBrackets:``,disableTabIndent:``,envVariables:m.envVariables,environment:m.environment,lineWrapping:!!m.lineWrapping,max:m.max,min:m.min,modelValue:m.modelValue??``,readOnly:m.readOnly,required:!!m.required,spellcheck:`false`,type:N.value,onBlur:M,onFocus:u[2]||=e=>O(`inputFocus`),"onUpdate:modelValue":u[3]||=e=>O(`update:modelValue`,e)}),null,16,[`id`,`class`,`description`,`envVariables`,`environment`,`lineWrapping`,`max`,`min`,`modelValue`,`readOnly`,`required`,`type`]))],64))]),o.$slots.warning?(e(),c(`div`,E,[i(o.$slots,`warning`,{},void 0,!0)])):s(``,!0),i(o.$slots,`icon`,{},void 0,!0),m.modelValue?(e(),p(t(h),{key:2,class:`-ml-.25 h-6 w-6 self-center p-1.25`,icon:t(g),label:`Clear Value`,onClick:u[4]||=e=>O(`update:modelValue`,``)},null,8,[`icon`])):s(``,!0),m.type===`password`?(e(),p(t(h),{key:3,class:`-ml-.5 mr-1.25 h-6 w-6 self-center p-1.25`,icon:k.value?t(_):t(v),label:k.value?`Show Password`:`Hide Password`,onClick:u[5]||=e=>k.value=!k.value},null,8,[`icon`,`label`])):s(``,!0)]),_:3},8,[`class`]))}}),[[`__scopeId`,`data-v-c1a50a6e`]]);export{D as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,Ui as n,_i as r,ci as i,di as a,fi as o,gi as s,ka as c,li as l,ra as u,ri as d,ui as f,yi as p}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,Ui as n,_i as r,ci as i,di as a,fi as o,gi as s,ka as c,li as l,ra as u,ri as d,ui as f,yi as p}from"./index-D5xJxOo2.js";import{hn as m}from"./dist-ZJ37S89a.js";var h={class:`flex justify-between gap-10`},g=p({__name:`SidebarListElementForm`,props:{danger:{type:Boolean},label:{}},emits:[`cancel`,`submit`],setup(i,{emit:a}){let f=a;return(a,p)=>(e(),o(`form`,{class:`flex flex-col gap-4 text-base`,onSubmit:p[1]||=d(e=>f(`submit`),[`prevent`])},[n(a.$slots,`default`),l(`div`,h,[r(t(m),{size:`sm`,type:`button`,variant:`outlined`,onClick:p[0]||=e=>f(`cancel`)},{default:u(()=>[...p[2]||=[s(` Cancel `,-1)]]),_:1}),r(t(m),{"data-testid":`sidebar-list-element-form-submit-button`,size:`sm`,type:`submit`,variant:i.danger?`danger`:`solid`},{default:u(()=>[s(c(i.label??`Save`),1)]),_:1},8,[`variant`])])],32))}}),_={key:0,class:`text-c-2 text-sm leading-normal text-pretty`},v=p({__name:`DeleteSidebarListElement`,props:{variableName:{},warningMessage:{}},emits:[`close`,`delete`],setup(t,{emit:n}){let r=t,s=n,l=i(()=>r.variableName.length>18?r.variableName.slice(0,18)+`…`:r.variableName);return(n,r)=>(e(),f(g,{danger:``,label:`Delete ${l.value}`,onCancel:r[0]||=e=>s(`close`),onSubmit:r[1]||=e=>s(`delete`)},{default:u(()=>[t.warningMessage?(e(),o(`p`,_,c(t.warningMessage),1)):a(``,!0)]),_:1},8,[`label`]))}});export{g as n,v as t};
|
package/web/assets/{EditSidebarListElement.vue-CCE5jAED.js → EditSidebarListElement.vue-DqTVSZtI.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Bi as e,Ca as t,_i as n,ha as r,ra as i,ui as a,yi as o}from"./index-
|
|
1
|
+
import{Bi as e,Ca as t,_i as n,ha as r,ra as i,ui as a,yi as o}from"./index-D5xJxOo2.js";import{m as s}from"./dist-ZJ37S89a.js";import{n as c}from"./DeleteSidebarListElement.vue-CBIb58rU.js";var l=o({__name:`EditSidebarListElement`,props:{name:{}},emits:[`close`,`edit`],setup(o,{emit:l}){let u=o,d=l,f=r(u.name);return(r,o)=>(e(),a(c,{onCancel:o[1]||=e=>d(`close`),onSubmit:o[2]||=e=>d(`edit`,f.value)},{default:i(()=>[n(t(s),{modelValue:f.value,"onUpdate:modelValue":o[0]||=e=>f.value=e,autofocus:``},null,8,[`modelValue`])]),_:1}))}});export{l as t};
|