@openchambery/web 2.1.10-beta.2 → 2.1.10-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AssistantView-b4ehjorA.js +3 -0
- package/dist/assets/{DiagramView-DPG08AdO.js → DiagramView-BaGHUm0-.js} +1 -1
- package/dist/assets/FadeInOnReveal-C-zbv53H.js +1 -0
- package/dist/assets/{MarkdownRenderer-DGEgKLc_.js → MarkdownRenderer-CFVvfuhR.js} +2 -2
- package/dist/assets/MarkdownRendererImpl-jmqHuDQZ.js +10 -0
- package/dist/assets/{MarkstreamRendererImpl-Cf_KaqWa.js → MarkstreamRendererImpl-DPOZ9qu8.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-D7YaNNaJ.js → MobileDetailNavigation-BIoz1Npe.js} +1 -1
- package/dist/assets/MobileResizableSheet-Bs4gAbDr.js +1 -0
- package/dist/assets/{MobileShareBridge-D64fwcRz.js → MobileShareBridge-J0mniNpy.js} +1 -1
- package/dist/assets/{MobileTabPageHeader-DmQ8BWMp.js → MobileTabPageHeader-BCh8oQ6e.js} +1 -1
- package/dist/assets/{MultiRunWindow-CxxFFRws.js → MultiRunWindow-DDlBWa0m.js} +1 -1
- package/dist/assets/{SettingsView-DITIlrFh.js → SettingsView-D52TGtCB.js} +9 -9
- package/dist/assets/{SettingsWindow-tqeq2OtY.js → SettingsWindow-C2AHpt9S.js} +1 -1
- package/dist/assets/{TerminalView-Bb-mBmQQ.js → TerminalView-J0dHlg0u.js} +1 -1
- package/dist/assets/ToolOutputDialog-GWRtb7zV.js +10 -0
- package/dist/assets/{appThemeRegistry-PQmw-QsY.js → appThemeRegistry-C8bq_-cg.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-CbSWZJQ4.js → fileMentionTouchSelection-C8hotsbV.js} +1 -1
- package/dist/assets/{gitApi-CHaFwuo8.js → gitApi-etcbFClL.js} +1 -1
- package/dist/assets/insertionBoundaries-B42nWZi5.js +1 -0
- package/dist/assets/{main-B5luumAR.js → main-DRvqRoHG.js} +2 -2
- package/dist/assets/main-QSpW8-bh.js +169 -0
- package/dist/assets/markdownTheme-Y4nBAXal.js +1 -0
- package/dist/assets/{mcpQueries-DZ9Pf-ZU.js → mcpQueries-CqXmLf7u.js} +1 -1
- package/dist/assets/{miniChat-DgFhB0I0.js → miniChat-CVVkf6qd.js} +2 -2
- package/dist/assets/mobile-C3YKq4-C.js +2 -0
- package/dist/assets/multirun-D8Ii4AuB.js +3 -0
- package/dist/assets/projectMeta-6tg2sJJq.js +1 -0
- package/dist/assets/renderElectronMiniChatApp-B52l6XWX.js +2 -0
- package/dist/assets/renderMobileApp-G6v2GZNC.js +28 -0
- package/dist/assets/{runtimeConfig-Cwql9L75.js → runtimeConfig-DHT_B7ZP.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-DhzZeJVf.js → runtimeEndpointReset-DyJRGL5Y.js} +6 -6
- package/dist/assets/sessionChangeSummary-BM6atDrR.js +1 -0
- package/dist/assets/{sessionLookup-CQKnyWCO.js → sessionLookup-CZ26KqA-.js} +1 -1
- package/dist/assets/speechSettingsQueries-8iZjJmXu.js +4 -0
- package/dist/assets/src-B1YRV5EQ.css +2 -0
- package/dist/assets/textarea-BAwBi2AO.js +1 -0
- package/dist/assets/{useAppFontEffects-2MUiIVWh.js → useAppFontEffects-BRHGEFRm.js} +40 -40
- package/dist/assets/{useDesktopWindowControlsLayout-CRLFVne5.js → useDesktopWindowControlsLayout-g2wk-J1P.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-C650wrIQ.js → useEffectiveDirectory-C5trBWhE.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-D38buR1v.js → useMobileNavigationStore-BnxWwj5z.js} +10 -10
- package/dist/assets/useWorkerHighlightedLines-D3P0ms_2.js +7 -0
- package/dist/index.html +3 -3
- package/dist/mini-chat.html +3 -3
- package/dist/mobile.html +3 -3
- package/package.json +1 -1
- package/dist/assets/AssistantView-CF1D30g8.js +0 -3
- package/dist/assets/FadeInOnReveal-CX8Bkq-l.js +0 -1
- package/dist/assets/MarkdownRendererImpl-BS4gMg7b.js +0 -10
- package/dist/assets/MobileWindowStack-DGLdgoGr.js +0 -1
- package/dist/assets/ToolOutputDialog-DeKTxH8F.js +0 -10
- package/dist/assets/insertionBoundaries-DCDDigXK.js +0 -1
- package/dist/assets/main-BzhOkq3E.js +0 -169
- package/dist/assets/markdownTheme-CV7_0QAL.js +0 -1
- package/dist/assets/mobile-CdBRJYfx.js +0 -2
- package/dist/assets/multirun-zAbWGsTT.js +0 -3
- package/dist/assets/projectMeta-BLozVrFV.js +0 -1
- package/dist/assets/renderElectronMiniChatApp-B0fudUgS.js +0 -2
- package/dist/assets/renderMobileApp-MlSrQBLw.js +0 -28
- package/dist/assets/sessionChangeSummary-hsK-TEdS.js +0 -1
- package/dist/assets/speechSettingsQueries-CyiQ0pWk.js +0 -4
- package/dist/assets/src-Bud55RXh.css +0 -2
- package/dist/assets/textarea-D_tvJ-Lw.js +0 -1
- package/dist/assets/useWorkerHighlightedLines-Dsmyyb8q.js +0 -7
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t}from"./runtime-fetch-WgH0pROs.js";import{Mn as n,ln as r}from"./persistence-BKszKaoQ.js";import{it as i,rt as a}from"./vendor-base-ui-CdzJ6My_.js";import{n as o}from"./platform-CgwxwfA4.js";import{v as s}from"./useUIStore-CEqU9Ujv.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{n as d}from"./vendor-reactuses-core-BpfIZ1tg.js";import{f,r as p,t as m}from"./button-CWSs9Baz.js";import{Rr as h}from"./useMobileNavigationStore-BnxWwj5z.js";import{n as g}from"./useThemeSystem-8jhE4Zyk.js";import{n as _}from"./Icon-BCFeHDWx.js";import{i as v,n as y,t as b}from"./tooltip-CV6dvLBp.js";import{a as x,i as S,o as C,t as w}from"./image-loading-Bj11k4gM.js";import{t as T}from"./MobileResizableSheet-Bs4gAbDr.js";import{i as E}from"./appThemeRegistry-C8bq_-cg.js";import{n as D}from"./MarkdownRenderer-CFVvfuhR.js";import{n as ee,o as te,s as ne,t as re}from"./markdown-worker-DFNZ3KJ_.js";import{n as ie,r as ae}from"./markdownTheme-Y4nBAXal.js";import{t as oe}from"./vendor-tanstack-react-virtual-B_EO--9t.js";var O=e(i(),1),k=c(),A=a(),se=`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)`},ce=`flex items-center justify-between gap-3 border-b border-[var(--surface-subtle)] px-3 py-2.5`,le=`text-xs font-medium leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,ue=`text-xs tabular-nums leading-4 text-muted-foreground md:text-[0.8125rem] md:leading-5`,M=`m-0 list-none divide-y divide-[var(--surface-subtle)] p-0`,N=`${M} max-h-[min(22rem,50vh)] overflow-y-auto`,de=`${M} w-full`,fe={className:`p-0 rounded-none`,maxHeightClass:`max-h-[46vh]`,disableHorizontal:!0},P=`px-2.5 py-1.5 text-xs leading-4 md:py-2 md:text-[0.8125rem] md:leading-5`,pe=`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`,F=`min-w-0 truncate text-xs leading-4 text-foreground md:text-[0.8125rem] md:leading-5`,I=`inline-flex shrink-0 items-center gap-1 text-xs leading-4 tabular-nums text-muted-foreground md:text-[0.8125rem] md:leading-5`,L=`h-3 w-3 shrink-0 md:h-3.5 md:w-3.5`,R={in_progress:`text-foreground`,pending:`text-foreground`,completed:`text-muted-foreground line-through`,cancelled:`text-muted-foreground line-through`},z={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`},B=e=>{let t=(0,k.c)(26),{todo:n,isActive:r,activeRef:i}=e,{t:a}=f(),o=me.has(n.status)?n.status:`pending`,s=z[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)(_,{name:`record-circle`,className:`h-3.5 w-3.5 text-[var(--status-info)]`,"aria-hidden":`true`}):o===`completed`?(0,A.jsx)(_,{name:`checkbox-circle`,className:`h-3.5 w-3.5 text-[var(--status-success)]`,"aria-hidden":`true`}):(0,A.jsx)(_,{name:`time`,className:`h-3.5 w-3.5 text-muted-foreground`,"aria-hidden":`true`}),t[3]=o,t[4]=u);let d=u,m=r?`step`:void 0,h=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)]`,g;t[5]===h?g=t[6]:(g=p(`group relative grid min-w-0 grid-cols-[1rem_minmax(0,1fr)] items-start gap-2.5`,P,h),t[5]=h,t[6]=g);let x;t[7]!==d||t[8]!==l?(x=(0,A.jsx)(v,{asChild:!0,children:(0,A.jsx)(`span`,{className:`flex size-4 items-center justify-center`,"aria-label":l,children:d})}),t[7]=d,t[8]=l,t[9]=x):x=t[9];let S;t[10]===l?S=t[11]:(S=(0,A.jsx)(y,{side:`left`,sideOffset:6,children:l}),t[10]=l,t[11]=S);let C;t[12]!==x||t[13]!==S?(C=(0,A.jsxs)(b,{children:[x,S]}),t[12]=x,t[13]=S,t[14]=C):C=t[14];let w=R[o],T;t[15]===w?T=t[16]:(T=p(`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]!==g||t[24]!==C?(D=(0,A.jsxs)(`li`,{ref:i,"aria-current":m,className:g,children:[C,E]}),t[20]=i,t[21]=E,t[22]=m,t[23]=g,t[24]=C,t[25]=D):D=t[25],D},me=new Set([`in_progress`,`pending`,`completed`,`cancelled`]),V=`image/png`,H=l(`OpenChamberMedia`),U=e=>{let t=e.toLowerCase().split(`;`)[0]?.trim()||V;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`;if(t===`video/quicktime`)return`mov`;let n=t.split(`/`)[1];return n&&/^[a-z0-9.+-]+$/i.test(n)?n:`png`},he=(e,t)=>{let n=`${t.startsWith(`video/`)?`video`:`image`}.${U(t)}`,r=(((e||``).trim()||n).split(/[\\/]/).pop()||n).replace(/[^\w.\- ()[\]]+/g,`_`).replace(/^\.+/,``);return r?/\.[a-z0-9]{1,8}$/i.test(r)?r:`${r}.${U(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)}),ge=async e=>{let t=await W(e),n=t.indexOf(`,`);return n>=0?t.slice(n+1):t},_e=(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,n)=>{let r=await(/^\/api(?=\/|[?#]|$)/.test(e)?t(e,{signal:n,cache:`no-store`}):fetch(e,{signal:n,cache:`no-store`}));if(!r.ok)throw Error(`Image fetch failed (${r.status})`);return r.blob()},ve=async(e,t)=>{let n=``;try{return n=await w(e,t??new AbortController().signal),await G(n,t)}finally{n&&x(n)}},ye=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 o=C(a,r);if(S(o))if(e.kind===`video`){let e=await t(`/api/fs/raw`,{query:{path:o.path},signal:n});if(!e.ok)throw Error(`Media request failed (${e.status})`);i=await e.blob()}else try{i=await ve(o.path,n)}catch{let e=await t(`/api/fs/raw`,{method:`GET`,cache:`no-store`,query:{path:o.path},signal:n});if(!e.ok)throw Error(`Image source request failed with status ${e.status}`);i=await e.blob()}else i=await G(o.source,n)}}if(!i||i.size<=0)throw Error(`Image is empty`);let o=(e.mimeType||(i.type&&/^(image|video)\//.test(i.type)?i.type:``)||(e.kind===`video`?`video/mp4`:``)||V).split(`;`)[0].trim()||V;return{blob:i,filename:he(e.filename,o),mimeType:o}},be=()=>!o()||u===void 0?!1:u.isPluginAvailable(`OpenChamberMedia`),xe=async(e,t)=>{let{blob:i,filename:a,mimeType:o}=await ye(e,t);if(be()){let t=await ge(i);if(e.kind===`video`){if((await H.saveFile({dataBase64:t,mimeType:o,filename:a}))?.cancelled)throw new DOMException(`Save cancelled`,`AbortError`);return`saved`}return await H.saveImage({dataBase64:t,mimeType:o,filename:a}),`saved`}if(r()){if(e.kind===`video`){let t=C(e.sourceUrl,e.effectiveDirectory??``),r=n()?.files;if(S(t)&&r?.downloadFile)return await r.downloadFile(t.path),`saved`;throw Error(`Video download is unavailable for this source in VS Code`)}let t=n()?.vscode;if(t?.saveImage){let e=await W(i);return await t.saveImage({fileName:a,dataUrl:e}),`saved`}}return _e(i,a),`downloaded`};function Se({abovePreview:e=!1}){let{t}=f(),[n,r]=O.useState(null),[i,a]=O.useState(!1),s=O.useRef(null),c=!!n;O.useEffect(()=>ae(e=>{r(e),a(!1)}),[]);let l=d(e=>{e||(r(null),a(!1))});E({id:`image-save-actions`,active:c,layer:`overlay`,onBack:()=>(l(!1),!0),surfaceRef:s});let u=d(async()=>{if(!(!n||i)){a(!0);try{await xe(n),h.success(t(n.kind===`video`?`filesView.editor.saved`:`chat.image.actions.saveSuccess`)),r(null)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`){a(!1);return}h.error(t(n.kind===`video`?`filesView.toast.saveFailed`:`chat.image.actions.saveFailed`)),a(!1);return}a(!1)}});if(!n)return null;let p=n.filename?.trim()||t(`chat.image.actions.sheetTitle`),g=n.kind===`video`?t(`filesView.editor.saveFile`):o()?t(`chat.image.actions.saveToPhotos`):t(`chat.image.actions.saveImage`);return(0,A.jsx)(`div`,{ref:s,children:(0,A.jsx)(T,{id:`image-save-actions-sheet`,className:e?`z-[90]`:void 0,open:c,onOpenChange:l,title:(0,A.jsx)(`h2`,{className:`truncate typography-ui-label font-semibold`,children:p}),ariaLabel:p,closeAriaLabel:t(`mobile.surface.closeAria`),resizeAriaLabel:t(`mobile.sessions.sheet.resizeAria`),fitContent:!0,children:(0,A.jsx)(`div`,{className:`flex min-h-0 flex-col overflow-y-auto overscroll-contain px-3 pb-3`,children:(0,A.jsx)(`div`,{className:`overflow-hidden rounded-2xl bg-[var(--surface-muted)]`,"data-page-scroll-lock":`true`,children:(0,A.jsxs)(m,{type:`button`,variant:`ghost`,size:`lg`,className:`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`,"data-mobile-press-feedback":`none`,disabled:i,onClick:()=>{u()},children:[(0,A.jsx)(_,{name:i?`loader-4`:`download`,className:i?`size-5 animate-spin`:`size-5`}),(0,A.jsx)(`span`,{className:`truncate`,children:i?t(`chat.image.actions.saving`):g})]})})})})})}var Ce=e=>e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`),we=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=we(n);e&&i.setAttribute(`style`,`${i.getAttribute(`style`)??``}${e}`)}},Te=e=>`<pre><code>${Ce(e)}</code></pre>`,Ee=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}=g(),u=O.useRef(null),d;t[0]===l?d=t[1]:(d=ie(l),t[0]=l,t[1]=d);let f=d,m,h;t[2]!==n||t[3]!==o||t[4]!==c?(m=()=>{let e=u.current;e&&(e.innerHTML=Te(n),K(e,c,o))},h=[n,c,o],t[2]=n,t[3]=o,t[4]=c,t[5]=m,t[6]=h):(m=t[5],h=t[6]),O.useLayoutEffect(m,h);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 re(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=p(`typography-code`,i),t[13]=i,t[14]=y);let b=f,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},De=e=>{let t=e.replace(/^<file>\s*\n?/,``).replace(/\n?<\/file>\s*$/,``);return t=t.replace(/^\s*\d{5}\|\s?/gm,``),t.trim()},Oe=(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}},ke=e=>e?e.includes(`<diagnostics`)||e.includes(`<file_diagnostics>`)||e.includes(`LSP errors detected`)||e.includes(`This file has errors`):!1,Ae=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():``,q=(e,t)=>!e||typeof e!=`object`?String(e):ne(e,t||``),J=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}}},je=e=>{if(!e||typeof e!=`object`)return;let t=J(e.patch)??J(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=J(e.patch)??J(e.diff);if(t)return t}},Me=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}}},Ne=(e,t,n)=>{let r=De(e);if((t===`edit`||t===`multiedit`||t===`write`||t===`apply_patch`)&&ke(r)&&(r=Ae(r)),(t===`edit`||t===`multiedit`||t===`apply_patch`)&&r.trim().length===0){let e=je(n);if(e)return e}return r},Pe=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
|
+
`).split(`
|
|
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)})}},Fe=(e,t)=>{try{let n=e.trim().split(`
|
|
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:p(`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}},Ie={backgroundColor:`var(--status-info)`,opacity:.6},Le=(e,t,n)=>{try{let r=e.trim().split(`
|
|
5
|
+
`).filter(Boolean);if(r.length===0)return null;let i={};return r.forEach(e=>{let t=e.match(/^(.+?):(\d+):(.*)$/)||e.match(/^(.+?):(.*)$/);if(t){let[,e,n,r]=t,a=r===void 0?``:n,o=r===void 0?n:r;i[e]||(i[e]=[]),i[e].push({lineNum:a,content:o})}}),(0,A.jsxs)(`div`,{className:p(`space-y-2 w-full min-w-0`,n?.unstyled?null:`p-3 bg-muted/20 rounded-xl border border-border/30`),style:s.tool.popup,children:[(0,A.jsxs)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:[`Found `,r.length,` match`,r.length===1?``:`es`]}),Object.entries(i).map(([e,n])=>(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsx)(`div`,{className:p(`font-medium text-muted-foreground`,t?`typography-micro`:`typography-code`),children:e}),(0,A.jsx)(`div`,{className:`pl-4 space-y-1`,children:n.map((e,n)=>!e.lineNum&&!e.content?null:(0,A.jsxs)(`div`,{className:p(`flex items-start gap-2 min-w-0`,t?`typography-micro`:`typography-code`),children:[(0,A.jsx)(`div`,{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 mt-1.5`,style:Ie}),(0,A.jsxs)(`div`,{className:`flex gap-2 min-w-0 flex-1`,children:[e.lineNum&&(0,A.jsxs)(`span`,{className:`text-muted-foreground font-mono whitespace-nowrap`,children:[`Line `,e.lineNum,`:`]}),(0,A.jsx)(`span`,{className:`text-foreground font-mono break-words flex-1`,children:e.content||`\xA0`})]})]},n))})]},e))]})}catch{return null}},Re={backgroundColor:`var(--status-info)`,opacity:.6},ze=(e,t,n)=>{try{let r=e.trim().split(`
|
|
6
|
+
`).filter(Boolean);if(r.length===0)return null;let i={};r.forEach(e=>{let t=e.lastIndexOf(`/`),n=t>0?e.substring(0,t):`/`,r=t>=0?e.substring(t+1):e;i[n]||(i[n]=[]),i[n].push(r)});let a=Object.keys(i).sort();return(0,A.jsxs)(`div`,{className:p(`space-y-2 w-full min-w-0`,n?.unstyled?null:`p-3 bg-muted/20 rounded-xl border border-border/30`),style:s.tool.popup,children:[(0,A.jsxs)(`div`,{className:`typography-meta text-muted-foreground mb-2`,children:[`Found `,r.length,` file`,r.length===1?``:`s`]}),a.map(e=>(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsxs)(`div`,{className:p(`font-medium text-muted-foreground`,t?`typography-micro`:`typography-code`),children:[e,`/`]}),(0,A.jsx)(`div`,{className:p(`pl-4 grid gap-1`,t?`grid-cols-1`:`grid-cols-2`),children:i[e].sort().map(e=>(0,A.jsxs)(`div`,{className:p(`flex items-center gap-2 min-w-0`,t?`typography-micro`:`typography-code`),children:[(0,A.jsx)(`div`,{className:`w-1.5 h-1.5 rounded-full flex-shrink-0`,style:Re}),(0,A.jsx)(`span`,{className:`text-foreground font-mono truncate`,children:e})]},e))})]},e))]})}catch{return null}},Be=new Set([`in_progress`,`pending`,`completed`,`cancelled`]),Ve=(e,t,n)=>{try{let t=JSON.parse(e);if(!Array.isArray(t))return null;let r=t.filter(e=>!!e&&typeof e==`object`&&typeof e.content==`string`&&typeof e.status==`string`&&Be.has(e.status));if(r.length===0)return null;let i=r.find(e=>e.status===`in_progress`)??null;return(0,A.jsx)(`ul`,{className:n?.listClassName??N,children:r.map((e,t)=>(0,A.jsx)(B,{todo:e,isActive:e===i},e.id??`todo-${t}`))})}catch{return null}},He=(e,t)=>{try{return(0,A.jsx)(`div`,{className:p(`typography-code max-w-none w-full min-w-0`,t?.unstyled?null:`p-3 bg-muted/20 rounded-xl border border-border/20`),style:s.tool.popup,children:(0,A.jsx)(D,{content:e,variant:`tool`})})}catch{return null}},Ue=e=>{let t=e.split(`
|
|
7
|
+
`),n=``,r=[],i=0;for(;i<t.length;){let e=t[i];if(e.startsWith(`Index:`)||e.startsWith(`===`)||e.startsWith(`---`)||e.startsWith(`+++`)){e.startsWith(`Index:`)&&(n=e.split(` `)[1].split(`/`).pop()||`file`),i++;continue}if(e.startsWith(`@@`)){let a=e.match(/@@ -(\d+),\d+ \+(\d+),\d+ @@/),o=a?parseInt(a[1]):0,s=a?parseInt(a[2]):0,c=[],l=o,u=s,d=i+1;for(;d<t.length&&!t[d].startsWith(`@@`)&&!t[d].startsWith(`Index:`);){let e=t[d];e.startsWith(`+`)?(c.push({type:`added`,lineNumber:u,content:e.substring(1)}),u++):e.startsWith(`-`)?(c.push({type:`removed`,lineNumber:l,content:e.substring(1)}),l++):e.startsWith(` `)&&(c.push({type:`context`,lineNumber:u,content:e.substring(1)}),l++,u++),d++}r.push({file:n,oldStart:o,newStart:s,lines:c}),i=d;continue}i++}return r},We=(e,t,n)=>te(t,e,n),Ge={maxDepth:50,maxNodes:1e5,initiallyExpandedDepth:2};function Ke(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e==`object`?`object`:typeof e==`string`?`string`:typeof e==`number`?`number`:typeof e==`boolean`?`boolean`:`null`}function qe(e){if(e.length===0)return`root`;let t=`root`;for(let n of e)/^\d+$/.test(n)?t+=`[${n}]`:t+=`.${n}`;return t}var Y=0;function X(e,t,n,r,i){if(Y>=i.maxNodes)return null;Y++;let a=Ke(e),o=qe(n),s=a===`object`||a===`array`,c={id:o,key:t,value:e,type:a,depth:r,path:n,isExpandable:s};if(s&&r<i.maxDepth){let t=a===`array`?e.map((e,t)=>[String(t),e]):Object.entries(e);c.childCount=t.length,c.children=[];for(let[e,a]of t){let t=X(a,e,[...n,e],r+1,i);t&&c.children.push(t)}}else s&&(c.childCount=a===`array`?e.length:Object.keys(e).length);return c}function Je(e,t){let n={...Ge,...t};Y=0;try{let t=e.trim();return t?X(JSON.parse(t),`root`,[],0,n):null}catch{return null}}function Ye(e,t){if(!e)return[];let n=[];function r(e){let i=!t.has(e.id);if(n.push({node:e,isExpanded:i}),e.isExpandable&&i&&e.children)for(let t of e.children)r(t)}return r(e),n}function Xe(e){if(!e)return[];let t=[];function n(e){if(e.isExpandable&&(t.push(e.id),e.children))for(let t of e.children)n(t)}return n(e),t}function Ze(e,t){if(!e)return[];let n=[];function r(e){if(e.isExpandable&&e.depth>=t&&n.push(e.id),e.children)for(let t of e.children)r(t)}return r(e),n}var Z=[`var(--syntax-key)`,`color-mix(in oklch, var(--syntax-key) 85%, var(--syntax-string))`,`color-mix(in oklch, var(--syntax-key) 70%, var(--syntax-number))`,`color-mix(in oklch, var(--syntax-key) 55%, var(--syntax-function))`,`color-mix(in oklch, var(--syntax-key) 40%, var(--syntax-type))`,`color-mix(in oklch, var(--syntax-key) 30%, var(--syntax-keyword))`];function Qe(e){return Z[e%Z.length]}function $e(e){switch(e.type){case`string`:return`var(--syntax-string)`;case`number`:return`var(--syntax-number)`;case`boolean`:return`var(--syntax-keyword)`;case`null`:return`var(--syntax-comment)`;default:return`var(--surface-foreground)`}}function Q(e){switch(e.type){case`string`:{let t=e.value;return t.length>60?`"${t.slice(0,57)}..."`:`"${t}"`}case`number`:case`boolean`:return String(e.value);case`null`:return`null`;case`object`:return`{${e.childCount??0} ${e.childCount===1?`item`:`items`}}`;case`array`:return`[${e.childCount??0}]`;default:return String(e.value)}}function et(e){if(e.type===`object`){let t=e.children?.map(e=>e.key).slice(0,3)??[],n=(e.childCount??0)>3?`, ...`:``;return`{ ${t.map(e=>`"${e}": ...`).join(`, `)}${n} }`}if(e.type===`array`){let t=e.childCount??0;return t<=3?`[${e.children?.map(e=>Q(e)).join(`, `)??``}]`:`[${t} items]`}return Q(e)}var $=O.memo(e=>{let t=(0,k.c)(29),{flatNode:n,onToggle:r,onCopyPath:i}=e,{node:a,isExpanded:o}=n,s=a.depth*20,c;t[0]!==a.id||t[1]!==r?(c=()=>{r(a.id)},t[0]=a.id,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==a.id||t[4]!==i?(u=e=>{i&&(e.preventDefault(),i(a.id))},t[3]=a.id,t[4]=i,t[5]=u):u=t[5];let d=u,f;t[6]===a.depth?f=t[7]:(f=Qe(a.depth),t[6]=a.depth,t[7]=f);let p=f,m;t[8]===a?m=t[9]:(m=$e(a),t[8]=a,t[9]=m);let h=m,g=a.isExpandable&&a.children&&a.children.length>0,v=`${s+8}px`,y;t[10]===v?y=t[11]:(y={paddingLeft:v},t[10]=v,t[11]=y);let b;t[12]!==l||t[13]!==g||t[14]!==o?(b=g?(0,A.jsx)(`button`,{type:`button`,onClick:l,className:`mr-1 flex h-4 w-4 shrink-0 items-center justify-center rounded-sm hover:bg-[var(--interactive-hover)] text-muted-foreground`,children:o?(0,A.jsx)(_,{name:`arrow-down-s`,className:`h-3 w-3`}):(0,A.jsx)(_,{name:`arrow-right-s`,className:`h-3 w-3`})}):(0,A.jsx)(`span`,{className:`mr-1 w-4`}),t[12]=l,t[13]=g,t[14]=o,t[15]=b):b=t[15];let x;t[16]!==p||t[17]!==a.key?(x=a.key!==`root`&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(`span`,{className:`mr-1 font-semibold`,style:{color:p},children:/^\d+$/.test(a.key)?a.key:`"${a.key}"`}),(0,A.jsx)(`span`,{className:`mr-1 text-[var(--surface-foreground)]`,children:`:`})]}),t[16]=p,t[17]=a.key,t[18]=x):x=t[18];let S;t[19]!==o||t[20]!==a||t[21]!==h?(S=a.isExpandable?o?(0,A.jsx)(`span`,{className:`text-[var(--surface-foreground)]`,children:a.type===`object`?`{`:`[`}):(0,A.jsx)(`span`,{style:{color:`var(--surface-mutedForeground)`},children:et(a)}):(0,A.jsx)(`span`,{style:{color:h},children:Q(a)}),t[19]=o,t[20]=a,t[21]=h,t[22]=S):S=t[22];let C;return t[23]!==d||t[24]!==y||t[25]!==b||t[26]!==x||t[27]!==S?(C=(0,A.jsxs)(`div`,{className:`flex items-center py-0.5 px-2 hover:bg-[var(--surface-hover)] rounded-sm cursor-default font-mono text-xs leading-5 whitespace-nowrap`,style:y,onContextMenu:d,children:[b,x,S]}),t[23]=d,t[24]=y,t[25]=b,t[26]=x,t[27]=S,t[28]=C):C=t[28],C});$.displayName=`JsonRow`;var tt=200,nt=22,rt=O.forwardRef(function({data:e,className:t,maxHeight:n=`100%`,initiallyExpandedDepth:r=2,onCopyPath:i},a){let o=O.useMemo(()=>{try{return JSON.stringify(e)}catch{return null}},[e]),s=O.useMemo(()=>o?Je(o):null,[o]),[c,l]=O.useState(()=>s?new Set(Ze(s,r)):new Set),u=O.useMemo(()=>Ye(s,c),[s,c]),d=u.length>tt,f=O.useRef(null),p=oe({count:u.length,enabled:d,getScrollElement:()=>f.current,estimateSize:()=>nt,overscan:20,getItemKey:e=>u[e]?.node.id??e}),m=O.useCallback(e=>{l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),h=O.useCallback(()=>{l(new Set)},[]),g=O.useCallback(()=>{s&&l(new Set(Xe(s)))},[s]);return O.useImperativeHandle(a,()=>({expandAll:h,collapseAll:g}),[h,g]),s?d?(0,A.jsx)(`div`,{ref:f,className:t,style:{maxHeight:n,overflow:`auto`},children:(0,A.jsx)(`div`,{style:{height:p.getTotalSize(),position:`relative`},children:p.getVirtualItems().map(e=>{let t=u[e.index];return t?(0,A.jsx)(`div`,{"data-index":e.index,ref:p.measureElement,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start}px)`},children:(0,A.jsx)($,{flatNode:t,onToggle:m,onCopyPath:i})},t.node.id):null})})}):(0,A.jsx)(`div`,{ref:f,className:t,style:{maxHeight:n,overflow:`auto`},children:u.map(e=>(0,A.jsx)($,{flatNode:e,onToggle:m,onCopyPath:i},e.node.id))}):null}),it=e=>{let t=(0,k.c)(12),{mode:n,onModeChange:r,className:i}=e,a;t[0]!==n||t[1]!==r?(a=e=>{e.stopPropagation(),r(n===`side-by-side`?`unified`:`side-by-side`)},t[0]=n,t[1]=r,t[2]=a):a=t[2];let o=a,s;t[3]===i?s=t[4]:(s=p(`h-5 w-5 p-0 opacity-60 hover:opacity-100`,i),t[3]=i,t[4]=s);let c=n===`side-by-side`?`Switch to unified view`:`Switch to side-by-side view`,l;t[5]===n?l=t[6]:(l=n===`side-by-side`?(0,A.jsx)(_,{name:`align-justify`,className:`h-3 w-3`}):(0,A.jsx)(_,{name:`layout-column`,className:`h-3 w-3`}),t[5]=n,t[6]=l);let u;return t[7]!==o||t[8]!==s||t[9]!==c||t[10]!==l?(u=(0,A.jsx)(m,{size:`sm`,variant:`ghost`,className:s,onClick:o,title:c,children:l}),t[7]=o,t[8]=s,t[9]=c,t[10]=l,t[11]=u):u=t[11],u},at=(e,t)=>{let n=(0,k.c)(4),[r,i]=O.useState(null),a,o;return n[0]!==e||n[1]!==t?(a=()=>{let n=!0,r=new AbortController;return i(null),ee(e,(t||`text`).toLowerCase(),{signal:r.signal,priority:`visible`}).then(e=>{n&&i(e)}),()=>{n=!1,r.abort()}},o=[e,t],n[0]=e,n[1]=t,n[2]=a,n[3]=o):(a=n[2],o=n[3]),O.useEffect(a,o),r};export{de as A,N as C,L as D,pe as E,F as O,le as S,j as T,Se as _,We as a,ce as b,Ue as c,Le as d,Fe as f,Ee as g,Me as h,Oe as i,fe as j,I as k,Pe as l,He as m,it as n,Ne as o,Ve as p,rt as r,q as s,at as t,ze as u,B as v,P as w,ue as x,se as y};
|
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-
|
|
555
|
+
<script type="module" crossorigin src="/assets/main-DRvqRoHG.js"></script>
|
|
556
556
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
|
|
557
557
|
<link rel="modulepreload" crossorigin href="/assets/runtime-auth-BpCQ-dPr.js">
|
|
558
558
|
<link rel="modulepreload" crossorigin href="/assets/runtime-switch-CMiMO5Yj.js">
|
|
@@ -572,8 +572,8 @@
|
|
|
572
572
|
<link rel="modulepreload" crossorigin href="/assets/terminalApi-rxsMWL0o.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-
|
|
576
|
-
<link rel="stylesheet" crossorigin href="/assets/src-
|
|
575
|
+
<link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DHT_B7ZP.js">
|
|
576
|
+
<link rel="stylesheet" crossorigin href="/assets/src-B1YRV5EQ.css">
|
|
577
577
|
</head>
|
|
578
578
|
<body class="h-full bg-background text-foreground">
|
|
579
579
|
<!-- Keep the startup layer outside #root. React replaces every child of
|
package/dist/mini-chat.html
CHANGED
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
}
|
|
75
75
|
</style>
|
|
76
76
|
|
|
77
|
-
<script type="module" crossorigin src="/assets/miniChat-
|
|
77
|
+
<script type="module" crossorigin src="/assets/miniChat-CVVkf6qd.js"></script>
|
|
78
78
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
|
|
79
79
|
<link rel="modulepreload" crossorigin href="/assets/runtime-auth-BpCQ-dPr.js">
|
|
80
80
|
<link rel="modulepreload" crossorigin href="/assets/runtime-switch-CMiMO5Yj.js">
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
<link rel="modulepreload" crossorigin href="/assets/terminalApi-rxsMWL0o.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-
|
|
98
|
-
<link rel="stylesheet" crossorigin href="/assets/src-
|
|
97
|
+
<link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DHT_B7ZP.js">
|
|
98
|
+
<link rel="stylesheet" crossorigin href="/assets/src-B1YRV5EQ.css">
|
|
99
99
|
</head>
|
|
100
100
|
<body class="h-full bg-background text-foreground">
|
|
101
101
|
<div id="root" class="h-full">
|
package/dist/mobile.html
CHANGED
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
})();
|
|
64
64
|
</script>
|
|
65
65
|
|
|
66
|
-
<script type="module" crossorigin src="/assets/mobile-
|
|
66
|
+
<script type="module" crossorigin src="/assets/mobile-C3YKq4-C.js"></script>
|
|
67
67
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
|
|
68
68
|
<link rel="modulepreload" crossorigin href="/assets/runtime-auth-BpCQ-dPr.js">
|
|
69
69
|
<link rel="modulepreload" crossorigin href="/assets/runtime-switch-CMiMO5Yj.js">
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
<link rel="modulepreload" crossorigin href="/assets/terminalApi-rxsMWL0o.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-
|
|
87
|
-
<link rel="stylesheet" crossorigin href="/assets/src-
|
|
86
|
+
<link rel="modulepreload" crossorigin href="/assets/runtimeConfig-DHT_B7ZP.js">
|
|
87
|
+
<link rel="stylesheet" crossorigin href="/assets/src-B1YRV5EQ.css">
|
|
88
88
|
</head>
|
|
89
89
|
<body class="h-full bg-background text-foreground">
|
|
90
90
|
<div id="root" class="h-full"></div>
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ToolOutputDialog-DeKTxH8F.js","assets/rolldown-runtime-hePW80VL.js","assets/runtime-fetch-WgH0pROs.js","assets/runtime-auth-BpCQ-dPr.js","assets/runtime-switch-CMiMO5Yj.js","assets/vendor-base-ui-CdzJ6My_.js","assets/useUIStore-CEqU9Ujv.js","assets/vendor-zustand-o69pgTEK.js","assets/vendor-react-BP2cRVqX.js","assets/vendor-pierre-diffs-DPBtNDJ5.js","assets/vendor-aparajita-capacitor-secure-storage-xol_6BsB.js","assets/vendor-hast-util-to-html-Bw_SgZ1t.js","assets/vendor-character-entities-legacy-Wut6vMuj.js","assets/vendor-character-entities-html4-DlN_yAFd.js","assets/vendor-ccount-CyGsA0u7.js","assets/vendor-comma-separated-tokens-B9ouxNNS.js","assets/vendor-oniguruma-to-es-CrHzjjSU.js","assets/vendor-oniguruma-parser-D2DIvhSP.js","assets/vendor-diff-Dq7CZNim.js","assets/vendor-lru_map-BMOrLc9L.js","assets/vendor-reactuses-core-BpfIZ1tg.js","assets/vendor-lodash-es-DfLbG5Af.js","assets/vendor-js-cookie-hSOiFTtX.js","assets/button-CWSs9Baz.js","assets/persistence-BKszKaoQ.js","assets/vendor-pathe-vBmvQE8f.js","assets/vendor-tanstack-query-core-BWz0ose6.js","assets/store-CG7Ytsg9.js","assets/vendor-class-variance-authority-BLUaYARZ.js","assets/vendor-tailwind-merge-BicNWLTg.js","assets/useThemeSystem-8jhE4Zyk.js","assets/Icon-BCFeHDWx.js","assets/dialog-BMa16qrs.js","assets/image-loading-Bj11k4gM.js","assets/fileQueries-DVpZC5ha.js","assets/vendor-tanstack-react-query-CdqCAt40.js","assets/useRuntimeAPIs-Cx8S1HLz.js","assets/relay-image-stream-SV0lH6aG.js","assets/image-loading-CObM4tcX.css","assets/MobileWindowStack-DGLdgoGr.js","assets/appThemeRegistry-PQmw-QsY.js","assets/platform-CgwxwfA4.js","assets/vendor-opencode-client-MF2GBrFx.js","assets/useMobileNavigationStore-D38buR1v.js","assets/vendor-sonner-ZS8XIOVl.js","assets/useAssistantUIStore-OyPm_4M_.js","assets/vendor-zod-Dzk5kdUU.js","assets/vendor-fuse.js-DB5wDJbI.js","assets/agentColors-DWSbQXy2.js","assets/rasterizePng-056Poix7.js","assets/MarkdownRenderer-DGEgKLc_.js","assets/markdownHeightCache-DXM_5jTe.js","assets/dualLimitLru-D8Sphgua.js","assets/markdown-worker-DFNZ3KJ_.js","assets/useEffectiveDirectory-C650wrIQ.js","assets/markdownTheme-CV7_0QAL.js","assets/ImageLoadingPlaceholder-DEpMJXzV.js","assets/useWorkerHighlightedLines-Dsmyyb8q.js","assets/tooltip-CV6dvLBp.js","assets/vendor-tanstack-react-virtual-B_EO--9t.js","assets/ToolOutputDialog-DesCcdFD.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{c as n,i as r,n as i}from"./runtime-switch-CMiMO5Yj.js";import{$ as a,G as o,K as s,Q as c,Y as l,et as u,ht as d,nt as f,st as p}from"./persistence-BKszKaoQ.js";import{a as m}from"./vendor-zustand-o69pgTEK.js";import{it as h,rt as g}from"./vendor-base-ui-CdzJ6My_.js";import{n as _,r as v}from"./platform-CgwxwfA4.js";import{n as y}from"./useUIStore-CEqU9Ujv.js";import{n as b}from"./vendor-react-BP2cRVqX.js";import{o as x}from"./vendor-aparajita-capacitor-secure-storage-xol_6BsB.js";import{s as S}from"./vendor-tanstack-react-query-CdqCAt40.js";import{r as C}from"./vendor-sonner-ZS8XIOVl.js";import{a as w,d as T,f as E,i as D,n as O,r as k}from"./vendor-reactuses-core-BpfIZ1tg.js";import{f as A,r as j,t as M}from"./button-CWSs9Baz.js";import{a as N,n as P}from"./MobileShareBridge-D64fwcRz.js";import{D as F,E as I,F as L,N as R,_ as z,b as B,c as V,d as H,i as U,n as ee,o as W,p as te,r as ne,t as re,u as G,v as ie}from"./MobileDetailNavigation-D7YaNNaJ.js";import{Mr as ae,Sn as K,ct as oe,jr as se,o as q,qt as ce,xo as le}from"./useMobileNavigationStore-D38buR1v.js";import{i as ue,n as J,r as de}from"./useAssistantUIStore-OyPm_4M_.js";import{t as Y}from"./AgentAvatar-CSTBp5FT.js";import{n as X}from"./Icon-BCFeHDWx.js";import{a as fe,i as pe,n as me,o as he,r as ge,t as _e}from"./dialog-BMa16qrs.js";import{i as ve}from"./OverlayScrollbar-BY5HaNrb.js";import{c as ye,l as be}from"./image-loading-Bj11k4gM.js";import{n as xe}from"./textarea-D_tvJ-Lw.js";import{C as Se,D as Z,E as Ce,T as we,a as Te,b as Ee,d as De,f as Oe,h as ke,i as Ae,l as je,m as Me,n as Ne,p as Pe,r as Fe,s as Ie,t as Le,u as Re}from"./sessionChangeSummary-hsK-TEdS.js";import{o as ze,t as Be}from"./vendor-framer-motion-D-oiwsxL.js";import{a as Ve,n as He,r as Ue,t as We}from"./fileMentionTouchSelection-CbSWZJQ4.js";import{o as Ge,t as Ke}from"./MarkdownRenderer-DGEgKLc_.js";import{t as qe}from"./ImageLoadingPlaceholder-DEpMJXzV.js";import{t as Je}from"./LoadingImage-BAT9D9wN.js";import{t as Ye}from"./vendor-motion-88WXBOBf.js";import{a as Xe,c as Ze,l as Qe,o as $e,s as et,t as tt}from"./scheduledTaskNavigation-DQcLqQ52.js";import{a as nt,t as rt}from"./sessionLookup-CQKnyWCO.js";import{i as it,n as at,r as ot}from"./assistant-attachment-cache-B2UAUHUZ.js";var st=b();function ct(e){return[...e].sort((e,t)=>{let n=Number((t.unreadCount??0)>0)-Number((e.unreadCount??0)>0);if(n)return n;let r=e.latestMessagePreview?.createdAt??-1/0,i=t.latestMessagePreview?.createdAt??-1/0;return r===i?0:i-r})}var Q=t(h(),1),$=g();function lt({snapshot:e,rowClassName:t}){let{t:n}=A(),[r,i]=Q.useState(!1),a=Q.useRef(!1),o=O(async()=>{if(!a.current){a.current=!0,i(!0);try{(await G(e)).failed&&C.error(n(`assistants.unread.markAllFailed`))}catch{C.error(n(`assistants.unread.markAllFailed`))}finally{a.current=!1,i(!1)}}});return e.assistants.some(e=>(e.unreadCount??0)>0)?(0,$.jsx)(`div`,{className:t,children:(0,$.jsx)(M,{type:`button`,variant:`ghost`,size:`xs`,onClick:o,className:`max-w-full whitespace-normal text-right`,disabled:r||!e.assistants.some(e=>(e.unreadCount??0)>0&&e.readTip),"aria-busy":r,children:n(`assistants.unread.markAll`)})}):null}var ut=m(e=>({workingByID:{},setWorking:(t,n)=>e(e=>({workingByID:{...e.workingByID,[t]:n}}))})),dt=({sending:e=!1,processing:t=!1,serverWorking:n=!1})=>e||t||n,ft=(e,t)=>{let n=(0,st.c)(5),r=t!==void 0&&t,i;n[0]===e?i=n[1]:(i=t=>!!t.workingByID[e],n[0]=e,n[1]=i);let a=ut(i),o;return n[2]!==a||n[3]!==r?(o=dt({processing:a,serverWorking:r}),n[2]=a,n[3]=r,n[4]=o):o=n[4],o},pt=e=>{let t=(0,st.c)(21),{name:n,avatarSeed:r,size:i,label:a,working:o,showWorkingDot:s,className:c}=e,l=i===void 0?24:i,u=s===void 0||s,{t:d}=A(),f;t[0]!==n||t[1]!==o?(f=e=>o!==void 0&&!!e.workingByID[n],t[0]=n,t[1]=o,t[2]=f):f=t[2];let p=ut(f),m=!!(o||p),h=`calc(${l}px * var(--dpt-n, 1))`,g;t[3]===c?g=t[4]:(g=j(`relative inline-block shrink-0 align-middle leading-none`,c),t[3]=c,t[4]=g);let _;t[5]===h?_=t[6]:(_={width:h,minWidth:h,maxWidth:h,height:h,minHeight:h,maxHeight:h},t[5]=h,t[6]=_);let v=r??n,y;t[7]!==m||t[8]!==a||t[9]!==l||t[10]!==v?(y=(0,$.jsx)(Y,{kind:`assistant`,animated:m,name:v,size:l,label:a,shape:`rounded`,className:`rounded-[0.5rem]`}),t[7]=m,t[8]=a,t[9]=l,t[10]=v,t[11]=y):y=t[11];let b;t[12]!==u||t[13]!==d||t[14]!==o?(b=o&&u?(0,$.jsx)(`span`,{className:`pointer-events-none absolute right-0 bottom-0 size-2.5 translate-x-0.5 translate-y-0.5 rounded-full bg-[var(--status-success)] ring-2 ring-background`,"data-assistant-working-dot":``,"aria-label":d(`assistants.contact.working`)}):null,t[12]=u,t[13]=d,t[14]=o,t[15]=b):b=t[15];let x;return t[16]!==g||t[17]!==_||t[18]!==y||t[19]!==b?(x=(0,$.jsxs)(`span`,{className:g,style:_,"data-assistant-working-avatar":``,children:[y,b]}),t[16]=g,t[17]=_,t[18]=y,t[19]=b,t[20]=x):x=t[20],x},mt=e=>{for(let t=e.messages.length-1;t>=0;t--){let n=e.messages[t];if(n.parts.some(F)&&Number.isFinite(new Date(n.createdAt).getTime()))return{timestamp:n.createdAt,empty:!1}}return{timestamp:void 0,empty:e.generation>=0&&e.olderComplete&&!e.hasMessageGap}},ht=(e,t)=>{let n=(0,st.c)(5),r;n[0]!==e||n[1]!==t?(r=ne(e,t),n[0]=e,n[1]=t,n[2]=r):r=n[2];let i;return n[3]===r?i=n[4]:(i={...r,enabled:!1,select:mt},n[3]=r,n[4]=i),S(i)},gt=3e5,_t=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();function vt(e){let t=new Map,n=null;for(let r of e){if(!(r.status===`error`||r.status===`failed`||r.parts.some(e=>e.type!==`text`||e.text.trim()&&!e.text.trim().startsWith(`oc.settle.`))))continue;let e=new Date(r.createdAt);Number.isFinite(e.getTime())&&((!n||!_t(n,e)||e.getTime()-n.getTime()>gt)&&t.set(r.messageID,r.createdAt),n=e)}return t}function yt(e,t,n){let r=new Intl.DateTimeFormat(e,{hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}),i=new Intl.DateTimeFormat(e,{month:`long`,day:`numeric`}),a=new Intl.DateTimeFormat(e,{year:`numeric`,month:`long`,day:`numeric`});return e=>{let o=new Date(e);return`${_t(o,n)?t:(o.getFullYear()===n.getFullYear()?i:a).format(o)} ${r.format(o)}`}}var bt=Q.memo(e=>{let t=(0,st.c)(17),{assistantID:n,serverWorking:r,lastContactAt:i}=e,{t:a,locale:o}=A(),s=ft(n,r),c=ht(n,be()),l;t[0]!==c||t[1]!==i?(l=i!==void 0&&Number.isFinite(new Date(i).getTime())?i:c.data?.timestamp,t[0]=c,t[1]=i,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=new Date().toDateString(),t[3]=d):d=t[3];let f=d,p;t[4]===a?p=t[5]:(p=a(`common.date.today`),t[4]=a,t[5]=p);let m=p,h;bb0:{if(u===void 0){h=null;break bb0}let e;t[6]!==o||t[7]!==u||t[8]!==m?(e=yt(o,m,new Date(f))(u),t[6]=o,t[7]=u,t[8]=m,t[9]=e):e=t[9],h=e}let g=h,_;t[10]!==c||t[11]!==g||t[12]!==a||t[13]!==s?(_=s?a(`assistants.conversation.typing`):g?a(`assistants.conversation.lastContact`,{time:g}):c.data?.empty?a(`assistants.conversation.neverContacted`):c.isError?a(`assistants.contact.loadFailed`):a(`common.loading`),t[10]=c,t[11]=g,t[12]=a,t[13]=s,t[14]=_):_=t[14];let v=_,y;return t[15]===v?y=t[16]:(y=(0,$.jsx)(`span`,{className:`mt-1 block truncate typography-micro font-normal leading-4 text-muted-foreground/70`,"aria-live":`polite`,title:v,children:v}),t[15]=v,t[16]=y),y});function xt(e){let t=(0,st.c)(12),{assistantID:n,position:a}=e,o=Q.useRef(null),s=Q.useRef(!1),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c={busy:!1,done:!1,retryAt:0},t[0]=c):c=t[0];let l=Q.useRef(c),[u]=Q.useState(Dt),d;t[1]!==n||t[2]!==a||t[3]!==u?(d=()=>{let e=o.current;if(!e||!s.current||l.current.busy||l.current.done||Date.now()<l.current.retryAt||u.transport!==r()||u.generation!==i()||document.visibilityState!==`visible`||(_()?!document.documentElement.classList.contains(`oc-native-app-active`):!document.hasFocus())||e.parentElement?.closest(`[inert], [aria-hidden="true"]`))return;let t=e.closest(`[data-assistant-contact-transcript]`);if(!t||t.scrollHeight-t.scrollTop-t.clientHeight>2)return;let c=e.getBoundingClientRect(),d=t.getBoundingClientRect(),f=window.visualViewport,p=f?.offsetTop??0,m=p+(f?.height??window.innerHeight);c.height<=0||c.width<=0||c.bottom>Math.min(d.bottom,m)||c.top<Math.max(d.top,p)||c.right<=Math.max(d.left,0)||c.left>=Math.min(d.right,window.innerWidth)||(l.current.busy=!0,H(n,a).then(()=>{l.current.done=!0}).catch(()=>{l.current.retryAt=Date.now()+15e3}).finally(()=>{l.current.busy=!1}))},t[1]=n,t[2]=a,t[3]=u,t[4]=d):d=t[4];let f=O(d),p;t[5]===f?p=t[6]:(p=e=>{s.current=e.some(Et),f()},t[5]=f,t[6]=p);let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m={threshold:1},t[7]=m):m=t[7],D(o,O(p),m),k(`visibilitychange`,f,Tt),k(`focus`,f,wt),k(`resize`,f,Ct);let h,g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>o.current?.closest(`[data-assistant-contact-transcript]`),g={passive:!0},t[8]=h,t[9]=g):(h=t[8],g=t[9]),k(`scroll`,f,h,g);let v;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(v={attributes:!0,attributeFilter:[`class`]},t[10]=v):v=t[10],T(f,St,v),w(f,15e3);let y;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(`span`,{ref:o,"aria-hidden":`true`,className:`absolute bottom-0 left-0 block h-px w-px`,"data-assistant-read-marker":``}),t[11]=y):y=t[11],y}function St(){return document.documentElement}function Ct(){return window.visualViewport}function wt(){return window}function Tt(){return document}function Et(e){return e.isIntersecting&&e.intersectionRatio===1}function Dt(){return{transport:r(),generation:i()}}var Ot=()=>{},kt=Q.memo(Z),At=e=>e?.directories.flatMap(({directory:e,sessions:t})=>e?t.filter(e=>!e.time.archived).map(t=>({...t,directory:e||t.location?.directory||t.directory||``})).filter(e=>e.directory.length>0):[])??null,jt=Q.forwardRef(({query:e,isMobile:t,listId:n,onHighlightChange:r,onSelect:i,onClose:a},o)=>{let{t:s}=A(),c=be(),l=S({...ae(c),select:At}),u=Q.useMemo(()=>oe({sessions:l.data??[],currentSessionId:null,searchQuery:e}),[l.data,e]),[d,f]=Q.useState({query:e,index:0}),p=Math.min(d.query===e?d.index:0,Math.max(0,u.length-1)),m=Q.useRef(null),h=Q.useRef([]),g=Q.useMemo(We,[]);k(`pointerdown`,e=>{e.target instanceof Node&&!m.current?.contains(e.target)&&a()},void 0,{capture:!0}),Q.useLayoutEffect(()=>{h.current[p]?.scrollIntoView?.({block:`nearest`})},[p]),Q.useLayoutEffect(()=>{r(u.length?`${n}-${p}`:void 0)},[p,n,u.length,r]);let _=O(t=>{if(t===`Escape`){a();return}u.length&&(t===`ArrowDown`&&f({query:e,index:(p+1)%u.length}),t===`ArrowUp`&&f({query:e,index:(p-1+u.length)%u.length}),(t===`Enter`||t===`Tab`)&&i(u[p]))});return Q.useImperativeHandle(o,()=>({keyDown:_}),[_]),(0,$.jsxs)(He,{ref:m,isMobile:t,className:`max-w-[640px] max-h-64`,children:[(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 px-3 py-1`,children:[(0,$.jsx)(`span`,{className:`min-w-0 flex-1 text-[length:calc(var(--text-meta)*0.875)] leading-4 text-muted-foreground`,children:s(`assistants.contact.sessionMention.scope`)}),(0,$.jsx)(M,{type:`button`,size:`xs`,variant:`ghost`,"aria-label":s(`dialog.common.actions.close`),onClick:a,children:(0,$.jsx)(X,{name:`close`,className:`size-4`})})]}),l.isPending?(0,$.jsx)(`p`,{role:`status`,className:`px-3 py-2 typography-meta text-muted-foreground`,children:s(`common.loading`)}):null,l.isError?(0,$.jsxs)(`div`,{role:`alert`,className:`px-3 py-2 typography-meta text-[var(--status-error)]`,children:[s(`assistants.contact.sessionMention.loadFailed`),(0,$.jsx)(M,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>void l.refetch(),children:s(`chat.history.retry`)})]}):null,l.isSuccess&&!u.length?(0,$.jsx)(`p`,{role:`status`,className:`px-3 py-2 typography-meta text-muted-foreground`,children:s(l.data===null?`common.unavailable`:`sessions.sidebar.empty.noMatches.title`)}):null,(0,$.jsx)(xe,{preventOverscroll:!0,outerClassName:`flex-1 min-h-0`,className:`px-0`,children:(0,$.jsx)(`div`,{id:n,role:`listbox`,"aria-label":s(`chat.fileMentionAutocomplete.groups.sessions`),className:`p-1.5`,children:u.map((r,a)=>(0,$.jsxs)(`div`,{id:`${n}-${a}`,role:`option`,"aria-selected":a===p,ref:e=>{h.current[a]=e},className:j(`flex min-h-10 cursor-pointer items-center gap-2 rounded-md px-1.5 py-1 typography-ui-label`,Ue(t,a===p)),onMouseDown:e=>e.preventDefault(),onMouseMove:()=>f({query:e,index:a}),onPointerDown:e=>{e.pointerType===`touch`&&g.pointerDown(e.clientX,e.clientY)},onPointerMove:e=>{e.pointerType===`touch`&&g.pointerMove(e.clientX,e.clientY)},onPointerUp:e=>{e.pointerType===`touch`&&g.pointerUp(()=>i(r))&&(e.preventDefault(),e.stopPropagation())},onPointerCancel:()=>g.pointerCancel(),onClick:()=>g.click(()=>i(r)),children:[(0,$.jsx)(X,{name:`chat-thread`,className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate font-medium leading-5`,title:r.title,children:r.title||s(`chat.fileMentionAutocomplete.untitledSession`)}),(0,$.jsx)(`div`,{className:`truncate text-[length:calc(var(--text-meta)*0.875)] leading-4 text-muted-foreground`,title:r.directory,children:r.directory})]})]},`${r.directory}:${r.id}`))})}),t?null:(0,$.jsx)(`div`,{className:`mx-1.5 shrink-0 border-t px-1.5 py-1 text-[length:calc(var(--text-meta)*0.875)] leading-4 text-muted-foreground`,children:s(`chat.autocomplete.keyboardHint`)})]})}),Mt=e=>{let t=(0,st.c)(120),n,r,i,f,p;t[0]===e?(n=t[1],r=t[2],i=t[3],f=t[4],p=t[5]):({active:n,working:p,onChange:r,onVoiceSend:i,...f}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=f,t[5]=p);let m=p!==void 0&&p,{t:h}=A(),g=Q.useRef(null),_=n&&!!f.isMobile&&!!i,v;t[6]===_?v=t[7]:(v={available:_},t[6]=_,t[7]=v);let{enabled:y,hint:b,onHintChange:x}=Ce(v),S;t[8]!==b||t[9]!==f.placeholder||t[10]!==h?(S=b===null?f.placeholder:h(b===`recording`?`chat.dictation.releaseSend`:b===`cancelling`?`chat.dictation.releaseCancel`:b===`editing`?`chat.dictation.releaseEdit`:`chat.dictation.processing`),t[8]=b,t[9]=f.placeholder,t[10]=h,t[11]=S):S=t[11];let C=S,w;t[12]===f.value?w=t[13]:(w=()=>({canonical:f.value,document:l(f.value,new Map)}),t[12]=f.value,t[13]=w);let[T,E]=Q.useState(w),D;t[14]!==T.canonical||t[15]!==T.document||t[16]!==f.value?(D=T.canonical===f.value?T.document:l(f.value,new Map),t[14]=T.canonical,t[15]=T.document,t[16]=f.value,t[17]=D):D=t[17];let k=D,[M,N]=Q.useState(0),[P,F]=Q.useState(!0),[I,L]=Q.useState(!1),[R,z]=Q.useState(),B=Q.useRef(null),V=Q.useRef(null),H=Q.useRef(null),U=Q.useRef(null),ee;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(ee=Re(),t[18]=ee):ee=t[18];let W=Q.useRef(ee),te=Q.useId(),ne;t[19]!==n||t[20]!==I||t[21]!==M||t[22]!==P||t[23]!==k.text||t[24]!==f.disabled||t[25]!==f.pending?(ne=n&&!f.pending&&!f.disabled&&!P&&!I?Ve({text:k.text,cursor:M}):null,t[19]=n,t[20]=I,t[21]=M,t[22]=P,t[23]=k.text,t[24]=f.disabled,t[25]=f.pending,t[26]=ne):ne=t[26];let re=ne,G=re?.kind===`mention`?re:null,ie;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(ie=()=>{U.current!==null&&(B.current?.focus({preventScroll:!0}),B.current?.setSelectionRange(U.current,U.current),U.current=null)},t[27]=ie):ie=t[27];let ae;t[28]===k?ae=t[29]:(ae=[k],t[28]=k,t[29]=ae),Q.useLayoutEffect(ie,ae);let K;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(K=()=>F(!0),t[30]=K):K=t[30];let oe=O(K),se;t[31]!==I||t[32]!==M||t[33]!==k||t[34]!==r?(se=(e,t,n)=>{let i=n===void 0||n,a=u(e);a.ok&&(i&&(W.current=De(W.current,{before:je(k,[],{start:B.current?.selectionStart??M,end:B.current?.selectionEnd??M}),after:je(e,[],{start:t,end:t})})),I||(U.current=t),N(t),E({canonical:a.text,document:e}),r(a.text))},t[31]=I,t[32]=M,t[33]=k,t[34]=r,t[35]=se):se=t[35];let q=O(se),ce;t[36]!==q||t[37]!==k||t[38]!==G||t[39]!==h?(ce=e=>{if(!G)return;let t=e.title||h(`chat.fileMentionAutocomplete.untitledSession`),n=s(k,G.tokenStart,G.tokenEnd,{id:`session:${e.id}:${crypto.randomUUID()}`,kind:`session`,sessionId:e.id,display:d({trigger:`@`,icon:`chat-thread`,label:t})},{inlineBoundaries:!0,padDocumentEdges:!0}),r=n.caret+ +(n.document.text[n.caret]===` `);F(!0),q(n.document,r)},t[36]=q,t[37]=k,t[38]=G,t[39]=h,t[40]=ce):ce=t[40];let le=O(ce),ue;t[41]!==n||t[42]!==q||t[43]!==k||t[44]!==f.disabled||t[45]!==f.pending?(ue=e=>{if(!n||f.pending||f.disabled||!e.trim())return;let t=k.text?`${k.text} ${e}`:e,r=c(k,t,t.length,t.length);q(r.document,r.caret),F(!0)},t[41]=n,t[42]=q,t[43]=k,t[44]=f.disabled,t[45]=f.pending,t[46]=ue):ue=t[46];let J=O(ue),de;t[47]!==n||t[48]!==k.text||t[49]!==J||t[50]!==r||t[51]!==i||t[52]!==f.disabled||t[53]!==f.pending?(de=e=>{if(!(!n||f.pending||f.disabled||!e.trim())){if(k.text){J(e);return}r(e),i?.(e)}},t[47]=n,t[48]=k.text,t[49]=J,t[50]=r,t[51]=i,t[52]=f.disabled,t[53]=f.pending,t[54]=de):de=t[54];let Y=O(de),X;t[55]!==q||t[56]!==k?(X=(e,t)=>{let n=e.currentTarget;if(n.selectionStart===n.selectionEnd||!e.clipboardData||!k.references.some(e=>e.start<n.selectionEnd&&e.end>n.selectionStart))return;let r=o(n.selectionStart,n.selectionEnd,k.references)??{start:n.selectionStart,end:n.selectionEnd},i=u({text:k.text.slice(r.start,r.end),references:k.references.filter(e=>e.start>=r.start&&e.end<=r.end).map(e=>({...e,start:e.start-r.start,end:e.end-r.start}))});if(i.ok&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,i.text),t)){let e=c(k,k.text.slice(0,r.start)+k.text.slice(r.end),r.start,r.start);q(e.document,e.caret)}},t[55]=q,t[56]=k,t[57]=X):X=t[57];let fe=O(X),pe;t[58]!==k.references||t[59]!==k.text?(pe=ke(k.text,k.references.map(Nt))?.map(Pt),t[58]=k.references,t[59]=k.text,t[60]=pe):pe=t[60];let me=pe,he=y&&k.text.length===0?`true`:void 0,ge;t[61]!==y||t[62]!==J||t[63]!==f.disabled||t[64]!==f.pending||t[65]!==Y||t[66]!==x?(ge=y&&(0,$.jsx)(kt,{containerRef:g,disabled:!!(f.pending||f.disabled),onInsert:J,onSend:Y,onRelease:Ot,onHintChange:x}),t[61]=y,t[62]=J,t[63]=f.disabled,t[64]=f.pending,t[65]=Y,t[66]=x,t[67]=ge):ge=t[67];let _e=k.text,ve=f.pending||m,ye=f.pending===!0,be=f.layout===`inline`?`py-3 leading-6`:`pt-4 pb-2`,xe;t[68]!==f.textLayoutClassName||t[69]!==be?(xe=j(`whitespace-pre-wrap break-words overflow-hidden px-3 typography-markdown md:typography-ui-label`,be,f.textLayoutClassName),t[68]=f.textLayoutClassName,t[69]=be,t[70]=xe):xe=t[70];let Z;t[71]!==q||t[72]!==k?(Z=(e,t)=>{let n=c(k,e,t?.target.selectionStart??e.length,t?.target.selectionEnd??e.length);q(n.document,n.caret),F(t?.nativeEvent?.inputType===`insertFromPaste`)},t[71]=q,t[72]=k,t[73]=Z):Z=t[73];let we=G?te:void 0,Te=G?R:void 0,Ae;t[74]===f.textareaProps?Ae=t[75]:(Ae=e=>{f.textareaProps?.onScroll?.(e),V.current&&(V.current.scrollTop=e.currentTarget.scrollTop,V.current.scrollLeft=e.currentTarget.scrollLeft)},t[74]=f.textareaProps,t[75]=Ae);let Me,Ne;t[76]!==fe||t[77]!==f.textareaProps?(Me=e=>{f.textareaProps?.onCopy?.(e),e.defaultPrevented||fe(e,!1)},Ne=e=>{f.textareaProps?.onCut?.(e),e.defaultPrevented||fe(e,!0)},t[76]=fe,t[77]=f.textareaProps,t[78]=Me,t[79]=Ne):(Me=t[78],Ne=t[79]);let Fe;t[80]===f.textareaProps?Fe=t[81]:(Fe=e=>{N(e.currentTarget.selectionStart),f.textareaProps?.onSelect?.(e)},t[80]=f.textareaProps,t[81]=Fe);let Ie,Le;t[82]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=()=>{L(!0)},Le=e=>{L(!1),N(e.currentTarget.selectionStart)},t[82]=Ie,t[83]=Le):(Ie=t[82],Le=t[83]);let ze;t[84]!==q||t[85]!==I||t[86]!==k||t[87]!==G||t[88]!==f.textareaProps?(ze=e=>{if(f.textareaProps?.onKeyDown?.(e),!(e.defaultPrevented||Se(e))){if(I){e.key===`Enter`&&e.preventDefault();return}if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`z`){let t=e.shiftKey?Oe(W.current,k):Pe(W.current,k);t&&(e.preventDefault(),W.current=t.history,q(t.snapshot.document,t.snapshot.selection.end,!1),F(!0));return}if(e.key===`Backspace`||e.key===`Delete`){let t=a(k,{key:e.key,selectionStart:e.currentTarget.selectionStart,selectionEnd:e.currentTarget.selectionEnd,altKey:e.altKey});if(t){e.preventDefault(),q(t.document,t.caret),F(!0);return}}G&&[`ArrowDown`,`ArrowUp`,`Enter`,`Tab`,`Escape`].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),H.current?.keyDown(e.key))}},t[84]=q,t[85]=I,t[86]=k,t[87]=G,t[88]=f.textareaProps,t[89]=ze):ze=t[89];let Be;t[90]!==f.textareaProps||t[91]!==we||t[92]!==Te||t[93]!==Ae||t[94]!==Me||t[95]!==Ne||t[96]!==Fe||t[97]!==ze?(Be={...f.textareaProps,"aria-controls":we,"aria-activedescendant":Te,"aria-autocomplete":`list`,onScroll:Ae,onCopy:Me,onCut:Ne,onSelect:Fe,onCompositionStart:Ie,onCompositionEnd:Le,onKeyDown:ze},t[90]=f.textareaProps,t[91]=we,t[92]=Te,t[93]=Ae,t[94]=Me,t[95]=Ne,t[96]=Fe,t[97]=ze,t[98]=Be):Be=t[98];let He;t[99]!==oe||t[100]!==te||t[101]!==G||t[102]!==f.isMobile||t[103]!==le?(He=G?(0,$.jsx)(jt,{ref:H,query:G.query,isMobile:f.isMobile??!1,listId:te,onHighlightChange:z,onSelect:le,onClose:oe}):null,t[99]=oe,t[100]=te,t[101]=G,t[102]=f.isMobile,t[103]=le,t[104]=He):He=t[104];let Ue;t[105]!==k.text||t[106]!==me||t[107]!==C||t[108]!==f||t[109]!==ve||t[110]!==ye||t[111]!==xe||t[112]!==Z||t[113]!==Be||t[114]!==He?(Ue=(0,$.jsx)(Ee,{...f,value:_e,pending:ve,placeholder:C,disableInputWhilePending:ye,inputRef:B,highlightedContent:me,highlightRef:V,textLayoutClassName:xe,onChange:Z,textareaProps:Be,children:He}),t[105]=k.text,t[106]=me,t[107]=C,t[108]=f,t[109]=ve,t[110]=ye,t[111]=xe,t[112]=Z,t[113]=Be,t[114]=He,t[115]=Ue):Ue=t[115];let We;return t[116]!==he||t[117]!==ge||t[118]!==Ue?(We=(0,$.jsxs)(`div`,{ref:g,className:`oc-hold-to-talk-container`,"data-hold-to-talk-empty":he,children:[ge,Ue]}),t[116]=he,t[117]=ge,t[118]=Ue,t[119]=We):We=t[119],We};function Nt(e){return{start:e.start,end:e.end,priority:103,...f(e)}}function Pt(e,t){return(0,$.jsx)(`span`,{className:e.className,children:e.visual?(0,$.jsx)(Me,{visual:e.visual,text:e.text}):e.text},`${t}-${e.text.length}`)}var Ft=`rounded-[1.35rem] border border-border/40 cursor-zoom-in`;function It({assistantID:e,descriptor:t,onShowPopup:n}){let{t:r}=A(),i=be(),{attachmentID:a,sha256:o,size:s,mime:c,filename:l}=t,u=Q.useMemo(()=>({type:`file`,attachmentID:a,sha256:o,size:s,mime:c,filename:l}),[a,o,s,c,l]),d=c.startsWith(`image/`),[f,p]=Q.useState(0),[m,h]=Q.useState(``),[g,_]=Q.useState(!1),[v,y]=Q.useState(!1),b=Q.useRef(null),x=Q.useRef([]);Q.useEffect(()=>{h(``),_(!1);let t=new AbortController,n;return d&&ot(e,u,{signal:t.signal}).then(e=>{if(t.signal.aborted){e.release();return}n=e.release,h(e.url)}).catch(()=>{t.signal.aborted||_(!0)}),()=>{t.abort(),n?.()}},[e,u,i,d,f]),Q.useEffect(()=>()=>{b.current?.abort(),x.current.forEach(e=>URL.revokeObjectURL(e)),x.current=[]},[e,u,i]);let S=O(async()=>{if(b.current)return;let t=new AbortController;b.current=t,y(!0),_(!1);try{let n=await at(e,u,{signal:t.signal});if(t.signal.aborted)return;x.current.forEach(e=>URL.revokeObjectURL(e));let i=URL.createObjectURL(n);x.current=[i];let a=document.createElement(`a`);a.href=i,a.download=l||r(`assistants.contact.attachment.file`),document.body.appendChild(a),a.click(),a.remove()}catch{t.signal.aborted||_(!0)}finally{b.current===t&&(b.current=null),t.signal.aborted||y(!1)}}),C=l||r(d?`assistants.contact.attachment.image`:`assistants.contact.attachment.file`),w=O(e=>{!n||!m||n({open:!0,title:C,content:``,metadata:{tool:`image-preview`,filename:C,mime:c},previewSource:e.currentTarget,image:{url:m,mimeType:c,filename:C,size:s,gallery:[{url:m,mimeType:c,filename:C,size:s}],index:0}})});return d&&m&&!g?(0,$.jsx)(Je,{src:m,alt:C,contentFrame:!0,className:Ft,onError:()=>_(!0),onClick:w,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),w(e))},role:`button`,tabIndex:0,"data-assistant-contact-image":``}):d&&!g?(0,$.jsx)(qe,{className:`h-[var(--oc-content-image-height)] w-[min(20rem,100%)] rounded-[1.35rem]`}):(0,$.jsxs)(`div`,{className:`flex max-w-full flex-col gap-1 rounded-[1.25rem] bg-[var(--surface-muted)] px-3.5 py-2.5 ring-1 ring-inset ring-[var(--surface-subtle)]`,"data-assistant-contact-file":``,children:[(0,$.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,$.jsx)(X,{name:`file-text`,className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsx)(`span`,{className:`truncate typography-ui`,children:C})]}),g?(0,$.jsx)(`p`,{role:`alert`,className:`typography-micro text-[var(--status-error)]`,children:r(`assistants.contact.attachment.loadFailed`)}):null,d&&!g||v?(0,$.jsx)(`span`,{role:`status`,className:`typography-micro text-muted-foreground`,children:r(`common.loading`)}):(0,$.jsx)(M,{type:`button`,size:`sm`,variant:`ghost`,onClick:d?()=>p(e=>e+1):()=>void S(),children:r(g?`chat.history.retry`:`assistants.contact.attachment.download`)})]})}function Lt(e){let t=(0,st.c)(27),{part:n,onShowPopup:r}=e,{t:i}=A(),a=/^(?:https?:|data:|blob:)/i.test(n.url)?n.url:``,o=ye(a,``),[s,c]=Q.useState(!1),l;t[0]!==n.filename||t[1]!==i?(l=n.filename||i(`assistants.contact.attachment.image`),t[0]=n.filename,t[1]=i,t[2]=l):l=t[2];let u=l,d;t[3]!==u||t[4]!==r||t[5]!==o?(d=e=>{!r||!o||r({open:!0,title:u,content:``,metadata:{tool:`image-preview`,filename:u},previewSource:e.currentTarget,image:{url:o,filename:u,gallery:[{url:o,filename:u}],index:0}})},t[3]=u,t[4]=r,t[5]=o,t[6]=d):d=t[6];let f=O(d);if(n.mime.startsWith(`image/`)&&o&&!s){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=()=>c(!0),t[7]=e):e=t[7];let n;t[8]===f?n=t[9]:(n=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f(e))},t[8]=f,t[9]=n);let r;return t[10]!==u||t[11]!==f||t[12]!==o||t[13]!==n?(r=(0,$.jsx)(Je,{src:o,alt:u,contentFrame:!0,className:Ft,onError:e,onClick:f,onKeyDown:n,role:`button`,tabIndex:0,"data-assistant-contact-image":``}),t[10]=u,t[11]=f,t[12]=o,t[13]=n,t[14]=r):r=t[14],r}let p;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(X,{name:`file-text`,className:`size-4 shrink-0 text-muted-foreground`}),t[15]=p):p=t[15];let m;t[16]!==n.filename||t[17]!==i?(m=n.filename||i(`assistants.contact.attachment.file`),t[16]=n.filename,t[17]=i,t[18]=m):m=t[18];let h;t[19]===m?h=t[20]:(h=(0,$.jsx)(`span`,{className:`truncate typography-ui`,children:m}),t[19]=m,t[20]=h);let g;t[21]!==s||t[22]!==i?(g=s?(0,$.jsx)(M,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>c(!1),children:i(`chat.history.retry`)}):null,t[21]=s,t[22]=i,t[23]=g):g=t[23];let _;return t[24]!==h||t[25]!==g?(_=(0,$.jsxs)(`div`,{className:`flex max-w-full items-center gap-2.5 rounded-[1.25rem] bg-[var(--surface-muted)] px-3.5 py-2.5`,"data-assistant-contact-file":``,children:[p,h,g]}),t[24]=h,t[25]=g,t[26]=_):_=t[26],_}function Rt(e){let t=(0,st.c)(5),{assistantID:n,part:r,onShowPopup:i}=e,a=be(),o;return t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==a?(o=`attachmentID`in r?(0,$.jsx)(It,{assistantID:n,descriptor:r,onShowPopup:i},`${a}:${n}:${r.attachmentID}:${r.sha256}`):(0,$.jsx)(Lt,{part:r,onShowPopup:i},`${a}:${r.url}`),t[0]=n,t[1]=i,t[2]=r,t[3]=a,t[4]=o):o=t[4],o}var zt=[],Bt=e=>e.flatMap(e=>e.type===`text`&&e.text.trim()?[e.text]:[]).join(`
|
|
3
|
-
`),Vt=(e,t,n,r=Date.now())=>({assistantID:e,messageID:t,parts:n,status:`sending`,createdAt:r}),Ht=(e,t)=>{let n=e.filter(e=>e.assistantID===t);return n.length===e.length?e:n},Ut=(e,t)=>{let n=e.filter(e=>e.assistantID===t);return n.length===e.length?e:n},Wt=(e,t,n,r)=>({messageID:t?`${e.turnID}:preview:${t.bubbleIndex}`:`${e.turnID}:preview:${r}`,assistantID:e.assistantID,role:`assistant`,turnID:e.turnID,bubbleIndex:t?.bubbleIndex??0,createdAt:t?.occurredAt??e.occurredAt,ordinal:n,status:r,fromAssistantID:null,fromAssistantName:null,parts:t?[{type:`text`,text:t.text}]:[],text:t?.text??``,cards:[]}),Gt=(e,t,n)=>{let r=e.bubbles.filter(e=>!t.has(e.bubbleIndex)).map((t,r)=>Wt(e,t,n+r,t.done?`complete`:`streaming`));return e.status===`failed`?[...r,Wt(e,null,n+r.length,`failed`)]:e.status===`admitted`||e.status===`streaming`?[...r,Wt(e,null,n+r.length,`admitted`)]:r},Kt=(e,t,n,r=[])=>{let i=new Set(e.map(e=>e.messageID)),a=t.flatMap((t,r)=>t.assistantID!==n||i.has(t.messageID)?[]:[{messageID:t.messageID,assistantID:n,role:`user`,turnID:t.messageID,bubbleIndex:0,createdAt:t.createdAt,ordinal:e.length+r,status:t.status,fromAssistantID:null,fromAssistantName:null,parts:[...t.parts],text:Bt(t.parts),cards:[]}]),o=a.length===0?e:[...e,...a],s=r.filter(e=>e.assistantID===n);if(s.length===0)return o;let c=new Map,l=new Map;o.forEach((e,t)=>{if(c.set(e.turnID,t),e.role!==`assistant`||e.messageID.includes(`:preview:`))return;let n=l.get(e.turnID)??new Set;n.add(e.bubbleIndex),l.set(e.turnID,n)});let u=new Map,d=[];for(let e of s){let t=Gt(e,l.get(e.turnID)??new Set,o.length+d.length);if(t.length===0)continue;let n=c.get(e.turnID);if(n===void 0){if(e.status===`failed`&&o.some(t=>t.turnID!==e.turnID))continue;d.push(...t);continue}let r=u.get(n)??[];r.push(...t),u.set(n,r)}return u.size===0&&d.length===0?o:o.flatMap((e,t)=>[e,...u.get(t)??[]]).concat(d)},qt=(e,t)=>{let n=new Set(t.map(e=>e.messageID)),r=e.filter(e=>!n.has(e.messageID));return r.length===e.length?e:r},Jt=(e,t)=>e.map(e=>e.messageID===t?{...e,status:`admitted`}:e),Yt=(e,t,n,r=Date.now())=>{let i=e.filter(e=>e.assistantID!==t||e.status!==`failed`||e.turnID===n);return i.some(e=>e.assistantID===t&&e.turnID===n)?i.length===e.length?e:i:[...i,{assistantID:t,turnID:n,status:`admitted`,bubbles:[],occurredAt:r}]},Xt=(e,t,n)=>!t?.turnID||!t.assistantID||n?.has(t.turnID)?e:Yt(e,t.assistantID,t.turnID,t.admittedAt),Zt=(e,t)=>{let n=t.assistantID,r=t.pendingSendTurnIDs??new Set,i=t.settledTurnIDs??new Set,a=typeof t.snapshotRevision==`number`&&Number.isFinite(t.snapshotRevision)?t.snapshotRevision:null,o=t.admissionRevisionByTurnID instanceof Map?t.admissionRevisionByTurnID:new Map(Object.entries(t.admissionRevisionByTurnID??{}).map(([e,t])=>[e,Number(t)])),s=t.occurredAt??Date.now(),c=t.activeContactTurn&&t.activeContactTurn.turnID?t.activeContactTurn:null,l=!!(t.serverWorking||c),u=Xt(e,c?{assistantID:n,turnID:c.turnID,admittedAt:c.admittedAt}:null,i),d=Array.isArray(t.messages)?t.messages:[];for(let e of d)e.role===`assistant`&&e.status===`error`&&(r.has(e.turnID)||i.has(e.turnID)||(u=$t(u,{assistantID:n,turnID:e.turnID,status:`error`,error:e.text||`upstream_error`,occurredAt:s})));if(u=en(u,d),l){let t=u.filter(e=>{if(e.assistantID!==n||e.status!==`admitted`&&e.status!==`streaming`||r.has(e.turnID)||c&&e.turnID===c.turnID)return!0;let t=o.get(e.turnID);return typeof t==`number`&&a!=null&&a<t?!0:typeof t==`number`&&a!=null&&a>=t&&e.turnID!==c?.turnID?!1:!c||e.turnID===c.turnID});return t.length===e.length&&t.every((t,n)=>t===e[n])?e:t}if(a==null)return u.length===e.length&&u.every((t,n)=>t===e[n])?e:u;let f=u.filter(e=>{if(e.assistantID!==n||e.status!==`admitted`&&e.status!==`streaming`||r.has(e.turnID))return!0;if(i.has(e.turnID))return!1;let t=o.get(e.turnID);return typeof t==`number`&&a<t});return f.length===e.length&&f.every((t,n)=>t===e[n])?e:f.length===u.length?u:f},Qt=(e,t)=>Yt(e,t.assistantID,t.turnID,t.occurredAt).map(e=>{if(e.assistantID!==t.assistantID||e.turnID!==t.turnID||e.status===`failed`||e.status===`complete`)return e;let n=e.bubbles.find(e=>e.bubbleIndex===t.bubbleIndex);if(n?.done)return e;let r=n?{...n,text:`${n.text}${t.delta}`,done:t.done,occurredAt:t.occurredAt}:{bubbleIndex:t.bubbleIndex,text:t.delta,done:t.done,occurredAt:t.occurredAt},i=n?e.bubbles.map(e=>e.bubbleIndex===t.bubbleIndex?r:e):[...e.bubbles,r].sort((e,t)=>e.bubbleIndex-t.bubbleIndex);return{...e,status:`streaming`,bubbles:i}}),$t=(e,t,n={})=>n.requireExisting&&!e.some(e=>e.assistantID===t.assistantID&&e.turnID===t.turnID)?e:Yt(e,t.assistantID,t.turnID,t.occurredAt).map(e=>e.assistantID!==t.assistantID||e.turnID!==t.turnID||e.status===`complete`||e.status===`failed`?e:{...e,status:t.status===`error`?`failed`:`complete`,...t.error?{error:t.error}:{}}),en=(e,t)=>{let n=new Set(t.map(e=>e.turnID).filter(Boolean)),r=t.length>0?t[t.length-1]?.turnID??null:null,i=[...e].reverse().find(e=>e.status===`admitted`||e.status===`streaming`)?.turnID??r,a=new Set(t.flatMap(e=>e.role===`assistant`?[e.turnID]:[])),o=e.filter(e=>e.status===`admitted`||e.status===`streaming`||!(e.status===`complete`&&a.has(e.turnID)||!n.has(e.turnID)||e.status===`failed`&&(i&&i!==e.turnID||r&&r!==e.turnID)));return o.length===e.length?e:o},tn=(e,t,n)=>e.map(e=>e.messageID===t?{...e,status:`failed`,error:n}:e),nn=(e,t)=>{if(e instanceof R){if(e.code===`no_provider`)return t.noProvider;if(e.code===`admission_timeout`||e.code===`generate_timeout`)return t.timedOut;if(e.message&&e.message!==e.code)return e.message}return L(e)?t.timedOut:t.sendFailed},rn=()=>{let e=!1;return{tryAcquire:()=>!e&&(e=!0,!0),release:()=>{e=!1}}},an=e=>{let t=e.text.trim();if(e.sending||!t&&e.attachments.length===0||!e.gate.tryAcquire())return{ok:!1};let n=[...t?[{type:`text`,text:t}]:[],...e.attachments.map(e=>({type:`file`,mime:e.mime,url:e.url,filename:e.name}))],r=e.createMessageID();return{ok:!0,messageID:r,parts:n,turn:Vt(e.assistantID,r,n,e.createdAt)}},on=e=>e.some(e=>e.status===`sending`),sn=e=>e.some(e=>e.status===`admitted`||e.status===`streaming`),cn=[`cursor-pointer rounded-[1.35rem] bg-[var(--surface-elevated)] ring-1 ring-inset ring-[var(--surface-subtle)]`,`px-3.5 py-3 text-left transition-[background-color,box-shadow,transform] duration-200 ease-out motion-reduce:transition-none`,`hover:-translate-y-px hover:bg-interactive-hover/45 hover:shadow-sm active:translate-y-0 motion-reduce:hover:translate-y-0`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)]`].join(` `),ln=`${cn} w-fit min-w-0 max-w-[min(100%,15rem)]`,un=`${cn} w-fit min-w-0 max-w-[min(100%,20rem)]`;function dn(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}var fn=e=>{let t=(0,st.c)(23),{card:n}=e,{t:r}=A(),i=we(),a;t[0]===i?a=t[1]:(a=i&&!v(),t[0]=i,t[1]=a);let o=!!a,s=n.name,c=`${n.providerID}/${n.modelID}`,l;t[2]!==n.assistantID||t[3]!==o?(l=()=>{if(o){q.getState().openAssistant(n.assistantID);return}J(n.assistantID)},t[2]=n.assistantID,t[3]=o,t[4]=l):l=t[4];let u=O(l),d;t[5]===u?d=t[6]:(d=e=>{dn(e,u)},t[5]=u,t[6]=d);let f=O(d),p;t[7]!==r||t[8]!==s?(p=r(`assistants.contact.card.assistant.aria`,{name:s}),t[7]=r,t[8]=s,t[9]=p):p=t[9];let m;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,$.jsx)(`span`,{className:`relative inline-block size-10 shrink-0 leading-none`,"aria-hidden":!0,children:(0,$.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-[var(--surface-muted)] text-foreground`,children:(0,$.jsx)(X,{name:`robot-2`,className:`size-5`})})}),t[10]=m):m=t[10];let h;t[11]===s?h=t[12]:(h=(0,$.jsx)(`h3`,{className:`min-w-0 line-clamp-2 break-words typography-ui-label font-medium leading-5 text-foreground`,children:s}),t[11]=s,t[12]=h);let g;t[13]===c?g=t[14]:(g=(0,$.jsx)(`p`,{className:`truncate typography-micro font-normal leading-4 text-muted-foreground`,children:c}),t[13]=c,t[14]=g);let _;t[15]!==h||t[16]!==g?(_=(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[m,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[h,g]})]}),t[15]=h,t[16]=g,t[17]=_):_=t[17];let y;return t[18]!==f||t[19]!==u||t[20]!==p||t[21]!==_?(y=(0,$.jsx)(`article`,{className:ln,role:`button`,tabIndex:0,"aria-label":p,"data-assistant-contact-card":`assistant`,onClick:u,onKeyDown:f,children:_}),t[18]=f,t[19]=u,t[20]=p,t[21]=_,t[22]=y):y=t[22],y},pn=e=>{let t=(0,st.c)(30),{card:n}=e,{t:r}=A(),i=n.name,a;t[0]!==n.kind||t[1]!==r?(a=n.kind===`daily`||n.kind===`weekly`||n.kind===`once`||n.kind===`cron`?r(`sessions.scheduledTasks.editor.scheduleType.${n.kind}`):n.kind,t[0]=n.kind,t[1]=r,t[2]=a):a=t[2];let o=a,s;t[3]!==n.time||t[4]!==o?(s=[o,n.time].filter(Boolean),t[3]=n.time,t[4]=o,t[5]=s):s=t[5];let c=s.join(` · `),l;t[6]!==n.prompt||t[7]!==c?(l=c.trim()||(typeof n.prompt==`string`?n.prompt.trim():``),t[6]=n.prompt,t[7]=c,t[8]=l):l=t[8];let u=l,d;t[9]!==n.projectID||t[10]!==n.taskID?(d=()=>{tt(n.projectID,n.taskID)},t[9]=n.projectID,t[10]=n.taskID,t[11]=d):d=t[11];let f=O(d),p;t[12]===f?p=t[13]:(p=e=>{dn(e,f)},t[12]=f,t[13]=p);let m=O(p),h;t[14]!==r||t[15]!==i?(h=r(`assistants.contact.card.schedule.aria`,{name:i}),t[14]=r,t[15]=i,t[16]=h):h=t[16];let g;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(`span`,{className:`relative inline-block size-10 shrink-0 leading-none`,"aria-hidden":!0,children:(0,$.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-[var(--surface-muted)] text-foreground`,children:(0,$.jsx)(X,{name:`calendar`,className:`size-5`})})}),t[17]=g):g=t[17];let _;t[18]===i?_=t[19]:(_=(0,$.jsx)(`h3`,{className:`min-w-0 line-clamp-2 break-words typography-ui-label font-medium leading-5 text-foreground`,children:i}),t[18]=i,t[19]=_);let v;t[20]===u?v=t[21]:(v=u?(0,$.jsx)(`p`,{className:`truncate typography-micro font-normal leading-4 text-muted-foreground`,children:u}):null,t[20]=u,t[21]=v);let y;t[22]!==_||t[23]!==v?(y=(0,$.jsxs)(`div`,{className:`flex items-center gap-3`,children:[g,(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[_,v]})]}),t[22]=_,t[23]=v,t[24]=y):y=t[24];let b;return t[25]!==m||t[26]!==f||t[27]!==y||t[28]!==h?(b=(0,$.jsx)(`article`,{className:ln,role:`button`,tabIndex:0,"aria-label":h,"data-assistant-contact-card":`schedule`,onClick:f,onKeyDown:m,children:y}),t[25]=m,t[26]=f,t[27]=y,t[28]=h,t[29]=b):b=t[29],b},mn=(e,t)=>t===`cancelled`?t:e===`busy`||e===`retry`?e:t===`error`||t===`question`||t===`complete`?t:e===`idle`?`complete`:t===`busy`||t===`retry`||t===`idle`?t:t||`busy`,hn=e=>e===`cancelled`?`assistants.contact.card.session.status.cancelled`:e===`busy`?`assistants.contact.card.session.status.busy`:e===`retry`?`assistants.contact.card.session.status.retry`:e===`idle`?`assistants.contact.card.session.status.idle`:e===`complete`?`assistants.contact.card.session.status.complete`:e===`error`?`assistants.contact.card.session.status.error`:e===`question`?`assistants.contact.card.session.status.question`:null,gn=e=>e===`busy`?`bg-[var(--status-info)]/10 text-[var(--status-info)]`:e===`retry`||e===`question`?`bg-[var(--status-warning)]/10 text-[var(--status-warning)]`:e===`error`?`bg-[var(--status-error)]/10 text-[var(--status-error)]`:e===`idle`||e===`complete`?`bg-[var(--status-success)]/10 text-[var(--status-success)]`:`bg-[var(--surface-muted)] text-muted-foreground`,_n=e=>e.split(/[/\\]/u).filter(Boolean).at(-1)||e,vn=e=>{let t=(0,st.c)(35),{card:n}=e,{t:r}=A(),i=we(),a;t[0]===i?a=t[1]:(a=i&&!v(),t[0]=i,t[1]=a);let o=!!a,s;t[2]===n.sessionID?s=t[3]:(s=e=>e.activeSessions.find(e=>e.id===n.sessionID)??e.archivedSessions.find(e=>e.id===n.sessionID)??null,t[2]=n.sessionID,t[3]=s);let c=se(s),l=ce(n.sessionID),u=(typeof c?.title==`string`&&c.title.trim()?c.title.trim():null)||n.title||r(`assistants.contact.card.session.untitled`),d=mn(l?.type,n.status),f=hn(d),p=d===`busy`||d===`retry`,m=_n(typeof c?.directory==`string`&&c.directory.trim()?c.directory.trim():n.directory),h=Ne(c)||n.branch,g=Ae(c),_=Fe(c),b=Le(_),x=[m,g,h].filter(yn),S;t[4]!==n.directory||t[5]!==n.sessionID||t[6]!==o?(S=()=>{let e=rt(n.sessionID)?.directory||n.directory;K(n.sessionID,e,{phoneShell:o,switchToChat:!0}),o||y.getState().setActiveMainTab(`chat`)},t[4]=n.directory,t[5]=n.sessionID,t[6]=o,t[7]=S):S=t[7];let C=O(S),w;t[8]===C?w=t[9]:(w=e=>{dn(e,C)},t[8]=C,t[9]=w);let T=O(w),E=un,D=r(`assistants.contact.card.session.aria`,{title:u}),k;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,$.jsx)(`span`,{className:`flex size-10 items-center justify-center rounded-xl bg-[var(--surface-muted)] text-foreground`,children:(0,$.jsx)(X,{name:`chat-3`,className:`size-5`})}),t[10]=k):k=t[10];let M;t[11]===p?M=t[12]:(M=p?(0,$.jsx)(`span`,{className:`pointer-events-none absolute right-0 bottom-0 size-2.5 translate-x-0.5 translate-y-0.5 rounded-full bg-[var(--status-success)] ring-2 ring-[var(--surface-elevated)]`,"data-assistant-working-dot":``,"aria-hidden":!0}):null,t[11]=p,t[12]=M);let N;t[13]===M?N=t[14]:(N=(0,$.jsxs)(`span`,{className:`relative inline-block size-10 shrink-0 leading-none`,"aria-hidden":!0,children:[k,M]}),t[13]=M,t[14]=N);let P;t[15]===u?P=t[16]:(P=(0,$.jsx)(`h3`,{className:`min-w-0 flex-1 line-clamp-2 break-words typography-ui-label font-medium leading-5 text-foreground`,children:u}),t[15]=u,t[16]=P);let F=f?(0,$.jsx)(`span`,{className:j(`shrink-0 rounded-full px-1.5 py-0.5 typography-micro leading-none`,gn(d)),children:r(f)}):null,I;t[17]!==P||t[18]!==F?(I=(0,$.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[P,F]}),t[17]=P,t[18]=F,t[19]=I):I=t[19];let L;t[20]===x?L=t[21]:(L=x.length>0?(0,$.jsx)(`p`,{className:`truncate typography-micro font-normal leading-4 text-muted-foreground`,children:x.join(` · `)}):null,t[20]=x,t[21]=L);let R=b||_?.files!==void 0&&_.files>0?(0,$.jsxs)(`p`,{className:`flex flex-wrap items-baseline gap-x-1.5 typography-micro tabular-nums`,children:[_?.additions===void 0?null:(0,$.jsxs)(`span`,{className:`text-[var(--status-success)]`,children:[`+`,_.additions]}),_?.deletions===void 0?null:(0,$.jsxs)(`span`,{className:`text-[var(--status-error)]`,children:[`−`,_.deletions]}),_?.files===void 0?null:(0,$.jsx)(`span`,{className:`text-muted-foreground`,children:_.files===1?r(`assistants.contact.card.session.changes.filesSingle`,{count:_.files}):r(`assistants.contact.card.session.changes.filesPlural`,{count:_.files})})]}):null,z;t[22]!==I||t[23]!==L||t[24]!==R?(z=(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:[I,L,R]}),t[22]=I,t[23]=L,t[24]=R,t[25]=z):z=t[25];let B;t[26]!==N||t[27]!==z?(B=(0,$.jsxs)(`div`,{className:`flex items-start gap-3`,children:[N,z]}),t[26]=N,t[27]=z,t[28]=B):B=t[28];let V;return t[29]!==T||t[30]!==C||t[31]!==B||t[32]!==E||t[33]!==D?(V=(0,$.jsx)(`article`,{className:E,role:`button`,tabIndex:0,"aria-label":D,"data-assistant-contact-card":`session`,onClick:C,onKeyDown:T,children:B}),t[29]=T,t[30]=C,t[31]=B,t[32]=E,t[33]=D,t[34]=V):V=t[34],V};function yn(e){return!!(e&&e.trim())}var bn=2,xn=1500,Sn=e=>({scrollTop:e.scrollTop,scrollHeight:e.scrollHeight,clientHeight:e.clientHeight}),Cn=e=>e.scrollHeight-e.scrollTop-e.clientHeight,wn=e=>Cn(e)<=bn,Tn=(e,t)=>{let n=t instanceof Element?t:t instanceof Node?t.parentElement:null;for(;n&&n!==e;){if(n instanceof HTMLElement&&n.scrollHeight>n.clientHeight+1&&n.scrollTop+n.clientHeight<n.scrollHeight-1)return!0;n=n.parentElement}return!1},En=e=>e.altKey||e.ctrlKey||e.metaKey?!1:e.key===`ArrowDown`||e.key===`PageDown`||e.key===`End`,Dn=({active:e,assistantID:t,contentRevision:n,onLoadEarlier:r})=>{let i=Q.useRef(null),[a,o]=Q.useState(null),[s,c]=Q.useState(null),l=Q.useRef(!0),u=Q.useRef(null),d=Q.useRef(null),f=Q.useRef(null),p=Q.useRef(0),m=Q.useRef(null),h=Q.useRef(null),g=Q.useRef(e);g.current=e;let _=Be(),v=Q.useRef(!1),y=Q.useRef(null),b=Q.useRef(null),x=O(()=>{y.current?.stop(),y.current=null,b.current=null}),S=Q.useMemo(()=>e=>{i.current=e,o(t=>t===e?t:e)},[]),C=Q.useMemo(()=>e=>{c(t=>t===e?t:e)},[]),w=O(()=>{let e=i.current;if(!e||!g.current||l.current)return;let t=e.getBoundingClientRect().top,n=Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.getBoundingClientRect().bottom>t);u.current=n?{id:n.dataset.messageId,offset:n.getBoundingClientRect().top-t,scrollTop:e.scrollTop}:null}),T=O(()=>{let e=i.current,t=u.current;if(!e||!g.current||l.current)return;if(!t){w();return}let n=e.scrollTop-t.scrollTop;if(Math.abs(n)>.5&&m.current){p.current=e.scrollTop,w();return}let r=Array.from(e.querySelectorAll(`[data-message-id]`)).find(e=>e.dataset.messageId===t.id);if(!r){w();return}let a=r.getBoundingClientRect().top-e.getBoundingClientRect().top-(t.offset-n);Math.abs(a)>.5&&(e.scrollTop+=a),p.current=e.scrollTop,u.current={id:t.id,offset:r.getBoundingClientRect().top-e.getBoundingClientRect().top,scrollTop:e.scrollTop}}),D=O(()=>{x(),l.current=!1,p.current=i.current?.scrollTop??0,w()}),A=O(()=>{if(!g.current||!l.current)return!1;let e=i.current;if(!e)return!1;let t=Sn(e),n=Math.min(p.current,Math.max(0,t.scrollHeight-t.clientHeight));if(t.scrollTop<n-.5)return x(),l.current=!1,p.current=t.scrollTop,w(),!1;let r=!v.current;if(r&&e.querySelector(`[data-message-id]`)&&(v.current=!0),wn(t))return x(),p.current=t.scrollTop,!1;let a=Math.max(0,t.scrollHeight-t.clientHeight);return!r&&!_?b.current!==a&&(x(),b.current=a,y.current=ze(e.scrollTop,a,{duration:.22,ease:`easeOut`,onUpdate:t=>{if(!g.current||!l.current||i.current!==e)return;let n=Math.max(0,e.scrollHeight-e.clientHeight);if(e.scrollTop<Math.min(p.current,n)-.5){l.current=!1,x(),p.current=e.scrollTop,w();return}e.scrollTop=Math.min(Math.max(e.scrollTop,t),n),p.current=e.scrollTop},onComplete:()=>{y.current=null,b.current=null}}),!0):(x(),e.scrollTop=a,p.current=e.scrollTop,!0)}),j=O(e=>{h.current={direction:e,expiresAt:performance.now()+xn}}),M=O(()=>{let e=h.current;return e?performance.now()>e.expiresAt?(h.current=null,null):e.direction:null}),N=O(()=>{x(),l.current=!1,w()}),P=O(()=>{if(!g.current)return;let e=i.current;if(!e)return;let t=Sn(e),n=t.scrollTop>p.current,a=Math.min(p.current,Math.max(0,t.scrollHeight-t.clientHeight));if(p.current=t.scrollTop,l.current){t.scrollTop<a-.5&&N();return}let o=M();T(),t.scrollTop<=80&&o===`up`&&r?.(),n&&wn(t)&&(o===`down`||o===`scrollbar`)&&(l.current=!0)}),F=O(e=>{let t=i.current;if(!(!t||e.deltaY===0)){if(e.deltaY<0){if(Ie(t,e.target))return;j(`up`),N(),t.scrollTop<=80&&r?.();return}Tn(t,e.target)||j(`down`)}}),I=O(e=>{h.current=null;let t=e.touches.item(0);m.current=t?{x:t.clientX,y:t.clientY,deltaX:0,deltaY:0}:null}),L=O(e=>{let t=i.current,n=e.touches.item(0);if(!t||!n){m.current=null;return}let a=m.current;if(!a)return;let o=n.clientY-a.y,s=o*a.deltaY<0,c=(s?0:a.deltaX)+n.clientX-a.x,l=(s?0:a.deltaY)+o;if(m.current={x:n.clientX,y:n.clientY,deltaX:c,deltaY:l},!(Math.abs(c)>=Math.abs(l))){if(l>0&&Ie(t,e.target)||l<0&&Tn(t,e.target)){m.current.deltaX=0,m.current.deltaY=0;return}j(l>0?`up`:`down`),l>2&&(N(),t.scrollTop<=80&&r?.())}}),R=O(()=>{m.current=null}),z=O(e=>{if(Te(e)){j(`up`),N(),(i.current?.scrollTop??1/0)<=80&&r?.();return}En(e)&&j(`down`)}),B=O(e=>{let t=i.current;e.pointerType===`mouse`&&e.target===t&&j(`scrollbar`)});Q.useLayoutEffect(()=>{let n=e?t:null,r=i.current;(d.current!==n||f.current!==r)&&(x(),v.current=!1,d.current=n,f.current=r,l.current=!0,u.current=null,h.current=null,m.current=null,p.current=r?.scrollTop??0),e&&(A(),T())},[e,t,n,a,_]),Q.useLayoutEffect(()=>()=>{x()},[e,t,a,x]);let V=Q.useMemo(()=>()=>void 0,[]),H=e&&a?a:V,U=Q.useMemo(()=>({passive:!0}),[]);k(`scroll`,P,H,U),k(`wheel`,F,H,U),k(`touchstart`,I,H,U),k(`touchmove`,L,H,U),k(`touchend`,R,H,U),k(`touchcancel`,R,H,U),k(`keydown`,z,H),k(`pointerdown`,B,H,U);let ee=O(()=>{A(),T()});return E(typeof ResizeObserver<`u`&&e?s:null,ee),{scrollRef:S,contentRef:C,preparePrepend:D}},On=64,kn=e=>{if(!e)return[];let t=Array.from(e.files||[]);return t.length>0?t:Array.from(e.items||[]).filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(e=>e instanceof File)},An=e=>Array.from(e?.files||[]),jn=async(e,t=p)=>{let n=[],r=0;for(let i of Array.from(e||[])){if(!i||i.size<=0)continue;if(i.size>26214400){r+=1;continue}let e=URL.createObjectURL(i);n.push({id:t(),url:e,name:i.name.trim()||`attachment`,mime:i.type.trim()||`application/octet-stream`,file:i})}return{attachments:n,skippedTooLarge:r}},Mn=(e,t)=>{let n=[...e,...t];for(let e of n.slice(On))e.url.startsWith(`blob:`)&&URL.revokeObjectURL(e.url);return n.slice(0,On)},Nn=Ge(()=>x(()=>import(`./ToolOutputDialog-DeKTxH8F.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60]))),Pn=e=>e.trim().startsWith(`oc.settle.`),Fn=e=>e.status===`error`||e.status===`failed`&&e.messageID.endsWith(`:preview:failed`),In=e=>e.role===`assistant`&&e.status!==`error`&&e.parts.some(e=>e.type===`text`)?`${e.turnID}:assistant:${e.bubbleIndex}`:e.messageID,Ln=({assistant:e,warning:t,active:n,overlayHeader:r=!1})=>{let{t:i,locale:a}=A(),o=be(),s=y(e=>e.isMobile),c=z(),l=B(),u=ie(e.id,n),d=y(e=>e.isSettingsDialogOpen),f=n&&!d&&!u.hasMessageGap?I(e,u.data):null,m=N(e.name).displayName||e.name,h=(e,t)=>{let n=e?l.data?.assistants.find(t=>t.id===e):void 0;return n?N(n.name).displayName||n.name:t||i(`assistants.contact.peer.unknown`)},[g,_]=Q.useState(``),[v,b]=Q.useState([]),x=Q.useRef(null),S=Q.useRef(new Map),C=Q.useRef(new AbortController);Q.useEffect(()=>{let e=new AbortController;return C.current=e,()=>e.abort()},[e.id,o]);let w=Q.useRef(new Set);Q.useEffect(()=>{let e=new Set(v.map(e=>e.url));for(let t of w.current)e.has(t)||URL.revokeObjectURL(t);w.current=e},[v]),Q.useEffect(()=>()=>{for(let e of w.current)URL.revokeObjectURL(e)},[]);let[T,E]=Q.useState([]),[D,k]=Q.useState([]),[F,L]=Q.useState(null),[V,H]=Q.useState({open:!1,title:``,content:``}),W=y(e=>e.setImagePreviewOpen),ne=O(e=>{(e.image||e.mermaid)&&(H(e),W(!0))}),re=O(e=>{H(t=>({...t,open:e})),W(e)});Q.useEffect(()=>()=>{W(!1)},[W]);let G=Q.useRef(!1);Q.useEffect(()=>{S.current.clear(),x.current=null,E([]),k([]),L(null)},[o]);let ae=Q.useMemo(()=>rn(),[]),K=Q.useRef(new Set),oe=Q.useRef(new Map),se=ut(e=>e.setWorking),q=u.data?.messages??zt,ce=Ht(T,e.id),ue=Ut(D,e.id),J=Kt(q,ce,e.id,ue).filter(e=>{if(e.status===`admitted`&&e.messageID.endsWith(`:preview:admitted`))return!1;let t=Array.isArray(e.parts)?e.parts:[];return t.length===0||t.some(e=>!(e.type===`text`&&Pn(e.text)))}),de=J.length-1;for(;de>=0&&Fn(J[de]);)--de;let Y=J.filter((e,t)=>!Fn(e)||t>de),fe=vt(Y),pe=Be(),me=`${o}:${e.id}`,he=Q.useRef(null),ge=he.current,_e=ge?.lastID?Y.findIndex(e=>In(e)===ge.lastID):-1,ve=n&&!pe&&ge?.scope===me&&ge.ready&&(ge.lastID===null||_e>=0);Q.useLayoutEffect(()=>{let e=Y.at(-1);he.current={scope:me,ready:n&&u.isSuccess,lastID:e?In(e):null}});let ye=new Date().toDateString(),xe=i(`common.date.today`),Se=Q.useMemo(()=>yt(a,xe,new Date(ye)),[a,xe,ye]),Z=on(ce),Ce=sn(ue),we=!!(e.working||e.activeContactTurn),Te=l.data?.revision??null,Ee=ue.reduce((e,t)=>e+t.bubbles.reduce((e,t)=>e+t.text.length,0),0),De=new Map(ue.map(e=>[e.turnID,e])),Oe=Q.useRef(!1),ke=O(async(e=!1)=>{if(!(!n||Oe.current||u.isFetchingPreviousPage||u.isFillingMessageGap)&&!(e&&u.previousPageError)&&!(!u.hasPreviousPage&&!u.hasMessageGap)){Oe.current=!0,Me();try{u.hasMessageGap?await u.retryMessageGap():await u.fetchPreviousPage()}catch{}finally{Oe.current=!1}}}),{scrollRef:Ae,contentRef:je,preparePrepend:Me}=Dn({active:n,assistantID:e.id,contentRevision:`${Y[0]?.messageID}:${Y.length}:${Ee}:${u.isFetchingPreviousPage}:${u.hasPreviousPage}:${u.isFillingMessageGap}`,onLoadEarlier:()=>{ke(!0)}});Q.useEffect(()=>{L(null),K.current.clear(),oe.current=new Map,E(t=>Ht(t,e.id)),k(t=>Ut(t,e.id)),H({open:!1,title:``,content:``}),W(!1)},[e.id,W]),Q.useEffect(()=>{E(e=>qt(e,q))},[q]),Q.useEffect(()=>{let t=new Set(ce.filter(e=>e.status===`sending`).map(e=>e.messageID));k(n=>Zt(n,{assistantID:e.id,activeContactTurn:e.activeContactTurn?{turnID:e.activeContactTurn.turnID,admittedAt:e.activeContactTurn.admittedAt}:null,serverWorking:we,snapshotRevision:Te,admissionRevisionByTurnID:oe.current,pendingSendTurnIDs:t,messages:q,settledTurnIDs:K.current}))},[e.activeContactTurn,e.id,q,ce,we,Te]),Q.useEffect(()=>{se(e.id,Z||Ce||we)},[e.id,Ce,Z,we,se]),Q.useEffect(()=>{let t=e.id;return()=>{se(t,!1)}},[e.id,se]);let Ne=O(t=>{if(!(!(`assistantID`in t)||t.assistantID!==e.id)){if(t.type===`contact-turn-start`){K.current.delete(t.turnID),k(e=>Yt(e,t.assistantID,t.turnID,t.occurredAt));return}if(t.type===`contact-bubble-delta`){if(K.current.has(t.turnID))return;k(e=>Qt(e,t));return}t.type===`contact-turn-end`&&(K.current.add(t.turnID),k(e=>en($t(e,t,{requireExisting:!0}),q)))}});Q.useEffect(()=>{if(n)return le(Ne)},[n,e.id]);let Pe=O(async e=>{if(Z)return;let t=C.current,n=await jn(e);if(t.signal.aborted){n.attachments.forEach(e=>URL.revokeObjectURL(e.url));return}n.skippedTooLarge>0&&L(i(`assistants.contact.attachment.tooLarge`)),n.attachments.length!==0&&b(e=>Mn(e,n.attachments))}),Fe=O(e=>{let t=kn(e.clipboardData);t.length!==0&&(e.preventDefault(),Pe(t))}),Ie=O(e=>{Array.from(e.dataTransfer?.types??[]).includes(`Files`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}),Le=O(e=>{let t=An(e.dataTransfer);t.length!==0&&(e.preventDefault(),Pe(t))}),Re=O(async t=>{let n=C.current,r=t??g,a=v,o=e.id,s=x.current,l=s?.assistantID===o&&s.text===r&&s.attachments===a?s.messageID:null,u=an({gate:ae,sending:on(ce),text:r,attachments:a,assistantID:o,createMessageID:()=>l||`oc_contact_${p()}`});if(!u.ok)return;se(o,!0),x.current={assistantID:o,text:r,attachments:a,messageID:u.messageID},E(e=>[...e.filter(e=>e.messageID!==u.messageID),u.turn]),L(null);let d=()=>{_(e=>e===r?``:e),b(e=>e.filter(e=>!a.includes(e))),a.forEach(e=>S.current.delete(`${o}:${e.id}`)),x.current=null};try{let t=[];for(let e of a){let r=`${o}:${e.id}`,i=S.current.get(r);if(!i){if(i=await it(o,e.file,e.id,n.signal),n.signal.aborted)return;S.current.set(r,i)}t.push(i)}if(n.signal.aborted)return;let r=[...u.parts.filter(e=>e.type===`text`),...t];E(e=>e.map(e=>e.messageID===u.messageID?{...e,parts:r}:e));let i=await te(o,u.messageID,{parts:r});if(n.signal.aborted)return;d(),typeof i.revision==`number`&&oe.current.set(u.messageID,i.revision),E(e=>Jt(e,u.messageID)),K.current.has(u.messageID)||k(e=>Yt(e,o,u.messageID)),c.data?.serverInstanceID&&P({serverInstanceID:c.data.serverInstanceID,assistantID:o,name:m,avatarSeed:e.avatarSeed??o}).catch(()=>void 0)}catch(e){if(n.signal.aborted)return;if(e instanceof R&&e.code===`admission_timeout`)try{let e=await U(o,u.messageID);if(n.signal.aborted)return;if(e){d(),typeof e.revision==`number`&&oe.current.set(u.messageID,e.revision),E(e=>Jt(e,u.messageID)),K.current.has(u.messageID)||k(e=>Yt(e,o,u.messageID));return}}catch{}let t=nn(e,{noProvider:i(`assistants.contact.noProvider`),sendFailed:i(`assistants.contact.sendFailed`),timedOut:i(`assistants.contact.timedOut`)});E(e=>tn(e,u.messageID,t)),L(t)}finally{ae.release()}}),ze=O(async()=>{if(G.current)return;G.current=!0;let t=C.current;L(null);try{await ee(e.id,e)}catch(e){t.signal.aborted||L(e instanceof Error?e.message:i(`settings.mcp.page.toast.unexpectedError`))}finally{G.current=!1}}),Ve=u.isError&&Y.length===0,He=u.isSuccess&&Y.length===0,Ue=new Map(ce.map(e=>[e.messageID,e]));return(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col bg-background`,children:[(0,$.jsxs)(`div`,{ref:Ae,className:j(`min-h-0 flex-1 overflow-x-hidden overflow-y-auto px-4 sm:px-8`,r?`pt-[calc(max(0.625rem,var(--oc-safe-area-top,0px))+var(--oc-mobile-detail-navigation-height)+1.25rem)]`:`pt-5 sm:pt-7`),style:{overflowAnchor:`none`,overscrollBehavior:`contain`,overscrollBehaviorY:`contain`},"data-assistant-contact-transcript":``,children:[t?(0,$.jsx)(`p`,{className:`mb-3 typography-micro text-[var(--status-warning)]`,children:t}):null,Ve?(0,$.jsxs)(`div`,{ref:je,className:`mx-auto flex h-full min-h-56 max-w-xs flex-col items-center justify-center pb-16 text-center`,"data-assistant-contact-error":``,children:[(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(pt,{name:e.id,avatarSeed:e.avatarSeed,size:44,label:m}),(0,$.jsx)(`span`,{"aria-hidden":!0,className:`absolute -right-1 -bottom-1 flex size-5 items-center justify-center rounded-full bg-[var(--surface-elevated)] text-[var(--status-error)] ring-2 ring-background`,children:(0,$.jsx)(X,{name:`error-warning`,className:`size-3`})})]}),(0,$.jsx)(`p`,{className:`mt-4 typography-ui-label font-medium text-foreground`,children:m}),(0,$.jsx)(`p`,{className:`mt-1.5 typography-ui leading-6 text-muted-foreground`,children:i(`assistants.contact.loadFailed`)}),(0,$.jsx)(M,{type:`button`,size:`sm`,variant:`ghost`,onClick:()=>void u.refetch(),children:i(`chat.history.retry`)})]}):He?(0,$.jsxs)(`div`,{ref:je,className:`mx-auto flex h-full min-h-56 max-w-sm flex-col items-center justify-center pb-16 text-center`,"data-assistant-contact-empty":``,children:[(0,$.jsx)(pt,{name:e.id,avatarSeed:e.avatarSeed,size:48,label:m,className:`opacity-90`}),(0,$.jsx)(`p`,{className:`mt-5 typography-ui-header font-medium tracking-[-0.01em] text-foreground`,children:i(`assistants.conversation.emptyTitle`,{name:m})}),(0,$.jsx)(`p`,{className:`mt-2 max-w-xs typography-ui leading-6 text-muted-foreground/80`,children:i(`assistants.contact.empty`)})]}):(0,$.jsxs)(`div`,{ref:je,className:`relative mx-auto flex w-full max-w-[42rem] flex-col pb-12`,"data-assistant-contact-content":``,children:[u.isPending?(0,$.jsx)(`p`,{role:`status`,className:`py-3 text-center typography-micro text-muted-foreground`,children:i(`common.loading`)}):null,u.hasPreviousPage||u.hasMessageGap?(0,$.jsxs)(`div`,{className:`mb-3 flex flex-col items-center gap-1`,"data-assistant-contact-pagination":``,"aria-busy":u.isFetchingPreviousPage||u.isFillingMessageGap,children:[u.previousPageError?(0,$.jsx)(`p`,{role:`alert`,className:`typography-micro text-[var(--status-error)]`,children:i(`chat.history.loadOlderFailed`)}):null,u.hasMessageGap?(0,$.jsx)(`p`,{role:`status`,className:`typography-micro text-muted-foreground`,children:i(`assistants.contact.history.gap`)}):null,(0,$.jsx)(M,{type:`button`,size:`sm`,variant:`ghost`,disabled:u.isFetchingPreviousPage||u.isFillingMessageGap,onClick:()=>void ke(),children:i(u.isFetchingPreviousPage||u.isFillingMessageGap?`chat.history.loadingMore`:u.previousPageError||u.hasMessageGap?`chat.history.retry`:`chat.history.loadOlder`)})]}):null,Y.map((t,n)=>{let r=`${me}:${In(t)}`,a=n>0?Y[n-1]:null,s=fe.get(t.messageID),c=s!==void 0,u=c?(0,$.jsx)(`div`,{className:`flex w-full justify-center px-4 pt-7 pb-4 first:pt-1`,"data-assistant-contact-time":``,children:(0,$.jsx)(`time`,{dateTime:new Date(s).toISOString(),className:`text-[11px] font-normal leading-4 tabular-nums text-muted-foreground/70`,children:Se(s)})}):null,d=t.role===`user`,p=t.role===`peer`,g=t.role===`assistant`&&!c&&a?.role===`assistant`&&a.turnID===t.turnID,_=a?.turnID!==t.turnID,v=!d&&(p||!g),y=p?h(t.fromAssistantID,t.fromAssistantName):m,b=p&&t.fromAssistantID?l.data?.assistants.find(e=>e.id===t.fromAssistantID):e,x=Ue.get(t.messageID),S=De.get(t.turnID),C=t.status===`failed`&&t.messageID.endsWith(`:preview:failed`);return t.status===`error`||C?(0,$.jsxs)(Q.Fragment,{children:[u,(0,$.jsxs)(`div`,{"data-message-id":t.messageID,"data-assistant-contact-error":``,className:j(`relative px-1`,!c&&`mt-3`),children:[(0,$.jsx)(`p`,{role:`alert`,className:`whitespace-pre-wrap text-center text-[11px] font-normal leading-4 text-muted-foreground [overflow-wrap:anywhere]`,children:t.text||S?.error||i(`assistants.contact.sendFailed`)}),f?.messageID===t.messageID?(0,$.jsx)(xt,{assistantID:e.id,position:f},`${o}:${e.id}:${f.generation}:${f.ordinal}`):null]})]},r):(0,$.jsxs)(Q.Fragment,{children:[u,(0,$.jsxs)(Ye.div,{"data-message-id":t.messageID,initial:ve&&n>_e?{opacity:0,y:4}:!1,animate:{opacity:1,y:0},transition:{duration:pe?0:.18,ease:`easeOut`},className:j(`flex w-full`,d?`justify-end`:`justify-start`,c?`mt-0`:_?`mt-6 first:mt-0`:g?`mt-1.5`:`mt-3`),"data-assistant-contact-role":t.role,"data-assistant-contact-turn-status":x?.status??t.status,"data-assistant-contact-run-start":t.role===`assistant`&&!g?``:void 0,children:[d?null:(0,$.jsx)(`div`,{className:`mr-2.5 flex w-8 shrink-0 justify-center pt-0.5`,children:v?(0,$.jsx)(pt,{name:b?.id||t.fromAssistantID||e.id,avatarSeed:b?.avatarSeed??(t.fromAssistantID?void 0:e.avatarSeed),size:28,label:y,working:t.status===`streaming`||void 0,showWorkingDot:!1}):(0,$.jsx)(`span`,{className:`size-7`,"aria-hidden":!0})}),(0,$.jsxs)(`div`,{className:j(`relative flex min-w-0 flex-col gap-1.5`,d?`max-w-[min(82%,30rem)] items-end`:`max-w-[min(84%,34rem)] items-start`),children:[p?(0,$.jsx)(`span`,{className:`mb-0.5 px-1 typography-micro text-muted-foreground/75`,children:i(`assistants.contact.peer.from`,{name:y})}):null,t.parts.map((n,a)=>{if(n.type===`card`&&n.cardType===`session`)return(0,$.jsx)(vn,{card:n},`${r}:card:${a}`);if(n.type===`card`&&n.cardType===`assistant`)return(0,$.jsx)(fn,{card:n},`${r}:card:${a}`);if(n.type===`card`&&n.cardType===`schedule`)return(0,$.jsx)(pn,{card:n},`${r}:card:${a}`);if(n.type===`file`)return(0,$.jsx)(Rt,{assistantID:e.id,part:n,onShowPopup:ne},`${r}:file:${a}`);if(n.type===`text`&&Pn(n.text))return null;if(n.type===`text`&&(n.text.trim()||t.status===`streaming`)){let e=!d;return(0,$.jsx)(`div`,{"aria-label":p?i(`assistants.contact.peer.aria`,{name:y}):void 0,"data-assistant-contact-text":``,className:j(`min-w-0 max-w-full [overflow-wrap:anywhere] rounded-[1.35rem] px-4 py-2.5 typography-markdown leading-6`,e?null:`whitespace-pre-wrap`,d?`rounded-[1.15rem] rounded-br-lg bg-[var(--primary-base)]/90 text-[var(--primary-foreground)]`:p?`rounded-[1.25rem] border border-dashed border-border/50 bg-[var(--surface-muted)]/70 text-foreground`:`bg-[var(--surface-muted)] text-foreground`),children:e?(0,$.jsx)(Ke,{content:n.text,messageId:r,isAnimated:!1,isStreaming:t.status===`streaming`,variant:`assistant`,enableFileReferences:!1,onShowPopup:ne,className:`w-full min-w-0 [overflow-wrap:anywhere]`}):n.text},`${r}:text:${a}`)}return null}),x?.status===`sending`?(0,$.jsx)(`p`,{className:`absolute right-1 top-full mt-1 typography-micro text-muted-foreground/75`,children:i(`assistants.contact.sending`)}):null,x?.status===`failed`?(0,$.jsx)(`p`,{className:`px-1 typography-micro text-[var(--status-error)]`,children:x.error||i(`assistants.contact.sendFailed`)}):null,f?.messageID===t.messageID?(0,$.jsx)(xt,{assistantID:e.id,position:f},`${o}:${e.id}:${f.generation}:${f.ordinal}`):null]})]})]},r)}),(0,$.jsx)(`div`,{className:`pointer-events-none absolute bottom-2 left-[2.625rem] flex h-8 items-center`,"data-assistant-contact-status-slot":``,children:Z||Ce||we?(0,$.jsxs)(`div`,{role:`status`,"aria-label":i(`assistants.contact.processing`),className:`inline-flex items-center gap-1 px-4 text-muted-foreground/70`,"data-assistant-contact-processing":``,children:[(0,$.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 animate-pulse rounded-full bg-current [animation-delay:-0.45s] [animation-duration:1.4s] motion-reduce:animate-none`}),(0,$.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 animate-pulse rounded-full bg-current [animation-delay:-0.22s] [animation-duration:1.4s] motion-reduce:animate-none`}),(0,$.jsx)(`span`,{"aria-hidden":!0,className:`size-1.5 animate-pulse rounded-full bg-current [animation-duration:1.4s] motion-reduce:animate-none`})]}):null})]})]}),(0,$.jsxs)(`footer`,{className:`relative z-10 shrink-0 bg-background pt-1`,"data-assistant-contact-composer":``,children:[F?(0,$.jsxs)(`div`,{className:`chat-input-column mb-2 flex items-center gap-2`,children:[(0,$.jsx)(`p`,{role:`alert`,className:`typography-micro text-[var(--status-error)]`,children:F}),x.current?(0,$.jsx)(M,{type:`button`,size:`sm`,variant:`ghost`,disabled:Z,onClick:()=>void Re(),children:i(`chat.history.retry`)}):null]}):null,(0,$.jsx)(`form`,{className:j(`relative w-full pt-1.5 pb-4`,s&&`bottom-safe-area oc-mobile-composer`),onSubmit:e=>{e.preventDefault(),Re()},onDragOver:Ie,onDrop:Le,children:(0,$.jsx)(`div`,{className:`chat-input-column relative overflow-visible`,children:(0,$.jsx)(Mt,{active:n,layout:`inline`,value:g,attachments:v,pending:Z,working:Ce||we,onStop:Ce||we?()=>{ze()}:void 0,stopLabel:i(`chat.chatInput.actions.stopGeneratingAria`),isMobile:s,placeholder:i(`assistants.contact.placeholder`,{name:m}),sendLabel:i(`assistants.contact.send`),addFilesLabel:i(`assistants.contact.addFiles`),removeAttachmentLabel:i(`assistants.contact.removeAttachment`),fileAccept:`*/*`,onChange:e=>_(e),onVoiceSend:e=>{Re(e)},onSubmit:()=>{Re()},onAddFiles:e=>{Pe(e)},onRemoveAttachment:t=>{Z||(S.current.delete(`${e.id}:${t}`),x.current=null,b(e=>e.filter(e=>e.id!==t)))},onPaste:Fe,onDragOver:Ie,onDrop:Le,className:j(`relative z-10`,s&&`oc-mobile-composer-surface`),style:{borderRadius:`1.5rem`},"data-assistant-contact-composer-surface":``,textareaProps:{"aria-label":i(`assistants.contact.placeholder`,{name:m})}},`${o}:${e.id}`)})})]}),V.open?(0,$.jsx)(Q.Suspense,{fallback:null,children:(0,$.jsx)(Nn,{popup:V,onOpenChange:re,isMobile:s})}):null]})};async function Rn(e){await W(e);let t=ue.getState().defaultShareAssistant;if(t?.assistantID!==e.id)return;let n=await V();n.serverInstanceID&&t.serverInstanceID===n.serverInstanceID&&ue.getState().setDefaultShareAssistant(null)}function zn({assistant:e,open:t,onOpenChange:n,onDeleted:r}){let{t:i}=A(),[a,o]=Q.useState(!1),s=e?N(e.name).displayName||e.name:``,c=O(e=>{a&&!e||n(e)}),l=O(()=>{a||n(!1)}),u=O(async()=>{if(!(!e||a)){o(!0);try{await Rn(e),r?.(e.id),n(!1),C.success(i(`assistants.settings.toast.deleted`))}catch{C.error(i(`assistants.settings.toast.deleteFailed`))}finally{o(!1)}}});return(0,$.jsx)(_e,{open:t&&e!==null,onOpenChange:c,children:(0,$.jsxs)(me,{className:`max-w-md`,children:[(0,$.jsxs)(fe,{children:[(0,$.jsx)(he,{children:i(`assistants.settings.delete`)}),(0,$.jsx)(ge,{children:i(`assistants.settings.deleteConfirm`,{name:s})})]}),(0,$.jsxs)(pe,{children:[(0,$.jsx)(M,{size:`sm`,variant:`ghost`,onClick:l,disabled:a,children:i(`settings.common.actions.cancel`)}),(0,$.jsx)(M,{size:`sm`,variant:`destructive`,onClick:u,disabled:a,children:i(`settings.common.actions.delete`)})]})]})})}var Bn=`block min-w-0 max-w-full truncate typography-micro text-muted-foreground`,Vn={image:`assistants.contact.attachment.image`,file:`assistants.contact.attachment.file`,session:`assistants.contact.card.session.untitled`,assistant:`assistants.title`,schedule:`assistants.settings.scheduledTasks.title`};function Hn(e,t){return e?.text.replace(/\s+/gu,` `).trim()||t(e?.fallbackKind?Vn[e.fallbackKind]:`assistants.contact.empty`)}var Un=e=>e.capabilityPending?`loading`:e.capabilityError||e.supported!==!0||e.capabilityEnabled!==!0?`unavailable`:e.snapshotPending?`loading`:e.snapshotEnabled===!0?e.assistantCount===0?`onboarding`:e.hasAssistant?`ready`:e.snapshotSettled?`unavailable`:`loading`:`unavailable`,Wn=e({AssistantView:()=>qn}),Gn=e=>{let t=(0,st.c)(21),{assistant:n,onBack:r,onOpenSettings:i}=e,{t:a}=A(),o=we(),s;t[0]===n?s=t[1]:(s=n?N(n.name):null,t[0]=n,t[1]=s);let c=s,l=n&&c?c.displayName||n.name:``,u;t[2]!==n||t[3]!==o||t[4]!==i?(u=()=>{if(n){if(i){i(n.id);return}de(n.id,o?{openMobileSettings:o.openSettings}:void 0)}},t[2]=n,t[3]=o,t[4]=i,t[5]=u):u=t[5];let d=O(u),f;t[6]!==n||t[7]!==l||t[8]!==a?(f=n?(0,$.jsxs)(`span`,{className:`inline-flex min-w-0 items-center gap-2.5`,children:[(0,$.jsx)(pt,{name:n.id,avatarSeed:n.avatarSeed,size:40,label:l,working:!!(n.working||n.activeContactTurn),showWorkingDot:!1}),(0,$.jsxs)(`span`,{className:`min-w-0`,children:[(0,$.jsx)(`span`,{className:`block truncate font-medium leading-5 tracking-[-0.01em]`,children:l||a(`assistants.title`)}),(0,$.jsx)(bt,{assistantID:n.id,serverWorking:!!(n.working||n.activeContactTurn),lastContactAt:n.latestMessagePreview?.createdAt})]})]}):l||a(`assistants.title`),t[6]=n,t[7]=l,t[8]=a,t[9]=f):f=t[9];let p;t[10]===a?p=t[11]:(p=a(`assistants.actions.backToChat`),t[10]=a,t[11]=p);let m;t[12]!==n||t[13]!==d||t[14]!==a?(m=n?[{icon:`settings-3`,ariaLabel:a(`assistants.conversation.openSettings`),onClick:d}]:[],t[12]=n,t[13]=d,t[14]=a,t[15]=m):m=t[15];let h;return t[16]!==r||t[17]!==f||t[18]!==p||t[19]!==m?(h=(0,$.jsx)(re,{title:f,backAriaLabel:p,onBack:r,actions:m,overlay:!0}),t[16]=r,t[17]=f,t[18]=p,t[19]=m,t[20]=h):h=t[20],h},Kn=e=>{let t=(0,st.c)(53),{avatarSeed:n,unreadCount:r,summary:i,assistantID:a,displayName:o,selected:s,enabled:c,editLabel:l,deleteLabel:u,onSelect:d,onEdit:f,onDelete:p,serverWorking:m}=e,h=ft(a,m!==void 0&&m),[g,_]=Q.useState(!1),v;t[0]===d?v=t[1]:(v=()=>d(),t[0]=d,t[1]=v);let y=O(v),b;t[2]===f?b=t[3]:(b=()=>{_(!1),f()},t[2]=f,t[3]=b);let x=O(b),S;t[4]===p?S=t[5]:(S=()=>{_(!1),p()},t[4]=p,t[5]=S);let C=O(S),w;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(w=e=>{e.preventDefault(),_(!0)},t[6]=w):w=t[6];let T=s?`border-border/50 bg-[var(--surface-elevated)]`:`border-transparent hover:bg-interactive-hover`,E=!c&&`opacity-65`,D;t[7]!==T||t[8]!==E?(D=j(`flex w-full min-h-11 items-center gap-3 rounded-xl border px-3 py-3 text-left outline-none transition-[background-color,border-color,opacity] duration-150 ease-out active:bg-interactive-active focus-visible:ring-2 focus-visible:ring-[var(--interactive-focus-ring)] motion-reduce:transition-none`,T,E),t[7]=T,t[8]=E,t[9]=D):D=t[9];let k;t[10]!==y||t[11]!==s||t[12]!==D?(k=(0,$.jsx)(`button`,{type:`button`,role:`option`,"aria-selected":s,onClick:y,onContextMenu:w,className:D}),t[10]=y,t[11]=s,t[12]=D,t[13]=k):k=t[13];let A;t[14]!==a||t[15]!==n||t[16]!==o||t[17]!==h?(A=(0,$.jsx)(pt,{name:a,avatarSeed:n,size:44,label:o,working:h}),t[14]=a,t[15]=n,t[16]=o,t[17]=h,t[18]=A):A=t[18];let M=s?`font-semibold`:`font-medium`,N;t[19]===M?N=t[20]:(N=j(`block truncate typography-ui-label leading-5`,M),t[19]=M,t[20]=N);let P;t[21]!==o||t[22]!==N?(P=(0,$.jsx)(`span`,{className:N,children:o}),t[21]=o,t[22]=N,t[23]=P):P=t[23];let F;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(F=j(Bn,`mt-1 leading-5`),t[24]=F):F=t[24];let I;t[25]===i?I=t[26]:(I=(0,$.jsx)(`span`,{className:F,children:i}),t[25]=i,t[26]=I);let L;t[27]!==P||t[28]!==I?(L=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[P,I]}),t[27]=P,t[28]=I,t[29]=L):L=t[29];let R;t[30]===r?R=t[31]:(R=(0,$.jsx)(nt,{count:r}),t[30]=r,t[31]=R);let z;t[32]!==A||t[33]!==L||t[34]!==R||t[35]!==k?(z=(0,$.jsxs)(Qe,{render:k,children:[A,L,R]}),t[32]=A,t[33]=L,t[34]=R,t[35]=k,t[36]=z):z=t[36];let B;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(X,{name:`edit`,className:`size-4`}),t[37]=B):B=t[37];let V;t[38]!==l||t[39]!==x?(V=(0,$.jsxs)(et,{onClick:x,children:[B,l]}),t[38]=l,t[39]=x,t[40]=V):V=t[40];let H;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,$.jsx)(Ze,{}),t[41]=H):H=t[41];let U;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,$.jsx)(X,{name:`delete-bin`,className:`size-4`}),t[42]=U):U=t[42];let ee;t[43]!==u||t[44]!==C?(ee=(0,$.jsxs)(et,{onClick:C,className:`text-[var(--status-error)] focus:text-[var(--status-error)] data-[highlighted]:text-[var(--status-error)] [&_svg]:text-[var(--status-error)]`,children:[U,u]}),t[43]=u,t[44]=C,t[45]=ee):ee=t[45];let W;t[46]!==V||t[47]!==ee?(W=(0,$.jsxs)($e,{className:`min-w-[10rem]`,children:[V,H,ee]}),t[46]=V,t[47]=ee,t[48]=W):W=t[48];let te;return t[49]!==g||t[50]!==z||t[51]!==W?(te=(0,$.jsxs)(Xe,{open:g,onOpenChange:_,children:[z,W]}),t[49]=g,t[50]=z,t[51]=W,t[52]=te):te=t[52],te},qn=e=>{let t=(0,st.c)(118),{activeOverride:i,onMobileBack:a,onMobileOpenSettings:o}=e,{t:s}=A(),{isMobile:c}=ve(),l=we(),u=Q.useSyncExternalStore(n,r,r),d=y(Jn),f=i??d,p=y(Yn),m=c||p,h=z(),g=B(),_=g.data;_?.assistants;let v;t[0]===_?.assistants?v=t[1]:(v=_?.assistants??[],t[0]=_?.assistants,t[1]=v);let b;t[2]===v?b=t[3]:(b=ct(v),t[2]=v,t[3]=b);let x=b,S;t[4]===u?S=t[5]:(S=e=>e.assistantByTransport[u]??null,t[4]=u,t[5]=S);let C=ue(S),w=ue(Xn),T=ue(Zn),E;t[6]!==C||t[7]!==_?.assistants?(E=_?.assistants.find(e=>e.id===C)??null,t[6]=C,t[7]=_?.assistants,t[8]=E):E=t[8];let D=E,k;t[9]!==w||t[10]!==C||t[11]!==_?(k=()=>{!C&&_?.assistants[0]&&w(_.assistants[0].id)},t[9]=w,t[10]=C,t[11]=_,t[12]=k):k=t[12];let P=_?.assistants,F;t[13]!==w||t[14]!==C||t[15]!==P?(F=[w,C,P],t[13]=w,t[14]=C,t[15]=P,t[16]=F):F=t[16],Q.useEffect(k,F);let I;t[17]!==D||t[18]!==w||t[19]!==C||t[20]!==_?.assistants||t[21]!==g.isSuccess?(I=()=>{g.isSuccess&&C&&!D&&w(_?.assistants[0]?.id??null)},t[17]=D,t[18]=w,t[19]=C,t[20]=_?.assistants,t[21]=g.isSuccess,t[22]=I):I=t[22];let L=_?.assistants,R;t[23]!==D||t[24]!==w||t[25]!==C||t[26]!==g.isSuccess||t[27]!==L?(R=[D,w,C,L,g.isSuccess],t[23]=D,t[24]=w,t[25]=C,t[26]=g.isSuccess,t[27]=L,t[28]=R):R=t[28],Q.useEffect(I,R);let V;t[29]!==l||t[30]!==T?(V=()=>{if(T(),l){l.openSettings();return}let e=y.getState();e.setSettingsPage(`assistants`),e.setSettingsDialogOpen(!0)},t[29]=l,t[30]=T,t[31]=V):V=t[31];let H=O(V),U;t[32]===l?U=t[33]:(U=e=>{de(e,l?{openMobileSettings:l.openSettings}:void 0)},t[32]=l,t[33]=U);let ee=O(U),W;t[34]!==D||t[35]!==l?(W=()=>{D&&de(D.id,l?{openMobileSettings:l.openSettings}:void 0)},t[34]=D,t[35]=l,t[36]=W):W=t[36];let te=O(W),[ne,re]=Q.useState(null),G;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>{re(e)},t[37]=G):G=t[37];let ie=O(G),ae;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(ae=e=>{e||re(null)},t[38]=ae):ae=t[38];let K=O(ae),oe=O(Qn),se;t[39]!==a||t[40]!==oe?(se=()=>{if(a){a();return}oe()},t[39]=a,t[40]=oe,t[41]=se):se=t[41];let q=O(se),ce=Un({capabilityPending:h.isPending,snapshotPending:g.isPending,capabilityError:h.isError,supported:h.data?.supported,capabilityEnabled:h.data?.enabled,snapshotEnabled:_?.enabled,snapshotSettled:g.isSuccess,assistantCount:_?.assistants.length??0,hasAssistant:!!D}),le;t[42]!==D||t[43]!==q||t[44]!==m||t[45]!==o?(le=(e,t,n,r)=>(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[m?(0,$.jsx)(Gn,{assistant:D,onBack:q,onOpenSettings:o}):null,(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center px-6 pt-[calc(max(0.25rem,var(--oc-safe-area-top,0px))+var(--oc-mobile-detail-navigation-height,3.5rem))] text-center`,children:[(0,$.jsx)(X,{name:e,className:`size-6 text-muted-foreground`}),(0,$.jsx)(`h1`,{className:`mt-4 typography-ui-header font-semibold`,children:t}),n?(0,$.jsx)(`p`,{className:`mt-2 max-w-md typography-ui text-muted-foreground`,children:n}):null,r?(0,$.jsx)(`div`,{className:`mt-5`,children:r}):null]})]}),t[42]=D,t[43]=q,t[44]=m,t[45]=o,t[46]=le):le=t[46];let J=le;if(ce===`loading`){let e;t[47]!==D||t[48]!==q||t[49]!==m||t[50]!==o?(e=m?(0,$.jsx)(Gn,{assistant:D,onBack:q,onOpenSettings:o}):null,t[47]=D,t[48]=q,t[49]=m,t[50]=o,t[51]=e):e=t[51];let n;t[52]===s?n=t[53]:(n=s(`common.loading`),t[52]=s,t[53]=n);let r;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(X,{name:`loader-4`,className:`size-6 animate-spin text-muted-foreground`}),t[54]=r):r=t[54];let i;t[55]===n?i=t[56]:(i=(0,$.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col items-center justify-center px-6 pt-[calc(max(0.25rem,var(--oc-safe-area-top,0px))+var(--oc-mobile-detail-navigation-height,3.5rem))] text-center`,"aria-busy":`true`,"aria-label":n,"data-assistant-workspace-loading":``,children:r}),t[55]=n,t[56]=i);let a;return t[57]!==e||t[58]!==i?(a=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 flex-col`,children:[e,i]}),t[57]=e,t[58]=i,t[59]=a):a=t[59],a}if(ce===`unavailable`){let e;return t[60]!==J||t[61]!==s?(e=J(`cloud-off`,s(`assistants.state.unavailable`)),t[60]=J,t[61]=s,t[62]=e):e=t[62],e}if(ce===`onboarding`){let e;if(t[63]!==H||t[64]!==J||t[65]!==s){let n=s(`assistants.onboarding.title`),r=s(`assistants.onboarding.description`),i;t[67]===s?i=t[68]:(i=s(`assistants.onboarding.action`),t[67]=s,t[68]=i);let a;t[69]!==H||t[70]!==i?(a=(0,$.jsx)(M,{onClick:H,children:i}),t[69]=H,t[70]=i,t[71]=a):a=t[71],e=J(`ai-agent`,n,r,a),t[63]=H,t[64]=J,t[65]=s,t[66]=e}else e=t[66];return e}if(!_||!D){let e;return t[72]!==J||t[73]!==s?(e=J(`cloud-off`,s(`assistants.state.unavailable`)),t[72]=J,t[73]=s,t[74]=e):e=t[74],e}let Y;t[75]===D.name?Y=t[76]:(Y=N(D.name),t[75]=D.name,t[76]=Y);let fe=Y,pe;t[77]!==D.enabled||t[78]!==g.isError||t[79]!==s?(pe=D.enabled?g.isError?s(`assistants.state.staleSnapshot`):null:s(`assistants.state.assistantDisabled`),t[77]=D.enabled,t[78]=g.isError,t[79]=s,t[80]=pe):pe=t[80];let me=pe,he;t[81]!==x||t[82]!==m||t[83]!==H||t[84]!==ee||t[85]!==ie||t[86]!==w||t[87]!==C||t[88]!==_||t[89]!==s?(he=m?null:(0,$.jsxs)(`section`,{className:`flex h-full min-h-0 w-[clamp(16rem,22vw,20rem)] shrink-0 flex-col overflow-hidden`,children:[(0,$.jsxs)(`header`,{className:`flex shrink-0 items-center gap-3 px-4 pb-3 pt-4 sm:px-5`,children:[(0,$.jsx)(`h1`,{className:`min-w-0 flex-1 truncate typography-ui-label font-semibold text-foreground`,children:s(`assistants.title`)}),(0,$.jsx)(M,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":s(`assistants.settings.create`),onClick:H,children:(0,$.jsx)(X,{name:`add`,className:`size-4`})})]}),(0,$.jsx)(lt,{snapshot:_,rowClassName:`flex justify-end px-4 pb-2 sm:px-5`}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-3 pb-4 sm:px-4`,role:`listbox`,"aria-label":s(`assistants.listAria`),children:(0,$.jsx)(`div`,{className:`flex flex-col gap-1 border-t border-border/40 pt-3`,children:x.map(e=>{let t=e.id===C,n=N(e.name);return(0,$.jsx)(Kn,{assistantID:e.id,avatarSeed:e.avatarSeed,unreadCount:e.unreadCount??0,summary:Hn(e.latestMessagePreview,s),displayName:n.displayName,selected:t,enabled:e.enabled,editLabel:s(`assistants.menu.edit`),deleteLabel:s(`assistants.settings.delete`),assignedSessionIDs:e.assignedSessionIDs,serverWorking:e.working,onSelect:()=>w(e.id),onEdit:()=>ee(e.id),onDelete:()=>ie(e)},e.id)})})})]}),t[81]=x,t[82]=m,t[83]=H,t[84]=ee,t[85]=ie,t[86]=w,t[87]=C,t[88]=_,t[89]=s,t[90]=he):he=t[90];let ge=ne!==null,_e;t[91]!==ne||t[92]!==K||t[93]!==ge?(_e=(0,$.jsx)(zn,{assistant:ne,open:ge,onOpenChange:K}),t[91]=ne,t[92]=K,t[93]=ge,t[94]=_e):_e=t[94];let ye=!m&&`border-l border-[var(--surface-subtle)]`,be;t[95]===ye?be=t[96]:(be=j(`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-background`,ye),t[95]=ye,t[96]=be);let xe;t[97]!==D||t[98]!==q||t[99]!==m||t[100]!==o||t[101]!==te||t[102]!==fe||t[103]!==s?(xe=m?(0,$.jsx)(Gn,{assistant:D,onBack:q,onOpenSettings:o}):(0,$.jsxs)(`header`,{className:`flex h-16 shrink-0 items-center gap-3.5 border-b border-[var(--surface-subtle)]/70 px-5 sm:px-7`,children:[(0,$.jsx)(pt,{name:D.id,avatarSeed:D.avatarSeed,size:40,label:fe.displayName||D.name,working:!!(D.working||D.activeContactTurn),showWorkingDot:!1}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`div`,{className:`truncate typography-ui-label font-semibold leading-5 tracking-[-0.01em] text-foreground`,children:fe.displayName}),(0,$.jsx)(bt,{assistantID:D.id,serverWorking:!!(D.working||D.activeContactTurn),lastContactAt:D.latestMessagePreview?.createdAt})]}),(0,$.jsx)(M,{type:`button`,variant:`ghost`,size:`icon`,className:`size-8 shrink-0 rounded-full text-muted-foreground/65 transition-colors hover:text-foreground`,onClick:te,"aria-label":s(`assistants.conversation.openSettings`),children:(0,$.jsx)(X,{name:`settings-3`,className:`size-4`})})]}),t[97]=D,t[98]=q,t[99]=m,t[100]=o,t[101]=te,t[102]=fe,t[103]=s,t[104]=xe):xe=t[104];let Se;t[105]!==f||t[106]!==D||t[107]!==m||t[108]!==me?(Se=(0,$.jsx)(Ln,{assistant:D,warning:me,active:f,overlayHeader:m}),t[105]=f,t[106]=D,t[107]=m,t[108]=me,t[109]=Se):Se=t[109];let Z;t[110]!==be||t[111]!==xe||t[112]!==Se?(Z=(0,$.jsxs)(`div`,{className:be,children:[xe,Se]}),t[110]=be,t[111]=xe,t[112]=Se,t[113]=Z):Z=t[113];let Ce;return t[114]!==he||t[115]!==_e||t[116]!==Z?(Ce=(0,$.jsxs)(`div`,{className:`relative flex h-full min-h-0 overflow-hidden bg-background`,"data-presentation":`workspace`,children:[he,_e,Z]}),t[114]=he,t[115]=_e,t[116]=Z,t[117]=Ce):Ce=t[117],Ce};function Jn(e){return e.activeMainTab===`assistant`}function Yn(e){return e.isMobile}function Xn(e){return e.selectAssistant}function Zn(e){return e.requestCreate}function Qn(){y.getState().setActiveMainTab(`chat`)}export{zn as a,lt as c,Hn as i,ct as l,Wn as n,pt as o,Bn as r,ft as s,qn as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{it as t,rt as n}from"./vendor-base-ui-CdzJ6My_.js";import{n as r}from"./vendor-react-BP2cRVqX.js";import{r as i}from"./button-CWSs9Baz.js";var a=500,o=12,s=(e={})=>{let t=e.delayMs??a,n=(e.moveThresholdPx??o)**2,r=e.schedule??((e,t)=>setTimeout(e,t)),i=e.clear??(e=>clearTimeout(e)),s=null,c=null,l=(t=!1)=>{s&&(i(s.timer),s=null,t||e.onPressedKeyChange?.(null))};return{start:({pointerId:n,key:i,clientX:a,clientY:o,onTrigger:u})=>{l(),e.onPressedKeyChange?.(i),s={pointerId:n,key:i,startX:a,startY:o,timer:r(()=>{!s||s.pointerId!==n||s.key!==i||(s.triggered=!0,c=i,u())},t),triggered:!1}},move:(e,t,r)=>{if(s?.pointerId!==e||s.triggered)return;let i=t-s.startX,a=r-s.startY;i*i+a*a>n&&l()},end:e=>{s?.pointerId===e&&l(s.triggered)},cancel:e=>{s?.pointerId===e&&l()},openFromContextMenu:(t,n)=>{l(),c=t,e.onPressedKeyChange?.(t),n()},consumeClick:e=>c===e&&(c=null,!0),reset:()=>{l(),c=null,e.onPressedKeyChange?.(null)}}},c=`#openchamber-skill:`,l=`#openchamber-agent:`,u=e=>`https://opencode.ai/docs/agents/#${encodeURIComponent(e)}`,d=e=>`${c}${encodeURIComponent(e)}`,f=e=>`${l}${encodeURIComponent(e)}`,p=e=>{if(!e?.startsWith(c))return null;try{return decodeURIComponent(e.slice(19))}catch{return null}},m=e=>{if(!e?.startsWith(l))return null;try{return decodeURIComponent(e.slice(19))}catch{return null}},h=[`user-blocking`,`visible`,`background`],g=e=>{let t={"user-blocking":{head:null,tail:null},visible:{head:null,tail:null},background:{head:null,tail:null}},n=Math.max(1,Math.floor(e.maxTasksPerFrame)),r=Math.max(1,e.frameBudgetMs),i=null,a=!1,o=0,s=e=>{let n=t[e.priority];e.previous=n.tail,n.tail?n.tail.next=e:n.head=e,n.tail=e},c=e=>{let n=t[e.priority];e.previous?e.previous.next=e.next:n.head=e.next,e.next?e.next.previous=e.previous:n.tail=e.previous,e.next=null,e.previous=null},l=()=>{for(let e of h){let n=t[e].head;if(n)return c(n),n.consumed=!0,--o,n}return null},u=()=>{i===null&&o!==0&&(i=e.requestFrame(d))},d=()=>{i=null;let t=e.now(),a=0;for(;o>0&&a<n;){let n=l();if(!n||(n.run(),a+=1,e.now()-t>=r))break}u()},f=()=>{i!==null||a||o===0||(a=!0,i=e.requestFrame(()=>{i=null,a=!1,u()}))};return{enqueue(t,n){let r={cancelled:!1,consumed:!1,next:null,previous:null,priority:n?.priority??`background`,run:t};return s(r),o+=1,!a&&i===null&&f(),()=>{r.cancelled||r.consumed||(r.cancelled=!0,c(r),--o,o===0&&(i!==null&&(e.cancelFrame(i),i=null),a=!1))}},clear(){for(let e of h){let n=t[e],r=n.head;for(;r;){let e=r.next;r.cancelled=!0,r.next=null,r.previous=null,r=e}n.head=null,n.tail=null}o=0,i!==null&&(e.cancelFrame(i),i=null),a=!1}}},_=null,v=()=>typeof window>`u`?null:_||(_=g({requestFrame:e=>window.requestAnimationFrame(e),cancelFrame:e=>window.cancelAnimationFrame(e),now:()=>performance.now(),maxTasksPerFrame:2,frameBudgetMs:6}),_),y=(e,t)=>{let n=v();return n?n.enqueue(e,t):(e(),()=>{})},b={textThrottleMs:20,markdownPaceMs:64},x={textThrottleMs:100,markdownPaceMs:128},S=e=>e===`android`?x:b,C=r(),w=e(t(),1),T=n(),E=w.createContext(!1),D=e=>{let t=(0,C.c)(3),{disabled:n,children:r}=e,i;return t[0]!==r||t[1]!==n?(i=(0,T.jsx)(E.Provider,{value:n,children:r}),t[0]=r,t[1]=n,t[2]=i):i=t[2],i},O=e=>{let t=(0,C.c)(8),{children:n,className:r}=e,[a,o]=w.useState(!1),s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{let e=null,t=()=>o(!0);return typeof window<`u`&&typeof window.requestAnimationFrame==`function`?e=window.requestAnimationFrame(t):t(),()=>{e!==null&&typeof window<`u`&&typeof window.cancelAnimationFrame==`function`&&window.cancelAnimationFrame(e)}},c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),w.useEffect(s,c);let l=a?`opacity-100 translate-y-0`:`opacity-0 translate-y-2`,u;t[2]!==r||t[3]!==l?(u=i(`w-full transition-all duration-300 ease-out`,l,r),t[2]=r,t[3]=l,t[4]=u):u=t[4];let d;return t[5]!==n||t[6]!==u?(d=(0,T.jsx)(`div`,{className:u,children:n}),t[5]=n,t[6]=u,t[7]=d):d=t[7],d},k=e=>{let t=(0,C.c)(5),{children:n,className:r,skipAnimation:i,forceAnimation:a,ignoreContextDisabled:o,respectReducedMotion:s}=e,c=a!==void 0&&a,l=o!==void 0&&o,u=s!==void 0&&s,d=w.useContext(E),f=u&&typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;if(!c||i||!l&&d||f){let e;return t[0]===n?e=t[1]:(e=(0,T.jsx)(T.Fragment,{children:n}),t[0]=n,t[1]=e),e}let p;return t[2]!==n||t[3]!==r?(p=(0,T.jsx)(O,{className:r,children:n}),t[2]=n,t[3]=r,t[4]=p):p=t[4],p};export{f as a,m as c,y as i,p as l,k as n,u as o,S as r,d as s,D as t,s as u};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{i as n}from"./runtime-switch-CMiMO5Yj.js";import{n as r}from"./runtime-fetch-WgH0pROs.js";import{an as i,hn as a,in as o,ln as s,on as c}from"./persistence-BKszKaoQ.js";import{it as l,rt as u}from"./vendor-base-ui-CdzJ6My_.js";import{t as d}from"./platform-CgwxwfA4.js";import{n as f}from"./useUIStore-CEqU9Ujv.js";import{n as p}from"./vendor-react-BP2cRVqX.js";import{n as m}from"./vendor-katex-DNVSTX6g.js";import{f as h,n as g,r as _}from"./vendor-reactuses-core-BpfIZ1tg.js";import{d as v,f as y,r as b}from"./button-CWSs9Baz.js";import{i as x,t as S}from"./store-CG7Ytsg9.js";import{Fr as C,Wi as w}from"./useMobileNavigationStore-D38buR1v.js";import{t as T}from"./dualLimitLru-D8Sphgua.js";import{t as E}from"./useThemeSystem-8jhE4Zyk.js";import{a as D,f as O,h as ee,i as k,m as A,o as j,p as M,t as te,u as ne,v as N}from"./image-loading-Bj11k4gM.js";import{n as re}from"./useRuntimeAPIs-Cx8S1HLz.js";import{a as P,i as F,n as I,r as L}from"./url-nBOUbtV_.js";import{c as ie,d as R,f as z,i as ae,n as B,t as V}from"./markdown-worker-DFNZ3KJ_.js";import{n as oe}from"./useEffectiveDirectory-C650wrIQ.js";import{c as H,i as U,l as W,n as se,o as ce,r as le,u as ue}from"./FadeInOnReveal-CX8Bkq-l.js";import{i as de,n as fe,t as pe}from"./markdownTheme-CV7_0QAL.js";import{i as me,r as he,t as ge}from"./markdownHeightCache-DXM_5jTe.js";import{t as _e}from"./vendor-morphdom-BbKiNDAu.js";import{t as G}from"./vendor-dompurify-CeJNOzik.js";import{t as ve}from"./vendor-pele-C1WTNWUm.js";import{t as ye}from"./vendor-marked-WVekxjAN.js";import{t as be}from"./vendor-remend-C3cXc-tf.js";var K=t(l(),1),xe=p(),Se=new T({maxEntries:100,maxBytes:8388608}),Ce=(e,t)=>{let{surface:n,interactive:r,primary:i,status:a}=t.colors,o={bg:n.elevated,fg:n.foreground,muted:n.mutedForeground,line:r.border,surface:n.muted,"surface-alt":n.background,border:r.border,accent:i.base,critical:a.error,error:a.error,"series-1":i.base,"series-2":a.info,"series-3":a.success,"series-4":a.warning,"series-5":a.error,"series-6":i.hover??i.base,"series-7":a.infoForeground,"series-8":a.successForeground},s=JSON.stringify([o,new Date().toDateString(),e]),c=Se.get(s);if(c)return c;let l;try{let{svg:t}=ve(e,{fontFamily:`system-ui, sans-serif`,autoDirection:!1,links:!1,images:!1}),n=G.sanitize(t,{USE_PROFILES:{svg:!0,svgFilters:!0},RETURN_DOM_FRAGMENT:!0}).querySelector(`svg`);if(!n)throw Error(`Missing diagram SVG`);for(let[e,t]of Object.entries(o))n.style.setProperty(`--pele-${e}`,t);l={svg:n.outerHTML}}catch{l={}}return Se.set(s,l,(s.length+(l.svg?.length??0))*2),l},we=`data-md-stream-fence`,Te=`data-md-stream-line`,Ee=`data-md-stream-src`,De=`data-md-stream-applied`,Oe=(e,t)=>{let n=Math.min(e.length,t.length);for(let r=0;r<n;r+=1)if(e[r]!==t[r])return r;return n},ke=e=>Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.hasAttribute(`data-md-stream-line`)),Ae=(e,t)=>{let n=document.createElement(`span`);return n.setAttribute(Te,String(t)),n.className=`line`,n.innerHTML=e,n},je=(e,t)=>{let n=ke(e),r=Oe(n.map(e=>e.innerHTML),t);if(n.length===0&&e.childNodes.length>0&&t.length>0){e.replaceChildren();for(let n=0;n<t.length;n+=1)n>0&&e.appendChild(document.createTextNode(`
|
|
2
|
-
`)),e.appendChild(Ae(t[n]??``,n));return{reused:0,replaced:0,added:t.length,removed:0}}let i=0;if(r<n.length&&r<t.length){let e=n[r];e&&(e.innerHTML=t[r]??``,e.setAttribute(Te,String(r)),i=1)}let a=0;for(let e=n.length-1;e>=r+i;--e){let t=n[e]?.previousSibling;t?.nodeType===Node.TEXT_NODE&&t.remove(),n[e]?.remove(),a+=1}let o=0;for(let n=r+i;n<t.length;n+=1)n>0&&e.appendChild(document.createTextNode(`
|
|
3
|
-
`)),e.appendChild(Ae(t[n]??``,n)),o+=1;return{reused:r,replaced:i,added:o,removed:a}},Me=e=>{if(e.includes(`data-md-stream-fence=`))return e;let t=e.toLowerCase().lastIndexOf(`<pre`);return t<0?e:`${e.slice(0,t)}${e.slice(t).replace(/<pre\b/i,`<pre ${we}="true"`)}`},Ne=(e,t)=>{if(!(e instanceof HTMLElement)||!(t instanceof HTMLElement)||e.getAttribute(`data-md-stream-fence`)!==`true`||t.getAttribute(`data-md-stream-fence`)!==`true`)return!1;let n=e.tagName===`CODE`?e:e.querySelector(`code`),r=t.tagName===`CODE`?t:t.querySelector(`code`);return n instanceof HTMLElement&&r instanceof HTMLElement&&n.setAttribute(Ee,r.textContent??``),!0},Pe=e=>e.getAttribute(`data-md-stream-src`)??e.textContent??``,Fe=e=>{let t=e.querySelectorAll(`pre[${we}="true"]`),n=[];return t.forEach(e=>{let t=e.querySelector(`code`);t instanceof HTMLElement&&n.push(t)}),n},Ie=e=>e.closest(`pre`)?.getAttribute(`data-md-lang`)||e.className.match(/language-([^\s"]+)/)?.[1]||`text`,Le=async(e,t,n)=>{if(n?.signal?.aborted)return;let r=Fe(e);await Promise.all(r.map(async r=>{let i=Pe(r);if(!i||n?.signal?.aborted||r.getAttribute(`data-md-stream-applied`)===i)return;let a=Ie(r);if(a===`mermaid`)return;let o=await t(i,a,n);if(!(n?.signal?.aborted||!e.contains(r)||Pe(r)!==i)){if(!o){let e=ke(r),t=document.createElement(`span`);je(r,i.split(`
|
|
4
|
-
`).map((n,r)=>{let i=e[r];return i?.textContent===n?i.innerHTML:(t.textContent=n,t.innerHTML)}));return}je(r,o),r.setAttribute(De,i),r.removeAttribute(Ee)}}))},Re=`text`,ze=/^(\d+):(\d+):(.+)$/,Be={ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`tsx`,js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`jsx`,vue:`vue`,svelte:`svelte`,astro:`astro`,json:`json`,jsonc:`jsonc`,json5:`json5`,jsonl:`json`,ndjson:`json`,geojson:`json`,yaml:`yaml`,yml:`yaml`,toml:`toml`,ini:`ini`,cfg:`ini`,conf:`ini`,properties:`properties`,env:`dotenv`,css:`css`,scss:`scss`,sass:`sass`,less:`less`,styl:`stylus`,html:`html`,htm:`html`,xml:`xml`,svg:`xml`,md:`markdown`,markdown:`markdown`,mdown:`markdown`,mkd:`markdown`,mdx:`mdx`,py:`python`,pyw:`python`,pyi:`python`,rb:`ruby`,go:`go`,rs:`rust`,java:`java`,kt:`kotlin`,kts:`kotlin`,swift:`swift`,scala:`scala`,c:`c`,h:`c`,cc:`cpp`,cpp:`cpp`,cxx:`cpp`,hpp:`cpp`,hh:`cpp`,m:`objective-c`,mm:`objective-cpp`,cs:`csharp`,fs:`fsharp`,fsx:`fsharp`,vb:`vb`,php:`php`,pl:`perl`,pm:`perl`,lua:`lua`,r:`r`,dart:`dart`,ex:`elixir`,exs:`elixir`,erl:`erlang`,hrl:`erlang`,hs:`haskell`,clj:`clojure`,cljs:`clojure`,cljc:`clojure`,groovy:`groovy`,jl:`julia`,ml:`ocaml`,mli:`ocaml`,zig:`zig`,nix:`nix`,sol:`solidity`,prisma:`prisma`,proto:`proto`,graphql:`graphql`,gql:`graphql`,sql:`sql`,sh:`shellscript`,bash:`shellscript`,zsh:`shellscript`,fish:`shellscript`,ps1:`powershell`,psm1:`powershell`,bat:`bat`,cmd:`bat`,tf:`terraform`,tfvars:`terraform`,hcl:`hcl`,diff:`diff`,patch:`diff`,csv:`csv`,tex:`latex`,vim:`viml`,wgsl:`wgsl`,glsl:`glsl`,wat:`wasm`,mermaid:`mermaid`,mmd:`mermaid`},Ve={dockerfile:`docker`,containerfile:`docker`,makefile:`make`,gnumakefile:`make`,"cmakelists.txt":`cmake`,gemfile:`ruby`,rakefile:`ruby`,podfile:`ruby`,".env":`dotenv`,".bashrc":`shellscript`,".zshrc":`shellscript`,".profile":`shellscript`},He=e=>{let t=e.split(/[\\/]/).pop()?.toLowerCase()??``;if(!t)return Re;let n=Ve[t];if(n)return n;let r=t.lastIndexOf(`.`);return r<=0?Re:Be[t.slice(r+1)]??Re},Ue=e=>{let t=e?.trim()??``;if(!t)return{lang:Re,label:Re,reference:!1};let n=ze.exec(t);if(!n){let e=t.toLowerCase();return{lang:e,label:e,reference:!1}}let[,r=``,i=``,a=``]=n,o=r===i?r:`${r}-${i}`;return{lang:He(a),label:`${a}:${o}`,reference:!0}},We=e=>e===` `||e===` `||e===`
|
|
5
|
-
`||e===`\r`,Ge=e=>e!==void 0&&e>=`0`&&e<=`9`,Ke=e=>{for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n>=11904&&n<=40959||n>=12288&&n<=12351||n>=63744&&n<=64255||n>=65280&&n<=65519)return!0}return!1},qe=e=>{for(let t=0;t<e.length;t+=1){let n=e[t];if(n===`"`||n===`'`||We(n))return!0}return!1},Je=e=>{let t=0;for(;t<e.length;){let n=e.indexOf(`$`,t);if(n<0)return;let r=e[n+1];if(r===`$`||r!==void 0&&!We(r))return n;t=n+1}},Ye=e=>{if(e[0]===`$`){if(e[1]===`$`){let t=e.indexOf(`$$`,2);return t<0?void 0:{raw:e.slice(0,t+2),text:e.slice(2,t),display:!0}}if(!(e.length<3||We(e[1])))for(let t=1;t<e.length;t+=1){let n=e[t];if(n===`\\`){t+=1;continue}if(n==="`")return;if(n!==`$`)continue;if(e[t+1]===`$`||We(e[t-1]))return;if(Ge(e[t+1]))continue;if(t===1)return;let r=e.slice(1,t);return Ke(r)||Ge(e[1])&&qe(r)?void 0:{raw:e.slice(0,t+1),text:r,display:!1}}}},q=e=>e.replace(/&/g,`&`).replace(/"/g,`"`).replace(/</g,`<`).replace(/>/g,`>`),Xe=e=>{let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)},Ze=e=>`${Xe(e.raw)}:${e.mode}:${+!!e.highlight}`,Qe=e=>/^\[[^\]]+\]:\s+\S+/m.test(e)||/^\[\^[^\]]+\]:\s+/m.test(e),$e=e=>{let t=e.match(/^[ \t]{0,3}(`{3,}|~{3,})/);if(!t)return!1;let n=t[1];if(!n)return!1;let r=n[0],i=n.length,a=e.trimEnd().split(`
|
|
6
|
-
`).at(-1)?.trim()??``;return!RegExp(`^[\\t ]{0,3}${r}{${i},}[\\t ]*$`).test(a)},et=e=>{try{return be(e,{linkMode:`text-only`})}catch{return e}},tt=(e,t)=>{let n=t?`live`:`full`;if(Qe(e))return[{raw:e,src:et(e),mode:n,highlight:!0}];let r;try{r=ye.lexer(e)}catch{return[{raw:e,src:et(e),mode:n,highlight:!0}]}let i=-1;for(let e=r.length-1;e>=0;--e)if(r[e]?.type!==`space`){i=e;break}if(i<0)return[{raw:e,src:et(e),mode:n,highlight:!0}];let a=[];for(let e=0;e<r.length;e+=1){let t=r[e];if(!t||t.type===`space`)continue;let o=t.raw??``,s=e===i,c=t.type===`code`&&$e(o);a.push({raw:o,src:c?o:et(o),mode:s?n:`full`,highlight:!c})}return a.length===0?[{raw:e,src:et(e),mode:n,highlight:!0}]:a},nt=16,rt=new Map,it=(e,t)=>{let n=`${+!!t}:${e}`,r=rt.get(n);if(r)return rt.delete(n),rt.set(n,r),r;let i=tt(e,t);for(;rt.size>=nt;){let e=rt.keys().next().value;if(typeof e!=`string`)break;rt.delete(e)}return rt.set(n,i),i},at=(e,t,n)=>{try{return m.renderToString(e,{displayMode:n,throwOnError:!1})}catch{return t}},ot=ye.use({gfm:!0,breaks:!1,extensions:[{name:`inlineMath`,level:`inline`,start(e){let t=e.indexOf(`\\(`);return t<0?void 0:t},tokenizer(e){let t=/^\\\(([\s\S]+?)\\\)/.exec(e);if(t)return{type:`inlineMath`,raw:t[0],text:t[1]??``}},renderer(e){let t=e;return at(t.text,t.raw,!1)}},{name:`blockMath`,level:`block`,start(e){let t=e.indexOf(`\\[`);return t<0?void 0:t},tokenizer(e){let t=/^\\\[([\s\S]+?)\\\]/.exec(e);if(t)return{type:`blockMath`,raw:t[0],text:t[1]??``}},renderer(e){let t=e;return at(t.text,t.raw,!0)}},{name:`dollarMath`,level:`inline`,start(e){return Je(e)},tokenizer(e){let t=Ye(e);if(t)return{type:`dollarMath`,raw:t.raw,text:t.text,display:t.display}},renderer(e){let t=e;return at(t.text,t.raw,t.display)}}],renderer:{link({href:e,title:t,text:n}){let r=e??``,i=H(r);if(i)return`<a href="${q(ce(i))}" data-openchamber-agent-mention="true" class="text-primary hover:underline" target="_blank" rel="noopener noreferrer">${n}</a>`;let a=W(r);if(a)return`<a href="${q(r)}" data-skill-name="${q(a)}" class="text-primary hover:underline">${n}</a>`;let o=t?` title="${q(t)}"`:``;return`<a href="${q(r)}"${o} class="external-link" target="_blank" rel="noopener noreferrer">${n}</a>`}}}),st=e=>e.replace(/\$\$([\s\S]*?)\$\$/g,(e,t)=>{try{return m.renderToString(t,{displayMode:!0,throwOnError:!1})}catch{return`$$${t}$$`}}),ct=e=>e.indexOf(`$`)===-1?e:e.split(/(<(?:pre|code|kbd)[^>]*>[\s\S]*?<\/(?:pre|code|kbd)>)/gi).map((e,t)=>t%2==1?e:st(e)).join(``),lt=e=>ct(ot.parse(e)),ut=e=>{let t=lt(e.src);return e.highlight?t:Me(t)},dt=/<pre><code(?:\s+class="language-([^"]*)")?>([\s\S]*?)<\/code><\/pre>/g,ft=1200,pt=(e,t)=>{let n=1;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10&&++n>t)return!0;return!1},mt=e=>e.replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/&/g,`&`),ht=e=>e.reference?`data-md-lang="${q(e.lang)}" data-md-label="${q(e.label)}"`:`data-md-lang="${q(e.lang)}"`,gt=async(e,t,n)=>{if(n.isCancelled?.())return null;let r=[...e.matchAll(dt)];if(r.length===0)return e;let i=e;for(let e of r){if(n.isCancelled?.())return null;let[r,a,o]=e,s=Ue(a);if(s.lang===`mermaid`&&!s.reference)continue;let c=mt(o??``);if(pt(c,n.lineLimit)){i=i.replace(r,()=>r.replace(`<pre`,`<pre ${ht(s)}`));continue}let l=await t(c,s.lang);if(n.isCancelled?.())return null;if(l){let e=l.replace(/^<pre/,`<pre ${ht(s)}`);i=i.replace(r,()=>e)}}return i},_t=(e,t)=>!t&&e.length<=480&&!e.includes("```"),vt={USE_PROFILES:{html:!0,mathMl:!0,svg:!0},ADD_TAGS:[`svg`,`path`,`g`,`rect`,`line`,`polygon`,`polyline`,`circle`,`ellipse`,`text`,`tspan`,`defs`,`marker`],ADD_ATTR:[`d`,`viewBox`,`preserveAspectRatio`,`xmlns`,`target`,`fill`,`stroke`,`stroke-width`,`transform`,`points`,`x`,`y`,`x1`,`y1`,`x2`,`y2`,`cx`,`cy`,`r`,`rx`,`ry`,`style`],FORBID_TAGS:[`script`],FORBID_CONTENTS:[`script`]},yt=!1,bt=()=>{yt||typeof window>`u`||!G.isSupported||(yt=!0,G.addHook(`uponSanitizeAttribute`,(e,t)=>{if(!(e instanceof HTMLImageElement)||t.attrName!==`src`)return;let n=typeof t.attrValue==`string`?t.attrValue:``;/^file:/i.test(n)&&(e.setAttribute(`data-md-image-source`,n),t.keepAttr=!1)}),G.addHook(`afterSanitizeAttributes`,e=>{e instanceof HTMLAnchorElement&&e.target===`_blank`&&e.setAttribute(`rel`,`noopener noreferrer`)}))},xt=e=>G.isSupported?(bt(),G.sanitize(e,vt)):``,St=`data-md-sanitize-block`,Ct=e=>{if(e.length===0)return[];if(e.length===1)return[xt(e[0])];if(!G.isSupported||typeof document>`u`)return e.map(e=>xt(e));let t=e.map((e,t)=>`<div ${St}="${t}">${e}</div>`).join(``),n=document.createElement(`div`);n.innerHTML=xt(t);let r=e.map(()=>``);return n.querySelectorAll(`[${St}]`).forEach(e=>{let t=Number(e.getAttribute(St));Number.isInteger(t)&&t>=0&&t<r.length&&(r[t]=e.innerHTML)}),r},wt=()=>s()?200:ft,Tt=240,Et=16777216,Dt=160,Ot=8388608,kt=new T({maxEntries:Tt,maxBytes:Et}),At=new T({maxEntries:Dt,maxBytes:Ot}),jt=e=>e.length*2,Mt=(e,t)=>{kt.set(e,t,jt(e)+jt(t.hash)+jt(t.html))},Nt=async(e,t,n)=>gt(e,(e,r)=>V(e,r,{signal:t,priority:n}),{lineLimit:wt(),isCancelled:()=>!!t?.aborted}),Pt=async(e,t,n)=>{if(t?.aborted)return null;let r=ut(e);if(t?.aborted)return null;let i=e.highlight?await Nt(r,t,n):r;if(i===null||t?.aborted)return null;let a=xt(i);return t?.aborted?null:a},Ft=e=>`${Xe(e)}:${e.length}`,It=e=>{let t=At.get(Ft(e));return t?.source===e?t.html:void 0},Lt=(e,t)=>{let n=Ft(e);At.set(n,{source:e,html:t},jt(n)+jt(e)+jt(t))},Rt=e=>{if(!e)return[];let t=it(e,!1),n=Array(t.length).fill(``),r=[],i=[];t.forEach((e,t)=>{let a=It(e.src);if(a!==void 0){n[t]=a;return}r.push(t),i.push(ut(e))});let a=Ct(i);return r.forEach((e,r)=>{let i=a[r]??``;n[e]=i;let o=t[e]?.src;o!==void 0&&Lt(o,i)}),n},zt=8,Bt=()=>typeof performance<`u`?performance.now():Date.now(),Vt=e=>e?.aborted?Promise.resolve(!1):new Promise(t=>{let n=!1,r=r=>{n||(n=!0,e?.removeEventListener(`abort`,a),t(r))},i=U(()=>{r(!e?.aborted)},{priority:`visible`}),a=()=>{i(),r(!1)};e?.addEventListener(`abort`,a,{once:!0})}),Ht=(e,t)=>{let n=[];for(let r=0;r<e.length;r+=1){let i=e[r];if(!i)return null;let a=Xe(i.raw),o=`${t}:${r}:${i.mode}`,s=kt.get(o);if(!s||s.hash!==a)return null;n.push({id:Ze(i),html:s.html})}return n},Ut=(e,t,n)=>{let r=Ct(t.map(e=>e.html));return t.map((t,i)=>{let a=e[i],o=r[i]??``;return a&&Mt(`${n}:${i}:${a.mode}`,{hash:Xe(a.raw),html:o}),{id:t.id,html:o}})},Wt=async(e,t,n,r)=>{let i=n?`visible`:`background`,a=async(e,n)=>{if(r?.aborted)return null;let a=Xe(e.raw),o=Ze(e),s=`${t}:${n}:${e.mode}`,c=kt.get(s);if(c&&c.hash===a)return{id:o,html:c.html};let l=await Pt(e,r,i);return l===null||r?.aborted?null:(Mt(s,{hash:a,html:l}),{id:o,html:l})};if(n)return(await Promise.all(e.map(a))).filter(e=>e!==null);let o=[],s=0;for(let t=0;t<e.length&&!r?.aborted;t+=1){let n=e[t];if(!n)continue;if(Bt()>=s){if(!await Vt(r))break;s=Bt()+zt}let i=await a(n,t);i&&o.push(i)}return o},Gt=async(e,t,n,r)=>{if(!e)return[];let i=it(e,t),a=Ht(i,n);if(a)return a;let o=t?`visible`:`background`,s=[],c=[];for(let e=0;e<i.length;e+=1){let t=i[e];if(!t)continue;let r=kt.get(`${n}:${e}:${t.mode}`);r&&r.hash===Xe(t.raw)||(s.push(t),c.push(e))}if(!_t(e,t)&&s.length>0)try{let e=await ae({streaming:t,highlight:!0,highlightLineLimit:wt(),signal:r,priority:o,blocks:s});if(r?.aborted)return[];if(e&&e.length===s.length)return Ut(i,i.map((t,r)=>{let i=c.indexOf(r);if(i>=0)return e[i]??{id:Ze(t),html:``,highlight:t.highlight};let a=kt.get(`${n}:${r}:${t.mode}`);return{id:Ze(t),html:a?.html??``,highlight:t.highlight}}),n)}catch{}return Wt(i,n,t,r)},J=e=>Number.isFinite(e)&&e>0,Kt=e=>{if(typeof e==`number`)return J(e)?e:null;if(typeof e!=`string`)return null;let t=e.trim().match(/^([+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?)(?:px)?$/);if(!t)return null;let n=Number(t[1]);return J(n)?n:null},qt=(e,t,n)=>Math.min(n,Math.max(t,e)),Jt=6,Yt=1.25,Xt=1.0015,Zt=16,Qt=1e3,$t=.5,en=12,tn=400,nn=`[data-markdown="mermaid-block"]`,rn=e=>e.querySelector(nn)!==null,an=e=>[e.x,e.y,e.width,e.height].map(e=>{let t=Number(e.toFixed(Jt));return Object.is(t,-0)?`0`:String(t)}).join(` `),on=e=>{let t=e.viewBox?.trim().split(/[\s,]+/).map(e=>Number.parseFloat(e));if(t?.length===4){let[e,n,r,i]=t;if(Number.isFinite(e)&&Number.isFinite(n)&&J(r)&&J(i))return{x:e,y:n,width:r,height:i}}let n=Kt(e.width),r=Kt(e.height);return n===null||r===null?null:{x:0,y:0,width:n,height:r}},sn=e=>{let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)},cn=e=>{let t=e.renderMode||`unknown`,n=e.svgMarkup??``;if(!n){let n=[e.viewBox??``,e.width??``,e.height??``];return n.some(e=>e!==``)?`${t}:bounds:${n.join(`:`)}`:`${t}:no-svg`}return[t,sn(n)].join(`:`)},ln=(e,t)=>{if(!J(t.width)||!J(t.height))return e;let n=e.width/e.height,r=t.width/t.height;if(n>r){let t=e.width/r;return{x:e.x,y:e.y-(t-e.height)/2,width:e.width,height:t}}let i=e.height*r;return{x:e.x-(i-e.width)/2,y:e.y,width:i,height:e.height}},un=({currentBox:e,viewport:t,delta:n})=>!J(t.width)||!J(t.height)||!J(e.width)||!J(e.height)?e:{x:e.x-n.x/t.width*e.width,y:e.y-n.y/t.height*e.height,width:e.width,height:e.height},dn=(e,t,n)=>{let r=e*(t===1?Zt:t===2?J(n)?n:0:1);return Number.isFinite(r)?qt(r,-1e3,Qt):0},fn=e=>{let t=null;for(let n of e){if(!t){t=n;continue}return{center:{x:(t.x+n.x)/2,y:(t.y+n.y)/2},distance:Math.hypot(n.x-t.x,n.y-t.y)}}return null},pn=(e,t)=>{let n=t.x-e.x,r=t.y-e.y;return n*n+r*r>9},mn=({currentBox:e,contentBox:t,viewport:n,pointer:r,zoomFactor:i,minScale:a,maxScale:o})=>{if(!J(n.width)||!J(n.height)||!J(i)||!J(e.width)||!J(e.height)||!J(t.width)||!J(t.height)||!J(a)||!J(o))return e;let s=Math.min(a,o),c=Math.max(a,o),l=ln(t,n),u=qt(l.width/e.width*i,s,c),d=l.width/u,f=d/(e.width/e.height),p=qt(r.x/n.width,0,1),m=qt(r.y/n.height,0,1),h=e.x+p*e.width,g=e.y+m*e.height;return{x:h-p*d,y:g-m*f,width:d,height:f}},hn=({currentBox:e,contentBox:t,viewport:n,previousGesture:r,gesture:i,minScale:a,maxScale:o})=>!J(r.distance)||!J(i.distance)?e:mn({currentBox:un({currentBox:e,viewport:n,delta:{x:i.center.x-r.center.x,y:i.center.y-r.center.y}}),contentBox:t,viewport:n,pointer:i.center,zoomFactor:i.distance/r.distance,minScale:a,maxScale:o}),gn=new WeakMap,_n=e=>e instanceof HTMLElement?gn.get(e)??null:null,vn=e=>e.querySelector(`[data-markdown="mermaid-viewport"]`)??e.querySelector(`[data-markdown="mermaid"]`),yn=e=>{let t=e.querySelector(`[data-markdown="mermaid"] svg`),n=e.querySelector(`[data-markdown="mermaid"]`);return cn({renderMode:e.getAttribute(`data-mermaid-render`),svgMarkup:n?.getAttribute(`data-md-original-svg`)??t?.outerHTML??null,viewBox:t?.getAttribute(`viewBox`),width:t?.getAttribute(`width`),height:t?.getAttribute(`height`)})},bn=e=>{let t=e.getBoundingClientRect();return{width:t.width,height:t.height}},xn=(e,t)=>({x:e.clientX-t.left,y:e.clientY-t.top}),Sn=(e,t)=>xn(e,t.getBoundingClientRect()),Cn=e=>e instanceof Element&&!!e.closest(`button, a, [role="button"]`),wn=e=>{let t=vn(e),n=e.querySelector(`[data-markdown="mermaid"] svg`);if(!t||!n)return null;let r=on({viewBox:n.getAttribute(`viewBox`),width:n.getAttribute(`width`),height:n.getAttribute(`height`)});if(!r)return null;let i=r,a=null,o=null,s=null,c=new Map,l=new Set,u=null,d=null,f=e=>{i=e,n.setAttribute(`viewBox`,an(e)),n.removeAttribute(`width`),n.removeAttribute(`height`)},p=()=>{f(ln(r,bn(t)))},m=(e,n)=>{f(mn({currentBox:i,contentBox:r,viewport:bn(t),pointer:e,zoomFactor:n,minScale:$t,maxScale:en}))},h=()=>{let e=bn(t);m({x:e.width/2,y:e.height/2},Yt)},g=()=>{let e=bn(t);m({x:e.width/2,y:e.height/2},1/Yt)},_=e=>{e.preventDefault(),e.stopPropagation();let n=dn(e.deltaY,e.deltaMode,bn(t).height);m(Sn(e,t),Xt**+-n)},v=e=>{try{t.setPointerCapture(e),l.add(e)}catch{}},y=e=>{if(l.delete(e))try{t.hasPointerCapture(e)&&t.releasePointerCapture(e)}catch{}},b=()=>{a=null,o=null,s=null,c.clear(),u=null},x=()=>{b(),e.removeAttribute(`data-mermaid-panning`),e.hasAttribute(`data-mermaid-suppress-click`)&&(d=window.setTimeout(()=>{e.removeAttribute(`data-mermaid-suppress-click`),d=null},tn))},S=n=>{if(n.pointerType!==`touch`&&n.button!==0||Cn(n.target))return;d!==null&&(window.clearTimeout(d),d=null),e.removeAttribute(`data-mermaid-suppress-click`);let r=Sn(n,t);v(n.pointerId),e.setAttribute(`data-mermaid-panning`,`true`),n.pointerType===`touch`?(c.set(n.pointerId,r),c.size>=2?(a=null,o=null,s=null,u=fn(c.values()),e.setAttribute(`data-mermaid-suppress-click`,`true`)):(a=n.pointerId,o=r,s=r)):(a=n.pointerId,o=r,s=r),n.preventDefault()},C=n=>{if(n.pointerType===`touch`){if(!c.has(n.pointerId))return;let a=Sn(n,t);if(c.set(n.pointerId,a),c.size>=2){let a=fn(c.values());u&&a&&f(hn({currentBox:i,contentBox:r,viewport:bn(t),previousGesture:u,gesture:a,minScale:$t,maxScale:en})),u=a,e.setAttribute(`data-mermaid-suppress-click`,`true`),n.preventDefault();return}}if(a!==n.pointerId||!s)return;let l=Sn(n,t);f(un({currentBox:i,viewport:bn(t),delta:{x:l.x-s.x,y:l.y-s.y}})),s=l,o&&pn(o,l)&&e.setAttribute(`data-mermaid-suppress-click`,`true`),n.preventDefault()},w=e=>{if(e.pointerType===`touch`||c.has(e.pointerId)){if(!c.has(e.pointerId))return;if(c.delete(e.pointerId),u=fn(c.values()),c.size>0){for(let[e,t]of c){a=e,o=t,s=t;break}c.size>=2&&(a=null,o=null,s=null),y(e.pointerId);return}x(),y(e.pointerId);return}a===e.pointerId&&(x(),y(e.pointerId))},T=()=>{p()};t.addEventListener(`wheel`,_,{passive:!1}),t.addEventListener(`pointerdown`,S),t.addEventListener(`pointermove`,C),t.addEventListener(`pointerup`,w),t.addEventListener(`pointercancel`,w),t.addEventListener(`lostpointercapture`,w),window.addEventListener(`resize`,T);let E=typeof ResizeObserver>`u`?null:new ResizeObserver(T);return E?.observe(t),p(),{zoomIn:h,zoomOut:g,fit:p,cleanup:()=>{t.removeEventListener(`wheel`,_),t.removeEventListener(`pointerdown`,S),t.removeEventListener(`pointermove`,C),t.removeEventListener(`pointerup`,w),t.removeEventListener(`pointercancel`,w),t.removeEventListener(`lostpointercapture`,w),window.removeEventListener(`resize`,T),E?.disconnect(),d!==null&&window.clearTimeout(d);for(let e of Array.from(l))y(e);b(),e.removeAttribute(`data-mermaid-panning`),e.removeAttribute(`data-mermaid-suppress-click`),gn.delete(e)}}},Tn=e=>{let t=new Map,n=new Map,r=()=>{for(let[r,i]of Array.from(t.entries())){let a=yn(r);(!e.contains(r)||a!==n.get(r))&&(i.cleanup(),t.delete(r),n.delete(r))}for(let r of Array.from(e.querySelectorAll(nn))){if(t.has(r)||r.querySelector(`[data-markdown="mermaid"] svg`)===null)continue;let e=wn(r);e&&(t.set(r,e),n.set(r,yn(r)),gn.set(r,e))}};return r(),{refresh:r,cleanup:()=>{for(let e of t.values())e.cleanup();t.clear(),n.clear()}}},En=new Set([`dockerfile`,`makefile`,`readme`,`license`,`.env`,`.gitignore`,`.npmrc`]),Dn=Array.from(En).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),On=e=>A(e),kn=e=>O(e),An=e=>{if(!e||e.startsWith(`--`)||e.includes(`://`)||/[<>]/.test(e)||/\s{2,}/.test(e))return!1;let t=On(e),n=t.split(`/`).filter(Boolean).pop()??t;if(!n||n===`.`||n===`..`)return!1;let r=n.toLowerCase();return En.has(r)||r.startsWith(`.`)&&r.length>1?!0:!t.includes(`/`)&&/^\d+\.\d+$/.test(n)?!1:/\.[A-Za-z0-9_-]{1,16}$/.test(n)},jn=e=>{let t=(e||``).trim();return t?((t.startsWith("`")&&t.endsWith("`")||t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`))&&(t=t.slice(1,-1).trim()),t=t.replace(/[.,;!?]+$/g,``),t.endsWith(`)`)&&!t.includes(`(`)&&(t=t.slice(0,-1)),t.endsWith(`]`)&&!t.includes(`[`)&&(t=t.slice(0,-1)),t):``},Mn=e=>{let t=jn(e);if(!t)return``;let n=t.indexOf(`;`);n>=0&&(t=t.slice(0,n)),t=t.replace(/#.*$/,``);let r=t.match(/^(.*\.[A-Za-z0-9_-]{1,16}):.*$/);r&&(t=r[1]??t);let i=Dn.length>0?t.match(RegExp(`^(.*(?:/|^)(${Dn})):.*$`,`i`)):null;return i&&(t=i[1]??t),jn(t)},Nn=e=>{let t=jn(e);if(!t)return null;let n=t.indexOf(`;`),r=n>=0?jn(t.slice(0,n)):t;if(!r)return null;let i=r.match(/^(.*?):(\d+)-(\d+)$/);if(i){let e=Mn(i[1]??``),t=Number.parseInt(i[2]??``,10),n=Number.parseInt(i[3]??``,10);return!e||!Number.isFinite(t)||!Number.isFinite(n)||n<t?null:{path:e,line:t,endLine:n}}let a=r.match(/^(.*)#L(\d+)(?:C(\d+))?$/i);if(a){let e=Mn(a[1]??``),t=Number.parseInt(a[2]??``,10),n=a[3]?Number.parseInt(a[3],10):void 0;return!e||!Number.isFinite(t)?null:{path:e,line:t,column:Number.isFinite(n??NaN)?n:void 0}}let o=r.match(/^(.*?):(\d+)(?::(\d+))?$/);if(o){let e=Mn(o[1]??``),t=Number.parseInt(o[2]??``,10),n=o[3]?Number.parseInt(o[3],10):void 0;return!e||!Number.isFinite(t)?null:{path:e,line:t,column:Number.isFinite(n??NaN)?n:void 0}}let s=Mn(r);return s?{path:s}:null},Pn=/(?:[A-Za-z]:[\\/])?[\w.\-/@+]*[\w\-/@+]\.[A-Za-z0-9]{1,8}(?::\d+(?:-\d+)?(?::\d+)?)?/g,Fn=`(?:(?:[0-9][\\w.@+\\- 一-鿿]*|[一-鿿][\\w.@+\\- 一-鿿]*)|[\\w.@+\\-一-鿿]+)`,In=RegExp(`(?:[A-Za-z]:[\\\\/]|\\.{1,2}\\/|\\/)?(?:${Fn}\\/)+${Fn}\\.[A-Za-z0-9]{1,8}(?::\\d+(?:-\\d+)?(?::\\d+)?)?`,`g`),Ln=`data-openchamber-block-path-token`,Rn=`[${Ln}]`,zn=`data-openchamber-file-link`,Bn=`[${zn}="true"]`,Vn=[zn,`data-openchamber-file-ref`,`data-openchamber-file-path`,`data-openchamber-file-binary`,`title`,`role`,`tabindex`],Hn=`data-openchamber-block-paths-scanned`,Un=`data-openchamber-paragraph-paths-scanned`,Wn=`pre, code, a, script, style, button, [${zn}], ${Rn}`,Gn=2e5,Kn=e=>{let t=Nn(e);return t?An(t.path):!1},qn=e=>{let t=e.trim();return!t||t.startsWith(`#`)||t.startsWith(`?`)||t.startsWith(`//`)?!1:/^[A-Za-z]:[\\/]/.test(t)||/^file:/i.test(t)||Kn(t)&&/:\d+(?:-\d+|:\d+)?$/.test(t)?!0:!/^[A-Za-z][A-Za-z0-9+.-]*:/.test(t)},Jn=(e,t)=>{let n=0;for(let r of e){let e=n+r.data.length;if(t<=e)return{node:r,offset:Math.max(0,t-n)};n=e}let r=e.at(-1);return r?{node:r,offset:r.data.length}:null},Yn=e=>{let t=e.querySelectorAll(`pre code`);if(t.length===0)return;let n=e.ownerDocument;if(n)for(let e of Array.from(t)){if(e.getAttribute(Hn)===`true`)continue;if((e.textContent??``).length>Gn){e.setAttribute(Hn,`true`);continue}let t=n.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=[],i=t.nextNode();for(;i;)r.push(i),i=t.nextNode();let a=e.textContent??``;if(!a.includes(`.`)){e.setAttribute(Hn,`true`);continue}Pn.lastIndex=0;let o=[],s=Pn.exec(a);for(;s;){let e=s[0];e&&Kn(e)&&o.push({start:s.index,end:s.index+e.length,raw:e}),s=Pn.exec(a)}for(let{start:e,end:t,raw:i}of o.reverse()){let a=Jn(r,e),o=Jn(r,t);if(!a||!o)continue;let s=n.createRange();s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset);let c=n.createElement(`span`);c.setAttribute(Ln,`true`),c.textContent=i,s.deleteContents(),s.insertNode(c)}e.setAttribute(Hn,`true`)}},Xn=e=>{let t=e.ownerDocument;if(!t)return;let n=e.querySelectorAll(`p, li, blockquote, h1, h2, h3, h4, h5, h6, td, th`);if(n.length!==0)for(let e of Array.from(n)){if(e.getAttribute(Un)===`true`)continue;if(e.closest(Wn)){e.setAttribute(Un,`true`);continue}let n=t.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:e=>{let t=e.parentElement;return!t||t.closest(Wn)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),r=[],i=n.nextNode();for(;i;)r.push(i),i=n.nextNode();if(r.length===0){e.setAttribute(Un,`true`);continue}let a=r.map(e=>e.data).join(``);if(!a.includes(`/`)||!a.includes(`.`)){e.setAttribute(Un,`true`);continue}In.lastIndex=0;let o=[],s=In.exec(a);for(;s;){let e=s[0];if(!e){s=In.exec(a);continue}let t=s.index>=2?a.slice(s.index-2,s.index):``;if((s.index>=1?a.charAt(s.index-1):``)===`:`||t===`:/`){s=In.exec(a);continue}Kn(e)&&o.push({start:s.index,end:s.index+e.length,raw:e}),s=In.exec(a)}for(let{start:e,end:n,raw:i}of o.reverse()){let a=Jn(r,e),o=Jn(r,n);if(!a||!o)continue;let s=t.createRange();s.setStart(a.node,a.offset),s.setEnd(o.node,o.offset);let c=t.createElement(`span`);c.setAttribute(Ln,`true`),c.textContent=i,s.deleteContents(),s.insertNode(c)}e.setAttribute(Un,`true`)}},Zn=e=>{Yn(e),Xn(e)},Qn=(e,t)=>{if(e.getAttribute(`data-openchamber-file-link`)!==`true`)return;let n=(e.getAttribute(`data-openchamber-file-ref`)||e.textContent||``).trim(),r=(t.textContent||``).trim();if(!(!n||n!==r))for(let n of Vn){let r=e.getAttribute(n);r===null?t.removeAttribute(n):t.setAttribute(n,r)}},Y=(e,t=`size-3.5`)=>`<svg class="oc-icon ${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><use href="#oc-${e}"></use></svg>`,$n={copy:Y(`file-copy`),check:Y(`check`),download:Y(`download`),zoomIn:Y(`add`),zoomOut:Y(`subtract`),fit:Y(`refresh`),textWrap:Y(`text-wrap`),image:Y(`file-image`,`size-10`),imageDownload:Y(`download`,`size-3`),imageLoading:Y(`loader-4`,`size-3.5 animate-spin motion-reduce:animate-none`)},er=`p-1 rounded hover:bg-interactive-hover/60 text-muted-foreground hover:text-foreground transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--interactive-focus-ring)]`,tr=(e,t)=>{e.innerHTML=t},X=(e,t,n)=>{let r=document.createElement(`button`);return r.type=`button`,r.className=er,r.setAttribute(`data-md-action`,n),r.setAttribute(`title`,t),r.setAttribute(`aria-label`,t),tr(r,$n[e]),r},nr=(e,t,n)=>{let r=e.querySelector(`[data-md-code-body]`),i=e.querySelector(`pre`),a=e.querySelector(`pre code`),o=e.querySelector(`[data-md-action="toggle-code-wrap"]`);if(e.setAttribute(`data-code-wrap`,t?`true`:`false`),r?.classList.toggle(`overflow-x-auto`,!t),r?.classList.toggle(`overflow-x-hidden`,t),i?.classList.toggle(`whitespace-pre-wrap`,t),i?.classList.toggle(`break-words`,t),a?.classList.toggle(`whitespace-pre-wrap`,t),a?.classList.toggle(`break-words`,t),i&&(i.style.whiteSpace=t?`pre-wrap`:`pre`,i.style.overflowWrap=t?`anywhere`:`normal`),a&&(a.style.whiteSpace=t?`pre-wrap`:`pre`,a.style.overflowWrap=t?`anywhere`:`normal`),o){let e=t?n.disableCodeWrap:n.enableCodeWrap;o.setAttribute(`title`,e),o.setAttribute(`aria-label`,e),o.classList.toggle(`text-foreground`,t),o.classList.toggle(`opacity-100`,t),o.classList.toggle(`text-muted-foreground`,!t),o.classList.toggle(`opacity-65`,!t),o.setAttribute(`aria-pressed`,t?`true`:`false`)}},rr=e=>{let t=document.createElement(`div`);t.setAttribute(`data-md-code-line-numbers`,``),t.setAttribute(`aria-hidden`,`true`),t.className=`min-w-8 shrink-0 select-none border-r border-border/50 pr-3 text-right font-mono text-[13px] text-muted-foreground/45`;let n=e.textContent??``,r=Math.max(1,n.endsWith(`
|
|
7
|
-
`)?n.split(`
|
|
8
|
-
`).length-1:n.split(`
|
|
9
|
-
`).length);for(let e=1;e<=r;e+=1){let n=document.createElement(`div`);n.className=`tabular-nums`,n.textContent=String(e),t.appendChild(n)}return t},ir=e=>{let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),r=n.nextNode();for(;r;)t.push(r),r=n.nextNode();return t},ar=(e,t)=>{let n=0;for(let r of e){let e=n+r.data.length;if(t<=e)return{node:r,offset:Math.max(0,t-n)};n=e}let r=e.at(-1);return r?{node:r,offset:r.data.length}:null},or=(e,t)=>{let n=1/0,r=-1/0;for(let t=0;t<e.length;t+=1){let i=e[t];!i||i.width===0&&i.height===0||(i.top<n&&(n=i.top),i.bottom>r&&(r=i.bottom))}return!Number.isFinite(n)||r<=n?t:Math.max(t,r-n)},sr=e=>Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.classList.contains(`line`)),cr=(e,t,n)=>{e.style.height=`${t}px`,e.style.lineHeight=`${n}px`},lr=(e,t,n)=>{let r=document.createRange();r.setStart(e.node,e.offset),r.setEnd(t.node,t.offset);let i=Math.max(or(r.getClientRects(),n),or([r.getBoundingClientRect()],n));return r.detach(),i},ur=e=>{let t=e.querySelectorAll(`[data-component="markdown-code"]`);for(let e of Array.from(t)){let t=e.querySelector(`pre code`),n=e.querySelector(`[data-md-code-line-numbers]`);if(!t||!n)continue;let r=Array.from(n.children),i=window.getComputedStyle(t),a=Number.parseFloat(i.lineHeight)||20;n.style.fontFamily=i.fontFamily,n.style.fontSize=i.fontSize,n.style.lineHeight=`${a}px`;let o=sr(t);if(o.length===r.length){let e=o.map(e=>e.getBoundingClientRect()),t=e=>(e?.textContent??``).length===0;for(let n=0;n<r.length;n+=1){let i=r[n],s=o[n],c=e[n];if(!i||!s||!c)continue;if(t(s)){cr(i,a,a);continue}let l=o[n+1],u=e[n+1],d=u&&!t(l)?u.top:c.bottom;cr(i,or([{top:c.top,bottom:d,width:1,height:d-c.top}],a),a)}continue}let s=t.textContent??``,c=ir(t),l=0;for(let e=0;e<r.length;e+=1){let t=s.indexOf(`
|
|
10
|
-
`,l),n=t===-1?s.length:t,i=r[e];if(!i)continue;let o=ar(c,l),u=ar(c,n);!o||!u||l===n?cr(i,a,a):cr(i,lr(o,u,a),a),l=n+1}}},dr=e=>{window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>ur(e))})},fr=(e,t,n)=>{let r=e.querySelectorAll(`[data-component="markdown-code"]`);for(let e of Array.from(r)){let r=e.querySelector(`[data-md-code-body]`),i=e.querySelector(`pre`);r&&i&&!r.querySelector(`[data-md-code-line-numbers]`)&&(r.classList.add(`flex`,`gap-3`),r.insertBefore(rr(i),i)),nr(e,t,n)}dr(e)},pr=(e,t,n,r)=>{tr(e,$n.check),e.setAttribute(`title`,t),e.setAttribute(`aria-label`,t),window.setTimeout(()=>{tr(e,$n[n]),e.setAttribute(`title`,r),e.setAttribute(`aria-label`,r)},2e3)},mr=e=>{let t=e.querySelectorAll(`:not(pre) > code`);for(let e of Array.from(t))e.getAttribute(`data-markdown`)!==`inline-code`&&e.setAttribute(`data-markdown`,`inline-code`)},hr=(e,t)=>{let n=e.querySelectorAll(`pre`);for(let e of Array.from(n)){if(e.querySelector(`code.language-mermaid`))continue;let n=e.parentElement;if(!n||n.closest(`[data-component="markdown-code"]`))continue;let r=e.querySelector(`code`)?.className.match(/language-([^\s"]+)/)?.[1],i=e.getAttribute(`data-md-label`)??e.getAttribute(`data-md-lang`)??Ue(r).label,a=document.createElement(`div`);a.setAttribute(`data-component`,`markdown-code`),a.className=`my-4 group overflow-clip rounded-2xl border border-border/80 bg-[var(--surface-elevated)]`;let o=document.createElement(`div`);o.className=`flex items-center justify-between border-b border-border/70 px-3 py-1.5`;let s=document.createElement(`span`);s.className=`font-mono text-[13px] text-muted-foreground`,s.textContent=i;let c=X(`copy`,t.labels.copy,`copy-code`),l=X(`textWrap`,t.codeBlockLineWrap?t.labels.disableCodeWrap:t.labels.enableCodeWrap,`toggle-code-wrap`);o.appendChild(s);let u=document.createElement(`div`);u.className=`flex items-center gap-1`,u.appendChild(l),u.appendChild(c),o.appendChild(u);let d=document.createElement(`div`);d.setAttribute(`data-md-code-body`,``),d.className=`px-3 py-2.5 overflow-x-auto`,n.replaceChild(a,e),e.style.margin=`0`,e.style.background=`transparent`,e.classList.add(`min-w-0`,`w-full`,`flex-1`),d.appendChild(e),a.appendChild(o),a.appendChild(d),nr(a,t.codeBlockLineWrap,t.labels)}},gr=e=>{let t=e.querySelectorAll(`table`);for(let e of Array.from(t)){if(e.closest(`[data-markdown="table-wrapper"]`))continue;let t=document.createElement(`div`);t.className=`my-4`,t.setAttribute(`data-markdown`,`table-wrapper`);let n=document.createElement(`div`);n.setAttribute(`data-markdown`,`table-scroll`);let r=e.parentElement;if(r){r.replaceChild(t,e),e.setAttribute(`data-markdown`,`table`);for(let t of Array.from(e.querySelectorAll(`tr`)))t.setAttribute(`data-markdown`,`table-row`);for(let t of Array.from(e.querySelectorAll(`th`)))t.setAttribute(`data-markdown`,`table-header-cell`);for(let t of Array.from(e.querySelectorAll(`td`)))t.setAttribute(`data-markdown`,`table-cell`);n.appendChild(e),t.appendChild(n)}}},_r=0,vr=(e,t)=>{let n=e.querySelectorAll(`pre > code.language-mermaid`);for(let e of Array.from(n)){let n=e.parentElement;if(!n)continue;let r=(e.textContent??``).replace(/\s+$/,``),i=t.renderMermaid(r),a=document.createElement(`div`);a.setAttribute(`data-markdown`,`mermaid-block`),a.setAttribute(`data-md-source`,r),a.className=`group relative`;let o=document.createElement(`div`);o.setAttribute(`data-markdown`,`mermaid-scroll`);let s=document.createElement(`div`);if(s.setAttribute(`data-markdown`,`mermaid-toolbar`),s.className=`absolute top-1 right-2 flex items-center gap-1 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity`,i.svg){a.setAttribute(`data-mermaid-render`,`svg`);let e=document.createElement(`div`);e.setAttribute(`data-markdown`,`mermaid-viewport`);let n=document.createElement(`div`);n.setAttribute(`data-markdown`,`mermaid`),n.setAttribute(`data-md-original-svg`,i.svg),n.innerHTML=i.svg;let c=n.querySelector(`svg`),l=++_r;for(let[e,t]of[[`title[id]`,`aria-labelledby`],[`desc[id]`,`aria-describedby`]]){let n=c?.querySelector(e);n&&(n.id=`oc-mermaid-${l}-${n.localName}`,c?.setAttribute(t,n.id))}if(e.appendChild(n),o.appendChild(e),t.mermaidControls.showPanZoomControls&&(s.appendChild(X(`zoomIn`,t.labels.zoomInDiagram,`mermaid-zoom-in`)),s.appendChild(X(`zoomOut`,t.labels.zoomOutDiagram,`mermaid-zoom-out`)),s.appendChild(X(`fit`,t.labels.resetDiagramView,`mermaid-fit`))),t.mermaidControls.copy){let e=X(`copy`,t.labels.copyDiagram,`mermaid-copy`);e.setAttribute(`data-md-source`,r),s.appendChild(e)}if(t.mermaidControls.download){let e=X(`download`,t.labels.downloadDiagram,`mermaid-download`);e.setAttribute(`data-md-svg`,`1`),s.appendChild(e)}}else{a.setAttribute(`data-mermaid-render`,`source`);let e=document.createElement(`pre`);if(e.setAttribute(`data-markdown`,`mermaid-source`),e.textContent=r,o.appendChild(e),t.mermaidControls.copy){let e=X(`copy`,t.labels.copyDiagram,`mermaid-copy`);e.setAttribute(`data-md-source`,r),s.appendChild(e)}}a.appendChild(o),a.appendChild(s);let c=n.parentElement;c&&c.replaceChild(a,n)}},yr=(e,t)=>{let n=e.querySelectorAll(`a[href]`);for(let e of Array.from(n)){if(e.getAttribute(`data-md-link-decorated`)===`true`||e.getAttribute(`data-openchamber-file-link`)===`true`)continue;let n=e.getAttribute(`href`)??``;if(!L(n))continue;e.setAttribute(`data-md-link-decorated`,`true`);let r=I(n);if(r){let t=document.createElement(`span`);t.className=`mr-1 inline-flex size-[18px] items-center justify-center rounded border border-[var(--border)] bg-[var(--interactive-hover)] align-middle`;let n=document.createElement(`img`);n.setAttribute(`data-md-link-favicon`,`true`),n.src=r,n.alt=``,n.setAttribute(`aria-hidden`,`true`),n.loading=`lazy`,n.decoding=`async`,n.className=`size-3.5 rounded-sm`,n.addEventListener(`error`,()=>t.remove(),{once:!0}),t.appendChild(n),e.parentNode?.insertBefore(t,e)}if(t.onPreviewLoopback&&F(n)){let r=document.createElement(`button`);r.type=`button`,r.className=`ml-1 align-middle ${er}`,r.setAttribute(`data-md-action`,`preview-loopback`),r.setAttribute(`data-md-url`,n),r.setAttribute(`title`,t.labels.previewTitle),r.setAttribute(`aria-label`,t.labels.previewLabel),tr(r,$n.download),e.parentNode?.insertBefore(r,e.nextSibling)}}},br=`img:not([data-md-link-favicon="true"])`,xr=`[data-md-image-presentation="true"]`,Sr=`data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="576" height="324" viewBox="0 0 576 324"%3E%3C/svg%3E`,Cr=[`block`,`max-w-full`,`rounded-xl`,`border`,`border-border/80`,`bg-[var(--surface-muted)]`,`transition-colors`,`focus-visible:outline`,`focus-visible:outline-2`,`focus-visible:outline-offset-2`,`focus-visible:outline-[var(--interactive-focus-ring)]`],wr=[`cursor-pointer`,`hover:bg-interactive-hover/60`],Tr=[`object-contain`],Er=e=>{let t=e.parentElement;if(t?.matches(xr))return t;let n=document.createElement(`span`);n.setAttribute(`data-md-image-presentation`,`true`),n.className=`relative my-4 block w-fit max-w-full`;let r=document.createElement(`span`);r.setAttribute(`data-md-image-placeholder-visual`,`true`),r.setAttribute(`aria-hidden`,`true`),r.className=`pointer-events-none absolute inset-0 flex items-center justify-center text-muted-foreground`,r.classList.add(`oc-image-loading`),w()&&n.setAttribute(`data-mobile-image`,`true`);let i=document.createElement(`span`);i.className=`relative flex size-14 items-center justify-center rounded-2xl border border-border/80 bg-[var(--surface-elevated)] shadow-sm`,tr(i,$n.image);let a=document.createElement(`span`);a.setAttribute(`data-md-image-download-badge`,`true`),a.className=`absolute -right-1.5 -bottom-1.5 flex size-6 items-center justify-center rounded-full border border-border bg-[var(--surface-elevated)] text-foreground shadow-sm`,tr(a,$n.imageDownload);let o=document.createElement(`span`);return o.setAttribute(`data-md-image-loading-badge`,`true`),o.className=`absolute -right-1.5 -bottom-1.5 hidden size-6 items-center justify-center rounded-full border border-border bg-[var(--surface-elevated)] text-foreground shadow-sm`,tr(o,$n.imageLoading),i.appendChild(a),i.appendChild(o),r.appendChild(i),t?.replaceChild(n,e),n.appendChild(e),n.appendChild(r),n},Dr=e=>{e.src=Sr,e.setAttribute(`data-md-placeholder-source`,Sr),e.setAttribute(`data-md-image-state`,`placeholder`),e.classList.add(...Tr)},Or=e=>{e.removeAttribute(`data-md-image-state`),e.removeAttribute(`data-md-placeholder-source`),e.removeAttribute(`aria-busy`),e.classList.remove(...Tr)},kr=(e,t)=>{if(!t.imagePreviewEnabled)return;let n=e.querySelectorAll(br);for(let e of Array.from(n)){let n=e.getAttribute(`data-md-image-source`)??e.getAttribute(`src`)??``,r=j(n,t.imageEffectiveDirectory);if(!k(r)){e.setAttribute(`data-md-image-source`,n),Er(e),e.setAttribute(`data-md-image-state`,e.complete&&e.naturalWidth>0?`loaded`:`loading`);continue}e.classList.add(...Cr,...wr),e.setAttribute(`role`,`button`),e.setAttribute(`tabindex`,`0`),e.setAttribute(`data-md-image-source`,n),Er(e),Dr(e)}},Ar=(e,t)=>{mr(e),vr(e,t),hr(e,t),gr(e),yr(e,t),kr(e,t),Zn(e)},jr=(e,t,n)=>{let r=new Blob([t],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=e,document.body.appendChild(a),a.click(),document.body.removeChild(a),URL.revokeObjectURL(i)},Mr=(e,t)=>{let n=e=>{let n=e.target;if(!(n instanceof Element))return;let r=n.closest(`[data-md-action]`);if(!r)return;let i=r.getAttribute(`data-md-action`)??``;if(i===`copy-code`){let e=r.closest(`[data-component="markdown-code"]`)?.querySelector(`code`)?.textContent??``;e&&v(e).then(()=>pr(r,t.labels.copied,`copy`,t.labels.copy));return}if(i===`toggle-code-wrap`){e.preventDefault(),t.onToggleCodeBlockLineWrap?.();return}if(i===`mermaid-copy`){let e=r.getAttribute(`data-md-source`)??``;e&&v(e).then(()=>pr(r,t.labels.copied,`copy`,t.labels.copyDiagram));return}if(i===`mermaid-zoom-in`||i===`mermaid-zoom-out`||i===`mermaid-fit`){e.preventDefault();let t=_n(r.closest(`[data-markdown="mermaid-block"]`));i===`mermaid-zoom-in`?t?.zoomIn():i===`mermaid-zoom-out`?t?.zoomOut():t?.fit();return}if(i===`mermaid-download`){let e=r.closest(`[data-markdown="mermaid-block"]`)?.querySelector(`[data-markdown="mermaid"]`),t=e?.getAttribute(`data-md-original-svg`)??e?.innerHTML??``;t&&jr(`diagram.svg`,t,`image/svg+xml;charset=utf-8`);return}if(i===`preview-loopback`){e.preventDefault();let n=r.getAttribute(`data-md-url`)??``;n&&t.onPreviewLoopback?.(n);return}};return e.addEventListener(`click`,n),()=>e.removeEventListener(`click`,n)},Nr=`Open file`,Pr=e=>{let{dictionary:t}=x.getState();C.warning(S(t,e))},Fr=4,Ir=1e3,Lr=200,Rr=80,zr=40,Z=new Map,Br=new Map,Vr=(e,t)=>JSON.stringify([n(),t,e]),Hr=0,Ur=[],Wr=()=>s()?Lr:Ir,Gr=()=>s()?zr:Rr,Kr=(e,t)=>{Br.set(e,t)},qr=()=>{let e=Z.keys().next().value;typeof e==`string`&&(Z.delete(e),Br.delete(e))},Jr=(e,t)=>{let n=Wr();for(;Z.size>=n;)qr();Z.set(e,t)},Yr=(e,t=``)=>{let n=On(e);if(n)return Br.get(Vr(n,t))},Xr=e=>{if(e.tagName.toLowerCase()===`a`){let t=e.getAttribute(`href`)?.trim();if(t&&Kn(t))return t}return(e.textContent||``).trim()},Zr=(e,t)=>{let n=Nn(e);if(!n||!An(n.path))return null;let r=kn(n.path)?On(n.path):ee(t,n.path);return r?{...n,resolvedPath:r}:null},Qr=(e,t=``)=>{let n=On(e);if(!n)return Promise.resolve({exists:!1,isBinary:!1});let i=Vr(n,t),a=Z.get(i);if(a)return Z.delete(i),Z.set(i,a),a;let o=new Promise((e,a)=>{let s=()=>{Hr+=1,r(`/api/fs/stat?path=${encodeURIComponent(n)}&optional=true`,{method:`GET`,cache:`no-store`,...t?{query:{directory:t}}:{}}).then(async t=>{if(!t.ok)throw Error(`File reference probe failed (${t.status})`);let n=await t.json();if(!n||typeof n.exists!=`boolean`&&n.isFile!==!0)throw Error(`Invalid file reference probe response`);let r={exists:n.exists!==!1,isBinary:n.isBinary===!0};Kr(i,r),e(r)}).catch(e=>{Z.get(i)===o&&(Z.delete(i),Br.delete(i)),a(e)}).finally(()=>{Hr=Math.max(0,Hr-1),Ur.shift()?.()})};if(Hr<Fr){s();return}Ur.push(s)});return Jr(i,o),o},$r=(e,t)=>{if(!(c()&&i()&&!M(e,t)))return Qr(e,t);let n=On(e);if(!n)return Promise.resolve({exists:!1,isBinary:!1});let r=Vr(n,t),a=Z.get(r);if(a)return Z.delete(r),Z.set(r,a),a;let s=o(e).then(e=>{let t={exists:!0,isBinary:e===!0};return Kr(r,t),t});return Jr(r,s),s},ei=(e,t,n)=>!(!t.exists||n&&t.isBinary&&!z(e)&&!R(e)),ti=(e,t)=>e||ne(e,t),ni=async(e,t,n)=>{let r=Zr(e,n.effectiveDirectory);if(!r)return;let i=r.resolvedPath.toLowerCase().endsWith(`.app`);if((t||i)&&!z(r.resolvedPath)&&!R(r.resolvedPath)){if(await a(r.resolvedPath))return;Pr(`chat.fileReference.notice.binaryExternal`)}if(z(r.resolvedPath)&&n.onShowPopup){let e=r.resolvedPath.split(`/`).filter(Boolean).pop()??r.resolvedPath;n.onShowPopup({open:!0,title:e,content:``,metadata:{tool:`image-preview`,filename:e,mime:ie(r.resolvedPath)},image:{url:r.resolvedPath,filename:e,mimeType:ie(r.resolvedPath)}});return}let o=ti(n.effectiveDirectory,r.resolvedPath),s=R(r.resolvedPath);if(n.preferRuntimeEditor&&n.editor&&!s){n.editor.openFile(r.resolvedPath,Number.isFinite(r.line??NaN)?Math.max(1,Math.trunc(r.line)):void 0,Number.isFinite(r.column??NaN)?Math.max(1,Math.trunc(r.column)):void 0);return}let c=f.getState();if(s){c.openContextFile(o,r.resolvedPath,{viewerMode:`preview`});return}if(Number.isFinite(r.line??NaN)){c.openContextFileAtLine(o,r.resolvedPath,Math.max(1,Math.trunc(r.line)),Number.isFinite(r.column??NaN)?Math.max(1,Math.trunc(r.column)):1);return}c.openContextFile(o,r.resolvedPath)},ri=async(e,t)=>{await ni(e.getAttribute(`data-openchamber-file-ref`)||Xr(e),e.getAttribute(`data-openchamber-file-binary`)===`true`,t)},ii=e({MarkdownRenderer:()=>Oi,SimpleMarkdownRenderer:()=>ki}),Q=u(),ai=()=>{let e=(0,xe.c)(4),t=E(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=N(!1),e[0]=n):n=e[0];let r=n,i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=N(!0),e[1]=i):i=e[1];let a=i,o;return e[2]===t?.currentTheme?o=e[3]:(o=t?.currentTheme??(typeof window<`u`&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?a:r),e[2]=t?.currentTheme,e[3]=o),o},oi=e=>{let t=(0,xe.c)(4),{containerRef:n,enabled:r,effectiveDirectory:i,openInAppBrowser:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==a?(o=e=>{if(r===!1||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;let t=e.target;if(!(t instanceof Element)||t.closest($))return;let n=t.closest(`a[href]`);if(!(n instanceof HTMLAnchorElement)||n.getAttribute(`data-openchamber-file-link`)===`true`)return;let o=n.getAttribute(`href`)??``;if(qn(o)){e.preventDefault(),e.stopPropagation();return}if(!L(o))return;e.preventDefault(),e.stopPropagation();let s=(i||``).trim();if(!w()&&s&&a){a(s,o);return}P(o)},t[0]=i,t[1]=r,t[2]=a,t[3]=o):o=t[3];let s=g(o);_(`click`,s,n)},$=`img:not([data-md-link-favicon="true"])`,si=e=>e.getAttribute(`data-md-image-source`)??e.getAttribute(`src`)??``,ci=({containerRef:e,effectiveDirectory:t,onShowPopup:r})=>{let i=K.useRef(null);i.current??=n();let a=i.current,o=!!r,s=g(e=>r?.(e)),c=K.useRef(()=>{}),l=K.useRef(new Map),u=K.useRef(null),d=K.useMemo(()=>e=>c.current(e),[]);return K.useLayoutEffect(()=>{let n=l.current;if(u.current!==null&&(clearTimeout(u.current),u.current=null),c.current=()=>{},!o){for(let[e,t]of n)t.controller?.abort(),t.objectUrl&&D(t.objectUrl),n.delete(e);return}let r=e.current;if(!r)return;let i=e=>{let t=Array.from(r.querySelectorAll($));if(t.indexOf(e)<0)return;let n=t.map(e=>({url:si(e),filename:e.alt||si(e)||void 0})).filter(e=>e.url),i=si(e),a=n.findIndex(e=>e.url===i),o=e.alt||i;s({open:!0,title:o,content:``,metadata:{tool:`image-preview`,filename:o},previewSource:e,image:{url:i,filename:o,gallery:n,index:Math.max(0,a)}})},d=e=>{let t=n.get(e);t&&(t.controller?.abort(),t.objectUrl&&D(t.objectUrl),n.delete(e))},f=e=>{let n=si(e),r=j(n,t);if(k(r))return`${a}\n${t}\n${n}`},p=e=>{let t=f(e);if(!t){d(e);return}let r=n.get(e);if(r?.key===t)return r;d(e);let i={key:t};return n.set(e,i),i},m=(e,i)=>{if(i.controller||i.objectUrl||!r.contains(e))return;let a=si(e),o=j(a,t);if(!k(o)){d(e);return}let s=new AbortController;i.controller=s,e.setAttribute(`data-md-image-state`,`loading`),e.setAttribute(`aria-busy`,`true`),te(o.path,s.signal).then(t=>{let r=n.get(e);if(!r||r!==i||r.controller!==s||s.signal.aborted){D(t);return}r.controller=void 0,r.objectUrl=t,e.src=t}).catch(()=>{let t=n.get(e);t===i&&(t.controller=void 0,e.removeAttribute(`aria-busy`),e.setAttribute(`data-md-image-state`,`error`))})};c.current=e=>{for(let[t,r]of n)(!e.contains(t)||f(t)!==r.key)&&d(t);for(let t of Array.from(e.querySelectorAll($))){let e=p(t);e&&!e.objectUrl&&m(t,e)}},c.current(r);let h=e=>{let t=p(e);if(t&&!t.objectUrl){m(e,t);return}i(e)},g=e=>{let n=si(e);n&&de({sourceUrl:n,displayUrl:e.currentSrc||e.src||void 0,filename:e.alt||n,effectiveDirectory:t})},_=ue(),v=e=>si(e)||e.src||`markdown-image`,y=e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest($);if(n){if(_.consumeClick(v(n))){e.preventDefault(),e.stopPropagation();return}e.preventDefault(),e.stopPropagation(),h(n)}},b=e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLImageElement)||!t.matches($)||(e.preventDefault(),e.stopPropagation(),h(t))},x=e=>{if(e.pointerType===`mouse`&&e.button!==0)return;let t=e.target;if(!(t instanceof Element))return;let n=t.closest($);n&&_.start({pointerId:e.pointerId,key:v(n),clientX:e.clientX,clientY:e.clientY,onTrigger:()=>g(n)})},S=e=>{_.move(e.pointerId,e.clientX,e.clientY)},C=e=>{_.end(e.pointerId)},w=e=>{_.cancel(e.pointerId)},T=e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest($);n&&(e.preventDefault(),e.stopPropagation(),_.openFromContextMenu(v(n),()=>g(n)))},E=e=>{let t=e.target;!(t instanceof HTMLImageElement)||!t.matches($)||t.getAttribute(`src`)!==t.getAttribute(`data-md-placeholder-source`)&&(Or(t),t.setAttribute(`data-md-image-state`,`loaded`))},O=e=>{let t=e.target;!(t instanceof HTMLImageElement)||!t.matches($)||(t.removeAttribute(`aria-busy`),t.setAttribute(`data-md-image-state`,`error`))};return r.addEventListener(`load`,E,!0),r.addEventListener(`error`,O,!0),r.addEventListener(`click`,y),r.addEventListener(`keydown`,b),r.addEventListener(`pointerdown`,x),r.addEventListener(`pointermove`,S),r.addEventListener(`pointerup`,C),r.addEventListener(`pointercancel`,w),r.addEventListener(`contextmenu`,T),()=>{c.current=()=>{},_.reset(),r.removeEventListener(`load`,E,!0),r.removeEventListener(`error`,O,!0),r.removeEventListener(`click`,y),r.removeEventListener(`keydown`,b),r.removeEventListener(`pointerdown`,x),r.removeEventListener(`pointermove`,S),r.removeEventListener(`pointerup`,C),r.removeEventListener(`pointercancel`,w),r.removeEventListener(`contextmenu`,T),u.current=setTimeout(()=>{u.current=null;for(let e of Array.from(n.keys()))r.contains(e)&&Dr(e),d(e)},0)}},[e,t,o,a]),{reconcileMarkdownImageResources:d,transportIdentity:a}},li={download:!0,copy:!0,showPanZoomControls:!0},ui=!0,di=e=>{let t=e.match(/^(?:\uFEFF)?(---|\+\+\+)[^\S\r\n]*\r?\n[\s\S]*?\r?\n\1[^\S\r\n]*(?:\r?\n|$)/);return t?e.slice(t[0].length):e},fi=160,pi=e=>{let t=(0,xe.c)(8),{containerRef:n,effectiveDirectory:r,editor:i,preferRuntimeEditor:a,onShowPopup:o,enabled:s}=e,c=K.useRef(null),l,u;t[0]!==n||t[1]!==i||t[2]!==r||t[3]!==s||t[4]!==o||t[5]!==a?(l=()=>{let e=n.current;if(!e)return;let t=!1,l=w(),u=Gr(),d=s,f=Ai,p=()=>{let t=e.querySelectorAll(Bn);for(let e of Array.from(t))f(e)};if(!d){p();return}let m=e=>{let n=e===void 0?0:e;if(c.current!==null&&typeof window<`u`&&window.clearTimeout(c.current),typeof window>`u`){h();return}c.current=window.setTimeout(()=>{c.current=null,window.requestAnimationFrame(()=>{t||h()})},n)},h=()=>{let n=e.querySelectorAll(`[data-markdown="inline-code"], a, ${Rn}`),i=0;for(let a of Array.from(n)){let n=Zr(Xr(a),r);if(!n){f(a);continue}if(i>=u){f(a);continue}i+=1,(a.getAttribute(`data-openchamber-file-link`)!==`true`||a.getAttribute(`data-openchamber-file-path`)!==n.resolvedPath)&&$r(n.resolvedPath,r).then(i=>{if(t||!e.contains(a))return;let o=Xr(a),s=Zr(o,r);if(!(!s||s.resolvedPath!==n.resolvedPath)){if(!ei(s.resolvedPath,i,l)){f(a);return}a.setAttribute(`data-openchamber-file-link`,`true`),a.setAttribute(`data-openchamber-file-ref`,o),a.setAttribute(`data-openchamber-file-path`,s.resolvedPath),a.setAttribute(`data-openchamber-file-binary`,String(i.isBinary)),a.setAttribute(`title`,Nr),a.tagName.toLowerCase()!==`a`&&(a.setAttribute(`role`,`button`),a.setAttribute(`tabindex`,`0`))}}).catch(ji)}},g=e=>ri(e,{effectiveDirectory:r,editor:i,preferRuntimeEditor:a,onShowPopup:o}),_=e=>{let t=e.target;if(!(t instanceof Element)||t.closest($))return;let n=t.closest(Bn);n instanceof HTMLElement&&(e.preventDefault(),e.stopPropagation(),g(n))},v=e=>{if(e.key!==`Enter`&&e.key!==` `)return;let t=e.target;!(t instanceof HTMLElement)||t.getAttribute(`data-openchamber-file-link`)!==`true`||(e.preventDefault(),e.stopPropagation(),g(t))};m(fi);let y=new MutationObserver(()=>{m(fi)});return y.observe(e,{childList:!0,subtree:!0}),e.addEventListener(`click`,_),e.addEventListener(`keydown`,v),()=>{t=!0,c.current!==null&&typeof window<`u`&&window.clearTimeout(c.current),c.current=null,y.disconnect(),e.removeEventListener(`click`,_),e.removeEventListener(`keydown`,v)}},u=[n,i,r,o,a,s],t[0]=n,t[1]=i,t[2]=r,t[3]=s,t[4]=o,t[5]=a,t[6]=l,t[7]=u):(l=t[6],u=t[7]),K.useEffect(l,u)},mi=({containerRef:e,onShowPopup:t,enableFullscreen:n,enablePanZoom:r,allowMermaidWheelEvents:i})=>{let a=g(e=>t?.(e)),o=!!t,s=g(t=>{if(!n||!o)return;let r=e.current;if(!r)return;let i=t.target;if(!(i instanceof Element)||i.closest(`button, a, [role="button"]`))return;let s=i.closest(nn);if(!s)return;if(s instanceof HTMLElement&&s.hasAttribute(`data-mermaid-suppress-click`)){s.removeAttribute(`data-mermaid-suppress-click`);return}let c=Array.from(r.querySelectorAll(nn)).indexOf(s);if(c<0)return;let l=s instanceof HTMLElement?s.getAttribute(`data-md-source`):null;if(!l||l.trim().length===0)return;let u=`Diagram ${c+1}`;a({open:!0,title:u,content:``,metadata:{tool:`mermaid-preview`,filename:u},mermaid:{url:`data:text/plain;charset=utf-8,${encodeURIComponent(l)}`,source:l,filename:u},previewSource:s instanceof HTMLElement?s:void 0})}),c=g(e=>{if(i||r)return;let t=e.target;t instanceof Element&&t.closest(`[data-markdown="mermaid-block"]`)&&e.stopPropagation()});_(`click`,s,e),K.useEffect(()=>{let t=e.current;if(t)return t.addEventListener(`wheel`,c,{capture:!0,passive:!0}),()=>{t.removeEventListener(`wheel`,c,!0)}},[e])},hi=24,gi=1,_i=12,vi=/[\s.,!?;:)\]]/,yi=(e,t)=>{let n=e<=12?2:e<=48?4:e<=96?8:Math.min(24,Math.ceil(e/8));return Math.max(1,Math.round(t/hi*n))},bi=(e,t)=>yi(e,t)*(1e3/t),xi=(e,t,n)=>{let r=Math.min(e.length,t+n);for(let t=r;t<Math.min(e.length,r+8);t+=1)if(vi.test(e[t]??``))return t+1;return r},Si=(e,t,n)=>{let[r,i]=K.useState(()=>t?0:e.length),a=K.useRef(r),o=K.useRef(0),s=K.useRef(null);return a.current=r,K.useEffect(()=>{if(!t||typeof window>`u`){o.current=0,s.current=null,i(e.length);return}a.current>e.length&&(a.current=e.length,o.current=0,i(e.length));let r=null,c=t=>{let l=Math.min(a.current,e.length);if(l>=e.length){r=null,s.current=null;return}let u=s.current;if(u===null){s.current=t,r=window.requestAnimationFrame(c);return}let d=Math.min(t-u,100);s.current=t,o.current+=bi(e.length-l,n)*(d/1e3);let f=Math.min(_i,Math.floor(o.current));if(f>=gi){o.current-=f;let t=xi(e,l,f);a.current=t,i(t)}r=window.requestAnimationFrame(c)};return a.current<e.length&&(r=window.requestAnimationFrame(c)),()=>{r!==null&&window.cancelAnimationFrame(r)}},[e,t,n]),t?e.slice(0,Math.min(r,e.length)):e},Ci=(e,t,r,i=li,a=n(),o=``,s=!1)=>{let{t:c}=y(),l=K.useMemo(()=>({copy:c(`markdownRenderer.code.actions.copyTitle`),copied:c(`markdownRenderer.code.actions.copiedTitle`),enableCodeWrap:c(`markdownRenderer.code.actions.enableWrapTitle`),disableCodeWrap:c(`markdownRenderer.code.actions.disableWrapTitle`),copyDiagram:c(`markdownRenderer.mermaid.actions.copySourceTitle`),downloadDiagram:c(`markdownRenderer.mermaid.actions.downloadSvgTitle`),zoomInDiagram:c(`markdownRenderer.mermaid.actions.zoomInTitle`),zoomOutDiagram:c(`markdownRenderer.mermaid.actions.zoomOutTitle`),resetDiagramView:c(`markdownRenderer.mermaid.actions.resetViewTitle`),previewLabel:c(`terminalView.preview.open`),previewTitle:c(`terminalView.preview.openTitle`)}),[c]),u=f(e=>e.codeBlockLineWrap),d=f(e=>e.setCodeBlockLineWrap),p=g(()=>{d(!f.getState().codeBlockLineWrap)});return K.useMemo(()=>({labels:l,mermaidControls:i,codeBlockLineWrap:u,deferCodeLineNumberSync:t,onToggleCodeBlockLineWrap:p,renderMermaid:t=>Ce(t,e),onPreviewLoopback:r,imageTransportIdentity:a,imageEffectiveDirectory:o,imagePreviewEnabled:s}),[e,l,i,u,t,r,a,o,s])},wi=({containerRef:e,text:t,streaming:n,cacheKey:r,syntaxVars:i,ctx:a,reconcileMarkdownImageResources:o,onRichContentReady:s})=>{K.useEffect(()=>{pe()},[]);let c=K.useRef(null),l=g(()=>{s?.()}),u=g(()=>{let t=e.current;if(t){if(!c.current){if(!rn(t))return;c.current=Tn(t);return}c.current.refresh()}});K.useLayoutEffect(()=>{let r=e.current,i=r?.querySelector(`[data-markdown-content]`)??r;if(i&&t&&i.childNodes.length===0){for(let e of Rt(t)){let t=document.createElement(`div`);t.setAttribute(`data-md-block`,``),t.style.display=`contents`,t.innerHTML=e,Ar(t,a),i.appendChild(t)}o(i),n||l()}},[e,a,o,n,t]),K.useEffect(()=>()=>{c.current?.cleanup(),c.current=null},[]),K.useEffect(()=>{let i=e.current;if(!i)return;let s=i.querySelector(`[data-markdown-content]`)??i,c=!0,d=new AbortController,f=()=>{},p=()=>{},m=()=>{if(!c||n||d.signal.aborted)return;s.replaceChildren();let e=document.createElement(`div`);e.setAttribute(`data-md-block`,``),e.setAttribute(`data-md-render-fallback`,`text`),e.style.display=`contents`;let r=document.createElement(`span`);r.style.whiteSpace=`pre-wrap`,r.textContent=t,e.appendChild(r),s.appendChild(e),o(s),l()},h=e=>{if(!c)return;let t=Array.from(s.children);e.forEach((e,n)=>{let r=t[n];if(r||(r=document.createElement(`div`),r.setAttribute(`data-md-block`,``),r.style.display=`contents`,s.appendChild(r)),r.getAttribute(`data-md-id`)===e.id)return;let i=document.createElement(`div`);i.innerHTML=e.html,Ar(i,a);let o=rn(r),c=rn(i);_e(r,i,{childrenOnly:!0,onBeforeElUpdated:(e,t)=>{if(Ne(e,t))return!1;if(Qn(e,t),e instanceof HTMLImageElement&&t instanceof HTMLImageElement){let n=e.getAttribute(`data-md-image-source`);if(n&&n===t.getAttribute(`data-md-image-source`)){let n=e.getAttribute(`src`);n===null?t.removeAttribute(`src`):t.setAttribute(`src`,n),t.className=e.className;for(let n of[`data-md-image-state`,`data-md-placeholder-source`,`aria-busy`]){let r=e.getAttribute(n);r===null?t.removeAttribute(n):t.setAttribute(n,r)}}}return!e.isEqualNode(t)}}),r.setAttribute(`data-md-id`,e.id),(o||c||rn(r))&&u()});let n=rn(s),r=!1;for(let n=t.length-1;n>=e.length;--n){let e=t[n];e&&rn(e)&&(r=!0),e?.remove()}(r||t.length>e.length&&n)&&u(),o(s),a.deferCodeLineNumberSync||fr(s,a.codeBlockLineWrap,a.labels),Le(s,B,{signal:d.signal,priority:`visible`}),l()},g=e=>{try{h(e)}catch{m()}},_=()=>{Gt(t,n,r,d.signal).then(e=>{if(c){if(n){g(e);return}p=U(()=>g(e),{priority:`visible`})}}).catch(m)};return n?_():f=U(_,{priority:`visible`}),()=>{c=!1,d.abort(),f(),p()}},[e,t,n,r,a,o]),K.useEffect(()=>{let t=e.current;if(t)return Mr(t,a)},[e,a]),K.useEffect(()=>{let t=e.current,n=t?.querySelector(`[data-markdown-content]`)??t;if(n)for(let[e,t]of Object.entries(i))n.style.setProperty(e,t)},[e,i]),K.useEffect(()=>{let t=e.current,n=t?.querySelector(`[data-markdown-content]`)??t;n&&(a.deferCodeLineNumberSync||fr(n,a.codeBlockLineWrap,a.labels))},[e,a.codeBlockLineWrap,a.deferCodeLineNumberSync,a.labels]);let d=K.useRef(null),f=g(()=>{let t=e.current,n=t?.querySelector(`[data-markdown-content]`)??t;n&&(d.current!==null&&window.cancelAnimationFrame(d.current),d.current=window.requestAnimationFrame(()=>{d.current=null,ur(n)}))});h(e,f),K.useEffect(()=>()=>{d.current!==null&&window.cancelAnimationFrame(d.current)},[])},Ti=e=>e===`tool`?`markdown-content markdown-tool`:e===`reasoning`?`markdown-content markdown-reasoning`:`markdown-content leading-relaxed`,Ei=e=>{let t=(0,xe.c)(4),[n,r]=K.useState(e),i=K.useRef(e),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{i.current||(i.current=!0,r(!0))},t[0]=a):a=t[0];let o=g(a),s;return t[1]!==o||t[2]!==n?(s=[n,o],t[1]=o,t[2]=n,t[3]=s):s=t[3],s},Di=(e,t,n)=>{let r=K.useRef(n);r.current=n;let i=K.useRef(t);i.current=t;let a=g(e=>{if(!r.current)return;let t=e[0];if(!t)return;let n=t.borderBoxSize?.[0],a=n?n.blockSize:t.contentRect.height,o=n?n.inlineSize:t.contentRect.width;he(i.current,a,o)});h(e,a)},Oi=K.memo(e=>{let t=(0,xe.c)(54),{content:n,part:r,messageId:i,isAnimated:a,skipFadeIn:o,className:s,isStreaming:c,disableStreamAnimation:l,variant:u,onShowPopup:f,enableFileReferences:p}=e,m=a===void 0||a,h=o!==void 0&&o,_=c!==void 0&&c,v=l!==void 0&&l,y=u===void 0?`assistant`:u,x=p===void 0||p,S=ai(),{editor:C,runtime:w}=re(),T=K.useRef(null),E=oe()??``,D=g(Mi),O;t[0]!==E||t[1]!==D?(O=e=>{E&&D(E,e)},t[0]=E,t[1]=D,t[2]=O):O=t[2];let ee=g(O),k=_&&!v,A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=le(d()),t[3]=A):A=t[3];let j=Si(n,k,A.markdownPaceMs),[M,te]=Ei(k),ne;t[4]===f?ne=t[5]:(ne={containerRef:T,onShowPopup:f,enableFullscreen:ui,enablePanZoom:li.showPanZoomControls},t[4]=f,t[5]=ne),mi(ne);let N=x&&!_,P;t[6]!==C||t[7]!==E||t[8]!==f||t[9]!==w.isVSCode||t[10]!==N?(P={containerRef:T,effectiveDirectory:E,editor:C,preferRuntimeEditor:w.isVSCode,onShowPopup:f,enabled:N},t[6]=C,t[7]=E,t[8]=f,t[9]=w.isVSCode,t[10]=N,t[11]=P):P=t[11],pi(P);let F;t[12]!==E||t[13]!==D?(F={containerRef:T,effectiveDirectory:E,openInAppBrowser:D},t[12]=E,t[13]=D,t[14]=F):F=t[14],oi(F);let I;t[15]!==E||t[16]!==f?(I={containerRef:T,effectiveDirectory:E,onShowPopup:f},t[15]=E,t[16]=f,t[17]=I):I=t[17];let{reconcileMarkdownImageResources:L,transportIdentity:ie}=ci(I),R;t[18]===S?R=t[19]:(R=fe(S),t[18]=S,t[19]=R);let z=R,ae=Ci(S,k,E?ee:void 0,li,ie,E,!!f),B=`markdown-${r?.id?`part-${r.id}`:`message-${i}`}`,V;t[20]!==B||t[21]!==ae||t[22]!==k||t[23]!==j||t[24]!==L||t[25]!==te||t[26]!==z?(V={containerRef:T,text:j,streaming:k,cacheKey:B,syntaxVars:z,ctx:ae,reconcileMarkdownImageResources:L,onRichContentReady:te},t[20]=B,t[21]=ae,t[22]=k,t[23]=j,t[24]=L,t[25]=te,t[26]=z,t[27]=V):V=t[27],wi(V);let H;t[28]!==n||t[29]!==y?(H=ge(n,y),t[28]=n,t[29]=y,t[30]=H):H=t[30],Di(T,H,M&&!k);let U=!M||void 0,W;t[31]===s?W=t[32]:(W=b(`relative break-words w-full min-w-0`,s),t[31]=s,t[32]=W);let ce=M?`true`:`false`,ue=M?`ready`:`pending`,de;t[33]!==j||t[34]!==M||t[35]!==y?(de=!M&&(0,Q.jsx)(`div`,{className:b(Ti(y),`pointer-events-none absolute inset-0 overflow-clip`),children:(0,Q.jsx)(me,{content:j})}),t[33]=j,t[34]=M,t[35]=y,t[36]=de):de=t[36];let pe=!M||void 0,he;t[37]!==M||t[38]!==y?(he=b(Ti(y),!M&&`invisible`),t[37]=M,t[38]=y,t[39]=he):he=t[39];let _e;t[40]!==pe||t[41]!==he?(_e=(0,Q.jsx)(`div`,{"aria-hidden":pe,className:he,"data-markdown-content":!0}),t[40]=pe,t[41]=he,t[42]=_e):_e=t[42];let G;t[43]!==U||t[44]!==W||t[45]!==ce||t[46]!==ue||t[47]!==de||t[48]!==_e?(G=(0,Q.jsxs)(`div`,{"aria-busy":U,className:W,"data-markdown-ready":ce,"data-markdown-hydration":ue,ref:T,children:[de,_e]}),t[43]=U,t[44]=W,t[45]=ce,t[46]=ue,t[47]=de,t[48]=_e,t[49]=G):G=t[49];let ve=G;if(m){let e;return t[50]!==B||t[51]!==ve||t[52]!==h?(e=(0,Q.jsx)(se,{skipAnimation:h,children:ve},B),t[50]=B,t[51]=ve,t[52]=h,t[53]=e):e=t[53],e}return ve},(e,t)=>e.content===t.content&&e.isStreaming===t.isStreaming&&e.disableStreamAnimation===t.disableStreamAnimation&&e.variant===t.variant&&e.isAnimated===t.isAnimated&&e.skipFadeIn===t.skipFadeIn&&e.className===t.className&&e.messageId===t.messageId&&e.onShowPopup===t.onShowPopup&&e.enableFileReferences===t.enableFileReferences&&e.part?.id===t.part?.id),ki=K.memo(e=>{let t=(0,xe.c)(48),{content:n,className:r,variant:i,disableLinkSafety:a,stripFrontmatter:o,onShowPopup:s,mermaidControls:c,mermaidTheme:l,allowMermaidWheelEvents:u,enableFileReferences:d}=e,f=i===void 0?`assistant`:i,p=o!==void 0&&o,m=c===void 0?li:c,h=u!==void 0&&u,_=d===void 0||d,{editor:v,runtime:y}=re(),x=ai(),S=K.useRef(null),[C,w]=Ei(!1),T=oe()??``,E;t[0]!==n||t[1]!==p?(E=p?di(n):n,t[0]=n,t[1]=p,t[2]=E):E=t[2];let D=E,O;t[3]!==h||t[4]!==m.showPanZoomControls||t[5]!==s?(O={containerRef:S,onShowPopup:s,enableFullscreen:ui,enablePanZoom:m.showPanZoomControls,allowMermaidWheelEvents:h},t[3]=h,t[4]=m.showPanZoomControls,t[5]=s,t[6]=O):O=t[6],mi(O);let ee=g(Ni),k;t[7]!==v||t[8]!==T||t[9]!==_||t[10]!==s||t[11]!==y.isVSCode?(k={containerRef:S,effectiveDirectory:T,editor:v,preferRuntimeEditor:y.isVSCode,onShowPopup:s,enabled:_},t[7]=v,t[8]=T,t[9]=_,t[10]=s,t[11]=y.isVSCode,t[12]=k):k=t[12],pi(k);let A=!a,j;t[13]!==T||t[14]!==ee||t[15]!==A?(j={containerRef:S,enabled:A,effectiveDirectory:T,openInAppBrowser:ee},t[13]=T,t[14]=ee,t[15]=A,t[16]=j):j=t[16],oi(j);let M;t[17]!==T||t[18]!==s?(M={containerRef:S,effectiveDirectory:T,onShowPopup:s},t[17]=T,t[18]=s,t[19]=M):M=t[19];let{reconcileMarkdownImageResources:te,transportIdentity:ne}=ci(M),N;t[20]===x?N=t[21]:(N=fe(x),t[20]=x,t[21]=N);let P=N,F=Ci(l??x,!1,void 0,m,ne,T,!!s),I=`simple:${f}`,L;t[22]!==F||t[23]!==te||t[24]!==D||t[25]!==w||t[26]!==P||t[27]!==I?(L={containerRef:S,text:D,streaming:!1,cacheKey:I,syntaxVars:P,ctx:F,reconcileMarkdownImageResources:te,onRichContentReady:w},t[22]=F,t[23]=te,t[24]=D,t[25]=w,t[26]=P,t[27]=I,t[28]=L):L=t[28],wi(L);let ie=!C||void 0,R;t[29]===r?R=t[30]:(R=b(`relative break-words w-full min-w-0`,r),t[29]=r,t[30]=R);let z=C?`true`:`false`,ae=C?`ready`:`pending`,B;t[31]!==D||t[32]!==C||t[33]!==f?(B=!C&&(0,Q.jsx)(`div`,{className:b(Ti(f),`pointer-events-none absolute inset-0 overflow-clip`),children:(0,Q.jsx)(me,{content:D})}),t[31]=D,t[32]=C,t[33]=f,t[34]=B):B=t[34];let V=!C||void 0,H;t[35]!==C||t[36]!==f?(H=b(Ti(f),!C&&`invisible`),t[35]=C,t[36]=f,t[37]=H):H=t[37];let U;t[38]!==V||t[39]!==H?(U=(0,Q.jsx)(`div`,{"aria-hidden":V,className:H,"data-markdown-content":!0}),t[38]=V,t[39]=H,t[40]=U):U=t[40];let W;return t[41]!==ie||t[42]!==R||t[43]!==z||t[44]!==ae||t[45]!==B||t[46]!==U?(W=(0,Q.jsxs)(`div`,{"aria-busy":ie,className:R,"data-markdown-ready":z,"data-markdown-hydration":ae,ref:S,children:[B,U]}),t[41]=ie,t[42]=R,t[43]=z,t[44]=ae,t[45]=B,t[46]=U,t[47]=W):W=t[47],W},(e,t)=>{let n=e.mermaidControls??li,r=t.mermaidControls??li;return e.content===t.content&&e.variant===t.variant&&e.className===t.className&&e.disableLinkSafety===t.disableLinkSafety&&e.stripFrontmatter===t.stripFrontmatter&&e.onShowPopup===t.onShowPopup&&n.download===r.download&&n.copy===r.copy&&n.showPanZoomControls===r.showPanZoomControls&&e.mermaidTheme===t.mermaidTheme&&e.allowMermaidWheelEvents===t.allowMermaidWheelEvents&&e.enableFileReferences===t.enableFileReferences});function Ai(e){e.removeAttribute(`data-openchamber-file-link`),e.removeAttribute(`data-openchamber-file-ref`),e.removeAttribute(`data-openchamber-file-path`),e.removeAttribute(`data-openchamber-file-binary`),e.getAttribute(`title`)===`Open file`&&e.removeAttribute(`title`),e.tagName.toLowerCase()!==`a`&&(e.removeAttribute(`role`),e.removeAttribute(`tabindex`))}function ji(){}function Mi(e,t){f.getState().openContextBrowser(e,t)}function Ni(e,t){f.getState().openContextBrowser(e,t)}export{Zr as a,$r as c,Bn as d,Kn as f,Ye as h,Gr as i,ei as l,In as m,ii as n,ri as o,qn as p,Nr as r,Yr as s,Oi as t,zn as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e=new class{entries=[];listeners=new Set;previousOverflow=null;getSnapshot=()=>this.entries.at(-1)?.id??null;subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));add(e,t){return this.entries=[...this.entries.filter(t=>t.id!==e.id),e],this.entries.length===1&&t&&(this.previousOverflow=t.style.overflow,t.style.overflow=`hidden`),this.emit(),()=>this.remove(e.id,t)}remove(e,t){let n=this.entries.length;this.entries=this.entries.filter(t=>t.id!==e),n>0&&this.entries.length===0&&t&&this.previousOverflow!==null&&(t.style.overflow=this.previousOverflow,this.previousOverflow=null),this.emit()}closeTop(){this.entries.at(-1)?.onClose()}emit(){for(let e of this.listeners)e()}};export{e as t};
|