@runeya/runeya 2.0.145 → 2.0.146

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.
Files changed (116) hide show
  1. package/agent/index.js +26 -21
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-R7BPQO6D.js +11 -0
  4. package/{chat-XYCHMTFE.js → chat-LPML22J5.js} +8 -7
  5. package/{chunk-NCO4OOYT.js → chunk-4LJQIQMN.js} +2 -2
  6. package/chunk-6IBPK6UE.js +1063 -0
  7. package/chunk-6IBPK6UE.js.map +1 -0
  8. package/{chunk-QF56Z6LI.js → chunk-KV4GJKXU.js} +3 -3
  9. package/{chunk-FE53XX4M.js → chunk-NPMSBYXC.js} +3 -3
  10. package/{chunk-ONVAH65J.js → chunk-SEPAURTQ.js} +283 -1266
  11. package/chunk-SEPAURTQ.js.map +1 -0
  12. package/{chunk-Q4RPY3VW.js → chunk-UD42LACH.js} +25 -11
  13. package/{chunk-Q4RPY3VW.js.map → chunk-UD42LACH.js.map} +1 -1
  14. package/{chunk-KS7A5CTW.js → chunk-VPSQJOSN.js} +12 -2
  15. package/{chunk-KS7A5CTW.js.map → chunk-VPSQJOSN.js.map} +1 -1
  16. package/{companion-HBYSY2D5.js → companion-W3UMZWGH.js} +5 -5
  17. package/external-NMKQPROK.js +387 -0
  18. package/external-NMKQPROK.js.map +1 -0
  19. package/index.js +15 -6
  20. package/index.js.map +1 -1
  21. package/{install-gate-JAEK4BDZ.js → install-gate-PVMGJDWE.js} +2 -2
  22. package/mcp-server/external.d.ts +44 -0
  23. package/mcp-server/external.js +2679 -0
  24. package/mcp-server/external.js.map +1 -0
  25. package/mcp-server/index.js +135 -39
  26. package/mcp-server/index.js.map +1 -1
  27. package/mcp-server/launch.d.ts +19 -1
  28. package/mcp-server/launch.js +20 -0
  29. package/mcp-server/launch.js.map +1 -1
  30. package/package.json +1 -1
  31. package/settings-manager-XPLBO35P.js +10 -0
  32. package/{src-IODFUZ7A.js → src-LEDGW5KP.js} +951 -499
  33. package/src-LEDGW5KP.js.map +1 -0
  34. package/{vault-resolver-PN3TYCLJ.js → vault-resolver-E7KPKA5C.js} +2 -2
  35. package/web/assets/{AgentScalarChatInterface.vue-npQgDxeP.js → AgentScalarChatInterface.vue-BYszptaB.js} +1 -1
  36. package/web/assets/{AgentTerminalPage-BTH3yCS2.js → AgentTerminalPage-C3TJ1NL9.js} +1 -1
  37. package/web/assets/{AiChatModals-It9jnB26.js → AiChatModals-D3scRE3S.js} +1 -1
  38. package/web/assets/{AppLayout-BTg2CADo.js → AppLayout-BMQUjPKe.js} +1 -1
  39. package/web/assets/{AuditPage-2PKKGLZs.js → AuditPage-CKcExBws.js} +1 -1
  40. package/web/assets/{CloudAccountPage-CHL61gLe.js → CloudAccountPage-B6oPg0BZ.js} +1 -1
  41. package/web/assets/{CloudMessagingPage-cgKnABPH.js → CloudMessagingPage-C5fwVe-F.js} +1 -1
  42. package/web/assets/{DashboardPage-CRntTMKY.js → DashboardPage-9RV7sx3e.js} +1 -1
  43. package/web/assets/{DirectoryPickerDialog-DCyhT3-W.js → DirectoryPickerDialog-C06BXyfJ.js} +1 -1
  44. package/web/assets/{EnvironmentForm-C96PFWRE.js → EnvironmentForm-CAvDoira.js} +1 -1
  45. package/web/assets/{EnvironmentFormPage-ChorAd63.js → EnvironmentFormPage-BmAxhN-m.js} +1 -1
  46. package/web/assets/{EnvironmentListPage-Dw9ziaI8.js → EnvironmentListPage-B8uATPBI.js} +1 -1
  47. package/web/assets/{KanbanBoardPage-BZHbEj-q.js → KanbanBoardPage-CQsOkRUf.js} +3 -3
  48. package/web/assets/{KanbanListPage-B0jlfKqs.js → KanbanListPage-CWZqkjD6.js} +1 -1
  49. package/web/assets/{LaunchProjectPage-BVs1JwbV.js → LaunchProjectPage-saSmC7Pr.js} +1 -1
  50. package/web/assets/{LaunchServicesPage-PBYJly9N.js → LaunchServicesPage-BkKyLMEz.js} +1 -1
  51. package/web/assets/{LaunchShell-CGNYr-do.js → LaunchShell-DUrSunB4.js} +1 -1
  52. package/web/assets/{LogViewer-BDObx29F.js → LogViewer-CZBYkH9J.js} +1 -1
  53. package/web/assets/{OrgKeyPrompt-BbcwiwGw.js → OrgKeyPrompt-DzQ7pwbs.js} +1 -1
  54. package/web/assets/{ProcessControls-DY0HTKde.js → ProcessControls-BEeoNlNV.js} +1 -1
  55. package/web/assets/{ProcessDetailPage-BZ9kIQqn.js → ProcessDetailPage-CQgu5uKm.js} +1 -1
  56. package/web/assets/{ProjectCreateDialog-C1wVDPcK.js → ProjectCreateDialog-BolrhRD-.js} +1 -1
  57. package/web/assets/{ProjectLocationGate-bUd_tFpI.js → ProjectLocationGate-DhMVdIjN.js} +1 -1
  58. package/web/assets/{ProjectPublishDialog-APUS1WEN.js → ProjectPublishDialog-DsZNWrfz.js} +1 -1
  59. package/web/assets/{RandomJobTestPage-BFNC827R.js → RandomJobTestPage-BUS2Ty6-.js} +1 -1
  60. package/web/assets/{ScenarioEditorPage-DFVsMVu5.js → ScenarioEditorPage-MIAGh2us.js} +1 -1
  61. package/web/assets/{SendToChatDialog-QHIkxNio.js → SendToChatDialog-BxWsyv29.js} +1 -1
  62. package/web/assets/{ServiceControlsBar-_UQXb6g0.js → ServiceControlsBar-DqDPAZt7.js} +1 -1
  63. package/web/assets/{ServiceDetailPage-DGIXgHwR.js → ServiceDetailPage-hkSAzZ-l.js} +1 -1
  64. package/web/assets/{ServiceFormPage-RliAfS3_.js → ServiceFormPage-DXqhqXg8.js} +1 -1
  65. package/web/assets/SettingsPage-4pKUgKPm.css +1 -0
  66. package/web/assets/SettingsPage-DS2YhMIM.js +2086 -0
  67. package/web/assets/{UnlockPage-17EgfpJs.js → UnlockPage-s8SgVcKk.js} +1 -1
  68. package/web/assets/{VaultMigrationPage-DeMxpXXJ.js → VaultMigrationPage-s0b44MDM.js} +1 -1
  69. package/web/assets/{VersionBadge-DBquJl76.js → VersionBadge-BmArk24p.js} +1 -1
  70. package/web/assets/{WikiPage-GtwpJPqf.js → WikiPage-DADu8WUA.js} +1 -1
  71. package/web/assets/{WikiView-BqaqxMxW.js → WikiView-DtGwIt_Q.js} +1 -1
  72. package/web/assets/{add-scalar-classes-DhSSqZ5l.js → add-scalar-classes-dWEWPlFD.js} +1 -1
  73. package/web/assets/{agent.store-Co44dMZf.js → agent.store-CKLAkF9a.js} +1 -1
  74. package/web/assets/{auth-Bk1GP5sB.js → auth-Cg9BWTfK.js} +2 -2
  75. package/web/assets/{cloud-chat.store-CadB14dZ.js → cloud-chat.store-b-BHGz7I.js} +1 -1
  76. package/web/assets/{cloud-client-0zD_NI6q.js → cloud-client-D_zCiW0s.js} +2 -2
  77. package/web/assets/{cloud-session-Cjw54Y--.js → cloud-session-DOaDpZTy.js} +2 -2
  78. package/web/assets/{editor.store-DmM6ZlTm.js → editor.store-DCAZSeVG.js} +1 -1
  79. package/web/assets/i18n-D0afQEGs.js +1 -0
  80. package/web/assets/{index-B9DJf2V0.js → index-D8VRbyoP.js} +36 -36
  81. package/web/assets/index-DsezNbSM.css +1 -0
  82. package/web/assets/{modal-UK8xRSnh.js → modal-qYgTMkYb.js} +1 -1
  83. package/web/assets/{project-launch.store-B5nhdGdh.js → project-launch.store-y7JBMNiE.js} +1 -1
  84. package/web/assets/{project.store-Bm2JWNbd.js → project.store-DGJr0Qr9.js} +1 -1
  85. package/web/assets/{scenario.store-88w6P6s2.js → scenario.store-YWHL2_wu.js} +3 -3
  86. package/web/assets/{service.store-XS50iGKo.js → service.store-5jWsJxPx.js} +1 -1
  87. package/web/assets/{settings-scope-CKPq86HZ.js → settings-scope-Bv7QGPrt.js} +1 -1
  88. package/web/assets/{settings.store-BCJ0LJQA.js → settings.store-bEsB7oKb.js} +1 -1
  89. package/web/assets/{src-DBipSD56.js → src-C-D_y7ou.js} +1 -1
  90. package/web/assets/{src-Cgix2VOi.js → src-Dnwk6NpV.js} +2 -2
  91. package/web/assets/{src-BDZKZr9n.css → src-g1DRo8xZ.css} +1 -1
  92. package/web/assets/{trpc-CfuFkKgp.js → trpc-Drabzwpd.js} +3 -3
  93. package/web/assets/{useCloudOrg-J8DAnocE.js → useCloudOrg-BAQEtFPl.js} +1 -1
  94. package/web/assets/{useEnvVarAutocomplete-C6zOXYqi.js → useEnvVarAutocomplete-BqGTODUv.js} +1 -1
  95. package/web/assets/{useProjectCatalog-BB5IR6o8.js → useProjectCatalog-yocjIKt6.js} +1 -1
  96. package/web/assets/{useProjectCloudOrg-BnlKts7x.js → useProjectCloudOrg-CEN9-_OA.js} +1 -1
  97. package/web/assets/{useServiceUrlHost-hKbKtPMu.js → useServiceUrlHost-BuoPEXZX.js} +1 -1
  98. package/web/assets/{vue-draggable-plus-D5ni4jMk.js → vue-draggable-plus-DX4rTBiu.js} +1 -1
  99. package/web/index.html +17 -17
  100. package/agent-manager-THV3LJOF.js +0 -11
  101. package/chunk-ONVAH65J.js.map +0 -1
  102. package/settings-manager-QVQRJO6V.js +0 -10
  103. package/src-IODFUZ7A.js.map +0 -1
  104. package/web/assets/SettingsPage-BSSHxxjM.js +0 -2086
  105. package/web/assets/SettingsPage-W8YszhUL.css +0 -1
  106. package/web/assets/i18n-8FjeJaKW.js +0 -1
  107. package/web/assets/index-teBqdnuv.css +0 -1
  108. /package/{agent-manager-THV3LJOF.js.map → agent-manager-R7BPQO6D.js.map} +0 -0
  109. /package/{chat-XYCHMTFE.js.map → chat-LPML22J5.js.map} +0 -0
  110. /package/{chunk-NCO4OOYT.js.map → chunk-4LJQIQMN.js.map} +0 -0
  111. /package/{chunk-QF56Z6LI.js.map → chunk-KV4GJKXU.js.map} +0 -0
  112. /package/{chunk-FE53XX4M.js.map → chunk-NPMSBYXC.js.map} +0 -0
  113. /package/{companion-HBYSY2D5.js.map → companion-W3UMZWGH.js.map} +0 -0
  114. /package/{install-gate-JAEK4BDZ.js.map → install-gate-PVMGJDWE.js.map} +0 -0
  115. /package/{settings-manager-QVQRJO6V.js.map → settings-manager-XPLBO35P.js.map} +0 -0
  116. /package/{vault-resolver-PN3TYCLJ.js.map → vault-resolver-E7KPKA5C.js.map} +0 -0
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,Ht as i,_ as a,b as o,ct as ee,en as s,g as c,k as l,mt as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{I as h}from"./floating-ui.dom-DWhsZyqT.js";import{F as g,J as _,P as te,S as ne,U as re,_ as v,a as ie,b as ae,c as y,dt as b,ft as x,g as oe,h as se,k as ce,m as le,mt as ue,n as de,p as fe,q as pe,r as S,v as me,x as he,y as C}from"./src--GO-VSJ0.js";import{r as ge}from"./project.store-Bm2JWNbd.js";import{t as _e}from"./agent.store-Co44dMZf.js";import{i as ve,n as ye,r as w,t as T}from"./useEnvVarAutocomplete-C6zOXYqi.js";var E={class:`environment-form`},D={class:`form-group`},O={for:`name`},k={key:0,class:`text-red-500`},A={class:`form-group`},j={for:`description`},M={class:`form-row`},N={class:`form-group flex-1`},P={for:`color`},be={class:`color-field`},xe={class:`text-gray-500`},Se={class:`form-group flex-1`},Ce={for:`bgColor`},we={class:`color-field`},Te={class:`text-gray-500`},Ee={class:`form-group`},De={class:`switch-row`},Oe={for:`defaultSwitch`},ke={class:`text-gray-500`},Ae={key:0,class:`form-group`},je={for:`agentSelect`},Me={class:`text-gray-500`},Ne={class:`form-actions`},Pe={class:`tab-content`},Fe={class:`form-group`},Ie={for:`parents`},Le={style:{padding:`0.5rem 0.75rem`}},Re={class:`text-gray-500`},ze={key:1},F={class:`inherited-header`},Be={class:`inherited-row-key`},Ve={class:`preview-key`},He={class:`value-row`},Ue=[`onClick`],We=[`onClick`],Ge={key:0,class:`secret-mask`},Ke={key:1,class:`preview-value`},qe={key:2,class:`empty-variables`},I=`__inherit__`,L=x(l({__name:`EnvironmentForm`,props:{projectId:{},environmentId:{},initialData:{}},emits:[`save`,`cancel`],setup(l,{emit:x}){let L=l,Je=x,R=ge(),Ye=_e(),Xe=te(),{t:z}=ue(),B=t(!1),V=t(!1),H=t({}),U=e=>(e??``).replace(/^#/,``),W=t({name:L.initialData?.name??``,description:L.initialData?.description??``,parentIds:L.initialData?.parentIds??[],color:U(L.initialData?.color),bgColor:U(L.initialData?.bgColor),default:L.initialData?.default??!1,agentId:L.initialData?.agentId??I}),Ze=c(()=>(L.initialData?.scope??`global`)===`global`),Qe=c(()=>[{label:z(`environmentForm.agentDefaultInherit`),value:I},...Ye.agents.map(e=>({label:e.config.name||e.config.id,value:e.config.id}))]),G=c(()=>R.environments.filter(e=>!(L.initialData?.id&&e.id===L.initialData.id))),K=t(``),$e=c(()=>{let e=K.value.trim().toLowerCase();if(!e)return G.value;let t=e.split(/\s+/);return G.value.filter(e=>{let n=e.name.toLowerCase();return t.every(e=>n.includes(e))})}),q=c(()=>!!L.environmentId),J=t(null),{values:et}=ye({projectId:()=>L.projectId,environmentId:()=>L.environmentId,agentId:()=>W.value.agentId===I?void 0:W.value.agentId}),{suggestions:tt,meta:nt,search:rt}=T(()=>J.value),Y=t(new Set);function it(e){let t=new Set(Y.value);t.has(e)?t.delete(e):t.add(e),Y.value=t}let X=t(null);function at(e,t){navigator.clipboard.writeText(t),X.value=e,setTimeout(()=>{X.value===e&&(X.value=null)},1500)}async function ot(){if(q.value&&L.environmentId){V.value=!0;try{await R.update({id:L.environmentId,parentIds:W.value.parentIds}),await Z()}catch(e){Xe.add({severity:`error`,summary:z(`environmentForm.failedToSaveParents`),detail:e.message??``,life:5e3})}finally{V.value=!1}}}async function Z(){if(L.environmentId)try{J.value=await R.resolve(L.environmentId)}catch{J.value=null}}function st(e){return!e||typeof e!=`object`?[]:Object.entries(e).map(([e,t])=>({variableId:e,key:t.key||e,slot:{value:t.value?.value??``,pre:t.value?.pre??``,post:t.value?.post??``,isSecret:t.value?.isSecret??!1}}))}let ct=c(()=>J.value?st(J.value.variables):[]),Q=c(()=>!L.environmentId||!J.value?.sources?[]:ct.value.filter(e=>J.value.sources[e.variableId]?.environmentId!==L.environmentId)),$=c(()=>{if(!J.value?.sources)return{};let e={};for(let[t,n]of Object.entries(J.value.sources))e[t]={environmentId:n.environmentId,overridden:n.overridden};return e});ee(()=>{q.value&&Z()});async function lt(){if(H.value={},!W.value.name.trim()){H.value.name=z(`environmentForm.nameRequired`);return}B.value=!0;try{let e=e=>e?e.startsWith(`#`)?e:`#${e}`:``,t=e(W.value.color),n=e(W.value.bgColor),r=W.value.agentId===I?void 0:W.value.agentId,i={projectId:L.projectId,name:W.value.name.trim(),description:W.value.description.trim(),parentIds:W.value.parentIds,...q.value?{}:{variables:{}},default:W.value.default,...t&&{color:t},...n&&{bgColor:n},agentId:r};Je(`save`,i)}finally{B.value=!1}}return i(()=>L.initialData,()=>{L.initialData&&(W.value.name=L.initialData.name??``,W.value.description=L.initialData.description??``,W.value.parentIds=L.initialData.parentIds??[],W.value.color=U(L.initialData.color),W.value.bgColor=U(L.initialData.bgColor),W.value.default=L.initialData.default??!1,W.value.agentId=L.initialData.agentId??I)}),(t,i)=>(u(),o(`div`,E,[n(e(he),{value:`0`,class:`environment-form__tabs`},{default:d(()=>[n(e(ae),null,{default:d(()=>[n(e(C),{value:`0`},{default:d(()=>[i[13]||=a(`i`,{class:`ti ti-settings tab-icon`},null,-1),a(`span`,null,f(e(z)(`environmentForm.tabConfiguration`)),1)]),_:1}),n(e(C),{value:`1`},{default:d(()=>[i[14]||=a(`i`,{class:`ti ti-database tab-icon`},null,-1),a(`span`,null,f(e(z)(`environmentForm.tabVariables`)),1)]),_:1})]),_:1}),n(e(me),null,{default:d(()=>[n(e(v),{value:`0`},{default:d(()=>[a(`form`,{onSubmit:h(lt,[`prevent`]),class:`tab-content`},[n(e(g),{legend:e(z)(`environmentForm.generalInfo`)},{default:d(()=>[a(`div`,D,[a(`label`,O,[r(f(e(z)(`environmentForm.nameLabel`))+` `,1),i[15]||=a(`span`,{class:`required`},`*`,-1)]),n(e(_),{id:`name`,modelValue:W.value.name,"onUpdate:modelValue":i[0]||=e=>W.value.name=e,placeholder:e(z)(`environmentForm.namePlaceholder`),class:`w-full`,disabled:B.value},null,8,[`modelValue`,`placeholder`,`disabled`]),H.value.name?(u(),o(`small`,k,f(H.value.name),1)):m(``,!0)]),a(`div`,A,[a(`label`,j,f(e(z)(`environmentForm.descriptionLabel`)),1),n(e(pe),{id:`description`,modelValue:W.value.description,"onUpdate:modelValue":i[1]||=e=>W.value.description=e,placeholder:e(z)(`environmentForm.descriptionPlaceholder`),rows:`3`,class:`w-full`,disabled:B.value},null,8,[`modelValue`,`placeholder`,`disabled`])])]),_:1},8,[`legend`]),n(e(g),{legend:e(z)(`environmentForm.appearance`)},{default:d(()=>[a(`div`,M,[a(`div`,N,[a(`label`,P,f(e(z)(`environmentForm.textColorLabel`)),1),a(`div`,be,[n(e(y),{id:`color`,modelValue:W.value.color,"onUpdate:modelValue":i[2]||=e=>W.value.color=e,disabled:B.value},null,8,[`modelValue`,`disabled`]),n(e(_),{modelValue:W.value.color,"onUpdate:modelValue":i[3]||=e=>W.value.color=e,placeholder:`#3B82F6`,class:`color-input`,disabled:B.value},null,8,[`modelValue`,`disabled`])]),a(`small`,xe,f(e(z)(`environmentForm.textColorHint`)),1)]),a(`div`,Se,[a(`label`,Ce,f(e(z)(`environmentForm.bgColorLabel`)),1),a(`div`,we,[n(e(y),{id:`bgColor`,modelValue:W.value.bgColor,"onUpdate:modelValue":i[4]||=e=>W.value.bgColor=e,disabled:B.value},null,8,[`modelValue`,`disabled`]),n(e(_),{modelValue:W.value.bgColor,"onUpdate:modelValue":i[5]||=e=>W.value.bgColor=e,placeholder:`#DBEAFE`,class:`color-input`,disabled:B.value},null,8,[`modelValue`,`disabled`])]),a(`small`,Te,f(e(z)(`environmentForm.bgColorHint`)),1)])])]),_:1},8,[`legend`]),n(e(g),{legend:e(z)(`environmentForm.settings`)},{default:d(()=>[a(`div`,Ee,[a(`div`,De,[a(`label`,Oe,f(e(z)(`environmentForm.defaultLabel`)),1),n(e(ce),{id:`defaultSwitch`,modelValue:W.value.default,"onUpdate:modelValue":i[6]||=e=>W.value.default=e,disabled:B.value},null,8,[`modelValue`,`disabled`])]),a(`small`,ke,f(e(z)(`environmentForm.defaultHint`)),1)]),Ze.value?(u(),o(`div`,Ae,[a(`label`,je,f(e(z)(`environmentForm.agentDefaultLabel`)),1),n(e(ne),{id:`agentSelect`,modelValue:W.value.agentId,"onUpdate:modelValue":i[7]||=e=>W.value.agentId=e,options:Qe.value,"option-label":`label`,"option-value":`value`,class:`w-full`,disabled:B.value},null,8,[`modelValue`,`options`,`disabled`]),a(`small`,Me,f(e(z)(`environmentForm.agentDefaultHint`)),1)])):m(``,!0)]),_:1},8,[`legend`]),a(`div`,Ne,[n(e(b),{type:`button`,label:e(z)(`environmentForm.cancel`),severity:`secondary`,disabled:B.value,onClick:i[8]||=e=>t.$emit(`cancel`)},null,8,[`label`,`disabled`]),n(e(b),{type:`submit`,label:e(z)(`environmentForm.save`),loading:B.value,disabled:B.value},null,8,[`label`,`loading`,`disabled`])])],32)]),_:1}),n(e(v),{value:`1`},{default:d(()=>[a(`div`,Pe,[G.value.length>0?(u(),p(e(g),{key:0,legend:e(z)(`environmentForm.inheritance`)},{default:d(()=>[a(`div`,Fe,[a(`label`,Ie,f(e(z)(`environmentForm.parentLabel`)),1),n(e(ie),{id:`parents`,modelValue:W.value.parentIds,"onUpdate:modelValue":i[10]||=e=>W.value.parentIds=e,options:$e.value,"option-label":`name`,"option-value":`id`,placeholder:e(z)(`environmentForm.parentPlaceholder`),disabled:B.value||V.value,loading:V.value,class:`w-full`,onShow:i[11]||=e=>K.value=``,onHide:ot},{header:d(()=>[a(`div`,Le,[n(e(_),{modelValue:K.value,"onUpdate:modelValue":i[9]||=e=>K.value=e,placeholder:e(z)(`environmentForm.parentFilter`),class:`w-full`,size:`small`},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`modelValue`,`options`,`placeholder`,`disabled`,`loading`]),a(`small`,Re,f(e(z)(`environmentForm.parentHint`)),1)])]),_:1},8,[`legend`])):m(``,!0),q.value&&L.environmentId?(u(),o(`div`,ze,[n(w,{"environment-id":L.environmentId,editable:!0,"autocomplete-enabled":!0,"autocomplete-suggestions":e(tt),"autocomplete-meta":e(nt),"resolved-env":J.value?.env??{},"service-builtins":e(et),"show-overrides":!0,"show-delete":!0,"show-add-button":!0,onAutocompleteSearch:e(rt),onVariablesChanged:Z},null,8,[`environment-id`,`autocomplete-suggestions`,`autocomplete-meta`,`resolved-env`,`service-builtins`,`onAutocompleteSearch`]),Q.value.length>0?(u(),p(e(oe),{key:0,class:`inherited-accordion`},{default:d(()=>[n(e(se),{value:`inherited`},{default:d(()=>[n(e(le),null,{default:d(()=>[a(`span`,F,[i[16]||=a(`i`,{class:`ti ti-arrow-down-left`},null,-1),r(` `+f(e(z)(`environmentForm.inheritedVariables`))+` `,1),n(e(re),{value:String(Q.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),n(e(fe),null,{default:d(()=>[n(e(de),{value:Q.value,size:`small`,"show-headers":!1},{default:d(()=>[n(e(S),{style:{width:`35%`}},{body:d(({data:e})=>[a(`div`,Be,[a(`code`,Ve,f(e.key),1),$.value[e.variableId]?(u(),p(ve,{key:0,"environment-id":$.value[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):m(``,!0)])]),_:1}),n(e(S),{style:{width:`65%`}},{body:d(({data:e})=>[a(`span`,He,[a(`span`,{class:`value-actions`,onClick:i[12]||=h(()=>{},[`stop`])},[e.slot.isSecret?(u(),o(`i`,{key:0,class:s([Y.value.has(e.variableId)?`ti ti-eye-off`:`ti ti-eye`,`action-icon`]),onClick:t=>it(e.variableId)},null,10,Ue)):m(``,!0),a(`i`,{class:s([X.value===e.variableId?`ti ti-check`:`ti ti-copy`,`action-icon`]),onClick:t=>at(e.variableId,e.slot.pre+e.slot.value+e.slot.post)},null,10,We)]),e.slot.isSecret&&!Y.value.has(e.variableId)?(u(),o(`span`,Ge,`***`)):(u(),o(`code`,Ke,f(e.slot.pre)+f(e.slot.value)+f(e.slot.post),1))])]),_:1})]),_:1},8,[`value`])]),_:1})]),_:1})]),_:1})):m(``,!0)])):(u(),o(`div`,qe,[i[17]||=a(`i`,{class:`ti ti-info-circle`},null,-1),a(`span`,null,f(e(z)(`environmentForm.variablesAfterCreate`)),1)]))])]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-9667d993`]]);export{L as t};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,Ht as i,_ as a,b as o,ct as ee,en as s,g as c,k as l,mt as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{I as h}from"./floating-ui.dom-DWhsZyqT.js";import{F as g,J as _,P as te,S as ne,U as re,_ as v,a as ie,b as ae,c as y,dt as b,ft as x,g as oe,h as se,k as ce,m as le,mt as ue,n as de,p as fe,q as pe,r as S,v as me,x as he,y as C}from"./src--GO-VSJ0.js";import{r as ge}from"./project.store-DGJr0Qr9.js";import{t as _e}from"./agent.store-CKLAkF9a.js";import{i as ve,n as ye,r as w,t as T}from"./useEnvVarAutocomplete-BqGTODUv.js";var E={class:`environment-form`},D={class:`form-group`},O={for:`name`},k={key:0,class:`text-red-500`},A={class:`form-group`},j={for:`description`},M={class:`form-row`},N={class:`form-group flex-1`},P={for:`color`},be={class:`color-field`},xe={class:`text-gray-500`},Se={class:`form-group flex-1`},Ce={for:`bgColor`},we={class:`color-field`},Te={class:`text-gray-500`},Ee={class:`form-group`},De={class:`switch-row`},Oe={for:`defaultSwitch`},ke={class:`text-gray-500`},Ae={key:0,class:`form-group`},je={for:`agentSelect`},Me={class:`text-gray-500`},Ne={class:`form-actions`},Pe={class:`tab-content`},Fe={class:`form-group`},Ie={for:`parents`},Le={style:{padding:`0.5rem 0.75rem`}},Re={class:`text-gray-500`},ze={key:1},F={class:`inherited-header`},Be={class:`inherited-row-key`},Ve={class:`preview-key`},He={class:`value-row`},Ue=[`onClick`],We=[`onClick`],Ge={key:0,class:`secret-mask`},Ke={key:1,class:`preview-value`},qe={key:2,class:`empty-variables`},I=`__inherit__`,L=x(l({__name:`EnvironmentForm`,props:{projectId:{},environmentId:{},initialData:{}},emits:[`save`,`cancel`],setup(l,{emit:x}){let L=l,Je=x,R=ge(),Ye=_e(),Xe=te(),{t:z}=ue(),B=t(!1),V=t(!1),H=t({}),U=e=>(e??``).replace(/^#/,``),W=t({name:L.initialData?.name??``,description:L.initialData?.description??``,parentIds:L.initialData?.parentIds??[],color:U(L.initialData?.color),bgColor:U(L.initialData?.bgColor),default:L.initialData?.default??!1,agentId:L.initialData?.agentId??I}),Ze=c(()=>(L.initialData?.scope??`global`)===`global`),Qe=c(()=>[{label:z(`environmentForm.agentDefaultInherit`),value:I},...Ye.agents.map(e=>({label:e.config.name||e.config.id,value:e.config.id}))]),G=c(()=>R.environments.filter(e=>!(L.initialData?.id&&e.id===L.initialData.id))),K=t(``),$e=c(()=>{let e=K.value.trim().toLowerCase();if(!e)return G.value;let t=e.split(/\s+/);return G.value.filter(e=>{let n=e.name.toLowerCase();return t.every(e=>n.includes(e))})}),q=c(()=>!!L.environmentId),J=t(null),{values:et}=ye({projectId:()=>L.projectId,environmentId:()=>L.environmentId,agentId:()=>W.value.agentId===I?void 0:W.value.agentId}),{suggestions:tt,meta:nt,search:rt}=T(()=>J.value),Y=t(new Set);function it(e){let t=new Set(Y.value);t.has(e)?t.delete(e):t.add(e),Y.value=t}let X=t(null);function at(e,t){navigator.clipboard.writeText(t),X.value=e,setTimeout(()=>{X.value===e&&(X.value=null)},1500)}async function ot(){if(q.value&&L.environmentId){V.value=!0;try{await R.update({id:L.environmentId,parentIds:W.value.parentIds}),await Z()}catch(e){Xe.add({severity:`error`,summary:z(`environmentForm.failedToSaveParents`),detail:e.message??``,life:5e3})}finally{V.value=!1}}}async function Z(){if(L.environmentId)try{J.value=await R.resolve(L.environmentId)}catch{J.value=null}}function st(e){return!e||typeof e!=`object`?[]:Object.entries(e).map(([e,t])=>({variableId:e,key:t.key||e,slot:{value:t.value?.value??``,pre:t.value?.pre??``,post:t.value?.post??``,isSecret:t.value?.isSecret??!1}}))}let ct=c(()=>J.value?st(J.value.variables):[]),Q=c(()=>!L.environmentId||!J.value?.sources?[]:ct.value.filter(e=>J.value.sources[e.variableId]?.environmentId!==L.environmentId)),$=c(()=>{if(!J.value?.sources)return{};let e={};for(let[t,n]of Object.entries(J.value.sources))e[t]={environmentId:n.environmentId,overridden:n.overridden};return e});ee(()=>{q.value&&Z()});async function lt(){if(H.value={},!W.value.name.trim()){H.value.name=z(`environmentForm.nameRequired`);return}B.value=!0;try{let e=e=>e?e.startsWith(`#`)?e:`#${e}`:``,t=e(W.value.color),n=e(W.value.bgColor),r=W.value.agentId===I?void 0:W.value.agentId,i={projectId:L.projectId,name:W.value.name.trim(),description:W.value.description.trim(),parentIds:W.value.parentIds,...q.value?{}:{variables:{}},default:W.value.default,...t&&{color:t},...n&&{bgColor:n},agentId:r};Je(`save`,i)}finally{B.value=!1}}return i(()=>L.initialData,()=>{L.initialData&&(W.value.name=L.initialData.name??``,W.value.description=L.initialData.description??``,W.value.parentIds=L.initialData.parentIds??[],W.value.color=U(L.initialData.color),W.value.bgColor=U(L.initialData.bgColor),W.value.default=L.initialData.default??!1,W.value.agentId=L.initialData.agentId??I)}),(t,i)=>(u(),o(`div`,E,[n(e(he),{value:`0`,class:`environment-form__tabs`},{default:d(()=>[n(e(ae),null,{default:d(()=>[n(e(C),{value:`0`},{default:d(()=>[i[13]||=a(`i`,{class:`ti ti-settings tab-icon`},null,-1),a(`span`,null,f(e(z)(`environmentForm.tabConfiguration`)),1)]),_:1}),n(e(C),{value:`1`},{default:d(()=>[i[14]||=a(`i`,{class:`ti ti-database tab-icon`},null,-1),a(`span`,null,f(e(z)(`environmentForm.tabVariables`)),1)]),_:1})]),_:1}),n(e(me),null,{default:d(()=>[n(e(v),{value:`0`},{default:d(()=>[a(`form`,{onSubmit:h(lt,[`prevent`]),class:`tab-content`},[n(e(g),{legend:e(z)(`environmentForm.generalInfo`)},{default:d(()=>[a(`div`,D,[a(`label`,O,[r(f(e(z)(`environmentForm.nameLabel`))+` `,1),i[15]||=a(`span`,{class:`required`},`*`,-1)]),n(e(_),{id:`name`,modelValue:W.value.name,"onUpdate:modelValue":i[0]||=e=>W.value.name=e,placeholder:e(z)(`environmentForm.namePlaceholder`),class:`w-full`,disabled:B.value},null,8,[`modelValue`,`placeholder`,`disabled`]),H.value.name?(u(),o(`small`,k,f(H.value.name),1)):m(``,!0)]),a(`div`,A,[a(`label`,j,f(e(z)(`environmentForm.descriptionLabel`)),1),n(e(pe),{id:`description`,modelValue:W.value.description,"onUpdate:modelValue":i[1]||=e=>W.value.description=e,placeholder:e(z)(`environmentForm.descriptionPlaceholder`),rows:`3`,class:`w-full`,disabled:B.value},null,8,[`modelValue`,`placeholder`,`disabled`])])]),_:1},8,[`legend`]),n(e(g),{legend:e(z)(`environmentForm.appearance`)},{default:d(()=>[a(`div`,M,[a(`div`,N,[a(`label`,P,f(e(z)(`environmentForm.textColorLabel`)),1),a(`div`,be,[n(e(y),{id:`color`,modelValue:W.value.color,"onUpdate:modelValue":i[2]||=e=>W.value.color=e,disabled:B.value},null,8,[`modelValue`,`disabled`]),n(e(_),{modelValue:W.value.color,"onUpdate:modelValue":i[3]||=e=>W.value.color=e,placeholder:`#3B82F6`,class:`color-input`,disabled:B.value},null,8,[`modelValue`,`disabled`])]),a(`small`,xe,f(e(z)(`environmentForm.textColorHint`)),1)]),a(`div`,Se,[a(`label`,Ce,f(e(z)(`environmentForm.bgColorLabel`)),1),a(`div`,we,[n(e(y),{id:`bgColor`,modelValue:W.value.bgColor,"onUpdate:modelValue":i[4]||=e=>W.value.bgColor=e,disabled:B.value},null,8,[`modelValue`,`disabled`]),n(e(_),{modelValue:W.value.bgColor,"onUpdate:modelValue":i[5]||=e=>W.value.bgColor=e,placeholder:`#DBEAFE`,class:`color-input`,disabled:B.value},null,8,[`modelValue`,`disabled`])]),a(`small`,Te,f(e(z)(`environmentForm.bgColorHint`)),1)])])]),_:1},8,[`legend`]),n(e(g),{legend:e(z)(`environmentForm.settings`)},{default:d(()=>[a(`div`,Ee,[a(`div`,De,[a(`label`,Oe,f(e(z)(`environmentForm.defaultLabel`)),1),n(e(ce),{id:`defaultSwitch`,modelValue:W.value.default,"onUpdate:modelValue":i[6]||=e=>W.value.default=e,disabled:B.value},null,8,[`modelValue`,`disabled`])]),a(`small`,ke,f(e(z)(`environmentForm.defaultHint`)),1)]),Ze.value?(u(),o(`div`,Ae,[a(`label`,je,f(e(z)(`environmentForm.agentDefaultLabel`)),1),n(e(ne),{id:`agentSelect`,modelValue:W.value.agentId,"onUpdate:modelValue":i[7]||=e=>W.value.agentId=e,options:Qe.value,"option-label":`label`,"option-value":`value`,class:`w-full`,disabled:B.value},null,8,[`modelValue`,`options`,`disabled`]),a(`small`,Me,f(e(z)(`environmentForm.agentDefaultHint`)),1)])):m(``,!0)]),_:1},8,[`legend`]),a(`div`,Ne,[n(e(b),{type:`button`,label:e(z)(`environmentForm.cancel`),severity:`secondary`,disabled:B.value,onClick:i[8]||=e=>t.$emit(`cancel`)},null,8,[`label`,`disabled`]),n(e(b),{type:`submit`,label:e(z)(`environmentForm.save`),loading:B.value,disabled:B.value},null,8,[`label`,`loading`,`disabled`])])],32)]),_:1}),n(e(v),{value:`1`},{default:d(()=>[a(`div`,Pe,[G.value.length>0?(u(),p(e(g),{key:0,legend:e(z)(`environmentForm.inheritance`)},{default:d(()=>[a(`div`,Fe,[a(`label`,Ie,f(e(z)(`environmentForm.parentLabel`)),1),n(e(ie),{id:`parents`,modelValue:W.value.parentIds,"onUpdate:modelValue":i[10]||=e=>W.value.parentIds=e,options:$e.value,"option-label":`name`,"option-value":`id`,placeholder:e(z)(`environmentForm.parentPlaceholder`),disabled:B.value||V.value,loading:V.value,class:`w-full`,onShow:i[11]||=e=>K.value=``,onHide:ot},{header:d(()=>[a(`div`,Le,[n(e(_),{modelValue:K.value,"onUpdate:modelValue":i[9]||=e=>K.value=e,placeholder:e(z)(`environmentForm.parentFilter`),class:`w-full`,size:`small`},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`modelValue`,`options`,`placeholder`,`disabled`,`loading`]),a(`small`,Re,f(e(z)(`environmentForm.parentHint`)),1)])]),_:1},8,[`legend`])):m(``,!0),q.value&&L.environmentId?(u(),o(`div`,ze,[n(w,{"environment-id":L.environmentId,editable:!0,"autocomplete-enabled":!0,"autocomplete-suggestions":e(tt),"autocomplete-meta":e(nt),"resolved-env":J.value?.env??{},"service-builtins":e(et),"show-overrides":!0,"show-delete":!0,"show-add-button":!0,onAutocompleteSearch:e(rt),onVariablesChanged:Z},null,8,[`environment-id`,`autocomplete-suggestions`,`autocomplete-meta`,`resolved-env`,`service-builtins`,`onAutocompleteSearch`]),Q.value.length>0?(u(),p(e(oe),{key:0,class:`inherited-accordion`},{default:d(()=>[n(e(se),{value:`inherited`},{default:d(()=>[n(e(le),null,{default:d(()=>[a(`span`,F,[i[16]||=a(`i`,{class:`ti ti-arrow-down-left`},null,-1),r(` `+f(e(z)(`environmentForm.inheritedVariables`))+` `,1),n(e(re),{value:String(Q.value.length),severity:`secondary`,rounded:``},null,8,[`value`])])]),_:1}),n(e(fe),null,{default:d(()=>[n(e(de),{value:Q.value,size:`small`,"show-headers":!1},{default:d(()=>[n(e(S),{style:{width:`35%`}},{body:d(({data:e})=>[a(`div`,Be,[a(`code`,Ve,f(e.key),1),$.value[e.variableId]?(u(),p(ve,{key:0,"environment-id":$.value[e.variableId].environmentId,class:`source-badge`},null,8,[`environment-id`])):m(``,!0)])]),_:1}),n(e(S),{style:{width:`65%`}},{body:d(({data:e})=>[a(`span`,He,[a(`span`,{class:`value-actions`,onClick:i[12]||=h(()=>{},[`stop`])},[e.slot.isSecret?(u(),o(`i`,{key:0,class:s([Y.value.has(e.variableId)?`ti ti-eye-off`:`ti ti-eye`,`action-icon`]),onClick:t=>it(e.variableId)},null,10,Ue)):m(``,!0),a(`i`,{class:s([X.value===e.variableId?`ti ti-check`:`ti ti-copy`,`action-icon`]),onClick:t=>at(e.variableId,e.slot.pre+e.slot.value+e.slot.post)},null,10,We)]),e.slot.isSecret&&!Y.value.has(e.variableId)?(u(),o(`span`,Ge,`***`)):(u(),o(`code`,Ke,f(e.slot.pre)+f(e.slot.value)+f(e.slot.post),1))])]),_:1})]),_:1},8,[`value`])]),_:1})]),_:1})]),_:1})):m(``,!0)])):(u(),o(`div`,qe,[i[17]||=a(`i`,{class:`ti ti-info-circle`},null,-1),a(`span`,null,f(e(z)(`environmentForm.variablesAfterCreate`)),1)]))])]),_:1})]),_:1})]),_:1})]))}}),[[`__scopeId`,`data-v-9667d993`]]);export{L as t};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,b as r,ct as i,g as a,k as o,mt as s,v as c,y as l}from"./runtime-core.esm-bundler-DujKY9QV.js";import{H as u,P as d,ft as f,mt as p}from"./src--GO-VSJ0.js";import{g as m,h}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as g}from"./project.store-Bm2JWNbd.js";import{n as _}from"./error-DpF7X5iu.js";import{t as v}from"./EnvironmentForm-C96PFWRE.js";var y={class:`environment-form-page`},b={key:0,class:`loading`},x={key:1},S=f(o({__name:`EnvironmentFormPage`,setup(o){let{t:f}=p(),S=h(),C=m(),w=g(),T=d(),E=a(()=>S.params.projectId),D=a(()=>S.params.id),O=a(()=>!!D.value),k=t(!1),A=t(null);async function j(){if(O.value){k.value=!0;try{let e=w.getById(D.value);if(!e){console.error(`Environment not found`),N();return}A.value=e}catch(e){console.error(`Failed to load environment:`,_(e))}finally{k.value=!1}}}async function M(e){try{O.value&&A.value?(await w.update({...e,id:A.value.id}),await j(),T.add({severity:`success`,summary:f(`environmentFormPage.updated`),detail:`"${e.name}" ${f(`environmentFormPage.updatedDesc`)}`,life:3e3})):(await w.create(e),T.add({severity:`success`,summary:f(`environmentFormPage.created`),detail:`"${e.name}" ${f(`environmentFormPage.createdDesc`)}`,life:3e3}),N())}catch(e){console.error(`Save failed:`,_(e)),T.add({severity:`error`,summary:f(`environmentFormPage.saveFailed`),detail:_(e)??f(`environmentFormPage.saveFailedDesc`),life:5e3})}}function N(){C.back()}return i(async()=>{w.environments.length===0&&await w.fetchAll(E.value),O.value&&await j()}),(t,i)=>(s(),r(`div`,y,[k.value?(s(),r(`div`,b,[n(e(u))])):(s(),r(`div`,x,[A.value||!O.value?(s(),c(v,{key:0,"project-id":E.value,"environment-id":D.value,"initial-data":A.value,onSave:M,onCancel:N},null,8,[`project-id`,`environment-id`,`initial-data`])):l(``,!0)]))]))}}),[[`__scopeId`,`data-v-4e790e9c`]]);export{S as default};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,b as r,ct as i,g as a,k as o,mt as s,v as c,y as l}from"./runtime-core.esm-bundler-DujKY9QV.js";import{H as u,P as d,ft as f,mt as p}from"./src--GO-VSJ0.js";import{g as m,h}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as g}from"./project.store-DGJr0Qr9.js";import{n as _}from"./error-DpF7X5iu.js";import{t as v}from"./EnvironmentForm-CAvDoira.js";var y={class:`environment-form-page`},b={key:0,class:`loading`},x={key:1},S=f(o({__name:`EnvironmentFormPage`,setup(o){let{t:f}=p(),S=h(),C=m(),w=g(),T=d(),E=a(()=>S.params.projectId),D=a(()=>S.params.id),O=a(()=>!!D.value),k=t(!1),A=t(null);async function j(){if(O.value){k.value=!0;try{let e=w.getById(D.value);if(!e){console.error(`Environment not found`),N();return}A.value=e}catch(e){console.error(`Failed to load environment:`,_(e))}finally{k.value=!1}}}async function M(e){try{O.value&&A.value?(await w.update({...e,id:A.value.id}),await j(),T.add({severity:`success`,summary:f(`environmentFormPage.updated`),detail:`"${e.name}" ${f(`environmentFormPage.updatedDesc`)}`,life:3e3})):(await w.create(e),T.add({severity:`success`,summary:f(`environmentFormPage.created`),detail:`"${e.name}" ${f(`environmentFormPage.createdDesc`)}`,life:3e3}),N())}catch(e){console.error(`Save failed:`,_(e)),T.add({severity:`error`,summary:f(`environmentFormPage.saveFailed`),detail:_(e)??f(`environmentFormPage.saveFailedDesc`),life:5e3})}}function N(){C.back()}return i(async()=>{w.environments.length===0&&await w.fetchAll(E.value),O.value&&await j()}),(t,i)=>(s(),r(`div`,y,[k.value?(s(),r(`div`,b,[n(e(u))])):(s(),r(`div`,x,[A.value||!O.value?(s(),c(v,{key:0,"project-id":E.value,"environment-id":D.value,"initial-data":A.value,onSave:M,onCancel:N},null,8,[`project-id`,`environment-id`,`initial-data`])):l(``,!0)]))]))}}),[[`__scopeId`,`data-v-4e790e9c`]]);export{S as default};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as ee,D as n,Yt as r,_ as i,b as a,bt as o,ct as s,en as c,g as l,k as te,mt as u,nn as d,o as f,qt as p,rn as m,u as h,v as g,y as _}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as ne,I as v}from"./floating-ui.dom-DWhsZyqT.js";import{H as re,P as y,U as b,V as ie,Y as x,dt as S,ft as C,j as ae,mt as oe}from"./src--GO-VSJ0.js";import{n as w}from"./project-launch.store-B5nhdGdh.js";import{g as T,h as E}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as D,r as O}from"./project.store-Bm2JWNbd.js";import{n as k}from"./error-DpF7X5iu.js";import{n as A}from"./page-actions-CSvO7j9F.js";import{t as j}from"./EnvironmentForm-C96PFWRE.js";var M={class:`environment-list-page`},N={key:0,class:`loading`},P={key:1,class:`environments-grid`},F={class:`title-row`},I={class:`title-name`},L={class:`badges`},R=[`title`,`aria-label`,`aria-pressed`,`onClick`],z={key:0,class:`description`},se={key:1,class:`parents`},B={class:`var-count`},V={class:`actions`},H=C(te({__name:`EnvironmentListPage`,setup(te){let{t:C}=oe(),H=E(),U=T(),W=O(),G=D(),K=w(),ce=ae(),q=y(),J=l(()=>H.params.projectId),Y=t(!1),X=l(()=>G.getByRef({id:J.value,orgId:K.activeOrgId})??G.getById(J.value)),Z=l(()=>X.value?.activeEnvironmentId),le=l(()=>W.environments.filter(e=>e.scope===`global`||!e.scope)),ue=e=>e.map(e=>W.getById(e)?.name||e);function Q(e){if(e)return e.startsWith(`#`)?e:`#${e}`}s(async()=>{await W.fetchAll(J.value)});async function de(e){try{await W.create(e),Y.value=!1,q.add({severity:`success`,summary:C(`environmentList.created`),detail:C(`environmentList.createdDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.createError`),detail:k(e)??C(`environmentList.createErrorDesc`),life:5e3})}}function $(e){U.push(`/projects/${J.value}/environments/${e}/edit`)}async function fe(e){try{await W.update({id:e,default:!0}),q.add({severity:`success`,summary:C(`environmentList.defaultSet`),detail:C(`environmentList.defaultSetDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.failedToSetDefault`),detail:k(e),life:5e3})}}async function pe(e){try{if(!X.value)return;await G.setActiveEnvironment(X.value,e),await W.fetchAll(J.value),q.add({severity:`success`,summary:C(`environmentList.activated`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.failedToActivate`),detail:k(e),life:5e3})}}function me(e,t){ce.require({message:C(`environmentList.deleteConfirmMsg`,{name:t}),header:C(`environmentList.deleteTitle`),icon:`ti ti-alert-triangle`,accept:async()=>{try{await W.deleteEnv(e),q.add({severity:`success`,summary:C(`environmentList.deleted`),detail:C(`environmentList.deletedDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.failedToDelete`),detail:k(e),life:5e3})}}})}return(t,s)=>{let l=ee(`tooltip`);return u(),a(`div`,M,[(u(),g(h,{to:e(A),defer:``},[n(e(S),{icon:`ti ti-plus`,title:e(C)(`environmentList.createButton`),"aria-label":e(C)(`environmentList.createButton`),onClick:s[0]||=e=>Y.value=!0},null,8,[`title`,`aria-label`])],8,[`to`])),e(W).loading?(u(),a(`div`,N,[n(e(re))])):(u(),a(`div`,P,[(u(!0),a(f,null,o(le.value,t=>(u(),g(e(ie),{key:t.id,class:c([`environment-card`,{active:t.id===Z.value,immutable:t.immutable}]),style:d(t.bgColor||t.color?{"--env-color":Q(t.bgColor)||Q(t.color)}:{}),tabindex:`0`,onClick:e=>$(t.id),onKeydown:ne(v(e=>$(t.id),[`self`]),[`enter`])},{title:p(()=>[i(`div`,F,[i(`div`,I,[t.color||t.bgColor?(u(),a(`span`,{key:0,class:`env-swatch`,style:d({backgroundColor:Q(t.bgColor)||Q(t.color),color:Q(t.color)})},null,4)):_(``,!0),i(`span`,null,m(t.name),1)]),i(`div`,L,[t.immutable?(u(),g(e(b),{key:0,severity:`warn`,value:e(C)(`environmentList.immutableBadge`)},null,8,[`value`])):_(``,!0),t.id===Z.value?(u(),g(e(b),{key:1,severity:`success`,value:e(C)(`environmentList.activeBadge`)},null,8,[`value`])):_(``,!0),i(`button`,{type:`button`,class:c([`star-default`,{"star-default--on":t.default}]),title:t.default?e(C)(`environmentList.defaultEnv`):e(C)(`environmentList.setAsDefault`),"aria-label":t.default?e(C)(`environmentList.defaultEnv`):e(C)(`environmentList.setAsDefault`),"aria-pressed":!!t.default,onClick:v(e=>!t.default&&fe(t.id),[`stop`])},[i(`i`,{class:c([`ti`,t.default?`ti-star-filled`:`ti-star`]),"aria-hidden":`true`},null,2)],10,R)])])]),content:p(()=>[t.description?(u(),a(`p`,z,m(t.description),1)):_(``,!0),t.parentIds.length>0?(u(),a(`p`,se,m(e(C)(`environmentList.parents`,{names:ue(t.parentIds).join(`, `)})),1)):_(``,!0),i(`p`,B,m(e(C)(`environmentList.variableCount`,Object.keys(t.variables??{}).length)),1)]),footer:p(()=>[i(`div`,V,[t.id!==Z.value&&!t.immutable?r((u(),g(e(S),{key:0,onClick:v(e=>pe(t.id),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-check`},null,8,[`onClick`])),[[l,e(C)(`environmentList.activateButton`),void 0,{top:!0}]]):_(``,!0),r(n(e(S),{onClick:v(e=>$(t.id),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-pencil`},null,8,[`onClick`]),[[l,e(C)(`environmentList.editButton`),void 0,{top:!0}]]),!t.immutable&&t.id!==Z.value?r((u(),g(e(S),{key:1,onClick:v(e=>me(t.id,t.name),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-trash`,severity:`danger`,"data-testid":`env-delete-btn`},null,8,[`onClick`])),[[l,e(C)(`environmentList.deleteButton`),void 0,{top:!0}]]):_(``,!0)])]),_:2},1032,[`class`,`style`,`onClick`,`onKeydown`]))),128))])),n(e(x),{visible:Y.value,"onUpdate:visible":s[2]||=e=>Y.value=e,header:e(C)(`environments.createEnvironment`),style:{width:`600px`},modal:!1},{default:p(()=>[n(j,{"project-id":J.value,onSave:de,onCancel:s[1]||=e=>Y.value=!1},null,8,[`project-id`])]),_:1},8,[`visible`,`header`])])}}}),[[`__scopeId`,`data-v-3c91161e`]]);export{H as default};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as ee,D as n,Yt as r,_ as i,b as a,bt as o,ct as s,en as c,g as l,k as te,mt as u,nn as d,o as f,qt as p,rn as m,u as h,v as g,y as _}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as ne,I as v}from"./floating-ui.dom-DWhsZyqT.js";import{H as re,P as y,U as b,V as ie,Y as x,dt as S,ft as C,j as ae,mt as oe}from"./src--GO-VSJ0.js";import{n as w}from"./project-launch.store-y7JBMNiE.js";import{g as T,h as E}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as D,r as O}from"./project.store-DGJr0Qr9.js";import{n as k}from"./error-DpF7X5iu.js";import{n as A}from"./page-actions-CSvO7j9F.js";import{t as j}from"./EnvironmentForm-CAvDoira.js";var M={class:`environment-list-page`},N={key:0,class:`loading`},P={key:1,class:`environments-grid`},F={class:`title-row`},I={class:`title-name`},L={class:`badges`},R=[`title`,`aria-label`,`aria-pressed`,`onClick`],z={key:0,class:`description`},se={key:1,class:`parents`},B={class:`var-count`},V={class:`actions`},H=C(te({__name:`EnvironmentListPage`,setup(te){let{t:C}=oe(),H=E(),U=T(),W=O(),G=D(),K=w(),ce=ae(),q=y(),J=l(()=>H.params.projectId),Y=t(!1),X=l(()=>G.getByRef({id:J.value,orgId:K.activeOrgId})??G.getById(J.value)),Z=l(()=>X.value?.activeEnvironmentId),le=l(()=>W.environments.filter(e=>e.scope===`global`||!e.scope)),ue=e=>e.map(e=>W.getById(e)?.name||e);function Q(e){if(e)return e.startsWith(`#`)?e:`#${e}`}s(async()=>{await W.fetchAll(J.value)});async function de(e){try{await W.create(e),Y.value=!1,q.add({severity:`success`,summary:C(`environmentList.created`),detail:C(`environmentList.createdDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.createError`),detail:k(e)??C(`environmentList.createErrorDesc`),life:5e3})}}function $(e){U.push(`/projects/${J.value}/environments/${e}/edit`)}async function fe(e){try{await W.update({id:e,default:!0}),q.add({severity:`success`,summary:C(`environmentList.defaultSet`),detail:C(`environmentList.defaultSetDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.failedToSetDefault`),detail:k(e),life:5e3})}}async function pe(e){try{if(!X.value)return;await G.setActiveEnvironment(X.value,e),await W.fetchAll(J.value),q.add({severity:`success`,summary:C(`environmentList.activated`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.failedToActivate`),detail:k(e),life:5e3})}}function me(e,t){ce.require({message:C(`environmentList.deleteConfirmMsg`,{name:t}),header:C(`environmentList.deleteTitle`),icon:`ti ti-alert-triangle`,accept:async()=>{try{await W.deleteEnv(e),q.add({severity:`success`,summary:C(`environmentList.deleted`),detail:C(`environmentList.deletedDesc`),life:3e3})}catch(e){q.add({severity:`error`,summary:C(`environmentList.failedToDelete`),detail:k(e),life:5e3})}}})}return(t,s)=>{let l=ee(`tooltip`);return u(),a(`div`,M,[(u(),g(h,{to:e(A),defer:``},[n(e(S),{icon:`ti ti-plus`,title:e(C)(`environmentList.createButton`),"aria-label":e(C)(`environmentList.createButton`),onClick:s[0]||=e=>Y.value=!0},null,8,[`title`,`aria-label`])],8,[`to`])),e(W).loading?(u(),a(`div`,N,[n(e(re))])):(u(),a(`div`,P,[(u(!0),a(f,null,o(le.value,t=>(u(),g(e(ie),{key:t.id,class:c([`environment-card`,{active:t.id===Z.value,immutable:t.immutable}]),style:d(t.bgColor||t.color?{"--env-color":Q(t.bgColor)||Q(t.color)}:{}),tabindex:`0`,onClick:e=>$(t.id),onKeydown:ne(v(e=>$(t.id),[`self`]),[`enter`])},{title:p(()=>[i(`div`,F,[i(`div`,I,[t.color||t.bgColor?(u(),a(`span`,{key:0,class:`env-swatch`,style:d({backgroundColor:Q(t.bgColor)||Q(t.color),color:Q(t.color)})},null,4)):_(``,!0),i(`span`,null,m(t.name),1)]),i(`div`,L,[t.immutable?(u(),g(e(b),{key:0,severity:`warn`,value:e(C)(`environmentList.immutableBadge`)},null,8,[`value`])):_(``,!0),t.id===Z.value?(u(),g(e(b),{key:1,severity:`success`,value:e(C)(`environmentList.activeBadge`)},null,8,[`value`])):_(``,!0),i(`button`,{type:`button`,class:c([`star-default`,{"star-default--on":t.default}]),title:t.default?e(C)(`environmentList.defaultEnv`):e(C)(`environmentList.setAsDefault`),"aria-label":t.default?e(C)(`environmentList.defaultEnv`):e(C)(`environmentList.setAsDefault`),"aria-pressed":!!t.default,onClick:v(e=>!t.default&&fe(t.id),[`stop`])},[i(`i`,{class:c([`ti`,t.default?`ti-star-filled`:`ti-star`]),"aria-hidden":`true`},null,2)],10,R)])])]),content:p(()=>[t.description?(u(),a(`p`,z,m(t.description),1)):_(``,!0),t.parentIds.length>0?(u(),a(`p`,se,m(e(C)(`environmentList.parents`,{names:ue(t.parentIds).join(`, `)})),1)):_(``,!0),i(`p`,B,m(e(C)(`environmentList.variableCount`,Object.keys(t.variables??{}).length)),1)]),footer:p(()=>[i(`div`,V,[t.id!==Z.value&&!t.immutable?r((u(),g(e(S),{key:0,onClick:v(e=>pe(t.id),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-check`},null,8,[`onClick`])),[[l,e(C)(`environmentList.activateButton`),void 0,{top:!0}]]):_(``,!0),r(n(e(S),{onClick:v(e=>$(t.id),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-pencil`},null,8,[`onClick`]),[[l,e(C)(`environmentList.editButton`),void 0,{top:!0}]]),!t.immutable&&t.id!==Z.value?r((u(),g(e(S),{key:1,onClick:v(e=>me(t.id,t.name),[`stop`]),variant:`text`,rounded:``,icon:`ti ti-trash`,severity:`danger`,"data-testid":`env-delete-btn`},null,8,[`onClick`])),[[l,e(C)(`environmentList.deleteButton`),void 0,{top:!0}]]):_(``,!0)])]),_:2},1032,[`class`,`style`,`onClick`,`onKeydown`]))),128))])),n(e(x),{visible:Y.value,"onUpdate:visible":s[2]||=e=>Y.value=e,header:e(C)(`environments.createEnvironment`),style:{width:`600px`},modal:!1},{default:p(()=>[n(j,{"project-id":J.value,onSave:de,onCancel:s[1]||=e=>Y.value=!1},null,8,[`project-id`])]),_:1},8,[`visible`,`header`])])}}}),[[`__scopeId`,`data-v-3c91161e`]]);export{H as default};
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/trpc-CfuFkKgp.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/reactivity.esm-bundler-BQ9SB2vv.js","assets/runtime-core.esm-bundler-DujKY9QV.js","assets/preload-helper-BZ1Pz5am.js","assets/auth-Bk1GP5sB.js","assets/settings-scope-CKPq86HZ.js","assets/project.store-Bm2JWNbd.js","assets/project-launch.store-B5nhdGdh.js","assets/error-DpF7X5iu.js"])))=>i.map(i=>d[i]);
2
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,Ht as i,Yt as a,_ as o,b as s,bt as ee,ct as c,en as te,ft as ne,g as l,k as re,mt as u,o as ie,qt as d,rn as f,tt as ae,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as oe,I as h}from"./floating-ui.dom-DWhsZyqT.js";import{C as se,J as ce,S as le,Y as g,dt as _,ft as v,j as ue,mt as de,q as fe}from"./src--GO-VSJ0.js";import{a as pe,i as y,n as b}from"./project-launch.store-B5nhdGdh.js";import{g as me,h as he}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as ge}from"./scenario.store-88w6P6s2.js";import{r as x}from"./trpc-CfuFkKgp.js";import{t as _e}from"./preload-helper-BZ1Pz5am.js";import{r as ve,t as ye}from"./cloud-auth-D_am4FlK.js";import{a as be,n as S,o as xe,r as Se,s as Ce}from"./cloud-client-0zD_NI6q.js";import{a as we,c as Te,i as Ee,n as De,o as Oe,t as ke}from"./composables-DiiOYol8.js";import{r as Ae,t as je}from"./AiChatModals-It9jnB26.js";import{t as Me}from"./useAiChatDrawer-D_ofn8Eo.js";import{t as Ne}from"./shared-sse-Dcj_cNvF.js";import{t as Pe}from"./useCloudOrg-J8DAnocE.js";import{i as Fe,r as Ie,t as Le}from"./src-Cgix2VOi.js";import{t as Re}from"./SendToChatDialog-QHIkxNio.js";var ze=y(`kanban-queue`,()=>{let e=b();function n(){return{projectId:e.activeProjectId??void 0,orgId:e.activeOrgId}}let r=t({items:[],running:[],maxConcurrent:1}),i=null;async function a(){i||=x.kanbanQueue.onChanged.subscribe(void 0,{onData(e){r.value=e}})}function o(){i?.unsubscribe(),i=null}function s(e,t){return r.value.items.some(n=>n.boardId===e&&n.cardId===t)||r.value.running.some(n=>n.boardId===e&&n.cardId===t)}function ee(e,t){let n=r.value.items.find(n=>n.boardId===e&&n.cardId===t);return n?n.id:r.value.running.find(n=>n.boardId===e&&n.cardId===t)?.id??null}async function c(e){await x.kanbanQueue.add.mutate({...e,...n()})}async function te(e){await x.kanbanQueue.addColumn.mutate({...e,...n()})}async function ne(e){await x.kanbanQueue.remove.mutate({itemId:e})}async function l(){await x.kanbanQueue.stopAll.mutate()}async function re(e){await x.kanbanQueue.setMaxConcurrent.mutate({max:e})}return{state:r,init:a,destroy:o,isCardInQueue:s,getCardQueueItemId:ee,addCard:c,addColumn:te,removeItem:ne,stopAll:l,setMaxConcurrent:re}}),Be={key:0,class:`kanban-board-host`},Ve={class:`kb-boardmenu`},He={class:`upgrade-banner__cta`},Ue=[`onClick`],We={key:0,class:`kb-card__ai-badge kb-card__ai-badge--companion`},Ge={key:1,class:`kb-card__ai-badge kb-card__ai-badge--streaming`},Ke={key:2,class:`kb-card__ai-badge kb-card__ai-badge--unread`},qe={class:`kb-boardform`},Je={class:`kb-boardform__field`},Ye={for:`kb-board-name`},Xe={class:`kb-boardform__field`},Ze={for:`kb-board-desc`},Qe={class:`kb-boardform__field`},$e={for:`kb-board-instructions`},et={class:`kb-boardform__hint`},tt={class:`kb-dialog__footer`},nt={class:`kb-populate`},rt={class:`kb-populate__hint`},it={class:`kb-dialog__footer`},at={class:`kb-populate`},ot={class:`kb-populate__hint`},st={class:`kb-dialog__footer`},ct={key:0,class:`kb-queue-panel`},lt={class:`kb-queue-panel__header`},ut={class:`kb-queue-panel__title`},dt={class:`kb-queue-panel__concurrency`},ft={class:`kb-queue-panel__concurrency-label`},pt={class:`kb-queue-panel__concurrency-ctrl`},mt={key:0,class:`kb-queue-panel__section`},ht={class:`kb-queue-panel__section-title`},gt={class:`kb-queue-item__title`},_t={key:1,class:`kb-queue-panel__section`},vt={class:`kb-queue-panel__section-title`},yt={class:`kb-queue-item__title`},bt={key:2,class:`kb-queue-panel__empty`},xt={class:`kb-queue-panel__footer`},St={class:`kb-queue-col-dialog`},Ct={class:`kb-queue-col-dialog__field`},wt={for:`kanban-queue-runner`},Tt={class:`kb-queue-col-dialog__field`},Et={for:`kanban-queue-scenario`},Dt={class:`kb-dialog__footer`},Ot={key:1,class:`kanban-board-loading`},C=v(re({__name:`KanbanBoardPage`,props:{id:{}},setup(re){let v=re,{t:y}=de(),b=me(),x=he(),{orgId:C,orgSlug:w,cloudUser:kt,members:At,available:jt}=Pe(),Mt=ue();function Nt(e,t){return C.value?Ce(C.value,e,t):Promise.resolve(null)}function Pt(e){return be(e.id,C.value??``)}function Ft(e){return xe(e.id,e.contentType,C.value??``)}function It(e){return ye(e,{orgId:C.value})}let Lt=l(()=>At.value.map(e=>({userId:e.userId,name:e.name})));function Rt(e,t){return t?y(`kanban.board.${e}`,t):y(`kanban.board.${e}`)}let T=Ee(S,C,{streamUrl:Se,streamFactory:Ne,onConversationChanged:zt}),E=De(S,C);function zt(e){for(let t of e.cardIds)E.byCard.value[t]&&E.load(e.boardId,t)}function Bt(e){let t=T.activeBoard.value?.id;return t?E.load(t,e):Promise.resolve([])}function Vt(e,t,n){let r=T.activeBoard.value?.id;return r?E.link(r,e,t,n):Promise.resolve(!1)}function Ht(e,t){let n=T.activeBoard.value?.id;return n?E.resync(n,e,t):Promise.resolve(!1)}function Ut(e,t){let n=T.activeBoard.value?.id;return n?E.unlink(n,e,t):Promise.resolve(!1)}let Wt=Oe(S,C),{teams:Gt,myTeamIds:Kt,refresh:qt,refreshMine:Jt}=Te(S);i(C,e=>{e&&(qt(e),Jt(e))},{immediate:!0});let Yt=l(()=>{let e=At.value.find(e=>e.userId===kt.value?.id)?.role;return ke(e)?Gt.value.map(e=>e.id):Kt.value}),Xt=l(()=>Wt.templates.value.map(e=>({id:e.id,name:e.name,content:e.content}))),D=t(null),O=l(()=>T.activeBoard.value),k=l(()=>x.path.startsWith(`/issues/`)?`issues`:`kanban`),A=l(()=>`/${k.value}`),Zt=l(()=>`${k.value}-board`),Qt=l(()=>`${k.value}-card`),j=l(()=>O.value?.columns??[]),M=l(()=>!T.canWrite.value||!!O.value?.archived);i(jt,e=>{e||b.push(A.value)},{immediate:!0}),i([C,()=>v.id],async([e,t])=>{if(!e||!t)return;if(await T.openBoard(t),!T.activeBoard.value){b.push(A.value);return}let n=T.activeBoard.value.defaultView===`list`?`issues`:`kanban`;if(n!==k.value){let e=typeof x.params.cardId==`string`?x.params.cardId:``;b.replace({name:e?`${n}-card`:`${n}-board`,params:e?{id:t,cardId:e}:{id:t},query:x.query});return}await ae(),nn()},{immediate:!0});let N=l(()=>typeof x.params.cardId==`string`?x.params.cardId:``),P=!1,$t=!1;function en(e){for(let t of j.value){let n=t.cards.find(t=>t.id===e);if(n)return{colId:t.id,card:n}}return null}async function tn(e){let t=await T.loadCard(e);if(t&&N.value===e){P=!0;try{let e=t.card.archivedAt?t.card.archivedFrom?.columnId??``:t.columnId;D.value?.openCardEditor(e,t.card)}finally{P=!1}}}function nn(){let e=typeof x.query.card==`string`?x.query.card:``;if(e){b.replace({name:Qt.value,params:{id:v.id,cardId:e},query:{...x.query,card:void 0}});return}let t=N.value;if(t!==(D.value?.editingCard?.card.id??``)){P=!0;try{if(!t){D.value?.closeCardEditor();return}let e=en(t);if(e){D.value?.openCardEditor(e.colId,e.card);return}tn(t)}finally{P=!1}}}function rn(e){if(P)return;let t=e?.card.id??``;if(t!==N.value){if(t){$t=!0,b.push({name:Qt.value,params:{id:v.id,cardId:t}});return}if($t){$t=!1,b.back();return}b.replace({name:Zt.value,params:{id:v.id}})}}i(N,()=>nn());function an(e,t,n){return T.addComment(e,t,n)}async function on(e){T.markDirty(),await sn(e)||await T.discardLocalEdits()}async function sn(e){switch(e.kind){case`column-add`:return T.addColumn(e.title);case`column-rename`:return T.renameColumn(e.columnId,e.title);case`column-set-done`:return T.setColumnDone(e.columnId,e.done);case`column-delete`:return T.deleteColumn(e.columnId);case`columns-reorder`:return T.reorderColumns(e.columnIds);case`group-add`:return!!await T.addColumnGroup(e.title,{...e.color?{color:e.color}:{},...e.parentId?{parentId:e.parentId}:{}});case`group-update`:return T.updateColumnGroup(e.groupId,e.patch);case`group-delete`:return T.deleteColumnGroup(e.groupId);case`group-assign`:return T.assignToColumnGroup(e.member,e.groupId);case`card-add`:return!!await T.addCard(e.columnId,{id:e.card.id,title:e.card.title,markdown:e.card.markdown,...e.card.priority===void 0?{}:{priority:e.card.priority},...e.card.groups?.length?{groups:e.card.groups}:{},...e.card.color?{color:e.card.color}:{},...e.card.deadline?{deadline:e.card.deadline}:{},...e.card.attachments?.length?{attachments:e.card.attachments}:{},placement:e.placement});case`card-update`:return T.updateCard(e.cardId,e.patch);case`card-delete`:return T.deleteCard(e.cardId);case`card-archive`:return T.archiveCard(e.cardId);case`card-unarchive`:return T.unarchiveCard(e.cardId,e.toColumnId);case`card-move`:return T.moveCard(e.cardId,e.toColumnId,e.toIndex);case`card-history`:return!0}}async function cn(e){O.value&&await T.setColumnSubscription(O.value.id,e.columnId,e.subscription,e.teamId)}function ln(){w.value&&window.open(`${ve()}/app/${w.value}/settings/org/billing`,`_blank`,`noopener`)}let F=ge(),{claudeCodeAvailable:un,codexAvailable:dn}=pe(F),I=Me(),L=t(!1),fn=t(null),pn=t(null),R=``,z=null;c(()=>{F.init()});function mn(e){return(e.conversationEvents??e.history??[]).filter(e=>e.type===`conversation_started`||e.type===`scenario_started`).map(e=>{let t=e.detail??``;return t.includes(` — `)?t.split(` — `).pop():t}).filter(Boolean)}function hn(e){return e&&F.conversations.some(t=>t.id===e)?e:null}function gn(e){return e.type===`comment`?hn(e.conversationId):e.type!==`conversation_started`&&e.type!==`scenario_started`||!e.detail?null:hn(e.detail.includes(` — `)?e.detail.split(` — `).pop():e.detail)}function _n(e){if(!O.value)return null;let t=mn(e),n=B.state.running.filter(t=>t.cardId===e.id);return[...t,...n.map(e=>e.conversationId)].some(e=>F.isCompanionThinkingFor(e))?`companion`:n.length>0?`streaming`:B.state.items.some(t=>t.cardId===e.id)?`unread`:t.some(e=>F.streamingConvIds.has(e))?`streaming`:t.some(e=>F.unreadConvIds.has(e))?`unread`:null}function vn(e){F.selectConversation(e),D.value?.closeCardEditor(),I.open()}async function yn(e,t,n){z&&await T.addCardEvent(z.card.id,t,n??e)}function bn(e){z={colId:e.colId,card:e.card};let t=e.draft.title||e.card.title||``,n=e.draft.markdown||e.card.markdown||``;R=n?`${t}\n\n${n}`:t,D.value?.saveCard(),L.value=!0}function xn(e){if(!O.value)return;let t=e.draft.title||e.card.title||y(`kanban.board.card.untitled`),n=j.value.find(t=>t.id===e.colId)?.title??``,r=(e.draft.markdown??``).trim(),i=w.value?`${ve()}/app/${w.value}/${k.value}/${O.value.id}/card/${e.card.id}`:`${window.location.origin}/${k.value}/${O.value.id}/card/${e.card.id}`,a=[`📋 ${t}`];n&&a.push(`📍 ${y(`kanban.board.editor.columnLabel`,{column:n})}`),r&&a.push(r),a.push(`🔗 [${y(`kanban.board.editor.openCardLink`)}](${i})`),pn.value?.open(a.join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/trpc-Drabzwpd.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/reactivity.esm-bundler-BQ9SB2vv.js","assets/runtime-core.esm-bundler-DujKY9QV.js","assets/preload-helper-BZ1Pz5am.js","assets/auth-Cg9BWTfK.js","assets/settings-scope-Bv7QGPrt.js","assets/project.store-DGJr0Qr9.js","assets/project-launch.store-y7JBMNiE.js","assets/error-DpF7X5iu.js"])))=>i.map(i=>d[i]);
2
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,Ht as i,Yt as a,_ as o,b as s,bt as ee,ct as c,en as te,ft as ne,g as l,k as re,mt as u,o as ie,qt as d,rn as f,tt as ae,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as oe,I as h}from"./floating-ui.dom-DWhsZyqT.js";import{C as se,J as ce,S as le,Y as g,dt as _,ft as v,j as ue,mt as de,q as fe}from"./src--GO-VSJ0.js";import{a as pe,i as y,n as b}from"./project-launch.store-y7JBMNiE.js";import{g as me,h as he}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as ge}from"./scenario.store-YWHL2_wu.js";import{r as x}from"./trpc-Drabzwpd.js";import{t as _e}from"./preload-helper-BZ1Pz5am.js";import{r as ve,t as ye}from"./cloud-auth-D_am4FlK.js";import{a as be,n as S,o as xe,r as Se,s as Ce}from"./cloud-client-D_zCiW0s.js";import{a as we,c as Te,i as Ee,n as De,o as Oe,t as ke}from"./composables-DiiOYol8.js";import{r as Ae,t as je}from"./AiChatModals-D3scRE3S.js";import{t as Me}from"./useAiChatDrawer-D_ofn8Eo.js";import{t as Ne}from"./shared-sse-Dcj_cNvF.js";import{t as Pe}from"./useCloudOrg-BAQEtFPl.js";import{i as Fe,r as Ie,t as Le}from"./src-Dnwk6NpV.js";import{t as Re}from"./SendToChatDialog-BxWsyv29.js";var ze=y(`kanban-queue`,()=>{let e=b();function n(){return{projectId:e.activeProjectId??void 0,orgId:e.activeOrgId}}let r=t({items:[],running:[],maxConcurrent:1}),i=null;async function a(){i||=x.kanbanQueue.onChanged.subscribe(void 0,{onData(e){r.value=e}})}function o(){i?.unsubscribe(),i=null}function s(e,t){return r.value.items.some(n=>n.boardId===e&&n.cardId===t)||r.value.running.some(n=>n.boardId===e&&n.cardId===t)}function ee(e,t){let n=r.value.items.find(n=>n.boardId===e&&n.cardId===t);return n?n.id:r.value.running.find(n=>n.boardId===e&&n.cardId===t)?.id??null}async function c(e){await x.kanbanQueue.add.mutate({...e,...n()})}async function te(e){await x.kanbanQueue.addColumn.mutate({...e,...n()})}async function ne(e){await x.kanbanQueue.remove.mutate({itemId:e})}async function l(){await x.kanbanQueue.stopAll.mutate()}async function re(e){await x.kanbanQueue.setMaxConcurrent.mutate({max:e})}return{state:r,init:a,destroy:o,isCardInQueue:s,getCardQueueItemId:ee,addCard:c,addColumn:te,removeItem:ne,stopAll:l,setMaxConcurrent:re}}),Be={key:0,class:`kanban-board-host`},Ve={class:`kb-boardmenu`},He={class:`upgrade-banner__cta`},Ue=[`onClick`],We={key:0,class:`kb-card__ai-badge kb-card__ai-badge--companion`},Ge={key:1,class:`kb-card__ai-badge kb-card__ai-badge--streaming`},Ke={key:2,class:`kb-card__ai-badge kb-card__ai-badge--unread`},qe={class:`kb-boardform`},Je={class:`kb-boardform__field`},Ye={for:`kb-board-name`},Xe={class:`kb-boardform__field`},Ze={for:`kb-board-desc`},Qe={class:`kb-boardform__field`},$e={for:`kb-board-instructions`},et={class:`kb-boardform__hint`},tt={class:`kb-dialog__footer`},nt={class:`kb-populate`},rt={class:`kb-populate__hint`},it={class:`kb-dialog__footer`},at={class:`kb-populate`},ot={class:`kb-populate__hint`},st={class:`kb-dialog__footer`},ct={key:0,class:`kb-queue-panel`},lt={class:`kb-queue-panel__header`},ut={class:`kb-queue-panel__title`},dt={class:`kb-queue-panel__concurrency`},ft={class:`kb-queue-panel__concurrency-label`},pt={class:`kb-queue-panel__concurrency-ctrl`},mt={key:0,class:`kb-queue-panel__section`},ht={class:`kb-queue-panel__section-title`},gt={class:`kb-queue-item__title`},_t={key:1,class:`kb-queue-panel__section`},vt={class:`kb-queue-panel__section-title`},yt={class:`kb-queue-item__title`},bt={key:2,class:`kb-queue-panel__empty`},xt={class:`kb-queue-panel__footer`},St={class:`kb-queue-col-dialog`},Ct={class:`kb-queue-col-dialog__field`},wt={for:`kanban-queue-runner`},Tt={class:`kb-queue-col-dialog__field`},Et={for:`kanban-queue-scenario`},Dt={class:`kb-dialog__footer`},Ot={key:1,class:`kanban-board-loading`},C=v(re({__name:`KanbanBoardPage`,props:{id:{}},setup(re){let v=re,{t:y}=de(),b=me(),x=he(),{orgId:C,orgSlug:w,cloudUser:kt,members:At,available:jt}=Pe(),Mt=ue();function Nt(e,t){return C.value?Ce(C.value,e,t):Promise.resolve(null)}function Pt(e){return be(e.id,C.value??``)}function Ft(e){return xe(e.id,e.contentType,C.value??``)}function It(e){return ye(e,{orgId:C.value})}let Lt=l(()=>At.value.map(e=>({userId:e.userId,name:e.name})));function Rt(e,t){return t?y(`kanban.board.${e}`,t):y(`kanban.board.${e}`)}let T=Ee(S,C,{streamUrl:Se,streamFactory:Ne,onConversationChanged:zt}),E=De(S,C);function zt(e){for(let t of e.cardIds)E.byCard.value[t]&&E.load(e.boardId,t)}function Bt(e){let t=T.activeBoard.value?.id;return t?E.load(t,e):Promise.resolve([])}function Vt(e,t,n){let r=T.activeBoard.value?.id;return r?E.link(r,e,t,n):Promise.resolve(!1)}function Ht(e,t){let n=T.activeBoard.value?.id;return n?E.resync(n,e,t):Promise.resolve(!1)}function Ut(e,t){let n=T.activeBoard.value?.id;return n?E.unlink(n,e,t):Promise.resolve(!1)}let Wt=Oe(S,C),{teams:Gt,myTeamIds:Kt,refresh:qt,refreshMine:Jt}=Te(S);i(C,e=>{e&&(qt(e),Jt(e))},{immediate:!0});let Yt=l(()=>{let e=At.value.find(e=>e.userId===kt.value?.id)?.role;return ke(e)?Gt.value.map(e=>e.id):Kt.value}),Xt=l(()=>Wt.templates.value.map(e=>({id:e.id,name:e.name,content:e.content}))),D=t(null),O=l(()=>T.activeBoard.value),k=l(()=>x.path.startsWith(`/issues/`)?`issues`:`kanban`),A=l(()=>`/${k.value}`),Zt=l(()=>`${k.value}-board`),Qt=l(()=>`${k.value}-card`),j=l(()=>O.value?.columns??[]),M=l(()=>!T.canWrite.value||!!O.value?.archived);i(jt,e=>{e||b.push(A.value)},{immediate:!0}),i([C,()=>v.id],async([e,t])=>{if(!e||!t)return;if(await T.openBoard(t),!T.activeBoard.value){b.push(A.value);return}let n=T.activeBoard.value.defaultView===`list`?`issues`:`kanban`;if(n!==k.value){let e=typeof x.params.cardId==`string`?x.params.cardId:``;b.replace({name:e?`${n}-card`:`${n}-board`,params:e?{id:t,cardId:e}:{id:t},query:x.query});return}await ae(),nn()},{immediate:!0});let N=l(()=>typeof x.params.cardId==`string`?x.params.cardId:``),P=!1,$t=!1;function en(e){for(let t of j.value){let n=t.cards.find(t=>t.id===e);if(n)return{colId:t.id,card:n}}return null}async function tn(e){let t=await T.loadCard(e);if(t&&N.value===e){P=!0;try{let e=t.card.archivedAt?t.card.archivedFrom?.columnId??``:t.columnId;D.value?.openCardEditor(e,t.card)}finally{P=!1}}}function nn(){let e=typeof x.query.card==`string`?x.query.card:``;if(e){b.replace({name:Qt.value,params:{id:v.id,cardId:e},query:{...x.query,card:void 0}});return}let t=N.value;if(t!==(D.value?.editingCard?.card.id??``)){P=!0;try{if(!t){D.value?.closeCardEditor();return}let e=en(t);if(e){D.value?.openCardEditor(e.colId,e.card);return}tn(t)}finally{P=!1}}}function rn(e){if(P)return;let t=e?.card.id??``;if(t!==N.value){if(t){$t=!0,b.push({name:Qt.value,params:{id:v.id,cardId:t}});return}if($t){$t=!1,b.back();return}b.replace({name:Zt.value,params:{id:v.id}})}}i(N,()=>nn());function an(e,t,n){return T.addComment(e,t,n)}async function on(e){T.markDirty(),await sn(e)||await T.discardLocalEdits()}async function sn(e){switch(e.kind){case`column-add`:return T.addColumn(e.title);case`column-rename`:return T.renameColumn(e.columnId,e.title);case`column-set-done`:return T.setColumnDone(e.columnId,e.done);case`column-delete`:return T.deleteColumn(e.columnId);case`columns-reorder`:return T.reorderColumns(e.columnIds);case`group-add`:return!!await T.addColumnGroup(e.title,{...e.color?{color:e.color}:{},...e.parentId?{parentId:e.parentId}:{}});case`group-update`:return T.updateColumnGroup(e.groupId,e.patch);case`group-delete`:return T.deleteColumnGroup(e.groupId);case`group-assign`:return T.assignToColumnGroup(e.member,e.groupId);case`card-add`:return!!await T.addCard(e.columnId,{id:e.card.id,title:e.card.title,markdown:e.card.markdown,...e.card.priority===void 0?{}:{priority:e.card.priority},...e.card.groups?.length?{groups:e.card.groups}:{},...e.card.color?{color:e.card.color}:{},...e.card.deadline?{deadline:e.card.deadline}:{},...e.card.attachments?.length?{attachments:e.card.attachments}:{},placement:e.placement});case`card-update`:return T.updateCard(e.cardId,e.patch);case`card-delete`:return T.deleteCard(e.cardId);case`card-archive`:return T.archiveCard(e.cardId);case`card-unarchive`:return T.unarchiveCard(e.cardId,e.toColumnId);case`card-move`:return T.moveCard(e.cardId,e.toColumnId,e.toIndex);case`card-history`:return!0}}async function cn(e){O.value&&await T.setColumnSubscription(O.value.id,e.columnId,e.subscription,e.teamId)}function ln(){w.value&&window.open(`${ve()}/app/${w.value}/settings/org/billing`,`_blank`,`noopener`)}let F=ge(),{claudeCodeAvailable:un,codexAvailable:dn}=pe(F),I=Me(),L=t(!1),fn=t(null),pn=t(null),R=``,z=null;c(()=>{F.init()});function mn(e){return(e.conversationEvents??e.history??[]).filter(e=>e.type===`conversation_started`||e.type===`scenario_started`).map(e=>{let t=e.detail??``;return t.includes(` — `)?t.split(` — `).pop():t}).filter(Boolean)}function hn(e){return e&&F.conversations.some(t=>t.id===e)?e:null}function gn(e){return e.type===`comment`?hn(e.conversationId):e.type!==`conversation_started`&&e.type!==`scenario_started`||!e.detail?null:hn(e.detail.includes(` — `)?e.detail.split(` — `).pop():e.detail)}function _n(e){if(!O.value)return null;let t=mn(e),n=B.state.running.filter(t=>t.cardId===e.id);return[...t,...n.map(e=>e.conversationId)].some(e=>F.isCompanionThinkingFor(e))?`companion`:n.length>0?`streaming`:B.state.items.some(t=>t.cardId===e.id)?`unread`:t.some(e=>F.streamingConvIds.has(e))?`streaming`:t.some(e=>F.unreadConvIds.has(e))?`unread`:null}function vn(e){F.selectConversation(e),D.value?.closeCardEditor(),I.open()}async function yn(e,t,n){z&&await T.addCardEvent(z.card.id,t,n??e)}function bn(e){z={colId:e.colId,card:e.card};let t=e.draft.title||e.card.title||``,n=e.draft.markdown||e.card.markdown||``;R=n?`${t}\n\n${n}`:t,D.value?.saveCard(),L.value=!0}function xn(e){if(!O.value)return;let t=e.draft.title||e.card.title||y(`kanban.board.card.untitled`),n=j.value.find(t=>t.id===e.colId)?.title??``,r=(e.draft.markdown??``).trim(),i=w.value?`${ve()}/app/${w.value}/${k.value}/${O.value.id}/card/${e.card.id}`:`${window.location.origin}/${k.value}/${O.value.id}/card/${e.card.id}`,a=[`📋 ${t}`];n&&a.push(`📍 ${y(`kanban.board.editor.columnLabel`,{column:n})}`),r&&a.push(r),a.push(`🔗 [${y(`kanban.board.editor.openCardLink`)}](${i})`),pn.value?.open(a.join(`
3
3
 
4
- `))}function Sn(){return{kanbanBoardId:O.value?.id,kanbanCardId:z?.card.id}}async function Cn(e,t){let n=R,r=await F.createConversation({title:`Kanban: ${z?.card.title||`Card`}`,runner:e,providerId:t,...Sn()}),i=r?yn(r.id,`conversation_started`):null;D.value?.closeCardEditor(),n?I.openWithKanbanContext(n):I.open(),await i}function wn(e,t,n){L.value=!1,fn.value?.showScenarioDialog(e,R,t,n??void 0)}async function Tn(e,t){L.value=!1,await Cn(e===`keep`?void 0:e,t??void 0)}async function En(e,t,n,r){let i=t||R,a=await F.createConversation({scenarioId:e,scenarioInput:i,title:`Kanban: ${z?.card.title||`Card`}`,...Sn()});if(i&&a){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;F.startScenarioRun(a.id,e,i,void 0,t)}let o=i&&a?yn(a.id,`scenario_started`,`Scenario run — ${a.id}`):null;D.value?.closeCardEditor(),I.open(),await o}let B=ze(),V=t(!1),H=t(!1),Dn=t(``),On=t([]),U=t(``),W=t(``),kn=t([]),G=l(()=>B.state.items.length+B.state.running.length);c(async()=>{B.init();try{let{trpc:e}=await _e(async()=>{let{trpc:e}=await import(`./trpc-CfuFkKgp.js`).then(e=>e.i);return{trpc:e}},__vite__mapDeps([0,1,2,3,4,5])),{settingsScope:t}=await _e(async()=>{let{settingsScope:e}=await import(`./settings-scope-CKPq86HZ.js`).then(e=>e.n);return{settingsScope:e}},__vite__mapDeps([6,1,7,2,3,8,0,4,5,9])),n=await e.scenario.list.query(t());kn.value=n.map(e=>({id:e.id,name:e.name}))}catch{}}),ne(()=>B.destroy());function An(e){Dn.value=e.id,On.value=e.cards.map(e=>e.id),U.value=``,W.value=``,H.value=!0}async function jn(){O.value&&(await B.addColumn({boardId:O.value.id,columnId:Dn.value,cardIds:On.value,runner:U.value||void 0,scenarioId:W.value||void 0}),H.value=!1)}async function Mn(e){if(!O.value)return;let t=B.getCardQueueItemId(O.value.id,e.id);t?await B.removeItem(t):await B.addCard({boardId:O.value.id,cardId:e.id})}function Nn(e){return j.value.flatMap(e=>e.cards).find(t=>t.id===e)?.title??e}let K=t(!1),q=t(!1),J=t(``);async function Pn(e,t){if(!O.value||!J.value.trim())return;let n=J.value.trim(),r=await F.createConversation({title:`Kanban populate: ${O.value.name.slice(0,30)}`,runner:e,providerId:t,kanbanBoardId:O.value.id});if(q.value=!1,J.value=``,r){if(e===`claude-code`||e===`codex`){I.openWithPopulateContext(n);return}I.openPopulate(),await ae(),F.send(n,()=>{})}}async function Fn(e,t,n){if(!O.value||!J.value.trim())return;let r=J.value.trim(),i=await F.createConversation({title:`Kanban populate: ${O.value.name.slice(0,30)}`,scenarioId:e,scenarioInput:r,...t===`keep`?{}:{runner:t},...n?{providerId:n}:{},kanbanBoardId:O.value.id});q.value=!1,J.value=``,i&&(F.startScenarioRun(i.id,e,r,void 0,t===`keep`?void 0:{runnerOverride:t}),I.open())}let In=t([]);async function Ln(){let e=await T.loadBoardColumns();In.value=e.filter(e=>e.id!==O.value?.id)}i(()=>[C.value,O.value?.id].join(`:`),()=>{Ln()},{immediate:!0});async function Rn(e,t,n){let r=await T.moveCardToBoard(e,t,n);return r&&Ln(),r}function zn(e){b.push({name:`kanban-card`,params:{id:e.boardId,cardId:e.cardId}})}async function Bn(e,t){return T.setCardParent(e,t?{boardId:v.id,cardId:t}:null)}let Y=t(!1),X=t({name:``,description:``,instructions:``});function Vn(){let e=O.value;e&&(X.value={name:e.name,description:e.description??``,instructions:e.instructions??``},Y.value=!0)}async function Hn(){let e=O.value;e&&X.value.name.trim()&&await T.updateBoardById(e.id,{name:X.value.name.trim(),description:X.value.description.trim(),instructions:X.value.instructions.trim()})&&(Y.value=!1)}function Un(){let e=O.value;if(!e)return;let t=!e.archived;Mt.require({message:y(t?`kanban.board.archiveBoard.confirm`:`kanban.board.archiveBoard.restoreConfirm`,{name:e.name}),header:y(t?`kanban.board.archiveBoard.header`:`kanban.board.archiveBoard.restoreHeader`),icon:`ti ti-inbox`,accept:async()=>{await T.updateBoardById(e.id,{archived:t})&&t&&await b.push(A.value)}})}function Wn(){let e=O.value;if(!e)return;let t=A.value;Mt.require({message:y(`kanban.list.dialogs.confirmDeleteMessage`,{name:e.name}),header:y(`kanban.list.dialogs.confirmDeleteHeader`),icon:`ti ti-trash`,acceptProps:{severity:`danger`},accept:async()=>{await T.deleteBoard(e.id)&&await b.push(t)}})}let Gn=we(S,C),Z=t(!1),Q=t(``),Kn=t(!1);function qn(){Q.value=O.value?.name??``,Kn.value=!1,Z.value=!0}async function Jn(){let e=O.value;e&&Q.value.trim()&&await Gn.createTemplate(Q.value.trim(),e.instructions??``,[...e.columns].sort((e,t)=>e.order-t.order).map(e=>({title:e.title,...e.groupId?{groupId:e.groupId}:{}})),(e.columnGroups??[]).map(e=>({id:e.id,title:e.title,...e.color?{color:e.color}:{},...e.parentId?{parentId:e.parentId}:{}})))&&(Kn.value=!0,Z.value=!1)}let Yn=t(null),Xn=t(null),Zn=(e,t)=>t?y(`kanban.list.${e}`,t):y(`kanban.list.${e}`),Qn=t(null),$n=(e,t)=>t?y(`kanban.${e}`,t):y(`kanban.${e}`);function er(e){Qn.value=null,b.push({name:Qt.value,params:{id:v.id,cardId:e}})}function $(e){Yn.value?.hide(),e()}function tr(){J.value=``,K.value=!0}function nr(){J.value.trim()&&(K.value=!1,F.fetchProviders(),F.checkCliAvailability(),q.value=!0)}async function rr(e,t){await Pn(e===`keep`?void 0:e,t??void 0)}async function ir(e,t,n){await Fn(e,t,n)}return i(()=>F.streamingConvIds.size,()=>{T.refreshActiveBoard()}),(t,i)=>{let c=n(`tooltip`);return O.value?(u(),s(`div`,Be,[r(e(Fe),{ref_key:`boardRef`,ref:D,columns:j.value,"column-groups":O.value.columnGroups??[],name:O.value.name,"board-id":O.value.id,view:O.value.defaultView,"read-only":M.value,templates:Xt.value,t:Rt,"resolve-conversation-id":gn,"current-user-id":e(kt)?.id,members:Lt.value,"column-subscriptions":O.value.columnSubscriptions??{},teams:e(Gt),"manageable-team-ids":Yt.value,"column-team-subscriptions":O.value.columnTeamSubscriptions??{},"avatar-url":It,"upload-image":Nt,"fetch-attachment":Ft,"delete-attachment":Pt,"load-history":e(T).loadCardHistory,histories:e(T).cardHistories.value,"add-comment":an,"edit-comment":e(T).updateComment,"remove-comment":e(T).deleteComment,"move-card":e(T).moveCard,"other-boards":In.value,"move-card-to-board":Rn,"card-links":e(T).cardLinks.value,"linked-cards":e(T).linkedCards.value,"set-card-parent":Bn,"load-placements":e(T).loadCardPlacements,"place-card":e(T).addCardPlacement,"unplace-card":e(T).removeCardPlacement,"search-org-cards":e(T).searchOrgCards,"can-place":e(T).canWrite.value,"conversation-integrations":e(E).integrations.value,"card-conversations":e(E).byCard.value,"load-conversations":Bt,"search-conversations":e(E).search,"link-conversation":Vt,"unlink-conversation":Ut,"resync-conversation":Ht,"archived-cards":e(T).archivedCards.value,"loading-archive":e(T).loadingArchive.value,"archive-truncated":e(T).archiveTruncated.value,"search-matches":e(T).searchMatches.value,"search-truncated":e(T).searchTruncated.value,onIntent:on,onLoadArchive:e(T).loadArchivedCards,onSearchCards:e(T).searchCards,onBack:i[11]||=t=>e(b).push(A.value),onOpenConversation:vn,onCardOpen:rn,onUpdateColumnSubscription:cn,onOpenLinkedCard:zn},{"header-actions":d(()=>[G.value>0?(u(),p(e(_),{key:0,label:e(y)(`kanban.board.queue.panelHeader`),icon:`ti ti-list`,severity:`secondary`,variant:`outlined`,size:`small`,badge:String(G.value),"badge-severity":`warn`,onClick:i[0]||=e=>V.value=!V.value},null,8,[`label`,`badge`])):m(``,!0),O.value?a((u(),p(e(_),{key:1,icon:`ti ti-chart-line`,variant:`text`,rounded:``,size:`small`,"aria-label":e(y)(`kanban.list.flow.open`),onClick:i[1]||=e=>Xn.value=O.value},null,8,[`aria-label`])),[[c,e(y)(`kanban.list.flow.open`),void 0,{bottom:!0}]]):m(``,!0),O.value?a((u(),p(e(_),{key:2,icon:`ti ti-history`,variant:`text`,rounded:``,size:`small`,"aria-label":e(y)(`kanban.list.history.open`),onClick:i[2]||=e=>Qn.value=O.value},null,8,[`aria-label`])),[[c,e(y)(`kanban.list.history.open`),void 0,{bottom:!0}]]):m(``,!0),e(T).canWrite.value?(u(),p(e(_),{key:3,icon:`ti ti-dots-vertical`,severity:`secondary`,variant:`outlined`,size:`small`,title:e(y)(`kanban.board.actions.menu`),"aria-label":e(y)(`kanban.board.actions.menu`),onClick:i[3]||=e=>Yn.value?.toggle(e)},null,8,[`title`,`aria-label`])):m(``,!0),r(e(se),{ref_key:`boardMenu`,ref:Yn},{default:d(()=>[o(`div`,Ve,[M.value?m(``,!0):(u(),s(`button`,{key:0,class:`kb-boardmenu__item`,onClick:i[4]||=e=>$(Vn)},[i[33]||=o(`i`,{class:`ti ti-pencil`},null,-1),o(`span`,null,f(e(y)(`kanban.board.editBoard.action`)),1)])),M.value?m(``,!0):(u(),s(`button`,{key:1,class:`kb-boardmenu__item`,onClick:i[5]||=e=>$(tr)},[i[34]||=o(`i`,{class:`ti ti-sparkles`},null,-1),o(`span`,null,f(e(y)(`kanban.board.aiPopulate`)),1)])),!M.value&&O.value?.defaultView!==`list`?(u(),s(`button`,{key:2,class:`kb-boardmenu__item`,onClick:i[6]||=e=>$(qn)},[i[35]||=o(`i`,{class:`ti ti-bookmark`},null,-1),o(`span`,null,f(e(y)(`kanban.board.saveTemplate.action`)),1)])):m(``,!0),o(`button`,{class:`kb-boardmenu__item`,onClick:i[7]||=e=>$(Un)},[i[36]||=o(`i`,{class:`ti ti-inbox`},null,-1),o(`span`,null,f(O.value?.archived?e(y)(`kanban.list.restore`):e(y)(`kanban.list.archive`)),1)]),o(`button`,{class:`kb-boardmenu__item kb-boardmenu__item--danger`,onClick:i[8]||=e=>$(Wn)},[i[37]||=o(`i`,{class:`ti ti-trash`},null,-1),o(`span`,null,f(e(y)(`kanban.board.deleteBoard.action`)),1)])])]),_:1},512),r(e(Ie),{board:Xn.value,load:e(T).boardFlow,t:Zn,onClose:i[9]||=e=>Xn.value=null},null,8,[`board`,`load`]),r(e(Le),{board:Qn.value,load:e(T).boardHistory,t:$n,onClose:i[10]||=e=>Qn.value=null,onOpenCard:er},null,8,[`board`,`load`])]),banner:d(()=>[e(T).planLocked.value?(u(),s(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:h(ln,[`prevent`])},[o(`span`,null,f(e(y)(`kanban.cloud.readOnlyNotice`)),1),o(`span`,He,f(e(y)(`kanban.cloud.upgradeCta`)),1)])):m(``,!0)]),"column-actions":d(({column:t})=>[M.value?m(``,!0):a((u(),p(e(_),{key:0,icon:`ti ti-list`,variant:`text`,rounded:``,size:`small`,onClick:h(e=>An(t),[`stop`])},null,8,[`onClick`])),[[c,e(y)(`kanban.board.queue.addColumnTooltip`),void 0,{bottom:!0}]])]),"card-actions":d(({card:t})=>[M.value?m(``,!0):a((u(),s(`button`,{key:0,class:te([`kb-card__queue-btn`,{"kb-card__queue-btn--active":O.value&&e(B).isCardInQueue(O.value.id,t.id)}]),onClick:h(e=>Mn(t),[`stop`])},[...i[38]||=[o(`i`,{class:`ti ti-list`},null,-1)]],10,Ue)),[[c,O.value&&e(B).isCardInQueue(O.value.id,t.id)?e(y)(`kanban.board.queue.tooltipInQueue`):e(y)(`kanban.board.queue.tooltip`),void 0,{bottom:!0}]])]),"card-badges":d(({card:t})=>[_n(t)===`companion`?a((u(),s(`span`,We,null,512)),[[c,e(y)(`kanban.board.aiStatus.companion`),void 0,{bottom:!0}]]):_n(t)===`streaming`?a((u(),s(`span`,Ge,null,512)),[[c,e(y)(`kanban.board.aiStatus.streaming`),void 0,{bottom:!0}]]):_n(t)===`unread`?a((u(),s(`span`,Ke,null,512)),[[c,e(y)(`kanban.board.aiStatus.unread`),void 0,{bottom:!0}]]):m(``,!0)]),"card-editor-actions":d(({card:t,colId:n,draft:i})=>[r(e(_),{label:e(y)(`kanban.board.editor.launchAi`),icon:`ti ti-sparkles`,severity:`secondary`,variant:`outlined`,size:`small`,disabled:M.value,onClick:e=>bn({card:t,colId:n,draft:i})},null,8,[`label`,`disabled`,`onClick`]),r(e(_),{label:e(y)(`kanban.board.editor.sendToChat`),icon:`ti ti-messages`,severity:`secondary`,variant:`outlined`,size:`small`,onClick:e=>xn({card:t,colId:n,draft:i})},null,8,[`label`,`onClick`])]),_:1},8,`columns.column-groups.name.board-id.view.read-only.templates.current-user-id.members.column-subscriptions.teams.manageable-team-ids.column-team-subscriptions.load-history.histories.edit-comment.remove-comment.move-card.other-boards.card-links.linked-cards.load-placements.place-card.unplace-card.search-org-cards.can-place.conversation-integrations.card-conversations.search-conversations.archived-cards.loading-archive.archive-truncated.search-matches.search-truncated.onLoadArchive.onSearchCards`.split(`.`)),r(e(g),{visible:L.value,header:e(y)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":i[12]||=e=>{e||(L.value=!1)}},{default:d(()=>[r(Ae,{compact:``,onSelectScenario:wn,onSkip:Tn})]),_:1},8,[`visible`,`header`]),r(je,{ref_key:`launchModalsRef`,ref:fn,onConfirmScenarioStart:En},null,512),r(Re,{ref_key:`sendToChatRef`,ref:pn},null,512),r(e(g),{visible:Y.value,header:e(y)(`kanban.board.editBoard.header`),modal:!0,style:{width:`550px`},"onUpdate:visible":i[17]||=e=>{e||(Y.value=!1)}},{footer:d(()=>[o(`div`,tt,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[16]||=e=>Y.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.editBoard.save`),icon:`ti ti-check`,disabled:!X.value.name.trim(),onClick:Hn},null,8,[`label`,`disabled`])])]),default:d(()=>[o(`div`,qe,[o(`div`,Je,[o(`label`,Ye,f(e(y)(`kanban.list.nameLabel`)),1),r(e(ce),{id:`kb-board-name`,modelValue:X.value.name,"onUpdate:modelValue":i[13]||=e=>X.value.name=e,autofocus:``,class:`w-full`},null,8,[`modelValue`])]),o(`div`,Xe,[o(`label`,Ze,f(e(y)(`kanban.list.descriptionLabel`)),1),r(e(fe),{id:`kb-board-desc`,modelValue:X.value.description,"onUpdate:modelValue":i[14]||=e=>X.value.description=e,rows:`3`,class:`w-full`},null,8,[`modelValue`])]),o(`div`,Qe,[o(`label`,$e,f(e(y)(`kanban.list.instructionsLabel`)),1),r(e(fe),{id:`kb-board-instructions`,modelValue:X.value.instructions,"onUpdate:modelValue":i[15]||=e=>X.value.instructions=e,rows:`6`,class:`w-full`,placeholder:e(y)(`kanban.list.instructionsPlaceholder`)},null,8,[`modelValue`,`placeholder`]),o(`small`,et,f(e(y)(`kanban.list.instructionsHint`)),1)])])]),_:1},8,[`visible`,`header`]),r(e(g),{visible:Z.value,header:e(y)(`kanban.board.saveTemplate.header`),modal:!0,style:{width:`450px`},"onUpdate:visible":i[20]||=e=>{e||(Z.value=!1)}},{footer:d(()=>[o(`div`,it,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[19]||=e=>Z.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.saveTemplate.save`),icon:`ti ti-bookmark`,disabled:!Q.value.trim(),onClick:Jn},null,8,[`label`,`disabled`])])]),default:d(()=>[o(`div`,nt,[o(`p`,rt,f(e(y)(`kanban.board.saveTemplate.hint`,{count:O.value?.columns.length??0})),1),r(e(ce),{modelValue:Q.value,"onUpdate:modelValue":i[18]||=e=>Q.value=e,class:`w-full`,autofocus:``,placeholder:e(y)(`kanban.board.saveTemplate.namePlaceholder`),onKeyup:oe(Jn,[`enter`])},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`visible`,`header`]),r(e(g),{visible:K.value,header:e(y)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`550px`},"onUpdate:visible":i[23]||=e=>{e||(K.value=!1)}},{footer:d(()=>[o(`div`,st,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[22]||=e=>K.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.populateDialog.generate`),icon:`ti ti-sparkles`,disabled:!J.value.trim(),onClick:nr},null,8,[`label`,`disabled`])])]),default:d(()=>[o(`div`,at,[o(`p`,ot,f(e(y)(`kanban.board.populateDialog.hint`)),1),r(e(fe),{modelValue:J.value,"onUpdate:modelValue":i[21]||=e=>J.value=e,placeholder:e(y)(`kanban.board.populateDialog.placeholder`),autoResize:!0,rows:`4`,class:`w-full`,onKeydown:[oe(h(nr,[`ctrl`]),[`enter`]),oe(h(nr,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),r(e(g),{visible:q.value,header:e(y)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":i[24]||=e=>{e||(q.value=!1)}},{default:d(()=>[r(Ae,{compact:``,onSelectScenario:ir,onSkip:rr})]),_:1},8,[`visible`,`header`]),V.value?(u(),s(`div`,ct,[o(`div`,lt,[o(`span`,ut,f(e(y)(`kanban.board.queue.panelHeader`)),1),r(e(_),{icon:`ti ti-x`,variant:`text`,rounded:``,size:`small`,onClick:i[25]||=e=>V.value=!1})]),o(`div`,dt,[o(`span`,ft,f(e(y)(`kanban.board.queue.concurrency`)),1),o(`div`,pt,[r(e(_),{icon:`ti ti-minus`,variant:`text`,rounded:``,size:`small`,disabled:e(B).state.maxConcurrent<=1,onClick:i[26]||=t=>e(B).setMaxConcurrent(e(B).state.maxConcurrent-1)},null,8,[`disabled`]),o(`span`,null,f(e(B).state.maxConcurrent),1),r(e(_),{icon:`ti ti-plus`,variant:`text`,rounded:``,size:`small`,onClick:i[27]||=t=>e(B).setMaxConcurrent(e(B).state.maxConcurrent+1)})])]),e(B).state.running.length>0?(u(),s(`div`,mt,[o(`div`,ht,f(e(y)(`kanban.board.queue.runningSection`,{count:e(B).state.running.length})),1),(u(!0),s(ie,null,ee(e(B).state.running.filter(e=>e.boardId===O.value?.id),t=>(u(),s(`div`,{key:t.id,class:`kb-queue-item kb-queue-item--running`},[i[39]||=o(`i`,{class:`ti ti-spin ti-loader-2`},null,-1),o(`span`,gt,f(Nn(t.cardId)),1),r(e(_),{icon:`ti ti-player-stop`,variant:`text`,rounded:``,size:`small`,severity:`danger`,onClick:n=>e(B).removeItem(t.id)},null,8,[`onClick`])]))),128))])):m(``,!0),e(B).state.items.length>0?(u(),s(`div`,_t,[o(`div`,vt,f(e(y)(`kanban.board.queue.waitingSection`,{count:e(B).state.items.length})),1),(u(!0),s(ie,null,ee(e(B).state.items.filter(e=>e.boardId===O.value?.id),t=>(u(),s(`div`,{key:t.id,class:`kb-queue-item`},[i[40]||=o(`i`,{class:`ti ti-clock`},null,-1),o(`span`,yt,f(Nn(t.cardId)),1),r(e(_),{icon:`ti ti-x`,variant:`text`,rounded:``,size:`small`,onClick:n=>e(B).removeItem(t.id)},null,8,[`onClick`])]))),128))])):m(``,!0),G.value===0?(u(),s(`div`,bt,f(e(y)(`kanban.board.queue.empty`)),1)):m(``,!0),o(`div`,xt,[r(e(_),{label:e(y)(`kanban.board.queue.stopAll`),icon:`ti ti-player-stop`,severity:`danger`,variant:`text`,size:`small`,disabled:G.value===0,onClick:i[28]||=t=>e(B).stopAll()},null,8,[`label`,`disabled`])])])):m(``,!0),r(e(g),{visible:H.value,header:e(y)(`kanban.board.queue.addColumnDialog.header`),modal:!0,style:{width:`420px`},"onUpdate:visible":i[32]||=e=>{e||(H.value=!1)}},{footer:d(()=>[o(`div`,Dt,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[31]||=e=>H.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.queue.addColumnDialog.confirm`),icon:`ti ti-list`,onClick:jn},null,8,[`label`])])]),default:d(()=>[o(`div`,St,[o(`div`,Ct,[o(`label`,wt,f(e(y)(`kanban.board.queue.addColumnDialog.runner`)),1),r(e(le),{modelValue:U.value,"onUpdate:modelValue":i[29]||=e=>U.value=e,"input-id":`kanban-queue-runner`,options:[{value:``,label:`Auto`},{value:`claude-code`,label:`Claude Code${e(un)?``:` (non installé)`}`,disabled:!e(un)},{value:`codex`,label:`Codex${e(dn)?``:` (non installé)`}`,disabled:!e(dn)}],"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,fluid:``},null,8,[`modelValue`,`options`])]),o(`div`,Tt,[o(`label`,Et,f(e(y)(`kanban.board.queue.addColumnDialog.scenario`)),1),r(e(le),{modelValue:W.value,"onUpdate:modelValue":i[30]||=e=>W.value=e,"input-id":`kanban-queue-scenario`,options:[{id:``,name:e(y)(`kanban.board.queue.addColumnDialog.noScenario`)},...kn.value],"option-label":`name`,"option-value":`id`,fluid:``},null,8,[`modelValue`,`options`])])])]),_:1},8,[`visible`,`header`])])):e(T).loading.value?(u(),s(`div`,Ot,[...i[41]||=[o(`i`,{class:`ti ti-spin ti-loader-2`},null,-1)]])):m(``,!0)}}}),[[`__scopeId`,`data-v-754add64`]]);export{C as default};
4
+ `))}function Sn(){return{kanbanBoardId:O.value?.id,kanbanCardId:z?.card.id}}async function Cn(e,t){let n=R,r=await F.createConversation({title:`Kanban: ${z?.card.title||`Card`}`,runner:e,providerId:t,...Sn()}),i=r?yn(r.id,`conversation_started`):null;D.value?.closeCardEditor(),n?I.openWithKanbanContext(n):I.open(),await i}function wn(e,t,n){L.value=!1,fn.value?.showScenarioDialog(e,R,t,n??void 0)}async function Tn(e,t){L.value=!1,await Cn(e===`keep`?void 0:e,t??void 0)}async function En(e,t,n,r){let i=t||R,a=await F.createConversation({scenarioId:e,scenarioInput:i,title:`Kanban: ${z?.card.title||`Card`}`,...Sn()});if(i&&a){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;F.startScenarioRun(a.id,e,i,void 0,t)}let o=i&&a?yn(a.id,`scenario_started`,`Scenario run — ${a.id}`):null;D.value?.closeCardEditor(),I.open(),await o}let B=ze(),V=t(!1),H=t(!1),Dn=t(``),On=t([]),U=t(``),W=t(``),kn=t([]),G=l(()=>B.state.items.length+B.state.running.length);c(async()=>{B.init();try{let{trpc:e}=await _e(async()=>{let{trpc:e}=await import(`./trpc-Drabzwpd.js`).then(e=>e.i);return{trpc:e}},__vite__mapDeps([0,1,2,3,4,5])),{settingsScope:t}=await _e(async()=>{let{settingsScope:e}=await import(`./settings-scope-Bv7QGPrt.js`).then(e=>e.n);return{settingsScope:e}},__vite__mapDeps([6,1,7,2,3,8,0,4,5,9])),n=await e.scenario.list.query(t());kn.value=n.map(e=>({id:e.id,name:e.name}))}catch{}}),ne(()=>B.destroy());function An(e){Dn.value=e.id,On.value=e.cards.map(e=>e.id),U.value=``,W.value=``,H.value=!0}async function jn(){O.value&&(await B.addColumn({boardId:O.value.id,columnId:Dn.value,cardIds:On.value,runner:U.value||void 0,scenarioId:W.value||void 0}),H.value=!1)}async function Mn(e){if(!O.value)return;let t=B.getCardQueueItemId(O.value.id,e.id);t?await B.removeItem(t):await B.addCard({boardId:O.value.id,cardId:e.id})}function Nn(e){return j.value.flatMap(e=>e.cards).find(t=>t.id===e)?.title??e}let K=t(!1),q=t(!1),J=t(``);async function Pn(e,t){if(!O.value||!J.value.trim())return;let n=J.value.trim(),r=await F.createConversation({title:`Kanban populate: ${O.value.name.slice(0,30)}`,runner:e,providerId:t,kanbanBoardId:O.value.id});if(q.value=!1,J.value=``,r){if(e===`claude-code`||e===`codex`){I.openWithPopulateContext(n);return}I.openPopulate(),await ae(),F.send(n,()=>{})}}async function Fn(e,t,n){if(!O.value||!J.value.trim())return;let r=J.value.trim(),i=await F.createConversation({title:`Kanban populate: ${O.value.name.slice(0,30)}`,scenarioId:e,scenarioInput:r,...t===`keep`?{}:{runner:t},...n?{providerId:n}:{},kanbanBoardId:O.value.id});q.value=!1,J.value=``,i&&(F.startScenarioRun(i.id,e,r,void 0,t===`keep`?void 0:{runnerOverride:t}),I.open())}let In=t([]);async function Ln(){let e=await T.loadBoardColumns();In.value=e.filter(e=>e.id!==O.value?.id)}i(()=>[C.value,O.value?.id].join(`:`),()=>{Ln()},{immediate:!0});async function Rn(e,t,n){let r=await T.moveCardToBoard(e,t,n);return r&&Ln(),r}function zn(e){b.push({name:`kanban-card`,params:{id:e.boardId,cardId:e.cardId}})}async function Bn(e,t){return T.setCardParent(e,t?{boardId:v.id,cardId:t}:null)}let Y=t(!1),X=t({name:``,description:``,instructions:``});function Vn(){let e=O.value;e&&(X.value={name:e.name,description:e.description??``,instructions:e.instructions??``},Y.value=!0)}async function Hn(){let e=O.value;e&&X.value.name.trim()&&await T.updateBoardById(e.id,{name:X.value.name.trim(),description:X.value.description.trim(),instructions:X.value.instructions.trim()})&&(Y.value=!1)}function Un(){let e=O.value;if(!e)return;let t=!e.archived;Mt.require({message:y(t?`kanban.board.archiveBoard.confirm`:`kanban.board.archiveBoard.restoreConfirm`,{name:e.name}),header:y(t?`kanban.board.archiveBoard.header`:`kanban.board.archiveBoard.restoreHeader`),icon:`ti ti-inbox`,accept:async()=>{await T.updateBoardById(e.id,{archived:t})&&t&&await b.push(A.value)}})}function Wn(){let e=O.value;if(!e)return;let t=A.value;Mt.require({message:y(`kanban.list.dialogs.confirmDeleteMessage`,{name:e.name}),header:y(`kanban.list.dialogs.confirmDeleteHeader`),icon:`ti ti-trash`,acceptProps:{severity:`danger`},accept:async()=>{await T.deleteBoard(e.id)&&await b.push(t)}})}let Gn=we(S,C),Z=t(!1),Q=t(``),Kn=t(!1);function qn(){Q.value=O.value?.name??``,Kn.value=!1,Z.value=!0}async function Jn(){let e=O.value;e&&Q.value.trim()&&await Gn.createTemplate(Q.value.trim(),e.instructions??``,[...e.columns].sort((e,t)=>e.order-t.order).map(e=>({title:e.title,...e.groupId?{groupId:e.groupId}:{}})),(e.columnGroups??[]).map(e=>({id:e.id,title:e.title,...e.color?{color:e.color}:{},...e.parentId?{parentId:e.parentId}:{}})))&&(Kn.value=!0,Z.value=!1)}let Yn=t(null),Xn=t(null),Zn=(e,t)=>t?y(`kanban.list.${e}`,t):y(`kanban.list.${e}`),Qn=t(null),$n=(e,t)=>t?y(`kanban.${e}`,t):y(`kanban.${e}`);function er(e){Qn.value=null,b.push({name:Qt.value,params:{id:v.id,cardId:e}})}function $(e){Yn.value?.hide(),e()}function tr(){J.value=``,K.value=!0}function nr(){J.value.trim()&&(K.value=!1,F.fetchProviders(),F.checkCliAvailability(),q.value=!0)}async function rr(e,t){await Pn(e===`keep`?void 0:e,t??void 0)}async function ir(e,t,n){await Fn(e,t,n)}return i(()=>F.streamingConvIds.size,()=>{T.refreshActiveBoard()}),(t,i)=>{let c=n(`tooltip`);return O.value?(u(),s(`div`,Be,[r(e(Fe),{ref_key:`boardRef`,ref:D,columns:j.value,"column-groups":O.value.columnGroups??[],name:O.value.name,"board-id":O.value.id,view:O.value.defaultView,"read-only":M.value,templates:Xt.value,t:Rt,"resolve-conversation-id":gn,"current-user-id":e(kt)?.id,members:Lt.value,"column-subscriptions":O.value.columnSubscriptions??{},teams:e(Gt),"manageable-team-ids":Yt.value,"column-team-subscriptions":O.value.columnTeamSubscriptions??{},"avatar-url":It,"upload-image":Nt,"fetch-attachment":Ft,"delete-attachment":Pt,"load-history":e(T).loadCardHistory,histories:e(T).cardHistories.value,"add-comment":an,"edit-comment":e(T).updateComment,"remove-comment":e(T).deleteComment,"move-card":e(T).moveCard,"other-boards":In.value,"move-card-to-board":Rn,"card-links":e(T).cardLinks.value,"linked-cards":e(T).linkedCards.value,"set-card-parent":Bn,"load-placements":e(T).loadCardPlacements,"place-card":e(T).addCardPlacement,"unplace-card":e(T).removeCardPlacement,"search-org-cards":e(T).searchOrgCards,"can-place":e(T).canWrite.value,"conversation-integrations":e(E).integrations.value,"card-conversations":e(E).byCard.value,"load-conversations":Bt,"search-conversations":e(E).search,"link-conversation":Vt,"unlink-conversation":Ut,"resync-conversation":Ht,"archived-cards":e(T).archivedCards.value,"loading-archive":e(T).loadingArchive.value,"archive-truncated":e(T).archiveTruncated.value,"search-matches":e(T).searchMatches.value,"search-truncated":e(T).searchTruncated.value,onIntent:on,onLoadArchive:e(T).loadArchivedCards,onSearchCards:e(T).searchCards,onBack:i[11]||=t=>e(b).push(A.value),onOpenConversation:vn,onCardOpen:rn,onUpdateColumnSubscription:cn,onOpenLinkedCard:zn},{"header-actions":d(()=>[G.value>0?(u(),p(e(_),{key:0,label:e(y)(`kanban.board.queue.panelHeader`),icon:`ti ti-list`,severity:`secondary`,variant:`outlined`,size:`small`,badge:String(G.value),"badge-severity":`warn`,onClick:i[0]||=e=>V.value=!V.value},null,8,[`label`,`badge`])):m(``,!0),O.value?a((u(),p(e(_),{key:1,icon:`ti ti-chart-line`,variant:`text`,rounded:``,size:`small`,"aria-label":e(y)(`kanban.list.flow.open`),onClick:i[1]||=e=>Xn.value=O.value},null,8,[`aria-label`])),[[c,e(y)(`kanban.list.flow.open`),void 0,{bottom:!0}]]):m(``,!0),O.value?a((u(),p(e(_),{key:2,icon:`ti ti-history`,variant:`text`,rounded:``,size:`small`,"aria-label":e(y)(`kanban.list.history.open`),onClick:i[2]||=e=>Qn.value=O.value},null,8,[`aria-label`])),[[c,e(y)(`kanban.list.history.open`),void 0,{bottom:!0}]]):m(``,!0),e(T).canWrite.value?(u(),p(e(_),{key:3,icon:`ti ti-dots-vertical`,severity:`secondary`,variant:`outlined`,size:`small`,title:e(y)(`kanban.board.actions.menu`),"aria-label":e(y)(`kanban.board.actions.menu`),onClick:i[3]||=e=>Yn.value?.toggle(e)},null,8,[`title`,`aria-label`])):m(``,!0),r(e(se),{ref_key:`boardMenu`,ref:Yn},{default:d(()=>[o(`div`,Ve,[M.value?m(``,!0):(u(),s(`button`,{key:0,class:`kb-boardmenu__item`,onClick:i[4]||=e=>$(Vn)},[i[33]||=o(`i`,{class:`ti ti-pencil`},null,-1),o(`span`,null,f(e(y)(`kanban.board.editBoard.action`)),1)])),M.value?m(``,!0):(u(),s(`button`,{key:1,class:`kb-boardmenu__item`,onClick:i[5]||=e=>$(tr)},[i[34]||=o(`i`,{class:`ti ti-sparkles`},null,-1),o(`span`,null,f(e(y)(`kanban.board.aiPopulate`)),1)])),!M.value&&O.value?.defaultView!==`list`?(u(),s(`button`,{key:2,class:`kb-boardmenu__item`,onClick:i[6]||=e=>$(qn)},[i[35]||=o(`i`,{class:`ti ti-bookmark`},null,-1),o(`span`,null,f(e(y)(`kanban.board.saveTemplate.action`)),1)])):m(``,!0),o(`button`,{class:`kb-boardmenu__item`,onClick:i[7]||=e=>$(Un)},[i[36]||=o(`i`,{class:`ti ti-inbox`},null,-1),o(`span`,null,f(O.value?.archived?e(y)(`kanban.list.restore`):e(y)(`kanban.list.archive`)),1)]),o(`button`,{class:`kb-boardmenu__item kb-boardmenu__item--danger`,onClick:i[8]||=e=>$(Wn)},[i[37]||=o(`i`,{class:`ti ti-trash`},null,-1),o(`span`,null,f(e(y)(`kanban.board.deleteBoard.action`)),1)])])]),_:1},512),r(e(Ie),{board:Xn.value,load:e(T).boardFlow,t:Zn,onClose:i[9]||=e=>Xn.value=null},null,8,[`board`,`load`]),r(e(Le),{board:Qn.value,load:e(T).boardHistory,t:$n,onClose:i[10]||=e=>Qn.value=null,onOpenCard:er},null,8,[`board`,`load`])]),banner:d(()=>[e(T).planLocked.value?(u(),s(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:h(ln,[`prevent`])},[o(`span`,null,f(e(y)(`kanban.cloud.readOnlyNotice`)),1),o(`span`,He,f(e(y)(`kanban.cloud.upgradeCta`)),1)])):m(``,!0)]),"column-actions":d(({column:t})=>[M.value?m(``,!0):a((u(),p(e(_),{key:0,icon:`ti ti-list`,variant:`text`,rounded:``,size:`small`,onClick:h(e=>An(t),[`stop`])},null,8,[`onClick`])),[[c,e(y)(`kanban.board.queue.addColumnTooltip`),void 0,{bottom:!0}]])]),"card-actions":d(({card:t})=>[M.value?m(``,!0):a((u(),s(`button`,{key:0,class:te([`kb-card__queue-btn`,{"kb-card__queue-btn--active":O.value&&e(B).isCardInQueue(O.value.id,t.id)}]),onClick:h(e=>Mn(t),[`stop`])},[...i[38]||=[o(`i`,{class:`ti ti-list`},null,-1)]],10,Ue)),[[c,O.value&&e(B).isCardInQueue(O.value.id,t.id)?e(y)(`kanban.board.queue.tooltipInQueue`):e(y)(`kanban.board.queue.tooltip`),void 0,{bottom:!0}]])]),"card-badges":d(({card:t})=>[_n(t)===`companion`?a((u(),s(`span`,We,null,512)),[[c,e(y)(`kanban.board.aiStatus.companion`),void 0,{bottom:!0}]]):_n(t)===`streaming`?a((u(),s(`span`,Ge,null,512)),[[c,e(y)(`kanban.board.aiStatus.streaming`),void 0,{bottom:!0}]]):_n(t)===`unread`?a((u(),s(`span`,Ke,null,512)),[[c,e(y)(`kanban.board.aiStatus.unread`),void 0,{bottom:!0}]]):m(``,!0)]),"card-editor-actions":d(({card:t,colId:n,draft:i})=>[r(e(_),{label:e(y)(`kanban.board.editor.launchAi`),icon:`ti ti-sparkles`,severity:`secondary`,variant:`outlined`,size:`small`,disabled:M.value,onClick:e=>bn({card:t,colId:n,draft:i})},null,8,[`label`,`disabled`,`onClick`]),r(e(_),{label:e(y)(`kanban.board.editor.sendToChat`),icon:`ti ti-messages`,severity:`secondary`,variant:`outlined`,size:`small`,onClick:e=>xn({card:t,colId:n,draft:i})},null,8,[`label`,`onClick`])]),_:1},8,`columns.column-groups.name.board-id.view.read-only.templates.current-user-id.members.column-subscriptions.teams.manageable-team-ids.column-team-subscriptions.load-history.histories.edit-comment.remove-comment.move-card.other-boards.card-links.linked-cards.load-placements.place-card.unplace-card.search-org-cards.can-place.conversation-integrations.card-conversations.search-conversations.archived-cards.loading-archive.archive-truncated.search-matches.search-truncated.onLoadArchive.onSearchCards`.split(`.`)),r(e(g),{visible:L.value,header:e(y)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":i[12]||=e=>{e||(L.value=!1)}},{default:d(()=>[r(Ae,{compact:``,onSelectScenario:wn,onSkip:Tn})]),_:1},8,[`visible`,`header`]),r(je,{ref_key:`launchModalsRef`,ref:fn,onConfirmScenarioStart:En},null,512),r(Re,{ref_key:`sendToChatRef`,ref:pn},null,512),r(e(g),{visible:Y.value,header:e(y)(`kanban.board.editBoard.header`),modal:!0,style:{width:`550px`},"onUpdate:visible":i[17]||=e=>{e||(Y.value=!1)}},{footer:d(()=>[o(`div`,tt,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[16]||=e=>Y.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.editBoard.save`),icon:`ti ti-check`,disabled:!X.value.name.trim(),onClick:Hn},null,8,[`label`,`disabled`])])]),default:d(()=>[o(`div`,qe,[o(`div`,Je,[o(`label`,Ye,f(e(y)(`kanban.list.nameLabel`)),1),r(e(ce),{id:`kb-board-name`,modelValue:X.value.name,"onUpdate:modelValue":i[13]||=e=>X.value.name=e,autofocus:``,class:`w-full`},null,8,[`modelValue`])]),o(`div`,Xe,[o(`label`,Ze,f(e(y)(`kanban.list.descriptionLabel`)),1),r(e(fe),{id:`kb-board-desc`,modelValue:X.value.description,"onUpdate:modelValue":i[14]||=e=>X.value.description=e,rows:`3`,class:`w-full`},null,8,[`modelValue`])]),o(`div`,Qe,[o(`label`,$e,f(e(y)(`kanban.list.instructionsLabel`)),1),r(e(fe),{id:`kb-board-instructions`,modelValue:X.value.instructions,"onUpdate:modelValue":i[15]||=e=>X.value.instructions=e,rows:`6`,class:`w-full`,placeholder:e(y)(`kanban.list.instructionsPlaceholder`)},null,8,[`modelValue`,`placeholder`]),o(`small`,et,f(e(y)(`kanban.list.instructionsHint`)),1)])])]),_:1},8,[`visible`,`header`]),r(e(g),{visible:Z.value,header:e(y)(`kanban.board.saveTemplate.header`),modal:!0,style:{width:`450px`},"onUpdate:visible":i[20]||=e=>{e||(Z.value=!1)}},{footer:d(()=>[o(`div`,it,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[19]||=e=>Z.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.saveTemplate.save`),icon:`ti ti-bookmark`,disabled:!Q.value.trim(),onClick:Jn},null,8,[`label`,`disabled`])])]),default:d(()=>[o(`div`,nt,[o(`p`,rt,f(e(y)(`kanban.board.saveTemplate.hint`,{count:O.value?.columns.length??0})),1),r(e(ce),{modelValue:Q.value,"onUpdate:modelValue":i[18]||=e=>Q.value=e,class:`w-full`,autofocus:``,placeholder:e(y)(`kanban.board.saveTemplate.namePlaceholder`),onKeyup:oe(Jn,[`enter`])},null,8,[`modelValue`,`placeholder`])])]),_:1},8,[`visible`,`header`]),r(e(g),{visible:K.value,header:e(y)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`550px`},"onUpdate:visible":i[23]||=e=>{e||(K.value=!1)}},{footer:d(()=>[o(`div`,st,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[22]||=e=>K.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.populateDialog.generate`),icon:`ti ti-sparkles`,disabled:!J.value.trim(),onClick:nr},null,8,[`label`,`disabled`])])]),default:d(()=>[o(`div`,at,[o(`p`,ot,f(e(y)(`kanban.board.populateDialog.hint`)),1),r(e(fe),{modelValue:J.value,"onUpdate:modelValue":i[21]||=e=>J.value=e,placeholder:e(y)(`kanban.board.populateDialog.placeholder`),autoResize:!0,rows:`4`,class:`w-full`,onKeydown:[oe(h(nr,[`ctrl`]),[`enter`]),oe(h(nr,[`meta`]),[`enter`])]},null,8,[`modelValue`,`placeholder`,`onKeydown`])])]),_:1},8,[`visible`,`header`]),r(e(g),{visible:q.value,header:e(y)(`kanban.board.populateDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":i[24]||=e=>{e||(q.value=!1)}},{default:d(()=>[r(Ae,{compact:``,onSelectScenario:ir,onSkip:rr})]),_:1},8,[`visible`,`header`]),V.value?(u(),s(`div`,ct,[o(`div`,lt,[o(`span`,ut,f(e(y)(`kanban.board.queue.panelHeader`)),1),r(e(_),{icon:`ti ti-x`,variant:`text`,rounded:``,size:`small`,onClick:i[25]||=e=>V.value=!1})]),o(`div`,dt,[o(`span`,ft,f(e(y)(`kanban.board.queue.concurrency`)),1),o(`div`,pt,[r(e(_),{icon:`ti ti-minus`,variant:`text`,rounded:``,size:`small`,disabled:e(B).state.maxConcurrent<=1,onClick:i[26]||=t=>e(B).setMaxConcurrent(e(B).state.maxConcurrent-1)},null,8,[`disabled`]),o(`span`,null,f(e(B).state.maxConcurrent),1),r(e(_),{icon:`ti ti-plus`,variant:`text`,rounded:``,size:`small`,onClick:i[27]||=t=>e(B).setMaxConcurrent(e(B).state.maxConcurrent+1)})])]),e(B).state.running.length>0?(u(),s(`div`,mt,[o(`div`,ht,f(e(y)(`kanban.board.queue.runningSection`,{count:e(B).state.running.length})),1),(u(!0),s(ie,null,ee(e(B).state.running.filter(e=>e.boardId===O.value?.id),t=>(u(),s(`div`,{key:t.id,class:`kb-queue-item kb-queue-item--running`},[i[39]||=o(`i`,{class:`ti ti-spin ti-loader-2`},null,-1),o(`span`,gt,f(Nn(t.cardId)),1),r(e(_),{icon:`ti ti-player-stop`,variant:`text`,rounded:``,size:`small`,severity:`danger`,onClick:n=>e(B).removeItem(t.id)},null,8,[`onClick`])]))),128))])):m(``,!0),e(B).state.items.length>0?(u(),s(`div`,_t,[o(`div`,vt,f(e(y)(`kanban.board.queue.waitingSection`,{count:e(B).state.items.length})),1),(u(!0),s(ie,null,ee(e(B).state.items.filter(e=>e.boardId===O.value?.id),t=>(u(),s(`div`,{key:t.id,class:`kb-queue-item`},[i[40]||=o(`i`,{class:`ti ti-clock`},null,-1),o(`span`,yt,f(Nn(t.cardId)),1),r(e(_),{icon:`ti ti-x`,variant:`text`,rounded:``,size:`small`,onClick:n=>e(B).removeItem(t.id)},null,8,[`onClick`])]))),128))])):m(``,!0),G.value===0?(u(),s(`div`,bt,f(e(y)(`kanban.board.queue.empty`)),1)):m(``,!0),o(`div`,xt,[r(e(_),{label:e(y)(`kanban.board.queue.stopAll`),icon:`ti ti-player-stop`,severity:`danger`,variant:`text`,size:`small`,disabled:G.value===0,onClick:i[28]||=t=>e(B).stopAll()},null,8,[`label`,`disabled`])])])):m(``,!0),r(e(g),{visible:H.value,header:e(y)(`kanban.board.queue.addColumnDialog.header`),modal:!0,style:{width:`420px`},"onUpdate:visible":i[32]||=e=>{e||(H.value=!1)}},{footer:d(()=>[o(`div`,Dt,[r(e(_),{label:e(y)(`actions.cancel`),variant:`text`,onClick:i[31]||=e=>H.value=!1},null,8,[`label`]),r(e(_),{label:e(y)(`kanban.board.queue.addColumnDialog.confirm`),icon:`ti ti-list`,onClick:jn},null,8,[`label`])])]),default:d(()=>[o(`div`,St,[o(`div`,Ct,[o(`label`,wt,f(e(y)(`kanban.board.queue.addColumnDialog.runner`)),1),r(e(le),{modelValue:U.value,"onUpdate:modelValue":i[29]||=e=>U.value=e,"input-id":`kanban-queue-runner`,options:[{value:``,label:`Auto`},{value:`claude-code`,label:`Claude Code${e(un)?``:` (non installé)`}`,disabled:!e(un)},{value:`codex`,label:`Codex${e(dn)?``:` (non installé)`}`,disabled:!e(dn)}],"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,fluid:``},null,8,[`modelValue`,`options`])]),o(`div`,Tt,[o(`label`,Et,f(e(y)(`kanban.board.queue.addColumnDialog.scenario`)),1),r(e(le),{modelValue:W.value,"onUpdate:modelValue":i[30]||=e=>W.value=e,"input-id":`kanban-queue-scenario`,options:[{id:``,name:e(y)(`kanban.board.queue.addColumnDialog.noScenario`)},...kn.value],"option-label":`name`,"option-value":`id`,fluid:``},null,8,[`modelValue`,`options`])])])]),_:1},8,[`visible`,`header`])])):e(T).loading.value?(u(),s(`div`,Ot,[...i[41]||=[o(`i`,{class:`ti ti-spin ti-loader-2`},null,-1)]])):m(``,!0)}}}),[[`__scopeId`,`data-v-754add64`]]);export{C as default};
@@ -1 +1 @@
1
- import{B as e}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as t,Ht as n,_ as r,b as i,g as a,k as o,mt as s,qt as ee,rn as c,v as l,y as u}from"./runtime-core.esm-bundler-DujKY9QV.js";import{I as d}from"./floating-ui.dom-DWhsZyqT.js";import{dt as f,ft as p,mt as m}from"./src--GO-VSJ0.js";import{g as h}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as g}from"./project.store-Bm2JWNbd.js";import{r as _,t as v}from"./cloud-auth-D_am4FlK.js";import{n as y,r as b}from"./cloud-client-0zD_NI6q.js";import{a as x,i as S,o as C}from"./composables-DiiOYol8.js";import{t as w}from"./shared-sse-Dcj_cNvF.js";import{n as T}from"./page-actions-CSvO7j9F.js";import{t as E}from"./useCloudOrg-J8DAnocE.js";import{n as D}from"./src-Cgix2VOi.js";var O={class:`kanban-list-host`},k={key:0,class:`connect-cta`},A={class:`connect-cta__title`},j={class:`connect-cta__desc`},M={key:1,class:`notice`},N={class:`upgrade-banner__cta`},P=p(o({__name:`KanbanListPage`,props:{mode:{default:`board`}},setup(o){let{t:p,te:P}=m(),F=o,I=a(()=>F.mode===`list`?`/issues`:`/kanban`),L=h(),{orgId:R,orgSlug:z,unavailability:B,cloudUser:V}=E();function H(e,t){let n=`kanban.issues.${e}`,r=F.mode===`list`&&P(n)?n:`kanban.list.${e}`;return t?p(r,t):p(r)}let U=S(y,R,{streamUrl:b,streamFactory:w}),W=C(y,R,{lazy:!0}),G=x(y,R,{lazy:!0});n(U.error,e=>{e&&console.error(`[kanban]`,e)}),n(W.error,e=>{e&&console.error(`[kanban:templates]`,e)}),n(G.error,e=>{e&&console.error(`[kanban:board-templates]`,e)});let K=a(()=>U.boards.value.map(e=>({id:e.id,name:e.name,description:e.description,instructions:e.instructions??``,archived:e.archived,columnCount:e.columnCount,cardCount:e.cardCount,projectIds:e.projectIds??[],defaultView:e.defaultView,columnStats:e.columnStats,lastActivityAt:e.lastActivityAt,assignees:e.assignees,assigneeCount:e.assigneeCount,week:e.week}))),q=g(),J=a(()=>q.projects.filter(e=>(e.orgId??null)===R.value).map(e=>({id:e.id,name:e.name})));function Y(){z.value&&window.open(`${_()}/app/${z.value}/settings/org/billing`,`_blank`,`noopener`)}async function X(e){let t=await U.createBoard(e.name,e.description,e.instructions,e.columns,e.columnGroups,e.projectIds,e.defaultView);t&&await L.push(`${I.value}/${t.id}?org=${R.value}`)}async function Z(e){await U.updateBoardById(e.id,{name:e.name,description:e.description,instructions:e.instructions,...e.projectIds?{projectIds:e.projectIds}:{}})}async function Q(e){await U.updateBoardById(e.id,{archived:e.archived})}async function $(e){await U.deleteBoard(e)}let te=a(()=>W.templates.value.map(e=>({id:e.id,name:e.name,content:e.content})));function ne(){W.ensureLoaded(),G.ensureLoaded()}let re=a(()=>G.templates.value.map(e=>({id:e.id,name:e.name,instructions:e.instructions,columns:e.columns,columnGroups:e.columnGroups})));return(n,a)=>(s(),i(`div`,O,[e(V)?e(R)?(s(),l(e(D),{key:2,boards:K.value,"read-only":!e(U).canWrite.value,"boards-limit":e(U).access.value?.boardsLimit??null,projects:J.value,"current-project-id":e(q).currentProject?.id??null,t:H,mode:o.mode,"show-title":!1,"actions-target":e(T),"load-flow":e(U).boardFlow,"avatar-url":t=>e(v)(t,{orgId:e(R)}),onOpen:a[1]||=t=>e(L).push(`${I.value}/${t}?org=${e(R)}`),onCreate:X,onUpdate:Z,onArchive:Q,onDelete:$,"board-templates":re.value,onTemplatesNeeded:ne,onBoardTemplateDelete:a[2]||=t=>e(G).deleteTemplate(t),templates:te.value,onTemplateCreate:a[3]||=t=>e(W).createTemplate(t.name,t.content),onTemplateUpdate:a[4]||=t=>e(W).updateTemplate(t.id,{name:t.name,content:t.content}),onTemplateDelete:a[5]||=t=>e(W).deleteTemplate(t)},{banner:ee(()=>[e(U).planLocked.value?(s(),i(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:d(Y,[`prevent`])},[r(`span`,null,c(e(p)(`kanban.cloud.readOnlyNotice`)),1),r(`span`,N,c(e(p)(`kanban.cloud.upgradeCta`)),1)])):u(``,!0)]),_:1},8,[`boards`,`read-only`,`boards-limit`,`projects`,`current-project-id`,`mode`,`actions-target`,`load-flow`,`avatar-url`,`board-templates`,`templates`])):(s(),i(`div`,M,c(e(B)===`not-member`?e(p)(`kanban.cloud.orgNotAccessible`):e(p)(`kanban.cloud.noProjectOrg`)),1)):(s(),i(`div`,k,[a[6]||=r(`div`,{class:`connect-cta__badge`},[r(`i`,{class:`ti ti-layout-grid`})],-1),r(`h2`,A,c(e(p)(`kanban.cloud.notConnectedTitle`)),1),r(`p`,j,c(e(p)(`kanban.cloud.notConnectedDesc`)),1),t(e(f),{label:e(p)(`kanban.cloud.connectAction`),icon:`ti ti-cloud`,onClick:a[0]||=t=>e(L).push({name:`cloud-account`})},null,8,[`label`])]))]))}}),[[`__scopeId`,`data-v-c798d403`]]);export{P as default};
1
+ import{B as e}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as t,Ht as n,_ as r,b as i,g as a,k as o,mt as s,qt as ee,rn as c,v as l,y as u}from"./runtime-core.esm-bundler-DujKY9QV.js";import{I as d}from"./floating-ui.dom-DWhsZyqT.js";import{dt as f,ft as p,mt as m}from"./src--GO-VSJ0.js";import{g as h}from"./useApi-s_02lHjl-DZYO2tHU.js";import{n as g}from"./project.store-DGJr0Qr9.js";import{r as _,t as v}from"./cloud-auth-D_am4FlK.js";import{n as y,r as b}from"./cloud-client-D_zCiW0s.js";import{a as x,i as S,o as C}from"./composables-DiiOYol8.js";import{t as w}from"./shared-sse-Dcj_cNvF.js";import{n as T}from"./page-actions-CSvO7j9F.js";import{t as E}from"./useCloudOrg-BAQEtFPl.js";import{n as D}from"./src-Dnwk6NpV.js";var O={class:`kanban-list-host`},k={key:0,class:`connect-cta`},A={class:`connect-cta__title`},j={class:`connect-cta__desc`},M={key:1,class:`notice`},N={class:`upgrade-banner__cta`},P=p(o({__name:`KanbanListPage`,props:{mode:{default:`board`}},setup(o){let{t:p,te:P}=m(),F=o,I=a(()=>F.mode===`list`?`/issues`:`/kanban`),L=h(),{orgId:R,orgSlug:z,unavailability:B,cloudUser:V}=E();function H(e,t){let n=`kanban.issues.${e}`,r=F.mode===`list`&&P(n)?n:`kanban.list.${e}`;return t?p(r,t):p(r)}let U=S(y,R,{streamUrl:b,streamFactory:w}),W=C(y,R,{lazy:!0}),G=x(y,R,{lazy:!0});n(U.error,e=>{e&&console.error(`[kanban]`,e)}),n(W.error,e=>{e&&console.error(`[kanban:templates]`,e)}),n(G.error,e=>{e&&console.error(`[kanban:board-templates]`,e)});let K=a(()=>U.boards.value.map(e=>({id:e.id,name:e.name,description:e.description,instructions:e.instructions??``,archived:e.archived,columnCount:e.columnCount,cardCount:e.cardCount,projectIds:e.projectIds??[],defaultView:e.defaultView,columnStats:e.columnStats,lastActivityAt:e.lastActivityAt,assignees:e.assignees,assigneeCount:e.assigneeCount,week:e.week}))),q=g(),J=a(()=>q.projects.filter(e=>(e.orgId??null)===R.value).map(e=>({id:e.id,name:e.name})));function Y(){z.value&&window.open(`${_()}/app/${z.value}/settings/org/billing`,`_blank`,`noopener`)}async function X(e){let t=await U.createBoard(e.name,e.description,e.instructions,e.columns,e.columnGroups,e.projectIds,e.defaultView);t&&await L.push(`${I.value}/${t.id}?org=${R.value}`)}async function Z(e){await U.updateBoardById(e.id,{name:e.name,description:e.description,instructions:e.instructions,...e.projectIds?{projectIds:e.projectIds}:{}})}async function Q(e){await U.updateBoardById(e.id,{archived:e.archived})}async function $(e){await U.deleteBoard(e)}let te=a(()=>W.templates.value.map(e=>({id:e.id,name:e.name,content:e.content})));function ne(){W.ensureLoaded(),G.ensureLoaded()}let re=a(()=>G.templates.value.map(e=>({id:e.id,name:e.name,instructions:e.instructions,columns:e.columns,columnGroups:e.columnGroups})));return(n,a)=>(s(),i(`div`,O,[e(V)?e(R)?(s(),l(e(D),{key:2,boards:K.value,"read-only":!e(U).canWrite.value,"boards-limit":e(U).access.value?.boardsLimit??null,projects:J.value,"current-project-id":e(q).currentProject?.id??null,t:H,mode:o.mode,"show-title":!1,"actions-target":e(T),"load-flow":e(U).boardFlow,"avatar-url":t=>e(v)(t,{orgId:e(R)}),onOpen:a[1]||=t=>e(L).push(`${I.value}/${t}?org=${e(R)}`),onCreate:X,onUpdate:Z,onArchive:Q,onDelete:$,"board-templates":re.value,onTemplatesNeeded:ne,onBoardTemplateDelete:a[2]||=t=>e(G).deleteTemplate(t),templates:te.value,onTemplateCreate:a[3]||=t=>e(W).createTemplate(t.name,t.content),onTemplateUpdate:a[4]||=t=>e(W).updateTemplate(t.id,{name:t.name,content:t.content}),onTemplateDelete:a[5]||=t=>e(W).deleteTemplate(t)},{banner:ee(()=>[e(U).planLocked.value?(s(),i(`a`,{key:0,class:`upgrade-banner`,href:`#`,onClick:d(Y,[`prevent`])},[r(`span`,null,c(e(p)(`kanban.cloud.readOnlyNotice`)),1),r(`span`,N,c(e(p)(`kanban.cloud.upgradeCta`)),1)])):u(``,!0)]),_:1},8,[`boards`,`read-only`,`boards-limit`,`projects`,`current-project-id`,`mode`,`actions-target`,`load-flow`,`avatar-url`,`board-templates`,`templates`])):(s(),i(`div`,M,c(e(B)===`not-member`?e(p)(`kanban.cloud.orgNotAccessible`):e(p)(`kanban.cloud.noProjectOrg`)),1)):(s(),i(`div`,k,[a[6]||=r(`div`,{class:`connect-cta__badge`},[r(`i`,{class:`ti ti-layout-grid`})],-1),r(`h2`,A,c(e(p)(`kanban.cloud.notConnectedTitle`)),1),r(`p`,j,c(e(p)(`kanban.cloud.notConnectedDesc`)),1),t(e(f),{label:e(p)(`kanban.cloud.connectAction`),icon:`ti ti-cloud`,onClick:a[0]||=t=>e(L).push({name:`cloud-account`})},null,8,[`label`])]))]))}}),[[`__scopeId`,`data-v-c798d403`]]);export{P as default};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,E as i,Yt as a,_ as o,b as s,bt as c,ct as l,en as u,g as d,k as ee,mt as f,nn as p,o as m,qt as h,rn as g,v as _,y as v}from"./runtime-core.esm-bundler-DujKY9QV.js";import{G as te,H as ne,J as re,K as ie,W as y,dt as b,ft as x,mt as ae}from"./src--GO-VSJ0.js";import{n as oe}from"./project-launch.store-B5nhdGdh.js";import{g as se}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as ce}from"./trpc-CfuFkKgp.js";import{n as le}from"./project.store-Bm2JWNbd.js";import{t as ue}from"./useProjectCatalog-BB5IR6o8.js";import{r as S,t as de}from"./error-DpF7X5iu.js";import{r as fe}from"./cloud-session-Cjw54Y--.js";import{z as C}from"./index-B9DJf2V0.js";import{t as pe}from"./OrgKeyPrompt-BbcwiwGw.js";import{t as me}from"./DirectoryPickerDialog-DCyhT3-W.js";import{t as he}from"./ProjectCreateDialog-C1wVDPcK.js";import{t as ge}from"./LaunchShell-CGNYr-do.js";var _e={key:0,class:`launch-loading`},ve={key:1,class:`launch-recent launch-stagger`},ye={class:`launch-recent__label`},be={key:0,class:`launch-split__main`},xe={key:1,class:`ti ti-device-desktop project-group__icon`},Se={class:`project-group__count`},Ce={class:`project-list`},we=[`aria-busy`,`onClick`],Te={class:`project-card__avatar`},w={key:1,class:`ti ti-folder`},T={class:`project-card__body`},E={class:`project-card__name`},D={class:`project-description`},O=[`title`],Ee={class:`project-card__meta`},De={class:`project-service-count`},Oe={key:1,class:`project-list__empty`},ke={key:1,class:`cloud-aside launch-stagger`,style:{"--stagger":1}},Ae={class:`cloud-aside__title`},je={class:`cloud-aside__text`},k=x(ee({__name:`LaunchProjectPage`,setup(ee){let x=se(),k=le(),A=oe(),{t:j}=ae(),M=t(null),N=t(!0),P=ue(),F=t(``),I=t(``);function L(e,t){return`${e??`local`}:${t}`}let R=d(()=>{let e=[],t=k.projects.filter(e=>!e.orgId);e.push({key:`local`,label:j(`launchProject.groupLocal`),cloud:!1,projects:t.map(e=>({id:e.id,orgId:null,key:L(null,e.id),name:e.name,description:e.description,serviceCount:e.serviceIds.length}))});for(let t of P.orgGroups.value)e.push({key:t.orgId,label:t.name,cloud:!0,projects:t.projects.map(e=>{let n=k.getByRef({id:e.projectId,orgId:t.orgId});return{id:e.projectId,orgId:t.orgId,...t.accountId?{accountId:t.accountId}:{},key:L(t.orgId,e.projectId),name:e.name,description:n?.description??``,serviceCount:n?n.serviceIds.length:null}})});return e}),z=d(()=>{let e=new Map(R.value.flatMap(e=>e.projects).map(e=>[e.key,e]));return A.recentProjects.map(t=>e.get(L(t.orgId,t.id))).filter(e=>!!e)}),B=t({});async function V(){try{B.value=await ce.project.localPaths.query()}catch{}}l(async()=>{V(),await k.fetchAll(),N.value=!1,P.refreshCloud();let e=k.projects,t=A.getLastProjectId(),n=A.activeOrgId;t&&e.some(e=>e.id===t&&(e.orgId??null)===n)&&(M.value=L(n,t))});let H=d(()=>R.value.some(e=>e.projects.length>0)),U=t(``),Me=d(()=>{let e=U.value.trim().toLowerCase();return e?R.value.map(t=>({...t,projects:t.projects.filter(t=>t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e))})).filter(e=>!e.cloud||e.projects.length>0):R.value}),Ne=d(()=>{let e=Me.value.map((e,t)=>({group:e,index:t}));return R.value.some(e=>e.cloud&&e.projects.length>0)?[{key:`local`,split:!1,groups:e.filter(e=>!e.group.cloud)},{key:`cloud`,split:!0,groups:e.filter(e=>e.group.cloud)}]:[{key:`local`,split:!0,groups:e}]}),W=t(null),G=t(!1),K=t(null),q=t(null),J=t(!1);async function Pe(e){if(I.value=``,e.status===`available`){K.value=null,q.value=e.path,G.value=!0;return}try{let t=await k.importLocal(e.path);await X({id:t.id,name:t.name,orgId:null})}catch(e){I.value=S(e,j)}}function Y(e){K.value=e.cloud?e.key:null,q.value=null,G.value=!0}async function X(e){V();let t=R.value.flatMap(e=>e.projects).find(t=>t.id===e.id&&t.orgId===e.orgId);t?await Z(t):await x.push(`/`)}async function Fe(){let e=W.value;W.value=null,e&&await Z(e.card)}async function Z(e){if(M.value=e.key,e.orgId!==null&&!k.getByRef({id:e.id,orgId:e.orgId})&&e.orgId){F.value=e.key,I.value=``;try{await P.pullProject(e.orgId,e.id,e.accountId)}catch(t){I.value=S(t,j),de(t)&&e.orgId&&(W.value={orgId:e.orgId,card:e});return}finally{F.value=``}}A.setActiveProject(e.id,e.orgId),x.push(`/launch/services`)}let{signIn:Ie}=fe(),Q=t(!1),$=t(``);async function Le(){Q.value=!0,$.value=``;try{await Ie()}catch{$.value=j(`launchProject.cloudUnreachable`),Q.value=!1}}return(t,l)=>{let d=n(`tooltip`);return f(),_(ge,{wide:``,title:e(j)(`launchProject.selectProject`),subtitle:e(j)(`launchProject.subtitle`)},{outside:h(()=>[r(pe,{"org-id":W.value?.orgId??null,reference:`cloud`,title:e(j)(`projectSwitcher.keyPromptTitle`),hint:e(j)(`projectSwitcher.keyPromptHint`),"confirm-label":e(j)(`projectSwitcher.keyPromptUse`),onClose:l[2]||=e=>W.value=null,onAdopted:Fe},null,8,[`org-id`,`title`,`hint`,`confirm-label`]),J.value?(f(),_(me,{key:0,visible:J.value,"onUpdate:visible":l[3]||=e=>J.value=e,mode:`local`,onLocalChosen:Pe},null,8,[`visible`])):v(``,!0),r(he,{visible:G.value,"onUpdate:visible":l[4]||=e=>G.value=e,"initial-target":K.value,"local-path":q.value,onCreated:X},null,8,[`visible`,`initial-target`,`local-path`])]),default:h(()=>[N.value?(f(),s(`div`,_e,[r(e(ne),{style:{width:`32px`,height:`32px`},"stroke-width":`4`})])):v(``,!0),I.value?(f(),_(e(y),{key:1,severity:`error`,class:`launch-error`},{default:h(()=>[i(g(I.value),1)]),_:1})):N.value?v(``,!0):(f(),s(m,{key:2},[H.value?(f(),_(e(ie),{key:0,class:`launch-search launch-stagger`},{default:h(()=>[r(e(te),{class:`ti ti-search`}),r(e(re),{modelValue:U.value,"onUpdate:modelValue":l[0]||=e=>U.value=e,placeholder:e(j)(`launchProject.search`),"aria-label":e(j)(`launchProject.search`),fluid:``,"data-testid":`launch-project-search`},null,8,[`modelValue`,`placeholder`,`aria-label`])]),_:1})):v(``,!0),z.value.length&&!U.value.trim()?(f(),s(`div`,ve,[o(`span`,ye,g(e(j)(`launchProject.recent`)),1),(f(!0),s(m,null,c(z.value,t=>(f(),_(e(b),{key:t.key,label:t.name,icon:F.value===t.key?`ti ti-spin ti-loader-2`:`ti ti-history`,variant:`outlined`,size:`small`,disabled:!!F.value,onClick:e=>Z(t)},null,8,[`label`,`icon`,`disabled`,`onClick`]))),128))])):v(``,!0),(f(!0),s(m,null,c(Ne.value,t=>(f(),s(`div`,{key:t.key,class:u(t.split?[`launch-split`,{"launch-split--solo":!t.groups.length}]:`launch-row`)},[t.groups.length?(f(),s(`div`,be,[(f(!0),s(m,null,c(t.groups,({group:t,index:n})=>(f(),s(`section`,{key:t.key,class:`project-group`},[o(`h2`,{class:`project-group__title launch-stagger`,style:p({"--stagger":n*2})},[t.cloud?(f(),_(C,{key:0,"org-id":t.key,name:t.label,size:16},null,8,[`org-id`,`name`])):(f(),s(`i`,xe)),o(`span`,null,g(t.label),1),o(`span`,Se,g(t.projects.length),1),t.cloud?a((f(),_(e(b),{key:2,icon:`ti ti-plus`,variant:`text`,rounded:``,size:`small`,class:`project-group__create`,"aria-label":e(j)(`launchProject.createHere`,{group:t.label}),onClick:e=>Y(t)},null,8,[`aria-label`,`onClick`])),[[d,e(j)(`launchProject.createHere`,{group:t.label}),void 0,{bottom:!0}]]):v(``,!0)],4),o(`div`,Ce,[(f(!0),s(m,null,c(t.projects,(r,a)=>(f(),s(`button`,{key:r.key,type:`button`,class:u([`project-card launch-stagger`,{selected:M.value===r.key}]),style:p({"--stagger":n*2+a+1}),"aria-busy":F.value===r.key,onClick:e=>Z(r)},[o(`span`,Te,[r.orgId?(f(),_(C,{key:0,"org-id":r.orgId,name:t.label,size:20},null,8,[`org-id`,`name`])):(f(),s(`i`,w))]),o(`span`,T,[o(`span`,E,g(r.name),1),o(`span`,D,g(r.description||e(j)(`launchProject.noDescription`)),1),!r.orgId&&B.value[r.key]?(f(),s(`span`,{key:0,class:`project-card__path`,title:B.value[r.key]},[l[5]||=o(`i`,{class:`ti ti-folder-open`,"aria-hidden":`true`},null,-1),i(` `+g(B.value[r.key]),1)],8,O)):v(``,!0)]),o(`span`,Ee,[o(`span`,De,g(r.serviceCount===null?e(j)(`launchProject.notPulled`):e(j)(`launchProject.serviceCount`,r.serviceCount)),1),o(`i`,{class:u([`ti project-card__chevron`,F.value===r.key?`ti-spin ti-loader-2`:`ti-arrow-right`]),"aria-hidden":`true`},null,2)])],14,we))),128)),!t.cloud&&!U.value.trim()?(f(),_(e(b),{key:0,label:e(j)(`launchProject.importOrCreateLocal`),icon:`ti ti-folder-open`,variant:H.value?`outlined`:`filled`,fluid:``,"data-testid":`launch-import-or-create-local`,onClick:l[1]||=e=>J.value=!0},null,8,[`label`,`variant`])):v(``,!0),!t.projects.length&&(t.cloud||U.value.trim())?(f(),s(`p`,Oe,g(U.value.trim()?e(j)(`launchProject.noMatch`):e(j)(`launchProject.groupEmpty`)),1)):v(``,!0)])]))),128))])):v(``,!0),t.split?(f(),s(`aside`,ke,[l[6]||=o(`span`,{class:`cloud-aside__icon`,"aria-hidden":`true`},[o(`i`,{class:`ti ti-cloud`})],-1),o(`h2`,Ae,g(e(j)(`launchProject.missingTitle`)),1),o(`p`,je,g(e(j)(`launchProject.missingText`)),1),r(e(b),{loading:Q.value,label:e(j)(`launchProject.connectCloud`),icon:`ti ti-external-link`,fluid:``,class:`cloud-aside__action`,"data-testid":`launch-connect-cloud`,onClick:Le},null,8,[`loading`,`label`]),$.value?(f(),_(e(y),{key:0,severity:`error`},{default:h(()=>[i(g($.value),1)]),_:1})):v(``,!0)])):v(``,!0)],2))),128))],64))]),_:1},8,[`title`,`subtitle`])}}}),[[`__scopeId`,`data-v-07a89245`]]);export{k as default};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,E as i,Yt as a,_ as o,b as s,bt as c,ct as l,en as u,g as d,k as ee,mt as f,nn as p,o as m,qt as h,rn as g,v as _,y as v}from"./runtime-core.esm-bundler-DujKY9QV.js";import{G as te,H as ne,J as re,K as ie,W as y,dt as b,ft as x,mt as ae}from"./src--GO-VSJ0.js";import{n as oe}from"./project-launch.store-y7JBMNiE.js";import{g as se}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as ce}from"./trpc-Drabzwpd.js";import{n as le}from"./project.store-DGJr0Qr9.js";import{t as ue}from"./useProjectCatalog-yocjIKt6.js";import{r as S,t as de}from"./error-DpF7X5iu.js";import{r as fe}from"./cloud-session-DOaDpZTy.js";import{z as C}from"./index-D8VRbyoP.js";import{t as pe}from"./OrgKeyPrompt-DzQ7pwbs.js";import{t as me}from"./DirectoryPickerDialog-C06BXyfJ.js";import{t as he}from"./ProjectCreateDialog-BolrhRD-.js";import{t as ge}from"./LaunchShell-DUrSunB4.js";var _e={key:0,class:`launch-loading`},ve={key:1,class:`launch-recent launch-stagger`},ye={class:`launch-recent__label`},be={key:0,class:`launch-split__main`},xe={key:1,class:`ti ti-device-desktop project-group__icon`},Se={class:`project-group__count`},Ce={class:`project-list`},we=[`aria-busy`,`onClick`],Te={class:`project-card__avatar`},w={key:1,class:`ti ti-folder`},T={class:`project-card__body`},E={class:`project-card__name`},D={class:`project-description`},O=[`title`],Ee={class:`project-card__meta`},De={class:`project-service-count`},Oe={key:1,class:`project-list__empty`},ke={key:1,class:`cloud-aside launch-stagger`,style:{"--stagger":1}},Ae={class:`cloud-aside__title`},je={class:`cloud-aside__text`},k=x(ee({__name:`LaunchProjectPage`,setup(ee){let x=se(),k=le(),A=oe(),{t:j}=ae(),M=t(null),N=t(!0),P=ue(),F=t(``),I=t(``);function L(e,t){return`${e??`local`}:${t}`}let R=d(()=>{let e=[],t=k.projects.filter(e=>!e.orgId);e.push({key:`local`,label:j(`launchProject.groupLocal`),cloud:!1,projects:t.map(e=>({id:e.id,orgId:null,key:L(null,e.id),name:e.name,description:e.description,serviceCount:e.serviceIds.length}))});for(let t of P.orgGroups.value)e.push({key:t.orgId,label:t.name,cloud:!0,projects:t.projects.map(e=>{let n=k.getByRef({id:e.projectId,orgId:t.orgId});return{id:e.projectId,orgId:t.orgId,...t.accountId?{accountId:t.accountId}:{},key:L(t.orgId,e.projectId),name:e.name,description:n?.description??``,serviceCount:n?n.serviceIds.length:null}})});return e}),z=d(()=>{let e=new Map(R.value.flatMap(e=>e.projects).map(e=>[e.key,e]));return A.recentProjects.map(t=>e.get(L(t.orgId,t.id))).filter(e=>!!e)}),B=t({});async function V(){try{B.value=await ce.project.localPaths.query()}catch{}}l(async()=>{V(),await k.fetchAll(),N.value=!1,P.refreshCloud();let e=k.projects,t=A.getLastProjectId(),n=A.activeOrgId;t&&e.some(e=>e.id===t&&(e.orgId??null)===n)&&(M.value=L(n,t))});let H=d(()=>R.value.some(e=>e.projects.length>0)),U=t(``),Me=d(()=>{let e=U.value.trim().toLowerCase();return e?R.value.map(t=>({...t,projects:t.projects.filter(t=>t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e))})).filter(e=>!e.cloud||e.projects.length>0):R.value}),Ne=d(()=>{let e=Me.value.map((e,t)=>({group:e,index:t}));return R.value.some(e=>e.cloud&&e.projects.length>0)?[{key:`local`,split:!1,groups:e.filter(e=>!e.group.cloud)},{key:`cloud`,split:!0,groups:e.filter(e=>e.group.cloud)}]:[{key:`local`,split:!0,groups:e}]}),W=t(null),G=t(!1),K=t(null),q=t(null),J=t(!1);async function Pe(e){if(I.value=``,e.status===`available`){K.value=null,q.value=e.path,G.value=!0;return}try{let t=await k.importLocal(e.path);await X({id:t.id,name:t.name,orgId:null})}catch(e){I.value=S(e,j)}}function Y(e){K.value=e.cloud?e.key:null,q.value=null,G.value=!0}async function X(e){V();let t=R.value.flatMap(e=>e.projects).find(t=>t.id===e.id&&t.orgId===e.orgId);t?await Z(t):await x.push(`/`)}async function Fe(){let e=W.value;W.value=null,e&&await Z(e.card)}async function Z(e){if(M.value=e.key,e.orgId!==null&&!k.getByRef({id:e.id,orgId:e.orgId})&&e.orgId){F.value=e.key,I.value=``;try{await P.pullProject(e.orgId,e.id,e.accountId)}catch(t){I.value=S(t,j),de(t)&&e.orgId&&(W.value={orgId:e.orgId,card:e});return}finally{F.value=``}}A.setActiveProject(e.id,e.orgId),x.push(`/launch/services`)}let{signIn:Ie}=fe(),Q=t(!1),$=t(``);async function Le(){Q.value=!0,$.value=``;try{await Ie()}catch{$.value=j(`launchProject.cloudUnreachable`),Q.value=!1}}return(t,l)=>{let d=n(`tooltip`);return f(),_(ge,{wide:``,title:e(j)(`launchProject.selectProject`),subtitle:e(j)(`launchProject.subtitle`)},{outside:h(()=>[r(pe,{"org-id":W.value?.orgId??null,reference:`cloud`,title:e(j)(`projectSwitcher.keyPromptTitle`),hint:e(j)(`projectSwitcher.keyPromptHint`),"confirm-label":e(j)(`projectSwitcher.keyPromptUse`),onClose:l[2]||=e=>W.value=null,onAdopted:Fe},null,8,[`org-id`,`title`,`hint`,`confirm-label`]),J.value?(f(),_(me,{key:0,visible:J.value,"onUpdate:visible":l[3]||=e=>J.value=e,mode:`local`,onLocalChosen:Pe},null,8,[`visible`])):v(``,!0),r(he,{visible:G.value,"onUpdate:visible":l[4]||=e=>G.value=e,"initial-target":K.value,"local-path":q.value,onCreated:X},null,8,[`visible`,`initial-target`,`local-path`])]),default:h(()=>[N.value?(f(),s(`div`,_e,[r(e(ne),{style:{width:`32px`,height:`32px`},"stroke-width":`4`})])):v(``,!0),I.value?(f(),_(e(y),{key:1,severity:`error`,class:`launch-error`},{default:h(()=>[i(g(I.value),1)]),_:1})):N.value?v(``,!0):(f(),s(m,{key:2},[H.value?(f(),_(e(ie),{key:0,class:`launch-search launch-stagger`},{default:h(()=>[r(e(te),{class:`ti ti-search`}),r(e(re),{modelValue:U.value,"onUpdate:modelValue":l[0]||=e=>U.value=e,placeholder:e(j)(`launchProject.search`),"aria-label":e(j)(`launchProject.search`),fluid:``,"data-testid":`launch-project-search`},null,8,[`modelValue`,`placeholder`,`aria-label`])]),_:1})):v(``,!0),z.value.length&&!U.value.trim()?(f(),s(`div`,ve,[o(`span`,ye,g(e(j)(`launchProject.recent`)),1),(f(!0),s(m,null,c(z.value,t=>(f(),_(e(b),{key:t.key,label:t.name,icon:F.value===t.key?`ti ti-spin ti-loader-2`:`ti ti-history`,variant:`outlined`,size:`small`,disabled:!!F.value,onClick:e=>Z(t)},null,8,[`label`,`icon`,`disabled`,`onClick`]))),128))])):v(``,!0),(f(!0),s(m,null,c(Ne.value,t=>(f(),s(`div`,{key:t.key,class:u(t.split?[`launch-split`,{"launch-split--solo":!t.groups.length}]:`launch-row`)},[t.groups.length?(f(),s(`div`,be,[(f(!0),s(m,null,c(t.groups,({group:t,index:n})=>(f(),s(`section`,{key:t.key,class:`project-group`},[o(`h2`,{class:`project-group__title launch-stagger`,style:p({"--stagger":n*2})},[t.cloud?(f(),_(C,{key:0,"org-id":t.key,name:t.label,size:16},null,8,[`org-id`,`name`])):(f(),s(`i`,xe)),o(`span`,null,g(t.label),1),o(`span`,Se,g(t.projects.length),1),t.cloud?a((f(),_(e(b),{key:2,icon:`ti ti-plus`,variant:`text`,rounded:``,size:`small`,class:`project-group__create`,"aria-label":e(j)(`launchProject.createHere`,{group:t.label}),onClick:e=>Y(t)},null,8,[`aria-label`,`onClick`])),[[d,e(j)(`launchProject.createHere`,{group:t.label}),void 0,{bottom:!0}]]):v(``,!0)],4),o(`div`,Ce,[(f(!0),s(m,null,c(t.projects,(r,a)=>(f(),s(`button`,{key:r.key,type:`button`,class:u([`project-card launch-stagger`,{selected:M.value===r.key}]),style:p({"--stagger":n*2+a+1}),"aria-busy":F.value===r.key,onClick:e=>Z(r)},[o(`span`,Te,[r.orgId?(f(),_(C,{key:0,"org-id":r.orgId,name:t.label,size:20},null,8,[`org-id`,`name`])):(f(),s(`i`,w))]),o(`span`,T,[o(`span`,E,g(r.name),1),o(`span`,D,g(r.description||e(j)(`launchProject.noDescription`)),1),!r.orgId&&B.value[r.key]?(f(),s(`span`,{key:0,class:`project-card__path`,title:B.value[r.key]},[l[5]||=o(`i`,{class:`ti ti-folder-open`,"aria-hidden":`true`},null,-1),i(` `+g(B.value[r.key]),1)],8,O)):v(``,!0)]),o(`span`,Ee,[o(`span`,De,g(r.serviceCount===null?e(j)(`launchProject.notPulled`):e(j)(`launchProject.serviceCount`,r.serviceCount)),1),o(`i`,{class:u([`ti project-card__chevron`,F.value===r.key?`ti-spin ti-loader-2`:`ti-arrow-right`]),"aria-hidden":`true`},null,2)])],14,we))),128)),!t.cloud&&!U.value.trim()?(f(),_(e(b),{key:0,label:e(j)(`launchProject.importOrCreateLocal`),icon:`ti ti-folder-open`,variant:H.value?`outlined`:`filled`,fluid:``,"data-testid":`launch-import-or-create-local`,onClick:l[1]||=e=>J.value=!0},null,8,[`label`,`variant`])):v(``,!0),!t.projects.length&&(t.cloud||U.value.trim())?(f(),s(`p`,Oe,g(U.value.trim()?e(j)(`launchProject.noMatch`):e(j)(`launchProject.groupEmpty`)),1)):v(``,!0)])]))),128))])):v(``,!0),t.split?(f(),s(`aside`,ke,[l[6]||=o(`span`,{class:`cloud-aside__icon`,"aria-hidden":`true`},[o(`i`,{class:`ti ti-cloud`})],-1),o(`h2`,Ae,g(e(j)(`launchProject.missingTitle`)),1),o(`p`,je,g(e(j)(`launchProject.missingText`)),1),r(e(b),{loading:Q.value,label:e(j)(`launchProject.connectCloud`),icon:`ti ti-external-link`,fluid:``,class:`cloud-aside__action`,"data-testid":`launch-connect-cloud`,onClick:Le},null,8,[`loading`,`label`]),$.value?(f(),_(e(y),{key:0,severity:`error`},{default:h(()=>[i(g($.value),1)]),_:1})):v(``,!0)])):v(``,!0)],2))),128))],64))]),_:1},8,[`title`,`subtitle`])}}}),[[`__scopeId`,`data-v-07a89245`]]);export{k as default};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,_ as i,b as a,bt as o,ct as s,en as ee,ft as te,g as c,k as ne,mt as l,nn as re,o as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{G as ie,H as ae,J as oe,K as se,O as h,P as ce,W as le,dt as g,ft as _,mt as ue}from"./src--GO-VSJ0.js";import{n as de}from"./project-launch.store-B5nhdGdh.js";import{g as v}from"./useApi-s_02lHjl-DZYO2tHU.js";import{a as fe}from"./app-mode-BVpTuh0i.js";import{n as pe}from"./project.store-Bm2JWNbd.js";import{n as me}from"./error-DpF7X5iu.js";import{t as he}from"./service.store-XS50iGKo.js";import{t as ge}from"./agent.store-Co44dMZf.js";import{n as _e,r as ve}from"./process-BWkHpZOM.js";import{c as ye}from"./index-B9DJf2V0.js";import{t as be}from"./ProjectLocationGate-bUd_tFpI.js";import{t as y}from"./LaunchShell-CGNYr-do.js";var b={key:0,class:`launch-loading`},x={key:1,class:`launch-empty launch-stagger`},S={class:`empty-message`},C={class:`services-toolbar launch-stagger`,style:{"--stagger":1}},w={class:`service-list`},T=[`for`],E={class:`group-label`},D={class:`group-count`},O=[`for`],k={class:`service-info`},A={class:`service-name`},j={class:`service-command`},M={class:`service-runner`},N={key:0,class:`launch-actions`},xe={class:`launch-actions__count`},P=`__all__`,F=_(ne({__name:`LaunchServicesPage`,setup(ne){let _=v(),F=ce(),{t:I}=ue(),L=de(),R=pe(),z=he(),B=ge(),V=ye(),H=t(!0),U=t(!1),W=t([]),G=t(``),K=c(()=>R.currentProject),q=L.activeProjectId,J=L.activeRef(),Y=c(()=>K.value?z.getByIds(K.value.serviceIds):[]),Se=c(()=>{if(!G.value)return Y.value;let e=G.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||(t.commands??[]).some(t=>t.command.toLowerCase().includes(e)))}),Ce=c(()=>{let e=new Map;for(let t of Se.value){let n=t.groups&&t.groups.length>0?t.groups:[P];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=K.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==P).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t})),i=e.get(P);return i&&i.length>0&&r.push({key:P,label:I(`launchServices.defaultGroup`),services:i}),r}),X=c(()=>Y.value.length!==0&&Y.value.every(e=>W.value.includes(e.id)));function Z(e){return e.services.length>0&&e.services.every(e=>W.value.includes(e.id))}function we(e){let t=e.services.map(e=>e.id);if(Z(e))W.value=W.value.filter(e=>!t.includes(e));else{let e=new Set(W.value);for(let n of t)e.add(n);W.value=[...e]}}let Q=c(()=>B.connectedAgents.length>0);s(async()=>{if(!q){_.replace(`/launch/project`);return}if(await Promise.all([R.fetchAll(),z.fetchAll(),B.fetchAll(),V.fetchAll()]),K.value){let e=_e(V.processes);if(K.value.serviceIds.some(t=>e.has(t))){L.completeLaunch(),_.replace(`/`);return}}if(B.subscribeStatus(),H.value=!1,K.value){let e=J?L.getSavedSelection(J):[],t=new Set(K.value.serviceIds);W.value=e.filter(e=>t.has(e))}}),te(()=>{B.unsubscribeStatus()});function Te(){X.value?W.value=[]:W.value=Y.value.map(e=>e.id)}async function Ee(){if(!q||W.value.length===0)return;J&&L.saveSelection(J,W.value),L.completeLaunch(),_.push(`/`);let e=[];await Promise.all(W.value.map(async t=>{let n=z.services.find(e=>e.id===t);if(!n){e.push(`Service ${t} not found`);return}try{await V.start(ve(n)??``,n.id)}catch(n){e.push(me(n)??`Failed to launch service ${t}`)}})),e.length>0&&F.add({severity:`warn`,summary:I(`launchServices.someServicesFailed`),detail:e.join(`; `),life:5e3})}function $(){q&&J&&L.saveSelection(J,W.value),L.completeLaunch(),_.push(`/`)}let{lockedProjectId:De}=fe();function Oe(){_.push(`/launch/project`)}return(t,s)=>(l(),p(y,{title:e(I)(`launchServices.selectServices`),subtitle:K.value?.name},{"before-mark":d(()=>[e(De)?m(``,!0):(l(),p(e(g),{key:0,icon:`ti ti-arrow-left`,label:e(I)(`actions.back`),variant:`text`,size:`small`,severity:`secondary`,class:`launch-back`,onClick:Oe},null,8,[`label`]))]),outside:d(()=>[!H.value&&Y.value.length>0?(l(),a(`div`,N,[i(`span`,xe,f(e(I)(`launchServices.selectedCount`,W.value.length)),1),n(e(g),{label:e(I)(`launchServices.skip`),severity:`secondary`,variant:`text`,disabled:U.value,onClick:$},null,8,[`label`,`disabled`]),n(e(g),{label:e(I)(`launchServices.launch`),icon:`ti ti-player-play`,loading:U.value,disabled:W.value.length===0||!Q.value,class:`launch-actions__primary`,onClick:Ee},null,8,[`label`,`loading`,`disabled`])])):m(``,!0),n(be)]),default:d(()=>[H.value?(l(),a(`div`,b,[n(e(ae),{style:{width:`32px`,height:`32px`},"stroke-width":`4`})])):Y.value.length===0?(l(),a(`div`,x,[i(`p`,S,f(e(I)(`launchServices.noServices`)),1),n(e(g),{label:e(I)(`launchServices.skip`),icon:`ti ti-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:$},null,8,[`label`])])):(l(),a(u,{key:2},[Q.value?m(``,!0):(l(),p(e(le),{key:0,severity:`warn`,class:`launch-warning launch-stagger`},{default:d(()=>[r(f(e(I)(`launchServices.noAgents`)),1)]),_:1})),i(`div`,C,[n(e(se),{class:`services-search`},{default:d(()=>[n(e(ie),{class:`ti ti-search`}),n(e(oe),{modelValue:G.value,"onUpdate:modelValue":s[0]||=e=>G.value=e,placeholder:e(I)(`launchServices.filter`),fluid:``},null,8,[`modelValue`,`placeholder`])]),_:1}),n(e(g),{label:X.value?e(I)(`launchServices.deselectAll`):e(I)(`launchServices.selectAll`),variant:`text`,size:`small`,onClick:Te},null,8,[`label`])]),i(`div`,w,[(l(!0),a(u,null,o(Ce.value,(t,r)=>(l(),a(`section`,{key:t.key,class:`service-group launch-stagger`,style:re({"--stagger":r+2})},[i(`label`,{class:`group-header`,for:`launch-group-`+t.key},[n(e(h),{inputId:`launch-group-`+t.key,"model-value":Z(t),binary:``,"onUpdate:modelValue":e=>we(t)},null,8,[`inputId`,`model-value`,`onUpdate:modelValue`]),i(`span`,E,f(t.label),1),i(`span`,D,f(t.services.length),1)],8,T),(l(!0),a(u,null,o(t.services,r=>(l(),a(`label`,{key:t.key+`:`+r.id,class:ee([`service-item`,{selected:W.value.includes(r.id)}]),for:`launch-svc-`+t.key+`:`+r.id},[n(e(h),{inputId:`launch-svc-`+t.key+`:`+r.id,modelValue:W.value,"onUpdate:modelValue":s[1]||=e=>W.value=e,value:r.id},null,8,[`inputId`,`modelValue`,`value`]),i(`span`,k,[i(`span`,A,f(r.name),1),i(`span`,j,f((r.commands??[]).map(e=>e.label||e.command).join(`, `)||e(I)(`launchServices.noCommands`)),1)]),i(`span`,M,f(r.runner),1)],10,O))),128))],4))),128))])],64))]),_:1},8,[`title`,`subtitle`]))}}),[[`__scopeId`,`data-v-d2df0dcb`]]);export{F as default};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,_ as i,b as a,bt as o,ct as s,en as ee,ft as te,g as c,k as ne,mt as l,nn as re,o as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{G as ie,H as ae,J as oe,K as se,O as h,P as ce,W as le,dt as g,ft as _,mt as ue}from"./src--GO-VSJ0.js";import{n as de}from"./project-launch.store-y7JBMNiE.js";import{g as v}from"./useApi-s_02lHjl-DZYO2tHU.js";import{a as fe}from"./app-mode-BVpTuh0i.js";import{n as pe}from"./project.store-DGJr0Qr9.js";import{n as me}from"./error-DpF7X5iu.js";import{t as he}from"./service.store-5jWsJxPx.js";import{t as ge}from"./agent.store-CKLAkF9a.js";import{n as _e,r as ve}from"./process-BWkHpZOM.js";import{c as ye}from"./index-D8VRbyoP.js";import{t as be}from"./ProjectLocationGate-DhMVdIjN.js";import{t as y}from"./LaunchShell-DUrSunB4.js";var b={key:0,class:`launch-loading`},x={key:1,class:`launch-empty launch-stagger`},S={class:`empty-message`},C={class:`services-toolbar launch-stagger`,style:{"--stagger":1}},w={class:`service-list`},T=[`for`],E={class:`group-label`},D={class:`group-count`},O=[`for`],k={class:`service-info`},A={class:`service-name`},j={class:`service-command`},M={class:`service-runner`},N={key:0,class:`launch-actions`},xe={class:`launch-actions__count`},P=`__all__`,F=_(ne({__name:`LaunchServicesPage`,setup(ne){let _=v(),F=ce(),{t:I}=ue(),L=de(),R=pe(),z=he(),B=ge(),V=ye(),H=t(!0),U=t(!1),W=t([]),G=t(``),K=c(()=>R.currentProject),q=L.activeProjectId,J=L.activeRef(),Y=c(()=>K.value?z.getByIds(K.value.serviceIds):[]),Se=c(()=>{if(!G.value)return Y.value;let e=G.value.toLowerCase();return Y.value.filter(t=>t.name.toLowerCase().includes(e)||(t.commands??[]).some(t=>t.command.toLowerCase().includes(e)))}),Ce=c(()=>{let e=new Map;for(let t of Se.value){let n=t.groups&&t.groups.length>0?t.groups:[P];for(let r of n){let n=e.get(r);n?n.push(t):e.set(r,[t])}}let t=K.value?.groupOrder??[],n=e=>{let n=t.indexOf(e);return n===-1?2**53-1:n},r=[...e.entries()].filter(([e])=>e!==P).sort(([e],[t])=>{let r=n(e),i=n(t);return r===i?e.localeCompare(t):r-i}).map(([e,t])=>({key:e,label:e,services:t})),i=e.get(P);return i&&i.length>0&&r.push({key:P,label:I(`launchServices.defaultGroup`),services:i}),r}),X=c(()=>Y.value.length!==0&&Y.value.every(e=>W.value.includes(e.id)));function Z(e){return e.services.length>0&&e.services.every(e=>W.value.includes(e.id))}function we(e){let t=e.services.map(e=>e.id);if(Z(e))W.value=W.value.filter(e=>!t.includes(e));else{let e=new Set(W.value);for(let n of t)e.add(n);W.value=[...e]}}let Q=c(()=>B.connectedAgents.length>0);s(async()=>{if(!q){_.replace(`/launch/project`);return}if(await Promise.all([R.fetchAll(),z.fetchAll(),B.fetchAll(),V.fetchAll()]),K.value){let e=_e(V.processes);if(K.value.serviceIds.some(t=>e.has(t))){L.completeLaunch(),_.replace(`/`);return}}if(B.subscribeStatus(),H.value=!1,K.value){let e=J?L.getSavedSelection(J):[],t=new Set(K.value.serviceIds);W.value=e.filter(e=>t.has(e))}}),te(()=>{B.unsubscribeStatus()});function Te(){X.value?W.value=[]:W.value=Y.value.map(e=>e.id)}async function Ee(){if(!q||W.value.length===0)return;J&&L.saveSelection(J,W.value),L.completeLaunch(),_.push(`/`);let e=[];await Promise.all(W.value.map(async t=>{let n=z.services.find(e=>e.id===t);if(!n){e.push(`Service ${t} not found`);return}try{await V.start(ve(n)??``,n.id)}catch(n){e.push(me(n)??`Failed to launch service ${t}`)}})),e.length>0&&F.add({severity:`warn`,summary:I(`launchServices.someServicesFailed`),detail:e.join(`; `),life:5e3})}function $(){q&&J&&L.saveSelection(J,W.value),L.completeLaunch(),_.push(`/`)}let{lockedProjectId:De}=fe();function Oe(){_.push(`/launch/project`)}return(t,s)=>(l(),p(y,{title:e(I)(`launchServices.selectServices`),subtitle:K.value?.name},{"before-mark":d(()=>[e(De)?m(``,!0):(l(),p(e(g),{key:0,icon:`ti ti-arrow-left`,label:e(I)(`actions.back`),variant:`text`,size:`small`,severity:`secondary`,class:`launch-back`,onClick:Oe},null,8,[`label`]))]),outside:d(()=>[!H.value&&Y.value.length>0?(l(),a(`div`,N,[i(`span`,xe,f(e(I)(`launchServices.selectedCount`,W.value.length)),1),n(e(g),{label:e(I)(`launchServices.skip`),severity:`secondary`,variant:`text`,disabled:U.value,onClick:$},null,8,[`label`,`disabled`]),n(e(g),{label:e(I)(`launchServices.launch`),icon:`ti ti-player-play`,loading:U.value,disabled:W.value.length===0||!Q.value,class:`launch-actions__primary`,onClick:Ee},null,8,[`label`,`loading`,`disabled`])])):m(``,!0),n(be)]),default:d(()=>[H.value?(l(),a(`div`,b,[n(e(ae),{style:{width:`32px`,height:`32px`},"stroke-width":`4`})])):Y.value.length===0?(l(),a(`div`,x,[i(`p`,S,f(e(I)(`launchServices.noServices`)),1),n(e(g),{label:e(I)(`launchServices.skip`),icon:`ti ti-arrow-right`,"icon-pos":`right`,class:`launch-action`,onClick:$},null,8,[`label`])])):(l(),a(u,{key:2},[Q.value?m(``,!0):(l(),p(e(le),{key:0,severity:`warn`,class:`launch-warning launch-stagger`},{default:d(()=>[r(f(e(I)(`launchServices.noAgents`)),1)]),_:1})),i(`div`,C,[n(e(se),{class:`services-search`},{default:d(()=>[n(e(ie),{class:`ti ti-search`}),n(e(oe),{modelValue:G.value,"onUpdate:modelValue":s[0]||=e=>G.value=e,placeholder:e(I)(`launchServices.filter`),fluid:``},null,8,[`modelValue`,`placeholder`])]),_:1}),n(e(g),{label:X.value?e(I)(`launchServices.deselectAll`):e(I)(`launchServices.selectAll`),variant:`text`,size:`small`,onClick:Te},null,8,[`label`])]),i(`div`,w,[(l(!0),a(u,null,o(Ce.value,(t,r)=>(l(),a(`section`,{key:t.key,class:`service-group launch-stagger`,style:re({"--stagger":r+2})},[i(`label`,{class:`group-header`,for:`launch-group-`+t.key},[n(e(h),{inputId:`launch-group-`+t.key,"model-value":Z(t),binary:``,"onUpdate:modelValue":e=>we(t)},null,8,[`inputId`,`model-value`,`onUpdate:modelValue`]),i(`span`,E,f(t.label),1),i(`span`,D,f(t.services.length),1)],8,T),(l(!0),a(u,null,o(t.services,r=>(l(),a(`label`,{key:t.key+`:`+r.id,class:ee([`service-item`,{selected:W.value.includes(r.id)}]),for:`launch-svc-`+t.key+`:`+r.id},[n(e(h),{inputId:`launch-svc-`+t.key+`:`+r.id,modelValue:W.value,"onUpdate:modelValue":s[1]||=e=>W.value=e,value:r.id},null,8,[`inputId`,`modelValue`,`value`]),i(`span`,k,[i(`span`,A,f(r.name),1),i(`span`,j,f((r.commands??[]).map(e=>e.label||e.command).join(`, `)||e(I)(`launchServices.noCommands`)),1)]),i(`span`,M,f(r.runner),1)],10,O))),128))],4))),128))])],64))]),_:1},8,[`title`,`subtitle`]))}}),[[`__scopeId`,`data-v-d2df0dcb`]]);export{F as default};
@@ -1 +1 @@
1
- import{D as e,_ as t,b as n,en as r,k as i,mt as a,rn as o,xt as s,y as c}from"./runtime-core.esm-bundler-DujKY9QV.js";import{ft as l}from"./src--GO-VSJ0.js";import{n as u,t as d}from"./VersionBadge-DBquJl76.js";var f={class:`launch-page`,"data-testid":`page-content`},p={class:`launch-branding`},m={class:`launch-title`},h={key:0,class:`launch-subtitle`},g=l(i({__name:`LaunchShell`,props:{title:{},subtitle:{},wide:{type:Boolean}},setup(i){return(l,g)=>(a(),n(`div`,f,[t(`div`,{class:r([`launch-container`,{"launch-container--wide":i.wide}])},[t(`header`,p,[s(l.$slots,`before-mark`,{},void 0,!0),e(u,{class:`launch-mark`}),t(`h1`,m,o(i.title),1),i.subtitle?(a(),n(`p`,h,o(i.subtitle),1)):c(``,!0)]),s(l.$slots,`default`,{},void 0,!0)],2),s(l.$slots,`outside`,{},void 0,!0),e(d)]))}}),[[`__scopeId`,`data-v-0ff0b7cd`]]);export{g as t};
1
+ import{D as e,_ as t,b as n,en as r,k as i,mt as a,rn as o,xt as s,y as c}from"./runtime-core.esm-bundler-DujKY9QV.js";import{ft as l}from"./src--GO-VSJ0.js";import{n as u,t as d}from"./VersionBadge-BmArk24p.js";var f={class:`launch-page`,"data-testid":`page-content`},p={class:`launch-branding`},m={class:`launch-title`},h={key:0,class:`launch-subtitle`},g=l(i({__name:`LaunchShell`,props:{title:{},subtitle:{},wide:{type:Boolean}},setup(i){return(l,g)=>(a(),n(`div`,f,[t(`div`,{class:r([`launch-container`,{"launch-container--wide":i.wide}])},[t(`header`,p,[s(l.$slots,`before-mark`,{},void 0,!0),e(u,{class:`launch-mark`}),t(`h1`,m,o(i.title),1),i.subtitle?(a(),n(`p`,h,o(i.subtitle),1)):c(``,!0)]),s(l.$slots,`default`,{},void 0,!0)],2),s(l.$slots,`outside`,{},void 0,!0),e(d)]))}}),[[`__scopeId`,`data-v-0ff0b7cd`]]);export{g as t};
@@ -1,3 +1,3 @@
1
- import{B as e,C as t,z as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as r,E as i,Ht as a,St as o,Yt as s,Z as c,_ as l,b as u,bt as d,ct as f,en as p,et as m,ft as h,g,k as _,mt as v,nn as y,o as b,qt as x,rn as S,tt as C,v as w,wt as T,xt as E,y as D}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as O,I as k,P as A,p as j}from"./floating-ui.dom-DWhsZyqT.js";import{C as M,H as N,J as P,S as ee,Y as F,a as I,dt as L,ft as R,mt as te}from"./src--GO-VSJ0.js";import{n as ne}from"./scenario.store-88w6P6s2.js";import{r as re,t as ie}from"./AiChatModals-It9jnB26.js";import{t as ae}from"./useAiChatDrawer-D_ofn8Eo.js";import{i as z}from"./dist-N4nrnbnA.js";import{L as oe,P as B}from"./index-B9DJf2V0.js";import{t as se}from"./useProjectCloudOrg-BnlKts7x.js";import{t as ce}from"./SendToChatDialog-QHIkxNio.js";var V=e=>Array.isArray(e),le=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ue=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,de=e=>`"${e}":`,fe=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,H=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,U=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),pe={class:`json-view-item`},me=[`aria-expanded`],W={class:`properties`},G={class:`value-key`},K=function(e){return e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e}({}),he=_({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(e,{emit:n}){let i=n,a=t(e.data.depth<e.maxDepth),c=()=>{a.value=!a.value},f=e=>{let t={key:e.key,value:e.value,path:e.path};i(`selected`,t)},m=e=>i(`selected`,e),h=g(()=>({"chevron-arrow":!0,opened:a.value})),_=g(()=>({"value-key":!0,"can-select":e.canSelect})),C=g(()=>{let{length:t,type:n}=e.data;return t===void 0?``:fe(t,n===1)}),E=g(()=>JSON.stringify(e.data.value)),M=e=>de(e.key),N=e=>ue(e);return(t,n)=>{let i=o(`JsonTreeViewItem`,!0);return v(),u(`div`,pe,[e.data.type===0||e.data.type===1?(v(),u(b,{key:0},[l(`button`,{class:`data-key`,type:`button`,"aria-expanded":a.value,onClick:k(c,[`stop`])},[l(`div`,{class:p(h.value),"aria-hidden":`true`},null,2),l(`span`,null,S(e.data.key)+`:`,1),l(`span`,W,S(C.value),1)],8,me),r(j,{name:`expand`},{default:x(()=>[s(l(`div`,null,[(v(!0),u(b,null,d(e.data.children,t=>(v(),w(i,{key:M(t),data:t,"max-depth":e.maxDepth,"can-select":e.canSelect,onSelected:m},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[A,a.value]])]),_:1})],64)):D(``,!0),e.data.type===2?(v(),w(T(e.canSelect?`button`:`div`),{key:1,class:p(_.value),type:e.canSelect?`button`:null,tabindex:e.canSelect?0:null,onClick:n[0]||=t=>e.canSelect?f(e.data):null,onKeyup:[n[1]||=O(t=>e.canSelect?f(e.data):null,[`enter`]),n[2]||=O(k(t=>e.canSelect?f(e.data):null,[`prevent`]),[`space`])]},{default:x(()=>[l(`span`,G,S(e.data.key)+`:`,1),l(`span`,{style:y({color:N(e.data.value)})},S(E.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):D(``,!0)])}}}),ge=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(_({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:t}){let n=t,r=e=>n(`selected`,e),i=(e,t,n,r,i)=>{let a=t.map((t,a)=>s(a.toString(),t,n+1,H(r,e,i,!0),!1));return{key:e,type:K.ARRAY,depth:n,path:r,length:a.length,children:a}},a=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>s(t,a,n+1,H(r,e,i),!0));return{key:e,type:K.OBJECT,depth:n,path:r,length:a.length,children:a}},o=(e,t,n,r,i)=>({key:e,type:K.VALUE,path:U(r,e,i),depth:n,value:t}),s=(e,t,n,r,s)=>V(t)?i(e,t,n,r,s):le(t)?a(e,t,n,r,s):o(e,t,n,r,s),c=(e,t)=>{try{let n=JSON.parse(e);return le(n)||V(n)?s(t,n,0,``,!0):o(t,n,0,``,!0)}catch{return o(t,e,0,``,!0)}},l=g(()=>c(e.json,e.rootKey));return(t,n)=>(v(),w(he,{class:p([`root-item`,{dark:e.colorScheme===`dark`}]),data:l.value,"max-depth":e.maxDepth,onSelected:r},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),_e={class:`log-card__icon`},q=[`innerHTML`],ve={key:0,class:`log-card__badge`},ye=[`innerHTML`],be={class:`log-card__clip`},xe=320,Se=150,J=R(_({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(n){let i=n,a=t(!i.defaultCollapsed),o=t(!!i.defaultCollapsed),s=t(!!i.defaultCollapsed);function c(){a.value?(a.value=!1,setTimeout(()=>{o.value=!0,s.value=!0},xe)):(o.value=!1,s.value=!1,setTimeout(()=>{a.value=!0},Se))}return(t,i)=>(v(),u(`div`,{class:p([`log-card`,{"log-card--muted":n.muted,"log-card--open":!s.value}])},[l(`div`,{class:`log-card__header`,style:y({background:n.color}),onClick:c},[l(`span`,_e,S(n.icon),1),l(`span`,{class:`log-card__title`,innerHTML:e(B).sanitize(n.title)},null,8,q),n.badge?(v(),u(`span`,ve,S(n.badge),1)):D(``,!0),t.$slots.default?(v(),u(`span`,{key:1,class:p([`log-card__chevron`,{"log-card__chevron--open":!s.value}])},[...i[0]||=[l(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[l(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):D(``,!0)],4),t.$slots.default?(v(),u(b,{key:0},[r(j,{name:`dots`},{default:x(()=>[o.value?(v(),u(`div`,{key:0,class:`log-card__preview`,style:y({borderLeftColor:n.color})},[n.lastLine?(v(),u(`span`,{key:0,class:`log-card__last-line`,innerHTML:e(B).sanitize(n.lastLine)},null,8,ye)):(v(),u(b,{key:1},[i[1]||=l(`span`,{class:`log-card__dot`},null,-1),i[2]||=l(`span`,{class:`log-card__dot`},null,-1),i[3]||=l(`span`,{class:`log-card__dot`},null,-1)],64))],4)):D(``,!0)]),_:1}),l(`div`,{class:p([`log-card__grid`,{"log-card__grid--open":a.value}])},[l(`div`,be,[l(`div`,{class:`log-card__body`,style:y({borderLeftColor:n.color})},[E(t.$slots,`default`,{},void 0,!0)],4)])],2)],64)):D(``,!0)],2))}}),[[`__scopeId`,`data-v-641c6e90`]]),Y={key:5},Ce=[`title`],we=[`innerHTML`],Te=R(_({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(t,{emit:n}){let a=t,o=n;function s(){let e=window.getSelection();e&&e.toString().length>0||o(`click`,a.log)}let c={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},d=g(()=>c[a.log.level]??`#a3a3a3`),f=g(()=>a.log.logCard?.state===`self`?a.log.logCard.type:null);function p(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function m(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function h(e){return JSON.stringify(e.json)}return(n,o)=>(v(),u(`div`,null,[f.value===`command-start`?(v(),w(J,{key:0,icon:`⌗`,title:t.log.logCard.header,color:`#3b82f6`,onClick:s},{default:x(()=>[i(S(t.log.message),1)]),_:1},8,[`title`])):f.value===`command-fail`?(v(),w(J,{key:1,icon:`⌗`,title:t.log.logCard.header,color:`#ef4444`,badge:`✗ ${t.log.message}`,onClick:s},null,8,[`title`,`badge`])):f.value===`system-warn`?(v(),w(J,{key:2,icon:`⚠`,title:t.log.logCard.header,color:`#ef4444`,badge:t.log.message,onClick:s},null,8,[`title`,`badge`])):f.value===`json`?(v(),w(J,{key:3,icon:`</>`,title:t.log.logCard.header,color:d.value},{default:x(()=>[l(`div`,{onClick:o[0]||=k(()=>{},[`stop`])},[r(e(ge),{json:h(a.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):t.log.json?(v(),w(J,{key:4,icon:`</>`,title:`JSON`,color:d.value,onClick:s},{default:x(()=>[l(`div`,{onClick:o[1]||=k(()=>{},[`stop`])},[r(e(ge),{json:h(a.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(v(),u(`div`,Y,[l(`div`,{class:`log-line`,"data-testid":`log-message`,style:y({boxShadow:`inset 3px 0 0 0 ${d.value}`}),title:p(a.log)?m(a.log):void 0,onClick:s},[l(`span`,{class:`log-message`,innerHTML:e(B).sanitize(a.log.message)},null,8,we)],12,Ce)]))]))}}),[[`__scopeId`,`data-v-6ac1d4e1`]]),Ee={class:`log-filter`},De={class:`log-filter__row`},Oe={class:`log-filter__level-option`},ke={class:`log-filter__level-chip`},Ae={key:0,class:`log-filter__badges`},je=[`title`],Me={class:`log-filter__badge-type`},Ne={key:0,class:`log-filter__badge-flag`},Pe={class:`log-filter__badge-pattern`},Fe=[`aria-label`,`onClick`],Ie={class:`log-filter__popover`},Le={class:`log-filter__popover-title`},Re={class:`log-filter__popover-row`},ze={class:`log-filter__popover-row log-filter__popover-row--between`},Be={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},Ve={class:`log-filter__popover-input-wrap`},He={key:0,class:`log-filter__popover-error`},Ue={class:`log-filter__popover-actions`},We=R(_({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(n,{emit:o}){let{t:s}=te(),c=n,f=o,m={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},g=z.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:m[e]??`#a3a3a3`})),_=t([...c.modelValue.levels]),T=t([...c.modelValue.filters]),E=!1;a(_,e=>{E||f(`update:modelValue`,{levels:e,filters:T.value})}),a(()=>c.modelValue,e=>{E=!0,_.value=[...e.levels],T.value=[...e.filters],C(()=>{E=!1})});let O=t(null),k=t(``),A=t(`include`),j=t(!1),N=t(``);function ee(e){O.value?.toggle(e)}function F(){O.value?.hide()}function R(e){try{return new RegExp(e),!0}catch(e){return N.value=e instanceof Error?e.message:`Invalid regex`,!1}}function ne(){let e=k.value.trim();e&&(N.value=``,(!j.value||R(e))&&(T.value=[...T.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:A.value,isRegex:j.value}],k.value=``,f(`update:modelValue`,{levels:_.value,filters:T.value}),F()))}function re(e){e.key===`Enter`&&(e.preventDefault(),ne()),e.key===`Escape`&&F()}function ie(){N.value=``}function ae(e){T.value=T.value.filter(t=>t.id!==e),f(`update:modelValue`,{levels:_.value,filters:T.value})}function oe(){_.value=[...z],T.value=[],f(`update:modelValue`,{levels:[...z],filters:[]})}return h(()=>{}),(t,n)=>(v(),u(`div`,Ee,[l(`div`,De,[r(e(I),{modelValue:_.value,"onUpdate:modelValue":n[0]||=e=>_.value=e,options:e(g),"option-label":`label`,"option-value":`value`,placeholder:e(s)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,size:`small`,"max-selected-labels":3,display:`chip`},{option:x(({option:e})=>[l(`div`,Oe,[l(`span`,{class:`log-filter__level-dot`,style:y({backgroundColor:e.color})},null,4),i(` `+S(e.label),1)])]),chip:x(({value:e})=>[l(`div`,ke,[l(`span`,{class:`log-filter__level-dot`,style:y({backgroundColor:m[e]})},null,4),i(` `+S(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),r(e(L),{icon:`ti ti-filter`,label:e(s)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:T.value.length>0?String(T.value.length):void 0,"badge-severity":`contrast`,onClick:ee},null,8,[`label`,`badge`]),T.value.length>0||_.value.length<e(z).length?(v(),w(e(L),{key:0,icon:`ti ti-filter-off`,variant:`text`,rounded:``,size:`small`,severity:`secondary`,"aria-label":e(s)(`logFilter.clearAll`),title:e(s)(`logFilter.clearAll`),onClick:oe},null,8,[`aria-label`,`title`])):D(``,!0)]),T.value.length>0?(v(),u(`div`,Ae,[(v(!0),u(b,null,d(T.value,t=>(v(),u(`span`,{key:t.id,class:p([`log-filter__badge`,t.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${t.type} · ${t.isRegex?`regex`:`text`}: ${t.pattern}`},[l(`span`,Me,S(t.type===`include`?`+`:`−`),1),t.isRegex?(v(),u(`span`,Ne,`.*`)):D(``,!0),l(`span`,Pe,S(t.pattern),1),l(`button`,{class:`log-filter__badge-remove`,"aria-label":e(s)(`logFilter.removeFilter`),onClick:e=>ae(t.id)},[...n[5]||=[l(`i`,{class:`ti ti-x`,style:{"font-size":`0.6rem`}},null,-1)]],8,Fe)],10,je))),128))])):D(``,!0),r(e(M),{ref_key:`popoverRef`,ref:O},{default:x(()=>[l(`div`,Ie,[l(`p`,Le,S(e(s)(`logFilter.newFilter`)),1),l(`div`,Re,[l(`button`,{class:p([`log-filter__type-btn`,A.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>A.value=`include`},[n[6]||=l(`i`,{class:`ti ti-plus`},null,-1),i(` `+S(e(s)(`logFilter.include`)),1)],2),l(`button`,{class:p([`log-filter__type-btn`,A.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>A.value=`exclude`},[n[7]||=l(`i`,{class:`ti ti-minus`},null,-1),i(` `+S(e(s)(`logFilter.exclude`)),1)],2)]),l(`div`,ze,[l(`label`,Be,S(e(s)(`logFilter.regex`)),1),l(`button`,{id:`logfilter-regex-toggle`,class:p([`log-filter__regex-toggle`,j.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{j.value=!j.value,N.value=``}},` .* `,2)]),l(`div`,Ve,[r(e(P),{modelValue:k.value,"onUpdate:modelValue":n[4]||=e=>k.value=e,placeholder:j.value?e(s)(`logFilter.regexPlaceholder`):e(s)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!N.value,autofocus:``,onInput:ie,onKeydown:re},null,8,[`modelValue`,`placeholder`,`invalid`]),N.value?(v(),u(`p`,He,S(N.value),1)):D(``,!0)]),l(`div`,Ue,[r(e(L),{label:e(s)(`logFilter.add`),icon:`ti ti-check`,size:`small`,disabled:!k.value.trim(),onClick:ne},null,8,[`label`,`disabled`]),r(e(L),{label:e(s)(`logFilter.cancel`),size:`small`,severity:`secondary`,variant:`text`,onClick:F},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-69deb3b1`]]),Ge,{min:X,max:Z,abs:Ke,floor:qe}=Math,Je=(e,t,n)=>X(n,Z(t,e)),Ye=e=>e.sort((e,t)=>e-t),Xe=setTimeout,Ze=clearTimeout,Qe=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},$e=()=>{let e;return[new Promise(t=>{e=t}),e]},et=e=>e.ownerDocument,tt=e=>e.defaultView,nt=()=>(Ge??=/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0,Ge),rt=e=>Z(e.t(),e.o()),it=({l:e,i:t,u:n,p:r,m:i,h:a,t:o,S:s,v:c,I:l},u=0)=>{let d=!!l,f=!!u,p=1,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=null,C=[0,f?Z(u-1,0):-1],w=0,T=!1,E=new Set,D=()=>g-h,O=()=>D()+v+_,k=e=>n(e)-v,A=e=>{e&&(nt()&&b!==0||S&&x===1?v+=e:_+=e)};return{k:()=>{E.clear()},O:()=>p,l:(t=200)=>{if(!T||f)return C;let n,r;if(y)[n,r]=C;else{let i=Z(0,O()),a=i+m;d||(t=Z(0,t),b!==1&&(i-=t),b!==2&&(a+=t)),[n,r]=C=e(Z(0,i),Z(0,a)),S&&(n=X(n,S[0]),r=Z(r,S[1]))}return[Z(n,0),X(r,s()-1)]},T:e=>t(e-h),R:a,u:k,p:r,N:s,A:()=>g,M:()=>b!==0,o:()=>m,C:()=>h,t:o,j:()=>(y=_,_=0,[y,x===2]),q:(e,t)=>{let n=[e,t];return E.add(n),()=>{E.delete(n)}},P:(n,s)=>{let u,C,j=0;switch(n){case 1:{if(s===g&&x===0)break;let e=y;y=0;let t=s-g,n=Ke(t);e&&n<Ke(e)+1||x!==0||(b=t<0?2:1),f&&=!1,g=s,j=4;let r=D();r>=-m&&r<=o()&&(j+=1,C=n>m);break}case 2:j=8,b!==0&&(u=!0,j+=1),b=0,x=0,S=null;break;case 3:{let e=s.filter(([e,t])=>!a(e,t));if(!e.length)break;A(e.reduce((e,[t,n])=>{let i;if(x===2)i=!0;else if(S&&x===1)i=t<S[0];else{let e=D(),n=k(t),a=r(t);i=b!==1&&x===0?n+a<=e:n<e&&n+a<e+m}return i&&(e+=n-r(t)),e},0));for(let[t,n]of e){let e=r(t),a=i(t,n);d&&(w+=a?n:n-e)}d&&m&&w>m&&(A(l(t(O()))),d=!1),j=3,C=!0;break}case 4:m!==s&&(m||(T=C=!0),m=s,j=3);break;case 5:s[1]?(A(c(s[0],!0)),x=2,j=1):(c(s[0]),j=1);break;case 6:h=s;break;case 7:x=1;break;case 9:A(s),j=3;break;case 8:S=e(s,s+m),j=1}j&&(p=1+(2147483647&p),u&&v&&(_+=v,v=0),E.forEach(([e,t])=>{j&e&&t(C)}))}}},Q=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},$=(e,t,n,r=0,i=t-1)=>{let a=r;for(;r<=i;){let t=qe((r+i)/2);e(t)<=n?(a=t,r=t+1):i=t-1}return Je(a,0,t-1)},at=(e,t,n)=>{let r=n&&n[1]||t||40,i=-1,a=0,o=n&&n[0],s=o?Q(o.slice(0,X(e,o.length)),Z(0,e-o.length)):Q([],e),c=Q([],e+1),l=e=>{let t=s[e];return t===-1?r:t},u=t=>{if(!e)return 0;if(i>=t)return c[t];i<0&&(c[0]=0,i=0);let n=i,r=c[n];for(;n<t;)r+=l(n),c[++n]=r;return i=t,r};return{l:(t,n)=>{let r,i;return a=X(a,e-1),u(a)<=t?(i=$(u,e,n,a),r=$(u,e,t,a,i)):(r=$(u,e,t,void 0,a),i=$(u,e,n,r)),a=r,[r,i]},i:t=>$(u,e,t),u,p:l,m:(e,t)=>{let n=s[e]===-1;return s[e]=t,i=X(e,i),n},h:(e,t=-1)=>s[e]===t,t:()=>u(e),S:()=>e,v:(t,n)=>{let a=t-e;return i=n?-1:X(t-1,i),e=t,a>0?(Q(c,a),Q(s,a,n),r*a):(c.splice(a),(n?s.splice(0,-a):s.splice(a)).reduce((e,t)=>e-(t===-1?r:t),0))},I:t?void 0:e=>{let t=0,n=[];s.forEach((r,i)=>{r!==-1&&(r&&n.push(r),i<e&&t++)}),i=-1,Ye(n);let a=n.length,o=a/2|0,c=a%2==0?(n[o-1]+n[o])/2:n[o],l=r;return((r=c)-l)*Z(e-t,0)},B:()=>[s.slice(),r]}},ot=e=>{let t;return{X(n){(t||=new(tt(et(n))).ResizeObserver(e)).observe(n)},Y(e){t.unobserve(e)},J(){t&&t.disconnect()}}},st=(e,t,n,r,i,a,o)=>{let s,c,l=0,u=!1,d=!1,f=!1,p=!1,m=Date.now,h=r?`scrollLeft`:`scrollTop`,g=r?`left`:`top`,_=e=>i?-e:e,v=()=>_(n[h]),y=(e,t)=>{n.scrollTo({[g]:_(e),behavior:t?`smooth`:`instant`})},b=()=>{if(u||d)return u=!1,void x();f=!1,e.P(2)},x=()=>{Ze(c),c=Xe(b,150)},S=()=>{l=m(),f&&(p=!0),o&&e.P(6,o()),e.P(1,v()),x()},C=t=>{if(u||!e.M()||t.ctrlKey)return;let n=m()-l;150>n&&50<n&&(r?t.deltaX:t.deltaY)&&(u=!0)},w=()=>{d=!0,f=p=!1},T=()=>{d=!1,nt()&&(f=!0)};return t.addEventListener(`scroll`,S),t.addEventListener(`wheel`,C,{passive:!0}),t.addEventListener(`touchstart`,w,{passive:!0}),t.addEventListener(`touchend`,T,{passive:!0}),{J:()=>{t.removeEventListener(`scroll`,S),t.removeEventListener(`wheel`,C),t.removeEventListener(`touchstart`,w),t.removeEventListener(`touchend`,T),Ze(c)},U:()=>{let[t,r]=e.j();if(!t)return;p&&a&&a(),p=!1;let i=e.A()+t;i<=0||i>=e.C()+e.t()-e.o()?y(i):n.scrollBy({[g]:_(t),behavior:`instant`}),r&&(s&&s(),e.o()>e.t()&&e.P(1,v()))},G:(t,n)=>{let r,i,a;s&&s();let o=s=()=>{r=!0,Ze(i),a&&a()},c=()=>{if(!r){if(e.o()&&(Ze(i),i=Xe(o,150)),n){for(let[t,n]=e.l(0);t<=n;t++)if(e.R(t))return;o()}e.P(7),y(t(),n)}},l=()=>{if(r)return;let t;a=e.q(2,()=>{t||(t=!0,Qe(()=>{t=!1,c()}))}),c()};n?(e.P(8,t()),Qe(l)):l()}}},ct=(e,t)=>{e.K(()=>t)},lt=(e,t,n,{align:r,smooth:i,offset:a=0}={})=>{if(n=Je(n,0,t.N()-1),r===`nearest`){let e=t.u(n),i=t.A();if(e<i)r=`start`;else{if(!(e+t.p(n)>i+t.o()))return;r=`end`}}e.K(()=>a+e.Z()+t.u(n)+(r===`end`?t.p(n)-t.o():r===`center`?(t.p(n)-t.o())/2:0),i)},ut=_(e=>{let n=t(),i=g(()=>e.ee.value&&e.te.u(e.oe)),o=g(()=>e.ee.value&&e.te.R(e.oe)),s=g(()=>e.re({item:e.ne,index:e.oe}));return a(()=>n.value&&e.oe,(t,r,i)=>{i(e.se(n.value,e.oe))},{flush:`post`}),()=>{let{le:t,ie:a,ce:c,oe:l,ne:u}=e,d=o.value,{style:f,...p}=e.ae?.({item:u,index:l})||{},h={contain:`layout style`,position:d&&a?void 0:`absolute`,[t?`height`:`width`]:`100%`,[t?`top`:`left`]:`0px`,[t?`insetInlineStart`:`top`]:i.value+`px`,visibility:!d||a?void 0:`hidden`,...f};return t&&(h.display=`inline-flex`),r(c,m({ref:n,style:h},p),{default:()=>[s.value]},16,[`style`])}},{props:{ee:null,te:null,re:null,ne:null,se:null,oe:null,le:null,ie:null,ce:null,ae:null}}),dt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ft=(e,t)=>e[0]===t[0]&&e[1]===t[1],pt=_({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:n,expose:i,slots:o}){let s=!!e.ssrCount,l=e.horizontal,u=t(),d=at(e.data.length,e.itemSize,e.cache),p=it(d,e.ssrCount),m=((e,t)=>{let n,r,i=$e(),a=new WeakMap,o=ot(r=>{let i=[];for(let{target:o,contentRect:{width:s,height:c}}of r)if(o===n)(s||c)&&e.P(4,t?s:c);else if(o.offsetParent){let e=a.get(o);e!=null&&i.push([e,t?s:c])}i.length&&e.P(3,i)});return{ue(a,s=a.parentElement){o.X(n=s),r=st(e,s,s,t,t&&getComputedStyle(s).direction===`rtl`,()=>{let e=t?`overflowX`:`overflowY`,n=s.style,r=n[e];n[e]=`hidden`,Xe(()=>{n[e]=r})}),i[1](!0)},k(){o.J(),r&&r.J(),i[1](!1),i=$e()},fe:(e,t)=>(a.set(e,t),o.X(e),()=>{a.delete(e),o.Y(e)}),async K(e,t){await i[0]&&r.G(e,t)},de(){r&&r.U()},Z:e.C}})(p,l),_=t(p.O());p.q(1,()=>{_.value=p.O()}),p.q(4,()=>{n(`scroll`,p.A())}),p.q(8,()=>{n(`scrollEnd`)});let v=g(t=>{_.value;let n=p.l(e.bufferSize);return t&&ft(t,n)?t:n}),y=g(()=>_.value&&p.M()),b=g(()=>_.value&&p.t());return f(()=>{s=!1;let t=u.value,n=requestAnimationFrame(()=>{m.ue(t,e.scrollRef)});h(()=>{cancelAnimationFrame(n)})}),h(()=>{p.k(),m.k()}),a(()=>e.data.length,t=>{p.P(5,[t,e.shift])}),a(()=>e.startMargin,e=>{p.P(6,e)},{immediate:!0}),a([_],()=>{m.de()},{flush:`post`}),i({get cache(){return d.B()},get scrollOffset(){return p.A()},get scrollSize(){return rt(p)},get viewportSize(){return p.o()},findItemIndex:p.T,getItemOffset:p.u,getItemSize:p.p,scrollToIndex:(e,t)=>lt(m,p,e,t),scrollTo:e=>ct(m,e),scrollBy:e=>((e,t,n)=>{ct(e,n+t.A())})(m,p,e)}),()=>{let t=e.as,n=e.item,i=b.value,a=[],d=t=>{let i=o.default({item:e.data[t],index:t});return r(ut,{key:dt(i,t),ee:_,te:p,se:m.fe,oe:t,re:o.default,ne:e.data[t],le:l,ie:s,ce:n,ae:e.itemProps},null,8,[`ee`,`te`,`se`,`oe`,`re`,`ne`,`le`,`ie`,`ce`,`ae`])};if(e.keepMounted){let t=e.data.length,n=new Set(e.keepMounted);for(let[e,t]=v.value;e<=t;e++)n.add(e);Ye([...n]).forEach(e=>{e<t&&a.push(d(e))})}else for(let[e,t]=v.value;e<=t;e++)a.push(d(e));return r(t,{ref:u,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:l?i+`px`:`100%`,height:l?`100%`:i+`px`,pointerEvents:y.value?`none`:void 0}},typeof(f=a)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!c(f)?a:{default:()=>[a],_:2},8,[`style`]);var f}}}),mt=_({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:n,expose:i,slots:a}){let o=e.horizontal,s=e=>{n(`scroll`,e)},l=()=>{n(`scrollEnd`)},u=t();return i({get cache(){return u.value.cache},get scrollOffset(){return u.value.scrollOffset},get scrollSize(){return u.value.scrollSize},get viewportSize(){return u.value.viewportSize},findItemIndex:(...e)=>u.value.findItemIndex(...e),getItemOffset:(...e)=>u.value.getItemOffset(...e),getItemSize:(...e)=>u.value.getItemSize(...e),scrollToIndex:(...e)=>u.value.scrollToIndex(...e),scrollTo:(...e)=>u.value.scrollTo(...e),scrollBy:(...e)=>u.value.scrollBy(...e)}),()=>{return r(`div`,{style:{display:o?`inline-block`:`block`,[o?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[r(pt,{ref:u,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:o,keepMounted:e.keepMounted,cache:e.cache,onScroll:s,onScrollEnd:l},(t=a,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!c(t)?a:{default:()=>[a],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}}),ht={class:`log-viewer`},gt={class:`log-viewer__toolbar`},_t={class:`log-viewer__toolbar-right`},vt={class:`log-viewer__count`},yt=[`title`],bt=[`title`],xt={class:`log-viewer__pin-wrap`},St=[`title`],Ct={key:0,class:`log-viewer__loading`},wt={key:1,class:`log-viewer__scroll log-viewer__empty`},Tt={class:`log-viewer__simple-line`},Et={key:0,class:`log-viewer__time-separator`},Dt={class:`log-viewer__time-separator-label`},Ot=150,kt=2e3,At=R(_({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(o,{emit:s}){let c=o,p=s,{t:m}=te(),h=[10,50,100,200,500,1e3,2e3,5e3,1e4],_=t(500),y=t({levels:[...z],filters:[]}),T=t(!0),E=t(null),O=t(!1),k=t(!1),A=t(0),j;function M(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function P(e){if(j===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===j)return e.slice(t+1);return null}function I(e){let t=e.length>_.value?e.slice(e.length-_.value):e;j=t[t.length-1]?.id,W.value=M(t),me(t),T.value&&C(()=>C(q))}function R(e){e.length!==0&&(j=e[e.length-1].id,W.value+=M(e),pe(e,de(),H.value),H.value.length>_.value?H.value=H.value.slice(H.value.length-_.value):n(H),T.value&&C(q))}function B(){if(A.value===0)return;A.value=0;let e=c.logs,t=P(e);t===null?I(e):R(t)}a(()=>c.logs,e=>{if(e.length===0){j=void 0,A.value=0,W.value=0,me([]);return}if(!T.value){let t=P(e);A.value=t===null?e.length:t.length;return}if(j===void 0){I(e);return}let t=P(e);t===null?I(e):R(t)},{deep:!1}),f(()=>{c.logs.length>0&&I(c.logs)});let V=new WeakMap;function le(e){if(V.has(e))return V.get(e);try{let t=new RegExp(e.pattern,`i`);return V.set(e,t),t}catch{return V.set(e,null),null}}function ue(e,t){if(e.isRegex){let n=le(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function de(){return{levelSet:new Set(y.value.levels),filterAll:y.value.levels.length>=z.length,includes:y.value.filters.filter(e=>e.type===`include`),excludes:y.value.filters.filter(e=>e.type===`exclude`),hidden:O.value}}function fe(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>ue(t,e.message))||t.excludes.some(t=>ue(t,e.message)))}let H=t([]),U=new Map;function pe(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){fe(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};U.set(e.id,t),n.push(t);continue}if(e.state===`close`){U.delete(e.id);continue}let i=U.get(e.id);i&&fe(r,t)&&i.body.push(r);continue}fe(r,t)&&n.push({...r,_type:`log`})}}function me(e){U=new Map;let t=de(),n=[];pe(e,t,n),H.value=n}a([y,O,_],()=>{I(c.logs)});let W=t(0),G=t(null),K=t(null);a(()=>c.logs,e=>{if(e.length===0){G.value=null,K.value=null;return}let t=Date.now();G.value===null&&(G.value=t),K.value=t});let he=g(()=>{if(G.value===null||K.value===null)return null;let e=K.value-G.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),ge=0,_e=0;function q(){E.value&&H.value.length!==0&&(ge=Date.now()+Ot,E.value.scrollToIndex(H.value.length-1,{align:`end`}))}function ve(e){let t=e<_e;if(!t&&Date.now()<ge){_e=e;return}if(_e=e,!E.value)return;let n=E.value.scrollSize-e-E.value.viewportSize;T.value?t&&n>1&&(T.value=!1):n<=1&&(T.value=!0,B(),C(q))}function ye(){T.value=!T.value,T.value&&(B(),C(q))}f(()=>{T.value&&C(q)});function be(e){y.value=e}function xe(e){p(`log-click`,e)}let Se=t(null),Y=t(!1),Ce=ne(),{openWithContext:we}=ae(),Ee=``;function De(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Oe(){return H.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
1
+ import{B as e,C as t,z as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as r,E as i,Ht as a,St as o,Yt as s,Z as c,_ as l,b as u,bt as d,ct as f,en as p,et as m,ft as h,g,k as _,mt as v,nn as y,o as b,qt as x,rn as S,tt as C,v as w,wt as T,xt as E,y as D}from"./runtime-core.esm-bundler-DujKY9QV.js";import{F as O,I as k,P as A,p as j}from"./floating-ui.dom-DWhsZyqT.js";import{C as M,H as N,J as P,S as ee,Y as F,a as I,dt as L,ft as R,mt as te}from"./src--GO-VSJ0.js";import{n as ne}from"./scenario.store-YWHL2_wu.js";import{r as re,t as ie}from"./AiChatModals-D3scRE3S.js";import{t as ae}from"./useAiChatDrawer-D_ofn8Eo.js";import{i as z}from"./dist-N4nrnbnA.js";import{L as oe,P as B}from"./index-D8VRbyoP.js";import{t as se}from"./useProjectCloudOrg-CEN9-_OA.js";import{t as ce}from"./SendToChatDialog-BxWsyv29.js";var V=e=>Array.isArray(e),le=e=>typeof e==`object`&&!!e&&!Array.isArray(e),ue=e=>e===null?`var(--jtv-null-color)`:{string:`var(--jtv-string-color)`,number:`var(--jtv-number-color)`,boolean:`var(--jtv-boolean-color)`}[typeof e]??`var(--jtv-valueKey-color)`,de=e=>`"${e}":`,fe=(e,t)=>e===1?`${e} ${t?`element`:`property`}`:`${e} ${t?`elements`:`properties`}`,H=(e,t,n,r=!1)=>n?r?`${e}${t}[${t}].`:`${e}${t}.`:e,U=(e,t,n)=>n?`${e}${t}`:e.slice(0,-1),pe={class:`json-view-item`},me=[`aria-expanded`],W={class:`properties`},G={class:`value-key`},K=function(e){return e[e.OBJECT=0]=`OBJECT`,e[e.ARRAY=1]=`ARRAY`,e[e.VALUE=2]=`VALUE`,e}({}),he=_({name:`JsonTreeViewItem`,__name:`JsonTreeViewItem`,props:{data:{},maxDepth:{default:1},canSelect:{type:Boolean,default:!1}},emits:[`selected`],setup(e,{emit:n}){let i=n,a=t(e.data.depth<e.maxDepth),c=()=>{a.value=!a.value},f=e=>{let t={key:e.key,value:e.value,path:e.path};i(`selected`,t)},m=e=>i(`selected`,e),h=g(()=>({"chevron-arrow":!0,opened:a.value})),_=g(()=>({"value-key":!0,"can-select":e.canSelect})),C=g(()=>{let{length:t,type:n}=e.data;return t===void 0?``:fe(t,n===1)}),E=g(()=>JSON.stringify(e.data.value)),M=e=>de(e.key),N=e=>ue(e);return(t,n)=>{let i=o(`JsonTreeViewItem`,!0);return v(),u(`div`,pe,[e.data.type===0||e.data.type===1?(v(),u(b,{key:0},[l(`button`,{class:`data-key`,type:`button`,"aria-expanded":a.value,onClick:k(c,[`stop`])},[l(`div`,{class:p(h.value),"aria-hidden":`true`},null,2),l(`span`,null,S(e.data.key)+`:`,1),l(`span`,W,S(C.value),1)],8,me),r(j,{name:`expand`},{default:x(()=>[s(l(`div`,null,[(v(!0),u(b,null,d(e.data.children,t=>(v(),w(i,{key:M(t),data:t,"max-depth":e.maxDepth,"can-select":e.canSelect,onSelected:m},null,8,[`data`,`max-depth`,`can-select`]))),128))],512),[[A,a.value]])]),_:1})],64)):D(``,!0),e.data.type===2?(v(),w(T(e.canSelect?`button`:`div`),{key:1,class:p(_.value),type:e.canSelect?`button`:null,tabindex:e.canSelect?0:null,onClick:n[0]||=t=>e.canSelect?f(e.data):null,onKeyup:[n[1]||=O(t=>e.canSelect?f(e.data):null,[`enter`]),n[2]||=O(k(t=>e.canSelect?f(e.data):null,[`prevent`]),[`space`])]},{default:x(()=>[l(`span`,G,S(e.data.key)+`:`,1),l(`span`,{style:y({color:N(e.data.value)})},S(E.value),5)]),_:1},40,[`class`,`type`,`tabindex`])):D(``,!0)])}}}),ge=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(_({name:`JsonTreeView`,__name:`JsonTreeView`,props:{json:{},rootKey:{default:`/`},maxDepth:{default:1},colorScheme:{default:`light`}},emits:[`selected`],setup(e,{emit:t}){let n=t,r=e=>n(`selected`,e),i=(e,t,n,r,i)=>{let a=t.map((t,a)=>s(a.toString(),t,n+1,H(r,e,i,!0),!1));return{key:e,type:K.ARRAY,depth:n,path:r,length:a.length,children:a}},a=(e,t,n,r,i)=>{let a=Object.entries(t).map(([t,a])=>s(t,a,n+1,H(r,e,i),!0));return{key:e,type:K.OBJECT,depth:n,path:r,length:a.length,children:a}},o=(e,t,n,r,i)=>({key:e,type:K.VALUE,path:U(r,e,i),depth:n,value:t}),s=(e,t,n,r,s)=>V(t)?i(e,t,n,r,s):le(t)?a(e,t,n,r,s):o(e,t,n,r,s),c=(e,t)=>{try{let n=JSON.parse(e);return le(n)||V(n)?s(t,n,0,``,!0):o(t,n,0,``,!0)}catch{return o(t,e,0,``,!0)}},l=g(()=>c(e.json,e.rootKey));return(t,n)=>(v(),w(he,{class:p([`root-item`,{dark:e.colorScheme===`dark`}]),data:l.value,"max-depth":e.maxDepth,onSelected:r},null,8,[`class`,`data`,`max-depth`]))}}),[[`__scopeId`,`data-v-9f840ee1`]]),_e={class:`log-card__icon`},q=[`innerHTML`],ve={key:0,class:`log-card__badge`},ye=[`innerHTML`],be={class:`log-card__clip`},xe=320,Se=150,J=R(_({__name:`LogCard`,props:{icon:{},title:{},color:{},badge:{},muted:{type:Boolean},defaultCollapsed:{type:Boolean},lastLine:{}},setup(n){let i=n,a=t(!i.defaultCollapsed),o=t(!!i.defaultCollapsed),s=t(!!i.defaultCollapsed);function c(){a.value?(a.value=!1,setTimeout(()=>{o.value=!0,s.value=!0},xe)):(o.value=!1,s.value=!1,setTimeout(()=>{a.value=!0},Se))}return(t,i)=>(v(),u(`div`,{class:p([`log-card`,{"log-card--muted":n.muted,"log-card--open":!s.value}])},[l(`div`,{class:`log-card__header`,style:y({background:n.color}),onClick:c},[l(`span`,_e,S(n.icon),1),l(`span`,{class:`log-card__title`,innerHTML:e(B).sanitize(n.title)},null,8,q),n.badge?(v(),u(`span`,ve,S(n.badge),1)):D(``,!0),t.$slots.default?(v(),u(`span`,{key:1,class:p([`log-card__chevron`,{"log-card__chevron--open":!s.value}])},[...i[0]||=[l(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`currentColor`},[l(`polygon`,{points:`0,0 8,4 0,8`})],-1)]],2)):D(``,!0)],4),t.$slots.default?(v(),u(b,{key:0},[r(j,{name:`dots`},{default:x(()=>[o.value?(v(),u(`div`,{key:0,class:`log-card__preview`,style:y({borderLeftColor:n.color})},[n.lastLine?(v(),u(`span`,{key:0,class:`log-card__last-line`,innerHTML:e(B).sanitize(n.lastLine)},null,8,ye)):(v(),u(b,{key:1},[i[1]||=l(`span`,{class:`log-card__dot`},null,-1),i[2]||=l(`span`,{class:`log-card__dot`},null,-1),i[3]||=l(`span`,{class:`log-card__dot`},null,-1)],64))],4)):D(``,!0)]),_:1}),l(`div`,{class:p([`log-card__grid`,{"log-card__grid--open":a.value}])},[l(`div`,be,[l(`div`,{class:`log-card__body`,style:y({borderLeftColor:n.color})},[E(t.$slots,`default`,{},void 0,!0)],4)])],2)],64)):D(``,!0)],2))}}),[[`__scopeId`,`data-v-641c6e90`]]),Y={key:5},Ce=[`title`],we=[`innerHTML`],Te=R(_({__name:`LogLine`,props:{log:{}},emits:[`click`],setup(t,{emit:n}){let a=t,o=n;function s(){let e=window.getSelection();e&&e.toString().length>0||o(`click`,a.log)}let c={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},d=g(()=>c[a.log.level]??`#a3a3a3`),f=g(()=>a.log.logCard?.state===`self`?a.log.logCard.type:null);function p(e){return e.metadata!=null&&Object.keys(e.metadata).length>0}function m(e){if(!e.metadata)return``;try{return JSON.stringify(e.metadata,null,2)}catch{return String(e.metadata)}}function h(e){return JSON.stringify(e.json)}return(n,o)=>(v(),u(`div`,null,[f.value===`command-start`?(v(),w(J,{key:0,icon:`⌗`,title:t.log.logCard.header,color:`#3b82f6`,onClick:s},{default:x(()=>[i(S(t.log.message),1)]),_:1},8,[`title`])):f.value===`command-fail`?(v(),w(J,{key:1,icon:`⌗`,title:t.log.logCard.header,color:`#ef4444`,badge:`✗ ${t.log.message}`,onClick:s},null,8,[`title`,`badge`])):f.value===`system-warn`?(v(),w(J,{key:2,icon:`⚠`,title:t.log.logCard.header,color:`#ef4444`,badge:t.log.message,onClick:s},null,8,[`title`,`badge`])):f.value===`json`?(v(),w(J,{key:3,icon:`</>`,title:t.log.logCard.header,color:d.value},{default:x(()=>[l(`div`,{onClick:o[0]||=k(()=>{},[`stop`])},[r(e(ge),{json:h(a.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`title`,`color`])):t.log.json?(v(),w(J,{key:4,icon:`</>`,title:`JSON`,color:d.value,onClick:s},{default:x(()=>[l(`div`,{onClick:o[1]||=k(()=>{},[`stop`])},[r(e(ge),{json:h(a.log),maxDepth:2},null,8,[`json`])])]),_:1},8,[`color`])):(v(),u(`div`,Y,[l(`div`,{class:`log-line`,"data-testid":`log-message`,style:y({boxShadow:`inset 3px 0 0 0 ${d.value}`}),title:p(a.log)?m(a.log):void 0,onClick:s},[l(`span`,{class:`log-message`,innerHTML:e(B).sanitize(a.log.message)},null,8,we)],12,Ce)]))]))}}),[[`__scopeId`,`data-v-6ac1d4e1`]]),Ee={class:`log-filter`},De={class:`log-filter__row`},Oe={class:`log-filter__level-option`},ke={class:`log-filter__level-chip`},Ae={key:0,class:`log-filter__badges`},je=[`title`],Me={class:`log-filter__badge-type`},Ne={key:0,class:`log-filter__badge-flag`},Pe={class:`log-filter__badge-pattern`},Fe=[`aria-label`,`onClick`],Ie={class:`log-filter__popover`},Le={class:`log-filter__popover-title`},Re={class:`log-filter__popover-row`},ze={class:`log-filter__popover-row log-filter__popover-row--between`},Be={for:`logfilter-regex-toggle`,class:`log-filter__popover-label`},Ve={class:`log-filter__popover-input-wrap`},He={key:0,class:`log-filter__popover-error`},Ue={class:`log-filter__popover-actions`},We=R(_({__name:`LogFilter`,props:{modelValue:{}},emits:[`update:modelValue`],setup(n,{emit:o}){let{t:s}=te(),c=n,f=o,m={debug:`#c72bd4`,info:`#a3a3a3`,warn:`#f59e0b`,error:`#ef4444`,fatal:`#ef4444`},g=z.map(e=>({label:e.charAt(0).toUpperCase()+e.slice(1),value:e,color:m[e]??`#a3a3a3`})),_=t([...c.modelValue.levels]),T=t([...c.modelValue.filters]),E=!1;a(_,e=>{E||f(`update:modelValue`,{levels:e,filters:T.value})}),a(()=>c.modelValue,e=>{E=!0,_.value=[...e.levels],T.value=[...e.filters],C(()=>{E=!1})});let O=t(null),k=t(``),A=t(`include`),j=t(!1),N=t(``);function ee(e){O.value?.toggle(e)}function F(){O.value?.hide()}function R(e){try{return new RegExp(e),!0}catch(e){return N.value=e instanceof Error?e.message:`Invalid regex`,!1}}function ne(){let e=k.value.trim();e&&(N.value=``,(!j.value||R(e))&&(T.value=[...T.value,{id:`${Date.now()}-${Math.random()}`,pattern:e,type:A.value,isRegex:j.value}],k.value=``,f(`update:modelValue`,{levels:_.value,filters:T.value}),F()))}function re(e){e.key===`Enter`&&(e.preventDefault(),ne()),e.key===`Escape`&&F()}function ie(){N.value=``}function ae(e){T.value=T.value.filter(t=>t.id!==e),f(`update:modelValue`,{levels:_.value,filters:T.value})}function oe(){_.value=[...z],T.value=[],f(`update:modelValue`,{levels:[...z],filters:[]})}return h(()=>{}),(t,n)=>(v(),u(`div`,Ee,[l(`div`,De,[r(e(I),{modelValue:_.value,"onUpdate:modelValue":n[0]||=e=>_.value=e,options:e(g),"option-label":`label`,"option-value":`value`,placeholder:e(s)(`logFilter.levelsPlaceholder`),class:`log-filter__levels`,size:`small`,"max-selected-labels":3,display:`chip`},{option:x(({option:e})=>[l(`div`,Oe,[l(`span`,{class:`log-filter__level-dot`,style:y({backgroundColor:e.color})},null,4),i(` `+S(e.label),1)])]),chip:x(({value:e})=>[l(`div`,ke,[l(`span`,{class:`log-filter__level-dot`,style:y({backgroundColor:m[e]})},null,4),i(` `+S(e.charAt(0).toUpperCase()+e.slice(1)),1)])]),_:1},8,[`modelValue`,`options`,`placeholder`]),r(e(L),{icon:`ti ti-filter`,label:e(s)(`logFilter.addFilter`),size:`small`,severity:`secondary`,badge:T.value.length>0?String(T.value.length):void 0,"badge-severity":`contrast`,onClick:ee},null,8,[`label`,`badge`]),T.value.length>0||_.value.length<e(z).length?(v(),w(e(L),{key:0,icon:`ti ti-filter-off`,variant:`text`,rounded:``,size:`small`,severity:`secondary`,"aria-label":e(s)(`logFilter.clearAll`),title:e(s)(`logFilter.clearAll`),onClick:oe},null,8,[`aria-label`,`title`])):D(``,!0)]),T.value.length>0?(v(),u(`div`,Ae,[(v(!0),u(b,null,d(T.value,t=>(v(),u(`span`,{key:t.id,class:p([`log-filter__badge`,t.type===`include`?`log-filter__badge--include`:`log-filter__badge--exclude`]),title:`${t.type} · ${t.isRegex?`regex`:`text`}: ${t.pattern}`},[l(`span`,Me,S(t.type===`include`?`+`:`−`),1),t.isRegex?(v(),u(`span`,Ne,`.*`)):D(``,!0),l(`span`,Pe,S(t.pattern),1),l(`button`,{class:`log-filter__badge-remove`,"aria-label":e(s)(`logFilter.removeFilter`),onClick:e=>ae(t.id)},[...n[5]||=[l(`i`,{class:`ti ti-x`,style:{"font-size":`0.6rem`}},null,-1)]],8,Fe)],10,je))),128))])):D(``,!0),r(e(M),{ref_key:`popoverRef`,ref:O},{default:x(()=>[l(`div`,Ie,[l(`p`,Le,S(e(s)(`logFilter.newFilter`)),1),l(`div`,Re,[l(`button`,{class:p([`log-filter__type-btn`,A.value===`include`&&`log-filter__type-btn--active-include`]),onClick:n[1]||=e=>A.value=`include`},[n[6]||=l(`i`,{class:`ti ti-plus`},null,-1),i(` `+S(e(s)(`logFilter.include`)),1)],2),l(`button`,{class:p([`log-filter__type-btn`,A.value===`exclude`&&`log-filter__type-btn--active-exclude`]),onClick:n[2]||=e=>A.value=`exclude`},[n[7]||=l(`i`,{class:`ti ti-minus`},null,-1),i(` `+S(e(s)(`logFilter.exclude`)),1)],2)]),l(`div`,ze,[l(`label`,Be,S(e(s)(`logFilter.regex`)),1),l(`button`,{id:`logfilter-regex-toggle`,class:p([`log-filter__regex-toggle`,j.value&&`log-filter__regex-toggle--on`]),onClick:n[3]||=e=>{j.value=!j.value,N.value=``}},` .* `,2)]),l(`div`,Ve,[r(e(P),{modelValue:k.value,"onUpdate:modelValue":n[4]||=e=>k.value=e,placeholder:j.value?e(s)(`logFilter.regexPlaceholder`):e(s)(`logFilter.filterPlaceholder`),class:`log-filter__popover-input`,invalid:!!N.value,autofocus:``,onInput:ie,onKeydown:re},null,8,[`modelValue`,`placeholder`,`invalid`]),N.value?(v(),u(`p`,He,S(N.value),1)):D(``,!0)]),l(`div`,Ue,[r(e(L),{label:e(s)(`logFilter.add`),icon:`ti ti-check`,size:`small`,disabled:!k.value.trim(),onClick:ne},null,8,[`label`,`disabled`]),r(e(L),{label:e(s)(`logFilter.cancel`),size:`small`,severity:`secondary`,variant:`text`,onClick:F},null,8,[`label`])])])]),_:1},512)]))}}),[[`__scopeId`,`data-v-69deb3b1`]]),Ge,{min:X,max:Z,abs:Ke,floor:qe}=Math,Je=(e,t,n)=>X(n,Z(t,e)),Ye=e=>e.sort((e,t)=>e-t),Xe=setTimeout,Ze=clearTimeout,Qe=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},$e=()=>{let e;return[new Promise(t=>{e=t}),e]},et=e=>e.ownerDocument,tt=e=>e.defaultView,nt=()=>(Ge??=/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0,Ge),rt=e=>Z(e.t(),e.o()),it=({l:e,i:t,u:n,p:r,m:i,h:a,t:o,S:s,v:c,I:l},u=0)=>{let d=!!l,f=!!u,p=1,m=0,h=0,g=0,_=0,v=0,y=0,b=0,x=0,S=null,C=[0,f?Z(u-1,0):-1],w=0,T=!1,E=new Set,D=()=>g-h,O=()=>D()+v+_,k=e=>n(e)-v,A=e=>{e&&(nt()&&b!==0||S&&x===1?v+=e:_+=e)};return{k:()=>{E.clear()},O:()=>p,l:(t=200)=>{if(!T||f)return C;let n,r;if(y)[n,r]=C;else{let i=Z(0,O()),a=i+m;d||(t=Z(0,t),b!==1&&(i-=t),b!==2&&(a+=t)),[n,r]=C=e(Z(0,i),Z(0,a)),S&&(n=X(n,S[0]),r=Z(r,S[1]))}return[Z(n,0),X(r,s()-1)]},T:e=>t(e-h),R:a,u:k,p:r,N:s,A:()=>g,M:()=>b!==0,o:()=>m,C:()=>h,t:o,j:()=>(y=_,_=0,[y,x===2]),q:(e,t)=>{let n=[e,t];return E.add(n),()=>{E.delete(n)}},P:(n,s)=>{let u,C,j=0;switch(n){case 1:{if(s===g&&x===0)break;let e=y;y=0;let t=s-g,n=Ke(t);e&&n<Ke(e)+1||x!==0||(b=t<0?2:1),f&&=!1,g=s,j=4;let r=D();r>=-m&&r<=o()&&(j+=1,C=n>m);break}case 2:j=8,b!==0&&(u=!0,j+=1),b=0,x=0,S=null;break;case 3:{let e=s.filter(([e,t])=>!a(e,t));if(!e.length)break;A(e.reduce((e,[t,n])=>{let i;if(x===2)i=!0;else if(S&&x===1)i=t<S[0];else{let e=D(),n=k(t),a=r(t);i=b!==1&&x===0?n+a<=e:n<e&&n+a<e+m}return i&&(e+=n-r(t)),e},0));for(let[t,n]of e){let e=r(t),a=i(t,n);d&&(w+=a?n:n-e)}d&&m&&w>m&&(A(l(t(O()))),d=!1),j=3,C=!0;break}case 4:m!==s&&(m||(T=C=!0),m=s,j=3);break;case 5:s[1]?(A(c(s[0],!0)),x=2,j=1):(c(s[0]),j=1);break;case 6:h=s;break;case 7:x=1;break;case 9:A(s),j=3;break;case 8:S=e(s,s+m),j=1}j&&(p=1+(2147483647&p),u&&v&&(_+=v,v=0),E.forEach(([e,t])=>{j&e&&t(C)}))}}},Q=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},$=(e,t,n,r=0,i=t-1)=>{let a=r;for(;r<=i;){let t=qe((r+i)/2);e(t)<=n?(a=t,r=t+1):i=t-1}return Je(a,0,t-1)},at=(e,t,n)=>{let r=n&&n[1]||t||40,i=-1,a=0,o=n&&n[0],s=o?Q(o.slice(0,X(e,o.length)),Z(0,e-o.length)):Q([],e),c=Q([],e+1),l=e=>{let t=s[e];return t===-1?r:t},u=t=>{if(!e)return 0;if(i>=t)return c[t];i<0&&(c[0]=0,i=0);let n=i,r=c[n];for(;n<t;)r+=l(n),c[++n]=r;return i=t,r};return{l:(t,n)=>{let r,i;return a=X(a,e-1),u(a)<=t?(i=$(u,e,n,a),r=$(u,e,t,a,i)):(r=$(u,e,t,void 0,a),i=$(u,e,n,r)),a=r,[r,i]},i:t=>$(u,e,t),u,p:l,m:(e,t)=>{let n=s[e]===-1;return s[e]=t,i=X(e,i),n},h:(e,t=-1)=>s[e]===t,t:()=>u(e),S:()=>e,v:(t,n)=>{let a=t-e;return i=n?-1:X(t-1,i),e=t,a>0?(Q(c,a),Q(s,a,n),r*a):(c.splice(a),(n?s.splice(0,-a):s.splice(a)).reduce((e,t)=>e-(t===-1?r:t),0))},I:t?void 0:e=>{let t=0,n=[];s.forEach((r,i)=>{r!==-1&&(r&&n.push(r),i<e&&t++)}),i=-1,Ye(n);let a=n.length,o=a/2|0,c=a%2==0?(n[o-1]+n[o])/2:n[o],l=r;return((r=c)-l)*Z(e-t,0)},B:()=>[s.slice(),r]}},ot=e=>{let t;return{X(n){(t||=new(tt(et(n))).ResizeObserver(e)).observe(n)},Y(e){t.unobserve(e)},J(){t&&t.disconnect()}}},st=(e,t,n,r,i,a,o)=>{let s,c,l=0,u=!1,d=!1,f=!1,p=!1,m=Date.now,h=r?`scrollLeft`:`scrollTop`,g=r?`left`:`top`,_=e=>i?-e:e,v=()=>_(n[h]),y=(e,t)=>{n.scrollTo({[g]:_(e),behavior:t?`smooth`:`instant`})},b=()=>{if(u||d)return u=!1,void x();f=!1,e.P(2)},x=()=>{Ze(c),c=Xe(b,150)},S=()=>{l=m(),f&&(p=!0),o&&e.P(6,o()),e.P(1,v()),x()},C=t=>{if(u||!e.M()||t.ctrlKey)return;let n=m()-l;150>n&&50<n&&(r?t.deltaX:t.deltaY)&&(u=!0)},w=()=>{d=!0,f=p=!1},T=()=>{d=!1,nt()&&(f=!0)};return t.addEventListener(`scroll`,S),t.addEventListener(`wheel`,C,{passive:!0}),t.addEventListener(`touchstart`,w,{passive:!0}),t.addEventListener(`touchend`,T,{passive:!0}),{J:()=>{t.removeEventListener(`scroll`,S),t.removeEventListener(`wheel`,C),t.removeEventListener(`touchstart`,w),t.removeEventListener(`touchend`,T),Ze(c)},U:()=>{let[t,r]=e.j();if(!t)return;p&&a&&a(),p=!1;let i=e.A()+t;i<=0||i>=e.C()+e.t()-e.o()?y(i):n.scrollBy({[g]:_(t),behavior:`instant`}),r&&(s&&s(),e.o()>e.t()&&e.P(1,v()))},G:(t,n)=>{let r,i,a;s&&s();let o=s=()=>{r=!0,Ze(i),a&&a()},c=()=>{if(!r){if(e.o()&&(Ze(i),i=Xe(o,150)),n){for(let[t,n]=e.l(0);t<=n;t++)if(e.R(t))return;o()}e.P(7),y(t(),n)}},l=()=>{if(r)return;let t;a=e.q(2,()=>{t||(t=!0,Qe(()=>{t=!1,c()}))}),c()};n?(e.P(8,t()),Qe(l)):l()}}},ct=(e,t)=>{e.K(()=>t)},lt=(e,t,n,{align:r,smooth:i,offset:a=0}={})=>{if(n=Je(n,0,t.N()-1),r===`nearest`){let e=t.u(n),i=t.A();if(e<i)r=`start`;else{if(!(e+t.p(n)>i+t.o()))return;r=`end`}}e.K(()=>a+e.Z()+t.u(n)+(r===`end`?t.p(n)-t.o():r===`center`?(t.p(n)-t.o())/2:0),i)},ut=_(e=>{let n=t(),i=g(()=>e.ee.value&&e.te.u(e.oe)),o=g(()=>e.ee.value&&e.te.R(e.oe)),s=g(()=>e.re({item:e.ne,index:e.oe}));return a(()=>n.value&&e.oe,(t,r,i)=>{i(e.se(n.value,e.oe))},{flush:`post`}),()=>{let{le:t,ie:a,ce:c,oe:l,ne:u}=e,d=o.value,{style:f,...p}=e.ae?.({item:u,index:l})||{},h={contain:`layout style`,position:d&&a?void 0:`absolute`,[t?`height`:`width`]:`100%`,[t?`top`:`left`]:`0px`,[t?`insetInlineStart`:`top`]:i.value+`px`,visibility:!d||a?void 0:`hidden`,...f};return t&&(h.display=`inline-flex`),r(c,m({ref:n,style:h},p),{default:()=>[s.value]},16,[`style`])}},{props:{ee:null,te:null,re:null,ne:null,se:null,oe:null,le:null,ie:null,ce:null,ae:null}}),dt=(e,t)=>{if(e.length===1){let t=e[0].key;if(t!=null)return t}return`_`+t},ft=(e,t)=>e[0]===t[0]&&e[1]===t[1],pt=_({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,startMargin:{type:Number,default:0},ssrCount:Number,scrollRef:Object,as:{type:String,default:`div`},item:{type:String,default:`div`},itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:n,expose:i,slots:o}){let s=!!e.ssrCount,l=e.horizontal,u=t(),d=at(e.data.length,e.itemSize,e.cache),p=it(d,e.ssrCount),m=((e,t)=>{let n,r,i=$e(),a=new WeakMap,o=ot(r=>{let i=[];for(let{target:o,contentRect:{width:s,height:c}}of r)if(o===n)(s||c)&&e.P(4,t?s:c);else if(o.offsetParent){let e=a.get(o);e!=null&&i.push([e,t?s:c])}i.length&&e.P(3,i)});return{ue(a,s=a.parentElement){o.X(n=s),r=st(e,s,s,t,t&&getComputedStyle(s).direction===`rtl`,()=>{let e=t?`overflowX`:`overflowY`,n=s.style,r=n[e];n[e]=`hidden`,Xe(()=>{n[e]=r})}),i[1](!0)},k(){o.J(),r&&r.J(),i[1](!1),i=$e()},fe:(e,t)=>(a.set(e,t),o.X(e),()=>{a.delete(e),o.Y(e)}),async K(e,t){await i[0]&&r.G(e,t)},de(){r&&r.U()},Z:e.C}})(p,l),_=t(p.O());p.q(1,()=>{_.value=p.O()}),p.q(4,()=>{n(`scroll`,p.A())}),p.q(8,()=>{n(`scrollEnd`)});let v=g(t=>{_.value;let n=p.l(e.bufferSize);return t&&ft(t,n)?t:n}),y=g(()=>_.value&&p.M()),b=g(()=>_.value&&p.t());return f(()=>{s=!1;let t=u.value,n=requestAnimationFrame(()=>{m.ue(t,e.scrollRef)});h(()=>{cancelAnimationFrame(n)})}),h(()=>{p.k(),m.k()}),a(()=>e.data.length,t=>{p.P(5,[t,e.shift])}),a(()=>e.startMargin,e=>{p.P(6,e)},{immediate:!0}),a([_],()=>{m.de()},{flush:`post`}),i({get cache(){return d.B()},get scrollOffset(){return p.A()},get scrollSize(){return rt(p)},get viewportSize(){return p.o()},findItemIndex:p.T,getItemOffset:p.u,getItemSize:p.p,scrollToIndex:(e,t)=>lt(m,p,e,t),scrollTo:e=>ct(m,e),scrollBy:e=>((e,t,n)=>{ct(e,n+t.A())})(m,p,e)}),()=>{let t=e.as,n=e.item,i=b.value,a=[],d=t=>{let i=o.default({item:e.data[t],index:t});return r(ut,{key:dt(i,t),ee:_,te:p,se:m.fe,oe:t,re:o.default,ne:e.data[t],le:l,ie:s,ce:n,ae:e.itemProps},null,8,[`ee`,`te`,`se`,`oe`,`re`,`ne`,`le`,`ie`,`ce`,`ae`])};if(e.keepMounted){let t=e.data.length,n=new Set(e.keepMounted);for(let[e,t]=v.value;e<=t;e++)n.add(e);Ye([...n]).forEach(e=>{e<t&&a.push(d(e))})}else for(let[e,t]=v.value;e<=t;e++)a.push(d(e));return r(t,{ref:u,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:l?i+`px`:`100%`,height:l?`100%`:i+`px`,pointerEvents:y.value?`none`:void 0}},typeof(f=a)==`function`||Object.prototype.toString.call(f)===`[object Object]`&&!c(f)?a:{default:()=>[a],_:2},8,[`style`]);var f}}}),mt=_({props:{data:{type:Array,required:!0},bufferSize:Number,itemSize:Number,shift:Boolean,horizontal:Boolean,ssrCount:Number,itemProps:Function,keepMounted:Array,cache:Object},emits:[`scroll`,`scrollEnd`],setup(e,{emit:n,expose:i,slots:a}){let o=e.horizontal,s=e=>{n(`scroll`,e)},l=()=>{n(`scrollEnd`)},u=t();return i({get cache(){return u.value.cache},get scrollOffset(){return u.value.scrollOffset},get scrollSize(){return u.value.scrollSize},get viewportSize(){return u.value.viewportSize},findItemIndex:(...e)=>u.value.findItemIndex(...e),getItemOffset:(...e)=>u.value.getItemOffset(...e),getItemSize:(...e)=>u.value.getItemSize(...e),scrollToIndex:(...e)=>u.value.scrollToIndex(...e),scrollTo:(...e)=>u.value.scrollTo(...e),scrollBy:(...e)=>u.value.scrollBy(...e)}),()=>{return r(`div`,{style:{display:o?`inline-block`:`block`,[o?`overflowX`:`overflowY`]:`auto`,contain:`strict`,width:`100%`,height:`100%`}},[r(pt,{ref:u,data:e.data,bufferSize:e.bufferSize,itemSize:e.itemSize,itemProps:e.itemProps,shift:e.shift,ssrCount:e.ssrCount,horizontal:o,keepMounted:e.keepMounted,cache:e.cache,onScroll:s,onScrollEnd:l},(t=a,typeof t==`function`||Object.prototype.toString.call(t)===`[object Object]`&&!c(t)?a:{default:()=>[a],_:2}),8,[`data`,`bufferSize`,`itemSize`,`itemProps`,`shift`,`ssrCount`,`horizontal`,`keepMounted`,`cache`,`onScroll`,`onScrollEnd`])],4);var t}}}),ht={class:`log-viewer`},gt={class:`log-viewer__toolbar`},_t={class:`log-viewer__toolbar-right`},vt={class:`log-viewer__count`},yt=[`title`],bt=[`title`],xt={class:`log-viewer__pin-wrap`},St=[`title`],Ct={key:0,class:`log-viewer__loading`},wt={key:1,class:`log-viewer__scroll log-viewer__empty`},Tt={class:`log-viewer__simple-line`},Et={key:0,class:`log-viewer__time-separator`},Dt={class:`log-viewer__time-separator-label`},Ot=150,kt=2e3,At=R(_({__name:`LogViewer`,props:{logs:{},loading:{type:Boolean,default:!1},receivedPerSec:{default:void 0},flushedPerSec:{default:void 0},processStartedAt:{default:void 0},showStats:{type:Boolean,default:!1},serviceLabel:{default:void 0}},emits:[`filter-change`,`log-click`],setup(o,{emit:s}){let c=o,p=s,{t:m}=te(),h=[10,50,100,200,500,1e3,2e3,5e3,1e4],_=t(500),y=t({levels:[...z],filters:[]}),T=t(!0),E=t(null),O=t(!1),k=t(!1),A=t(0),j;function M(e){let t=0;for(let n of e)n.hidden&&!n.logCard&&t++;return t}function P(e){if(j===void 0)return null;for(let t=e.length-1;t>=0;t--)if(e[t].id===j)return e.slice(t+1);return null}function I(e){let t=e.length>_.value?e.slice(e.length-_.value):e;j=t[t.length-1]?.id,W.value=M(t),me(t),T.value&&C(()=>C(q))}function R(e){e.length!==0&&(j=e[e.length-1].id,W.value+=M(e),pe(e,de(),H.value),H.value.length>_.value?H.value=H.value.slice(H.value.length-_.value):n(H),T.value&&C(q))}function B(){if(A.value===0)return;A.value=0;let e=c.logs,t=P(e);t===null?I(e):R(t)}a(()=>c.logs,e=>{if(e.length===0){j=void 0,A.value=0,W.value=0,me([]);return}if(!T.value){let t=P(e);A.value=t===null?e.length:t.length;return}if(j===void 0){I(e);return}let t=P(e);t===null?I(e):R(t)},{deep:!1}),f(()=>{c.logs.length>0&&I(c.logs)});let V=new WeakMap;function le(e){if(V.has(e))return V.get(e);try{let t=new RegExp(e.pattern,`i`);return V.set(e,t),t}catch{return V.set(e,null),null}}function ue(e,t){if(e.isRegex){let n=le(e);return n?n.test(t):!1}return t.toLowerCase().includes(e.pattern.toLowerCase())}function de(){return{levelSet:new Set(y.value.levels),filterAll:y.value.levels.length>=z.length,includes:y.value.filters.filter(e=>e.type===`include`),excludes:y.value.filters.filter(e=>e.type===`exclude`),hidden:O.value}}function fe(e,t){return!(!t.hidden&&e.hidden||!t.filterAll&&!t.levelSet.has(e.level)||t.includes.length>0&&!t.includes.some(t=>ue(t,e.message))||t.excludes.some(t=>ue(t,e.message)))}let H=t([]),U=new Map;function pe(e,t,n){for(let r of e){let e=r.logCard;if(e){if(e.state===`self`){fe(r,t)&&n.push({...r,_type:`log`});continue}if(e.state===`open`){let t={_type:`card`,id:e.id,type:e.type,header:e.header,collapsable:e.collapsable??!0,defaultCollapsed:e.collapsed??!1,body:[]};U.set(e.id,t),n.push(t);continue}if(e.state===`close`){U.delete(e.id);continue}let i=U.get(e.id);i&&fe(r,t)&&i.body.push(r);continue}fe(r,t)&&n.push({...r,_type:`log`})}}function me(e){U=new Map;let t=de(),n=[];pe(e,t,n),H.value=n}a([y,O,_],()=>{I(c.logs)});let W=t(0),G=t(null),K=t(null);a(()=>c.logs,e=>{if(e.length===0){G.value=null,K.value=null;return}let t=Date.now();G.value===null&&(G.value=t),K.value=t});let he=g(()=>{if(G.value===null||K.value===null)return null;let e=K.value-G.value;return e<=0?null:e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:e<36e5?`${Math.floor(e/6e4)}m ${Math.floor(e%6e4/1e3)}s`:`${Math.floor(e/36e5)}h ${Math.floor(e%36e5/6e4)}m`}),ge=0,_e=0;function q(){E.value&&H.value.length!==0&&(ge=Date.now()+Ot,E.value.scrollToIndex(H.value.length-1,{align:`end`}))}function ve(e){let t=e<_e;if(!t&&Date.now()<ge){_e=e;return}if(_e=e,!E.value)return;let n=E.value.scrollSize-e-E.value.viewportSize;T.value?t&&n>1&&(T.value=!1):n<=1&&(T.value=!0,B(),C(q))}function ye(){T.value=!T.value,T.value&&(B(),C(q))}f(()=>{T.value&&C(q)});function be(e){y.value=e}function xe(e){p(`log-click`,e)}let Se=t(null),Y=t(!1),Ce=ne(),{openWithContext:we}=ae(),Ee=``;function De(){let e=window.getSelection();return e&&e.toString().trim()?e.toString().trim():``}function Oe(){return H.value.map(e=>e._type===`card`?e.body.map(e=>`[${e.level}] ${e.message}`).join(`
2
2
  `):`[${e.level}] ${e.message}`).join(`
3
3
  `)}function ke(){Ee=De(),Y.value=!0}let{available:Ae}=se(),je=t(null);function Me(){let e=De()||Fe();e.trim()&&je.value?.open(e)}function Ne(e,t,n){Y.value=!1,Se.value?.showScenarioDialog(e,void 0,t,n??void 0)}async function Pe(e,t){Y.value=!1,await Ie(e===`keep`?void 0:e,t??void 0)}function Fe(){let e=Ee||Oe();return c.serviceLabel?`Service: ${c.serviceLabel}\n\n${e}`:e}async function Ie(e,t){let n=Fe();n.trim()&&(await Ce.createConversation({runner:e,providerId:t}),we({text:n,label:m(`logViewer.logsContext`),icon:`ti-list`}))}async function Le(e,t,n,r){let i=Fe(),a=t||i,o=await Ce.createConversation({scenarioId:e,scenarioInput:a});if(a&&o){let t=n!==`keep`||r.trim()?{...n===`keep`?{}:{runnerOverride:n},...r.trim()?{modelOverride:r.trim()}:{}}:void 0;Ce.startScenarioRun(o.id,e,a,void 0,t)}we({text:i,label:m(`logViewer.logsContext`),icon:`ti-list`})}function Re(e){return e._type===`card`?e.body[0]?.timestamp??``:e.timestamp}function ze(e){if(e===0)return!0;let t=H.value[e-1],n=H.value[e];return new Date(Re(n)).getTime()-new Date(Re(t)).getTime()>kt}function Be(e){return new Date(e).toLocaleString()}return(t,n)=>(v(),u(`div`,ht,[l(`div`,gt,[r(We,{"model-value":y.value,"onUpdate:modelValue":be},null,8,[`model-value`]),l(`div`,_t,[!k.value&&W.value>0?(v(),w(e(L),{key:0,icon:O.value?`ti ti-eye`:`ti ti-eye-off`,severity:O.value?`warn`:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":O.value?e(m)(`logViewer.showingHidden`):e(m)(`logViewer.hiddenFiltered`),title:e(m)(`logViewer.hiddenLogsToggle`,{n:W.value}),onClick:n[0]||=e=>O.value=!O.value},null,8,[`icon`,`severity`,`aria-label`,`title`])):D(``,!0),l(`span`,vt,[i(S(k.value?c.logs.length:H.value.length)+` / `,1),r(e(ee),{modelValue:_.value,"onUpdate:modelValue":n[1]||=e=>_.value=e,options:h,size:`small`,class:`log-viewer__limit-select`,title:e(m)(`logViewer.maxLines`)},null,8,[`modelValue`,`title`])]),c.showStats&&he.value!==null?(v(),u(`span`,{key:1,class:`log-viewer__stats`,title:e(m)(`logViewer.timeSpan`)},`⏱ `+S(he.value),9,yt)):D(``,!0),c.showStats&&c.receivedPerSec!==void 0?(v(),u(`span`,{key:2,class:`log-viewer__stats`,title:e(m)(`logViewer.throughput`)},`↓`+S(c.receivedPerSec)+`/s · ⬡`+S(c.flushedPerSec)+`/s`,9,bt)):D(``,!0),r(e(L),{icon:k.value?`ti ti-code`:`ti ti-align-left`,severity:k.value?`warn`:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":k.value?e(m)(`logViewer.simpleModeOn`):e(m)(`logViewer.simpleModeOff`),title:e(m)(`logViewer.toggleSimple`),onClick:n[2]||=e=>k.value=!k.value},null,8,[`icon`,`severity`,`aria-label`,`title`]),r(e(L),{icon:`ti ti-brain`,severity:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":e(m)(`logViewer.sendToAi`),title:e(m)(`logViewer.sendToAiTitle`),onClick:ke},null,8,[`aria-label`,`title`]),e(Ae)?(v(),w(e(L),{key:3,icon:e(oe),severity:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":e(m)(`logViewer.sendToChat`),title:e(m)(`logViewer.sendToChat`),onClick:Me},null,8,[`icon`,`aria-label`,`title`])):D(``,!0),l(`div`,xt,[r(e(L),{icon:T.value?`ti ti-player-pause`:`ti ti-arrow-down`,severity:T.value?`success`:`secondary`,variant:`text`,rounded:``,size:`small`,"aria-label":T.value?e(m)(`logViewer.autoScrollOn`):e(m)(`logViewer.autoScrollOff`),title:T.value?e(m)(`logViewer.live`):e(m)(`logViewer.paused`),onClick:ye},null,8,[`icon`,`severity`,`aria-label`,`title`]),!T.value&&A.value>0?(v(),u(`span`,{key:0,class:`log-viewer__waiting-badge`,title:e(m)(`logViewer.waitingLogs`,{n:A.value})},S(A.value>999?`999+`:A.value),9,St)):D(``,!0)])])]),o.loading&&c.logs.length===0?(v(),u(`div`,Ct,[r(e(N),{style:{width:`2rem`,height:`2rem`}}),l(`span`,null,S(e(m)(`logViewer.loading`)),1)])):H.value.length===0?(v(),u(`div`,wt,S(e(m)(`logViewer.empty`)),1)):k.value?(v(),w(e(mt),{key:2,ref_key:`listRef`,ref:E,data:c.logs,class:`log-viewer__scroll`,onScroll:ve},{default:x(({item:e})=>[l(`span`,Tt,S(e.raw),1)]),_:1},8,[`data`])):(v(),w(e(mt),{key:3,ref_key:`listRef`,ref:E,data:H.value,class:`log-viewer__scroll`,onScroll:ve},{default:x(({item:e,index:t})=>[ze(t)?(v(),u(`div`,Et,[n[4]||=l(`span`,{class:`log-viewer__time-separator-line`},null,-1),l(`span`,Dt,S(Be(Re(e))),1),n[5]||=l(`span`,{class:`log-viewer__time-separator-line`},null,-1)])):D(``,!0),e._type===`card`?(v(),w(J,{key:1,icon:`🐋`,title:e.header,color:`#1d4ed8`,"default-collapsed":e.defaultCollapsed,"last-line":e.body.length>0?e.body[e.body.length-1].message:void 0},{default:x(()=>[(v(!0),u(b,null,d(e.body,e=>(v(),w(Te,{key:e.id,log:e,onClick:xe},null,8,[`log`]))),128))]),_:2},1032,[`title`,`default-collapsed`,`last-line`])):(v(),w(Te,{key:2,log:e,onClick:xe},null,8,[`log`]))]),_:1},8,[`data`])),r(e(F),{visible:Y.value,header:e(m)(`kanban.board.launchAiDialog.header`),modal:!0,style:{width:`700px`,maxHeight:`80vh`},"onUpdate:visible":n[3]||=e=>{e||(Y.value=!1)}},{default:x(()=>[r(re,{compact:``,onSelectScenario:Ne,onSkip:Pe})]),_:1},8,[`visible`,`header`]),r(ie,{ref_key:`aiModalsRef`,ref:Se,onConfirmScenarioStart:Le},null,512),e(Ae)?(v(),w(ce,{key:4,ref_key:`sendToChatRef`,ref:je},null,512)):D(``,!0)]))}}),[[`__scopeId`,`data-v-cf3a9fec`]]);export{At as t};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,Ht as i,_ as a,b as o,g as s,k as c,mt as l,o as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{J as h,W as g,Y as _,dt as v,ft as y,mt as b,w as x}from"./src--GO-VSJ0.js";import{r as S}from"./trpc-CfuFkKgp.js";import{n as C,r as w}from"./error-DpF7X5iu.js";var T={own:`settingsPage.orgKeySourceOwn`,machine:`settingsPage.orgKeySourceMachine`,locked:`settingsPage.orgKeySourceLocked`};async function E(){return S.setup.getOrgKeys.query()}function D(e){return e.unreadable.apiKeys+e.unreadable.conversations+e.unreadable.secrets}function O(e){return!e.vault||e.vault.source===`locked`||e.syncMismatch?!0:e.canary!==`ok`}function k(e){return e.hasCanary?e.locked?e.isCurrentKey?`ok`:`no`:e.isCurrentKey?`current`:`differs`:`unverifiable`}function A(e){return e===`ok`||e===`differs`||e===`unverifiable`}var j={class:`org-key`},M={class:`org-key__hint`},N={class:`org-key__row`},P={class:`org-key__row`},F=y(c({__name:`OrgKeyPrompt`,props:{orgId:{},reference:{},title:{},hint:{},confirmLabel:{}},emits:[`close`,`adopted`],setup(c,{emit:y}){let T=c,E=y,{t:D}=b(),O=t(``),F=t(``),I=t(void 0),L=t(!1),R=t(``);i(()=>T.orgId,()=>{O.value=``,F.value=``,I.value=void 0,R.value=``});function z(e){return/^[0-9a-f]{64}$/i.test(e.trim())}let B=s(()=>{switch(I.value){case`ok`:return D(`settingsPage.adoptKeyMatch`);case`differs`:return D(`settingsPage.adoptKeyDiffers`);default:return D(`settingsPage.adoptKeyNoCanary`)}});async function V(){if(T.orgId){L.value=!0,R.value=``;try{if(T.reference===`cloud`){let e=await S.cloudSync.checkOrgKey.query({orgId:T.orgId,keyHex:O.value.trim()});I.value=e.matches?`ok`:`no`}else{let e=await S.setup.checkOrgKeyLocal.query({orgId:T.orgId,keyHex:O.value.trim()});I.value=k(e)}}catch(e){I.value=void 0,R.value=C(e)??``}finally{L.value=!1}}}async function H(){if(T.orgId){L.value=!0,R.value=``;try{await S.cloudSync.adoptOrgKey.mutate({orgId:T.orgId,keyHex:O.value.trim(),masterPassword:F.value}),E(`adopted`)}catch(e){R.value=w(e,D)}finally{L.value=!1}}}return(t,i)=>(l(),p(e(_),{visible:c.orgId!==null,"onUpdate:visible":i[2]||=e=>{e||E(`close`)},header:c.title,modal:``,style:{width:`30rem`}},{default:d(()=>[a(`div`,j,[a(`p`,M,f(c.hint),1),a(`div`,N,[n(e(h),{modelValue:O.value,"onUpdate:modelValue":i[0]||=e=>O.value=e,placeholder:e(D)(`settingsPage.adoptKeyPlaceholder`),autocomplete:`off`},null,8,[`modelValue`,`placeholder`]),n(e(v),{label:e(D)(`settingsPage.adoptKeyCheck`),size:`small`,variant:`outlined`,disabled:!z(O.value)||L.value,onClick:V},null,8,[`label`,`disabled`])]),I.value===`no`?(l(),p(e(g),{key:0,severity:`warn`},{default:d(()=>[r(f(e(D)(`settingsPage.adoptKeyNoMatch`)),1)]),_:1})):I.value===`current`?(l(),p(e(g),{key:1,severity:`info`},{default:d(()=>[r(f(e(D)(`settingsPage.adoptKeyAlreadyCurrent`)),1)]),_:1})):m(``,!0),e(A)(I.value)?(l(),o(u,{key:2},[n(e(g),{severity:I.value===`ok`?`success`:`warn`},{default:d(()=>[r(f(B.value),1)]),_:1},8,[`severity`]),a(`div`,P,[n(e(x),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,placeholder:e(D)(`settingsPage.masterPassword`),feedback:!1,toggleMask:``,class:`org-key__grow`},null,8,[`modelValue`,`placeholder`]),n(e(v),{label:c.confirmLabel,size:`small`,disabled:!F.value||L.value,loading:L.value,onClick:H},null,8,[`label`,`disabled`,`loading`])])],64)):m(``,!0),R.value?(l(),p(e(g),{key:3,severity:`error`},{default:d(()=>[r(f(R.value),1)]),_:1})):m(``,!0)])]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-2cdaec32`]]);export{D as a,O as i,T as n,E as r,F as t};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,E as r,Ht as i,_ as a,b as o,g as s,k as c,mt as l,o as u,qt as d,rn as f,v as p,y as m}from"./runtime-core.esm-bundler-DujKY9QV.js";import{J as h,W as g,Y as _,dt as v,ft as y,mt as b,w as x}from"./src--GO-VSJ0.js";import{r as S}from"./trpc-Drabzwpd.js";import{n as C,r as w}from"./error-DpF7X5iu.js";var T={own:`settingsPage.orgKeySourceOwn`,machine:`settingsPage.orgKeySourceMachine`,locked:`settingsPage.orgKeySourceLocked`};async function E(){return S.setup.getOrgKeys.query()}function D(e){return e.unreadable.apiKeys+e.unreadable.conversations+e.unreadable.secrets}function O(e){return!e.vault||e.vault.source===`locked`||e.syncMismatch?!0:e.canary!==`ok`}function k(e){return e.hasCanary?e.locked?e.isCurrentKey?`ok`:`no`:e.isCurrentKey?`current`:`differs`:`unverifiable`}function A(e){return e===`ok`||e===`differs`||e===`unverifiable`}var j={class:`org-key`},M={class:`org-key__hint`},N={class:`org-key__row`},P={class:`org-key__row`},F=y(c({__name:`OrgKeyPrompt`,props:{orgId:{},reference:{},title:{},hint:{},confirmLabel:{}},emits:[`close`,`adopted`],setup(c,{emit:y}){let T=c,E=y,{t:D}=b(),O=t(``),F=t(``),I=t(void 0),L=t(!1),R=t(``);i(()=>T.orgId,()=>{O.value=``,F.value=``,I.value=void 0,R.value=``});function z(e){return/^[0-9a-f]{64}$/i.test(e.trim())}let B=s(()=>{switch(I.value){case`ok`:return D(`settingsPage.adoptKeyMatch`);case`differs`:return D(`settingsPage.adoptKeyDiffers`);default:return D(`settingsPage.adoptKeyNoCanary`)}});async function V(){if(T.orgId){L.value=!0,R.value=``;try{if(T.reference===`cloud`){let e=await S.cloudSync.checkOrgKey.query({orgId:T.orgId,keyHex:O.value.trim()});I.value=e.matches?`ok`:`no`}else{let e=await S.setup.checkOrgKeyLocal.query({orgId:T.orgId,keyHex:O.value.trim()});I.value=k(e)}}catch(e){I.value=void 0,R.value=C(e)??``}finally{L.value=!1}}}async function H(){if(T.orgId){L.value=!0,R.value=``;try{await S.cloudSync.adoptOrgKey.mutate({orgId:T.orgId,keyHex:O.value.trim(),masterPassword:F.value}),E(`adopted`)}catch(e){R.value=w(e,D)}finally{L.value=!1}}}return(t,i)=>(l(),p(e(_),{visible:c.orgId!==null,"onUpdate:visible":i[2]||=e=>{e||E(`close`)},header:c.title,modal:``,style:{width:`30rem`}},{default:d(()=>[a(`div`,j,[a(`p`,M,f(c.hint),1),a(`div`,N,[n(e(h),{modelValue:O.value,"onUpdate:modelValue":i[0]||=e=>O.value=e,placeholder:e(D)(`settingsPage.adoptKeyPlaceholder`),autocomplete:`off`},null,8,[`modelValue`,`placeholder`]),n(e(v),{label:e(D)(`settingsPage.adoptKeyCheck`),size:`small`,variant:`outlined`,disabled:!z(O.value)||L.value,onClick:V},null,8,[`label`,`disabled`])]),I.value===`no`?(l(),p(e(g),{key:0,severity:`warn`},{default:d(()=>[r(f(e(D)(`settingsPage.adoptKeyNoMatch`)),1)]),_:1})):I.value===`current`?(l(),p(e(g),{key:1,severity:`info`},{default:d(()=>[r(f(e(D)(`settingsPage.adoptKeyAlreadyCurrent`)),1)]),_:1})):m(``,!0),e(A)(I.value)?(l(),o(u,{key:2},[n(e(g),{severity:I.value===`ok`?`success`:`warn`},{default:d(()=>[r(f(B.value),1)]),_:1},8,[`severity`]),a(`div`,P,[n(e(x),{modelValue:F.value,"onUpdate:modelValue":i[1]||=e=>F.value=e,placeholder:e(D)(`settingsPage.masterPassword`),feedback:!1,toggleMask:``,class:`org-key__grow`},null,8,[`modelValue`,`placeholder`]),n(e(v),{label:c.confirmLabel,size:`small`,disabled:!F.value||L.value,loading:L.value,onClick:H},null,8,[`label`,`disabled`,`loading`])])],64)):m(``,!0),R.value?(l(),p(e(g),{key:3,severity:`error`},{default:d(()=>[r(f(R.value),1)]),_:1})):m(``,!0)])]),_:1},8,[`visible`,`header`]))}}),[[`__scopeId`,`data-v-2cdaec32`]]);export{D as a,O as i,T as n,E as r,F as t};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,Yt as i,b as a,k as o,mt as s,o as c,v as l,y as u}from"./runtime-core.esm-bundler-DujKY9QV.js";import{P as d,dt as f,ft as p,mt as m}from"./src--GO-VSJ0.js";import{c as h}from"./index-B9DJf2V0.js";var g={class:`process-controls`},_=p(o({__name:`ProcessControls`,props:{agentId:{},processId:{},state:{},compact:{type:Boolean}},emits:[`action`],setup(o,{emit:p}){let _=o,v=p,y=d(),b=h(),{t:x}=m(),S=t(null),C=e=>e===`stopped`||e===`errored`,w=e=>e===`running`||e===`starting`,T=e=>e===`running`;async function E(){S.value=`start`;try{await b.start(_.agentId,_.processId)}catch(e){y.add({severity:`error`,summary:x(`processControls.startFailed`),detail:e.message??x(`processControls.startServiceFailed`),life:5e3})}finally{S.value=null,v(`action`,`start`)}}async function D(){S.value=`stop`;try{await b.stop(_.agentId,_.processId)}catch(e){y.add({severity:`error`,summary:x(`processControls.stopFailed`),detail:e.message??x(`processControls.stopServiceFailed`),life:5e3})}finally{S.value=null,v(`action`,`stop`)}}async function O(){S.value=`restart`;try{await b.restart(_.agentId,_.processId)}catch(e){y.add({severity:`error`,summary:x(`processControls.restartFailed`),detail:e.message??x(`processControls.restartServiceFailed`),life:5e3})}finally{S.value=null,v(`action`,`restart`)}}return(t,o)=>{let d=n(`tooltip`);return s(),a(`div`,g,[C(_.state)?i((s(),l(e(f),{key:0,icon:`ti ti-player-play`,label:_.compact?void 0:e(x)(`actions.start`),"aria-label":e(x)(`actions.start`),severity:`success`,size:`small`,variant:_.compact?`text`:`filled`,rounded:_.compact,"data-testid":`process-start-btn`,disabled:S.value!==null,loading:S.value===`start`,onClick:E},null,8,[`label`,`aria-label`,`variant`,`rounded`,`disabled`,`loading`])),[[d,_.compact?e(x)(`actions.start`):void 0,void 0,{top:!0}]]):u(``,!0),w(_.state)?(s(),a(c,{key:1},[i(r(e(f),{icon:`ti ti-player-stop`,label:_.compact?void 0:e(x)(`actions.stop`),"aria-label":e(x)(`actions.stop`),severity:`danger`,size:`small`,variant:_.compact?`text`:`filled`,rounded:_.compact,disabled:S.value!==null,loading:S.value===`stop`,onClick:D},null,8,[`label`,`aria-label`,`variant`,`rounded`,`disabled`,`loading`]),[[d,_.compact?e(x)(`actions.stop`):void 0,void 0,{top:!0}]]),T(_.state)?i((s(),l(e(f),{key:0,icon:`ti ti-refresh`,label:_.compact?void 0:e(x)(`actions.restart`),"aria-label":e(x)(`actions.restart`),severity:`warn`,size:`small`,variant:_.compact?`text`:`filled`,rounded:_.compact,disabled:S.value!==null,loading:S.value===`restart`,onClick:O},null,8,[`label`,`aria-label`,`variant`,`rounded`,`disabled`,`loading`])),[[d,_.compact?e(x)(`actions.restart`):void 0,void 0,{top:!0}]]):u(``,!0)],64)):u(``,!0)])}}}),[[`__scopeId`,`data-v-b34d0b9a`]]);export{_ as t};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ct as n,D as r,Yt as i,b as a,k as o,mt as s,o as c,v as l,y as u}from"./runtime-core.esm-bundler-DujKY9QV.js";import{P as d,dt as f,ft as p,mt as m}from"./src--GO-VSJ0.js";import{c as h}from"./index-D8VRbyoP.js";var g={class:`process-controls`},_=p(o({__name:`ProcessControls`,props:{agentId:{},processId:{},state:{},compact:{type:Boolean}},emits:[`action`],setup(o,{emit:p}){let _=o,v=p,y=d(),b=h(),{t:x}=m(),S=t(null),C=e=>e===`stopped`||e===`errored`,w=e=>e===`running`||e===`starting`,T=e=>e===`running`;async function E(){S.value=`start`;try{await b.start(_.agentId,_.processId)}catch(e){y.add({severity:`error`,summary:x(`processControls.startFailed`),detail:e.message??x(`processControls.startServiceFailed`),life:5e3})}finally{S.value=null,v(`action`,`start`)}}async function D(){S.value=`stop`;try{await b.stop(_.agentId,_.processId)}catch(e){y.add({severity:`error`,summary:x(`processControls.stopFailed`),detail:e.message??x(`processControls.stopServiceFailed`),life:5e3})}finally{S.value=null,v(`action`,`stop`)}}async function O(){S.value=`restart`;try{await b.restart(_.agentId,_.processId)}catch(e){y.add({severity:`error`,summary:x(`processControls.restartFailed`),detail:e.message??x(`processControls.restartServiceFailed`),life:5e3})}finally{S.value=null,v(`action`,`restart`)}}return(t,o)=>{let d=n(`tooltip`);return s(),a(`div`,g,[C(_.state)?i((s(),l(e(f),{key:0,icon:`ti ti-player-play`,label:_.compact?void 0:e(x)(`actions.start`),"aria-label":e(x)(`actions.start`),severity:`success`,size:`small`,variant:_.compact?`text`:`filled`,rounded:_.compact,"data-testid":`process-start-btn`,disabled:S.value!==null,loading:S.value===`start`,onClick:E},null,8,[`label`,`aria-label`,`variant`,`rounded`,`disabled`,`loading`])),[[d,_.compact?e(x)(`actions.start`):void 0,void 0,{top:!0}]]):u(``,!0),w(_.state)?(s(),a(c,{key:1},[i(r(e(f),{icon:`ti ti-player-stop`,label:_.compact?void 0:e(x)(`actions.stop`),"aria-label":e(x)(`actions.stop`),severity:`danger`,size:`small`,variant:_.compact?`text`:`filled`,rounded:_.compact,disabled:S.value!==null,loading:S.value===`stop`,onClick:D},null,8,[`label`,`aria-label`,`variant`,`rounded`,`disabled`,`loading`]),[[d,_.compact?e(x)(`actions.stop`):void 0,void 0,{top:!0}]]),T(_.state)?i((s(),l(e(f),{key:0,icon:`ti ti-refresh`,label:_.compact?void 0:e(x)(`actions.restart`),"aria-label":e(x)(`actions.restart`),severity:`warn`,size:`small`,variant:_.compact?`text`:`filled`,rounded:_.compact,disabled:S.value!==null,loading:S.value===`restart`,onClick:O},null,8,[`label`,`aria-label`,`variant`,`rounded`,`disabled`,`loading`])),[[d,_.compact?e(x)(`actions.restart`):void 0,void 0,{top:!0}]]):u(``,!0)],64)):u(``,!0)])}}}),[[`__scopeId`,`data-v-b34d0b9a`]]);export{_ as t};
@@ -1 +1 @@
1
- import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,_ as r,b as i,ct as a,ft as ee,g as o,k as s,mt as c,o as te,rn as l,v as ne,y as u}from"./runtime-core.esm-bundler-DujKY9QV.js";import{B as d,H as re,U as ie,dt as f,ft as p,mt as ae}from"./src--GO-VSJ0.js";import{g as oe}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as m}from"./trpc-CfuFkKgp.js";import{t as h}from"./agent.store-Co44dMZf.js";import{t as se}from"./ProcessControls-DY0HTKde.js";import{t as ce}from"./ProcessMetrics-Crlfkelj.js";import{t as le}from"./LogViewer-BDObx29F.js";var ue={class:`process-detail`},de={key:0,class:`process-detail__loading`},fe={key:1,class:`process-detail__error`},pe={class:`process-detail__header`},me={class:`process-detail__header-left`},he={class:`process-detail__title`},g={class:`process-detail__id`},_={key:0,class:`process-detail__metrics`},v={class:`section-title`},y={key:1,class:`process-detail__metrics-skeleton`},b={class:`metric-skeleton`},x={class:`metric-skeleton`},S={class:`process-detail__info`},C={class:`info-grid`},w={key:0,class:`info-item`},T={class:`info-label`},E={class:`info-value`},D={key:1,class:`info-item`},O={class:`info-label`},k={class:`info-value`},A={class:`info-item`},j={class:`info-label`},M={class:`info-value`},N={key:2,class:`info-item`},P={class:`info-label`},F={class:`info-value`},I={key:3,class:`info-item`},L={class:`info-label`},R={class:`info-value`},ge={key:4,class:`info-item info-item--wide`},_e={class:`info-label`},ve={class:`info-value info-value--path`,"data-testid":`process-cwd`},ye={class:`process-detail__logs`},be={class:`section-title`},xe={class:`process-detail__log-container`},z=p(s({__name:`ProcessDetailPage`,props:{agentId:{},processId:{}},setup(s){let p=s,z=oe(),{t:B}=ae(),Se=h(),Ce=o(()=>V.value?.agentId?Se.agents.find(e=>e.config.id===V.value.agentId)?.config.name??V.value.agentId:null),V=t(null),H=t([]),U=t(null),W=t(!1),G=t(!0),K=t(!0),q=t(null),J=null,Y=null,X=null,Z={running:{severity:`success`,icon:`ti ti-circle-check`},stopped:{severity:`secondary`,icon:`ti ti-player-stop`},errored:{severity:`danger`,icon:`ti ti-circle-x`},starting:{severity:`warn`,icon:`ti ti-spin ti-loader-2`}},Q=o(()=>{let e=V.value?.state??`stopped`;return Z[e]??Z.stopped});async function $(){try{V.value=await m.process.get.query({agentId:p.agentId,id:p.processId})}catch(e){q.value=e instanceof Error?e.message:`Failed to load process`}}async function we(){K.value=!0;try{H.value=await m.process.logs.query({agentId:p.agentId,processId:p.processId})}catch{}finally{K.value=!1}}async function Te(){W.value=!0;try{U.value=await m.process.metrics.query({agentId:p.agentId,processId:p.processId})}catch{}finally{W.value=!1}}function Ee(){let e=m.process.onLog.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){H.value=[...H.value,e],H.value.length>1e4&&(H.value=H.value.slice(H.value.length-1e4))}});J=()=>e.unsubscribe()}function De(){let e=m.process.onStatus.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){V.value=e}});Y=()=>e.unsubscribe()}function Oe(){let e=m.process.onMetrics.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){U.value=e}});X=()=>e.unsubscribe()}function ke(){$()}return a(async()=>{G.value=!0,await Promise.all([$(),we(),Te()]),G.value=!1,Ee(),De(),Oe()}),ee(()=>{J?.(),Y?.(),X?.()}),(t,a)=>(c(),i(`div`,ue,[G.value?(c(),i(`div`,de,[n(e(re),{style:{width:`3rem`,height:`3rem`}}),r(`span`,null,l(e(B)(`processDetail.loading`)),1)])):q.value?(c(),i(`div`,fe,[a[2]||=r(`i`,{class:`ti ti-alert-triangle`,style:{"font-size":`2rem`,color:`var(--r-red-500)`}},null,-1),r(`p`,null,l(q.value),1),n(e(f),{label:e(B)(`processDetail.goBack`),icon:`ti ti-arrow-left`,severity:`secondary`,onClick:a[0]||=t=>e(z).back()},null,8,[`label`])])):V.value?(c(),i(te,{key:2},[r(`div`,pe,[r(`div`,me,[n(e(f),{icon:`ti ti-arrow-left`,variant:`text`,rounded:``,severity:`secondary`,"aria-label":e(B)(`processDetail.goBack`),onClick:a[1]||=t=>e(z).back()},null,8,[`aria-label`]),r(`div`,he,[r(`h1`,null,l(V.value.serviceId),1),r(`span`,g,l(V.value.id),1)]),n(e(ie),{value:V.value.state,severity:Q.value.severity,icon:Q.value.icon},null,8,[`value`,`severity`,`icon`])]),n(se,{"agent-id":p.agentId,"process-id":p.processId,state:V.value.state,onAction:ke},null,8,[`agent-id`,`process-id`,`state`])]),U.value||W.value?(c(),i(`section`,_,[r(`h2`,v,l(e(B)(`processDetail.metrics`)),1),U.value?(c(),ne(ce,{key:0,cpu:U.value.cpu,memory:U.value.memory},null,8,[`cpu`,`memory`])):(c(),i(`div`,y,[r(`div`,b,[n(e(d),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),n(e(d),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),n(e(d),{width:`100%`,height:`6px`,"border-radius":`4px`})]),r(`div`,x,[n(e(d),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),n(e(d),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),n(e(d),{width:`6rem`,height:`0.65rem`})])]))])):u(``,!0),r(`section`,S,[r(`div`,C,[V.value.pid?(c(),i(`div`,w,[r(`span`,T,l(e(B)(`processDetail.pid`)),1),r(`span`,E,l(V.value.pid),1)])):u(``,!0),V.value.agentId?(c(),i(`div`,D,[r(`span`,O,l(e(B)(`processDetail.agent`)),1),r(`span`,k,l(Ce.value),1)])):u(``,!0),r(`div`,A,[r(`span`,j,l(e(B)(`processDetail.restarts`)),1),r(`span`,M,l(V.value.restartCount),1)]),V.value.startedAt?(c(),i(`div`,N,[r(`span`,P,l(e(B)(`processDetail.started`)),1),r(`span`,F,l(new Date(V.value.startedAt).toLocaleString()),1)])):u(``,!0),V.value.exitCode==null?u(``,!0):(c(),i(`div`,I,[r(`span`,L,l(e(B)(`processDetail.exitCode`)),1),r(`span`,R,l(V.value.exitCode),1)])),V.value.cwd?(c(),i(`div`,ge,[r(`span`,_e,l(e(B)(`processDetail.cwd`)),1),r(`span`,ve,l(V.value.cwd),1)])):u(``,!0)])]),r(`section`,ye,[r(`h2`,be,l(e(B)(`processDetail.logs`)),1),r(`div`,xe,[n(le,{logs:H.value,loading:K.value,"service-label":V.value?.serviceId},null,8,[`logs`,`loading`,`service-label`])])])],64)):u(``,!0)]))}}),[[`__scopeId`,`data-v-f8f4344d`]]);export{z as default};
1
+ import{B as e,C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{D as n,_ as r,b as i,ct as a,ft as ee,g as o,k as s,mt as c,o as te,rn as l,v as ne,y as u}from"./runtime-core.esm-bundler-DujKY9QV.js";import{B as d,H as re,U as ie,dt as f,ft as p,mt as ae}from"./src--GO-VSJ0.js";import{g as oe}from"./useApi-s_02lHjl-DZYO2tHU.js";import{r as m}from"./trpc-Drabzwpd.js";import{t as h}from"./agent.store-CKLAkF9a.js";import{t as se}from"./ProcessControls-BEeoNlNV.js";import{t as ce}from"./ProcessMetrics-Crlfkelj.js";import{t as le}from"./LogViewer-CZBYkH9J.js";var ue={class:`process-detail`},de={key:0,class:`process-detail__loading`},fe={key:1,class:`process-detail__error`},pe={class:`process-detail__header`},me={class:`process-detail__header-left`},he={class:`process-detail__title`},g={class:`process-detail__id`},_={key:0,class:`process-detail__metrics`},v={class:`section-title`},y={key:1,class:`process-detail__metrics-skeleton`},b={class:`metric-skeleton`},x={class:`metric-skeleton`},S={class:`process-detail__info`},C={class:`info-grid`},w={key:0,class:`info-item`},T={class:`info-label`},E={class:`info-value`},D={key:1,class:`info-item`},O={class:`info-label`},k={class:`info-value`},A={class:`info-item`},j={class:`info-label`},M={class:`info-value`},N={key:2,class:`info-item`},P={class:`info-label`},F={class:`info-value`},I={key:3,class:`info-item`},L={class:`info-label`},R={class:`info-value`},ge={key:4,class:`info-item info-item--wide`},_e={class:`info-label`},ve={class:`info-value info-value--path`,"data-testid":`process-cwd`},ye={class:`process-detail__logs`},be={class:`section-title`},xe={class:`process-detail__log-container`},z=p(s({__name:`ProcessDetailPage`,props:{agentId:{},processId:{}},setup(s){let p=s,z=oe(),{t:B}=ae(),Se=h(),Ce=o(()=>V.value?.agentId?Se.agents.find(e=>e.config.id===V.value.agentId)?.config.name??V.value.agentId:null),V=t(null),H=t([]),U=t(null),W=t(!1),G=t(!0),K=t(!0),q=t(null),J=null,Y=null,X=null,Z={running:{severity:`success`,icon:`ti ti-circle-check`},stopped:{severity:`secondary`,icon:`ti ti-player-stop`},errored:{severity:`danger`,icon:`ti ti-circle-x`},starting:{severity:`warn`,icon:`ti ti-spin ti-loader-2`}},Q=o(()=>{let e=V.value?.state??`stopped`;return Z[e]??Z.stopped});async function $(){try{V.value=await m.process.get.query({agentId:p.agentId,id:p.processId})}catch(e){q.value=e instanceof Error?e.message:`Failed to load process`}}async function we(){K.value=!0;try{H.value=await m.process.logs.query({agentId:p.agentId,processId:p.processId})}catch{}finally{K.value=!1}}async function Te(){W.value=!0;try{U.value=await m.process.metrics.query({agentId:p.agentId,processId:p.processId})}catch{}finally{W.value=!1}}function Ee(){let e=m.process.onLog.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){H.value=[...H.value,e],H.value.length>1e4&&(H.value=H.value.slice(H.value.length-1e4))}});J=()=>e.unsubscribe()}function De(){let e=m.process.onStatus.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){V.value=e}});Y=()=>e.unsubscribe()}function Oe(){let e=m.process.onMetrics.subscribe({agentId:p.agentId,processId:p.processId},{onData(e){U.value=e}});X=()=>e.unsubscribe()}function ke(){$()}return a(async()=>{G.value=!0,await Promise.all([$(),we(),Te()]),G.value=!1,Ee(),De(),Oe()}),ee(()=>{J?.(),Y?.(),X?.()}),(t,a)=>(c(),i(`div`,ue,[G.value?(c(),i(`div`,de,[n(e(re),{style:{width:`3rem`,height:`3rem`}}),r(`span`,null,l(e(B)(`processDetail.loading`)),1)])):q.value?(c(),i(`div`,fe,[a[2]||=r(`i`,{class:`ti ti-alert-triangle`,style:{"font-size":`2rem`,color:`var(--r-red-500)`}},null,-1),r(`p`,null,l(q.value),1),n(e(f),{label:e(B)(`processDetail.goBack`),icon:`ti ti-arrow-left`,severity:`secondary`,onClick:a[0]||=t=>e(z).back()},null,8,[`label`])])):V.value?(c(),i(te,{key:2},[r(`div`,pe,[r(`div`,me,[n(e(f),{icon:`ti ti-arrow-left`,variant:`text`,rounded:``,severity:`secondary`,"aria-label":e(B)(`processDetail.goBack`),onClick:a[1]||=t=>e(z).back()},null,8,[`aria-label`]),r(`div`,he,[r(`h1`,null,l(V.value.serviceId),1),r(`span`,g,l(V.value.id),1)]),n(e(ie),{value:V.value.state,severity:Q.value.severity,icon:Q.value.icon},null,8,[`value`,`severity`,`icon`])]),n(se,{"agent-id":p.agentId,"process-id":p.processId,state:V.value.state,onAction:ke},null,8,[`agent-id`,`process-id`,`state`])]),U.value||W.value?(c(),i(`section`,_,[r(`h2`,v,l(e(B)(`processDetail.metrics`)),1),U.value?(c(),ne(ce,{key:0,cpu:U.value.cpu,memory:U.value.memory},null,8,[`cpu`,`memory`])):(c(),i(`div`,y,[r(`div`,b,[n(e(d),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),n(e(d),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),n(e(d),{width:`100%`,height:`6px`,"border-radius":`4px`})]),r(`div`,x,[n(e(d),{width:`4rem`,height:`0.75rem`,class:`mb-2`}),n(e(d),{width:`3rem`,height:`1.75rem`,class:`mb-3`}),n(e(d),{width:`6rem`,height:`0.65rem`})])]))])):u(``,!0),r(`section`,S,[r(`div`,C,[V.value.pid?(c(),i(`div`,w,[r(`span`,T,l(e(B)(`processDetail.pid`)),1),r(`span`,E,l(V.value.pid),1)])):u(``,!0),V.value.agentId?(c(),i(`div`,D,[r(`span`,O,l(e(B)(`processDetail.agent`)),1),r(`span`,k,l(Ce.value),1)])):u(``,!0),r(`div`,A,[r(`span`,j,l(e(B)(`processDetail.restarts`)),1),r(`span`,M,l(V.value.restartCount),1)]),V.value.startedAt?(c(),i(`div`,N,[r(`span`,P,l(e(B)(`processDetail.started`)),1),r(`span`,F,l(new Date(V.value.startedAt).toLocaleString()),1)])):u(``,!0),V.value.exitCode==null?u(``,!0):(c(),i(`div`,I,[r(`span`,L,l(e(B)(`processDetail.exitCode`)),1),r(`span`,R,l(V.value.exitCode),1)])),V.value.cwd?(c(),i(`div`,ge,[r(`span`,_e,l(e(B)(`processDetail.cwd`)),1),r(`span`,ve,l(V.value.cwd),1)])):u(``,!0)])]),r(`section`,ye,[r(`h2`,be,l(e(B)(`processDetail.logs`)),1),r(`div`,xe,[n(le,{logs:H.value,loading:K.value,"service-label":V.value?.serviceId},null,8,[`logs`,`loading`,`service-label`])])])],64)):u(``,!0)]))}}),[[`__scopeId`,`data-v-f8f4344d`]]);export{z as default};