tarsk 0.5.72 → 0.5.73

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 (80) hide show
  1. package/dist/index.js +5505 -2902
  2. package/dist/public/assets/{account-view-C_WBVXA3.js → account-view-DKQdyGPK.js} +1 -1
  3. package/dist/public/assets/{alert-dialog-FQ5_FqBX.js → alert-dialog-Cb1PEgra.js} +1 -1
  4. package/dist/public/assets/api-BMo_Lz8f.js +2 -0
  5. package/dist/public/assets/{async-error-boundary-DCDTsNTO.js → async-error-boundary-J8P6NVvc.js} +1 -1
  6. package/dist/public/assets/{async-loading-fallback-C173aA9v.js → async-loading-fallback-B_JNgWJR.js} +1 -1
  7. package/dist/public/assets/browser-tab-D_GXZ93G.js +12 -0
  8. package/dist/public/assets/{button-sfGyFWfz.js → button-DeNw35VZ.js} +1 -1
  9. package/dist/public/assets/{card-D5k0GHxM.js → card-B4eI0NI-.js} +1 -1
  10. package/dist/public/assets/{chat-dock-context-DIyMsJHM.js → chat-dock-context-BXoAs38w.js} +1 -1
  11. package/dist/public/assets/{commit-dialog-Bmh1QdHK.js → commit-dialog-DDLaQVzY.js} +1 -1
  12. package/dist/public/assets/{commit-error-dialog-Dpu8C-0w.js → commit-error-dialog-Cp0Aic7I.js} +1 -1
  13. package/dist/public/assets/{commit-method-fields-CYzy7rmY.js → commit-method-fields-CD3PTIox.js} +1 -1
  14. package/dist/public/assets/{context-menu-Bo0OMC7-.js → context-menu-Dx5Jy21w.js} +1 -1
  15. package/dist/public/assets/{conversation-history-view-COFXqD0e.js → conversation-history-view-JymxZFJ2.js} +1 -1
  16. package/dist/public/assets/{create-project-dialog-DQ4AbwQP.js → create-project-dialog-qbwqSqGU.js} +2 -2
  17. package/dist/public/assets/{create-project-workspace-BiRMezO9.js → create-project-workspace-BcIx6FNf.js} +1 -1
  18. package/dist/public/assets/{create-repo-dialog-CYiCHWgi.js → create-repo-dialog-DcvSMy3g.js} +1 -1
  19. package/dist/public/assets/{delete-confirm-dialog-B99gEJN8.js → delete-confirm-dialog-C9NASyh6.js} +1 -1
  20. package/dist/public/assets/{dialog-CP2cYR59.js → dialog-Do98zzAW.js} +1 -1
  21. package/dist/public/assets/{diff-view-Cnuntc3l.js → diff-view-ePD0sdsW.js} +2 -2
  22. package/dist/public/assets/dist-BWuYHVi8.js +2 -0
  23. package/dist/public/assets/{dist-DrpdKPSI.js → dist-CjhvxqFU.js} +1 -1
  24. package/dist/public/assets/{explorer-tab-view-BoCoREoE.js → explorer-tab-view-D6hsKrXY.js} +2 -2
  25. package/dist/public/assets/{explorer-tree-DvD1-WW3.js → explorer-tree-BG8ShRwn.js} +1 -1
  26. package/dist/public/assets/{explorer-view-B4WJUy7s.js → explorer-view-BZcNnLd9.js} +2 -2
  27. package/dist/public/assets/{git-history-dialog-DHdzijZS.js → git-history-dialog-DWhJ1-ba.js} +1 -1
  28. package/dist/public/assets/index-DhOeeft5.css +1 -0
  29. package/dist/public/assets/index-DjaVbFDB.js +3386 -0
  30. package/dist/public/assets/{markdown-renderer-Dx9-Ljv0.js → markdown-renderer-qLede1zH.js} +4 -4
  31. package/dist/public/assets/{mcp-server-card-DPNG9Up7.js → mcp-server-card-zm-ss-7h.js} +1 -1
  32. package/dist/public/assets/{merged-pr-dialog-CEvS2z8D.js → merged-pr-dialog-Due9WdB4.js} +1 -1
  33. package/dist/public/assets/{model-list-controls-ChoemIJa.js → model-list-controls-D86_87E4.js} +1 -1
  34. package/dist/public/assets/{onboarding-dialog-DCull5p_.js → onboarding-dialog-DlqbPvG0.js} +1 -1
  35. package/dist/public/assets/{project-env-vars-view-DTGwl4wr.js → project-env-vars-view-N1Io1Pau.js} +1 -1
  36. package/dist/public/assets/{project-model-aliases-view-CEDz_6NW.js → project-model-aliases-view-B4FEze4g.js} +1 -1
  37. package/dist/public/assets/{project-settings-view-DniUno1i.js → project-settings-view-BalZ6Fe1.js} +1 -1
  38. package/dist/public/assets/{project-tools-view-DknCaJu_.js → project-tools-view-OnCN0jKz.js} +1 -1
  39. package/dist/public/assets/{providers-list-view-D_n1Ai6S.js → providers-list-view-DXvcxXDM.js} +1 -1
  40. package/dist/public/assets/pull-request-dialog-BeeTNIN_.js +1 -0
  41. package/dist/public/assets/{pull-with-changes-dialog-rKmqSi73.js → pull-with-changes-dialog-B9y2_lt_.js} +1 -1
  42. package/dist/public/assets/{push-before-pr-dialog-BeEx6Po_.js → push-before-pr-dialog-D3pMFe9A.js} +1 -1
  43. package/dist/public/assets/{settings-general-view-CVHlxpTM.js → settings-general-view-CAYlYs3J.js} +1 -1
  44. package/dist/public/assets/{settings-instructions-view-Bpx_dUaJ.js → settings-instructions-view-GjQivhLy.js} +1 -1
  45. package/dist/public/assets/{settings-list-PMi8ZniW.js → settings-list-DU82HNPX.js} +1 -1
  46. package/dist/public/assets/{settings-logs-view-64Aq1hEw.js → settings-logs-view-DnQ_4O9b.js} +4 -4
  47. package/dist/public/assets/{settings-mcp-servers-view-B84c4h47.js → settings-mcp-servers-view-C6OZHR3K.js} +1 -1
  48. package/dist/public/assets/{settings-models-view-DdRC4YXo.js → settings-models-view-CTjnBd74.js} +1 -1
  49. package/dist/public/assets/{settings-rules-view-CGLh95Ta.js → settings-rules-view-DiTC-cBE.js} +1 -1
  50. package/dist/public/assets/settings-skills-view-DHoSorOw.js +3 -0
  51. package/dist/public/assets/{settings-slack-view-OFNrG_DW.js → settings-slack-view-CiuJZ-9i.js} +1 -1
  52. package/dist/public/assets/{settings-slash-commands-view-DOo0BimH.js → settings-slash-commands-view-CnXff39A.js} +1 -1
  53. package/dist/public/assets/{settings-statistics-view-DpaSoVqG.js → settings-statistics-view-D8SvAGE_.js} +1 -1
  54. package/dist/public/assets/{settings-storage-view-DlyXWB__.js → settings-storage-view-CUsa7Lwv.js} +1 -1
  55. package/dist/public/assets/{settings-subagents-view-D7o69YzB.js → settings-subagents-view-B4HugfzU.js} +1 -1
  56. package/dist/public/assets/{settings-system-prompt-view-BFGfrXfe.js → settings-system-prompt-view-DNQKxcFg.js} +1 -1
  57. package/dist/public/assets/{settings-view-Dw1Zh2Qn.js → settings-view-DoZmXguf.js} +2 -2
  58. package/dist/public/assets/store-BaMSfYoJ.js +9 -0
  59. package/dist/public/assets/{table-B2TDbGGl.js → table-B3fLagUj.js} +1 -1
  60. package/dist/public/assets/tasks-view-BaMd8ZM0.js +2 -0
  61. package/dist/public/assets/{terminal-panel-DBZpuMz9.js → terminal-panel-BjD6z-3y.js} +2 -2
  62. package/dist/public/assets/{toggle-group-BiUqOiP6.js → toggle-group-5tREtjoW.js} +1 -1
  63. package/dist/public/assets/{use-active-dock-panel-instance-CcCdDHzX.js → use-active-dock-panel-instance-BSch6-Fx.js} +1 -1
  64. package/dist/public/assets/{use-installed-ai-files-BNrsyACe.js → use-installed-ai-files-E4BAFIPG.js} +1 -1
  65. package/dist/public/assets/{use-open-chat-dock-panel-D1D5bnsL.js → use-open-chat-dock-panel-Cr1bQYOH.js} +1 -1
  66. package/dist/public/assets/{web-C5UYr_H-.js → web-BKpP7kYB.js} +1 -1
  67. package/dist/public/assets/{web-DaSLtaQ7.js → web-CtDn8Ggo.js} +1 -1
  68. package/dist/public/assets/{web-Rx_XWVAQ.js → web-DaiDQ9WA.js} +1 -1
  69. package/dist/public/assets/{web-iwWEZ1P2.js → web-W5CC9Cq4.js} +1 -1
  70. package/dist/public/index.html +14 -14
  71. package/package.json +2 -1
  72. package/dist/public/assets/api-ODizoHnY.js +0 -2
  73. package/dist/public/assets/browser-tab-Cl9d7ESj.js +0 -12
  74. package/dist/public/assets/dist-ZlK7I-y-.js +0 -2
  75. package/dist/public/assets/index-Bmkj1Qwa.js +0 -3380
  76. package/dist/public/assets/index-DPMRI86E.css +0 -1
  77. package/dist/public/assets/pull-request-dialog-BkQBaJkw.js +0 -1
  78. package/dist/public/assets/settings-skills-view-DeVnXDl-.js +0 -3
  79. package/dist/public/assets/store-Be_7VK0D.js +0 -8
  80. package/dist/public/assets/tasks-view-FR7c1qFr.js +0 -2
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{c as i,s as a}from"./chunk-QFMPRPBF-COsSkB7x.js";import{W as o,at as s,it as c,x as l}from"./dist-ZlK7I-y-.js";import{J as u,n as d}from"./store-Be_7VK0D.js";import{$ as f,Et as p,Mt as m,On as h,ln as g,q as _,un as v,y}from"./dist-DIjomljy.js";import{n as b,o as x,t as S}from"./utils-CT-Dw22R.js";import{t as C}from"./button-sfGyFWfz.js";import{B as ee,Et as te,G as w,L as T,R as E,V as ne,W as re,an as ie,kt as ae,tt as D,vn as oe,yn as se}from"./api-ODizoHnY.js";import{i as ce,n as O,r as k,t as A}from"./tooltip-B6ziVyTv.js";import{n as le}from"./async-loading-fallback-C173aA9v.js";import{t as j}from"./suspense-resource-DnYnmTbs.js";import{t as M}from"./use-suspense-resource-Dkz6ddFN.js";import{Bn as ue,Ct as N,Et as P,Fn as F,Ft as I,I as de,In as fe,L as pe,Ln as L,On as R,Pn as z,R as B,St as me,bt as V,kn as H,o as he,pn as ge,z as U}from"./index-Bmkj1Qwa.js";import{t as W}from"./async-error-boundary-DCDTsNTO.js";import{t as G}from"./sorting-DqwxPMRN.js";import{t as _e}from"./pending-changes-Bn-0ak1d.js";import{o as K}from"./settings-list-PMi8ZniW.js";import{t as q}from"./use-deferred-search-Dgxosq55.js";import{n as J,r as Y,t as X}from"./model-list-controls-ChoemIJa.js";var Z=t(),Q=e(n(),1),$=r(),ve=x(S(s.compact,`inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function ye(e){let t=(0,Z.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==i?(a=S(ve({variant:i}),n),t[4]=n,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,...r}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}var be=l(`app.use-provider-details.hook`);function xe(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Se({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=d(),[i,a]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(``),[l,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)([]),[y,b]=(0,Q.useState)(new Set),[x,S]=(0,Q.useState)(new Set),[C,D]=(0,Q.useState)(new Map),{query:ce,setQuery:O,deferredQuery:k}=q(),[A,le]=(0,Q.useState)(`alphabetical`),[j,M]=(0,Q.useState)(`all`),[ue,N]=(0,Q.useState)(!1),[P,F]=(0,Q.useState)(``),[I,de]=(0,Q.useState)(``),[fe,pe]=(0,Q.useState)(``),[L,R]=(0,Q.useState)(`coding`),[z,B]=(0,Q.useState)([]),[V,H]=(0,Q.useState)(new Set),[he,U]=(0,Q.useState)(new Set),[W,K]=(0,Q.useState)(new Map),[J,Y]=(0,Q.useState)({}),X=e=>ge(e.id);(0,Q.useEffect)(()=>{(async()=>{if(g(``),n&&(t&&n.slug===t||e&&n.name===e)){a(n),pe(n.apiKey??``),c(n.apiKey??``),Y(n.envValues??{}),ye(n.slug),Z(n.slug);return}try{let n=xe(await ae(),e,t);a(n),pe(n?.apiKey??``),c(n?.apiKey??``),Y(n?.envValues??{}),n&&(ye(n.slug),Z(n.slug))}catch(e){g(e instanceof Error?e.message:`Failed to load providers`)}})()},[e,t,n]);let Z=async e=>{m(null);try{let t=await te(e);t.status===`success`&&m(t.balance)}catch(t){be.error(`Failed to load balance for ${e}:`,t)}};function $(){v([]),B([]),b(new Set),S(new Set),H(new Set),U(new Set),D(new Map),K(new Map)}function ve(e){return e instanceof Error?e.message:`Failed to load models from local API`}let ye=async e=>{f(!0),de(``),O(``),le(`alphabetical`),M(`all`),R(`coding`);try{let[t,n]=await Promise.all([w(e),re(e)]);v(t.models),B(n.models);let r=new Set(t.enabledModelIds);b(r),S(r);let i=new Set(n.enabledModelIds);H(i),U(i),D(new Map),K(new Map)}catch(t){be.error(`Failed to load models for ${e}:`,t),$(),de(ve(t))}finally{f(!1)}};async function Se(e){f(!0),de(``);try{await ie(e),await ye(e),r({type:u.ConfigUpdated})}catch(t){be.error(`Failed to refresh models for ${e}:`,t),$(),de(ve(t)),f(!1)}}let Ce=(e,t)=>{i?.name===e&&(c(t),Te(t))},we=(e,t)=>{Y(n=>({...n,[e]:t})),i&&(async()=>{try{await oe({[e]:t}),r({type:u.ConfigUpdated}),F(`${me(e)} saved successfully`),setTimeout(()=>F(``),3e3)}catch(e){F(e instanceof Error?e.message:`Failed to save provider settings`);return}o(i.slug)&&e===`LOCAL_API_URL`&&t.trim()&&await Se(i.slug)})()},Te=async e=>{if(!(!i||e===fe))try{await se(i.slug,e),r({type:u.ConfigUpdated}),pe(e),F(`API key saved successfully`),setTimeout(()=>F(``),3e3)}catch(e){F(e instanceof Error?e.message:`Failed to save API key`)}},Ee=(e,t)=>{t===`image`?K(t=>{let n=new Map(t),r=V.has(e),i=n.has(e),a=n.get(e),o=!(i?a:r);return o===r?n.delete(e):n.set(e,o),De(e,(n.has(e)?n.get(e):r)??!1,`image`),n}):D(t=>{let n=_e(t,e,y);return De(e,(n.has(e)?n.get(e):y.has(e))??!1,`coding`),n})},De=async(e,t,n=`coding`)=>{if(i)try{n===`image`?(t?(await ee(i.slug,e),H(t=>new Set([...t,e]))):(await T(i.slug,e),H(t=>{let n=new Set(t);return n.delete(e),n})),K(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await ne(i.slug,e),b(t=>new Set([...t,e]))):(await E(i.slug,e),b(t=>{let n=new Set(t);return n.delete(e),n})),D(t=>{let n=new Map(t);return n.delete(e),n})),r({type:u.ConfigUpdated}),F(`Model preferences saved successfully`),setTimeout(()=>F(``),3e3)}catch(e){F(e instanceof Error?e.message:`Failed to save model changes`)}};async function Oe(e,t=`coding`){let n=t===`image`?z:_,r=t===`image`?V:y;(t===`image`?K:D)(t=>{let i=new Map(t);for(let t of n)r.has(t.id)===e?i.delete(t.id):i.set(t.id,e);return i});for(let i of n)r.has(i.id)!==e&&await De(i.id,e,t)}let ke=s!==void 0&&s.trim().length>0;return{selectedProvider:i,error:h,balance:p,displayApiKey:s,showApiKey:ue,setShowApiKey:N,providerEnvValues:J,modelsLoading:l,modelsError:I,saveStatus:P,modelTab:L,setModelTab:R,modelSearchQuery:ce,setModelSearchQuery:O,modelSortBy:A,setModelSortBy:le,modelFilter:j,setModelFilter:M,availableModels:_,enabledModelIds:y,pendingChanges:C,filteredAndSortedModels:(0,Q.useMemo)(()=>G({models:_,query:k,sortBy:A,getDisplayName:X,freeOnly:j===`free`,groupByProvider:!0,getPriority:e=>+!x.has(e.id)}),[_,k,j,x,A,X]),availableImageModels:z,enabledImageModelIds:V,pendingImageChanges:W,filteredAndSortedImageModels:(0,Q.useMemo)(()=>G({models:z,query:k,sortBy:A===`coding-index`||A===`intelligence-by-price`?`alphabetical`:A,getDisplayName:X,freeOnly:j===`free`,groupByProvider:!0,getPriority:e=>+!he.has(e.id)}),[z,k,j,he,A,X]),hasApiKey:ke,getModelDisplayName:X,handleUpdateKeyLocal:Ce,handleUpdateProviderEnv:we,refreshLocalProviderModels:Se,handleToggleModel:Ee,handleToggleAllModels:Oe}}function Ce(e){let t=(0,Z.c)(7),{provider:n,onBack:r}=e;if(!r&&!n.url)return null;let i;t[0]===n.url?i=t[1]:(i=n.url?(0,$.jsx)(V,{url:n.url,className:S(s.compact,`p-3`)}):null,t[0]=n.url,t[1]=i);let a;t[2]===r?a=t[3]:(a=r?(0,$.jsxs)(C,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:r,children:[(0,$.jsx)(y,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close provider details`})]}):null,t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function we(e){let t=(0,Z.c)(6),{balance:n}=e;if(n===null)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=S(s.compact,`inline-flex shrink-0 items-center gap-1.5 font-medium`),i=(0,$.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full bg-green-500`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=b(n),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=o),o}function Te(e){let t=(0,Z.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=S(s.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(O,{children:r}),t[3]=r,t[4]=o);let c;return t[5]!==a||t[6]!==o?(c=(0,$.jsx)(k,{children:(0,$.jsxs)(A,{children:[a,o]})}),t[5]=a,t[6]=o,t[7]=c):c=t[7],c}function Ee(e){let t=(0,Z.c)(10),{provider:n,displayApiKey:r,showApiKey:i,onToggleShowApiKey:a,onUpdateKey:s,providerEnvValues:c,onUpdateEnv:l,modelsLoading:u,onRefreshModels:d}=e,h;return t[0]!==r||t[1]!==u||t[2]!==d||t[3]!==a||t[4]!==l||t[5]!==s||t[6]!==n||t[7]!==c||t[8]!==i?(h=(0,$.jsx)($.Fragment,{children:n.authType===`APIKey`?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(F,{children:[(0,$.jsx)(z,{label:(0,$.jsx)(Te,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(m,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(I,{type:i?`text`:`password`,placeholder:n.keyName||`Enter API Key`,className:`pl-10 pr-10`,value:r,onChange:e=>{s(n.name,e.target.value)}}),(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:a,disabled:!r,children:i?(0,$.jsx)(v,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(g,{className:`h-4 w-4 text-muted-foreground`})})]})}),N(n).map(e=>(0,$.jsx)(z,{label:(0,$.jsx)(Te,{title:me(e),tooltip:e}),control:o(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(I,{id:e,value:c[e]??``,onChange:t=>l(e,t.target.value),placeholder:n.api,className:`pr-10`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(k,{children:(0,$.jsxs)(A,{children:[(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:()=>{d(n.slug)},disabled:u,children:u?(0,$.jsx)(p,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(f,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(O,{children:`Refresh models`})]})})]}):(0,$.jsx)(I,{id:e,value:c[e]??``,onChange:t=>l(e,t.target.value),placeholder:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`})},e))]})}):(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(R,{className:`mb-0`,children:`This provider uses OAuth for authentication.`}),(0,$.jsxs)(C,{variant:`outline`,size:`sm`,disabled:!0,children:[`Sign in with `,n.name]})]})}),t[0]=r,t[1]=u,t[2]=d,t[3]=a,t[4]=l,t[5]=s,t[6]=n,t[7]=c,t[8]=i,t[9]=h):h=t[9],h}function De(e){let t=(0,Z.c)(22),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:o,showStarRating:c,onToggle:l}=e,u=r.pricing,d=n===`image`?`image-${r.id}`:r.id,f=r.id,p=!o&&`opacity-25`,m;t[0]===p?m=t[1]:(m=S(`flex cursor-default items-center space-x-3 p-3 transition-colors hover:bg-muted/30`,p),t[0]=p,t[1]=m);let h=!o,g=a??!1,_;t[2]!==r.id||t[3]!==l?(_=()=>l(r.id),t[2]=r.id,t[3]=l,t[4]=_):_=t[4];let v;t[5]!==d||t[6]!==h||t[7]!==g||t[8]!==_?(v=(0,$.jsx)(he,{id:d,disabled:h,checked:g,onCheckedChange:_,className:`mt-0`}),t[5]=d,t[6]=h,t[7]=g,t[8]=_,t[9]=v):v=t[9];let y;t[10]!==d||t[11]!==i||t[12]!==r.coding_index||t[13]!==u||t[14]!==c||t[15]!==n?(y=n===`coding`?(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:d,className:S(s.body,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),children:i})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[c&&(0,$.jsx)(Y,{codingIndex:r.coding_index,modelName:i}),u&&(0,$.jsx)(`span`,{className:S(s.caption,`whitespace-nowrap`),children:(u.prompt??0)===0&&(u.completion??0)===0?``:`$${b(u.prompt??0)} in | $${b(u.completion??0)} out`})]})]}):(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:d,className:S(s.label,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),children:i})}),u&&(0,$.jsx)(`span`,{className:S(s.caption,`whitespace-nowrap flex-shrink-0`),children:(u.prompt??0)===0&&(u.completion??0)===0?``:`$${b(u.prompt??0)} in | $${b(u.completion??0)} out`})]}),t[10]=d,t[11]=i,t[12]=r.coding_index,t[13]=u,t[14]=c,t[15]=n,t[16]=y):y=t[16];let x;return t[17]!==r.id||t[18]!==m||t[19]!==v||t[20]!==y?(x=(0,$.jsxs)(`div`,{className:m,children:[v,y]},f),t[17]=r.id,t[18]=m,t[19]=v,t[20]=y,t[21]=x):x=t[21],x}function Oe(e){let t=(0,Z.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:o,hasApiKey:l,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:m,onToggleModel:h}=e,g=n===`coding`,_=g?o?`No models loaded.`:`No models available for this provider.`:`No image models available for this provider.`,v;return t[0]!==_||t[1]!==u||t[2]!==i||t[3]!==m||t[4]!==l||t[5]!==g||t[6]!==f||t[7]!==r||t[8]!==a||t[9]!==h||t[10]!==d||t[11]!==n?(v=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:a?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(p,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):r.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:_})}):(0,$.jsx)(k,{children:(0,$.jsx)(`div`,{className:S(`grid grid-cols-1 gap-0`,c.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:`No models matching your filters.`})}):i.map(e=>{let t=u.has(e.id),r=d.has(e.id),i=d.get(e.id),a=(r?i:t)??!1;return(0,$.jsx)(De,{tab:n,model:e,displayName:m(e),willBeEnabled:a,hasApiKey:l,showStarRating:g&&(f===`coding-index`||f===`intelligence-by-price`),onToggle:e=>h(e,n)},e.id)})})})}),t[0]=_,t[1]=u,t[2]=i,t[3]=m,t[4]=l,t[5]=g,t[6]=f,t[7]=r,t[8]=a,t[9]=h,t[10]=d,t[11]=n,t[12]=v):v=t[12],v}function ke(e){let t=(0,Z.c)(22),{tab:n,showImageTab:r,modelsLoading:i,models:a,hasApiKey:o,enabledModelIds:s,pendingChanges:c,modelSearchQuery:l,onModelSearchQueryChange:u,modelSortBy:d,onModelSortByChange:f,onToggleAllModels:p}=e,m=n===`coding`,h=m?`select-all-models`:`select-all-image-models`,g=!i&&a.length>0,v=g&&!o&&`opacity-25`,y;t[0]===v?y=t[1]:(y=S(`flex flex-col gap-2 md:flex-row md:items-center`,v),t[0]=v,t[1]=y);let b;t[2]===r?b=t[3]:(b=r?(0,$.jsxs)(B,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(U,{value:`coding`,children:`Coding`}),(0,$.jsx)(U,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=b);let x;t[4]!==s||t[5]!==o||t[6]!==m||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==p||t[13]!==c||t[14]!==h||t[15]!==g||t[16]!==n?(x=g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(_,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(I,{placeholder:`Search`,className:`pl-10 h-8`,value:l,onChange:e=>u(e.target.value),disabled:!o})]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 self-end md:ml-auto md:self-auto`,children:[(0,$.jsx)(X,{id:h,disabled:!o,checked:a.every(e=>{let t=c.has(e.id),n=c.get(e.id);return t?n:s.has(e.id)}),onChange:e=>{p(e,n)}}),(0,$.jsx)(J,{sortBy:d,showCodingIndex:m,showIntelligenceByPrice:m,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=m,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=p,t[13]=c,t[14]=h,t[15]=g,t[16]=n,t[17]=x):x=t[17];let C;return t[18]!==y||t[19]!==b||t[20]!==x?(C=(0,$.jsxs)(`div`,{className:y,children:[b,x]}),t[18]=y,t[19]=b,t[20]=x,t[21]=C):C=t[21],C}function Ae(e){let t=(0,Z.c)(10),{title:n,description:r,action:i,tableHeader:a,children:o}=e,s;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n?(s=(0,$.jsx)(H,{title:n,description:r,action:i,sticky:!1,tableHeader:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`div`,{className:`px-6 pb-6`,children:o}),t[5]=o,t[6]=c);let l;return t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(ue,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function je(e){let t=(0,Z.c)(111),{selectedProviderName:n,selectedProviderSlug:r,providerData:i,onBack:a,className:o}=e,s=n===void 0?null:n,c=r===void 0?null:r,l;t[0]!==i||t[1]!==s||t[2]!==c?(l={selectedProviderName:s,selectedProviderSlug:c,providerData:i},t[0]=i,t[1]=s,t[2]=c,t[3]=l):l=t[3];let{selectedProvider:u,error:d,balance:f,displayApiKey:p,showApiKey:m,setShowApiKey:g,providerEnvValues:_,modelsLoading:v,modelsError:y,saveStatus:b,modelTab:x,setModelTab:ee,modelSearchQuery:te,setModelSearchQuery:w,modelSortBy:T,setModelSortBy:E,availableModels:ne,enabledModelIds:re,pendingChanges:ie,filteredAndSortedModels:ae,availableImageModels:D,enabledImageModelIds:oe,pendingImageChanges:se,filteredAndSortedImageModels:ce,hasApiKey:O,getModelDisplayName:k,handleUpdateKeyLocal:A,handleUpdateProviderEnv:le,refreshLocalProviderModels:j,handleToggleModel:M,handleToggleAllModels:ue}=Se(l);if(d){let e;t[4]===o?e=t[5]:(e=S(`flex h-full min-h-0 flex-col items-center justify-center gap-4 p-6`,o),t[4]=o,t[5]=e);let n;t[6]===d?n=t[7]:(n=(0,$.jsx)(R,{variant:`error`,className:`mb-0`,children:d}),t[6]=d,t[7]=n);let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:Me,children:`Retry`}),t[8]=r):r=t[8];let i;return t[9]!==e||t[10]!==n?(i=(0,$.jsxs)(`div`,{className:e,children:[n,r]}),t[9]=e,t[10]=n,t[11]=i):i=t[11],i}if(!u){let e;t[12]===o?e=t[13]:(e=S(`flex h-full min-h-0 items-center justify-center`,o),t[12]=o,t[13]=e);let n=s||c?`Provider not found`:`Select a Provider`,r;t[14]===a?r=t[15]:(r=a?(0,$.jsxs)(C,{variant:`outline`,size:`sm`,onClick:a,children:[(0,$.jsx)(h,{className:`h-4 w-4 mr-1`}),`Back to Providers`]}):void 0,t[14]=a,t[15]=r);let i=a?`This provider could not be found.`:`Choose a provider from the list to configure its settings.`,l;t[16]!==n||t[17]!==r||t[18]!==i?(l=(0,$.jsx)(fe,{title:n,action:r,children:i}),t[16]=n,t[17]=r,t[18]=i,t[19]=l):l=t[19];let u;return t[20]!==e||t[21]!==l?(u=(0,$.jsx)(`div`,{className:e,children:l}),t[20]=e,t[21]=l,t[22]=u):u=t[22],u}let N;t[23]===o?N=t[24]:(N=S(`h-full min-h-0`,o),t[23]=o,t[24]=N);let P;t[25]!==a||t[26]!==u?(P=(0,$.jsx)(Ce,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=P):P=t[27];let F;t[28]!==g||t[29]!==m?(F=()=>g(!m),t[28]=g,t[29]=m,t[30]=F):F=t[30];let I;t[31]!==p||t[32]!==A||t[33]!==le||t[34]!==v||t[35]!==_||t[36]!==j||t[37]!==u||t[38]!==m||t[39]!==F?(I=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(Ee,{provider:u,displayApiKey:p,showApiKey:m,onToggleShowApiKey:F,onUpdateKey:A,providerEnvValues:_,onUpdateEnv:le,modelsLoading:v,onRefreshModels:j})}),t[31]=p,t[32]=A,t[33]=le,t[34]=v,t[35]=_,t[36]=j,t[37]=u,t[38]=m,t[39]=F,t[40]=I):I=t[40];let L;t[41]!==u.name||t[42]!==P||t[43]!==I?(L=(0,$.jsx)(Ae,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:P,children:I}),t[41]=u.name,t[42]=P,t[43]=I,t[44]=L):L=t[44];let z;t[45]!==w||t[46]!==E||t[47]!==ee?(z=e=>{ee(e),w(``),E(`alphabetical`)},t[45]=w,t[46]=E,t[47]=ee,t[48]=z):z=t[48];let B;t[49]===f?B=t[50]:(B=(0,$.jsx)(we,{balance:f}),t[49]=f,t[50]=B);let me;t[51]===u.name?me=t[52]:(me=u.name.toLowerCase(),t[51]=u.name,t[52]=me);let V=me===`openrouter`,H=x===`coding`?ne:D,he=x===`coding`?re:oe,ge=x===`coding`?ie:se,U;t[53]!==ue||t[54]!==O||t[55]!==te||t[56]!==T||t[57]!==x||t[58]!==v||t[59]!==w||t[60]!==E||t[61]!==V||t[62]!==H||t[63]!==he||t[64]!==ge?(U=(0,$.jsx)(ke,{tab:x,showImageTab:V,modelsLoading:v,models:H,hasApiKey:O,enabledModelIds:he,pendingChanges:ge,modelSearchQuery:te,onModelSearchQueryChange:w,modelSortBy:T,onModelSortByChange:E,onToggleAllModels:ue}),t[53]=ue,t[54]=O,t[55]=te,t[56]=T,t[57]=x,t[58]=v,t[59]=w,t[60]=E,t[61]=V,t[62]=H,t[63]=he,t[64]=ge,t[65]=U):U=t[65];let W;t[66]===y?W=t[67]:(W=y?(0,$.jsx)(R,{variant:`error`,className:`mb-4`,children:y}):null,t[66]=y,t[67]=W);let G;t[68]!==ne||t[69]!==re||t[70]!==ae||t[71]!==k||t[72]!==M||t[73]!==O||t[74]!==T||t[75]!==y||t[76]!==v||t[77]!==ie||t[78]!==u?(G=(0,$.jsx)(pe,{value:`coding`,children:(0,$.jsx)(Oe,{tab:`coding`,provider:u,models:ne,filteredModels:ae,modelsLoading:v,modelsError:y,hasApiKey:O,enabledModelIds:re,pendingChanges:ie,modelSortBy:T,getModelDisplayName:k,onToggleModel:M})}),t[68]=ne,t[69]=re,t[70]=ae,t[71]=k,t[72]=M,t[73]=O,t[74]=T,t[75]=y,t[76]=v,t[77]=ie,t[78]=u,t[79]=G):G=t[79];let _e;t[80]!==D||t[81]!==oe||t[82]!==ce||t[83]!==k||t[84]!==M||t[85]!==O||t[86]!==T||t[87]!==y||t[88]!==v||t[89]!==se||t[90]!==u?(_e=(0,$.jsx)(pe,{value:`image`,children:(0,$.jsx)(Oe,{tab:`image`,provider:u,models:D,filteredModels:ce,modelsLoading:v,modelsError:y,hasApiKey:O,enabledModelIds:oe,pendingChanges:se,modelSortBy:T,getModelDisplayName:k,onToggleModel:M})}),t[80]=D,t[81]=oe,t[82]=ce,t[83]=k,t[84]=M,t[85]=O,t[86]=T,t[87]=y,t[88]=v,t[89]=se,t[90]=u,t[91]=_e):_e=t[91];let K;t[92]===b?K=t[93]:(K=b?(0,$.jsx)(R,{variant:b.includes(`error`)||b.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:b}):null,t[92]=b,t[93]=K);let q;t[94]!==B||t[95]!==U||t[96]!==W||t[97]!==G||t[98]!==_e||t[99]!==K?(q=(0,$.jsxs)(Ae,{title:`Models`,description:`Enable coding and image models for this provider.`,action:B,tableHeader:U,children:[W,G,_e,K]}),t[94]=B,t[95]=U,t[96]=W,t[97]=G,t[98]=_e,t[99]=K,t[100]=q):q=t[100];let J;t[101]!==x||t[102]!==q||t[103]!==z?(J=(0,$.jsx)(de,{value:x,onValueChange:z,children:q}),t[101]=x,t[102]=q,t[103]=z,t[104]=J):J=t[104];let Y;t[105]!==J||t[106]!==L?(Y=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[L,J]})}),t[105]=J,t[106]=L,t[107]=Y):Y=t[107];let X;return t[108]!==Y||t[109]!==N?(X=(0,$.jsx)(`div`,{className:N,children:Y}),t[108]=Y,t[109]=N,t[110]=X):X=t[110],X}function Me(){return window.location.reload()}function Ne(e){return`providers:list:${e}`}async function Pe(){let[e,t]=await Promise.all([ae(),D().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var Fe=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Ie=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Le(e){let t=(0,Z.c)(9),{title:n,description:r,action:i,children:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,$.jsx)(H,{title:n,description:r,action:i,sticky:!1}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=(0,$.jsx)(L,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(ue,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Re(e){let t=(0,Z.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:o}=q(),c;t[0]===n?c=t[1]:(c=Ne(n),t[0]=n,t[1]=c);let{providers:l,enabledModelCounts:u}=M(c,Pe),d;if(t[2]!==o||t[3]!==u||t[4]!==l){let e;t[6]===o?e=t[7]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=o,t[7]=e);let n;t[8]===u?n=t[9]:(n=(e,t)=>{let n=(u[e.slug]??0)>0,r=(u[t.slug]??0)>0;return n&&!r?-1:!n&&r?1:e.name.localeCompare(t.name)},t[8]=u,t[9]=n),d=l.filter(Ve).filter(e).sort(n),t[2]=o,t[3]=u,t[4]=l,t[5]=d}else d=t[5];let f=d,p;if(t[10]!==o||t[11]!==l){let e;t[13]===o?e=t[14]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=o,t[14]=e),p=l.filter(Be).filter(e).sort(ze),t[10]=o,t[11]=l,t[12]=p}else p=t[12];let m=p,h;t[15]!==i||t[16]!==a?(h=(0,$.jsx)(K,{placeholder:`Search`,value:i,onChange:a,className:`mb-0 w-64`}),t[15]=i,t[16]=a,t[17]=h):h=t[17];let g;t[18]!==f||t[19]!==u||t[20]!==r||t[21]!==i?(g=f.length===0?(0,$.jsx)(`p`,{className:S(s.bodyMuted,`py-4`),children:i?`No connected providers match your search.`:`No providers connected yet. Add an API key to get started.`}):(0,$.jsx)(`div`,{className:Ie,children:f.map(e=>(0,$.jsx)(Je,{provider:e,modelCount:u[e.slug]??0,onClick:r},e.name))}),t[18]=f,t[19]=u,t[20]=r,t[21]=i,t[22]=g):g=t[22];let _;t[23]!==h||t[24]!==g?(_=(0,$.jsx)(Le,{title:`Connected Providers`,description:`Providers you've connected with an API key or environment variable.`,action:h,children:g}),t[23]=h,t[24]=g,t[25]=_):_=t[25];let v;t[26]!==m||t[27]!==r||t[28]!==i?(v=(0,$.jsx)(Le,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:m.length===0?(0,$.jsx)(`p`,{className:S(s.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Ie,children:m.map(e=>(0,$.jsx)(Ye,{provider:e,onClick:r},e.name))})}),t[26]=m,t[27]=r,t[28]=i,t[29]=v):v=t[29];let y;return t[30]!==_||t[31]!==v?(y=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[_,v]})}),t[30]=_,t[31]=v,t[32]=y):y=t[32],y}function ze(e,t){return e.name.localeCompare(t.name)}function Be(e){return!e.apiKey}function Ve(e){return e.apiKey}function He(){let e=(0,Z.c)(21),t=a(),{providerSlug:n}=i(),[r,o]=(0,Q.useState)(0),s=(0,Q.useRef)(n),c,l;e[0]!==r||e[1]!==n?(c=()=>{s.current&&!n&&(j(Ne(r)),o(Ke)),s.current=n},l=[n,r],e[0]=r,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,Q.useEffect)(c,l);let u;e[4]===t?u=e[5]:(u=e=>{t(`/settings/providers/${encodeURIComponent(e.slug)}`)},e[4]=t,e[5]=u);let d=u,f;e[6]!==r||e[7]!==t?(f=()=>{t(`/settings/providers`),j(Ne(r)),o(Ge)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){j(Ne(r)),o(We)},e[9]=r,e[10]=m);let h=m;if(n){let t=decodeURIComponent(n),r;return e[11]!==p||e[12]!==t?(r=(0,$.jsx)(je,{selectedProviderSlug:t,onBack:p}),e[11]=p,e[12]=t,e[13]=r):r=e[13],r}let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(le,{label:`Loading providers...`,size:`lg`}),e[14]=g):g=e[14];let _;e[15]!==d||e[16]!==r?(_=(0,$.jsx)(Q.Suspense,{fallback:g,children:(0,$.jsx)(Re,{loadVersion:r,onProviderClick:d},r)}),e[15]=d,e[16]=r,e[17]=_):_=e[17];let v;return e[18]!==h||e[19]!==_?(v=(0,$.jsx)(`div`,{className:`h-full min-h-0`,children:(0,$.jsx)(W,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:Ue,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function Ue(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(ue,{className:`shrink-0`,children:[(0,$.jsx)(H,{title:`Providers`,description:`Manage your AI provider connections and API keys.`,sticky:!1}),(0,$.jsx)(`div`,{className:`flex items-center justify-center px-6 pb-6 pt-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(R,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function We(e){return e+1}function Ge(e){return e+1}function Ke(e){return e+1}function qe(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function Je(e){let t=(0,Z.c)(25),{provider:n,modelCount:r,onClick:i}=e,a;t[0]!==i||t[1]!==n?(a=function(){i(n)},t[0]=i,t[1]=n,t[2]=a):a=t[2];let o=a,c;t[3]===o?c=t[4]:(c=e=>qe(e,o),t[3]=o,t[4]=c);let l;t[5]===n?l=t[6]:(l=(0,$.jsx)(P,{provider:n}),t[5]=n,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=S(s.label,`truncate leading-normal`),t[7]=u):u=t[7];let d;t[8]===n.name?d=t[9]:(d=(0,$.jsx)(`span`,{className:u,children:n.name}),t[8]=n.name,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let p;t[13]===n.isEnv?p=t[14]:(p=n.isEnv?(0,$.jsx)(ye,{variant:`secondary`,className:S(s.compact,`px-2 py-0.5`),children:`Environment`}):(0,$.jsx)(ye,{variant:`secondary`,className:S(s.compact,`px-2 py-0.5`),children:`API Key`}),t[13]=n.isEnv,t[14]=p);let m;t[15]===r?m=t[16]:(m=r>0&&(0,$.jsxs)(ye,{variant:`default`,className:S(s.compact,`px-2 py-0.5`),children:[r,` `,r===1?`Model`:`Models`]}),t[15]=r,t[16]=m);let h;t[17]!==p||t[18]!==m?(h=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1.5`,children:[p,m]}),t[17]=p,t[18]=m,t[19]=h):h=t[19];let g;return t[20]!==o||t[21]!==c||t[22]!==f||t[23]!==h?(g=(0,$.jsxs)(`div`,{className:Fe,role:`button`,tabIndex:0,onClick:o,onKeyDown:c,children:[f,h]}),t[20]=o,t[21]=c,t[22]=f,t[23]=h,t[24]=g):g=t[24],g}function Ye(e){let t=(0,Z.c)(18),{provider:n,onClick:r}=e,i;t[0]!==r||t[1]!==n?(i=function(){r(n)},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;t[3]===a?o=t[4]:(o=e=>qe(e,a),t[3]=a,t[4]=o);let c;t[5]===n?c=t[6]:(c=(0,$.jsx)(P,{provider:n}),t[5]=n,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=S(s.label,`truncate leading-normal`),t[7]=l):l=t[7];let u;t[8]===n.name?u=t[9]:(u=(0,$.jsx)(`span`,{className:l,children:n.name}),t[8]=n.name,t[9]=u);let d;t[10]!==c||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:S(s.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[13]=f):f=t[13];let p;return t[14]!==a||t[15]!==o||t[16]!==d?(p=(0,$.jsxs)(`div`,{className:Fe,role:`button`,tabIndex:0,onClick:a,onKeyDown:o,children:[d,f]}),t[14]=a,t[15]=o,t[16]=d,t[17]=p):p=t[17],p}export{He as ProvidersListView,He as default};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{c as i,s as a}from"./chunk-QFMPRPBF-COsSkB7x.js";import{G as o,S as s,at as c,ot as l}from"./dist-BWuYHVi8.js";import{Q as u,n as d}from"./store-BaMSfYoJ.js";import{$ as f,Et as p,Mt as m,On as h,ln as g,q as _,un as v,y}from"./dist-DIjomljy.js";import{n as b,o as x,t as S}from"./utils-CT-Dw22R.js";import{t as C}from"./button-DeNw35VZ.js";import{B as ee,Et as te,G as w,L as T,R as E,V as ne,W as re,an as ie,kt as ae,tt as D,vn as oe,yn as se}from"./api-BMo_Lz8f.js";import{i as ce,n as O,r as k,t as A}from"./tooltip-B6ziVyTv.js";import{n as le}from"./async-loading-fallback-B_JNgWJR.js";import{t as j}from"./suspense-resource-DnYnmTbs.js";import{t as M}from"./use-suspense-resource-Dkz6ddFN.js";import{Bn as ue,Ct as N,Et as P,Fn as F,Ft as I,I as de,In as fe,L as pe,Ln as L,On as R,Pn as z,R as B,St as me,bt as V,kn as H,o as he,pn as ge,z as U}from"./index-DjaVbFDB.js";import{t as W}from"./async-error-boundary-J8P6NVvc.js";import{t as G}from"./sorting-DqwxPMRN.js";import{t as _e}from"./pending-changes-Bn-0ak1d.js";import{o as K}from"./settings-list-DU82HNPX.js";import{t as q}from"./use-deferred-search-Dgxosq55.js";import{n as J,r as Y,t as X}from"./model-list-controls-D86_87E4.js";var Z=t(),Q=e(n(),1),$=r(),ve=x(S(l.compact,`inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function ye(e){let t=(0,Z.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==i?(a=S(ve({variant:i}),n),t[4]=n,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,...r}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}var be=s(`app.use-provider-details.hook`);function xe(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Se({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=d(),[i,a]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(``),[l,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)([]),[y,b]=(0,Q.useState)(new Set),[x,S]=(0,Q.useState)(new Set),[C,D]=(0,Q.useState)(new Map),{query:ce,setQuery:O,deferredQuery:k}=q(),[A,le]=(0,Q.useState)(`alphabetical`),[j,M]=(0,Q.useState)(`all`),[ue,N]=(0,Q.useState)(!1),[P,F]=(0,Q.useState)(``),[I,de]=(0,Q.useState)(``),[fe,pe]=(0,Q.useState)(``),[L,R]=(0,Q.useState)(`coding`),[z,B]=(0,Q.useState)([]),[V,H]=(0,Q.useState)(new Set),[he,U]=(0,Q.useState)(new Set),[W,K]=(0,Q.useState)(new Map),[J,Y]=(0,Q.useState)({}),X=e=>ge(e.id);(0,Q.useEffect)(()=>{(async()=>{if(g(``),n&&(t&&n.slug===t||e&&n.name===e)){a(n),pe(n.apiKey??``),c(n.apiKey??``),Y(n.envValues??{}),ye(n.slug),Z(n.slug);return}try{let n=xe(await ae(),e,t);a(n),pe(n?.apiKey??``),c(n?.apiKey??``),Y(n?.envValues??{}),n&&(ye(n.slug),Z(n.slug))}catch(e){g(e instanceof Error?e.message:`Failed to load providers`)}})()},[e,t,n]);let Z=async e=>{m(null);try{let t=await te(e);t.status===`success`&&m(t.balance)}catch(t){be.error(`Failed to load balance for ${e}:`,t)}};function $(){v([]),B([]),b(new Set),S(new Set),H(new Set),U(new Set),D(new Map),K(new Map)}function ve(e){return e instanceof Error?e.message:`Failed to load models from local API`}let ye=async e=>{f(!0),de(``),O(``),le(`alphabetical`),M(`all`),R(`coding`);try{let[t,n]=await Promise.all([w(e),re(e)]);v(t.models),B(n.models);let r=new Set(t.enabledModelIds);b(r),S(r);let i=new Set(n.enabledModelIds);H(i),U(i),D(new Map),K(new Map)}catch(t){be.error(`Failed to load models for ${e}:`,t),$(),de(ve(t))}finally{f(!1)}};async function Se(e){f(!0),de(``);try{await ie(e),await ye(e),r({type:u.ConfigUpdated})}catch(t){be.error(`Failed to refresh models for ${e}:`,t),$(),de(ve(t)),f(!1)}}let Ce=(e,t)=>{i?.name===e&&(c(t),Te(t))},we=(e,t)=>{Y(n=>({...n,[e]:t})),i&&(async()=>{try{await oe({[e]:t}),r({type:u.ConfigUpdated}),F(`${me(e)} saved successfully`),setTimeout(()=>F(``),3e3)}catch(e){F(e instanceof Error?e.message:`Failed to save provider settings`);return}o(i.slug)&&e===`LOCAL_API_URL`&&t.trim()&&await Se(i.slug)})()},Te=async e=>{if(!(!i||e===fe))try{await se(i.slug,e),r({type:u.ConfigUpdated}),pe(e),F(`API key saved successfully`),setTimeout(()=>F(``),3e3)}catch(e){F(e instanceof Error?e.message:`Failed to save API key`)}},Ee=(e,t)=>{t===`image`?K(t=>{let n=new Map(t),r=V.has(e),i=n.has(e),a=n.get(e),o=!(i?a:r);return o===r?n.delete(e):n.set(e,o),De(e,(n.has(e)?n.get(e):r)??!1,`image`),n}):D(t=>{let n=_e(t,e,y);return De(e,(n.has(e)?n.get(e):y.has(e))??!1,`coding`),n})},De=async(e,t,n=`coding`)=>{if(i)try{n===`image`?(t?(await ee(i.slug,e),H(t=>new Set([...t,e]))):(await T(i.slug,e),H(t=>{let n=new Set(t);return n.delete(e),n})),K(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await ne(i.slug,e),b(t=>new Set([...t,e]))):(await E(i.slug,e),b(t=>{let n=new Set(t);return n.delete(e),n})),D(t=>{let n=new Map(t);return n.delete(e),n})),r({type:u.ConfigUpdated}),F(`Model preferences saved successfully`),setTimeout(()=>F(``),3e3)}catch(e){F(e instanceof Error?e.message:`Failed to save model changes`)}};async function Oe(e,t=`coding`){let n=t===`image`?z:_,r=t===`image`?V:y;(t===`image`?K:D)(t=>{let i=new Map(t);for(let t of n)r.has(t.id)===e?i.delete(t.id):i.set(t.id,e);return i});for(let i of n)r.has(i.id)!==e&&await De(i.id,e,t)}let ke=s!==void 0&&s.trim().length>0;return{selectedProvider:i,error:h,balance:p,displayApiKey:s,showApiKey:ue,setShowApiKey:N,providerEnvValues:J,modelsLoading:l,modelsError:I,saveStatus:P,modelTab:L,setModelTab:R,modelSearchQuery:ce,setModelSearchQuery:O,modelSortBy:A,setModelSortBy:le,modelFilter:j,setModelFilter:M,availableModels:_,enabledModelIds:y,pendingChanges:C,filteredAndSortedModels:(0,Q.useMemo)(()=>G({models:_,query:k,sortBy:A,getDisplayName:X,freeOnly:j===`free`,groupByProvider:!0,getPriority:e=>+!x.has(e.id)}),[_,k,j,x,A,X]),availableImageModels:z,enabledImageModelIds:V,pendingImageChanges:W,filteredAndSortedImageModels:(0,Q.useMemo)(()=>G({models:z,query:k,sortBy:A===`coding-index`||A===`intelligence-by-price`?`alphabetical`:A,getDisplayName:X,freeOnly:j===`free`,groupByProvider:!0,getPriority:e=>+!he.has(e.id)}),[z,k,j,he,A,X]),hasApiKey:ke,getModelDisplayName:X,handleUpdateKeyLocal:Ce,handleUpdateProviderEnv:we,refreshLocalProviderModels:Se,handleToggleModel:Ee,handleToggleAllModels:Oe}}function Ce(e){let t=(0,Z.c)(7),{provider:n,onBack:r}=e;if(!r&&!n.url)return null;let i;t[0]===n.url?i=t[1]:(i=n.url?(0,$.jsx)(V,{url:n.url,className:S(l.compact,`p-3`)}):null,t[0]=n.url,t[1]=i);let a;t[2]===r?a=t[3]:(a=r?(0,$.jsxs)(C,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:r,children:[(0,$.jsx)(y,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close provider details`})]}):null,t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function we(e){let t=(0,Z.c)(6),{balance:n}=e;if(n===null)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=S(l.compact,`inline-flex shrink-0 items-center gap-1.5 font-medium`),i=(0,$.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full bg-green-500`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=b(n),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=o),o}function Te(e){let t=(0,Z.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=S(l.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(O,{children:r}),t[3]=r,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsx)(k,{children:(0,$.jsxs)(A,{children:[a,o]})}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function Ee(e){let t=(0,Z.c)(10),{provider:n,displayApiKey:r,showApiKey:i,onToggleShowApiKey:a,onUpdateKey:s,providerEnvValues:c,onUpdateEnv:l,modelsLoading:u,onRefreshModels:d}=e,h;return t[0]!==r||t[1]!==u||t[2]!==d||t[3]!==a||t[4]!==l||t[5]!==s||t[6]!==n||t[7]!==c||t[8]!==i?(h=(0,$.jsx)($.Fragment,{children:n.authType===`APIKey`?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(F,{children:[(0,$.jsx)(z,{label:(0,$.jsx)(Te,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(m,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(I,{type:i?`text`:`password`,placeholder:n.keyName||`Enter API Key`,className:`pl-10 pr-10`,value:r,onChange:e=>{s(n.name,e.target.value)}}),(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:a,disabled:!r,children:i?(0,$.jsx)(v,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(g,{className:`h-4 w-4 text-muted-foreground`})})]})}),N(n).map(e=>(0,$.jsx)(z,{label:(0,$.jsx)(Te,{title:me(e),tooltip:e}),control:o(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(I,{id:e,value:c[e]??``,onChange:t=>l(e,t.target.value),placeholder:n.api,className:`pr-10`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(k,{children:(0,$.jsxs)(A,{children:[(0,$.jsx)(ce,{asChild:!0,children:(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:()=>{d(n.slug)},disabled:u,children:u?(0,$.jsx)(p,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(f,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(O,{children:`Refresh models`})]})})]}):(0,$.jsx)(I,{id:e,value:c[e]??``,onChange:t=>l(e,t.target.value),placeholder:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`})},e))]})}):(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(R,{className:`mb-0`,children:`This provider uses OAuth for authentication.`}),(0,$.jsxs)(C,{variant:`outline`,size:`sm`,disabled:!0,children:[`Sign in with `,n.name]})]})}),t[0]=r,t[1]=u,t[2]=d,t[3]=a,t[4]=l,t[5]=s,t[6]=n,t[7]=c,t[8]=i,t[9]=h):h=t[9],h}function De(e){let t=(0,Z.c)(22),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:o,showStarRating:s,onToggle:c}=e,u=r.pricing,d=n===`image`?`image-${r.id}`:r.id,f=r.id,p=!o&&`opacity-25`,m;t[0]===p?m=t[1]:(m=S(`flex cursor-default items-center space-x-3 p-3 transition-colors hover:bg-muted/30`,p),t[0]=p,t[1]=m);let h=!o,g=a??!1,_;t[2]!==r.id||t[3]!==c?(_=()=>c(r.id),t[2]=r.id,t[3]=c,t[4]=_):_=t[4];let v;t[5]!==d||t[6]!==h||t[7]!==g||t[8]!==_?(v=(0,$.jsx)(he,{id:d,disabled:h,checked:g,onCheckedChange:_,className:`mt-0`}),t[5]=d,t[6]=h,t[7]=g,t[8]=_,t[9]=v):v=t[9];let y;t[10]!==d||t[11]!==i||t[12]!==r.coding_index||t[13]!==u||t[14]!==s||t[15]!==n?(y=n===`coding`?(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:d,className:S(l.body,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),children:i})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[s&&(0,$.jsx)(Y,{codingIndex:r.coding_index,modelName:i}),u&&(0,$.jsx)(`span`,{className:S(l.caption,`whitespace-nowrap`),children:(u.prompt??0)===0&&(u.completion??0)===0?``:`$${b(u.prompt??0)} in | $${b(u.completion??0)} out`})]})]}):(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:d,className:S(l.label,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),children:i})}),u&&(0,$.jsx)(`span`,{className:S(l.caption,`whitespace-nowrap flex-shrink-0`),children:(u.prompt??0)===0&&(u.completion??0)===0?``:`$${b(u.prompt??0)} in | $${b(u.completion??0)} out`})]}),t[10]=d,t[11]=i,t[12]=r.coding_index,t[13]=u,t[14]=s,t[15]=n,t[16]=y):y=t[16];let x;return t[17]!==r.id||t[18]!==m||t[19]!==v||t[20]!==y?(x=(0,$.jsxs)(`div`,{className:m,children:[v,y]},f),t[17]=r.id,t[18]=m,t[19]=v,t[20]=y,t[21]=x):x=t[21],x}function Oe(e){let t=(0,Z.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:o,hasApiKey:s,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:m,onToggleModel:h}=e,g=n===`coding`,_=g?o?`No models loaded.`:`No models available for this provider.`:`No image models available for this provider.`,v;return t[0]!==_||t[1]!==u||t[2]!==i||t[3]!==m||t[4]!==s||t[5]!==g||t[6]!==f||t[7]!==r||t[8]!==a||t[9]!==h||t[10]!==d||t[11]!==n?(v=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:a?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(p,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):r.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:l.bodyMuted,children:_})}):(0,$.jsx)(k,{children:(0,$.jsx)(`div`,{className:S(`grid grid-cols-1 gap-0`,c.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:l.bodyMuted,children:`No models matching your filters.`})}):i.map(e=>{let t=u.has(e.id),r=d.has(e.id),i=d.get(e.id),a=(r?i:t)??!1;return(0,$.jsx)(De,{tab:n,model:e,displayName:m(e),willBeEnabled:a,hasApiKey:s,showStarRating:g&&(f===`coding-index`||f===`intelligence-by-price`),onToggle:e=>h(e,n)},e.id)})})})}),t[0]=_,t[1]=u,t[2]=i,t[3]=m,t[4]=s,t[5]=g,t[6]=f,t[7]=r,t[8]=a,t[9]=h,t[10]=d,t[11]=n,t[12]=v):v=t[12],v}function ke(e){let t=(0,Z.c)(22),{tab:n,showImageTab:r,modelsLoading:i,models:a,hasApiKey:o,enabledModelIds:s,pendingChanges:c,modelSearchQuery:l,onModelSearchQueryChange:u,modelSortBy:d,onModelSortByChange:f,onToggleAllModels:p}=e,m=n===`coding`,h=m?`select-all-models`:`select-all-image-models`,g=!i&&a.length>0,v=g&&!o&&`opacity-25`,y;t[0]===v?y=t[1]:(y=S(`flex flex-col gap-2 md:flex-row md:items-center`,v),t[0]=v,t[1]=y);let b;t[2]===r?b=t[3]:(b=r?(0,$.jsxs)(B,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(U,{value:`coding`,children:`Coding`}),(0,$.jsx)(U,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=b);let x;t[4]!==s||t[5]!==o||t[6]!==m||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==p||t[13]!==c||t[14]!==h||t[15]!==g||t[16]!==n?(x=g?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(_,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(I,{placeholder:`Search`,className:`pl-10 h-8`,value:l,onChange:e=>u(e.target.value),disabled:!o})]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 self-end md:ml-auto md:self-auto`,children:[(0,$.jsx)(X,{id:h,disabled:!o,checked:a.every(e=>{let t=c.has(e.id),n=c.get(e.id);return t?n:s.has(e.id)}),onChange:e=>{p(e,n)}}),(0,$.jsx)(J,{sortBy:d,showCodingIndex:m,showIntelligenceByPrice:m,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=m,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=p,t[13]=c,t[14]=h,t[15]=g,t[16]=n,t[17]=x):x=t[17];let C;return t[18]!==y||t[19]!==b||t[20]!==x?(C=(0,$.jsxs)(`div`,{className:y,children:[b,x]}),t[18]=y,t[19]=b,t[20]=x,t[21]=C):C=t[21],C}function Ae(e){let t=(0,Z.c)(10),{title:n,description:r,action:i,tableHeader:a,children:o}=e,s;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n?(s=(0,$.jsx)(H,{title:n,description:r,action:i,sticky:!1,tableHeader:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`div`,{className:`px-6 pb-6`,children:o}),t[5]=o,t[6]=c);let l;return t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(ue,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function je(e){let t=(0,Z.c)(111),{selectedProviderName:n,selectedProviderSlug:r,providerData:i,onBack:a,className:o}=e,s=n===void 0?null:n,c=r===void 0?null:r,l;t[0]!==i||t[1]!==s||t[2]!==c?(l={selectedProviderName:s,selectedProviderSlug:c,providerData:i},t[0]=i,t[1]=s,t[2]=c,t[3]=l):l=t[3];let{selectedProvider:u,error:d,balance:f,displayApiKey:p,showApiKey:m,setShowApiKey:g,providerEnvValues:_,modelsLoading:v,modelsError:y,saveStatus:b,modelTab:x,setModelTab:ee,modelSearchQuery:te,setModelSearchQuery:w,modelSortBy:T,setModelSortBy:E,availableModels:ne,enabledModelIds:re,pendingChanges:ie,filteredAndSortedModels:ae,availableImageModels:D,enabledImageModelIds:oe,pendingImageChanges:se,filteredAndSortedImageModels:ce,hasApiKey:O,getModelDisplayName:k,handleUpdateKeyLocal:A,handleUpdateProviderEnv:le,refreshLocalProviderModels:j,handleToggleModel:M,handleToggleAllModels:ue}=Se(l);if(d){let e;t[4]===o?e=t[5]:(e=S(`flex h-full min-h-0 flex-col items-center justify-center gap-4 p-6`,o),t[4]=o,t[5]=e);let n;t[6]===d?n=t[7]:(n=(0,$.jsx)(R,{variant:`error`,className:`mb-0`,children:d}),t[6]=d,t[7]=n);let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:Me,children:`Retry`}),t[8]=r):r=t[8];let i;return t[9]!==e||t[10]!==n?(i=(0,$.jsxs)(`div`,{className:e,children:[n,r]}),t[9]=e,t[10]=n,t[11]=i):i=t[11],i}if(!u){let e;t[12]===o?e=t[13]:(e=S(`flex h-full min-h-0 items-center justify-center`,o),t[12]=o,t[13]=e);let n=s||c?`Provider not found`:`Select a Provider`,r;t[14]===a?r=t[15]:(r=a?(0,$.jsxs)(C,{variant:`outline`,size:`sm`,onClick:a,children:[(0,$.jsx)(h,{className:`h-4 w-4 mr-1`}),`Back to Providers`]}):void 0,t[14]=a,t[15]=r);let i=a?`This provider could not be found.`:`Choose a provider from the list to configure its settings.`,l;t[16]!==n||t[17]!==r||t[18]!==i?(l=(0,$.jsx)(fe,{title:n,action:r,children:i}),t[16]=n,t[17]=r,t[18]=i,t[19]=l):l=t[19];let u;return t[20]!==e||t[21]!==l?(u=(0,$.jsx)(`div`,{className:e,children:l}),t[20]=e,t[21]=l,t[22]=u):u=t[22],u}let N;t[23]===o?N=t[24]:(N=S(`h-full min-h-0`,o),t[23]=o,t[24]=N);let P;t[25]!==a||t[26]!==u?(P=(0,$.jsx)(Ce,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=P):P=t[27];let F;t[28]!==g||t[29]!==m?(F=()=>g(!m),t[28]=g,t[29]=m,t[30]=F):F=t[30];let I;t[31]!==p||t[32]!==A||t[33]!==le||t[34]!==v||t[35]!==_||t[36]!==j||t[37]!==u||t[38]!==m||t[39]!==F?(I=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(Ee,{provider:u,displayApiKey:p,showApiKey:m,onToggleShowApiKey:F,onUpdateKey:A,providerEnvValues:_,onUpdateEnv:le,modelsLoading:v,onRefreshModels:j})}),t[31]=p,t[32]=A,t[33]=le,t[34]=v,t[35]=_,t[36]=j,t[37]=u,t[38]=m,t[39]=F,t[40]=I):I=t[40];let L;t[41]!==u.name||t[42]!==P||t[43]!==I?(L=(0,$.jsx)(Ae,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:P,children:I}),t[41]=u.name,t[42]=P,t[43]=I,t[44]=L):L=t[44];let z;t[45]!==w||t[46]!==E||t[47]!==ee?(z=e=>{ee(e),w(``),E(`alphabetical`)},t[45]=w,t[46]=E,t[47]=ee,t[48]=z):z=t[48];let B;t[49]===f?B=t[50]:(B=(0,$.jsx)(we,{balance:f}),t[49]=f,t[50]=B);let me;t[51]===u.name?me=t[52]:(me=u.name.toLowerCase(),t[51]=u.name,t[52]=me);let V=me===`openrouter`,H=x===`coding`?ne:D,he=x===`coding`?re:oe,ge=x===`coding`?ie:se,U;t[53]!==ue||t[54]!==O||t[55]!==te||t[56]!==T||t[57]!==x||t[58]!==v||t[59]!==w||t[60]!==E||t[61]!==V||t[62]!==H||t[63]!==he||t[64]!==ge?(U=(0,$.jsx)(ke,{tab:x,showImageTab:V,modelsLoading:v,models:H,hasApiKey:O,enabledModelIds:he,pendingChanges:ge,modelSearchQuery:te,onModelSearchQueryChange:w,modelSortBy:T,onModelSortByChange:E,onToggleAllModels:ue}),t[53]=ue,t[54]=O,t[55]=te,t[56]=T,t[57]=x,t[58]=v,t[59]=w,t[60]=E,t[61]=V,t[62]=H,t[63]=he,t[64]=ge,t[65]=U):U=t[65];let W;t[66]===y?W=t[67]:(W=y?(0,$.jsx)(R,{variant:`error`,className:`mb-4`,children:y}):null,t[66]=y,t[67]=W);let G;t[68]!==ne||t[69]!==re||t[70]!==ae||t[71]!==k||t[72]!==M||t[73]!==O||t[74]!==T||t[75]!==y||t[76]!==v||t[77]!==ie||t[78]!==u?(G=(0,$.jsx)(pe,{value:`coding`,children:(0,$.jsx)(Oe,{tab:`coding`,provider:u,models:ne,filteredModels:ae,modelsLoading:v,modelsError:y,hasApiKey:O,enabledModelIds:re,pendingChanges:ie,modelSortBy:T,getModelDisplayName:k,onToggleModel:M})}),t[68]=ne,t[69]=re,t[70]=ae,t[71]=k,t[72]=M,t[73]=O,t[74]=T,t[75]=y,t[76]=v,t[77]=ie,t[78]=u,t[79]=G):G=t[79];let _e;t[80]!==D||t[81]!==oe||t[82]!==ce||t[83]!==k||t[84]!==M||t[85]!==O||t[86]!==T||t[87]!==y||t[88]!==v||t[89]!==se||t[90]!==u?(_e=(0,$.jsx)(pe,{value:`image`,children:(0,$.jsx)(Oe,{tab:`image`,provider:u,models:D,filteredModels:ce,modelsLoading:v,modelsError:y,hasApiKey:O,enabledModelIds:oe,pendingChanges:se,modelSortBy:T,getModelDisplayName:k,onToggleModel:M})}),t[80]=D,t[81]=oe,t[82]=ce,t[83]=k,t[84]=M,t[85]=O,t[86]=T,t[87]=y,t[88]=v,t[89]=se,t[90]=u,t[91]=_e):_e=t[91];let K;t[92]===b?K=t[93]:(K=b?(0,$.jsx)(R,{variant:b.includes(`error`)||b.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:b}):null,t[92]=b,t[93]=K);let q;t[94]!==B||t[95]!==U||t[96]!==W||t[97]!==G||t[98]!==_e||t[99]!==K?(q=(0,$.jsxs)(Ae,{title:`Models`,description:`Enable coding and image models for this provider.`,action:B,tableHeader:U,children:[W,G,_e,K]}),t[94]=B,t[95]=U,t[96]=W,t[97]=G,t[98]=_e,t[99]=K,t[100]=q):q=t[100];let J;t[101]!==x||t[102]!==q||t[103]!==z?(J=(0,$.jsx)(de,{value:x,onValueChange:z,children:q}),t[101]=x,t[102]=q,t[103]=z,t[104]=J):J=t[104];let Y;t[105]!==J||t[106]!==L?(Y=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[L,J]})}),t[105]=J,t[106]=L,t[107]=Y):Y=t[107];let X;return t[108]!==Y||t[109]!==N?(X=(0,$.jsx)(`div`,{className:N,children:Y}),t[108]=Y,t[109]=N,t[110]=X):X=t[110],X}function Me(){return window.location.reload()}function Ne(e){return`providers:list:${e}`}async function Pe(){let[e,t]=await Promise.all([ae(),D().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var Fe=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Ie=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Le(e){let t=(0,Z.c)(9),{title:n,description:r,action:i,children:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,$.jsx)(H,{title:n,description:r,action:i,sticky:!1}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=(0,$.jsx)(L,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(ue,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Re(e){let t=(0,Z.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:o}=q(),s;t[0]===n?s=t[1]:(s=Ne(n),t[0]=n,t[1]=s);let{providers:c,enabledModelCounts:u}=M(s,Pe),d;if(t[2]!==o||t[3]!==u||t[4]!==c){let e;t[6]===o?e=t[7]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=o,t[7]=e);let n;t[8]===u?n=t[9]:(n=(e,t)=>{let n=(u[e.slug]??0)>0,r=(u[t.slug]??0)>0;return n&&!r?-1:!n&&r?1:e.name.localeCompare(t.name)},t[8]=u,t[9]=n),d=c.filter(Ve).filter(e).sort(n),t[2]=o,t[3]=u,t[4]=c,t[5]=d}else d=t[5];let f=d,p;if(t[10]!==o||t[11]!==c){let e;t[13]===o?e=t[14]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=o,t[14]=e),p=c.filter(Be).filter(e).sort(ze),t[10]=o,t[11]=c,t[12]=p}else p=t[12];let m=p,h;t[15]!==i||t[16]!==a?(h=(0,$.jsx)(K,{placeholder:`Search`,value:i,onChange:a,className:`mb-0 w-64`}),t[15]=i,t[16]=a,t[17]=h):h=t[17];let g;t[18]!==f||t[19]!==u||t[20]!==r||t[21]!==i?(g=f.length===0?(0,$.jsx)(`p`,{className:S(l.bodyMuted,`py-4`),children:i?`No connected providers match your search.`:`No providers connected yet. Add an API key to get started.`}):(0,$.jsx)(`div`,{className:Ie,children:f.map(e=>(0,$.jsx)(Je,{provider:e,modelCount:u[e.slug]??0,onClick:r},e.name))}),t[18]=f,t[19]=u,t[20]=r,t[21]=i,t[22]=g):g=t[22];let _;t[23]!==h||t[24]!==g?(_=(0,$.jsx)(Le,{title:`Connected Providers`,description:`Providers you've connected with an API key or environment variable.`,action:h,children:g}),t[23]=h,t[24]=g,t[25]=_):_=t[25];let v;t[26]!==m||t[27]!==r||t[28]!==i?(v=(0,$.jsx)(Le,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:m.length===0?(0,$.jsx)(`p`,{className:S(l.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Ie,children:m.map(e=>(0,$.jsx)(Ye,{provider:e,onClick:r},e.name))})}),t[26]=m,t[27]=r,t[28]=i,t[29]=v):v=t[29];let y;return t[30]!==_||t[31]!==v?(y=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[_,v]})}),t[30]=_,t[31]=v,t[32]=y):y=t[32],y}function ze(e,t){return e.name.localeCompare(t.name)}function Be(e){return!e.apiKey}function Ve(e){return e.apiKey}function He(){let e=(0,Z.c)(21),t=a(),{providerSlug:n}=i(),[r,o]=(0,Q.useState)(0),s=(0,Q.useRef)(n),c,l;e[0]!==r||e[1]!==n?(c=()=>{s.current&&!n&&(j(Ne(r)),o(Ke)),s.current=n},l=[n,r],e[0]=r,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,Q.useEffect)(c,l);let u;e[4]===t?u=e[5]:(u=e=>{t(`/settings/providers/${encodeURIComponent(e.slug)}`)},e[4]=t,e[5]=u);let d=u,f;e[6]!==r||e[7]!==t?(f=()=>{t(`/settings/providers`),j(Ne(r)),o(Ge)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){j(Ne(r)),o(We)},e[9]=r,e[10]=m);let h=m;if(n){let t=decodeURIComponent(n),r;return e[11]!==p||e[12]!==t?(r=(0,$.jsx)(je,{selectedProviderSlug:t,onBack:p}),e[11]=p,e[12]=t,e[13]=r):r=e[13],r}let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(le,{label:`Loading providers...`,size:`lg`}),e[14]=g):g=e[14];let _;e[15]!==d||e[16]!==r?(_=(0,$.jsx)(Q.Suspense,{fallback:g,children:(0,$.jsx)(Re,{loadVersion:r,onProviderClick:d},r)}),e[15]=d,e[16]=r,e[17]=_):_=e[17];let v;return e[18]!==h||e[19]!==_?(v=(0,$.jsx)(`div`,{className:`h-full min-h-0`,children:(0,$.jsx)(W,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:Ue,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function Ue(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(ue,{className:`shrink-0`,children:[(0,$.jsx)(H,{title:`Providers`,description:`Manage your AI provider connections and API keys.`,sticky:!1}),(0,$.jsx)(`div`,{className:`flex items-center justify-center px-6 pb-6 pt-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(R,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function We(e){return e+1}function Ge(e){return e+1}function Ke(e){return e+1}function qe(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function Je(e){let t=(0,Z.c)(25),{provider:n,modelCount:r,onClick:i}=e,a;t[0]!==i||t[1]!==n?(a=function(){i(n)},t[0]=i,t[1]=n,t[2]=a):a=t[2];let o=a,s;t[3]===o?s=t[4]:(s=e=>qe(e,o),t[3]=o,t[4]=s);let c;t[5]===n?c=t[6]:(c=(0,$.jsx)(P,{provider:n}),t[5]=n,t[6]=c);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=S(l.label,`truncate leading-normal`),t[7]=u):u=t[7];let d;t[8]===n.name?d=t[9]:(d=(0,$.jsx)(`span`,{className:u,children:n.name}),t[8]=n.name,t[9]=d);let f;t[10]!==c||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[c,d]}),t[10]=c,t[11]=d,t[12]=f):f=t[12];let p;t[13]===n.isEnv?p=t[14]:(p=n.isEnv?(0,$.jsx)(ye,{variant:`secondary`,className:S(l.compact,`px-2 py-0.5`),children:`Environment`}):(0,$.jsx)(ye,{variant:`secondary`,className:S(l.compact,`px-2 py-0.5`),children:`API Key`}),t[13]=n.isEnv,t[14]=p);let m;t[15]===r?m=t[16]:(m=r>0&&(0,$.jsxs)(ye,{variant:`default`,className:S(l.compact,`px-2 py-0.5`),children:[r,` `,r===1?`Model`:`Models`]}),t[15]=r,t[16]=m);let h;t[17]!==p||t[18]!==m?(h=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1.5`,children:[p,m]}),t[17]=p,t[18]=m,t[19]=h):h=t[19];let g;return t[20]!==o||t[21]!==s||t[22]!==f||t[23]!==h?(g=(0,$.jsxs)(`div`,{className:Fe,role:`button`,tabIndex:0,onClick:o,onKeyDown:s,children:[f,h]}),t[20]=o,t[21]=s,t[22]=f,t[23]=h,t[24]=g):g=t[24],g}function Ye(e){let t=(0,Z.c)(18),{provider:n,onClick:r}=e,i;t[0]!==r||t[1]!==n?(i=function(){r(n)},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;t[3]===a?o=t[4]:(o=e=>qe(e,a),t[3]=a,t[4]=o);let s;t[5]===n?s=t[6]:(s=(0,$.jsx)(P,{provider:n}),t[5]=n,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=S(l.label,`truncate leading-normal`),t[7]=c):c=t[7];let u;t[8]===n.name?u=t[9]:(u=(0,$.jsx)(`span`,{className:c,children:n.name}),t[8]=n.name,t[9]=u);let d;t[10]!==s||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[s,u]}),t[10]=s,t[11]=u,t[12]=d):d=t[12];let f;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:S(l.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[13]=f):f=t[13];let p;return t[14]!==a||t[15]!==o||t[16]!==d?(p=(0,$.jsxs)(`div`,{className:Fe,role:`button`,tabIndex:0,onClick:a,onKeyDown:o,children:[d,f]}),t[14]=a,t[15]=o,t[16]=d,t[17]=p):p=t[17],p}export{He as ProvidersListView,He as default};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as ee}from"./dist-BWuYHVi8.js";import{I as te}from"./dist-DIjomljy.js";import{t as n}from"./button-DeNw35VZ.js";import{i as r,n as i,r as a,t as o}from"./tooltip-B6ziVyTv.js";import{a as s,i as ne,o as re,r as ie,s as c,t as l}from"./dialog-Do98zzAW.js";import{Ft as u,Pt as d,Y as f,un as p,vt as ae}from"./index-DjaVbFDB.js";var oe=e(),m=t();function h(e){let t=(0,oe.c)(58),{open:h,onOpenChange:g,prTitle:_,onPrTitleChange:v,prDescription:y,onPrDescriptionChange:b,isGeneratingPRInfo:x,isLoading:S,onGeneratePRInfo:C,onCreatePR:w,currentBranch:T,createWorkspaceAfterPR:E,onCreateWorkspaceAfterPRChange:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(c,{children:`Create Pull Request`}),t[0]=O):O=t[0];let k;t[1]===T?k=t[2]:(k=(0,m.jsxs)(re,{children:[O,(0,m.jsxs)(ne,{children:[`Create a pull request for branch `,T]})]}),t[1]=T,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,m.jsx)(d,{htmlFor:`pr-title`,children:`Title`}),t[3]=A):A=t[3];let j=T||`Enter PR title...`,M;t[4]===v?M=t[5]:(M=e=>v(e.target.value),t[4]=v,t[5]=M);let N;t[6]!==x||t[7]!==_||t[8]!==j||t[9]!==M?(N=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[A,(0,m.jsx)(u,{id:`pr-title`,placeholder:j,value:_,onChange:M,disabled:x})]}),t[6]=x,t[7]=_,t[8]=j,t[9]=M,t[10]=N):N=t[10];let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,m.jsx)(d,{htmlFor:`pr-description`,children:`Description`}),t[11]=P):P=t[11];let F;t[12]===b?F=t[13]:(F=e=>b(e.target.value),t[12]=b,t[13]=F);let I;t[14]!==x||t[15]!==y||t[16]!==F?(I=(0,m.jsx)(f,{id:`pr-description`,placeholder:`Enter PR description...`,value:y,onChange:F,disabled:x,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[14]=x,t[15]=y,t[16]=F,t[17]=I):I=t[17];let L=x||S,R;t[18]===x?R=t[19]:(R=x?(0,m.jsx)(p,{}):(0,m.jsx)(te,{className:`h-3.5 w-3.5`}),t[18]=x,t[19]=R);let z;t[20]!==C||t[21]!==L||t[22]!==R?(z=(0,m.jsx)(r,{asChild:!0,children:(0,m.jsx)(n,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:C,disabled:L,children:R})}),t[20]=C,t[21]=L,t[22]=R,t[23]=z):z=t[23];let B=x?`Generating PR description...`:`Generate PR title and description with AI`,V;t[24]===B?V=t[25]:(V=(0,m.jsx)(i,{children:B}),t[24]=B,t[25]=V);let H;t[26]!==z||t[27]!==V?(H=(0,m.jsx)(a,{children:(0,m.jsxs)(o,{children:[z,V]})}),t[26]=z,t[27]=V,t[28]=H):H=t[28];let U;t[29]!==H||t[30]!==I?(U=(0,m.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,m.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]}),t[29]=H,t[30]=I,t[31]=U):U=t[31];let W;t[32]!==U||t[33]!==N?(W=(0,m.jsxs)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:[N,U]}),t[32]=U,t[33]=N,t[34]=W):W=t[34];let G;t[35]!==E||t[36]!==D?(G=(0,m.jsx)(ae,{value:E,onChange:D,ariaLabel:`Also create new workspace`}),t[35]=E,t[36]=D,t[37]=G):G=t[37];let K;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,m.jsx)(d,{className:ee.labelNormal,children:`Also create new workspace`}),t[38]=K):K=t[38];let q;t[39]===G?q=t[40]:(q=(0,m.jsxs)(`div`,{className:`mr-auto flex items-center gap-3`,children:[G,K]}),t[39]=G,t[40]=q);let J=S||x,Y;t[41]===S?Y=t[42]:(Y=S?(0,m.jsxs)(m.Fragment,{children:[`Create PR`,(0,m.jsx)(p,{size:`sm`})]}):`Create PR`,t[41]=S,t[42]=Y);let X;t[43]!==w||t[44]!==J||t[45]!==Y?(X=(0,m.jsx)(n,{className:`ml-auto`,onClick:w,disabled:J,children:Y}),t[43]=w,t[44]=J,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==q||t[48]!==X?(Z=(0,m.jsxs)(s,{className:`w-full items-center gap-4`,children:[q,X]}),t[47]=q,t[48]=X,t[49]=Z):Z=t[49];let Q;t[50]!==W||t[51]!==k||t[52]!==Z?(Q=(0,m.jsxs)(ie,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[k,W,Z]}),t[50]=W,t[51]=k,t[52]=Z,t[53]=Q):Q=t[53];let $;return t[54]!==g||t[55]!==h||t[56]!==Q?($=(0,m.jsx)(l,{open:h,onOpenChange:g,children:Q}),t[54]=g,t[55]=h,t[56]=Q,t[57]=$):$=t[57],$}export{h as PullRequestDialog};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{at as n}from"./dist-ZlK7I-y-.js";import{E as r,Ut as i,pt as a}from"./dist-DIjomljy.js";import{t as o}from"./button-sfGyFWfz.js";import{a as s,i as c,o as l,r as u,s as d,t as f}from"./dialog-CP2cYR59.js";import{On as p}from"./index-Bmkj1Qwa.js";var m=e(),h=t();function g(e){let t=(0,m.c)(27),{open:g,onOpenChange:_,onCommitFirst:v,onStashAndPull:y,onCancel:b,isLoading:x}=e,S=x===void 0?!1:x,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsxs)(l,{children:[(0,h.jsxs)(d,{className:`flex items-center gap-2`,children:[(0,h.jsx)(r,{className:`h-5 w-5 text-amber-500`}),`Uncommitted Changes Detected`]}),(0,h.jsx)(c,{children:`You have uncommitted changes. You need to handle them before pulling from the remote branch.`})]}),t[0]=C):C=t[0];let w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,h.jsx)(`div`,{className:n.bodyMuted,children:`Choose how you want to proceed:`}),t[1]=w):w=t[1];let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,h.jsx)(i,{className:`h-4 w-4 mr-2`}),t[2]=T):T=t[2];let E;t[3]!==S||t[4]!==v?(E=(0,h.jsxs)(o,{onClick:v,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[T,`Commit changes first, then pull`]}),t[3]=S,t[4]=v,t[5]=E):E=t[5];let D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(a,{className:`h-4 w-4 mr-2`}),t[6]=D):D=t[6];let O;t[7]!==S||t[8]!==y?(O=(0,h.jsxs)(o,{onClick:y,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[D,`Stash changes → Pull → Restore changes`]}),t[7]=S,t[8]=y,t[9]=O):O=t[9];let k;t[10]!==E||t[11]!==O?(k=(0,h.jsxs)(`div`,{className:`space-y-2`,children:[E,O]}),t[10]=E,t[11]=O,t[12]=k):k=t[12];let A;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,h.jsx)(`strong`,{children:`Commit first:`}),t[13]=A):A=t[13];let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsxs)(p,{variant:`hint`,className:`mt-4 mb-0`,children:[A,` Safe option, preserves changes in your commit history.`,(0,h.jsx)(`br`,{}),(0,h.jsx)(`strong`,{children:`Stash and pull:`}),` Temporary option, changes will be restored after pulling.`]}),t[14]=j):j=t[14];let M;t[15]===k?M=t[16]:(M=(0,h.jsx)(`div`,{className:`py-4`,children:(0,h.jsxs)(`div`,{className:`space-y-3`,children:[w,k,j]})}),t[15]=k,t[16]=M);let N;t[17]!==S||t[18]!==b?(N=(0,h.jsx)(s,{children:(0,h.jsx)(o,{variant:`ghost`,onClick:b,disabled:S,children:`Cancel`})}),t[17]=S,t[18]=b,t[19]=N):N=t[19];let P;t[20]!==M||t[21]!==N?(P=(0,h.jsxs)(u,{className:`sm:max-w-[425px]`,children:[C,M,N]}),t[20]=M,t[21]=N,t[22]=P):P=t[22];let F;return t[23]!==_||t[24]!==g||t[25]!==P?(F=(0,h.jsx)(f,{open:g,onOpenChange:_,children:P}),t[23]=_,t[24]=g,t[25]=P,t[26]=F):F=t[26],F}export{g as PullWithChangesDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{ot as n}from"./dist-BWuYHVi8.js";import{E as r,Ut as i,pt as a}from"./dist-DIjomljy.js";import{t as o}from"./button-DeNw35VZ.js";import{a as s,i as c,o as l,r as u,s as d,t as f}from"./dialog-Do98zzAW.js";import{On as p}from"./index-DjaVbFDB.js";var m=e(),h=t();function g(e){let t=(0,m.c)(27),{open:g,onOpenChange:_,onCommitFirst:v,onStashAndPull:y,onCancel:b,isLoading:x}=e,S=x===void 0?!1:x,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsxs)(l,{children:[(0,h.jsxs)(d,{className:`flex items-center gap-2`,children:[(0,h.jsx)(r,{className:`h-5 w-5 text-amber-500`}),`Uncommitted Changes Detected`]}),(0,h.jsx)(c,{children:`You have uncommitted changes. You need to handle them before pulling from the remote branch.`})]}),t[0]=C):C=t[0];let w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,h.jsx)(`div`,{className:n.bodyMuted,children:`Choose how you want to proceed:`}),t[1]=w):w=t[1];let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,h.jsx)(i,{className:`h-4 w-4 mr-2`}),t[2]=T):T=t[2];let E;t[3]!==S||t[4]!==v?(E=(0,h.jsxs)(o,{onClick:v,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[T,`Commit changes first, then pull`]}),t[3]=S,t[4]=v,t[5]=E):E=t[5];let D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(a,{className:`h-4 w-4 mr-2`}),t[6]=D):D=t[6];let O;t[7]!==S||t[8]!==y?(O=(0,h.jsxs)(o,{onClick:y,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[D,`Stash changes → Pull → Restore changes`]}),t[7]=S,t[8]=y,t[9]=O):O=t[9];let k;t[10]!==E||t[11]!==O?(k=(0,h.jsxs)(`div`,{className:`space-y-2`,children:[E,O]}),t[10]=E,t[11]=O,t[12]=k):k=t[12];let A;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,h.jsx)(`strong`,{children:`Commit first:`}),t[13]=A):A=t[13];let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsxs)(p,{variant:`hint`,className:`mt-4 mb-0`,children:[A,` Safe option, preserves changes in your commit history.`,(0,h.jsx)(`br`,{}),(0,h.jsx)(`strong`,{children:`Stash and pull:`}),` Temporary option, changes will be restored after pulling.`]}),t[14]=j):j=t[14];let M;t[15]===k?M=t[16]:(M=(0,h.jsx)(`div`,{className:`py-4`,children:(0,h.jsxs)(`div`,{className:`space-y-3`,children:[w,k,j]})}),t[15]=k,t[16]=M);let N;t[17]!==S||t[18]!==b?(N=(0,h.jsx)(s,{children:(0,h.jsx)(o,{variant:`ghost`,onClick:b,disabled:S,children:`Cancel`})}),t[17]=S,t[18]=b,t[19]=N):N=t[19];let P;t[20]!==M||t[21]!==N?(P=(0,h.jsxs)(u,{className:`sm:max-w-[425px]`,children:[C,M,N]}),t[20]=M,t[21]=N,t[22]=P):P=t[22];let F;return t[23]!==_||t[24]!==g||t[25]!==P?(F=(0,h.jsx)(f,{open:g,onOpenChange:_,children:P}),t[23]=_,t[24]=g,t[25]=P,t[26]=F):F=t[26],F}export{g as PullWithChangesDialog};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-sfGyFWfz.js";import{a as r,i,o as a,r as o,s,t as c}from"./dialog-CP2cYR59.js";var l=e(),u=t();function d(e){let t=(0,l.c)(15),{open:d,onOpenChange:f,isLoading:p,onPushAndCreatePR:m,onCancel:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,u.jsxs)(a,{children:[(0,u.jsx)(s,{children:`Push Branch First`}),(0,u.jsx)(i,{children:`Your branch needs to be pushed to the remote before creating a pull request. Would you like to push it now?`})]}),t[0]=g):g=t[0];let _;t[1]!==p||t[2]!==h?(_=(0,u.jsx)(n,{variant:`outline`,onClick:h,disabled:p,children:`Cancel`}),t[1]=p,t[2]=h,t[3]=_):_=t[3];let v=p?`Pushing...`:`Push & Create PR`,y;t[4]!==p||t[5]!==m||t[6]!==v?(y=(0,u.jsx)(n,{onClick:m,disabled:p,children:v}),t[4]=p,t[5]=m,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==_||t[9]!==y?(b=(0,u.jsxs)(o,{children:[g,(0,u.jsxs)(r,{children:[_,y]})]}),t[8]=_,t[9]=y,t[10]=b):b=t[10];let x;return t[11]!==f||t[12]!==d||t[13]!==b?(x=(0,u.jsx)(c,{open:d,onOpenChange:f,children:b}),t[11]=f,t[12]=d,t[13]=b,t[14]=x):x=t[14],x}export{d as PushBeforePRDialog};
1
+ import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-DeNw35VZ.js";import{a as r,i,o as a,r as o,s,t as c}from"./dialog-Do98zzAW.js";var l=e(),u=t();function d(e){let t=(0,l.c)(15),{open:d,onOpenChange:f,isLoading:p,onPushAndCreatePR:m,onCancel:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,u.jsxs)(a,{children:[(0,u.jsx)(s,{children:`Push Branch First`}),(0,u.jsx)(i,{children:`Your branch needs to be pushed to the remote before creating a pull request. Would you like to push it now?`})]}),t[0]=g):g=t[0];let _;t[1]!==p||t[2]!==h?(_=(0,u.jsx)(n,{variant:`outline`,onClick:h,disabled:p,children:`Cancel`}),t[1]=p,t[2]=h,t[3]=_):_=t[3];let v=p?`Pushing...`:`Push & Create PR`,y;t[4]!==p||t[5]!==m||t[6]!==v?(y=(0,u.jsx)(n,{onClick:m,disabled:p,children:v}),t[4]=p,t[5]=m,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==_||t[9]!==y?(b=(0,u.jsxs)(o,{children:[g,(0,u.jsxs)(r,{children:[_,y]})]}),t[8]=_,t[9]=y,t[10]=b):b=t[10];let x;return t[11]!==f||t[12]!==d||t[13]!==b?(x=(0,u.jsx)(c,{open:d,onOpenChange:f,children:b}),t[11]=f,t[12]=d,t[13]=b,t[14]=x):x=t[14],x}export{d as PushBeforePRDialog};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i,x as a}from"./dist-ZlK7I-y-.js";import{An as o,Et as s,M as c,N as l,Nt as u,Sn as d,Tn as f,Vn as p,Z as m,g as h,gt as g,h as _,ht as v,t as y,u as b,wn as x,yn as ee}from"./dist-DIjomljy.js";import{c as S,t as C}from"./utils-CT-Dw22R.js";import{t as w}from"./button-sfGyFWfz.js";import{$ as T,Ln as E,Mr as te,Ni as D,Or as ne,pi as O}from"./api-ODizoHnY.js";import{t as re}from"./dist-mdooLpmq.js";import{i as ie,n as ae,t as oe}from"./tooltip-B6ziVyTv.js";import{t as se}from"./dist-OixawqbU.js";import{i as ce}from"./scroll-area-nbNFO91g.js";import{t as le}from"./dist-CWq9XRXF.js";import{t as ue}from"./use-toast-xpb5jNtN.js";import{t as de}from"./dist-CSssbxDI.js";import{Bn as fe,Dn as k,F as pe,Fn as me,Ft as he,Ln as ge,Nn as _e,P as ve,U as ye,_t as be,gt as xe,kn as Se,n as Ce,r as we,t as Te,vt as Ee}from"./index-Bmkj1Qwa.js";import{n as De,t as Oe}from"./toggle-group-BiUqOiP6.js";import{t as ke}from"./use-settings-page-loading-BTySlInF.js";import{t as Ae}from"./is-macos-client-BIb4ZSEa.js";var je=t(),A=e(n(),1),j=r(),Me=[`PageUp`,`PageDown`],Ne=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Pe={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},M=`Slider`,[N,Fe,Ie]=le(M),[Le,Re]=_(M,[Ie]),[ze,Be]=Le(M),P=A.forwardRef((e,t)=>{let{name:n,min:r=0,max:i=100,step:a=1,orientation:o=`horizontal`,disabled:s=!1,minStepsBetweenThumbs:c=0,defaultValue:l=[r],value:u,onValueChange:d=()=>{},onValueCommit:f=()=>{},inverted:p=!1,form:m,...g}=e,_=A.useRef(new Set),v=A.useRef(0),b=o===`horizontal`?Ve:He,[x=[],ee]=y({prop:u,defaultProp:l,onChange:e=>{[..._.current][v.current]?.focus(),d(e)}}),S=A.useRef(x);function C(e){E(e,et(x,e))}function w(e){E(e,v.current)}function T(){let e=S.current[v.current];x[v.current]!==e&&f(x)}function E(e,t,{commit:n}={commit:!1}){let o=rt(a),s=ce(it(Math.round((e-r)/a)*a+r,o),[r,i]);ee((e=[])=>{let r=Qe(e,s,t);if(tt(r,c*a)){v.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&f(r),t?r:e}else return e})}return(0,j.jsx)(ze,{scope:e.__scopeSlider,name:n,disabled:s,min:r,max:i,valueIndexToChangeRef:v,thumbs:_.current,values:x,orientation:o,form:m,children:(0,j.jsx)(N.Provider,{scope:e.__scopeSlider,children:(0,j.jsx)(N.Slot,{scope:e.__scopeSlider,children:(0,j.jsx)(b,{"aria-disabled":s,"data-disabled":s?``:void 0,...g,ref:t,onPointerDown:h(g.onPointerDown,()=>{s||(S.current=x)}),min:r,max:i,inverted:p,onSlideStart:s?void 0:C,onSlideMove:s?void 0:w,onSlideEnd:s?void 0:T,onHomeKeyDown:()=>!s&&E(r,0,{commit:!0}),onEndKeyDown:()=>!s&&E(i,x.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!s){let n=Me.includes(e.key)||e.shiftKey&&Ne.includes(e.key)?10:1,r=v.current,i=x[r];E(i+a*n*t,r,{commit:!0})}}})})})})});P.displayName=M;var[F,I]=Le(M,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Ve=A.forwardRef((e,t)=>{let{min:n,max:r,dir:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,[d,f]=A.useState(null),p=S(t,e=>f(e)),m=A.useRef(void 0),h=se(i),g=h===`ltr`,_=g&&!a||!g&&a;function v(e){let t=m.current||d.getBoundingClientRect(),i=nt([0,t.width],_?[n,r]:[r,n]);return m.current=t,i(e-t.left)}return(0,j.jsx)(F,{scope:e.__scopeSlider,startEdge:_?`left`:`right`,endEdge:_?`right`:`left`,direction:_?1:-1,size:`width`,children:(0,j.jsx)(Ue,{dir:h,"data-orientation":`horizontal`,...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=v(e.clientX);o?.(t)},onSlideMove:e=>{let t=v(e.clientX);s?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=Pe[_?`from-left`:`from-right`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),He=A.forwardRef((e,t)=>{let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onStepKeyDown:c,...l}=e,u=A.useRef(null),d=S(t,u),f=A.useRef(void 0),p=!i;function m(e){let t=f.current||u.current.getBoundingClientRect(),i=nt([0,t.height],p?[r,n]:[n,r]);return f.current=t,i(e-t.top)}return(0,j.jsx)(F,{scope:e.__scopeSlider,startEdge:p?`bottom`:`top`,endEdge:p?`top`:`bottom`,size:`height`,direction:p?1:-1,children:(0,j.jsx)(Ue,{"data-orientation":`vertical`,...l,ref:d,style:{...l.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=m(e.clientY);a?.(t)},onSlideMove:e=>{let t=m(e.clientY);o?.(t)},onSlideEnd:()=>{f.current=void 0,s?.()},onStepKeyDown:e=>{let t=Pe[p?`from-bottom`:`from-top`].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),Ue=A.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:c,...l}=e,u=Be(M,n);return(0,j.jsx)(b.span,{...l,ref:t,onKeyDown:h(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Me.concat(Ne).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:h(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:h(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:h(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),We=`SliderTrack`,Ge=A.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Be(We,n);return(0,j.jsx)(b.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});Ge.displayName=We;var Ke=`SliderRange`,qe=A.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Be(Ke,n),a=I(Ke,n),o=S(t,A.useRef(null)),s=i.values.length,c=i.values.map(e=>R(e,i.min,i.max)),l=s>1?Math.min(...c):0,u=100-Math.max(...c);return(0,j.jsx)(b.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:o,style:{...e.style,[a.startEdge]:l+`%`,[a.endEdge]:u+`%`}})});qe.displayName=Ke;var Je=`SliderThumb`,Ye=A.forwardRef((e,t)=>{let n=Fe(e.__scopeSlider),[r,i]=A.useState(null),a=S(t,e=>i(e)),o=A.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,j.jsx)(Xe,{...e,ref:a,index:o})}),Xe=A.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:i,...a}=e,o=Be(Je,n),s=I(Je,n),[c,l]=A.useState(null),u=S(t,e=>l(e)),d=c?o.form||!!c.closest(`form`):!0,f=re(c),p=o.values[r],m=p===void 0?0:R(p,o.min,o.max),g=$e(r,o.values.length),_=f?.[s.size],v=_?z(_,m,s.direction):0;return A.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),(0,j.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[s.startEdge]:`calc(${m}% + ${v}px)`},children:[(0,j.jsx)(N.ItemSlot,{scope:e.__scopeSlider,children:(0,j.jsx)(b.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":o.min,"aria-valuenow":p,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?``:void 0,tabIndex:o.disabled?void 0:0,...a,ref:u,style:p===void 0?{display:`none`}:e.style,onFocus:h(e.onFocus,()=>{o.valueIndexToChangeRef.current=r})})}),d&&(0,j.jsx)(L,{name:i??(o.name?o.name+(o.values.length>1?`[]`:``):void 0),form:o.form,value:p},r)]})});Ye.displayName=Je;var Ze=`RadioBubbleInput`,L=A.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let i=A.useRef(null),a=S(i,r),o=de(t);return A.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`input`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,j.jsx)(b.input,{style:{display:`none`},...n,ref:a,defaultValue:t})});L.displayName=Ze;function Qe(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function R(e,t,n){return ce(100/(n-t)*(e-t),[0,100])}function $e(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function et(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function z(e,t,n){let r=e/2;return(r-nt([0,50],[0,r])(t)*n)*n}function B(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function tt(e,t){if(t>0){let n=B(e);return Math.min(...n)>=t}return!0}function nt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function rt(e){return(String(e).split(`.`)[1]||``).length}function it(e,t){let n=10**t;return Math.round(e*n)/n}var at=P,ot=Ge,st=qe,ct=Ye,lt=A.forwardRef((e,t)=>{let n=(0,je.c)(22),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,valueTooltip:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let[o,s]=A.useState(!1),[c,l]=A.useState(!1),u,d;n[4]===c?(u=n[5],d=n[6]):(u=()=>{if(!c)return;let e=function(){l(!1)};return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e)}},d=[c],n[4]=c,n[5]=u,n[6]=d),A.useEffect(u,d);let f;n[7]===a?f=n[8]:(f=(0,j.jsx)(ct,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,onPointerDown:()=>{a!=null&&(l(!0),s(!0))}}),n[7]=a,n[8]=f);let p=f,m;n[9]===r?m=n[10]:(m=C(`relative flex w-full touch-none select-none items-center`,r),n[9]=r,n[10]=m);let h;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsx)(ot,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,j.jsx)(st,{className:`absolute h-full bg-primary`})}),n[11]=h):h=n[11];let g;n[12]!==c||n[13]!==o||n[14]!==p||n[15]!==a?(g=a==null?p:(0,j.jsxs)(oe,{open:o||c,onOpenChange:s,children:[(0,j.jsx)(ie,{asChild:!0,children:p}),(0,j.jsx)(ae,{side:`top`,children:a})]}),n[12]=c,n[13]=o,n[14]=p,n[15]=a,n[16]=g):g=n[16];let _;return n[17]!==i||n[18]!==t||n[19]!==m||n[20]!==g?(_=(0,j.jsxs)(at,{ref:t,className:m,...i,children:[h,g]}),n[17]=i,n[18]=t,n[19]=m,n[20]=g,n[21]=_):_=n[21],_});lt.displayName=at.displayName;var ut=a(`app.use-maximum-turn-count.hook`),dt=100;function ft(){let[e,t]=(0,A.useState)(dt),[n,r]=(0,A.useState)(dt.toString()),[i,a]=(0,A.useState)(!0),[o,s]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.maximumTurnCount),r(n.maximumTurnCount.toString()))}catch(e){ut.error(`Failed to load maximum turn count:`,e)}finally{e||a(!1)}}return n(),()=>{e=!0}},[]);function c(e){r(e)}async function l(e){s(!0);try{let n=await E({maximumTurnCount:e});t(n.maximumTurnCount),r(n.maximumTurnCount.toString())}catch(e){throw ut.error(`Failed to update maximum turn count:`,e),e}finally{s(!1)}}function u(){r(e.toString())}return{defaultMaximumTurnCount:dt,draftMaximumTurnCount:n,isLoading:i,isSaving:o,maximumTurnCount:e,resetDraftMaximumTurnCount:u,setDraftMaximumTurnCount:c,updateMaximumTurnCount:l}}var pt=a(`app.use-screen-recording-permission.hook`),mt={isMacOS:!1,granted:!1,available:!1,message:``};function ht(){return{...mt,isMacOS:Ae()}}function gt(){let[e,t]=(0,A.useState)(ht),[n,r]=(0,A.useState)(!0),[i,a]=(0,A.useState)(null),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(null),u=(0,A.useCallback)(async()=>{r(!0),a(null);try{t(await ne(`api/system-permissions/screen-recording`))}catch(e){a(e instanceof Error?e.message:`Failed to check screen recording permission`),t(e=>({...mt,isMacOS:e?.isMacOS??Ae(),message:`Unable to check permission status.`}))}finally{r(!1)}},[]);return(0,A.useEffect)(()=>{u()},[u]),{status:e,isLoading:n,error:i,isOpeningSettings:o,openSettingsError:c,refresh:u,openSystemSettings:(0,A.useCallback)(async()=>{s(!0),l(null);try{let e=await te(`api/system-permissions/screen-recording/open-settings`,{});if(!e.success){let t=e.message||`Failed to open System Settings`;pt.error(`[useScreenRecordingPermission] ${t}`,e.error),l(t)}}catch(e){let t=e instanceof Error?e.message:`Failed to open System Settings`;pt.error(`[useScreenRecordingPermission] Error opening System Settings:`,e),l(t)}finally{s(!1)}},[])}}var _t=a(`app.use-server-bind-mode.hook`),vt=`local`,yt=`tarsk-server-bind-mode-changed`;function bt(e){D(e)}function xt(){if(typeof window>`u`)return!1;try{return sessionStorage.getItem(yt)===`true`}catch{return!1}}function St(e){if(!(typeof window>`u`))try{e?sessionStorage.setItem(yt,`true`):sessionStorage.removeItem(yt)}catch{}}function Ct(){let[e,t]=(0,A.useState)(()=>O()?.serverBindMode??vt),[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(()=>O()?.networkAddresses??[]),[o,s]=(0,A.useState)(()=>O()===null),[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(xt);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.serverBindMode),r(n.serverBindMode),a(n.networkAddresses),bt({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}))}catch(e){_t.error(`Failed to load server bind mode:`,e)}finally{e||s(!1)}}return n(),()=>{e=!0}},[]);async function f(e){l(!0);try{let n=await E({serverBindMode:e});t(n.serverBindMode),a(n.networkAddresses),bt({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}),d(!0),St(!0)}catch(e){throw _t.error(`Failed to update server bind mode:`,e),e}finally{l(!1)}}let p=n!==null&&e!==n;return{defaultServerBindMode:vt,hasServerBindModeChanged:p,isLoading:o,isSaving:c,needsRestart:p||u,networkAddresses:i,serverBindMode:e,updateServerBindMode:f}}var wt=a(`app.use-logging.hook`);function Tt(){let[e,t]=(0,A.useState)(!1),[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(null),[c,l]=(0,A.useState)(!0),[u,d]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost))}catch(e){wt.error(`Failed to load logging setting:`,e)}finally{e||l(!1)}}return n(),()=>{e=!0}},[]);async function f(e){d(!0);try{let n=await E({loggingEnabled:e});t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost)}catch(e){throw wt.error(`Failed to update logging setting:`,e),e}finally{d(!1)}}return{ingestingHost:o,isEnabled:e,isEnvConfigured:i,isLoading:c,isSaving:u,logPath:n,updateIsEnabled:f}}var Et=Object.defineProperty,V=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Dt=(e,t,n)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ot=(e,t)=>{for(var n in t||={})H.call(t,n)&&Dt(e,n,t[n]);if(V)for(var n of V(t))U.call(t,n)&&Dt(e,n,t[n]);return e},W=(e,t)=>{var n={};for(var r in e)H.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&V)for(var r of V(e))t.indexOf(r)<0&&U.call(e,r)&&(n[r]=e[r]);return n},G;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(G||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(G||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(G||={});var K=G,kt={L:K.QrCode.Ecc.LOW,M:K.QrCode.Ecc.MEDIUM,Q:K.QrCode.Ecc.QUARTILE,H:K.QrCode.Ecc.HIGH},At=128,q=`L`,J=`#FFFFFF`,Y=`#000000`,X=!1,Z=1,jt=4,Mt=0,Nt=.1;function Q(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function $(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function Pt(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Nt),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Ft(e,t){return t==null?e?jt:Mt:Math.max(Math.floor(t),0)}function It({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=A.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...K.QrSegment.makeSegments(t)),e),[]);return K.QrCode.encodeSegments(r,kt[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=A.useMemo(()=>{let e=c.getModules(),t=Ft(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Pt(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var Lt=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Rt=A.forwardRef(function(e,t){let n=e,{value:r,size:i=At,level:a=q,bgColor:o=J,fgColor:s=Y,includeMargin:c=X,minVersion:l=Z,boostLevel:u,marginSize:d,imageSettings:f}=n,p=W(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=W(p,[`style`]),g=f?.src,_=A.useRef(null),v=A.useRef(null),y=A.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=A.useState(!1),{margin:ee,cells:S,numCells:C,calculatedImageSettings:w}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});A.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=S,r=v.current,a=w!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&w.excavation!=null&&(n=$(S,w.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/C*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,C,C),t.fillStyle=s,Lt?t.fill(new Path2D(Q(n,ee))):S.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+ee,n+ee,1,1)})}),w&&(t.globalAlpha=w.opacity),a&&t.drawImage(r,w.x+ee,w.y+ee,w.w,w.h)}}),A.useEffect(()=>{x(!1)},[g]);let T=Ot({height:i,width:i},m),E=null;return g!=null&&(E=A.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:w?.crossOrigin})),A.createElement(A.Fragment,null,A.createElement(`canvas`,Ot({style:T,height:i,width:i,ref:y,role:`img`},h)),E)});Rt.displayName=`QRCodeCanvas`;var zt=A.forwardRef(function(e,t){let n=e,{value:r,size:i=At,level:a=q,bgColor:o=J,fgColor:s=Y,includeMargin:c=X,minVersion:l=Z,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=W(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=$(g,v.excavation)),b=A.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=Q(y,h);return A.createElement(`svg`,Ot({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&A.createElement(`title`,null,d),A.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),A.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});zt.displayName=`QRCodeSVG`;var Bt=[{value:`light`,label:`Light`,icon:c},{value:`dark`,label:`Dark`,icon:v},{value:`system`,label:`System`,icon:l}],Vt=[{value:`image`,label:`Image`,icon:u},{value:`background`,label:`Background`,icon:p}],Ht=`flex h-7 w-7 min-h-0 min-w-0 items-center justify-center rounded-full border-0 bg-background p-0 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`,Ut=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,Wt=[`462`,`8100`].includes(typeof document<`u`?document.location.port:``)?`462`:`641`,Gt=600;function Kt(e){let t=(0,je.c)(224),{onboardingResetSignal:n}=e,r=n===void 0?0:n,[a,c]=(0,A.useState)(!1),{theme:l,setTheme:u}=ve(),{scale:p,updateScale:h,min:_,max:v}=we(),{opacity:y,updateOpacity:b,min:S,max:T}=Ce(),{mode:E,color:te,updateMode:D,updateColor:ne}=ye(),{color:O,updateColor:re,resetColor:se}=Te(),{defaultMaximumTurnCount:ce,draftMaximumTurnCount:le,isLoading:de,isSaving:Ae,resetDraftMaximumTurnCount:Me,setDraftMaximumTurnCount:Ne,updateMaximumTurnCount:Pe}=ft(),{status:M,isLoading:N,isOpeningSettings:Fe,openSettingsError:Ie,refresh:Le,openSystemSettings:Re}=gt(),{isLoading:ze,isSaving:Be,needsRestart:P,networkAddresses:F,serverBindMode:I,updateServerBindMode:Ve}=Ct(),{isEnabled:He,isLoading:Ue,isSaving:We,updateIsEnabled:Ge}=xe(),{isEnabled:Ke,isLoading:qe,isSaving:Je,updateIsEnabled:Ye}=pe(),{isEnabled:Xe,isSupported:Ze,isHealthy:L,statusMessage:Qe,isLoading:R,isSaving:$e,updateIsEnabled:et}=be(),{isEnabled:z,logPath:B,isEnvConfigured:tt,ingestingHost:nt,isLoading:rt,isSaving:it,updateIsEnabled:at}=Tt(),ot;t[0]!==rt||t[1]!==de||t[2]!==N||t[3]!==R||t[4]!==ze||t[5]!==qe||t[6]!==Ue?(ot=[de,N,ze,Ue,qe,R,rt],t[0]=rt,t[1]=de,t[2]=N,t[3]=R,t[4]=ze,t[5]=qe,t[6]=Ue,t[7]=ot):ot=t[7];let st=ke(`general`,ot),ct,ut;t[8]===r?(ct=t[9],ut=t[10]):(ct=()=>{if(r===0)return;c(!0);let e=setTimeout(()=>{c(!1)},Gt);return()=>{clearTimeout(e)}},ut=[r],t[8]=r,t[9]=ct,t[10]=ut),(0,A.useEffect)(ct,ut);let dt;t[11]===Ne?dt=t[12]:(dt=function(e){Ne(e.target.value)},t[11]=Ne,t[12]=dt);let pt=dt,mt;t[13]!==ce||t[14]!==le||t[15]!==Me||t[16]!==Pe?(mt=async function(){let e=Number.parseInt(le,10),t=Number.isFinite(e)&&e>0?e:ce;try{await Pe(t)}catch{Me()}},t[13]=ce,t[14]=le,t[15]=Me,t[16]=Pe,t[17]=mt):mt=t[17];let ht=mt,_t;t[18]===h?_t=t[19]:(_t=function(e){e.length>0&&h(e[0])},t[18]=h,t[19]=_t);let vt=_t,yt;t[20]===b?yt=t[21]:(yt=function(e){e.length>0&&b(e[0])},t[20]=b,t[21]=yt);let bt=yt,xt;t[22]===B?xt=t[23]:(xt=async function(){if(B)try{await navigator.clipboard.writeText(B),ue({title:`Copied`,description:`Log file path copied to clipboard.`})}catch(e){let t=e;ue({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the log file path.`,variant:`destructive`})}},t[22]=B,t[23]=xt);let St=xt,[wt,Et]=(0,A.useState)(!1),V,H,U;t[24]!==F||t[25]!==I?(V=async function(){if(H)try{await navigator.clipboard.writeText(H),Et(!0),ue({title:`Copied`,description:`Network URL copied to clipboard.`}),window.setTimeout(()=>{Et(!1)},1500)}catch(e){let t=e;ue({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the network URL.`,variant:`destructive`})}},U=I===`network`&&F.length>0,H=U?`http://${F[0]}:${Wt}`:null,t[24]=F,t[25]=I,t[26]=V,t[27]=H,t[28]=U):(V=t[26],H=t[27],U=t[28]);let Dt=U&&H,Ot=a&&`animate-headline-reset`,W;t[29]===Ot?W=t[30]:(W=C(Ot),t[29]=Ot,t[30]=W);let G;t[31]===W?G=t[32]:(G=(0,j.jsx)(Se,{title:`Appearance`,titleClassName:W,className:`[&>div:first-child]:py-2`,sticky:!1}),t[31]=W,t[32]=G);let K;t[33]===_?K=t[34]:(K=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-8 shrink-0 text-right`,children:[_,`%`]}),t[33]=_,t[34]=K);let kt;t[35]===p?kt=t[36]:(kt=[p],t[35]=p,t[36]=kt);let At=`${p}%`,q;t[37]!==vt||t[38]!==v||t[39]!==_||t[40]!==kt||t[41]!==At?(q=(0,j.jsx)(lt,{value:kt,min:_,max:v,step:5,onValueChange:vt,"aria-label":`Font size`,valueTooltip:At}),t[37]=vt,t[38]=v,t[39]=_,t[40]=kt,t[41]=At,t[42]=q):q=t[42];let J;t[43]===v?J=t[44]:(J=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-9 shrink-0`,children:[v,`%`]}),t[43]=v,t[44]=J);let Y;t[45]!==K||t[46]!==q||t[47]!==J?(Y=(0,j.jsx)(k,{title:`Font Size`,description:`Adjust the text size across the entire application.`,children:(0,j.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[K,q,J]})}),t[45]=K,t[46]=q,t[47]=J,t[48]=Y):Y=t[48];let X;t[49]===S?X=t[50]:(X=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-8 shrink-0 text-right`,children:[S,`%`]}),t[49]=S,t[50]=X);let Z;t[51]===y?Z=t[52]:(Z=[y],t[51]=y,t[52]=Z);let jt=`${y}%`,Mt;t[53]!==T||t[54]!==S||t[55]!==bt||t[56]!==Z||t[57]!==jt?(Mt=(0,j.jsx)(lt,{value:Z,min:S,max:T,step:5,onValueChange:bt,"aria-label":`Panel opacity`,valueTooltip:jt}),t[53]=T,t[54]=S,t[55]=bt,t[56]=Z,t[57]=jt,t[58]=Mt):Mt=t[58];let Nt;t[59]===T?Nt=t[60]:(Nt=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-9 shrink-0`,children:[T,`%`]}),t[59]=T,t[60]=Nt);let Q;t[61]!==X||t[62]!==Mt||t[63]!==Nt?(Q=(0,j.jsx)(k,{title:`Panel Opacity`,description:`Adjust how opaque the frosted panels are over the wallpaper.`,children:(0,j.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[X,Mt,Nt]})}),t[61]=X,t[62]=Mt,t[63]=Nt,t[64]=Q):Q=t[64];let $;t[65]===u?$=t[66]:($=e=>{(e===`light`||e===`dark`||e===`system`)&&u(e)},t[65]=u,t[66]=$);let Pt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=Bt.map(Yt),t[67]=Pt):Pt=t[67];let Ft;t[68]!==$||t[69]!==l?(Ft=(0,j.jsx)(k,{title:`Appearance`,description:`Choose your preferred color scheme.`,controlLayout:`row-end`,action:(0,j.jsx)(Oe,{type:`single`,value:l,onValueChange:$,"aria-label":`Appearance`,className:Ut,children:Pt})}),t[68]=$,t[69]=l,t[70]=Ft):Ft=t[70];let It;t[71]===D?It=t[72]:(It=e=>{(e===`image`||e===`background`||e===`color`)&&D(e)},t[71]=D,t[72]=It);let Lt;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Lt=Vt.map(Jt),t[73]=Lt):Lt=t[73];let Rt;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=C(Ht,`relative overflow-hidden`),t[74]=Rt):Rt=t[74];let Kt;t[75]===te?Kt=t[76]:(Kt=(0,j.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:te},"aria-hidden":`true`}),t[75]=te,t[76]=Kt);let Xt;t[77]===D?Xt=t[78]:(Xt=()=>{D(`color`)},t[77]=D,t[78]=Xt);let Zt;t[79]!==ne||t[80]!==D?(Zt=e=>{ne(e.target.value),D(`color`)},t[79]=ne,t[80]=D,t[81]=Zt):Zt=t[81];let Qt;t[82]!==Xt||t[83]!==Zt||t[84]!==te?(Qt=(0,j.jsx)(`input`,{type:`color`,value:te,"aria-label":`Choose wallpaper color`,className:`absolute inset-0 cursor-pointer opacity-0`,onPointerDown:Xt,onChange:Zt}),t[82]=Xt,t[83]=Zt,t[84]=te,t[85]=Qt):Qt=t[85];let $t;t[86]!==Kt||t[87]!==Qt?($t=(0,j.jsxs)(De,{value:`color`,"aria-label":`Custom color`,className:Rt,children:[Kt,Qt]}),t[86]=Kt,t[87]=Qt,t[88]=$t):$t=t[88];let en;t[89]!==It||t[90]!==$t||t[91]!==E?(en=(0,j.jsx)(k,{title:`Wallpaper`,description:`Choose a scenic image, the theme background, or a custom color.`,controlLayout:`row-end`,action:(0,j.jsxs)(Oe,{type:`single`,value:E,onValueChange:It,"aria-label":`Wallpaper`,className:Ut,children:[Lt,$t]})}),t[89]=It,t[90]=$t,t[91]=E,t[92]=en):en=t[92];let tn;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(tn=C(Ht,`relative cursor-pointer overflow-hidden`),t[93]=tn):tn=t[93];let nn;t[94]===O?nn=t[95]:(nn=(0,j.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:O},"aria-hidden":`true`}),t[94]=O,t[95]=nn);let rn;t[96]===re?rn=t[97]:(rn=e=>{re(e.target.value)},t[96]=re,t[97]=rn);let an;t[98]!==O||t[99]!==rn?(an=(0,j.jsx)(`input`,{type:`color`,value:O,"aria-label":`Primary color`,className:`absolute inset-0 cursor-pointer opacity-0`,onChange:rn}),t[98]=O,t[99]=rn,t[100]=an):an=t[100];let on;t[101]!==nn||t[102]!==an?(on=(0,j.jsx)(`div`,{className:Ut,children:(0,j.jsxs)(`label`,{className:tn,children:[nn,an]})}),t[101]=nn,t[102]=an,t[103]=on):on=t[103];let sn;t[104]!==se||t[105]!==on?(sn=(0,j.jsx)(k,{title:`Primary Color`,description:`Choose the primary accent color used across the app. Click the label to reset to default.`,controlLayout:`row-end`,onTitleClick:se,action:on}),t[104]=se,t[105]=on,t[106]=sn):sn=t[106];let cn;t[107]!==Y||t[108]!==Q||t[109]!==Ft||t[110]!==en||t[111]!==sn?(cn=(0,j.jsx)(ge,{className:`max-w-none pt-0`,children:(0,j.jsxs)(me,{children:[Y,Q,Ft,en,sn]})}),t[107]=Y,t[108]=Q,t[109]=Ft,t[110]=en,t[111]=sn,t[112]=cn):cn=t[112];let ln;t[113]!==G||t[114]!==cn?(ln=(0,j.jsxs)(fe,{className:`shrink-0`,children:[G,cn]}),t[113]=G,t[114]=cn,t[115]=ln):ln=t[115];let un;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(un=(0,j.jsx)(Se,{title:`Settings`,className:`[&>div:first-child]:py-2`,sticky:!1}),t[116]=un):un=t[116];let dn=`Set how many turns a long-running agent chat can take before Tarsk asks whether to continue. Default: ${ce} turns.`,fn;t[117]===ht?fn=t[118]:(fn=()=>{ht()},t[117]=ht,t[118]=fn);let pn=de||Ae,mn;t[119]!==le||t[120]!==pt||t[121]!==fn||t[122]!==pn?(mn=(0,j.jsx)(he,{type:`number`,min:1,step:1,value:le,onChange:pt,onBlur:fn,disabled:pn,"aria-label":`Maximum turn count`,className:`w-28 text-right font-mono tabular-nums flex-shrink-0`}),t[119]=le,t[120]=pt,t[121]=fn,t[122]=pn,t[123]=mn):mn=t[123];let hn;t[124]!==dn||t[125]!==mn?(hn=(0,j.jsx)(k,{title:`Maximum Turn Count`,description:dn,controlLayout:`row-end`,action:mn}),t[124]=dn,t[125]=mn,t[126]=hn):hn=t[126];let gn;t[127]===Ge?gn=t[128]:(gn=e=>{Ge(e)},t[127]=Ge,t[128]=gn);let _n=Ue||We,vn;t[129]!==gn||t[130]!==_n||t[131]!==He?(vn=(0,j.jsx)(k,{title:`AI Voice Cleanup`,description:`After stopping voice recording, run the transcription through AI to remove filler words, false starts, and repetitions.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:He,onChange:gn,disabled:_n,ariaLabel:`AI Voice Cleanup`})}),t[129]=gn,t[130]=_n,t[131]=He,t[132]=vn):vn=t[132];let yn;t[133]===Ye?yn=t[134]:(yn=e=>{Ye(e)},t[133]=Ye,t[134]=yn);let bn=qe||Je,xn;t[135]!==Ke||t[136]!==yn||t[137]!==bn?(xn=(0,j.jsx)(k,{title:`Spend`,description:`Show an estimated spend counter in the chat header.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:Ke,onChange:yn,disabled:bn,ariaLabel:`Spend`})}),t[135]=Ke,t[136]=yn,t[137]=bn,t[138]=xn):xn=t[138];let Sn;t[139]!==Fe||t[140]!==N||t[141]!==Re||t[142]!==Le||t[143]!==Ie||t[144]!==M?.granted||t[145]!==M?.isMacOS||t[146]!==M?.message?(Sn=M?.isMacOS&&(0,j.jsx)(k,{title:`Screen & Audio Recording`,description:`Tarsk needs this macOS permission to capture screen content for browser tools and screen sharing features.`,controlLayout:`row-end`,action:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!N&&M?.granted?(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(x,{className:`h-4 w-4 text-green-500`}),(0,j.jsx)(`span`,{className:C(i.body,`text-green-600 dark:text-green-400`),children:`Permission granted`})]}):N?null:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(d,{className:`h-4 w-4 text-amber-500`}),(0,j.jsx)(`span`,{className:C(i.body,`text-amber-600 dark:text-amber-400`),children:`Permission not granted`})]}),(0,j.jsxs)(w,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7 shrink-0 rounded-full border-0 bg-background hover:bg-background hover:text-foreground`,onClick:()=>void Le(),disabled:N,children:[N?(0,j.jsx)(s,{className:`h-3.5 w-3.5 animate-spin`}):(0,j.jsx)(m,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Refresh permission status`})]})]}),children:!N&&!M?.granted?(0,j.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,j.jsx)(`p`,{className:i.bodyMuted,children:M?.message??`Tarsk needs Screen & Audio Recording permission to use browser tools.`}),(0,j.jsx)(w,{size:`sm`,onClick:()=>void Re(),disabled:Fe,className:`w-fit`,children:Fe?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(s,{className:`h-4 w-4 mr-2 animate-spin`}),`Opening Settings...`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{className:`h-4 w-4 mr-2`}),`Open System Settings`]})}),Ie&&(0,j.jsxs)(`div`,{className:`flex items-start gap-2 p-3 rounded-md bg-destructive/10 text-destructive`,children:[(0,j.jsx)(f,{className:`h-4 w-4 mt-0.5 flex-shrink-0`}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)(`p`,{className:i.body,children:`Failed to open System Settings`}),(0,j.jsx)(`p`,{className:i.bodyMuted,children:Ie}),(0,j.jsxs)(`p`,{className:i.bodyMuted,children:[`Please open it manually:`,` `,(0,j.jsx)(`strong`,{children:`System Settings > Privacy & Security > Screen & System Audio Recording`})]})]})]})]}):null}),t[139]=Fe,t[140]=N,t[141]=Re,t[142]=Le,t[143]=Ie,t[144]=M?.granted,t[145]=M?.isMacOS,t[146]=M?.message,t[147]=Sn):Sn=t[147];let Cn;t[148]!==R||t[149]!==$e||t[150]!==Xe||t[151]!==L||t[152]!==Qe||t[153]!==Ze||t[154]!==et?(Cn=Ze&&(0,j.jsx)(k,{title:`Sandbox`,description:`Sandbox tools like bash and skill script execution to allow running and testing code safely without risking your system, files, or data.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:Xe&&L,onChange:e=>{e&&!L||et(e).catch(qt)},disabled:R||$e,disableOn:!L,ariaLabel:`Sandbox`}),children:!R&&!L?(0,j.jsxs)(`div`,{className:`flex items-start gap-2 text-destructive`,children:[(0,j.jsx)(d,{className:`h-4 w-4 mt-0.5 shrink-0`}),(0,j.jsx)(`p`,{className:i.bodyMuted,children:Qe||`Seatbelt sandbox failed its health check and cannot be enabled.`})]}):null}),t[148]=R,t[149]=$e,t[150]=Xe,t[151]=L,t[152]=Qe,t[153]=Ze,t[154]=et,t[155]=Cn):Cn=t[155];let wn;t[156]===at?wn=t[157]:(wn=e=>{at(e)},t[156]=at,t[157]=wn);let Tn=rt||it,En;t[158]!==z||t[159]!==wn||t[160]!==Tn?(En=(0,j.jsx)(ie,{asChild:!0,children:(0,j.jsx)(`span`,{className:`inline-flex`,children:(0,j.jsx)(Ee,{value:z,onChange:wn,disabled:Tn,ariaLabel:`Logging`})})}),t[158]=z,t[159]=wn,t[160]=Tn,t[161]=En):En=t[161];let Dn=z&&B?`max-w-sm cursor-pointer`:`max-w-sm`,On;t[162]!==St||t[163]!==z||t[164]!==B?(On=z&&B?()=>void St():void 0,t[162]=St,t[163]=z,t[164]=B,t[165]=On):On=t[165];let kn;t[166]!==z||t[167]!==B?(kn=z&&B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`p`,{children:`Click to copy log file path`}),(0,j.jsx)(`p`,{className:C(i.mono,`mt-1 break-all`),children:B})]}):(0,j.jsx)(`p`,{children:`Enable logging to write to a local file.`}),t[166]=z,t[167]=B,t[168]=kn):kn=t[168];let An;t[169]!==Dn||t[170]!==On||t[171]!==kn?(An=(0,j.jsx)(ae,{className:Dn,onClick:On,children:kn}),t[169]=Dn,t[170]=On,t[171]=kn,t[172]=An):An=t[172];let jn;t[173]!==En||t[174]!==An?(jn=(0,j.jsxs)(oe,{children:[En,An]}),t[173]=En,t[174]=An,t[175]=jn):jn=t[175];let Mn;t[176]!==nt||t[177]!==tt||t[178]!==z?(Mn=z&&tt&&nt&&(0,j.jsxs)(`p`,{className:`${i.bodyMuted} mt-3`,children:[`Also sending logs to Better Stack at`,` `,(0,j.jsx)(`span`,{className:i.mono,children:nt})]}),t[176]=nt,t[177]=tt,t[178]=z,t[179]=Mn):Mn=t[179];let Nn;t[180]!==jn||t[181]!==Mn?(Nn=(0,j.jsx)(k,{title:`Logging`,description:`Write verbose application logs to a local file. When Better Stack environment variables are configured, logs are sent there too.`,controlLayout:`row-end`,action:jn,children:Mn}),t[180]=jn,t[181]=Mn,t[182]=Nn):Nn=t[182];let Pn=I===`network`,Fn;t[183]===Ve?Fn=t[184]:(Fn=e=>{Ve(e?`network`:`local`)},t[183]=Ve,t[184]=Fn);let In=ze||Be,Ln;t[185]!==Pn||t[186]!==Fn||t[187]!==In?(Ln=(0,j.jsx)(Ee,{value:Pn,onChange:Fn,disabled:In,ariaLabel:`Mobile & Network Access`}),t[185]=Pn,t[186]=Fn,t[187]=In,t[188]=Ln):Ln=t[188];let Rn;t[189]!==wt||t[190]!==V||t[191]!==H||t[192]!==P||t[193]!==U?(Rn=U&&H&&(0,j.jsxs)(`div`,{className:`mt-3`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxs)(`p`,{className:i.bodyMuted,children:[`Available on the network at:`,` `,(0,j.jsx)(`span`,{className:i.mono,children:H})]}),(0,j.jsxs)(oe,{children:[(0,j.jsx)(ie,{asChild:!0,children:(0,j.jsxs)(`button`,{type:`button`,onClick:()=>void V(),className:`inline-flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm transition-colors hover:bg-background`,children:[wt?(0,j.jsx)(o,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(ee,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy network URL`})]})}),(0,j.jsx)(ae,{children:wt?`Copied!`:`Copy to clipboard`})]})]}),P&&(0,j.jsx)(`p`,{className:`${i.bodyMuted} mt-1`,children:`You will need to restart for this setting to take effect.`})]}),t[189]=wt,t[190]=V,t[191]=H,t[192]=P,t[193]=U,t[194]=Rn):Rn=t[194];let zn;t[195]!==F||t[196]!==I?(zn=I===`network`&&F.length===0&&(0,j.jsx)(`p`,{className:`${i.bodyMuted} mt-3`,children:`No network IP addresses were detected on this computer.`}),t[195]=F,t[196]=I,t[197]=zn):zn=t[197];let Bn;t[198]!==P||t[199]!==I?(Bn=P&&I===`local`&&(0,j.jsx)(`p`,{className:`${i.bodyMuted} mt-3`,children:`You will need to restart for this setting to take effect.`}),t[198]=P,t[199]=I,t[200]=Bn):Bn=t[200];let Vn;t[201]!==Ln||t[202]!==Rn||t[203]!==zn||t[204]!==Bn?(Vn=(0,j.jsxs)(k,{title:`Mobile & Network Access`,description:`Allow the Tarsk mobile app or other web browsers to access Tarsk on the wifi network.`,controlLayout:`row-end`,action:Ln,children:[Rn,zn,Bn]}),t[201]=Ln,t[202]=Rn,t[203]=zn,t[204]=Bn,t[205]=Vn):Vn=t[205];let Hn;t[206]!==hn||t[207]!==vn||t[208]!==xn||t[209]!==Sn||t[210]!==Cn||t[211]!==Nn||t[212]!==Vn?(Hn=(0,j.jsxs)(fe,{className:`shrink-0`,children:[un,(0,j.jsx)(ge,{className:`max-w-none pt-0`,children:(0,j.jsxs)(me,{children:[hn,vn,xn,Sn,Cn,Nn,Vn]})})]}),t[206]=hn,t[207]=vn,t[208]=xn,t[209]=Sn,t[210]=Cn,t[211]=Nn,t[212]=Vn,t[213]=Hn):Hn=t[213];let Un;t[214]!==H||t[215]!==Dt?(Un=Dt?(0,j.jsxs)(fe,{className:`shrink-0`,children:[(0,j.jsx)(Se,{title:`Mobile App`,description:`Scan this code with the Tarsk mobile app to connect on your Wi-Fi network.`,sticky:!1}),(0,j.jsx)(`div`,{className:`flex flex-col items-center px-6 pb-6 pt-6`,children:(0,j.jsx)(`div`,{className:`rounded-lg bg-background p-3`,children:(0,j.jsx)(zt,{value:H,size:128,bgColor:`hsl(var(--background))`,fgColor:`hsl(var(--foreground))`,level:`M`})})})]}):null,t[214]=H,t[215]=Dt,t[216]=Un):Un=t[216];let Wn;t[217]!==ln||t[218]!==Hn||t[219]!==Un?(Wn=(0,j.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[ln,Hn,Un]}),t[217]=ln,t[218]=Hn,t[219]=Un,t[220]=Wn):Wn=t[220];let Gn;return t[221]!==st||t[222]!==Wn?(Gn=(0,j.jsx)(_e,{loading:st,children:Wn}),t[221]=st,t[222]=Wn,t[223]=Gn):Gn=t[223],Gn}function qt(){}function Jt(e){let t=e.icon;return(0,j.jsx)(De,{value:e.value,"aria-label":e.label,className:Ht,children:(0,j.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Yt(e){let t=e.icon;return(0,j.jsx)(De,{value:e.value,"aria-label":e.label,className:Ht,children:(0,j.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}export{Kt as default};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{S as i,ot as a}from"./dist-BWuYHVi8.js";import{An as o,Et as s,M as c,N as l,Nt as u,Sn as d,Tn as f,Vn as p,Z as m,g as h,gt as g,h as _,ht as v,t as y,u as b,wn as x,yn as ee}from"./dist-DIjomljy.js";import{c as S,t as C}from"./utils-CT-Dw22R.js";import{t as w}from"./button-DeNw35VZ.js";import{$ as T,Nr as E,Pi as te,Rn as D,kr as ne,mi as O}from"./api-BMo_Lz8f.js";import{t as re}from"./dist-mdooLpmq.js";import{i as ie,n as ae,t as oe}from"./tooltip-B6ziVyTv.js";import{t as se}from"./dist-OixawqbU.js";import{i as ce}from"./scroll-area-nbNFO91g.js";import{t as le}from"./dist-CWq9XRXF.js";import{t as ue}from"./use-toast-xpb5jNtN.js";import{t as de}from"./dist-CSssbxDI.js";import{Bn as fe,Dn as k,F as pe,Fn as me,Ft as he,Ln as ge,Nn as _e,P as ve,U as ye,_t as be,gt as xe,kn as Se,n as Ce,r as we,t as Te,vt as Ee}from"./index-DjaVbFDB.js";import{n as De,t as Oe}from"./toggle-group-5tREtjoW.js";import{t as ke}from"./use-settings-page-loading-BTySlInF.js";import{t as Ae}from"./is-macos-client-BIb4ZSEa.js";var je=t(),A=e(n(),1),j=r(),Me=[`PageUp`,`PageDown`],Ne=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Pe={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},M=`Slider`,[N,Fe,Ie]=le(M),[Le,Re]=_(M,[Ie]),[ze,Be]=Le(M),P=A.forwardRef((e,t)=>{let{name:n,min:r=0,max:i=100,step:a=1,orientation:o=`horizontal`,disabled:s=!1,minStepsBetweenThumbs:c=0,defaultValue:l=[r],value:u,onValueChange:d=()=>{},onValueCommit:f=()=>{},inverted:p=!1,form:m,...g}=e,_=A.useRef(new Set),v=A.useRef(0),b=o===`horizontal`?Ve:He,[x=[],ee]=y({prop:u,defaultProp:l,onChange:e=>{[..._.current][v.current]?.focus(),d(e)}}),S=A.useRef(x);function C(e){E(e,et(x,e))}function w(e){E(e,v.current)}function T(){let e=S.current[v.current];x[v.current]!==e&&f(x)}function E(e,t,{commit:n}={commit:!1}){let o=rt(a),s=ce(it(Math.round((e-r)/a)*a+r,o),[r,i]);ee((e=[])=>{let r=Qe(e,s,t);if(tt(r,c*a)){v.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&f(r),t?r:e}else return e})}return(0,j.jsx)(ze,{scope:e.__scopeSlider,name:n,disabled:s,min:r,max:i,valueIndexToChangeRef:v,thumbs:_.current,values:x,orientation:o,form:m,children:(0,j.jsx)(N.Provider,{scope:e.__scopeSlider,children:(0,j.jsx)(N.Slot,{scope:e.__scopeSlider,children:(0,j.jsx)(b,{"aria-disabled":s,"data-disabled":s?``:void 0,...g,ref:t,onPointerDown:h(g.onPointerDown,()=>{s||(S.current=x)}),min:r,max:i,inverted:p,onSlideStart:s?void 0:C,onSlideMove:s?void 0:w,onSlideEnd:s?void 0:T,onHomeKeyDown:()=>!s&&E(r,0,{commit:!0}),onEndKeyDown:()=>!s&&E(i,x.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!s){let n=Me.includes(e.key)||e.shiftKey&&Ne.includes(e.key)?10:1,r=v.current,i=x[r];E(i+a*n*t,r,{commit:!0})}}})})})})});P.displayName=M;var[F,I]=Le(M,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Ve=A.forwardRef((e,t)=>{let{min:n,max:r,dir:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,[d,f]=A.useState(null),p=S(t,e=>f(e)),m=A.useRef(void 0),h=se(i),g=h===`ltr`,_=g&&!a||!g&&a;function v(e){let t=m.current||d.getBoundingClientRect(),i=nt([0,t.width],_?[n,r]:[r,n]);return m.current=t,i(e-t.left)}return(0,j.jsx)(F,{scope:e.__scopeSlider,startEdge:_?`left`:`right`,endEdge:_?`right`:`left`,direction:_?1:-1,size:`width`,children:(0,j.jsx)(Ue,{dir:h,"data-orientation":`horizontal`,...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=v(e.clientX);o?.(t)},onSlideMove:e=>{let t=v(e.clientX);s?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=Pe[_?`from-left`:`from-right`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),He=A.forwardRef((e,t)=>{let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onStepKeyDown:c,...l}=e,u=A.useRef(null),d=S(t,u),f=A.useRef(void 0),p=!i;function m(e){let t=f.current||u.current.getBoundingClientRect(),i=nt([0,t.height],p?[r,n]:[n,r]);return f.current=t,i(e-t.top)}return(0,j.jsx)(F,{scope:e.__scopeSlider,startEdge:p?`bottom`:`top`,endEdge:p?`top`:`bottom`,size:`height`,direction:p?1:-1,children:(0,j.jsx)(Ue,{"data-orientation":`vertical`,...l,ref:d,style:{...l.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=m(e.clientY);a?.(t)},onSlideMove:e=>{let t=m(e.clientY);o?.(t)},onSlideEnd:()=>{f.current=void 0,s?.()},onStepKeyDown:e=>{let t=Pe[p?`from-bottom`:`from-top`].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),Ue=A.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:c,...l}=e,u=Be(M,n);return(0,j.jsx)(b.span,{...l,ref:t,onKeyDown:h(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Me.concat(Ne).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:h(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:h(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:h(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),We=`SliderTrack`,Ge=A.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Be(We,n);return(0,j.jsx)(b.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});Ge.displayName=We;var Ke=`SliderRange`,qe=A.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Be(Ke,n),a=I(Ke,n),o=S(t,A.useRef(null)),s=i.values.length,c=i.values.map(e=>R(e,i.min,i.max)),l=s>1?Math.min(...c):0,u=100-Math.max(...c);return(0,j.jsx)(b.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:o,style:{...e.style,[a.startEdge]:l+`%`,[a.endEdge]:u+`%`}})});qe.displayName=Ke;var Je=`SliderThumb`,Ye=A.forwardRef((e,t)=>{let n=Fe(e.__scopeSlider),[r,i]=A.useState(null),a=S(t,e=>i(e)),o=A.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,j.jsx)(Xe,{...e,ref:a,index:o})}),Xe=A.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:i,...a}=e,o=Be(Je,n),s=I(Je,n),[c,l]=A.useState(null),u=S(t,e=>l(e)),d=c?o.form||!!c.closest(`form`):!0,f=re(c),p=o.values[r],m=p===void 0?0:R(p,o.min,o.max),g=$e(r,o.values.length),_=f?.[s.size],v=_?z(_,m,s.direction):0;return A.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),(0,j.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[s.startEdge]:`calc(${m}% + ${v}px)`},children:[(0,j.jsx)(N.ItemSlot,{scope:e.__scopeSlider,children:(0,j.jsx)(b.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":o.min,"aria-valuenow":p,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?``:void 0,tabIndex:o.disabled?void 0:0,...a,ref:u,style:p===void 0?{display:`none`}:e.style,onFocus:h(e.onFocus,()=>{o.valueIndexToChangeRef.current=r})})}),d&&(0,j.jsx)(L,{name:i??(o.name?o.name+(o.values.length>1?`[]`:``):void 0),form:o.form,value:p},r)]})});Ye.displayName=Je;var Ze=`RadioBubbleInput`,L=A.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let i=A.useRef(null),a=S(i,r),o=de(t);return A.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`input`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,j.jsx)(b.input,{style:{display:`none`},...n,ref:a,defaultValue:t})});L.displayName=Ze;function Qe(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function R(e,t,n){return ce(100/(n-t)*(e-t),[0,100])}function $e(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function et(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function z(e,t,n){let r=e/2;return(r-nt([0,50],[0,r])(t)*n)*n}function B(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function tt(e,t){if(t>0){let n=B(e);return Math.min(...n)>=t}return!0}function nt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function rt(e){return(String(e).split(`.`)[1]||``).length}function it(e,t){let n=10**t;return Math.round(e*n)/n}var at=P,ot=Ge,st=qe,ct=Ye,lt=A.forwardRef((e,t)=>{let n=(0,je.c)(22),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,valueTooltip:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let[o,s]=A.useState(!1),[c,l]=A.useState(!1),u,d;n[4]===c?(u=n[5],d=n[6]):(u=()=>{if(!c)return;let e=function(){l(!1)};return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e)}},d=[c],n[4]=c,n[5]=u,n[6]=d),A.useEffect(u,d);let f;n[7]===a?f=n[8]:(f=(0,j.jsx)(ct,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,onPointerDown:()=>{a!=null&&(l(!0),s(!0))}}),n[7]=a,n[8]=f);let p=f,m;n[9]===r?m=n[10]:(m=C(`relative flex w-full touch-none select-none items-center`,r),n[9]=r,n[10]=m);let h;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsx)(ot,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,j.jsx)(st,{className:`absolute h-full bg-primary`})}),n[11]=h):h=n[11];let g;n[12]!==c||n[13]!==o||n[14]!==p||n[15]!==a?(g=a==null?p:(0,j.jsxs)(oe,{open:o||c,onOpenChange:s,children:[(0,j.jsx)(ie,{asChild:!0,children:p}),(0,j.jsx)(ae,{side:`top`,children:a})]}),n[12]=c,n[13]=o,n[14]=p,n[15]=a,n[16]=g):g=n[16];let _;return n[17]!==i||n[18]!==t||n[19]!==m||n[20]!==g?(_=(0,j.jsxs)(at,{ref:t,className:m,...i,children:[h,g]}),n[17]=i,n[18]=t,n[19]=m,n[20]=g,n[21]=_):_=n[21],_});lt.displayName=at.displayName;var ut=i(`app.use-maximum-turn-count.hook`),dt=100;function ft(){let[e,t]=(0,A.useState)(dt),[n,r]=(0,A.useState)(dt.toString()),[i,a]=(0,A.useState)(!0),[o,s]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.maximumTurnCount),r(n.maximumTurnCount.toString()))}catch(e){ut.error(`Failed to load maximum turn count:`,e)}finally{e||a(!1)}}return n(),()=>{e=!0}},[]);function c(e){r(e)}async function l(e){s(!0);try{let n=await D({maximumTurnCount:e});t(n.maximumTurnCount),r(n.maximumTurnCount.toString())}catch(e){throw ut.error(`Failed to update maximum turn count:`,e),e}finally{s(!1)}}function u(){r(e.toString())}return{defaultMaximumTurnCount:dt,draftMaximumTurnCount:n,isLoading:i,isSaving:o,maximumTurnCount:e,resetDraftMaximumTurnCount:u,setDraftMaximumTurnCount:c,updateMaximumTurnCount:l}}var pt=i(`app.use-screen-recording-permission.hook`),mt={isMacOS:!1,granted:!1,available:!1,message:``};function ht(){return{...mt,isMacOS:Ae()}}function gt(){let[e,t]=(0,A.useState)(ht),[n,r]=(0,A.useState)(!0),[i,a]=(0,A.useState)(null),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(null),u=(0,A.useCallback)(async()=>{r(!0),a(null);try{t(await ne(`api/system-permissions/screen-recording`))}catch(e){a(e instanceof Error?e.message:`Failed to check screen recording permission`),t(e=>({...mt,isMacOS:e?.isMacOS??Ae(),message:`Unable to check permission status.`}))}finally{r(!1)}},[]);return(0,A.useEffect)(()=>{u()},[u]),{status:e,isLoading:n,error:i,isOpeningSettings:o,openSettingsError:c,refresh:u,openSystemSettings:(0,A.useCallback)(async()=>{s(!0),l(null);try{let e=await E(`api/system-permissions/screen-recording/open-settings`,{});if(!e.success){let t=e.message||`Failed to open System Settings`;pt.error(`[useScreenRecordingPermission] ${t}`,e.error),l(t)}}catch(e){let t=e instanceof Error?e.message:`Failed to open System Settings`;pt.error(`[useScreenRecordingPermission] Error opening System Settings:`,e),l(t)}finally{s(!1)}},[])}}var _t=i(`app.use-server-bind-mode.hook`),vt=`local`,yt=`tarsk-server-bind-mode-changed`;function bt(e){te(e)}function xt(){if(typeof window>`u`)return!1;try{return sessionStorage.getItem(yt)===`true`}catch{return!1}}function St(e){if(!(typeof window>`u`))try{e?sessionStorage.setItem(yt,`true`):sessionStorage.removeItem(yt)}catch{}}function Ct(){let[e,t]=(0,A.useState)(()=>O()?.serverBindMode??vt),[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(()=>O()?.networkAddresses??[]),[o,s]=(0,A.useState)(()=>O()===null),[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(xt);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.serverBindMode),r(n.serverBindMode),a(n.networkAddresses),bt({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}))}catch(e){_t.error(`Failed to load server bind mode:`,e)}finally{e||s(!1)}}return n(),()=>{e=!0}},[]);async function f(e){l(!0);try{let n=await D({serverBindMode:e});t(n.serverBindMode),a(n.networkAddresses),bt({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}),d(!0),St(!0)}catch(e){throw _t.error(`Failed to update server bind mode:`,e),e}finally{l(!1)}}let p=n!==null&&e!==n;return{defaultServerBindMode:vt,hasServerBindModeChanged:p,isLoading:o,isSaving:c,needsRestart:p||u,networkAddresses:i,serverBindMode:e,updateServerBindMode:f}}var wt=i(`app.use-logging.hook`);function Tt(){let[e,t]=(0,A.useState)(!1),[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(null),[c,l]=(0,A.useState)(!0),[u,d]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost))}catch(e){wt.error(`Failed to load logging setting:`,e)}finally{e||l(!1)}}return n(),()=>{e=!0}},[]);async function f(e){d(!0);try{let n=await D({loggingEnabled:e});t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost)}catch(e){throw wt.error(`Failed to update logging setting:`,e),e}finally{d(!1)}}return{ingestingHost:o,isEnabled:e,isEnvConfigured:i,isLoading:c,isSaving:u,logPath:n,updateIsEnabled:f}}var Et=Object.defineProperty,V=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Dt=(e,t,n)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ot=(e,t)=>{for(var n in t||={})H.call(t,n)&&Dt(e,n,t[n]);if(V)for(var n of V(t))U.call(t,n)&&Dt(e,n,t[n]);return e},W=(e,t)=>{var n={};for(var r in e)H.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&V)for(var r of V(e))t.indexOf(r)<0&&U.call(e,r)&&(n[r]=e[r]);return n},G;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(G||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(G||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(G||={});var K=G,kt={L:K.QrCode.Ecc.LOW,M:K.QrCode.Ecc.MEDIUM,Q:K.QrCode.Ecc.QUARTILE,H:K.QrCode.Ecc.HIGH},At=128,q=`L`,J=`#FFFFFF`,Y=`#000000`,X=!1,Z=1,jt=4,Mt=0,Nt=.1;function Q(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function $(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function Pt(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Nt),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Ft(e,t){return t==null?e?jt:Mt:Math.max(Math.floor(t),0)}function It({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=A.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...K.QrSegment.makeSegments(t)),e),[]);return K.QrCode.encodeSegments(r,kt[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=A.useMemo(()=>{let e=c.getModules(),t=Ft(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Pt(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var Lt=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Rt=A.forwardRef(function(e,t){let n=e,{value:r,size:i=At,level:a=q,bgColor:o=J,fgColor:s=Y,includeMargin:c=X,minVersion:l=Z,boostLevel:u,marginSize:d,imageSettings:f}=n,p=W(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=W(p,[`style`]),g=f?.src,_=A.useRef(null),v=A.useRef(null),y=A.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=A.useState(!1),{margin:ee,cells:S,numCells:C,calculatedImageSettings:w}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});A.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=S,r=v.current,a=w!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&w.excavation!=null&&(n=$(S,w.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/C*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,C,C),t.fillStyle=s,Lt?t.fill(new Path2D(Q(n,ee))):S.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+ee,n+ee,1,1)})}),w&&(t.globalAlpha=w.opacity),a&&t.drawImage(r,w.x+ee,w.y+ee,w.w,w.h)}}),A.useEffect(()=>{x(!1)},[g]);let T=Ot({height:i,width:i},m),E=null;return g!=null&&(E=A.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:w?.crossOrigin})),A.createElement(A.Fragment,null,A.createElement(`canvas`,Ot({style:T,height:i,width:i,ref:y,role:`img`},h)),E)});Rt.displayName=`QRCodeCanvas`;var zt=A.forwardRef(function(e,t){let n=e,{value:r,size:i=At,level:a=q,bgColor:o=J,fgColor:s=Y,includeMargin:c=X,minVersion:l=Z,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=W(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=$(g,v.excavation)),b=A.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=Q(y,h);return A.createElement(`svg`,Ot({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&A.createElement(`title`,null,d),A.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),A.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});zt.displayName=`QRCodeSVG`;var Bt=[{value:`light`,label:`Light`,icon:c},{value:`dark`,label:`Dark`,icon:v},{value:`system`,label:`System`,icon:l}],Vt=[{value:`image`,label:`Image`,icon:u},{value:`background`,label:`Background`,icon:p}],Ht=`flex h-7 w-7 min-h-0 min-w-0 items-center justify-center rounded-full border-0 bg-background p-0 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`,Ut=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,Wt=[`462`,`8100`].includes(typeof document<`u`?document.location.port:``)?`462`:`641`,Gt=600;function Kt(e){let t=(0,je.c)(224),{onboardingResetSignal:n}=e,r=n===void 0?0:n,[i,c]=(0,A.useState)(!1),{theme:l,setTheme:u}=ve(),{scale:p,updateScale:h,min:_,max:v}=we(),{opacity:y,updateOpacity:b,min:S,max:T}=Ce(),{mode:E,color:te,updateMode:D,updateColor:ne}=ye(),{color:O,updateColor:re,resetColor:se}=Te(),{defaultMaximumTurnCount:ce,draftMaximumTurnCount:le,isLoading:de,isSaving:Ae,resetDraftMaximumTurnCount:Me,setDraftMaximumTurnCount:Ne,updateMaximumTurnCount:Pe}=ft(),{status:M,isLoading:N,isOpeningSettings:Fe,openSettingsError:Ie,refresh:Le,openSystemSettings:Re}=gt(),{isLoading:ze,isSaving:Be,needsRestart:P,networkAddresses:F,serverBindMode:I,updateServerBindMode:Ve}=Ct(),{isEnabled:He,isLoading:Ue,isSaving:We,updateIsEnabled:Ge}=xe(),{isEnabled:Ke,isLoading:qe,isSaving:Je,updateIsEnabled:Ye}=pe(),{isEnabled:Xe,isSupported:Ze,isHealthy:L,statusMessage:Qe,isLoading:R,isSaving:$e,updateIsEnabled:et}=be(),{isEnabled:z,logPath:B,isEnvConfigured:tt,ingestingHost:nt,isLoading:rt,isSaving:it,updateIsEnabled:at}=Tt(),ot;t[0]!==rt||t[1]!==de||t[2]!==N||t[3]!==R||t[4]!==ze||t[5]!==qe||t[6]!==Ue?(ot=[de,N,ze,Ue,qe,R,rt],t[0]=rt,t[1]=de,t[2]=N,t[3]=R,t[4]=ze,t[5]=qe,t[6]=Ue,t[7]=ot):ot=t[7];let st=ke(`general`,ot),ct,ut;t[8]===r?(ct=t[9],ut=t[10]):(ct=()=>{if(r===0)return;c(!0);let e=setTimeout(()=>{c(!1)},Gt);return()=>{clearTimeout(e)}},ut=[r],t[8]=r,t[9]=ct,t[10]=ut),(0,A.useEffect)(ct,ut);let dt;t[11]===Ne?dt=t[12]:(dt=function(e){Ne(e.target.value)},t[11]=Ne,t[12]=dt);let pt=dt,mt;t[13]!==ce||t[14]!==le||t[15]!==Me||t[16]!==Pe?(mt=async function(){let e=Number.parseInt(le,10),t=Number.isFinite(e)&&e>0?e:ce;try{await Pe(t)}catch{Me()}},t[13]=ce,t[14]=le,t[15]=Me,t[16]=Pe,t[17]=mt):mt=t[17];let ht=mt,_t;t[18]===h?_t=t[19]:(_t=function(e){e.length>0&&h(e[0])},t[18]=h,t[19]=_t);let vt=_t,yt;t[20]===b?yt=t[21]:(yt=function(e){e.length>0&&b(e[0])},t[20]=b,t[21]=yt);let bt=yt,xt;t[22]===B?xt=t[23]:(xt=async function(){if(B)try{await navigator.clipboard.writeText(B),ue({title:`Copied`,description:`Log file path copied to clipboard.`})}catch(e){let t=e;ue({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the log file path.`,variant:`destructive`})}},t[22]=B,t[23]=xt);let St=xt,[wt,Et]=(0,A.useState)(!1),V,H,U;t[24]!==F||t[25]!==I?(V=async function(){if(H)try{await navigator.clipboard.writeText(H),Et(!0),ue({title:`Copied`,description:`Network URL copied to clipboard.`}),window.setTimeout(()=>{Et(!1)},1500)}catch(e){let t=e;ue({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the network URL.`,variant:`destructive`})}},U=I===`network`&&F.length>0,H=U?`http://${F[0]}:${Wt}`:null,t[24]=F,t[25]=I,t[26]=V,t[27]=H,t[28]=U):(V=t[26],H=t[27],U=t[28]);let Dt=U&&H,Ot=i&&`animate-headline-reset`,W;t[29]===Ot?W=t[30]:(W=C(Ot),t[29]=Ot,t[30]=W);let G;t[31]===W?G=t[32]:(G=(0,j.jsx)(Se,{title:`Appearance`,titleClassName:W,className:`[&>div:first-child]:py-2`,sticky:!1}),t[31]=W,t[32]=G);let K;t[33]===_?K=t[34]:(K=(0,j.jsxs)(`span`,{className:`${a.bodyMuted} w-8 shrink-0 text-right`,children:[_,`%`]}),t[33]=_,t[34]=K);let kt;t[35]===p?kt=t[36]:(kt=[p],t[35]=p,t[36]=kt);let At=`${p}%`,q;t[37]!==vt||t[38]!==v||t[39]!==_||t[40]!==kt||t[41]!==At?(q=(0,j.jsx)(lt,{value:kt,min:_,max:v,step:5,onValueChange:vt,"aria-label":`Font size`,valueTooltip:At}),t[37]=vt,t[38]=v,t[39]=_,t[40]=kt,t[41]=At,t[42]=q):q=t[42];let J;t[43]===v?J=t[44]:(J=(0,j.jsxs)(`span`,{className:`${a.bodyMuted} w-9 shrink-0`,children:[v,`%`]}),t[43]=v,t[44]=J);let Y;t[45]!==K||t[46]!==q||t[47]!==J?(Y=(0,j.jsx)(k,{title:`Font Size`,description:`Adjust the text size across the entire application.`,children:(0,j.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[K,q,J]})}),t[45]=K,t[46]=q,t[47]=J,t[48]=Y):Y=t[48];let X;t[49]===S?X=t[50]:(X=(0,j.jsxs)(`span`,{className:`${a.bodyMuted} w-8 shrink-0 text-right`,children:[S,`%`]}),t[49]=S,t[50]=X);let Z;t[51]===y?Z=t[52]:(Z=[y],t[51]=y,t[52]=Z);let jt=`${y}%`,Mt;t[53]!==T||t[54]!==S||t[55]!==bt||t[56]!==Z||t[57]!==jt?(Mt=(0,j.jsx)(lt,{value:Z,min:S,max:T,step:5,onValueChange:bt,"aria-label":`Panel opacity`,valueTooltip:jt}),t[53]=T,t[54]=S,t[55]=bt,t[56]=Z,t[57]=jt,t[58]=Mt):Mt=t[58];let Nt;t[59]===T?Nt=t[60]:(Nt=(0,j.jsxs)(`span`,{className:`${a.bodyMuted} w-9 shrink-0`,children:[T,`%`]}),t[59]=T,t[60]=Nt);let Q;t[61]!==X||t[62]!==Mt||t[63]!==Nt?(Q=(0,j.jsx)(k,{title:`Panel Opacity`,description:`Adjust how opaque the frosted panels are over the wallpaper.`,children:(0,j.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[X,Mt,Nt]})}),t[61]=X,t[62]=Mt,t[63]=Nt,t[64]=Q):Q=t[64];let $;t[65]===u?$=t[66]:($=e=>{(e===`light`||e===`dark`||e===`system`)&&u(e)},t[65]=u,t[66]=$);let Pt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=Bt.map(Yt),t[67]=Pt):Pt=t[67];let Ft;t[68]!==$||t[69]!==l?(Ft=(0,j.jsx)(k,{title:`Appearance`,description:`Choose your preferred color scheme.`,controlLayout:`row-end`,action:(0,j.jsx)(Oe,{type:`single`,value:l,onValueChange:$,"aria-label":`Appearance`,className:Ut,children:Pt})}),t[68]=$,t[69]=l,t[70]=Ft):Ft=t[70];let It;t[71]===D?It=t[72]:(It=e=>{(e===`image`||e===`background`||e===`color`)&&D(e)},t[71]=D,t[72]=It);let Lt;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Lt=Vt.map(Jt),t[73]=Lt):Lt=t[73];let Rt;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=C(Ht,`relative overflow-hidden`),t[74]=Rt):Rt=t[74];let Kt;t[75]===te?Kt=t[76]:(Kt=(0,j.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:te},"aria-hidden":`true`}),t[75]=te,t[76]=Kt);let Xt;t[77]===D?Xt=t[78]:(Xt=()=>{D(`color`)},t[77]=D,t[78]=Xt);let Zt;t[79]!==ne||t[80]!==D?(Zt=e=>{ne(e.target.value),D(`color`)},t[79]=ne,t[80]=D,t[81]=Zt):Zt=t[81];let Qt;t[82]!==Xt||t[83]!==Zt||t[84]!==te?(Qt=(0,j.jsx)(`input`,{type:`color`,value:te,"aria-label":`Choose wallpaper color`,className:`absolute inset-0 cursor-pointer opacity-0`,onPointerDown:Xt,onChange:Zt}),t[82]=Xt,t[83]=Zt,t[84]=te,t[85]=Qt):Qt=t[85];let $t;t[86]!==Kt||t[87]!==Qt?($t=(0,j.jsxs)(De,{value:`color`,"aria-label":`Custom color`,className:Rt,children:[Kt,Qt]}),t[86]=Kt,t[87]=Qt,t[88]=$t):$t=t[88];let en;t[89]!==It||t[90]!==$t||t[91]!==E?(en=(0,j.jsx)(k,{title:`Wallpaper`,description:`Choose a scenic image, the theme background, or a custom color.`,controlLayout:`row-end`,action:(0,j.jsxs)(Oe,{type:`single`,value:E,onValueChange:It,"aria-label":`Wallpaper`,className:Ut,children:[Lt,$t]})}),t[89]=It,t[90]=$t,t[91]=E,t[92]=en):en=t[92];let tn;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(tn=C(Ht,`relative cursor-pointer overflow-hidden`),t[93]=tn):tn=t[93];let nn;t[94]===O?nn=t[95]:(nn=(0,j.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:O},"aria-hidden":`true`}),t[94]=O,t[95]=nn);let rn;t[96]===re?rn=t[97]:(rn=e=>{re(e.target.value)},t[96]=re,t[97]=rn);let an;t[98]!==O||t[99]!==rn?(an=(0,j.jsx)(`input`,{type:`color`,value:O,"aria-label":`Primary color`,className:`absolute inset-0 cursor-pointer opacity-0`,onChange:rn}),t[98]=O,t[99]=rn,t[100]=an):an=t[100];let on;t[101]!==nn||t[102]!==an?(on=(0,j.jsx)(`div`,{className:Ut,children:(0,j.jsxs)(`label`,{className:tn,children:[nn,an]})}),t[101]=nn,t[102]=an,t[103]=on):on=t[103];let sn;t[104]!==se||t[105]!==on?(sn=(0,j.jsx)(k,{title:`Primary Color`,description:`Choose the primary accent color used across the app. Click the label to reset to default.`,controlLayout:`row-end`,onTitleClick:se,action:on}),t[104]=se,t[105]=on,t[106]=sn):sn=t[106];let cn;t[107]!==Y||t[108]!==Q||t[109]!==Ft||t[110]!==en||t[111]!==sn?(cn=(0,j.jsx)(ge,{className:`max-w-none pt-0`,children:(0,j.jsxs)(me,{children:[Y,Q,Ft,en,sn]})}),t[107]=Y,t[108]=Q,t[109]=Ft,t[110]=en,t[111]=sn,t[112]=cn):cn=t[112];let ln;t[113]!==G||t[114]!==cn?(ln=(0,j.jsxs)(fe,{className:`shrink-0`,children:[G,cn]}),t[113]=G,t[114]=cn,t[115]=ln):ln=t[115];let un;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(un=(0,j.jsx)(Se,{title:`Settings`,className:`[&>div:first-child]:py-2`,sticky:!1}),t[116]=un):un=t[116];let dn=`Set how many turns a long-running agent chat can take before Tarsk asks whether to continue. Default: ${ce} turns.`,fn;t[117]===ht?fn=t[118]:(fn=()=>{ht()},t[117]=ht,t[118]=fn);let pn=de||Ae,mn;t[119]!==le||t[120]!==pt||t[121]!==fn||t[122]!==pn?(mn=(0,j.jsx)(he,{type:`number`,min:1,step:1,value:le,onChange:pt,onBlur:fn,disabled:pn,"aria-label":`Maximum turn count`,className:`w-28 text-right font-mono tabular-nums flex-shrink-0`}),t[119]=le,t[120]=pt,t[121]=fn,t[122]=pn,t[123]=mn):mn=t[123];let hn;t[124]!==dn||t[125]!==mn?(hn=(0,j.jsx)(k,{title:`Maximum Turn Count`,description:dn,controlLayout:`row-end`,action:mn}),t[124]=dn,t[125]=mn,t[126]=hn):hn=t[126];let gn;t[127]===Ge?gn=t[128]:(gn=e=>{Ge(e)},t[127]=Ge,t[128]=gn);let _n=Ue||We,vn;t[129]!==gn||t[130]!==_n||t[131]!==He?(vn=(0,j.jsx)(k,{title:`AI Voice Cleanup`,description:`After stopping voice recording, run the transcription through AI to remove filler words, false starts, and repetitions.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:He,onChange:gn,disabled:_n,ariaLabel:`AI Voice Cleanup`})}),t[129]=gn,t[130]=_n,t[131]=He,t[132]=vn):vn=t[132];let yn;t[133]===Ye?yn=t[134]:(yn=e=>{Ye(e)},t[133]=Ye,t[134]=yn);let bn=qe||Je,xn;t[135]!==Ke||t[136]!==yn||t[137]!==bn?(xn=(0,j.jsx)(k,{title:`Spend`,description:`Show an estimated spend counter in the chat header.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:Ke,onChange:yn,disabled:bn,ariaLabel:`Spend`})}),t[135]=Ke,t[136]=yn,t[137]=bn,t[138]=xn):xn=t[138];let Sn;t[139]!==Fe||t[140]!==N||t[141]!==Re||t[142]!==Le||t[143]!==Ie||t[144]!==M?.granted||t[145]!==M?.isMacOS||t[146]!==M?.message?(Sn=M?.isMacOS&&(0,j.jsx)(k,{title:`Screen & Audio Recording`,description:`Tarsk needs this macOS permission to capture screen content for browser tools and screen sharing features.`,controlLayout:`row-end`,action:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!N&&M?.granted?(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(x,{className:`h-4 w-4 text-green-500`}),(0,j.jsx)(`span`,{className:C(a.body,`text-green-600 dark:text-green-400`),children:`Permission granted`})]}):N?null:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(d,{className:`h-4 w-4 text-amber-500`}),(0,j.jsx)(`span`,{className:C(a.body,`text-amber-600 dark:text-amber-400`),children:`Permission not granted`})]}),(0,j.jsxs)(w,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7 shrink-0 rounded-full border-0 bg-background hover:bg-background hover:text-foreground`,onClick:()=>void Le(),disabled:N,children:[N?(0,j.jsx)(s,{className:`h-3.5 w-3.5 animate-spin`}):(0,j.jsx)(m,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Refresh permission status`})]})]}),children:!N&&!M?.granted?(0,j.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,j.jsx)(`p`,{className:a.bodyMuted,children:M?.message??`Tarsk needs Screen & Audio Recording permission to use browser tools.`}),(0,j.jsx)(w,{size:`sm`,onClick:()=>void Re(),disabled:Fe,className:`w-fit`,children:Fe?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(s,{className:`h-4 w-4 mr-2 animate-spin`}),`Opening Settings...`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{className:`h-4 w-4 mr-2`}),`Open System Settings`]})}),Ie&&(0,j.jsxs)(`div`,{className:`flex items-start gap-2 p-3 rounded-md bg-destructive/10 text-destructive`,children:[(0,j.jsx)(f,{className:`h-4 w-4 mt-0.5 flex-shrink-0`}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)(`p`,{className:a.body,children:`Failed to open System Settings`}),(0,j.jsx)(`p`,{className:a.bodyMuted,children:Ie}),(0,j.jsxs)(`p`,{className:a.bodyMuted,children:[`Please open it manually:`,` `,(0,j.jsx)(`strong`,{children:`System Settings > Privacy & Security > Screen & System Audio Recording`})]})]})]})]}):null}),t[139]=Fe,t[140]=N,t[141]=Re,t[142]=Le,t[143]=Ie,t[144]=M?.granted,t[145]=M?.isMacOS,t[146]=M?.message,t[147]=Sn):Sn=t[147];let Cn;t[148]!==R||t[149]!==$e||t[150]!==Xe||t[151]!==L||t[152]!==Qe||t[153]!==Ze||t[154]!==et?(Cn=Ze&&(0,j.jsx)(k,{title:`Sandbox`,description:`Sandbox tools like bash and skill script execution to allow running and testing code safely without risking your system, files, or data.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:Xe&&L,onChange:e=>{e&&!L||et(e).catch(qt)},disabled:R||$e,disableOn:!L,ariaLabel:`Sandbox`}),children:!R&&!L?(0,j.jsxs)(`div`,{className:`flex items-start gap-2 text-destructive`,children:[(0,j.jsx)(d,{className:`h-4 w-4 mt-0.5 shrink-0`}),(0,j.jsx)(`p`,{className:a.bodyMuted,children:Qe||`Seatbelt sandbox failed its health check and cannot be enabled.`})]}):null}),t[148]=R,t[149]=$e,t[150]=Xe,t[151]=L,t[152]=Qe,t[153]=Ze,t[154]=et,t[155]=Cn):Cn=t[155];let wn;t[156]===at?wn=t[157]:(wn=e=>{at(e)},t[156]=at,t[157]=wn);let Tn=rt||it,En;t[158]!==z||t[159]!==wn||t[160]!==Tn?(En=(0,j.jsx)(ie,{asChild:!0,children:(0,j.jsx)(`span`,{className:`inline-flex`,children:(0,j.jsx)(Ee,{value:z,onChange:wn,disabled:Tn,ariaLabel:`Logging`})})}),t[158]=z,t[159]=wn,t[160]=Tn,t[161]=En):En=t[161];let Dn=z&&B?`max-w-sm cursor-pointer`:`max-w-sm`,On;t[162]!==St||t[163]!==z||t[164]!==B?(On=z&&B?()=>void St():void 0,t[162]=St,t[163]=z,t[164]=B,t[165]=On):On=t[165];let kn;t[166]!==z||t[167]!==B?(kn=z&&B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`p`,{children:`Click to copy log file path`}),(0,j.jsx)(`p`,{className:C(a.mono,`mt-1 break-all`),children:B})]}):(0,j.jsx)(`p`,{children:`Enable logging to write to a local file.`}),t[166]=z,t[167]=B,t[168]=kn):kn=t[168];let An;t[169]!==Dn||t[170]!==On||t[171]!==kn?(An=(0,j.jsx)(ae,{className:Dn,onClick:On,children:kn}),t[169]=Dn,t[170]=On,t[171]=kn,t[172]=An):An=t[172];let jn;t[173]!==En||t[174]!==An?(jn=(0,j.jsxs)(oe,{children:[En,An]}),t[173]=En,t[174]=An,t[175]=jn):jn=t[175];let Mn;t[176]!==nt||t[177]!==tt||t[178]!==z?(Mn=z&&tt&&nt&&(0,j.jsxs)(`p`,{className:`${a.bodyMuted} mt-3`,children:[`Also sending logs to Better Stack at`,` `,(0,j.jsx)(`span`,{className:a.mono,children:nt})]}),t[176]=nt,t[177]=tt,t[178]=z,t[179]=Mn):Mn=t[179];let Nn;t[180]!==jn||t[181]!==Mn?(Nn=(0,j.jsx)(k,{title:`Logging`,description:`Write verbose application logs to a local file. When Better Stack environment variables are configured, logs are sent there too.`,controlLayout:`row-end`,action:jn,children:Mn}),t[180]=jn,t[181]=Mn,t[182]=Nn):Nn=t[182];let Pn=I===`network`,Fn;t[183]===Ve?Fn=t[184]:(Fn=e=>{Ve(e?`network`:`local`)},t[183]=Ve,t[184]=Fn);let In=ze||Be,Ln;t[185]!==Pn||t[186]!==Fn||t[187]!==In?(Ln=(0,j.jsx)(Ee,{value:Pn,onChange:Fn,disabled:In,ariaLabel:`Mobile & Network Access`}),t[185]=Pn,t[186]=Fn,t[187]=In,t[188]=Ln):Ln=t[188];let Rn;t[189]!==wt||t[190]!==V||t[191]!==H||t[192]!==P||t[193]!==U?(Rn=U&&H&&(0,j.jsxs)(`div`,{className:`mt-3`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxs)(`p`,{className:a.bodyMuted,children:[`Available on the network at:`,` `,(0,j.jsx)(`span`,{className:a.mono,children:H})]}),(0,j.jsxs)(oe,{children:[(0,j.jsx)(ie,{asChild:!0,children:(0,j.jsxs)(`button`,{type:`button`,onClick:()=>void V(),className:`inline-flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm transition-colors hover:bg-background`,children:[wt?(0,j.jsx)(o,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(ee,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy network URL`})]})}),(0,j.jsx)(ae,{children:wt?`Copied!`:`Copy to clipboard`})]})]}),P&&(0,j.jsx)(`p`,{className:`${a.bodyMuted} mt-1`,children:`You will need to restart for this setting to take effect.`})]}),t[189]=wt,t[190]=V,t[191]=H,t[192]=P,t[193]=U,t[194]=Rn):Rn=t[194];let zn;t[195]!==F||t[196]!==I?(zn=I===`network`&&F.length===0&&(0,j.jsx)(`p`,{className:`${a.bodyMuted} mt-3`,children:`No network IP addresses were detected on this computer.`}),t[195]=F,t[196]=I,t[197]=zn):zn=t[197];let Bn;t[198]!==P||t[199]!==I?(Bn=P&&I===`local`&&(0,j.jsx)(`p`,{className:`${a.bodyMuted} mt-3`,children:`You will need to restart for this setting to take effect.`}),t[198]=P,t[199]=I,t[200]=Bn):Bn=t[200];let Vn;t[201]!==Ln||t[202]!==Rn||t[203]!==zn||t[204]!==Bn?(Vn=(0,j.jsxs)(k,{title:`Mobile & Network Access`,description:`Allow the Tarsk mobile app or other web browsers to access Tarsk on the wifi network.`,controlLayout:`row-end`,action:Ln,children:[Rn,zn,Bn]}),t[201]=Ln,t[202]=Rn,t[203]=zn,t[204]=Bn,t[205]=Vn):Vn=t[205];let Hn;t[206]!==hn||t[207]!==vn||t[208]!==xn||t[209]!==Sn||t[210]!==Cn||t[211]!==Nn||t[212]!==Vn?(Hn=(0,j.jsxs)(fe,{className:`shrink-0`,children:[un,(0,j.jsx)(ge,{className:`max-w-none pt-0`,children:(0,j.jsxs)(me,{children:[hn,vn,xn,Sn,Cn,Nn,Vn]})})]}),t[206]=hn,t[207]=vn,t[208]=xn,t[209]=Sn,t[210]=Cn,t[211]=Nn,t[212]=Vn,t[213]=Hn):Hn=t[213];let Un;t[214]!==H||t[215]!==Dt?(Un=Dt?(0,j.jsxs)(fe,{className:`shrink-0`,children:[(0,j.jsx)(Se,{title:`Mobile App`,description:`Scan this code with the Tarsk mobile app to connect on your Wi-Fi network.`,sticky:!1}),(0,j.jsx)(`div`,{className:`flex flex-col items-center px-6 pb-6 pt-6`,children:(0,j.jsx)(`div`,{className:`rounded-lg bg-background p-3`,children:(0,j.jsx)(zt,{value:H,size:128,bgColor:`hsl(var(--background))`,fgColor:`hsl(var(--foreground))`,level:`M`})})})]}):null,t[214]=H,t[215]=Dt,t[216]=Un):Un=t[216];let Wn;t[217]!==ln||t[218]!==Hn||t[219]!==Un?(Wn=(0,j.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[ln,Hn,Un]}),t[217]=ln,t[218]=Hn,t[219]=Un,t[220]=Wn):Wn=t[220];let Gn;return t[221]!==st||t[222]!==Wn?(Gn=(0,j.jsx)(_e,{loading:st,children:Wn}),t[221]=st,t[222]=Wn,t[223]=Gn):Gn=t[223],Gn}function qt(){}function Jt(e){let t=e.icon;return(0,j.jsx)(De,{value:e.value,"aria-label":e.label,className:Ht,children:(0,j.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Yt(e){let t=e.icon;return(0,j.jsx)(De,{value:e.value,"aria-label":e.label,className:Ht,children:(0,j.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}export{Kt as default};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{at as r}from"./dist-ZlK7I-y-.js";import{r as i}from"./store-Be_7VK0D.js";import{Et as a}from"./dist-DIjomljy.js";import{t as o}from"./utils-CT-Dw22R.js";import{t as s}from"./button-sfGyFWfz.js";import{Bt as c,bn as l}from"./api-ODizoHnY.js";import{t as u}from"./use-toast-xpb5jNtN.js";import{In as d,Ln as f,Mn as p,Y as m,jn as h,kn as g}from"./index-Bmkj1Qwa.js";import{t as _}from"./use-settings-page-loading-BTySlInF.js";var v=e(t(),1),y=n();function b(){let e=i(e=>e.selectedThreadId),[t,n]=(0,v.useState)(``),[b,x]=(0,v.useState)(!0),[S,C]=(0,v.useState)(!1);(0,v.useLayoutEffect)(()=>{e&&x(!0)},[e]),(0,v.useEffect)(()=>{if(!e){x(!1);return}x(!0),c(e,`AGENTS.md`).then(e=>n(e.content)).catch(()=>n(``)).finally(()=>x(!1))},[e]);let w=_(e,[b]);async function T(){if(e){C(!0);try{await l(e,`AGENTS.md`,t),u({title:`Instructions saved`})}catch(e){u({title:`Error`,description:e instanceof Error?e.message:`Failed to save instructions`,variant:`destructive`})}finally{C(!1)}}}return e?(0,y.jsx)(p,{loading:w,children:(0,y.jsx)(h,{children:(0,y.jsxs)(f,{className:`w-full flex-1 flex flex-col min-h-0 pt-0`,children:[(0,y.jsx)(g,{title:`Instructions`,description:`Agent context and coding guidelines, stored in AGENTS.md.`,sticky:!1,action:(0,y.jsx)(s,{onClick:T,disabled:S,children:S?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(a,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`})}),(0,y.jsx)(m,{value:t,onChange:e=>n(e.target.value),className:o(r.mono,`frosted-scrollbar flex-1 min-h-0 resize-none`),placeholder:`Add instructions for your agent in AGENTS.md...`,disabled:S})]})})}):(0,y.jsx)(d,{children:`Select a thread to edit instructions.`})}export{b as SettingsInstructionsView,b as default};
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{ot as r}from"./dist-BWuYHVi8.js";import{r as i}from"./store-BaMSfYoJ.js";import{Et as a}from"./dist-DIjomljy.js";import{t as o}from"./utils-CT-Dw22R.js";import{t as s}from"./button-DeNw35VZ.js";import{Bt as c,bn as l}from"./api-BMo_Lz8f.js";import{t as u}from"./use-toast-xpb5jNtN.js";import{In as d,Ln as f,Mn as p,Y as m,jn as h,kn as g}from"./index-DjaVbFDB.js";import{t as _}from"./use-settings-page-loading-BTySlInF.js";var v=e(t(),1),y=n();function b(){let e=i(e=>e.selectedThreadId),[t,n]=(0,v.useState)(``),[b,x]=(0,v.useState)(!0),[S,C]=(0,v.useState)(!1);(0,v.useLayoutEffect)(()=>{e&&x(!0)},[e]),(0,v.useEffect)(()=>{if(!e){x(!1);return}x(!0),c(e,`AGENTS.md`).then(e=>n(e.content)).catch(()=>n(``)).finally(()=>x(!1))},[e]);let w=_(e,[b]);async function T(){if(e){C(!0);try{await l(e,`AGENTS.md`,t),u({title:`Instructions saved`})}catch(e){u({title:`Error`,description:e instanceof Error?e.message:`Failed to save instructions`,variant:`destructive`})}finally{C(!1)}}}return e?(0,y.jsx)(p,{loading:w,children:(0,y.jsx)(h,{children:(0,y.jsxs)(f,{className:`w-full flex-1 flex flex-col min-h-0 pt-0`,children:[(0,y.jsx)(g,{title:`Instructions`,description:`Agent context and coding guidelines, stored in AGENTS.md.`,sticky:!1,action:(0,y.jsx)(s,{onClick:T,disabled:S,children:S?(0,y.jsxs)(y.Fragment,{children:[(0,y.jsx)(a,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`})}),(0,y.jsx)(m,{value:t,onChange:e=>n(e.target.value),className:o(r.mono,`frosted-scrollbar flex-1 min-h-0 resize-none`),placeholder:`Add instructions for your agent in AGENTS.md...`,disabled:S})]})})}):(0,y.jsx)(d,{children:`Select a thread to edit instructions.`})}export{b as SettingsInstructionsView,b as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime-aKtaBQYM.js";import{n as e,o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{at as r}from"./dist-ZlK7I-y-.js";import{D as i,q as a}from"./dist-DIjomljy.js";import{t as o}from"./utils-CT-Dw22R.js";import{t as s}from"./button-sfGyFWfz.js";import{i as c,n as l,r as u,t as d}from"./tooltip-B6ziVyTv.js";import{An as f,Ft as p}from"./index-Bmkj1Qwa.js";import{t as m}from"./skeleton-DvLd14RU.js";import"./card-D5k0GHxM.js";var h=e();t();var g=n();function _(e){let t=(0,h.c)(14),{icon:n,title:i,description:a,bordered:s}=e,c=(s===void 0?!0:s)&&`border border-dashed rounded-lg`,l;t[0]===c?l=t[1]:(l=o(`text-center py-12 mb-8`,c),t[0]=c,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,g.jsx)(n,{className:`mx-auto h-10 w-10 text-muted-foreground/50 mb-3`}),t[2]=n,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=o(r.emptyStateTitle,`mb-1`),t[4]=d):d=t[4];let f;t[5]===i?f=t[6]:(f=(0,g.jsx)(`h3`,{className:d,children:i}),t[5]=i,t[6]=f);let p;t[7]===a?p=t[8]:(p=a?(0,g.jsx)(`p`,{className:o(r.bodyMuted,`mb-3`),children:a}):null,t[7]=a,t[8]=p);let m;return t[9]!==l||t[10]!==u||t[11]!==f||t[12]!==p?(m=(0,g.jsxs)(`div`,{className:l,children:[u,f,p]}),t[9]=l,t[10]=u,t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function v(e){let t=(0,h.c)(12),{placeholder:n,value:r,onChange:i,className:s}=e,c=s??`mb-4`,l;t[0]===c?l=t[1]:(l=o(`relative`,c),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,g.jsx)(a,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),t[2]=u):u=t[2];let d;t[3]===i?d=t[4]:(d=e=>i(e.target.value),t[3]=i,t[4]=d);let f;t[5]!==n||t[6]!==d||t[7]!==r?(f=(0,g.jsx)(p,{placeholder:n,value:r,onChange:d,className:`pl-8`}),t[5]=n,t[6]=d,t[7]=r,t[8]=f):f=t[8];let m;return t[9]!==l||t[10]!==f?(m=(0,g.jsxs)(`div`,{className:l,children:[u,f]}),t[9]=l,t[10]=f,t[11]=m):m=t[11],m}function y(e){let t=(0,h.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,g.jsx)(`div`,{className:`grid gap-2 [grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))]`,children:n}),t[0]=n,t[1]=r),r}function b(e){let t=(0,h.c)(3),{searchQuery:n,emptyLabel:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=o(r.bodyMuted,`text-center py-8`),t[0]=a):a=t[0];let s=n.trim()?`No results for "${n}"`:i,c;return t[1]===s?c=t[2]:(c=(0,g.jsx)(`p`,{className:a,children:s}),t[1]=s,t[2]=c),c}function x(e){let t=(0,h.c)(3),{message:n}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=o(r.bodyMuted,`text-center py-8`),t[0]=i):i=t[0];let a;return t[1]===n?a=t[2]:(a=(0,g.jsx)(`p`,{className:i,children:n}),t[1]=n,t[2]=a),a}var S=`shrink-0 items-center justify-center text-muted-foreground opacity-0 pointer-events-none can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground transition-[opacity,color,background-color]`;function C(e){let t=(0,h.c)(19),{loading:n,items:r,emptyState:a,getKey:p,columnsClassName:v,compact:y,showHeader:b,renderContent:x,renderMiddle:C,onItemClick:w,itemClickLabel:T,onDelete:E,deleteAriaLabel:D,deleteTooltip:O}=e,k=v===void 0?`grid-cols-[minmax(0,1fr)_1.75rem]`:v,A=y===void 0?!1:y,j=b===void 0?!0:b,M;t[0]===j?M=t[1]:(M=j?(0,g.jsx)(f,{title:`Installed`}):null,t[0]=j,t[1]=M);let N;t[2]!==k||t[3]!==A||t[4]!==D||t[5]!==O||t[6]!==a||t[7]!==p||t[8]!==T||t[9]!==r||t[10]!==n||t[11]!==E||t[12]!==w||t[13]!==x||t[14]!==C?(N=n?(0,g.jsxs)(`div`,{className:`space-y-3 mb-8`,children:[(0,g.jsx)(m,{className:o(`w-full`,A?`h-9`:`h-12`)}),(0,g.jsx)(m,{className:o(`w-full`,A?`h-9`:`h-12`)})]}):r.length===0?(0,g.jsx)(_,{...a}):(0,g.jsx)(`div`,{className:`divide-y divide-table-border`,children:r.map(e=>(0,g.jsxs)(`div`,{className:o(`group grid items-center gap-3 px-3 hover:bg-muted/30`,A?`min-h-10 py-2`:`min-h-13 py-3`,k,w&&`cursor-pointer`),role:w?`button`:void 0,tabIndex:w?0:void 0,"aria-label":w?T?.(e):void 0,onClick:w?()=>w(e):void 0,onKeyDown:w?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),w(e))}:void 0,children:[x(e),C?.(e),(0,g.jsx)(u,{children:(0,g.jsxs)(d,{children:[(0,g.jsx)(c,{asChild:!0,children:(0,g.jsx)(s,{type:`button`,variant:`ghost`,size:`icon-sm`,className:S,onClick:t=>{t.stopPropagation(),E(e)},"aria-label":D(e),children:(0,g.jsx)(i,{className:`h-4 w-4`})})}),(0,g.jsx)(l,{children:O})]})})]},p(e)))}),t[2]=k,t[3]=A,t[4]=D,t[5]=O,t[6]=a,t[7]=p,t[8]=T,t[9]=r,t[10]=n,t[11]=E,t[12]=w,t[13]=x,t[14]=C,t[15]=N):N=t[15];let P;return t[16]!==M||t[17]!==N?(P=(0,g.jsxs)(g.Fragment,{children:[M,N]}),t[16]=M,t[17]=N,t[18]=P):P=t[18],P}export{b as a,y as i,_ as n,v as o,C as r,x as s,S as t};
1
+ import"./rolldown-runtime-aKtaBQYM.js";import{n as e,o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{ot as r}from"./dist-BWuYHVi8.js";import{D as i,q as a}from"./dist-DIjomljy.js";import{t as o}from"./utils-CT-Dw22R.js";import{t as s}from"./button-DeNw35VZ.js";import{i as c,n as l,r as u,t as d}from"./tooltip-B6ziVyTv.js";import{An as f,Ft as p}from"./index-DjaVbFDB.js";import{t as m}from"./skeleton-DvLd14RU.js";import"./card-B4eI0NI-.js";var h=e();t();var g=n();function _(e){let t=(0,h.c)(14),{icon:n,title:i,description:a,bordered:s}=e,c=(s===void 0?!0:s)&&`border border-dashed rounded-lg`,l;t[0]===c?l=t[1]:(l=o(`text-center py-12 mb-8`,c),t[0]=c,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,g.jsx)(n,{className:`mx-auto h-10 w-10 text-muted-foreground/50 mb-3`}),t[2]=n,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=o(r.emptyStateTitle,`mb-1`),t[4]=d):d=t[4];let f;t[5]===i?f=t[6]:(f=(0,g.jsx)(`h3`,{className:d,children:i}),t[5]=i,t[6]=f);let p;t[7]===a?p=t[8]:(p=a?(0,g.jsx)(`p`,{className:o(r.bodyMuted,`mb-3`),children:a}):null,t[7]=a,t[8]=p);let m;return t[9]!==l||t[10]!==u||t[11]!==f||t[12]!==p?(m=(0,g.jsxs)(`div`,{className:l,children:[u,f,p]}),t[9]=l,t[10]=u,t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function v(e){let t=(0,h.c)(12),{placeholder:n,value:r,onChange:i,className:s}=e,c=s??`mb-4`,l;t[0]===c?l=t[1]:(l=o(`relative`,c),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,g.jsx)(a,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),t[2]=u):u=t[2];let d;t[3]===i?d=t[4]:(d=e=>i(e.target.value),t[3]=i,t[4]=d);let f;t[5]!==n||t[6]!==d||t[7]!==r?(f=(0,g.jsx)(p,{placeholder:n,value:r,onChange:d,className:`pl-8`}),t[5]=n,t[6]=d,t[7]=r,t[8]=f):f=t[8];let m;return t[9]!==l||t[10]!==f?(m=(0,g.jsxs)(`div`,{className:l,children:[u,f]}),t[9]=l,t[10]=f,t[11]=m):m=t[11],m}function y(e){let t=(0,h.c)(2),{children:n}=e,r;return t[0]===n?r=t[1]:(r=(0,g.jsx)(`div`,{className:`grid gap-2 [grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))]`,children:n}),t[0]=n,t[1]=r),r}function b(e){let t=(0,h.c)(3),{searchQuery:n,emptyLabel:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=o(r.bodyMuted,`text-center py-8`),t[0]=a):a=t[0];let s=n.trim()?`No results for "${n}"`:i,c;return t[1]===s?c=t[2]:(c=(0,g.jsx)(`p`,{className:a,children:s}),t[1]=s,t[2]=c),c}function x(e){let t=(0,h.c)(3),{message:n}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=o(r.bodyMuted,`text-center py-8`),t[0]=i):i=t[0];let a;return t[1]===n?a=t[2]:(a=(0,g.jsx)(`p`,{className:i,children:n}),t[1]=n,t[2]=a),a}var S=`shrink-0 items-center justify-center text-muted-foreground opacity-0 pointer-events-none can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground transition-[opacity,color,background-color]`;function C(e){let t=(0,h.c)(19),{loading:n,items:r,emptyState:a,getKey:p,columnsClassName:v,compact:y,showHeader:b,renderContent:x,renderMiddle:C,onItemClick:w,itemClickLabel:T,onDelete:E,deleteAriaLabel:D,deleteTooltip:O}=e,k=v===void 0?`grid-cols-[minmax(0,1fr)_1.75rem]`:v,A=y===void 0?!1:y,j=b===void 0?!0:b,M;t[0]===j?M=t[1]:(M=j?(0,g.jsx)(f,{title:`Installed`}):null,t[0]=j,t[1]=M);let N;t[2]!==k||t[3]!==A||t[4]!==D||t[5]!==O||t[6]!==a||t[7]!==p||t[8]!==T||t[9]!==r||t[10]!==n||t[11]!==E||t[12]!==w||t[13]!==x||t[14]!==C?(N=n?(0,g.jsxs)(`div`,{className:`space-y-3 mb-8`,children:[(0,g.jsx)(m,{className:o(`w-full`,A?`h-9`:`h-12`)}),(0,g.jsx)(m,{className:o(`w-full`,A?`h-9`:`h-12`)})]}):r.length===0?(0,g.jsx)(_,{...a}):(0,g.jsx)(`div`,{className:`divide-y divide-table-border`,children:r.map(e=>(0,g.jsxs)(`div`,{className:o(`group grid items-center gap-3 px-3 hover:bg-muted/30`,A?`min-h-10 py-2`:`min-h-13 py-3`,k,w&&`cursor-pointer`),role:w?`button`:void 0,tabIndex:w?0:void 0,"aria-label":w?T?.(e):void 0,onClick:w?()=>w(e):void 0,onKeyDown:w?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),w(e))}:void 0,children:[x(e),C?.(e),(0,g.jsx)(u,{children:(0,g.jsxs)(d,{children:[(0,g.jsx)(c,{asChild:!0,children:(0,g.jsx)(s,{type:`button`,variant:`ghost`,size:`icon-sm`,className:S,onClick:t=>{t.stopPropagation(),E(e)},"aria-label":D(e),children:(0,g.jsx)(i,{className:`h-4 w-4`})})}),(0,g.jsx)(l,{children:O})]})})]},p(e)))}),t[2]=k,t[3]=A,t[4]=D,t[5]=O,t[6]=a,t[7]=p,t[8]=T,t[9]=r,t[10]=n,t[11]=E,t[12]=w,t[13]=x,t[14]=C,t[15]=N):N=t[15];let P;return t[16]!==M||t[17]!==N?(P=(0,g.jsxs)(g.Fragment,{children:[M,N]}),t[16]=M,t[17]=N,t[18]=P):P=t[18],P}export{b as a,y as i,_ as n,v as o,C as r,x as s,S as t};
@@ -1,5 +1,5 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{l as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{S as a,at as o,v as s,y as c}from"./dist-ZlK7I-y-.js";import{An as l,Et as u,yn as d}from"./dist-DIjomljy.js";import{t as f}from"./utils-CT-Dw22R.js";import{t as p}from"./button-sfGyFWfz.js";import{On as m,Sr as h,d as g}from"./api-ODizoHnY.js";import{i as _,n as v,r as y,t as b}from"./tooltip-B6ziVyTv.js";import{r as x}from"./scroll-area-nbNFO91g.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{Ft as C,Ln as w,kn as T,mn as E}from"./index-Bmkj1Qwa.js";import{n as D,t as O}from"./toggle-group-BiUqOiP6.js";var k=t(),A=e(n(),1),j=r(),M=1e3,N=[c.INFO,c.WARN,c.ERROR],P=[...N],ee=`inline-flex h-11 shrink-0 rounded-full border bg-muted/40 p-2`,te=f(o.compact,`h-7 min-w-0 rounded-full border-0 px-2.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`);function ne(e,t){return t?[e.event,e.message,I(e.level),e.data===void 0?``:R(e.data)].join(` `).toLowerCase().includes(t):!0}function F(e){let t=typeof e==`number`?e:Number(e);return t===c.DEBUG||t===c.INFO||t===c.WARN||t===c.ERROR?t:null}function I(e){let t=F(e);return t===null?String(e):a(t)}function L(e,t){let n=F(e.level);return n!==null&&t.has(n)}function R(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function z(e){switch(F(e)??e){case c.ERROR:return`text-destructive`;case c.WARN:return`text-amber-600 dark:text-amber-400`;case c.INFO:return`text-foreground`;default:return`text-muted-foreground`}}function B(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function V(e){let t=[`${e.ts} ${I(e.level)} ${e.event}`,e.message];return e.data!==void 0&&t.push(R(e.data)),t.join(`
2
- `)}var H=(0,A.memo)(function(e){let t=(0,k.c)(40),{entry:n,copied:r,onCopy:i}=e,a;t[0]!==n||t[1]!==i?(a=()=>i(n),t[0]=n,t[1]=i,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=r?(0,j.jsx)(l,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(d,{className:`h-3.5 w-3.5`}),t[3]=r,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy log entry`}),t[5]=s):s=t[5];let c;t[6]!==a||t[7]!==o?(c=(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm hover:bg-background`,children:[o,s]})}),t[6]=a,t[7]=o,t[8]=c):c=t[8];let u=r?`Copied!`:`Copy to clipboard`,p;t[9]===u?p=t[10]:(p=(0,j.jsx)(v,{children:u}),t[9]=u,t[10]=p);let m;t[11]!==c||t[12]!==p?(m=(0,j.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`,children:(0,j.jsxs)(b,{children:[c,p]})}),t[11]=c,t[12]=p,t[13]=m):m=t[13];let h;t[14]===n.ts?h=t[15]:(h=B(n.ts),t[14]=n.ts,t[15]=h);let g;t[16]===h?g=t[17]:(g=(0,j.jsx)(`span`,{className:`text-muted-foreground tabular-nums`,children:h}),t[16]=h,t[17]=g);let y;t[18]===n.level?y=t[19]:(y=f(`font-semibold`,z(n.level)),t[18]=n.level,t[19]=y);let x;t[20]===n.level?x=t[21]:(x=I(n.level),t[20]=n.level,t[21]=x);let S;t[22]!==y||t[23]!==x?(S=(0,j.jsx)(`span`,{className:y,children:x}),t[22]=y,t[23]=x,t[24]=S):S=t[24];let C;t[25]===n.event?C=t[26]:(C=(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:n.event}),t[25]=n.event,t[26]=C);let w;t[27]!==S||t[28]!==C||t[29]!==g?(w=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[g,S,C]}),t[27]=S,t[28]=C,t[29]=g,t[30]=w):w=t[30];let T;t[31]===n.message?T=t[32]:(T=(0,j.jsx)(`p`,{className:`mt-0.5 whitespace-pre-wrap break-words text-foreground`,children:n.message}),t[31]=n.message,t[32]=T);let E;t[33]===n.data?E=t[34]:(E=n.data===void 0?null:(0,j.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words text-muted-foreground`,children:R(n.data)}),t[33]=n.data,t[34]=E);let D;return t[35]!==w||t[36]!==T||t[37]!==E||t[38]!==m?(D=(0,j.jsxs)(`li`,{className:`group relative min-w-0 px-3 py-2 pr-10 hover:bg-muted/40 select-text`,children:[m,w,T,E]}),t[35]=w,t[36]=T,t[37]=E,t[38]=m,t[39]=D):D=t[39],D});function U(){let[e]=i(),t=e.get(`q`)??``,[n,r]=(0,A.useState)([]),[c,k]=(0,A.useState)(t),[F,I]=(0,A.useState)(P),[R,z]=(0,A.useState)(!0),[B,U]=(0,A.useState)(!1),[W,G]=(0,A.useState)(null),[K,q]=(0,A.useState)(!1),[J,re]=(0,A.useState)(null),Y=(0,A.useRef)(null),X=(0,A.useRef)(null);(0,A.useEffect)(()=>{t&&k(t)},[t]),(0,A.useEffect)(()=>{let e=!1,t=null,n=null,i=new AbortController,a=!1,o=!1;function c(){e||n||(z(!0),n=setTimeout(()=>{n=null,l()},M))}async function l(){if(!e){z(!0);try{let n=await m({signal:i.signal});if(!n||e){n&&e&&n.cancel().catch(()=>{});return}t=n.getReader();let o=new TextDecoder,l=``;for(a=!0,z(!1);!e;){let{done:e,value:n}=await t.read();if(e)break;l+=o.decode(n,{stream:!0});let i=l.split(`
3
- `);l=i.pop()??``;for(let e of i){let t=e.trim();if(!t)continue;let n;try{n=JSON.parse(t)}catch{continue}if(n.type!==`ping`){if(n.type===`snapshot`){r(n.entries);continue}if(n.type===`cleared`){r([]);continue}r(e=>{let t=[...e,n.entry];return t.length>5e3?t.slice(t.length-s):t})}}}e||c()}catch(t){if(e||i.signal.aborted)return;let n=t instanceof Error?t.message:String(t);if(h(n)||a){c();return}z(!1),o||(o=!0,S({title:`Failed to connect to log feed`,description:n,variant:`destructive`})),c()}}}return l(),()=>{e=!0,i.abort(),n&&clearTimeout(n),t?.cancel().catch(()=>{})}},[]),(0,A.useEffect)(()=>()=>{Y.current&&clearTimeout(Y.current),X.current&&clearTimeout(X.current)},[]);let Z=(0,A.useCallback)(async e=>{try{await navigator.clipboard.writeText(V(e)),G(e.id),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{G(null),Y.current=null},1500)}catch(e){S({title:`Failed to copy log entry`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},[]);async function ie(e){if(e.length!==0)try{await navigator.clipboard.writeText(e.map(e=>V(e)).join(`
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{l as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{C as a,b as o,ot as s,y as c}from"./dist-BWuYHVi8.js";import{An as l,Et as u,yn as d}from"./dist-DIjomljy.js";import{t as f}from"./utils-CT-Dw22R.js";import{t as p}from"./button-DeNw35VZ.js";import{Cr as m,d as h,kn as g}from"./api-BMo_Lz8f.js";import{i as _,n as v,r as y,t as b}from"./tooltip-B6ziVyTv.js";import{r as x}from"./scroll-area-nbNFO91g.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{Ft as C,Ln as w,kn as T,mn as E}from"./index-DjaVbFDB.js";import{n as D,t as O}from"./toggle-group-5tREtjoW.js";var k=t(),A=e(n(),1),j=r(),M=1e3,N=[o.INFO,o.WARN,o.ERROR],P=[...N],ee=`inline-flex h-11 shrink-0 rounded-full border bg-muted/40 p-2`,te=f(s.compact,`h-7 min-w-0 rounded-full border-0 px-2.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`);function ne(e,t){return t?[e.event,e.message,I(e.level),e.data===void 0?``:R(e.data)].join(` `).toLowerCase().includes(t):!0}function F(e){let t=typeof e==`number`?e:Number(e);return t===o.DEBUG||t===o.INFO||t===o.WARN||t===o.ERROR?t:null}function I(e){let t=F(e);return t===null?String(e):a(t)}function L(e,t){let n=F(e.level);return n!==null&&t.has(n)}function R(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function z(e){switch(F(e)??e){case o.ERROR:return`text-destructive`;case o.WARN:return`text-amber-600 dark:text-amber-400`;case o.INFO:return`text-foreground`;default:return`text-muted-foreground`}}function B(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function V(e){let t=[`${e.ts} ${I(e.level)} ${e.event}`,e.message];return e.data!==void 0&&t.push(R(e.data)),t.join(`
2
+ `)}var H=(0,A.memo)(function(e){let t=(0,k.c)(40),{entry:n,copied:r,onCopy:i}=e,a;t[0]!==n||t[1]!==i?(a=()=>i(n),t[0]=n,t[1]=i,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=r?(0,j.jsx)(l,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(d,{className:`h-3.5 w-3.5`}),t[3]=r,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy log entry`}),t[5]=s):s=t[5];let c;t[6]!==a||t[7]!==o?(c=(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm hover:bg-background`,children:[o,s]})}),t[6]=a,t[7]=o,t[8]=c):c=t[8];let u=r?`Copied!`:`Copy to clipboard`,p;t[9]===u?p=t[10]:(p=(0,j.jsx)(v,{children:u}),t[9]=u,t[10]=p);let m;t[11]!==c||t[12]!==p?(m=(0,j.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`,children:(0,j.jsxs)(b,{children:[c,p]})}),t[11]=c,t[12]=p,t[13]=m):m=t[13];let h;t[14]===n.ts?h=t[15]:(h=B(n.ts),t[14]=n.ts,t[15]=h);let g;t[16]===h?g=t[17]:(g=(0,j.jsx)(`span`,{className:`text-muted-foreground tabular-nums`,children:h}),t[16]=h,t[17]=g);let y;t[18]===n.level?y=t[19]:(y=f(`font-semibold`,z(n.level)),t[18]=n.level,t[19]=y);let x;t[20]===n.level?x=t[21]:(x=I(n.level),t[20]=n.level,t[21]=x);let S;t[22]!==y||t[23]!==x?(S=(0,j.jsx)(`span`,{className:y,children:x}),t[22]=y,t[23]=x,t[24]=S):S=t[24];let C;t[25]===n.event?C=t[26]:(C=(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:n.event}),t[25]=n.event,t[26]=C);let w;t[27]!==S||t[28]!==C||t[29]!==g?(w=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[g,S,C]}),t[27]=S,t[28]=C,t[29]=g,t[30]=w):w=t[30];let T;t[31]===n.message?T=t[32]:(T=(0,j.jsx)(`p`,{className:`mt-0.5 whitespace-pre-wrap break-words text-foreground`,children:n.message}),t[31]=n.message,t[32]=T);let E;t[33]===n.data?E=t[34]:(E=n.data===void 0?null:(0,j.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words text-muted-foreground`,children:R(n.data)}),t[33]=n.data,t[34]=E);let D;return t[35]!==w||t[36]!==T||t[37]!==E||t[38]!==m?(D=(0,j.jsxs)(`li`,{className:`group relative min-w-0 px-3 py-2 pr-10 hover:bg-muted/40 select-text`,children:[m,w,T,E]}),t[35]=w,t[36]=T,t[37]=E,t[38]=m,t[39]=D):D=t[39],D});function U(){let[e]=i(),t=e.get(`q`)??``,[n,r]=(0,A.useState)([]),[o,k]=(0,A.useState)(t),[F,I]=(0,A.useState)(P),[R,z]=(0,A.useState)(!0),[B,U]=(0,A.useState)(!1),[W,G]=(0,A.useState)(null),[K,q]=(0,A.useState)(!1),[J,re]=(0,A.useState)(null),Y=(0,A.useRef)(null),X=(0,A.useRef)(null);(0,A.useEffect)(()=>{t&&k(t)},[t]),(0,A.useEffect)(()=>{let e=!1,t=null,n=null,i=new AbortController,a=!1,o=!1;function s(){e||n||(z(!0),n=setTimeout(()=>{n=null,l()},M))}async function l(){if(!e){z(!0);try{let n=await g({signal:i.signal});if(!n||e){n&&e&&n.cancel().catch(()=>{});return}t=n.getReader();let o=new TextDecoder,l=``;for(a=!0,z(!1);!e;){let{done:e,value:n}=await t.read();if(e)break;l+=o.decode(n,{stream:!0});let i=l.split(`
3
+ `);l=i.pop()??``;for(let e of i){let t=e.trim();if(!t)continue;let n;try{n=JSON.parse(t)}catch{continue}if(n.type!==`ping`){if(n.type===`snapshot`){r(n.entries);continue}if(n.type===`cleared`){r([]);continue}r(e=>{let t=[...e,n.entry];return t.length>5e3?t.slice(t.length-c):t})}}}e||s()}catch(t){if(e||i.signal.aborted)return;let n=t instanceof Error?t.message:String(t);if(m(n)||a){s();return}z(!1),o||(o=!0,S({title:`Failed to connect to log feed`,description:n,variant:`destructive`})),s()}}}return l(),()=>{e=!0,i.abort(),n&&clearTimeout(n),t?.cancel().catch(()=>{})}},[]),(0,A.useEffect)(()=>()=>{Y.current&&clearTimeout(Y.current),X.current&&clearTimeout(X.current)},[]);let Z=(0,A.useCallback)(async e=>{try{await navigator.clipboard.writeText(V(e)),G(e.id),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{G(null),Y.current=null},1500)}catch(e){S({title:`Failed to copy log entry`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},[]);async function ie(e){if(e.length!==0)try{await navigator.clipboard.writeText(e.map(e=>V(e)).join(`
4
4
 
5
- `)),q(!0),X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{q(!1),X.current=null},1500)}catch(e){S({title:`Failed to copy logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}}async function ae(){U(!0);try{await g()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{U(!1)}}let Q=c.trim().toLowerCase(),oe=new Set(F),$=n.filter(e=>L(e,oe)&&ne(e,Q)),se=(0,A.useCallback)((e,t)=>(0,j.jsx)(H,{entry:t,copied:W===t.id,onCopy:Z}),[W,Z]);function ce(){return n.length===0?`No logs in the buffer yet.`:F.length===0?`No log levels selected.`:Q?`No logs match this search.`:`No logs match the selected levels.`}return(0,j.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:(0,j.jsxs)(w,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,j.jsx)(T,{title:`Logs`,description:`Live in memory feed of events`,action:(0,j.jsx)(p,{type:`button`,onClick:()=>void ae(),disabled:B||n.length===0,children:B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(u,{className:`mr-2 h-4 w-4 animate-spin`}),`Clearing...`]}):`Clear`})}),(0,j.jsxs)(`div`,{className:`mb-4 mt-4 flex w-full min-w-0 items-center gap-3 electrobun-webkit-app-region-no-drag`,children:[(0,j.jsx)(C,{value:c,onChange:e=>k(e.target.value),placeholder:`Search`,className:`min-w-0 flex-1`,"aria-label":`Search logs`}),(0,j.jsx)(O,{type:`multiple`,value:F.map(e=>a(e)),onValueChange:e=>{I(N.filter(t=>e.includes(a(t))))},"aria-label":`Log levels`,variant:`outline`,size:`sm`,className:ee,children:N.map(e=>(0,j.jsx)(D,{value:a(e),"aria-label":a(e),className:te,children:a(e)},e))}),(0,j.jsx)(y,{children:(0,j.jsxs)(b,{children:[(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void ie($),disabled:$.length===0,children:[K?(0,j.jsx)(l,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(d,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy visible logs`})]})}),(0,j.jsx)(v,{children:K?`Copied!`:`Copy visible logs to clipboard`})]})})]}),(0,j.jsx)(x,{viewportRef:re,className:`mb-6 w-full min-h-0 min-w-0 flex-1 rounded-md border bg-background font-mono text-xs`,children:R&&n.length===0?(0,j.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-muted-foreground`,children:[(0,j.jsx)(u,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):$.length===0?(0,j.jsx)(`p`,{className:f(o.bodyMuted,`p-4 font-sans`),children:ce()}):(0,j.jsx)(y,{children:(0,j.jsx)(E,{data:$,computeItemKey:(e,t)=>t.id,customScrollParent:J??void 0,itemContent:se,followOutput:e=>e?`auto`:!1,overscan:500,className:`w-full min-w-0`})})})]})})}export{U as default};
5
+ `)),q(!0),X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{q(!1),X.current=null},1500)}catch(e){S({title:`Failed to copy logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}}async function ae(){U(!0);try{await h()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{U(!1)}}let Q=o.trim().toLowerCase(),oe=new Set(F),$=n.filter(e=>L(e,oe)&&ne(e,Q)),se=(0,A.useCallback)((e,t)=>(0,j.jsx)(H,{entry:t,copied:W===t.id,onCopy:Z}),[W,Z]);function ce(){return n.length===0?`No logs in the buffer yet.`:F.length===0?`No log levels selected.`:Q?`No logs match this search.`:`No logs match the selected levels.`}return(0,j.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:(0,j.jsxs)(w,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,j.jsx)(T,{title:`Logs`,description:`Live in memory feed of events`,action:(0,j.jsx)(p,{type:`button`,onClick:()=>void ae(),disabled:B||n.length===0,children:B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(u,{className:`mr-2 h-4 w-4 animate-spin`}),`Clearing...`]}):`Clear`})}),(0,j.jsxs)(`div`,{className:`mb-4 mt-4 flex w-full min-w-0 items-center gap-3 electrobun-webkit-app-region-no-drag`,children:[(0,j.jsx)(C,{value:o,onChange:e=>k(e.target.value),placeholder:`Search`,className:`min-w-0 flex-1`,"aria-label":`Search logs`}),(0,j.jsx)(O,{type:`multiple`,value:F.map(e=>a(e)),onValueChange:e=>{I(N.filter(t=>e.includes(a(t))))},"aria-label":`Log levels`,variant:`outline`,size:`sm`,className:ee,children:N.map(e=>(0,j.jsx)(D,{value:a(e),"aria-label":a(e),className:te,children:a(e)},e))}),(0,j.jsx)(y,{children:(0,j.jsxs)(b,{children:[(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void ie($),disabled:$.length===0,children:[K?(0,j.jsx)(l,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(d,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy visible logs`})]})}),(0,j.jsx)(v,{children:K?`Copied!`:`Copy visible logs to clipboard`})]})})]}),(0,j.jsx)(x,{viewportRef:re,className:`mb-6 w-full min-h-0 min-w-0 flex-1 rounded-md border bg-background font-mono text-xs`,children:R&&n.length===0?(0,j.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-muted-foreground`,children:[(0,j.jsx)(u,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):$.length===0?(0,j.jsx)(`p`,{className:f(s.bodyMuted,`p-4 font-sans`),children:ce()}):(0,j.jsx)(y,{children:(0,j.jsx)(E,{data:$,computeItemKey:(e,t)=>t.id,customScrollParent:J??void 0,itemContent:se,followOutput:e=>e?`auto`:!1,overscan:500,className:`w-full min-w-0`})})})]})})}export{U as default};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{r as a}from"./store-Be_7VK0D.js";import{$ as o,An as s,D as c,G as l,ct as u,dn as d,kn as f,rt as p,y as m}from"./dist-DIjomljy.js";import{t as h}from"./utils-CT-Dw22R.js";import{t as g}from"./button-sfGyFWfz.js";import{Xt as _,a as v,ft as y,un as b}from"./api-ODizoHnY.js";import{i as ee,n as te,r as x,t as ne}from"./tooltip-B6ziVyTv.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{r as C,t as w}from"./dialog-CP2cYR59.js";import{n as T}from"./explorer-tab-context-BxUVwWQQ.js";import{t as E}from"./use-open-chat-dock-panel-D1D5bnsL.js";import{A as D,At as O,Bn as k,Cn as A,D as j,Dn as M,E as N,En as P,Ft as F,I as re,In as I,L,Ln as R,Mt as z,Nn as B,Nt as V,O as H,Ot as ie,R as U,Sn as W,Tn as G,Y as K,gn as q,j as ae,k as oe,kn as se,kt as ce,vn as le,wn as J,xn as ue,yn as Y,z as de,zn as fe}from"./index-Bmkj1Qwa.js";import{t as pe}from"./delete-confirm-dialog-B99gEJN8.js";import{t as me}from"./use-settings-page-loading-BTySlInF.js";import{n as he}from"./settings-list-PMi8ZniW.js";import{t as ge}from"./switch-pIBaqatj.js";var X=e(n(),1),Z=r();function _e(e){return e?.url?`remote`:`local`}function ve(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:t}))}function ye({projectPath:e,serverName:t,initialName:n,initialConfig:r,onBack:a}){let{installedServers:o}=ae(e),s=!!t,[c,l]=(0,X.useState)(`local`),[u,d]=(0,X.useState)(``),[f,h]=(0,X.useState)(``),[_,v]=(0,X.useState)(``),[y,b]=(0,X.useState)(``),[ee,te]=(0,X.useState)(`sse`),[x,ne]=(0,X.useState)(``),[C,w]=(0,X.useState)(``),[T,E]=(0,X.useState)(``),[D,k]=(0,X.useState)([]),[A,I]=(0,X.useState)([]),[R,B]=(0,X.useState)(!0),[H,W]=(0,X.useState)(!1),[G,q]=(0,X.useState)(!1),[le,J]=(0,X.useState)(null),[ue,Y]=(0,X.useState)(s),[pe,me]=(0,X.useState)(``),[he,ye]=(0,X.useState)(``);function Q(e,t){let n=_e(t);l(n),d(e),h(t.command??``),v((t.args??[]).join(`
1
+ import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{ot as i}from"./dist-BWuYHVi8.js";import{r as a}from"./store-BaMSfYoJ.js";import{$ as o,An as s,D as c,G as l,ct as u,dn as d,kn as f,rt as p,y as m}from"./dist-DIjomljy.js";import{t as h}from"./utils-CT-Dw22R.js";import{t as g}from"./button-DeNw35VZ.js";import{Xt as _,a as v,ft as y,un as b}from"./api-BMo_Lz8f.js";import{i as ee,n as te,r as x,t as ne}from"./tooltip-B6ziVyTv.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{r as C,t as w}from"./dialog-Do98zzAW.js";import{n as T}from"./explorer-tab-context-BxUVwWQQ.js";import{t as E}from"./use-open-chat-dock-panel-Cr1bQYOH.js";import{A as D,At as O,Bn as k,Cn as A,D as j,Dn as M,E as N,En as P,Ft as F,I as re,In as I,L,Ln as R,Mt as z,Nn as B,Nt as V,O as H,Ot as ie,R as U,Sn as W,Tn as G,Y as K,gn as q,j as ae,k as oe,kn as se,kt as ce,vn as le,wn as J,xn as ue,yn as Y,z as de,zn as fe}from"./index-DjaVbFDB.js";import{t as pe}from"./delete-confirm-dialog-C9NASyh6.js";import{t as me}from"./use-settings-page-loading-BTySlInF.js";import{n as he}from"./settings-list-DU82HNPX.js";import{t as ge}from"./switch-pIBaqatj.js";var X=e(n(),1),Z=r();function _e(e){return e?.url?`remote`:`local`}function ve(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:t}))}function ye({projectPath:e,serverName:t,initialName:n,initialConfig:r,onBack:a}){let{installedServers:o}=ae(e),s=!!t,[c,l]=(0,X.useState)(`local`),[u,d]=(0,X.useState)(``),[f,h]=(0,X.useState)(``),[_,v]=(0,X.useState)(``),[y,b]=(0,X.useState)(``),[ee,te]=(0,X.useState)(`sse`),[x,ne]=(0,X.useState)(``),[C,w]=(0,X.useState)(``),[T,E]=(0,X.useState)(``),[D,k]=(0,X.useState)([]),[A,I]=(0,X.useState)([]),[R,B]=(0,X.useState)(!0),[H,W]=(0,X.useState)(!1),[G,q]=(0,X.useState)(!1),[le,J]=(0,X.useState)(null),[ue,Y]=(0,X.useState)(s),[pe,me]=(0,X.useState)(``),[he,ye]=(0,X.useState)(``);function Q(e,t){let n=_e(t);l(n),d(e),h(t.command??``),v((t.args??[]).join(`
2
2
  `)),b(t.url??``),te(t.transport??`sse`),ne(t.oauth?.clientId??``),w(t.oauth?.clientSecret??``),E(t.oauth?.callbackPort===void 0?``:String(t.oauth.callbackPort)),k(ve(t.env)),I(ve(t.headers)),B(t.defer!==!1),me(e),ye(JSON.stringify({name:e,type:n,config:t}))}(0,X.useEffect)(()=>{if(s&&t){let e=o.find(e=>e.name===t);e&&(Q(e.name,e.config),Y(!1))}else r&&Q(n??``,r),Y(!1)},[o,t,s,r,n]);let be=(0,X.useCallback)(()=>{k(e=>[...e,{key:``,value:``}])},[]),xe=(0,X.useCallback)(e=>{k(t=>t.filter((t,n)=>n!==e))},[]),Se=(0,X.useCallback)((e,t)=>{k(n=>n.map((n,r)=>r===e?{...n,key:t}:n))},[]),$=(0,X.useCallback)((e,t)=>{k(n=>n.map((n,r)=>r===e?{...n,value:t}:n))},[]),Ce=(0,X.useCallback)(()=>{I(e=>[...e,{key:``,value:``}])},[]),we=(0,X.useCallback)(e=>{I(t=>t.filter((t,n)=>n!==e))},[]),Te=(0,X.useCallback)((e,t)=>{I(n=>n.map((n,r)=>r===e?{...n,key:t}:n))},[]),Ee=(0,X.useCallback)((e,t)=>{I(n=>n.map((n,r)=>r===e?{...n,value:t}:n))},[]);function De(e){let t={};for(let{key:n,value:r}of e)n.trim()&&(t[n.trim()]=r);return Object.keys(t).length>0?t:void 0}function Oe(){let e=De(D);if(c===`remote`){let t=De(A),n=x.trim(),r=C.trim(),i=T.trim(),a=i?Number.parseInt(i,10):void 0,o=n||r||a?{...n?{clientId:n}:{},...r?{clientSecret:r}:{},...a&&Number.isInteger(a)&&a>0?{callbackPort:a}:{}}:void 0;return{url:y.trim(),transport:ee,...t?{headers:t}:{},...e?{env:e}:{},...o&&Object.keys(o).length>0?{oauth:o}:{},...R?{}:{defer:!1}}}let t=_.split(`
3
3
  `).map(e=>e.trim()).filter(Boolean);return{command:f.trim(),args:t,...e?{env:e}:{},...R?{}:{defer:!1}}}let ke=JSON.stringify({name:u.trim(),type:c,config:Oe()}),Ae=async()=>{J(null);let t=u.trim();if(!t){J(`Server name is required`);return}if(c===`remote`){if(!y.trim()){J(`Server URL is required`);return}try{new URL(y.trim())}catch{J(`Server URL must be a valid URL`);return}if(T.trim()){let e=Number.parseInt(T.trim(),10);if(!Number.isInteger(e)||e<=0){J(`OAuth callback port must be a positive integer`);return}}if(C.trim()&&!x.trim()){J(`OAuth client ID is required when a client secret is set`);return}}else if(!f.trim()){J(`Command is required`);return}W(!0);try{if(!e)throw Error(`No project path`);let n=await oe(e,pe||t,Oe());S({title:`Success`,description:s?`MCP server saved · ${j(n.catalog)}`:`MCP server added · ${j(n.catalog)}`}),a()}catch(e){J(e instanceof Error?e.message:`Failed to save server`)}finally{W(!1)}},je=async()=>{if(e){q(!0);try{await N(e,pe),S({title:`Success`,description:`MCP server removed`}),a()}catch(e){J(e instanceof Error?e.message:`Failed to delete server`)}finally{q(!1)}}},Me=s?ke!==he:u.trim()!==``||f.trim()!==``||_.trim()!==``||y.trim()!==``||x.trim()!==``||C.trim()!==``||T.trim()!==``||D.length>0||A.length>0||!R;return ue?(0,Z.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Z.jsx)(`p`,{className:i.bodyMuted,children:`Loading server configuration...`})}):(0,Z.jsx)(fe,{children:(0,Z.jsxs)(P,{children:[(0,Z.jsx)(se,{title:s?u:`Add MCP Server`,description:s?`Edit MCP Server configuration.`:`Configure a new MCP Server.`,sticky:!0,className:`pr-10`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(M,{title:`Server name`,description:s?`Server name cannot be changed`:void 0,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(F,{id:`server-name`,placeholder:`e.g. filesystem`,value:u,onChange:e=>d(e.target.value),disabled:s})}),(0,Z.jsxs)(re,{value:c,onValueChange:e=>l(e),className:`w-full pt-6`,children:[(0,Z.jsxs)(U,{className:`grid w-full grid-cols-2`,children:[(0,Z.jsx)(de,{value:`local`,children:`Local (stdio)`}),(0,Z.jsx)(de,{value:`remote`,children:`Remote (HTTP/SSE)`})]}),(0,Z.jsxs)(L,{value:`local`,children:[(0,Z.jsx)(M,{title:`Command`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(F,{id:`server-command`,placeholder:`e.g. npx`,value:f,onChange:e=>h(e.target.value)})}),(0,Z.jsx)(M,{title:`Arguments`,description:`One argument per line`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(K,{id:`server-args`,placeholder:`-y
4
4
  @modelcontextprotocol/server-filesystem