shioricode 0.4.21 → 0.5.0

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 (58) hide show
  1. package/README.md +5 -5
  2. package/dist/bin.cjs +827 -812
  3. package/dist/bin.mjs +872 -857
  4. package/dist/client/assets/{ArtifactPanel-CdR4rtqI.js → ArtifactPanel-BSCph4Mf.js} +2 -2
  5. package/dist/client/assets/{ChatMarkdown-LC7VQG0i.js → ChatMarkdown-D-ZCYVVA.js} +2 -2
  6. package/dist/client/assets/{DiffPanel-Dj0UZJm3.js → DiffPanel-CzDdUb8m.js} +2 -2
  7. package/dist/client/assets/{DiffPanelShell-xseg5JQo.js → DiffPanelShell-Jyeb1irB.js} +2 -2
  8. package/dist/client/assets/{DiffWorkerPoolProvider-D6XJdZWI.js → DiffWorkerPoolProvider-Df_KelZ4.js} +2 -2
  9. package/dist/client/assets/{NoActiveThreadState-CQmuWJhb.js → NoActiveThreadState-CafEeJ3D.js} +2 -2
  10. package/dist/client/assets/{ProviderModelPicker-Bze2CcYx.js → ProviderModelPicker-DBL7REnB.js} +2 -2
  11. package/dist/client/assets/{SettingsPanels-DqCqBUI7.js → SettingsPanels-DToV4poM.js} +2 -2
  12. package/dist/client/assets/{_chat-CKouNPVs.js → _chat-DIsZX_5q.js} +2 -2
  13. package/dist/client/assets/_chat._threadId-DciDVFNC.js +289 -0
  14. package/dist/client/assets/{_chat.index-20AQsDPh.js → _chat.index-Bu5_KLvf.js} +2 -2
  15. package/dist/client/assets/{automations-CWJGpvWf.js → automations-B8oI1RDH.js} +2 -2
  16. package/dist/client/assets/{badge-1VUDnpuQ.js → badge-DQNpCiTY.js} +2 -2
  17. package/dist/client/assets/clientSettings-BoLlsjmq.js +2 -0
  18. package/dist/client/assets/{collapsible--nYYN5Zg.js → collapsible-BFxx3cmC.js} +2 -2
  19. package/dist/client/assets/{dialog-BzCtORYk.js → dialog-xuDGeb4n.js} +2 -2
  20. package/dist/client/assets/{empty-DrPVL67l.js → empty-C0odYOnP.js} +2 -2
  21. package/dist/client/assets/{gitReactQuery-Be_6T0Ee.js → gitReactQuery-CQYez3In.js} +2 -2
  22. package/dist/client/assets/{index-B58EBW6O.js → index-ndFBrjHh.js} +4 -4
  23. package/dist/client/assets/{input-DWDmgkdY.js → input-C7biIuoM.js} +2 -2
  24. package/dist/client/assets/{pull-requests-Doz3BMXH.js → pull-requests-YReb4Mu9.js} +2 -2
  25. package/dist/client/assets/{queuedTurnsStore-CIDk30NZ.js → queuedTurnsStore-BWvSKxB2.js} +2 -2
  26. package/dist/client/assets/{scroll-area-CFMQ9e4_.js → scroll-area-b0VYEw63.js} +2 -2
  27. package/dist/client/assets/{separator-BdZ-ET3V.js → separator-BSFlxFW1.js} +2 -2
  28. package/dist/client/assets/{settings-BGn4mjTS.js → settings-BBptnNYJ.js} +2 -2
  29. package/dist/client/assets/{settings.appearance-Ckvmtwdi.js → settings.appearance-BkWweygw.js} +2 -2
  30. package/dist/client/assets/settings.archived-DJC1il-F.js +2 -0
  31. package/dist/client/assets/{settings.computer-use-Dfj_6GTK.js → settings.computer-use-BK97T3f-.js} +2 -2
  32. package/dist/client/assets/{settings.credits-BUY8PBTc.js → settings.credits-C2nerPpd.js} +2 -2
  33. package/dist/client/assets/settings.general-Djd4g0t8.js +2 -0
  34. package/dist/client/assets/{settings.mcp-Byoxze4F.js → settings.mcp-b1gcVG3u.js} +2 -2
  35. package/dist/client/assets/{settings.mobile-BUu4CP8r.js → settings.mobile-Cl_q074X.js} +2 -2
  36. package/dist/client/assets/{settings.plugins-CAvGUyw-.js → settings.plugins-Bz_Jt-h5.js} +2 -2
  37. package/dist/client/assets/settings.remote-COKGS805.js +2 -0
  38. package/dist/client/assets/{settings.skills-B-UfH45M.js → settings.skills-DbcoPmK9.js} +2 -2
  39. package/dist/client/assets/{settings.theme-builder-DYn2dp1p.js → settings.theme-builder-D3sYNxrp.js} +2 -2
  40. package/dist/client/assets/{skillsMcpShared-RFZJX9uG.js → skillsMcpShared-DzSsN5fy.js} +2 -2
  41. package/dist/client/assets/{store-KYb5gyLf.js → store-BzqS7zm8.js} +2 -2
  42. package/dist/client/assets/{terminalStateStore-DBL14uZB.js → terminalStateStore-BhU1c2Sw.js} +2 -2
  43. package/dist/client/assets/{textarea-CeNMtAmc.js → textarea-Bc_w4o11.js} +2 -2
  44. package/dist/client/assets/{toggle-BR_nJmIu.js → toggle-Cjd1rTpW.js} +2 -2
  45. package/dist/client/assets/{toggle-group-Tr8y9Pwx.js → toggle-group-CbQjlXXY.js} +2 -2
  46. package/dist/client/assets/{uiStateStore-CC1coFoR.js → uiStateStore-CGeY60Rr.js} +2 -2
  47. package/dist/client/assets/{useHandleNewThread-CRjy_n7m.js → useHandleNewThread-CxLIGmcC.js} +2 -2
  48. package/dist/client/assets/{useSettings-CvQQz7AW.js → useSettings-CfiGcPkS.js} +2 -2
  49. package/dist/client/assets/{useTheme-D0lWhUH9.js → useTheme-CVq6D9IF.js} +2 -2
  50. package/dist/client/assets/utils-BnXGGW32.js +2 -0
  51. package/dist/client/index.html +12 -12
  52. package/package.json +2 -2
  53. package/dist/client/assets/_chat._threadId-CU4xs7Dd.js +0 -289
  54. package/dist/client/assets/clientSettings-5THztvzS.js +0 -2
  55. package/dist/client/assets/settings.archived-2t5UQQrc.js +0 -2
  56. package/dist/client/assets/settings.general-Bvydzs1m.js +0 -2
  57. package/dist/client/assets/settings.remote-BaGj1Eao.js +0 -2
  58. package/dist/client/assets/utils-D1UgimcN.js +0 -2
@@ -0,0 +1,2 @@
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import"./vendor-tanstack-DxB_J8A7.js";import{c as r}from"./vendor--lexical-react-Dg6NVZQt.js";import{_ as i,s as a}from"./clientSettings-BoLlsjmq.js";import"./vendor-effect-Chd9hYxF.js";import"./utils-BnXGGW32.js";import"./store-BzqS7zm8.js";import"./terminalStateStore-BhU1c2Sw.js";import"./uiStateStore-CGeY60Rr.js";import{Fr as o,Ir as s,Nr as c,Wr as l,Xn as u,br as d,er as f,gr as p,jn as m,jr as h,mr as g,zn as _}from"./vendor-ui-CJZCHXkp.js";import"./useSettings-CfiGcPkS.js";import"./useHandleNewThread-CxLIGmcC.js";import"./gitReactQuery-CQYez3In.js";import{t as v}from"./input-C7biIuoM.js";import{M as y,N as b,c as x,j as S,l as C}from"./index-ndFBrjHh.js";import"./ProviderModelPicker-DBL7REnB.js";import"./empty-C0odYOnP.js";import"./collapsible-BFxx3cmC.js";import{a as w,o as T,s as E}from"./SettingsPanels-DToV4poM.js";import{t as D}from"./vendor-qrcode-generator-CJtPPqPY.js";var O=n(),k=e(t(),1),A=r();function ee(e){let t=(0,O.c)(24),{url:n}=e,[r,i]=(0,k.useState)(!1),[o,u]=(0,k.useState)(!1),d,f;if(t[0]!==n){let e=D(0,`M`);e.addData(n,`Byte`),e.make(),f=e.createDataURL(7,2),t[0]=n,t[1]=f}else f=t[1];d=f;let p=d,m=typeof navigator<`u`&&!!navigator.clipboard,h;t[2]===n?h=t[3]:(h=async()=>{m&&(await navigator.clipboard.writeText(n),u(!0),window.setTimeout(()=>u(!1),1200))},t[2]=n,t[3]=h);let g=h,_;t[4]===n?_=t[5]:(_=(0,A.jsx)(`code`,{className:`min-w-0 flex-1 truncate rounded-md border border-border bg-muted/40 px-3 py-2 text-xs`,children:n}),t[4]=n,t[5]=_);let v;t[6]===g?v=t[7]:(v=()=>void g(),t[6]=g,t[7]=v);let y;t[8]===o?y=t[9]:(y=o?(0,A.jsx)(s,{className:`size-3.5`}):(0,A.jsx)(c,{className:`size-3.5`}),t[8]=o,t[9]=y);let b=o?`Copied`:`Copy`,x;t[10]!==v||t[11]!==y||t[12]!==b?(x=(0,A.jsxs)(a,{size:`sm`,variant:`outline`,disabled:!m,onClick:v,children:[y,b]}),t[10]=v,t[11]=y,t[12]=b,t[13]=x):x=t[13];let S;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,A.jsxs)(a,{size:`sm`,variant:`outline`,onClick:()=>i(j),children:[(0,A.jsx)(l,{className:`size-3.5`}),`QR`]}),t[14]=S):S=t[14];let C;t[15]!==_||t[16]!==x?(C=(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[_,x,S]}),t[15]=_,t[16]=x,t[17]=C):C=t[17];let w;t[18]!==p||t[19]!==r?(w=r?(0,A.jsxs)(`div`,{className:`flex flex-col items-center gap-2 rounded-xl border border-border bg-white p-4`,children:[(0,A.jsx)(`img`,{src:p,alt:`Remote access QR code`,className:`size-56 max-w-full rounded-md`}),(0,A.jsx)(`p`,{className:`text-center text-xs text-muted-foreground`,children:`Scan with the iOS app to prefill Remote Server, or open it in a browser.`})]}):null,t[18]=p,t[19]=r,t[20]=w):w=t[20];let T;return t[21]!==C||t[22]!==w?(T=(0,A.jsxs)(`div`,{className:`space-y-3`,children:[C,w]}),t[21]=C,t[22]=w,t[23]=T):T=t[23],T}function j(e){return!e}var M=[{id:`method`,title:`Who can reach it`},{id:`prerequisites`,title:`Get ready`},{id:`credentials`,title:`Sign-in`},{id:`enable`,title:`Turn on`}],N=[{value:`shiori-link`,label:`Shiori Link`,badge:`Recommended · no Tailscale`,description:`Get a stable shiori.codes link through Shiori's hosted relay. Sign in once; this machine only makes an outbound encrypted connection.`},{value:`tailscale-serve`,label:`Only my devices`,badge:`Private · recommended`,description:`Reachable from devices signed into your tailnet (phone, laptop…) — Tailscale gates the network, your sign-in gates the app. No ports, DNS, or certificates to manage.`},{value:`tailscale-funnel`,label:`Public link`,badge:`Anywhere, behind sign-in`,description:`A public https://….ts.net address that works from any browser — your sign-in is the only gate, so use a strong password. Zero infrastructure.`}];function P(e,t){if(e===`shiori-link`)return[{id:`shiori-account`,label:`Shiori account is connected`,ok:t.link.accountLinked,hint:t.link.accountLinked?null:`Sign in to Shiori in your browser, then return here.`,href:null}];let n=t.tailscale,r=[{id:`installed`,label:`Tailscale is installed`,ok:n.installed,hint:n.installed?null:`Install Tailscale on this machine, then check again.`,href:n.installed?null:`https://tailscale.com/download`},{id:`running`,label:`Tailscale is connected`,ok:n.running,hint:n.running?null:n.backendState===`NeedsLogin`?"Open the Tailscale app and sign in (or run `tailscale up`).":"Open the Tailscale app or run `tailscale up`.",href:null}];return e===`tailscale-funnel`&&r.push({id:`https`,label:`HTTPS certificates are enabled on your tailnet`,ok:n.httpsEnabled,hint:n.httpsEnabled?null:`In the Tailscale admin console, open DNS and enable HTTPS certificates.`,href:n.httpsEnabled?null:`https://login.tailscale.com/admin/dns`}),r}function F(e){return e.keepExisting?null:e.username.trim()?e.password.length<8?`Use at least 8 characters — this password is the only thing between the internet and this machine.`:e.password===e.confirm?null:`Passwords don't match.`:`Pick a username.`}var I=4e3;function L({status:e,onStatus:t,onClose:n,initialMethod:r}){let[c,l]=(0,k.useState)(`method`),[d,f]=(0,k.useState)(r??`shiori-link`),[p,h]=(0,k.useState)(e.username??``),[w,T]=(0,k.useState)(``),[E,D]=(0,k.useState)(``),[O,j]=(0,k.useState)(e.authConfigured),[L,R]=(0,k.useState)(!1),[z,B]=(0,k.useState)(null),[V,H]=(0,k.useState)(!1),[U,W]=(0,k.useState)(null),[G,K]=(0,k.useState)(!1),q=M.findIndex(e=>e.id===c),J=(0,k.useCallback)(async()=>{try{t(await i().remote.getStatus())}catch{}},[t]);(0,k.useEffect)(()=>{if(c!==`prerequisites`)return;let e=window.setInterval(()=>void J(),I);return()=>window.clearInterval(e)},[c,J]);let te=(0,k.useCallback)(()=>{B(null);let e=M[q-1];e&&!V&&l(e.id)},[q,V]),ne=(0,k.useCallback)(()=>{B(null),l(`prerequisites`)},[]),re=(0,k.useCallback)(()=>{B(null),l(`credentials`)},[]),ie=(0,k.useCallback)(async()=>{R(!0),B(null);try{let e=await i().remote.beginLinkSignIn({provider:`github`});(await window.desktopBridge?.openExternal(e.authUrl)===!1||window.desktopBridge===void 0)&&window.open(e.authUrl,`_blank`,`noopener,noreferrer`)}catch(e){B(e instanceof Error?e.message:`Couldn't start Shiori sign-in.`)}finally{R(!1)}},[]),Y=(0,k.useCallback)(async()=>{B(null);let e=F({username:p,password:w,confirm:E,keepExisting:O});if(e){B(e);return}if(O){l(`enable`);return}R(!0);try{t(await i().remote.setCredentials({username:p.trim(),password:w})),await C(p.trim(),w),T(``),D(``),l(`enable`)}catch(e){B(e instanceof Error?e.message:`Couldn't save the credentials.`)}finally{R(!1)}},[p,w,E,O,t]),X=(0,k.useCallback)(async()=>{B(null),R(!0);try{t(await i().remote.setExposure({method:d})),H(!0)}catch(e){B(e instanceof Error?e.message:`Couldn't turn on remote access.`)}finally{R(!1)}},[d,t]),Z=(0,k.useCallback)(async()=>{K(!0),W(null);try{W(await i().remote.testConnection())}catch(e){W({ok:!1,url:null,latencyMs:null,error:e instanceof Error?e.message:`Test failed.`})}finally{K(!1)}},[]),Q=P(d,e),ae=Q.every(e=>e.ok),$=N.find(e=>e.value===d);return(0,A.jsxs)(`div`,{className:`space-y-4 px-4 py-4 sm:px-5`,children:[(0,A.jsx)(`ol`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1 text-[11px]`,children:M.map((e,t)=>{let n=t<q?`done`:t===q?`current`:`upcoming`;return(0,A.jsxs)(`li`,{className:`flex items-center gap-2`,children:[t>0?(0,A.jsx)(`span`,{className:`text-muted-foreground/40`,children:`—`}):null,(0,A.jsxs)(`span`,{className:n===`current`?`font-medium text-foreground`:n===`done`?`text-primary`:`text-muted-foreground`,children:[t+1,`. `,e.title]})]},e.id)})}),z?(0,A.jsxs)(S,{variant:`error`,children:[(0,A.jsx)(b,{children:`Couldn't continue`}),(0,A.jsx)(y,{children:z})]}):null,c===`method`?(0,A.jsx)(`div`,{className:`space-y-3`,children:(0,A.jsx)(`div`,{className:`grid gap-2`,children:N.map(e=>{let t=d===e.value;return(0,A.jsxs)(`button`,{type:`button`,onClick:()=>f(e.value),className:`flex flex-col items-start gap-0.5 rounded-lg border px-3 py-2.5 text-left transition-colors ${t?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:bg-muted/40`}`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-2 text-sm font-medium text-foreground`,children:[t?(0,A.jsx)(s,{className:`size-3.5 text-primary`}):null,e.label,(0,A.jsx)(`span`,{className:`rounded-full border border-border px-1.5 py-px text-[10px] font-normal text-muted-foreground`,children:e.badge})]}),(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:e.description})]},e.value)})})}):null,c===`prerequisites`?(0,A.jsxs)(`div`,{className:`space-y-3`,children:[(0,A.jsx)(`ul`,{className:`divide-y divide-border rounded-lg border border-border`,children:Q.map(e=>(0,A.jsxs)(`li`,{className:`flex items-start gap-2.5 px-3 py-2.5`,children:[e.ok?(0,A.jsx)(s,{className:`mt-0.5 size-4 shrink-0 text-emerald-500`}):(0,A.jsx)(o,{className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),(0,A.jsxs)(`div`,{className:`min-w-0 space-y-0.5`,children:[(0,A.jsx)(`div`,{className:`text-sm text-foreground`,children:e.label}),!e.ok&&e.hint?(0,A.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[e.hint,` `,e.href?(0,A.jsxs)(`a`,{href:e.href,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-0.5 text-primary hover:underline`,children:[`Open`,(0,A.jsx)(g,{className:`size-3`})]}):null]}):null]})]},e.id))}),(0,A.jsxs)(`p`,{className:`flex items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,A.jsx)(u,{className:`size-3 animate-spin [animation-duration:3s]`}),`Checking automatically — finish the steps above and they'll turn green.`]}),d===`shiori-link`&&!e.link.accountLinked?(0,A.jsxs)(a,{size:`sm`,disabled:L,onClick:()=>void ie(),children:[L?(0,A.jsx)(m,{className:`size-3.5 animate-spin`}):null,`Sign in with GitHub`,(0,A.jsx)(g,{className:`size-3.5`})]}):null]}):null,c===`credentials`?(0,A.jsxs)(`div`,{className:`space-y-3`,children:[e.authConfigured?(0,A.jsx)(S,{variant:`info`,children:(0,A.jsxs)(y,{children:[`A sign-in is already set`,e.username?` for “${e.username}”`:``,`.`,` `,(0,A.jsx)(`button`,{type:`button`,className:`font-medium text-primary hover:underline`,onClick:()=>j(e=>!e),children:O?`Set a new one instead`:`Keep the existing one`})]})}):(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`This username and password is what you'll type on your phone or any remote browser. Anyone who signs in has full access to this machine — make it strong.`}),O?null:(0,A.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-3`,children:[(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`wizard-username`,children:`Username`}),(0,A.jsx)(v,{id:`wizard-username`,autoComplete:`username`,value:p,onChange:e=>h(e.target.value),disabled:L})]}),(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`wizard-password`,children:`Password`}),(0,A.jsx)(v,{id:`wizard-password`,type:`password`,autoComplete:`new-password`,value:w,onChange:e=>T(e.target.value),disabled:L})]}),(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`wizard-confirm`,children:`Confirm password`}),(0,A.jsx)(v,{id:`wizard-confirm`,type:`password`,autoComplete:`new-password`,value:E,onChange:e=>D(e.target.value),disabled:L})]})]})]}):null,c===`enable`?(0,A.jsx)(`div`,{className:`space-y-3`,children:V?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(S,{variant:`success`,children:[(0,A.jsx)(b,{children:`Remote access is on`}),(0,A.jsx)(y,{children:e.url?`Open this URL on your phone or another device and sign in.`:`Waiting for the URL — refresh in a moment.`})]}),e.url?(0,A.jsx)(ee,{url:e.url}):null,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsxs)(a,{size:`sm`,variant:`outline`,disabled:G,onClick:()=>void Z(),children:[G?(0,A.jsx)(m,{className:`size-3.5 animate-spin`}):null,`Test connection`]}),U?(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs ${U.ok?`text-emerald-600 dark:text-emerald-400`:`text-destructive`}`,children:[U.ok?(0,A.jsx)(s,{className:`size-3.5`}):(0,A.jsx)(o,{className:`size-3.5`}),U.ok?`Reachable${U.latencyMs===null?``:` · ${U.latencyMs}ms`}`:U.error??`Not reachable.`]}):null]})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Ready to go:`,` `,(0,A.jsx)(`span`,{className:`font-medium text-foreground`,children:$?.label}),`. Sign-in required for every device.`,d===`tailscale-funnel`?` The first public request can take a minute while Tailscale provisions the TLS certificate.`:d===`shiori-link`?` The first setup downloads a checksum-verified connector and can take a moment.`:``]}),(0,A.jsxs)(a,{disabled:L,onClick:()=>void X(),children:[L?(0,A.jsx)(m,{className:`size-3.5 animate-spin`}):null,`Turn on remote access`]})]})}):null,(0,A.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border pt-3`,children:[(0,A.jsx)(`div`,{children:q>0&&!V?(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,disabled:L,onClick:te,children:[(0,A.jsx)(_,{className:`size-3.5`}),`Back`]}):null}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(a,{size:`sm`,variant:`ghost`,disabled:L,onClick:n,children:V?`Done`:`Cancel`}),c===`method`?(0,A.jsx)(a,{size:`sm`,onClick:ne,children:`Continue`}):null,c===`prerequisites`?(0,A.jsx)(a,{size:`sm`,disabled:L||!ae,onClick:re,children:`Continue`}):null,c===`credentials`?(0,A.jsxs)(a,{size:`sm`,disabled:L,onClick:()=>void Y(),children:[L?(0,A.jsx)(m,{className:`size-3.5 animate-spin`}):null,`Continue`]}):null]})]})]})}var R=`__local__`;function z(e){try{return new URL(e).hostname}catch{return e}}function B(){let e=window.desktopBridge,t=typeof e?.getRemoteConnection==`function`&&typeof e.connectToRemote==`function`&&typeof e.disconnectFromRemote==`function`,[n,r]=(0,k.useState)(null),[i,o]=(0,k.useState)(``),[s,c]=(0,k.useState)(!1),[l,u]=(0,k.useState)(null);if((0,k.useEffect)(()=>{if(!t||!e?.getRemoteConnection)return;let n=!1;return e.getRemoteConnection().then(e=>{n||r(e)}),()=>{n=!0}},[e,t]),!t||!e)return null;let d=async t=>{c(!0),u(null);try{let n=await e.connectToRemote?.(t);n&&r(n.state),n&&!n.ok&&u(n.error??`The remote could not be reached.`)}catch(e){u(e instanceof Error?e.message:`The remote could not be reached.`)}finally{c(!1)}},f=async()=>{c(!0),u(null);try{let t=await e.disconnectFromRemote?.();t&&r(t)}catch(e){u(e instanceof Error?e.message:`Could not switch to this computer.`)}finally{c(!1)}};return(0,A.jsx)(E,{title:`Connection`,icon:(0,A.jsx)(h,{className:`size-3.5`}),children:(0,A.jsxs)(T,{title:`Run ShioriCode on`,description:`Switch between this computer and saved remote servers.`,status:n?.remoteUrl?z(n.remoteUrl):`This computer`,children:[l?(0,A.jsx)(S,{variant:`error`,className:`mb-3`,children:(0,A.jsx)(y,{children:l})}):null,(0,A.jsxs)(`div`,{className:`grid gap-3`,children:[(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`desktop-environment`,children:`Current environment`}),(0,A.jsxs)(`select`,{id:`desktop-environment`,className:`border-input bg-background h-9 w-full rounded-md border px-3 text-sm shadow-xs outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,value:n?.remoteUrl??R,disabled:s,onChange:e=>{let t=e.target.value;t===R?f():d(t)},children:[(0,A.jsx)(`option`,{value:R,children:`This computer`}),(n?.savedRemoteUrls??[]).map(e=>(0,A.jsx)(`option`,{value:e,children:z(e)},e))]})]}),(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`desktop-remote-url`,children:`Add a remote`}),(0,A.jsxs)(`div`,{className:`flex gap-2`,children:[(0,A.jsx)(v,{id:`desktop-remote-url`,type:`url`,inputMode:`url`,placeholder:`sc-….link.shiori.codes`,value:i,disabled:s,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i.trim()&&d(i)}}),(0,A.jsx)(a,{disabled:s||!i.trim(),onClick:()=>void d(i),children:s?`Connecting…`:`Connect`})]})]})]})]})})}var V=[{value:`off`,label:`Off`,hint:`This machine only`},{value:`shiori-link`,label:`Link`,hint:`Public · hosted by Shiori`},{value:`tailscale-serve`,label:`My devices`,hint:`Private · via your tailnet`},{value:`tailscale-funnel`,label:`Public link`,hint:`Anywhere · behind sign-in`}];function H(e){let t=new Date(e).getTime();if(Number.isNaN(t))return`unknown`;let n=Math.max(0,Math.round((Date.now()-t)/1e3));if(n<45)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:`${Math.round(i/24)}d ago`}function U(){let[e,t]=(0,k.useState)(null),[n,r]=(0,k.useState)(!0),[c,l]=(0,k.useState)(!1),[h,g]=(0,k.useState)(!1),[_,C]=(0,k.useState)(null),[D,O]=(0,k.useState)(!1),[j,M]=(0,k.useState)(void 0),[N,P]=(0,k.useState)(null),[F,I]=(0,k.useState)(!1),R=(0,k.useRef)(!1),[z,U]=(0,k.useState)(``),[W,G]=(0,k.useState)(``),K=(0,k.useCallback)(async()=>{l(!0),C(null);try{t(await i().remote.getStatus())}catch(e){C(e instanceof Error?e.message:`Failed to load remote status.`)}finally{l(!1)}},[]);(0,k.useEffect)(()=>{let e=!1;return i().remote.getStatus().then(n=>{e||(t(n),!R.current&&n.desiredMethod===`off`&&!n.enabled&&(R.current=!0,O(!0)))}).catch(t=>{e||C(t instanceof Error?t.message:`Failed to load remote status.`)}).finally(()=>{e||r(!1)}),()=>{e=!0}},[]),(0,k.useEffect)(()=>{e?.username&&U(e.username)},[e?.username]);let q=(0,k.useCallback)(async e=>{g(!0),C(null);try{t(await e())}catch(e){C(e instanceof Error?e.message:`Something went wrong.`)}finally{g(!1)}},[]),J=(0,k.useCallback)(e=>q(()=>i().remote.setExposure({method:e})),[q]),te=(0,k.useCallback)(()=>q(()=>i().remote.setCredentials({username:z.trim(),password:W}).then(e=>(G(``),e))),[q,z,W]),ne=(0,k.useCallback)(e=>q(()=>i().remote.revokeSession({sessionId:e})),[q]),re=(0,k.useCallback)(()=>q(()=>i().remote.disconnectLinkAccount({})),[q]),ie=(0,k.useCallback)(async()=>{I(!0),P(null);try{P(await i().remote.testConnection())}catch(e){P({ok:!1,url:null,latencyMs:null,error:e instanceof Error?e.message:`Test failed.`})}finally{I(!1)}},[]),Y=(0,k.useCallback)(e=>{M(e),O(!0)},[]),X=e?.tailscale,Z=e?.link,Q=!!Z?.accountLinked,ae=!!X?.installed,$=!!(X?.installed&&X.httpsEnabled),oe=!!(e&&e.desiredMethod!==`off`&&e.desiredMethod!==e.method),se=(0,k.useMemo)(()=>e?e.enabled?e.reachability===`public`?`Public`:`Live`:`Off`:`…`,[e]);return n?(0,A.jsx)(w,{children:(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-8 text-sm text-muted-foreground`,children:[(0,A.jsx)(m,{className:`size-4 animate-spin`}),`Loading remote access…`]})}):(0,A.jsxs)(w,{children:[(0,A.jsx)(B,{}),(0,A.jsx)(E,{title:`Remote access`,icon:(0,A.jsx)(p,{className:`size-3.5`}),headerAction:(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] font-medium ${e?.enabled?`text-emerald-600 dark:text-emerald-400`:`text-muted-foreground`}`,children:[(0,A.jsx)(`span`,{className:`size-1.5 rounded-full ${e?.enabled?`bg-emerald-500`:`bg-muted-foreground/50`}`}),se]}),(0,A.jsx)(a,{size:`xs`,variant:`outline`,disabled:h||c,onClick:()=>void K(),children:(0,A.jsx)(u,{className:`size-3.5 ${c?`animate-spin`:``}`})})]}),children:D&&e?(0,A.jsx)(L,{status:e,onStatus:t,onClose:()=>{O(!1),M(void 0)},...j===void 0?{}:{initialMethod:j}},j??`default`):(0,A.jsxs)(T,{title:`Reach ShioriCode from your phone and other devices`,description:`The server keeps running on this machine; remote access only changes how devices reach it. Anyone who signs in has full access — keep the password strong.`,status:e?.enabled&&e.url?`${e.sessions.length} device${e.sessions.length===1?``:`s`} connected`:void 0,control:(0,A.jsx)(a,{size:`sm`,variant:`outline`,disabled:h,onClick:()=>Y(),children:e?.enabled?`Run setup again`:`Set up remote access`}),children:[_?(0,A.jsxs)(S,{variant:`error`,className:`mb-3`,children:[(0,A.jsx)(b,{children:`Couldn't complete that`}),(0,A.jsx)(y,{children:_})]}):null,oe&&e?(0,A.jsxs)(S,{variant:`warning`,className:`mb-3`,children:[(0,A.jsx)(b,{children:`Remote access was interrupted`}),(0,A.jsx)(y,{children:(0,A.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,A.jsx)(`span`,{children:e.notice??`The exposure no longer matches what you set up.`}),(0,A.jsx)(a,{size:`xs`,variant:`outline`,disabled:h,onClick:()=>void J(e.desiredMethod),children:`Repair`})]})})]}):null,e?.enabled&&e.url?(0,A.jsxs)(`div`,{className:`space-y-3`,children:[(0,A.jsx)(ee,{url:e.url}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsxs)(a,{size:`sm`,variant:`outline`,disabled:F,onClick:()=>void ie(),children:[F?(0,A.jsx)(m,{className:`size-3.5 animate-spin`}):null,`Test connection`]}),N?(0,A.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs ${N.ok?`text-emerald-600 dark:text-emerald-400`:`text-destructive`}`,children:[N.ok?(0,A.jsx)(s,{className:`size-3.5`}):(0,A.jsx)(o,{className:`size-3.5`}),N.ok?`Reachable${N.latencyMs===null?``:` · ${N.latencyMs}ms`}`:N.error??`Not reachable.`]}):null]})]}):(0,A.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Not exposed yet. Use the setup wizard to get a link in about a minute.`}),e?.notice&&!oe?(0,A.jsx)(S,{variant:`warning`,className:`mt-3`,children:(0,A.jsx)(y,{children:e.notice})}):null]})}),D?null:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(E,{title:`How it's reached`,icon:(0,A.jsx)(d,{className:`size-3.5`}),children:(0,A.jsxs)(T,{title:`Access method`,description:Z?.accountLinked?`Link is ready. Tailscale remains available for private tailnet-only access.`:X?.installed?X.running?`Connect Shiori for Link, or keep using this machine's Tailscale connection.`:`Connect Shiori for Link without Tailscale, or reconnect the Tailscale app.`:`Shiori Link gives this machine a hosted link without Tailscale, ports, or DNS setup.`,children:[(0,A.jsx)(`div`,{className:`mt-1 grid gap-2 sm:grid-cols-2 lg:grid-cols-4`,children:V.map(t=>{let n=e?.method===t.value;return(0,A.jsxs)(`button`,{type:`button`,disabled:h||t.value===`shiori-link`&&!Q||t.value===`tailscale-serve`&&!ae||t.value===`tailscale-funnel`&&!$,onClick:()=>void J(t.value),className:`flex flex-col items-start gap-0.5 rounded-lg border px-3 py-2.5 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${n?`border-primary bg-primary/5 ring-1 ring-primary`:`border-border hover:bg-muted/40`}`,children:[(0,A.jsxs)(`span`,{className:`flex items-center gap-1.5 text-sm font-medium text-foreground`,children:[n?(0,A.jsx)(s,{className:`size-3.5 text-primary`}):null,t.label]}),(0,A.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:t.hint})]},t.value)})}),X&&!X.installed?(0,A.jsxs)(`p`,{className:`mt-2 text-[11px] text-muted-foreground`,children:[(0,A.jsx)(`a`,{href:`https://tailscale.com/download`,target:`_blank`,rel:`noreferrer`,className:`text-primary hover:underline`,children:`Download Tailscale`}),` `,`and sign in, then come back — the setup wizard checks it live.`]}):null,$||e?.method===`tailscale-funnel`?null:X?.installed&&!X.httpsEnabled?(0,A.jsx)(`p`,{className:`mt-2 text-[11px] text-muted-foreground`,children:`Public access needs HTTPS certificates enabled on your tailnet (admin console → DNS → Enable HTTPS).`}):null,(0,A.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center justify-between gap-2 rounded-lg border border-border px-3 py-2.5`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`div`,{className:`text-sm text-foreground`,children:`Shiori Link`}),(0,A.jsx)(`div`,{className:`text-[11px] text-muted-foreground`,children:Z?.accountLinked?Z.endpoint?`Connected · ${Z.endpoint}`:`Shiori account connected`:`No Shiori account connected`})]}),Z?.accountLinked?(0,A.jsx)(a,{size:`xs`,variant:`ghost`,disabled:h,onClick:()=>void re(),children:`Disconnect`}):(0,A.jsx)(a,{size:`xs`,variant:`outline`,onClick:()=>Y(`shiori-link`),children:`Connect`})]})]})}),(0,A.jsx)(E,{title:`Sign-in`,children:(0,A.jsx)(T,{title:`Owner credentials`,description:e?.requireAuth?`A login is required for remote access.`:`Set a password so the iOS app and remote browsers can sign in. It's required the moment you expose this machine.`,status:e?.authConfigured?`Configured${e.username?` · ${e.username}`:``}`:`Not set`,children:(0,A.jsxs)(`div`,{className:`mt-1 grid gap-3 sm:grid-cols-[1fr_1fr_auto] sm:items-end`,children:[(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`remote-username`,children:`Username`}),(0,A.jsx)(v,{id:`remote-username`,autoComplete:`username`,value:z,onChange:e=>U(e.target.value),disabled:h})]}),(0,A.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,A.jsx)(x,{htmlFor:`remote-password`,children:e?.authConfigured?`New password`:`Password`}),(0,A.jsx)(v,{id:`remote-password`,type:`password`,autoComplete:`new-password`,value:W,onChange:e=>G(e.target.value),disabled:h})]}),(0,A.jsx)(a,{disabled:h||z.trim().length===0||W.length===0,onClick:()=>void te(),children:e?.authConfigured?`Update`:`Set password`})]})})}),(0,A.jsx)(E,{title:`Devices`,icon:(0,A.jsx)(f,{className:`size-3.5`}),children:(0,A.jsx)(T,{title:`Connected devices`,description:`Sessions that have signed in remotely. Revoke one to sign it out immediately.`,children:e&&e.sessions.length>0?(0,A.jsx)(`div`,{className:`mt-1 divide-y divide-border rounded-lg border border-border`,children:e.sessions.map(e=>(0,A.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-3 px-3 py-2.5`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsx)(`div`,{className:`truncate text-sm text-foreground`,children:e.label??e.username}),(0,A.jsxs)(`div`,{className:`text-[11px] text-muted-foreground`,children:[`last seen `,H(e.lastSeenAt)]})]}),(0,A.jsx)(a,{size:`xs`,variant:`ghost`,disabled:h,onClick:()=>void ne(e.id),children:`Revoke`})]},e.id))}):(0,A.jsx)(`p`,{className:`mt-1 text-xs text-muted-foreground`,children:`No devices connected yet.`})})})]})]})}var W=U;export{W as component};
2
+ //# sourceMappingURL=settings.remote-COKGS805.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{d as r,m as i}from"./vendor-tanstack-DxB_J8A7.js";import{c as a}from"./vendor--lexical-react-Dg6NVZQt.js";import{f as o,s}from"./clientSettings-5THztvzS.js";import"./vendor-effect-Chd9hYxF.js";import"./utils-D1UgimcN.js";import"./store-KYb5gyLf.js";import"./terminalStateStore-DBL14uZB.js";import"./uiStateStore-CC1coFoR.js";import{Dn as c,Fn as l}from"./vendor-ui-CJZCHXkp.js";import"./useSettings-CvQQz7AW.js";import"./useHandleNewThread-CRjy_n7m.js";import"./gitReactQuery-Be_6T0Ee.js";import"./input-DWDmgkdY.js";import"./ProviderModelPicker-Bze2CcYx.js";import{t as u}from"./badge-1VUDnpuQ.js";import{a as d,i as f,o as p,r as m,t as h}from"./empty-DrPVL67l.js";import"./collapsible--nYYN5Zg.js";import{a as g,s as _}from"./SettingsPanels-DqCqBUI7.js";import{a as v,i as y,n as b,o as x,r as S}from"./skillsMcpShared-RFZJX9uG.js";var C=n(),w=e(t(),1),T=a();function E(e){let t=(0,C.c)(18),{skill:n,onDelete:r}=e,i;t[0]===n.name?i=t[1]:(i=(0,T.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:n.name}),t[0]=n.name,t[1]=i);let a;t[2]===n.scope?a=t[3]:(a=(0,T.jsx)(u,{variant:`outline`,className:`text-[10px] capitalize`,children:n.scope}),t[2]=n.scope,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let c;t[7]===n.description?c=t[8]:(c=n.description?(0,T.jsx)(`p`,{className:`mt-0.5 line-clamp-1 text-xs text-muted-foreground`,children:n.description}):null,t[7]=n.description,t[8]=c);let d;t[9]!==o||t[10]!==c?(d=(0,T.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o,c]}),t[9]=o,t[10]=c,t[11]=d):d=t[11];let f;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,T.jsx)(l,{className:`size-3.5 text-muted-foreground`}),t[12]=f):f=t[12];let p;t[13]===r?p=t[14]:(p=(0,T.jsx)(s,{size:`icon-xs`,variant:`ghost`,onClick:r,children:f}),t[13]=r,t[14]=p);let m;return t[15]!==d||t[16]!==p?(m=(0,T.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-border/60 px-4 py-2.5 pl-10 sm:px-5 sm:pl-11`,children:[d,p]}),t[15]=d,t[16]=p,t[17]=m):m=t[17],m}function D({skills:e,onDelete:t}){let[n,r]=(0,w.useState)(``),i=(0,w.useMemo)(()=>n?e.filter(e=>x(n,e.name,e.description,e.source,e.scope)):e,[e,n]),a=(0,w.useMemo)(()=>v(i),[i]),o=e.length>5,s=a.size>1;return(0,T.jsx)(_,{title:`Skills`,icon:(0,T.jsx)(c,{className:`size-3.5`}),children:e.length===0?(0,T.jsxs)(h,{className:`min-h-36`,children:[(0,T.jsx)(d,{variant:`icon`,children:(0,T.jsx)(c,{})}),(0,T.jsxs)(f,{children:[(0,T.jsx)(p,{children:`No skills found`}),(0,T.jsx)(m,{children:`Add skills under ~/.agents/skills or workspace .agents/skills.`})]})]}):(0,T.jsxs)(T.Fragment,{children:[o?(0,T.jsx)(S,{value:n,onChange:r,placeholder:`Filter skills…`,resultCount:i.length,totalCount:e.length}):null,(0,T.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:i.length===0?(0,T.jsxs)(`p`,{className:`px-4 py-6 text-center text-sm text-muted-foreground sm:px-5`,children:[`No skills match “`,n,`”`]}):s?Array.from(a.entries()).map(([e,n])=>(0,T.jsx)(y,{source:e,count:n.length,defaultOpen:!0,children:n.map(e=>(0,T.jsx)(E,{skill:e,onDelete:()=>t(e)},`${e.scope}|${e.path}`))},e)):i.map(e=>(0,T.jsx)(E,{skill:e,onDelete:()=>t(e)},`${e.source}|${e.scope}|${e.path}`))})]})})}function O(){let e=(0,C.c)(7),t=i(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:b,queryFn:k,staleTime:5e3},e[0]=n):n=e[0];let a=r(n),s;e[1]===t?s=e[2]:(s=e=>{o().server.removeSkill({source:e.source,name:e.name,path:e.path}).then(()=>t.invalidateQueries({queryKey:b}))},e[1]=t,e[2]=s);let l=s,u;return e[3]!==l||e[4]!==a.data?.skills||e[5]!==a.isLoading?(u=(0,T.jsx)(g,{children:a.isLoading?(0,T.jsx)(_,{title:`Skills`,icon:(0,T.jsx)(c,{className:`size-3.5`}),children:(0,T.jsxs)(h,{className:`min-h-36`,children:[(0,T.jsx)(d,{variant:`icon`,children:(0,T.jsx)(c,{})}),(0,T.jsxs)(f,{children:[(0,T.jsx)(p,{children:`Loading skills`}),(0,T.jsx)(m,{children:`Checking ShioriCode, Codex, and Claude skill locations.`})]})]})}):(0,T.jsx)(D,{skills:a.data?.skills??[],onDelete:l})}),e[3]=l,e[4]=a.data?.skills,e[5]=a.isLoading,e[6]=u):u=e[6],u}function k(){return o().server.listSkills()}var A=O;export{A as component};
2
- //# sourceMappingURL=settings.skills-B-UfH45M.js.map
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{d as r,m as i}from"./vendor-tanstack-DxB_J8A7.js";import{c as a}from"./vendor--lexical-react-Dg6NVZQt.js";import{f as o,s}from"./clientSettings-BoLlsjmq.js";import"./vendor-effect-Chd9hYxF.js";import"./utils-BnXGGW32.js";import"./store-BzqS7zm8.js";import"./terminalStateStore-BhU1c2Sw.js";import"./uiStateStore-CGeY60Rr.js";import{Dn as c,Fn as l}from"./vendor-ui-CJZCHXkp.js";import"./useSettings-CfiGcPkS.js";import"./useHandleNewThread-CxLIGmcC.js";import"./gitReactQuery-CQYez3In.js";import"./input-C7biIuoM.js";import"./ProviderModelPicker-DBL7REnB.js";import{t as u}from"./badge-DQNpCiTY.js";import{a as d,i as f,o as p,r as m,t as h}from"./empty-C0odYOnP.js";import"./collapsible-BFxx3cmC.js";import{a as g,s as _}from"./SettingsPanels-DToV4poM.js";import{a as v,i as y,n as b,o as x,r as S}from"./skillsMcpShared-DzSsN5fy.js";var C=n(),w=e(t(),1),T=a();function E(e){let t=(0,C.c)(18),{skill:n,onDelete:r}=e,i;t[0]===n.name?i=t[1]:(i=(0,T.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:n.name}),t[0]=n.name,t[1]=i);let a;t[2]===n.scope?a=t[3]:(a=(0,T.jsx)(u,{variant:`outline`,className:`text-[10px] capitalize`,children:n.scope}),t[2]=n.scope,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let c;t[7]===n.description?c=t[8]:(c=n.description?(0,T.jsx)(`p`,{className:`mt-0.5 line-clamp-1 text-xs text-muted-foreground`,children:n.description}):null,t[7]=n.description,t[8]=c);let d;t[9]!==o||t[10]!==c?(d=(0,T.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[o,c]}),t[9]=o,t[10]=c,t[11]=d):d=t[11];let f;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,T.jsx)(l,{className:`size-3.5 text-muted-foreground`}),t[12]=f):f=t[12];let p;t[13]===r?p=t[14]:(p=(0,T.jsx)(s,{size:`icon-xs`,variant:`ghost`,onClick:r,children:f}),t[13]=r,t[14]=p);let m;return t[15]!==d||t[16]!==p?(m=(0,T.jsxs)(`div`,{className:`flex items-center gap-3 border-t border-border/60 px-4 py-2.5 pl-10 sm:px-5 sm:pl-11`,children:[d,p]}),t[15]=d,t[16]=p,t[17]=m):m=t[17],m}function D({skills:e,onDelete:t}){let[n,r]=(0,w.useState)(``),i=(0,w.useMemo)(()=>n?e.filter(e=>x(n,e.name,e.description,e.source,e.scope)):e,[e,n]),a=(0,w.useMemo)(()=>v(i),[i]),o=e.length>5,s=a.size>1;return(0,T.jsx)(_,{title:`Skills`,icon:(0,T.jsx)(c,{className:`size-3.5`}),children:e.length===0?(0,T.jsxs)(h,{className:`min-h-36`,children:[(0,T.jsx)(d,{variant:`icon`,children:(0,T.jsx)(c,{})}),(0,T.jsxs)(f,{children:[(0,T.jsx)(p,{children:`No skills found`}),(0,T.jsx)(m,{children:`Add skills under ~/.agents/skills or workspace .agents/skills.`})]})]}):(0,T.jsxs)(T.Fragment,{children:[o?(0,T.jsx)(S,{value:n,onChange:r,placeholder:`Filter skills…`,resultCount:i.length,totalCount:e.length}):null,(0,T.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:i.length===0?(0,T.jsxs)(`p`,{className:`px-4 py-6 text-center text-sm text-muted-foreground sm:px-5`,children:[`No skills match “`,n,`”`]}):s?Array.from(a.entries()).map(([e,n])=>(0,T.jsx)(y,{source:e,count:n.length,defaultOpen:!0,children:n.map(e=>(0,T.jsx)(E,{skill:e,onDelete:()=>t(e)},`${e.scope}|${e.path}`))},e)):i.map(e=>(0,T.jsx)(E,{skill:e,onDelete:()=>t(e)},`${e.source}|${e.scope}|${e.path}`))})]})})}function O(){let e=(0,C.c)(7),t=i(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={queryKey:b,queryFn:k,staleTime:5e3},e[0]=n):n=e[0];let a=r(n),s;e[1]===t?s=e[2]:(s=e=>{o().server.removeSkill({source:e.source,name:e.name,path:e.path}).then(()=>t.invalidateQueries({queryKey:b}))},e[1]=t,e[2]=s);let l=s,u;return e[3]!==l||e[4]!==a.data?.skills||e[5]!==a.isLoading?(u=(0,T.jsx)(g,{children:a.isLoading?(0,T.jsx)(_,{title:`Skills`,icon:(0,T.jsx)(c,{className:`size-3.5`}),children:(0,T.jsxs)(h,{className:`min-h-36`,children:[(0,T.jsx)(d,{variant:`icon`,children:(0,T.jsx)(c,{})}),(0,T.jsxs)(f,{children:[(0,T.jsx)(p,{children:`Loading skills`}),(0,T.jsx)(m,{children:`Checking ShioriCode, Codex, and Claude skill locations.`})]})]})}):(0,T.jsx)(D,{skills:a.data?.skills??[],onDelete:l})}),e[3]=l,e[4]=a.data?.skills,e[5]=a.isLoading,e[6]=u):u=e[6],u}function k(){return o().server.listSkills()}var A=O;export{A as component};
2
+ //# sourceMappingURL=settings.skills-DbcoPmK9.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{C as r}from"./vendor-tanstack-DxB_J8A7.js";import{c as i}from"./vendor--lexical-react-Dg6NVZQt.js";import{s as a}from"./clientSettings-5THztvzS.js";import"./vendor-effect-Chd9hYxF.js";import{O as o,t as s}from"./utils-D1UgimcN.js";import"./store-KYb5gyLf.js";import"./terminalStateStore-DBL14uZB.js";import"./uiStateStore-CC1coFoR.js";import{Ar as c,Er as l,Nr as u,lr as d,nr as f,or as p,zn as m}from"./vendor-ui-CJZCHXkp.js";import"./useSettings-CvQQz7AW.js";import"./useHandleNewThread-CRjy_n7m.js";import"./gitReactQuery-Be_6T0Ee.js";import{t as h}from"./input-DWDmgkdY.js";import{nt as g}from"./index-B58EBW6O.js";import{n as _,t as v}from"./useTheme-D0lWhUH9.js";import{a as y,i as b,o as x,r as S,s as ee}from"./ProviderModelPicker-Bze2CcYx.js";import"./empty-DrPVL67l.js";import{n as C,r as w,t as T}from"./collapsible--nYYN5Zg.js";import{a as E,o as D,s as O}from"./SettingsPanels-DqCqBUI7.js";var te=n(),k=e(t(),1),A=i(),j=[{label:`Base`,description:`Main application background and text colors.`,tokens:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`}]},{label:`Primary`,description:`Buttons, links, and key interactive elements.`,tokens:[{key:`primary`,label:`Primary`},{key:`primaryForeground`,label:`Primary text`}]},{label:`Secondary`,description:`Secondary buttons and less prominent controls.`,tokens:[{key:`secondary`,label:`Secondary`},{key:`secondaryForeground`,label:`Secondary text`}]},{label:`Card`,description:`Card surfaces and their text.`,tokens:[{key:`card`,label:`Card`},{key:`cardForeground`,label:`Card text`}]},{label:`Popover`,description:`Dropdown menus, tooltips, and floating panels.`,tokens:[{key:`popover`,label:`Popover`},{key:`popoverForeground`,label:`Popover text`}]},{label:`Muted`,description:`Subdued backgrounds and secondary text.`,tokens:[{key:`muted`,label:`Muted`},{key:`mutedForeground`,label:`Muted text`}]},{label:`Accent`,description:`Hover states and highlighted areas.`,tokens:[{key:`accent`,label:`Accent`},{key:`accentForeground`,label:`Accent text`}]},{label:`Borders & Input`,description:`Borders, input fields, and focus rings.`,tokens:[{key:`border`,label:`Border`},{key:`input`,label:`Input border`},{key:`ring`,label:`Focus ring`}]},{label:`Destructive`,description:`Errors, deletions, and dangerous actions.`,tokens:[{key:`destructive`,label:`Destructive`},{key:`destructiveForeground`,label:`Destructive text`}]},{label:`Status`,description:`Informational, success, and warning indicators.`,tokens:[{key:`info`,label:`Info`},{key:`infoForeground`,label:`Info text`},{key:`success`,label:`Success`},{key:`successForeground`,label:`Success text`},{key:`warning`,label:`Warning`},{key:`warningForeground`,label:`Warning text`}]}],ne=[{label:`Chrome`,colors:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`},{key:`cursor`,label:`Cursor`},{key:`selectionBackground`,label:`Selection`}]},{label:`Scrollbar`,colors:[{key:`scrollbarSliderBackground`,label:`Scrollbar`},{key:`scrollbarSliderHoverBackground`,label:`Scrollbar hover`},{key:`scrollbarSliderActiveBackground`,label:`Scrollbar active`}]},{label:`ANSI Colors`,colors:[{key:`black`,label:`Black`},{key:`red`,label:`Red`},{key:`green`,label:`Green`},{key:`yellow`,label:`Yellow`},{key:`blue`,label:`Blue`},{key:`magenta`,label:`Magenta`},{key:`cyan`,label:`Cyan`},{key:`white`,label:`White`}]},{label:`Bright ANSI Colors`,colors:[{key:`brightBlack`,label:`Bright black`},{key:`brightRed`,label:`Bright red`},{key:`brightGreen`,label:`Bright green`},{key:`brightYellow`,label:`Bright yellow`},{key:`brightBlue`,label:`Bright blue`},{key:`brightMagenta`,label:`Bright magenta`},{key:`brightCyan`,label:`Bright cyan`},{key:`brightWhite`,label:`Bright white`}]}];function M(e){let{radius:t,tokens:n,terminal:r}=_(e);return{radius:t,tokens:n,terminalColors:r}}function N(e){return parseInt(e,10).toString(16).padStart(2,`0`)}function P(e){let t=e.trim();if(/^#[0-9a-fA-F]{6}$/i.test(t))return t;if(/^#[0-9a-fA-F]{3}$/i.test(t)){let[,e,n,r]=/^#(.)(.)(.)$/i.exec(t);return`#${e}${e}${n}${n}${r}${r}`}let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(t);return n?`#${N(n[1])}${N(n[2])}${N(n[3])}`:t}function F(e){return/^#[0-9a-fA-F]{6}$/i.test(e.trim())}function I(e){let t=(0,te.c)(28),{label:n,value:r,onChange:i}=e,a,o;t[0]===r?(a=t[1],o=t[2]):(a=P(r),o=F(a),t[0]=r,t[1]=a,t[2]=o);let s=o,c=(0,k.useRef)(null),l;t[3]===a?l=t[4]:(l={backgroundColor:a},t[3]=a,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>c.current?.click(),t[5]=u):u=t[5];let d=`Pick color for ${n}`,f=s?a:`#000000`,p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]!==f||t[9]!==p?(m=(0,A.jsx)(`input`,{ref:c,type:`color`,value:f,onChange:p,className:`absolute inset-0 cursor-pointer opacity-0`,tabIndex:-1}),t[8]=f,t[9]=p,t[10]=m):m=t[10];let g;t[11]!==l||t[12]!==d||t[13]!==m?(g=(0,A.jsx)(`button`,{type:`button`,className:`group relative size-8 shrink-0 cursor-pointer rounded-lg border border-border shadow-xs/5 transition-shadow hover:ring-2 hover:ring-ring/24`,style:l,onClick:u,"aria-label":d,children:m}),t[11]=l,t[12]=d,t[13]=m,t[14]=g):g=t[14];let _;t[15]===n?_=t[16]:(_=(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n}),t[15]=n,t[16]=_);let v;t[17]===i?v=t[18]:(v=e=>i(e.target.value),t[17]=i,t[18]=v);let y;t[19]!==v||t[20]!==r?(y=(0,A.jsx)(h,{size:`sm`,value:r,onChange:v,className:`font-mono text-xs`,spellCheck:!1,autoComplete:`off`}),t[19]=v,t[20]=r,t[21]=y):y=t[21];let b;t[22]!==y||t[23]!==_?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[_,y]}),t[22]=y,t[23]=_,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==g?(x=(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[g,b]}),t[25]=b,t[26]=g,t[27]=x):x=t[27],x}function L(e){let t=(0,te.c)(113),{tokens:n}=e,r;t[0]!==n.accent||t[1]!==n.background||t[2]!==n.border||t[3]!==n.card||t[4]!==n.cardForeground||t[5]!==n.destructive||t[6]!==n.destructiveForeground||t[7]!==n.foreground||t[8]!==n.info||t[9]!==n.input||t[10]!==n.muted||t[11]!==n.mutedForeground||t[12]!==n.primary||t[13]!==n.primaryForeground||t[14]!==n.secondary||t[15]!==n.secondaryForeground||t[16]!==n.success||t[17]!==n.warning?(r={"--p-bg":n.background,"--p-fg":n.foreground,"--p-card":n.card,"--p-card-fg":n.cardForeground,"--p-primary":n.primary,"--p-primary-fg":n.primaryForeground,"--p-secondary":n.secondary,"--p-secondary-fg":n.secondaryForeground,"--p-muted":n.muted,"--p-muted-fg":n.mutedForeground,"--p-accent":n.accent,"--p-border":n.border,"--p-input":n.input,"--p-destructive":n.destructive,"--p-destructive-fg":n.destructiveForeground,"--p-info":n.info,"--p-success":n.success,"--p-warning":n.warning,borderColor:n.border},t[0]=n.accent,t[1]=n.background,t[2]=n.border,t[3]=n.card,t[4]=n.cardForeground,t[5]=n.destructive,t[6]=n.destructiveForeground,t[7]=n.foreground,t[8]=n.info,t[9]=n.input,t[10]=n.muted,t[11]=n.mutedForeground,t[12]=n.primary,t[13]=n.primaryForeground,t[14]=n.secondary,t[15]=n.secondaryForeground,t[16]=n.success,t[17]=n.warning,t[18]=r):r=t[18];let i=r,a=`1px solid ${n.border}`,o;t[19]!==a||t[20]!==n.card?(o={backgroundColor:n.card,borderBottom:a},t[19]=a,t[20]=n.card,t[21]=o):o=t[21];let s;t[22]===n.destructive?s=t[23]:(s=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.destructive}}),t[22]=n.destructive,t[23]=s);let c;t[24]===n.warning?c=t[25]:(c=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.warning}}),t[24]=n.warning,t[25]=c);let l;t[26]===n.success?l=t[27]:(l=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.success}}),t[26]=n.success,t[27]=l);let u;t[28]!==s||t[29]!==c||t[30]!==l?(u=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[s,c,l]}),t[28]=s,t[29]=c,t[30]=l,t[31]=u):u=t[31];let d;t[32]===n.mutedForeground?d=t[33]:(d=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.mutedForeground},children:`Preview`}),t[32]=n.mutedForeground,t[33]=d);let f;t[34]!==o||t[35]!==u||t[36]!==d?(f=(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,style:o,children:[u,d]}),t[34]=o,t[35]=u,t[36]=d,t[37]=f):f=t[37];let p;t[38]===n.background?p=t[39]:(p={backgroundColor:n.background},t[38]=n.background,t[39]=p);let m=`1px solid ${n.border}`,h;t[40]===m?h=t[41]:(h={borderRight:m},t[40]=m,t[41]=h);let g;t[42]!==n.accent||t[43]!==n.foreground?(g=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px] font-medium`,style:{backgroundColor:n.accent,color:n.foreground},children:`Active item`}),t[42]=n.accent,t[43]=n.foreground,t[44]=g):g=t[44];let _;t[45]===n.mutedForeground?_=t[46]:(_=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[45]=n.mutedForeground,t[46]=_);let v;t[47]===n.mutedForeground?v=t[48]:(v=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[47]=n.mutedForeground,t[48]=v);let y;t[49]!==h||t[50]!==g||t[51]!==_||t[52]!==v?(y=(0,A.jsxs)(`div`,{className:`w-28 shrink-0 space-y-1 p-2`,style:h,children:[g,_,v]}),t[49]=h,t[50]=g,t[51]=_,t[52]=v,t[53]=y):y=t[53];let b;t[54]===n.foreground?b=t[55]:(b=(0,A.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:n.foreground},children:`Theme Preview`}),t[54]=n.foreground,t[55]=b);let x;t[56]===n.mutedForeground?x=t[57]:(x=(0,A.jsx)(`p`,{className:`text-[10px] leading-relaxed`,style:{color:n.mutedForeground},children:`This is how your theme will look in the application.`}),t[56]=n.mutedForeground,t[57]=x);let S;t[58]!==b||t[59]!==x?(S=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[b,x]}),t[58]=b,t[59]=x,t[60]=S):S=t[60];let ee=`1px solid ${n.border}`,C;t[61]!==ee||t[62]!==n.card?(C={backgroundColor:n.card,border:ee},t[61]=ee,t[62]=n.card,t[63]=C):C=t[63];let w;t[64]===n.cardForeground?w=t[65]:(w=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.cardForeground},children:`Card component`}),t[64]=n.cardForeground,t[65]=w);let T;t[66]===n.mutedForeground?T=t[67]:(T=(0,A.jsx)(`p`,{className:`mt-0.5 text-[10px]`,style:{color:n.mutedForeground},children:`Cards contain grouped content.`}),t[66]=n.mutedForeground,t[67]=T);let E;t[68]!==C||t[69]!==w||t[70]!==T?(E=(0,A.jsxs)(`div`,{className:`rounded-lg p-2.5`,style:C,children:[w,T]}),t[68]=C,t[69]=w,t[70]=T,t[71]=E):E=t[71];let D;t[72]!==n.primary||t[73]!==n.primaryForeground?(D=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.primary,color:n.primaryForeground},children:`Primary`}),t[72]=n.primary,t[73]=n.primaryForeground,t[74]=D):D=t[74];let O;t[75]!==n.secondary||t[76]!==n.secondaryForeground?(O=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.secondary,color:n.secondaryForeground},children:`Secondary`}),t[75]=n.secondary,t[76]=n.secondaryForeground,t[77]=O):O=t[77];let k;t[78]!==n.destructive||t[79]!==n.destructiveForeground?(k=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.destructive,color:n.destructiveForeground},children:`Delete`}),t[78]=n.destructive,t[79]=n.destructiveForeground,t[80]=k):k=t[80];let j;t[81]!==D||t[82]!==O||t[83]!==k?(j=(0,A.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[D,O,k]}),t[81]=D,t[82]=O,t[83]=k,t[84]=j):j=t[84];let ne=`1px solid ${n.input}`,M;t[85]!==ne||t[86]!==n.background||t[87]!==n.mutedForeground?(M=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{backgroundColor:n.background,border:ne,color:n.mutedForeground},children:`Placeholder text...`}),t[85]=ne,t[86]=n.background,t[87]=n.mutedForeground,t[88]=M):M=t[88];let N;t[89]===n.info?N=t[90]:(N=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.info},children:`Info`}),t[89]=n.info,t[90]=N);let P;t[91]===n.success?P=t[92]:(P=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.success},children:`Success`}),t[91]=n.success,t[92]=P);let F;t[93]===n.warning?F=t[94]:(F=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.warning},children:`Warning`}),t[93]=n.warning,t[94]=F);let I;t[95]!==N||t[96]!==P||t[97]!==F?(I=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[N,P,F]}),t[95]=N,t[96]=P,t[97]=F,t[98]=I):I=t[98];let L;t[99]!==S||t[100]!==E||t[101]!==j||t[102]!==M||t[103]!==I?(L=(0,A.jsxs)(`div`,{className:`flex-1 space-y-2.5 p-3`,children:[S,E,j,M,I]}),t[99]=S,t[100]=E,t[101]=j,t[102]=M,t[103]=I,t[104]=L):L=t[104];let R;t[105]!==p||t[106]!==y||t[107]!==L?(R=(0,A.jsxs)(`div`,{className:`flex`,style:p,children:[y,L]}),t[105]=p,t[106]=y,t[107]=L,t[108]=R):R=t[108];let re;return t[109]!==f||t[110]!==i||t[111]!==R?(re=(0,A.jsxs)(`div`,{className:`overflow-hidden rounded-xl border shadow-xs/5`,style:i,children:[f,R]}),t[109]=f,t[110]=i,t[111]=R,t[112]=re):re=t[112],re}function R(){let e=(0,te.c)(108),{themeOptionsByAppearance:t,importTheme:n}=v(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=M(`dark`),e[0]=i):i=e[0];let _=i,N,P;e[1]!==t.dark||e[2]!==t.light?(P=[...t.light,...t.dark],e[1]=t.dark,e[2]=t.light,e[3]=P):P=e[3],N=P;let F=N,[R,oe]=(0,k.useState)(``),[z,se]=(0,k.useState)(``),[B,ce]=(0,k.useState)(``),[V,le]=(0,k.useState)(`dark`),[H,ue]=(0,k.useState)(_.radius),[U,de]=(0,k.useState)(_.tokens),[W,fe]=(0,k.useState)(_.terminalColors),[pe,me]=(0,k.useState)(!1),he;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(he=(e,t)=>{de(n=>({...n,[e]:t}))},e[4]=he):he=e[4];let ge=he,_e;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(e,t)=>{fe(n=>({...n,[e]:t}))},e[5]=_e):_e=e[5];let ve=_e,ye;e[6]===F?ye=e[7]:(ye=e=>{if(e==null)return;let t=F.find(t=>t.id===e);t&&(le(t.appearance),de({...t.tokens}),t.terminal?fe({...t.terminal}):fe(M(t.appearance).terminalColors),t.radius&&ue(t.radius))},e[6]=F,e[7]=ye);let be=ye,xe;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{if(e!==`light`&&e!==`dark`)return;let t=M(e);le(e),ue(t.radius),de(t.tokens),fe(t.terminalColors)},e[8]=xe):xe=e[8];let Se=xe,Ce;e[9]===V?Ce=e[10]:(Ce=()=>{let e=M(V);oe(``),se(``),ce(``),ue(e.radius),de(e.tokens),fe(e.terminalColors)},e[9]=V,e[10]=Ce);let we=Ce,Te;e[11]!==V||e[12]!==z||e[13]!==B||e[14]!==R||e[15]!==H||e[16]!==W||e[17]!==U?(Te=()=>JSON.stringify({version:1,name:R.trim()||`Untitled Theme`,appearance:V,author:z.trim()||void 0,description:B.trim()||void 0,radius:H,tokens:U,terminal:W},null,2),e[11]=V,e[12]=z,e[13]=B,e[14]=R,e[15]=H,e[16]=W,e[17]=U,e[18]=Te):Te=e[18];let G=Te,Ee;e[19]!==V||e[20]!==G||e[21]!==n||e[22]!==R?(Ee=()=>{let e=R.trim()||`Untitled Theme`;try{n(G()),g.add({type:`success`,title:`Saved "${e}"`,description:`The theme is now active for your ${V} appearance.`})}catch(e){let t=e;g.add({type:`error`,title:`Could not save theme`,description:t instanceof Error?t.message:`The theme data is invalid.`})}},e[19]=V,e[20]=G,e[21]=n,e[22]=R,e[23]=Ee):Ee=e[23];let De=Ee,Oe;e[24]!==G||e[25]!==R?(Oe=()=>{let e=G(),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${(R.trim()||`theme`).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}.json`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)},e[24]=G,e[25]=R,e[26]=Oe):Oe=e[26];let ke=Oe,Ae;e[27]===G?Ae=e[28]:(Ae=()=>{navigator.clipboard.writeText(G()).then(ae,ie)},e[27]=G,e[28]=Ae);let je=Ae,Me=o.every(e=>U[e]?.trim()),Ne,Pe;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,A.jsxs)(r,{to:`/settings/appearance`,className:`inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground`,children:[(0,A.jsx)(m,{className:`size-3.5`}),`Appearance`]}),Pe=(0,A.jsx)(`span`,{className:`text-border`,children:`/`}),e[29]=Ne,e[30]=Pe):(Ne=e[29],Pe=e[30]);let Fe;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[Ne,Pe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(f,{className:`size-4 text-primary`}),(0,A.jsx)(`h1`,{className:`text-sm font-semibold text-foreground`,children:`Theme Builder`})]})]}),e[31]=Fe):Fe=e[31];let Ie;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,A.jsx)(u,{className:`size-3.5`}),e[32]=Ie):Ie=e[32];let K;e[33]===je?K=e[34]:(K=(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:je,title:`Copy JSON`,children:[Ie,`Copy JSON`]}),e[33]=je,e[34]=K);let Le;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,A.jsx)(l,{className:`size-3.5`}),e[35]=Le):Le=e[35];let q;e[36]===ke?q=e[37]:(q=(0,A.jsxs)(a,{size:`sm`,variant:`outline`,onClick:ke,children:[Le,`Export`]}),e[36]=ke,e[37]=q);let Re=!Me,ze;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,A.jsx)(c,{className:`size-3.5`}),e[38]=ze):ze=e[38];let J;e[39]!==De||e[40]!==Re?(J=(0,A.jsxs)(a,{size:`sm`,variant:`default`,disabled:Re,onClick:De,children:[ze,`Save & Apply`]}),e[39]=De,e[40]=Re,e[41]=J):J=e[41];let Y;e[42]!==K||e[43]!==q||e[44]!==J?(Y=(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[Fe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[K,q,J]})]}),e[42]=K,e[43]=q,e[44]=J,e[45]=Y):Y=e[45];let Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Be=e=>oe(e.target.value),e[46]=Be):Be=e[46];let X;e[47]===R?X=e[48]:(X=(0,A.jsx)(D,{title:`Name`,description:`Give your theme a recognizable name.`,control:(0,A.jsx)(h,{size:`sm`,value:R,onChange:Be,placeholder:`My Theme`,className:`w-full sm:w-52`})}),e[47]=R,e[48]=X);let Ve;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=e=>se(e.target.value),e[49]=Ve):Ve=e[49];let Z;e[50]===z?Z=e[51]:(Z=(0,A.jsx)(D,{title:`Author`,description:`Optional creator attribution.`,control:(0,A.jsx)(h,{size:`sm`,value:z,onChange:Ve,placeholder:`Your name`,className:`w-full sm:w-52`})}),e[50]=z,e[51]=Z);let He;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>ce(e.target.value),e[52]=He):He=e[52];let Q;e[53]===B?Q=e[54]:(Q=(0,A.jsx)(D,{title:`Description`,description:`A short summary of the theme's look and feel.`,control:(0,A.jsx)(h,{size:`sm`,value:B,onChange:He,placeholder:`A warm dark palette with…`,className:`w-full sm:w-52`})}),e[53]=B,e[54]=Q);let Ue=V===`light`?`Light`:`Dark`,We;e[55]===Ue?We=e[56]:(We=(0,A.jsx)(x,{className:`w-full sm:w-40`,"aria-label":`Appearance`,children:(0,A.jsx)(ee,{children:Ue})}),e[55]=Ue,e[56]=We);let Ge;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,A.jsxs)(y,{align:`end`,alignItemWithTrigger:!1,children:[(0,A.jsx)(b,{hideIndicator:!0,value:`light`,children:`Light`}),(0,A.jsx)(b,{hideIndicator:!0,value:`dark`,children:`Dark`})]}),e[57]=Ge):Ge=e[57];let Ke;e[58]!==V||e[59]!==We?(Ke=(0,A.jsx)(D,{title:`Appearance`,description:`Whether this theme targets light or dark mode.`,control:(0,A.jsxs)(S,{value:V,onValueChange:Se,children:[We,Ge]})}),e[58]=V,e[59]=We,e[60]=Ke):Ke=e[60];let qe;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(qe=e=>ue(e.target.value),e[61]=qe):qe=e[61];let Je;e[62]===H?Je=e[63]:(Je=(0,A.jsx)(D,{title:`Border radius`,description:`Default border radius for UI components.`,control:(0,A.jsx)(h,{size:`sm`,value:H,onChange:qe,placeholder:`0.625rem`,className:`w-full sm:w-40 font-mono text-xs`})}),e[62]=H,e[63]=Je);let Ye;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,A.jsx)(x,{className:`w-full sm:w-52`,"aria-label":`Base theme`,children:(0,A.jsx)(ee,{children:`Choose a theme...`})}),e[64]=Ye):Ye=e[64];let Xe;e[65]===F?Xe=e[66]:(Xe=(0,A.jsx)(y,{align:`end`,alignItemWithTrigger:!1,children:F.map(re)}),e[65]=F,e[66]=Xe);let Ze;e[67]!==be||e[68]!==Xe?(Ze=(0,A.jsx)(D,{title:`Start from base`,description:`Load colors from an existing theme to use as a starting point.`,control:(0,A.jsxs)(S,{value:``,onValueChange:be,children:[Ye,Xe]})}),e[67]=be,e[68]=Xe,e[69]=Ze):Ze=e[69];let Qe;e[70]!==X||e[71]!==Z||e[72]!==Q||e[73]!==Ke||e[74]!==Je||e[75]!==Ze?(Qe=(0,A.jsxs)(O,{title:`Theme Details`,children:[X,Z,Q,Ke,Je,Ze]}),e[70]=X,e[71]=Z,e[72]=Q,e[73]=Ke,e[74]=Je,e[75]=Ze,e[76]=Qe):Qe=e[76];let $e,et;e[77]===U?($e=e[78],et=e[79]):($e=(0,A.jsx)(O,{title:`Live Preview`,children:(0,A.jsx)(`div`,{className:`p-4`,children:(0,A.jsx)(L,{tokens:U})})}),et=j.map(e=>(0,A.jsx)(O,{title:e.label,children:(0,A.jsxs)(`div`,{className:`px-4 py-4 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs text-muted-foreground`,children:e.description}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.tokens.map(e=>(0,A.jsx)(I,{label:e.label,value:U[e.key],onChange:t=>ge(e.key,t)},e.key))})]})},e.label)),e[77]=U,e[78]=$e,e[79]=et);let tt;e[80]===Symbol.for(`react.memo_cache_sentinel`)?(tt=s(`inline-flex items-center gap-1 text-[11px] text-muted-foreground transition-colors hover:text-foreground`),e[80]=tt):tt=e[80];let nt=pe&&`rotate-180`,rt;e[81]===nt?rt=e[82]:(rt=s(`size-3.5 transition-transform duration-200`,nt),e[81]=nt,e[82]=rt);let it;e[83]===rt?it=e[84]:(it=(0,A.jsx)(p,{className:rt}),e[83]=rt,e[84]=it);let at=pe?`Collapse`:`Expand`,$;e[85]!==it||e[86]!==at?($=(0,A.jsxs)(w,{className:tt,children:[it,at]}),e[85]=it,e[86]=at,e[87]=$):$=e[87];let ot;e[88]===W?ot=e[89]:(ot=ne.map(e=>(0,A.jsxs)(`div`,{className:`border-t border-border px-4 py-4 first:border-t-0 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs font-medium text-foreground`,children:e.label}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.colors.map(e=>(0,A.jsx)(I,{label:e.label,value:W[e.key],onChange:t=>ve(e.key,t)},e.key))})]},e.label)),e[88]=W,e[89]=ot);let st;e[90]===ot?st=e[91]:(st=(0,A.jsx)(C,{children:ot}),e[90]=ot,e[91]=st);let ct;e[92]!==$||e[93]!==st?(ct=(0,A.jsx)(O,{title:`Terminal Colors`,headerAction:$,children:st}),e[92]=$,e[93]=st,e[94]=ct):ct=e[94];let lt;e[95]!==ct||e[96]!==pe?(lt=(0,A.jsx)(T,{open:pe,onOpenChange:me,children:ct}),e[95]=ct,e[96]=pe,e[97]=lt):lt=e[97];let ut;e[98]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,A.jsx)(d,{className:`size-3.5`}),e[98]=ut):ut=e[98];let dt;e[99]===we?dt=e[100]:(dt=(0,A.jsx)(`div`,{className:`flex justify-end pb-6`,children:(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:we,children:[ut,`Reset all colors`]})}),e[99]=we,e[100]=dt);let ft;return e[101]!==Y||e[102]!==Qe||e[103]!==$e||e[104]!==et||e[105]!==lt||e[106]!==dt?(ft=(0,A.jsxs)(E,{children:[Y,Qe,$e,et,lt,dt]}),e[101]=Y,e[102]=Qe,e[103]=$e,e[104]=et,e[105]=lt,e[106]=dt,e[107]=ft):ft=e[107],ft}function re(e){return(0,A.jsxs)(b,{hideIndicator:!0,value:e.id,children:[e.name,(0,A.jsxs)(`span`,{className:`ml-1.5 text-muted-foreground`,children:[`(`,e.appearance,`)`]})]},e.id)}function ie(){g.add({type:`error`,title:`Copy failed`,description:`Could not copy to clipboard.`})}function ae(){g.add({type:`success`,title:`Copied to clipboard`,description:`Theme JSON has been copied.`})}var oe=R;export{oe as component};
2
- //# sourceMappingURL=settings.theme-builder-DYn2dp1p.js.map
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import"./vendor--floating-ui-react-dom-CGq-bz3X.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{C as r}from"./vendor-tanstack-DxB_J8A7.js";import{c as i}from"./vendor--lexical-react-Dg6NVZQt.js";import{s as a}from"./clientSettings-BoLlsjmq.js";import"./vendor-effect-Chd9hYxF.js";import{O as o,t as s}from"./utils-BnXGGW32.js";import"./store-BzqS7zm8.js";import"./terminalStateStore-BhU1c2Sw.js";import"./uiStateStore-CGeY60Rr.js";import{Ar as c,Er as l,Nr as u,lr as d,nr as f,or as p,zn as m}from"./vendor-ui-CJZCHXkp.js";import"./useSettings-CfiGcPkS.js";import"./useHandleNewThread-CxLIGmcC.js";import"./gitReactQuery-CQYez3In.js";import{t as h}from"./input-C7biIuoM.js";import{nt as g}from"./index-ndFBrjHh.js";import{n as _,t as v}from"./useTheme-CVq6D9IF.js";import{a as y,i as b,o as x,r as S,s as ee}from"./ProviderModelPicker-DBL7REnB.js";import"./empty-C0odYOnP.js";import{n as C,r as w,t as T}from"./collapsible-BFxx3cmC.js";import{a as E,o as D,s as O}from"./SettingsPanels-DToV4poM.js";var te=n(),k=e(t(),1),A=i(),j=[{label:`Base`,description:`Main application background and text colors.`,tokens:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`}]},{label:`Primary`,description:`Buttons, links, and key interactive elements.`,tokens:[{key:`primary`,label:`Primary`},{key:`primaryForeground`,label:`Primary text`}]},{label:`Secondary`,description:`Secondary buttons and less prominent controls.`,tokens:[{key:`secondary`,label:`Secondary`},{key:`secondaryForeground`,label:`Secondary text`}]},{label:`Card`,description:`Card surfaces and their text.`,tokens:[{key:`card`,label:`Card`},{key:`cardForeground`,label:`Card text`}]},{label:`Popover`,description:`Dropdown menus, tooltips, and floating panels.`,tokens:[{key:`popover`,label:`Popover`},{key:`popoverForeground`,label:`Popover text`}]},{label:`Muted`,description:`Subdued backgrounds and secondary text.`,tokens:[{key:`muted`,label:`Muted`},{key:`mutedForeground`,label:`Muted text`}]},{label:`Accent`,description:`Hover states and highlighted areas.`,tokens:[{key:`accent`,label:`Accent`},{key:`accentForeground`,label:`Accent text`}]},{label:`Borders & Input`,description:`Borders, input fields, and focus rings.`,tokens:[{key:`border`,label:`Border`},{key:`input`,label:`Input border`},{key:`ring`,label:`Focus ring`}]},{label:`Destructive`,description:`Errors, deletions, and dangerous actions.`,tokens:[{key:`destructive`,label:`Destructive`},{key:`destructiveForeground`,label:`Destructive text`}]},{label:`Status`,description:`Informational, success, and warning indicators.`,tokens:[{key:`info`,label:`Info`},{key:`infoForeground`,label:`Info text`},{key:`success`,label:`Success`},{key:`successForeground`,label:`Success text`},{key:`warning`,label:`Warning`},{key:`warningForeground`,label:`Warning text`}]}],ne=[{label:`Chrome`,colors:[{key:`background`,label:`Background`},{key:`foreground`,label:`Foreground`},{key:`cursor`,label:`Cursor`},{key:`selectionBackground`,label:`Selection`}]},{label:`Scrollbar`,colors:[{key:`scrollbarSliderBackground`,label:`Scrollbar`},{key:`scrollbarSliderHoverBackground`,label:`Scrollbar hover`},{key:`scrollbarSliderActiveBackground`,label:`Scrollbar active`}]},{label:`ANSI Colors`,colors:[{key:`black`,label:`Black`},{key:`red`,label:`Red`},{key:`green`,label:`Green`},{key:`yellow`,label:`Yellow`},{key:`blue`,label:`Blue`},{key:`magenta`,label:`Magenta`},{key:`cyan`,label:`Cyan`},{key:`white`,label:`White`}]},{label:`Bright ANSI Colors`,colors:[{key:`brightBlack`,label:`Bright black`},{key:`brightRed`,label:`Bright red`},{key:`brightGreen`,label:`Bright green`},{key:`brightYellow`,label:`Bright yellow`},{key:`brightBlue`,label:`Bright blue`},{key:`brightMagenta`,label:`Bright magenta`},{key:`brightCyan`,label:`Bright cyan`},{key:`brightWhite`,label:`Bright white`}]}];function M(e){let{radius:t,tokens:n,terminal:r}=_(e);return{radius:t,tokens:n,terminalColors:r}}function N(e){return parseInt(e,10).toString(16).padStart(2,`0`)}function P(e){let t=e.trim();if(/^#[0-9a-fA-F]{6}$/i.test(t))return t;if(/^#[0-9a-fA-F]{3}$/i.test(t)){let[,e,n,r]=/^#(.)(.)(.)$/i.exec(t);return`#${e}${e}${n}${n}${r}${r}`}let n=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i.exec(t);return n?`#${N(n[1])}${N(n[2])}${N(n[3])}`:t}function F(e){return/^#[0-9a-fA-F]{6}$/i.test(e.trim())}function I(e){let t=(0,te.c)(28),{label:n,value:r,onChange:i}=e,a,o;t[0]===r?(a=t[1],o=t[2]):(a=P(r),o=F(a),t[0]=r,t[1]=a,t[2]=o);let s=o,c=(0,k.useRef)(null),l;t[3]===a?l=t[4]:(l={backgroundColor:a},t[3]=a,t[4]=l);let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>c.current?.click(),t[5]=u):u=t[5];let d=`Pick color for ${n}`,f=s?a:`#000000`,p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]!==f||t[9]!==p?(m=(0,A.jsx)(`input`,{ref:c,type:`color`,value:f,onChange:p,className:`absolute inset-0 cursor-pointer opacity-0`,tabIndex:-1}),t[8]=f,t[9]=p,t[10]=m):m=t[10];let g;t[11]!==l||t[12]!==d||t[13]!==m?(g=(0,A.jsx)(`button`,{type:`button`,className:`group relative size-8 shrink-0 cursor-pointer rounded-lg border border-border shadow-xs/5 transition-shadow hover:ring-2 hover:ring-ring/24`,style:l,onClick:u,"aria-label":d,children:m}),t[11]=l,t[12]=d,t[13]=m,t[14]=g):g=t[14];let _;t[15]===n?_=t[16]:(_=(0,A.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:n}),t[15]=n,t[16]=_);let v;t[17]===i?v=t[18]:(v=e=>i(e.target.value),t[17]=i,t[18]=v);let y;t[19]!==v||t[20]!==r?(y=(0,A.jsx)(h,{size:`sm`,value:r,onChange:v,className:`font-mono text-xs`,spellCheck:!1,autoComplete:`off`}),t[19]=v,t[20]=r,t[21]=y):y=t[21];let b;t[22]!==y||t[23]!==_?(b=(0,A.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5`,children:[_,y]}),t[22]=y,t[23]=_,t[24]=b):b=t[24];let x;return t[25]!==b||t[26]!==g?(x=(0,A.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[g,b]}),t[25]=b,t[26]=g,t[27]=x):x=t[27],x}function L(e){let t=(0,te.c)(113),{tokens:n}=e,r;t[0]!==n.accent||t[1]!==n.background||t[2]!==n.border||t[3]!==n.card||t[4]!==n.cardForeground||t[5]!==n.destructive||t[6]!==n.destructiveForeground||t[7]!==n.foreground||t[8]!==n.info||t[9]!==n.input||t[10]!==n.muted||t[11]!==n.mutedForeground||t[12]!==n.primary||t[13]!==n.primaryForeground||t[14]!==n.secondary||t[15]!==n.secondaryForeground||t[16]!==n.success||t[17]!==n.warning?(r={"--p-bg":n.background,"--p-fg":n.foreground,"--p-card":n.card,"--p-card-fg":n.cardForeground,"--p-primary":n.primary,"--p-primary-fg":n.primaryForeground,"--p-secondary":n.secondary,"--p-secondary-fg":n.secondaryForeground,"--p-muted":n.muted,"--p-muted-fg":n.mutedForeground,"--p-accent":n.accent,"--p-border":n.border,"--p-input":n.input,"--p-destructive":n.destructive,"--p-destructive-fg":n.destructiveForeground,"--p-info":n.info,"--p-success":n.success,"--p-warning":n.warning,borderColor:n.border},t[0]=n.accent,t[1]=n.background,t[2]=n.border,t[3]=n.card,t[4]=n.cardForeground,t[5]=n.destructive,t[6]=n.destructiveForeground,t[7]=n.foreground,t[8]=n.info,t[9]=n.input,t[10]=n.muted,t[11]=n.mutedForeground,t[12]=n.primary,t[13]=n.primaryForeground,t[14]=n.secondary,t[15]=n.secondaryForeground,t[16]=n.success,t[17]=n.warning,t[18]=r):r=t[18];let i=r,a=`1px solid ${n.border}`,o;t[19]!==a||t[20]!==n.card?(o={backgroundColor:n.card,borderBottom:a},t[19]=a,t[20]=n.card,t[21]=o):o=t[21];let s;t[22]===n.destructive?s=t[23]:(s=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.destructive}}),t[22]=n.destructive,t[23]=s);let c;t[24]===n.warning?c=t[25]:(c=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.warning}}),t[24]=n.warning,t[25]=c);let l;t[26]===n.success?l=t[27]:(l=(0,A.jsx)(`span`,{className:`size-2.5 rounded-full`,style:{backgroundColor:n.success}}),t[26]=n.success,t[27]=l);let u;t[28]!==s||t[29]!==c||t[30]!==l?(u=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[s,c,l]}),t[28]=s,t[29]=c,t[30]=l,t[31]=u):u=t[31];let d;t[32]===n.mutedForeground?d=t[33]:(d=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.mutedForeground},children:`Preview`}),t[32]=n.mutedForeground,t[33]=d);let f;t[34]!==o||t[35]!==u||t[36]!==d?(f=(0,A.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2`,style:o,children:[u,d]}),t[34]=o,t[35]=u,t[36]=d,t[37]=f):f=t[37];let p;t[38]===n.background?p=t[39]:(p={backgroundColor:n.background},t[38]=n.background,t[39]=p);let m=`1px solid ${n.border}`,h;t[40]===m?h=t[41]:(h={borderRight:m},t[40]=m,t[41]=h);let g;t[42]!==n.accent||t[43]!==n.foreground?(g=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px] font-medium`,style:{backgroundColor:n.accent,color:n.foreground},children:`Active item`}),t[42]=n.accent,t[43]=n.foreground,t[44]=g):g=t[44];let _;t[45]===n.mutedForeground?_=t[46]:(_=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[45]=n.mutedForeground,t[46]=_);let v;t[47]===n.mutedForeground?v=t[48]:(v=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{color:n.mutedForeground},children:`Menu item`}),t[47]=n.mutedForeground,t[48]=v);let y;t[49]!==h||t[50]!==g||t[51]!==_||t[52]!==v?(y=(0,A.jsxs)(`div`,{className:`w-28 shrink-0 space-y-1 p-2`,style:h,children:[g,_,v]}),t[49]=h,t[50]=g,t[51]=_,t[52]=v,t[53]=y):y=t[53];let b;t[54]===n.foreground?b=t[55]:(b=(0,A.jsx)(`span`,{className:`text-xs font-semibold`,style:{color:n.foreground},children:`Theme Preview`}),t[54]=n.foreground,t[55]=b);let x;t[56]===n.mutedForeground?x=t[57]:(x=(0,A.jsx)(`p`,{className:`text-[10px] leading-relaxed`,style:{color:n.mutedForeground},children:`This is how your theme will look in the application.`}),t[56]=n.mutedForeground,t[57]=x);let S;t[58]!==b||t[59]!==x?(S=(0,A.jsxs)(`div`,{className:`space-y-1`,children:[b,x]}),t[58]=b,t[59]=x,t[60]=S):S=t[60];let ee=`1px solid ${n.border}`,C;t[61]!==ee||t[62]!==n.card?(C={backgroundColor:n.card,border:ee},t[61]=ee,t[62]=n.card,t[63]=C):C=t[63];let w;t[64]===n.cardForeground?w=t[65]:(w=(0,A.jsx)(`span`,{className:`text-[10px] font-medium`,style:{color:n.cardForeground},children:`Card component`}),t[64]=n.cardForeground,t[65]=w);let T;t[66]===n.mutedForeground?T=t[67]:(T=(0,A.jsx)(`p`,{className:`mt-0.5 text-[10px]`,style:{color:n.mutedForeground},children:`Cards contain grouped content.`}),t[66]=n.mutedForeground,t[67]=T);let E;t[68]!==C||t[69]!==w||t[70]!==T?(E=(0,A.jsxs)(`div`,{className:`rounded-lg p-2.5`,style:C,children:[w,T]}),t[68]=C,t[69]=w,t[70]=T,t[71]=E):E=t[71];let D;t[72]!==n.primary||t[73]!==n.primaryForeground?(D=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.primary,color:n.primaryForeground},children:`Primary`}),t[72]=n.primary,t[73]=n.primaryForeground,t[74]=D):D=t[74];let O;t[75]!==n.secondary||t[76]!==n.secondaryForeground?(O=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.secondary,color:n.secondaryForeground},children:`Secondary`}),t[75]=n.secondary,t[76]=n.secondaryForeground,t[77]=O):O=t[77];let k;t[78]!==n.destructive||t[79]!==n.destructiveForeground?(k=(0,A.jsx)(`span`,{className:`rounded-md px-2.5 py-1 text-[10px] font-medium`,style:{backgroundColor:n.destructive,color:n.destructiveForeground},children:`Delete`}),t[78]=n.destructive,t[79]=n.destructiveForeground,t[80]=k):k=t[80];let j;t[81]!==D||t[82]!==O||t[83]!==k?(j=(0,A.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[D,O,k]}),t[81]=D,t[82]=O,t[83]=k,t[84]=j):j=t[84];let ne=`1px solid ${n.input}`,M;t[85]!==ne||t[86]!==n.background||t[87]!==n.mutedForeground?(M=(0,A.jsx)(`div`,{className:`rounded-md px-2 py-1 text-[10px]`,style:{backgroundColor:n.background,border:ne,color:n.mutedForeground},children:`Placeholder text...`}),t[85]=ne,t[86]=n.background,t[87]=n.mutedForeground,t[88]=M):M=t[88];let N;t[89]===n.info?N=t[90]:(N=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.info},children:`Info`}),t[89]=n.info,t[90]=N);let P;t[91]===n.success?P=t[92]:(P=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.success},children:`Success`}),t[91]=n.success,t[92]=P);let F;t[93]===n.warning?F=t[94]:(F=(0,A.jsx)(`span`,{className:`rounded-full px-2 py-0.5 text-[9px] font-medium text-white`,style:{backgroundColor:n.warning},children:`Warning`}),t[93]=n.warning,t[94]=F);let I;t[95]!==N||t[96]!==P||t[97]!==F?(I=(0,A.jsxs)(`div`,{className:`flex gap-1.5`,children:[N,P,F]}),t[95]=N,t[96]=P,t[97]=F,t[98]=I):I=t[98];let L;t[99]!==S||t[100]!==E||t[101]!==j||t[102]!==M||t[103]!==I?(L=(0,A.jsxs)(`div`,{className:`flex-1 space-y-2.5 p-3`,children:[S,E,j,M,I]}),t[99]=S,t[100]=E,t[101]=j,t[102]=M,t[103]=I,t[104]=L):L=t[104];let R;t[105]!==p||t[106]!==y||t[107]!==L?(R=(0,A.jsxs)(`div`,{className:`flex`,style:p,children:[y,L]}),t[105]=p,t[106]=y,t[107]=L,t[108]=R):R=t[108];let re;return t[109]!==f||t[110]!==i||t[111]!==R?(re=(0,A.jsxs)(`div`,{className:`overflow-hidden rounded-xl border shadow-xs/5`,style:i,children:[f,R]}),t[109]=f,t[110]=i,t[111]=R,t[112]=re):re=t[112],re}function R(){let e=(0,te.c)(108),{themeOptionsByAppearance:t,importTheme:n}=v(),i;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=M(`dark`),e[0]=i):i=e[0];let _=i,N,P;e[1]!==t.dark||e[2]!==t.light?(P=[...t.light,...t.dark],e[1]=t.dark,e[2]=t.light,e[3]=P):P=e[3],N=P;let F=N,[R,oe]=(0,k.useState)(``),[z,se]=(0,k.useState)(``),[B,ce]=(0,k.useState)(``),[V,le]=(0,k.useState)(`dark`),[H,ue]=(0,k.useState)(_.radius),[U,de]=(0,k.useState)(_.tokens),[W,fe]=(0,k.useState)(_.terminalColors),[pe,me]=(0,k.useState)(!1),he;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(he=(e,t)=>{de(n=>({...n,[e]:t}))},e[4]=he):he=e[4];let ge=he,_e;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(e,t)=>{fe(n=>({...n,[e]:t}))},e[5]=_e):_e=e[5];let ve=_e,ye;e[6]===F?ye=e[7]:(ye=e=>{if(e==null)return;let t=F.find(t=>t.id===e);t&&(le(t.appearance),de({...t.tokens}),t.terminal?fe({...t.terminal}):fe(M(t.appearance).terminalColors),t.radius&&ue(t.radius))},e[6]=F,e[7]=ye);let be=ye,xe;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(xe=e=>{if(e!==`light`&&e!==`dark`)return;let t=M(e);le(e),ue(t.radius),de(t.tokens),fe(t.terminalColors)},e[8]=xe):xe=e[8];let Se=xe,Ce;e[9]===V?Ce=e[10]:(Ce=()=>{let e=M(V);oe(``),se(``),ce(``),ue(e.radius),de(e.tokens),fe(e.terminalColors)},e[9]=V,e[10]=Ce);let we=Ce,Te;e[11]!==V||e[12]!==z||e[13]!==B||e[14]!==R||e[15]!==H||e[16]!==W||e[17]!==U?(Te=()=>JSON.stringify({version:1,name:R.trim()||`Untitled Theme`,appearance:V,author:z.trim()||void 0,description:B.trim()||void 0,radius:H,tokens:U,terminal:W},null,2),e[11]=V,e[12]=z,e[13]=B,e[14]=R,e[15]=H,e[16]=W,e[17]=U,e[18]=Te):Te=e[18];let G=Te,Ee;e[19]!==V||e[20]!==G||e[21]!==n||e[22]!==R?(Ee=()=>{let e=R.trim()||`Untitled Theme`;try{n(G()),g.add({type:`success`,title:`Saved "${e}"`,description:`The theme is now active for your ${V} appearance.`})}catch(e){let t=e;g.add({type:`error`,title:`Could not save theme`,description:t instanceof Error?t.message:`The theme data is invalid.`})}},e[19]=V,e[20]=G,e[21]=n,e[22]=R,e[23]=Ee):Ee=e[23];let De=Ee,Oe;e[24]!==G||e[25]!==R?(Oe=()=>{let e=G(),t=new Blob([e],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`${(R.trim()||`theme`).toLowerCase().replace(/[^a-z0-9]+/g,`-`)}.json`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)},e[24]=G,e[25]=R,e[26]=Oe):Oe=e[26];let ke=Oe,Ae;e[27]===G?Ae=e[28]:(Ae=()=>{navigator.clipboard.writeText(G()).then(ae,ie)},e[27]=G,e[28]=Ae);let je=Ae,Me=o.every(e=>U[e]?.trim()),Ne,Pe;e[29]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,A.jsxs)(r,{to:`/settings/appearance`,className:`inline-flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground`,children:[(0,A.jsx)(m,{className:`size-3.5`}),`Appearance`]}),Pe=(0,A.jsx)(`span`,{className:`text-border`,children:`/`}),e[29]=Ne,e[30]=Pe):(Ne=e[29],Pe=e[30]);let Fe;e[31]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,A.jsxs)(`div`,{className:`flex items-center gap-3`,children:[Ne,Pe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(f,{className:`size-4 text-primary`}),(0,A.jsx)(`h1`,{className:`text-sm font-semibold text-foreground`,children:`Theme Builder`})]})]}),e[31]=Fe):Fe=e[31];let Ie;e[32]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=(0,A.jsx)(u,{className:`size-3.5`}),e[32]=Ie):Ie=e[32];let K;e[33]===je?K=e[34]:(K=(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:je,title:`Copy JSON`,children:[Ie,`Copy JSON`]}),e[33]=je,e[34]=K);let Le;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,A.jsx)(l,{className:`size-3.5`}),e[35]=Le):Le=e[35];let q;e[36]===ke?q=e[37]:(q=(0,A.jsxs)(a,{size:`sm`,variant:`outline`,onClick:ke,children:[Le,`Export`]}),e[36]=ke,e[37]=q);let Re=!Me,ze;e[38]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,A.jsx)(c,{className:`size-3.5`}),e[38]=ze):ze=e[38];let J;e[39]!==De||e[40]!==Re?(J=(0,A.jsxs)(a,{size:`sm`,variant:`default`,disabled:Re,onClick:De,children:[ze,`Save & Apply`]}),e[39]=De,e[40]=Re,e[41]=J):J=e[41];let Y;e[42]!==K||e[43]!==q||e[44]!==J?(Y=(0,A.jsxs)(`div`,{className:`flex items-center justify-between`,children:[Fe,(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[K,q,J]})]}),e[42]=K,e[43]=q,e[44]=J,e[45]=Y):Y=e[45];let Be;e[46]===Symbol.for(`react.memo_cache_sentinel`)?(Be=e=>oe(e.target.value),e[46]=Be):Be=e[46];let X;e[47]===R?X=e[48]:(X=(0,A.jsx)(D,{title:`Name`,description:`Give your theme a recognizable name.`,control:(0,A.jsx)(h,{size:`sm`,value:R,onChange:Be,placeholder:`My Theme`,className:`w-full sm:w-52`})}),e[47]=R,e[48]=X);let Ve;e[49]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=e=>se(e.target.value),e[49]=Ve):Ve=e[49];let Z;e[50]===z?Z=e[51]:(Z=(0,A.jsx)(D,{title:`Author`,description:`Optional creator attribution.`,control:(0,A.jsx)(h,{size:`sm`,value:z,onChange:Ve,placeholder:`Your name`,className:`w-full sm:w-52`})}),e[50]=z,e[51]=Z);let He;e[52]===Symbol.for(`react.memo_cache_sentinel`)?(He=e=>ce(e.target.value),e[52]=He):He=e[52];let Q;e[53]===B?Q=e[54]:(Q=(0,A.jsx)(D,{title:`Description`,description:`A short summary of the theme's look and feel.`,control:(0,A.jsx)(h,{size:`sm`,value:B,onChange:He,placeholder:`A warm dark palette with…`,className:`w-full sm:w-52`})}),e[53]=B,e[54]=Q);let Ue=V===`light`?`Light`:`Dark`,We;e[55]===Ue?We=e[56]:(We=(0,A.jsx)(x,{className:`w-full sm:w-40`,"aria-label":`Appearance`,children:(0,A.jsx)(ee,{children:Ue})}),e[55]=Ue,e[56]=We);let Ge;e[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,A.jsxs)(y,{align:`end`,alignItemWithTrigger:!1,children:[(0,A.jsx)(b,{hideIndicator:!0,value:`light`,children:`Light`}),(0,A.jsx)(b,{hideIndicator:!0,value:`dark`,children:`Dark`})]}),e[57]=Ge):Ge=e[57];let Ke;e[58]!==V||e[59]!==We?(Ke=(0,A.jsx)(D,{title:`Appearance`,description:`Whether this theme targets light or dark mode.`,control:(0,A.jsxs)(S,{value:V,onValueChange:Se,children:[We,Ge]})}),e[58]=V,e[59]=We,e[60]=Ke):Ke=e[60];let qe;e[61]===Symbol.for(`react.memo_cache_sentinel`)?(qe=e=>ue(e.target.value),e[61]=qe):qe=e[61];let Je;e[62]===H?Je=e[63]:(Je=(0,A.jsx)(D,{title:`Border radius`,description:`Default border radius for UI components.`,control:(0,A.jsx)(h,{size:`sm`,value:H,onChange:qe,placeholder:`0.625rem`,className:`w-full sm:w-40 font-mono text-xs`})}),e[62]=H,e[63]=Je);let Ye;e[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=(0,A.jsx)(x,{className:`w-full sm:w-52`,"aria-label":`Base theme`,children:(0,A.jsx)(ee,{children:`Choose a theme...`})}),e[64]=Ye):Ye=e[64];let Xe;e[65]===F?Xe=e[66]:(Xe=(0,A.jsx)(y,{align:`end`,alignItemWithTrigger:!1,children:F.map(re)}),e[65]=F,e[66]=Xe);let Ze;e[67]!==be||e[68]!==Xe?(Ze=(0,A.jsx)(D,{title:`Start from base`,description:`Load colors from an existing theme to use as a starting point.`,control:(0,A.jsxs)(S,{value:``,onValueChange:be,children:[Ye,Xe]})}),e[67]=be,e[68]=Xe,e[69]=Ze):Ze=e[69];let Qe;e[70]!==X||e[71]!==Z||e[72]!==Q||e[73]!==Ke||e[74]!==Je||e[75]!==Ze?(Qe=(0,A.jsxs)(O,{title:`Theme Details`,children:[X,Z,Q,Ke,Je,Ze]}),e[70]=X,e[71]=Z,e[72]=Q,e[73]=Ke,e[74]=Je,e[75]=Ze,e[76]=Qe):Qe=e[76];let $e,et;e[77]===U?($e=e[78],et=e[79]):($e=(0,A.jsx)(O,{title:`Live Preview`,children:(0,A.jsx)(`div`,{className:`p-4`,children:(0,A.jsx)(L,{tokens:U})})}),et=j.map(e=>(0,A.jsx)(O,{title:e.label,children:(0,A.jsxs)(`div`,{className:`px-4 py-4 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs text-muted-foreground`,children:e.description}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.tokens.map(e=>(0,A.jsx)(I,{label:e.label,value:U[e.key],onChange:t=>ge(e.key,t)},e.key))})]})},e.label)),e[77]=U,e[78]=$e,e[79]=et);let tt;e[80]===Symbol.for(`react.memo_cache_sentinel`)?(tt=s(`inline-flex items-center gap-1 text-[11px] text-muted-foreground transition-colors hover:text-foreground`),e[80]=tt):tt=e[80];let nt=pe&&`rotate-180`,rt;e[81]===nt?rt=e[82]:(rt=s(`size-3.5 transition-transform duration-200`,nt),e[81]=nt,e[82]=rt);let it;e[83]===rt?it=e[84]:(it=(0,A.jsx)(p,{className:rt}),e[83]=rt,e[84]=it);let at=pe?`Collapse`:`Expand`,$;e[85]!==it||e[86]!==at?($=(0,A.jsxs)(w,{className:tt,children:[it,at]}),e[85]=it,e[86]=at,e[87]=$):$=e[87];let ot;e[88]===W?ot=e[89]:(ot=ne.map(e=>(0,A.jsxs)(`div`,{className:`border-t border-border px-4 py-4 first:border-t-0 sm:px-5`,children:[(0,A.jsx)(`p`,{className:`mb-4 text-xs font-medium text-foreground`,children:e.label}),(0,A.jsx)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3`,children:e.colors.map(e=>(0,A.jsx)(I,{label:e.label,value:W[e.key],onChange:t=>ve(e.key,t)},e.key))})]},e.label)),e[88]=W,e[89]=ot);let st;e[90]===ot?st=e[91]:(st=(0,A.jsx)(C,{children:ot}),e[90]=ot,e[91]=st);let ct;e[92]!==$||e[93]!==st?(ct=(0,A.jsx)(O,{title:`Terminal Colors`,headerAction:$,children:st}),e[92]=$,e[93]=st,e[94]=ct):ct=e[94];let lt;e[95]!==ct||e[96]!==pe?(lt=(0,A.jsx)(T,{open:pe,onOpenChange:me,children:ct}),e[95]=ct,e[96]=pe,e[97]=lt):lt=e[97];let ut;e[98]===Symbol.for(`react.memo_cache_sentinel`)?(ut=(0,A.jsx)(d,{className:`size-3.5`}),e[98]=ut):ut=e[98];let dt;e[99]===we?dt=e[100]:(dt=(0,A.jsx)(`div`,{className:`flex justify-end pb-6`,children:(0,A.jsxs)(a,{size:`sm`,variant:`ghost`,onClick:we,children:[ut,`Reset all colors`]})}),e[99]=we,e[100]=dt);let ft;return e[101]!==Y||e[102]!==Qe||e[103]!==$e||e[104]!==et||e[105]!==lt||e[106]!==dt?(ft=(0,A.jsxs)(E,{children:[Y,Qe,$e,et,lt,dt]}),e[101]=Y,e[102]=Qe,e[103]=$e,e[104]=et,e[105]=lt,e[106]=dt,e[107]=ft):ft=e[107],ft}function re(e){return(0,A.jsxs)(b,{hideIndicator:!0,value:e.id,children:[e.name,(0,A.jsxs)(`span`,{className:`ml-1.5 text-muted-foreground`,children:[`(`,e.appearance,`)`]})]},e.id)}function ie(){g.add({type:`error`,title:`Copy failed`,description:`Could not copy to clipboard.`})}function ae(){g.add({type:`success`,title:`Copied to clipboard`,description:`Theme JSON has been copied.`})}var oe=R;export{oe as component};
2
+ //# sourceMappingURL=settings.theme-builder-D3sYNxrp.js.map
@@ -1,2 +1,2 @@
1
- import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{m as r}from"./vendor-tanstack-DxB_J8A7.js";import{c as i}from"./vendor--lexical-react-Dg6NVZQt.js";import{t as a}from"./utils-D1UgimcN.js";import{Mn as o,or as s}from"./vendor-ui-CJZCHXkp.js";import{n as c,r as l}from"./useSettings-CvQQz7AW.js";import{t as u}from"./badge-1VUDnpuQ.js";import{n as d,r as f,t as p}from"./collapsible--nYYN5Zg.js";var m=n(),h=e(t(),1),g=i(),_=[`settings`,`mcpServers`,`effective`],v=[`settings`,`skills`,`effective`],y=[];function b(e){let t=(0,m.c)(14),{value:n,onChange:r,placeholder:i,resultCount:a,totalCount:s}=e,c=n.length>0,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,g.jsx)(o,{className:`size-3.5 shrink-0 text-muted-foreground`}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=e=>r(e.target.value),t[1]=r,t[2]=u);let d;t[3]!==i||t[4]!==u||t[5]!==n?(d=(0,g.jsx)(`input`,{type:`text`,value:n,onChange:u,placeholder:i,className:`min-w-0 flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground/60`}),t[3]=i,t[4]=u,t[5]=n,t[6]=d):d=t[6];let f;t[7]!==c||t[8]!==a||t[9]!==s?(f=c?(0,g.jsxs)(`span`,{className:`shrink-0 text-[11px] tabular-nums text-muted-foreground`,children:[a,` / `,s]}):null,t[7]=c,t[8]=a,t[9]=s,t[10]=f):f=t[10];let p;return t[11]!==d||t[12]!==f?(p=(0,g.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-4 py-2 sm:px-5`,children:[l,d,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13],p}function x(e){let t=(0,m.c)(18),{source:n,count:r,defaultOpen:i,children:o}=e,[c,l]=(0,h.useState)(i),_=!c&&`-rotate-90`,v;t[0]===_?v=t[1]:(v=a(`size-3.5 shrink-0 text-muted-foreground transition-transform duration-200`,_),t[0]=_,t[1]=v);let y;t[2]===v?y=t[3]:(y=(0,g.jsx)(s,{className:v}),t[2]=v,t[3]=y);let b;t[4]===n?b=t[5]:(b=(0,g.jsx)(`span`,{className:`text-xs font-medium capitalize text-foreground`,children:n}),t[4]=n,t[5]=b);let x;t[6]===r?x=t[7]:(x=(0,g.jsx)(u,{variant:`secondary`,className:`text-[10px] tabular-nums`,children:r}),t[6]=r,t[7]=x);let S;t[8]!==y||t[9]!==b||t[10]!==x?(S=(0,g.jsxs)(f,{className:`flex w-full items-center gap-2 border-t border-border px-4 py-2.5 first:border-t-0 hover:bg-accent/40 sm:px-5`,children:[y,b,x]}),t[8]=y,t[9]=b,t[10]=x,t[11]=S):S=t[11];let C;t[12]===o?C=t[13]:(C=(0,g.jsx)(d,{children:(0,g.jsx)(`div`,{children:o})}),t[12]=o,t[13]=C);let w;return t[14]!==c||t[15]!==S||t[16]!==C?(w=(0,g.jsxs)(p,{open:c,onOpenChange:l,children:[S,C]}),t[14]=c,t[15]=S,t[16]=C,t[17]=w):w=t[17],w}var S=[`shiori`,`codex`,`claude`];function C(e){let t=new Map;for(let n of e){let e=t.get(n.source);e?e.push(n):t.set(n.source,[n])}let n=new Map;for(let e of S){let r=t.get(e);r&&n.set(e,r)}for(let[e,r]of t)n.has(e)||n.set(e,r);return n}function w(e,...t){let n=e.toLowerCase();return t.some(e=>e?.toLowerCase().includes(n))}function T(){let e=(0,m.c)(7),t=c(),{updateSettings:n}=l(),i=r(),a=t.mcpServers?.servers??y,o;e[0]!==i||e[1]!==n?(o=e=>{n({mcpServers:{servers:e}}),i.invalidateQueries({queryKey:_}),i.invalidateQueries({queryKey:v})},e[0]=i,e[1]=n,e[2]=o):o=e[2];let s=o,u;return e[3]!==s||e[4]!==i||e[5]!==a?(u={servers:a,persistServers:s,queryClient:i},e[3]=s,e[4]=i,e[5]=a,e[6]=u):u=e[6],u}export{C as a,x as i,v as n,w as o,b as r,T as s,_ as t};
2
- //# sourceMappingURL=skillsMcpShared-RFZJX9uG.js.map
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{Ci as t}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as n}from"./vendor-react-BvVnE5E6.js";import{m as r}from"./vendor-tanstack-DxB_J8A7.js";import{c as i}from"./vendor--lexical-react-Dg6NVZQt.js";import{t as a}from"./utils-BnXGGW32.js";import{Mn as o,or as s}from"./vendor-ui-CJZCHXkp.js";import{n as c,r as l}from"./useSettings-CfiGcPkS.js";import{t as u}from"./badge-DQNpCiTY.js";import{n as d,r as f,t as p}from"./collapsible-BFxx3cmC.js";var m=n(),h=e(t(),1),g=i(),_=[`settings`,`mcpServers`,`effective`],v=[`settings`,`skills`,`effective`],y=[];function b(e){let t=(0,m.c)(14),{value:n,onChange:r,placeholder:i,resultCount:a,totalCount:s}=e,c=n.length>0,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,g.jsx)(o,{className:`size-3.5 shrink-0 text-muted-foreground`}),t[0]=l):l=t[0];let u;t[1]===r?u=t[2]:(u=e=>r(e.target.value),t[1]=r,t[2]=u);let d;t[3]!==i||t[4]!==u||t[5]!==n?(d=(0,g.jsx)(`input`,{type:`text`,value:n,onChange:u,placeholder:i,className:`min-w-0 flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground/60`}),t[3]=i,t[4]=u,t[5]=n,t[6]=d):d=t[6];let f;t[7]!==c||t[8]!==a||t[9]!==s?(f=c?(0,g.jsxs)(`span`,{className:`shrink-0 text-[11px] tabular-nums text-muted-foreground`,children:[a,` / `,s]}):null,t[7]=c,t[8]=a,t[9]=s,t[10]=f):f=t[10];let p;return t[11]!==d||t[12]!==f?(p=(0,g.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-4 py-2 sm:px-5`,children:[l,d,f]}),t[11]=d,t[12]=f,t[13]=p):p=t[13],p}function x(e){let t=(0,m.c)(18),{source:n,count:r,defaultOpen:i,children:o}=e,[c,l]=(0,h.useState)(i),_=!c&&`-rotate-90`,v;t[0]===_?v=t[1]:(v=a(`size-3.5 shrink-0 text-muted-foreground transition-transform duration-200`,_),t[0]=_,t[1]=v);let y;t[2]===v?y=t[3]:(y=(0,g.jsx)(s,{className:v}),t[2]=v,t[3]=y);let b;t[4]===n?b=t[5]:(b=(0,g.jsx)(`span`,{className:`text-xs font-medium capitalize text-foreground`,children:n}),t[4]=n,t[5]=b);let x;t[6]===r?x=t[7]:(x=(0,g.jsx)(u,{variant:`secondary`,className:`text-[10px] tabular-nums`,children:r}),t[6]=r,t[7]=x);let S;t[8]!==y||t[9]!==b||t[10]!==x?(S=(0,g.jsxs)(f,{className:`flex w-full items-center gap-2 border-t border-border px-4 py-2.5 first:border-t-0 hover:bg-accent/40 sm:px-5`,children:[y,b,x]}),t[8]=y,t[9]=b,t[10]=x,t[11]=S):S=t[11];let C;t[12]===o?C=t[13]:(C=(0,g.jsx)(d,{children:(0,g.jsx)(`div`,{children:o})}),t[12]=o,t[13]=C);let w;return t[14]!==c||t[15]!==S||t[16]!==C?(w=(0,g.jsxs)(p,{open:c,onOpenChange:l,children:[S,C]}),t[14]=c,t[15]=S,t[16]=C,t[17]=w):w=t[17],w}var S=[`shiori`,`codex`,`claude`];function C(e){let t=new Map;for(let n of e){let e=t.get(n.source);e?e.push(n):t.set(n.source,[n])}let n=new Map;for(let e of S){let r=t.get(e);r&&n.set(e,r)}for(let[e,r]of t)n.has(e)||n.set(e,r);return n}function w(e,...t){let n=e.toLowerCase();return t.some(e=>e?.toLowerCase().includes(n))}function T(){let e=(0,m.c)(7),t=c(),{updateSettings:n}=l(),i=r(),a=t.mcpServers?.servers??y,o;e[0]!==i||e[1]!==n?(o=e=>{n({mcpServers:{servers:e}}),i.invalidateQueries({queryKey:_}),i.invalidateQueries({queryKey:v})},e[0]=i,e[1]=n,e[2]=o):o=e[2];let s=o,u;return e[3]!==s||e[4]!==i||e[5]!==a?(u={servers:a,persistServers:s,queryClient:i},e[3]=s,e[4]=i,e[5]=a,e[6]=u):u=e[6],u}export{C as a,x as i,v as n,w as o,b as r,T as s,_ as t};
2
+ //# sourceMappingURL=skillsMcpShared-DzSsN5fy.js.map
@@ -1,4 +1,4 @@
1
- import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{A as t,C as n,Ci as r,D as i,O as a,h as o,j as s,k as c,lt as l,m as u,si as d}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as f}from"./vendor-react-BvVnE5E6.js";import{a as p}from"./vendor-tanstack-DxB_J8A7.js";import{c as m}from"./vendor--lexical-react-Dg6NVZQt.js";import{l as h,s as g}from"./clientSettings-5THztvzS.js";import{$ as _,J as v,U as y,X as b,Y as x,at as S,ct as C,et as w,it as T,nt as E,rt as D,st as O,t as k,tt as A,u as j,z as M}from"./utils-D1UgimcN.js";import{i as N,n as P,r as ee}from"./vendor-zustand-qsUGoIcm.js";import{an as te,cn as ne,dn as re,en as ie,fn as F,in as I,ir as ae,ln as oe,mn as se,nn as ce,on as le,or as ue,pn as de,rn as fe,sn as pe,tn as me,un as he}from"./vendor-ui-CJZCHXkp.js";function ge(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}function _e(e){return e!=null&&typeof e.getItem==`function`&&typeof e.setItem==`function`&&typeof e.removeItem==`function`}function ve(e){return _e(e)?e:ge()}function ye(){if(typeof window>`u`)return null;let e=window.__shioricodeBeforeUnloadRegistry__;if(e)return e;let t={callbacks:new Map,listenerAttached:!1};return window.__shioricodeBeforeUnloadRegistry__=t,t}function be(e,t){let n=ye();n&&(n.callbacks.set(e,t),!n.listenerAttached&&(window.addEventListener(`beforeunload`,()=>{for(let e of n.callbacks.values())e()}),n.listenerAttached=!0))}function xe(e,t=300){let n=ve(e),r=new p((e,t)=>{n.setItem(e,t)},{wait:t});return{getItem:e=>n.getItem(e),setItem:(e,t)=>{r.maybeExecute(e,t)},removeItem:e=>{r.cancel(),n.removeItem(e)},flush:()=>{r.flush()}}}var Se=`full-access`,Ce=`default`,we=`default`;function Te(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function Ee(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function De(e,t){let n=Ee(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&Te(e,r)?r:n??void 0}function Oe(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function ke(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function Ae(e,t){let n=ke(e);return t&&Oe(e,t)?t:n??void 0}function je(e,t){let n=De(e,t?.reasoningEffort),r=e.supportsFastMode?t?.fastMode:void 0,i={...n?{reasoningEffort:n}:{},...r===void 0?{}:{fastMode:r}};return Object.keys(i).length>0?i:void 0}function Me(e,t){let n=e.supportsThinkingToggle?t?.thinking:void 0,r=n===void 0?{}:{thinking:n};return Object.keys(r).length>0?r:void 0}function Ne(e,t){let n=De(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=Ae(e,t?.contextWindow),o={...r===void 0?{}:{thinking:r},...n?{effort:n}:{},...i===void 0?{}:{fastMode:i},...a===void 0?{}:{contextWindow:a}};return Object.keys(o).length>0?o:void 0}function Pe(e,t){let n=De(e,t?.reasoning),r=e.supportsThinkingToggle?t?.thinking??!1:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=Ae(e,t?.contextWindow),o={...r===void 0?{}:{thinking:r},...n?{reasoning:n}:{},...i===void 0?{}:{fastMode:i},...a===void 0?{}:{contextWindow:a}};return Object.keys(o).length>0?o:void 0}function Fe(e,t){let n=De(e,t?.effort),r=Ae(e,t?.contextWindow),i={...n?{effort:n}:{},...r===void 0?{}:{contextWindow:r}};return Object.keys(i).length>0?i:void 0}function Ie(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function L(e,t=`codex`){if(typeof e!=`string`)return null;let n=e.trim();if(!n)return null;let r=E[t],i=Object.prototype.hasOwnProperty.call(r,n)?r[n]:void 0;return typeof i==`string`?i:n}function Le(e,t,n){if(typeof t!=`string`)return null;let r=t.trim();if(!r)return null;let i=n.find(e=>e.slug===r);if(i)return i.slug;let a=n.find(e=>e.name.toLowerCase()===r.toLowerCase());if(a)return a.slug;let o=L(r,e);if(!o)return null;let s=n.find(e=>e.slug===o);return s?s.slug:null}function Re(e,t){return L(e,t)||A[t]}function ze(e,t){return Re(t,e)}function Be(e){return typeof e==`string`&&e.trim()||null}function Ve(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}var He={reasoningEffortLevels:[],supportsFastMode:!1,supportsThinkingToggle:!1,contextWindowOptions:[],promptInjectedEffortLevels:[]};function Ue(e,t){let n=L(t,e);return e===`kimiCode`&&n===`kimi2.7-code`?`Kimi 2.7 Code`:e===`glm`&&n===`glm-5.2`?`GLM-5.2`:e===`glm`&&n===`glm-5-turbo`?`GLM-5-Turbo`:e===`glm`&&n===`glm-4.7`?`GLM-4.7`:e===`claudeAgent`&&n===`claude-fable-5`?`Fable 5`:n}function We(e,t,n){let r=L(t,n);return e.find(e=>e.slug===r)}function Ge(e,t){return e.find(e=>e.provider===t)?.models??[]}function Ke(e,t){return e.find(e=>e.provider===t)}function qe(e,t){return Ke(e,t)?.enabled??!0}function Je(e){return e?.enabled===!1||e?.status===`disabled`}function Ye(e,t){let n=t??`codex`;return qe(e,n)?n:e.find(e=>e.enabled)?.provider??n}function Xe(e){return e?.status===`warning`&&typeof e.message==`string`&&/^Checking\b/i.test(e.message.trim())}function Ze(e){return e?Je(e)?{selectable:!1,badgeLabel:`Disabled`}:e.installed?e.status===`warning`?Xe(e)?{selectable:!0,badgeLabel:`Checking`}:{selectable:!1,badgeLabel:null}:e.status===`error`?{selectable:!1,badgeLabel:null}:{selectable:!0,badgeLabel:null}:{selectable:!1,badgeLabel:`Not installed`}:{selectable:!0,badgeLabel:null}}function Qe(e,t){let n=Ke(e,t);if(!n||n.status===`ready`||Xe(n))return null;let r=D[t]??t;return Je(n)?`${r} is disabled in settings.`:n.message&&n.message.trim().length>0?n.message:n.status===`error`?`${r} provider is unavailable.`:`${r} provider is not ready yet. Resolve the provider warning before starting a turn.`}function $e(e,t,n){return We(e,t,n)?.capabilities??He}function et(e,t,n){return We(e,t,n)?.name??Ue(n,t)??t??A[n]}function tt(e,t,n){return We(e,t,n)?.multiModal??!0}function nt(e,t){let n=Ge(e,t);return n.find(e=>!e.isCustom)?.slug??n[0]?.slug??A[t]}var R=e(r(),1);function rt(e={}){let{epsilon:t=.005,maxStepPerFrame:n=.045,minThreshold:r=120,thresholdRatio:i=.35}=e,[a,o]=(0,R.useState)(0),[s,c]=(0,R.useState)(0),l=(0,R.useRef)(0),u=(0,R.useRef)(0),d=(0,R.useRef)(0),f=(0,R.useRef)(0),p=(0,R.useRef)(null),m=(0,R.useCallback)(()=>{let e=l.current-d.current,r=u.current-f.current,i=d.current+Math.sign(e)*Math.min(Math.abs(e),n),a=f.current+Math.sign(r)*Math.min(Math.abs(r),n);if(d.current=i,f.current=a,o(i),c(a),Math.abs(l.current-i)>t||Math.abs(u.current-a)>t){p.current=requestAnimationFrame(m);return}d.current=l.current,f.current=u.current,o(l.current),c(u.current),p.current=null},[t,n]),h=(0,R.useCallback)(()=>{p.current===null&&(p.current=requestAnimationFrame(m))},[m]),g=(0,R.useCallback)(e=>{let t=Math.max(r,Math.round(e.clientHeight*i)),n=e.scrollTop,a=e.scrollHeight-e.scrollTop-e.clientHeight,o=e=>Math.max(0,Math.min(1,e/t));l.current=o(n),u.current=o(a),h()},[r,h,i]),_=(0,R.useCallback)(e=>{e&&g(e)},[g]),v=(0,R.useCallback)(e=>{g(e.currentTarget)},[g]);return(0,R.useEffect)(()=>()=>{p.current!==null&&cancelAnimationFrame(p.current)},[]),{bottomFadeStrength:s,onScroll:v,ref:_,topFadeStrength:a,update:g}}var z=f(),B=m(),it=I;function at(e){let t=(0,z.c)(8),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;return t[4]!==n||t[5]!==r||t[6]!==i?(a=(0,B.jsx)(ce,{className:r,"data-slot":`menu-trigger`,...i,children:n}),t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ot(e){let t=(0,z.c)(33),n,r,i,a,o,s,c,l,u,d;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10]):({children:i,className:a,scrollFade:c,sideOffset:l,align:u,alignOffset:n,side:d,anchor:r,positionMethod:o,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d);let f=l===void 0?4:l,p=u===void 0?`center`:u,m=d===void 0?`bottom`:d,h=rt(),g;t[11]===a?g=t[12]:(g=k(`relative inline-flex max-w-[min(var(--available-width),calc(100vw-1rem))] not-[class*='w-']:min-w-32 origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 outline-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] focus:outline-none dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,a),t[11]=a,t[12]=g);let _=c?h.ref:void 0,v=c?h.onScroll:void 0,y;t[13]!==i||t[14]!==_||t[15]!==v?(y=(0,B.jsx)(`div`,{ref:_,className:`max-h-(--available-height) w-full overflow-y-auto p-1`,onScroll:v,children:i}),t[13]=i,t[14]=_,t[15]=v,t[16]=y):y=t[16];let b;t[17]!==h||t[18]!==c?(b=c?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{"aria-hidden":`true`,className:k(`pointer-events-none absolute inset-x-0 top-0 h-5 rounded-t-[calc(var(--radius-lg)-1px)] bg-linear-to-b from-popover to-transparent will-change-opacity`),style:{opacity:h.topFadeStrength}}),(0,B.jsx)(`div`,{"aria-hidden":`true`,className:k(`pointer-events-none absolute inset-x-0 bottom-0 h-5 rounded-b-[calc(var(--radius-lg)-1px)] bg-linear-to-t from-popover to-transparent will-change-opacity`),style:{opacity:h.bottomFadeStrength}})]}):null,t[17]=h,t[18]=c,t[19]=b):b=t[19];let x;t[20]!==s||t[21]!==g||t[22]!==y||t[23]!==b?(x=(0,B.jsxs)(he,{className:g,"data-slot":`menu-popup`,...s,children:[y,b]}),t[20]=s,t[21]=g,t[22]=y,t[23]=b,t[24]=x):x=t[24];let S;return t[25]!==p||t[26]!==n||t[27]!==r||t[28]!==o||t[29]!==m||t[30]!==f||t[31]!==x?(S=(0,B.jsx)(oe,{children:(0,B.jsx)(ne,{align:p,alignOffset:n,anchor:r,className:`z-50`,"data-slot":`menu-positioner`,positionMethod:o,side:m,sideOffset:f,children:x})}),t[25]=p,t[26]=n,t[27]=r,t[28]=o,t[29]=m,t[30]=f,t[31]=x,t[32]=S):S=t[32],S}function st(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)(F,{"data-slot":`menu-group`,...e}),t[0]=e,t[1]=n),n}function ct(e){let t=(0,z.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,inset:r,variant:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?`default`:a,s;t[5]===n?s=t[6]:(s=k(`[&>svg]:-mx-0.5 flex min-h-8 cursor-default select-none items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-inset:ps-8 data-[variant=destructive]:text-destructive-foreground data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not([class*='opacity-'])]:opacity-80 [&>svg:not([class*='size-'])]:size-4.5 sm:[&>svg:not([class*='size-'])]:size-4 [&>svg]:pointer-events-none [&>svg]:shrink-0`,n),t[5]=n,t[6]=s);let c;return t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==o?(c=(0,B.jsx)(re,{className:s,"data-inset":r,"data-slot":`menu-item`,"data-variant":o,...i}),t[7]=r,t[8]=i,t[9]=s,t[10]=o,t[11]=c):c=t[11],c}function lt(e){let t=(0,z.c)(17),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:i,children:r,checked:n,variant:o,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=o===void 0?`default`:o,c=s===`switch`?`grid-cols-[1fr_auto] gap-4 pe-1.5`:`grid-cols-[1rem_1fr] pe-4`,l;t[6]!==i||t[7]!==c?(l=k(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center gap-2 rounded-sm py-1 ps-2 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,c,i),t[6]=i,t[7]=c,t[8]=l):l=t[8];let u;t[9]!==r||t[10]!==s?(u=s===`switch`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{className:`col-start-1`,children:r}),(0,B.jsx)(de,{className:`inset-shadow-[0_1px_--theme(--color-black/4%)] inline-flex h-[calc(var(--thumb-size)+2px)] w-[calc(var(--thumb-size)*2-2px)] shrink-0 items-center rounded-full p-px outline-none transition-[background-color,box-shadow] duration-200 [--thumb-size:--spacing(4)] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background data-checked:bg-primary data-unchecked:bg-input data-disabled:opacity-64 sm:[--thumb-size:--spacing(3)]`,keepMounted:!0,children:(0,B.jsx)(`span`,{className:`pointer-events-none block aspect-square h-full in-[[data-slot=menu-checkbox-item][data-checked]]:origin-[var(--thumb-size)_50%] origin-left in-[[data-slot=menu-checkbox-item][data-checked]]:translate-x-[calc(var(--thumb-size)-4px)] in-[[data-slot=menu-checkbox-item]:active]:not-data-disabled:scale-x-110 in-[[data-slot=menu-checkbox-item]:active]:rounded-[var(--thumb-size)/calc(var(--thumb-size)*1.10)] rounded-(--thumb-size) bg-background shadow-sm/5 will-change-transform [transition:translate_.15s,border-radius_.15s,scale_.1s_.1s,transform-origin_.15s]`})})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(de,{className:`col-start-1`,children:(0,B.jsx)(`svg`,{fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`2`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,children:(0,B.jsx)(`path`,{d:`M5.252 12.7 10.2 18.63 18.748 5.37`})})}),(0,B.jsx)(`span`,{className:`col-start-2`,children:r})]}),t[9]=r,t[10]=s,t[11]=u):u=t[11];let d;return t[12]!==n||t[13]!==a||t[14]!==l||t[15]!==u?(d=(0,B.jsx)(se,{checked:n,className:l,"data-slot":`menu-checkbox-item`,...a,children:u}),t[12]=n,t[13]=a,t[14]=l,t[15]=u,t[16]=d):d=t[16],d}function ut(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)(pe,{"data-slot":`menu-radio-group`,...e}),t[0]=e,t[1]=n),n}function V(e){let t=(0,z.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=k(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default grid-cols-[1rem_1fr] items-center gap-2 rounded-sm py-1 ps-2 pe-4 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,r),t[4]=r,t[5]=a);let o;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,B.jsx)(te,{className:`col-start-1`,children:(0,B.jsx)(`svg`,{fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`2`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,children:(0,B.jsx)(`path`,{d:`M5.252 12.7 10.2 18.63 18.748 5.37`})})}),t[6]=o):o=t[6];let s;t[7]===n?s=t[8]:(s=(0,B.jsx)(`span`,{className:`col-start-2`,children:n}),t[7]=n,t[8]=s);let c;return t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,B.jsxs)(le,{className:a,"data-slot":`menu-radio-item`,...i,children:[o,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12],c}function dt(e){let t=(0,z.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=k(`mx-2 my-1 h-px bg-border`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,B.jsx)(me,{className:i,"data-slot":`menu-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ft(e){let t=(0,z.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=k(`ms-auto font-medium font-sans text-muted-foreground/72 text-xs tracking-widest`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,B.jsx)(`kbd`,{className:i,"data-slot":`menu-shortcut`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function pt(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)(fe,{"data-slot":`menu-sub`,...e}),t[0]=e,t[1]=n),n}function mt(e){let t=(0,z.c)(13),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,inset:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]===r?o=t[6]:(o=k(`flex min-h-8 items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-popup-open:bg-accent data-inset:ps-8 data-highlighted:text-accent-foreground data-popup-open:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none`,r),t[5]=r,t[6]=o);let s;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,B.jsx)(ae,{className:`-me-0.5 ms-auto opacity-80`}),t[7]=s):s=t[7];let c;return t[8]!==n||t[9]!==i||t[10]!==a||t[11]!==o?(c=(0,B.jsxs)(ie,{className:o,"data-inset":i,"data-slot":`menu-sub-trigger`,...a,children:[n,s]}),t[8]=n,t[9]=i,t[10]=a,t[11]=o,t[12]=c):c=t[12],c}function ht(e){let t=(0,z.c)(12),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,sideOffset:a,alignOffset:n,align:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=a===void 0?0:a,c=o===void 0?`start`:o,l=n??(c===`center`?void 0:-5),u;return t[6]!==c||t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==l?(u=(0,B.jsx)(ot,{align:c,alignOffset:l,className:r,"data-slot":`menu-sub-content`,side:`inline-end`,sideOffset:s,...i}),t[6]=c,t[7]=r,t[8]=i,t[9]=s,t[10]=l,t[11]=u):u=t[11],u}var gt=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/;function _t(e){return e.replace(/\r\n/g,`
1
+ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{A as t,C as n,Ci as r,D as i,O as a,h as o,j as s,k as c,lt as l,m as u,si as d}from"./vendor--effect-atom-react-6hEhKm5I.js";import{t as f}from"./vendor-react-BvVnE5E6.js";import{a as p}from"./vendor-tanstack-DxB_J8A7.js";import{c as m}from"./vendor--lexical-react-Dg6NVZQt.js";import{l as h,s as g}from"./clientSettings-BoLlsjmq.js";import{$ as _,J as v,U as y,X as b,Y as x,at as S,ct as C,et as w,it as T,nt as E,rt as D,st as O,t as k,tt as A,u as j,z as M}from"./utils-BnXGGW32.js";import{i as N,n as P,r as ee}from"./vendor-zustand-qsUGoIcm.js";import{an as te,cn as ne,dn as re,en as ie,fn as F,in as I,ir as ae,ln as oe,mn as se,nn as ce,on as le,or as ue,pn as de,rn as fe,sn as pe,tn as me,un as he}from"./vendor-ui-CJZCHXkp.js";function ge(){let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>{e.set(t,n)},removeItem:t=>{e.delete(t)}}}function _e(e){return e!=null&&typeof e.getItem==`function`&&typeof e.setItem==`function`&&typeof e.removeItem==`function`}function ve(e){return _e(e)?e:ge()}function ye(){if(typeof window>`u`)return null;let e=window.__shioricodeBeforeUnloadRegistry__;if(e)return e;let t={callbacks:new Map,listenerAttached:!1};return window.__shioricodeBeforeUnloadRegistry__=t,t}function be(e,t){let n=ye();n&&(n.callbacks.set(e,t),!n.listenerAttached&&(window.addEventListener(`beforeunload`,()=>{for(let e of n.callbacks.values())e()}),n.listenerAttached=!0))}function xe(e,t=300){let n=ve(e),r=new p((e,t)=>{n.setItem(e,t)},{wait:t});return{getItem:e=>n.getItem(e),setItem:(e,t)=>{r.maybeExecute(e,t)},removeItem:e=>{r.cancel(),n.removeItem(e)},flush:()=>{r.flush()}}}var Se=`full-access`,Ce=`default`,we=`default`;function Te(e,t){return e.reasoningEffortLevels.some(e=>e.value===t)}function Ee(e){return e.reasoningEffortLevels.find(e=>e.isDefault)?.value??null}function De(e,t){let n=Ee(e),r=typeof t==`string`?t.trim():null;return r&&!e.promptInjectedEffortLevels.includes(r)&&Te(e,r)?r:n??void 0}function Oe(e,t){return e.contextWindowOptions.some(e=>e.value===t)}function ke(e){return e.contextWindowOptions.find(e=>e.isDefault)?.value??null}function Ae(e,t){let n=ke(e);return t&&Oe(e,t)?t:n??void 0}function je(e,t){let n=De(e,t?.reasoningEffort),r=e.supportsFastMode?t?.fastMode:void 0,i={...n?{reasoningEffort:n}:{},...r===void 0?{}:{fastMode:r}};return Object.keys(i).length>0?i:void 0}function Me(e,t){let n=e.supportsThinkingToggle?t?.thinking:void 0,r=n===void 0?{}:{thinking:n};return Object.keys(r).length>0?r:void 0}function Ne(e,t){let n=De(e,t?.effort),r=e.supportsThinkingToggle?t?.thinking:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=Ae(e,t?.contextWindow),o={...r===void 0?{}:{thinking:r},...n?{effort:n}:{},...i===void 0?{}:{fastMode:i},...a===void 0?{}:{contextWindow:a}};return Object.keys(o).length>0?o:void 0}function Pe(e,t){let n=De(e,t?.reasoning),r=e.supportsThinkingToggle?t?.thinking??!1:void 0,i=e.supportsFastMode?t?.fastMode:void 0,a=Ae(e,t?.contextWindow),o={...r===void 0?{}:{thinking:r},...n?{reasoning:n}:{},...i===void 0?{}:{fastMode:i},...a===void 0?{}:{contextWindow:a}};return Object.keys(o).length>0?o:void 0}function Fe(e,t){let n=De(e,t?.effort),r=Ae(e,t?.contextWindow),i={...n?{effort:n}:{},...r===void 0?{}:{contextWindow:r}};return Object.keys(i).length>0?i:void 0}function Ie(e){return typeof e==`string`&&/\bultrathink\b/i.test(e)}function L(e,t=`codex`){if(typeof e!=`string`)return null;let n=e.trim();if(!n)return null;let r=E[t],i=Object.prototype.hasOwnProperty.call(r,n)?r[n]:void 0;return typeof i==`string`?i:n}function Le(e,t,n){if(typeof t!=`string`)return null;let r=t.trim();if(!r)return null;let i=n.find(e=>e.slug===r);if(i)return i.slug;let a=n.find(e=>e.name.toLowerCase()===r.toLowerCase());if(a)return a.slug;let o=L(r,e);if(!o)return null;let s=n.find(e=>e.slug===o);return s?s.slug:null}function Re(e,t){return L(e,t)||A[t]}function ze(e,t){return Re(t,e)}function Be(e){return typeof e==`string`&&e.trim()||null}function Ve(e,t){let n=e.trim();return!n||t!==`ultrathink`||n.startsWith(`Ultrathink:`)?n:`Ultrathink:\n${n}`}var He={reasoningEffortLevels:[],supportsFastMode:!1,supportsThinkingToggle:!1,contextWindowOptions:[],promptInjectedEffortLevels:[]};function Ue(e,t){let n=L(t,e);return e===`kimiCode`&&n===`kimi2.7-code`?`Kimi 2.7 Code`:e===`glm`&&n===`glm-5.2`?`GLM-5.2`:e===`glm`&&n===`glm-5-turbo`?`GLM-5-Turbo`:e===`glm`&&n===`glm-4.7`?`GLM-4.7`:e===`claudeAgent`&&n===`claude-fable-5`?`Fable 5`:n}function We(e,t,n){let r=L(t,n);return e.find(e=>e.slug===r)}function Ge(e,t){return e.find(e=>e.provider===t)?.models??[]}function Ke(e,t){return e.find(e=>e.provider===t)}function qe(e,t){return Ke(e,t)?.enabled??!0}function Je(e){return e?.enabled===!1||e?.status===`disabled`}function Ye(e,t){let n=t??`codex`;return qe(e,n)?n:e.find(e=>e.enabled)?.provider??n}function Xe(e){return e?.status===`warning`&&typeof e.message==`string`&&/^Checking\b/i.test(e.message.trim())}function Ze(e){return e?Je(e)?{selectable:!1,badgeLabel:`Disabled`}:e.installed?e.status===`warning`?Xe(e)?{selectable:!0,badgeLabel:`Checking`}:{selectable:!1,badgeLabel:null}:e.status===`error`?{selectable:!1,badgeLabel:null}:{selectable:!0,badgeLabel:null}:{selectable:!1,badgeLabel:`Not installed`}:{selectable:!0,badgeLabel:null}}function Qe(e,t){let n=Ke(e,t);if(!n||n.status===`ready`||Xe(n))return null;let r=D[t]??t;return Je(n)?`${r} is disabled in settings.`:n.message&&n.message.trim().length>0?n.message:n.status===`error`?`${r} provider is unavailable.`:`${r} provider is not ready yet. Resolve the provider warning before starting a turn.`}function $e(e,t,n){return We(e,t,n)?.capabilities??He}function et(e,t,n){return We(e,t,n)?.name??Ue(n,t)??t??A[n]}function tt(e,t,n){return We(e,t,n)?.multiModal??!0}function nt(e,t){let n=Ge(e,t);return n.find(e=>!e.isCustom)?.slug??n[0]?.slug??A[t]}var R=e(r(),1);function rt(e={}){let{epsilon:t=.005,maxStepPerFrame:n=.045,minThreshold:r=120,thresholdRatio:i=.35}=e,[a,o]=(0,R.useState)(0),[s,c]=(0,R.useState)(0),l=(0,R.useRef)(0),u=(0,R.useRef)(0),d=(0,R.useRef)(0),f=(0,R.useRef)(0),p=(0,R.useRef)(null),m=(0,R.useCallback)(()=>{let e=l.current-d.current,r=u.current-f.current,i=d.current+Math.sign(e)*Math.min(Math.abs(e),n),a=f.current+Math.sign(r)*Math.min(Math.abs(r),n);if(d.current=i,f.current=a,o(i),c(a),Math.abs(l.current-i)>t||Math.abs(u.current-a)>t){p.current=requestAnimationFrame(m);return}d.current=l.current,f.current=u.current,o(l.current),c(u.current),p.current=null},[t,n]),h=(0,R.useCallback)(()=>{p.current===null&&(p.current=requestAnimationFrame(m))},[m]),g=(0,R.useCallback)(e=>{let t=Math.max(r,Math.round(e.clientHeight*i)),n=e.scrollTop,a=e.scrollHeight-e.scrollTop-e.clientHeight,o=e=>Math.max(0,Math.min(1,e/t));l.current=o(n),u.current=o(a),h()},[r,h,i]),_=(0,R.useCallback)(e=>{e&&g(e)},[g]),v=(0,R.useCallback)(e=>{g(e.currentTarget)},[g]);return(0,R.useEffect)(()=>()=>{p.current!==null&&cancelAnimationFrame(p.current)},[]),{bottomFadeStrength:s,onScroll:v,ref:_,topFadeStrength:a,update:g}}var z=f(),B=m(),it=I;function at(e){let t=(0,z.c)(8),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;return t[4]!==n||t[5]!==r||t[6]!==i?(a=(0,B.jsx)(ce,{className:r,"data-slot":`menu-trigger`,...i,children:n}),t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ot(e){let t=(0,z.c)(33),n,r,i,a,o,s,c,l,u,d;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10]):({children:i,className:a,scrollFade:c,sideOffset:l,align:u,alignOffset:n,side:d,anchor:r,positionMethod:o,...s}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d);let f=l===void 0?4:l,p=u===void 0?`center`:u,m=d===void 0?`bottom`:d,h=rt(),g;t[11]===a?g=t[12]:(g=k(`relative inline-flex max-w-[min(var(--available-width),calc(100vw-1rem))] not-[class*='w-']:min-w-32 origin-(--transform-origin) rounded-lg border bg-popover not-dark:bg-clip-padding shadow-lg/5 outline-none before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] before:shadow-[0_1px_--theme(--color-black/4%)] focus:outline-none dark:before:shadow-[0_-1px_--theme(--color-white/6%)]`,a),t[11]=a,t[12]=g);let _=c?h.ref:void 0,v=c?h.onScroll:void 0,y;t[13]!==i||t[14]!==_||t[15]!==v?(y=(0,B.jsx)(`div`,{ref:_,className:`max-h-(--available-height) w-full overflow-y-auto p-1`,onScroll:v,children:i}),t[13]=i,t[14]=_,t[15]=v,t[16]=y):y=t[16];let b;t[17]!==h||t[18]!==c?(b=c?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`div`,{"aria-hidden":`true`,className:k(`pointer-events-none absolute inset-x-0 top-0 h-5 rounded-t-[calc(var(--radius-lg)-1px)] bg-linear-to-b from-popover to-transparent will-change-opacity`),style:{opacity:h.topFadeStrength}}),(0,B.jsx)(`div`,{"aria-hidden":`true`,className:k(`pointer-events-none absolute inset-x-0 bottom-0 h-5 rounded-b-[calc(var(--radius-lg)-1px)] bg-linear-to-t from-popover to-transparent will-change-opacity`),style:{opacity:h.bottomFadeStrength}})]}):null,t[17]=h,t[18]=c,t[19]=b):b=t[19];let x;t[20]!==s||t[21]!==g||t[22]!==y||t[23]!==b?(x=(0,B.jsxs)(he,{className:g,"data-slot":`menu-popup`,...s,children:[y,b]}),t[20]=s,t[21]=g,t[22]=y,t[23]=b,t[24]=x):x=t[24];let S;return t[25]!==p||t[26]!==n||t[27]!==r||t[28]!==o||t[29]!==m||t[30]!==f||t[31]!==x?(S=(0,B.jsx)(oe,{children:(0,B.jsx)(ne,{align:p,alignOffset:n,anchor:r,className:`z-50`,"data-slot":`menu-positioner`,positionMethod:o,side:m,sideOffset:f,children:x})}),t[25]=p,t[26]=n,t[27]=r,t[28]=o,t[29]=m,t[30]=f,t[31]=x,t[32]=S):S=t[32],S}function st(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)(F,{"data-slot":`menu-group`,...e}),t[0]=e,t[1]=n),n}function ct(e){let t=(0,z.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,inset:r,variant:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o=a===void 0?`default`:a,s;t[5]===n?s=t[6]:(s=k(`[&>svg]:-mx-0.5 flex min-h-8 cursor-default select-none items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-inset:ps-8 data-[variant=destructive]:text-destructive-foreground data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&>svg:not([class*='opacity-'])]:opacity-80 [&>svg:not([class*='size-'])]:size-4.5 sm:[&>svg:not([class*='size-'])]:size-4 [&>svg]:pointer-events-none [&>svg]:shrink-0`,n),t[5]=n,t[6]=s);let c;return t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==o?(c=(0,B.jsx)(re,{className:s,"data-inset":r,"data-slot":`menu-item`,"data-variant":o,...i}),t[7]=r,t[8]=i,t[9]=s,t[10]=o,t[11]=c):c=t[11],c}function lt(e){let t=(0,z.c)(17),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:i,children:r,checked:n,variant:o,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=o===void 0?`default`:o,c=s===`switch`?`grid-cols-[1fr_auto] gap-4 pe-1.5`:`grid-cols-[1rem_1fr] pe-4`,l;t[6]!==i||t[7]!==c?(l=k(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default items-center gap-2 rounded-sm py-1 ps-2 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,c,i),t[6]=i,t[7]=c,t[8]=l):l=t[8];let u;t[9]!==r||t[10]!==s?(u=s===`switch`?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{className:`col-start-1`,children:r}),(0,B.jsx)(de,{className:`inset-shadow-[0_1px_--theme(--color-black/4%)] inline-flex h-[calc(var(--thumb-size)+2px)] w-[calc(var(--thumb-size)*2-2px)] shrink-0 items-center rounded-full p-px outline-none transition-[background-color,box-shadow] duration-200 [--thumb-size:--spacing(4)] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background data-checked:bg-primary data-unchecked:bg-input data-disabled:opacity-64 sm:[--thumb-size:--spacing(3)]`,keepMounted:!0,children:(0,B.jsx)(`span`,{className:`pointer-events-none block aspect-square h-full in-[[data-slot=menu-checkbox-item][data-checked]]:origin-[var(--thumb-size)_50%] origin-left in-[[data-slot=menu-checkbox-item][data-checked]]:translate-x-[calc(var(--thumb-size)-4px)] in-[[data-slot=menu-checkbox-item]:active]:not-data-disabled:scale-x-110 in-[[data-slot=menu-checkbox-item]:active]:rounded-[var(--thumb-size)/calc(var(--thumb-size)*1.10)] rounded-(--thumb-size) bg-background shadow-sm/5 will-change-transform [transition:translate_.15s,border-radius_.15s,scale_.1s_.1s,transform-origin_.15s]`})})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(de,{className:`col-start-1`,children:(0,B.jsx)(`svg`,{fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`2`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,children:(0,B.jsx)(`path`,{d:`M5.252 12.7 10.2 18.63 18.748 5.37`})})}),(0,B.jsx)(`span`,{className:`col-start-2`,children:r})]}),t[9]=r,t[10]=s,t[11]=u):u=t[11];let d;return t[12]!==n||t[13]!==a||t[14]!==l||t[15]!==u?(d=(0,B.jsx)(se,{checked:n,className:l,"data-slot":`menu-checkbox-item`,...a,children:u}),t[12]=n,t[13]=a,t[14]=l,t[15]=u,t[16]=d):d=t[16],d}function ut(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)(pe,{"data-slot":`menu-radio-group`,...e}),t[0]=e,t[1]=n),n}function V(e){let t=(0,z.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:r,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]===r?a=t[5]:(a=k(`grid min-h-8 in-data-[side=none]:min-w-[calc(var(--anchor-width)+1.25rem)] cursor-default grid-cols-[1rem_1fr] items-center gap-2 rounded-sm py-1 ps-2 pe-4 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-highlighted:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,r),t[4]=r,t[5]=a);let o;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,B.jsx)(te,{className:`col-start-1`,children:(0,B.jsx)(`svg`,{fill:`none`,height:`24`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`2`,viewBox:`0 0 24 24`,width:`24`,xmlns:`http://www.w3.org/2000/svg`,children:(0,B.jsx)(`path`,{d:`M5.252 12.7 10.2 18.63 18.748 5.37`})})}),t[6]=o):o=t[6];let s;t[7]===n?s=t[8]:(s=(0,B.jsx)(`span`,{className:`col-start-2`,children:n}),t[7]=n,t[8]=s);let c;return t[9]!==i||t[10]!==a||t[11]!==s?(c=(0,B.jsxs)(le,{className:a,"data-slot":`menu-radio-item`,...i,children:[o,s]}),t[9]=i,t[10]=a,t[11]=s,t[12]=c):c=t[12],c}function dt(e){let t=(0,z.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=k(`mx-2 my-1 h-px bg-border`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,B.jsx)(me,{className:i,"data-slot":`menu-separator`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function ft(e){let t=(0,z.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=k(`ms-auto font-medium font-sans text-muted-foreground/72 text-xs tracking-widest`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,B.jsx)(`kbd`,{className:i,"data-slot":`menu-shortcut`,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function pt(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=(0,B.jsx)(fe,{"data-slot":`menu-sub`,...e}),t[0]=e,t[1]=n),n}function mt(e){let t=(0,z.c)(13),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:r,inset:i,children:n,...a}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]===r?o=t[6]:(o=k(`flex min-h-8 items-center gap-2 rounded-sm px-2 py-1 text-base text-foreground outline-none data-disabled:pointer-events-none data-highlighted:bg-accent data-popup-open:bg-accent data-inset:ps-8 data-highlighted:text-accent-foreground data-popup-open:text-accent-foreground data-disabled:opacity-64 sm:min-h-7 sm:text-sm [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none`,r),t[5]=r,t[6]=o);let s;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,B.jsx)(ae,{className:`-me-0.5 ms-auto opacity-80`}),t[7]=s):s=t[7];let c;return t[8]!==n||t[9]!==i||t[10]!==a||t[11]!==o?(c=(0,B.jsxs)(ie,{className:o,"data-inset":i,"data-slot":`menu-sub-trigger`,...a,children:[n,s]}),t[8]=n,t[9]=i,t[10]=a,t[11]=o,t[12]=c):c=t[12],c}function ht(e){let t=(0,z.c)(12),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,sideOffset:a,alignOffset:n,align:o,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=a===void 0?0:a,c=o===void 0?`start`:o,l=n??(c===`center`?void 0:-5),u;return t[6]!==c||t[7]!==r||t[8]!==i||t[9]!==s||t[10]!==l?(u=(0,B.jsx)(ot,{align:c,alignOffset:l,className:r,"data-slot":`menu-sub-content`,side:`inline-end`,sideOffset:s,...i}),t[6]=c,t[7]=r,t[8]=i,t[9]=s,t[10]=l,t[11]=u):u=t[11],u}var gt=/\n*<terminal_context>\n([\s\S]*?)\n<\/terminal_context>\s*$/;function _t(e){return e.replace(/\r\n/g,`
2
2
  `).replace(/^\n+|\n+$/g,``)}function vt(e){return _t(e.text).length>0}function yt(e){return!vt(e)}function bt(e){return e.filter(e=>vt(e))}function xt(e){let t=_t(e.text),n=e.terminalId.trim(),r=e.terminalLabel.trim();if(t.length===0||n.length===0||r.length===0)return null;let i=Math.max(1,Math.floor(e.lineStart));return{terminalId:n,terminalLabel:r,lineStart:i,lineEnd:Math.max(i,Math.floor(e.lineEnd)),text:t}}function St(e){return e.lineStart===e.lineEnd?`line ${e.lineStart}`:`lines ${e.lineStart}-${e.lineEnd}`}function Ct(e){return`${e.terminalLabel} ${St(e)}`}function wt(e){return`@${e.terminalLabel.trim().toLowerCase().replace(/\s+/g,`-`)}:${e.lineStart===e.lineEnd?`${e.lineStart}`:`${e.lineStart}-${e.lineEnd}`}`}function Tt(e){return _t(e.text).split(`
3
3
  `).map((t,n)=>` ${e.lineStart+n} | ${t}`)}function Et(e){let t=e.map(e=>xt(e)).filter(e=>e!==null);if(t.length===0)return``;let n=[];for(let e=0;e<t.length;e+=1){let r=t[e];n.push(`- ${Ct(r)}:`),n.push(...Tt(r)),e<t.length-1&&n.push(``)}return[`<terminal_context>`,...n,`</terminal_context>`].join(`
4
4
  `)}function Dt(e,t){let n=0,r=``;for(let i of e){if(i!==``){r+=i;continue}let e=t[n]??null;n+=1,e&&(r+=wt(e))}return r}function Ot(e,t){let n=Dt(e,t).trim(),r=Et(t);return r.length===0?n:n.length>0?`${n}\n\n${r}`:r}function kt(e){let t=gt.exec(e);if(!t)return{promptText:e,contextCount:0,previewTitle:null,contexts:[]};let n=e.slice(0,t.index).replace(/\n+$/,``),r=jt(t[1]??``);return{promptText:n,contextCount:r.length,previewTitle:r.length>0?r.map(({header:e,body:t})=>t.length>0?`${e}\n${t}`:e).join(`
@@ -9,4 +9,4 @@ import{a as e}from"./rolldown-runtime-COnpUsM8.js";import{A as t,C as n,Ci as r,
9
9
  `||e===` `||e===`\r`}function Ft(e,t){let n=Math.max(0,Math.min(e.length,Math.floor(t))),r=`${Pt(e[n-1])?``:` `} `,i=e[n]===` `?n+1:n;return{prompt:`${e.slice(0,n)}${r}${e.slice(i)}`,cursor:n+r.length,contextIndex:Mt(e.slice(0,n))}}function It(e){return e.replaceAll(``,``)}function Lt(e,t){if(t<0)return{prompt:e,cursor:e.length};let n=0;for(let r=0;r<e.length;r+=1)if(e[r]===``){if(n===t)return{prompt:e.slice(0,r)+e.slice(r+1),cursor:r};n+=1}return{prompt:e,cursor:e.length}}var Rt=`shioricode:composer-drafts:v1`,zt=3,Bt=[`kimiCode`,`gemini`,`glm`,`cursor`,`codex`,`claudeAgent`],Vt=n([`local`,`worktree`]),Ht=xe(typeof localStorage<`u`?localStorage:ge(),300);be(`composer-drafts`,()=>{Ht.flush()});var Ut=s({id:t,name:t,mimeType:t,sizeBytes:a,dataUrl:t}),Wt=s({id:t,threadId:C,createdAt:t,terminalId:t,terminalLabel:t,lineStart:a,lineEnd:a}),Gt=s({prompt:t,attachments:u(Ut),terminalContexts:l(u(Wt)),modelSelectionByProvider:l(c(x,l(y))),activeProvider:l(i(x)),runtimeMode:l(b),interactionMode:l(v)});s({effort:l(n(_)),codexFastMode:l(o),serviceTier:l(t)}),s({provider:l(x),model:l(t),modelOptions:l(i(T))}),s({stickyProvider:l(x),stickyModel:l(t),stickyModelOptions:l(i(T))});var Kt=s({projectId:i(O),createdAt:t,runtimeMode:b,interactionMode:v,branch:i(t),worktreePath:i(t),envMode:Vt}),qt=s({version:a,state:s({draftsByThreadId:c(C,Gt),draftThreadsByThreadId:c(C,Kt),projectDraftThreadIdByProjectId:c(O,C),stickyModelSelectionByProvider:l(c(x,l(y))),stickyActiveProvider:l(i(x))})});function Jt(e){return e?.options?{[e.provider]:e.options}:null}function Yt(e){if(!e)return null;let t={};for(let[n,r]of Object.entries(e))r?.options&&(t[n]=r.options);return Object.keys(t).length>0?t:null}var Xt=Object.freeze({draftsByThreadId:{},draftThreadsByThreadId:{},projectDraftThreadIdByProjectId:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null}),Zt=[],Qt=[],$t=[],en=[];Object.freeze(Zt),Object.freeze(Qt),Object.freeze($t);var tn=Object.freeze({}),nn=Object.freeze({prompt:``,images:Zt,nonPersistedImageIds:Qt,persistedAttachments:$t,terminalContexts:en,modelSelectionByProvider:tn,activeProvider:null,runtimeMode:null,interactionMode:null});function H(){return{prompt:``,images:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[],modelSelectionByProvider:{},activeProvider:null,runtimeMode:null,interactionMode:null}}function rn(e){return`${e.mimeType}\u0000${e.sizeBytes}\u0000${e.name}`}function an(e){return`${e.terminalId}\u0000${e.lineStart}\u0000${e.lineEnd}`}function on(e,t){let n=t.terminalId.trim(),r=t.terminalLabel.trim();if(n.length===0||r.length===0)return null;let i=Math.max(1,Math.floor(t.lineStart)),a=Math.max(i,Math.floor(t.lineEnd));return{...t,threadId:e,terminalId:n,terminalLabel:r,lineStart:i,lineEnd:a,text:_t(t.text)}}function sn(e,t){let n=new Set,r=new Set,i=[];for(let a of t){let t=on(e,a);if(!t)continue;let o=an(t);n.has(t.id)||r.has(o)||(i.push(t),n.add(t.id),r.add(o))}return i}function U(e){return e.prompt.length===0&&e.images.length===0&&e.persistedAttachments.length===0&&e.terminalContexts.length===0&&Object.keys(e.modelSelectionByProvider).length===0&&e.activeProvider===null&&e.runtimeMode===null&&e.interactionMode===null}function cn(e){return e===`kimiCode`||e===`gemini`||e===`glm`||e===`cursor`||e===`codex`||e===`claudeAgent`?e:null}function W(e,t,n){let r=e&&typeof e==`object`?e:null,i=r?.codex&&typeof r.codex==`object`?r.codex:null,a=r?.claudeAgent&&typeof r.claudeAgent==`object`?r.claudeAgent:null,o=r?.kimiCode&&typeof r.kimiCode==`object`?r.kimiCode:null,s=r?.glm&&typeof r.glm==`object`?r.glm:null,c=r?.cursor&&typeof r.cursor==`object`?r.cursor:null,l=i?.reasoningEffort===`low`||i?.reasoningEffort===`medium`||i?.reasoningEffort===`high`||i?.reasoningEffort===`xhigh`?i.reasoningEffort:t===`codex`&&(n?.effort===`low`||n?.effort===`medium`||n?.effort===`high`||n?.effort===`xhigh`)?n.effort:void 0,u=i?.fastMode===!0?!0:i?.fastMode===!1?!1:t===`codex`&&n?.codexFastMode===!0||typeof n?.serviceTier==`string`&&n.serviceTier===`fast`?!0:void 0,d=l!==void 0||u!==void 0?{...l===void 0?{}:{reasoningEffort:l},...u===void 0?{}:{fastMode:u}}:void 0,f=a?.thinking===!0?!0:a?.thinking===!1?!1:void 0,p=a?.effort===`low`||a?.effort===`medium`||a?.effort===`high`||a?.effort===`max`||a?.effort===`ultrathink`?a.effort:void 0,m=a?.fastMode===!0?!0:a?.fastMode===!1?!1:void 0,h=typeof a?.contextWindow==`string`&&a.contextWindow.length>0?a.contextWindow:void 0,g=f!==void 0||p!==void 0||m!==void 0||h!==void 0?{...f===void 0?{}:{thinking:f},...p===void 0?{}:{effort:p},...m===void 0?{}:{fastMode:m},...h===void 0?{}:{contextWindow:h}}:void 0,_=o?.thinking===!0?!0:o?.thinking===!1?!1:void 0,v=_===void 0?void 0:{thinking:_},y=s?.effort===`low`||s?.effort===`medium`||s?.effort===`high`||s?.effort===`max`?s.effort:void 0,b=typeof s?.contextWindow==`string`&&s.contextWindow.length>0?s.contextWindow:void 0,x=y!==void 0||b!==void 0?{...y===void 0?{}:{effort:y},...b===void 0?{}:{contextWindow:b}}:void 0,S=typeof c?.reasoning==`string`&&c.reasoning.length>0?c.reasoning:void 0,C=typeof c?.contextWindow==`string`&&c.contextWindow.length>0?c.contextWindow:void 0,w=c?.fastMode===!0?!0:c?.fastMode===!1?!1:void 0,T=c?.thinking===!0?!0:c?.thinking===!1?!1:void 0,E=T!==void 0||S!==void 0||C!==void 0||w!==void 0?{...T===void 0?{}:{thinking:T},...S===void 0?{}:{reasoning:S},...C===void 0?{}:{contextWindow:C},...w===void 0?{}:{fastMode:w}}:void 0;return!v&&!x&&!E&&!d&&!g?null:{...v?{kimiCode:v}:{},...x?{glm:x}:{},...E?{cursor:E}:{},...d?{codex:d}:{},...g?{claudeAgent:g}:{}}}function ln(e,t){let n=e&&typeof e==`object`?e:null,r=cn(n?.provider??t?.provider);if(r===null)return null;let i=n?.model??t?.model;if(typeof i!=`string`)return null;let a=L(i,r);if(!a)return null;let o=W(n?.options?{[r]:n.options}:t?.modelOptions,r,r===`codex`?t?.legacyCodex:void 0);return K(r,a,r===`codex`?o?.codex:r===`claudeAgent`?o?.claudeAgent:r===`kimiCode`?o?.kimiCode:r===`gemini`?void 0:r===`glm`?o?.glm:r===`cursor`?o?.cursor:void 0)}function un(e,t){if(e===null)return null;let n=t?.[e.provider];return K(e.provider,e.model,n)}function dn(e,t){return e?.options===void 0?W(t):fn(W(t),e.provider,e.options)}function fn(e,t,n){let{[t]:r,...i}=e??{},a=W({[t]:n},t);return W({...i,...a||{}})}function pn(e,t){let n={};if(t)for(let r of Bt){let i=t[r];i&&Object.keys(i).length>0&&(n[r]=K(r,e?.provider===r?e.model:A[r],i))}return e&&(n[e.provider]=e),n}function mn(e){let t=L(e.threadModelSelection?.model??e.projectModelSelection?.model,e.selectedProvider)??nt(e.providers,e.selectedProvider),n=e.draft?.modelSelectionByProvider?.[e.selectedProvider];return{selectedModel:n?.model?ir(e.selectedProvider,e.settings,e.providers,n.model):t,modelOptions:Yt(e.draft?.modelSelectionByProvider)??Jt(e.threadModelSelection)??Jt(e.projectModelSelection)??null}}function hn(e){typeof URL>`u`||e.startsWith(`blob:`)&&URL.revokeObjectURL(e)}function gn(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.id,r=t.name,i=t.mimeType,a=t.sizeBytes,o=t.dataUrl;return typeof n!=`string`||typeof r!=`string`||typeof i!=`string`||typeof a!=`number`||!Number.isFinite(a)||typeof o!=`string`||n.length===0||o.length===0?null:{id:n,name:r,mimeType:i,sizeBytes:a,dataUrl:o}}function _n(e){if(!e||typeof e!=`object`)return null;let t=e,n=t.id,r=t.threadId,i=t.createdAt,a=t.lineStart,o=t.lineEnd;if(typeof n!=`string`||n.length===0||typeof r!=`string`||r.length===0||typeof i!=`string`||i.length===0||typeof a!=`number`||!Number.isFinite(a)||typeof o!=`number`||!Number.isFinite(o))return null;let s=typeof t.terminalId==`string`?t.terminalId.trim():``,c=typeof t.terminalLabel==`string`?t.terminalLabel.trim():``;if(s.length===0||c.length===0)return null;let l=Math.max(1,Math.floor(a));return{id:n,threadId:r,createdAt:i,terminalId:s,terminalLabel:c,lineStart:l,lineEnd:Math.max(l,Math.floor(o))}}function vn(e,t){return e===`local`||e===`worktree`?e:t?`worktree`:`local`}function yn(e,t){let n={};if(e&&typeof e==`object`)for(let[t,r]of Object.entries(e)){if(typeof t!=`string`||t.length===0||!r||typeof r!=`object`)continue;let e=r,i=e.projectId,a=e.createdAt,o=e.branch,s=e.worktreePath,c=typeof s==`string`?s:null;i!==null&&(typeof i!=`string`||i.length===0)||(n[t]={projectId:i===null?null:i,createdAt:typeof a==`string`&&a.length>0?a:new Date().toISOString(),runtimeMode:e.runtimeMode===`approval-required`||e.runtimeMode===`full-access`?e.runtimeMode:Se,interactionMode:e.interactionMode===`plan`||e.interactionMode===`default`?e.interactionMode:Ce,branch:typeof o==`string`?o:null,worktreePath:c,envMode:vn(e.envMode,c)})}let r={};if(t&&typeof t==`object`)for(let[e,i]of Object.entries(t))typeof e==`string`&&e.length>0&&typeof i==`string`&&i.length>0&&(r[e]=i,n[i]?n[i]?.projectId!==e&&(n[i]={...n[i],projectId:e}):n[i]={projectId:e,createdAt:new Date().toISOString(),runtimeMode:Se,interactionMode:Ce,branch:null,worktreePath:null,envMode:`local`});return{draftThreadsByThreadId:n,projectDraftThreadIdByProjectId:r}}function bn(e){if(!e||typeof e!=`object`)return{};let t={};for(let[n,r]of Object.entries(e)){if(typeof n!=`string`||n.length===0||!r||typeof r!=`object`)continue;let e=r,i=typeof e.prompt==`string`?e.prompt:``,a=Array.isArray(e.attachments)?e.attachments.flatMap(e=>{let t=gn(e);return t?[t]:[]}):[],o=Array.isArray(e.terminalContexts)?e.terminalContexts.flatMap(e=>{let t=_n(e);return t?[t]:[]}):[],s=e.runtimeMode===`approval-required`||e.runtimeMode===`full-access`?e.runtimeMode:null,c=e.interactionMode===`plan`||e.interactionMode===`default`?e.interactionMode:null,l=Nt(i,o.length),u=r,d={},f=null;if(e.modelSelectionByProvider&&typeof e.modelSelectionByProvider==`object`)d=e.modelSelectionByProvider,f=cn(e.activeProvider);else{let e=W(u.modelOptions,void 0,u)??null,t=ln(u.modelSelection,{provider:u.provider,model:u.model,modelOptions:e??u.modelOptions,legacyCodex:u}),n=dn(t,e),r=un(t,n);d=pn(r,n),f=r?.provider??null}let p=Object.keys(d).length>0||f!==null;i.length===0&&a.length===0&&o.length===0&&!p&&!s&&!c||(t[n]={prompt:l,attachments:a,...o.length>0?{terminalContexts:o}:{},...p?{modelSelectionByProvider:d,activeProvider:f}:{},...s?{runtimeMode:s}:{},...c?{interactionMode:c}:{}})}return t}function xn(e){if(!e||typeof e!=`object`)return Xt;let t=e,n=t.draftsByThreadId,r=t.draftThreadsByThreadId,i=t.projectDraftThreadIdByProjectId,a=W(t.stickyModelOptions)??{},o=ln(t.stickyModelSelection,{provider:t.stickyProvider??`codex`,model:t.stickyModel,modelOptions:a}),s=dn(o,a),c=pn(un(o,s),s),l=cn(t.stickyProvider)??null,{draftThreadsByThreadId:u,projectDraftThreadIdByProjectId:d}=yn(r,i);return{draftsByThreadId:bn(n),draftThreadsByThreadId:u,projectDraftThreadIdByProjectId:d,stickyModelSelectionByProvider:c,stickyActiveProvider:l}}function Sn(e){let t={};for(let[n,r]of Object.entries(e.draftsByThreadId)){if(typeof n!=`string`||n.length===0)continue;let e=Object.keys(r.modelSelectionByProvider).length>0||r.activeProvider!==null;r.prompt.length===0&&r.persistedAttachments.length===0&&r.terminalContexts.length===0&&!e&&r.runtimeMode===null&&r.interactionMode===null||(t[n]={prompt:r.prompt,attachments:r.persistedAttachments,...r.terminalContexts.length>0?{terminalContexts:r.terminalContexts.map(e=>({id:e.id,threadId:e.threadId,createdAt:e.createdAt,terminalId:e.terminalId,terminalLabel:e.terminalLabel,lineStart:e.lineStart,lineEnd:e.lineEnd}))}:{},...e?{modelSelectionByProvider:r.modelSelectionByProvider,activeProvider:r.activeProvider}:{},...r.runtimeMode?{runtimeMode:r.runtimeMode}:{},...r.interactionMode?{interactionMode:r.interactionMode}:{}})}return{draftsByThreadId:t,draftThreadsByThreadId:e.draftThreadsByThreadId,projectDraftThreadIdByProjectId:e.projectDraftThreadIdByProjectId,stickyModelSelectionByProvider:e.stickyModelSelectionByProvider,stickyActiveProvider:e.stickyActiveProvider}}function Cn(e){if(!e||typeof e!=`object`)return Xt;let t=e,{draftThreadsByThreadId:n,projectDraftThreadIdByProjectId:r}=yn(t.draftThreadsByThreadId,t.projectDraftThreadIdByProjectId),i={},a=null;if(t.stickyModelSelectionByProvider&&typeof t.stickyModelSelectionByProvider==`object`)i=t.stickyModelSelectionByProvider,a=cn(t.stickyActiveProvider);else{let e=W(t.stickyModelOptions)??{},n=ln(t.stickyModelSelection,{provider:t.stickyProvider,model:t.stickyModel,modelOptions:e}),r=dn(n,e);i=pn(un(n,r),r),a=cn(t.stickyProvider)}return{draftsByThreadId:bn(t.draftsByThreadId),draftThreadsByThreadId:n,projectDraftThreadIdByProjectId:r,stickyModelSelectionByProvider:i,stickyActiveProvider:a}}function wn(e){if(e.length===0)return[];try{let t=h(Rt,qt);return!t||t.version!==zt?[]:(t.state.draftsByThreadId[e]?.attachments??[]).map(e=>e.id)}catch{return[]}}function Tn(e,t,n){let r=new Set;try{Ht.flush(),r=new Set(wn(e))}catch{r=new Set}n(n=>{let i=n.draftsByThreadId[e];if(!i)return n;let a=new Set(i.images.map(e=>e.id)),o=t.filter(e=>a.has(e.id)&&r.has(e.id)),s=i.images.map(e=>e.id).filter(e=>!r.has(e)),c={...i,persistedAttachments:o,nonPersistedImageIds:s},l={...n.draftsByThreadId};return U(c)?delete l[e]:l[e]=c,{draftsByThreadId:l}})}function En(e){let t=e.dataUrl.indexOf(`,`),n=t===-1?e.dataUrl:e.dataUrl.slice(0,t),r=t===-1?``:e.dataUrl.slice(t+1);if(r.length===0)return null;try{if(!n.includes(`;base64`)){let t=decodeURIComponent(r),i=n.startsWith(`data:`)&&n.includes(`;`)?n.slice(5,n.indexOf(`;`)):e.mimeType;return new File([t],e.name,{type:i||e.mimeType})}let t=atob(r),i=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)i[e]=t.charCodeAt(e);return new File([i],e.name,{type:e.mimeType})}catch{return null}}function Dn(e){return e.flatMap(e=>{let t=En(e);return t?[{type:`image`,id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,previewUrl:e.dataUrl,file:t}]:[]})}function On(e){let t=e.modelSelectionByProvider??{},n=cn(e.activeProvider)??null;return{prompt:e.prompt,images:Dn(e.attachments),nonPersistedImageIds:[],persistedAttachments:[...e.attachments],terminalContexts:e.terminalContexts?.map(e=>({...e,text:``}))??[],modelSelectionByProvider:t,activeProvider:n,runtimeMode:e.runtimeMode??null,interactionMode:e.interactionMode??null}}var kn=N()(ee((e,t)=>({draftsByThreadId:{},draftThreadsByThreadId:{},projectDraftThreadIdByProjectId:{},stickyModelSelectionByProvider:{},stickyActiveProvider:null,getDraftThreadByProjectId:e=>{if(e.length===0)return null;let n=t().projectDraftThreadIdByProjectId[e];if(!n)return null;let r=t().draftThreadsByThreadId[n];return!r||r.projectId!==e?null:{threadId:n,...r}},getDraftThread:e=>e.length===0?null:t().draftThreadsByThreadId[e]??null,setProjectDraftThreadId:(t,n,r)=>{t.length===0||n.length===0||e(e=>{let i=e.draftThreadsByThreadId[n],a=e.projectDraftThreadIdByProjectId[t],o=r?.worktreePath===void 0?i?.worktreePath??null:r.worktreePath??null,s={projectId:t,createdAt:r?.createdAt??i?.createdAt??new Date().toISOString(),runtimeMode:r?.runtimeMode??i?.runtimeMode??`full-access`,interactionMode:r?.interactionMode??i?.interactionMode??`default`,branch:r?.branch===void 0?i?.branch??null:r.branch??null,worktreePath:o,envMode:r?.envMode??(o?`worktree`:i?.envMode??`local`)},c=a===n,l=i&&i.projectId===s.projectId&&i.createdAt===s.createdAt&&i.runtimeMode===s.runtimeMode&&i.interactionMode===s.interactionMode&&i.branch===s.branch&&i.worktreePath===s.worktreePath&&i.envMode===s.envMode;if(c&&l)return e;let u={...e.projectDraftThreadIdByProjectId,[t]:n},d={...e.draftThreadsByThreadId,[n]:s},f=e.draftsByThreadId;return a&&a!==n&&!Object.values(u).includes(a)&&(delete d[a],e.draftsByThreadId[a]!==void 0&&(f={...e.draftsByThreadId},delete f[a])),{draftsByThreadId:f,draftThreadsByThreadId:d,projectDraftThreadIdByProjectId:u}})},setDraftThread:(t,n)=>{t.length!==0&&e(e=>{let r=e.draftThreadsByThreadId[t],i=n.worktreePath===void 0?r?.worktreePath??null:n.worktreePath??null,a={projectId:n.projectId,createdAt:n.createdAt??r?.createdAt??new Date().toISOString(),runtimeMode:n.runtimeMode??r?.runtimeMode??`full-access`,interactionMode:n.interactionMode??r?.interactionMode??`default`,branch:n.branch===void 0?r?.branch??null:n.branch??null,worktreePath:i,envMode:n.envMode??(i?`worktree`:r?.envMode??`local`)};if(r&&r.projectId===a.projectId&&r.createdAt===a.createdAt&&r.runtimeMode===a.runtimeMode&&r.interactionMode===a.interactionMode&&r.branch===a.branch&&r.worktreePath===a.worktreePath&&r.envMode===a.envMode)return e;let o=Object.fromEntries(Object.entries(e.projectDraftThreadIdByProjectId).filter(([,e])=>e!==t));return a.projectId!==null&&(o[a.projectId]=t),{draftThreadsByThreadId:{...e.draftThreadsByThreadId,[t]:a},projectDraftThreadIdByProjectId:o}})},setDraftThreadContext:(t,n)=>{t.length!==0&&e(e=>{let r=e.draftThreadsByThreadId[t];if(!r)return e;let i=Object.hasOwn(n,`projectId`)?n.projectId??null:r.projectId;if(i!==null&&i.length===0)return e;let a=n.worktreePath===void 0?r.worktreePath:n.worktreePath??null,o={projectId:i,createdAt:n.createdAt===void 0?r.createdAt:n.createdAt||r.createdAt,runtimeMode:n.runtimeMode??r.runtimeMode,interactionMode:n.interactionMode??r.interactionMode,branch:n.branch===void 0?r.branch:n.branch??null,worktreePath:a,envMode:n.envMode??(a?`worktree`:r.envMode??`local`)};if(o.projectId===r.projectId&&o.createdAt===r.createdAt&&o.runtimeMode===r.runtimeMode&&o.interactionMode===r.interactionMode&&o.branch===r.branch&&o.worktreePath===r.worktreePath&&o.envMode===r.envMode)return e;let s={...e.projectDraftThreadIdByProjectId};return i!==null&&(s[i]=t),r.projectId!==i&&r.projectId!==null&&s[r.projectId]===t&&delete s[r.projectId],{draftThreadsByThreadId:{...e.draftThreadsByThreadId,[t]:o},projectDraftThreadIdByProjectId:s}})},clearProjectDraftThreadId:t=>{t.length!==0&&e(e=>{let n=e.projectDraftThreadIdByProjectId[t];if(n===void 0)return e;let{[t]:r,...i}=e.projectDraftThreadIdByProjectId,a=i,o={...e.draftThreadsByThreadId},s=e.draftsByThreadId;return Object.values(a).includes(n)||(delete o[n],e.draftsByThreadId[n]!==void 0&&(s={...e.draftsByThreadId},delete s[n])),{draftsByThreadId:s,draftThreadsByThreadId:o,projectDraftThreadIdByProjectId:a}})},clearProjectDraftThreadById:(t,n)=>{t.length===0||n.length===0||e(e=>{if(e.projectDraftThreadIdByProjectId[t]!==n)return e;let{[t]:r,...i}=e.projectDraftThreadIdByProjectId,a=i,o={...e.draftThreadsByThreadId},s=e.draftsByThreadId;return Object.values(a).includes(n)||(delete o[n],e.draftsByThreadId[n]!==void 0&&(s={...e.draftsByThreadId},delete s[n])),{draftsByThreadId:s,draftThreadsByThreadId:o,projectDraftThreadIdByProjectId:a}})},clearDraftThread:n=>{if(n.length===0)return;let r=t().draftsByThreadId[n];if(r)for(let e of r.images)hn(e.previewUrl);e(e=>{let t=e.draftThreadsByThreadId[n]!==void 0,r=Object.values(e.projectDraftThreadIdByProjectId).includes(n),i=e.draftsByThreadId[n]!==void 0;if(!t&&!r&&!i)return e;let a=Object.fromEntries(Object.entries(e.projectDraftThreadIdByProjectId).filter(([,e])=>e!==n)),{[n]:o,...s}=e.draftThreadsByThreadId,{[n]:c,...l}=e.draftsByThreadId;return{draftsByThreadId:l,draftThreadsByThreadId:s,projectDraftThreadIdByProjectId:a}})},setStickyModelSelection:t=>{let n=ln(t);e(e=>{if(!n)return e;let t={...e.stickyModelSelectionByProvider,[n.provider]:n};return d(e.stickyModelSelectionByProvider,t)?e.stickyActiveProvider===n.provider?e:{stickyActiveProvider:n.provider}:{stickyModelSelectionByProvider:t,stickyActiveProvider:n.provider}})},applyStickyState:t=>{t.length!==0&&e(e=>{let n=e.stickyModelSelectionByProvider,r=e.stickyActiveProvider;if(Object.keys(n).length===0&&r===null)return e;let i=e.draftsByThreadId[t]??H(),a={...i.modelSelectionByProvider};for(let[e,t]of Object.entries(n))if(t){let n=a[e];a[e]={...t,model:n?.model??t.model}}if(d(i.modelSelectionByProvider,a)&&i.activeProvider===r)return e;let o={...i,modelSelectionByProvider:a,activeProvider:r},s={...e.draftsByThreadId};return U(o)?delete s[t]:s[t]=o,{draftsByThreadId:s}})},setPrompt:(t,n)=>{t.length!==0&&e(e=>{let r={...e.draftsByThreadId[t]??H(),prompt:n},i={...e.draftsByThreadId};return U(r)?delete i[t]:i[t]=r,{draftsByThreadId:i}})},setTerminalContexts:(t,n)=>{if(t.length===0)return;let r=sn(t,n);e(e=>{let n=e.draftsByThreadId[t]??H(),i={...n,prompt:Nt(n.prompt,r.length),terminalContexts:r},a={...e.draftsByThreadId};return U(i)?delete a[t]:a[t]=i,{draftsByThreadId:a}})},setModelSelection:(t,n)=>{if(t.length===0)return;let r=ln(n);e(e=>{let n=e.draftsByThreadId[t];if(!n&&r===null)return e;let i=n??H(),a={...i.modelSelectionByProvider};if(r){let e=a[r.provider];r.options===void 0?a[r.provider]=K(r.provider,r.model,e?.options):a[r.provider]=r}let o=r?.provider??i.activeProvider;if(d(i.modelSelectionByProvider,a)&&i.activeProvider===o)return e;let s={...i,modelSelectionByProvider:a,activeProvider:o},c={...e.draftsByThreadId};return U(s)?delete c[t]:c[t]=s,{draftsByThreadId:c}})},setModelOptions:(t,n)=>{if(t.length===0)return;let r=W(n);e(e=>{let n=e.draftsByThreadId[t];if(!n&&r===null)return e;let i=n??H(),a={...i.modelSelectionByProvider};for(let e of Bt){if(!r||!(e in r))continue;let t=r[e],n=a[e];if(t)a[e]=K(e,n?.model??A[e],t);else if(n?.options){let{options:t,...r}=n;a[e]=r}}if(d(i.modelSelectionByProvider,a))return e;let o={...i,modelSelectionByProvider:a},s={...e.draftsByThreadId};return U(o)?delete s[t]:s[t]=o,{draftsByThreadId:s}})},setProviderModelOptions:(t,n,r,i)=>{if(t.length===0)return;let a=cn(n);if(a===null)return;let o=W({[a]:r},a)?.[a];e(e=>{let n=e.draftsByThreadId[t]??H(),r={...n.modelSelectionByProvider},s=r[a];if(o)r[a]=K(a,s?.model??A[a],o);else if(s?.options){let{options:e,...t}=s;r[a]=t}let c=e.stickyModelSelectionByProvider,l=e.stickyActiveProvider;if(i?.persistSticky===!0){c={...e.stickyModelSelectionByProvider};let t=c[a]??n.modelSelectionByProvider[a]??K(a,A[a]);if(o)c[a]=K(a,t.model,o);else if(t.options){let{options:e,...n}=t;c[a]=n}l=n.activeProvider??a}if(d(n.modelSelectionByProvider,r)&&d(e.stickyModelSelectionByProvider,c)&&e.stickyActiveProvider===l)return e;let u={...n,modelSelectionByProvider:r},f={...e.draftsByThreadId};return U(u)?delete f[t]:f[t]=u,{draftsByThreadId:f,...i?.persistSticky===!0?{stickyModelSelectionByProvider:c,stickyActiveProvider:l}:{}}})},setRuntimeMode:(t,n)=>{if(t.length===0)return;let r=n===`approval-required`||n===`full-access`?n:null;e(e=>{let n=e.draftsByThreadId[t];if(!n&&r===null)return e;let i=n??H();if(i.runtimeMode===r)return e;let a={...i,runtimeMode:r},o={...e.draftsByThreadId};return U(a)?delete o[t]:o[t]=a,{draftsByThreadId:o}})},setInteractionMode:(t,n)=>{if(t.length===0)return;let r=n===`plan`||n===`default`?n:null;e(e=>{let n=e.draftsByThreadId[t];if(!n&&r===null)return e;let i=n??H();if(i.interactionMode===r)return e;let a={...i,interactionMode:r},o={...e.draftsByThreadId};return U(a)?delete o[t]:o[t]=a,{draftsByThreadId:o}})},addImage:(e,n)=>{e.length!==0&&t().addImages(e,[n])},addImages:(t,n)=>{t.length===0||n.length===0||e(e=>{let r=e.draftsByThreadId[t]??H(),i=new Set(r.images.map(e=>e.id)),a=new Set(r.images.map(e=>rn(e))),o=new Set(r.images.map(e=>e.previewUrl)),s=[];for(let e of n){let t=rn(e);if(i.has(e.id)||a.has(t)){o.has(e.previewUrl)||hn(e.previewUrl);continue}s.push(e),i.add(e.id),a.add(t),o.add(e.previewUrl)}return s.length===0?e:{draftsByThreadId:{...e.draftsByThreadId,[t]:{...r,images:[...r.images,...s]}}}})},removeImage:(n,r)=>{if(n.length===0)return;let i=t().draftsByThreadId[n];if(!i)return;let a=i.images.find(e=>e.id===r);a&&hn(a.previewUrl),e(e=>{let t=e.draftsByThreadId[n];if(!t)return e;let i={...t,images:t.images.filter(e=>e.id!==r),nonPersistedImageIds:t.nonPersistedImageIds.filter(e=>e!==r),persistedAttachments:t.persistedAttachments.filter(e=>e.id!==r)},a={...e.draftsByThreadId};return U(i)?delete a[n]:a[n]=i,{draftsByThreadId:a}})},insertTerminalContext:(t,n,r,i)=>{if(t.length===0)return!1;let a=!1;return e(e=>{let o=e.draftsByThreadId[t]??H(),s=on(t,r);if(!s)return e;let c=an(s);if(o.terminalContexts.some(e=>e.id===s.id)||o.terminalContexts.some(e=>an(e)===c))return e;a=!0;let l=Math.max(0,Math.min(o.terminalContexts.length,i)),u={...o,prompt:n,terminalContexts:[...o.terminalContexts.slice(0,l),s,...o.terminalContexts.slice(l)]};return{draftsByThreadId:{...e.draftsByThreadId,[t]:u}}}),a},addTerminalContext:(e,n)=>{e.length!==0&&t().addTerminalContexts(e,[n])},addTerminalContexts:(t,n)=>{t.length===0||n.length===0||e(e=>{let r=e.draftsByThreadId[t]??H(),i=sn(t,[...r.terminalContexts,...n]).slice(r.terminalContexts.length);return i.length===0?e:{draftsByThreadId:{...e.draftsByThreadId,[t]:{...r,prompt:Nt(r.prompt,r.terminalContexts.length+i.length),terminalContexts:[...r.terminalContexts,...i]}}}})},removeTerminalContext:(t,n)=>{t.length===0||n.length===0||e(e=>{let r=e.draftsByThreadId[t];if(!r)return e;let i={...r,terminalContexts:r.terminalContexts.filter(e=>e.id!==n)},a={...e.draftsByThreadId};return U(i)?delete a[t]:a[t]=i,{draftsByThreadId:a}})},clearTerminalContexts:t=>{t.length!==0&&e(e=>{let n=e.draftsByThreadId[t];if(!n||n.terminalContexts.length===0)return e;let r={...n,terminalContexts:[]},i={...e.draftsByThreadId};return U(r)?delete i[t]:i[t]=r,{draftsByThreadId:i}})},clearPersistedAttachments:t=>{t.length!==0&&e(e=>{let n=e.draftsByThreadId[t];if(!n)return e;let r={...n,persistedAttachments:[],nonPersistedImageIds:[]},i={...e.draftsByThreadId};return U(r)?delete i[t]:i[t]=r,{draftsByThreadId:i}})},syncPersistedAttachments:(t,n)=>{if(t.length===0)return;let r=new Set(n.map(e=>e.id));e(e=>{let i=e.draftsByThreadId[t];if(!i)return e;let a={...i,persistedAttachments:n,nonPersistedImageIds:i.nonPersistedImageIds.filter(e=>!r.has(e))},o={...e.draftsByThreadId};return U(a)?delete o[t]:o[t]=a,{draftsByThreadId:o}}),Promise.resolve().then(()=>{Tn(t,n,e)})},clearComposerContent:t=>{t.length!==0&&e(e=>{let n=e.draftsByThreadId[t];if(!n)return e;let r={...n,prompt:``,images:[],nonPersistedImageIds:[],persistedAttachments:[],terminalContexts:[]},i={...e.draftsByThreadId};return U(r)?delete i[t]:i[t]=r,{draftsByThreadId:i}})}}),{name:Rt,version:zt,storage:P(()=>Ht),migrate:xn,partialize:Sn,merge:(e,t)=>{let n=Cn(e),r=Object.fromEntries(Object.entries(n.draftsByThreadId).map(([e,t])=>[e,On(t)]));return{...t,draftsByThreadId:r,draftThreadsByThreadId:n.draftThreadsByThreadId,projectDraftThreadIdByProjectId:n.projectDraftThreadIdByProjectId,stickyModelSelectionByProvider:n.stickyModelSelectionByProvider??{},stickyActiveProvider:n.stickyActiveProvider??null}}}));function An(e){let t=(0,z.c)(2),n;return t[0]===e?n=t[1]:(n=t=>t.draftsByThreadId[e]??nn,t[0]=e,t[1]=n),kn(n)}function jn(e){let t=(0,z.c)(7),n=An(e.threadId),r,i;return t[0]!==n||t[1]!==e.projectModelSelection||t[2]!==e.providers||t[3]!==e.selectedProvider||t[4]!==e.settings||t[5]!==e.threadModelSelection?(i=mn({draft:n,providers:e.providers,selectedProvider:e.selectedProvider,threadModelSelection:e.threadModelSelection,projectModelSelection:e.projectModelSelection,settings:e.settings}),t[0]=n,t[1]=e.projectModelSelection,t[2]=e.providers,t[3]=e.selectedProvider,t[4]=e.settings,t[5]=e.threadModelSelection,t[6]=i):i=t[6],r=i,r}function Mn(e){kn.getState().getDraftThread(e)&&kn.getState().clearDraftThread(e)}function Nn(e){for(let t of e)Mn(t)}function Pn(e){if(typeof document>`u`)return;let t=document.querySelector(`[data-chat-composer-frame="true"]`);if(!t)return;let n=e?`⚡`:`🐌`,r=e?800:1600,i=e?500:900;for(let e=0;e<12;e++){let e=document.createElement(`span`);e.textContent=n,e.className=`fast-mode-blitz`,e.style.left=`${3+Math.random()*94}%`,e.style.fontSize=`${14+Math.random()*12}px`,e.style.animationDuration=`${r+Math.random()*i}ms`,e.style.animationDelay=`${Math.random()*220}ms`,e.addEventListener(`animationend`,()=>e.remove(),{once:!0}),t.appendChild(e)}}var Fn=`Ultrathink:
10
10
  `;function In(e,t){return Be(e===`codex`?t?.reasoningEffort:e===`cursor`?t?.reasoning:t?.effort)}function Ln(e,t){return e===`claudeAgent`||e===`glm`||e===`cursor`?Be(t?.contextWindow):null}function Rn(e,t,n){return{...t,...n}}function zn(e,t,n,r,i,a){let o=$e(t,n,e),s=a?o.reasoningEffortLevels:o.reasoningEffortLevels.filter(e=>!o.promptInjectedEffortLevels.includes(e.value)),c=De(o,In(e,i))??null,l=o.supportsThinkingToggle?e===`cursor`?i?.thinking??!1:i?.thinking??!0:null,u=o.supportsFastMode&&i?.fastMode===!0,d=o.contextWindowOptions,f=Ln(e,i),p=ke(o),m=f&&Oe(o,f)?f:p,h=a&&o.promptInjectedEffortLevels.length>0&&Ie(r);return{caps:o,effort:c,effortLevels:s,thinkingEnabled:l,fastModeEnabled:u,contextWindowOptions:d,contextWindow:m,defaultContextWindow:p,ultrathinkPromptControlled:h,ultrathinkInBodyText:h&&Ie(r.replace(/^Ultrathink:\s*/i,``))}}function Bn(e,t){let n=(0,z.c)(4),r=kn(Vn),i;return n[0]!==t||n[1]!==e||n[2]!==r?(i=n=>{if(`onModelOptionsChange`in t){t.onModelOptionsChange(n);return}r(t.threadId,e,n,{persistSticky:!0})},n[0]=t,n[1]=e,n[2]=r,n[3]=i):i=n[3],i}function Vn(e){return e.setProviderModelOptions}function Hn(e){let{caps:t,effort:n,effortLevels:r,thinkingEnabled:i,fastModeEnabled:a,contextWindowOptions:o,contextWindow:s,defaultContextWindow:c,ultrathinkPromptControlled:l,ultrathinkInBodyText:u}=zn(e.provider,e.models,e.model,e.prompt,e.modelOptions,e.allowPromptInjectedEffort);return{caps:t,effort:n,effortLevels:r,thinkingEnabled:i,fastModeEnabled:a,contextWindowOptions:o,contextWindow:s,defaultContextWindow:c,ultrathinkPromptControlled:l,ultrathinkInBodyText:u,defaultEffort:Ee(t),handleEffortChange:(0,R.useCallback)(n=>{if(!n)return;let i=r.find(e=>e.value===n);if(!i)return;if(t.promptInjectedEffortLevels.includes(i.value)){let t=e.prompt.trim().length===0?Fn:Ve(e.prompt,`ultrathink`);e.onPromptChange(t);return}if(u)return;if(l){let t=e.prompt.replace(/^Ultrathink:\s*/i,``);e.onPromptChange(t)}let a=e.provider===`claudeAgent`||e.provider===`glm`?`effort`:e.provider===`cursor`?`reasoning`:`reasoningEffort`;e.updateModelOptions(Rn(e.provider,e.modelOptions,{[a]:i.value}))},[l,u,r,e,t.promptInjectedEffortLevels])}}function Un(e){let t=(0,z.c)(17),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,B.jsx)(`div`,{className:`px-2 pt-1.5 pb-1 font-medium text-muted-foreground text-xs`,children:`Effort`}),t[0]=n):n=t[0];let r;t[1]===e.ultrathinkInBodyText?r=t[2]:(r=e.ultrathinkInBodyText?(0,B.jsx)(`div`,{className:`px-2 pb-1.5 text-muted-foreground/80 text-xs`,children:`Your prompt contains "ultrathink" in the text. Remove it to change effort.`}):null,t[1]=e.ultrathinkInBodyText,t[2]=r);let i=e.ultrathinkPromptControlled?`ultrathink`:e.effort,a=e.onValueChange,o;if(t[3]!==e.defaultEffort||t[4]!==e.effortLevels||t[5]!==e.ultrathinkInBodyText){let n;t[7]!==e.defaultEffort||t[8]!==e.ultrathinkInBodyText?(n=t=>(0,B.jsxs)(V,{value:t.value,disabled:e.ultrathinkInBodyText,children:[t.label,t.value===e.defaultEffort?` (default)`:``]},t.value),t[7]=e.defaultEffort,t[8]=e.ultrathinkInBodyText,t[9]=n):n=t[9],o=e.effortLevels.map(n),t[3]=e.defaultEffort,t[4]=e.effortLevels,t[5]=e.ultrathinkInBodyText,t[6]=o}else o=t[6];let s;t[10]!==e.onValueChange||t[11]!==i||t[12]!==o?(s=(0,B.jsx)(ut,{value:i,onValueChange:a,children:o}),t[10]=e.onValueChange,t[11]=i,t[12]=o,t[13]=s):s=t[13];let c;return t[14]!==r||t[15]!==s?(c=(0,B.jsxs)(st,{children:[n,r,s]}),t[14]=r,t[15]=s,t[16]=c):c=t[16],c}var Wn=(0,R.memo)(function(e){let t=(0,z.c)(83),n,r,i,a,o,s,c,l,u,d;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10]):({provider:c,models:i,model:n,prompt:s,onPromptChange:a,modelOptions:r,allowPromptInjectedEffort:l,includeEffort:u,includeFastMode:d,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d);let f=l===void 0?!0:l,p=u===void 0?!0:u,m=d===void 0?!0:d,h=Bn(c,o),g;t[11]!==f||t[12]!==n||t[13]!==r||t[14]!==i||t[15]!==a||t[16]!==s||t[17]!==c||t[18]!==h?(g={provider:c,models:i,model:n,prompt:s,onPromptChange:a,modelOptions:r,allowPromptInjectedEffort:f,updateModelOptions:h},t[11]=f,t[12]=n,t[13]=r,t[14]=i,t[15]=a,t[16]=s,t[17]=c,t[18]=h,t[19]=g):g=t[19];let{caps:_,effort:v,effortLevels:y,thinkingEnabled:b,fastModeEnabled:x,contextWindowOptions:S,contextWindow:C,defaultContextWindow:w,ultrathinkPromptControlled:T,ultrathinkInBodyText:E,defaultEffort:D,handleEffortChange:O}=Hn(g),k;if(t[20]!==_.supportsFastMode||t[21]!==_.supportsThinkingToggle||t[22]!==C||t[23]!==S||t[24]!==w||t[25]!==D||t[26]!==v||t[27]!==y||t[28]!==x||t[29]!==O||t[30]!==p||t[31]!==m||t[32]!==r||t[33]!==c||t[34]!==b||t[35]!==E||t[36]!==T||t[37]!==h){if(k=[],p&&v){let e;t[39]!==D||t[40]!==v||t[41]!==y||t[42]!==O||t[43]!==E||t[44]!==T?(e={key:`effort`,content:(0,B.jsx)(Un,{effort:v,effortLevels:y,ultrathinkPromptControlled:T,ultrathinkInBodyText:E,defaultEffort:D,onValueChange:O})},t[39]=D,t[40]=v,t[41]=y,t[42]=O,t[43]=E,t[44]=T,t[45]=e):e=t[45],k.push(e)}if(_.supportsThinkingToggle&&b!==null){let e;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Thinking`}),t[46]=e):e=t[46];let n=b?`on`:`off`,i;t[47]!==r||t[48]!==c||t[49]!==h?(i=e=>{h(Rn(c,r,{thinking:e===`on`}))},t[47]=r,t[48]=c,t[49]=h,t[50]=i):i=t[50];let a;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,B.jsxs)(V,{value:`on`,children:[`On`,` (default)`]}),t[51]=a):a=t[51];let o;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,B.jsxs)(V,{value:`off`,children:[`Off`,``]}),t[52]=o):o=t[52];let s;t[53]!==n||t[54]!==i?(s={key:`thinking`,content:(0,B.jsxs)(st,{children:[e,(0,B.jsxs)(ut,{value:n,onValueChange:i,children:[a,o]})]})},t[53]=n,t[54]=i,t[55]=s):s=t[55],k.push(s)}if(m&&_.supportsFastMode){let e;t[56]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Fast Mode`}),t[56]=e):e=t[56];let n=x?`on`:`off`,i;t[57]!==x||t[58]!==r||t[59]!==c||t[60]!==h?(i=e=>{let t=e===`on`;t!==x&&Pn(t),h(Rn(c,r,{fastMode:t}))},t[57]=x,t[58]=r,t[59]=c,t[60]=h,t[61]=i):i=t[61];let a,o;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,B.jsx)(V,{value:`off`,children:`off`}),o=(0,B.jsx)(V,{value:`on`,children:`on`}),t[62]=a,t[63]=o):(a=t[62],o=t[63]);let s;t[64]!==n||t[65]!==i?(s={key:`fastMode`,content:(0,B.jsxs)(st,{children:[e,(0,B.jsxs)(ut,{value:n,onValueChange:i,children:[a,o]})]})},t[64]=n,t[65]=i,t[66]=s):s=t[66],k.push(s)}if(S.length>1){let e;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(`div`,{className:`px-2 py-1.5 font-medium text-muted-foreground text-xs`,children:`Context Window`}),t[67]=e):e=t[67];let n=C??w??``,i;t[68]!==r||t[69]!==c||t[70]!==h?(i=e=>{h(Rn(c,r,{contextWindow:e}))},t[68]=r,t[69]=c,t[70]=h,t[71]=i):i=t[71];let a;if(t[72]!==S||t[73]!==w){let e;t[75]===w?e=t[76]:(e=e=>(0,B.jsxs)(V,{value:e.value,children:[e.label,e.value===w?` (default)`:``]},e.value),t[75]=w,t[76]=e),a=S.map(e),t[72]=S,t[73]=w,t[74]=a}else a=t[74];let o;t[77]!==n||t[78]!==i||t[79]!==a?(o={key:`contextWindow`,content:(0,B.jsxs)(st,{children:[e,(0,B.jsx)(ut,{value:n,onValueChange:i,children:a})]})},t[77]=n,t[78]=i,t[79]=a,t[80]=o):o=t[80],k.push(o)}t[20]=_.supportsFastMode,t[21]=_.supportsThinkingToggle,t[22]=C,t[23]=S,t[24]=w,t[25]=D,t[26]=v,t[27]=y,t[28]=x,t[29]=O,t[30]=p,t[31]=m,t[32]=r,t[33]=c,t[34]=b,t[35]=E,t[36]=T,t[37]=h,t[38]=k}else k=t[38];if(k.length===0)return null;let A;return t[81]===k?A=t[82]:(A=(0,B.jsx)(B.Fragment,{children:k.map(Jn)}),t[81]=k,t[82]=A),A});function Gn(e){let t=(0,z.c)(12),n=e.levels.length,r;t[0]===e.className?r=t[1]:(r=k(`inline-flex h-3.5 items-end gap-[2px]`,e.className),t[0]=e.className,t[1]=r);let i;if(t[2]!==e.currentIndex||t[3]!==e.levels||t[4]!==n){let r;t[6]!==e.currentIndex||t[7]!==n?(r=(t,r)=>{let i=r<=e.currentIndex,a=35+r/Math.max(n-1,1)*65;return(0,B.jsx)(`span`,{className:k(`w-[3px] rounded-[1.5px] transition-opacity duration-150 ease-out`,i?`bg-foreground`:`bg-foreground/25`),style:{height:`${a}%`}},t.value)},t[6]=e.currentIndex,t[7]=n,t[8]=r):r=t[8],i=e.levels.map(r),t[2]=e.currentIndex,t[3]=e.levels,t[4]=n,t[5]=i}else i=t[5];let a;return t[9]!==r||t[10]!==i?(a=(0,B.jsx)(`span`,{"aria-hidden":`true`,className:r,children:i}),t[9]=r,t[10]=i,t[11]=a):a=t[11],a}var Kn=(0,R.memo)(function(e){let t=(0,z.c)(46),n,r,i,a,o,s,c,l,u;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9]):({provider:c,models:i,model:n,prompt:s,onPromptChange:a,modelOptions:r,allowPromptInjectedEffort:l,triggerClassName:u,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u);let d=l===void 0?!0:l,f=Bn(c,o),p;t[10]!==d||t[11]!==n||t[12]!==r||t[13]!==i||t[14]!==a||t[15]!==s||t[16]!==c||t[17]!==f?(p={provider:c,models:i,model:n,prompt:s,onPromptChange:a,modelOptions:r,allowPromptInjectedEffort:d,updateModelOptions:f},t[10]=d,t[11]=n,t[12]=r,t[13]=i,t[14]=a,t[15]=s,t[16]=c,t[17]=f,t[18]=p):p=t[18];let{effort:m,effortLevels:h,ultrathinkPromptControlled:g,ultrathinkInBodyText:_,handleEffortChange:v}=Hn(p);if(!m)return null;let y;t[19]===m?y=t[20]:(y=e=>e.value===m,t[19]=m,t[20]=y);let b=h.findIndex(y),x;t[21]!==m||t[22]!==h||t[23]!==g?(x=g?`Ultrathink`:h.find(e=>e.value===m)?.label??m,t[21]=m,t[22]=h,t[23]=g,t[24]=x):x=t[24];let S=x,C=_||g,w=C?null:h[(b+1)%h.length]?.label??null,T=_?`Your prompt contains "ultrathink" — remove it to change effort.`:g?`Ultrathink (controlled by prompt)`:w?`Intelligence: ${S} — click for ${w}`:`Intelligence: ${S}`,E;t[25]!==b||t[26]!==h||t[27]!==v||t[28]!==C?(E=()=>{if(C||h.length===0)return;let e=h[(b+1)%h.length];e&&v(e.value)},t[25]=b,t[26]=h,t[27]=v,t[28]=C,t[29]=E):E=t[29];let D=E,O=`Intelligence: ${S}. Click to cycle.`,A=C&&`pointer-events-none opacity-60`,j;t[30]!==A||t[31]!==u?(j=k(`group/effort-picker inline-flex h-7 shrink-0 items-center gap-1.5 whitespace-nowrap rounded-md px-2 text-sm font-normal text-foreground outline-none transition-colors duration-150 ease-out hover:bg-accent/60 focus-visible:ring-2 focus-visible:ring-ring sm:h-6 sm:px-2.5 sm:text-xs`,A,u),t[30]=A,t[31]=u,t[32]=j):j=t[32];let M;t[33]!==b||t[34]!==h?(M=(0,B.jsx)(Gn,{levels:h,currentIndex:b}),t[33]=b,t[34]=h,t[35]=M):M=t[35];let N;t[36]===S?N=t[37]:(N=(0,B.jsx)(`span`,{className:`min-w-0 truncate`,children:S}),t[36]=S,t[37]=N);let P;return t[38]!==D||t[39]!==C||t[40]!==N||t[41]!==O||t[42]!==j||t[43]!==M||t[44]!==T?(P=(0,B.jsxs)(`button`,{type:`button`,"data-chat-effort-picker":`true`,title:T,"aria-label":O,disabled:C,onClick:D,className:j,children:[M,N]}),t[38]=D,t[39]=C,t[40]=N,t[41]=O,t[42]=j,t[43]=M,t[44]=T,t[45]=P):P=t[45],P}),qn=(0,R.memo)(function(e){let t=(0,z.c)(66),n,r,i,a,o,s,c,l,u,d,f,p;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],p=t[12]):({provider:c,models:i,model:n,prompt:s,onPromptChange:a,modelOptions:r,allowPromptInjectedEffort:l,includeEffort:u,includeFastMode:d,triggerVariant:p,triggerClassName:f,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=p);let m=l===void 0?!0:l,h=u===void 0?!0:u,_=d===void 0?!0:d,[v,y]=(0,R.useState)(!1),b,x,S,C,w,T,E,D;if(t[13]!==m||t[14]!==n||t[15]!==r||t[16]!==i||t[17]!==s||t[18]!==c){let{caps:e,effort:a,effortLevels:o,thinkingEnabled:l,fastModeEnabled:u,contextWindowOptions:d,contextWindow:f,defaultContextWindow:p,ultrathinkPromptControlled:h}=zn(c,i,n,s,r,m);b=e,S=a,E=l,w=u,x=d,D=h,C=S?o.find(e=>e.value===S)?.label??S:null,T=x.length>1&&f!==p?x.find(e=>e.value===f)?.label??null:null,t[13]=m,t[14]=n,t[15]=r,t[16]=i,t[17]=s,t[18]=c,t[19]=b,t[20]=x,t[21]=S,t[22]=C,t[23]=w,t[24]=T,t[25]=E,t[26]=D}else b=t[19],x=t[20],S=t[21],C=t[22],w=t[23],T=t[24],E=t[25],D=t[26];let O=T,A=E===null?null:`Thinking ${E?`On`:`Off`}`,j=h?D?`Ultrathink`:C:null,M;t[27]!==b||t[28]!==w||t[29]!==_?(M=_&&b.supportsFastMode&&w?[`Fast`]:[],t[27]=b,t[28]=w,t[29]=_,t[30]=M):M=t[30];let N;t[31]===O?N=t[32]:(N=O?[O]:[],t[31]=O,t[32]=N);let P;t[33]!==j||t[34]!==M||t[35]!==N||t[36]!==A?(P=[j,A,...M,...N].filter(Boolean),t[33]=j,t[34]=M,t[35]=N,t[36]=A,t[37]=P):P=t[37];let ee=P.join(` · `),te=c===`codex`;if(!(h&&S!==null||b.supportsThinkingToggle||_&&b.supportsFastMode||x.length>1))return null;let ne;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(ne=e=>{y(e)},t[38]=ne):ne=t[38];let re=p??`ghost`,ie=te?`min-w-0 max-w-40 shrink justify-start overflow-hidden whitespace-nowrap px-2 font-normal sm:max-w-48 sm:px-2.5 [&_svg]:mx-0`:`shrink-0 whitespace-nowrap px-2 font-normal sm:px-2.5`,F;t[39]!==ie||t[40]!==f?(F=k(ie,f),t[39]=ie,t[40]=f,t[41]=F):F=t[41];let I;t[42]!==re||t[43]!==F?(I=(0,B.jsx)(g,{size:`sm`,variant:re,className:F}),t[42]=re,t[43]=F,t[44]=I):I=t[44];let ae;t[45]!==te||t[46]!==ee?(ae=te?(0,B.jsxs)(`span`,{className:`flex min-w-0 w-full items-center gap-2 overflow-hidden`,children:[ee,(0,B.jsx)(ue,{"aria-hidden":`true`,className:`size-3 shrink-0 opacity-70`})]}):(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)(`span`,{children:ee}),(0,B.jsx)(ue,{"aria-hidden":`true`,className:`size-3 opacity-70`})]}),t[45]=te,t[46]=ee,t[47]=ae):ae=t[47];let oe;t[48]!==I||t[49]!==ae?(oe=(0,B.jsx)(at,{render:I,children:ae}),t[48]=I,t[49]=ae,t[50]=oe):oe=t[50];let se;t[51]!==m||t[52]!==h||t[53]!==_||t[54]!==n||t[55]!==r||t[56]!==i||t[57]!==a||t[58]!==o||t[59]!==s||t[60]!==c?(se=(0,B.jsx)(ot,{align:`start`,children:(0,B.jsx)(Wn,{provider:c,models:i,model:n,prompt:s,onPromptChange:a,modelOptions:r,allowPromptInjectedEffort:m,includeEffort:h,includeFastMode:_,...o})}),t[51]=m,t[52]=h,t[53]=_,t[54]=n,t[55]=r,t[56]=i,t[57]=a,t[58]=o,t[59]=s,t[60]=c,t[61]=se):se=t[61];let ce;return t[62]!==v||t[63]!==oe||t[64]!==se?(ce=(0,B.jsxs)(it,{open:v,onOpenChange:ne,children:[oe,se]}),t[62]=v,t[63]=oe,t[64]=se,t[65]=ce):ce=t[65],ce});function Jn(e,t){return(0,B.jsxs)(R.Fragment,{children:[t>0?(0,B.jsx)(dt,{}):null,e.content]},e.key)}function Yn(e){let{provider:t,model:n,models:r,prompt:i,modelOptions:a}=e,o=$e(r,n,t),s=a?.[t],c=De(o,s?`effort`in s?s.effort:`reasoningEffort`in s?s.reasoningEffort:`reasoning`in s?s.reasoning:null:null)??null,l=t===`kimiCode`?Me(o,s):t===`gemini`?void 0:t===`glm`?Fe(o,s):t===`cursor`?Pe(o,s):t===`codex`?je(o,s):Ne(o,s),u=o.promptInjectedEffortLevels.length>0&&Ie(i);return{provider:t,promptEffort:c,modelOptionsForDispatch:l,...u?{composerFrameClassName:`ultrathink-frame`}:{},...u?{composerSurfaceClassName:`shadow-[0_0_0_1px_rgba(255,255,255,0.04)_inset]`}:{},...u?{modelPickerIconClassName:`ultrathink-chroma`}:{}}}function G(e,t,n,r){let i=$e(e,t,n);return i.supportsThinkingToggle||i.contextWindowOptions.length>1||r?.includeFastMode===!0&&i.supportsFastMode}function Xn(e,t,n){return $e(e,t,n).reasoningEffortLevels.length>0}var Zn={kimiCode:{getState:e=>Yn(e),renderTraitsMenuContent:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`kimiCode`,{includeFastMode:!1})?(0,B.jsx)(Wn,{provider:`kimiCode`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!1}):null,renderEffortPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>Xn(n,t,`kimiCode`)?(0,B.jsx)(Kn,{provider:`kimiCode`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a}):null,renderTraitsPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`kimiCode`,{includeFastMode:!1})?(0,B.jsx)(qn,{provider:`kimiCode`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!1}):null},gemini:{getState:e=>Yn(e),renderTraitsMenuContent:()=>null,renderEffortPicker:()=>null,renderTraitsPicker:()=>null},glm:{getState:e=>Yn(e),renderTraitsMenuContent:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`glm`,{includeFastMode:!1})?(0,B.jsx)(Wn,{provider:`glm`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!1}):null,renderEffortPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>Xn(n,t,`glm`)?(0,B.jsx)(Kn,{provider:`glm`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a}):null,renderTraitsPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`glm`,{includeFastMode:!1})?(0,B.jsx)(qn,{provider:`glm`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!1}):null},cursor:{getState:e=>Yn(e),renderTraitsMenuContent:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a,includeFastMode:o})=>G(n,t,`cursor`,{includeFastMode:o})?(0,B.jsx)(Wn,{provider:`cursor`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:o}):null,renderEffortPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>Xn(n,t,`cursor`)?(0,B.jsx)(Kn,{provider:`cursor`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a}):null,renderTraitsPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`cursor`,{includeFastMode:!0})?(0,B.jsx)(qn,{provider:`cursor`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!0}):null},codex:{getState:e=>Yn(e),renderTraitsMenuContent:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`codex`,{includeFastMode:!1})?(0,B.jsx)(Wn,{provider:`codex`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!1}):null,renderEffortPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>Xn(n,t,`codex`)?(0,B.jsx)(Kn,{provider:`codex`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a}):null,renderTraitsPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`codex`,{includeFastMode:!1})?(0,B.jsx)(qn,{provider:`codex`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!1}):null},claudeAgent:{getState:e=>Yn(e),renderTraitsMenuContent:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a,includeFastMode:o})=>G(n,t,`claudeAgent`,{includeFastMode:o})?(0,B.jsx)(Wn,{provider:`claudeAgent`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:o}):null,renderEffortPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>Xn(n,t,`claudeAgent`)?(0,B.jsx)(Kn,{provider:`claudeAgent`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a}):null,renderTraitsPicker:({threadId:e,model:t,models:n,modelOptions:r,prompt:i,onPromptChange:a})=>G(n,t,`claudeAgent`,{includeFastMode:!0})?(0,B.jsx)(qn,{provider:`claudeAgent`,models:n,threadId:e,model:t,modelOptions:r,prompt:i,onPromptChange:a,includeEffort:!1,includeFastMode:!0}):null}};function Qn(e){return Zn[e.provider].getState(e)}function $n(e){return Zn[e.provider].renderTraitsMenuContent({threadId:e.threadId,model:e.model,models:e.models,modelOptions:e.modelOptions,prompt:e.prompt,onPromptChange:e.onPromptChange,includeFastMode:e.includeFastMode??!0})}function er(e){return Zn[e.provider].renderTraitsPicker({threadId:e.threadId,model:e.model,models:e.models,modelOptions:e.modelOptions,prompt:e.prompt,onPromptChange:e.onPromptChange})}var tr=32;Object.values({kimiCode:{provider:`kimiCode`,title:`Kimi Code`,description:`Kimi Code is currently pinned to a single built-in model.`,placeholder:`kimi2.7-code`,example:`kimi2.7-code`,supportsCustomModels:!1},gemini:{provider:`gemini`,title:`Gemini`,description:"Save additional Gemini model slugs for the picker and `/model` command.",placeholder:`your-gemini-model-slug`,example:`gemini-3-pro`},glm:{provider:`glm`,title:`GLM`,description:"Save additional GLM model slugs for the picker and `/model` command.",placeholder:`your-glm-model-slug`,example:`glm-5.2`},cursor:{provider:`cursor`,title:`Cursor`,description:"Save additional Cursor model slugs for the picker and `/model` command.",placeholder:`your-cursor-model-slug`,example:`composer-2`},codex:{provider:`codex`,title:`Codex`,description:"Save additional Codex model slugs for the picker and `/model` command.",placeholder:`your-codex-model-slug`,example:`gpt-6.7-codex-ultra-preview`},claudeAgent:{provider:`claudeAgent`,title:`Claude`,description:"Save additional Claude model slugs for the picker and `/model` command.",placeholder:`your-claude-model-slug`,example:`claude-sonnet-5-0`}}).filter(e=>e.supportsCustomModels!==!1);function nr(e,t,n=`codex`){let r=[],i=new Set;for(let a of e){let e=L(a,n);if(!(!e||e.length>256||t.has(e)||i.has(e))&&(i.add(e),r.push(e),r.length>=tr))break}return r}function rr(e,t,n,r){let i=Ge(t,n).map(({slug:e,name:t,isCustom:n})=>({slug:e,name:t,isCustom:n})),a=new Set(i.map(e=>e.slug)),o=r?.trim().toLowerCase(),s=new Set(Ge(t,n).filter(e=>!e.isCustom).map(e=>e.slug));if(n!==`kimiCode`){let t=e.providers[n].customModels;for(let e of nr(t,s,n))a.has(e)||(a.add(e),i.push({slug:e,name:e,isCustom:!0}));let c=L(r,n),l=typeof o==`string`&&i.some(e=>e.name.toLowerCase()===o);c&&!a.has(c)&&!l&&i.push({slug:c,name:c,isCustom:!0})}return i}function ir(e,t,n,r){let i=Ye(n,e);return Le(i,r,rr(t,n,i,r))??nt(n,i)}function K(e,t,n){switch(e){case`kimiCode`:return n===void 0?{provider:e,model:t}:{provider:e,model:t,options:n};case`gemini`:return{provider:e,model:t};case`glm`:return n===void 0?{provider:e,model:t}:{provider:e,model:t,options:n};case`cursor`:return n===void 0?{provider:e,model:t}:{provider:e,model:t,options:n};case`codex`:return n===void 0?{provider:e,model:t}:{provider:e,model:t,options:n};case`claudeAgent`:return n===void 0?{provider:e,model:t}:{provider:e,model:t,options:n}}}function ar(e,t,n,r){return{kimiCode:rr(e,t,`kimiCode`,n===`kimiCode`?r:void 0),gemini:rr(e,t,`gemini`,n===`gemini`?r:void 0),glm:rr(e,t,`glm`,n===`glm`?r:void 0),cursor:rr(e,t,`cursor`,n===`cursor`?r:void 0),codex:rr(e,t,`codex`,n===`codex`?r:void 0),claudeAgent:rr(e,t,`claudeAgent`,n===`claudeAgent`?r:void 0)}}function or(e,t){return sr(e.textGenerationModelSelection,e,t,{provider:`codex`,model:w.codex})}function sr(e,t,n,r={provider:`codex`,model:A.codex}){let i=e??r,a=Ye(n,i.provider),o=ir(a,t,n,a===i.provider?i.model:null),{modelOptionsForDispatch:s}=Qn({provider:a,model:o,models:Ge(n,a),prompt:``,modelOptions:{[a]:a===i.provider?i.options:void 0}});return K(a,o,s)}var cr=new Set([`bash`,`command`,`exec command`,`exec_command`,`execute command`,`shell`,`terminal`]),lr=new Set([`apply patch`,`apply_patch`,`create file`,`create_file`,`delete file`,`delete_file`,`edit`,`file write`,`multi edit`,`multiedit`,`notebook edit`,`notebookedit`,`replace`,`str replace file`,`update file`,`write`,`write file`,`write_file`]),ur=new Set([`cat`,`find`,`glob`,`grep`,`list directory`,`ls`,`read`,`read file`,`rg`,`ripgrep`,`search`,`view`]),dr=new Set([`agent`,`close agent`,`resume agent`,`send input`,`send message`,`spawn agent`,`subagent`,`task`,`wait`,`wait agent`]),fr=new Set([`ask user`,`request user input`]),pr=new Set([`set todo list`,`todo write`,`todowrite`,`update todo list`,`update todos`]),mr=new Set([`task create`,`task update`,`task list`,`task get`]),hr=new Map([[`computer`,`computer`],[`list apps`,`computer list apps`],[`get app state`,`computer app state`],[`app state`,`computer app state`],[`perform secondary action`,`computer secondary action`],[`secondary action`,`computer secondary action`],[`set value`,`computer set value`],[`select text`,`computer select text`],[`press key`,`computer key`],[`type text`,`computer type`],[`computer permissions`,`computer permissions`],[`computer request permission`,`computer request permission`],[`computer open permission guide`,`computer open permission guide`],[`computer focus app`,`computer focus app`],[`computer list apps`,`computer list apps`],[`computer screenshot`,`computer screenshot`],[`computer click`,`computer click`],[`computer double click`,`computer double click`],[`computer right click`,`computer right click`],[`computer move`,`computer move`],[`computer drag`,`computer drag`],[`computer type`,`computer type`],[`computer key`,`computer key`],[`computer scroll`,`computer scroll`],[`computer wait`,`computer wait`],[`screenshot`,`computer screenshot`],[`screen shot`,`computer screenshot`],[`take screenshot`,`computer screenshot`],[`get screenshot`,`computer screenshot`],[`click`,`computer click`],[`left click`,`computer click`],[`mouse click`,`computer click`],[`double click`,`computer double click`],[`left double click`,`computer double click`],[`right click`,`computer right click`],[`secondary click`,`computer right click`],[`mouse move`,`computer move`],[`move mouse`,`computer move`],[`cursor position`,`computer move`],[`mouse position`,`computer move`],[`drag`,`computer drag`],[`mouse drag`,`computer drag`],[`left click drag`,`computer drag`],[`drag mouse`,`computer drag`],[`type`,`computer type`],[`type text`,`computer type`],[`input text`,`computer type`],[`key`,`computer key`],[`key press`,`computer key`],[`keypress`,`computer key`],[`press key`,`computer key`],[`hotkey`,`computer key`],[`scroll`,`computer scroll`],[`mouse scroll`,`computer scroll`],[`scroll wheel`,`computer scroll`],[`wheel`,`computer scroll`],[`wait for screen`,`computer wait`],[`wait screen`,`computer wait`]]);function q(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:null}function J(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function gr(e){if(!e)return null;try{return q(JSON.parse(e))}catch{return null}}function _r(e){return e.replace(/\b\w/g,e=>e.toUpperCase())}function Y(e,t=400){return e.length<=t?e:`${e.slice(0,t-3)}...`}function vr(e){let t=J(e?.question);if(t)return t;let n=Array.isArray(e?.questions)?e.questions:null;return J((n?.[0]?q(n[0]):null)?.question)}function yr(e){let t=J(e?.target)??J(e?.task_id)??J(e?.taskId);if(t)return t;let n=Array.isArray(e?.targets)?e.targets:null;if(!n||n.length===0)return null;let r=n.map(e=>J(e)).filter(e=>e!==null);return r.length>0?r.join(`, `):null}function br(e){let t=J(e.type);return t&&X(t)===`web search`?t:null}function xr(e,t){if(X(t)===`web search`){let t=J(e.query),n=q(e.action),r=J(n?.type),i=J(n?.value);return!t&&!n&&!r&&!i?null:{...t?{query:t}:{},...n?{action:n}:{},...r?{action_type:r}:{},...i?{action_value:i}:{}}}return null}function X(e){if(!e)return null;let t=e.replace(/([a-z0-9])([A-Z])/g,`$1 $2`).replace(/[._-]/g,` `).replace(/\s+/g,` `).trim().toLowerCase();return t.length>0?t:null}function Sr(e){if(!e?.startsWith(`mcp__`))return null;let t=e.split(`__`);return t.length<3?null:X(t.slice(2).join(`__`))}function Cr(e){let t=X(e);if(t){let e=hr.get(t);if(e)return e}let n=Sr(e);if(n){let e=hr.get(n);if(e)return e}let r=e?.trim();if(!r?.startsWith(`mcp_`))return null;for(let[e,t]of hr){let n=e.replaceAll(` `,`_`);if(r.endsWith(`_${n}`)||r.endsWith(`__${n}`))return t}return null}function wr(e){let t=X(e);return t?dr.has(t)||t.includes(`subagent`)||t.includes(`agent task`):!1}function Tr(e){let t=X(e);return t?fr.has(t):!1}function Er(e){let t=X(e);return t?pr.has(t):!1}function Dr(e){let t=X(e);return t?mr.has(t):!1}function Or(e){return J(e?.taskId)??J(e?.task_id)}function kr(e){return J(e?.subject)??J(e?.title)??J(e?.activeForm)??J(e?.description)}function Ar(e){let t=J(e?.status);return t?t.replaceAll(`_`,` `):null}function jr(e){return J(e?.file_path)??J(e?.path)??J(e?.filePath)??J(e?.relativePath)??J(e?.filename)??J(e?.notebook_path)??J(e?.notebookPath)}function Mr(e){return(J(e?.query)??J(e?.pattern)??J(e?.q)??J(e?.search))||(Nr(e)===`search`?Pr(e):null)}function Nr(e){return J(e?.action_type)??J(e?.actionType)??J(q(e?.action)?.type)}function Pr(e){return J(e?.action_value)??J(e?.actionValue)??J(q(e?.action)?.value)}function Fr(e){let t=q(e);if(!t)return null;let n=q(t.item),r=J(t.toolName)??J(n?.toolName)??J(n?.name)??J(t.name)??br(t);if(!r)return null;let i=q(t.input)??q(n?.input)??gr(J(t.arguments)??J(n?.arguments))??xr(t,r),a=t.result??n?.result;return{toolName:r,input:i,...a===void 0?{}:{result:a},...n?{item:n}:{item:t}}}function Ir(e){let t=X(e);if(t){if(Cr(e))return`computer-use`;if(cr.has(t))return`command`;if(lr.has(t))return`file-change`;if(ur.has(t)||t.startsWith(`mcp `)||t===`image view`)return`file-read`}}function Z(e){let t=Cr(e)??X(e);if(!t)return`Tool call`;switch(t){case`computer`:return`Computer use`;case`close agent`:return`Close subagent`;case`resume agent`:return`Resume subagent`;case`agent`:case`spawn agent`:case`subagent`:case`task`:return`Subagent task`;case`ask user`:case`request user input`:return`Ask user`;case`apply patch`:return`Apply patch`;case`exec command`:case`execute command`:return`Run command`;case`computer list apps`:return`Computer app list`;case`computer app state`:return`Computer app state`;case`computer focus app`:return`Computer focus app`;case`computer request permission`:return`Computer permission request`;case`computer open permission guide`:return`Computer permission guide`;case`computer screenshot`:return`Computer screenshot`;case`computer click`:return`Computer click`;case`computer secondary action`:return`Computer secondary action`;case`computer set value`:return`Computer set value`;case`computer select text`:return`Computer select text`;case`computer double click`:return`Computer double click`;case`computer right click`:return`Computer right click`;case`computer move`:return`Computer move`;case`computer drag`:return`Computer drag`;case`computer type`:return`Computer type`;case`computer key`:return`Computer key`;case`computer scroll`:return`Computer scroll`;case`computer wait`:return`Computer wait`;case`list directory`:return`List directory`;case`multi edit`:case`str replace file`:return`Edit file`;case`notebook edit`:return`Edit notebook`;case`read file`:return`Read file`;case`send input`:case`send message`:return`Send input`;case`task create`:return`Create task`;case`task get`:return`View task`;case`task list`:return`List tasks`;case`task update`:return`Update task`;case`update plan`:return`Update plan`;case`set todo list`:case`todo write`:case`todowrite`:case`update todo list`:case`update todos`:return`Update todo list`;case`wait`:case`wait agent`:return`Wait for subagent`;case`web search`:return`Web Search`;case`file write`:case`write`:case`write file`:return`Write file`;default:break}return t.startsWith(`mcp `)?`MCP tool call`:_r(t)}function Lr(e,t){let n=Cr(e)??X(e);if(!n)return;let r=J(t?.command)??J(t?.cmd);if(r)return`${Z(n)}: ${Y(r)}`;if(n===`web search`){let e=Nr(t),r=Pr(t),i=Mr(t);if(e===`open_page`&&r)return`${Z(n)}: ${Y(r)}`;if(i)return`${Z(n)}: ${Y(i)}`;if(r)return`${Z(n)}: ${Y(r)}`}if(Er(n)){let e=(Array.isArray(t?.todos)?t.todos:null)?.filter(e=>{let t=q(e);return J(t?.content)??J(t?.activeForm)??J(t?.text)??J(t?.title)}).length??0;return e>0?`${Z(n)}: ${e} ${e===1?`task`:`tasks`}`:Z(n)}if(Dr(n)){let e=Z(n),r=Or(t),i=r?`${e} #${r}`:e,a=n===`task create`||n===`task update`?Ar(t)??kr(t):null;return a?`${i}: ${Y(a)}`:i}if(wr(n)){let e=J(t?.description)??J(t?.task)??J(t?.title)??J(t?.prompt);if(e)return`${Z(n)}: ${Y(e)}`}if(n===`update plan`){let e=(Array.isArray(t?.plan)?t.plan:null)?.length??0,n=J(t?.explanation);if(e>0)return n?`Update plan: ${Y(n)} (${e} steps)`:`Update plan: ${e} steps`;if(n)return`Update plan: ${Y(n)}`}if(Tr(n)){let e=vr(t);if(e)return`${Z(n)}: ${Y(e)}`}if(n===`close agent`||n===`resume agent`||n===`send input`||n===`send message`||n===`wait`||n===`wait agent`){let e=yr(t);if(e)return`${Z(n)}: ${e}`}let i=jr(t);if(i)return`${Z(n)}: ${Y(i)}`;let a=Mr(t);if(a)return`${Z(n)}: ${Y(a)}`;let o=t?Y(JSON.stringify(t)):void 0;return o?`${Z(n)}: ${o}`:Z(n)}var Rr=4,zr=12,Br=[`path`,`filePath`,`notebook_path`,`notebookPath`,`relativePath`,`filename`,`newPath`,`oldPath`],Vr=[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`];function Hr(e){return e&&typeof e==`object`?e:null}function Ur(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Wr(e,t,n){let r=Ur(n);!r||t.has(r)||(t.add(r),e.push(r))}function Gr(e,t,n,r,i,a){if(r>i||t.length>=a)return;if(Array.isArray(e)){for(let o of e)if(Gr(o,t,n,r+1,i,a),t.length>=a)return;return}let o=Hr(e);if(o){for(let e of Br)Wr(t,n,o[e]);for(let e of Vr)if(e in o&&(Gr(o[e],t,n,r+1,i,a),t.length>=a))return}}function Kr(e,t={}){let n=[];return Gr(e,n,new Set,0,t.maxDepth??Rr,t.maxFiles??zr),n}var qr=[{value:`kimiCode`,label:`Kimi`,available:!0},{value:`gemini`,label:`Gemini`,available:!0},{value:`glm`,label:`GLM`,available:!0},{value:`cursor`,label:`Cursor`,available:!0},{value:`codex`,label:`Codex`,available:!0},{value:`claudeAgent`,label:`Claude`,available:!0}],Jr=new WeakMap;function Yr(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4)return`${(e/1e3).toFixed(1)}s`;if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n===0?`${t}m`:n===60?`${t+1}m`:`${t}m ${n}s`}function Xr(e,t){if(!t)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<n?null:Yr(r-n)}function Zr(e,t){return!t||t.orchestrationStatus!==`running`?!1:e?t.activeTurnId===void 0?e.completedAt===null:(e.turnId,!0):!0}function Qr(e,t){return!e?.startedAt||!e.completedAt?!1:!Zr(e,t)}function $r(e,t,n){return Qr(e,t)?n:e?.startedAt??n}function ei(e){switch(e){case`command_execution_approval`:case`exec_command_approval`:return`command`;case`file_read_approval`:return`file-read`;case`file_change_approval`:case`apply_patch_approval`:return`file-change`;case`computer_use_approval`:return`computer-use`;default:return null}}function ti(e){let t=e?.toLowerCase();return t?t.includes(`stale pending approval request`)||t.includes(`stale pending user-input request`)||t.includes(`unknown pending approval request`)||t.includes(`unknown pending permission request`)||t.includes(`unknown pending user-input request`):!1}function ni(e){let t=Jr.get(e);if(t)return t;let n=[...e].toSorted(Ki);return Jr.set(e,n),n}function ri(e){let t=new Map,n=ni(e);for(let e of n){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=n&&typeof n.requestId==`string`?S.makeUnsafe(n.requestId):null,i=n&&(n.requestKind===`command`||n.requestKind===`file-read`||n.requestKind===`file-change`||n.requestKind===`computer-use`)?n.requestKind:n?ei(n.requestType):null,a=n&&typeof n.detail==`string`?n.detail:void 0,o=n?.data;if(e.kind===`approval.requested`&&r&&i){t.set(r,{requestId:r,requestKind:i,createdAt:e.createdAt,...a?{detail:a}:{},...o===void 0?{}:{data:o}});continue}if(e.kind===`approval.resolved`&&r){t.delete(r);continue}if(e.kind===`provider.approval.respond.failed`&&r&&ti(a)){t.delete(r);continue}}return[...t.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function ii(e){let t=e?.questions;if(!Array.isArray(t))return null;let n=t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||typeof t.header!=`string`||typeof t.question!=`string`||!Array.isArray(t.options))return null;let n=t.options.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return typeof t.label!=`string`||typeof t.description!=`string`?null:{label:t.label,description:t.description}}).filter(e=>e!==null);return n.length===0?null:{id:t.id,header:t.header,question:t.question,options:n}}).filter(e=>e!==null);return n.length>0?n:null}function ai(e){let t=new Map,n=ni(e);for(let e of n){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=n&&typeof n.requestId==`string`?S.makeUnsafe(n.requestId):null,i=n&&typeof n.detail==`string`?n.detail:void 0;if(e.kind===`user-input.requested`&&r){let i=ii(n);if(!i)continue;t.set(r,{requestId:r,createdAt:e.createdAt,questions:i});continue}if(e.kind===`user-input.resolved`&&r){t.delete(r);continue}e.kind===`provider.user-input.respond.failed`&&r&&ti(i)&&t.delete(r)}return[...t.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function oi(e,t){let n=ni(e).filter(e=>e.kind===`turn.plan.updated`?t?e.turnId===t:!0:!1).at(-1);if(!n)return null;let r=n.payload&&typeof n.payload==`object`?n.payload:null,i=r?.plan;if(!Array.isArray(i))return null;let a=i.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.step!=`string`)return null;let n=t.status===`completed`||t.status===`inProgress`?t.status:`pending`;return{step:t.step,status:n}}).filter(e=>e!==null);return a.length===0?null:{createdAt:n.createdAt,turnId:n.turnId,...r&&`explanation`in r?{explanation:r.explanation}:{},steps:a}}function si(e){switch(e){case`inProgress`:case`in_progress`:return`inProgress`;case`completed`:case`done`:return`completed`;case`failed`:case`error`:return`failed`;case`stopped`:case`cancelled`:case`canceled`:return`stopped`;default:return`pending`}}function ci(e,t){let n=ni(e).filter(e=>e.kind===`turn.tasks.updated`?t?e.turnId===t:!0:!1).at(-1);if(!n)return null;let r=n.payload&&typeof n.payload==`object`?n.payload:null,i=r?.items;if(!Array.isArray(i))return null;let a=i.map((e,t)=>{if(!e||typeof e!=`object`)return null;let r=e;if(typeof r.title!=`string`||r.title.trim().length===0)return null;let i={id:typeof r.id==`string`&&r.id.trim().length>0?r.id:`${n.id}:${t}`,title:r.title,status:si(r.status)};return typeof r.detail==`string`&&r.detail.trim().length>0&&(i.detail=r.detail),typeof r.source==`string`&&r.source.trim().length>0&&(i.source=r.source),i}).filter(e=>e!==null);return a.length===0?null:{createdAt:n.createdAt,turnId:n.turnId,source:typeof r?.source==`string`?r.source:`tasks`,items:a}}function li(e,t){if(t){let n=[...e].filter(e=>e.turnId===t).toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);if(n)return Ii(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?Ii(n):null}function ui(e){let t=e.threads.find(t=>t.id===e.threadId)?.proposedPlans??[];if(!e.latestTurnSettled){let t=e.latestTurn?.sourceProposedPlan;if(t){let n=e.threads.find(e=>e.id===t.threadId)?.proposedPlans.find(e=>e.id===t.planId);if(n)return Ii(n)}}return li(t,e.latestTurn?.turnId??null)}function di(e){return e!==null&&e.implementedAt===null}function fi(e,t){let n=Oi(ni(e).filter(e=>t?e.turnId===t:!0).filter(e=>!vi(e)&&!yi(e)).filter(e=>!gi(e)).filter(e=>e.kind!==`context-window.updated`).filter(e=>e.summary!==`Checkpoint captured`).filter(e=>e.kind!==`runtime.warning`).filter(e=>!bi(e)).map(xi)),r=[];for(let{activityKind:e,collapseKey:t,lifecycleStatus:i,...a}of n)r.push({...a,running:_i(e,i)});return r}function pi(e){return e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.completed`}function mi(e){return e===`task.started`||e===`task.progress`||e===`task.completed`}function hi(e){return pi(e)?Q((e.payload&&typeof e.payload==`object`?e.payload:null)?.parentItemId)!==null:!1}function gi(e){return e.kind!==`task.started`&&e.kind!==`task.completed`?!1:!hi(e)}function _i(e,t){return e===`tool.started`?t!==`completed`&&t!==`failed`&&t!==`declined`:e===`task.started`||e===`task.progress`?t===`inProgress`||t!==`completed`&&t!==`failed`&&t!==`declined`:e===`tool.updated`?t?t===`inProgress`:!0:!1}function vi(e){return e.kind===`reasoning.started`||e.kind===`reasoning.delta`||e.kind===`reasoning.completed`}function yi(e){if(e.kind!==`task.progress`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return t?.displayAs===`reasoning`?!0:e.summary===`Reasoning update`&&typeof t?.taskId==`string`&&e.turnId!==null&&t.taskId===e.turnId}function bi(e){if(e.kind!==`tool.updated`&&e.kind!==`tool.completed`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return typeof t?.detail==`string`&&t.detail.startsWith(`ExitPlanMode:`)}function xi(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null,n=Vi(t),r=Kr(t?.data),i=Q(t?.lastToolName),a=Hi(t)??i,o={id:e.id,createdAt:e.createdAt,label:e.summary,tone:e.tone===`approval`?`info`:e.tone,activityKind:e.kind},s=Q(t?.parentItemId),c=Si(e.kind,t,s),l=Ri(t?.status)??(c?Ci(e.kind):void 0),u=Q(t?.itemId)??c;u&&(o.itemId=u),s&&(o.parentItemId=s),l&&(o.lifecycleStatus=l);let d=Wi(t),f=Gi(t)??(i?Ir(i):void 0);if(t&&typeof t.detail==`string`&&t.detail.length>0){let e=Ui(t.detail).output;e&&(o.detail=e)}(e.kind===`runtime.warning`||e.kind===`runtime.error`)&&typeof t?.message==`string`&&t.message.length>0&&(o.detail=t.message),n&&(o.command=n),r.length>0&&(o.changedFiles=r),a&&(o.toolTitle=a),d&&(o.itemType=d),f&&(o.requestKind=f),t&&t.data!==void 0&&(o.output=t.data);let p=Ni(o);return p&&(o.collapseKey=p),o}function Si(e,t,n){if(!n||!mi(e))return null;let r=Q(t?.taskId);return r?`task:${r}`:null}function Ci(e){if(e===`task.started`||e===`task.progress`)return`inProgress`;if(e===`task.completed`)return`completed`}function wi(e){return e===`tool.started`||e===`tool.updated`||e===`tool.completed`||mi(e)}function Ti(e){return e===`tool.updated`||e===`tool.completed`||e===`task.progress`||e===`task.completed`}function Ei(e){return e===`tool.completed`||e===`task.completed`}function Di(e){return Ei(e.activityKind)||e.lifecycleStatus===`completed`||e.lifecycleStatus===`failed`||e.lifecycleStatus===`declined`}function Oi(e){let t=[],n=new Map;for(let r of e){if(r.itemId){let e=n.get(r.itemId);if(e!==void 0){let i=t[e];if(i&&ki(i,r)){let a=Ai(i,r);t[e]=a,Di(a)&&n.delete(r.itemId);continue}}}let e=t.at(-1);if(e&&ki(e,r)){t[t.length-1]=Ai(e,r);let i=t[t.length-1];i.itemId&&(Di(i)?n.delete(i.itemId):n.set(i.itemId,t.length-1));continue}t.push(r),r.itemId&&!Di(r)&&n.set(r.itemId,t.length-1)}return t}function ki(e,t){return!wi(e.activityKind)||!Ti(t.activityKind)||Ei(e.activityKind)?!1:e.collapseKey!==void 0&&e.collapseKey===t.collapseKey}function Ai(e,t){let n=Mi(e.changedFiles,t.changedFiles),r=t.detail??e.detail,i=t.command??e.command,a=t.toolTitle??e.toolTitle,o=t.itemType??e.itemType,s=t.parentItemId??e.parentItemId,c=t.requestKind??e.requestKind,l=t.collapseKey??e.collapseKey,u=t.lifecycleStatus??e.lifecycleStatus,d=ji(e.output,t.output);return{...t,id:e.id,createdAt:e.createdAt,...r?{detail:r}:{},...i?{command:i}:{},...n.length>0?{changedFiles:n}:{},...a?{toolTitle:a}:{},...o?{itemType:o}:{},...s?{parentItemId:s}:{},...c?{requestKind:c}:{},...l?{collapseKey:l}:{},...u?{lifecycleStatus:u}:{},...d===void 0?{}:{output:d}}}function ji(e,t){if(t===void 0)return e;if(e===void 0)return t;let n=Li(e),r=Li(t);return n&&r&&!Array.isArray(e)&&!Array.isArray(t)?{...n,...r}:t}function Mi(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function Ni(e){if(!wi(e.activityKind))return;if(e.itemId)return`item:${e.itemId}`;if(mi(e.activityKind))return;let t=Fi(e.toolTitle??e.label),n=Bi(e.command??e.detail)??``,r=e.detail?.trim()??``,i=Pi(e),a=e.itemType??``,o=e.parentItemId??``,s=e.itemType===`command_execution`||e.requestKind===`command`?n||i||r:i||r||n;if(!(t.length===0&&s.length===0&&a.length===0&&o.length===0))return[o,a,t,s].join(``)}function Pi(e){let t=Fr(e.output);if(!t)return``;let n=X(t.toolName)??``,r=Lr(t.toolName,t.input),i=r?r.replace(/\s+/g,` `).trim().toLowerCase():``;return n.length===0?i:i.length===0?n:`${n}\u001f${i}`}function Fi(e){return e.replace(/\s+(?:start|started|complete|completed)\s*$/i,``).trim()}function Ii(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function Li(e){return e&&typeof e==`object`?e:null}function Q(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Ri(e){switch(Q(e)?.replace(/[_\s-]+/g,``).toLowerCase()){case`inprogress`:return`inProgress`;case`completed`:return`completed`;case`failed`:return`failed`;case`declined`:return`declined`;default:return}}function zi(e){let t=e.trim(),n=/^(?:\/usr\/bin\/env\s+)?(?:\/bin\/)?(?:bash|zsh|sh)\s+-lc\s+(['"])([\s\S]*)\1$/.exec(t);if(!n)return t;let r=n[2];return r?r.replace(/\\(["'`\\$])/g,`$1`).trim():t}function Bi(e){let t=Q(e);if(t)return zi(t);if(!Array.isArray(e))return null;let n=e.map(e=>Q(e)).filter(e=>e!==null);return n.length>0?zi(n.join(` `)):null}function Vi(e){let t=Li(e?.data),n=Li(t?.item),r=Li(n?.result),i=Li(n?.input);return[Bi(n?.command),Bi(i?.command),Bi(r?.command),Bi(t?.command)].find(e=>e!==null)??null}function Hi(e){return Q(e?.title)}function Ui(e){let t=e.trim(),n=/^(?<output>[\s\S]*?)(?:\s*<exited with exit code (?<code>\d+)>)\s*$/i.exec(t);if(!n?.groups)return{output:t.length>0?t:null};let r=Number.parseInt(n.groups.code??``,10),i=n.groups.output?.trim()??``;return{output:i.length>0?i:null,...Number.isInteger(r)?{exitCode:r}:{}}}function Wi(e){if(typeof e?.itemType==`string`&&M(e.itemType))return e.itemType}function Gi(e){return e?.requestKind===`command`||e?.requestKind===`file-read`||e?.requestKind===`file-change`||e?.requestKind===`computer-use`?e.requestKind:ei(e?.requestType)??void 0}function Ki(e,t){if(e.sequence!==void 0&&t.sequence!==void 0){if(e.sequence!==t.sequence)return e.sequence-t.sequence}else if(e.sequence!==void 0)return 1;else if(t.sequence!==void 0)return-1;let n=e.createdAt.localeCompare(t.createdAt);if(n!==0)return n;let r=qi(e.kind)-qi(t.kind);return r===0?e.id.localeCompare(t.id):r}function qi(e){return e.endsWith(`.started`)||e===`tool.started`?0:e.endsWith(`.progress`)||e.endsWith(`.updated`)?1:e.endsWith(`.completed`)||e.endsWith(`.resolved`)?2:1}function Ji(e,t){return t?e.some(e=>e.turnId===t&&e.tone===`tool`):!1}function Yi(e){return Q((e.payload&&typeof e.payload==`object`?e.payload:null)?.itemId)}function Xi(e){return Q((e.payload&&typeof e.payload==`object`?e.payload:null)?.taskId)}function Zi(e){let t=(e.payload&&typeof e.payload==`object`?e.payload:null)?.summaryIndex;return typeof t==`number`&&Number.isInteger(t)?t:null}function Qi(e,t){if(e.length===0)return t;let n=e.match(/\n+$/)?.[0].length??0,r=t.match(/^\n+/)?.[0].length??0,i=Math.max(0,2-n-r);return`${e}${`
11
11
  `.repeat(i)}${t}`}function $i(e,t){return e.length===0?t:e.includes(t)?e:Qi(e,t)}function ea(e,t,n){return n.forceBlockBreak?Qi(e,t):`${e}${t}`}function ta(e){let t=ni(e),n=new Map,r=[],i=new Map,a=new Set;for(let e of t){let t=yi(e),o=Xi(e),s=e.kind===`task.completed`&&o!==null&&n.has(`reasoning-task:${o}`);if(!vi(e)&&!t&&!s)continue;let c=e.payload&&typeof e.payload==`object`?e.payload:null,l=Yi(e),u=l===null?o===null?`reasoning:${e.id}`:`reasoning-task:${o}`:`reasoning:${l}`,d=n.get(u),f=d??{id:u,createdAt:e.createdAt,text:``,streaming:e.kind!==`reasoning.completed`&&e.kind!==`task.completed`,turnId:e.turnId??null};if(d||(n.set(u,f),r.push(u)),e.kind===`reasoning.started`){d&&f.text.length>0&&a.add(u),f.streaming=!0;continue}if(e.kind===`reasoning.delta`&&typeof c?.delta==`string`){let t=Zi(e),n=i.get(u),r=t!==null&&n!==void 0&&t!==n||a.has(u)||!f.streaming&&f.text.length>0;f.text=ea(f.text,c.delta,{forceBlockBreak:r}),t!==null&&i.set(u,t),a.delete(u),f.streaming=!0;continue}if(t){let e=typeof c?.detail==`string`?c.detail:typeof c?.summary==`string`?c.summary:null;e&&e.length>0&&(f.text=$i(f.text,e)),f.streaming=!0;continue}if(e.kind===`task.completed`){f.streaming=!1,f.completedAt=e.createdAt;continue}e.kind===`reasoning.completed`&&(f.text.length===0&&typeof c?.detail==`string`&&c.detail.length>0&&(f.text=c.detail),f.streaming=!1,f.completedAt=e.createdAt)}return r.map(e=>n.get(e)).filter(e=>!!e).filter(e=>e.text.trim().length>0)}function na(e,t,n,r){let i=e.map(e=>({id:e.id,kind:`message`,createdAt:e.createdAt,message:e})),a=t.map(e=>({id:e.id,kind:`reasoning`,createdAt:e.createdAt,reasoning:e})),o=n.map(e=>({id:e.id,kind:`proposed-plan`,createdAt:e.createdAt,proposedPlan:e})),s=r.map(e=>({id:e.id,kind:`work`,createdAt:e.createdAt,entry:e}));return[...i,...a,...o,...s].toSorted(aa)}function ra(e){return e.kind===`message`&&e.message.role===`assistant`?e.message.completedAt??e.message.createdAt:e.createdAt}function ia(e){if(e.kind===`message`){switch(e.message.role){case`user`:return 0;case`system`:return 1;case`assistant`:return 4}return 2}switch(e.kind){case`reasoning`:return 1;case`work`:return 2;case`proposed-plan`:return 3}}function aa(e,t){let n=ra(e).localeCompare(ra(t));if(n!==0)return n;let r=e.createdAt.localeCompare(t.createdAt);return r===0?ia(e)-ia(t):r}var oa=new Set([`claudeAgent`,`glm`]);function sa(e){return e!=null&&oa.has(e)}function ca(e,t,n){let r=new Map,i=new Map;for(let t of e)t.role!==`assistant`||t.turnId==null||(r.set(t.turnId,t.id),i.set(t.turnId,(i.get(t.turnId)??0)+1));let a=t?.orchestrationStatus===`running`?t.activeTurnId??null:null,o=n?.preserveCompletedAssistantMessages===!0;return e.filter(e=>e.role!==`assistant`||e.turnId==null||(i.get(e.turnId)??0)<=1||a!==null&&e.turnId===a||o?!0:r.get(e.turnId)===e.id)}function la(e,t){if(!t?.startedAt||!t.completedAt)return null;if(t.assistantMessageId){let n=e.find(e=>e.kind===`message`&&e.message.role===`assistant`&&e.message.id===t.assistantMessageId);if(n)return n.id}let n=Date.parse(t.startedAt),r=Date.parse(t.completedAt);if(Number.isNaN(n)||Number.isNaN(r))return null;let i=null,a=null;for(let t of e){if(t.kind!==`message`||t.message.role!==`assistant`)continue;let e=Date.parse(t.message.createdAt);Number.isNaN(e)||e<n||(a=t.id,e<=r&&(i=t.id))}return i??a}function ua(e){let t=[...e].toSorted((e,t)=>e.completedAt.localeCompare(t.completedAt)),n={};for(let e=0;e<t.length;e+=1){let r=t[e];r&&(n[r.turnId]=e+1)}return n}function da(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}function fa(e,t=50){let n=e.trim();return n.length<=t?n:`${n.slice(0,t)}...`}function pa(e){let t=e.trim();return t.length>0?t:`project`}var ma=500,ha=new Map([[`reasoning.delta`,0],[`context-window.updated`,1],[`reasoning.started`,2],[`reasoning.completed`,2]]),ga=[];function _a(e){return{...e,model:ze(e.provider,e.model)}}function va(e){return e.map(e=>({...e}))}function ya(e,t){return e.updatedAt.localeCompare(t.updatedAt)||e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)}function ba(e){let t=e.filter(e=>e.deletedAt===null),n=new Map;for(let e of t){let t=n.get(e.workspaceRoot);(!t||ya(t,e)<0)&&n.set(e.workspaceRoot,e)}let r=new Map;for(let e of t)r.set(e.id,n.get(e.workspaceRoot)?.id??e.id);return{canonicalProjects:t.filter(e=>r.get(e.id)===e.id),canonicalProjectIdByProjectId:r}}function xa(e){switch(e){case`starting`:return`connecting`;case`running`:return`running`;case`error`:return`error`;case`ready`:case`interrupted`:return`ready`;case`idle`:case`stopped`:return`closed`}}function Sa(e){return e===`kimiCode`||e===`gemini`||e===`glm`||e===`cursor`||e===`codex`||e===`claudeAgent`?e:`codex`}function Ca(e){return{provider:Sa(e.providerName),status:xa(e.status),orchestrationStatus:e.status,activeTurnId:e.activeTurnId??void 0,createdAt:e.updatedAt,updatedAt:e.updatedAt,...e.lastError?{lastError:e.lastError}:{}}}function wa(e){return e?.status===`error`?e.lastError??null:null}function Ta(e,t={}){let n=e.attachments?.map(e=>{let n=t.resolveAttachmentPreviewUrl?.(e.id);return{type:`image`,id:e.id,name:e.name,mimeType:e.mimeType,sizeBytes:e.sizeBytes,...n?{previewUrl:n}:{}}}).filter(e=>e!==null);return{id:e.id,role:e.role,text:e.text,turnId:e.turnId,createdAt:e.createdAt,streaming:e.streaming,...e.streaming?{}:{completedAt:e.updatedAt},...n&&n.length>0?{attachments:n}:{}}}function Ea(e){return{id:e.id,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId,createdAt:e.createdAt,updatedAt:e.updatedAt}}function Da(e){return{turnId:e.turnId,completedAt:e.completedAt,status:e.status,assistantMessageId:e.assistantMessageId??void 0,checkpointTurnCount:e.checkpointTurnCount,checkpointRef:e.checkpointRef,files:e.files.map(e=>({...e}))}}function Oa(e){return e&&typeof e==`object`?e:null}function ka(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function Aa(e){return typeof e==`string`?e:null}function ja(e){return typeof e==`number`&&Number.isInteger(e)?e:null}function Ma(e){if(e.kind!==`reasoning.delta`)return null;let t=Oa(e.payload),n=ka(t?.itemId),r=ka(t?.taskId),i=ja(t?.summaryIndex),a=n??r;return a?[e.turnId??``,a,i===null?``:String(i)].join(``):null}function Na(e,t){let n=Oa(e.payload)??{},r=Oa(t.payload)??{},i=Aa(n.delta)??``,a=Aa(r.delta)??``;return{...e,payload:{...n,...r,delta:`${i}${a}`},...e.sequence===void 0?{}:{sequence:e.sequence}}}function Pa(e){if(e.length<=ma)return[...e];let t=[...e],n=t.length-ma;for(let e of[0,1,2]){for(let r=0;r<t.length&&n>0;){let i=t[r];if(i&&ha.get(i.kind)===e){t.splice(r,1),--n;continue}r+=1}if(n<=0)return t}return t.slice(-ma)}function Fa(e){if(e.length===0)return[];let t=[];for(let n of e){let e=t.at(-1);if(!e){t.push({...n});continue}let r=Ma(e),i=Ma(n);if(r!==null&&r===i){t[t.length-1]=Na(e,n);continue}t.push({...n})}return Pa(t)}function Ia(e,t={}){return{id:e.id,codexThreadId:null,projectId:e.projectId,projectlessCwd:e.projectlessCwd??null,title:e.title,modelSelection:_a(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?Ca(e.session):null,resumeState:e.resumeState??`resumed`,messages:e.messages.map(e=>Ta(e,t)),proposedPlans:e.proposedPlans.map(Ea),error:wa(e.session),createdAt:e.createdAt,archivedAt:e.archivedAt,pinnedAt:e.pinnedAt??null,updatedAt:e.updatedAt,latestTurn:e.latestTurn,goal:e.goal??null,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,parentThreadId:e.parentThreadId??null,branchSourceTurnId:e.branchSourceTurnId??null,branch:e.branch,worktreePath:e.worktreePath,tag:e.tag??null,turnDiffSummaries:e.checkpoints.map(Da),activities:Fa(e.activities)}}function La(e){return{id:e.id,name:pa(e.title),cwd:e.workspaceRoot,defaultModelSelection:e.defaultModelSelection?_a(e.defaultModelSelection):null,createdAt:e.createdAt,updatedAt:e.updatedAt,scripts:va(e.scripts)}}function Ra(e){let t=null;for(let n of e)n.role===`user`&&(t===null||n.createdAt>t)&&(t=n.createdAt);return t}function za(e){return{id:e.id,projectId:e.projectId,projectlessCwd:e.projectlessCwd??null,title:e.title,modelProvider:e.modelSelection.provider,interactionMode:e.interactionMode,session:e.session,resumeState:e.resumeState??`resumed`,createdAt:e.createdAt,archivedAt:e.archivedAt,pinnedAt:e.pinnedAt??null,updatedAt:e.updatedAt,latestTurn:e.latestTurn,goal:e.goal??null,parentThreadId:e.parentThreadId??null,branch:e.branch,worktreePath:e.worktreePath,tag:e.tag,latestUserMessageAt:Ra(e.messages),hasPendingApprovals:e.session?.orchestrationStatus===`running`&&ri(e.activities).length>0,hasPendingUserInput:e.session?.orchestrationStatus===`running`&&ai(e.activities).length>0,hasActionableProposedPlan:di(li(e.proposedPlans,e.latestTurn?.turnId??null))}}function Ba(e){let t={};for(let n of e){if(n.projectId===null)continue;let e=t[n.projectId]??ga;t[n.projectId]=[...e,n.id]}return t}function Va(e){let t={};for(let[n,r]of e.entries())t[r.id]=n;return t}function Ha(e){return Object.fromEntries(e.map(e=>[e.id,za(e)]))}function Ua(e,t={}){let{canonicalProjects:n,canonicalProjectIdByProjectId:r}=ba(e.projects),i=n.map(La),a=(e.kanbanItems??[]).filter(e=>e.deletedAt===null).map(e=>{let t=r.get(e.projectId)??e.projectId;return t===e.projectId?e:Object.assign({},e,{projectId:t})}),o=e.threads.filter(e=>e.deletedAt===null).map(e=>{if(e.projectId===null)return Ia(e,t);let n=r.get(e.projectId)??e.projectId;return n===e.projectId?Ia(e,t):Ia({...e,projectId:n},t)});return{projects:i,goalItems:a,threads:o,threadIndexById:Va(o),sidebarThreadsById:Ha(o),threadIdsByProjectId:Ba(o)}}function Wa(e,t){let n=e?.latestTurn??null;return{startedAt:new Date().toISOString(),preparingWorktree:!!t?.preparingWorktree,latestTurnTurnId:n?.turnId??null,latestTurnRequestedAt:n?.requestedAt??null,latestTurnStartedAt:n?.startedAt??null,latestTurnCompletedAt:n?.completedAt??null}}function Ga(e){if(!e.localDispatch)return!1;if(e.hasPendingApproval||e.hasPendingUserInput||e.threadError||e.phase===`running`)return!0;let t=e.latestTurn??null;if(e.localDispatch.latestTurnTurnId!==(t?.turnId??null)||e.localDispatch.latestTurnRequestedAt!==(t?.requestedAt??null)||e.localDispatch.latestTurnStartedAt!==(t?.startedAt??null)||e.localDispatch.latestTurnCompletedAt!==(t?.completedAt??null))return!0;let n=Date.parse(e.localDispatch.startedAt);return e.activities.some(e=>{if(e.kind!==`provider.turn.start.failed`)return!1;let t=Date.parse(e.createdAt);return!Number.isFinite(t)||!Number.isFinite(n)?!0:t>=n})}var Ka={projects:[],threads:[],threadIndexById:{},sidebarThreadsById:{},threadIdsByProjectId:{},pendingThreadDispatchById:{},bootstrapComplete:!1},qa=2e3,Ja=500,Ya=200,Xa=[];function Za(e,t,n){let r=!1,i=e.map(e=>{if(e.id!==t)return e;let i=n(e);return i!==e&&(r=!0),i});return r?i:e}function Qa(e){return{...e,model:ze(e.provider,e.model)}}function $a(e){return e.map(e=>({...e}))}function eo(e){return Ca(e)}function to(e){return Ta(e,{resolveAttachmentPreviewUrl:e=>j(`/attachments/${encodeURIComponent(e)}`)})}function no(e){return Ea(e)}function ro(e){return Da(e)}function io(e){return Fa(e)}function ao(e){return{id:e.id,codexThreadId:null,projectId:e.projectId,projectlessCwd:e.projectlessCwd??null,title:e.title,modelSelection:Qa(e.modelSelection),runtimeMode:e.runtimeMode,interactionMode:e.interactionMode,session:e.session?eo(e.session):null,resumeState:e.resumeState??`resumed`,messages:e.messages.map(to),proposedPlans:e.proposedPlans.map(no),error:wa(e.session),createdAt:e.createdAt,archivedAt:e.archivedAt,pinnedAt:e.pinnedAt??null,updatedAt:e.updatedAt,latestTurn:e.latestTurn,goal:e.goal??null,pendingSourceProposedPlan:e.latestTurn?.sourceProposedPlan,parentThreadId:e.parentThreadId??null,branchSourceTurnId:e.branchSourceTurnId??null,branch:e.branch,worktreePath:e.worktreePath,tag:e.tag??null,turnDiffSummaries:e.checkpoints.map(ro),activities:io(e.activities)}}function oo(e){return La(e)}function so(e){return za(e)}function co(e,t){return e!==void 0&&e.id===t.id&&e.projectId===t.projectId&&e.projectlessCwd===t.projectlessCwd&&e.title===t.title&&e.modelProvider===t.modelProvider&&e.interactionMode===t.interactionMode&&e.session===t.session&&e.resumeState===t.resumeState&&e.createdAt===t.createdAt&&e.archivedAt===t.archivedAt&&e.pinnedAt===t.pinnedAt&&e.updatedAt===t.updatedAt&&e.latestTurn===t.latestTurn&&e.goal===t.goal&&e.parentThreadId===t.parentThreadId&&e.branch===t.branch&&e.worktreePath===t.worktreePath&&e.tag===t.tag&&e.latestUserMessageAt===t.latestUserMessageAt&&e.hasPendingApprovals===t.hasPendingApprovals&&e.hasPendingUserInput===t.hasPendingUserInput&&e.hasActionableProposedPlan===t.hasActionableProposedPlan}function lo(e,t,n){if(t===null)return e;let r=e[t]??Xa;return r.includes(n)?e:{...e,[t]:[...r,n]}}function uo(e,t,n){if(t===null)return e;let r=e[t]??Xa;if(!r.includes(n))return e;let i=r.filter(e=>e!==n);if(i.length===r.length)return e;if(i.length===0){let n={...e};return delete n[t],n}return{...e,[t]:i}}function fo(e){let t={};for(let n of e){if(n.projectId===null)continue;let e=t[n.projectId]??Xa;t[n.projectId]=[...e,n.id]}return t}function po(e){let t={};for(let[n,r]of e.entries())t[r.id]=n;return t}function mo(e){return Object.fromEntries(e.map(e=>[e.id,so(e)]))}function ho(e,t){if(!(t in e))return e;let n={...e};return delete n[t],n}function go(e,t){if(!t)return!1;let n=e.session?.orchestrationStatus??null;return Ga({localDispatch:t,phase:da(e.session??null),latestTurn:e.latestTurn,activities:e.activities,hasPendingApproval:n===`running`&&ri(e.activities).length>0,hasPendingUserInput:n===`running`&&ai(e.activities).length>0,threadError:e.error})}function _o(e,t){let n=e.updatedAt??e.createdAt,r=t.updatedAt??t.createdAt;return{...t,session:e.session,resumeState:e.resumeState,messages:e.messages,proposedPlans:e.proposedPlans,error:e.error,archivedAt:e.archivedAt,updatedAt:n>r?n:r,latestTurn:e.latestTurn,goal:e.goal??null,pendingSourceProposedPlan:e.pendingSourceProposedPlan,turnDiffSummaries:e.turnDiffSummaries,activities:e.activities}}function vo(e){return e===`error`?`error`:e===`missing`?`interrupted`:`completed`}function yo(e,t){if(e.sequence!==void 0&&t.sequence!==void 0){if(e.sequence!==t.sequence)return e.sequence-t.sequence}else if(e.sequence!==void 0)return 1;else if(t.sequence!==void 0)return-1;return e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)}function bo(e){let t=e.previous?.turnId===e.turnId?e.previous.sourceProposedPlan:e.sourceProposedPlan;return{turnId:e.turnId,state:e.state,requestedAt:e.requestedAt,startedAt:e.startedAt,completedAt:e.completedAt,assistantMessageId:e.assistantMessageId,...t?{sourceProposedPlan:t}:{}}}function xo(e,t,n){let r=!1,i=e.map(e=>e.turnId!==t||e.assistantMessageId===n?e:(r=!0,{...e,assistantMessageId:n??void 0}));return r?i:e}function So(e,t,n){let r=new Set;for(let n of e){if(n.role===`system`){r.add(n.id);continue}n.turnId!==void 0&&n.turnId!==null&&t.has(n.turnId)&&r.add(n.id)}let i=e.filter(e=>e.role===`user`&&r.has(e.id)).length,a=Math.max(0,n-i);if(a>0){let n=e.filter(e=>e.role===`user`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,a);for(let e of n)r.add(e.id)}let o=e.filter(e=>e.role===`assistant`&&r.has(e.id)).length,s=Math.max(0,n-o);if(s>0){let n=e.filter(e=>e.role===`assistant`&&!r.has(e.id)&&(e.turnId===void 0||e.turnId===null||t.has(e.turnId))).toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(0,s);for(let e of n)r.add(e.id)}return e.filter(e=>r.has(e.id))}function Co(e,t){return io(e.filter(e=>e.turnId===null||t.has(e.turnId)))}function wo(e,t){return e.filter(e=>e.turnId===null||t.has(e.turnId))}function $(e,t,n,r=(e,t)=>so(t)){let i=e.threadIndexById[t];if(i===void 0)return e;let a=e.threads[i];if(!a)return e;let o=n(a);if(o===a)return e;let s=[...e.threads];s[i]=o;let c=e.pendingThreadDispatchById[t],l=go(o,c)?ho(e.pendingThreadDispatchById,t):e.pendingThreadDispatchById,u=e.sidebarThreadsById[t],d=r(u,o),f=co(u,d)?e.sidebarThreadsById:{...e.sidebarThreadsById,[t]:d};return f===e.sidebarThreadsById&&l===e.pendingThreadDispatchById?{...e,threads:s}:{...e,threads:s,sidebarThreadsById:f,pendingThreadDispatchById:l}}function To(e,t,n){if(!e)return so(t);let r=n.role===`user`&&(e.latestUserMessageAt===null||n.createdAt>e.latestUserMessageAt)?n.createdAt:e.latestUserMessageAt;return{...e,updatedAt:t.updatedAt,latestTurn:t.latestTurn,latestUserMessageAt:r,hasActionableProposedPlan:di(li(t.proposedPlans,t.latestTurn?.turnId??null))}}function Eo(e,t){let n=t.streaming?`${e.text}${t.text}`:t.text.length>0?t.text:e.text,r=t.streaming?e.completedAt:t.completedAt??e.completedAt,i=t.attachments===void 0?e.attachments:t.attachments;return n===e.text&&t.streaming===e.streaming&&t.turnId===e.turnId&&r===e.completedAt&&i===e.attachments?e:{...e,text:n,streaming:t.streaming,...t.turnId===void 0?{}:{turnId:t.turnId},...r===void 0?{}:{completedAt:r},...i===void 0?{}:{attachments:i}}}function Do(e,t){let n=e.length-1,r=n>=0?e[n]:void 0;if(r?.id===t.id){let i=Eo(r,t);if(i===r)return e;let a=[...e];return a[n]=i,a}let i=e.findIndex(e=>e.id===t.id);if(i<0)return[...e,t];let a=e[i];if(!a)return[...e,t];let o=Eo(a,t);if(o===a)return e;let s=[...e];return s[i]=o,s}function Oo(e,t){let n=Ua(t,{resolveAttachmentPreviewUrl:e=>j(`/attachments/${encodeURIComponent(e)}`)}),r=n.threads.reduce((t,n)=>{let r=e.pendingThreadDispatchById[n.id];return r&&go(n,r)?ho(t,n.id):t},e.pendingThreadDispatchById);return{...e,...n,pendingThreadDispatchById:r,bootstrapComplete:!0}}function ko(e,t){switch(t.type){case`project.created`:{let n=e.projects.findIndex(e=>e.id===t.payload.projectId||e.cwd===t.payload.workspaceRoot),r=n>=0?e.projects[n]:void 0,i=oo({id:t.payload.projectId,title:t.payload.title,workspaceRoot:t.payload.workspaceRoot,defaultModelSelection:t.payload.defaultModelSelection,scripts:t.payload.scripts,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,deletedAt:null}),a=n>=0?e.projects.map((e,t)=>t===n?i:e):[i,...e.projects];if(!r||r.id===i.id||r.cwd!==i.cwd)return{...e,projects:a};let o=e.threads.map(e=>e.projectId===r.id?{...e,projectId:i.id}:e);return{...e,projects:a,threads:o,threadIndexById:po(o),sidebarThreadsById:mo(o),threadIdsByProjectId:fo(o)}}case`project.meta-updated`:{let n=Za(e.projects,t.payload.projectId,e=>({...e,...t.payload.title===void 0?{}:{name:pa(t.payload.title)},...t.payload.workspaceRoot===void 0?{}:{cwd:t.payload.workspaceRoot},...t.payload.defaultModelSelection===void 0?{}:{defaultModelSelection:t.payload.defaultModelSelection?Qa(t.payload.defaultModelSelection):null},...t.payload.scripts===void 0?{}:{scripts:$a(t.payload.scripts)},updatedAt:t.payload.updatedAt}));return n===e.projects?e:{...e,projects:n}}case`project.deleted`:{let n=e.projects.filter(e=>e.id!==t.payload.projectId);return n.length===e.projects.length?e:{...e,projects:n}}case`thread.created`:{let n=e.threads.find(e=>e.id===t.payload.threadId),r=ao({id:t.payload.threadId,projectId:t.payload.projectId,projectlessCwd:t.payload.projectlessCwd??null,title:t.payload.title,modelSelection:t.payload.modelSelection,runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,parentThreadId:t.payload.parentThreadId??null,branchSourceTurnId:t.payload.branchSourceTurnId??null,branch:t.payload.branch,worktreePath:t.payload.worktreePath,tag:t.payload.tag??null,resumeState:`resumed`,latestTurn:null,goal:null,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt,pinnedAt:t.payload.pinnedAt??null,archivedAt:null,deletedAt:null,messages:[],proposedPlans:[],activities:[],checkpoints:[],session:null}),i=n===void 0?r:_o(n,r),a=n?e.threads.map(e=>e.id===i.id?i:e):[...e.threads,i],o=so(i),s=e.sidebarThreadsById[i.id],c=co(s,o)?e.sidebarThreadsById:{...e.sidebarThreadsById,[i.id]:o},l=lo(n!==void 0&&n.projectId!==i.projectId?uo(e.threadIdsByProjectId,n.projectId,n.id):e.threadIdsByProjectId,i.projectId,i.id);return{...e,threads:a,threadIndexById:po(a),sidebarThreadsById:c,threadIdsByProjectId:l}}case`thread.deleted`:{let n=e.threads.filter(e=>e.id!==t.payload.threadId);if(n.length===e.threads.length)return e;let r=e.threads.find(e=>e.id===t.payload.threadId),i={...e.sidebarThreadsById};delete i[t.payload.threadId];let a=ho(e.pendingThreadDispatchById,t.payload.threadId),o=r?uo(e.threadIdsByProjectId,r.projectId,r.id):e.threadIdsByProjectId;return{...e,threads:n,threadIndexById:po(n),sidebarThreadsById:i,threadIdsByProjectId:o,pendingThreadDispatchById:a}}case`thread.archived`:return $(e,t.payload.threadId,e=>({...e,archivedAt:t.payload.archivedAt,updatedAt:t.payload.updatedAt}));case`thread.unarchived`:return $(e,t.payload.threadId,e=>({...e,archivedAt:null,updatedAt:t.payload.updatedAt}));case`thread.meta-updated`:return $(e,t.payload.threadId,e=>({...e,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.modelSelection===void 0?{}:{modelSelection:Qa(t.payload.modelSelection)},...t.payload.branch===void 0?{}:{branch:t.payload.branch},...t.payload.worktreePath===void 0?{}:{worktreePath:t.payload.worktreePath},...t.payload.tag===void 0?{}:{tag:t.payload.tag},...t.payload.pinnedAt===void 0?{}:{pinnedAt:t.payload.pinnedAt},updatedAt:t.payload.updatedAt}));case`thread.runtime-mode-set`:return $(e,t.payload.threadId,e=>({...e,runtimeMode:t.payload.runtimeMode,updatedAt:t.payload.updatedAt}));case`thread.interaction-mode-set`:return $(e,t.payload.threadId,e=>({...e,interactionMode:t.payload.interactionMode,updatedAt:t.payload.updatedAt}));case`thread.goal-updated`:return $(e,t.payload.threadId,e=>({...e,goal:t.payload.goal,updatedAt:t.payload.goal.updatedAt}));case`thread.goal-cleared`:return $(e,t.payload.threadId,e=>({...e,goal:null,updatedAt:t.payload.clearedAt}));case`thread.turn-start-requested`:return $(e,t.payload.threadId,e=>({...e,...t.payload.modelSelection===void 0?{}:{modelSelection:Qa(t.payload.modelSelection)},runtimeMode:t.payload.runtimeMode,interactionMode:t.payload.interactionMode,pendingSourceProposedPlan:t.payload.sourceProposedPlan,updatedAt:t.occurredAt}));case`thread.turn-steer-requested`:return $(e,t.payload.threadId,e=>({...e,updatedAt:t.occurredAt}));case`thread.turn-interrupt-requested`:return $(e,t.payload.threadId,e=>{let n=t.payload.turnId??e.session?.activeTurnId;if(n===void 0)return e;let r=e.latestTurn,i=r!==null&&r.turnId===n,a=e.session?.orchestrationStatus===`running`&&e.session.activeTurnId===n;return!i&&!a?e:{...e,latestTurn:i?bo({previous:r,turnId:n,state:`interrupted`,requestedAt:r.requestedAt,startedAt:r.startedAt??t.payload.createdAt,completedAt:r.completedAt??t.payload.createdAt,assistantMessageId:r.assistantMessageId}):r,session:a&&e.session?{...e.session,status:`ready`,orchestrationStatus:`interrupted`,activeTurnId:void 0,updatedAt:t.payload.createdAt}:e.session,updatedAt:t.occurredAt}});case`thread.message-sent`:return $(e,t.payload.threadId,e=>{let n=to({id:t.payload.messageId,role:t.payload.role,text:t.payload.text,...t.payload.attachments===void 0?{}:{attachments:t.payload.attachments},turnId:t.payload.turnId,streaming:t.payload.streaming,createdAt:t.payload.createdAt,updatedAt:t.payload.updatedAt}),r=Do(e.messages,n).slice(-qa),i=t.payload.role===`assistant`&&t.payload.turnId!==null?xo(e.turnDiffSummaries,t.payload.turnId,t.payload.messageId):e.turnDiffSummaries,a=t.payload.role===`assistant`&&t.payload.turnId!==null&&(e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId)?bo({previous:e.latestTurn,turnId:t.payload.turnId,state:t.payload.streaming?`running`:e.latestTurn?.state===`interrupted`?`interrupted`:e.latestTurn?.state===`error`?`error`:`completed`,requestedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.requestedAt:t.payload.createdAt,startedAt:e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.startedAt??t.payload.createdAt:t.payload.createdAt,sourceProposedPlan:e.pendingSourceProposedPlan,completedAt:t.payload.streaming?e.latestTurn?.turnId===t.payload.turnId?e.latestTurn.completedAt??null:null:t.payload.updatedAt,assistantMessageId:t.payload.messageId}):e.latestTurn;return{...e,messages:r,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}},(e,n)=>To(e,n,t.payload));case`thread.session-set`:return $(e,t.payload.threadId,e=>({...e,session:eo(t.payload.session),error:wa(t.payload.session),latestTurn:t.payload.session.status===`running`&&t.payload.session.activeTurnId!==null?bo({previous:e.latestTurn,turnId:t.payload.session.activeTurnId,state:`running`,requestedAt:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.requestedAt:t.payload.session.updatedAt,startedAt:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.startedAt??t.payload.session.updatedAt:t.payload.session.updatedAt,completedAt:null,assistantMessageId:e.latestTurn?.turnId===t.payload.session.activeTurnId?e.latestTurn.assistantMessageId:null,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn,updatedAt:t.occurredAt}));case`thread.resume-state-set`:return $(e,t.payload.threadId,e=>({...e,resumeState:t.payload.resumeState,updatedAt:t.occurredAt}));case`thread.session-stop-requested`:return $(e,t.payload.threadId,e=>e.session===null?e:{...e,session:{...e.session,status:`closed`,orchestrationStatus:`stopped`,activeTurnId:void 0,updatedAt:t.payload.createdAt},updatedAt:t.occurredAt});case`thread.proposed-plan-upserted`:return $(e,t.payload.threadId,e=>{let n=no(t.payload.proposedPlan),r=[...e.proposedPlans.filter(e=>e.id!==n.id),n].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt)||e.id.localeCompare(t.id)).slice(-Ya);return{...e,proposedPlans:r,updatedAt:t.occurredAt}});case`thread.turn-diff-completed`:return $(e,t.payload.threadId,e=>{let n=ro({turnId:t.payload.turnId,checkpointTurnCount:t.payload.checkpointTurnCount,checkpointRef:t.payload.checkpointRef,status:t.payload.status,files:t.payload.files,assistantMessageId:t.payload.assistantMessageId,completedAt:t.payload.completedAt}),r=e.turnDiffSummaries.find(e=>e.turnId===n.turnId);if(r&&r.status!==`missing`&&n.status===`missing`)return e;let i=[...e.turnDiffSummaries.filter(e=>e.turnId!==n.turnId),n].toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-Ja),a=e.latestTurn===null||e.latestTurn.turnId===t.payload.turnId?bo({previous:e.latestTurn,turnId:t.payload.turnId,state:vo(t.payload.status),requestedAt:e.latestTurn?.requestedAt??t.payload.completedAt,startedAt:e.latestTurn?.startedAt??t.payload.completedAt,completedAt:t.payload.completedAt,assistantMessageId:t.payload.assistantMessageId,sourceProposedPlan:e.pendingSourceProposedPlan}):e.latestTurn;return{...e,turnDiffSummaries:i,latestTurn:a,updatedAt:t.occurredAt}});case`thread.reverted`:return $(e,t.payload.threadId,e=>{let n=e.turnDiffSummaries.filter(e=>e.checkpointTurnCount!==void 0&&e.checkpointTurnCount<=t.payload.turnCount).toSorted((e,t)=>(e.checkpointTurnCount??2**53-1)-(t.checkpointTurnCount??2**53-1)).slice(-Ja),r=new Set(n.map(e=>e.turnId)),i=So(e.messages,r,t.payload.turnCount).slice(-qa),a=wo(e.proposedPlans,r).slice(-Ya),o=Co(e.activities,r),s=n.at(-1)??null;return{...e,turnDiffSummaries:n,messages:i,proposedPlans:a,activities:o,pendingSourceProposedPlan:void 0,latestTurn:s===null?null:{turnId:s.turnId,state:vo(s.status??`ready`),requestedAt:s.completedAt,startedAt:s.completedAt,completedAt:s.completedAt,assistantMessageId:s.assistantMessageId??null},updatedAt:t.occurredAt}});case`thread.activity-appended`:return $(e,t.payload.threadId,e=>{let n=io([...e.activities.filter(e=>e.id!==t.payload.activity.id),{...t.payload.activity}].toSorted(yo));return{...e,activities:n,updatedAt:t.occurredAt}});case`thread.approval-response-requested`:case`thread.user-input-response-requested`:return e}return e}function Ao(e,t){return t.length===0?e:t.reduce((e,t)=>ko(e,t),e)}var jo=e=>t=>e?t.projects.find(t=>t.id===e):void 0,Mo=e=>t=>e==null?void 0:t.threads[t.threadIndexById[e]??-1],No=e=>t=>e?t.sidebarThreadsById[e]:void 0;function Po(e,t,n){return $(e,t,e=>e.error===n?e:{...e,error:n})}function Fo(e,t,n,r){return $(e,t,e=>{if(e.branch===n&&e.worktreePath===r)return e;let t=e.worktreePath!==r;return{...e,branch:n,worktreePath:r,...t?{session:null}:{}}})}var Io=N(e=>({...Ka,syncServerReadModel:t=>e(e=>Oo(e,t)),applyOrchestrationEvent:t=>e(e=>ko(e,t)),applyOrchestrationEvents:t=>e(e=>Ao(e,t)),restoreThread:t=>e(e=>{let n=e.threadIndexById[t.id]===void 0?[...e.threads,t]:e.threads.map(e=>e.id===t.id?t:e),r=so(t),i={...e.sidebarThreadsById,[t.id]:r};return{...e,threads:n,threadIndexById:po(n),sidebarThreadsById:i,threadIdsByProjectId:lo(e.threadIdsByProjectId,t.projectId,t.id)}}),setError:(t,n)=>e(e=>Po(e,t,n)),setThreadBranch:(t,n,r)=>e(e=>Fo(e,t,n,r)),beginPendingThreadDispatch:(t,n)=>e(e=>{let r=e.pendingThreadDispatchById[t];return r===n||r&&r.startedAt===n.startedAt&&r.preparingWorktree===n.preparingWorktree&&r.latestTurnTurnId===n.latestTurnTurnId&&r.latestTurnRequestedAt===n.latestTurnRequestedAt&&r.latestTurnStartedAt===n.latestTurnStartedAt&&r.latestTurnCompletedAt===n.latestTurnCompletedAt?e:{...e,pendingThreadDispatchById:{...e.pendingThreadDispatchById,[t]:n}}}),clearPendingThreadDispatch:t=>e(e=>{let n=ho(e.pendingThreadDispatchById,t);return n===e.pendingThreadDispatchById?e:{...e,pendingThreadDispatchById:n}})}));export{qn as $,Ir as A,at as At,Dr as B,tt as Bt,Xr as C,ut as Ct,Qr as D,pt as Dt,ua as E,ft as Et,Mr as F,Ze as Ft,ar as G,Ce as Gt,Tr as H,Ve as Ht,Ar as I,Ke as It,or as J,xe as Jt,nr as K,Se as Kt,kr as L,Qe as Lt,Nr as M,$e as Mt,Pr as N,et as Nt,Zr as O,ht as Ot,jr as P,Ge as Pt,er as Q,Or as R,Xe as Rt,ui as S,ot as St,Ji as T,dt as Tt,X as U,L as Ut,Er as V,Ye as Vt,K as W,Le as Wt,Qn as X,be as Xt,sr as Y,ge as Yt,$n as Z,ve as Zt,ta as _,It as _t,Wa as a,Dn as at,fi as b,st as bt,fa as c,jn as ct,ci as d,bt as dt,Hn as et,$r as f,wt as ft,da as g,Lt as gt,ai as h,yt as ht,Io as i,Nn as it,Fr as j,rt as jt,sa as k,mt as kt,qr as l,Ot as lt,ri as m,Ft as mt,No as n,Pn as nt,Ga as o,kn as ot,la as p,Ct as pt,ir as q,we as qt,Mo as r,Mn as rt,pa as s,An as st,jo as t,Bn as tt,oi as u,At as ut,na as v,it as vt,di as w,V as wt,li as x,ct as xt,ca as y,lt as yt,wr as z,Je as zt};
12
- //# sourceMappingURL=store-KYb5gyLf.js.map
12
+ //# sourceMappingURL=store-BzqS7zm8.js.map