@openchambery/web 2.1.6-beta.6 → 2.1.6-beta.7

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 (43) hide show
  1. package/dist/assets/{AssistantView-6x876MsF.js → AssistantView-BAn7c1j0.js} +3 -3
  2. package/dist/assets/{DiagramView-DrZigobH.js → DiagramView-CcT2y7La.js} +1 -1
  3. package/dist/assets/{MarkdownRenderer-BgEm-_yw.js → MarkdownRenderer-DVE7BXyU.js} +2 -2
  4. package/dist/assets/{MarkdownRendererImpl-pdTb-oQC.js → MarkdownRendererImpl-BoidX86O.js} +1 -1
  5. package/dist/assets/{MarkstreamRendererImpl-OWmeMYDf.js → MarkstreamRendererImpl-B8MznUfR.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-CuRszZM_.js → MobileDetailNavigation-BB2hRMes.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-CCoT00Ew.js → MobileShareBridge-DmY_F56w.js} +1 -1
  8. package/dist/assets/{MobileTabPageHeader-DViceEtF.js → MobileTabPageHeader-wyNSBINq.js} +1 -1
  9. package/dist/assets/{MultiRunWindow-D-VEzIPz.js → MultiRunWindow-CQdG8Sjp.js} +1 -1
  10. package/dist/assets/{SettingsView-F0rWygmN.js → SettingsView-CpA3P8Hj.js} +1 -1
  11. package/dist/assets/{SettingsWindow-Ddc2m3jz.js → SettingsWindow-MxNLysXf.js} +1 -1
  12. package/dist/assets/{TerminalView-1CAr8eS7.js → TerminalView-Bc1rQTuK.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-Da3i_YEq.js → ToolOutputDialog-0MzoUb8d.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-DWSGe1yp.js → appThemeRegistry-DuusPsuR.js} +1 -1
  15. package/dist/assets/{fileMentionTouchSelection-pm-K3d1E.js → fileMentionTouchSelection-zYNvEOA7.js} +1 -1
  16. package/dist/assets/{gitApi-DnJ7cOV6.js → gitApi-k8hCwYqu.js} +1 -1
  17. package/dist/assets/{insertionBoundaries-DZE8b22Y.js → insertionBoundaries-D2KDgrS0.js} +1 -1
  18. package/dist/assets/{main-BDgDYAf5.js → main-CDLieC0x.js} +4 -4
  19. package/dist/assets/{main-BET9mrfn.js → main-rsLnx-58.js} +2 -2
  20. package/dist/assets/{mcpQueries-BHUpFfJN.js → mcpQueries-DxtC14uJ.js} +1 -1
  21. package/dist/assets/{miniChat-Dgtznflo.js → miniChat-_WMT0ocE.js} +2 -2
  22. package/dist/assets/{mobile-BU1sv3Iy.js → mobile-DlsyRhzT.js} +2 -2
  23. package/dist/assets/{multirun-Con0kqvH.js → multirun-TuZ84E4i.js} +1 -1
  24. package/dist/assets/{projectMeta-DjqbA9mt.js → projectMeta-CRGyp6h1.js} +1 -1
  25. package/dist/assets/{renderElectronMiniChatApp-DJpkkxuR.js → renderElectronMiniChatApp-CcwM2ERi.js} +2 -2
  26. package/dist/assets/{renderMobileApp-Drm-pwtN.js → renderMobileApp-Ci90vrGl.js} +4 -4
  27. package/dist/assets/{runtimeConfig-CPssH7z1.js → runtimeConfig-DnxTxkDG.js} +1 -1
  28. package/dist/assets/{runtimeEndpointReset-DWOa8aee.js → runtimeEndpointReset-DLwrJ8o6.js} +1 -1
  29. package/dist/assets/sessionChangeSummary-DjTq4ZTb.js +2 -0
  30. package/dist/assets/sessionChangeSummary-vC84qM3v.css +1 -0
  31. package/dist/assets/{sessionLookup-DrhEF54c.js → sessionLookup-ai7V-fcR.js} +1 -1
  32. package/dist/assets/{speechSettingsQueries-Djxu09uM.js → speechSettingsQueries-GUD7hwQt.js} +1 -1
  33. package/dist/assets/{useAppFontEffects-CIqu60Nx.js → useAppFontEffects-ADlv1hDy.js} +5 -5
  34. package/dist/assets/{useDesktopWindowControlsLayout-DA98Miq8.js → useDesktopWindowControlsLayout-D63tZVkG.js} +1 -1
  35. package/dist/assets/{useEffectiveDirectory-I_mgEcd7.js → useEffectiveDirectory-DSPgEsnp.js} +1 -1
  36. package/dist/assets/{useMobileNavigationStore-BeUkwRP3.js → useMobileNavigationStore-CaaSJtom.js} +3 -3
  37. package/dist/assets/{useWorkerHighlightedLines-DS0imjh2.js → useWorkerHighlightedLines-D6B2J_UI.js} +1 -1
  38. package/dist/index.html +2 -2
  39. package/dist/mini-chat.html +2 -2
  40. package/dist/mobile.html +2 -2
  41. package/package.json +1 -1
  42. package/dist/assets/sessionChangeSummary-DIpbRdgy.js +0 -2
  43. package/dist/assets/sessionChangeSummary-DiYJ_5oO.css +0 -1
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./runtime-fetch-QCWYlAx0.js";import{Mn as n,ln as r}from"./persistence-DUPZl7Oy.js";import{it as i,rt as a}from"./vendor-base-ui-CdzJ6My_.js";import{n as o}from"./platform-z2erC6Bs.js";import{v as s}from"./useUIStore-pl39iO82.js";import{n as c}from"./vendor-react-BP2cRVqX.js";import{a as l,n as u}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{f as d,r as f,t as p}from"./button-kJNzMb1G.js";import{n as m}from"./useThemeSystem-8jhE4Zyk.js";import{n as h}from"./Icon-DewMAW7N.js";import{i as g,n as _,t as v}from"./tooltip-B3eYZnNS.js";import{a as y,i as b,o as x,t as S}from"./image-loading-BilWo6nu.js";import{n as C}from"./MarkdownRenderer-BgEm-_yw.js";import{n as w,o as T,s as E,t as D}from"./markdown-worker-DFNZ3KJ_.js";import{n as ee}from"./markdownTheme-CV7_0QAL.js";import{t as te}from"./vendor-tanstack-react-virtual-B_EO--9t.js";var O=e(i(),1),k=c(),A=a(),ne=`w-[min(30rem,calc(100cqw-1rem))] min-w-[280px] max-w-full overflow-hidden rounded-xl shadow-[inset_0_1px_0_0_rgba(255,255,255,0.8),inset_0_0_0_1px_rgba(0,0,0,0.04),0_0_0_1px_rgba(0,0,0,0.10),0_1px_2px_-0.5px_rgba(0,0,0,0.08),0_4px_8px_-2px_rgba(0,0,0,0.08),0_12px_20px_-4px_rgba(0,0,0,0.08)] dark:shadow-[inset_0_1px_0_0_rgba(255,255,255,0.12),inset_0_0_0_1px_rgba(255,255,255,0.08),0_0_0_1px_rgba(0,0,0,0.36),0_1px_1px_-0.5px_rgba(0,0,0,0.22),0_3px_3px_-1.5px_rgba(0,0,0,0.20),0_6px_6px_-3px_rgba(0,0,0,0.16)]`,j={maxWidth:`min(28rem, calc(100cqw - 4ch))`,backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`},M=`flex items-center justify-between gap-3 border-b border-[var(--surface-subtle)] px-3 py-2.5`,N=`text-xs font-medium leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,re=`text-xs tabular-nums leading-4 text-muted-foreground md:text-[0.8125rem] md:leading-5`,P=`m-0 list-none divide-y divide-[var(--surface-subtle)] p-0`,F=`${P} max-h-[min(22rem,50vh)] overflow-y-auto`,ie=`${P} w-full`,ae={className:`p-0 rounded-none`,maxHeightClass:`max-h-[46vh]`,disableHorizontal:!0},I=`px-2.5 py-1.5 text-xs leading-4 md:py-2 md:text-[0.8125rem] md:leading-5`,oe=`flex min-w-0 items-center gap-1 text-xs leading-4 text-muted-foreground md:gap-1.5 md:text-[0.8125rem] md:leading-5`,se=`min-w-0 truncate text-xs leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,ce=`inline-flex shrink-0 items-center gap-1 text-xs leading-4 tabular-nums text-muted-foreground md:text-[0.8125rem] md:leading-5`,le=`h-3 w-3 shrink-0 md:h-3.5 md:w-3.5`,ue={in_progress:`text-foreground`,pending:`text-foreground`,completed:`text-muted-foreground line-through`,cancelled:`text-muted-foreground line-through`},L={in_progress:`chat.statusRow.todo.status.inProgress`,pending:`chat.statusRow.todo.status.pending`,completed:`chat.statusRow.todo.status.completed`,cancelled:`chat.statusRow.todo.status.cancelled`},R=e=>{let t=(0,k.c)(26),{todo:n,isActive:r,activeRef:i}=e,{t:a}=d(),o=z.has(n.status)?n.status:`pending`,s=L[o],c;t[0]!==a||t[1]!==s?(c=a(s),t[0]=a,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===o?u=t[4]:(u=o===`in_progress`?(0,A.jsx)(h,{name:`record-circle`,className:`h-3.5 w-3.5 text-[var(--status-info)]`,"aria-hidden":`true`}):o===`completed`?(0,A.jsx)(h,{name:`checkbox-circle`,className:`h-3.5 w-3.5 text-[var(--status-success)]`,"aria-hidden":`true`}):(0,A.jsx)(h,{name:`time`,className:`h-3.5 w-3.5 text-muted-foreground`,"aria-hidden":`true`}),t[3]=o,t[4]=u);let p=u,m=r?`step`:void 0,y=r&&`bg-[var(--surface-muted)] before:absolute before:inset-y-2 before:left-0 before:w-0.5 before:rounded-full before:bg-[var(--status-info)]`,b;t[5]===y?b=t[6]:(b=f(`group relative grid min-w-0 grid-cols-[1rem_minmax(0,1fr)] items-start gap-2.5`,I,y),t[5]=y,t[6]=b);let x;t[7]!==p||t[8]!==l?(x=(0,A.jsx)(g,{asChild:!0,children:(0,A.jsx)(`span`,{className:`flex size-4 items-center justify-center`,"aria-label":l,children:p})}),t[7]=p,t[8]=l,t[9]=x):x=t[9];let S;t[10]===l?S=t[11]:(S=(0,A.jsx)(_,{side:`left`,sideOffset:6,children:l}),t[10]=l,t[11]=S);let C;t[12]!==x||t[13]!==S?(C=(0,A.jsxs)(v,{children:[x,S]}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w=ue[o],T;t[15]===w?T=t[16]:(T=f(`block whitespace-normal break-words`,w),t[15]=w,t[16]=T);let E;t[17]!==T||t[18]!==n.content?(E=(0,A.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,A.jsx)(`span`,{className:T,children:n.content})}),t[17]=T,t[18]=n.content,t[19]=E):E=t[19];let D;return t[20]!==i||t[21]!==E||t[22]!==m||t[23]!==b||t[24]!==C?(D=(0,A.jsxs)(`li`,{ref:i,"aria-current":m,className:b,children:[C,E]}),t[20]=i,t[21]=E,t[22]=m,t[23]=b,t[24]=C,t[25]=D):D=t[25],D},z=new Set([`in_progress`,`pending`,`completed`,`cancelled`]),B=`image/png`,V=l(`OpenChamberMedia`),H=e=>{let t=e.toLowerCase().split(`;`)[0]?.trim()||B;if(t===`image/jpeg`||t===`image/jpg`)return`jpg`;if(t===`image/webp`)return`webp`;if(t===`image/gif`)return`gif`;if(t===`image/svg+xml`)return`svg`;if(t===`image/png`)return`png`;let n=t.split(`/`)[1];return n&&/^[a-z0-9.+-]+$/i.test(n)?n:`png`},U=(e,t)=>{let n=`image.${H(t)}`,r=(((e||``).trim()||n).split(/[\\/]/).pop()||n).replace(/[^\w.\- ()[\]]+/g,`_`).replace(/^\.+/,``);return r?/\.[a-z0-9]{1,8}$/i.test(r)?r:`${r}.${H(t)}`:n},W=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{if(typeof r.result==`string`){t(r.result);return}n(Error(`Failed to encode image`))},r.onerror=()=>n(r.error??Error(`Failed to encode image`)),r.readAsDataURL(e)}),de=async e=>{let t=await W(e),n=t.indexOf(`,`);return n>=0?t.slice(n+1):t},fe=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)},G=async(e,t)=>{let n=await fetch(e,{signal:t,cache:`no-store`});if(!n.ok)throw Error(`Image fetch failed (${n.status})`);return n.blob()},pe=async(e,t=B)=>{if(!e.naturalWidth||!e.naturalHeight)return null;let n=e.currentSrc||e.src;if(n&&(/^(?:blob:|data:|openchamber-asset:)/i.test(n)||/^https?:/i.test(n)||/^\/api(?=\/|[?#]|$)/.test(n)))try{let e=await G(n);if(e.size>0)return e}catch{}try{let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`);if(!r)return null;r.drawImage(e,0,0);let i=t.startsWith(`image/`)?t:B,a=await new Promise(e=>{n.toBlob(t=>e(t),i===`image/jpg`?`image/jpeg`:i)});return a&&a.size>0?a:null}catch{return null}},me=async(e,t)=>{let n=``;try{return n=await S(e,t??new AbortController().signal),await G(n,t)}finally{n&&y(n)}},he=async(e,n)=>{let r=e.effectiveDirectory??``,i=null;e.prefetchedBlob&&e.prefetchedBlob.size>0&&(i=e.prefetchedBlob);let a=e.displayUrl?.trim();if(!i&&a)try{i=await G(a,n)}catch{i=null}if(!i){let a=e.sourceUrl.trim();if(!a)throw Error(`Image source is empty`);if(/^(?:data|blob):/i.test(a)||/^https?:/i.test(a)||/^\/api(?=\/|[?#]|$)/.test(a))i=await G(a,n);else{let e=x(a,r);if(b(e))try{i=await me(e.path,n)}catch{let r=await t(`/api/fs/raw`,{method:`GET`,cache:`no-store`,query:{path:e.path},signal:n});if(!r.ok)throw Error(`Image source request failed with status ${r.status}`);i=await r.blob()}else i=await G(e.source,n)}}if(!i||i.size<=0)throw Error(`Image is empty`);let o=(e.mimeType||(i.type&&i.type.startsWith(`image/`)?i.type:``)||B).split(`;`)[0].trim()||B;return{blob:i,filename:U(e.filename,o),mimeType:o}},ge=()=>!o()||u===void 0?!1:u.isPluginAvailable(`OpenChamberMedia`),_e=async(e,t)=>{let{blob:i,filename:a,mimeType:o}=await he(e,t);if(ge()){let e=await de(i);return await V.saveImage({dataBase64:e,mimeType:o,filename:a}),`saved`}if(r()){let e=n()?.vscode;if(e?.saveImage){let t=await W(i);return await e.saveImage({fileName:a,dataUrl:t}),`saved`}}return fe(i,a),`downloaded`},ve=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`),ye=e=>e?Object.entries(e).map(([e,t])=>t==null?``:`${e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}:${typeof t==`number`?`${t}px`:t};`).join(``):``,K=(e,t,n)=>{let r=e.querySelector(`pre`);r&&(r.style.margin=`0`,r.style.background=`transparent`,r.style.whiteSpace=t?`pre-wrap`:`pre`,t&&(r.style.wordBreak=`break-word`,r.style.overflowWrap=`break-word`));let i=e.querySelector(`code`);if(i){let e=ye(n);e&&i.setAttribute(`style`,`${i.getAttribute(`style`)??``}${e}`)}},be=e=>`<pre><code>${ve(e)}</code></pre>`,xe=e=>{let t=(0,k.c)(21),{code:n,language:r,className:i,style:a,codeStyle:o,wrap:s}=e,c=s!==void 0&&s,{currentTheme:l}=m(),u=O.useRef(null),d;t[0]===l?d=t[1]:(d=ee(l),t[0]=l,t[1]=d);let p=d,h,g;t[2]!==n||t[3]!==o||t[4]!==c?(h=()=>{let e=u.current;e&&(e.innerHTML=be(n),K(e,c,o))},g=[n,c,o],t[2]=n,t[3]=o,t[4]=c,t[5]=h,t[6]=g):(h=t[5],g=t[6]),O.useLayoutEffect(h,g);let _,v;t[7]!==n||t[8]!==o||t[9]!==r||t[10]!==c?(_=()=>{let e=u.current;if(!e)return;let t=!0,i=new AbortController;return D(n,(r||`text`).toLowerCase(),{signal:i.signal,priority:`visible`}).then(n=>{!t||!e||!n||(e.innerHTML=n,K(e,c,o))}),()=>{t=!1,i.abort()}},v=[n,r,c,o],t[7]=n,t[8]=o,t[9]=r,t[10]=c,t[11]=_,t[12]=v):(_=t[11],v=t[12]),O.useEffect(_,v);let y;t[13]===i?y=t[14]:(y=f(`typography-code`,i),t[13]=i,t[14]=y);let b=p,x;t[15]!==a||t[16]!==b?(x={...b,...a},t[15]=a,t[16]=b,t[17]=x):x=t[17];let S;return t[18]!==y||t[19]!==x?(S=(0,A.jsx)(`div`,{ref:u,className:y,style:x}),t[18]=y,t[19]=x,t[20]=S):S=t[20],S},Se=e=>{let t=e.replace(/^<file>\s*\n?/,``).replace(/\n?<\/file>\s*$/,``);return t=t.replace(/^\s*\d{5}\|\s?/gm,``),t.trim()},Ce=(e,t=``)=>{if(typeof e==`string`)return e;if(e==null)return t;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);try{return JSON.stringify(e)}catch{return t}},we=e=>e?e.includes(`<diagnostics`)||e.includes(`<file_diagnostics>`)||e.includes(`LSP errors detected`)||e.includes(`This file has errors`):!1,Te=e=>e?e.replace(/\n{0,2}LSP errors detected[\s\S]*?<diagnostics[^>]*>[\s\S]*?<\/diagnostics>/g,``).replace(/\n{0,2}This file has errors[\s\S]*?<\/file_diagnostics>/g,``).replace(/<diagnostics[^>]*>[\s\S]*?<\/diagnostics>/g,``).replace(/<file_diagnostics>[\s\S]*?<\/file_diagnostics>/g,``).trim():``,Ee=(e,t)=>!e||typeof e!=`object`?String(e):E(e,t||``),q=e=>{if(typeof e==`string`){let t=e.trim();return t.length>0?t:void 0}if(e&&typeof e==`object`){let t=e.patch;if(typeof t==`string`){let e=t.trim();return e.length>0?e:void 0}}},De=e=>{if(!e||typeof e!=`object`)return;let t=q(e.patch)??q(e.diff);if(t)return t;let n=Array.isArray(e.files)?e.files:[];for(let e of n){if(!e||typeof e!=`object`)continue;let t=q(e.patch)??q(e.diff);if(t)return t}},Oe=e=>{if(!e||typeof e!=`string`)return{data:null,isJson:!1};let t=e.trim();if(!t.startsWith(`{`)&&!t.startsWith(`[`)||!t.endsWith(`}`)&&!t.endsWith(`]`)||t.length<2)return{data:null,isJson:!1};try{let e=JSON.parse(t);return typeof e==`object`&&e?{data:e,isJson:!0}:{data:null,isJson:!1}}catch{return{data:null,isJson:!1}}},ke=(e,t,n)=>{let r=Se(e);if((t===`edit`||t===`multiedit`||t===`write`||t===`apply_patch`)&&we(r)&&(r=Te(r)),(t===`edit`||t===`multiedit`||t===`apply_patch`)&&r.trim().length===0){let e=De(n);if(e)return e}return r},Ae=e=>{let t=e.match(/<type>(file|directory)<\/type>/i)?.[1]?.toLowerCase()??`unknown`,n=(e.match(/<content>([\s\S]*?)<\/content>/i)?.[1]??e).replace(/\r\n/g,`
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./runtime-fetch-QCWYlAx0.js";import{Mn as n,ln as r}from"./persistence-DUPZl7Oy.js";import{it as i,rt as a}from"./vendor-base-ui-CdzJ6My_.js";import{n as o}from"./platform-z2erC6Bs.js";import{v as s}from"./useUIStore-pl39iO82.js";import{n as c}from"./vendor-react-BP2cRVqX.js";import{a as l,n as u}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{f as d,r as f,t as p}from"./button-kJNzMb1G.js";import{n as m}from"./useThemeSystem-8jhE4Zyk.js";import{n as h}from"./Icon-DewMAW7N.js";import{i as g,n as _,t as v}from"./tooltip-B3eYZnNS.js";import{a as y,i as b,o as x,t as S}from"./image-loading-BilWo6nu.js";import{n as C}from"./MarkdownRenderer-DVE7BXyU.js";import{n as w,o as T,s as E,t as D}from"./markdown-worker-DFNZ3KJ_.js";import{n as ee}from"./markdownTheme-CV7_0QAL.js";import{t as te}from"./vendor-tanstack-react-virtual-B_EO--9t.js";var O=e(i(),1),k=c(),A=a(),ne=`w-[min(30rem,calc(100cqw-1rem))] min-w-[280px] max-w-full overflow-hidden rounded-xl shadow-[inset_0_1px_0_0_rgba(255,255,255,0.8),inset_0_0_0_1px_rgba(0,0,0,0.04),0_0_0_1px_rgba(0,0,0,0.10),0_1px_2px_-0.5px_rgba(0,0,0,0.08),0_4px_8px_-2px_rgba(0,0,0,0.08),0_12px_20px_-4px_rgba(0,0,0,0.08)] dark:shadow-[inset_0_1px_0_0_rgba(255,255,255,0.12),inset_0_0_0_1px_rgba(255,255,255,0.08),0_0_0_1px_rgba(0,0,0,0.36),0_1px_1px_-0.5px_rgba(0,0,0,0.22),0_3px_3px_-1.5px_rgba(0,0,0,0.20),0_6px_6px_-3px_rgba(0,0,0,0.16)]`,j={maxWidth:`min(28rem, calc(100cqw - 4ch))`,backgroundColor:`var(--surface-elevated)`,color:`var(--surface-elevated-foreground)`},M=`flex items-center justify-between gap-3 border-b border-[var(--surface-subtle)] px-3 py-2.5`,N=`text-xs font-medium leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,re=`text-xs tabular-nums leading-4 text-muted-foreground md:text-[0.8125rem] md:leading-5`,P=`m-0 list-none divide-y divide-[var(--surface-subtle)] p-0`,F=`${P} max-h-[min(22rem,50vh)] overflow-y-auto`,ie=`${P} w-full`,ae={className:`p-0 rounded-none`,maxHeightClass:`max-h-[46vh]`,disableHorizontal:!0},I=`px-2.5 py-1.5 text-xs leading-4 md:py-2 md:text-[0.8125rem] md:leading-5`,oe=`flex min-w-0 items-center gap-1 text-xs leading-4 text-muted-foreground md:gap-1.5 md:text-[0.8125rem] md:leading-5`,se=`min-w-0 truncate text-xs leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,ce=`inline-flex shrink-0 items-center gap-1 text-xs leading-4 tabular-nums text-muted-foreground md:text-[0.8125rem] md:leading-5`,le=`h-3 w-3 shrink-0 md:h-3.5 md:w-3.5`,ue={in_progress:`text-foreground`,pending:`text-foreground`,completed:`text-muted-foreground line-through`,cancelled:`text-muted-foreground line-through`},L={in_progress:`chat.statusRow.todo.status.inProgress`,pending:`chat.statusRow.todo.status.pending`,completed:`chat.statusRow.todo.status.completed`,cancelled:`chat.statusRow.todo.status.cancelled`},R=e=>{let t=(0,k.c)(26),{todo:n,isActive:r,activeRef:i}=e,{t:a}=d(),o=z.has(n.status)?n.status:`pending`,s=L[o],c;t[0]!==a||t[1]!==s?(c=a(s),t[0]=a,t[1]=s,t[2]=c):c=t[2];let l=c,u;t[3]===o?u=t[4]:(u=o===`in_progress`?(0,A.jsx)(h,{name:`record-circle`,className:`h-3.5 w-3.5 text-[var(--status-info)]`,"aria-hidden":`true`}):o===`completed`?(0,A.jsx)(h,{name:`checkbox-circle`,className:`h-3.5 w-3.5 text-[var(--status-success)]`,"aria-hidden":`true`}):(0,A.jsx)(h,{name:`time`,className:`h-3.5 w-3.5 text-muted-foreground`,"aria-hidden":`true`}),t[3]=o,t[4]=u);let p=u,m=r?`step`:void 0,y=r&&`bg-[var(--surface-muted)] before:absolute before:inset-y-2 before:left-0 before:w-0.5 before:rounded-full before:bg-[var(--status-info)]`,b;t[5]===y?b=t[6]:(b=f(`group relative grid min-w-0 grid-cols-[1rem_minmax(0,1fr)] items-start gap-2.5`,I,y),t[5]=y,t[6]=b);let x;t[7]!==p||t[8]!==l?(x=(0,A.jsx)(g,{asChild:!0,children:(0,A.jsx)(`span`,{className:`flex size-4 items-center justify-center`,"aria-label":l,children:p})}),t[7]=p,t[8]=l,t[9]=x):x=t[9];let S;t[10]===l?S=t[11]:(S=(0,A.jsx)(_,{side:`left`,sideOffset:6,children:l}),t[10]=l,t[11]=S);let C;t[12]!==x||t[13]!==S?(C=(0,A.jsxs)(v,{children:[x,S]}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w=ue[o],T;t[15]===w?T=t[16]:(T=f(`block whitespace-normal break-words`,w),t[15]=w,t[16]=T);let E;t[17]!==T||t[18]!==n.content?(E=(0,A.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,A.jsx)(`span`,{className:T,children:n.content})}),t[17]=T,t[18]=n.content,t[19]=E):E=t[19];let D;return t[20]!==i||t[21]!==E||t[22]!==m||t[23]!==b||t[24]!==C?(D=(0,A.jsxs)(`li`,{ref:i,"aria-current":m,className:b,children:[C,E]}),t[20]=i,t[21]=E,t[22]=m,t[23]=b,t[24]=C,t[25]=D):D=t[25],D},z=new Set([`in_progress`,`pending`,`completed`,`cancelled`]),B=`image/png`,V=l(`OpenChamberMedia`),H=e=>{let t=e.toLowerCase().split(`;`)[0]?.trim()||B;if(t===`image/jpeg`||t===`image/jpg`)return`jpg`;if(t===`image/webp`)return`webp`;if(t===`image/gif`)return`gif`;if(t===`image/svg+xml`)return`svg`;if(t===`image/png`)return`png`;let n=t.split(`/`)[1];return n&&/^[a-z0-9.+-]+$/i.test(n)?n:`png`},U=(e,t)=>{let n=`image.${H(t)}`,r=(((e||``).trim()||n).split(/[\\/]/).pop()||n).replace(/[^\w.\- ()[\]]+/g,`_`).replace(/^\.+/,``);return r?/\.[a-z0-9]{1,8}$/i.test(r)?r:`${r}.${H(t)}`:n},W=e=>new Promise((t,n)=>{let r=new FileReader;r.onload=()=>{if(typeof r.result==`string`){t(r.result);return}n(Error(`Failed to encode image`))},r.onerror=()=>n(r.error??Error(`Failed to encode image`)),r.readAsDataURL(e)}),de=async e=>{let t=await W(e),n=t.indexOf(`,`);return n>=0?t.slice(n+1):t},fe=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.setTimeout(()=>URL.revokeObjectURL(n),1e3)},G=async(e,t)=>{let n=await fetch(e,{signal:t,cache:`no-store`});if(!n.ok)throw Error(`Image fetch failed (${n.status})`);return n.blob()},pe=async(e,t=B)=>{if(!e.naturalWidth||!e.naturalHeight)return null;let n=e.currentSrc||e.src;if(n&&(/^(?:blob:|data:|openchamber-asset:)/i.test(n)||/^https?:/i.test(n)||/^\/api(?=\/|[?#]|$)/.test(n)))try{let e=await G(n);if(e.size>0)return e}catch{}try{let n=document.createElement(`canvas`);n.width=e.naturalWidth,n.height=e.naturalHeight;let r=n.getContext(`2d`);if(!r)return null;r.drawImage(e,0,0);let i=t.startsWith(`image/`)?t:B,a=await new Promise(e=>{n.toBlob(t=>e(t),i===`image/jpg`?`image/jpeg`:i)});return a&&a.size>0?a:null}catch{return null}},me=async(e,t)=>{let n=``;try{return n=await S(e,t??new AbortController().signal),await G(n,t)}finally{n&&y(n)}},he=async(e,n)=>{let r=e.effectiveDirectory??``,i=null;e.prefetchedBlob&&e.prefetchedBlob.size>0&&(i=e.prefetchedBlob);let a=e.displayUrl?.trim();if(!i&&a)try{i=await G(a,n)}catch{i=null}if(!i){let a=e.sourceUrl.trim();if(!a)throw Error(`Image source is empty`);if(/^(?:data|blob):/i.test(a)||/^https?:/i.test(a)||/^\/api(?=\/|[?#]|$)/.test(a))i=await G(a,n);else{let e=x(a,r);if(b(e))try{i=await me(e.path,n)}catch{let r=await t(`/api/fs/raw`,{method:`GET`,cache:`no-store`,query:{path:e.path},signal:n});if(!r.ok)throw Error(`Image source request failed with status ${r.status}`);i=await r.blob()}else i=await G(e.source,n)}}if(!i||i.size<=0)throw Error(`Image is empty`);let o=(e.mimeType||(i.type&&i.type.startsWith(`image/`)?i.type:``)||B).split(`;`)[0].trim()||B;return{blob:i,filename:U(e.filename,o),mimeType:o}},ge=()=>!o()||u===void 0?!1:u.isPluginAvailable(`OpenChamberMedia`),_e=async(e,t)=>{let{blob:i,filename:a,mimeType:o}=await he(e,t);if(ge()){let e=await de(i);return await V.saveImage({dataBase64:e,mimeType:o,filename:a}),`saved`}if(r()){let e=n()?.vscode;if(e?.saveImage){let t=await W(i);return await e.saveImage({fileName:a,dataUrl:t}),`saved`}}return fe(i,a),`downloaded`},ve=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`),ye=e=>e?Object.entries(e).map(([e,t])=>t==null?``:`${e.startsWith(`--`)?e:e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}:${typeof t==`number`?`${t}px`:t};`).join(``):``,K=(e,t,n)=>{let r=e.querySelector(`pre`);r&&(r.style.margin=`0`,r.style.background=`transparent`,r.style.whiteSpace=t?`pre-wrap`:`pre`,t&&(r.style.wordBreak=`break-word`,r.style.overflowWrap=`break-word`));let i=e.querySelector(`code`);if(i){let e=ye(n);e&&i.setAttribute(`style`,`${i.getAttribute(`style`)??``}${e}`)}},be=e=>`<pre><code>${ve(e)}</code></pre>`,xe=e=>{let t=(0,k.c)(21),{code:n,language:r,className:i,style:a,codeStyle:o,wrap:s}=e,c=s!==void 0&&s,{currentTheme:l}=m(),u=O.useRef(null),d;t[0]===l?d=t[1]:(d=ee(l),t[0]=l,t[1]=d);let p=d,h,g;t[2]!==n||t[3]!==o||t[4]!==c?(h=()=>{let e=u.current;e&&(e.innerHTML=be(n),K(e,c,o))},g=[n,c,o],t[2]=n,t[3]=o,t[4]=c,t[5]=h,t[6]=g):(h=t[5],g=t[6]),O.useLayoutEffect(h,g);let _,v;t[7]!==n||t[8]!==o||t[9]!==r||t[10]!==c?(_=()=>{let e=u.current;if(!e)return;let t=!0,i=new AbortController;return D(n,(r||`text`).toLowerCase(),{signal:i.signal,priority:`visible`}).then(n=>{!t||!e||!n||(e.innerHTML=n,K(e,c,o))}),()=>{t=!1,i.abort()}},v=[n,r,c,o],t[7]=n,t[8]=o,t[9]=r,t[10]=c,t[11]=_,t[12]=v):(_=t[11],v=t[12]),O.useEffect(_,v);let y;t[13]===i?y=t[14]:(y=f(`typography-code`,i),t[13]=i,t[14]=y);let b=p,x;t[15]!==a||t[16]!==b?(x={...b,...a},t[15]=a,t[16]=b,t[17]=x):x=t[17];let S;return t[18]!==y||t[19]!==x?(S=(0,A.jsx)(`div`,{ref:u,className:y,style:x}),t[18]=y,t[19]=x,t[20]=S):S=t[20],S},Se=e=>{let t=e.replace(/^<file>\s*\n?/,``).replace(/\n?<\/file>\s*$/,``);return t=t.replace(/^\s*\d{5}\|\s?/gm,``),t.trim()},Ce=(e,t=``)=>{if(typeof e==`string`)return e;if(e==null)return t;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);try{return JSON.stringify(e)}catch{return t}},we=e=>e?e.includes(`<diagnostics`)||e.includes(`<file_diagnostics>`)||e.includes(`LSP errors detected`)||e.includes(`This file has errors`):!1,Te=e=>e?e.replace(/\n{0,2}LSP errors detected[\s\S]*?<diagnostics[^>]*>[\s\S]*?<\/diagnostics>/g,``).replace(/\n{0,2}This file has errors[\s\S]*?<\/file_diagnostics>/g,``).replace(/<diagnostics[^>]*>[\s\S]*?<\/diagnostics>/g,``).replace(/<file_diagnostics>[\s\S]*?<\/file_diagnostics>/g,``).trim():``,Ee=(e,t)=>!e||typeof e!=`object`?String(e):E(e,t||``),q=e=>{if(typeof e==`string`){let t=e.trim();return t.length>0?t:void 0}if(e&&typeof e==`object`){let t=e.patch;if(typeof t==`string`){let e=t.trim();return e.length>0?e:void 0}}},De=e=>{if(!e||typeof e!=`object`)return;let t=q(e.patch)??q(e.diff);if(t)return t;let n=Array.isArray(e.files)?e.files:[];for(let e of n){if(!e||typeof e!=`object`)continue;let t=q(e.patch)??q(e.diff);if(t)return t}},Oe=e=>{if(!e||typeof e!=`string`)return{data:null,isJson:!1};let t=e.trim();if(!t.startsWith(`{`)&&!t.startsWith(`[`)||!t.endsWith(`}`)&&!t.endsWith(`]`)||t.length<2)return{data:null,isJson:!1};try{let e=JSON.parse(t);return typeof e==`object`&&e?{data:e,isJson:!0}:{data:null,isJson:!1}}catch{return{data:null,isJson:!1}}},ke=(e,t,n)=>{let r=Se(e);if((t===`edit`||t===`multiedit`||t===`write`||t===`apply_patch`)&&we(r)&&(r=Te(r)),(t===`edit`||t===`multiedit`||t===`apply_patch`)&&r.trim().length===0){let e=De(n);if(e)return e}return r},Ae=e=>{let t=e.match(/<type>(file|directory)<\/type>/i)?.[1]?.toLowerCase()??`unknown`,n=(e.match(/<content>([\s\S]*?)<\/content>/i)?.[1]??e).replace(/\r\n/g,`
2
2
  `).split(`
3
3
  `),r=e=>/\(\s*File has more lines\..*offset.*\)/i.test(e.trim());return{type:t,lines:n.map(e=>{let n=e.trim(),i=n.startsWith(`(`)&&n.endsWith(`)`)||r(n);if(t!==`directory`){let t=e.match(/^(\d+):\s?(.*)$/);if(t){let e=t[2],n=e.trim(),i=n.startsWith(`(`)&&n.endsWith(`)`)||r(n);return{lineNumber:i?null:Number(t[1]),text:e,isInfo:i}}}return{lineNumber:null,text:e,isInfo:i}}).filter((e,t,n)=>{if(e.text.trim().length>0)return!0;let r=n[t-1],i=n[t+1],a=!!(r?.isInfo||i?.isInfo),o=e.lineNumber!==null;return!(a&&o)})}},je=(e,t)=>{try{let n=e.trim().split(`
4
4
  `).filter(Boolean);if(n.length===0)return null;let r=[];return n.forEach(e=>{let t=e.match(/^(\s*)(.+)$/);if(t){let[,e,n]=t,i=Math.floor(e.length/2),a=!n.endsWith(`/`);r.push({name:n.replace(/\/$/,``),depth:i,isFile:a})}}),(0,A.jsx)(`div`,{className:f(`w-full min-w-0 font-mono space-y-0.5`,t?.unstyled?null:`p-3 bg-muted/20 rounded-xl border border-border/30`),style:s.tool.popup,children:r.map((e,t)=>(0,A.jsx)(`div`,{className:`min-w-0`,style:{paddingLeft:`${e.depth*20}px`},children:e.isFile?(0,A.jsx)(`span`,{className:`text-foreground/90 block truncate`,children:e.name}):(0,A.jsxs)(`span`,{className:`font-semibold text-foreground block truncate`,children:[e.name,`/`]})},t))})}catch{return null}},Me={backgroundColor:`var(--status-info)`,opacity:.6},Ne=(e,t,n)=>{try{let r=e.trim().split(`
package/dist/index.html CHANGED
@@ -552,7 +552,7 @@
552
552
  opacity: 0.72;
553
553
  }
554
554
  </style>
555
- <script type="module" crossorigin src="/assets/main-BET9mrfn.js"></script>
555
+ <script type="module" crossorigin src="/assets/main-rsLnx-58.js"></script>
556
556
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
557
557
  <link rel="modulepreload" crossorigin href="/assets/runtime-auth-C8w0nlKy.js">
558
558
  <link rel="modulepreload" crossorigin href="/assets/runtime-switch-3ad3yzM7.js">
@@ -572,7 +572,7 @@
572
572
  <link rel="modulepreload" crossorigin href="/assets/terminalApi-BnjU_lmF.js">
573
573
  <link rel="modulepreload" crossorigin href="/assets/types-BuiqMmh_.js">
574
574
  <link rel="modulepreload" crossorigin href="/assets/capgoAdapter-KNLHDj7G.js">
575
- <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-CPssH7z1.js">
575
+ <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DnxTxkDG.js">
576
576
  <link rel="stylesheet" crossorigin href="/assets/src-CBUXJkw-.css">
577
577
  </head>
578
578
  <body class="h-full bg-background text-foreground">
@@ -74,7 +74,7 @@
74
74
  }
75
75
  </style>
76
76
 
77
- <script type="module" crossorigin src="/assets/miniChat-Dgtznflo.js"></script>
77
+ <script type="module" crossorigin src="/assets/miniChat-_WMT0ocE.js"></script>
78
78
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
79
79
  <link rel="modulepreload" crossorigin href="/assets/runtime-auth-C8w0nlKy.js">
80
80
  <link rel="modulepreload" crossorigin href="/assets/runtime-switch-3ad3yzM7.js">
@@ -94,7 +94,7 @@
94
94
  <link rel="modulepreload" crossorigin href="/assets/terminalApi-BnjU_lmF.js">
95
95
  <link rel="modulepreload" crossorigin href="/assets/types-BuiqMmh_.js">
96
96
  <link rel="modulepreload" crossorigin href="/assets/capgoAdapter-KNLHDj7G.js">
97
- <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-CPssH7z1.js">
97
+ <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DnxTxkDG.js">
98
98
  <link rel="stylesheet" crossorigin href="/assets/src-CBUXJkw-.css">
99
99
  </head>
100
100
  <body class="h-full bg-background text-foreground">
package/dist/mobile.html CHANGED
@@ -63,7 +63,7 @@
63
63
  })();
64
64
  </script>
65
65
 
66
- <script type="module" crossorigin src="/assets/mobile-BU1sv3Iy.js"></script>
66
+ <script type="module" crossorigin src="/assets/mobile-DlsyRhzT.js"></script>
67
67
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
68
68
  <link rel="modulepreload" crossorigin href="/assets/runtime-auth-C8w0nlKy.js">
69
69
  <link rel="modulepreload" crossorigin href="/assets/runtime-switch-3ad3yzM7.js">
@@ -83,7 +83,7 @@
83
83
  <link rel="modulepreload" crossorigin href="/assets/terminalApi-BnjU_lmF.js">
84
84
  <link rel="modulepreload" crossorigin href="/assets/types-BuiqMmh_.js">
85
85
  <link rel="modulepreload" crossorigin href="/assets/capgoAdapter-KNLHDj7G.js">
86
- <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-CPssH7z1.js">
86
+ <link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DnxTxkDG.js">
87
87
  <link rel="stylesheet" crossorigin href="/assets/src-CBUXJkw-.css">
88
88
  </head>
89
89
  <body class="h-full bg-background text-foreground">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openchambery/web",
3
- "version": "2.1.6-beta.6",
3
+ "version": "2.1.6-beta.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./server/index.js",
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{_t as t,dt as n,ft as r,gt as i,ln as a,yt as o}from"./persistence-DUPZl7Oy.js";import{it as s,nt as c,rt as l}from"./vendor-base-ui-CdzJ6My_.js";import{n as u,t as d}from"./platform-z2erC6Bs.js";import{n as f}from"./vendor-react-BP2cRVqX.js";import{a as p,n as m}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{f as h,n as g,r as _}from"./vendor-reactuses-core-BpfIZ1tg.js";import{f as v,r as y,t as b}from"./button-kJNzMb1G.js";import{Pr as x,ba as S}from"./useMobileNavigationStore-BeUkwRP3.js";import{n as C}from"./Icon-DewMAW7N.js";import{v as w}from"./image-loading-BilWo6nu.js";import{i as T,t as E}from"./textarea-yLPH5NYp.js";import{a as ee,o as D}from"./dropdown-menu.styles-BXvVFEkh.js";import{t as O}from"./LoadingImage-CCj65iXL.js";var k=e(s(),1),A=f(),j=l(),te=e(c(),1),M=p(`OpenChamberMedia`);function N(e){return e.platform===`android`||/Android/i.test(e.userAgent)||e.userAgentDataPlatform===`Android`}function P(){if(typeof window>`u`)return!1;let e=navigator.userAgentData;return N({platform:d(),userAgent:navigator.userAgent||``,userAgentDataPlatform:e?.platform})}function ne(){return u()&&m.getPlatform()===`android`&&m.isPluginAvailable(`OpenChamberMedia`)}async function F(e){if(!ne())return null;let t=await M.pickMedia({limit:e});if(t.cancelled)return[];let n=[];for(let e of t.files){let t=await fetch(m.convertFileSrc(e.path));if(!t.ok)throw Error(`Native media fetch failed (${t.status})`);let r=await t.blob();n.push(new File([r],e.name,{type:e.mimeType}))}return n}var I=`h-auto min-h-12 w-full justify-start gap-3 rounded-none supports-[corner-shape:squircle]:rounded-none px-4 border-b border-[var(--surface-subtle)] last:border-b-0`,re=e=>{let t=(0,A.c)(38),{id:n,open:r,onOpenChange:i,onPickPhotos:a,onPickFiles:o}=e,{t:s}=v(),c;t[0]===s?c=t[1]:(c=s(`chat.chatInput.actions.addAttachment`),t[0]=s,t[1]=c);let l;t[2]===c?l=t[3]:(l=(0,j.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:c}),t[2]=c,t[3]=l);let u;t[4]===s?u=t[5]:(u=s(`chat.chatInput.actions.addAttachment`),t[4]=s,t[5]=u);let d;t[6]===s?d=t[7]:(d=s(`mobile.surface.closeAria`),t[6]=s,t[7]=d);let f;t[8]===s?f=t[9]:(f=s(`mobile.sessions.sheet.resizeAria`),t[8]=s,t[9]=f);let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,j.jsx)(C,{name:`file-image`,className:`size-5 flex-shrink-0 text-muted-foreground`}),t[10]=p):p=t[10];let m;t[11]===s?m=t[12]:(m=s(`chat.chatInput.actions.attachPhotos`),t[11]=s,t[12]=m);let h;t[13]===m?h=t[14]:(h=(0,j.jsx)(`span`,{className:`truncate`,children:m}),t[13]=m,t[14]=h);let g;t[15]!==a||t[16]!==h?(g=(0,j.jsxs)(b,{type:`button`,variant:`ghost`,size:`lg`,className:I,"data-mobile-press-feedback":`none`,onClick:a,children:[p,h]}),t[15]=a,t[16]=h,t[17]=g):g=t[17];let _;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,j.jsx)(C,{name:`attachment-2`,className:`size-5 flex-shrink-0 text-muted-foreground`}),t[18]=_):_=t[18];let y;t[19]===s?y=t[20]:(y=s(`chat.chatInput.actions.attachFiles`),t[19]=s,t[20]=y);let x;t[21]===y?x=t[22]:(x=(0,j.jsx)(`span`,{className:`truncate`,children:y}),t[21]=y,t[22]=x);let S;t[23]!==o||t[24]!==x?(S=(0,j.jsxs)(b,{type:`button`,variant:`ghost`,size:`lg`,className:I,"data-mobile-press-feedback":`none`,onClick:o,children:[_,x]}),t[23]=o,t[24]=x,t[25]=S):S=t[25];let w;t[26]!==S||t[27]!==g?(w=(0,j.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,j.jsxs)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,"data-page-scroll-lock":`true`,children:[g,S]})}),t[26]=S,t[27]=g,t[28]=w):w=t[28];let E;return t[29]!==n||t[30]!==i||t[31]!==r||t[32]!==w||t[33]!==l||t[34]!==u||t[35]!==d||t[36]!==f?(E=(0,j.jsx)(T,{id:n,open:r,onOpenChange:i,title:l,ariaLabel:u,closeAriaLabel:d,resizeAriaLabel:f,fitContent:!0,children:w}),t[29]=n,t[30]=i,t[31]=r,t[32]=w,t[33]=l,t[34]=u,t[35]=d,t[36]=f,t[37]=E):E=t[37],E},L={glyph:`_glyph_198kg_1`,lens:`_lens_198kg_12`,shape:`_shape_198kg_22`,revolve:`_revolve_198kg_1`};function ie(e){let t=(0,A.c)(8),{decorative:n}=e,r=n!==void 0&&n,{t:i}=v(),a=r||void 0,o=r?void 0:`img`,s;t[0]!==r||t[1]!==i?(s=r?void 0:i(`common.loading`),t[0]=r,t[1]=i,t[2]=s):s=t[2];let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,j.jsxs)(`span`,{className:L.lens,children:[(0,j.jsx)(`span`,{className:L.shape}),(0,j.jsx)(`span`,{className:L.shape}),(0,j.jsx)(`span`,{className:L.shape})]}),t[3]=c):c=t[3];let l;return t[4]!==a||t[5]!==o||t[6]!==s?(l=(0,j.jsx)(`span`,{"data-dictation-loading":!0,className:L.glyph,"aria-hidden":a,role:o,"aria-label":s,children:c}),t[4]=a,t[5]=o,t[6]=s,t[7]=l):l=t[7],l}var R=w(!1).colors,ae=`M-50 74.564 A600 600 0 0 1 147.707 22.283 A38 38 0 0 1 154.330 97.994 A524 524 0 0 0 -18.333 143.653 Z`,oe=`M450 74.564 A600 600 0 0 0 252.293 22.283 A38 38 0 0 0 245.670 97.994 A524 524 0 0 1 418.333 143.653 Z`,se={colorScheme:`light`,"--surface-background":R.surface.background,"--surface-foreground":R.surface.foreground,"--primary-base":R.primary.base,"--foreground":R.surface.background,"--interactive-hover":`color-mix(in srgb, var(--surface-background) 12%, transparent)`,"--interactive-active":`color-mix(in srgb, var(--surface-background) 20%, transparent)`,"--ring":R.interactive.focusRing,"--status-error":R.status.error};function z(e){let t=(0,A.c)(85),{containerRef:n,disabled:r,onInsert:i,onSend:a,onRelease:o,onError:s,onHintChange:c}=e,{t:l}=v(),[u,d]=(0,k.useState)(!1),[f,p]=(0,k.useState)(!1),[m,h]=(0,k.useState)(`edit`),_=(0,k.useRef)(null),y=(0,k.useRef)(null),b=(0,k.useRef)(`insert`),x=(0,k.useRef)(null),S=(0,k.useId)(),C=(0,k.useId)(),w=(0,k.useId)(),T;t[0]!==i||t[1]!==a?(T=e=>b.current===`send`?a(e):i(e),t[0]=i,t[1]=a,t[2]=T):T=t[2];let E;t[3]!==s||t[4]!==T?(E={onTranscript:T,onError:s},t[3]=s,t[4]=T,t[5]=E):E=t[5];let D=ee(E),{status:O,isStarting:M,partialTranscript:N,error:P,volume:ne}=D,F=g(c),I=u?m===`cancel`?`cancelling`:m===`edit`?`editing`:`recording`:f?`processing`:null,re,L;t[6]!==I||t[7]!==F?(re=()=>{F(I)},L=[I,F],t[6]=I,t[7]=F,t[8]=re,t[9]=L):(re=t[8],L=t[9]),(0,k.useEffect)(re,L);let R,z;t[10]===F?(R=t[11],z=t[12]):(R=()=>()=>F(null),z=[F],t[10]=F,t[11]=R,t[12]=z),(0,k.useEffect)(R,z);let le;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>{y.current&&clearTimeout(y.current),y.current=null},t[13]=le):le=t[13];let B=g(le),ue;t[14]!==n||t[15]!==r?(ue=e=>{if(r||!(e instanceof HTMLElement))return null;let t=n.current?.querySelector(`textarea`);return!t||t.value!==``||t.disabled||t.readOnly||e!==t&&!e.closest(`[data-oc-composer-compact-surface]`)||e.closest(`button, [data-composer-action]`)?null:t},t[14]=n,t[15]=r,t[16]=ue):ue=t[16];let V=g(ue),de;t[17]!==B||t[18]!==D||t[19]!==P||t[20]!==f||t[21]!==O?(de=()=>{f||(B(),_.current=null,d(!1),h(`edit`),O===`failed`||O===`idle`&&P?D.discardFailedDictation():D.cancelDictation())},t[17]=B,t[18]=D,t[19]=P,t[20]=f,t[21]=O,t[22]=de):de=t[22];let H=g(de),U;t[23]!==D||t[24]!==r||t[25]!==V||t[26]!==f||t[27]!==O?(U=e=>{let t=e.target;r||f||O!==`idle`||_.current||!e.isPrimary||e.button!==0||!(t instanceof HTMLElement)||V(t)&&(e.preventDefault(),e.stopPropagation(),_.current={pointer:e.pointerId,x:e.clientX,y:e.clientY,intent:`edit`,started:!1},y.current=setTimeout(()=>{if(y.current=null,!_.current)return;let e=V(t);if(!e){_.current=null;return}e.blur(),_.current.started=!0,b.current=`insert`,d(!0),h(`edit`),D.startDictation()},300))},t[23]=D,t[24]=r,t[25]=V,t[26]=f,t[27]=O,t[28]=U):U=t[28];let W=g(U),fe;t[29]===B?fe=t[30]:(fe=e=>{let t=_.current;if(!t||t.pointer!==e.pointerId)return;e.preventDefault(),e.stopPropagation();let n=e.clientX-t.x,r=x.current?.getBoundingClientRect(),i=r&&r.width>0&&e.clientY>=r.top&&e.clientY<=r.bottom?e.clientX<r.left+r.width/2?`cancel`:`send`:n<=-64?`cancel`:n>=64?`send`:`edit`;if(!t.started&&Math.hypot(n,t.y-e.clientY)>12){B(),_.current=null;return}t.started&&i!==t.intent&&(t.intent=i,h(i))},t[29]=B,t[30]=fe);let pe=g(fe),me;t[31]!==H||t[32]!==B||t[33]!==n||t[34]!==D||t[35]!==P||t[36]!==o||t[37]!==N||t[38]!==O?(me=e=>{let t=_.current;if(!(!t||t.pointer!==e.pointerId)){if(e.preventDefault(),e.stopPropagation(),B(),P||O===`failed`){H();return}_.current=null,d(!1),t.started?t.intent===`cancel`?D.cancelDictation():(b.current=t.intent===`edit`?`insert`:`send`,o(N),p(!0),Promise.resolve(D.confirmDictation()).finally(()=>{p(!1),D.discardFailedDictation(),t.intent===`edit`&&n.current?.querySelector(`textarea`)?.focus()})):n.current?.querySelector(`textarea`)?.focus()}},t[31]=H,t[32]=B,t[33]=n,t[34]=D,t[35]=P,t[36]=o,t[37]=N,t[38]=O,t[39]=me):me=t[39];let he=g(me),ge;t[40]===H?ge=t[41]:(ge=e=>{_.current?.pointer===e.pointerId&&H()},t[40]=H,t[41]=ge);let G=g(ge),_e;t[42]===V?_e=t[43]:(_e=e=>{V(e.target)&&e.preventDefault()},t[42]=V,t[43]=_e);let K=g(_e),ve,q;t[44]!==H||t[45]!==B||t[46]!==n||t[47]!==W||t[48]!==G||t[49]!==pe||t[50]!==K||t[51]!==he?(ve=()=>{let e=n.current;if(!e)return;let t=()=>{document.visibilityState===`hidden`&&H()};return e.addEventListener(`pointerdown`,W,!0),e.addEventListener(`touchstart`,K,{capture:!0,passive:!1}),window.addEventListener(`pointermove`,pe,{capture:!0,passive:!1}),window.addEventListener(`pointerup`,he,!0),window.addEventListener(`pointercancel`,G,!0),e.addEventListener(`contextmenu`,K,!0),e.addEventListener(`selectstart`,K,!0),window.addEventListener(`blur`,H),document.addEventListener(`visibilitychange`,t),()=>{B(),e.removeEventListener(`pointerdown`,W,!0),e.removeEventListener(`touchstart`,K,!0),window.removeEventListener(`pointermove`,pe,!0),window.removeEventListener(`pointerup`,he,!0),window.removeEventListener(`pointercancel`,G,!0),e.removeEventListener(`contextmenu`,K,!0),e.removeEventListener(`selectstart`,K,!0),window.removeEventListener(`blur`,H),document.removeEventListener(`visibilitychange`,t)}},q=[n,W,pe,he,G,H,B,K],t[44]=H,t[45]=B,t[46]=n,t[47]=W,t[48]=G,t[49]=pe,t[50]=K,t[51]=he,t[52]=ve,t[53]=q):(ve=t[52],q=t[53]),(0,k.useEffect)(ve,q);let J,ye;if(t[54]!==H||t[55]!==r?(J=()=>{r&&H()},ye=[r,H],t[54]=H,t[55]=r,t[56]=J,t[57]=ye):(J=t[56],ye=t[57]),(0,k.useEffect)(J,ye),!u&&!f)return null;let Y=Math.min(1,Math.max(0,ne))**.6,be=!!P,xe=P?H:void 0,Se;t[58]===Y?Se=t[59]:(Se={...se,"--speech-energy":Y},t[58]=Y,t[59]=Se);let Ce=Se,we;t[60]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,j.jsx)(`div`,{className:`oc-speech-light-field`,"aria-hidden":`true`,children:[`ice`,`lilac`,`mint`,`blush`,`mid`,`core`].map(ce)}),t[60]=we):we=t[60];let Te=M||f,X;t[61]!==P||t[62]!==M||t[63]!==N||t[64]!==f||t[65]!==O||t[66]!==l?(X=P&&!f?(0,j.jsx)(`p`,{role:`alert`,className:`oc-speech-caption oc-speech-error`,children:P}):(0,j.jsx)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`oc-speech-caption`,children:M||f?(0,j.jsx)(ie,{}):N?(0,j.jsx)(`span`,{className:`oc-speech-interim`,children:N}):l(O===`uploading`?`chat.dictation.processing`:`chat.dictation.listening`)}),t[61]=P,t[62]=M,t[63]=N,t[64]=f,t[65]=O,t[66]=l,t[67]=X):X=t[67];let Z;t[68]!==Te||t[69]!==X?(Z=(0,j.jsx)(`div`,{className:`oc-speech-content`,"data-starting":Te,children:X}),t[68]=Te,t[69]=X,t[70]=Z):Z=t[70];let Q;t[71]!==S||t[72]!==C||t[73]!==w||t[74]!==u||t[75]!==m||t[76]!==l?(Q=u&&(0,j.jsx)(`div`,{className:`oc-speech-gesture-stage`,"aria-hidden":`true`,children:(0,j.jsxs)(`div`,{className:`oc-speech-gesture-surfaces`,children:[(0,j.jsx)(`div`,{className:`oc-speech-target-glass`,style:{clipPath:`url(#${C})`}}),(0,j.jsx)(`div`,{className:`oc-speech-target-glass`,style:{clipPath:`url(#${w})`}}),(0,j.jsxs)(`svg`,{className:`oc-speech-geometry`,viewBox:`0 0 400 226`,focusable:`false`,children:[(0,j.jsxs)(`defs`,{children:[(0,j.jsx)(`clipPath`,{id:C,clipPathUnits:`objectBoundingBox`,children:(0,j.jsx)(`path`,{transform:`scale(0.0025 0.004424778761)`,d:ae})}),(0,j.jsx)(`clipPath`,{id:w,clipPathUnits:`objectBoundingBox`,children:(0,j.jsx)(`path`,{transform:`scale(0.0025 0.004424778761)`,d:oe})}),(0,j.jsxs)(`linearGradient`,{id:S,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,j.jsx)(`stop`,{offset:`0%`,className:`oc-speech-arc-top`}),(0,j.jsx)(`stop`,{offset:`100%`,className:`oc-speech-arc-bottom`})]})]}),(0,j.jsxs)(`g`,{className:`oc-speech-targets`,ref:x,children:[(0,j.jsxs)(`g`,{className:`oc-speech-target oc-speech-target--cancel`,"data-active":m===`cancel`,children:[(0,j.jsx)(`path`,{d:ae}),(0,j.jsx)(`text`,{x:`95`,y:`68`,textAnchor:`middle`,dominantBaseline:`central`,transform:`rotate(-11 95 68)`,children:l(`chat.dictation.cancelGesture`)})]}),(0,j.jsxs)(`g`,{className:`oc-speech-target oc-speech-target--send`,"data-active":m===`send`,children:[(0,j.jsx)(`path`,{d:oe}),(0,j.jsx)(`text`,{x:`305`,y:`68`,textAnchor:`middle`,dominantBaseline:`central`,transform:`rotate(11 305 68)`,children:l(`chat.dictation.send`)})]})]}),(0,j.jsx)(`path`,{className:`oc-speech-hold-arc`,fill:`url(#${S})`,d:`M-50 186.987 A500 500 0 0 1 450 186.987 L450 300 H-50 Z`})]})]})}),t[71]=S,t[72]=C,t[73]=w,t[74]=u,t[75]=m,t[76]=l,t[77]=Q):Q=t[77];let $;return t[78]!==m||t[79]!==be||t[80]!==xe||t[81]!==Ce||t[82]!==Z||t[83]!==Q?($=(0,te.createPortal)((0,j.jsxs)(`div`,{className:`oc-speech-overlay`,"data-intent":m,"data-error":be,onClick:xe,style:Ce,children:[we,Z,Q]}),document.body),t[78]=m,t[79]=be,t[80]=xe,t[81]=Ce,t[82]=Z,t[83]=Q,t[84]=$):$=t[84],$}function ce(e){return(0,j.jsx)(`div`,{className:`oc-speech-reactor oc-speech-reactor--${e}`,children:(0,j.jsx)(`div`,{className:`oc-speech-light`})},e)}function le(e){let t=(0,A.c)(7),{available:n}=e,r=S(B),[i,o]=(0,k.useState)(null),s;t[0]!==n||t[1]!==r?(s=n&&r&&!a()&&D(),t[0]=n,t[1]=r,t[2]=s):s=t[2];let c=s,l=c?i:null,u;return t[3]!==c||t[4]!==r||t[5]!==l?(u={globallyEnabled:r,enabled:c,hint:l,onHintChange:o},t[3]=c,t[4]=r,t[5]=l,t[6]=u):u=t[6],u}function B(e){return e.dictationEnabled}var ue=k.createContext(null),V=e=>{let t=(0,A.c)(3),{actions:n,children:r}=e,i;return t[0]!==n||t[1]!==r?(i=(0,j.jsx)(ue.Provider,{value:n,children:r}),t[0]=n,t[1]=r,t[2]=i):i=t[2],i},de=()=>k.useContext(ue),H=e=>e.nativeEvent.isComposing||e.nativeEvent.keyCode===229;function U(e){let t=(0,A.c)(10),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=y(`inline-flex shrink-0 items-center justify-center rounded-full bg-foreground text-background`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,j.jsx)(`span`,{className:a,...i,"aria-hidden":!0,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o}function W(e){let t=(0,A.c)(7),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]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,j.jsx)(`span`,{"data-stop-glyph":`true`,className:`block size-[38%] rounded-[20%] bg-current`}),t[3]=i):i=t[3];let a;return t[4]!==n||t[5]!==r?(a=(0,j.jsx)(U,{className:n,...r,children:i}),t[4]=n,t[5]=r,t[6]=a):a=t[6],a}function fe(e){let t=(0,A.c)(13),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,spinning:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i!==void 0&&i,o=a?`loader-4`:`arrow-up`,s=a?`size-[50%] animate-spin`:`size-[56%]`,c;t[4]===s?c=t[5]:(c=y(s),t[4]=s,t[5]=c);let l;t[6]!==o||t[7]!==c?(l=(0,j.jsx)(C,{name:o,weight:`medium`,className:c}),t[6]=o,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==n||t[10]!==r||t[11]!==l?(u=(0,j.jsx)(U,{className:n,...r,children:l}),t[9]=n,t[10]=r,t[11]=l,t[12]=u):u=t[12],u}var pe=k.forwardRef((e,t)=>{let n=(0,A.c)(19),r,i,a,o,s,c;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6]):({children:r,className:i,expanded:s,focusedTone:c,style:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c);let l=s!==void 0&&s,u=c===void 0?`primary`:c,d=l&&`min-h-0 flex-1`,f=u===`info`?`focus-within:ring-[var(--status-info)]`:`focus-within:ring-primary/50`,p;n[7]!==i||n[8]!==d||n[9]!==f?(p=y(`relative flex flex-col overflow-visible border border-border/80 focus-within:ring-1`,d,f,i),n[7]=i,n[8]=d,n[9]=f,n[10]=p):p=n[10];let m;n[11]===o?m=n[12]:(m={borderRadius:`var(--radius-xl)`,backgroundColor:`var(--surface-subtle)`,...o},n[11]=o,n[12]=m);let h;return n[13]!==r||n[14]!==a||n[15]!==t||n[16]!==p||n[17]!==m?(h=(0,j.jsx)(`div`,{ref:t,className:p,style:m,...a,children:r}),n[13]=r,n[14]=a,n[15]=t,n[16]=p,n[17]=m,n[18]=h):h=n[18],h});pe.displayName=`ChatComposerSurface`;var me=k.forwardRef((e,t)=>{let n=(0,A.c)(3),r;return n[0]!==e||n[1]!==t?(r=(0,j.jsx)(E,{ref:t,...e}),n[0]=e,n[1]=t,n[2]=r):r=n[2],r});me.displayName=`ChatPromptTextarea`;var he=e=>{let t=(0,A.c)(10),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=y(`flex shrink-0 items-center gap-2 bg-transparent px-2.5 py-1.5`,r),t[4]=r,t[5]=a);let o;return t[6]!==n||t[7]!==i||t[8]!==a?(o=(0,j.jsx)(`div`,{className:a,"data-chat-input-footer":`true`,...i,children:n}),t[6]=n,t[7]=i,t[8]=a,t[9]=o):o=t[9],o},ge=(e,t)=>{typeof e==`function`?e(t):e&&(e.current=t)},G=({value:e,attachments:t=[],disabled:n=!1,pending:r=!1,placeholder:i,isMobile:a=!1,onChange:o,onSubmit:s,onStop:c,onAddFiles:l,onRemoveAttachment:u,addFilesLabel:d,removeAttachmentLabel:f,fileAccept:p=`image/*`,sendLabel:m,stopLabel:_,hint:b,leftControls:S,rightControls:w,footerContent:T,inputHeader:E,attachmentContent:ee,highlightedContent:D,highlightRef:A,inputRef:te,textareaProps:M,textLayoutClassName:N,inputClassName:I,inputOuterClassName:L,inputStyle:ie,footerClassName:R,footerStyle:ae,contentClassName:oe,inputSectionClassName:se,autoResize:z=!0,disableInputWhilePending:ce=!0,layout:le=`stacked`,children:B,className:ue,expanded:V=!1,...de})=>{let{t:U}=v(),G=le===`inline`,[_e,K]=k.useState(!1),[ve,q]=k.useState(!1),J=P(),ye=t.length>0||_e,Y=k.useRef(null),be=k.useRef(null),xe=k.useRef(null),Se=k.useId().replace(/:/g,``),Ce=g(()=>{if(!z||V||M?.fillContainer){G&&K(!1);return}let e=Y.current;if(!e)return;e.style.height=G?`0px`:`auto`;let t=Number.parseFloat(window.getComputedStyle(e).maxHeight),n=G?Math.max(e.scrollHeight,48):e.scrollHeight,r=Number.isFinite(t)?Math.min(n,t):n;e.style.height=`${r}px`,e.style.overflowY=Number.isFinite(t)&&n>t?`auto`:`hidden`;let i=r>48;G&&K(e=>e===i?e:i)});k.useLayoutEffect(()=>{Ce()},[z,V,G,M?.fillContainer,e]),h(G&&z&&!V&&!M?.fillContainer?Y:null,Ce);let we=e=>{M?.onKeyDown?.(e),!(e.defaultPrevented||H(e))&&e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),!n&&(!r||!ce)&&s())},Te=e=>{l?.(e.target.files),e.target.value=``},X=g(()=>{Y.current?.blur(),q(!0)}),Z=g(e=>{q(!1),requestAnimationFrame(()=>e?.click())}),Q=g(()=>{q(!1),requestAnimationFrame(()=>{(async()=>{if(!ne()){xe.current?.click();return}try{let e=await F(20);if(e===null){xe.current?.click();return}e.length>0&&l?.(e)}catch(e){console.error(`Native photo pick failed`,e),x.error(U(`chat.chatInput.toast.attachFileFailed`))}})()})}),$=e.trim().length>0||t.length>0,Ee=t.filter(e=>e.mime.startsWith(`image/`)),De=t.filter(e=>!e.mime.startsWith(`image/`)),Oe=l?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`input`,{ref:be,type:`file`,accept:p,multiple:!0,className:`hidden`,onChange:Te}),J?(0,j.jsx)(`input`,{ref:xe,type:`file`,accept:`image/*`,multiple:!0,className:`hidden`,onChange:Te}):null,(0,j.jsx)(`button`,{type:`button`,className:`flex size-8 shrink-0 items-center justify-center rounded-md text-foreground outline-none hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-40`,onClick:()=>J?X():be.current?.click(),onMouseDown:a?e=>e.preventDefault():void 0,onPointerDownCapture:a?e=>e.preventDefault():void 0,disabled:n||r,"aria-label":d,children:(0,j.jsx)(C,{name:`attachment-2`,className:`size-[18px]`})})]}):null,ke=!n&&!r&&$,Ae=a?`size-6`:`size-full`,je=r&&c?(0,j.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:c,"aria-label":_,children:(0,j.jsx)(W,{className:Ae})}):(0,j.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":ke?`true`:void 0,className:y(`flex size-8 shrink-0 items-center justify-center outline-none`,ke?`rounded-full hover:opacity-80`:`rounded-md text-primary hover:bg-[var(--interactive-hover)] disabled:cursor-not-allowed disabled:opacity-30`),disabled:n||r||!$,"aria-label":m,children:ke?(0,j.jsx)(fe,{className:Ae}):(0,j.jsx)(C,{name:r?`loader-4`:`send-plane-2`,className:y(`size-4`,r&&`animate-spin`)})}),Me=r&&c?(0,j.jsx)(`button`,{type:`button`,"data-composer-stop":`true`,className:`flex size-8 shrink-0 items-center justify-center rounded-full outline-none hover:opacity-80`,onClick:c,"aria-label":_,children:(0,j.jsx)(W,{className:Ae})}):(0,j.jsx)(`button`,{type:`submit`,"data-composer-send":`true`,"data-composer-circle":`true`,className:y(`flex size-8 shrink-0 items-center justify-center rounded-full outline-none`,ke?`hover:opacity-80`:`cursor-not-allowed opacity-30`),disabled:n||r||!$,"aria-busy":r||void 0,"aria-label":m,children:(0,j.jsx)(fe,{className:Ae,spinning:r})}),Ne=G?Me:je,Pe=S===void 0?Oe:S;return(0,j.jsxs)(pe,{className:ue,expanded:V,...de,children:[B,(0,j.jsxs)(`div`,{"data-composer-content":`true`,"data-composer-layout":le,className:y(`relative flex min-h-0`,G?y(`min-h-12 flex-row`,ye?`items-end`:`items-center`):`flex-col`,V&&`flex-1`,oe),children:[G&&Pe?(0,j.jsx)(`div`,{className:`flex h-12 shrink-0 items-center pl-1.5`,"data-composer-inline-attach":`true`,children:Pe}):null,(0,j.jsxs)(`div`,{className:y(`overflow-hidden`,G&&`min-w-0 flex-1`,V&&`flex min-h-0 flex-1 flex-col`,se),children:[E,ee,Ee.length>0?(0,j.jsx)(`div`,{className:`flex gap-2 overflow-x-auto px-3 pt-3`,"data-chat-prompt-attachments":`true`,children:Ee.map(e=>(0,j.jsxs)(`div`,{className:`group relative shrink-0`,children:[(0,j.jsx)(`span`,{className:`block size-16`,children:(0,j.jsx)(O,{fill:!0,src:e.url,alt:e.name,className:`size-16 rounded-lg border border-border object-cover`})}),u?(0,j.jsx)(`button`,{type:`button`,className:`absolute -right-1 -top-1 flex size-6 items-center justify-center rounded-full border border-border bg-[var(--surface-elevated)] shadow-sm hover:bg-[var(--interactive-hover)]`,onClick:()=>u(e.id),"aria-label":f,children:(0,j.jsx)(C,{name:`close`,className:`size-3`})}):null]},e.id))}):null,De.length>0?(0,j.jsx)(`div`,{className:`flex flex-wrap gap-2 px-3 pt-3`,"data-chat-prompt-file-attachments":`true`,children:De.map(e=>(0,j.jsxs)(`div`,{className:`relative flex max-w-[12rem] items-center gap-1.5 rounded-lg border border-border bg-[var(--surface-elevated)] px-2 py-1`,children:[(0,j.jsx)(C,{name:`file-text`,className:`size-3.5 shrink-0 text-muted-foreground`}),(0,j.jsx)(`span`,{className:`min-w-0 truncate typography-micro`,children:e.name}),u?(0,j.jsx)(`button`,{type:`button`,className:`flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground hover:bg-[var(--interactive-hover)]`,onClick:()=>u(e.id),"aria-label":f,children:(0,j.jsx)(C,{name:`close`,className:`size-3`})}):null]},e.id))}):null,(0,j.jsxs)(`div`,{className:y(`relative overflow-hidden`,G&&y(`flex min-h-12`,_e?`items-end`:`items-center`),V&&`flex min-h-0 flex-1 flex-col`),"data-composer-input-shell":`true`,children:[D?(0,j.jsx)(`div`,{ref:A,"aria-hidden":!0,"data-composer-highlight":`true`,className:y(`pointer-events-none absolute inset-0 z-0 rounded-b-none`,N,I),children:D}):null,(0,j.jsx)(me,{...M,simple:!0,fillContainer:!G&&M?.fillContainer,ref:e=>{Y.current=e,ge(te,e)},"data-chat-input":`true`,value:e,onChange:e=>o(e.target.value,e),onKeyDown:we,disabled:n||r&&ce,placeholder:i,enterKeyHint:a?`send`:M?.enterKeyHint,outerClassName:y(`ring-0 bg-transparent shadow-none hover:bg-transparent focus-within:ring-0`,G&&`flex-none`,V&&`min-h-0 flex-1`,L),className:y(`relative z-10 resize-none overflow-y-hidden appearance-none border-0 bg-transparent typography-markdown hover:border-transparent md:typography-ui-label`,G?`field-sizing-fixed min-h-12 max-h-32 px-3 py-3 leading-6`:`min-h-[52px] max-h-40 rounded-b-none px-3 pb-2 pt-4`,N,I,D&&`text-transparent caret-[var(--surface-foreground)]`),style:ie,rows:M?.rows??1})]})]}),G?(0,j.jsx)(`div`,{className:y(`flex h-12 shrink-0 items-center pr-1.5`,R),style:ae,"data-composer-inline-send":`true`,children:w??Ne}):(0,j.jsx)(he,{className:R,style:ae,children:T??(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`div`,{className:`flex items-center gap-1.5`,children:S??Oe}),b?(0,j.jsx)(`div`,{className:`min-w-0 flex-1 truncate typography-micro text-muted-foreground`,children:b}):(0,j.jsx)(`div`,{className:`flex-1`}),(0,j.jsx)(`div`,{className:`flex items-center gap-1.5`,children:w??Ne})]})})]}),J&&l?(0,j.jsx)(re,{id:`mobile-attach-pick-${Se}`,open:ve,onOpenChange:e=>{e||q(!1)},onPickPhotos:Q,onPickFiles:()=>Z(be.current)}):null]})},_e={dictation:102,mentionFile:100,mentionAgent:100,mentionSession:100,mentionCommand:100,mentionPaste:100,code:90,codeFence:90,link:80,linkUrl:78,heading:70,blockquote:40,listMarker:35,marker:10},K={dictation:`text-foreground underline decoration-current underline-offset-4`,mentionFile:`text-[var(--primary)]`,mentionAgent:`text-[var(--primary)]`,mentionSession:`text-[var(--primary)]`,mentionCommand:`text-[var(--primary)]`,mentionPaste:`text-[var(--primary)]`,code:`rounded-[3px] bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,codeFence:`bg-[var(--surface-subtle)] text-[var(--markdown-inline-code)]`,link:`text-[var(--status-info)] underline`,linkUrl:`text-muted-foreground`,heading:`text-[var(--syntax-keyword)]`,blockquote:`text-muted-foreground`,listMarker:`text-[var(--syntax-keyword)]`,marker:`text-muted-foreground`},ve=`text-foreground`;function q(e,t,n){let r=0,i=e.length;for(;r<i;){let i=e[r];if(i==="`"){let i=/^`+/.exec(e.slice(r))?.[0]??``,a=e.indexOf(i,r+i.length);if(a!==-1){let e=a+i.length;n.push({start:t+r,end:t+e,style:`code`}),r=e;continue}}if(i===`[`){let i=/^\[([^\]\n]*)\]\(([^)\n]*)\)/.exec(e.slice(r));if(i){let e=t+r,a=i[1].length,o=i[2].length,s=e+1,c=s+a,l=c+2,u=l+o,d=u+1;n.push({start:e,end:s,style:`marker`}),a>0&&n.push({start:s,end:c,style:`link`}),n.push({start:c,end:l,style:`marker`}),o>0&&n.push({start:l,end:u,style:`linkUrl`}),n.push({start:u,end:d,style:`marker`}),r+=i[0].length;continue}}r+=1}}var J=/^(\s*)(`{3,}|~{3,})\s*(\S*)/;function ye(e){let t=J.exec(e);return t?{marker:t[2],lang:t[3]||``}:null}function Y(e,t){return RegExp(`^\\s*\\${t[0]}{${t.length},}\\s*$`).test(e)}function be(e){let t=[];if(!e)return t;let n=0,r=!1,i=``,a=e.split(`
2
- `);for(let e=0;e<a.length;e+=1){let o=a[e],s=n,c=s+o.length;if(n=c+1,r){t.push({start:s,end:c,style:`codeFence`}),Y(o,i)&&(r=!1);continue}let l=ye(o);if(l){r=!0,i=l.marker,t.push({start:s,end:c,style:`codeFence`});continue}let u=/^(\s*)(#{1,6})(\s+)/.exec(o);if(u){let e=s+u[1].length,n=e+u[2].length;t.push({start:e,end:n,style:`marker`});let r=n+u[3].length;c>r&&(t.push({start:r,end:c,style:`heading`}),q(o.slice(r-s),r,t));continue}let d=/^(\s*)(>+)(\s?)/.exec(o);if(d){let e=s+d[1].length,n=e+d[2].length;t.push({start:e,end:n,style:`marker`});let r=n+d[3].length;c>r&&(t.push({start:r,end:c,style:`blockquote`}),q(o.slice(r-s),r,t));continue}let f=/^(\s*)([-*+]|\d{1,9}[.)])(\s+)/.exec(o);if(f){let e=s+f[1].length,n=e+f[2].length;t.push({start:e,end:n,style:`listMarker`});let r=n+f[3].length;q(o.slice(r-s),r,t);continue}q(o,s,t)}return t}function xe(e,t){if(!e||t.length===0)return null;let n=e.length,r=new Set([0,n]);for(let e of t)e.start>0&&e.start<n&&r.add(e.start),e.end>0&&e.end<n&&r.add(e.end);let i=[...r].sort((e,t)=>e-t),a=t.map((e,t)=>({range:e,index:t})).filter(e=>e.range.end>e.range.start).sort((e,t)=>e.range.start-t.range.start),s=[],c=[],l=0;for(let t=0;t<i.length-1;t+=1){let n=i[t],r=i[t+1];if(r<=n)continue;for(;l<a.length&&a[l].range.start<=n;)c.push(a[l]),l+=1;for(let e=c.length-1;e>=0;--e)c[e].range.end<=n&&c.splice(e,1);let u=null,d=-1,f=1/0;for(let{range:e,index:t}of c){let n=e.priority??_e[e.style];(n>d||n===d&&t<f)&&(d=n,f=t,u=e)}let p=u?u.className??K[u.style]:ve,m=e.slice(n,r),h=u?.visual,g=u?.skillName,_=s[s.length-1];_&&_.className===p&&o(_.visual,h)&&_.skillName===g?_.text+=m:s.push({text:m,className:p,visual:h,skillName:g})}return s.length>0?s:null}function Se(e,t){let n=new Set(Array.from(t,e=>e.toLowerCase())),r=[];for(let t of[/(^|\s)\/(\u2003)?([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)/gi,/(^|\s)@(\u2003)?([a-z0-9](?:[a-z0-9-]{0,62}[a-z0-9])?)(?=$|\s|[),.;:!?])/gi]){let i;for(;(i=t.exec(e))!==null;){let e=i[2]??``,t=i[3]||``;if(!n.has(t.toLowerCase()))continue;let a=i.index+(i[1]?.length??0);r.push({start:a,end:a+1+e.length+t.length,name:t})}}return r}function Ce(e,t,n){if(e===t){let t=n.find(t=>e>t.start&&e<t.end);return t?{start:t.start,end:t.end}:null}let r=n.filter(n=>n.start<t&&n.end>e);return r.length===0?null:{start:Math.min(e,...r.map(e=>e.start)),end:Math.max(t,...r.map(e=>e.end))}}function we(e,t,n){let r=Se(e,t),i=Math.max(0,Math.min(n.selectionStart,e.length)),a=Math.max(i,Math.min(n.selectionEnd,e.length)),o=i,s=a;if(i===a)if(n.altKey)if(n.key===`Backspace`){for(;o>0&&/\s/.test(e[o-1]);)--o;for(;o>0&&!/\s/.test(e[o-1]);)--o}else{for(;s<e.length&&/\s/.test(e[s]);)s+=1;for(;s<e.length&&!/\s/.test(e[s]);)s+=1}else n.key===`Backspace`?o=Math.max(0,i-1):s=Math.min(e.length,i+1);if(o===s)return null;let c=r.filter(e=>e.start<s&&e.end>o);if(c.length===0)return null;let l=Math.min(o,...c.map(e=>e.start)),u=Math.max(s,...c.map(e=>e.end));return u<e.length&&/\s/.test(e[u])&&(l===0||/\s/.test(e[l-1]))?u+=1:u===e.length&&l>0&&/\s/.test(e[l-1])&&--l,{text:`${e.slice(0,l)}${e.slice(u)}`,caret:l,removedSkillNames:c.map(e=>e.name)}}function Te(e){return e.map(e=>({start:e.start,end:e.end,style:e.kind===`file`?`mentionFile`:e.kind===`session`?`mentionSession`:`mentionAgent`,visual:e.kind===`session`&&e.label?t({trigger:`@`,icon:`chat-thread`,label:e.label},i({trigger:`@`,icon:`chat-thread`,label:e.label})):void 0}))}function X(e){let t=(0,A.c)(28),{visual:i,text:a}=e,o=i.trigger.length,s=o+i.label.length,c=s+(i.suffix?.length??0),l;t[0]!==s||t[1]!==o||t[2]!==a?(l=a.slice(o,Math.min(s,a.length)),t[0]=s,t[1]=o,t[2]=a,t[3]=l):l=t[3];let u=l,d;t[4]!==s||t[5]!==c||t[6]!==a?(d=a.slice(s,Math.min(c,a.length)),t[4]=s,t[5]=c,t[6]=a,t[7]=d):d=t[7];let f=d,p;t[8]!==c||t[9]!==a?(p=a.slice(Math.min(c,a.length)),t[8]=c,t[9]=a,t[10]=p):p=t[10];let m=p,h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h={left:n,right:n},t[11]=h):h=t[11];let g=i.icon,_;t[12]===g?_=t[13]:(_=(0,j.jsx)(`span`,{className:`pointer-events-none absolute inset-y-0 inline-flex items-center justify-center`,style:h,children:(0,j.jsx)(C,{name:g,className:`${r} shrink-0 text-[var(--primary)]`,"aria-hidden":`true`})}),t[12]=g,t[13]=_);let v;t[14]!==_||t[15]!==i.trigger?(v=(0,j.jsxs)(`span`,{className:`relative inline-block align-baseline text-transparent leading-none`,children:[i.trigger,_]}),t[14]=_,t[15]=i.trigger,t[16]=v):v=t[16];let y;t[17]===u?y=t[18]:(y=(0,j.jsx)(`span`,{children:u}),t[17]=u,t[18]=y);let b;t[19]===f?b=t[20]:(b=f?(0,j.jsx)(`span`,{className:`text-transparent`,children:f}):null,t[19]=f,t[20]=b);let x;t[21]===m?x=t[22]:(x=m?(0,j.jsx)(`span`,{className:`text-transparent`,children:m}):null,t[21]=m,t[22]=x);let S;return t[23]!==x||t[24]!==v||t[25]!==y||t[26]!==b?(S=(0,j.jsxs)(j.Fragment,{children:[v,y,b,x]}),t[23]=x,t[24]=v,t[25]=y,t[26]=b,t[27]=S):S=t[27],S}var Z=e=>({text:e.text,references:e.references.map(e=>({...e}))}),Q=e=>e.map(e=>({...e,range:{...e.range}})),$=(e,t)=>e.text===t.text&&JSON.stringify(e.references)===JSON.stringify(t.references),Ee=(e,t,n)=>({document:Z(e),mentions:Q(t),selection:{...n}}),De=()=>({undo:[],redo:[]}),Oe=(e,t)=>({undo:[...e.undo,t].slice(-100),redo:[]}),ke=(e,t)=>{let n=e.undo.at(-1);return!n||!$(n.after.document,t)?null:{history:{undo:e.undo.slice(0,-1),redo:[...e.redo,n]},snapshot:Ee(n.before.document,n.before.mentions,n.before.selection)}},Ae=(e,t)=>{let n=e.redo.at(-1);return!n||!$(n.before.document,t)?null:{history:{undo:[...e.undo,n],redo:e.redo.slice(0,-1)},snapshot:Ee(n.after.document,n.after.mentions,n.after.selection)}},je=e=>{if(e.altKey||e.ctrlKey||e.metaKey)return!1;switch(e.key){case`ArrowUp`:case`PageUp`:case`Home`:return!0;default:return!1}},Me=(e,t,n)=>{let r=t instanceof Element?t:t instanceof Node?t.parentElement:null;for(;r&&r!==e;){if(r instanceof HTMLElement){let e=r.scrollHeight-r.clientHeight;if(e>1&&(n===`up`?r.scrollTop>0:r.scrollTop<e-1))return!0}r=r.parentElement}return!1},Ne=(e,t)=>Me(e,t,`up`),Pe=(e,t)=>Me(e,t,`down`),Fe=e=>{let t=(0,A.c)(15),{scrollRef:n,enabled:r,onUpwardIntent:i}=e,a=r===void 0||r,o=k.useRef(null),s;t[0]===i?s=t[1]:(s=()=>{i()},t[0]=i,t[1]=s);let c=g(s),l;t[2]!==c||t[3]!==n?(l=e=>{let t=n.current;t&&(e.deltaY>=0||t instanceof HTMLElement&&(Ne(t,e.target)||c()))},t[2]=c,t[3]=n,t[4]=l):l=t[4];let u=g(l),d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{let t=e.touches.item(0);o.current=t?t.clientY:null},t[5]=d):d=t[5];let f=g(d),p;t[6]!==c||t[7]!==n?(p=e=>{let t=n.current,r=e.touches.item(0);if(!r){o.current=null;return}let i=o.current;o.current=r.clientY,i!==null&&(r.clientY-i<=2||!t||!(t instanceof HTMLElement)||Ne(t,e.target)||c())},t[6]=c,t[7]=n,t[8]=p):p=t[8];let m=g(p),h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{o.current=null},t[9]=h):h=t[9];let v=g(h),y;t[10]===c?y=t[11]:(y=e=>{je(e)&&c()},t[10]=c,t[11]=y);let b=g(y),[x,S]=k.useState(null),C;t[12]===n?C=t[13]:(C=()=>{let e=n.current??null;S(t=>t===e?t:e)},t[12]=n,t[13]=C),k.useEffect(C);let w=a&&x?x:Ie,T;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(T={passive:!0},t[14]=T):T=t[14];let E=T;_(`wheel`,u,w,E),_(`touchstart`,f,w,E),_(`touchmove`,m,w,E),_(`touchend`,v,w,E),_(`touchcancel`,v,w,E),_(`keydown`,b,w)};function Ie(){}var Le=e=>{if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.trunc(e);return t>=0?t:void 0},Re=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e.summary;return!t||typeof t!=`object`||Array.isArray(t)?null:t},ze=e=>{let t=Le(e);return t!==void 0&&t>0?t:void 0};function Be(e){let t=Re(e);if(!t)return null;let n=ze(t.additions),r=ze(t.deletions),i=ze(t.files)??ze(t.diffCount);return n===void 0&&r===void 0&&i===void 0?null:{...n===void 0?{}:{additions:n},...r===void 0?{}:{deletions:r},...i===void 0?{}:{files:i}}}function Ve(e){if(!e)return null;let t=[];return e.additions!==void 0&&e.additions>0&&t.push(`+${e.additions}`),e.deletions!==void 0&&e.deletions>0&&t.push(`−${e.deletions}`),t.length>0?t.join(` `):null}function He(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e,n=typeof t.providerID==`string`?t.providerID.trim():``,r=typeof t.modelID==`string`?t.modelID.trim():``;if(n&&r)return`${n}/${r}`;let i=t.model;if(typeof i==`string`&&i.trim())return i.trim();if(i&&typeof i==`object`&&!Array.isArray(i)){let e=i,t=typeof e.providerID==`string`?e.providerID.trim():typeof e.provider==`string`?e.provider.trim():``,n=typeof e.modelID==`string`?e.modelID.trim():typeof e.id==`string`?e.id.trim():``;if(t&&n)return`${t}/${n}`}return null}function Ue(e){if(!e||typeof e!=`object`||Array.isArray(e))return null;let t=e;if(typeof t.branch==`string`&&t.branch.trim())return t.branch.trim();let n=t.project;if(n&&typeof n==`object`&&!Array.isArray(n)){let e=n.branch;if(typeof e==`string`&&e.trim())return e.trim()}return null}export{z as A,G as C,V as D,H as E,P as F,re as M,ne as N,de as O,F as P,be as S,W as T,Y as _,je as a,Ce as b,Fe as c,Oe as d,Ae as f,Se as g,xe as h,He as i,ie as j,le as k,Ee as l,X as m,Ue as n,Pe as o,ke as p,Be as r,Ne as s,Ve as t,De as u,ye as v,fe as w,we as x,Te as y};
@@ -1 +0,0 @@
1
- ._glyph_198kg_1{contain:strict;width:20px;height:20px;color:var(--voice-active-fill);flex:none;display:block;position:relative;overflow:hidden}._lens_198kg_12{transform-origin:0 0;width:28px;height:28px;position:absolute;top:0;left:0;transform:scale(.714286)}._shape_198kg_22{background:currentColor;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;animation:3.3s linear infinite both _revolve_198kg_1;position:absolute;top:50%;left:50%}._shape_198kg_22:nth-child(2){animation-delay:-1.1s}._shape_198kg_22:nth-child(3){animation-delay:-2.2s}@keyframes _revolve_198kg_1{0%{opacity:1;filter:blur();transform:rotate(0)translateY(6.5px)scale(1)}25%{opacity:.55;filter:blur(1.3px);transform:rotate(90deg)translateY(6.5px)scale(.82)}50%{opacity:.28;filter:blur(2.4px);transform:rotate(180deg)translateY(6.5px)scale(.66)}75%{opacity:.55;filter:blur(1.3px);transform:rotate(270deg)translateY(6.5px)scale(.82)}to{opacity:1;filter:blur();transform:rotate(360deg)translateY(6.5px)scale(1)}}@media (prefers-reduced-motion:reduce){._shape_198kg_22{animation:none;transform:translateY(6.5px)}._shape_198kg_22:nth-child(2){transform:rotate(120deg)translateY(6.5px)}._shape_198kg_22:nth-child(3){transform:rotate(240deg)translateY(6.5px)}}:is(.oc-mobile-composer,.oc-hold-to-talk-container)[data-hold-to-talk-empty=true] textarea,:is(.oc-mobile-composer,.oc-hold-to-talk-container)[data-hold-to-talk-empty=true] textarea::placeholder,:is(.oc-mobile-composer,.oc-hold-to-talk-container)[data-hold-to-talk-empty=true] [data-oc-composer-compact-surface]{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.oc-speech-overlay{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;z-index:9999;pointer-events:none;color:var(--surface-foreground);background:linear-gradient(180deg, color-mix(in srgb, var(--surface-foreground) 94%, transparent), color-mix(in srgb, var(--surface-foreground) 82%, transparent) 30%, color-mix(in srgb, var(--surface-foreground) 48%, transparent) 50%, color-mix(in srgb, var(--surface-foreground) 82%, transparent) 70%, color-mix(in srgb, var(--surface-foreground) 94%, transparent));animation:.24s ease-out both oc-speech-in;position:fixed;inset:0;overflow:hidden}.oc-speech-light-field{height:48vh;min-height:210px;position:absolute;inset:0 0 auto;overflow:hidden}.oc-speech-reactor{--speech-color:var(--surface-background);transform-origin:50% 26%;opacity:.28;position:absolute}.oc-speech-light{background:radial-gradient(ellipse at 50% 26%, color-mix(in srgb, var(--speech-color) 40%, transparent), color-mix(in srgb, var(--speech-color) 14%, transparent) 30%, transparent 74%);animation:7s ease-in-out infinite oc-speech-flow;position:absolute;inset:0}.oc-speech-reactor--ice{width:90%;height:190px;top:-40px;left:-8%}.oc-speech-reactor--lilac{width:90%;height:180px;top:-30px;right:-8%}.oc-speech-reactor--lilac .oc-speech-light{animation-duration:8s;animation-delay:-2s}.oc-speech-reactor--mint,.oc-speech-reactor--blush{display:none}.oc-speech-reactor--mid{opacity:.2;width:80%;height:175px;top:-22px;left:10%}.oc-speech-reactor--core{width:116%;height:250px;transform:scale(calc(.74 + var(--speech-energy) * .84));opacity:calc(.1 + var(--speech-energy) * .78);transition:transform .1s ease-out,opacity .1s ease-out;top:-46px;left:-8%}.oc-speech-reactor--core .oc-speech-light{animation:none}.oc-speech-content{top:calc(max(env(safe-area-inset-top), 20px) + 68px);text-align:center;color:var(--surface-background);animation:.5s cubic-bezier(.2,.8,.25,1) both oc-speech-content-in;position:absolute;left:32px;right:32px}.oc-speech-caption{overflow-wrap:anywhere;white-space:pre-wrap;max-height:5.4em;font-size:calc(18 * var(--dpt));letter-spacing:.25px;flex-direction:column;justify-content:flex-end;font-weight:620;line-height:1.8;animation:2.4s ease-in-out infinite oc-speech-breathe;display:flex;overflow:clip}.oc-speech-caption>*{flex-shrink:0}.oc-speech-overlay[data-error=true]{pointer-events:auto;touch-action:none}.oc-speech-content[data-starting=true]{animation:none}.oc-speech-loading{justify-content:center;align-items:center;gap:7px;height:26px;display:inline-flex}.oc-speech-loading>span{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.05s ease-in-out infinite oc-speech-dot}.oc-speech-loading>span:nth-child(2){animation-delay:.15s}.oc-speech-loading>span:nth-child(3){animation-delay:.3s}.oc-speech-error{color:var(--status-error);animation:none}.oc-speech-interim{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 58%, transparent);text-decoration-color:color-mix(in srgb, currentColor 58%, transparent);text-underline-offset:4px}.oc-speech-gesture-stage{--speech-stage-bottom:calc(env(safe-area-inset-bottom) + 32px);padding-bottom:var(--speech-stage-bottom);background:linear-gradient(transparent calc(100% - var(--speech-stage-bottom)), color-mix(in srgb, var(--surface-background) 72%, var(--surface-foreground)) 0);position:absolute;inset:auto 0 0}.oc-speech-gesture-surfaces{position:relative}.oc-speech-target-glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:absolute;inset:0}.oc-speech-geometry{width:100%;height:auto;display:block;position:relative;overflow:visible}.oc-speech-target{font-size:calc(20 * var(--dpt));opacity:1;font-weight:600}.oc-speech-target path{fill:color-mix(in srgb, var(--surface-background) 12%, transparent);transition:fill .18s}.oc-speech-target text{fill:var(--surface-background)}.oc-speech-target[data-active=true] path{fill:color-mix(in srgb, var(--surface-background) 40%, transparent)}.oc-speech-hold-arc{stroke:color-mix(in srgb, var(--surface-background) 65%, var(--surface-foreground));stroke-width:4px}.oc-speech-arc-top{stop-color:color-mix(in srgb, var(--surface-background) 55%, var(--surface-foreground))}.oc-speech-arc-bottom{stop-color:color-mix(in srgb, var(--surface-background) 72%, var(--surface-foreground))}.oc-mobile-composer:is([data-dictation-hint=recording],[data-dictation-hint=cancelling],[data-dictation-hint=editing]) :is(.oc-mobile-composer-surface,.oc-mobile-composer-compact-layer){opacity:0}@keyframes oc-speech-in{0%{opacity:0}to{opacity:1}}@keyframes oc-speech-dot{0%,70%,to{transform:scale(.65)}35%{transform:scale(1.25)}}@keyframes oc-speech-content-in{0%{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes oc-speech-flow{0%,to{opacity:.65;transform:translateY(-3px)}50%{opacity:.85;transform:translateY(5px)}}@keyframes oc-speech-breathe{0%,to{opacity:.84}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.oc-speech-overlay,.oc-speech-overlay *{transition:none;animation:none}}