diff --git a/Resources/Localizable.xcstrings b/Resources/Localizable.xcstrings index 2fc5cd11de10..0cf1d306efe0 100644 --- a/Resources/Localizable.xcstrings +++ b/Resources/Localizable.xcstrings @@ -212710,6 +212710,57 @@ } } } + }, + "titlebar.home.accessibilityLabel": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Home" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ホーム" + } + } + } + }, + "titlebar.home.tooltip": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Show Home" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ホームを表示" + } + } + } + }, + "home.workspace.title": { + "extractionState": "manual", + "localizations": { + "en": { + "stringUnit": { + "state": "translated", + "value": "Home" + } + }, + "ja": { + "stringUnit": { + "state": "translated", + "value": "ホーム" + } + } + } } } } diff --git a/Resources/markdown-viewer/webviews-app/chunks/agentSessionSurface.mjs b/Resources/markdown-viewer/webviews-app/chunks/agentSessionSurface.mjs index 5ec667e582f0..c3204c689d73 100644 --- a/Resources/markdown-viewer/webviews-app/chunks/agentSessionSurface.mjs +++ b/Resources/markdown-viewer/webviews-app/chunks/agentSessionSurface.mjs @@ -1,4 +1,4 @@ -import{R as rt,i as b,b as Et,c as Ys,j as Pr,a as Gs}from"./vendor.mjs";import{m as lt,i as Xs,c as Qs}from"./installWebviewStyles.mjs";function ea(n){if(n.activityStatus==="stopped"||n.activityStatus==="failed")return"!";switch(n.activityKind){case"command":return"$";case"fileChange":return"+";default:return"*"}}const ta={isDark:null,pageBackground:"--agent-page-bg",surfaceBackground:"--agent-surface",surfaceElevatedBackground:"--agent-surface-elevated",inputBackground:"--agent-input-bg",border:"--agent-border",borderStrong:"--agent-border-strong",text:"--agent-text",mutedText:"--agent-muted",softText:"--agent-soft",accent:"--agent-accent",accentSoft:"--agent-accent-soft",danger:"--agent-danger",shadow:"--agent-shadow"};function Wn(n){if(typeof document>"u")return;const e=document.documentElement;e.dataset.theme=n.isDark?"dark":"light",jo(),e.classList.toggle("dark",n.isDark),e.classList.toggle("electron-dark",n.isDark),e.classList.toggle("light",!n.isDark),e.style.colorScheme=n.isDark?"dark":"light";for(const[t,r]of Object.entries(ta))r&&e.style.setProperty(r,String(n[t]))}function jo(){if(typeof document>"u")return;const n=document.documentElement;n.dataset.codexWindowType="electron",n.dataset.windowType="electron",n.dataset.codexOs=na(),document.body&&(document.body.dataset.codexWindowType="electron")}function na(){if(typeof navigator>"u")return"unknown";const n=navigator,e=(n.userAgentData?.platform??n.platform??n.userAgent).toLowerCase();return e.includes("win")?"win32":e.includes("mac")||e.includes("darwin")?"darwin":e.includes("linux")?"linux":"unknown"}const Hn=new Set;class Ko extends Error{code;constructor(e,t){super(e),this.name="NativeBridgeError",this.code=t}}typeof window<"u"&&(window.cmuxAgentBridge={applyTheme(n){Wn(n)},receive(n){n.type==="app.theme"&&Wn(n.theme);for(const e of Hn)e(n)}});function ra(n){return Hn.add(n),()=>{Hn.delete(n)}}async function qe(n,e={}){if(typeof window>"u")throw new Error("Native bridge is unavailable.");const t=window.webkit?.messageHandlers?.agentSession;if(!t||typeof t.postMessage!="function")throw new Error("Native bridge is unavailable.");const r=await t.postMessage({id:lt(),method:n,params:e});if(!r.ok)throw new Ko(r.error?.userMessage||"Native bridge request failed.",r.error?.code);return r.value}const ee="border-token-border user-select-none no-drag cursor-interaction flex items-center gap-1 border whitespace-nowrap focus:outline-none disabled:cursor-not-allowed disabled:opacity-40",te="text-token-text-tertiary enabled:hover:bg-token-list-hover-background data-[state=open]:bg-token-list-hover-background border-transparent",Oe="h-token-button-composer px-2 py-0 text-sm leading-[18px]",oa="h-token-button-composer-sm px-1.5 py-0 text-sm leading-[18px]",ln="electron:p-1 electron:[&>svg]:icon-sm flex items-center justify-center p-0.5",Kt="aspect-square items-center justify-center !px-0",ia="focus-visible:outline-token-button-background cursor-interaction size-token-button-composer flex items-center justify-center rounded-full p-0.5 transition-opacity focus-visible:outline-2 bg-token-foreground",sa="agent-composer-stack",aa="codex-composer-frame relative",la="codex-composer-inner relative z-10 flex min-h-0 flex-1 flex-col",ca="codex-composer-surface relative flex flex-col bg-token-input-background/90 backdrop-blur-lg extension:border extension:border-token-border/50 electron:ring electron:ring-black/10 electron:shadow-[0_4px_16px_0_rgba(0,0,0,0.05)] electron:dark:bg-token-dropdown-background",da="composer-footer grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2 px-2 py-1",ua="composer-footer grid grid-cols-[minmax(0,auto)_auto_minmax(0,1fr)] items-center gap-[5px] mb-2 px-2",Zo="M16.6182 9.33203H3.38184V12.7002C3.38184 13.3753 3.38238 13.8438 3.41211 14.208C3.44124 14.5646 3.49494 14.766 3.57129 14.916L3.63867 15.0361C3.80618 15.3094 4.04683 15.5324 4.33399 15.6787L4.45703 15.7314C4.59362 15.7803 4.77411 15.816 5.04199 15.8379C5.40624 15.8676 5.87469 15.8682 6.54981 15.8682H13.4502C14.1253 15.8682 14.5938 15.8676 14.958 15.8379C15.3146 15.8088 15.516 15.7551 15.666 15.6787L15.7861 15.6113C16.0594 15.4438 16.2824 15.2032 16.4287 14.916L16.4814 14.793C16.5303 14.6564 16.566 14.4759 16.5879 14.208C16.6176 13.8438 16.6182 13.3753 16.6182 12.7002V9.33203ZM17.8818 12.7002C17.8818 13.3547 17.8826 13.8838 17.8477 14.3115C17.8165 14.6922 17.7543 15.0349 17.6172 15.3545L17.5537 15.4902C17.3015 15.9852 16.9182 16.3996 16.4473 16.6885L16.2402 16.8037C15.8824 16.9861 15.4966 17.0621 15.0615 17.0977C14.6338 17.1326 14.1047 17.1318 13.4502 17.1318H6.54981C5.89526 17.1318 5.36616 17.1326 4.93848 17.0977C4.55777 17.0665 4.21506 17.0043 3.89551 16.8672L3.75977 16.8037C3.26483 16.5515 2.85036 16.1682 2.56152 15.6973L2.44629 15.4902C2.26394 15.1324 2.1879 14.7466 2.15235 14.3115C2.1174 13.8838 2.11817 13.3547 2.11817 12.7002V7.29981C2.11817 6.64526 2.1174 6.11616 2.15235 5.68848C2.1879 5.25344 2.26394 4.86765 2.44629 4.50977L2.56152 4.30274C2.85036 3.83179 3.26483 3.44854 3.75977 3.19629L3.89551 3.13281C4.21506 2.99571 4.55777 2.93346 4.93848 2.90235C5.36616 2.8674 5.89526 2.86817 6.54981 2.86817H7.24512C7.38876 2.86816 7.48717 2.86807 7.58399 2.87402L7.83496 2.90039C8.41501 2.98537 8.96006 3.23832 9.40039 3.63086L9.64356 3.86817C9.75546 3.98103 9.79343 4.0181 9.83008 4.05078L9.94238 4.14356C10.2142 4.34787 10.5413 4.46917 10.8828 4.49024L11.1445 4.49317H13.4502C14.1047 4.49317 14.6338 4.4924 15.0615 4.52735C15.4966 4.5629 15.8824 4.63894 16.2402 4.82129L16.4473 4.93652C16.9182 5.22536 17.3015 5.63983 17.5537 6.13477L17.6172 6.27051C17.7543 6.59006 17.8165 6.93277 17.8477 7.31348C17.8826 7.74116 17.8818 8.27026 17.8818 8.92481V12.7002ZM3.38184 8.06836H16.6143C16.6105 7.81516 16.603 7.60256 16.5879 7.41699C16.566 7.14911 16.5303 6.96862 16.4814 6.83203L16.4287 6.70899C16.2824 6.42183 16.0594 6.18118 15.7861 6.01367L15.666 5.94629C15.516 5.86994 15.3146 5.81624 14.958 5.78711C14.5938 5.75738 14.1253 5.75684 13.4502 5.75684H11.1445L10.8047 5.75098C10.2158 5.71466 9.65236 5.50645 9.1836 5.1543L8.98926 4.99414C8.91673 4.92948 8.84746 4.85908 8.7461 4.75684L8.55957 4.57422C8.30416 4.34653 7.98784 4.19959 7.65137 4.15039L7.50684 4.13477C7.45779 4.13174 7.4043 4.13184 7.24512 4.13184H6.54981C5.87469 4.13184 5.40624 4.13238 5.04199 4.16211C4.77411 4.184 4.59362 4.21966 4.45703 4.26856L4.33399 4.32129C4.04683 4.4676 3.80618 4.69061 3.63867 4.96387L3.57129 5.08399C3.49494 5.23405 3.44124 5.43543 3.41211 5.79199C3.38238 6.15624 3.38184 6.62469 3.38184 7.29981V8.06836Z",pa=32;function fa(n){return n.hasVisibleAttachments||n.isEditorMultiline||n.isVoiceLayoutActive?!1:n.singleLineInputWidth==null?!0:n.singleLineTextWidth+pa<=n.singleLineInputWidth}function Yo(n){const e={};for(const t of n)e[t.id]={hideControl:!1,hideLabel:!1};return e}function ha(n){const e=n.items.filter(s=>s.enabled),t=Yo(n.items);if(e.length===0||n.availableWidth<=0)return t;const r=e.reduce((s,a)=>s+a.expandedWidth,0)+n.gap*Math.max(0,e.length-1);if(r<=0)return t;let o=r;for(const s of e)!s.canHideLabel||n.availableWidth>=o||(t[s.id].hideLabel=!0,o-=s.expandedWidth-s.compactWidth);if(ga(t,n.previousState,"hideLabel"))return t;let i=e.length;for(const s of e){const a=t[s.id],l=a.hideLabel?s.compactWidth:s.expandedWidth;(a.hideLabel&&!s.hasMeasuredCompactWidth||n.availableWidth1?n.gap:0),i-=1)}return t}function ma(n,e){const t=Object.keys(n),r=Object.keys(e);if(t.length!==r.length)return!1;for(const o of t)if(n[o]?.hideControl!==e[o]?.hideControl||n[o]?.hideLabel!==e[o]?.hideLabel)return!1;return!0}function ga(n,e,t){const r=Object.keys(n);return r.length!==Object.keys(e).length?!0:r.some(o=>n[o]?.[t]!==e[o]?.[t])}const xa=new Set(["base","embed","form","iframe","link","meta","object","script","style"]),ba=new Set(["poster","src","srcset","xlink:href"]);function ya(n){const e=typeof window>"u"?void 0:window.marked;if(e?.parse)try{const t=e.parse(ka(n),{async:!1,breaks:!0,gfm:!0});if(typeof t=="string")return Ma(t)}catch{return Be(n)}return Be(n)}function ka(n){let e="",t=null;const r=n.match(/[^\r\n]*(?:\r\n|\n|\r|$)/g)??[];for(const o of r){if(o==="")continue;const i=o.match(/(\r\n|\n|\r)$/)?.[0]??"",s=i?o.slice(0,-i.length):o;if(t){e+=s+i,Ca(s,t)&&(t=null);continue}const a=va(s);if(a){t=a,e+=s+i;continue}e+=Sa(s)+i}return e}function Be(n){return wa(n).replace(/\n/g,"
")}function wa(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function va(n){const e=/^( {0,3})(`{3,}|~{3,})/.exec(n);if(!e)return null;const t=e[2];return{character:t[0],length:t.length}}function Ca(n,e){const t=/^( {0,3})(`{3,}|~{3,})\s*$/.exec(n);if(!t)return!1;const r=t[2];return r[0]===e.character&&r.length>=e.length}function Sa(n){let e="",t=0,r=0;for(;r"u")return n;const e=document.createElement("template");e.innerHTML=n;for(const t of Array.from(e.content.querySelectorAll("*"))){if(xa.has(t.localName)){t.remove();continue}for(const r of Array.from(t.attributes)){const o=r.name.toLowerCase();if(o.startsWith("on")||o==="srcdoc"||o==="style"){t.removeAttribute(r.name);continue}const i=Na(t.localName,o,r.value);i===null?t.removeAttribute(r.name):typeof i=="string"&&i!==r.value&&t.setAttribute(r.name,i)}t.localName==="a"&&t.setAttribute("rel","noreferrer")}return e.innerHTML}function Na(n,e,t){const r=e.toLowerCase();if(ba.has(r))return null;if(r==="href")return n.toLowerCase()!=="a"?null:Oa(t)?t:null}function Oa(n){const e=n.trim();if(e.startsWith("#"))return!0;if(e.startsWith("/")||!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e))return!1;try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"||t.protocol==="mailto:"}catch{return!1}}function Go(n){return n.replace(/([\\[\]])/g,"\\$1")}function Xo(n){return encodeURI(n).replace(/([\\()])/g,"\\$1")}function Ta(n,e){const t=e.map(r=>`[${Go(r.label)}](${Xo(r.path)})`).join(" ");return t?n.trim().length>0?`${t} +import{R as rt,i as b,b as Et,c as Ys,j as Pr,a as Gs}from"./vendor.mjs";import{m as lt,c as Xs}from"./router.mjs";import{i as Qs}from"./installWebviewStyles.mjs";function ea(n){if(n.activityStatus==="stopped"||n.activityStatus==="failed")return"!";switch(n.activityKind){case"command":return"$";case"fileChange":return"+";default:return"*"}}const ta={isDark:null,pageBackground:"--agent-page-bg",surfaceBackground:"--agent-surface",surfaceElevatedBackground:"--agent-surface-elevated",inputBackground:"--agent-input-bg",border:"--agent-border",borderStrong:"--agent-border-strong",text:"--agent-text",mutedText:"--agent-muted",softText:"--agent-soft",accent:"--agent-accent",accentSoft:"--agent-accent-soft",danger:"--agent-danger",shadow:"--agent-shadow"};function Wn(n){if(typeof document>"u")return;const e=document.documentElement;e.dataset.theme=n.isDark?"dark":"light",jo(),e.classList.toggle("dark",n.isDark),e.classList.toggle("electron-dark",n.isDark),e.classList.toggle("light",!n.isDark),e.style.colorScheme=n.isDark?"dark":"light";for(const[t,r]of Object.entries(ta))r&&e.style.setProperty(r,String(n[t]))}function jo(){if(typeof document>"u")return;const n=document.documentElement;n.dataset.codexWindowType="electron",n.dataset.windowType="electron",n.dataset.codexOs=na(),document.body&&(document.body.dataset.codexWindowType="electron")}function na(){if(typeof navigator>"u")return"unknown";const n=navigator,e=(n.userAgentData?.platform??n.platform??n.userAgent).toLowerCase();return e.includes("win")?"win32":e.includes("mac")||e.includes("darwin")?"darwin":e.includes("linux")?"linux":"unknown"}const Hn=new Set;class Ko extends Error{code;constructor(e,t){super(e),this.name="NativeBridgeError",this.code=t}}typeof window<"u"&&(window.cmuxAgentBridge={applyTheme(n){Wn(n)},receive(n){n.type==="app.theme"&&Wn(n.theme);for(const e of Hn)e(n)}});function ra(n){return Hn.add(n),()=>{Hn.delete(n)}}async function qe(n,e={}){if(typeof window>"u")throw new Error("Native bridge is unavailable.");const t=window.webkit?.messageHandlers?.agentSession;if(!t||typeof t.postMessage!="function")throw new Error("Native bridge is unavailable.");const r=await t.postMessage({id:lt(),method:n,params:e});if(!r.ok)throw new Ko(r.error?.userMessage||"Native bridge request failed.",r.error?.code);return r.value}const ee="border-token-border user-select-none no-drag cursor-interaction flex items-center gap-1 border whitespace-nowrap focus:outline-none disabled:cursor-not-allowed disabled:opacity-40",te="text-token-text-tertiary enabled:hover:bg-token-list-hover-background data-[state=open]:bg-token-list-hover-background border-transparent",Oe="h-token-button-composer px-2 py-0 text-sm leading-[18px]",oa="h-token-button-composer-sm px-1.5 py-0 text-sm leading-[18px]",ln="electron:p-1 electron:[&>svg]:icon-sm flex items-center justify-center p-0.5",Kt="aspect-square items-center justify-center !px-0",ia="focus-visible:outline-token-button-background cursor-interaction size-token-button-composer flex items-center justify-center rounded-full p-0.5 transition-opacity focus-visible:outline-2 bg-token-foreground",sa="agent-composer-stack",aa="codex-composer-frame relative",la="codex-composer-inner relative z-10 flex min-h-0 flex-1 flex-col",ca="codex-composer-surface relative flex flex-col bg-token-input-background/90 backdrop-blur-lg extension:border extension:border-token-border/50 electron:ring electron:ring-black/10 electron:shadow-[0_4px_16px_0_rgba(0,0,0,0.05)] electron:dark:bg-token-dropdown-background",da="composer-footer grid grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2 px-2 py-1",ua="composer-footer grid grid-cols-[minmax(0,auto)_auto_minmax(0,1fr)] items-center gap-[5px] mb-2 px-2",Zo="M16.6182 9.33203H3.38184V12.7002C3.38184 13.3753 3.38238 13.8438 3.41211 14.208C3.44124 14.5646 3.49494 14.766 3.57129 14.916L3.63867 15.0361C3.80618 15.3094 4.04683 15.5324 4.33399 15.6787L4.45703 15.7314C4.59362 15.7803 4.77411 15.816 5.04199 15.8379C5.40624 15.8676 5.87469 15.8682 6.54981 15.8682H13.4502C14.1253 15.8682 14.5938 15.8676 14.958 15.8379C15.3146 15.8088 15.516 15.7551 15.666 15.6787L15.7861 15.6113C16.0594 15.4438 16.2824 15.2032 16.4287 14.916L16.4814 14.793C16.5303 14.6564 16.566 14.4759 16.5879 14.208C16.6176 13.8438 16.6182 13.3753 16.6182 12.7002V9.33203ZM17.8818 12.7002C17.8818 13.3547 17.8826 13.8838 17.8477 14.3115C17.8165 14.6922 17.7543 15.0349 17.6172 15.3545L17.5537 15.4902C17.3015 15.9852 16.9182 16.3996 16.4473 16.6885L16.2402 16.8037C15.8824 16.9861 15.4966 17.0621 15.0615 17.0977C14.6338 17.1326 14.1047 17.1318 13.4502 17.1318H6.54981C5.89526 17.1318 5.36616 17.1326 4.93848 17.0977C4.55777 17.0665 4.21506 17.0043 3.89551 16.8672L3.75977 16.8037C3.26483 16.5515 2.85036 16.1682 2.56152 15.6973L2.44629 15.4902C2.26394 15.1324 2.1879 14.7466 2.15235 14.3115C2.1174 13.8838 2.11817 13.3547 2.11817 12.7002V7.29981C2.11817 6.64526 2.1174 6.11616 2.15235 5.68848C2.1879 5.25344 2.26394 4.86765 2.44629 4.50977L2.56152 4.30274C2.85036 3.83179 3.26483 3.44854 3.75977 3.19629L3.89551 3.13281C4.21506 2.99571 4.55777 2.93346 4.93848 2.90235C5.36616 2.8674 5.89526 2.86817 6.54981 2.86817H7.24512C7.38876 2.86816 7.48717 2.86807 7.58399 2.87402L7.83496 2.90039C8.41501 2.98537 8.96006 3.23832 9.40039 3.63086L9.64356 3.86817C9.75546 3.98103 9.79343 4.0181 9.83008 4.05078L9.94238 4.14356C10.2142 4.34787 10.5413 4.46917 10.8828 4.49024L11.1445 4.49317H13.4502C14.1047 4.49317 14.6338 4.4924 15.0615 4.52735C15.4966 4.5629 15.8824 4.63894 16.2402 4.82129L16.4473 4.93652C16.9182 5.22536 17.3015 5.63983 17.5537 6.13477L17.6172 6.27051C17.7543 6.59006 17.8165 6.93277 17.8477 7.31348C17.8826 7.74116 17.8818 8.27026 17.8818 8.92481V12.7002ZM3.38184 8.06836H16.6143C16.6105 7.81516 16.603 7.60256 16.5879 7.41699C16.566 7.14911 16.5303 6.96862 16.4814 6.83203L16.4287 6.70899C16.2824 6.42183 16.0594 6.18118 15.7861 6.01367L15.666 5.94629C15.516 5.86994 15.3146 5.81624 14.958 5.78711C14.5938 5.75738 14.1253 5.75684 13.4502 5.75684H11.1445L10.8047 5.75098C10.2158 5.71466 9.65236 5.50645 9.1836 5.1543L8.98926 4.99414C8.91673 4.92948 8.84746 4.85908 8.7461 4.75684L8.55957 4.57422C8.30416 4.34653 7.98784 4.19959 7.65137 4.15039L7.50684 4.13477C7.45779 4.13174 7.4043 4.13184 7.24512 4.13184H6.54981C5.87469 4.13184 5.40624 4.13238 5.04199 4.16211C4.77411 4.184 4.59362 4.21966 4.45703 4.26856L4.33399 4.32129C4.04683 4.4676 3.80618 4.69061 3.63867 4.96387L3.57129 5.08399C3.49494 5.23405 3.44124 5.43543 3.41211 5.79199C3.38238 6.15624 3.38184 6.62469 3.38184 7.29981V8.06836Z",pa=32;function fa(n){return n.hasVisibleAttachments||n.isEditorMultiline||n.isVoiceLayoutActive?!1:n.singleLineInputWidth==null?!0:n.singleLineTextWidth+pa<=n.singleLineInputWidth}function Yo(n){const e={};for(const t of n)e[t.id]={hideControl:!1,hideLabel:!1};return e}function ha(n){const e=n.items.filter(s=>s.enabled),t=Yo(n.items);if(e.length===0||n.availableWidth<=0)return t;const r=e.reduce((s,a)=>s+a.expandedWidth,0)+n.gap*Math.max(0,e.length-1);if(r<=0)return t;let o=r;for(const s of e)!s.canHideLabel||n.availableWidth>=o||(t[s.id].hideLabel=!0,o-=s.expandedWidth-s.compactWidth);if(ga(t,n.previousState,"hideLabel"))return t;let i=e.length;for(const s of e){const a=t[s.id],l=a.hideLabel?s.compactWidth:s.expandedWidth;(a.hideLabel&&!s.hasMeasuredCompactWidth||n.availableWidth1?n.gap:0),i-=1)}return t}function ma(n,e){const t=Object.keys(n),r=Object.keys(e);if(t.length!==r.length)return!1;for(const o of t)if(n[o]?.hideControl!==e[o]?.hideControl||n[o]?.hideLabel!==e[o]?.hideLabel)return!1;return!0}function ga(n,e,t){const r=Object.keys(n);return r.length!==Object.keys(e).length?!0:r.some(o=>n[o]?.[t]!==e[o]?.[t])}const xa=new Set(["base","embed","form","iframe","link","meta","object","script","style"]),ba=new Set(["poster","src","srcset","xlink:href"]);function ya(n){const e=typeof window>"u"?void 0:window.marked;if(e?.parse)try{const t=e.parse(ka(n),{async:!1,breaks:!0,gfm:!0});if(typeof t=="string")return Ma(t)}catch{return Be(n)}return Be(n)}function ka(n){let e="",t=null;const r=n.match(/[^\r\n]*(?:\r\n|\n|\r|$)/g)??[];for(const o of r){if(o==="")continue;const i=o.match(/(\r\n|\n|\r)$/)?.[0]??"",s=i?o.slice(0,-i.length):o;if(t){e+=s+i,Ca(s,t)&&(t=null);continue}const a=va(s);if(a){t=a,e+=s+i;continue}e+=Sa(s)+i}return e}function Be(n){return wa(n).replace(/\n/g,"
")}function wa(n){return n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function va(n){const e=/^( {0,3})(`{3,}|~{3,})/.exec(n);if(!e)return null;const t=e[2];return{character:t[0],length:t.length}}function Ca(n,e){const t=/^( {0,3})(`{3,}|~{3,})\s*$/.exec(n);if(!t)return!1;const r=t[2];return r[0]===e.character&&r.length>=e.length}function Sa(n){let e="",t=0,r=0;for(;r"u")return n;const e=document.createElement("template");e.innerHTML=n;for(const t of Array.from(e.content.querySelectorAll("*"))){if(xa.has(t.localName)){t.remove();continue}for(const r of Array.from(t.attributes)){const o=r.name.toLowerCase();if(o.startsWith("on")||o==="srcdoc"||o==="style"){t.removeAttribute(r.name);continue}const i=Na(t.localName,o,r.value);i===null?t.removeAttribute(r.name):typeof i=="string"&&i!==r.value&&t.setAttribute(r.name,i)}t.localName==="a"&&t.setAttribute("rel","noreferrer")}return e.innerHTML}function Na(n,e,t){const r=e.toLowerCase();if(ba.has(r))return null;if(r==="href")return n.toLowerCase()!=="a"?null:Oa(t)?t:null}function Oa(n){const e=n.trim();if(e.startsWith("#"))return!0;if(e.startsWith("/")||!/^[a-zA-Z][a-zA-Z0-9+.-]*:/.test(e))return!1;try{const t=new URL(e);return t.protocol==="http:"||t.protocol==="https:"||t.protocol==="mailto:"}catch{return!1}}function Go(n){return n.replace(/([\\[\]])/g,"\\$1")}function Xo(n){return encodeURI(n).replace(/([\\()])/g,"\\$1")}function Ta(n,e){const t=e.map(r=>`[${Go(r.label)}](${Xo(r.path)})`).join(" ");return t?n.trim().length>0?`${t} ${n}`:t:n}function $t(n){switch(n.kind){case"at":return Sn(n.label??n.name,n.path);case"agent":return Sn(`@${n.displayName||n.name}`,n.path);case"skill":return Sn(`$${n.name}`,n.path)}}function Da(n,e,t){if(!t||e==null)return n;const r=$t(e);return n.includes(r)||n.includes(e.path)?n:n.trim().length>0?`${r} @@ -39,4 +39,4 @@ ${Fr}`:Fr}function Aa(n){return n.includes("skill://plan")||/(?:^|\s)\$plan(?:\s `),i=/(^|\s)([@$][^\s@$]*)$/.exec(o);if(!i)return null;const s=i[2]??"",a=s.charAt(0),l=s.slice(1);return{anchorPos:t-s.length,kind:a==="$"?"skill":"mention",query:l}}function cu(n){return n==="ArrowDown"||n==="ArrowUp"||n==="Enter"||n==="Tab"||n==="Escape"}function Vn({dataAttributes:n,icon:e,iconNode:t,text:r,title:o}){const i=document.createElement("span");i.className="prompt-editor-mention group/inline-mention cursor-pointer inline-mention-brand-aware font-medium px-0.5 cursor-interaction",o&&(i.title=o);for(const[a,l]of Object.entries(n))i.setAttribute(a,l);if(e||t){const a=document.createElement("span");if(a.className="prompt-editor-mention-icon relative mr-[3px] inline-block h-[1lh] w-4 align-bottom",t)a.append(t);else if(e){const l=document.createElement("span");l.className="icon-xs absolute top-1/2 -translate-y-1/2",l.textContent=e,a.append(l)}i.append(a)}const s=document.createElement("span");return s.className="min-w-0 break-words",s.textContent=r,i.append(s),i}function du(){const n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("class","icon-xs absolute top-1/2 -translate-y-1/2"),n.setAttribute("width","20"),n.setAttribute("height","20"),n.setAttribute("viewBox","0 0 20 20"),n.setAttribute("fill","none"),n.setAttribute("aria-hidden","true");const e=document.createElementNS("http://www.w3.org/2000/svg","path");return e.setAttribute("d",Zo),e.setAttribute("fill","currentColor"),n.append(e),n}const f=rt.createElement,uu=20,pu={background:"linear-gradient(to bottom, var(--color-token-editor-background), transparent)"},fu={background:"linear-gradient(to top, var(--color-token-editor-background), transparent)"};function hu(n,e){"use no memo";const[t,r]=b.useState(null),[o,i]=b.useState(0),[s,a]=b.useState(null),l=b.useRef(null),c=b.useCallback(d=>{a(d)},[]);return b.useLayoutEffect(()=>{const d=s;if(!d)return;const u=()=>r(d.getBoundingClientRect().width);if(u(),typeof ResizeObserver>"u")return;const p=new ResizeObserver(u);return p.observe(d),()=>p.disconnect()},[s]),b.useLayoutEffect(()=>{const d=l.current;d&&i(d.getBoundingClientRect().width)},[n]),{inputMeasureRef:c,isSingleLine:fa({hasVisibleAttachments:e,isEditorMultiline:n.includes(` `),isVoiceLayoutActive:!1,singleLineInputWidth:t,singleLineTextWidth:o}),textMeasureRef:l}}function mu(n){"use no memo";const[e,t]=b.useState(()=>Yo(n)),r=b.useRef(null),o=b.useRef(new Map),i=b.useRef(new Map),s=b.useRef(new Map),a=b.useRef(n),l=b.useRef(e);a.current=n,l.current=e;const c=b.useCallback(()=>{const p=r.current;if(!p)return;const h=a.current.map(g=>{const k=(o.current.get(g.id)??null)?.offsetWidth??0;k>0&&(l.current[g.id]?.hideLabel===!0?s.current.set(g.id,k):i.current.set(g.id,k));const T=i.current.get(g.id)??s.current.get(g.id)??k,N=s.current.get(g.id),F=g.canHideLabel?Math.min(T,N??T):T;return{...g,compactWidth:F,expandedWidth:T,hasMeasuredCompactWidth:N!=null}}),m=ha({availableWidth:p.getBoundingClientRect().width,gap:$o(window.getComputedStyle(p).columnGap)??$o(window.getComputedStyle(p).gap)??0,items:h,previousState:l.current});ma(m,l.current)||t(m)},[]),d=b.useCallback(p=>{r.current=p,p&&c()},[c]),u=b.useCallback((p,h)=>{h?(o.current.set(p,h),c()):o.current.delete(p)},[c]);return b.useLayoutEffect(()=>{c()},[c,n,e]),b.useLayoutEffect(()=>{if(typeof ResizeObserver>"u")return;const p=new ResizeObserver(c);r.current&&p.observe(r.current);for(const h of o.current.values())p.observe(h);return()=>p.disconnect()},[c,n,e]),{state:e,setContainerRef:d,setItemRef:u}}function $o(n){const e=Number.parseFloat(n);return Number.isFinite(e)?e:null}function gu(n){const e=Et.c(3);let t,r;e[0]!==n?(t=()=>{_a(n)},r=[n],e[0]=n,e[1]=t,e[2]=r):(t=e[1],r=e[2]),b.useEffect(t,r)}function xu(n){const e=Et.c(3);let t,r;e[0]!==n?(t=()=>ra(o=>n({type:"event",event:o})),r=[n],e[0]=n,e[1]=t,e[2]=r):(t=e[1],r=e[2]),b.useEffect(t,r)}function bu(n,e){const t=Et.c(4);let r,o;t[0]!==e||t[1]!==n?(r=()=>{Ha(n,e)},o=[n,e],t[0]=e,t[1]=n,t[2]=r,t[3]=o):(r=t[2],o=t[3]),b.useEffect(r,o)}function yu(){const n=Et.c(3);let e;n[0]===Symbol.for("react.memo_cache_sentinel")?(e=Ba(),n[0]=e):e=n[0];const[t,r]=b.useReducer(Va,e);gu(r),xu(r),bu(t,r);let o;return n[1]!==t?(o=f(ku,{state:t,dispatch:r,renderer:"React"}),n[1]=t,n[2]=o):o=n[2],o}function ku({state:n,dispatch:e,renderer:t}){"use no memo";const r=n.providers.find(v=>v.id===n.selectedProviderId),o=ar(n),i=sr(n),s=Ka(n),[a,l]=b.useState([]),c=n.status==="running"&&(n.input.length>0||a.length>0),d=r?n.autoStartAttemptedProviderIds.includes(r.id):!1,u=i&&(r?.autoStart!==!0||d),p=r?.id==="codex",h=Ra(r),m=r?.id==="codex"?n.context?.copy.reasoningEffortHigh??"High":null,[g,x]=b.useState("default"),[k,T]=b.useState(null),N=Zu(n),F=k??N!=null,X=N!=null&&F,$=hu(n.input,a.length>0),S=$.isSingleLine,A=mu([{canHideLabel:m!=null,enabled:r!=null,id:"intelligence"},{canHideLabel:!0,enabled:X,id:"ide-context"}]),C=S?{hideControl:!1,hideLabel:!1}:A.state.intelligence??{hideControl:!1,hideLabel:!1},O=S?{hideControl:!1,hideLabel:!1}:A.state["ide-context"]??{hideControl:!1,hideLabel:!1},L=b.useRef(null),[I,B]=b.useState(null),[dt,pe]=b.useState(""),[As,xe]=b.useState(0),[yn,ce]=b.useState(!1),[Rs,fe]=b.useState(!1),[Mr,Nr]=b.useState(!1),[ut,Pt]=b.useState(!1),[Is,Or]=b.useState(!1),[Ls,be]=b.useState(!1),Ce=I?Cr(I,n,dt):[],kn=Ce.length===0?-1:Math.min(As,Ce.length-1),wn=()=>{const v=L.current?.getText()??n.input;if(!(n.status==="running"&&(v.length>0||a.length>0)))return;v!==n.input&&e({type:"setInput",input:v}),B(null),pe(""),ce(!1),fe(!1),be(!1);const pt=Da(Ea(v,ut),N?.mention??null,F),V=Ta(pt,a),vn=new Set(a.map(Cn=>Cn.id));Ja(n,e,{attachments:a,clearInput:v,displayText:v,permissionMode:p?g:"default",text:V}).then(Cn=>{Cn&&l(Ks=>Ks.filter(Zs=>!vn.has(Zs.id)))})},Tr=v=>{L.current?.insertMention(v.mention),B(null),pe(""),xe(0),fe(!1)},Dr=()=>{Pt(v=>!v),fe(!1),be(!1),ce(!1),B(null),L.current?.focus()},Ps=()=>{T(v=>!(v??N!=null)),fe(!1),be(!1),ce(!1),B(null),L.current?.focus()},zs=()=>{T(!1),fe(!1),be(!1),ce(!1),B(null),L.current?.focus()},Fs=()=>{Pt(!0),Or(!0),fe(!1),be(!1),ce(!1),B(null),L.current?.focus()},Bs=async()=>{if(Mr)return;const v=n.runningSessionId;Nr(!0),B(null),pe(""),xe(0),fe(!1),be(!1);try{const pt=((await qe("app.pickFiles")).files??[]).filter(V=>V.path.trim().length>0).map(V=>{const vn=V.label&&V.label.trim().length>0?V.label:jt(V.path);return{dataUrl:V.dataUrl,fsPath:V.fsPath??V.path,id:`${V.path}-${Date.now()}-${Math.random().toString(36).slice(2)}`,kind:V.isImage||V.dataUrl?.startsWith("data:image/")?"image":"file",label:vn,mimeType:V.mimeType,path:V.path}});l(V=>ap([...V,...pt])),L.current?.focus()}catch(W){v||e({type:"failed",message:At(W,n)})}finally{Nr(!1)}},Vs=v=>{if(!v){B(null),pe(""),xe(0);return}B(v.kind),pe(v.query),xe(0)},_s=v=>{if(!I)return!1;if(v==="Escape")return B(null),pe(""),xe(0),!0;if(Ce.length===0)return v==="Enter"||v==="Tab";if(v==="ArrowDown")return xe(W=>(W+1)%Ce.length),!0;if(v==="ArrowUp")return xe(W=>(W-1+Ce.length)%Ce.length),!0;if(v==="Enter"||v==="Tab"){const W=Ce[kn>=0?kn:0];return W&&Tr(W),!0}return!1},$s=v=>{qa(v,n,e),ce(!1)},Ws=C.hideControl?null:f("div",{className:"model-picker-root relative min-w-0",ref:v=>A.setItemRef("intelligence",v),onBlur:v=>{v.currentTarget.contains(v.relatedTarget)||ce(!1)}},f("button",{className:`model-picker ${ee} ${te} ${Oe} min-w-0 rounded-full`,type:"button",disabled:!o,"aria-haspopup":"menu","aria-expanded":yn,"data-state":yn?"open":"closed","data-codex-intelligence-trigger":!0,"data-selected-reasoning-effort":"high",onClick:()=>{o&&(fe(!1),be(!1),ce(v=>!v))},onKeyDown:v=>{v.key==="ArrowDown"&&(v.preventDefault(),ce(o))}},C.hideLabel?up("icon-2xs"):f("span",{className:"model-picker-content flex max-w-40 min-w-0 items-center gap-1.5"},f("span",{className:"model-display flex min-w-0 items-center gap-1 tabular-nums"},f("span",{className:"model-label truncate whitespace-nowrap text-token-foreground"},h)),m?f("span",{className:"composer-footer__label--sm shrink-0 text-token-description-foreground"},m):null),f("span",{className:"model-chevron composer-footer__secondary-chevron icon-2xs text-token-input-placeholder-foreground","aria-hidden":!0},gn())),yn?f("div",{className:"provider-dropdown _content_1hiti_1 no-drag bg-token-dropdown-background/90 text-token-foreground ring-token-border z-50 m-px flex select-none flex-col overflow-y-auto rounded-xl ring-[0.5px] px-1 py-1 shadow-xl-spread backdrop-blur-sm w-52",role:"menu","aria-label":n.context?.copy.provider??"","data-state":"open","data-side":"top",style:{"--radix-dropdown-menu-content-transform-origin":"left bottom"}},f("div",{className:"provider-dropdown-title"},n.context?.copy.provider??"Provider"),n.providers.map(v=>f("button",{key:v.id,className:"provider-dropdown-item no-drag group hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",type:"button",role:"menuitem","data-selected":v.id===n.selectedProviderId?"true":void 0,onMouseDown:W=>W.preventDefault(),onClick:()=>$s(v.id)},f("span",{className:"provider-dropdown-item-content flex w-full items-center gap-1.5"},f("span",{className:"min-w-0 flex-1 truncate"},v.displayName),v.id===n.selectedProviderId?f("span",{className:"provider-dropdown-check icon-xs shrink-0","aria-hidden":!0},Ze()):null)))):null),Hs=f(eu,{ref:L,className:S?"text-base":"text-base [&_.ProseMirror]:leading-5",minHeight:S?"1.25rem":"2.75rem",singleLine:S,value:n.input,ariaLabel:n.context?.copy.promptPlaceholder??"",placeholder:n.context?.copy.promptPlaceholder??"",onAutocompleteChange:Vs,onAutocompleteKeyDown:_s,onPlanModeShortcut:Dr,onTextChange:v=>e({type:"setInput",input:v}),onSubmit:wn,onTriggerToken:v=>{B(v==="@"?"mention":"skill"),pe(""),xe(0)}}),Er=(v=!1)=>p?f(qu,{copy:n.context?.copy,hideLabel:v,isEnabled:!0,isOpen:Ls,mode:g,onModeChange:x,onOpenChange:W=>{be(W),W&&(fe(!1),ce(!1),B(null))}}):null,Ar=f("div",{className:"codex-left-rail flex min-w-0 items-center gap-[5px]"},f(Uu,{hasIdeContext:N!=null,isAutoContextOn:F,isOpen:Rs,isPickingFiles:Mr,onOpenChange:v=>{fe(v),v&&(be(!1),ce(!1),B(null))},onPickFiles:()=>{Bs()},onToggleAutoContext:Ps,onTogglePlanMode:Dr,isPlanMode:ut,state:n}),S?null:Er(!1),!S&&ut?f(Wo,{icon:an("icon-xs"),label:n.context?.copy.skillPlan??"Plan",onClear:()=>Pt(!1)}):null),Rr=f("div",{className:"codex-secondary-controls flex min-w-0 items-center gap-1",ref:A.setContainerRef},Ws,X&&!O.hideControl?f("span",{className:"composer-context-indicator flex min-w-0 items-center gap-1",ref:v=>A.setItemRef("ide-context",v)},f("div",{className:"composer-context-divider h-4 w-px bg-token-border/70","aria-hidden":!0}),f(Hu,{hideLabel:O.hideLabel,label:n.context?.copy.ideContext??"IDE context",onClear:zs})):null),Ir=f("div",{className:"codex-action-cluster flex shrink-0 items-center gap-2"},u?f("button",{className:`codex-action codex-start ${ee} ${te} ${Oe} rounded-full`,type:"button",disabled:!i,onClick:()=>{$a(n,e)}},n.context?.copy.start??"Start"):null,s?f("button",{className:`codex-action codex-stop ${ee} ${te} ${Oe} ${Kt} rounded-full`,type:"button","aria-label":n.context?.copy.stop??"Stop",onClick:()=>{Ua(n,e)}},cp()):null,f("button",{className:`codex-action codex-mic ${ee} ${te} ${Oe} ${Kt} rounded-full`,type:"button",disabled:!0,"aria-label":n.context?.copy.voiceInput??""},dp()),f("button",{className:`codex-action send-button ${ia}${c?"":" cursor-default opacity-50"}`,type:"button",disabled:!c,"aria-label":n.context?.copy.send??"Send",onClick:wn},lp("icon-sm text-token-dropdown-background"))),qs=f("div",{className:"flex min-w-0 shrink-0 items-center justify-end gap-2"},Rr,Er(!0),S&&ut?f(Wo,{icon:an("icon-xs"),label:n.context?.copy.skillPlan??"Plan",onClear:()=>Pt(!1)}):null,Ir),Lr=f("div",{key:"composer-input",ref:$.inputMeasureRef,className:S?"min-w-0":"mb-1 flex-grow overflow-y-auto px-3"},Hs),Js=S?f("div",{className:da},Ar,Lr,qs):f("div",{className:"contents"},a.length>0?f("div",{className:"px-2 py-1.5"},f(zu,{attachments:a,copy:n.context?.copy,onRemove:v=>{l(W=>W.filter(pt=>pt.id!==v))}})):null,Lr,f("div",{className:ua},Ar,f("div",{className:"flex items-center"}),f("div",{className:"flex w-full min-w-0 items-center justify-end gap-2"},f("div",{className:"flex min-w-0 flex-1 justify-end"},Rr),f("div",{className:"flex shrink-0 items-center gap-2"},Ir)))),Us=f("div",{className:la},Js),js=!ut&&!Is&&/\bplan\b/i.test(n.input);return f("section",{className:"agent-shell","data-codex-window-type":"electron"},f(vu,{entries:n.transcript,copy:n.context?.copy}),f("div",{className:sa},f("div",{className:"relative flex w-full flex-col gap-2"},f("form",{className:"w-full min-w-0",onSubmit:v=>{v.preventDefault(),wn()}},f("div",{className:aa},f("span",{ref:$.textMeasureRef,className:"composer-single-line-measure text-size-chat pointer-events-none invisible absolute h-0 w-max max-w-none overflow-hidden whitespace-pre","aria-hidden":!0},n.input),js?f(wu,{copy:n.context?.copy,onAction:Fs,onDismiss:()=>Or(!0)}):null,I?f(Wu,{emptyLabel:n.context?.copy?.composerNoResults??"No results",highlightedIndex:kn,items:Ce,onChoose:Tr,onHighlight:xe,query:dt}):null,f("div",{className:ca+" "+(S?"overflow-visible rounded-full":"overflow-y-auto rounded-3xl")},Us)))),f(Bu,{state:n,providerDisplayName:r?.displayName??t})))}function wu({copy:n,onAction:e,onDismiss:t}){return f("div",{className:"above-composer-suggestion-shell pointer-events-none absolute inset-x-0 bottom-full z-20 mb-2 flex justify-center"},f("div",{className:"pointer-events-auto flex w-full max-w-full justify-center"},f("div",{className:"relative inline-flex max-w-full min-w-0 items-center justify-between gap-4 overflow-hidden rounded-3xl border border-token-border/80 bg-token-dropdown-background/90 py-1.5 pr-2 pl-3 text-token-foreground shadow-md backdrop-blur-sm","data-codex-above-composer-suggestion":"keyword-plan-mode"},f("div",{className:"flex min-w-0 flex-1 items-center gap-2"},f("span",{className:"flex items-center justify-center text-token-foreground","aria-hidden":!0},an("icon-xs shrink-0")),f("div",{className:"min-w-0 flex-1 flex items-center gap-2"},f("span",{className:"truncate text-sm font-medium leading-[18px] text-token-foreground"},n?.planSuggestionTitle??"Create a plan"),f("span",{className:"hidden leading-none text-sm text-token-description-foreground @[500px]:inline","aria-hidden":!0},f("span",{className:"pointer-events-none !h-auto rounded-md border border-token-border/80 px-1 py-0.5 text-xs !leading-none text-token-description-foreground"},n?.planSuggestionShortcut??"Shift + Tab")))),f("div",{className:"flex shrink-0 items-center gap-1"},f("button",{className:"user-select-none no-drag cursor-interaction flex h-8 items-center justify-center rounded-full border border-transparent bg-token-button-secondary-background px-2.5 text-sm text-token-button-secondary-foreground hover:bg-token-button-secondary-hover-background focus:outline-none",type:"button",onClick:r=>{r.stopPropagation(),e()}},n?.planSuggestionAction??"Use plan mode"),f("button",{className:"user-select-none no-drag flex size-[22px] shrink-0 cursor-interaction items-center justify-center rounded-full border border-transparent text-token-description-foreground hover:bg-token-list-hover-background focus:outline-none",type:"button","aria-label":n?.planSuggestionDismiss??"Dismiss suggestion",onClick:r=>{r.stopPropagation(),t()}},bn("icon-xs"))))))}const vu=rt.memo(function({entries:e,copy:t}){return f("div",{className:"agent-thread","data-empty":e.length===0?"true":void 0},e.map(r=>f(Cu,{copy:t,entry:r,key:r.id})))}),Cu=rt.memo(function({copy:e,entry:t}){switch(t.role){case"user":{const r=t.attachments??[],o=t.text.trim().length>0;return f("div",{className:"codex-user-turn group flex w-full flex-col items-end justify-end gap-1"},r.length>0?f(Lu,{attachments:r}):null,o?f("div",{className:"codex-user-bubble bg-token-foreground/5 max-w-[77%] min-w-0 overflow-hidden break-words rounded-2xl px-3 py-2 [&_.contain-inline-size]:[contain:initial]"},f(Ru,{copy:e,text:t.text})):null,o?f(Du,{copy:e,sentAtMs:t.sentAtMs,text:t.text}):null)}case"assistant":return t.isComplete===!1?f("div",{className:"codex-assistant-turn group flex min-w-0 flex-col"},f("div",{className:"codex-assistant-message codex-assistant-message-streaming text-size-chat leading-[calc(var(--codex-chat-font-size)+8px)]"},t.text)):f("div",{className:"codex-assistant-turn group flex min-w-0 flex-col"},f("div",{className:"codex-assistant-message text-size-chat leading-[calc(var(--codex-chat-font-size)+8px)] [&>*:last-child]:mb-0 [&>ol:first-child]:mt-0 [&>ul:first-child]:mt-0",dangerouslySetInnerHTML:{__html:ya(t.text)}}),t.text.trim().length>0?f(Eu,{copy:e,sentAtMs:t.sentAtMs,text:t.text}):null);case"notice":return f("div",{className:`codex-notice-turn ${t.tone??"warning"}`},f("div",{className:"codex-notice-content text-size-chat-sm",dangerouslySetInnerHTML:{__html:Be(t.text)}}));case"activity":return f(Su,{copy:e,entry:t})}});function Su({copy:n,entry:e}){"use no memo";const[t,r]=b.useState(!1),[o,i]=b.useState({bottom:!1,top:!1}),s=b.useRef(null),a=n?.copyOutput??"Copy output",l=n?.shellLabel??"",c=n?.copyShellContents??a,d=n?.copiedShellContents??c,u=n?.collapseShell??"",p=n?.shellSuccess??"",h=n?.stopped??"",m=n?.failedStatus??"",g=!!e.output,x=b.useCallback(()=>{r(C=>!C)},[]),k=b.useCallback(()=>{r(!1)},[]),T=b.useCallback(C=>{const O=C===null?{bottom:!1,top:!1}:{bottom:C.scrollTop+C.clientHeight1};i(L=>L.bottom===O.bottom&&L.top===O.top?L:O)},[]),N=b.useCallback(()=>{s.current?.mutation?.disconnect(),s.current?.resize?.disconnect(),s.current=null},[]),F=b.useCallback(C=>{if(N(),C===null){T(null);return}const O=()=>T(C);O();const L=typeof ResizeObserver>"u"?void 0:new ResizeObserver(O);L?.observe(C);const I=typeof MutationObserver>"u"?void 0:new MutationObserver(O);I?.observe(C,{characterData:!0,childList:!0,subtree:!0}),s.current={mutation:I,resize:L}},[N,T]),X=b.useCallback(C=>{T(C.currentTarget)},[T]),$=Nu(e),S=f(rt.Fragment,null,f("span",{className:"codex-tool-activity-icon icon-xs shrink-0","aria-hidden":!0},ea(e)),f("span",{className:"codex-tool-activity-text shrink overflow-hidden [mask-image:linear-gradient(to_right,black_calc(100%_-_0.25rem),transparent)] [mask-repeat:no-repeat] pr-1 group-hover/collapsed-tool-activity:text-token-foreground"},f("span",{className:"codex-tool-activity-action",dangerouslySetInnerHTML:{__html:Be(e.text)}}),e.detail?f("span",{className:"codex-tool-activity-detail",dangerouslySetInnerHTML:{__html:` ${Be(e.detail)}`}}):null)),A=g?f("button",{type:"button",className:"codex-tool-activity-summary group/collapsed-tool-activity group/summary inline-flex w-fit max-w-full cursor-interaction items-center gap-1 self-start text-left","aria-expanded":t,onClick:x},S,f("span",{className:`codex-tool-activity-chevron inline-chevron flex-shrink-0 text-token-input-placeholder-foreground opacity-0 group-hover/summary:opacity-100${t?" opacity-100":""}`},pp(`icon-2xs text-current transition-transform duration-300${t?" rotate-90":""}`))):f("div",{className:"codex-tool-activity-summary group/collapsed-tool-activity group/summary inline-flex w-fit max-w-full items-center gap-1 self-start text-left"},S);return f("div",{className:`codex-tool-activity-turn ${e.activityKind??"other"} ${e.activityStatus??"completed"}`},A,e.output?f("div",{"aria-hidden":!t,className:"codex-tool-activity-output-shell relative overflow-hidden","data-expanded":t?"true":"false"},f("div",{className:"codex-tool-activity-output-shell-inner"},f("div",{className:"codex-tool-activity-output-frame group/output relative pr-0 min-h-[1.25rem] flex flex-col overflow-clip rounded-lg border border-token-border"},f("div",{className:"codex-shell-header flex items-center justify-between bg-token-side-bar-background pl-2 text-sm font-medium text-ellipsis hover:bg-token-editor-background/40"},f("div",{className:"flex min-w-0 items-center"},f("span",{className:"truncate"},l)),f("div",{className:"flex items-center"},f(Ou,{copiedLabel:d,copyLabel:c,text:$}),f("button",{type:"button",className:`codex-shell-collapse ${ee} ${te} ${ln} rounded-full electron:rounded-md hover:bg-transparent hover:text-token-button-foreground`,"aria-label":u,title:u,onClick:k},gn("icon-2xs rotate-180")))),f("div",{className:"relative overflow-hidden"},f("div",{className:"codex-tool-activity-output vertical-scroll-fade-mask [--edge-fade-distance:2rem] box-border flex flex-col gap-1.5 overflow-x-auto overflow-y-auto whitespace-pre p-2 font-vscode-editor font-medium text-size-code-sm text-token-description-foreground max-h-[140px]",onScroll:X,ref:F,dangerouslySetInnerHTML:{__html:Be(e.output)}}),o.top?f("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 top-0 h-6",style:pu}):null,o.bottom?f("div",{"aria-hidden":!0,className:"pointer-events-none absolute inset-x-0 bottom-0 h-6",style:fu}):null),f(Mu,{failedLabel:m,status:e.activityStatus??"completed",stoppedLabel:h,successLabel:p}),f(Tu,{label:a,output:e.output})))):null)}function Mu({failedLabel:n,status:e,stoppedLabel:t,successLabel:r}){return e==="inProgress"?f("div",{className:"codex-shell-footer text-size-chat px-2.5 pt-0.5 pb-1"}):e==="stopped"?f("div",{className:"codex-shell-footer text-size-chat flex items-center gap-2 px-2.5 pt-0.5 pb-1 text-token-input-placeholder-foreground"},f("span",{className:"ml-auto"},t)):e==="failed"?f("div",{className:"codex-shell-footer text-size-chat flex items-center gap-2 px-2.5 pt-0.5 pb-1 text-token-input-placeholder-foreground"},f("span",{className:"ml-auto"},n)):f("div",{className:"codex-shell-footer text-size-chat flex items-center gap-2 px-2.5 pt-0.5 pb-1 text-token-input-placeholder-foreground"},f("span",{className:"ml-auto flex items-center gap-1"},Ze("icon-xxs"),r))}function Nu(n){const e=(n.detail??n.text).trim(),t=n.output?.trimEnd()??"";return[e,t].filter(r=>r.length>0).join(` -`)}function Ou({copiedLabel:n,copyLabel:e,text:t}){"use no memo";const[r,o]=b.useState(!1),i=b.useRef(null),s=r?n:e,a=b.useCallback(c=>{c!==null||i.current===null||(window.clearTimeout(i.current),i.current=null)},[]),l=b.useCallback(c=>{c.stopPropagation(),navigator.clipboard?.writeText(t)?.catch(()=>{}),o(!0),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{o(!1),i.current=null},2e3)},[t]);return f("button",{ref:a,type:"button",className:`codex-shell-copy ${ee} ${te} ${ln} rounded-full electron:rounded-md hover:bg-transparent hover:text-token-button-foreground`,"aria-label":s,title:s,onClick:l},r?Ze("icon-xxs"):xn("icon-xxs"))}function Tu({label:n,output:e}){"use no memo";const[t,r]=b.useState(!1),o=b.useRef(null),i=b.useCallback(a=>{a!==null||o.current===null||(window.clearTimeout(o.current),o.current=null)},[]),s=b.useCallback(a=>{a.stopPropagation(),navigator.clipboard?.writeText(e)?.catch(()=>{}),r(!0),o.current!==null&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{r(!1),o.current=null},2e3)},[e]);return f("button",{ref:i,type:"button",className:`codex-tool-output-copy ${ee} ${te} rounded-full electron:rounded-md electron:p-1 electron:[&>svg]:icon-sm flex items-center justify-center p-0.5 absolute top-0 right-2.5 opacity-0 transition-opacity duration-200 group-hover/output:opacity-100${t?" text-token-foreground opacity-100":""}`,"aria-label":n,title:n,onClick:s},t?Ze("icon-2xs"):xn("icon-2xs"))}function Du({copy:n,sentAtMs:e,text:t}){"use no memo";const[r,o]=b.useState(!1),i=b.useRef(null),s=n?.copyUserMessage??"",a=n?.copiedUserMessage??"",l=r?a:s,c=e==null?null:Os(e),d=b.useCallback(p=>{p!==null||i.current===null||(window.clearTimeout(i.current),i.current=null)},[]),u=b.useCallback(()=>{const p=t.trim();if(!p)return;navigator.clipboard?.writeText(p)?.catch(()=>{}),o(!0),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{o(!1),i.current=null},1500)},[t]);return f("div",{className:"codex-user-message-actions flex flex-row-reverse items-center gap-1"},f("div",{className:"mr-1 ms-1 flex items-center gap-2 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100"},c==null?null:f("span",{className:"text-xs text-token-text-tertiary"},c),f("button",{ref:d,type:"button",className:`codex-user-message-action-button ${ee} ${te} ${ln} rounded-full electron:rounded-md`,"aria-label":l,title:l,onClick:u},r?Ze("icon-xs"):xn("icon-xs"))))}function Eu({copy:n,sentAtMs:e,text:t}){"use no memo";const[r,o]=b.useState(!1),i=b.useRef(null),s=n?.copyAssistantMessage??"",a=n?.copiedAssistantMessage??s,l=r?a:s,c=e==null?null:Os(e),d=b.useCallback(p=>{p!==null||i.current===null||(window.clearTimeout(i.current),i.current=null)},[]),u=b.useCallback(()=>{const p=t.trim();if(!p)return;navigator.clipboard?.writeText(p)?.catch(()=>{}),o(!0),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{o(!1),i.current=null},2e3)},[t]);return f("div",{className:"codex-assistant-message-actions mt-1.5 flex h-5 items-center justify-start gap-0.5 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100"},f("button",{ref:d,type:"button",className:`codex-assistant-message-action-button ${ee} ${te} ${ln} rounded-full electron:rounded-md`,"aria-label":l,title:l,onClick:u},r?Ze("icon-xs"):xn("icon-xs")),c==null?null:f("span",{className:"ml-1.5 flex h-full items-center text-size-chat leading-5 text-token-input-placeholder-foreground"},c))}function Os(n,e=new Date){const t=new Date(n),r=Au(t,e);return r===0?new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(t):r<0&&r>-7?new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",weekday:"long"}).format(t):new Intl.DateTimeFormat(void 0,{day:"numeric",hour:"numeric",minute:"2-digit",month:"short"}).format(t)}function Au(n,e){const t=new Date(n.getFullYear(),n.getMonth(),n.getDate()),r=new Date(e.getFullYear(),e.getMonth(),e.getDate());return Math.round((t.getTime()-r.getTime())/864e5)}function Ru({copy:n,text:e}){"use no memo";const[t,r]=b.useState(!1),o=Iu(e),i=o&&!t,s=n?.showMore??"",a=n?.showLess??"",l=b.useCallback(()=>{r(c=>!c)},[]);return f("div",{className:"flex flex-col items-end gap-1"},f("div",{className:"codex-user-message-content text-size-chat relative w-full min-w-0 mb-px","data-collapsed":i?"true":void 0,dangerouslySetInnerHTML:{__html:Be(e)}}),o?f("button",{type:"button","aria-expanded":t,className:"codex-user-message-toggle text-size-chat mt-1.5 inline-flex cursor-interaction items-center gap-1 self-start text-token-description-foreground hover:text-token-foreground",onClick:l},f("span",null,t?a:s),gn(`icon-2xs${t?" rotate-180":""}`)):null)}function Iu(n){return n.split(/\r\n|\r|\n/).length>uu||n.length>1600}function Lu({attachments:n}){return f("div",{className:"codex-user-message-attachments flex max-w-[77%] flex-row-reverse flex-wrap items-center gap-1"},n.map(e=>f(Pu,{attachment:e,key:e.id})))}function Pu({attachment:n}){return n.kind==="image"&&n.dataUrl?f("div",{className:"user-message-image-attachment flex size-16 items-center justify-center rounded-lg border border-token-border",title:n.label},f("img",{alt:n.label,className:"h-full w-full rounded-md object-cover",referrerPolicy:"no-referrer",src:n.dataUrl})):f("div",{className:"user-message-file-attachment bg-token-dropdown-background border-token-border inline-flex max-w-[320px] items-center gap-1 rounded-full border px-2 py-1.5 text-sm",title:n.path},f("span",{className:"text-token-input-placeholder-foreground flex-shrink-0","aria-hidden":!0},Sr("icon-2xs")),f("span",{className:"flex max-w-full min-w-0 items-center gap-1"},f("span",{className:"truncate"},n.label)))}function zu({attachments:n,className:e,copy:t,onRemove:r}){return f("div",{className:`codex-attachment-tray w-full overflow-x-auto${e?` ${e}`:""}`,"data-composer-attachments-row":!0},f("div",{className:"codex-attachment-row flex min-w-max items-end gap-2"},n.map(o=>f(Fu,{attachment:o,copy:t,key:o.id,onRemove:r}))))}function Fu({attachment:n,copy:e,onRemove:t}){const r=`${e?.removeAttachment??"Remove attachment"} ${n.label}`,o=t?f("button",{className:"composer-attachment-remove",type:"button","aria-label":r,onClick:()=>t(n.id),onMouseDown:i=>i.preventDefault()},bn("icon-2xs")):null;return n.kind==="image"&&n.dataUrl?f("div",{className:"composer-attachment-image",title:n.label},f("img",{alt:"","aria-hidden":!0,src:n.dataUrl}),o):f("div",{className:"composer-attachment-file",title:n.path},f("span",{className:"composer-attachment-file-icon","aria-hidden":!0},Sr("icon-xs")),f("span",{className:"composer-attachment-file-label"},n.label),o)}function Bu(n){const e=Et.c(6),{state:t,providerDisplayName:r}=n,i=(t.context?.rateLimitRows??[]).map(La),s=t.context?.copy,[a,l]=b.useState(!1);if(i.length===0)return null;const c=s?.rateLimits??"Rate limits";let d;e[0]!==t?(d=ja(t),e[0]=t,e[1]=d):d=e[1];let u;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=m=>{m.currentTarget.contains(m.relatedTarget)||l(!1)},e[2]=u):u=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=()=>l(Vu),e[3]=p):p=e[3];let h;return e[4]!==t?(h=(m,g)=>[g>0?f("span",{key:`${m.role}-separator`,className:"rate-limit-inline-separator","aria-hidden":!0},"•"):null,f(_u,{key:m.role,row:m,state:t})],e[4]=t,e[5]=h):h=e[5],f("div",{className:"rate-line codex-rate-limit-summary relative",role:"status","aria-label":`${r} ${d}`.trim(),onBlur:u},f("button",{className:"rate-limit-trigger rate-limit-trigger-inline flex min-w-0 items-center gap-1",type:"button","aria-expanded":a,onClick:p},f("span",{className:"rate-line-heading"},c),i.flatMap(h)),a?f("div",{className:"rate-limit-popover absolute bottom-[calc(100%+6px)] left-0 z-50 flex min-w-56 flex-col gap-1 rounded-xl border border-token-border bg-token-dropdown-background/95 px-3 py-2 text-sm shadow-xl-spread backdrop-blur-sm"},f("div",{className:"rate-limit-popover-title"},c),i.map(m=>f($u,{key:m.role,row:m,state:t}))):null)}function Vu(n){return!n}function _u({row:n,state:e}){const t=n,r=e.context?.copy,o=t.role==="primary"?r?.rateLimitPrimary??"Primary":r?.rateLimitSecondary??"Secondary",i=ti(t.windowDurationMins,o,{weekly:r?.rateLimitWeekly??"Weekly",monthly:r?.rateLimitMonthly??"Monthly",daysFormat:r?.rateLimitDaysFormat??"",hoursFormat:r?.rateLimitHoursFormat??"",minutesFormat:r?.rateLimitMinutesFormat??""}),s=ei(t.resetsAt);return f("span",{className:"rate-limit-inline-segment"},f("span",{className:"rate-limit-window"},i),f("span",{className:"rate-limit-percent"},Qo(t.remainingPercent)),s?f("span",{className:"rate-limit-reset"},`${r?.rateLimitResets??"resets"} ${s}`):null)}function $u({row:n,state:e}){const t=n,r=e.context?.copy,o=t.role==="primary"?r?.rateLimitPrimary??"Primary":r?.rateLimitSecondary??"Secondary",i=ti(t.windowDurationMins,o,{weekly:r?.rateLimitWeekly??"Weekly",monthly:r?.rateLimitMonthly??"Monthly",daysFormat:r?.rateLimitDaysFormat??"",hoursFormat:r?.rateLimitHoursFormat??"",minutesFormat:r?.rateLimitMinutesFormat??""}),s=ei(t.resetsAt);return f("div",{className:"rate-limit-popover-row"},f("span",{className:"rate-limit-window"},i),f("span",{className:"rate-limit-row-value"},f("span",{className:"rate-limit-percent"},Qo(t.remainingPercent)),s?f("span",{className:"rate-limit-reset"},`${r?.rateLimitResets??"resets"} ${s}`):null))}function Wu({emptyLabel:n,highlightedIndex:e,items:t,onChoose:r,onHighlight:o,query:i}){return f("div",{className:"codex-top-tray-shell absolute z-20"},f("div",{className:"codex-top-tray-panel","cmdk-root":"","data-cmdk-root":!0},f("div",{className:"codex-top-tray-list","cmdk-list":"","data-cmdk-list":!0},t.length===0?f("div",{className:"codex-top-tray-empty","cmdk-empty":"","data-cmdk-empty":!0,"data-command-menu-empty-state":"true"},n):t.map((s,a)=>{const l=s.detail?"codex-top-tray-label max-w-[60%] flex-none truncate":"codex-top-tray-label min-w-0 flex-1 truncate",c=sp(s.label,i),d=c.some(u=>!u.isMatch);return f("button",{key:s.id,className:"codex-top-tray-item",type:"button","aria-selected":a===e?"true":void 0,"cmdk-item":"","data-selected":a===e?"true":void 0,"data-list-navigation-item":!0,onMouseEnter:()=>o(a),onMouseDown:u=>u.preventDefault(),onClick:()=>r(s)},f("div",{className:"codex-top-tray-copy flex w-full items-center gap-2"},f("span",{className:"codex-top-tray-icon icon-xs shrink-0","aria-hidden":!0},s.icon),f("div",{className:l},c.map((u,p)=>f("span",{key:`${u.text}-${p}`,className:!u.isMatch&&d?"text-token-description-foreground":void 0},u.text))),s.detail?f("span",{className:"codex-top-tray-detail min-w-0 flex-1 truncate text-sm text-token-description-foreground"},s.detail):null))}))))}function Wo({icon:n,label:e,onClear:t}){return f("div",{className:"composer-mode-indicator flex min-w-0 items-center gap-1"},f("div",{className:"composer-mode-divider","aria-hidden":!0}),f("button",{className:`composer-mode-button group ${ee} ${te} ${Oe} rounded-full`,type:"button","aria-label":e,onClick:t},f("span",{className:"composer-mode-icon composer-mode-icon-default icon-xs shrink-0","aria-hidden":!0},n),f("span",{className:"composer-mode-icon composer-mode-icon-hover icon-xs shrink-0","aria-hidden":!0},bn("icon-xs")),f("span",{className:"composer-footer__label--sm composer-mode-label max-w-16 truncate"},e)))}function Hu({hideLabel:n,label:e,onClear:t}){return f("button",{className:`composer-context-button group ${ee} ${te} ${Oe} min-w-0 rounded-full`,type:"button","aria-label":e,title:e,onClick:t},f("span",{className:"composer-context-icon composer-context-icon-default icon-xs shrink-0","aria-hidden":!0},Es("icon-xs")),f("span",{className:"composer-context-icon composer-context-icon-hover icon-xs shrink-0","aria-hidden":!0},bn("icon-xs")),n?null:f("span",{className:"composer-footer__label--sm composer-context-label max-w-20 truncate"},e))}function qu({copy:n,hideLabel:e=!1,isEnabled:t,isOpen:r,mode:o,onModeChange:i,onOpenChange:s}){const a=n?.changePermissions??"Change permissions",l=Uo(n,o),c=t?["default","auto-review","full-access","custom"]:[],d=e?oa:Oe,u=h=>{i(h),s(!1)},p=t&&r;return f("div",{className:"permissions-root relative inline-flex",onBlur:h=>{t&&!h.currentTarget.contains(h.relatedTarget)&&s(!1)}},f("button",{className:`permissions-trigger ${ee} ${te} ${d} ${e?Kt:"min-w-0"} rounded-full`,type:"button","aria-label":a,"aria-haspopup":t?"menu":void 0,"aria-expanded":t?p:void 0,"aria-disabled":t?void 0:!0,"data-permission-mode":o,"data-state":p?"open":"closed",disabled:!t,onClick:()=>{t&&s(!p)},onKeyDown:h=>{t&&(h.key==="ArrowDown"&&(h.preventDefault(),s(!0)),h.key==="Escape"&&(h.preventDefault(),s(!1)))}},Ds(o,"icon-xs shrink-0"),e?null:f("span",{className:"permissions-trigger-label composer-footer__label--xs max-w-40 truncate whitespace-nowrap text-left"},l),t?f("span",{className:"permissions-trigger-chevron icon-2xs shrink-0","aria-hidden":!0},gn()):null),p?f("div",{className:"permissions-dropdown _content_1hiti_1 no-drag bg-token-dropdown-background/90 text-token-foreground ring-token-border z-50 m-px flex select-none flex-col overflow-y-auto rounded-xl ring-[0.5px] px-1 py-1 shadow-xl-spread backdrop-blur-sm",role:"menu","aria-label":a,"data-state":"open","data-side":"top",style:{"--radix-dropdown-menu-content-transform-origin":"left bottom"}},c.map(h=>f(Ju,{isSelected:h===o,key:h,label:Uo(n,h),mode:h,onSelect:()=>u(h)}))):null)}function Ju({isSelected:n,label:e,mode:t,onSelect:r}){return f("button",{className:"permissions-item no-drag group hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",type:"button",role:"menuitemradio","aria-checked":n,"data-permission-mode":t,"data-selected":n?"true":void 0,onMouseDown:o=>o.preventDefault(),onClick:r},f("span",{className:"permissions-item-icon icon-xs shrink-0","aria-hidden":!0},Ds(t,"icon-xs shrink-0")),f("span",{className:"permissions-item-label min-w-0 flex-1 truncate"},e),n?f("span",{className:"permissions-item-check icon-xs shrink-0","aria-hidden":!0},Ze()):null)}function Uu({hasIdeContext:n,isAutoContextOn:e,isOpen:t,isPickingFiles:r,isPlanMode:o,onOpenChange:i,onPickFiles:s,onToggleAutoContext:a,onTogglePlanMode:l,state:c}){const d=c.context?.copy,u=d?.addFilesAndMore??"Add files and more",p=d?.addPhotosAndFiles??"Add photos & files",m=Cr("skill",c,"").find(g=>g.id==="plan")??null;return f("div",{className:"add-context-root relative inline-flex",onBlur:g=>{g.currentTarget.contains(g.relatedTarget)||i(!1)}},f("button",{className:`codex-tool codex-tool-plus ${ee} ${te} ${Oe} ${Kt} rounded-full`,type:"button","aria-label":u,"aria-haspopup":"menu","aria-expanded":t,"data-state":t?"open":"closed",onClick:()=>i(!t),onKeyDown:g=>{g.key==="ArrowDown"&&(g.preventDefault(),i(!0)),g.key==="Escape"&&(g.preventDefault(),i(!1))}},fp()),t?f("div",{className:"add-context-dropdown _content_1hiti_1 no-drag bg-token-dropdown-background/90 text-token-foreground ring-token-border z-50 m-px flex select-none flex-col overflow-y-auto rounded-xl ring-[0.5px] px-1 py-1 shadow-xl-spread backdrop-blur-sm",role:"menu","aria-label":u,"data-state":"open","data-side":"top",style:{"--radix-dropdown-menu-content-transform-origin":"left bottom"}},f(ju,{disabled:r,icon:Sr("icon-xs"),label:p,onSelect:s}),n||m?f(Ku):null,n?f(Ho,{checked:e,icon:Es("icon-sm"),label:d?.includeIdeContext??"Include IDE context",onSelect:a}):null,m?f(Ho,{checked:o,icon:an(),label:d?.planMode??"Plan mode",onSelect:l}):null):null)}function ju({detail:n,disabled:e=!1,icon:t,label:r,onSelect:o}){return f("button",{className:"add-context-item group no-drag hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",disabled:e,type:"button",role:"menuitem",onMouseDown:i=>i.preventDefault(),onClick:e?void 0:o},f("span",{className:"add-context-item-icon icon-xs shrink-0","aria-hidden":!0},t),f("span",{className:"add-context-item-copy flex min-w-0 flex-1 items-center gap-2"},f("span",{className:"add-context-item-label min-w-0 truncate"},r),n?f("span",{className:"add-context-item-detail min-w-0 flex-1 truncate text-token-description-foreground"},n):null))}function Ho({checked:n,icon:e,label:t,onSelect:r}){const o=n?"checked":"unchecked",i=n?"relative inline-flex h-4 w-7 shrink-0 items-center rounded-full bg-token-charts-blue transition-colors duration-200 ease-out":"relative inline-flex h-4 w-7 shrink-0 items-center rounded-full bg-token-foreground/10 transition-colors duration-200 ease-out";return f("button",{className:"add-context-item group no-drag hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",type:"button",role:"menuitemcheckbox","aria-checked":n,onMouseDown:s=>s.preventDefault(),onClick:r},f("span",{className:"add-context-item-icon icon-xs shrink-0","aria-hidden":!0},e),f("span",{className:"add-context-switch-row flex w-full min-w-0 items-center justify-between gap-2"},f("span",{className:"flex min-w-0 items-center gap-2"},f("span",{className:"add-context-item-label min-w-0 truncate"},t)),f("span",{className:i,"data-state":o,"aria-hidden":!0},f("span",{className:"h-3 w-3 rounded-full border border-[color:var(--gray-0)] bg-[color:var(--gray-0)] shadow-sm transition-transform duration-200 ease-out data-[state=unchecked]:translate-x-[2px] data-[state=checked]:translate-x-[14px]","data-state":o}))))}function Ku(){return f("div",{className:"add-context-separator w-full px-[var(--padding-row-x)] py-1",role:"separator"},f("div",{className:"add-context-separator-line h-[1px] w-full bg-token-menu-border"}))}function Zu(n){return Cr("mention",n,"").find(e=>e.id==="workspace")??null}function Cr(n,e,t){const r=e.context?.copy,o=n==="mention"?[...e.context?.workingDirectory?[{id:"workspace",icon:hp("icon-xs"),label:r?.mentionCurrentWorkspace??"Current workspace",detail:jt(e.context.workingDirectory),mention:{kind:"at",label:jt(e.context.workingDirectory),name:jt(e.context.workingDirectory),path:e.context.workingDirectory,fsPath:e.context.workingDirectory}}]:[],...e.providers.map(i=>({id:i.id,icon:Ia(i),label:i.displayName,detail:i.executableName,mention:{kind:"agent",label:i.displayName,name:i.id,displayName:i.displayName,path:`provider://${i.id}`,description:i.executableName}}))]:[{id:"plan",icon:"$",label:r?.skillPlan??"Plan",detail:"$plan",mention:{kind:"skill",label:"Plan",name:"plan",displayName:"Plan",path:"skill://plan"}},{id:"review",icon:"$",label:r?.skillCodeReview??"Code review",detail:"$codex-review",mention:{kind:"skill",label:"Code review",name:"codex-review",displayName:"Code review",path:"skill://codex-review"}},{id:"research",icon:"$",label:r?.skillResearch??"Research",detail:"$research",mention:{kind:"skill",label:"Research",name:"research",displayName:"Research",path:"skill://research"}}];return Yu(o,t)}function Yu(n,e){const t=e.trim();return t?n.map(r=>({item:r,score:ip(r.label,t,[r.detail,r.mention.name])})).filter(({score:r})=>r>0).sort((r,o)=>o.score-r.score).map(({item:r})=>r):n}const qo=1,Gu=.9,Xu=.8,Qu=.17,_n=.1,$n=.999,ep=.9999,tp=.99,np=/[\\/_+.#"@[({&]/,rp=/[\\/_+.#"@[({&]/g,op=/[\s-]/,Ts=/[\s-]/g;function ip(n,e,t){const r=t.length>0?`${n} ${t.join(" ")}`:n;return ir(r,e,Jo(r),Jo(e),0,0,{})}function Jo(n){return n.toLowerCase().replace(Ts," ")}function ir(n,e,t,r,o,i,s){if(i===e.length)return o===n.length?qo:tp;const a=`${o},${i}`;if(s[a]!==void 0)return s[a];const l=r.charAt(i);let c=t.indexOf(l,o),d=0;for(;c>=0;){let u=ir(n,e,t,r,c+1,i+1,s);if(u>d){if(c===o)u*=qo;else if(np.test(n.charAt(c-1))){u*=Xu;const p=n.slice(o,c-1).match(rp);p&&o>0&&(u*=$n**p.length)}else if(op.test(n.charAt(c-1))){u*=Gu;const p=n.slice(o,c-1).match(Ts);p&&o>0&&(u*=$n**p.length)}else u*=Qu,o>0&&(u*=$n**(c-o));n.charAt(c)!==e.charAt(i)&&(u*=ep)}if(u<_n&&t.charAt(c-1)===r.charAt(i+1)||r.charAt(i+1)===r.charAt(i)&&t.charAt(c-1)!==r.charAt(i)){const p=ir(n,e,t,r,c+1,i+2,s);p*_n>u&&(u=p*_n)}u>d&&(d=u),c=t.indexOf(l,c+1)}return s[a]=d,d}function sp(n,e){const t=Array.from(n),r=e.trim();if(!r)return t.map(l=>({isMatch:!0,text:l}));const o=t.map(l=>l.toLowerCase()),i=Array.from(r.toLowerCase());let s=-1;for(let l=0;l<=o.length-i.length;l+=1)if(i.every((c,d)=>o[l+d]===c)){s=l;break}if(s>=0){const l=s+i.length;return t.map((c,d)=>({isMatch:d>=s&&d{const c=a{const r=`${t.kind}:${t.path}`;return e.has(r)?!1:(e.add(r),!0)})}function lp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M9.33467 16.6663V4.93978L4.6374 9.63704L4.1667 9.16634L3.69599 8.69661L9.52998 2.86263L9.63447 2.77767C9.8925 2.60753 10.2433 2.63564 10.4704 2.86263L16.3034 8.69661L16.3884 8.80111C16.5588 9.05922 16.5306 9.40982 16.3034 9.63704C16.0762 9.86414 15.7255 9.89242 15.4675 9.722L15.363 9.63704L10.6647 4.9388V16.6663C10.6647 17.0336 10.367 17.3314 9.99971 17.3314C9.63259 17.3312 9.33467 17.0335 9.33467 16.6663ZM4.6374 9.63704C4.3777 9.89674 3.95569 9.89674 3.69599 9.63704C3.43657 9.37744 3.43668 8.95628 3.69599 8.69661L4.6374 9.63704Z",fill:"currentColor"}))}function cp(){return f("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},f("rect",{x:"4.75",y:"4.75",width:"6.5",height:"6.5",rx:"1",fill:"currentColor"}))}function dp(){return f("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},f("path",{d:"M8 2.25a2 2 0 0 0-2 2v3.25a2 2 0 1 0 4 0V4.25a2 2 0 0 0-2-2ZM4 7.5a4 4 0 0 0 8 0M8 11.5v2.25",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}))}function up(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M10 5.14295V14.8441M10 5.14295C10 1.98209 14.8475 1.94468 14.8475 5.07797L14.8473 5.1067C17.1367 5.43539 18.0436 7.54498 16.4225 9.14006C17.8633 10.5577 17.3503 13.9054 15.4449 14.6301C14.8475 17.6527 10.8056 18.4821 10 14.8441M10 5.14295C10 1.98209 5.15249 1.94468 5.15249 5.07797L5.15265 5.1067C2.86325 5.43539 1.95642 7.54498 3.57746 9.14006C2.13674 10.5577 2.64974 13.9054 4.5551 14.6301C5.15249 17.6527 9.19444 18.4821 10 14.8441",stroke:"currentColor",strokeLinejoin:"round",strokeWidth:"1.33"}))}function gn(n="icon-2xs"){return f("svg",{className:n,width:"20",height:"21",viewBox:"0 0 20 21",fill:"none","aria-hidden":!0},f("path",{d:"M15.2793 7.71101C15.539 7.45131 15.961 7.45131 16.2207 7.71101C16.4804 7.97071 16.4804 8.39272 16.2207 8.65242L10.4707 14.4024C10.211 14.6621 9.78902 14.6621 9.52932 14.4024L3.77932 8.65242L3.69436 8.54792C3.52385 8.28979 3.55205 7.93828 3.77932 7.71101C4.00659 7.48374 4.3581 7.45554 4.61623 7.62605L4.72073 7.71101L10 12.9903L15.2793 7.71101Z",fill:"currentColor",stroke:"currentColor",strokeWidth:"0.6"}))}function pp(n="icon-2xs"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M7.52925 3.7793C7.75652 3.55203 8.10803 3.52383 8.36616 3.69434L8.47065 3.7793L14.2207 9.5293C14.4804 9.789 14.4804 10.211 14.2207 10.4707L8.47065 16.2207C8.21095 16.4804 7.78895 16.4804 7.52925 16.2207C7.26955 15.961 7.26955 15.539 7.52925 15.2793L12.8085 10L7.52925 4.7207L7.44429 4.61621C7.27378 4.35808 7.30198 4.00657 7.52925 3.7793Z",fill:"currentColor"}))}function xn(n="icon-sm"){return f("svg",{className:n,width:"21",height:"21",viewBox:"0 0 21 21",fill:"none","aria-hidden":!0},f("path",{d:"M13.468 11.1216C13.468 10.4107 13.468 9.91717 13.4367 9.53369C13.4137 9.25191 13.3758 9.0622 13.3244 8.91846L13.2687 8.78858C13.1148 8.48652 12.8803 8.23344 12.593 8.05713L12.466 7.98584C12.308 7.90546 12.0963 7.84854 11.7209 7.81787C11.3374 7.78656 10.8439 7.78662 10.133 7.78662H7.29999C6.58895 7.78662 6.09562 7.78654 5.7121 7.81787C5.43015 7.84091 5.24064 7.87872 5.09686 7.93018L4.96698 7.98584C4.66487 8.13977 4.41184 8.37419 4.23554 8.66162L4.16522 8.78858C4.08477 8.94657 4.02794 9.15811 3.99725 9.53369C3.96594 9.91718 3.96503 10.4107 3.96503 11.1216V13.9546C3.96503 14.6656 3.96592 15.159 3.99725 15.5425C4.02796 15.9182 4.08471 16.1296 4.16522 16.2876L4.23554 16.4136C4.41185 16.7012 4.66472 16.9353 4.96698 17.0894L5.09686 17.146C5.24061 17.1974 5.43024 17.2343 5.7121 17.2573C6.09562 17.2887 6.58895 17.2896 7.29999 17.2896H10.133C10.8439 17.2896 11.3374 17.2886 11.7209 17.2573C12.0965 17.2266 12.308 17.1698 12.466 17.0894L12.593 17.019C12.8804 16.8427 13.1148 16.5897 13.2687 16.2876L13.3244 16.1577C13.3759 16.0139 13.4137 15.8244 13.4367 15.5425C13.468 15.159 13.468 14.6656 13.468 13.9546V11.1216ZM14.798 13.1196C15.2528 13.118 15.6011 13.1147 15.8879 13.0913C16.2634 13.0606 16.475 13.0038 16.633 12.9233L16.759 12.8521C17.0466 12.6757 17.2808 12.4228 17.4348 12.1206L17.4914 11.9907C17.5428 11.847 17.5797 11.6572 17.6027 11.3755C17.634 10.992 17.6349 10.4985 17.6349 9.7876V6.95459C17.6349 6.24355 17.6341 5.75022 17.6027 5.3667C17.5797 5.08484 17.5428 4.89522 17.4914 4.75147L17.4348 4.62158C17.2807 4.31933 17.0466 4.06645 16.759 3.89014L16.633 3.81982C16.475 3.73932 16.2636 3.68256 15.8879 3.65186C15.5044 3.62052 15.011 3.61963 14.3 3.61963H11.467C10.7561 3.61963 10.2626 3.62054 9.87909 3.65186C9.59738 3.67487 9.40759 3.71179 9.26386 3.76318L9.13397 3.81982C8.83175 3.97382 8.57885 4.20802 8.40253 4.49561L8.33124 4.62158C8.25079 4.77957 8.19396 4.99114 8.16327 5.3667C8.13984 5.65352 8.13561 6.00178 8.13397 6.45654H10.133C10.822 6.45654 11.3791 6.4559 11.8293 6.49268C12.2873 6.5301 12.6937 6.6093 13.0705 6.80127L13.2883 6.92334C13.7839 7.22739 14.1878 7.66313 14.4533 8.18408L14.5197 8.32666C14.6642 8.66318 14.7291 9.02433 14.7619 9.42529C14.7987 9.8755 14.798 10.4326 14.798 11.1216V13.1196ZM18.965 9.7876C18.965 10.4766 18.9657 11.0337 18.9289 11.4839C18.8961 11.8848 18.8311 12.246 18.6867 12.5825L18.6203 12.7251C18.3548 13.246 17.9509 13.6818 17.4553 13.9858L17.2365 14.1079C16.8599 14.2998 16.4541 14.3791 15.9963 14.4165C15.6592 14.444 15.2624 14.4481 14.7951 14.4497C14.7935 14.917 14.7894 15.3138 14.7619 15.6509C14.7292 16.0516 14.664 16.4122 14.5197 16.7485L14.4533 16.8911C14.1878 17.4122 13.7841 17.8487 13.2883 18.1528L13.0705 18.2749C12.6937 18.4669 12.2873 18.5461 11.8293 18.5835C11.3791 18.6203 10.822 18.6196 10.133 18.6196H7.29999C6.6109 18.6196 6.05394 18.6203 5.6037 18.5835C5.20305 18.5508 4.84233 18.4855 4.50604 18.3413L4.36347 18.2749C3.84243 18.0094 3.40584 17.6056 3.10175 17.1099L2.97968 16.8911C2.78787 16.5145 2.70849 16.1087 2.67108 15.6509C2.6343 15.2006 2.63495 14.6437 2.63495 13.9546V11.1216C2.63495 10.4326 2.63431 9.8755 2.67108 9.42529C2.7085 8.96729 2.78771 8.56084 2.97968 8.18408L3.10175 7.96631C3.40585 7.47049 3.84235 7.06679 4.36347 6.80127L4.50604 6.73486C4.84236 6.59059 5.20302 6.52542 5.6037 6.49268C5.9405 6.46516 6.33707 6.4601 6.80389 6.4585C6.8055 5.99167 6.81056 5.5951 6.83807 5.2583C6.87549 4.80047 6.95482 4.39471 7.14667 4.01807L7.26874 3.79932C7.5728 3.30371 8.00855 2.89973 8.52948 2.63428L8.67206 2.56787C9.00854 2.42345 9.36978 2.35844 9.77069 2.32568C10.2209 2.28891 10.778 2.28955 11.467 2.28955H14.3C14.9891 2.28955 15.546 2.2889 15.9963 2.32568C16.4541 2.3631 16.8599 2.44247 17.2365 2.63428L17.4553 2.75635C17.951 3.06044 18.3548 3.49703 18.6203 4.01807L18.6867 4.16065C18.8309 4.49694 18.8962 4.85765 18.9289 5.2583C18.9657 5.70854 18.965 6.2655 18.965 6.95459V9.7876Z",fill:"currentColor"}))}function Ze(n){return f("svg",{className:n,width:"17",height:"17",viewBox:"0 0 17 17",fill:"none","aria-hidden":!0},f("path",{d:"M12.8961 3.64101C13.1297 3.41418 13.4984 3.37523 13.7779 3.56581C14.0571 3.75635 14.1554 4.11331 14.0299 4.41347L13.9615 4.53847L7.71151 13.7045C7.59411 13.8767 7.4063 13.9877 7.19881 14.0072C6.99136 14.0267 6.78564 13.9533 6.63826 13.806L2.88826 10.056L2.79842 9.9457C2.6192 9.67407 2.64927 9.30496 2.88826 9.06581C3.12738 8.82669 3.49647 8.79676 3.76815 8.97597L3.8785 9.06581L7.03084 12.2182L12.8053 3.74941L12.8961 3.64101Z",fill:"currentColor"}))}function bn(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M5.96967 5.96967C6.26256 5.67678 6.73744 5.67678 7.03033 5.96967L10 8.93934L12.9697 5.96967C13.2626 5.67678 13.7374 5.67678 14.0303 5.96967C14.3232 6.26256 14.3232 6.73744 14.0303 7.03033L11.0607 10L14.0303 12.9697C14.3232 13.2626 14.3232 13.7374 14.0303 14.0303C13.7374 14.3232 13.2626 14.3232 12.9697 14.0303L10 11.0607L7.03033 14.0303C6.73744 14.3232 6.26256 14.3232 5.96967 14.0303C5.67678 13.7374 5.67678 13.2626 5.96967 12.9697L8.93934 10L5.96967 7.03033C5.67678 6.73744 5.67678 6.26256 5.96967 5.96967Z",fill:"currentColor"}))}function fp(){return f("svg",{className:"icon-sm",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M9.33496 16.5V10.665H3.5C3.13273 10.665 2.83496 10.3673 2.83496 10C2.83496 9.63273 3.13273 9.33496 3.5 9.33496H9.33496V3.5C9.33496 3.13273 9.63273 2.83496 10 2.83496C10.3673 2.83496 10.665 3.13273 10.665 3.5V9.33496H16.5L16.6338 9.34863C16.9369 9.41057 17.165 9.67857 17.165 10C17.165 10.3214 16.9369 10.5894 16.6338 10.6514L16.5 10.665H10.665V16.5C10.665 16.8673 10.3673 17.165 10 17.165C9.63273 17.165 9.33496 16.8673 9.33496 16.5Z",fill:"currentColor"}))}function Sr(n="icon-sm"){return f("svg",{className:n,width:"21",height:"21",viewBox:"0 0 21 21",fill:"none","aria-hidden":!0},f("path",{d:"M4.43945 12.8041V7.68261C4.43945 7.30642 4.74446 7.00141 5.12066 7.00141C5.49685 7.00141 5.80186 7.30642 5.80186 7.68261V12.8041C5.80186 15.2565 7.78984 17.2445 10.2422 17.2445C12.6945 17.2445 14.6825 15.2565 14.6825 12.8041V5.9751C14.6823 4.46587 13.4589 3.24247 11.9497 3.24229C10.4403 3.24229 9.21606 4.46576 9.21588 5.9751V12.8041C9.21588 13.3708 9.67553 13.8304 10.2422 13.8304C10.8088 13.8304 11.2685 13.3708 11.2685 12.8041V7.68261C11.2685 7.30642 11.5735 7.00141 11.9497 7.00141C12.3257 7.00159 12.6309 7.30653 12.6309 7.68261V12.8041C12.6309 14.1232 11.5612 15.1929 10.2422 15.1929C8.92314 15.1929 7.85347 14.1232 7.85347 12.8041V5.9751C7.85365 3.71337 9.68791 1.87988 11.9497 1.87988C14.2113 1.88006 16.0447 3.71348 16.0449 5.9751V12.8041C16.0449 16.0089 13.4469 18.6069 10.2422 18.6069C7.03745 18.6069 4.43945 16.0089 4.43945 12.8041Z",fill:"currentColor"}))}function hp(n="icon-sm"){return f("svg",{className:n,width:20,height:20,viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:Zo,fill:"currentColor"}))}function an(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.69336 11.0557C7.05891 11.1944 8.12484 12.3479 8.125 13.75L8.11035 14.0273C7.97144 15.3928 6.81814 16.459 5.41602 16.459L5.13965 16.4443C3.86514 16.3149 2.85128 15.3018 2.72168 14.0273L2.70801 13.75C2.70818 12.2546 3.92061 11.0423 5.41602 11.042L5.69336 11.0557ZM5.41602 12.3721C4.65515 12.3724 4.03826 12.9891 4.03809 13.75C4.03826 14.5109 4.65515 15.1286 5.41602 15.1289C6.17714 15.1289 6.79475 14.5111 6.79492 13.75C6.79475 12.9889 6.17714 12.3721 5.41602 12.3721Z",fill:"currentColor"}),f("path",{d:"M16.8008 13.0986C17.1036 13.1608 17.3311 13.4288 17.3311 13.75C17.3311 14.0712 17.1036 14.3392 16.8008 14.4014L16.666 14.415H10.833C10.4659 14.4149 10.168 14.1172 10.168 13.75C10.168 13.3828 10.4659 13.0851 10.833 13.085H16.666L16.8008 13.0986Z",fill:"currentColor"}),f("path",{d:"M16.8008 5.59863C17.1036 5.66081 17.3311 5.92879 17.3311 6.25C17.3311 6.57121 17.1036 6.83919 16.8008 6.90137L16.666 6.91504H10.833C10.4659 6.91491 10.168 6.61719 10.168 6.25C10.168 5.88281 10.4659 5.58509 10.833 5.58496H16.666L16.8008 5.59863Z",fill:"currentColor"}),f("path",{d:"M7.13311 3.76578C7.35346 3.47216 7.771 3.4128 8.06475 3.63297C8.35843 3.85336 8.41789 4.27084 8.19757 4.56461L5.19757 8.56461C5.0819 8.71866 4.90439 8.81462 4.71221 8.82828C4.5201 8.84178 4.33083 8.77209 4.19464 8.6359L2.69464 7.1359C2.43512 6.87623 2.43512 6.45415 2.69464 6.19449C2.95429 5.93484 3.37633 5.93493 3.63604 6.19449L4.59307 7.15152L7.13311 3.76578Z",fill:"currentColor"}))}function mp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M12.6683 4.16699C12.6683 3.84391 12.4065 3.58203 12.0834 3.58203C11.7603 3.58203 11.4984 3.84391 11.4984 4.16699V7.91699L11.4847 8.05078C11.4227 8.35375 11.1547 8.58203 10.8334 8.58203C10.4662 8.58203 10.1685 8.28411 10.1683 7.91699V3.75C10.1683 3.42691 9.90646 3.16504 9.58337 3.16504C9.26029 3.16504 8.99841 3.42691 8.99841 3.75V7.91699C8.99824 8.28411 8.70053 8.58203 8.33337 8.58203C7.96621 8.58203 7.66851 8.28411 7.66833 7.91699V5C7.66833 4.67691 7.40646 4.41504 7.08337 4.41504C6.76029 4.41504 6.49841 4.67691 6.49841 5V9.30371C6.53326 9.3429 6.56715 9.38359 6.59998 9.42578L8.02478 11.2588C8.25005 11.5486 8.19821 11.9659 7.90857 12.1914C7.6187 12.4169 7.20048 12.365 6.97498 12.0752L5.55017 10.2432C5.15812 9.7391 4.41813 9.73637 4.01501 10.1924C4.04396 10.426 4.11486 10.8323 4.25525 11.3486C4.44664 12.0525 4.75404 12.9113 5.21619 13.7383C6.14103 15.3931 7.62465 16.835 10.0004 16.835C12.8545 16.8348 15.1682 14.5211 15.1683 11.667V6.25C15.1683 5.92691 14.9065 5.66504 14.5834 5.66504C14.2603 5.66504 13.9984 5.92691 13.9984 6.25V9.16699C13.9982 9.53411 13.7005 9.83203 13.3334 9.83203C12.9662 9.83203 12.6685 9.53411 12.6683 9.16699V4.16699ZM13.9984 4.42578C14.1828 4.36671 14.3794 4.33496 14.5834 4.33496C15.641 4.33496 16.4984 5.19237 16.4984 6.25V11.667C16.4982 15.2557 13.589 18.1649 10.0004 18.165C6.95953 18.165 5.10939 16.2734 4.05505 14.3867C3.52774 13.4431 3.1843 12.4787 2.97205 11.6982C2.76447 10.9349 2.66834 10.2954 2.66833 10C2.66833 9.87959 2.70117 9.76148 2.76306 9.6582C3.28988 8.78018 4.26555 8.40372 5.16833 8.56152V5C5.16833 3.94237 6.02575 3.08496 7.08337 3.08496C7.31706 3.08496 7.54039 3.12845 7.74744 3.20508C7.98218 2.41297 8.7151 1.83496 9.58337 1.83496C10.1836 1.83496 10.7186 2.11176 11.0697 2.54395C11.3639 2.35978 11.7107 2.25195 12.0834 2.25195C13.141 2.25195 13.9984 3.10937 13.9984 4.16699V4.42578Z",fill:"currentColor"}))}function gp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.06543 1.95123C9.66107 1.69076 10.3389 1.69071 10.9346 1.95123L15.9346 4.13873C16.7832 4.51008 17.3311 5.34917 17.3311 6.27545V10.5528C17.3309 14.6017 14.0489 17.8847 10 17.8848C5.95108 17.8846 2.66813 14.6017 2.66797 10.5528V6.27545C2.66797 5.34924 3.21695 4.51012 4.06543 4.13873L9.06543 1.95123ZM10.4014 3.16998C10.1456 3.05814 9.85444 3.05819 9.59863 3.16998L4.59863 5.35748C4.23427 5.51708 3.99805 5.87764 3.99805 6.27545V10.5528C3.99821 13.8671 6.68563 16.5546 10 16.5547C13.3144 16.5546 16.0008 13.8671 16.001 10.5528V6.27545C16.001 5.87756 15.7658 5.51703 15.4014 5.35748L10.4014 3.16998Z",fill:"currentColor"}),f("path",{d:"M13.4678 11.4318L13.333 11.4182H10.833C10.466 11.4183 10.1682 11.7162 10.168 12.0832C10.168 12.4504 10.4659 12.7481 10.833 12.7482H13.333L13.4678 12.7346C13.7706 12.6724 13.9981 12.4044 13.9981 12.0832C13.9979 11.7621 13.7706 11.494 13.4678 11.4318Z",fill:"currentColor"}),f("path",{d:"M7.65336 12.426C7.46431 12.7406 7.05607 12.8424 6.74125 12.6535C6.42646 12.4646 6.32395 12.0563 6.51274 11.7414L7.55668 10.0002L6.51274 8.25899C6.32395 7.94412 6.42646 7.53583 6.74125 7.34688C7.05607 7.15799 7.46431 7.25975 7.65336 7.57442L8.90336 9.6584C9.0296 9.86893 9.0296 10.1315 8.90336 10.342L7.65336 12.426Z",fill:"currentColor"}))}function xp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.06543 1.95123C9.66107 1.69076 10.3389 1.69071 10.9346 1.95123L15.9346 4.13873C16.7832 4.51008 17.3311 5.34917 17.3311 6.27545V10.5528C17.3309 14.6017 14.0489 17.8847 10 17.8848C5.95108 17.8846 2.66813 14.6017 2.66797 10.5528V6.27545C2.66797 5.34924 3.21695 4.51012 4.06543 4.13873L9.06543 1.95123ZM10.4014 3.16998C10.1456 3.05814 9.85444 3.05819 9.59863 3.16998L4.59863 5.35748C4.23427 5.51708 3.99805 5.87764 3.99805 6.27545V10.5528C3.99821 13.8671 6.68563 16.5546 10 16.5547C13.3144 16.5546 16.0008 13.8671 16.001 10.5528V6.27545C16.001 5.87756 15.7658 5.51703 15.4014 5.35748L10.4014 3.16998Z",fill:"currentColor"}),f("path",{d:"M10.8883 13.1116C10.8883 13.6025 10.4903 14.0005 9.99936 14.0005C9.50844 14.0005 9.11047 13.6025 9.11047 13.1116C9.11047 12.6207 9.50844 12.2227 9.99936 12.2227C10.4903 12.2227 10.8883 12.6207 10.8883 13.1116Z",fill:"currentColor"}),f("path",{d:"M10.5169 10.8949L11.1135 7.31519C11.2283 6.62672 10.6974 6 9.99941 6C9.30145 6 8.77053 6.62672 8.88528 7.31519L9.4819 10.8949C9.52406 11.1479 9.74294 11.3333 9.99941 11.3333C10.2559 11.3333 10.4748 11.1479 10.5169 10.8949Z",fill:"currentColor"}))}function bp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.99944 7.24939C11.5169 7.2495 12.7473 8.47995 12.7475 9.99744C12.7475 11.5151 11.517 12.7454 9.99944 12.7455C8.48176 12.7455 7.2514 11.5151 7.2514 9.99744C7.25155 8.47988 8.48186 7.24939 9.99944 7.24939ZM9.99944 8.57947C9.2164 8.57947 8.58163 9.21442 8.58148 9.99744C8.58148 10.7806 9.2163 11.4154 9.99944 11.4154C10.7825 11.4153 11.4174 10.7805 11.4174 9.99744C11.4173 9.21449 10.7824 8.57958 9.99944 8.57947Z",fill:"currentColor"}),f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6391 1.67517C11.2939 1.67532 11.8991 2.02577 12.226 2.59314L13.2485 4.36755H15.2963C15.9505 4.36758 16.555 4.71709 16.8823 5.28357L17.5219 6.39001C17.8489 6.95668 17.8481 7.65542 17.5209 8.22205L16.4975 9.99451L17.5239 11.7689C17.8519 12.3357 17.8521 13.0347 17.5248 13.6019L16.8862 14.7084C16.559 15.2747 15.9543 15.6243 15.3002 15.6244H13.2514L12.2299 17.3988C11.9029 17.9663 11.297 18.3168 10.642 18.3168L9.3637 18.3158C8.71064 18.3155 8.10718 17.9678 7.77972 17.4027L6.74847 15.6234L4.69964 15.6244C4.04558 15.6242 3.44087 15.2747 3.1137 14.7084L2.47503 13.6019C2.14791 13.0349 2.14836 12.3366 2.47601 11.7699L3.50237 9.99548L2.47894 8.22205C2.15175 7.65533 2.15174 6.95673 2.47894 6.39001L3.11761 5.28259C3.44458 4.71663 4.04894 4.36813 4.70257 4.36755L6.75042 4.36658L7.77581 2.59119C8.10301 2.02476 8.7076 1.67527 9.36175 1.67517H10.6391ZM9.36273 3.00623C9.1835 3.00623 9.01679 3.10199 8.92718 3.2572L7.82659 5.16345C7.63652 5.49253 7.28473 5.69529 6.90472 5.69568L4.70355 5.69763C4.52451 5.69782 4.3585 5.79355 4.26898 5.94861L3.6303 7.05505C3.54091 7.2102 3.54077 7.40192 3.6303 7.55701L4.73089 9.46326C4.92108 9.7929 4.92135 10.1992 4.73089 10.5287L3.62737 12.4359C3.5378 12.591 3.53792 12.7817 3.62737 12.9369L4.26605 14.0433C4.35567 14.1982 4.52067 14.2932 4.69964 14.2933L6.90276 14.2943C7.28242 14.2946 7.63335 14.497 7.82366 14.8256L8.93011 16.7357C9.01984 16.8905 9.18578 16.9857 9.36468 16.9857H10.642C10.8213 16.9857 10.987 16.89 11.0766 16.7347L12.1752 14.8275C12.3653 14.4975 12.7182 14.2943 13.0991 14.2943H15.3002C15.4794 14.2942 15.6452 14.1985 15.7348 14.0433L16.3725 12.9379C16.4621 12.7826 16.4621 12.5911 16.3725 12.4359L15.27 10.5287C15.1032 10.2404 15.0808 9.89331 15.2055 9.59021L15.269 9.46326L16.3696 7.55701C16.4591 7.40189 16.459 7.21022 16.3696 7.05505L15.7309 5.94861C15.6412 5.79363 15.4754 5.69863 15.2963 5.69861L13.0951 5.69763L12.9535 5.68884C12.6751 5.65158 12.4217 5.50519 12.2504 5.28259L12.1723 5.16443L11.0737 3.2572C10.9841 3.10175 10.8175 3.00525 10.6381 3.00525L9.36273 3.00623Z",fill:"currentColor"}))}function Es(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M10.6878 9.46029L10.8421 9.49545L17.2913 11.43L17.4642 11.4974C18.2215 11.8649 18.2705 12.9544 17.5492 13.388L17.3822 13.4701L14.5872 14.5872L13.4701 17.3822C13.1135 18.2734 11.8913 18.2756 11.4974 17.4642L11.43 17.2913L9.49544 10.8421C9.26342 10.0687 9.92452 9.34418 10.6878 9.46029ZM12.4984 16.2288L13.3929 13.9954L13.4388 13.8949C13.5579 13.6675 13.7549 13.4891 13.9954 13.3929L16.2288 12.4984L10.9007 10.9007L12.4984 16.2288ZM5.90365 12.9749C6.16329 12.7153 6.58436 12.7154 6.84408 12.9749C7.10378 13.2346 7.10378 13.6557 6.84408 13.9154L5.0765 15.6829C4.8168 15.9426 4.39577 15.9426 4.13607 15.6829C3.87654 15.4232 3.87643 15.0022 4.13607 14.7425L5.90365 12.9749ZM2.83724 7.3265L5.25228 7.97299L5.37826 8.02084C5.65484 8.1591 5.80597 8.47712 5.72298 8.78744C5.63984 9.09774 5.34997 9.298 5.04134 9.27963L4.90853 9.25814L2.49349 8.61068L2.36752 8.56283C2.09082 8.42452 1.93961 8.10666 2.02279 7.79623C2.10599 7.4859 2.39574 7.28652 2.70443 7.30502L2.83724 7.3265ZM14.847 4.05111C15.1051 3.88059 15.4556 3.90894 15.6829 4.13607C15.9426 4.39577 15.9426 4.8168 15.6829 5.0765L13.9154 6.84408C13.6557 7.10378 13.2346 7.10378 12.9749 6.84408C12.7154 6.58437 12.7153 6.16329 12.9749 5.90365L14.7425 4.13607L14.847 4.05111ZM7.79623 2.02279C8.15098 1.92773 8.51562 2.13874 8.61068 2.49349L9.25814 4.90853L9.27962 5.04135C9.298 5.34998 9.09774 5.63984 8.78744 5.72299C8.47713 5.80592 8.15908 5.65484 8.02084 5.37826L7.97298 5.25228L7.3265 2.83724L7.30502 2.70443C7.28652 2.39577 7.48595 2.10603 7.79623 2.02279Z",fill:"currentColor"}))}const yp='@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid;--top-fade:0;--bottom-fade:0;--edge-fade-distance:1rem}}}@layer theme{:root,:host{--font-sans:var(--vscode-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--font-mono:var(--vscode-editor-font-family,ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace);--color-black:#000;--spacing:.25rem;--text-xs:11px;--text-xs--line-height:calc(1 / .75);--text-sm:12px;--text-sm--line-height:calc(1.25 / .875);--text-base:14px;--text-base--line-height: 1.5 ;--font-weight-medium:500;--radius-md:calc(var(--radius-md-base) * var(--corner-radius-scale));--radius-lg:calc(var(--radius-lg-base) * var(--corner-radius-scale));--radius-xl:calc(var(--radius-xl-base) * var(--corner-radius-scale));--radius-2xl:calc(var(--radius-2xl-base) * var(--corner-radius-scale));--radius-3xl:calc(var(--radius-3xl-base) * var(--corner-radius-scale));--shadow-xl:0px 8px 16px -4px #0000001f;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-token-foreground:var(--agent-text);--color-token-description-foreground:var(--agent-muted);--color-token-input-background:var(--agent-input-bg);--color-token-dropdown-background:var(--agent-surface-elevated);--color-token-border:var(--agent-border);--color-token-border-heavy:var(--agent-border-strong);--color-token-button-foreground:var(--agent-text);--color-token-button-background:var(--agent-accent);--color-token-button-secondary-foreground:var(--agent-text);--color-token-button-secondary-background:var(--agent-control);--color-token-button-secondary-hover-background:var(--agent-control-hover);--color-token-input-placeholder-foreground:var(--agent-muted);--color-token-charts-blue:var(--agent-accent);--color-token-text-tertiary:var(--agent-muted);--color-token-menu-border:var(--agent-border);--color-token-list-hover-background:var(--agent-control-hover);--color-token-side-bar-background:var(--agent-surface-elevated);--color-token-text-link-foreground:var(--agent-accent);--color-token-editor-background:var(--agent-page-bg);--corner-radius-scale:1;--radius-md-base:.5rem;--radius-lg-base:.625rem;--radius-xl-base:.75rem;--radius-2xl-base:1rem;--radius-3xl-base:1.25rem;--spacing-token-button-composer:calc(var(--spacing) * 7);--spacing-token-button-composer-sm:calc(var(--spacing) * 5);--spacing-token-button-composer-gap:var(--spacing);--h-token-button-composer-gap:var(--spacing-token-button-composer-gap)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\\[calc\\(100\\%\\+6px\\)\\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-px{margin:1px}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-\\[3px\\]{margin-right:3px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-px{margin-bottom:1px}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\\[22px\\]{width:22px;height:22px}.size-token-button-composer{width:var(--spacing-token-button-composer);height:var(--spacing-token-button-composer)}.\\!h-auto{height:auto!important}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[1lh\\]{height:1lh}.h-\\[1px\\]{height:1px}.h-auto{height:auto}.h-full{height:100%}.h-token-button-composer{height:var(--spacing-token-button-composer)}.h-token-button-composer-sm{height:var(--spacing-token-button-composer-sm)}.max-h-\\[25dvh\\]{max-height:25dvh}.max-h-\\[140px\\]{max-height:140px}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[1\\.25rem\\]{min-height:1.25rem}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-52{width:calc(var(--spacing) * 52)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-16{max-width:calc(var(--spacing) * 16)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\\[60\\%\\]{max-width:60%}.max-w-\\[77\\%\\]{max-width:77%}.max-w-\\[320px\\]{max-width:320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\\[minmax\\(0\\,auto\\)_auto_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,auto) auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[5px\\]{gap:5px}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[color\\:var\\(--gray-0\\)\\]{border-color:var(--gray-0)}.border-token-border,.border-token-border\\/80{border-color:var(--color-token-border)}@supports (color:color-mix(in lab,red,red)){.border-token-border\\/80{border-color:color-mix(in oklab,var(--color-token-border) 80%,transparent)}}.border-transparent{border-color:#0000}.bg-\\[color\\:var\\(--gray-0\\)\\]{background-color:var(--gray-0)}.bg-token-border\\/70{background-color:var(--color-token-border)}@supports (color:color-mix(in lab,red,red)){.bg-token-border\\/70{background-color:color-mix(in oklab,var(--color-token-border) 70%,transparent)}}.bg-token-button-secondary-background{background-color:var(--color-token-button-secondary-background)}.bg-token-charts-blue{background-color:var(--color-token-charts-blue)}.bg-token-dropdown-background,.bg-token-dropdown-background\\/90{background-color:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.bg-token-dropdown-background\\/90{background-color:color-mix(in oklab,var(--color-token-dropdown-background) 90%,transparent)}}.bg-token-dropdown-background\\/95{background-color:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.bg-token-dropdown-background\\/95{background-color:color-mix(in oklab,var(--color-token-dropdown-background) 95%,transparent)}}.bg-token-foreground,.bg-token-foreground\\/5{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-token-foreground\\/5{background-color:color-mix(in oklab,var(--color-token-foreground) 5%,transparent)}}.bg-token-foreground\\/10{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-token-foreground\\/10{background-color:color-mix(in oklab,var(--color-token-foreground) 10%,transparent)}}.bg-token-input-background\\/90{background-color:var(--color-token-input-background)}@supports (color:color-mix(in lab,red,red)){.bg-token-input-background\\/90{background-color:color-mix(in oklab,var(--color-token-input-background) 90%,transparent)}}.bg-token-menu-border{background-color:var(--color-token-menu-border)}.bg-token-side-bar-background{background-color:var(--color-token-side-bar-background)}.\\[mask-image\\:linear-gradient\\(to_right\\,black_calc\\(100\\%_-_0\\.25rem\\)\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000)}.\\[mask-repeat\\:no-repeat\\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.\\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\\[var\\(--padding-row-x\\)\\]{padding-inline:var(--padding-row-x)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\\[var\\(--padding-row-y\\)\\]{padding-block:var(--padding-row-y)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\!leading-none{--tw-leading:1!important;line-height:1!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-\\[calc\\(var\\(--codex-chat-font-size\\)\\+8px\\)\\]{--tw-leading:calc(var(--codex-chat-font-size) + 8px);line-height:calc(var(--codex-chat-font-size) + 8px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-current{color:currentColor}.text-token-button-secondary-foreground{color:var(--color-token-button-secondary-foreground)}.text-token-description-foreground{color:var(--color-token-description-foreground)}.text-token-dropdown-background{color:var(--color-token-dropdown-background)}.text-token-foreground{color:var(--color-token-foreground)}.text-token-input-placeholder-foreground{color:var(--color-token-input-placeholder-foreground)}.text-token-text-tertiary{color:var(--color-token-text-tertiary)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0px 2px 4px -1px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\\[0\\.5px\\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-token-border{--tw-ring-color:var(--color-token-border)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[--edge-fade-distance\\:2rem\\]{--edge-fade-distance:2rem}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\/collapsed-tool-activity\\:text-token-foreground:is(:where(.group\\/collapsed-tool-activity):hover *){color:var(--color-token-foreground)}.hover\\:bg-token-button-secondary-hover-background:hover{background-color:var(--color-token-button-secondary-hover-background)}.hover\\:bg-token-editor-background\\/40:hover{background-color:var(--color-token-editor-background)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-token-editor-background\\/40:hover{background-color:color-mix(in oklab,var(--color-token-editor-background) 40%,transparent)}}.hover\\:bg-token-list-hover-background:hover{background-color:var(--color-token-list-hover-background)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-token-button-foreground:hover{color:var(--color-token-button-foreground)}.hover\\:text-token-foreground:hover{color:var(--color-token-foreground)}}.focus\\:bg-token-list-hover-background:focus{background-color:var(--color-token-list-hover-background)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-token-button-background:focus-visible{outline-color:var(--color-token-button-background)}@media(hover:hover){.enabled\\:hover\\:bg-token-foreground\\/80:enabled:hover{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.enabled\\:hover\\:bg-token-foreground\\/80:enabled:hover{background-color:color-mix(in oklab,var(--color-token-foreground) 80%,transparent)}}.enabled\\:hover\\:bg-token-list-hover-background:enabled:hover{background-color:var(--color-token-list-hover-background)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[state\\=checked\\]\\:translate-x-\\[14px\\][data-state=checked]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=open\\]\\:bg-token-foreground\\/80[data-state=open]{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.data-\\[state\\=open\\]\\:bg-token-foreground\\/80[data-state=open]{background-color:color-mix(in oklab,var(--color-token-foreground) 80%,transparent)}}.data-\\[state\\=open\\]\\:bg-token-list-hover-background[data-state=open]{background-color:var(--color-token-list-hover-background)}.data-\\[state\\=unchecked\\]\\:translate-x-\\[2px\\][data-state=unchecked]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}@container (min-width:500px){.\\@\\[500px\\]\\:inline{display:inline}}.electron\\:rounded-md:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){border-radius:var(--radius-md)}.electron\\:p-1:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){padding:calc(var(--spacing) * 1)}.electron\\:shadow-\\[0_4px_16px_0_rgba\\(0\\,0\\,0\\,0\\.05\\)\\]:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-shadow:0 4px 16px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.electron\\:ring:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.electron\\:ring-black\\/10:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-ring-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.electron\\:ring-black\\/10:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-ring-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}@media(prefers-color-scheme:dark){.electron\\:dark\\:bg-token-dropdown-background:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){background-color:var(--color-token-dropdown-background)}}.extension\\:border:where([data-codex-window-type=extension],[data-codex-window-type=extension] *){border-style:var(--tw-border-style);border-width:1px}.extension\\:border-token-border\\/50:where([data-codex-window-type=extension],[data-codex-window-type=extension] *){border-color:var(--color-token-border)}@supports (color:color-mix(in lab,red,red)){.extension\\:border-token-border\\/50:where([data-codex-window-type=extension],[data-codex-window-type=extension] *){border-color:color-mix(in oklab,var(--color-token-border) 50%,transparent)}}.\\[\\&_\\.ProseMirror\\]\\:\\!h-5 .ProseMirror{height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:h-auto .ProseMirror{height:auto}.\\[\\&_\\.ProseMirror\\]\\:\\!min-h-5 .ProseMirror{min-height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:min-h-\\[2rem\\] .ProseMirror{min-height:2rem}.\\[\\&_\\.ProseMirror\\]\\:min-w-0 .ProseMirror{min-width:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror\\]\\:flex-1 .ProseMirror{flex:1}.\\[\\&_\\.ProseMirror\\]\\:resize-none .ProseMirror{resize:none}.\\[\\&_\\.ProseMirror\\]\\:overflow-hidden .ProseMirror{overflow:hidden}.\\[\\&_\\.ProseMirror\\]\\:leading-5 .ProseMirror{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\\[\\&_\\.ProseMirror\\]\\:whitespace-nowrap .ProseMirror{white-space:nowrap}.\\[\\&_\\.ProseMirror\\]\\:focus-visible\\:outline-none .ProseMirror:focus-visible{--tw-outline-style:none;outline-style:none}.\\[\\&_\\.ProseMirror_p\\]\\:m-0 .ProseMirror p{margin:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror_p\\]\\:overflow-hidden .ProseMirror p{overflow:hidden}.\\[\\&_\\.ProseMirror_p\\]\\:text-ellipsis .ProseMirror p{text-overflow:ellipsis}.\\[\\&_\\.ProseMirror_p\\]\\:whitespace-nowrap .ProseMirror p{white-space:nowrap}.\\[\\&_\\.contain-inline-size\\]\\:\\[contain\\:initial\\] .contain-inline-size{contain:initial}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>ol\\:first-child\\]\\:mt-0>ol:first-child,.\\[\\&\\>ul\\:first-child\\]\\:mt-0>ul:first-child{margin-top:calc(var(--spacing) * 0)}}@property --top-fade{syntax:"";inherits:false;initial-value:0}@property --bottom-fade{syntax:"";inherits:false;initial-value:0}@property --edge-fade-distance{syntax:"";inherits:false;initial-value:1rem}@keyframes edge-fade{0%,1%{--top-fade:0;--bottom-fade:var(--edge-fade-distance,1rem)}99%,to{--top-fade:var(--edge-fade-distance,1rem);--bottom-fade:0}}@supports (animation-timeline:--scroll-fade){.vertical-scroll-fade-mask{-webkit-mask:linear-gradient(to bottom in oklch,oklch(60% 0 0/0),oklch(85% 0 0) var(--top-fade) calc(100% - var(--bottom-fade)),oklch(60% 0 0/0));mask:linear-gradient(to bottom in oklch,oklch(60% 0 0/0),oklch(85% 0 0) var(--top-fade) calc(100% - var(--bottom-fade)),oklch(60% 0 0/0));animation-name:edge-fade;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(self y)}}:root{color-scheme:dark;font-family:var(--font-sans);color:var(--agent-text,#f1f0e8);--agent-page-bg:transparent;--agent-surface:#1c1f1b57;--agent-surface-elevated:#1c1f1b7a;--agent-input-bg:#080a085c;--agent-border:#e9e7d81f;--agent-border-strong:#e9e7d838;--agent-text:#f1f0e8;--agent-muted:#f1f0e894;--agent-soft:#f1f0e8c7;--agent-accent:#8ab4f8;--agent-accent-soft:#8ab4f833;--agent-danger:#ff8d7e;--agent-shadow:#0003;--agent-card:var(--agent-input-bg);background:0 0}@supports (color:color-mix(in lab,red,red)){:root{--agent-card:color-mix(in srgb, var(--agent-input-bg) 90%, transparent)}}:root{--agent-card-hover:var(--agent-input-bg)}@supports (color:color-mix(in lab,red,red)){:root{--agent-card-hover:color-mix(in srgb, var(--agent-input-bg) 96%, transparent)}}:root{--agent-control:var(--agent-input-bg)}@supports (color:color-mix(in lab,red,red)){:root{--agent-control:color-mix(in srgb, var(--agent-input-bg) 44%, transparent)}}:root{--agent-control-hover:var(--agent-soft)}@supports (color:color-mix(in lab,red,red)){:root{--agent-control-hover:color-mix(in srgb, var(--agent-soft) 8%, transparent)}}:root{--agent-primary:var(--agent-accent)}@supports (color:color-mix(in lab,red,red)){:root{--agent-primary:color-mix(in srgb, var(--agent-accent) 90%, var(--agent-text))}}:root{--agent-primary-text:#fff;--cubic-enter:cubic-bezier(.19, 1, .22, 1);--cubic-exit-snappy:cubic-bezier(.65, 0, .4, 1);--transition-duration-basic:.15s;--gray-0:#fff;--color-background-surface:transparent;--color-background-surface-under:transparent;--color-background-elevated-primary:var(--agent-surface-elevated);--color-background-elevated-primary-opaque:var(--agent-surface-elevated)}@supports (color:color-mix(in lab,red,red)){:root{--color-background-elevated-primary-opaque:color-mix(in srgb, var(--agent-surface-elevated) 100%, #111)}}:root{--color-background-elevated-secondary:var(--agent-card);--color-background-elevated-secondary-opaque:var(--agent-card)}@supports (color:color-mix(in lab,red,red)){:root{--color-background-elevated-secondary-opaque:color-mix(in srgb, var(--agent-card) 100%, #111)}}:root{--thread-content-max-width:none;--markdown-wide-block-max-width:56rem;--padding-toolbar:calc(var(--spacing) * 4);--vscode-foreground:var(--agent-text);--vscode-descriptionForeground:var(--agent-muted);--vscode-input-background:var(--agent-input-bg);--vscode-dropdown-background:var(--agent-surface-elevated);--vscode-input-placeholderForeground:var(--agent-muted);--vscode-textLink-foreground:var(--agent-accent);--vscode-textLink-activeForeground:var(--agent-accent);--vscode-list-hoverBackground:var(--agent-control-hover);--color-token-editor-foreground:var(--agent-text);--color-token-editor-background:var(--agent-page-bg);--color-token-side-bar-background:var(--agent-surface-elevated);--color-token-main-surface-primary:transparent;--color-token-text-code-block-background:var(--agent-input-bg);--color-token-bg-primary:var(--agent-surface-elevated);--color-token-bg-secondary:var(--agent-card);--color-token-bg-fog:var(--color-background-elevated-secondary);--color-token-bg-tertiary:var(--agent-control);--color-token-list-hover-background:var(--agent-control-hover);--markdown-wide-block-max-height:80vh;--conversation-block-gap:12px;--conversation-tool-assistant-gap:16px;--color-token-terminal-ansi-black:var(--vscode-terminal-ansiBlack,#000);--color-token-terminal-ansi-red:var(--vscode-terminal-ansiRed,#f66);--color-token-terminal-ansi-green:var(--vscode-terminal-ansiGreen,#94f494);--color-token-terminal-ansi-yellow:var(--vscode-terminal-ansiYellow,#f4f47b);--color-token-terminal-ansi-blue:var(--vscode-terminal-ansiBlue,#9e9eff);--color-token-terminal-ansi-magenta:var(--vscode-terminal-ansiMagenta,#db6bdb);--color-token-terminal-ansi-cyan:var(--vscode-terminal-ansiCyan,#81eeee);--color-token-terminal-ansi-white:var(--vscode-terminal-ansiWhite,#d6d6d6);--color-token-terminal-ansi-bright-black:var(--vscode-terminal-ansiBrightBlack,#6e6e6e);--color-token-terminal-ansi-bright-red:var(--vscode-terminal-ansiBrightRed,#ffa8a8);--color-token-terminal-ansi-bright-green:var(--vscode-terminal-ansiBrightGreen,#0f0);--color-token-terminal-ansi-bright-yellow:var(--vscode-terminal-ansiBrightYellow,#ffffa8);--color-token-terminal-ansi-bright-blue:var(--vscode-terminal-ansiBrightBlue,#9494ff);--color-token-terminal-ansi-bright-magenta:var(--vscode-terminal-ansiBrightMagenta,#ffb3ff);--color-token-terminal-ansi-bright-cyan:var(--vscode-terminal-ansiBrightCyan,#adffff);--color-token-terminal-ansi-bright-white:var(--vscode-terminal-ansiBrightWhite,#fff);--padding-row-x:calc(var(--spacing) * 2);--padding-row-y:calc(var(--spacing) * 1.25);--height-token-nav-row:32px;--codex-chat-font-size:var(--vscode-chat-font-size,var(--vscode-font-size,13px));--codex-chat-code-font-size:var(--vscode-chat-editor-font-size,var(--vscode-editor-font-size,12px))}:root[data-codex-window-type=electron]{background:0 0;overflow:hidden}:root[data-codex-window-type=electron] body{--padding-row-y:calc(var(--spacing) * 1.25);--height-token-nav-row:calc(var(--text-base) * 1.5 + var(--padding-row-y) * 2);--padding-panel-base:calc(var(--spacing) * 5);--padding-panel:var(--padding-panel-base);--thread-content-max-width:48rem;--markdown-wide-block-max-width:56rem;--markdown-wide-block-max-height:80vh;--conversation-block-gap:12px;--conversation-tool-assistant-gap:16px;--spacing-token-button-composer-sm:calc(var(--spacing) * 7);--text-heading-md:18px;--cursor-interaction:default;--vscode-editor-font-family:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--vscode-font-size:var(--text-base);--vscode-editor-font-size:var(--text-sm);--vscode-chat-font-size:var(--vscode-font-size);--vscode-chat-editor-font-size:var(--vscode-editor-font-size);overscroll-behavior:none;overflow:hidden}:root[data-codex-window-type=electron]:not([data-codex-os=win32]) body{background:0 0}*{box-sizing:border-box}html,body,#root{background:0 0;height:100%}body{min-width:0;color:var(--agent-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--vscode-font-weight,400);margin:0;overflow:hidden}button,select,textarea{font:inherit}button,select{cursor:default}.agent-shell{height:100%;min-height:100%;padding:var(--padding-toolbar);color:var(--agent-text);background:var(--agent-page-bg);flex-direction:column;display:flex}.agent-log,.log,.agent-thread{width:100%;min-height:0;max-width:var(--thread-content-max-width);scrollbar-width:thin;scrollbar-color:var(--agent-muted) transparent;background:0 0;flex:auto;margin:0 auto;padding:6px 2px 18px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.agent-log,.log,.agent-thread{scrollbar-color:color-mix(in srgb,var(--agent-muted) 28%,transparent) transparent}}.agent-thread{gap:var(--conversation-block-gap,12px);flex-direction:column;padding-top:10px;padding-bottom:24px;display:flex;position:relative;overflow-x:hidden}:root[data-codex-window-type=electron] .agent-thread{--color-token-description-foreground:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){:root[data-codex-window-type=electron] .agent-thread{--color-token-description-foreground:color-mix(in srgb, var(--color-token-foreground) 70%, transparent)}}.agent-thread[data-empty]{justify-content:flex-end}.text-size-chat{font-size:var(--codex-chat-font-size)}.text-size-chat-sm{font-size:calc(var(--codex-chat-font-size) - 1px)}.text-size-code{font-size:var(--codex-chat-code-font-size)}.text-size-code-sm{font-size:calc(var(--codex-chat-code-font-size) - 1px)}.font-vscode-editor{font-family:var(--vscode-editor-font-family,var(--font-mono))}.codex-user-turn,.codex-assistant-turn,.codex-notice-turn{width:100%;min-width:0}.codex-user-bubble{color:var(--color-token-foreground);background:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.codex-user-bubble{background:color-mix(in srgb,var(--color-token-foreground) 5%,transparent)}}.codex-user-message-content[data-collapsed=true]{-webkit-line-clamp:20;-webkit-box-orient:vertical;max-height:20lh;display:-webkit-box;overflow:hidden}.codex-user-message-toggle{background:0 0;border:0;padding:0}.codex-assistant-turn{justify-content:flex-start;display:flex}.codex-assistant-message{max-width:100%;color:var(--color-token-foreground);white-space:normal;overflow-wrap:anywhere}.codex-assistant-message-streaming{white-space:break-spaces}.codex-assistant-message :where(p){margin:0 0 .85em}.codex-assistant-message :where(p:last-child){margin-bottom:0}.codex-assistant-message :where(ul,ol){margin:.45em 0 .85em;padding-left:1.35rem}.codex-assistant-message :where(ul){list-style:outside}.codex-assistant-message :where(ol){list-style:decimal}.codex-assistant-message :where(li){margin:.25em 0}.codex-assistant-message :where(blockquote){border-left:2px solid var(--color-token-border);color:var(--agent-soft);margin:.75em 0;padding-left:.85rem}.codex-assistant-message :where(code){background:var(--agent-soft);border-radius:4px;padding:.12em .3em}@supports (color:color-mix(in lab,red,red)){.codex-assistant-message :where(code){background:color-mix(in srgb,var(--agent-soft) 10%,transparent)}}.codex-assistant-message :where(code){font-family:var(--font-mono);font-size:var(--codex-chat-code-font-size)}.codex-assistant-message :where(pre){border:1px solid var(--agent-border);margin:.75em 0;padding:.65rem .75rem;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.codex-assistant-message :where(pre){border:1px solid color-mix(in srgb,var(--agent-border) 72%,transparent)}}.codex-assistant-message :where(pre){border-radius:var(--radius-lg);background:var(--agent-input-bg)}@supports (color:color-mix(in lab,red,red)){.codex-assistant-message :where(pre){background:color-mix(in srgb,var(--agent-input-bg) 82%,transparent)}}.codex-assistant-message :where(pre code){white-space:pre;background:0 0;border-radius:0;padding:0;display:block}.codex-assistant-message :where(a){color:var(--agent-accent);text-underline-offset:2px;text-decoration:underline}.codex-assistant-message :where(hr){border-top:1px solid var(--color-token-border);margin:1rem 0}.codex-notice-turn{justify-content:flex-start;display:flex}.codex-notice-content{border:1px solid var(--agent-border);max-width:min(100%,44rem);padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.codex-notice-content{border:1px solid color-mix(in srgb,var(--agent-border) 74%,transparent)}}.codex-notice-content{border-radius:var(--radius-lg);color:var(--agent-soft);background:var(--agent-surface-elevated)}@supports (color:color-mix(in lab,red,red)){.codex-notice-content{background:color-mix(in srgb,var(--agent-surface-elevated) 86%,transparent)}}.codex-notice-content{overflow-wrap:anywhere}.codex-notice-turn.error .codex-notice-content{border-color:var(--agent-danger)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.error .codex-notice-content{border-color:color-mix(in srgb,var(--agent-danger) 46%,transparent)}}.codex-notice-turn.error .codex-notice-content{color:var(--agent-danger)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.error .codex-notice-content{color:color-mix(in srgb,var(--agent-danger) 88%,var(--agent-text))}}.codex-notice-turn.error .codex-notice-content{background:var(--agent-danger)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.error .codex-notice-content{background:color-mix(in srgb,var(--agent-danger) 11%,transparent)}}.codex-notice-turn.warning .codex-notice-content{border-color:var(--agent-accent)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.warning .codex-notice-content{border-color:color-mix(in srgb,var(--agent-accent) 30%,transparent)}}.codex-tool-activity-turn{flex-direction:column;align-items:flex-start;gap:0;width:100%;min-width:0;display:flex}.codex-tool-activity-summary{max-width:100%;color:var(--color-token-foreground);border:0;padding:0}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-summary{color:color-mix(in srgb,var(--color-token-foreground) 40%,transparent)}}.codex-tool-activity-summary{font:inherit;font-size:var(--codex-chat-font-size);line-height:calc(var(--codex-chat-font-size) + 8px);background:0 0}.codex-tool-activity-summary:focus-visible{outline:none}.codex-tool-activity-turn.inProgress .codex-tool-activity-summary{color:var(--color-token-description-foreground)}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-turn.inProgress .codex-tool-activity-summary{color:color-mix(in srgb,var(--color-token-description-foreground) 90%,transparent)}}.codex-tool-activity-icon{color:var(--color-token-foreground);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-icon{color:color-mix(in srgb,var(--color-token-foreground) 35%,transparent)}}.codex-tool-activity-icon{font-family:var(--font-mono);font-size:11px;line-height:1}.codex-tool-activity-turn.inProgress .codex-tool-activity-icon{animation:1.2s ease-in-out infinite codex-tool-activity-pulse}.codex-tool-activity-text{align-items:baseline;gap:4px;min-width:0;max-width:100%;display:inline-flex}.codex-tool-activity-action{color:var(--color-token-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-action{color:color-mix(in srgb,var(--color-token-foreground) 58%,transparent)}}.codex-tool-activity-detail{min-width:0;color:var(--color-token-foreground);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-detail{color:color-mix(in srgb,var(--color-token-foreground) 40%,transparent)}}.codex-tool-activity-detail{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.codex-tool-activity-summary:hover .codex-tool-activity-action,.codex-tool-activity-summary:hover .codex-tool-activity-detail,.codex-tool-activity-summary:hover .codex-tool-activity-icon{color:var(--color-token-foreground)}.codex-tool-activity-output-shell{opacity:0;pointer-events:none;grid-template-rows:0fr;width:100%;min-width:0;transition:grid-template-rows .18s ease-out,opacity .18s ease-out;display:grid;overflow:hidden}.codex-tool-activity-output-shell[data-expanded=true]{opacity:1;pointer-events:auto;grid-template-rows:1fr}.codex-tool-activity-output-shell-inner{min-height:0;overflow:hidden}.codex-tool-activity-output-frame{min-height:1.25rem;padding-right:0;position:relative}.codex-tool-activity-output{box-sizing:border-box;max-width:min(100%,var(--markdown-wide-block-max-width));max-height:140px;color:var(--color-token-description-foreground);white-space:pre;--edge-fade-distance:2rem;background:0 0;border:0;border-radius:0;flex-direction:column;gap:6px;margin:0;padding:8px;font-weight:500;display:flex;overflow:auto}.codex-tool-output-copy:focus-visible{opacity:1}@keyframes codex-tool-activity-pulse{0%,to{opacity:.45}50%{opacity:1}}.agent-log-line,.log-line{border-bottom:1px solid var(--agent-border);grid-template-columns:4.5rem minmax(0,1fr);gap:12px;padding:9px 0;display:grid}@supports (color:color-mix(in lab,red,red)){.agent-log-line,.log-line{border-bottom:1px solid color-mix(in srgb,var(--agent-border) 55%,transparent)}}.agent-log-line,.log-line{color:var(--agent-soft);font-family:var(--font-mono);font-size:12px;line-height:1.5}.agent-log-line:last-child,.log-line:last-child{border-bottom-color:#0000}.agent-log-label,.log-label{color:var(--agent-muted);text-overflow:ellipsis;text-transform:uppercase;overflow:hidden}.agent-log-line.stdout .agent-log-label,.log-line.stdout .log-label{color:var(--agent-accent)}.agent-log-line.stderr .agent-log-label,.agent-log-line.error .agent-log-label,.log-line.stderr .log-label,.log-line.error .log-label{color:var(--agent-danger)}.agent-log-text,.log-text{overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal;min-width:0}.agent-composer-stack{width:100%;max-width:var(--thread-content-max-width);gap:6px;margin:0 auto;display:grid}.above-composer-suggestion-shell{container-type:inline-size}.codex-composer-frame{--composer-top-tray-inline-padding:12px;--composer-top-tray-top-padding:14px;--composer-top-tray-max-height:177px}.codex-composer-surface{color:var(--color-token-foreground)}.codex-composer-inner{isolation:isolate}@supports (corner-shape:superellipse(1.5)){:root{--corner-radius-scale:1.25}.codex-composer-surface,.codex-user-bubble,.codex-notice-content,.provider-dropdown,.provider-dropdown-item,.add-context-dropdown,.add-context-item,.composer-attachment-file,.composer-attachment-image,.rate-limit-popover,.codex-top-tray-panel,.codex-top-tray-item{corner-shape:superellipse(1.5)}}.codex-composer-single-line{min-height:0}.composer-single-line-measure{pointer-events:none;visibility:hidden;white-space:pre;width:max-content;max-width:none;height:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:20px;position:absolute;overflow:hidden}.h-token-button-composer{height:var(--spacing-token-button-composer);gap:var(--h-token-button-composer-gap)}.h-token-button-composer-sm{height:var(--spacing-token-button-composer-sm);gap:var(--h-token-button-composer-gap)}.size-token-button-composer{width:var(--spacing-token-button-composer);height:var(--spacing-token-button-composer)}.size-token-button-composer-sm{width:var(--spacing-token-button-composer-sm);height:var(--spacing-token-button-composer-sm)}.icon-3xs{width:10px;height:10px}.icon-xxs{width:12px;height:12px}.icon-2xs{width:14px;height:14px}.icon-xs{width:16px;height:16px}.icon-sm{width:18px;height:18px}.icon-base{width:20px;height:20px}.icon-md{width:24px;height:24px}.icon-lg{width:28px;height:28px}.cursor-interaction{cursor:var(--cursor-interaction)}.no-drag{-webkit-app-region:no-drag}.outline-hidden{outline-offset:2px;outline:2px solid #0000}.user-select-none{-webkit-user-select:none;user-select:none}.shadow-xl-spread{--tw-shadow:0px 0px 0px .5px var(--tw-shadow-color,var(--color-token-border)), var(--shadow-xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}._content_1hiti_1{--dropdown-content-inset:2px;--dropdown-content-start-transform:translateY(calc(var(--dropdown-content-inset) * -1)) scale(.98);transform-origin:var(--radix-dropdown-menu-content-transform-origin);will-change:opacity,transform}._content_1hiti_1[data-side=top]{--dropdown-content-start-transform:translateY(var(--dropdown-content-inset)) scale(.98)}._content_1hiti_1[data-side=right]{--dropdown-content-start-transform:translateX(calc(var(--dropdown-content-inset) * -1)) scale(.98)}._content_1hiti_1[data-side=left]{--dropdown-content-start-transform:translateX(var(--dropdown-content-inset)) scale(.98)}@media(prefers-reduced-motion:no-preference){._content_1hiti_1[data-state=open]{animation:_dropdown-content-enter_1hiti_1 var(--transition-duration-basic) var(--cubic-enter)}}@keyframes _dropdown-content-enter_1hiti_1{0%{opacity:0;transform:var(--dropdown-content-start-transform)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}.hide-scrollbar{scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.prompt-input{resize:none;width:100%;min-height:2.75rem;max-height:200px;color:var(--color-token-foreground);font-size:var(--text-base);background:0 0;border:0;outline:none;padding:0;line-height:20px;display:block}.prompt-input::placeholder{color:var(--color-token-input-placeholder-foreground)}@supports (color:color-mix(in lab,red,red)){.prompt-input::placeholder{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 50%,transparent)}}.ProseMirror{min-width:0;color:var(--agent-text);caret-color:var(--agent-text);font-variant-ligatures:none;font-feature-settings:"liga" 0;white-space:pre-wrap;white-space:break-spaces;word-wrap:break-word;word-break:normal;background:0 0;outline:none;position:relative;overflow-y:auto}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection{caret-color:#0000;background:0 0}.ProseMirror-hideselection ::selection{caret-color:#0000;background:0 0}.ProseMirror [draggable][contenteditable=false]{-webkit-user-select:text;user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";pointer-events:none;border:2px solid #8cf;position:absolute;inset:-2px -2px -2px -32px}img.ProseMirror-separator{border:none!important;margin:0!important;display:inline!important}.ProseMirror p{margin:0}.ProseMirror .placeholder{pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.ProseMirror .placeholder:after{color:var(--color-token-input-placeholder-foreground);content:attr(data-placeholder);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:absolute;inset:0 0 auto;overflow:hidden}.ProseMirror .placeholder::selection{color:inherit;background:0 0}.ProseMirror .placeholder ::selection{color:inherit;background:0 0}.ProseMirror .ProseMirror-selectednode:has([skill-mention-name]){outline:none}.prompt-editor-mention{--inline-mention-base-color:var(--color-token-text-link-foreground)}@supports (color:color-mix(in lab,red,red)){.prompt-editor-mention{--inline-mention-base-color:color-mix(in srgb, var(--color-token-text-link-foreground) 80%, var(--color-token-foreground) 20%)}}.prompt-editor-mention{--inline-mention-color:var(--inline-mention-resolved-base-color,var(--inline-mention-base-color));max-width:100%;color:var(--inline-mention-color);vertical-align:baseline;white-space:nowrap;align-items:baseline;display:inline-flex}.prompt-editor-mention:hover{text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:.5px}.prompt-editor-mention-icon{color:currentColor}[cmdk-dialog],[cmdk-dialog]:focus-visible{outline:none}[cmdk-root],[data-cmdk-root]{z-index:1000;gap:var(--spacing);min-width:100%;padding:var(--spacing);border:1px solid var(--color-token-border);border-radius:var(--radius-3xl);color:var(--color-token-foreground);background-color:var(--color-token-dropdown-background);flex-direction:column;display:flex}@supports (color:color-mix(in lab,red,red)){[cmdk-root],[data-cmdk-root]{background-color:color-mix(in oklab,var(--color-token-dropdown-background) 95%,transparent)}}[cmdk-root],[data-cmdk-root]{font-size:var(--text-sm);opacity:1;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);--cmdk-bottom-item-radius:calc(var(--radius-3xl) - var(--spacing));transform:translateZ(0)}[cmdk-item]{content-visibility:auto;width:100%;min-height:calc(var(--spacing) * 6);padding:var(--padding-row-y) var(--padding-row-x);border-radius:var(--radius-lg);color:var(--color-token-foreground);cursor:var(--cursor-interaction);opacity:.75;-webkit-user-select:none;user-select:none;outline:none;flex-direction:row;align-items:center;display:flex}[cmdk-item][aria-disabled=true],[cmdk-item][data-disabled=true]{cursor:default;opacity:.25}[cmdk-item]:hover:not([aria-disabled=true]),[cmdk-item][data-selected=true],[cmdk-item][aria-selected=true],[cmdk-item]:focus-visible,[cmdk-item]:active:not([aria-disabled=true]){background-color:var(--color-token-list-hover-background);opacity:1}[cmdk-item][data-command-menu-loading=true],[cmdk-item][data-command-menu-loading=true]:hover,[cmdk-item][data-command-menu-loading=true][data-selected=true],[cmdk-item][data-command-menu-loading=true][aria-selected=true],[cmdk-item][data-command-menu-loading=true]:focus-visible,[cmdk-item][data-command-menu-loading=true]:active{cursor:default;opacity:.6;background-color:#0000}[cmdk-item][data-command-menu-empty-state=true],[cmdk-item][data-command-menu-empty-state=true]:hover,[cmdk-item][data-command-menu-empty-state=true][data-selected=true],[cmdk-item][data-command-menu-empty-state=true][aria-selected=true],[cmdk-item][data-command-menu-empty-state=true]:focus-visible,[cmdk-item][data-command-menu-empty-state=true]:active{cursor:default;opacity:1;background-color:#0000}[cmdk-list]{min-height:0;max-height:min(300px,var(--cmdk-list-height,300px));gap:var(--spacing);overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;transition:max-height .1s;display:flex;overflow-y:auto}[cmdk-list]:focus-visible{outline:none}.command-menu-dialog [cmdk-list]{max-height:var(--command-menu-list-max-height);scroll-padding-block-start:calc(var(--spacing) * 8)}.composer-home-top-menu [cmdk-list]{max-height:none}.composer-home-top-menu{max-height:min(320px,var(--composer-top-menu-max-height,320px));overflow:hidden}:where([cmdk-list])>[cmdk-item]:not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))),:where([cmdk-list])>[cmdk-group]:not([hidden]):not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))) [cmdk-item]:last-of-type,:where([cmdk-list])>[cmdk-list-sizer]>[cmdk-item]:not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))),:where([cmdk-list])>[cmdk-list-sizer]>[cmdk-group]:not([hidden]):not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))) [cmdk-item]:last-of-type{border-bottom-right-radius:var(--cmdk-bottom-item-radius);border-bottom-left-radius:var(--cmdk-bottom-item-radius)}[cmdk-input]{padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5)}[cmdk-input]:focus-visible{outline:none}[cmdk-empty],[data-cmdk-empty]{min-height:calc(var(--spacing) * 8);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);color:var(--color-token-description-foreground);text-align:center;white-space:pre-wrap;align-items:center;line-height:1.4;display:flex}[data-codex-window-type=electron] [cmdk-root],[data-codex-window-type=electron] [data-cmdk-root]{font-size:var(--text-base)}.codex-attachment-tray{scrollbar-width:none}.codex-attachment-tray::-webkit-scrollbar{display:none}.codex-user-attachment-tray{max-width:77%}.codex-user-attachment-tray .codex-attachment-row{justify-content:flex-end;min-width:0}.composer-attachment-image{border:1px solid var(--color-token-border-heavy);border-radius:var(--radius-lg);background:var(--color-token-input-background);flex:none;width:80px;height:80px;display:inline-flex;position:relative;overflow:visible}.composer-attachment-image img{border-radius:calc(var(--radius-lg) - 1px);object-fit:cover;width:100%;height:100%}.composer-attachment-file{border:.5px solid var(--color-token-border-heavy);flex:none;align-items:center;gap:7px;max-width:min(220px,70vw);height:32px;padding:0 30px 0 10px;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.composer-attachment-file{border:.5px solid color-mix(in srgb,var(--color-token-border-heavy) 80%,transparent)}}.composer-attachment-file{border-radius:var(--radius-lg);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.composer-attachment-file{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.composer-attachment-file-icon{color:var(--color-token-description-foreground);flex:none;display:inline-flex}.composer-attachment-file-label{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1rem;overflow:hidden}.composer-attachment-remove{border:.5px solid var(--color-token-border-heavy);justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;top:-7px;right:-7px}@supports (color:color-mix(in lab,red,red)){.composer-attachment-remove{border:.5px solid color-mix(in srgb,var(--color-token-border-heavy) 70%,transparent)}}.composer-attachment-remove{color:var(--color-token-foreground);background:var(--color-token-dropdown-background);border-radius:999px;box-shadow:0 1px 3px #0000002e}.composer-attachment-remove:hover,.composer-attachment-remove:focus-visible{background:var(--color-token-list-hover-background)}.codex-left-rail,.codex-secondary-controls,.codex-action-cluster,.model-picker,.rate-line{align-items:center;display:flex}.codex-left-rail{scrollbar-width:none;flex:0 auto;min-width:0;margin:0;padding:0;overflow-x:auto}.codex-left-rail::-webkit-scrollbar{display:none}.composer-mode-indicator{color:var(--color-token-text-link-foreground);flex:0 auto}.composer-mode-divider{background:var(--color-token-border);width:1px;height:1rem;margin:0 1px}@supports (color:color-mix(in lab,red,red)){.composer-mode-divider{background:color-mix(in srgb,var(--color-token-border) 70%,transparent)}}.composer-mode-button{min-width:0;color:var(--color-token-text-link-foreground)}.composer-mode-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.composer-mode-icon-hover,.composer-mode-button:hover .composer-mode-icon-default,.composer-mode-button:focus-visible .composer-mode-icon-default{display:none}.composer-mode-button:hover .composer-mode-icon-hover,.composer-mode-button:focus-visible .composer-mode-icon-hover{display:inline-flex}.composer-mode-label{color:currentColor;font-weight:500}.composer-context-indicator{color:var(--color-token-text-link-foreground);flex:0 auto}.composer-context-divider{background:var(--color-token-border);margin:0 1px}@supports (color:color-mix(in lab,red,red)){.composer-context-divider{background:color-mix(in srgb,var(--color-token-border) 70%,transparent)}}.composer-context-button{color:var(--color-token-text-link-foreground)}.composer-context-icon{justify-content:center;align-items:center;display:inline-flex}.composer-context-icon-hover,.composer-context-button:hover .composer-context-icon-default,.composer-context-button:focus-visible .composer-context-icon-default{display:none}.composer-context-button:hover .composer-context-icon-hover,.composer-context-button:focus-visible .composer-context-icon-hover{display:inline-flex}.composer-context-label{color:currentColor;font-weight:500}.codex-secondary-controls{flex:0 auto;justify-content:flex-end}.codex-action-cluster{flex:none;justify-content:flex-end}.model-picker-root{flex:none;align-items:center;display:inline-flex}.model-picker,.codex-tool,.codex-action{outline:none;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.codex-tool,.codex-action{line-height:18px}.model-picker{letter-spacing:0;white-space:nowrap;min-width:0;max-width:10rem}.model-icon{border:1px solid var(--agent-border-strong);flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.model-icon{border:1px solid color-mix(in srgb,var(--agent-border-strong) 70%,transparent)}}.model-icon{color:var(--agent-text);background:var(--agent-control);border-radius:999px;font-size:10px;font-weight:750;line-height:1}.model-label{min-width:0;color:var(--color-token-foreground);text-overflow:ellipsis;overflow:hidden}.model-chevron{color:var(--color-token-input-placeholder-foreground);flex:none;line-height:1}.provider-dropdown{z-index:50;border:.5px solid var(--color-token-menu-border);width:13rem;max-height:min(250px,100vh - 16px);position:absolute;bottom:calc(100% + 6px);left:0}@supports (color:color-mix(in lab,red,red)){.provider-dropdown{border:.5px solid color-mix(in srgb,var(--color-token-menu-border) 78%,transparent)}}.provider-dropdown{border-radius:var(--radius-xl);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.provider-dropdown{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.provider-dropdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.provider-dropdown-title{min-height:24px;padding:var(--padding-row-y) var(--padding-row-x);color:var(--color-token-description-foreground);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;line-height:1rem;display:flex;overflow:hidden}.provider-dropdown-item{width:100%;color:var(--color-token-foreground);text-align:left;background:0 0;border:0}.provider-dropdown-item:hover,.provider-dropdown-item:focus,.provider-dropdown-item[data-selected=true]{background:var(--color-token-list-hover-background)}.provider-dropdown-check{color:var(--color-token-foreground)}.permissions-root{flex:0 auto;min-width:0;display:inline-flex;position:relative}.permissions-trigger{color:var(--color-token-input-placeholder-foreground)}.permissions-trigger[data-permission-mode=auto-review],.permissions-item[data-permission-mode=auto-review] .permissions-item-icon{color:var(--color-token-text-link-foreground)}.permissions-trigger[data-permission-mode=full-access],.permissions-item[data-permission-mode=full-access] .permissions-item-icon{color:var(--agent-danger)}.permissions-trigger-label{color:currentColor;font-weight:500}.permissions-trigger-chevron{color:currentColor;opacity:.72}.permissions-dropdown{z-index:50;border:.5px solid var(--color-token-menu-border);width:13.5rem;max-height:min(250px,100vh - 16px);position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.permissions-dropdown{border:.5px solid color-mix(in srgb,var(--color-token-menu-border) 78%,transparent)}}.permissions-dropdown{border-radius:var(--radius-xl);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.permissions-dropdown{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.permissions-dropdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.permissions-item{width:100%;min-height:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 2);color:var(--color-token-foreground);text-align:left;background:0 0;border:0;display:flex}.permissions-item:hover,.permissions-item:focus-visible,.permissions-item[data-selected=true]{background:var(--color-token-list-hover-background)}.permissions-item-icon,.permissions-item-check{color:var(--color-token-description-foreground);justify-content:center;align-items:center;display:inline-flex}.permissions-item-label{color:var(--color-token-foreground);font-weight:500}.add-context-root{flex:none;display:inline-flex;position:relative}.add-context-dropdown{z-index:50;border:.5px solid var(--color-token-menu-border);width:max-content;min-width:120px;max-width:min(320px,100vw - 16px);max-height:min(270px,100vh - 16px);position:absolute;bottom:calc(100% + 6px);left:-8px;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.add-context-dropdown{border:.5px solid color-mix(in srgb,var(--color-token-menu-border) 78%,transparent)}}.add-context-dropdown{border-radius:var(--radius-xl);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.add-context-dropdown{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.add-context-dropdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.add-context-item{width:100%;min-height:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 1.5);color:var(--color-token-foreground);cursor:var(--cursor-interaction);text-align:left;background:0 0;border:0;display:flex}.add-context-item:hover,.add-context-item:focus-visible{background:var(--color-token-list-hover-background)}.add-context-item:disabled{cursor:default;opacity:.5}.add-context-item:disabled:hover{background:0 0}.add-context-item-icon{color:var(--color-token-description-foreground);opacity:.75;justify-content:center;align-items:center;display:inline-flex}.add-context-item:hover .add-context-item-icon,.add-context-item:focus-visible .add-context-item-icon{opacity:1}.add-context-glyph{width:14px;height:14px;color:var(--color-token-description-foreground);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.add-context-item-label{color:var(--color-token-foreground);font-weight:500}.add-context-item-detail{color:var(--color-token-description-foreground);font-size:var(--text-sm)}.add-context-separator{flex:none}.add-context-separator-line{background:var(--color-token-menu-border)}.provider-select{appearance:none;color:#0000;opacity:0;background:0 0;outline:none;width:100%;height:100%;position:absolute;inset:0}.composer-separator{background:var(--agent-border-strong);flex:none;width:1px;height:18px;margin:0 3px}@supports (color:color-mix(in lab,red,red)){.composer-separator{background:color-mix(in srgb,var(--agent-border-strong) 72%,transparent)}}.codex-start{width:auto;min-width:56px}.codex-circle-action:before{content:"";border:2px solid;border-radius:999px;width:13px;height:13px}.send-button{border-radius:999px}.provider-select:disabled{opacity:0}.rate-line{min-width:0;color:var(--agent-muted);gap:6px;padding:0 2px}@supports (color:color-mix(in lab,red,red)){.rate-line{color:color-mix(in srgb,var(--agent-muted) 88%,transparent)}}.rate-line{white-space:nowrap;font-size:12px;font-weight:500;line-height:1.35}.rate-line[hidden]{display:none}.rate-line :where(span){text-overflow:ellipsis;min-width:0;overflow:hidden}.codex-rate-limit-summary{flex-wrap:nowrap;justify-content:flex-start;overflow:hidden}.rate-limit-trigger{border-radius:var(--radius-md);max-width:100%;height:22px;color:var(--color-token-input-placeholder-foreground);border:0;padding:0 4px;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.rate-limit-trigger{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 94%,transparent)}}.rate-limit-trigger{font-size:var(--text-sm);background:0 0;font-weight:500;line-height:1}.rate-limit-trigger-inline{gap:6px;overflow:hidden}.rate-limit-trigger:hover,.rate-limit-trigger:focus-visible,.rate-limit-trigger[aria-expanded=true]{background:var(--color-token-list-hover-background);outline:none}.rate-limit-speedometer,.rate-limit-chevron{color:var(--color-token-input-placeholder-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-limit-speedometer,.rate-limit-chevron{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 86%,transparent)}}.rate-line-heading{color:var(--color-token-input-placeholder-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-line-heading{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 92%,transparent)}}.rate-limit-inline-separator{color:var(--agent-accent);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-limit-inline-separator{color:color-mix(in srgb,var(--agent-accent) 82%,transparent)}}.rate-limit-inline-segment{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.rate-limit-popover{color:var(--color-token-foreground)}.rate-limit-popover-title{color:var(--color-token-description-foreground);font-size:var(--text-xs);padding:2px 0 5px;font-weight:600}.rate-limit-popover-row{min-width:0;min-height:24px;color:var(--color-token-foreground);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.rate-limit-window{min-width:0;color:var(--color-token-foreground);text-overflow:ellipsis;font-weight:500;overflow:hidden}.rate-limit-row-value{min-width:0;color:var(--color-token-description-foreground);text-align:right;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.rate-limit-percent{color:var(--color-token-input-placeholder-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-limit-percent{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 92%,transparent)}}.rate-limit-percent{font-weight:600}.rate-limit-reset{min-width:0;color:var(--color-token-description-foreground)}.status-dot{background:var(--agent-muted);border-radius:999px;flex:none;width:6px;height:6px}.status-dot.running{background:var(--agent-accent)}.status-dot.failed{background:var(--agent-danger)}.codex-top-tray-shell{width:calc(var(--composer-top-tray-inline-padding,12px) * 2 + 100% + 8px);min-width:0;left:50%;bottom:var(--composer-top-tray-top-padding,14px);transform:translate(-50%)}.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{width:100%;min-width:0;max-height:var(--composer-top-tray-max-height,177px);padding:var(--spacing);padding-top:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 2);border:1px solid var(--composer-top-tray-border,var(--color-token-border));flex-direction:column;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{border:1px solid var(--composer-top-tray-border,color-mix(in srgb, var(--color-token-border) 72%, transparent))}}.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl);color:var(--color-token-foreground);background:var(--composer-top-tray-background,var(--color-token-side-bar-background));border-top-color:#0000;border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}@supports (color:color-mix(in lab,red,red)){.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{background:var(--composer-top-tray-background,color-mix(in oklab, var(--color-token-side-bar-background) 94%, transparent))}}.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{box-shadow:none;font-size:var(--text-sm);-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;-webkit-user-select:none;user-select:none;--cmdk-bottom-item-radius:0;overflow:hidden}.codex-top-tray-title{padding:0 var(--padding-row-x) calc(var(--spacing) * 1.25);color:var(--color-token-description-foreground);font-size:var(--text-xs);font-weight:600;line-height:1.2}.codex-top-tray-list,.codex-top-tray-panel [cmdk-list],.codex-top-tray-panel [data-cmdk-list]{gap:var(--spacing);scrollbar-width:none;flex-direction:column;flex:1;width:100%;min-height:0;max-height:none;transition:none;display:flex;overflow-y:auto}.codex-top-tray-list::-webkit-scrollbar{display:none}.codex-top-tray-empty,.codex-top-tray-panel [data-cmdk-empty]{padding:var(--padding-row-y) var(--padding-row-x);color:var(--color-token-input-placeholder-foreground);font-size:var(--text-sm);align-items:center;display:flex}.codex-top-tray-item,.codex-top-tray-item[cmdk-item],.codex-top-tray-item[data-list-navigation-item]{width:calc(100% - var(--spacing) * 2);min-height:calc(var(--spacing) * 6);padding:var(--padding-row-y) var(--padding-row-x);border-radius:var(--radius-lg);color:var(--color-token-foreground);cursor:var(--cursor-interaction,default);font-size:var(--text-sm);opacity:.75;text-align:left;background:0 0;border:0;outline:none;flex-shrink:0;align-items:center;gap:0;display:flex;overflow:hidden}.codex-top-tray-item:hover,.codex-top-tray-item[data-selected=true],.codex-top-tray-item:focus-visible{background:var(--color-token-list-hover-background);opacity:1}.codex-top-tray-icon{width:14px;height:14px;color:var(--color-token-description-foreground);font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.codex-top-tray-copy{align-items:center;gap:calc(var(--spacing) * 2);min-width:0;display:flex}.codex-top-tray-label,.codex-top-tray-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.codex-top-tray-label{color:var(--color-token-foreground);font-size:var(--text-sm)}.codex-top-tray-detail{color:var(--color-token-description-foreground);font-size:var(--text-sm);flex:1 1 0}@media(max-width:720px){.agent-shell{padding:10px}.prompt-input{min-height:2.75rem;font-size:16px}.model-picker,.codex-tool,.codex-action{height:var(--spacing-token-button-composer)}.codex-tool,.codex-action{width:var(--spacing-token-button-composer)}.codex-tool{width:var(--spacing-token-button-composer-sm);height:var(--spacing-token-button-composer-sm)}.codex-left-rail{min-width:0}.codex-action-cluster{margin-left:auto}}@media(max-width:520px){.agent-log-line,.log-line{grid-template-columns:1fr;gap:2px}.model-picker{min-width:104px;max-width:168px}.codex-tool-skill,.codex-mic,.rate-dot,.rate-limit-reset{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}';function vp(n){Xs("agent-session",yp),jo(),document.documentElement.dataset.cmuxWebviewKind="agent-session",document.body.dataset.cmuxWebviewKind="agent-session";const e=Qs(()=>Pr.jsx(yu,{}));Ys.createRoot(n).render(Pr.jsx(Gs,{router:e}))}export{vp as mountAgentSessionSurface}; +`)}function Ou({copiedLabel:n,copyLabel:e,text:t}){"use no memo";const[r,o]=b.useState(!1),i=b.useRef(null),s=r?n:e,a=b.useCallback(c=>{c!==null||i.current===null||(window.clearTimeout(i.current),i.current=null)},[]),l=b.useCallback(c=>{c.stopPropagation(),navigator.clipboard?.writeText(t)?.catch(()=>{}),o(!0),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{o(!1),i.current=null},2e3)},[t]);return f("button",{ref:a,type:"button",className:`codex-shell-copy ${ee} ${te} ${ln} rounded-full electron:rounded-md hover:bg-transparent hover:text-token-button-foreground`,"aria-label":s,title:s,onClick:l},r?Ze("icon-xxs"):xn("icon-xxs"))}function Tu({label:n,output:e}){"use no memo";const[t,r]=b.useState(!1),o=b.useRef(null),i=b.useCallback(a=>{a!==null||o.current===null||(window.clearTimeout(o.current),o.current=null)},[]),s=b.useCallback(a=>{a.stopPropagation(),navigator.clipboard?.writeText(e)?.catch(()=>{}),r(!0),o.current!==null&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{r(!1),o.current=null},2e3)},[e]);return f("button",{ref:i,type:"button",className:`codex-tool-output-copy ${ee} ${te} rounded-full electron:rounded-md electron:p-1 electron:[&>svg]:icon-sm flex items-center justify-center p-0.5 absolute top-0 right-2.5 opacity-0 transition-opacity duration-200 group-hover/output:opacity-100${t?" text-token-foreground opacity-100":""}`,"aria-label":n,title:n,onClick:s},t?Ze("icon-2xs"):xn("icon-2xs"))}function Du({copy:n,sentAtMs:e,text:t}){"use no memo";const[r,o]=b.useState(!1),i=b.useRef(null),s=n?.copyUserMessage??"",a=n?.copiedUserMessage??"",l=r?a:s,c=e==null?null:Os(e),d=b.useCallback(p=>{p!==null||i.current===null||(window.clearTimeout(i.current),i.current=null)},[]),u=b.useCallback(()=>{const p=t.trim();if(!p)return;navigator.clipboard?.writeText(p)?.catch(()=>{}),o(!0),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{o(!1),i.current=null},1500)},[t]);return f("div",{className:"codex-user-message-actions flex flex-row-reverse items-center gap-1"},f("div",{className:"mr-1 ms-1 flex items-center gap-2 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100"},c==null?null:f("span",{className:"text-xs text-token-text-tertiary"},c),f("button",{ref:d,type:"button",className:`codex-user-message-action-button ${ee} ${te} ${ln} rounded-full electron:rounded-md`,"aria-label":l,title:l,onClick:u},r?Ze("icon-xs"):xn("icon-xs"))))}function Eu({copy:n,sentAtMs:e,text:t}){"use no memo";const[r,o]=b.useState(!1),i=b.useRef(null),s=n?.copyAssistantMessage??"",a=n?.copiedAssistantMessage??s,l=r?a:s,c=e==null?null:Os(e),d=b.useCallback(p=>{p!==null||i.current===null||(window.clearTimeout(i.current),i.current=null)},[]),u=b.useCallback(()=>{const p=t.trim();if(!p)return;navigator.clipboard?.writeText(p)?.catch(()=>{}),o(!0),i.current!==null&&window.clearTimeout(i.current),i.current=window.setTimeout(()=>{o(!1),i.current=null},2e3)},[t]);return f("div",{className:"codex-assistant-message-actions mt-1.5 flex h-5 items-center justify-start gap-0.5 opacity-0 group-focus-within:opacity-100 group-hover:opacity-100"},f("button",{ref:d,type:"button",className:`codex-assistant-message-action-button ${ee} ${te} ${ln} rounded-full electron:rounded-md`,"aria-label":l,title:l,onClick:u},r?Ze("icon-xs"):xn("icon-xs")),c==null?null:f("span",{className:"ml-1.5 flex h-full items-center text-size-chat leading-5 text-token-input-placeholder-foreground"},c))}function Os(n,e=new Date){const t=new Date(n),r=Au(t,e);return r===0?new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit"}).format(t):r<0&&r>-7?new Intl.DateTimeFormat(void 0,{hour:"numeric",minute:"2-digit",weekday:"long"}).format(t):new Intl.DateTimeFormat(void 0,{day:"numeric",hour:"numeric",minute:"2-digit",month:"short"}).format(t)}function Au(n,e){const t=new Date(n.getFullYear(),n.getMonth(),n.getDate()),r=new Date(e.getFullYear(),e.getMonth(),e.getDate());return Math.round((t.getTime()-r.getTime())/864e5)}function Ru({copy:n,text:e}){"use no memo";const[t,r]=b.useState(!1),o=Iu(e),i=o&&!t,s=n?.showMore??"",a=n?.showLess??"",l=b.useCallback(()=>{r(c=>!c)},[]);return f("div",{className:"flex flex-col items-end gap-1"},f("div",{className:"codex-user-message-content text-size-chat relative w-full min-w-0 mb-px","data-collapsed":i?"true":void 0,dangerouslySetInnerHTML:{__html:Be(e)}}),o?f("button",{type:"button","aria-expanded":t,className:"codex-user-message-toggle text-size-chat mt-1.5 inline-flex cursor-interaction items-center gap-1 self-start text-token-description-foreground hover:text-token-foreground",onClick:l},f("span",null,t?a:s),gn(`icon-2xs${t?" rotate-180":""}`)):null)}function Iu(n){return n.split(/\r\n|\r|\n/).length>uu||n.length>1600}function Lu({attachments:n}){return f("div",{className:"codex-user-message-attachments flex max-w-[77%] flex-row-reverse flex-wrap items-center gap-1"},n.map(e=>f(Pu,{attachment:e,key:e.id})))}function Pu({attachment:n}){return n.kind==="image"&&n.dataUrl?f("div",{className:"user-message-image-attachment flex size-16 items-center justify-center rounded-lg border border-token-border",title:n.label},f("img",{alt:n.label,className:"h-full w-full rounded-md object-cover",referrerPolicy:"no-referrer",src:n.dataUrl})):f("div",{className:"user-message-file-attachment bg-token-dropdown-background border-token-border inline-flex max-w-[320px] items-center gap-1 rounded-full border px-2 py-1.5 text-sm",title:n.path},f("span",{className:"text-token-input-placeholder-foreground flex-shrink-0","aria-hidden":!0},Sr("icon-2xs")),f("span",{className:"flex max-w-full min-w-0 items-center gap-1"},f("span",{className:"truncate"},n.label)))}function zu({attachments:n,className:e,copy:t,onRemove:r}){return f("div",{className:`codex-attachment-tray w-full overflow-x-auto${e?` ${e}`:""}`,"data-composer-attachments-row":!0},f("div",{className:"codex-attachment-row flex min-w-max items-end gap-2"},n.map(o=>f(Fu,{attachment:o,copy:t,key:o.id,onRemove:r}))))}function Fu({attachment:n,copy:e,onRemove:t}){const r=`${e?.removeAttachment??"Remove attachment"} ${n.label}`,o=t?f("button",{className:"composer-attachment-remove",type:"button","aria-label":r,onClick:()=>t(n.id),onMouseDown:i=>i.preventDefault()},bn("icon-2xs")):null;return n.kind==="image"&&n.dataUrl?f("div",{className:"composer-attachment-image",title:n.label},f("img",{alt:"","aria-hidden":!0,src:n.dataUrl}),o):f("div",{className:"composer-attachment-file",title:n.path},f("span",{className:"composer-attachment-file-icon","aria-hidden":!0},Sr("icon-xs")),f("span",{className:"composer-attachment-file-label"},n.label),o)}function Bu(n){const e=Et.c(6),{state:t,providerDisplayName:r}=n,i=(t.context?.rateLimitRows??[]).map(La),s=t.context?.copy,[a,l]=b.useState(!1);if(i.length===0)return null;const c=s?.rateLimits??"Rate limits";let d;e[0]!==t?(d=ja(t),e[0]=t,e[1]=d):d=e[1];let u;e[2]===Symbol.for("react.memo_cache_sentinel")?(u=m=>{m.currentTarget.contains(m.relatedTarget)||l(!1)},e[2]=u):u=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=()=>l(Vu),e[3]=p):p=e[3];let h;return e[4]!==t?(h=(m,g)=>[g>0?f("span",{key:`${m.role}-separator`,className:"rate-limit-inline-separator","aria-hidden":!0},"•"):null,f(_u,{key:m.role,row:m,state:t})],e[4]=t,e[5]=h):h=e[5],f("div",{className:"rate-line codex-rate-limit-summary relative",role:"status","aria-label":`${r} ${d}`.trim(),onBlur:u},f("button",{className:"rate-limit-trigger rate-limit-trigger-inline flex min-w-0 items-center gap-1",type:"button","aria-expanded":a,onClick:p},f("span",{className:"rate-line-heading"},c),i.flatMap(h)),a?f("div",{className:"rate-limit-popover absolute bottom-[calc(100%+6px)] left-0 z-50 flex min-w-56 flex-col gap-1 rounded-xl border border-token-border bg-token-dropdown-background/95 px-3 py-2 text-sm shadow-xl-spread backdrop-blur-sm"},f("div",{className:"rate-limit-popover-title"},c),i.map(m=>f($u,{key:m.role,row:m,state:t}))):null)}function Vu(n){return!n}function _u({row:n,state:e}){const t=n,r=e.context?.copy,o=t.role==="primary"?r?.rateLimitPrimary??"Primary":r?.rateLimitSecondary??"Secondary",i=ti(t.windowDurationMins,o,{weekly:r?.rateLimitWeekly??"Weekly",monthly:r?.rateLimitMonthly??"Monthly",daysFormat:r?.rateLimitDaysFormat??"",hoursFormat:r?.rateLimitHoursFormat??"",minutesFormat:r?.rateLimitMinutesFormat??""}),s=ei(t.resetsAt);return f("span",{className:"rate-limit-inline-segment"},f("span",{className:"rate-limit-window"},i),f("span",{className:"rate-limit-percent"},Qo(t.remainingPercent)),s?f("span",{className:"rate-limit-reset"},`${r?.rateLimitResets??"resets"} ${s}`):null)}function $u({row:n,state:e}){const t=n,r=e.context?.copy,o=t.role==="primary"?r?.rateLimitPrimary??"Primary":r?.rateLimitSecondary??"Secondary",i=ti(t.windowDurationMins,o,{weekly:r?.rateLimitWeekly??"Weekly",monthly:r?.rateLimitMonthly??"Monthly",daysFormat:r?.rateLimitDaysFormat??"",hoursFormat:r?.rateLimitHoursFormat??"",minutesFormat:r?.rateLimitMinutesFormat??""}),s=ei(t.resetsAt);return f("div",{className:"rate-limit-popover-row"},f("span",{className:"rate-limit-window"},i),f("span",{className:"rate-limit-row-value"},f("span",{className:"rate-limit-percent"},Qo(t.remainingPercent)),s?f("span",{className:"rate-limit-reset"},`${r?.rateLimitResets??"resets"} ${s}`):null))}function Wu({emptyLabel:n,highlightedIndex:e,items:t,onChoose:r,onHighlight:o,query:i}){return f("div",{className:"codex-top-tray-shell absolute z-20"},f("div",{className:"codex-top-tray-panel","cmdk-root":"","data-cmdk-root":!0},f("div",{className:"codex-top-tray-list","cmdk-list":"","data-cmdk-list":!0},t.length===0?f("div",{className:"codex-top-tray-empty","cmdk-empty":"","data-cmdk-empty":!0,"data-command-menu-empty-state":"true"},n):t.map((s,a)=>{const l=s.detail?"codex-top-tray-label max-w-[60%] flex-none truncate":"codex-top-tray-label min-w-0 flex-1 truncate",c=sp(s.label,i),d=c.some(u=>!u.isMatch);return f("button",{key:s.id,className:"codex-top-tray-item",type:"button","aria-selected":a===e?"true":void 0,"cmdk-item":"","data-selected":a===e?"true":void 0,"data-list-navigation-item":!0,onMouseEnter:()=>o(a),onMouseDown:u=>u.preventDefault(),onClick:()=>r(s)},f("div",{className:"codex-top-tray-copy flex w-full items-center gap-2"},f("span",{className:"codex-top-tray-icon icon-xs shrink-0","aria-hidden":!0},s.icon),f("div",{className:l},c.map((u,p)=>f("span",{key:`${u.text}-${p}`,className:!u.isMatch&&d?"text-token-description-foreground":void 0},u.text))),s.detail?f("span",{className:"codex-top-tray-detail min-w-0 flex-1 truncate text-sm text-token-description-foreground"},s.detail):null))}))))}function Wo({icon:n,label:e,onClear:t}){return f("div",{className:"composer-mode-indicator flex min-w-0 items-center gap-1"},f("div",{className:"composer-mode-divider","aria-hidden":!0}),f("button",{className:`composer-mode-button group ${ee} ${te} ${Oe} rounded-full`,type:"button","aria-label":e,onClick:t},f("span",{className:"composer-mode-icon composer-mode-icon-default icon-xs shrink-0","aria-hidden":!0},n),f("span",{className:"composer-mode-icon composer-mode-icon-hover icon-xs shrink-0","aria-hidden":!0},bn("icon-xs")),f("span",{className:"composer-footer__label--sm composer-mode-label max-w-16 truncate"},e)))}function Hu({hideLabel:n,label:e,onClear:t}){return f("button",{className:`composer-context-button group ${ee} ${te} ${Oe} min-w-0 rounded-full`,type:"button","aria-label":e,title:e,onClick:t},f("span",{className:"composer-context-icon composer-context-icon-default icon-xs shrink-0","aria-hidden":!0},Es("icon-xs")),f("span",{className:"composer-context-icon composer-context-icon-hover icon-xs shrink-0","aria-hidden":!0},bn("icon-xs")),n?null:f("span",{className:"composer-footer__label--sm composer-context-label max-w-20 truncate"},e))}function qu({copy:n,hideLabel:e=!1,isEnabled:t,isOpen:r,mode:o,onModeChange:i,onOpenChange:s}){const a=n?.changePermissions??"Change permissions",l=Uo(n,o),c=t?["default","auto-review","full-access","custom"]:[],d=e?oa:Oe,u=h=>{i(h),s(!1)},p=t&&r;return f("div",{className:"permissions-root relative inline-flex",onBlur:h=>{t&&!h.currentTarget.contains(h.relatedTarget)&&s(!1)}},f("button",{className:`permissions-trigger ${ee} ${te} ${d} ${e?Kt:"min-w-0"} rounded-full`,type:"button","aria-label":a,"aria-haspopup":t?"menu":void 0,"aria-expanded":t?p:void 0,"aria-disabled":t?void 0:!0,"data-permission-mode":o,"data-state":p?"open":"closed",disabled:!t,onClick:()=>{t&&s(!p)},onKeyDown:h=>{t&&(h.key==="ArrowDown"&&(h.preventDefault(),s(!0)),h.key==="Escape"&&(h.preventDefault(),s(!1)))}},Ds(o,"icon-xs shrink-0"),e?null:f("span",{className:"permissions-trigger-label composer-footer__label--xs max-w-40 truncate whitespace-nowrap text-left"},l),t?f("span",{className:"permissions-trigger-chevron icon-2xs shrink-0","aria-hidden":!0},gn()):null),p?f("div",{className:"permissions-dropdown _content_1hiti_1 no-drag bg-token-dropdown-background/90 text-token-foreground ring-token-border z-50 m-px flex select-none flex-col overflow-y-auto rounded-xl ring-[0.5px] px-1 py-1 shadow-xl-spread backdrop-blur-sm",role:"menu","aria-label":a,"data-state":"open","data-side":"top",style:{"--radix-dropdown-menu-content-transform-origin":"left bottom"}},c.map(h=>f(Ju,{isSelected:h===o,key:h,label:Uo(n,h),mode:h,onSelect:()=>u(h)}))):null)}function Ju({isSelected:n,label:e,mode:t,onSelect:r}){return f("button",{className:"permissions-item no-drag group hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",type:"button",role:"menuitemradio","aria-checked":n,"data-permission-mode":t,"data-selected":n?"true":void 0,onMouseDown:o=>o.preventDefault(),onClick:r},f("span",{className:"permissions-item-icon icon-xs shrink-0","aria-hidden":!0},Ds(t,"icon-xs shrink-0")),f("span",{className:"permissions-item-label min-w-0 flex-1 truncate"},e),n?f("span",{className:"permissions-item-check icon-xs shrink-0","aria-hidden":!0},Ze()):null)}function Uu({hasIdeContext:n,isAutoContextOn:e,isOpen:t,isPickingFiles:r,isPlanMode:o,onOpenChange:i,onPickFiles:s,onToggleAutoContext:a,onTogglePlanMode:l,state:c}){const d=c.context?.copy,u=d?.addFilesAndMore??"Add files and more",p=d?.addPhotosAndFiles??"Add photos & files",m=Cr("skill",c,"").find(g=>g.id==="plan")??null;return f("div",{className:"add-context-root relative inline-flex",onBlur:g=>{g.currentTarget.contains(g.relatedTarget)||i(!1)}},f("button",{className:`codex-tool codex-tool-plus ${ee} ${te} ${Oe} ${Kt} rounded-full`,type:"button","aria-label":u,"aria-haspopup":"menu","aria-expanded":t,"data-state":t?"open":"closed",onClick:()=>i(!t),onKeyDown:g=>{g.key==="ArrowDown"&&(g.preventDefault(),i(!0)),g.key==="Escape"&&(g.preventDefault(),i(!1))}},fp()),t?f("div",{className:"add-context-dropdown _content_1hiti_1 no-drag bg-token-dropdown-background/90 text-token-foreground ring-token-border z-50 m-px flex select-none flex-col overflow-y-auto rounded-xl ring-[0.5px] px-1 py-1 shadow-xl-spread backdrop-blur-sm",role:"menu","aria-label":u,"data-state":"open","data-side":"top",style:{"--radix-dropdown-menu-content-transform-origin":"left bottom"}},f(ju,{disabled:r,icon:Sr("icon-xs"),label:p,onSelect:s}),n||m?f(Ku):null,n?f(Ho,{checked:e,icon:Es("icon-sm"),label:d?.includeIdeContext??"Include IDE context",onSelect:a}):null,m?f(Ho,{checked:o,icon:an(),label:d?.planMode??"Plan mode",onSelect:l}):null):null)}function ju({detail:n,disabled:e=!1,icon:t,label:r,onSelect:o}){return f("button",{className:"add-context-item group no-drag hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",disabled:e,type:"button",role:"menuitem",onMouseDown:i=>i.preventDefault(),onClick:e?void 0:o},f("span",{className:"add-context-item-icon icon-xs shrink-0","aria-hidden":!0},t),f("span",{className:"add-context-item-copy flex min-w-0 flex-1 items-center gap-2"},f("span",{className:"add-context-item-label min-w-0 truncate"},r),n?f("span",{className:"add-context-item-detail min-w-0 flex-1 truncate text-token-description-foreground"},n):null))}function Ho({checked:n,icon:e,label:t,onSelect:r}){const o=n?"checked":"unchecked",i=n?"relative inline-flex h-4 w-7 shrink-0 items-center rounded-full bg-token-charts-blue transition-colors duration-200 ease-out":"relative inline-flex h-4 w-7 shrink-0 items-center rounded-full bg-token-foreground/10 transition-colors duration-200 ease-out";return f("button",{className:"add-context-item group no-drag hover:bg-token-list-hover-background focus:bg-token-list-hover-background cursor-interaction text-token-foreground outline-hidden rounded-lg px-[var(--padding-row-x)] py-[var(--padding-row-y)] text-sm",type:"button",role:"menuitemcheckbox","aria-checked":n,onMouseDown:s=>s.preventDefault(),onClick:r},f("span",{className:"add-context-item-icon icon-xs shrink-0","aria-hidden":!0},e),f("span",{className:"add-context-switch-row flex w-full min-w-0 items-center justify-between gap-2"},f("span",{className:"flex min-w-0 items-center gap-2"},f("span",{className:"add-context-item-label min-w-0 truncate"},t)),f("span",{className:i,"data-state":o,"aria-hidden":!0},f("span",{className:"h-3 w-3 rounded-full border border-[color:var(--gray-0)] bg-[color:var(--gray-0)] shadow-sm transition-transform duration-200 ease-out data-[state=unchecked]:translate-x-[2px] data-[state=checked]:translate-x-[14px]","data-state":o}))))}function Ku(){return f("div",{className:"add-context-separator w-full px-[var(--padding-row-x)] py-1",role:"separator"},f("div",{className:"add-context-separator-line h-[1px] w-full bg-token-menu-border"}))}function Zu(n){return Cr("mention",n,"").find(e=>e.id==="workspace")??null}function Cr(n,e,t){const r=e.context?.copy,o=n==="mention"?[...e.context?.workingDirectory?[{id:"workspace",icon:hp("icon-xs"),label:r?.mentionCurrentWorkspace??"Current workspace",detail:jt(e.context.workingDirectory),mention:{kind:"at",label:jt(e.context.workingDirectory),name:jt(e.context.workingDirectory),path:e.context.workingDirectory,fsPath:e.context.workingDirectory}}]:[],...e.providers.map(i=>({id:i.id,icon:Ia(i),label:i.displayName,detail:i.executableName,mention:{kind:"agent",label:i.displayName,name:i.id,displayName:i.displayName,path:`provider://${i.id}`,description:i.executableName}}))]:[{id:"plan",icon:"$",label:r?.skillPlan??"Plan",detail:"$plan",mention:{kind:"skill",label:"Plan",name:"plan",displayName:"Plan",path:"skill://plan"}},{id:"review",icon:"$",label:r?.skillCodeReview??"Code review",detail:"$codex-review",mention:{kind:"skill",label:"Code review",name:"codex-review",displayName:"Code review",path:"skill://codex-review"}},{id:"research",icon:"$",label:r?.skillResearch??"Research",detail:"$research",mention:{kind:"skill",label:"Research",name:"research",displayName:"Research",path:"skill://research"}}];return Yu(o,t)}function Yu(n,e){const t=e.trim();return t?n.map(r=>({item:r,score:ip(r.label,t,[r.detail,r.mention.name])})).filter(({score:r})=>r>0).sort((r,o)=>o.score-r.score).map(({item:r})=>r):n}const qo=1,Gu=.9,Xu=.8,Qu=.17,_n=.1,$n=.999,ep=.9999,tp=.99,np=/[\\/_+.#"@[({&]/,rp=/[\\/_+.#"@[({&]/g,op=/[\s-]/,Ts=/[\s-]/g;function ip(n,e,t){const r=t.length>0?`${n} ${t.join(" ")}`:n;return ir(r,e,Jo(r),Jo(e),0,0,{})}function Jo(n){return n.toLowerCase().replace(Ts," ")}function ir(n,e,t,r,o,i,s){if(i===e.length)return o===n.length?qo:tp;const a=`${o},${i}`;if(s[a]!==void 0)return s[a];const l=r.charAt(i);let c=t.indexOf(l,o),d=0;for(;c>=0;){let u=ir(n,e,t,r,c+1,i+1,s);if(u>d){if(c===o)u*=qo;else if(np.test(n.charAt(c-1))){u*=Xu;const p=n.slice(o,c-1).match(rp);p&&o>0&&(u*=$n**p.length)}else if(op.test(n.charAt(c-1))){u*=Gu;const p=n.slice(o,c-1).match(Ts);p&&o>0&&(u*=$n**p.length)}else u*=Qu,o>0&&(u*=$n**(c-o));n.charAt(c)!==e.charAt(i)&&(u*=ep)}if(u<_n&&t.charAt(c-1)===r.charAt(i+1)||r.charAt(i+1)===r.charAt(i)&&t.charAt(c-1)!==r.charAt(i)){const p=ir(n,e,t,r,c+1,i+2,s);p*_n>u&&(u=p*_n)}u>d&&(d=u),c=t.indexOf(l,c+1)}return s[a]=d,d}function sp(n,e){const t=Array.from(n),r=e.trim();if(!r)return t.map(l=>({isMatch:!0,text:l}));const o=t.map(l=>l.toLowerCase()),i=Array.from(r.toLowerCase());let s=-1;for(let l=0;l<=o.length-i.length;l+=1)if(i.every((c,d)=>o[l+d]===c)){s=l;break}if(s>=0){const l=s+i.length;return t.map((c,d)=>({isMatch:d>=s&&d{const c=a{const r=`${t.kind}:${t.path}`;return e.has(r)?!1:(e.add(r),!0)})}function lp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M9.33467 16.6663V4.93978L4.6374 9.63704L4.1667 9.16634L3.69599 8.69661L9.52998 2.86263L9.63447 2.77767C9.8925 2.60753 10.2433 2.63564 10.4704 2.86263L16.3034 8.69661L16.3884 8.80111C16.5588 9.05922 16.5306 9.40982 16.3034 9.63704C16.0762 9.86414 15.7255 9.89242 15.4675 9.722L15.363 9.63704L10.6647 4.9388V16.6663C10.6647 17.0336 10.367 17.3314 9.99971 17.3314C9.63259 17.3312 9.33467 17.0335 9.33467 16.6663ZM4.6374 9.63704C4.3777 9.89674 3.95569 9.89674 3.69599 9.63704C3.43657 9.37744 3.43668 8.95628 3.69599 8.69661L4.6374 9.63704Z",fill:"currentColor"}))}function cp(){return f("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},f("rect",{x:"4.75",y:"4.75",width:"6.5",height:"6.5",rx:"1",fill:"currentColor"}))}function dp(){return f("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":!0},f("path",{d:"M8 2.25a2 2 0 0 0-2 2v3.25a2 2 0 1 0 4 0V4.25a2 2 0 0 0-2-2ZM4 7.5a4 4 0 0 0 8 0M8 11.5v2.25",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}))}function up(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M10 5.14295V14.8441M10 5.14295C10 1.98209 14.8475 1.94468 14.8475 5.07797L14.8473 5.1067C17.1367 5.43539 18.0436 7.54498 16.4225 9.14006C17.8633 10.5577 17.3503 13.9054 15.4449 14.6301C14.8475 17.6527 10.8056 18.4821 10 14.8441M10 5.14295C10 1.98209 5.15249 1.94468 5.15249 5.07797L5.15265 5.1067C2.86325 5.43539 1.95642 7.54498 3.57746 9.14006C2.13674 10.5577 2.64974 13.9054 4.5551 14.6301C5.15249 17.6527 9.19444 18.4821 10 14.8441",stroke:"currentColor",strokeLinejoin:"round",strokeWidth:"1.33"}))}function gn(n="icon-2xs"){return f("svg",{className:n,width:"20",height:"21",viewBox:"0 0 20 21",fill:"none","aria-hidden":!0},f("path",{d:"M15.2793 7.71101C15.539 7.45131 15.961 7.45131 16.2207 7.71101C16.4804 7.97071 16.4804 8.39272 16.2207 8.65242L10.4707 14.4024C10.211 14.6621 9.78902 14.6621 9.52932 14.4024L3.77932 8.65242L3.69436 8.54792C3.52385 8.28979 3.55205 7.93828 3.77932 7.71101C4.00659 7.48374 4.3581 7.45554 4.61623 7.62605L4.72073 7.71101L10 12.9903L15.2793 7.71101Z",fill:"currentColor",stroke:"currentColor",strokeWidth:"0.6"}))}function pp(n="icon-2xs"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M7.52925 3.7793C7.75652 3.55203 8.10803 3.52383 8.36616 3.69434L8.47065 3.7793L14.2207 9.5293C14.4804 9.789 14.4804 10.211 14.2207 10.4707L8.47065 16.2207C8.21095 16.4804 7.78895 16.4804 7.52925 16.2207C7.26955 15.961 7.26955 15.539 7.52925 15.2793L12.8085 10L7.52925 4.7207L7.44429 4.61621C7.27378 4.35808 7.30198 4.00657 7.52925 3.7793Z",fill:"currentColor"}))}function xn(n="icon-sm"){return f("svg",{className:n,width:"21",height:"21",viewBox:"0 0 21 21",fill:"none","aria-hidden":!0},f("path",{d:"M13.468 11.1216C13.468 10.4107 13.468 9.91717 13.4367 9.53369C13.4137 9.25191 13.3758 9.0622 13.3244 8.91846L13.2687 8.78858C13.1148 8.48652 12.8803 8.23344 12.593 8.05713L12.466 7.98584C12.308 7.90546 12.0963 7.84854 11.7209 7.81787C11.3374 7.78656 10.8439 7.78662 10.133 7.78662H7.29999C6.58895 7.78662 6.09562 7.78654 5.7121 7.81787C5.43015 7.84091 5.24064 7.87872 5.09686 7.93018L4.96698 7.98584C4.66487 8.13977 4.41184 8.37419 4.23554 8.66162L4.16522 8.78858C4.08477 8.94657 4.02794 9.15811 3.99725 9.53369C3.96594 9.91718 3.96503 10.4107 3.96503 11.1216V13.9546C3.96503 14.6656 3.96592 15.159 3.99725 15.5425C4.02796 15.9182 4.08471 16.1296 4.16522 16.2876L4.23554 16.4136C4.41185 16.7012 4.66472 16.9353 4.96698 17.0894L5.09686 17.146C5.24061 17.1974 5.43024 17.2343 5.7121 17.2573C6.09562 17.2887 6.58895 17.2896 7.29999 17.2896H10.133C10.8439 17.2896 11.3374 17.2886 11.7209 17.2573C12.0965 17.2266 12.308 17.1698 12.466 17.0894L12.593 17.019C12.8804 16.8427 13.1148 16.5897 13.2687 16.2876L13.3244 16.1577C13.3759 16.0139 13.4137 15.8244 13.4367 15.5425C13.468 15.159 13.468 14.6656 13.468 13.9546V11.1216ZM14.798 13.1196C15.2528 13.118 15.6011 13.1147 15.8879 13.0913C16.2634 13.0606 16.475 13.0038 16.633 12.9233L16.759 12.8521C17.0466 12.6757 17.2808 12.4228 17.4348 12.1206L17.4914 11.9907C17.5428 11.847 17.5797 11.6572 17.6027 11.3755C17.634 10.992 17.6349 10.4985 17.6349 9.7876V6.95459C17.6349 6.24355 17.6341 5.75022 17.6027 5.3667C17.5797 5.08484 17.5428 4.89522 17.4914 4.75147L17.4348 4.62158C17.2807 4.31933 17.0466 4.06645 16.759 3.89014L16.633 3.81982C16.475 3.73932 16.2636 3.68256 15.8879 3.65186C15.5044 3.62052 15.011 3.61963 14.3 3.61963H11.467C10.7561 3.61963 10.2626 3.62054 9.87909 3.65186C9.59738 3.67487 9.40759 3.71179 9.26386 3.76318L9.13397 3.81982C8.83175 3.97382 8.57885 4.20802 8.40253 4.49561L8.33124 4.62158C8.25079 4.77957 8.19396 4.99114 8.16327 5.3667C8.13984 5.65352 8.13561 6.00178 8.13397 6.45654H10.133C10.822 6.45654 11.3791 6.4559 11.8293 6.49268C12.2873 6.5301 12.6937 6.6093 13.0705 6.80127L13.2883 6.92334C13.7839 7.22739 14.1878 7.66313 14.4533 8.18408L14.5197 8.32666C14.6642 8.66318 14.7291 9.02433 14.7619 9.42529C14.7987 9.8755 14.798 10.4326 14.798 11.1216V13.1196ZM18.965 9.7876C18.965 10.4766 18.9657 11.0337 18.9289 11.4839C18.8961 11.8848 18.8311 12.246 18.6867 12.5825L18.6203 12.7251C18.3548 13.246 17.9509 13.6818 17.4553 13.9858L17.2365 14.1079C16.8599 14.2998 16.4541 14.3791 15.9963 14.4165C15.6592 14.444 15.2624 14.4481 14.7951 14.4497C14.7935 14.917 14.7894 15.3138 14.7619 15.6509C14.7292 16.0516 14.664 16.4122 14.5197 16.7485L14.4533 16.8911C14.1878 17.4122 13.7841 17.8487 13.2883 18.1528L13.0705 18.2749C12.6937 18.4669 12.2873 18.5461 11.8293 18.5835C11.3791 18.6203 10.822 18.6196 10.133 18.6196H7.29999C6.6109 18.6196 6.05394 18.6203 5.6037 18.5835C5.20305 18.5508 4.84233 18.4855 4.50604 18.3413L4.36347 18.2749C3.84243 18.0094 3.40584 17.6056 3.10175 17.1099L2.97968 16.8911C2.78787 16.5145 2.70849 16.1087 2.67108 15.6509C2.6343 15.2006 2.63495 14.6437 2.63495 13.9546V11.1216C2.63495 10.4326 2.63431 9.8755 2.67108 9.42529C2.7085 8.96729 2.78771 8.56084 2.97968 8.18408L3.10175 7.96631C3.40585 7.47049 3.84235 7.06679 4.36347 6.80127L4.50604 6.73486C4.84236 6.59059 5.20302 6.52542 5.6037 6.49268C5.9405 6.46516 6.33707 6.4601 6.80389 6.4585C6.8055 5.99167 6.81056 5.5951 6.83807 5.2583C6.87549 4.80047 6.95482 4.39471 7.14667 4.01807L7.26874 3.79932C7.5728 3.30371 8.00855 2.89973 8.52948 2.63428L8.67206 2.56787C9.00854 2.42345 9.36978 2.35844 9.77069 2.32568C10.2209 2.28891 10.778 2.28955 11.467 2.28955H14.3C14.9891 2.28955 15.546 2.2889 15.9963 2.32568C16.4541 2.3631 16.8599 2.44247 17.2365 2.63428L17.4553 2.75635C17.951 3.06044 18.3548 3.49703 18.6203 4.01807L18.6867 4.16065C18.8309 4.49694 18.8962 4.85765 18.9289 5.2583C18.9657 5.70854 18.965 6.2655 18.965 6.95459V9.7876Z",fill:"currentColor"}))}function Ze(n){return f("svg",{className:n,width:"17",height:"17",viewBox:"0 0 17 17",fill:"none","aria-hidden":!0},f("path",{d:"M12.8961 3.64101C13.1297 3.41418 13.4984 3.37523 13.7779 3.56581C14.0571 3.75635 14.1554 4.11331 14.0299 4.41347L13.9615 4.53847L7.71151 13.7045C7.59411 13.8767 7.4063 13.9877 7.19881 14.0072C6.99136 14.0267 6.78564 13.9533 6.63826 13.806L2.88826 10.056L2.79842 9.9457C2.6192 9.67407 2.64927 9.30496 2.88826 9.06581C3.12738 8.82669 3.49647 8.79676 3.76815 8.97597L3.8785 9.06581L7.03084 12.2182L12.8053 3.74941L12.8961 3.64101Z",fill:"currentColor"}))}function bn(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M5.96967 5.96967C6.26256 5.67678 6.73744 5.67678 7.03033 5.96967L10 8.93934L12.9697 5.96967C13.2626 5.67678 13.7374 5.67678 14.0303 5.96967C14.3232 6.26256 14.3232 6.73744 14.0303 7.03033L11.0607 10L14.0303 12.9697C14.3232 13.2626 14.3232 13.7374 14.0303 14.0303C13.7374 14.3232 13.2626 14.3232 12.9697 14.0303L10 11.0607L7.03033 14.0303C6.73744 14.3232 6.26256 14.3232 5.96967 14.0303C5.67678 13.7374 5.67678 13.2626 5.96967 12.9697L8.93934 10L5.96967 7.03033C5.67678 6.73744 5.67678 6.26256 5.96967 5.96967Z",fill:"currentColor"}))}function fp(){return f("svg",{className:"icon-sm",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M9.33496 16.5V10.665H3.5C3.13273 10.665 2.83496 10.3673 2.83496 10C2.83496 9.63273 3.13273 9.33496 3.5 9.33496H9.33496V3.5C9.33496 3.13273 9.63273 2.83496 10 2.83496C10.3673 2.83496 10.665 3.13273 10.665 3.5V9.33496H16.5L16.6338 9.34863C16.9369 9.41057 17.165 9.67857 17.165 10C17.165 10.3214 16.9369 10.5894 16.6338 10.6514L16.5 10.665H10.665V16.5C10.665 16.8673 10.3673 17.165 10 17.165C9.63273 17.165 9.33496 16.8673 9.33496 16.5Z",fill:"currentColor"}))}function Sr(n="icon-sm"){return f("svg",{className:n,width:"21",height:"21",viewBox:"0 0 21 21",fill:"none","aria-hidden":!0},f("path",{d:"M4.43945 12.8041V7.68261C4.43945 7.30642 4.74446 7.00141 5.12066 7.00141C5.49685 7.00141 5.80186 7.30642 5.80186 7.68261V12.8041C5.80186 15.2565 7.78984 17.2445 10.2422 17.2445C12.6945 17.2445 14.6825 15.2565 14.6825 12.8041V5.9751C14.6823 4.46587 13.4589 3.24247 11.9497 3.24229C10.4403 3.24229 9.21606 4.46576 9.21588 5.9751V12.8041C9.21588 13.3708 9.67553 13.8304 10.2422 13.8304C10.8088 13.8304 11.2685 13.3708 11.2685 12.8041V7.68261C11.2685 7.30642 11.5735 7.00141 11.9497 7.00141C12.3257 7.00159 12.6309 7.30653 12.6309 7.68261V12.8041C12.6309 14.1232 11.5612 15.1929 10.2422 15.1929C8.92314 15.1929 7.85347 14.1232 7.85347 12.8041V5.9751C7.85365 3.71337 9.68791 1.87988 11.9497 1.87988C14.2113 1.88006 16.0447 3.71348 16.0449 5.9751V12.8041C16.0449 16.0089 13.4469 18.6069 10.2422 18.6069C7.03745 18.6069 4.43945 16.0089 4.43945 12.8041Z",fill:"currentColor"}))}function hp(n="icon-sm"){return f("svg",{className:n,width:20,height:20,viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:Zo,fill:"currentColor"}))}function an(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.69336 11.0557C7.05891 11.1944 8.12484 12.3479 8.125 13.75L8.11035 14.0273C7.97144 15.3928 6.81814 16.459 5.41602 16.459L5.13965 16.4443C3.86514 16.3149 2.85128 15.3018 2.72168 14.0273L2.70801 13.75C2.70818 12.2546 3.92061 11.0423 5.41602 11.042L5.69336 11.0557ZM5.41602 12.3721C4.65515 12.3724 4.03826 12.9891 4.03809 13.75C4.03826 14.5109 4.65515 15.1286 5.41602 15.1289C6.17714 15.1289 6.79475 14.5111 6.79492 13.75C6.79475 12.9889 6.17714 12.3721 5.41602 12.3721Z",fill:"currentColor"}),f("path",{d:"M16.8008 13.0986C17.1036 13.1608 17.3311 13.4288 17.3311 13.75C17.3311 14.0712 17.1036 14.3392 16.8008 14.4014L16.666 14.415H10.833C10.4659 14.4149 10.168 14.1172 10.168 13.75C10.168 13.3828 10.4659 13.0851 10.833 13.085H16.666L16.8008 13.0986Z",fill:"currentColor"}),f("path",{d:"M16.8008 5.59863C17.1036 5.66081 17.3311 5.92879 17.3311 6.25C17.3311 6.57121 17.1036 6.83919 16.8008 6.90137L16.666 6.91504H10.833C10.4659 6.91491 10.168 6.61719 10.168 6.25C10.168 5.88281 10.4659 5.58509 10.833 5.58496H16.666L16.8008 5.59863Z",fill:"currentColor"}),f("path",{d:"M7.13311 3.76578C7.35346 3.47216 7.771 3.4128 8.06475 3.63297C8.35843 3.85336 8.41789 4.27084 8.19757 4.56461L5.19757 8.56461C5.0819 8.71866 4.90439 8.81462 4.71221 8.82828C4.5201 8.84178 4.33083 8.77209 4.19464 8.6359L2.69464 7.1359C2.43512 6.87623 2.43512 6.45415 2.69464 6.19449C2.95429 5.93484 3.37633 5.93493 3.63604 6.19449L4.59307 7.15152L7.13311 3.76578Z",fill:"currentColor"}))}function mp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M12.6683 4.16699C12.6683 3.84391 12.4065 3.58203 12.0834 3.58203C11.7603 3.58203 11.4984 3.84391 11.4984 4.16699V7.91699L11.4847 8.05078C11.4227 8.35375 11.1547 8.58203 10.8334 8.58203C10.4662 8.58203 10.1685 8.28411 10.1683 7.91699V3.75C10.1683 3.42691 9.90646 3.16504 9.58337 3.16504C9.26029 3.16504 8.99841 3.42691 8.99841 3.75V7.91699C8.99824 8.28411 8.70053 8.58203 8.33337 8.58203C7.96621 8.58203 7.66851 8.28411 7.66833 7.91699V5C7.66833 4.67691 7.40646 4.41504 7.08337 4.41504C6.76029 4.41504 6.49841 4.67691 6.49841 5V9.30371C6.53326 9.3429 6.56715 9.38359 6.59998 9.42578L8.02478 11.2588C8.25005 11.5486 8.19821 11.9659 7.90857 12.1914C7.6187 12.4169 7.20048 12.365 6.97498 12.0752L5.55017 10.2432C5.15812 9.7391 4.41813 9.73637 4.01501 10.1924C4.04396 10.426 4.11486 10.8323 4.25525 11.3486C4.44664 12.0525 4.75404 12.9113 5.21619 13.7383C6.14103 15.3931 7.62465 16.835 10.0004 16.835C12.8545 16.8348 15.1682 14.5211 15.1683 11.667V6.25C15.1683 5.92691 14.9065 5.66504 14.5834 5.66504C14.2603 5.66504 13.9984 5.92691 13.9984 6.25V9.16699C13.9982 9.53411 13.7005 9.83203 13.3334 9.83203C12.9662 9.83203 12.6685 9.53411 12.6683 9.16699V4.16699ZM13.9984 4.42578C14.1828 4.36671 14.3794 4.33496 14.5834 4.33496C15.641 4.33496 16.4984 5.19237 16.4984 6.25V11.667C16.4982 15.2557 13.589 18.1649 10.0004 18.165C6.95953 18.165 5.10939 16.2734 4.05505 14.3867C3.52774 13.4431 3.1843 12.4787 2.97205 11.6982C2.76447 10.9349 2.66834 10.2954 2.66833 10C2.66833 9.87959 2.70117 9.76148 2.76306 9.6582C3.28988 8.78018 4.26555 8.40372 5.16833 8.56152V5C5.16833 3.94237 6.02575 3.08496 7.08337 3.08496C7.31706 3.08496 7.54039 3.12845 7.74744 3.20508C7.98218 2.41297 8.7151 1.83496 9.58337 1.83496C10.1836 1.83496 10.7186 2.11176 11.0697 2.54395C11.3639 2.35978 11.7107 2.25195 12.0834 2.25195C13.141 2.25195 13.9984 3.10937 13.9984 4.16699V4.42578Z",fill:"currentColor"}))}function gp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.06543 1.95123C9.66107 1.69076 10.3389 1.69071 10.9346 1.95123L15.9346 4.13873C16.7832 4.51008 17.3311 5.34917 17.3311 6.27545V10.5528C17.3309 14.6017 14.0489 17.8847 10 17.8848C5.95108 17.8846 2.66813 14.6017 2.66797 10.5528V6.27545C2.66797 5.34924 3.21695 4.51012 4.06543 4.13873L9.06543 1.95123ZM10.4014 3.16998C10.1456 3.05814 9.85444 3.05819 9.59863 3.16998L4.59863 5.35748C4.23427 5.51708 3.99805 5.87764 3.99805 6.27545V10.5528C3.99821 13.8671 6.68563 16.5546 10 16.5547C13.3144 16.5546 16.0008 13.8671 16.001 10.5528V6.27545C16.001 5.87756 15.7658 5.51703 15.4014 5.35748L10.4014 3.16998Z",fill:"currentColor"}),f("path",{d:"M13.4678 11.4318L13.333 11.4182H10.833C10.466 11.4183 10.1682 11.7162 10.168 12.0832C10.168 12.4504 10.4659 12.7481 10.833 12.7482H13.333L13.4678 12.7346C13.7706 12.6724 13.9981 12.4044 13.9981 12.0832C13.9979 11.7621 13.7706 11.494 13.4678 11.4318Z",fill:"currentColor"}),f("path",{d:"M7.65336 12.426C7.46431 12.7406 7.05607 12.8424 6.74125 12.6535C6.42646 12.4646 6.32395 12.0563 6.51274 11.7414L7.55668 10.0002L6.51274 8.25899C6.32395 7.94412 6.42646 7.53583 6.74125 7.34688C7.05607 7.15799 7.46431 7.25975 7.65336 7.57442L8.90336 9.6584C9.0296 9.86893 9.0296 10.1315 8.90336 10.342L7.65336 12.426Z",fill:"currentColor"}))}function xp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.06543 1.95123C9.66107 1.69076 10.3389 1.69071 10.9346 1.95123L15.9346 4.13873C16.7832 4.51008 17.3311 5.34917 17.3311 6.27545V10.5528C17.3309 14.6017 14.0489 17.8847 10 17.8848C5.95108 17.8846 2.66813 14.6017 2.66797 10.5528V6.27545C2.66797 5.34924 3.21695 4.51012 4.06543 4.13873L9.06543 1.95123ZM10.4014 3.16998C10.1456 3.05814 9.85444 3.05819 9.59863 3.16998L4.59863 5.35748C4.23427 5.51708 3.99805 5.87764 3.99805 6.27545V10.5528C3.99821 13.8671 6.68563 16.5546 10 16.5547C13.3144 16.5546 16.0008 13.8671 16.001 10.5528V6.27545C16.001 5.87756 15.7658 5.51703 15.4014 5.35748L10.4014 3.16998Z",fill:"currentColor"}),f("path",{d:"M10.8883 13.1116C10.8883 13.6025 10.4903 14.0005 9.99936 14.0005C9.50844 14.0005 9.11047 13.6025 9.11047 13.1116C9.11047 12.6207 9.50844 12.2227 9.99936 12.2227C10.4903 12.2227 10.8883 12.6207 10.8883 13.1116Z",fill:"currentColor"}),f("path",{d:"M10.5169 10.8949L11.1135 7.31519C11.2283 6.62672 10.6974 6 9.99941 6C9.30145 6 8.77053 6.62672 8.88528 7.31519L9.4819 10.8949C9.52406 11.1479 9.74294 11.3333 9.99941 11.3333C10.2559 11.3333 10.4748 11.1479 10.5169 10.8949Z",fill:"currentColor"}))}function bp(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M9.99944 7.24939C11.5169 7.2495 12.7473 8.47995 12.7475 9.99744C12.7475 11.5151 11.517 12.7454 9.99944 12.7455C8.48176 12.7455 7.2514 11.5151 7.2514 9.99744C7.25155 8.47988 8.48186 7.24939 9.99944 7.24939ZM9.99944 8.57947C9.2164 8.57947 8.58163 9.21442 8.58148 9.99744C8.58148 10.7806 9.2163 11.4154 9.99944 11.4154C10.7825 11.4153 11.4174 10.7805 11.4174 9.99744C11.4173 9.21449 10.7824 8.57958 9.99944 8.57947Z",fill:"currentColor"}),f("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6391 1.67517C11.2939 1.67532 11.8991 2.02577 12.226 2.59314L13.2485 4.36755H15.2963C15.9505 4.36758 16.555 4.71709 16.8823 5.28357L17.5219 6.39001C17.8489 6.95668 17.8481 7.65542 17.5209 8.22205L16.4975 9.99451L17.5239 11.7689C17.8519 12.3357 17.8521 13.0347 17.5248 13.6019L16.8862 14.7084C16.559 15.2747 15.9543 15.6243 15.3002 15.6244H13.2514L12.2299 17.3988C11.9029 17.9663 11.297 18.3168 10.642 18.3168L9.3637 18.3158C8.71064 18.3155 8.10718 17.9678 7.77972 17.4027L6.74847 15.6234L4.69964 15.6244C4.04558 15.6242 3.44087 15.2747 3.1137 14.7084L2.47503 13.6019C2.14791 13.0349 2.14836 12.3366 2.47601 11.7699L3.50237 9.99548L2.47894 8.22205C2.15175 7.65533 2.15174 6.95673 2.47894 6.39001L3.11761 5.28259C3.44458 4.71663 4.04894 4.36813 4.70257 4.36755L6.75042 4.36658L7.77581 2.59119C8.10301 2.02476 8.7076 1.67527 9.36175 1.67517H10.6391ZM9.36273 3.00623C9.1835 3.00623 9.01679 3.10199 8.92718 3.2572L7.82659 5.16345C7.63652 5.49253 7.28473 5.69529 6.90472 5.69568L4.70355 5.69763C4.52451 5.69782 4.3585 5.79355 4.26898 5.94861L3.6303 7.05505C3.54091 7.2102 3.54077 7.40192 3.6303 7.55701L4.73089 9.46326C4.92108 9.7929 4.92135 10.1992 4.73089 10.5287L3.62737 12.4359C3.5378 12.591 3.53792 12.7817 3.62737 12.9369L4.26605 14.0433C4.35567 14.1982 4.52067 14.2932 4.69964 14.2933L6.90276 14.2943C7.28242 14.2946 7.63335 14.497 7.82366 14.8256L8.93011 16.7357C9.01984 16.8905 9.18578 16.9857 9.36468 16.9857H10.642C10.8213 16.9857 10.987 16.89 11.0766 16.7347L12.1752 14.8275C12.3653 14.4975 12.7182 14.2943 13.0991 14.2943H15.3002C15.4794 14.2942 15.6452 14.1985 15.7348 14.0433L16.3725 12.9379C16.4621 12.7826 16.4621 12.5911 16.3725 12.4359L15.27 10.5287C15.1032 10.2404 15.0808 9.89331 15.2055 9.59021L15.269 9.46326L16.3696 7.55701C16.4591 7.40189 16.459 7.21022 16.3696 7.05505L15.7309 5.94861C15.6412 5.79363 15.4754 5.69863 15.2963 5.69861L13.0951 5.69763L12.9535 5.68884C12.6751 5.65158 12.4217 5.50519 12.2504 5.28259L12.1723 5.16443L11.0737 3.2572C10.9841 3.10175 10.8175 3.00525 10.6381 3.00525L9.36273 3.00623Z",fill:"currentColor"}))}function Es(n="icon-sm"){return f("svg",{className:n,width:"20",height:"20",viewBox:"0 0 20 20",fill:"none","aria-hidden":!0},f("path",{d:"M10.6878 9.46029L10.8421 9.49545L17.2913 11.43L17.4642 11.4974C18.2215 11.8649 18.2705 12.9544 17.5492 13.388L17.3822 13.4701L14.5872 14.5872L13.4701 17.3822C13.1135 18.2734 11.8913 18.2756 11.4974 17.4642L11.43 17.2913L9.49544 10.8421C9.26342 10.0687 9.92452 9.34418 10.6878 9.46029ZM12.4984 16.2288L13.3929 13.9954L13.4388 13.8949C13.5579 13.6675 13.7549 13.4891 13.9954 13.3929L16.2288 12.4984L10.9007 10.9007L12.4984 16.2288ZM5.90365 12.9749C6.16329 12.7153 6.58436 12.7154 6.84408 12.9749C7.10378 13.2346 7.10378 13.6557 6.84408 13.9154L5.0765 15.6829C4.8168 15.9426 4.39577 15.9426 4.13607 15.6829C3.87654 15.4232 3.87643 15.0022 4.13607 14.7425L5.90365 12.9749ZM2.83724 7.3265L5.25228 7.97299L5.37826 8.02084C5.65484 8.1591 5.80597 8.47712 5.72298 8.78744C5.63984 9.09774 5.34997 9.298 5.04134 9.27963L4.90853 9.25814L2.49349 8.61068L2.36752 8.56283C2.09082 8.42452 1.93961 8.10666 2.02279 7.79623C2.10599 7.4859 2.39574 7.28652 2.70443 7.30502L2.83724 7.3265ZM14.847 4.05111C15.1051 3.88059 15.4556 3.90894 15.6829 4.13607C15.9426 4.39577 15.9426 4.8168 15.6829 5.0765L13.9154 6.84408C13.6557 7.10378 13.2346 7.10378 12.9749 6.84408C12.7154 6.58437 12.7153 6.16329 12.9749 5.90365L14.7425 4.13607L14.847 4.05111ZM7.79623 2.02279C8.15098 1.92773 8.51562 2.13874 8.61068 2.49349L9.25814 4.90853L9.27962 5.04135C9.298 5.34998 9.09774 5.63984 8.78744 5.72299C8.47713 5.80592 8.15908 5.65484 8.02084 5.37826L7.97298 5.25228L7.3265 2.83724L7.30502 2.70443C7.28652 2.39577 7.48595 2.10603 7.79623 2.02279Z",fill:"currentColor"}))}const yp='@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid;--top-fade:0;--bottom-fade:0;--edge-fade-distance:1rem}}}@layer theme{:root,:host{--font-sans:var(--vscode-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);--font-mono:var(--vscode-editor-font-family,ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, monospace);--color-black:#000;--spacing:.25rem;--text-xs:11px;--text-xs--line-height:calc(1 / .75);--text-sm:12px;--text-sm--line-height:calc(1.25 / .875);--text-base:14px;--text-base--line-height: 1.5 ;--font-weight-medium:500;--radius-md:calc(var(--radius-md-base) * var(--corner-radius-scale));--radius-lg:calc(var(--radius-lg-base) * var(--corner-radius-scale));--radius-xl:calc(var(--radius-xl-base) * var(--corner-radius-scale));--radius-2xl:calc(var(--radius-2xl-base) * var(--corner-radius-scale));--radius-3xl:calc(var(--radius-3xl-base) * var(--corner-radius-scale));--shadow-xl:0px 8px 16px -4px #0000001f;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-token-foreground:var(--agent-text);--color-token-description-foreground:var(--agent-muted);--color-token-input-background:var(--agent-input-bg);--color-token-dropdown-background:var(--agent-surface-elevated);--color-token-border:var(--agent-border);--color-token-border-heavy:var(--agent-border-strong);--color-token-button-foreground:var(--agent-text);--color-token-button-background:var(--agent-accent);--color-token-button-secondary-foreground:var(--agent-text);--color-token-button-secondary-background:var(--agent-control);--color-token-button-secondary-hover-background:var(--agent-control-hover);--color-token-input-placeholder-foreground:var(--agent-muted);--color-token-charts-blue:var(--agent-accent);--color-token-text-tertiary:var(--agent-muted);--color-token-menu-border:var(--agent-border);--color-token-list-hover-background:var(--agent-control-hover);--color-token-side-bar-background:var(--agent-surface-elevated);--color-token-text-link-foreground:var(--agent-accent);--color-token-editor-background:var(--agent-page-bg);--corner-radius-scale:1;--radius-md-base:.5rem;--radius-lg-base:.625rem;--radius-xl-base:.75rem;--radius-2xl-base:1rem;--radius-3xl-base:1.25rem;--spacing-token-button-composer:calc(var(--spacing) * 7);--spacing-token-button-composer-sm:calc(var(--spacing) * 5);--spacing-token-button-composer-gap:var(--spacing);--h-token-button-composer-gap:var(--spacing-token-button-composer-gap)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\\[calc\\(100\\%\\+6px\\)\\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-px{margin:1px}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-\\[3px\\]{margin-right:3px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-px{margin-bottom:1px}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\\[22px\\]{width:22px;height:22px}.size-token-button-composer{width:var(--spacing-token-button-composer);height:var(--spacing-token-button-composer)}.\\!h-auto{height:auto!important}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[1lh\\]{height:1lh}.h-\\[1px\\]{height:1px}.h-auto{height:auto}.h-full{height:100%}.h-token-button-composer{height:var(--spacing-token-button-composer)}.h-token-button-composer-sm{height:var(--spacing-token-button-composer-sm)}.max-h-\\[25dvh\\]{max-height:25dvh}.max-h-\\[140px\\]{max-height:140px}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[1\\.25rem\\]{min-height:1.25rem}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-52{width:calc(var(--spacing) * 52)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-16{max-width:calc(var(--spacing) * 16)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\\[60\\%\\]{max-width:60%}.max-w-\\[77\\%\\]{max-width:77%}.max-w-\\[320px\\]{max-width:320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\\[minmax\\(0\\,auto\\)_auto_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,auto) auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[5px\\]{gap:5px}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[color\\:var\\(--gray-0\\)\\]{border-color:var(--gray-0)}.border-token-border,.border-token-border\\/80{border-color:var(--color-token-border)}@supports (color:color-mix(in lab,red,red)){.border-token-border\\/80{border-color:color-mix(in oklab,var(--color-token-border) 80%,transparent)}}.border-transparent{border-color:#0000}.bg-\\[color\\:var\\(--gray-0\\)\\]{background-color:var(--gray-0)}.bg-token-border\\/70{background-color:var(--color-token-border)}@supports (color:color-mix(in lab,red,red)){.bg-token-border\\/70{background-color:color-mix(in oklab,var(--color-token-border) 70%,transparent)}}.bg-token-button-secondary-background{background-color:var(--color-token-button-secondary-background)}.bg-token-charts-blue{background-color:var(--color-token-charts-blue)}.bg-token-dropdown-background,.bg-token-dropdown-background\\/90{background-color:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.bg-token-dropdown-background\\/90{background-color:color-mix(in oklab,var(--color-token-dropdown-background) 90%,transparent)}}.bg-token-dropdown-background\\/95{background-color:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.bg-token-dropdown-background\\/95{background-color:color-mix(in oklab,var(--color-token-dropdown-background) 95%,transparent)}}.bg-token-foreground,.bg-token-foreground\\/5{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-token-foreground\\/5{background-color:color-mix(in oklab,var(--color-token-foreground) 5%,transparent)}}.bg-token-foreground\\/10{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.bg-token-foreground\\/10{background-color:color-mix(in oklab,var(--color-token-foreground) 10%,transparent)}}.bg-token-input-background\\/90{background-color:var(--color-token-input-background)}@supports (color:color-mix(in lab,red,red)){.bg-token-input-background\\/90{background-color:color-mix(in oklab,var(--color-token-input-background) 90%,transparent)}}.bg-token-menu-border{background-color:var(--color-token-menu-border)}.bg-token-side-bar-background{background-color:var(--color-token-side-bar-background)}.\\[mask-image\\:linear-gradient\\(to_right\\,black_calc\\(100\\%_-_0\\.25rem\\)\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000)}.\\[mask-repeat\\:no-repeat\\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.\\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\\[var\\(--padding-row-x\\)\\]{padding-inline:var(--padding-row-x)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\\[var\\(--padding-row-y\\)\\]{padding-block:var(--padding-row-y)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\!leading-none{--tw-leading:1!important;line-height:1!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-\\[calc\\(var\\(--codex-chat-font-size\\)\\+8px\\)\\]{--tw-leading:calc(var(--codex-chat-font-size) + 8px);line-height:calc(var(--codex-chat-font-size) + 8px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-current{color:currentColor}.text-token-button-secondary-foreground{color:var(--color-token-button-secondary-foreground)}.text-token-description-foreground{color:var(--color-token-description-foreground)}.text-token-dropdown-background{color:var(--color-token-dropdown-background)}.text-token-foreground{color:var(--color-token-foreground)}.text-token-input-placeholder-foreground{color:var(--color-token-input-placeholder-foreground)}.text-token-text-tertiary{color:var(--color-token-text-tertiary)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0px 2px 4px -1px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\\[0\\.5px\\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-token-border{--tw-ring-color:var(--color-token-border)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[--edge-fade-distance\\:2rem\\]{--edge-fade-distance:2rem}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\/collapsed-tool-activity\\:text-token-foreground:is(:where(.group\\/collapsed-tool-activity):hover *){color:var(--color-token-foreground)}.hover\\:bg-token-button-secondary-hover-background:hover{background-color:var(--color-token-button-secondary-hover-background)}.hover\\:bg-token-editor-background\\/40:hover{background-color:var(--color-token-editor-background)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-token-editor-background\\/40:hover{background-color:color-mix(in oklab,var(--color-token-editor-background) 40%,transparent)}}.hover\\:bg-token-list-hover-background:hover{background-color:var(--color-token-list-hover-background)}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-token-button-foreground:hover{color:var(--color-token-button-foreground)}.hover\\:text-token-foreground:hover{color:var(--color-token-foreground)}}.focus\\:bg-token-list-hover-background:focus{background-color:var(--color-token-list-hover-background)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-token-button-background:focus-visible{outline-color:var(--color-token-button-background)}@media(hover:hover){.enabled\\:hover\\:bg-token-foreground\\/80:enabled:hover{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.enabled\\:hover\\:bg-token-foreground\\/80:enabled:hover{background-color:color-mix(in oklab,var(--color-token-foreground) 80%,transparent)}}.enabled\\:hover\\:bg-token-list-hover-background:enabled:hover{background-color:var(--color-token-list-hover-background)}}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[state\\=checked\\]\\:translate-x-\\[14px\\][data-state=checked]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=open\\]\\:bg-token-foreground\\/80[data-state=open]{background-color:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.data-\\[state\\=open\\]\\:bg-token-foreground\\/80[data-state=open]{background-color:color-mix(in oklab,var(--color-token-foreground) 80%,transparent)}}.data-\\[state\\=open\\]\\:bg-token-list-hover-background[data-state=open]{background-color:var(--color-token-list-hover-background)}.data-\\[state\\=unchecked\\]\\:translate-x-\\[2px\\][data-state=unchecked]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}@container (min-width:500px){.\\@\\[500px\\]\\:inline{display:inline}}.electron\\:rounded-md:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){border-radius:var(--radius-md)}.electron\\:p-1:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){padding:calc(var(--spacing) * 1)}.electron\\:shadow-\\[0_4px_16px_0_rgba\\(0\\,0\\,0\\,0\\.05\\)\\]:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-shadow:0 4px 16px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.electron\\:ring:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.electron\\:ring-black\\/10:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-ring-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.electron\\:ring-black\\/10:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){--tw-ring-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}@media(prefers-color-scheme:dark){.electron\\:dark\\:bg-token-dropdown-background:where([data-codex-window-type=electron],[data-codex-window-type=electron] *){background-color:var(--color-token-dropdown-background)}}.extension\\:border:where([data-codex-window-type=extension],[data-codex-window-type=extension] *){border-style:var(--tw-border-style);border-width:1px}.extension\\:border-token-border\\/50:where([data-codex-window-type=extension],[data-codex-window-type=extension] *){border-color:var(--color-token-border)}@supports (color:color-mix(in lab,red,red)){.extension\\:border-token-border\\/50:where([data-codex-window-type=extension],[data-codex-window-type=extension] *){border-color:color-mix(in oklab,var(--color-token-border) 50%,transparent)}}.\\[\\&_\\.ProseMirror\\]\\:\\!h-5 .ProseMirror{height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:h-auto .ProseMirror{height:auto}.\\[\\&_\\.ProseMirror\\]\\:\\!min-h-5 .ProseMirror{min-height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:min-h-\\[2rem\\] .ProseMirror{min-height:2rem}.\\[\\&_\\.ProseMirror\\]\\:min-w-0 .ProseMirror{min-width:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror\\]\\:flex-1 .ProseMirror{flex:1}.\\[\\&_\\.ProseMirror\\]\\:resize-none .ProseMirror{resize:none}.\\[\\&_\\.ProseMirror\\]\\:overflow-hidden .ProseMirror{overflow:hidden}.\\[\\&_\\.ProseMirror\\]\\:leading-5 .ProseMirror{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\\[\\&_\\.ProseMirror\\]\\:whitespace-nowrap .ProseMirror{white-space:nowrap}.\\[\\&_\\.ProseMirror\\]\\:focus-visible\\:outline-none .ProseMirror:focus-visible{--tw-outline-style:none;outline-style:none}.\\[\\&_\\.ProseMirror_p\\]\\:m-0 .ProseMirror p{margin:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror_p\\]\\:overflow-hidden .ProseMirror p{overflow:hidden}.\\[\\&_\\.ProseMirror_p\\]\\:text-ellipsis .ProseMirror p{text-overflow:ellipsis}.\\[\\&_\\.ProseMirror_p\\]\\:whitespace-nowrap .ProseMirror p{white-space:nowrap}.\\[\\&_\\.contain-inline-size\\]\\:\\[contain\\:initial\\] .contain-inline-size{contain:initial}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>ol\\:first-child\\]\\:mt-0>ol:first-child,.\\[\\&\\>ul\\:first-child\\]\\:mt-0>ul:first-child{margin-top:calc(var(--spacing) * 0)}}@property --top-fade{syntax:"";inherits:false;initial-value:0}@property --bottom-fade{syntax:"";inherits:false;initial-value:0}@property --edge-fade-distance{syntax:"";inherits:false;initial-value:1rem}@keyframes edge-fade{0%,1%{--top-fade:0;--bottom-fade:var(--edge-fade-distance,1rem)}99%,to{--top-fade:var(--edge-fade-distance,1rem);--bottom-fade:0}}@supports (animation-timeline:--scroll-fade){.vertical-scroll-fade-mask{-webkit-mask:linear-gradient(to bottom in oklch,oklch(60% 0 0/0),oklch(85% 0 0) var(--top-fade) calc(100% - var(--bottom-fade)),oklch(60% 0 0/0));mask:linear-gradient(to bottom in oklch,oklch(60% 0 0/0),oklch(85% 0 0) var(--top-fade) calc(100% - var(--bottom-fade)),oklch(60% 0 0/0));animation-name:edge-fade;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(self y)}}:root{color-scheme:dark;font-family:var(--font-sans);color:var(--agent-text,#f1f0e8);--agent-page-bg:transparent;--agent-surface:#1c1f1b57;--agent-surface-elevated:#1c1f1b7a;--agent-input-bg:#080a085c;--agent-border:#e9e7d81f;--agent-border-strong:#e9e7d838;--agent-text:#f1f0e8;--agent-muted:#f1f0e894;--agent-soft:#f1f0e8c7;--agent-accent:#8ab4f8;--agent-accent-soft:#8ab4f833;--agent-danger:#ff8d7e;--agent-shadow:#0003;--agent-card:var(--agent-input-bg);background:0 0}@supports (color:color-mix(in lab,red,red)){:root{--agent-card:color-mix(in srgb, var(--agent-input-bg) 90%, transparent)}}:root{--agent-card-hover:var(--agent-input-bg)}@supports (color:color-mix(in lab,red,red)){:root{--agent-card-hover:color-mix(in srgb, var(--agent-input-bg) 96%, transparent)}}:root{--agent-control:var(--agent-input-bg)}@supports (color:color-mix(in lab,red,red)){:root{--agent-control:color-mix(in srgb, var(--agent-input-bg) 44%, transparent)}}:root{--agent-control-hover:var(--agent-soft)}@supports (color:color-mix(in lab,red,red)){:root{--agent-control-hover:color-mix(in srgb, var(--agent-soft) 8%, transparent)}}:root{--agent-primary:var(--agent-accent)}@supports (color:color-mix(in lab,red,red)){:root{--agent-primary:color-mix(in srgb, var(--agent-accent) 90%, var(--agent-text))}}:root{--agent-primary-text:#fff;--cubic-enter:cubic-bezier(.19, 1, .22, 1);--cubic-exit-snappy:cubic-bezier(.65, 0, .4, 1);--transition-duration-basic:.15s;--gray-0:#fff;--color-background-surface:transparent;--color-background-surface-under:transparent;--color-background-elevated-primary:var(--agent-surface-elevated);--color-background-elevated-primary-opaque:var(--agent-surface-elevated)}@supports (color:color-mix(in lab,red,red)){:root{--color-background-elevated-primary-opaque:color-mix(in srgb, var(--agent-surface-elevated) 100%, #111)}}:root{--color-background-elevated-secondary:var(--agent-card);--color-background-elevated-secondary-opaque:var(--agent-card)}@supports (color:color-mix(in lab,red,red)){:root{--color-background-elevated-secondary-opaque:color-mix(in srgb, var(--agent-card) 100%, #111)}}:root{--thread-content-max-width:none;--markdown-wide-block-max-width:56rem;--padding-toolbar:calc(var(--spacing) * 4);--vscode-foreground:var(--agent-text);--vscode-descriptionForeground:var(--agent-muted);--vscode-input-background:var(--agent-input-bg);--vscode-dropdown-background:var(--agent-surface-elevated);--vscode-input-placeholderForeground:var(--agent-muted);--vscode-textLink-foreground:var(--agent-accent);--vscode-textLink-activeForeground:var(--agent-accent);--vscode-list-hoverBackground:var(--agent-control-hover);--color-token-editor-foreground:var(--agent-text);--color-token-editor-background:var(--agent-page-bg);--color-token-side-bar-background:var(--agent-surface-elevated);--color-token-main-surface-primary:transparent;--color-token-text-code-block-background:var(--agent-input-bg);--color-token-bg-primary:var(--agent-surface-elevated);--color-token-bg-secondary:var(--agent-card);--color-token-bg-fog:var(--color-background-elevated-secondary);--color-token-bg-tertiary:var(--agent-control);--color-token-list-hover-background:var(--agent-control-hover);--markdown-wide-block-max-height:80vh;--conversation-block-gap:12px;--conversation-tool-assistant-gap:16px;--color-token-terminal-ansi-black:var(--vscode-terminal-ansiBlack,#000);--color-token-terminal-ansi-red:var(--vscode-terminal-ansiRed,#f66);--color-token-terminal-ansi-green:var(--vscode-terminal-ansiGreen,#94f494);--color-token-terminal-ansi-yellow:var(--vscode-terminal-ansiYellow,#f4f47b);--color-token-terminal-ansi-blue:var(--vscode-terminal-ansiBlue,#9e9eff);--color-token-terminal-ansi-magenta:var(--vscode-terminal-ansiMagenta,#db6bdb);--color-token-terminal-ansi-cyan:var(--vscode-terminal-ansiCyan,#81eeee);--color-token-terminal-ansi-white:var(--vscode-terminal-ansiWhite,#d6d6d6);--color-token-terminal-ansi-bright-black:var(--vscode-terminal-ansiBrightBlack,#6e6e6e);--color-token-terminal-ansi-bright-red:var(--vscode-terminal-ansiBrightRed,#ffa8a8);--color-token-terminal-ansi-bright-green:var(--vscode-terminal-ansiBrightGreen,#0f0);--color-token-terminal-ansi-bright-yellow:var(--vscode-terminal-ansiBrightYellow,#ffffa8);--color-token-terminal-ansi-bright-blue:var(--vscode-terminal-ansiBrightBlue,#9494ff);--color-token-terminal-ansi-bright-magenta:var(--vscode-terminal-ansiBrightMagenta,#ffb3ff);--color-token-terminal-ansi-bright-cyan:var(--vscode-terminal-ansiBrightCyan,#adffff);--color-token-terminal-ansi-bright-white:var(--vscode-terminal-ansiBrightWhite,#fff);--padding-row-x:calc(var(--spacing) * 2);--padding-row-y:calc(var(--spacing) * 1.25);--height-token-nav-row:32px;--codex-chat-font-size:var(--vscode-chat-font-size,var(--vscode-font-size,13px));--codex-chat-code-font-size:var(--vscode-chat-editor-font-size,var(--vscode-editor-font-size,12px))}:root[data-codex-window-type=electron]{background:0 0;overflow:hidden}:root[data-codex-window-type=electron] body{--padding-row-y:calc(var(--spacing) * 1.25);--height-token-nav-row:calc(var(--text-base) * 1.5 + var(--padding-row-y) * 2);--padding-panel-base:calc(var(--spacing) * 5);--padding-panel:var(--padding-panel-base);--thread-content-max-width:48rem;--markdown-wide-block-max-width:56rem;--markdown-wide-block-max-height:80vh;--conversation-block-gap:12px;--conversation-tool-assistant-gap:16px;--spacing-token-button-composer-sm:calc(var(--spacing) * 7);--text-heading-md:18px;--cursor-interaction:default;--vscode-editor-font-family:ui-monospace, "SFMono-Regular", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--vscode-font-size:var(--text-base);--vscode-editor-font-size:var(--text-sm);--vscode-chat-font-size:var(--vscode-font-size);--vscode-chat-editor-font-size:var(--vscode-editor-font-size);overscroll-behavior:none;overflow:hidden}:root[data-codex-window-type=electron]:not([data-codex-os=win32]) body{background:0 0}*{box-sizing:border-box}html,body,#root{background:0 0;height:100%}body{min-width:0;color:var(--agent-text);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--vscode-font-weight,400);margin:0;overflow:hidden}button,select,textarea{font:inherit}button,select{cursor:default}.agent-shell{height:100%;min-height:100%;padding:var(--padding-toolbar);color:var(--agent-text);background:var(--agent-page-bg);flex-direction:column;display:flex}.agent-log,.log,.agent-thread{width:100%;min-height:0;max-width:var(--thread-content-max-width);scrollbar-width:thin;scrollbar-color:var(--agent-muted) transparent;background:0 0;flex:auto;margin:0 auto;padding:6px 2px 18px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.agent-log,.log,.agent-thread{scrollbar-color:color-mix(in srgb,var(--agent-muted) 28%,transparent) transparent}}.agent-thread{gap:var(--conversation-block-gap,12px);flex-direction:column;padding-top:10px;padding-bottom:24px;display:flex;position:relative;overflow-x:hidden}:root[data-codex-window-type=electron] .agent-thread{--color-token-description-foreground:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){:root[data-codex-window-type=electron] .agent-thread{--color-token-description-foreground:color-mix(in srgb, var(--color-token-foreground) 70%, transparent)}}.agent-thread[data-empty]{justify-content:flex-end}.text-size-chat{font-size:var(--codex-chat-font-size)}.text-size-chat-sm{font-size:calc(var(--codex-chat-font-size) - 1px)}.text-size-code{font-size:var(--codex-chat-code-font-size)}.text-size-code-sm{font-size:calc(var(--codex-chat-code-font-size) - 1px)}.font-vscode-editor{font-family:var(--vscode-editor-font-family,var(--font-mono))}.codex-user-turn,.codex-assistant-turn,.codex-notice-turn{width:100%;min-width:0}.codex-user-bubble{color:var(--color-token-foreground);background:var(--color-token-foreground)}@supports (color:color-mix(in lab,red,red)){.codex-user-bubble{background:color-mix(in srgb,var(--color-token-foreground) 5%,transparent)}}.codex-user-message-content[data-collapsed=true]{-webkit-line-clamp:20;-webkit-box-orient:vertical;max-height:20lh;display:-webkit-box;overflow:hidden}.codex-user-message-toggle{background:0 0;border:0;padding:0}.codex-assistant-turn{justify-content:flex-start;display:flex}.codex-assistant-message{max-width:100%;color:var(--color-token-foreground);white-space:normal;overflow-wrap:anywhere}.codex-assistant-message-streaming{white-space:break-spaces}.codex-assistant-message :where(p){margin:0 0 .85em}.codex-assistant-message :where(p:last-child){margin-bottom:0}.codex-assistant-message :where(ul,ol){margin:.45em 0 .85em;padding-left:1.35rem}.codex-assistant-message :where(ul){list-style:outside}.codex-assistant-message :where(ol){list-style:decimal}.codex-assistant-message :where(li){margin:.25em 0}.codex-assistant-message :where(blockquote){border-left:2px solid var(--color-token-border);color:var(--agent-soft);margin:.75em 0;padding-left:.85rem}.codex-assistant-message :where(code){background:var(--agent-soft);border-radius:4px;padding:.12em .3em}@supports (color:color-mix(in lab,red,red)){.codex-assistant-message :where(code){background:color-mix(in srgb,var(--agent-soft) 10%,transparent)}}.codex-assistant-message :where(code){font-family:var(--font-mono);font-size:var(--codex-chat-code-font-size)}.codex-assistant-message :where(pre){border:1px solid var(--agent-border);margin:.75em 0;padding:.65rem .75rem;overflow-x:auto}@supports (color:color-mix(in lab,red,red)){.codex-assistant-message :where(pre){border:1px solid color-mix(in srgb,var(--agent-border) 72%,transparent)}}.codex-assistant-message :where(pre){border-radius:var(--radius-lg);background:var(--agent-input-bg)}@supports (color:color-mix(in lab,red,red)){.codex-assistant-message :where(pre){background:color-mix(in srgb,var(--agent-input-bg) 82%,transparent)}}.codex-assistant-message :where(pre code){white-space:pre;background:0 0;border-radius:0;padding:0;display:block}.codex-assistant-message :where(a){color:var(--agent-accent);text-underline-offset:2px;text-decoration:underline}.codex-assistant-message :where(hr){border-top:1px solid var(--color-token-border);margin:1rem 0}.codex-notice-turn{justify-content:flex-start;display:flex}.codex-notice-content{border:1px solid var(--agent-border);max-width:min(100%,44rem);padding:10px 12px}@supports (color:color-mix(in lab,red,red)){.codex-notice-content{border:1px solid color-mix(in srgb,var(--agent-border) 74%,transparent)}}.codex-notice-content{border-radius:var(--radius-lg);color:var(--agent-soft);background:var(--agent-surface-elevated)}@supports (color:color-mix(in lab,red,red)){.codex-notice-content{background:color-mix(in srgb,var(--agent-surface-elevated) 86%,transparent)}}.codex-notice-content{overflow-wrap:anywhere}.codex-notice-turn.error .codex-notice-content{border-color:var(--agent-danger)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.error .codex-notice-content{border-color:color-mix(in srgb,var(--agent-danger) 46%,transparent)}}.codex-notice-turn.error .codex-notice-content{color:var(--agent-danger)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.error .codex-notice-content{color:color-mix(in srgb,var(--agent-danger) 88%,var(--agent-text))}}.codex-notice-turn.error .codex-notice-content{background:var(--agent-danger)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.error .codex-notice-content{background:color-mix(in srgb,var(--agent-danger) 11%,transparent)}}.codex-notice-turn.warning .codex-notice-content{border-color:var(--agent-accent)}@supports (color:color-mix(in lab,red,red)){.codex-notice-turn.warning .codex-notice-content{border-color:color-mix(in srgb,var(--agent-accent) 30%,transparent)}}.codex-tool-activity-turn{flex-direction:column;align-items:flex-start;gap:0;width:100%;min-width:0;display:flex}.codex-tool-activity-summary{max-width:100%;color:var(--color-token-foreground);border:0;padding:0}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-summary{color:color-mix(in srgb,var(--color-token-foreground) 40%,transparent)}}.codex-tool-activity-summary{font:inherit;font-size:var(--codex-chat-font-size);line-height:calc(var(--codex-chat-font-size) + 8px);background:0 0}.codex-tool-activity-summary:focus-visible{outline:none}.codex-tool-activity-turn.inProgress .codex-tool-activity-summary{color:var(--color-token-description-foreground)}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-turn.inProgress .codex-tool-activity-summary{color:color-mix(in srgb,var(--color-token-description-foreground) 90%,transparent)}}.codex-tool-activity-icon{color:var(--color-token-foreground);justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-icon{color:color-mix(in srgb,var(--color-token-foreground) 35%,transparent)}}.codex-tool-activity-icon{font-family:var(--font-mono);font-size:11px;line-height:1}.codex-tool-activity-turn.inProgress .codex-tool-activity-icon{animation:1.2s ease-in-out infinite codex-tool-activity-pulse}.codex-tool-activity-text{align-items:baseline;gap:4px;min-width:0;max-width:100%;display:inline-flex}.codex-tool-activity-action{color:var(--color-token-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-action{color:color-mix(in srgb,var(--color-token-foreground) 58%,transparent)}}.codex-tool-activity-detail{min-width:0;color:var(--color-token-foreground);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.codex-tool-activity-detail{color:color-mix(in srgb,var(--color-token-foreground) 40%,transparent)}}.codex-tool-activity-detail{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.codex-tool-activity-summary:hover .codex-tool-activity-action,.codex-tool-activity-summary:hover .codex-tool-activity-detail,.codex-tool-activity-summary:hover .codex-tool-activity-icon{color:var(--color-token-foreground)}.codex-tool-activity-output-shell{opacity:0;pointer-events:none;grid-template-rows:0fr;width:100%;min-width:0;transition:grid-template-rows .18s ease-out,opacity .18s ease-out;display:grid;overflow:hidden}.codex-tool-activity-output-shell[data-expanded=true]{opacity:1;pointer-events:auto;grid-template-rows:1fr}.codex-tool-activity-output-shell-inner{min-height:0;overflow:hidden}.codex-tool-activity-output-frame{min-height:1.25rem;padding-right:0;position:relative}.codex-tool-activity-output{box-sizing:border-box;max-width:min(100%,var(--markdown-wide-block-max-width));max-height:140px;color:var(--color-token-description-foreground);white-space:pre;--edge-fade-distance:2rem;background:0 0;border:0;border-radius:0;flex-direction:column;gap:6px;margin:0;padding:8px;font-weight:500;display:flex;overflow:auto}.codex-tool-output-copy:focus-visible{opacity:1}@keyframes codex-tool-activity-pulse{0%,to{opacity:.45}50%{opacity:1}}.agent-log-line,.log-line{border-bottom:1px solid var(--agent-border);grid-template-columns:4.5rem minmax(0,1fr);gap:12px;padding:9px 0;display:grid}@supports (color:color-mix(in lab,red,red)){.agent-log-line,.log-line{border-bottom:1px solid color-mix(in srgb,var(--agent-border) 55%,transparent)}}.agent-log-line,.log-line{color:var(--agent-soft);font-family:var(--font-mono);font-size:12px;line-height:1.5}.agent-log-line:last-child,.log-line:last-child{border-bottom-color:#0000}.agent-log-label,.log-label{color:var(--agent-muted);text-overflow:ellipsis;text-transform:uppercase;overflow:hidden}.agent-log-line.stdout .agent-log-label,.log-line.stdout .log-label{color:var(--agent-accent)}.agent-log-line.stderr .agent-log-label,.agent-log-line.error .agent-log-label,.log-line.stderr .log-label,.log-line.error .log-label{color:var(--agent-danger)}.agent-log-text,.log-text{overflow-wrap:anywhere;white-space:pre-wrap;word-break:normal;min-width:0}.agent-composer-stack{width:100%;max-width:var(--thread-content-max-width);gap:6px;margin:0 auto;display:grid}.above-composer-suggestion-shell{container-type:inline-size}.codex-composer-frame{--composer-top-tray-inline-padding:12px;--composer-top-tray-top-padding:14px;--composer-top-tray-max-height:177px}.codex-composer-surface{color:var(--color-token-foreground)}.codex-composer-inner{isolation:isolate}@supports (corner-shape:superellipse(1.5)){:root{--corner-radius-scale:1.25}.codex-composer-surface,.codex-user-bubble,.codex-notice-content,.provider-dropdown,.provider-dropdown-item,.add-context-dropdown,.add-context-item,.composer-attachment-file,.composer-attachment-image,.rate-limit-popover,.codex-top-tray-panel,.codex-top-tray-item{corner-shape:superellipse(1.5)}}.codex-composer-single-line{min-height:0}.composer-single-line-measure{pointer-events:none;visibility:hidden;white-space:pre;width:max-content;max-width:none;height:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:20px;position:absolute;overflow:hidden}.h-token-button-composer{height:var(--spacing-token-button-composer);gap:var(--h-token-button-composer-gap)}.h-token-button-composer-sm{height:var(--spacing-token-button-composer-sm);gap:var(--h-token-button-composer-gap)}.size-token-button-composer{width:var(--spacing-token-button-composer);height:var(--spacing-token-button-composer)}.size-token-button-composer-sm{width:var(--spacing-token-button-composer-sm);height:var(--spacing-token-button-composer-sm)}.icon-3xs{width:10px;height:10px}.icon-xxs{width:12px;height:12px}.icon-2xs{width:14px;height:14px}.icon-xs{width:16px;height:16px}.icon-sm{width:18px;height:18px}.icon-base{width:20px;height:20px}.icon-md{width:24px;height:24px}.icon-lg{width:28px;height:28px}.cursor-interaction{cursor:var(--cursor-interaction)}.no-drag{-webkit-app-region:no-drag}.outline-hidden{outline-offset:2px;outline:2px solid #0000}.user-select-none{-webkit-user-select:none;user-select:none}.shadow-xl-spread{--tw-shadow:0px 0px 0px .5px var(--tw-shadow-color,var(--color-token-border)), var(--shadow-xl);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}._content_1hiti_1{--dropdown-content-inset:2px;--dropdown-content-start-transform:translateY(calc(var(--dropdown-content-inset) * -1)) scale(.98);transform-origin:var(--radix-dropdown-menu-content-transform-origin);will-change:opacity,transform}._content_1hiti_1[data-side=top]{--dropdown-content-start-transform:translateY(var(--dropdown-content-inset)) scale(.98)}._content_1hiti_1[data-side=right]{--dropdown-content-start-transform:translateX(calc(var(--dropdown-content-inset) * -1)) scale(.98)}._content_1hiti_1[data-side=left]{--dropdown-content-start-transform:translateX(var(--dropdown-content-inset)) scale(.98)}@media(prefers-reduced-motion:no-preference){._content_1hiti_1[data-state=open]{animation:_dropdown-content-enter_1hiti_1 var(--transition-duration-basic) var(--cubic-enter)}}@keyframes _dropdown-content-enter_1hiti_1{0%{opacity:0;transform:var(--dropdown-content-start-transform)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}.hide-scrollbar{scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.prompt-input{resize:none;width:100%;min-height:2.75rem;max-height:200px;color:var(--color-token-foreground);font-size:var(--text-base);background:0 0;border:0;outline:none;padding:0;line-height:20px;display:block}.prompt-input::placeholder{color:var(--color-token-input-placeholder-foreground)}@supports (color:color-mix(in lab,red,red)){.prompt-input::placeholder{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 50%,transparent)}}.ProseMirror{min-width:0;color:var(--agent-text);caret-color:var(--agent-text);font-variant-ligatures:none;font-feature-settings:"liga" 0;white-space:pre-wrap;white-space:break-spaces;word-wrap:break-word;word-break:normal;background:0 0;outline:none;position:relative;overflow-y:auto}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection{caret-color:#0000;background:0 0}.ProseMirror-hideselection ::selection{caret-color:#0000;background:0 0}.ProseMirror [draggable][contenteditable=false]{-webkit-user-select:text;user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";pointer-events:none;border:2px solid #8cf;position:absolute;inset:-2px -2px -2px -32px}img.ProseMirror-separator{border:none!important;margin:0!important;display:inline!important}.ProseMirror p{margin:0}.ProseMirror .placeholder{pointer-events:none;-webkit-user-select:none;user-select:none;position:relative}.ProseMirror .placeholder:after{color:var(--color-token-input-placeholder-foreground);content:attr(data-placeholder);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:absolute;inset:0 0 auto;overflow:hidden}.ProseMirror .placeholder::selection{color:inherit;background:0 0}.ProseMirror .placeholder ::selection{color:inherit;background:0 0}.ProseMirror .ProseMirror-selectednode:has([skill-mention-name]){outline:none}.prompt-editor-mention{--inline-mention-base-color:var(--color-token-text-link-foreground)}@supports (color:color-mix(in lab,red,red)){.prompt-editor-mention{--inline-mention-base-color:color-mix(in srgb, var(--color-token-text-link-foreground) 80%, var(--color-token-foreground) 20%)}}.prompt-editor-mention{--inline-mention-color:var(--inline-mention-resolved-base-color,var(--inline-mention-base-color));max-width:100%;color:var(--inline-mention-color);vertical-align:baseline;white-space:nowrap;align-items:baseline;display:inline-flex}.prompt-editor-mention:hover{text-underline-offset:2px;text-decoration-line:underline;text-decoration-style:dashed;text-decoration-thickness:.5px}.prompt-editor-mention-icon{color:currentColor}[cmdk-dialog],[cmdk-dialog]:focus-visible{outline:none}[cmdk-root],[data-cmdk-root]{z-index:1000;gap:var(--spacing);min-width:100%;padding:var(--spacing);border:1px solid var(--color-token-border);border-radius:var(--radius-3xl);color:var(--color-token-foreground);background-color:var(--color-token-dropdown-background);flex-direction:column;display:flex}@supports (color:color-mix(in lab,red,red)){[cmdk-root],[data-cmdk-root]{background-color:color-mix(in oklab,var(--color-token-dropdown-background) 95%,transparent)}}[cmdk-root],[data-cmdk-root]{font-size:var(--text-sm);opacity:1;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);--cmdk-bottom-item-radius:calc(var(--radius-3xl) - var(--spacing));transform:translateZ(0)}[cmdk-item]{content-visibility:auto;width:100%;min-height:calc(var(--spacing) * 6);padding:var(--padding-row-y) var(--padding-row-x);border-radius:var(--radius-lg);color:var(--color-token-foreground);cursor:var(--cursor-interaction);opacity:.75;-webkit-user-select:none;user-select:none;outline:none;flex-direction:row;align-items:center;display:flex}[cmdk-item][aria-disabled=true],[cmdk-item][data-disabled=true]{cursor:default;opacity:.25}[cmdk-item]:hover:not([aria-disabled=true]),[cmdk-item][data-selected=true],[cmdk-item][aria-selected=true],[cmdk-item]:focus-visible,[cmdk-item]:active:not([aria-disabled=true]){background-color:var(--color-token-list-hover-background);opacity:1}[cmdk-item][data-command-menu-loading=true],[cmdk-item][data-command-menu-loading=true]:hover,[cmdk-item][data-command-menu-loading=true][data-selected=true],[cmdk-item][data-command-menu-loading=true][aria-selected=true],[cmdk-item][data-command-menu-loading=true]:focus-visible,[cmdk-item][data-command-menu-loading=true]:active{cursor:default;opacity:.6;background-color:#0000}[cmdk-item][data-command-menu-empty-state=true],[cmdk-item][data-command-menu-empty-state=true]:hover,[cmdk-item][data-command-menu-empty-state=true][data-selected=true],[cmdk-item][data-command-menu-empty-state=true][aria-selected=true],[cmdk-item][data-command-menu-empty-state=true]:focus-visible,[cmdk-item][data-command-menu-empty-state=true]:active{cursor:default;opacity:1;background-color:#0000}[cmdk-list]{min-height:0;max-height:min(300px,var(--cmdk-list-height,300px));gap:var(--spacing);overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;transition:max-height .1s;display:flex;overflow-y:auto}[cmdk-list]:focus-visible{outline:none}.command-menu-dialog [cmdk-list]{max-height:var(--command-menu-list-max-height);scroll-padding-block-start:calc(var(--spacing) * 8)}.composer-home-top-menu [cmdk-list]{max-height:none}.composer-home-top-menu{max-height:min(320px,var(--composer-top-menu-max-height,320px));overflow:hidden}:where([cmdk-list])>[cmdk-item]:not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))),:where([cmdk-list])>[cmdk-group]:not([hidden]):not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))) [cmdk-item]:last-of-type,:where([cmdk-list])>[cmdk-list-sizer]>[cmdk-item]:not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))),:where([cmdk-list])>[cmdk-list-sizer]>[cmdk-group]:not([hidden]):not(:has(~[cmdk-item],~[cmdk-group]:not([hidden]))) [cmdk-item]:last-of-type{border-bottom-right-radius:var(--cmdk-bottom-item-radius);border-bottom-left-radius:var(--cmdk-bottom-item-radius)}[cmdk-input]{padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5)}[cmdk-input]:focus-visible{outline:none}[cmdk-empty],[data-cmdk-empty]{min-height:calc(var(--spacing) * 8);padding:calc(var(--spacing) * 1.5) calc(var(--spacing) * 2.5);color:var(--color-token-description-foreground);text-align:center;white-space:pre-wrap;align-items:center;line-height:1.4;display:flex}[data-codex-window-type=electron] [cmdk-root],[data-codex-window-type=electron] [data-cmdk-root]{font-size:var(--text-base)}.codex-attachment-tray{scrollbar-width:none}.codex-attachment-tray::-webkit-scrollbar{display:none}.codex-user-attachment-tray{max-width:77%}.codex-user-attachment-tray .codex-attachment-row{justify-content:flex-end;min-width:0}.composer-attachment-image{border:1px solid var(--color-token-border-heavy);border-radius:var(--radius-lg);background:var(--color-token-input-background);flex:none;width:80px;height:80px;display:inline-flex;position:relative;overflow:visible}.composer-attachment-image img{border-radius:calc(var(--radius-lg) - 1px);object-fit:cover;width:100%;height:100%}.composer-attachment-file{border:.5px solid var(--color-token-border-heavy);flex:none;align-items:center;gap:7px;max-width:min(220px,70vw);height:32px;padding:0 30px 0 10px;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.composer-attachment-file{border:.5px solid color-mix(in srgb,var(--color-token-border-heavy) 80%,transparent)}}.composer-attachment-file{border-radius:var(--radius-lg);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.composer-attachment-file{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.composer-attachment-file-icon{color:var(--color-token-description-foreground);flex:none;display:inline-flex}.composer-attachment-file-label{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;line-height:1rem;overflow:hidden}.composer-attachment-remove{border:.5px solid var(--color-token-border-heavy);justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex;position:absolute;top:-7px;right:-7px}@supports (color:color-mix(in lab,red,red)){.composer-attachment-remove{border:.5px solid color-mix(in srgb,var(--color-token-border-heavy) 70%,transparent)}}.composer-attachment-remove{color:var(--color-token-foreground);background:var(--color-token-dropdown-background);border-radius:999px;box-shadow:0 1px 3px #0000002e}.composer-attachment-remove:hover,.composer-attachment-remove:focus-visible{background:var(--color-token-list-hover-background)}.codex-left-rail,.codex-secondary-controls,.codex-action-cluster,.model-picker,.rate-line{align-items:center;display:flex}.codex-left-rail{scrollbar-width:none;flex:0 auto;min-width:0;margin:0;padding:0;overflow-x:auto}.codex-left-rail::-webkit-scrollbar{display:none}.composer-mode-indicator{color:var(--color-token-text-link-foreground);flex:0 auto}.composer-mode-divider{background:var(--color-token-border);width:1px;height:1rem;margin:0 1px}@supports (color:color-mix(in lab,red,red)){.composer-mode-divider{background:color-mix(in srgb,var(--color-token-border) 70%,transparent)}}.composer-mode-button{min-width:0;color:var(--color-token-text-link-foreground)}.composer-mode-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.composer-mode-icon-hover,.composer-mode-button:hover .composer-mode-icon-default,.composer-mode-button:focus-visible .composer-mode-icon-default{display:none}.composer-mode-button:hover .composer-mode-icon-hover,.composer-mode-button:focus-visible .composer-mode-icon-hover{display:inline-flex}.composer-mode-label{color:currentColor;font-weight:500}.composer-context-indicator{color:var(--color-token-text-link-foreground);flex:0 auto}.composer-context-divider{background:var(--color-token-border);margin:0 1px}@supports (color:color-mix(in lab,red,red)){.composer-context-divider{background:color-mix(in srgb,var(--color-token-border) 70%,transparent)}}.composer-context-button{color:var(--color-token-text-link-foreground)}.composer-context-icon{justify-content:center;align-items:center;display:inline-flex}.composer-context-icon-hover,.composer-context-button:hover .composer-context-icon-default,.composer-context-button:focus-visible .composer-context-icon-default{display:none}.composer-context-button:hover .composer-context-icon-hover,.composer-context-button:focus-visible .composer-context-icon-hover{display:inline-flex}.composer-context-label{color:currentColor;font-weight:500}.codex-secondary-controls{flex:0 auto;justify-content:flex-end}.codex-action-cluster{flex:none;justify-content:flex-end}.model-picker-root{flex:none;align-items:center;display:inline-flex}.model-picker,.codex-tool,.codex-action{outline:none;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.codex-tool,.codex-action{line-height:18px}.model-picker{letter-spacing:0;white-space:nowrap;min-width:0;max-width:10rem}.model-icon{border:1px solid var(--agent-border-strong);flex:none;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.model-icon{border:1px solid color-mix(in srgb,var(--agent-border-strong) 70%,transparent)}}.model-icon{color:var(--agent-text);background:var(--agent-control);border-radius:999px;font-size:10px;font-weight:750;line-height:1}.model-label{min-width:0;color:var(--color-token-foreground);text-overflow:ellipsis;overflow:hidden}.model-chevron{color:var(--color-token-input-placeholder-foreground);flex:none;line-height:1}.provider-dropdown{z-index:50;border:.5px solid var(--color-token-menu-border);width:13rem;max-height:min(250px,100vh - 16px);position:absolute;bottom:calc(100% + 6px);left:0}@supports (color:color-mix(in lab,red,red)){.provider-dropdown{border:.5px solid color-mix(in srgb,var(--color-token-menu-border) 78%,transparent)}}.provider-dropdown{border-radius:var(--radius-xl);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.provider-dropdown{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.provider-dropdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.provider-dropdown-title{min-height:24px;padding:var(--padding-row-y) var(--padding-row-x);color:var(--color-token-description-foreground);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;align-items:center;line-height:1rem;display:flex;overflow:hidden}.provider-dropdown-item{width:100%;color:var(--color-token-foreground);text-align:left;background:0 0;border:0}.provider-dropdown-item:hover,.provider-dropdown-item:focus,.provider-dropdown-item[data-selected=true]{background:var(--color-token-list-hover-background)}.provider-dropdown-check{color:var(--color-token-foreground)}.permissions-root{flex:0 auto;min-width:0;display:inline-flex;position:relative}.permissions-trigger{color:var(--color-token-input-placeholder-foreground)}.permissions-trigger[data-permission-mode=auto-review],.permissions-item[data-permission-mode=auto-review] .permissions-item-icon{color:var(--color-token-text-link-foreground)}.permissions-trigger[data-permission-mode=full-access],.permissions-item[data-permission-mode=full-access] .permissions-item-icon{color:var(--agent-danger)}.permissions-trigger-label{color:currentColor;font-weight:500}.permissions-trigger-chevron{color:currentColor;opacity:.72}.permissions-dropdown{z-index:50;border:.5px solid var(--color-token-menu-border);width:13.5rem;max-height:min(250px,100vh - 16px);position:absolute;bottom:calc(100% + 6px);left:0;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.permissions-dropdown{border:.5px solid color-mix(in srgb,var(--color-token-menu-border) 78%,transparent)}}.permissions-dropdown{border-radius:var(--radius-xl);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.permissions-dropdown{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.permissions-dropdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.permissions-item{width:100%;min-height:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 2);color:var(--color-token-foreground);text-align:left;background:0 0;border:0;display:flex}.permissions-item:hover,.permissions-item:focus-visible,.permissions-item[data-selected=true]{background:var(--color-token-list-hover-background)}.permissions-item-icon,.permissions-item-check{color:var(--color-token-description-foreground);justify-content:center;align-items:center;display:inline-flex}.permissions-item-label{color:var(--color-token-foreground);font-weight:500}.add-context-root{flex:none;display:inline-flex;position:relative}.add-context-dropdown{z-index:50;border:.5px solid var(--color-token-menu-border);width:max-content;min-width:120px;max-width:min(320px,100vw - 16px);max-height:min(270px,100vh - 16px);position:absolute;bottom:calc(100% + 6px);left:-8px;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.add-context-dropdown{border:.5px solid color-mix(in srgb,var(--color-token-menu-border) 78%,transparent)}}.add-context-dropdown{border-radius:var(--radius-xl);color:var(--color-token-foreground);background:var(--color-token-dropdown-background)}@supports (color:color-mix(in lab,red,red)){.add-context-dropdown{background:color-mix(in srgb,var(--color-token-dropdown-background) 90%,transparent)}}.add-context-dropdown{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.add-context-item{width:100%;min-height:calc(var(--spacing) * 8);align-items:center;gap:calc(var(--spacing) * 1.5);color:var(--color-token-foreground);cursor:var(--cursor-interaction);text-align:left;background:0 0;border:0;display:flex}.add-context-item:hover,.add-context-item:focus-visible{background:var(--color-token-list-hover-background)}.add-context-item:disabled{cursor:default;opacity:.5}.add-context-item:disabled:hover{background:0 0}.add-context-item-icon{color:var(--color-token-description-foreground);opacity:.75;justify-content:center;align-items:center;display:inline-flex}.add-context-item:hover .add-context-item-icon,.add-context-item:focus-visible .add-context-item-icon{opacity:1}.add-context-glyph{width:14px;height:14px;color:var(--color-token-description-foreground);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.add-context-item-label{color:var(--color-token-foreground);font-weight:500}.add-context-item-detail{color:var(--color-token-description-foreground);font-size:var(--text-sm)}.add-context-separator{flex:none}.add-context-separator-line{background:var(--color-token-menu-border)}.provider-select{appearance:none;color:#0000;opacity:0;background:0 0;outline:none;width:100%;height:100%;position:absolute;inset:0}.composer-separator{background:var(--agent-border-strong);flex:none;width:1px;height:18px;margin:0 3px}@supports (color:color-mix(in lab,red,red)){.composer-separator{background:color-mix(in srgb,var(--agent-border-strong) 72%,transparent)}}.codex-start{width:auto;min-width:56px}.codex-circle-action:before{content:"";border:2px solid;border-radius:999px;width:13px;height:13px}.send-button{border-radius:999px}.provider-select:disabled{opacity:0}.rate-line{min-width:0;color:var(--agent-muted);gap:6px;padding:0 2px}@supports (color:color-mix(in lab,red,red)){.rate-line{color:color-mix(in srgb,var(--agent-muted) 88%,transparent)}}.rate-line{white-space:nowrap;font-size:12px;font-weight:500;line-height:1.35}.rate-line[hidden]{display:none}.rate-line :where(span){text-overflow:ellipsis;min-width:0;overflow:hidden}.codex-rate-limit-summary{flex-wrap:nowrap;justify-content:flex-start;overflow:hidden}.rate-limit-trigger{border-radius:var(--radius-md);max-width:100%;height:22px;color:var(--color-token-input-placeholder-foreground);border:0;padding:0 4px;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.rate-limit-trigger{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 94%,transparent)}}.rate-limit-trigger{font-size:var(--text-sm);background:0 0;font-weight:500;line-height:1}.rate-limit-trigger-inline{gap:6px;overflow:hidden}.rate-limit-trigger:hover,.rate-limit-trigger:focus-visible,.rate-limit-trigger[aria-expanded=true]{background:var(--color-token-list-hover-background);outline:none}.rate-limit-speedometer,.rate-limit-chevron{color:var(--color-token-input-placeholder-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-limit-speedometer,.rate-limit-chevron{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 86%,transparent)}}.rate-line-heading{color:var(--color-token-input-placeholder-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-line-heading{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 92%,transparent)}}.rate-limit-inline-separator{color:var(--agent-accent);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-limit-inline-separator{color:color-mix(in srgb,var(--agent-accent) 82%,transparent)}}.rate-limit-inline-segment{align-items:baseline;gap:5px;min-width:0;display:inline-flex}.rate-limit-popover{color:var(--color-token-foreground)}.rate-limit-popover-title{color:var(--color-token-description-foreground);font-size:var(--text-xs);padding:2px 0 5px;font-weight:600}.rate-limit-popover-row{min-width:0;min-height:24px;color:var(--color-token-foreground);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;display:grid}.rate-limit-window{min-width:0;color:var(--color-token-foreground);text-overflow:ellipsis;font-weight:500;overflow:hidden}.rate-limit-row-value{min-width:0;color:var(--color-token-description-foreground);text-align:right;justify-content:flex-end;align-items:center;gap:5px;display:inline-flex}.rate-limit-percent{color:var(--color-token-input-placeholder-foreground);flex:none}@supports (color:color-mix(in lab,red,red)){.rate-limit-percent{color:color-mix(in srgb,var(--color-token-input-placeholder-foreground) 92%,transparent)}}.rate-limit-percent{font-weight:600}.rate-limit-reset{min-width:0;color:var(--color-token-description-foreground)}.status-dot{background:var(--agent-muted);border-radius:999px;flex:none;width:6px;height:6px}.status-dot.running{background:var(--agent-accent)}.status-dot.failed{background:var(--agent-danger)}.codex-top-tray-shell{width:calc(var(--composer-top-tray-inline-padding,12px) * 2 + 100% + 8px);min-width:0;left:50%;bottom:var(--composer-top-tray-top-padding,14px);transform:translate(-50%)}.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{width:100%;min-width:0;max-height:var(--composer-top-tray-max-height,177px);padding:var(--spacing);padding-top:calc(var(--spacing) * 3);padding-left:calc(var(--spacing) * 2);border:1px solid var(--composer-top-tray-border,var(--color-token-border));flex-direction:column;display:flex;position:relative}@supports (color:color-mix(in lab,red,red)){.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{border:1px solid var(--composer-top-tray-border,color-mix(in srgb, var(--color-token-border) 72%, transparent))}}.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl);color:var(--color-token-foreground);background:var(--composer-top-tray-background,var(--color-token-side-bar-background));border-top-color:#0000;border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}@supports (color:color-mix(in lab,red,red)){.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{background:var(--composer-top-tray-background,color-mix(in oklab, var(--color-token-side-bar-background) 94%, transparent))}}.codex-top-tray-panel,.codex-top-tray-panel[cmdk-root],.codex-top-tray-panel[data-cmdk-root]{box-shadow:none;font-size:var(--text-sm);-webkit-backdrop-filter:none;backdrop-filter:none;isolation:isolate;-webkit-user-select:none;user-select:none;--cmdk-bottom-item-radius:0;overflow:hidden}.codex-top-tray-title{padding:0 var(--padding-row-x) calc(var(--spacing) * 1.25);color:var(--color-token-description-foreground);font-size:var(--text-xs);font-weight:600;line-height:1.2}.codex-top-tray-list,.codex-top-tray-panel [cmdk-list],.codex-top-tray-panel [data-cmdk-list]{gap:var(--spacing);scrollbar-width:none;flex-direction:column;flex:1;width:100%;min-height:0;max-height:none;transition:none;display:flex;overflow-y:auto}.codex-top-tray-list::-webkit-scrollbar{display:none}.codex-top-tray-empty,.codex-top-tray-panel [data-cmdk-empty]{padding:var(--padding-row-y) var(--padding-row-x);color:var(--color-token-input-placeholder-foreground);font-size:var(--text-sm);align-items:center;display:flex}.codex-top-tray-item,.codex-top-tray-item[cmdk-item],.codex-top-tray-item[data-list-navigation-item]{width:calc(100% - var(--spacing) * 2);min-height:calc(var(--spacing) * 6);padding:var(--padding-row-y) var(--padding-row-x);border-radius:var(--radius-lg);color:var(--color-token-foreground);cursor:var(--cursor-interaction,default);font-size:var(--text-sm);opacity:.75;text-align:left;background:0 0;border:0;outline:none;flex-shrink:0;align-items:center;gap:0;display:flex;overflow:hidden}.codex-top-tray-item:hover,.codex-top-tray-item[data-selected=true],.codex-top-tray-item:focus-visible{background:var(--color-token-list-hover-background);opacity:1}.codex-top-tray-icon{width:14px;height:14px;color:var(--color-token-description-foreground);font-size:var(--text-sm);flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.codex-top-tray-copy{align-items:center;gap:calc(var(--spacing) * 2);min-width:0;display:flex}.codex-top-tray-label,.codex-top-tray-detail{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.codex-top-tray-label{color:var(--color-token-foreground);font-size:var(--text-sm)}.codex-top-tray-detail{color:var(--color-token-description-foreground);font-size:var(--text-sm);flex:1 1 0}@media(max-width:720px){.agent-shell{padding:10px}.prompt-input{min-height:2.75rem;font-size:16px}.model-picker,.codex-tool,.codex-action{height:var(--spacing-token-button-composer)}.codex-tool,.codex-action{width:var(--spacing-token-button-composer)}.codex-tool{width:var(--spacing-token-button-composer-sm);height:var(--spacing-token-button-composer-sm)}.codex-left-rail{min-width:0}.codex-action-cluster{margin-left:auto}}@media(max-width:520px){.agent-log-line,.log-line{grid-template-columns:1fr;gap:2px}.model-picker{min-width:104px;max-width:168px}.codex-tool-skill,.codex-mic,.rate-dot,.rate-limit-reset{display:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}';function Cp(n){Qs("agent-session",yp),jo(),document.documentElement.dataset.cmuxWebviewKind="agent-session",document.body.dataset.cmuxWebviewKind="agent-session";const e=Xs(()=>Pr.jsx(yu,{}));Ys.createRoot(n).render(Pr.jsx(Gs,{router:e}))}export{Cp as mountAgentSessionSurface}; diff --git a/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs b/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs index 0a7a26f9f9c7..71953f5268a4 100644 --- a/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs +++ b/Resources/markdown-viewer/webviews-app/chunks/diffSurface.mjs @@ -1,4 +1,4 @@ -import{b as F,j as s,i as C,r as St,c as jt,a as Ct}from"./vendor.mjs";import{W as It,C as Pt,d as Mt,g as Te,u as Lt,r as Oe,b as Fe,F as Ft,c as _t,p as Bt,a as Tt}from"./diff-vendor.mjs";import{m as Rt,i as Nt,c as zt}from"./installWebviewStyles.mjs";function Dt(t){if(!Et(t))return t;try{const e=new URL(t,window.location.href);if(window.location.protocol==="cmux-diff-viewer:"&&(e.protocol==="http:"||e.protocol==="https:")){const i=e.pathname.split("/").filter(Boolean).slice(1).join("/");return`cmux-diff-viewer://${window.location.host}/${i}`}return e.href}catch{return t}}function Et(t){return/^[a-zA-Z][\w+.-]*:/.test(t)}async function At(t,e,i){if(!t)throw new Error("Missing patch URL");const r=await fetch(t,{cache:"no-store"});if(!r.ok)throw new Error(`${e("loadingDiff")} (${r.status})`);const n=await r.text(),a=` +import{b as F,j as s,i as C,r as St,c as jt,a as Ct}from"./vendor.mjs";import{W as It,C as Pt,d as Mt,g as Te,u as Lt,r as Oe,b as Fe,F as Ft,c as _t,p as Bt,a as Tt}from"./diff-vendor.mjs";import{m as Rt,c as Nt}from"./router.mjs";import{i as zt}from"./installWebviewStyles.mjs";function Dt(t){if(!Et(t))return t;try{const e=new URL(t,window.location.href);if(window.location.protocol==="cmux-diff-viewer:"&&(e.protocol==="http:"||e.protocol==="https:")){const i=e.pathname.split("/").filter(Boolean).slice(1).join("/");return`cmux-diff-viewer://${window.location.host}/${i}`}return e.href}catch{return t}}function Et(t){return/^[a-zA-Z][\w+.-]*:/.test(t)}async function At(t,e,i){if(!t)throw new Error("Missing patch URL");const r=await fetch(t,{cache:"no-store"});if(!r.ok)throw new Error(`${e("loadingDiff")} (${r.status})`);const n=await r.text(),a=` `,o=n.endsWith(a)?n:`${n}${a}`,d=Ot(o),l=`git apply <<'${d}'${a}${o}${d}`;if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(l),e("copiedGitApplyCommand")}catch{}if(!i)throw new Error("Clipboard API unavailable");if(i.value=l,i.select(),!document.execCommand("copy"))throw new Error("Clipboard copy failed");return e("copiedGitApplyCommand")}function Ot(t){const e=new Set(t.split(/\r?\n/));let i="CMUX_DIFF_PATCH",r=0;for(;e.has(i);)r+=1,i=`CMUX_DIFF_PATCH_${r}`;return i}const Ce={background:"#ffffff",foreground:"#000000",ghosttyName:"Apple System Colors Light",name:"cmux-ghostty-light",palette:{},selectionBackground:"#abd8ff",selectionForeground:"#000000",type:"light"},Ie={background:"#000000",foreground:"#ffffff",ghosttyName:"Apple System Colors",name:"cmux-ghostty-dark",palette:{},selectionBackground:"#3f638b",selectionForeground:"#ffffff",type:"dark"};function Re(t){const e={...Ce,...t?.themes?.light},i={...Ie,...t?.themes?.dark};return e.foreground=fe(e.foreground,e.background,Ce.foreground),e.selectionForeground=fe(e.selectionForeground,e.selectionBackground,Ce.selectionForeground),i.foreground=fe(i.foreground,i.background,Ie.foreground),i.selectionForeground=fe(i.selectionForeground,i.selectionBackground,Ie.selectionForeground),{backgroundOpacity:Gt(t?.backgroundOpacity),fontFamily:t?.fontFamily??"Menlo",fontSize:ke(t?.fontSize,10),lineHeight:ke(t?.lineHeight,20),theme:{light:t?.theme?.light??e.name??"cmux-ghostty-light",dark:t?.theme?.dark??i.name??"cmux-ghostty-dark"},themes:{light:e,dark:i}}}function $t(t){if(!t)return;const e=t.themes?.light??{},i=t.themes?.dark??{},r=document.documentElement.style;r.setProperty("--cmux-diff-bg-light",ae(e.background,"#ffffff")),r.setProperty("--cmux-diff-bg-dark",ae(i.background,"#000000")),r.setProperty("--cmux-diff-surface-fill-light","transparent"),r.setProperty("--cmux-diff-surface-fill-dark","transparent"),r.setProperty("--cmux-diff-fg-light",ae(e.foreground,"#000000")),r.setProperty("--cmux-diff-fg-dark",ae(i.foreground,"#ffffff")),r.setProperty("--cmux-diff-addition-fg-light",he(e,["10","2"],"#257a3e")),r.setProperty("--cmux-diff-addition-fg-dark",he(i,["10","2"],"#8fd88f")),r.setProperty("--cmux-diff-deletion-fg-light",he(e,["9","1"],"#b42318")),r.setProperty("--cmux-diff-deletion-fg-dark",he(i,["9","1"],"#ff8a80")),r.setProperty("--cmux-diff-selection-bg-light",ae(e.selectionBackground,"#abd8ff")),r.setProperty("--cmux-diff-selection-bg-dark",ae(i.selectionBackground,"#3f638b")),r.setProperty("--cmux-diff-code-font-family",Ut(t.fontFamily)),r.setProperty("--cmux-diff-font-size",`${ke(t.fontSize,10)}px`),r.setProperty("--cmux-diff-line-height",`${ke(t.lineHeight,20)}px`)}function Wt(t,e){return"transparent"}function fe(t,e,i){const r=ae(t,i??"#000000"),n=Se(r),a=Se(ae(e,"#000000"));if(!n||!a||ye(n,a)>=4.5)return r;const o={blue:0,green:0,red:0},d={blue:255,green:255,red:255};return ye(o,a)>=ye(d,a)?"#000000":"#ffffff"}function he(t,e,i){const r=t.palette??{},n=e.map(a=>r[a]).find(a=>typeof a=="string"&&a.trim()!=="");return $e(n,t.background,4.5)?ae(n,i):$e(i,t.background,4.5)?i:fe(n,t.background,i)}function ae(t,e){return typeof t=="string"&&t.trim()!==""?t.trim():e}function Ut(t){const e=typeof t=="string"&&t.trim()!==""?t.trim():"Menlo";return`${JSON.stringify(e)}, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace`}function ke(t,e){return typeof t=="number"&&Number.isFinite(t)&&t>0?t:e}function Gt(t){return typeof t!="number"||!Number.isFinite(t)?1:Math.max(0,Math.min(1,t))}function $e(t,e,i){const r=Se(ae(t,"")),n=Se(ae(e,"#000000"));return!!(r&&n&&ye(r,n)>=i)}function Se(t){const e=t.trim(),i=e.match(/^#([0-9a-f]{3})$/i);if(i){const[,a]=i;return{red:Number.parseInt(a[0]+a[0],16),green:Number.parseInt(a[1]+a[1],16),blue:Number.parseInt(a[2]+a[2],16)}}const r=e.match(/^#([0-9a-f]{6})$/i);if(!r)return null;const[,n]=r;return{red:Number.parseInt(n.slice(0,2),16),green:Number.parseInt(n.slice(2,4),16),blue:Number.parseInt(n.slice(4,6),16)}}function ye(t,e){const i=Math.max(ge(t),ge(e)),r=Math.min(ge(t),ge(e));return(i+.05)/(r+.05)}function ge(t){return .2126*Pe(t.red)+.7152*Pe(t.green)+.0722*Pe(t.blue)}function Pe(t){const e=t/255;return e<=.03928?e/12.92:((e+.055)/1.055)**2.4}function ne(t){const e=F.c(2),{name:i}=t;let r;return e[0]!==i?(r=s.jsx("svg",{viewBox:"0 0 20 20","aria-hidden":"true",children:s.jsx(Vt,{name:i})}),e[0]=i,e[1]=r):r=e[1],r}function Vt(t){const e=F.c(21),{name:i}=t;switch(i){case"arrow":{let r;return e[0]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 10h11"}),s.jsx("path",{d:"m11 6 4 4-4 4"})]}),e[0]=r):r=e[0],r}case"background":{let r;return e[1]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("path",{d:"M7 8h6"}),s.jsx("path",{d:"M7 12h6"})]}),e[1]=r):r=e[1],r}case"bars":{let r;return e[2]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 4v12"}),s.jsx("path",{d:"M9 6v8"}),s.jsx("path",{d:"M13 8v4"})]}),e[2]=r):r=e[2],r}case"check":{let r;return e[3]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M4 10.5 8 14l8-9"}),e[3]=r):r=e[3],r}case"classic":{let r;return e[4]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M4 5h12"}),s.jsx("path",{d:"M4 10h12"}),s.jsx("path",{d:"M4 15h12"}),s.jsx("path",{d:"M7 3v4"}),s.jsx("path",{d:"M13 8v4"})]}),e[4]=r):r=e[4],r}case"collapse":{let r;return e[5]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M13.5 11.5 10 15 6.5 11.5"}),s.jsx("path",{d:"M6.5 8.5 10 5l3.5 3.5"})]}),e[5]=r):r=e[5],r}case"clipboard":{let r;return e[6]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"5",y:"4",width:"10",height:"13",rx:"2"}),s.jsx("path",{d:"M8 4a2 2 0 0 1 4 0"}),s.jsx("path",{d:"M8 7h4"})]}),e[6]=r):r=e[6],r}case"document":{let r;return e[7]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M6 3h6l4 4v10H6z"}),s.jsx("path",{d:"M12 3v5h5"})]}),e[7]=r):r=e[7],r}case"dots":{let r;return e[8]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 10h.01","data-precision-dot":"true"}),s.jsx("path",{d:"M10 10h.01","data-precision-dot":"true"}),s.jsx("path",{d:"M15 10h.01","data-precision-dot":"true"})]}),e[8]=r):r=e[8],r}case"expand":{let r;return e[9]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsx("path",{d:"M6.5 8 10 11.5 13.5 8"}),e[9]=r):r=e[9],r}case"external":{let r;return e[10]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M7 5H5a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2v-2"}),s.jsx("path",{d:"M11 3h6v6"}),s.jsx("path",{d:"m10 10 7-7"})]}),e[10]=r):r=e[10],r}case"eye":{let r;return e[11]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M2.5 10s2.75-5 7.5-5 7.5 5 7.5 5-2.75 5-7.5 5-7.5-5-7.5-5z"}),s.jsx("circle",{cx:"10",cy:"10",r:"2.4"})]}),e[11]=r):r=e[11],r}case"files":{let r;return e[12]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"13",height:"12",rx:"2"}),s.jsx("path",{d:"M11.5 4v12"})]}),e[12]=r):r=e[12],r}case"numbers":{let r;return e[13]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M5 5h2v10"}),s.jsx("path",{d:"M4 15h4"}),s.jsx("path",{d:"M11 6.5a2 2 0 1 1 3.2 1.6L11 12h4"}),s.jsx("path",{d:"M11 15h4"})]}),e[13]=r):r=e[13],r}case"refresh":{let r;return e[14]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M16 8a6 6 0 0 0-10.3-3.7L4 6"}),s.jsx("path",{d:"M4 3v3h3"}),s.jsx("path",{d:"M4 12a6 6 0 0 0 10.3 3.7L16 14"}),s.jsx("path",{d:"M16 17v-3h-3"})]}),e[14]=r):r=e[14],r}case"search":{let r;return e[15]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("circle",{cx:"8.5",cy:"8.5",r:"4.5"}),s.jsx("path",{d:"m12 12 4 4"})]}),e[15]=r):r=e[15],r}case"sidebarCollapse":{let r;return e[16]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"3.5",y:"4",width:"13",height:"12",rx:"2"}),s.jsx("path",{d:"M8 4v12"}),s.jsx("path",{d:"m12 8 2 2-2 2"})]}),e[16]=r):r=e[16],r}case"split":{let r;return e[17]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("rect",{x:"6",y:"6",width:"3.5",height:"8",rx:"1","data-diff-deletion":"true"}),s.jsx("rect",{x:"10.5",y:"6",width:"3.5",height:"8",rx:"1","data-diff-addition":"true"})]}),e[17]=r):r=e[17],r}case"unified":{let r;return e[18]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("rect",{x:"4",y:"4",width:"12",height:"12",rx:"2"}),s.jsx("rect",{x:"6",y:"6",width:"8",height:"3.5",rx:"1","data-diff-deletion":"true"}),s.jsx("rect",{x:"6",y:"10.5",width:"8",height:"3.5",rx:"1","data-diff-addition":"true"})]}),e[18]=r):r=e[18],r}case"word":{let r;return e[19]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h14"}),s.jsx("path",{d:"M3 10h8"}),s.jsx("path",{d:"M3 14h11"}),s.jsx("path",{d:"M14 10h3"})]}),e[19]=r):r=e[19],r}case"wrap":{let r;return e[20]===Symbol.for("react.memo_cache_sentinel")?(r=s.jsxs(s.Fragment,{children:[s.jsx("path",{d:"M3 6h10a4 4 0 0 1 0 8H8"}),s.jsx("path",{d:"m10 11-3 3 3 3"})]}),e[20]=r):r=e[20],r}}}function We(t){return t.replace(/^[a-zA-Z][\w+.-]*:\/\/[^/]*/,"")}const Ht={suggested:50,worktrees:50},qt=8,Ue=50,Kt={suggested:"branchPickerGroupSuggested",worktrees:"branchPickerGroupWorktrees",branches:"branchPickerGroupBranches",remotes:"branchPickerGroupRemotes",recent:"branchPickerGroupRecent"},Jt=320,xe=6,be=8,Xt=160;function Yt(t){const e=window.innerWidth,i=window.innerHeight,r=e-Jt-be,n=Math.max(be,Math.min(t.left,r)),a=i-t.bottom-xe-be,o=t.top-xe-be;return aa?{top:"auto",bottom:i-t.top+xe,left:n,maxHeight:Math.max(0,o)}:{top:t.bottom+xe,bottom:"auto",left:n,maxHeight:Math.max(0,a)}}function Zt(t){const e=F.c(61),{label:i,onNavigate:r,picker:n}=t,[a,o]=C.useState(!1),[d,l]=C.useState(""),[f,c]=C.useState(null),[u,p]=C.useState("idle"),[h,g]=C.useState(0),[m,k]=C.useState(null),[x,y]=C.useState(null),b=C.useRef(null),w=C.useRef(null),S=C.useRef(null),j=C.useId(),_=Qt;let N;e[0]!==f||e[1]!==i||e[2]!==d?(N=ni(f,d,i),e[0]=f,e[1]=i,e[2]=d,e[3]=N):N=e[3];const I=N,B=I.length===0?0:Math.min(h,I.length-1);let T;e[4]!==f||e[5]!==u||e[6]!==n?(T=()=>{o(!0),l(""),g(0),f==null&&u!=="loading"&&(p("loading"),ai(We(n.refsURL)).then(v=>{c(v.groups),p("idle")}).catch(v=>{console.warn("cmux diff branch picker refs load failed",v),p("error")}))},e[4]=f,e[5]=u,e[6]=n,e[7]=T):T=e[7];const A=T;let R;e[8]===Symbol.for("react.memo_cache_sentinel")?(R=()=>{o(!1),S.current?.focus()},e[8]=R):R=e[8];const O=R;let D;e[9]!==r||e[10]!==n?(D=v=>{const M=v.trim();M!==""&&(k(M),o(!1),r(We(n.regenerateURLTemplate).replace("{ref}",encodeURIComponent(M))))},e[9]=r,e[10]=n,e[11]=D):D=e[11];const L=D;let z,E;e[12]!==a?(z=()=>{if(!a)return;const v=M=>{if(!(M.target instanceof Node))return;const re=M.target;b.current?.contains(re)||w.current?.contains(re)||o(!1)};return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},E=[a],e[12]=a,e[13]=z,e[14]=E):(z=e[13],E=e[14]),C.useEffect(z,E);let $,U;e[15]!==a?($=()=>{if(!a){y(null);return}const v=()=>{const M=S.current;M&&y(Yt(M.getBoundingClientRect()))};return v(),window.addEventListener("resize",v),window.addEventListener("scroll",v,!0),()=>{window.removeEventListener("resize",v),window.removeEventListener("scroll",v,!0)}},U=[a],e[15]=a,e[16]=$,e[17]=U):($=e[16],U=e[17]),C.useEffect($,U);let W;e[18]!==B||e[19]!==I||e[20]!==L?(W=v=>{if(v.key==="Escape"){v.preventDefault(),O();return}if(v.key==="ArrowDown"){v.preventDefault(),I.length>0&&g(M=>(M+1)%I.length);return}if(v.key==="ArrowUp"){v.preventDefault(),I.length>0&&g(M=>(M-1+I.length)%I.length);return}if(v.key==="Enter"){v.preventDefault();const M=I[B];M&&L(M.row.ref);return}},e[18]=B,e[19]=I,e[20]=L,e[21]=W):W=e[21];const G=W;let P;e[22]!==m||e[23]!==i?(P=m!=null?i("branchPickerGenerating").replace("{ref}",m):null,e[22]=m,e[23]=i,e[24]=P):P=e[24];const V=P;let Q;e[25]!==m||e[26]!==i||e[27]!==n?(Q=m!=null?i("branchPickerOpen"):ei(i,n),e[25]=m,e[26]=i,e[27]=n,e[28]=Q):Q=e[28];const ee=Q,te=a?j:void 0;let H;e[29]!==i?(H=i("branchPickerOpen"),e[29]=i,e[30]=H):H=e[30];const Y=m!=null?"true":"false",Z=m!=null;let q;e[31]!==a||e[32]!==A?(q=()=>a?o(!1):A(),e[31]=a,e[32]=A,e[33]=q):q=e[33];let K;e[34]!==V||e[35]!==m||e[36]!==n?(K=m!=null?s.jsxs(s.Fragment,{children:[s.jsx("span",{className:"base-picker-spinner","aria-hidden":"true"}),s.jsx("span",{className:"base-picker-text",children:V})]}):s.jsx(ti,{picker:n}),e[34]=V,e[35]=m,e[36]=n,e[37]=K):K=e[37];let J;e[38]!==ee||e[39]!==a||e[40]!==te||e[41]!==H||e[42]!==Y||e[43]!==Z||e[44]!==q||e[45]!==K?(J=s.jsx("button",{ref:S,id:"base-picker-button",type:"button",className:"base-picker-button","aria-haspopup":"listbox","aria-expanded":a,"aria-controls":te,"aria-label":H,title:ee,"data-generating":Y,disabled:Z,onClick:q,children:K}),e[38]=ee,e[39]=a,e[40]=te,e[41]=H,e[42]=Y,e[43]=Z,e[44]=q,e[45]=K,e[46]=J):J=e[46];let X;e[47]!==B||e[48]!==I||e[49]!==i||e[50]!==j||e[51]!==u||e[52]!==G||e[53]!==a||e[54]!==x||e[55]!==d||e[56]!==L?(X=a&&x?St.createPortal(s.jsxs("div",{ref:w,className:"base-picker-popover",role:"dialog","aria-label":i("branchPickerOpen"),style:x,children:[s.jsxs("div",{className:"base-picker-search",children:[s.jsx(ne,{name:"search"}),s.jsx("input",{ref:_,type:"text",className:"base-picker-input",placeholder:i("branchPickerFilterPlaceholder"),"aria-label":i("branchPickerFilterPlaceholder"),"aria-controls":j,"aria-activedescendant":I[B]?Ge(j,B):void 0,value:d,onChange:v=>{l(v.currentTarget.value),g(0)},onKeyDown:G})]}),s.jsx("div",{id:j,className:"base-picker-list",role:"listbox","aria-label":i("branchPickerOpen"),children:u==="loading"?s.jsx("div",{className:"base-picker-status",children:i("branchPickerLoading")}):u==="error"?s.jsx("div",{className:"base-picker-status base-picker-status-error",children:i("branchPickerLoadFailed")}):I.length===0?s.jsx("div",{className:"base-picker-status",children:i("branchPickerNoMatches")}):I.map((v,M)=>s.jsx(ii,{domId:Ge(j,M),entry:v,label:i,selected:M===B,onHover:()=>g(M),onSelect:()=>L(v.row.ref)},`${v.groupId}:${v.row.ref}`))})]}),document.body):null,e[47]=B,e[48]=I,e[49]=i,e[50]=j,e[51]=u,e[52]=G,e[53]=a,e[54]=x,e[55]=d,e[56]=L,e[57]=X):X=e[57];let ie;return e[58]!==J||e[59]!==X?(ie=s.jsxs("div",{id:"base-picker",ref:b,children:[J,X]}),e[58]=J,e[59]=X,e[60]=ie):ie=e[60],ie}function Qt(t){t?.focus()}function ei(t,e){const i=e.confidence==="low",r=[t("branchPickerComparing").replace("{head}",e.headRef).replace("{base}",e.currentRef)];return e.currentReason&&r.push(`(${i?"~":""}${e.currentReason})`),e.aheadBehind&&r.push(`+${e.aheadBehind.ahead} -${e.aheadBehind.behind}`),r.join(" ")}function ti(t){const e=F.c(15),{picker:i}=t,r=i.confidence==="low",n=`${r?"~":""}${i.currentReason}`,a=i.aheadBehind;let o;e[0]!==i.headRef?(o=s.jsx("span",{className:"base-picker-head",children:i.headRef}),e[0]=i.headRef,e[1]=o):o=e[1];let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=s.jsx(ne,{name:"arrow"}),e[2]=d):d=e[2];let l;e[3]!==i.currentRef?(l=s.jsx("span",{className:"base-picker-ref",children:i.currentRef}),e[3]=i.currentRef,e[4]=l):l=e[4];let f;e[5]!==a||e[6]!==r||e[7]!==i.currentReason||e[8]!==n?(f=i.currentReason||a?s.jsxs("span",{className:"base-picker-meta",children:[i.currentReason?s.jsxs("span",{className:r?"base-picker-reason base-picker-reason-low":"base-picker-reason",children:["(",n,")"]}):null,a?s.jsxs("span",{className:"base-picker-aheadbehind",children:["+",a.ahead," -",a.behind]}):null]}):null,e[5]=a,e[6]=r,e[7]=i.currentReason,e[8]=n,e[9]=f):f=e[9];let c;e[10]===Symbol.for("react.memo_cache_sentinel")?(c=s.jsx(ne,{name:"expand"}),e[10]=c):c=e[10];let u;return e[11]!==o||e[12]!==l||e[13]!==f?(u=s.jsxs("span",{className:"base-picker-label",children:[o,d,l,f,c]}),e[11]=o,e[12]=l,e[13]=f,e[14]=u):u=e[14],u}function ii(t){const e=F.c(34),{domId:i,entry:r,label:n,onHover:a,onSelect:o,selected:d}=t,{row:l}=r,f=l.secondary??l.worktreeDir??l.reason??"";let c;e[0]!==r.firstInGroup||e[1]!==r.groupLabel?(c=r.firstInGroup?s.jsx("div",{className:"base-picker-group-header",role:"presentation",children:r.groupLabel}):null,e[0]=r.firstInGroup,e[1]=r.groupLabel,e[2]=c):c=e[2];const u=d?"base-picker-row base-picker-row-selected":"base-picker-row";let p;e[3]!==o?(p=w=>{w.preventDefault(),o()},e[3]=o,e[4]=p):p=e[4];let h;e[5]!==r.match||e[6]!==r.raw||e[7]!==n||e[8]!==l.label||e[9]!==l.ref?(h=r.raw?n("branchPickerUseRaw").replace("{ref}",l.ref):ri(l.label,r.match),e[5]=r.match,e[6]=r.raw,e[7]=n,e[8]=l.label,e[9]=l.ref,e[10]=h):h=e[10];let g;e[11]!==h?(g=s.jsx("span",{className:"base-picker-row-primary",children:h}),e[11]=h,e[12]=g):g=e[12];let m;e[13]!==n||e[14]!==l.current?(m=l.current?s.jsx("span",{className:"base-picker-pill",children:n("branchPickerCurrent")}):null,e[13]=n,e[14]=l.current,e[15]=m):m=e[15];let k;e[16]!==f?(k=f?s.jsx("span",{className:"base-picker-row-secondary",children:f}):null,e[16]=f,e[17]=k):k=e[17];let x;e[18]!==i||e[19]!==a||e[20]!==d||e[21]!==u||e[22]!==p||e[23]!==g||e[24]!==m||e[25]!==k?(x=s.jsxs("div",{id:i,role:"option",tabIndex:-1,"aria-selected":d,className:u,onMouseMove:a,onMouseDown:p,children:[g,m,k]}),e[18]=i,e[19]=a,e[20]=d,e[21]=u,e[22]=p,e[23]=g,e[24]=m,e[25]=k,e[26]=x):x=e[26];let y;e[27]!==r.moreCount||e[28]!==n?(y=r.moreCount>0?s.jsx("div",{className:"base-picker-more",role:"presentation",children:n("branchPickerMore").replace("{count}",String(r.moreCount))}):null,e[27]=r.moreCount,e[28]=n,e[29]=y):y=e[29];let b;return e[30]!==c||e[31]!==x||e[32]!==y?(b=s.jsxs(s.Fragment,{children:[c,x,y]}),e[30]=c,e[31]=x,e[32]=y,e[33]=b):b=e[33],b}function Ge(t,e){return`${t}-row-${e}`}function ri(t,e){if(!e)return t;const[i,r]=e;return s.jsxs(s.Fragment,{children:[t.slice(0,i),s.jsx("strong",{children:t.slice(i,r)}),t.slice(r)]})}function ni(t,e,i){const r=e.trim(),n=[];let a=!1;if(t&&r==="")for(const o of t){const d=Ve(o,i),l=Ht[o.id]??qt,f=o.rows.slice(0,l),c=o.rows.length-f.length;f.forEach((u,p)=>{n.push({row:u,groupId:o.id,groupLabel:d,firstInGroup:p===0,match:null,raw:!1,moreCount:p===f.length-1?c:0})})}else if(t)for(const o of t){if(n.length>=Ue)break;const d=Ve(o,i);let l=!0;for(const f of o.rows){if(n.length>=Ue)break;const c=oi(f.label,r);c!=null&&(a=!0,n.push({row:f,groupId:o.id,groupLabel:d,firstInGroup:l,match:c,raw:!1,moreCount:0}),l=!1)}}return r!==""&&!a&&n.unshift({row:{ref:r,label:r},groupId:"__raw",groupLabel:"",firstInGroup:!1,match:null,raw:!0,moreCount:0}),n}function Ve(t,e){const i=Kt[t.id];return i?e(i):t.label||t.id}function oi(t,e){const i=t.toLowerCase(),r=e.toLowerCase(),n=i.indexOf(r);if(n>=0)return[n,n+r.length];let a=0,o=-1;for(let d=0;d=0?[o,o+1]:null}async function ai(t){const e=await fetch(t,{cache:"no-store"});if(!e.ok)throw new Error(`refs request failed (${e.status})`);const i=await e.json();if(!i||!Array.isArray(i.groups))throw new Error("refs response missing groups");return i}const ot=40;function Ne(t,e){return e==="additions"?{start:t.additionStart,count:t.additionCount,lineIndex:t.additionLineIndex}:{start:t.deletionStart,count:t.deletionCount,lineIndex:t.deletionLineIndex}}function pe(t,e){return(t[e]??"").replace(/\r?\n$/,"")}function at(t,e){const i=e==="additions"?t?.additionLines:t?.deletionLines;return Array.isArray(i)?i:[]}function si(t,e,i){if(t?.hunks==null||!Number.isFinite(i))return null;for(const r of t.hunks){const{start:n,count:a,lineIndex:o}=Ne(r,e);if(i>=n&&i=c.start+c.count||f.hunkContent==null)continue;let u=f.additionStart,p=f.deletionStart;for(const h of f.hunkContent){if(h.type==="context"){for(let m=0;m=n&&k<=a&&l.push(` ${pe(o,h.additionLineIndex+m)}`)}u+=h.lines,p+=h.lines;continue}if(e==="additions"?h.additions>0&&u<=a&&u+h.additions-1>=n:h.deletions>0&&p<=a&&p+h.deletions-1>=n){for(let m=0;m=8&&e.pendingItems.length=j||S-a>=_)&&(p(),await Je(),n=performance.now())}function p(){if(e.pendingItems.length===0)return;const w=e.pendingItems.splice(0,e.pendingItems.length);e.pendingItemById.clear(),e.items.push(...w),t.onBatch(w),i.flushCount+=1,i.maxBatchSize=Math.max(i.maxBatchSize,w.length),i.fileCount=e.items.length,i.renderableFileCount=e.items.length,h(),t.onMetrics({...i}),a=performance.now(),r=!1}function h(){i.treeRefreshCount+=1,t.onTreeSource(hi(e))}async function g(w){if(w.trim()==="")return;const S=wi(w);S!=null&&(o=ct(S,d,t.label),d+=1);const j=`cmux-diff-file-${e.fileIndex}`;await c(t.processFile(w,{cacheKey:j,isGitDiff:!0}),o)}const m=await fetch(t.patchURL,{cache:"no-store"});if(!m.ok)throw new Error(`${t.label("loadingDiff")} (${m.status})`);if(!m.body?.getReader){const w=await m.text();await Ke(w,t,c),await u(!0),i.completedAt=performance.now(),t.onComplete({...i});return}const k=new TextDecoder,x=m.body.getReader(),y=xi();for(;;){const{done:w,value:S}=await x.read();if(w){const j=k.decode();j.length>0&&(y.push(j),await Me(y,g));break}y.push(k.decode(S,{stream:!0})),await Me(y,g)}const b=y.finish();b.fileText!=null?(await g(b.fileText),await Me(y,g)):b.fallbackPatchContent!=null&&await Ke(b.fallbackPatchContent,t,c),await u(!0),i.completedAt=performance.now(),t.onMetrics({...i}),t.onComplete({...i})}function fi(){return{diffStats:{addedLines:0,deletedLines:0,fileCount:0,totalLinesOfCode:0},fileIndex:0,gitStatusByPath:new Map,itemIdToFile:new Map,itemIdByTreePath:new Map,nextCollisionSuffixByBase:new Map,items:[],pathStateByTreePath:new Map,paths:[],pathToItemId:new Map,pendingGitStatusRemovePaths:new Set,pendingGitStatusSetByPath:new Map,pendingItems:[],pendingItemById:new Map,pendingStatsChanged:!1,statsByPath:new Map,treePathByItemId:new Map}}function ui(t,e,i,r,n){if(!e)return null;const a=de(e,n),o=i==null?a:`${i}/${a}`,d=a.length===0?void 0:t.pathStateByTreePath.get(o),l=d==null?void 0:pi(t,o,d),f=yi(e),u={id:d!=null||t.itemIdToFile.has(o)?lt(t,`${o}?2`):o,type:"diff",fileDiff:e,version:0,collapsed:r},p=t.items.length+t.pendingItems.length;t.fileIndex+=1,t.pendingItems.push(u),t.pendingItemById.set(u.id,u),t.itemIdToFile.set(u.id,{fileOrder:p,path:a}),t.itemIdByTreePath.set(o,u.id),t.treePathByItemId.set(u.id,o),t.diffStats.addedLines+=f.added,t.diffStats.deletedLines+=f.deleted,t.diffStats.fileCount+=1,t.diffStats.totalLinesOfCode+=e.unifiedLineCount??e.splitLineCount??0;const h=t.statsByPath.get(o);return t.statsByPath.set(o,f),d!=null&&!ki(h,f)&&(t.pendingStatsChanged=!0),a.length>0&&(d==null&&t.paths.push(o),t.pathToItemId.set(o,u.id),mi(t,o,e.type,d?.sawDeleted===!0),t.pathStateByTreePath.set(o,{currentItem:u,currentItemId:u.id,currentType:e.type,fileOrder:p,sawDeleted:d?.sawDeleted===!0||e.type==="deleted"})),{item:u,renamedItem:l}}function pi(t,e,i){const r=i.currentItemId,n=i.currentType==="deleted"?"?deleted":"?previous",a=lt(t,`${e}${n}`),o={...i.currentItem,id:a};i.currentItem=o,i.currentItemId=a,He(t.items,r,o);const d=t.itemIdToFile.get(r);if(d&&(t.itemIdToFile.delete(r),t.itemIdToFile.set(a,d)),t.treePathByItemId.has(r)&&(t.treePathByItemId.delete(r),t.treePathByItemId.set(a,e)),t.pendingItemById.has(r)){He(t.pendingItems,r,o),t.pendingItemById.delete(r),t.pendingItemById.set(a,o);return}return{oldId:r,newId:a}}function He(t,e,i){const r=t.findIndex(n=>n.id===e);r!==-1&&(t[r]=i)}function lt(t,e){if(!t.itemIdToFile.has(e))return e;let i=t.nextCollisionSuffixByBase.get(e)??2,r=`${e}-${i}`;for(;t.itemIdToFile.has(r);)i+=1,r=`${e}-${i}`;return t.nextCollisionSuffixByBase.set(e,i+1),r}function mi(t,e,i,r){if(r&&i!=="deleted"){t.gitStatusByPath.delete(e)&&qe(t,e);return}const n=Si(i);if(n==="modified"){t.gitStatusByPath.delete(e)&&qe(t,e);return}if(t.gitStatusByPath.get(e)?.status===n)return;const o={path:e,status:n};t.gitStatusByPath.set(e,o),t.pendingGitStatusRemovePaths.delete(e),t.pendingGitStatusSetByPath.set(e,o)}function qe(t,e){t.pendingGitStatusSetByPath.delete(e),t.pendingGitStatusRemovePaths.add(e)}function hi(t){const e=t.lastTreeSource,i=[...t.paths],r={diffStats:{...t.diffStats},gitStatus:Array.from(t.gitStatusByPath.values()),gitStatusPatch:gi(t),pathCount:i.length,paths:i,pathToItemId:new Map(t.pathToItemId),previousSource:e,statsChanged:t.pendingStatsChanged,statsByPath:new Map(t.statsByPath),treePathByItemId:new Map(t.treePathByItemId)};return t.pendingStatsChanged=!1,t.lastTreeSource=r,r}function gi(t){if(t.pendingGitStatusRemovePaths.size===0&&t.pendingGitStatusSetByPath.size===0)return;const e={};return t.pendingGitStatusRemovePaths.size>0&&(e.remove=Array.from(t.pendingGitStatusRemovePaths),t.pendingGitStatusRemovePaths.clear()),t.pendingGitStatusSetByPath.size>0&&(e.set=Array.from(t.pendingGitStatusSetByPath.values()),t.pendingGitStatusSetByPath.clear()),e}async function Ke(t,e,i){const r=e.parsePatchFiles(t,"cmux-diff"),n=r.length>1;for(const[a,o]of r.entries()){const d=n?ct(o.patchMetadata,a,e.label):void 0;for(const l of o.files??[])await i(l,d)}}function xi(){let t,e="",i=0,r=!1;const n="diff --git ",a=` @@ -142,4 +142,4 @@ ${a} background-color: var(--cmux-diff-tree-sticky-bg) !important; box-shadow: 0 1px 0 var(--trees-border-color); } - `}function it(t,e){const i=t.palette??{},r=Wt(t.background),n=ir(t),a=fe(t.foreground,n,t.type==="light"?"#000000":"#ffffff"),o=(d,l=a)=>fe(d,n,l);return{name:t.name,displayName:t.ghosttyName,type:t.type,colors:{"editor.background":r,"editor.foreground":a,"terminal.background":r,"terminal.foreground":a,"terminal.ansiBlack":o(i[0]),"terminal.ansiRed":o(i[1]),"terminal.ansiGreen":o(i[2]),"terminal.ansiYellow":o(i[3]),"terminal.ansiBlue":o(i[4]),"terminal.ansiMagenta":o(i[5]),"terminal.ansiCyan":o(i[6]),"terminal.ansiWhite":o(i[7]),"terminal.ansiBrightBlack":o(i[8]),"terminal.ansiBrightRed":o(i[9],o(i[1])),"terminal.ansiBrightGreen":o(i[10],o(i[2])),"terminal.ansiBrightYellow":o(i[11],o(i[3])),"terminal.ansiBrightBlue":o(i[12],o(i[4])),"terminal.ansiBrightMagenta":o(i[13],o(i[5])),"terminal.ansiBrightCyan":o(i[14],o(i[6])),"terminal.ansiBrightWhite":o(i[15]),"gitDecoration.addedResourceForeground":o(i[10],o(i[2],"#32d74b")),"gitDecoration.deletedResourceForeground":o(i[9],o(i[1],"#ff453a")),"gitDecoration.modifiedResourceForeground":o(i[12],o(i[4],"#0a84ff")),"editor.selectionBackground":t.selectionBackground,"editor.selectionForeground":t.selectionForeground},tokenColors:[{settings:{foreground:a,background:r}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:o(i[8]),fontStyle:"italic"}},{scope:["string","constant.other.symbol"],settings:{foreground:o(i[2])}},{scope:["constant.numeric","constant.language","support.constant"],settings:{foreground:o(i[3])}},{scope:["keyword","storage","storage.type"],settings:{foreground:o(i[5])}},{scope:["entity.name.function","support.function"],settings:{foreground:o(i[4])}},{scope:["entity.name.type","entity.name.class","support.type"],settings:{foreground:o(i[6])}},{scope:["markup.heading","punctuation.definition.heading"],settings:{foreground:o(i[12],o(i[4])),fontStyle:"bold"}},{scope:["markup.bold","punctuation.definition.bold"],settings:{foreground:o(i[11],o(i[3])),fontStyle:"bold"}},{scope:["markup.italic","punctuation.definition.italic"],settings:{foreground:o(i[13],o(i[5])),fontStyle:"italic"}},{scope:["markup.inline.raw","markup.raw","markup.fenced_code","markup.raw.block"],settings:{foreground:o(i[10],o(i[2]))}},{scope:["markup.underline.link","string.other.link","markup.link"],settings:{foreground:o(i[14],o(i[6]))}},{scope:["markup.quote","punctuation.definition.quote"],settings:{foreground:o(i[8]),fontStyle:"italic"}},{scope:["markup.list","punctuation.definition.list","markup.table"],settings:{foreground:o(i[9],o(i[1]))}},{scope:["variable","meta.definition.variable"],settings:{foreground:a}},{scope:["invalid","message.error"],settings:{foreground:o(i[9],o(i[1]))}}]}}function ir(t){return typeof t.background=="string"&&t.background.trim()!==""?t.background.trim():t.type==="light"?"#ffffff":"#000000"}function se(t,e={}){const i=e.pending===!0;return{error:e.error===!0,loading:e.loading===!0||i,message:t,pending:i,statusOnly:e.statusOnly===!0}}function rr(t,e){const i=t.payload;return i?.pendingReplacement===!0?se(i.statusMessage??e("loadingDiff"),{loading:!0,pending:!0}):typeof i?.statusMessage=="string"&&i.statusMessage.length>0?se(i.statusMessage,{error:i.statusIsError===!0,loading:!1,statusOnly:!0}):se(e("loadingDiff"),{loading:!0})}function Ae(t){document.body.dataset.loading=t.loading?"true":"false",document.body.dataset.statusOnly=t.statusOnly?"true":"false"}function nr(t){const e=(Number.isFinite(t.available)?t.available:0)-t.reserved,i=[],r=[];let n=0,a=!1;for(const o of t.items){const d=n+Math.max(0,o.width);!a&&d<=e?(n=d,i.push(o.id)):(a=!0,r.push(o.id))}return{visible:i,overflow:r}}function or(t){const e=F.c(3),[i,r]=C.useState(null),n=C.useRef(null);let a,o;return e[0]!==t?(a=()=>{const d=t.current;if(!d||typeof ResizeObserver>"u")return;const l=new ResizeObserver(f=>{for(const c of f){const u=c.contentBoxSize?.[0]?.inlineSize??c.contentRect.width,p=Math.round(u);p!==n.current&&(n.current=p,r(p))}});return l.observe(d),()=>l.disconnect()},o=[t],e[0]=t,e[1]=a,e[2]=o):(a=e[1],o=e[2]),C.useEffect(a,o),i}const ar=/\b(Android|iPhone|iPad|iPod|Mobile)\b/i;function sr(t){return ar.test(t??"")?1:3}function lr(){return sr(typeof navigator>"u"?void 0:navigator.userAgent)}function cr(t){return{poolSize:lr(),workerFactory:()=>new Worker(t,{type:"module"})}}const dr=["82%","64%","76%","58%","70%","46%"],fr=["58%","88%","72%","94%","64%","82%","52%","78%"],ur="./assets/pierre-diffs-1.2.7-trees-1.0.0-beta.4/worker-pool/worker-portable.js",wt="cmux.diffViewer.layout";function pr(t,e){const i=t.payload??{};return{activeItemId:"",activeTreePath:"",comments:[],copyFeedback:"",draft:null,fileSearchOpen:!1,filesWidth:252,filesVisible:!0,items:[],languages:["text"],metrics:null,options:{collapsed:!1,diffIndicators:"bars",expandUnchanged:!1,layout:Sr(i),lineNumbers:!0,showBackgrounds:!0,wordDiffs:!1,wordWrap:!1},optionsOpen:!1,status:e,treeSource:null}}function mr(t,e){switch(e.type){case"append-items":{const i=e.items.map(n=>{sn(n);const a=Pi(n,t.comments,t.draft);return t.options.collapsed?{...a,collapsed:!0}:a}),r=cn(t.languages,i.flatMap(ln));return{...t,activeItemId:t.activeItemId||i[0]?.id||"",items:[...t.items,...i],languages:r,status:t.status.loading?se("",{loading:!1}):t.status}}case"remove-comment":{const i=t.comments.filter(r=>r.id!==e.id);return{...t,comments:i,items:we(t.items,i,t.draft)}}case"rename-item":return{...t,activeItemId:t.activeItemId===e.oldId?e.newId:t.activeItemId,draft:t.draft?.itemId===e.oldId?{...t.draft,itemId:e.newId}:t.draft,items:t.items.map(i=>i.id===e.oldId||i.id===e.newId?{...i,id:e.newId,version:(i.version??0)+1}:i)};case"set-active-item":return{...t,activeItemId:e.itemId,activeTreePath:e.treePath??t.activeTreePath};case"set-comments":return{...t,comments:e.comments,items:we(t.items,e.comments,t.draft)};case"set-copy-feedback":return{...t,copyFeedback:e.message};case"set-draft":return{...t,draft:e.draft,items:we(t.items,t.comments,e.draft)};case"set-file-search-open":return{...t,fileSearchOpen:e.open,filesVisible:e.open?!0:t.filesVisible};case"set-files-width":return{...t,filesWidth:e.width};case"set-files-visible":return{...t,filesVisible:e.visible};case"set-metrics":return{...t,metrics:e.metrics};case"set-option":return e.key==="collapsed"?{...t,options:{...t.options,collapsed:!!e.value},items:t.items.map(i=>({...i,collapsed:!!e.value,version:(i.version??0)+1}))}:{...t,options:{...t.options,[e.key]:e.value}};case"set-options-open":return{...t,optionsOpen:e.open};case"set-status":return{...t,status:e.status};case"set-tree-source":{const i=e.source,r=t.activeItemId?i.treePathByItemId.get(t.activeItemId)??t.activeTreePath:t.activeTreePath;return{...t,activeTreePath:r,treeSource:i}}case"upsert-comment":{const r=t.comments.some(n=>n.id===e.comment.id)?t.comments.map(n=>n.id===e.comment.id?e.comment:n):[...t.comments,e.comment];return{...t,comments:r,items:we(t.items,r,t.draft)}}}}function hr(t){const e=F.c(81),{config:i,initialStatus:r}=t,n=i.payload??{},a=bt(n.labels,{assertMissing:xt()}),o=Re(n.appearance);let d;e[0]!==i||e[1]!==r?(d=pr(i,r),e[0]=i,e[1]=r,e[2]=d):d=e[2];const[l,f]=C.useReducer(mr,d),c=yt(l),u=C.useRef(null),p=C.useRef(null),h=C.useRef(null);let g;if(e[3]!==i.assets?.workerModuleURL){const v=xr(i.assets?.workerModuleURL);g=cr(v),e[3]=i.assets?.workerModuleURL,e[4]=g}else g=e[4];const m=g,k=Qi(l.options,o,l.languages),x=typeof n.repoRoot=="string"&&n.repoRoot!==""?n.repoRoot:null,y=Li()&&x!=null,b=zi(n),w=br({bridgeAvailable:y,dispatch:f,latestState:c,repoRoot:x}),S=Zi(l.options,o);S.onGutterUtilityClick=w.onGutterUtilityClick,pn(l),fn(n,a,f),nn(i,a,f,c),Ei(y?x:null,w.onLoaded);let j;e[5]!==n.shortcuts?(j=n.shortcuts??{},e[5]=n.shortcuts,e[6]=j):j=e[6],mn(j,h,f),hn(l.optionsOpen,f);let _;e[7]!==b||e[8]!==w||e[9]!==f?(_=(v,M)=>{const re=v.metadata;return re.kind==="draft"?s.jsx(ut,{labels:b,onCancel:()=>f({type:"set-draft",draft:null}),onSave:le=>w.saveDraft(M,le)}):s.jsx(Di,{comment:re.comment,labels:b,onDelete:()=>w.remove(re.comment),onSaveMessage:le=>w.editMessage(re.comment,le,M.fileDiff)})},e[7]=b,e[8]=w,e[9]=f,e[10]=_):_=e[10];const N=_;let I;if(e[11]!==l.comments||e[12]!==l.items||e[13]!==l.metrics?.completedAt){const v=Number.isFinite(l.metrics?.completedAt)&&(l.metrics?.completedAt??0)>0;I=Mi(l.items,l.comments,v),e[11]=l.comments,e[12]=l.items,e[13]=l.metrics?.completedAt,e[14]=I}else I=e[14];const B=I;let T;e[15]!==f||e[16]!==l.treeSource?.treePathByItemId?(T=v=>{v.itemId!=null&&(v.anchor.state==="outdated"?u.current?.scrollTo({type:"item",id:v.itemId,align:"start",behavior:"smooth-auto"}):u.current?.scrollTo({type:"line",id:v.itemId,lineNumber:v.anchor.line,side:v.comment.side,align:"center",behavior:"smooth-auto"}),f({type:"set-active-item",itemId:v.itemId,treePath:l.treeSource?.treePathByItemId.get(v.itemId)}))},e[15]=f,e[16]=l.treeSource?.treePathByItemId,e[17]=T):T=e[17];const A=T;let R;e[18]!==l.activeItemId||e[19]!==l.activeTreePath||e[20]!==l.treeSource?.treePathByItemId?(R=l.treeSource?.treePathByItemId.get(l.activeItemId)??l.activeTreePath,e[18]=l.activeItemId,e[19]=l.activeTreePath,e[20]=l.treeSource?.treePathByItemId,e[21]=R):R=e[21];const O=R;let D;e[22]!==f||e[23]!==l.items||e[24]!==l.treeSource?.treePathByItemId?(D=v=>{const M=wn(v,l.items);M&&(u.current?.scrollTo({type:"item",id:M,align:"start",behavior:"smooth-auto"}),f({type:"set-active-item",itemId:M,treePath:l.treeSource?.treePathByItemId.get(M)}))},e[22]=f,e[23]=l.items,e[24]=l.treeSource?.treePathByItemId,e[25]=D):D=e[25];const L=D;let z;e[26]!==f?(z=v=>{Ae(v),f({type:"set-status",status:v})},e[26]=f,e[27]=z):z=e[27];const E=z;let $;e[28]!==f?($=v=>{Cr(v),f({type:"set-option",key:"layout",value:v})},e[28]=f,e[29]=$):$=e[29];const U=$;let W;e[30]!==f||e[31]!==a||e[32]!==n.patchURL?(W=async()=>{try{const v=await At(n.patchURL,a,p.current);f({type:"set-copy-feedback",message:v})}catch{f({type:"set-copy-feedback",message:a("copyFailedGitApplyCommand")})}},e[30]=f,e[31]=a,e[32]=n.patchURL,e[33]=W):W=e[33];let G;e[34]!==a||e[35]!==E?(G=v=>{E(se(a("loadingDiff"),{pending:!0})),window.location.href=Dt(v)},e[34]=a,e[35]=E,e[36]=G):G=e[36];let P;e[37]!==i||e[38]!==f||e[39]!==a||e[40]!==L||e[41]!==U||e[42]!==l||e[43]!==W||e[44]!==G?(P=s.jsx(Pr,{config:i,label:a,onCopyGitApply:W,onJump:L,onNavigate:G,onReload:gr,onSetLayout:U,dispatch:f,state:l}),e[37]=i,e[38]=f,e[39]=a,e[40]=L,e[41]=U,e[42]=l,e[43]=W,e[44]=G,e[45]=P):P=e[45];const V=`${l.filesWidth}px`;let Q;e[46]!==V?(Q={"--cmux-diff-files-width":V},e[46]=V,e[47]=Q):Q=e[47];const ee=Q,te=l.draft!=null;let H;e[48]!==B||e[49]!==b||e[50]!==f||e[51]!==a||e[52]!==L||e[53]!==A||e[54]!==O||e[55]!==l||e[56]!==te?(H=s.jsx(Or,{commentEntries:B,commentLabels:b,hasDraft:te,label:a,onSelectComment:A,onSelectItem:L,selectedPath:O,dispatch:f,state:l}),e[48]=B,e[49]=b,e[50]=f,e[51]=a,e[52]=L,e[53]=A,e[54]=O,e[55]=l,e[56]=te,e[57]=H):H=e[57];let Y;e[58]!==a?(Y=a("diffViewer"),e[58]=a,e[59]=Y):Y=e[59];let Z;e[60]!==k||e[61]!==N||e[62]!==S||e[63]!==l.items||e[64]!==m?(Z=l.items.length>0?s.jsxs(It,{poolOptions:m,highlighterOptions:k,children:[s.jsx(Ir,{codeViewRef:u,highlighterOptions:k}),s.jsx(Pt,{ref:u,className:"code-view-root",containerRef:h,items:l.items,options:S,renderAnnotation:(v,M)=>N(v,M)})]}):null,e[60]=k,e[61]=N,e[62]=S,e[63]=l.items,e[64]=m,e[65]=Z):Z=e[65];let q;e[66]!==Y||e[67]!==Z?(q=s.jsx("main",{id:"viewer","aria-label":Y,children:Z}),e[66]=Y,e[67]=Z,e[68]=q):q=e[68];let K;e[69]!==a||e[70]!==l.status?(K=s.jsx(qr,{label:a,status:l.status}),e[69]=a,e[70]=l.status,e[71]=K):K=e[71];let J;e[72]!==ee||e[73]!==H||e[74]!==q||e[75]!==K?(J=s.jsxs("section",{id:"content",style:ee,children:[H,q,K]}),e[72]=ee,e[73]=H,e[74]=q,e[75]=K,e[76]=J):J=e[76];let X;e[77]===Symbol.for("react.memo_cache_sentinel")?(X=s.jsx("textarea",{ref:p,"aria-hidden":"true",readOnly:!0,tabIndex:-1,className:"copy-fallback-textarea"}),e[77]=X):X=e[77];let ie;return e[78]!==P||e[79]!==J?(ie=s.jsxs("div",{id:"app",children:[P,J,X]}),e[78]=P,e[79]=J,e[80]=ie):ie=e[80],ie}function gr(){return window.location.reload()}function xr(t){return new URL(t||ur,window.location.href)}function br(t){const e=F.c(23),{bridgeAvailable:i,dispatch:r,latestState:n,repoRoot:a}=t;let o;e[0]!==r?(o=x=>r({type:"set-comments",comments:x}),e[0]=r,e[1]=o):o=e[1];const d=o;let l;e[2]!==r?(l=(x,y)=>{const b=x.side==="deletions"?"deletions":"additions";r({type:"set-draft",draft:{itemId:y.item.id,side:b,startLine:Math.min(x.start,x.end),endLine:Math.max(x.start,x.end)}})},e[2]=r,e[3]=l):l=e[3];const f=l;let c;e[4]!==i||e[5]!==r||e[6]!==n||e[7]!==a?(c=(x,y)=>{const b=n.current.draft;if(b==null||b.itemId!==x.id||y.trim()==="")return;const w={filePath:de(x.fileDiff,""),side:b.side,startLine:b.startLine,endLine:b.endLine,lineText:ze(x.fileDiff,b.side,b.endLine)??"",message:y},S={...w,submissionText:Ye(w,x.fileDiff)};(i&&a!=null?Xe(a,S):Promise.resolve(kr(S))).then(_=>{r({type:"upsert-comment",comment:_}),r({type:"set-draft",draft:null})}).catch(yr)},e[4]=i,e[5]=r,e[6]=n,e[7]=a,e[8]=c):c=e[8];const u=c;let p;e[9]!==i||e[10]!==r||e[11]!==a?(p=(x,y,b)=>{if(y.trim()==="")return;const w={...x,message:y,updatedAt:new Date().toISOString()},S={...w,submissionText:Ye(w,b)};(i&&a!=null?Xe(a,S):Promise.resolve(S)).then(_=>r({type:"upsert-comment",comment:_})).catch(vr)},e[9]=i,e[10]=r,e[11]=a,e[12]=p):p=e[12];const h=p;let g;e[13]!==i||e[14]!==r||e[15]!==a?(g=x=>{i&&a!=null&&_i(a,x.id).catch(wr),r({type:"remove-comment",id:x.id})},e[13]=i,e[14]=r,e[15]=a,e[16]=g):g=e[16];const m=g;let k;return e[17]!==h||e[18]!==f||e[19]!==d||e[20]!==m||e[21]!==u?(k={editMessage:h,onGutterUtilityClick:f,onLoaded:d,remove:m,saveDraft:u},e[17]=h,e[18]=f,e[19]=d,e[20]=m,e[21]=u,e[22]=k):k=e[22],k}function wr(t){return console.warn("cmux diff comment delete failed",t)}function vr(t){return console.warn("cmux diff comment edit failed",t)}function yr(t){return console.warn("cmux diff comment save failed",t)}function kr(t){const e=new Date().toISOString();return{...t,id:crypto.randomUUID(),createdAt:e,updatedAt:e}}function Sr(t){const e=vt(t.layout);return t.layoutSource==="explicit"&&e?e:jr()??e??"unified"}function jr(){try{return vt(window.localStorage.getItem(wt))}catch{return null}}function Cr(t){try{window.localStorage.setItem(wt,t)}catch{}}function vt(t){return t==="split"||t==="unified"?t:null}function Ir(t){const{codeViewRef:e,highlighterOptions:i}=t;return Kr(i,e),null}function Pr(t){const e=F.c(63),{config:i,dispatch:r,label:n,onCopyGitApply:a,onJump:o,onNavigate:d,onReload:l,onSetLayout:f,state:c}=t;let u;e[0]!==i.payload?(u=i.payload??{},e[0]=i.payload,e[1]=u):u=e[1];const p=u,h=typeof p.externalURL=="string"&&p.externalURL.length>0?p.externalURL:null,g=C.useRef(null),m=or(g);let k;if(e[2]!==h||e[3]!==p||e[4]!==m){const $=[{id:"files-toggle",width:Le},{id:"layout-toggle",width:Le},...h?[{id:"external-link",width:Le}]:[]];k=m==null?new Set:new Set(nr({available:m,reserved:Mr+(Fr(p)?Lr:0),items:$}).overflow),e[2]=h,e[3]=p,e[4]=m,e[5]=k}else k=e[5];const x=k,y=!x.has("files-toggle"),b=!x.has("layout-toggle"),w=h!=null&&!x.has("external-link");let S;e[6]!==n||e[7]!==d||e[8]!==p?(S=s.jsx(_r,{label:n,onNavigate:d,payload:p}),e[6]=n,e[7]=d,e[8]=p,e[9]=S):S=e[9];let j;e[10]!==n||e[11]!==o||e[12]!==c.activeItemId||e[13]!==c.items?(j=s.jsx("div",{className:"toolbar-middle flex min-w-0 flex-1 items-center justify-center gap-1.5",children:s.jsx(Er,{items:c.items,label:n,onJump:o,selectedItemId:c.activeItemId})}),e[10]=n,e[11]=o,e[12]=c.activeItemId,e[13]=c.items,e[14]=j):j=e[14];let _;e[15]!==h||e[16]!==n||e[17]!==w?(_=w?s.jsx("a",{id:"external-link",className:"toolbar-icon",href:h??void 0,target:"_blank",rel:"noreferrer",title:n("openSourceURL"),"aria-label":n("openSourceURL"),children:s.jsx(ne,{name:"external"})}):null,e[15]=h,e[16]=n,e[17]=w,e[18]=_):_=e[18];let N;e[19]!==n||e[20]!==f||e[21]!==b||e[22]!==c.options?(N=b?s.jsx("button",{id:"layout-toggle",className:"toolbar-icon",type:"button",title:c.options.layout==="split"?n("switchToUnifiedDiff"):n("switchToSplitDiff"),"aria-label":c.options.layout==="split"?n("switchToUnifiedDiff"):n("switchToSplitDiff"),onClick:()=>f(c.options.layout==="split"?"unified":"split"),children:s.jsx(ne,{name:c.options.layout})}):null,e[19]=n,e[20]=f,e[21]=b,e[22]=c.options,e[23]=N):N=e[23];let I;e[24]!==n?(I=n("options"),e[24]=n,e[25]=I):I=e[25];let B;e[26]!==n?(B=n("options"),e[26]=n,e[27]=B):B=e[27];let T;e[28]!==r||e[29]!==c.optionsOpen?(T=()=>r({type:"set-options-open",open:!c.optionsOpen}),e[28]=r,e[29]=c.optionsOpen,e[30]=T):T=e[30];let A;e[31]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsx(ne,{name:"dots"}),e[31]=A):A=e[31];let R;e[32]!==c.optionsOpen||e[33]!==I||e[34]!==B||e[35]!==T?(R=s.jsx("button",{id:"options-button",className:"toolbar-icon",type:"button",title:I,"aria-label":B,"aria-expanded":c.optionsOpen,"aria-controls":"options-menu",onClick:T,children:A}),e[32]=c.optionsOpen,e[33]=I,e[34]=B,e[35]=T,e[36]=R):R=e[36];let O;e[37]!==r||e[38]!==n||e[39]!==y||e[40]!==c.filesVisible?(O=y?s.jsx("button",{id:"files-toggle",className:"toolbar-icon",type:"button",title:c.filesVisible?n("hideFiles"):n("showFiles"),"aria-label":c.filesVisible?n("hideFiles"):n("showFiles"),"aria-pressed":c.filesVisible,onClick:()=>r({type:"set-files-visible",visible:!c.filesVisible}),children:s.jsx(ne,{name:"files"})}):null,e[37]=r,e[38]=n,e[39]=y,e[40]=c.filesVisible,e[41]=O):O=e[41];let D;e[42]!==c.copyFeedback?(D=s.jsx("span",{id:"copy-feedback",className:"visually-hidden","aria-live":"polite",children:c.copyFeedback}),e[42]=c.copyFeedback,e[43]=D):D=e[43];let L;e[44]!==R||e[45]!==O||e[46]!==D||e[47]!==_||e[48]!==N?(L=s.jsxs("div",{className:"toolbar-actions flex items-center gap-1.5",children:[_,N,R,O,D]}),e[44]=R,e[45]=O,e[46]=D,e[47]=_,e[48]=N,e[49]=L):L=e[49];let z;e[50]!==r||e[51]!==h||e[52]!==n||e[53]!==a||e[54]!==l||e[55]!==f||e[56]!==c?(z=c.optionsOpen?s.jsx(Ar,{dispatch:r,externalURL:h,label:n,onCopyGitApply:a,onReload:l,onSetLayout:f,state:c}):null,e[50]=r,e[51]=h,e[52]=n,e[53]=a,e[54]=l,e[55]=f,e[56]=c,e[57]=z):z=e[57];let E;return e[58]!==L||e[59]!==z||e[60]!==S||e[61]!==j?(E=s.jsxs("header",{id:"toolbar",ref:g,children:[S,j,L,z]}),e[58]=L,e[59]=z,e[60]=S,e[61]=j,e[62]=E):E=e[62],E}const Le=28,Mr=248,Lr=60;function Fr(t){return Array.isArray(t?.repoOptions)&&t.repoOptions.length>=2}function _r(t){const e=F.c(21),{label:i,onNavigate:r,payload:n}=t;let a;e[0]!==i?(a=i("diffTarget"),e[0]=i,e[1]=a):a=e[1];let o;e[2]!==r||e[3]!==n.sourceOptions||e[4]!==a?(o=s.jsx(Be,{ariaLabel:a,fallbackValue:"",id:"source-select",options:n.sourceOptions,onNavigate:r}),e[2]=r,e[3]=n.sourceOptions,e[4]=a,e[5]=o):o=e[5];let d;e[6]!==i?(d=i("repoPath"),e[6]=i,e[7]=d):d=e[7];const l=n.repoRoot??"";let f;e[8]!==r||e[9]!==n.repoOptions||e[10]!==d||e[11]!==l?(f=s.jsx(Be,{ariaLabel:d,fallbackValue:l,id:"repo-select",options:n.repoOptions,onNavigate:r}),e[8]=r,e[9]=n.repoOptions,e[10]=d,e[11]=l,e[12]=f):f=e[12];let c;e[13]!==i||e[14]!==r||e[15]!==n?(c=s.jsx(Br,{label:i,onNavigate:r,payload:n}),e[13]=i,e[14]=r,e[15]=n,e[16]=c):c=e[16];let u;return e[17]!==o||e[18]!==f||e[19]!==c?(u=s.jsxs("div",{className:"toolbar-left flex min-w-0 items-center gap-1.5",children:[o,f,c]}),e[17]=o,e[18]=f,e[19]=c,e[20]=u):u=e[20],u}function Br(t){const e=F.c(13),{label:i,onNavigate:r,payload:n}=t;let a;e[0]!==n?(a=Tr(n),e[0]=n,e[1]=a):a=e[1];const o=a;if(o){let c;return e[2]!==i||e[3]!==r||e[4]!==o?(c=s.jsx(Zt,{label:i,onNavigate:r,picker:o}),e[2]=i,e[3]=r,e[4]=o,e[5]=c):c=e[5],c}let d;e[6]!==i?(d=i("branchBase"),e[6]=i,e[7]=d):d=e[7];const l=n.branchBaseRef??"";let f;return e[8]!==r||e[9]!==n.baseOptions||e[10]!==d||e[11]!==l?(f=s.jsx(Be,{ariaLabel:d,fallbackValue:l,id:"base-select",options:n.baseOptions,onNavigate:r}),e[8]=r,e[9]=n.baseOptions,e[10]=d,e[11]=l,e[12]=f):f=e[12],f}function Tr(t){const e=t?.branchPicker;return Rr(e)?e:null}function Rr(t){return!!(t&&typeof t=="object"&&typeof t.refsURL=="string"&&t.refsURL!==""&&typeof t.regenerateURLTemplate=="string"&&t.regenerateURLTemplate!==""&&typeof t.currentRef=="string"&&typeof t.headRef=="string")}function Be(t){const e=F.c(15),{ariaLabel:i,fallbackValue:r,id:n,onNavigate:a,options:o}=t;if(!Array.isArray(o)||o.length<2)return null;let d;e[0]!==o?(d=o.find(Dr)??o.find(zr),e[0]=o,e[1]=d):d=e[1];const l=d,f=l?.value??r;let c;e[2]!==r||e[3]!==a||e[4]!==o||e[5]!==l?.value?(c=h=>{const g=o.find(m=>m.value===h.currentTarget.value);if(!g?.url){h.currentTarget.value=l?.value??r;return}a(g.url)},e[2]=r,e[3]=a,e[4]=o,e[5]=l?.value,e[6]=c):c=e[6];let u;e[7]!==o?(u=o.map(Nr),e[7]=o,e[8]=u):u=e[8];let p;return e[9]!==i||e[10]!==n||e[11]!==f||e[12]!==c||e[13]!==u?(p=s.jsx("select",{id:n,"aria-label":i,defaultValue:f,title:i,onChange:c,children:u}),e[9]=i,e[10]=n,e[11]=f,e[12]=c,e[13]=u,e[14]=p):p=e[14],p}function Nr(t){return s.jsx("option",{value:t.value,disabled:t.disabled||!t.url,title:t.message,children:t.label},t.value)}function zr(t){return!t.disabled}function Dr(t){return t.selected}function Er(t){const e=F.c(19),{items:i,label:r,onJump:n,selectedItemId:a}=t;if(i.length===0)return null;let o;e[0]!==r?(o=r("jumpToFile"),e[0]=r,e[1]=o):o=e[1];let d;e[2]!==n?(d=p=>n(p.currentTarget.value),e[2]=n,e[3]=d):d=e[3];let l;e[4]!==r?(l=r("jumpToFile"),e[4]=r,e[5]=l):l=e[5];let f;e[6]!==l?(f=s.jsx("option",{value:"",children:l}),e[6]=l,e[7]=f):f=e[7];let c;if(e[8]!==i||e[9]!==r){let p;e[11]!==r?(p=h=>s.jsx("option",{value:h.id,children:de(h.fileDiff,r("untitled"))},h.id),e[11]=r,e[12]=p):p=e[12],c=i.map(p),e[8]=i,e[9]=r,e[10]=c}else c=e[10];let u;return e[13]!==a||e[14]!==o||e[15]!==d||e[16]!==f||e[17]!==c?(u=s.jsxs("select",{id:"jump-select","aria-label":o,value:a,onChange:d,children:[f,c]}),e[13]=a,e[14]=o,e[15]=d,e[16]=f,e[17]=c,e[18]=u):u=e[18],u}function Ar(t){const e=F.c(137),{dispatch:i,externalURL:r,label:n,onCopyGitApply:a,onReload:o,onSetLayout:d,state:l}=t;let f;e[0]!==i||e[1]!==l.options?(f=ce=>i({type:"set-option",key:ce,value:!l.options[ce]}),e[0]=i,e[1]=l.options,e[2]=f):f=e[2];const c=f;let u;e[3]!==n?(u=n("options"),e[3]=n,e[4]=u):u=e[4];let p;e[5]!==n?(p=n("refresh"),e[5]=n,e[6]=p):p=e[6];let h;e[7]!==o||e[8]!==p?(h=s.jsx(oe,{icon:"refresh",label:p,onClick:o}),e[7]=o,e[8]=p,e[9]=h):h=e[9];let g;e[10]!==n||e[11]!==l.options.wordWrap?(g=l.options.wordWrap?n("disableWordWrap"):n("enableWordWrap"),e[10]=n,e[11]=l.options.wordWrap,e[12]=g):g=e[12];let m;e[13]!==c?(m=()=>c("wordWrap"),e[13]=c,e[14]=m):m=e[14];let k;e[15]!==l.options.wordWrap||e[16]!==g||e[17]!==m?(k=s.jsx(oe,{checked:l.options.wordWrap,icon:"wrap",label:g,onClick:m}),e[15]=l.options.wordWrap,e[16]=g,e[17]=m,e[18]=k):k=e[18];const x=l.options.collapsed?"expand":"collapse";let y;e[19]!==n||e[20]!==l.options.collapsed?(y=l.options.collapsed?n("expandAllDiffs"):n("collapseAllDiffs"),e[19]=n,e[20]=l.options.collapsed,e[21]=y):y=e[21];let b;e[22]!==c?(b=()=>c("collapsed"),e[22]=c,e[23]=b):b=e[23];let w;e[24]!==l.options.collapsed||e[25]!==b||e[26]!==x||e[27]!==y?(w=s.jsx(oe,{checked:l.options.collapsed,icon:x,label:y,onClick:b}),e[24]=l.options.collapsed,e[25]=b,e[26]=x,e[27]=y,e[28]=w):w=e[28];let S;e[29]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx("div",{className:"menu-separator"}),e[29]=S):S=e[29];let j;e[30]!==n||e[31]!==l.options.layout?(j=l.options.layout==="split"?n("switchToUnifiedDiff"):n("switchToSplitDiff"),e[30]=n,e[31]=l.options.layout,e[32]=j):j=e[32];let _;e[33]!==d||e[34]!==l.options.layout?(_=()=>d(l.options.layout==="split"?"unified":"split"),e[33]=d,e[34]=l.options.layout,e[35]=_):_=e[35];let N;e[36]!==l.options.layout||e[37]!==j||e[38]!==_?(N=s.jsx(oe,{icon:l.options.layout,label:j,onClick:_}),e[36]=l.options.layout,e[37]=j,e[38]=_,e[39]=N):N=e[39];let I;e[40]!==r||e[41]!==n?(I=r?s.jsx(oe,{icon:"external",label:n("openSourceURL"),onClick:()=>window.open(r,"_blank","noreferrer")}):null,e[40]=r,e[41]=n,e[42]=I):I=e[42];let B;e[43]!==n||e[44]!==l.filesVisible?(B=l.filesVisible?n("hideFiles"):n("showFiles"),e[43]=n,e[44]=l.filesVisible,e[45]=B):B=e[45];let T;e[46]!==i||e[47]!==l.filesVisible?(T=()=>i({type:"set-files-visible",visible:!l.filesVisible}),e[46]=i,e[47]=l.filesVisible,e[48]=T):T=e[48];let A;e[49]!==l.filesVisible||e[50]!==B||e[51]!==T?(A=s.jsx(oe,{checked:l.filesVisible,icon:"files",label:B,onClick:T}),e[49]=l.filesVisible,e[50]=B,e[51]=T,e[52]=A):A=e[52];let R;e[53]!==n||e[54]!==l.options.expandUnchanged?(R=l.options.expandUnchanged?n("collapseUnchangedContext"):n("expandUnchangedContext"),e[53]=n,e[54]=l.options.expandUnchanged,e[55]=R):R=e[55];let O;e[56]!==c?(O=()=>c("expandUnchanged"),e[56]=c,e[57]=O):O=e[57];let D;e[58]!==l.options.expandUnchanged||e[59]!==R||e[60]!==O?(D=s.jsx(oe,{checked:l.options.expandUnchanged,icon:"document",label:R,onClick:O}),e[58]=l.options.expandUnchanged,e[59]=R,e[60]=O,e[61]=D):D=e[61];let L;e[62]!==n||e[63]!==l.options.showBackgrounds?(L=l.options.showBackgrounds?n("hideBackgrounds"):n("showBackgrounds"),e[62]=n,e[63]=l.options.showBackgrounds,e[64]=L):L=e[64];let z;e[65]!==c?(z=()=>c("showBackgrounds"),e[65]=c,e[66]=z):z=e[66];let E;e[67]!==l.options.showBackgrounds||e[68]!==L||e[69]!==z?(E=s.jsx(oe,{checked:l.options.showBackgrounds,icon:"background",label:L,onClick:z}),e[67]=l.options.showBackgrounds,e[68]=L,e[69]=z,e[70]=E):E=e[70];let $;e[71]!==n||e[72]!==l.options.lineNumbers?($=l.options.lineNumbers?n("hideLineNumbers"):n("showLineNumbers"),e[71]=n,e[72]=l.options.lineNumbers,e[73]=$):$=e[73];let U;e[74]!==c?(U=()=>c("lineNumbers"),e[74]=c,e[75]=U):U=e[75];let W;e[76]!==l.options.lineNumbers||e[77]!==$||e[78]!==U?(W=s.jsx(oe,{checked:l.options.lineNumbers,icon:"numbers",label:$,onClick:U}),e[76]=l.options.lineNumbers,e[77]=$,e[78]=U,e[79]=W):W=e[79];let G;e[80]!==n||e[81]!==l.options.wordDiffs?(G=l.options.wordDiffs?n("disableWordDiffs"):n("enableWordDiffs"),e[80]=n,e[81]=l.options.wordDiffs,e[82]=G):G=e[82];let P;e[83]!==c?(P=()=>c("wordDiffs"),e[83]=c,e[84]=P):P=e[84];let V;e[85]!==l.options.wordDiffs||e[86]!==G||e[87]!==P?(V=s.jsx(oe,{checked:l.options.wordDiffs,icon:"word",label:G,onClick:P}),e[85]=l.options.wordDiffs,e[86]=G,e[87]=P,e[88]=V):V=e[88];let Q;e[89]===Symbol.for("react.memo_cache_sentinel")?(Q=s.jsx(ne,{name:"bars"}),e[89]=Q):Q=e[89];let ee;e[90]!==n?(ee=n("indicatorStyle"),e[90]=n,e[91]=ee):ee=e[91];let te;e[92]!==ee?(te=s.jsx("span",{className:"menu-label",children:ee}),e[92]=ee,e[93]=te):te=e[93];let H;e[94]!==n?(H=n("bars"),e[94]=n,e[95]=H):H=e[95];let Y;e[96]!==H?(Y={value:"bars",icon:"bars",label:H},e[96]=H,e[97]=Y):Y=e[97];let Z;e[98]!==n?(Z=n("classic"),e[98]=n,e[99]=Z):Z=e[99];let q;e[100]!==Z?(q={value:"classic",icon:"classic",label:Z},e[100]=Z,e[101]=q):q=e[101];let K;e[102]!==n?(K=n("none"),e[102]=n,e[103]=K):K=e[103];let J;e[104]!==K?(J={value:"none",icon:"eye",label:K},e[104]=K,e[105]=J):J=e[105];let X;e[106]!==Y||e[107]!==q||e[108]!==J?(X=[Y,q,J],e[106]=Y,e[107]=q,e[108]=J,e[109]=X):X=e[109];let ie;e[110]!==i||e[111]!==l.options.diffIndicators||e[112]!==X?(ie=s.jsx("span",{className:"menu-segment-controls",children:X.map(ce=>s.jsx("button",{type:"button",className:"segment-button",title:ce.label,"aria-label":ce.label,"aria-pressed":l.options.diffIndicators===ce.value,onClick:()=>i({type:"set-option",key:"diffIndicators",value:ce.value}),children:s.jsx(ne,{name:ce.icon})},ce.value))}),e[110]=i,e[111]=l.options.diffIndicators,e[112]=X,e[113]=ie):ie=e[113];let v;e[114]!==te||e[115]!==ie?(v=s.jsxs("div",{className:"menu-item menu-segment",children:[Q,te,ie]}),e[114]=te,e[115]=ie,e[116]=v):v=e[116];let M;e[117]===Symbol.for("react.memo_cache_sentinel")?(M=s.jsx("div",{className:"menu-separator"}),e[117]=M):M=e[117];let re;e[118]!==n?(re=n("copyGitApplyCommand"),e[118]=n,e[119]=re):re=e[119];let le;e[120]!==a||e[121]!==re?(le=s.jsx(oe,{icon:"clipboard",label:re,onClick:a}),e[120]=a,e[121]=re,e[122]=le):le=e[122];let me;return e[123]!==w||e[124]!==N||e[125]!==I||e[126]!==A||e[127]!==u||e[128]!==D||e[129]!==E||e[130]!==W||e[131]!==V||e[132]!==h||e[133]!==v||e[134]!==le||e[135]!==k?(me=s.jsxs("div",{id:"options-menu","aria-label":u,children:[h,k,w,S,N,I,A,D,E,W,V,v,M,le]}),e[123]=w,e[124]=N,e[125]=I,e[126]=A,e[127]=u,e[128]=D,e[129]=E,e[130]=W,e[131]=V,e[132]=h,e[133]=v,e[134]=le,e[135]=k,e[136]=me):me=e[136],me}function oe(t){const e=F.c(14),{checked:i,icon:r,label:n,onClick:a}=t,o=i??void 0;let d;e[0]!==r?(d=s.jsx(ne,{name:r}),e[0]=r,e[1]=d):d=e[1];let l;e[2]!==n?(l=s.jsx("span",{className:"menu-label",children:n}),e[2]=n,e[3]=l):l=e[3];let f;e[4]!==i?(f=i?s.jsx(ne,{name:"check"}):null,e[4]=i,e[5]=f):f=e[5];let c;e[6]!==f?(c=s.jsx("span",{className:"menu-check",children:f}),e[6]=f,e[7]=c):c=e[7];let u;return e[8]!==a||e[9]!==o||e[10]!==d||e[11]!==l||e[12]!==c?(u=s.jsxs("button",{type:"button",className:"menu-item","aria-pressed":o,onClick:a,children:[d,l,c]}),e[8]=a,e[9]=o,e[10]=d,e[11]=l,e[12]=c,e[13]=u):u=e[13],u}function Or(t){const e=F.c(69),{commentEntries:i,commentLabels:r,dispatch:n,hasDraft:a,label:o,onSelectComment:d,onSelectItem:l,selectedPath:f,state:c}=t,u=C.useRef(null);let p;e[0]!==n?(p=P=>{const V=u.current;if(!V)return;const Q=document.documentElement.clientWidth||window.innerWidth,ee=Math.max(220,Math.min(520,Math.floor(Q*.55))),te=Math.max(180,Math.min(ee,Math.round(V.startWidth-(P-V.startX))));n({type:"set-files-width",width:te})},e[0]=n,e[1]=p):p=e[1];const h=p;let g;e[2]!==o?(g=o("changedFiles"),e[2]=o,e[3]=g):g=e[3];const m=!c.filesVisible,k=!c.filesVisible;let x;e[4]!==o?(x=o("files"),e[4]=o,e[5]=x):x=e[5];let y;e[6]!==c.filesWidth?(y=P=>{u.current={startWidth:c.filesWidth,startX:P.clientX},P.currentTarget.setPointerCapture(P.pointerId)},e[6]=c.filesWidth,e[7]=y):y=e[7];let b,w;e[8]!==h?(b=P=>h(P.clientX),w=P=>{h(P.clientX),u.current=null,P.currentTarget.releasePointerCapture(P.pointerId)},e[8]=h,e[9]=b,e[10]=w):(b=e[9],w=e[10]);let S;e[11]===Symbol.for("react.memo_cache_sentinel")?(S=()=>{u.current=null},e[11]=S):S=e[11];let j;e[12]!==n||e[13]!==c.filesWidth?(j=P=>{if(P.key!=="ArrowLeft"&&P.key!=="ArrowRight")return;P.preventDefault();const V=P.key==="ArrowLeft"?20:-20;n({type:"set-files-width",width:Math.max(180,Math.min(520,c.filesWidth+V))})},e[12]=n,e[13]=c.filesWidth,e[14]=j):j=e[14];let _;e[15]!==j||e[16]!==x||e[17]!==y||e[18]!==b||e[19]!==w?(_=s.jsx("button",{id:"files-resize-handle","aria-label":x,type:"button",tabIndex:0,onPointerDown:y,onPointerMove:b,onPointerUp:w,onPointerCancel:S,onKeyDown:j}),e[15]=j,e[16]=x,e[17]=y,e[18]=b,e[19]=w,e[20]=_):_=e[20];let N;e[21]!==o?(N=o("files"),e[21]=o,e[22]=N):N=e[22];let I;e[23]!==N?(I=s.jsx("span",{children:N}),e[23]=N,e[24]=I):I=e[24];const B=c.treeSource?.pathCount??0;let T;e[25]!==B?(T=s.jsx("span",{id:"files-count",children:B}),e[25]=B,e[26]=T):T=e[26];let A;e[27]!==I||e[28]!==T?(A=s.jsxs("span",{id:"files-title",children:[I,T]}),e[27]=I,e[28]=T,e[29]=A):A=e[29];let R;e[30]!==o||e[31]!==c.fileSearchOpen?(R=c.fileSearchOpen?o("hideFileSearch"):o("showFileSearch"),e[30]=o,e[31]=c.fileSearchOpen,e[32]=R):R=e[32];let O;e[33]!==o||e[34]!==c.fileSearchOpen?(O=c.fileSearchOpen?o("hideFileSearch"):o("showFileSearch"),e[33]=o,e[34]=c.fileSearchOpen,e[35]=O):O=e[35];const D=!c.treeSource;let L;e[36]!==n||e[37]!==c.fileSearchOpen?(L=()=>n({type:"set-file-search-open",open:!c.fileSearchOpen}),e[36]=n,e[37]=c.fileSearchOpen,e[38]=L):L=e[38];let z;e[39]===Symbol.for("react.memo_cache_sentinel")?(z=s.jsx(ne,{name:"search"}),e[39]=z):z=e[39];let E;e[40]!==c.fileSearchOpen||e[41]!==R||e[42]!==O||e[43]!==D||e[44]!==L?(E=s.jsx("span",{id:"files-header-actions",children:s.jsx("button",{id:"file-search-toggle",type:"button",title:R,"aria-label":O,"aria-pressed":c.fileSearchOpen,disabled:D,onClick:L,children:z})}),e[40]=c.fileSearchOpen,e[41]=R,e[42]=O,e[43]=D,e[44]=L,e[45]=E):E=e[45];let $;e[46]!==A||e[47]!==E?($=s.jsxs("div",{id:"files-header",children:[A,E]}),e[46]=A,e[47]=E,e[48]=$):$=e[48];let U;e[49]!==o||e[50]!==l||e[51]!==f||e[52]!==c.fileSearchOpen||e[53]!==c.status||e[54]!==c.treeSource?(U=s.jsx("div",{id:"file-list",children:c.treeSource?s.jsx($r,{fileSearchOpen:c.fileSearchOpen,label:o,onSelectItem:l,selectedPath:f,source:c.treeSource}):c.status.loading||c.status.pending?s.jsx(Ur,{}):s.jsx("div",{className:"visually-hidden",children:c.status.message})}),e[49]=o,e[50]=l,e[51]=f,e[52]=c.fileSearchOpen,e[53]=c.status,e[54]=c.treeSource,e[55]=U):U=e[55];let W;e[56]!==i||e[57]!==r||e[58]!==a||e[59]!==d?(W=s.jsx(Ri,{entries:i,hasDraft:a,labels:r,onSelect:d}),e[56]=i,e[57]=r,e[58]=a,e[59]=d,e[60]=W):W=e[60];let G;return e[61]!==_||e[62]!==g||e[63]!==$||e[64]!==U||e[65]!==W||e[66]!==m||e[67]!==k?(G=s.jsxs("aside",{id:"files-sidebar","aria-label":g,"aria-hidden":m,inert:k,children:[_,$,U,W]}),e[61]=_,e[62]=g,e[63]=$,e[64]=U,e[65]=W,e[66]=m,e[67]=k,e[68]=G):G=e[68],G}function $r(t){const e=F.c(18),{fileSearchOpen:i,label:r,onSelectItem:n,selectedPath:a,source:o}=t;let d;e[0]!==r||e[1]!==n||e[2]!==o?(d={label:r,onSelectItem:n,source:o},e[0]=r,e[1]=n,e[2]=o,e[3]=d):d=e[3];const l=yt(d);let f;e[4]!==o.paths?(f=()=>Fe(o.paths),e[4]=o.paths,e[5]=f):f=e[5];const[c]=C.useState(f);let u;e[6]!==a?(u=a?[a]:[],e[6]=a,e[7]=u):u=e[7];let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=kt(),e[8]=p):p=e[8];const h=o.gitStatus;let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=tr(),e[9]=g):g=e[9];let m;e[10]!==c||e[11]!==l||e[12]!==u||e[13]!==h?(m={flattenEmptyDirectories:!1,id:"cmux-diff-file-tree",initialExpansion:"open",initialSelectedPaths:u,initialVisibleRowCount:p,itemHeight:24,overscan:12,preparedInput:c,search:!0,searchBlurBehavior:"retain",stickyFolders:!0,gitStatus:h,sort:Wr,unsafeCSS:g,onSelectionChange(b){const w=b[b.length-1],S=l.current.source.pathToItemId.get(w);S&&l.current.onSelectItem(S)}},e[10]=c,e[11]=l,e[12]=u,e[13]=h,e[14]=m):m=e[14];const{model:k}=Lt(m);Qr(k,o),tn(k,i),rn(k,a);let x;e[15]===Symbol.for("react.memo_cache_sentinel")?(x={height:"100%"},e[15]=x):x=e[15];let y;return e[16]!==k?(y=s.jsx(Ft,{model:k,style:x}),e[16]=k,e[17]=y):y=e[17],y}function Wr(){return 0}function Ur(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx("div",{className:"diff-loading-placeholder","aria-hidden":"true",children:dr.map(Gr)}),t[0]=e):e=t[0],e}function Gr(t,e){return s.jsxs("div",{className:"grid h-6 grid-cols-[16px_minmax(0,1fr)_44px] items-center gap-2 rounded-[5px] px-[7px]",children:[s.jsx("span",{className:"size-4 rounded-[5px] border border-[color-mix(in_lab,var(--cmux-diff-fg)_18%,transparent)]"}),s.jsx("span",{className:"h-[11px] rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}}),s.jsx("span",{className:"h-[11px] justify-self-end rounded bg-[var(--cmux-diff-muted-bg)] opacity-70",style:{width:e%2===0?"34px":"24px"}})]},`${t}-${e}`)}function Vr(){const t=F.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsxs("div",{className:"mb-3 grid h-9 grid-cols-[72px_minmax(0,1fr)_96px] items-center gap-3 rounded-md bg-[color-mix(in_lab,var(--cmux-diff-fg)_5%,transparent)] px-3",children:[s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 w-2/5 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)] opacity-70"})]}),t[0]=e):e=t[0];let i;return t[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs("div",{className:"diff-loading-placeholder mx-3.5 mt-3.5 border-t border-[var(--cmux-diff-border)] pt-3","aria-hidden":"true",children:[e,s.jsx("div",{className:"space-y-[13px] px-3 py-1",children:fr.map(Hr)})]}),t[1]=i):i=t[1],i}function Hr(t,e){return s.jsxs("div",{className:"grid grid-cols-[42px_minmax(0,1fr)] items-center gap-4",children:[s.jsx("span",{className:"h-px bg-[color-mix(in_lab,var(--cmux-diff-fg)_10%,transparent)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}})]},`${t}-${e}`)}function qr(t){const e=F.c(16),{label:i,status:r}=t;if(!r.loading&&!r.pending&&!r.statusOnly&&!r.error)return null;const n=r.error?"true":"false",a=r.pending?"true":"false";let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("span",{id:"status-icon","aria-hidden":"true"}),e[0]=o):o=e[0];let d;e[1]!==i||e[2]!==r.message?(d=r.message||i("loadingDiff"),e[1]=i,e[2]=r.message,e[3]=d):d=e[3];let l;e[4]!==d?(l=s.jsx("span",{id:"status-text",children:d}),e[4]=d,e[5]=l):l=e[5];let f;e[6]!==n||e[7]!==a||e[8]!==l?(f=s.jsxs("div",{id:"status","data-error":n,"data-pending":a,children:[o,l]}),e[6]=n,e[7]=a,e[8]=l,e[9]=f):f=e[9];let c;e[10]!==r.loading||e[11]!==r.pending?(c=r.loading||r.pending?s.jsx(Vr,{}):null,e[10]=r.loading,e[11]=r.pending,e[12]=c):c=e[12];let u;return e[13]!==f||e[14]!==c?(u=s.jsxs("div",{id:"loading-layer","aria-live":"polite",children:[f,c]}),e[13]=f,e[14]=c,e[15]=u):u=e[15],u}function yt(t){const e=F.c(3),i=C.useRef(t);let r,n;return e[0]!==t?(r=()=>{i.current=t},n=[t],e[0]=t,e[1]=r,e[2]=n):(r=e[1],n=e[2]),C.useEffect(r,n),i}function Kr(t,e){const i=F.c(5),r=Mt(),n=C.useRef(null);let a,o;i[0]!==e||i[1]!==t||i[2]!==r?(a=()=>{if(!r||Xr(n.current,t))return;let d=!0;return n.current=t,r.setRenderOptions(t).then(()=>{d&&e.current?.getInstance()?.render(!0)}).catch(Jr),()=>{d=!1}},o=[e,t,r],i[0]=e,i[1]=t,i[2]=r,i[3]=a,i[4]=o):(a=i[3],o=i[4]),C.useEffect(a,o)}function Jr(t){return console.warn("cmux diff worker render options update failed",t)}function Xr(t,e){return t?.lineDiffType===e.lineDiffType&&Yr(t?.langs,e.langs)&&t?.maxLineDiffLength===e.maxLineDiffLength&&t?.preferredHighlighter===e.preferredHighlighter&&Zr(t?.theme,e.theme)&&t?.tokenizeMaxLineLength===e.tokenizeMaxLineLength&&t?.useTokenTransformer===e.useTokenTransformer}function Yr(t,e){return t===e?!0:t==null||e==null||t.length!==e.length?!1:t.every((i,r)=>i===e[r])}function Zr(t,e){return t===e?!0:typeof t!="object"||t==null||typeof e!="object"||e==null?!1:t.dark===e.dark&&t.light===e.light}function Qr(t,e){const i=F.c(4),r=C.useRef(null);let n,a;i[0]!==t||i[1]!==e?(n=()=>{const o=r.current;r.current=e;const d=qi(o,e,e.paths);let l=d.kind==="append"?d.requiresFullGitStatus:!1;if(d.kind==="append"){if(d.addedPaths.length>0)try{t.batch(d.addedPaths.map(en)),l=!d.sourceFollowsPrevious}catch{const f=Fe(e.paths);t.resetPaths(e.paths,{preparedInput:f}),l=!0}}else{const f=Fe(e.paths);t.resetPaths(e.paths,{preparedInput:f}),l=!0}Ki(t,e,l)},a=[t,e],i[0]=t,i[1]=e,i[2]=n,i[3]=a):(n=i[2],a=i[3]),C.useEffect(n,a)}function en(t){return{type:"add",path:t}}function tn(t,e){const i=F.c(4);let r,n;i[0]!==e||i[1]!==t?(r=()=>{e?t.openSearch(""):t.closeSearch()},n=[e,t],i[0]=e,i[1]=t,i[2]=r,i[3]=n):(r=i[2],n=i[3]),C.useEffect(r,n)}function rn(t,e){const i=F.c(4);let r,n;i[0]!==t||i[1]!==e?(r=()=>{Ji(t,e)},n=[t,e],i[0]=t,i[1]=e,i[2]=r,i[3]=n):(r=i[2],n=i[3]),C.useEffect(r,n)}function nn(t,e,i,r){const n=F.c(6),a=C.useRef(!1);let o,d;n[0]!==t||n[1]!==i||n[2]!==e||n[3]!==r?(o=()=>{if(a.current||dn(t.payload))return;a.current=!0;const l=t.payload??{},f=Re(l.appearance);f.themes.light.name&&Oe(f.themes.light.name,()=>Promise.resolve(it(f.themes.light))),f.themes.dark.name&&Oe(f.themes.dark.name,()=>Promise.resolve(it(f.themes.dark)));const c=[];i({type:"set-status",status:se(e("parsingDiff"),{loading:!0})}),di({getCollapsed:()=>r.current.options.collapsed,initialFileTreeRowCount:kt(),label:e,onBatch:u=>{c.push(...u),i({type:"append-items",items:u})},onComplete:u=>{i({type:"set-metrics",metrics:u});const p=c;if(p.length===0){i({type:"set-status",status:se(e("noFileDiffs"),{error:!0,loading:!1,statusOnly:!0})});return}const h=Array.from(new Set([f.theme?.light,f.theme?.dark].filter(Boolean))),g=Array.from(new Set(p.flatMap(an)));Tt({themes:h,langs:g.length>0?g:["text"]}).catch(on)},onMetrics:u=>i({type:"set-metrics",metrics:u}),onRename:u=>i({type:"rename-item",oldId:u.oldId,newId:u.newId}),onTreeSource:u=>i({type:"set-tree-source",source:u}),parsePatchFiles:Bt,patchURL:l.patchURL,processFile:_t}).catch(u=>{console.error("cmux diff viewer render failed",u),i({type:"set-status",status:se(e("renderFailed"),{error:!0,loading:!1,statusOnly:!0})})})},d=[t,i,e,r],n[0]=t,n[1]=i,n[2]=e,n[3]=r,n[4]=o,n[5]=d):(o=n[4],d=n[5]),C.useEffect(o,d)}function on(t){return console.warn("cmux diff highlighter preload failed",t)}function an(t){const e=t.fileDiff??{};return gt(de(e,""),e.lang,e,Te)}function sn(t){const e=t.fileDiff;if(e==null)return;const i=ht(de(e,""),e.lang,Te);e.lang=i}function ln(t){const e=t.fileDiff;return e==null?[]:gt(de(e,""),e.lang,e,Te)}function cn(t,e){const i=new Set(t);for(const r of e)r.trim().length>0&&i.add(r);return Array.from(i)}function dn(t){return t?.pendingReplacement===!0||typeof t?.statusMessage=="string"&&t.statusMessage.length>0}function fn(t,e,i){const r=F.c(5),n=C.useRef(!1);let a,o;r[0]!==i||r[1]!==e||r[2]!==t?(a=()=>{if(!n.current){if(n.current=!0,t.pendingReplacement===!0){i({type:"set-status",status:se(t.statusMessage??e("loadingDiff"),{loading:!0,pending:!0})}),fetch("/__cmux_diff_viewer_wait"+location.pathname,{cache:"no-store"}).then(un).catch(d=>{document.documentElement.dataset.cmuxDiffWait="failed",i({type:"set-status",status:se(e("renderFailed"),{error:!0,loading:!1,statusOnly:!0})}),console.warn("cmux diff viewer deferred load failed",d)});return}typeof t.statusMessage=="string"&&t.statusMessage.length>0&&i({type:"set-status",status:se(t.statusMessage,{error:t.statusIsError===!0,loading:!1,statusOnly:!0})})}},o=[i,e,t],r[0]=i,r[1]=e,r[2]=t,r[3]=a,r[4]=o):(a=r[3],o=r[4]),C.useEffect(a,o)}async function un(t){if(!t.ok)throw new Error("replacement failed");(await t.text()).includes('data-cmux-diff-pending="true"')||window.location.reload()}function pn(t){const e=F.c(10);let i;e[0]!==t.filesVisible||e[1]!==t.items||e[2]!==t.metrics||e[3]!==t.options.diffIndicators||e[4]!==t.options.layout||e[5]!==t.options.wordWrap||e[6]!==t.status?(i=()=>{document.body.dataset.filesHidden=t.filesVisible?"false":"true",document.body.dataset.loading=t.status.loading?"true":"false",document.documentElement.dataset.layout=t.options.layout,document.documentElement.dataset.wordWrap=String(t.options.wordWrap),document.documentElement.dataset.diffIndicators=t.options.diffIndicators,t.metrics&&(document.body.dataset.streamFileCount=String(t.metrics.fileCount??t.items.length),document.body.dataset.streamRenderableFileCount=String(t.metrics.renderableFileCount??t.items.length),document.body.dataset.streamFlushCount=String(t.metrics.flushCount??0),document.body.dataset.streamMaxBatchSize=String(t.metrics.maxBatchSize??0),document.body.dataset.streamTreeRefreshCount=String(t.metrics.treeRefreshCount??0),Number.isFinite(t.metrics.completedAt)&&t.metrics.completedAt>0&&(document.body.dataset.streamElapsedMs=String(Math.round(t.metrics.completedAt-t.metrics.startedAt)))),Ae(t.status)},e[0]=t.filesVisible,e[1]=t.items,e[2]=t.metrics,e[3]=t.options.diffIndicators,e[4]=t.options.layout,e[5]=t.options.wordWrap,e[6]=t.status,e[7]=i):i=e[7];let r;e[8]!==t?(r=[t],e[8]=t,e[9]=r):r=e[9],C.useEffect(i,r)}function mn(t,e,i){const r=F.c(12);let n;r[0]!==i||r[1]!==t.diffViewerOpenFileSearch||r[2]!==t.diffViewerScrollDown||r[3]!==t.diffViewerScrollToBottom||r[4]!==t.diffViewerScrollToTop||r[5]!==t.diffViewerScrollUp||r[6]!==e?(n=()=>{const o=ue(t.diffViewerScrollDown),d=ue(t.diffViewerScrollUp),l=ue(t.diffViewerScrollToBottom),f=ue(t.diffViewerScrollToTop),c=ue(t.diffViewerOpenFileSearch);let u=null,p=0;const h=()=>{u=null,p!==0&&(window.clearTimeout(p),p=0)},g=m=>{if(!(m.defaultPrevented||bn(m.target))){if(u&&!je(u.shortcut.second,m)&&h(),u&&je(u.shortcut.second,m)){m.preventDefault(),u.action(),h();return}if(ve(o,m)){m.preventDefault(),nt(e.current,1);return}if(ve(d,m)){m.preventDefault(),nt(e.current,-1);return}if(ve(l,m)){m.preventDefault(),e.current?.scrollTo({top:e.current.scrollHeight,behavior:"auto"});return}if(ve(c,m)){m.preventDefault(),i({type:"set-file-search-open",open:!0});return}f&&gn(f,m)&&(m.preventDefault(),u={shortcut:f,action:()=>e.current?.scrollTo({top:0,behavior:"auto"})},p=window.setTimeout(h,700))}};return document.addEventListener("keydown",g),()=>{h(),document.removeEventListener("keydown",g)}},r[0]=i,r[1]=t.diffViewerOpenFileSearch,r[2]=t.diffViewerScrollDown,r[3]=t.diffViewerScrollToBottom,r[4]=t.diffViewerScrollToTop,r[5]=t.diffViewerScrollUp,r[6]=e,r[7]=n):n=r[7];let a;r[8]!==i||r[9]!==t||r[10]!==e?(a=[i,t,e],r[8]=i,r[9]=t,r[10]=e,r[11]=a):a=r[11],C.useEffect(n,a)}function hn(t,e){const i=F.c(4);let r,n;i[0]!==e||i[1]!==t?(r=()=>{if(!t)return;const a=d=>{d.target instanceof Element&&d.target.closest("#toolbar")||e({type:"set-options-open",open:!1})},o=d=>{d.key==="Escape"&&e({type:"set-options-open",open:!1})};return document.addEventListener("click",a),document.addEventListener("keydown",o),()=>{document.removeEventListener("click",a),document.removeEventListener("keydown",o)}},n=[e,t],i[0]=e,i[1]=t,i[2]=r,i[3]=n):(r=i[2],n=i[3]),C.useEffect(r,n)}function ue(t){return!t||t.unbound===!0||!t.first?null:{first:rt(t.first),second:t.second?rt(t.second):null}}function rt(t){return{key:String(t?.key??"").toLowerCase(),command:t?.command===!0,shift:t?.shift===!0,option:t?.option===!0,control:t?.control===!0}}function ve(t,e){return!!(t&&!t.second&&je(t.first,e))}function gn(t,e){return!!(t.second&&je(t.first,e))}function je(t,e){return!t||e.metaKey!==t.command||e.ctrlKey!==t.control||e.altKey!==t.option||e.shiftKey!==t.shift?!1:xn(e)===t.key}function xn(t){return t.code==="Space"?"space":typeof t.key!="string"||t.key.length===0?"":(t.key.length===1,t.key.toLowerCase())}function bn(t){return!!(t instanceof Element?t:null)?.closest("input, textarea, select, [contenteditable='true']")}function nt(t,e){if(!t)return;const i=Math.max(80,Math.floor(t.clientHeight*.38));t.scrollBy({top:e*i,behavior:"auto"})}function wn(t,e){return e.some(i=>i.id===t)?t:e[0]?.id??""}function kt(){const t=window.visualViewport?.height??window.innerHeight;return!Number.isFinite(t)||t<=0?25:Math.min(96,Math.max(25,Math.ceil(t/24)))}const vn=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\\[calc\\(100\\%\\+6px\\)\\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-px{margin:1px}.mx-3\\.5{margin-inline:calc(var(--spacing) * 3.5)}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3\\.5{margin-top:calc(var(--spacing) * 3.5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-\\[3px\\]{margin-right:3px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-px{margin-bottom:1px}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\\[22px\\]{width:22px;height:22px}.\\!h-auto{height:auto!important}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[1lh\\]{height:1lh}.h-\\[1px\\]{height:1px}.h-\\[11px\\]{height:11px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[25dvh\\]{max-height:25dvh}.max-h-\\[140px\\]{max-height:140px}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[1\\.25rem\\]{min-height:1.25rem}.w-2\\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-52{width:calc(var(--spacing) * 52)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-16{max-width:calc(var(--spacing) * 16)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\\[60\\%\\]{max-width:60%}.max-w-\\[77\\%\\]{max-width:77%}.max-w-\\[320px\\]{max-width:320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[16px_minmax\\(0\\,1fr\\)_44px\\]{grid-template-columns:16px minmax(0,1fr) 44px}.grid-cols-\\[42px_minmax\\(0\\,1fr\\)\\]{grid-template-columns:42px minmax(0,1fr)}.grid-cols-\\[72px_minmax\\(0\\,1fr\\)_96px\\]{grid-template-columns:72px minmax(0,1fr) 96px}.grid-cols-\\[auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\\[minmax\\(0\\,auto\\)_auto_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,auto) auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[5px\\]{gap:5px}:where(.space-y-\\[13px\\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(13px * var(--tw-space-y-reverse));margin-block-end:calc(13px * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.border-\\[color\\:var\\(--gray-0\\)\\]{border-color:var(--gray-0)}.border-\\[var\\(--cmux-diff-border\\)\\]{border-color:var(--cmux-diff-border)}.border-transparent{border-color:#0000}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.bg-\\[color\\:var\\(--gray-0\\)\\]{background-color:var(--gray-0)}.bg-\\[var\\(--cmux-diff-muted-bg\\)\\]{background-color:var(--cmux-diff-muted-bg)}.\\[mask-image\\:linear-gradient\\(to_right\\,black_calc\\(100\\%_-_0\\.25rem\\)\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000)}.\\[mask-repeat\\:no-repeat\\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.\\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\\[7px\\]{padding-inline:7px}.px-\\[var\\(--padding-row-x\\)\\]{padding-inline:var(--padding-row-x)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\\[var\\(--padding-row-y\\)\\]{padding-block:var(--padding-row-y)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\!leading-none{--tw-leading:1!important;line-height:1!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-\\[calc\\(var\\(--codex-chat-font-size\\)\\+8px\\)\\]{--tw-leading:calc(var(--codex-chat-font-size) + 8px);line-height:calc(var(--codex-chat-font-size) + 8px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-current{color:currentColor}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\\[0\\.5px\\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[--edge-fade-distance\\:2rem\\]{--edge-fade-distance:2rem}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:bg-transparent:hover{background-color:#0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[state\\=checked\\]\\:translate-x-\\[14px\\][data-state=checked]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:translate-x-\\[2px\\][data-state=unchecked]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}@container (min-width:500px){.\\@\\[500px\\]\\:inline{display:inline}}.\\[\\&_\\.ProseMirror\\]\\:\\!h-5 .ProseMirror{height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:h-auto .ProseMirror{height:auto}.\\[\\&_\\.ProseMirror\\]\\:\\!min-h-5 .ProseMirror{min-height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:min-h-\\[2rem\\] .ProseMirror{min-height:2rem}.\\[\\&_\\.ProseMirror\\]\\:min-w-0 .ProseMirror{min-width:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror\\]\\:flex-1 .ProseMirror{flex:1}.\\[\\&_\\.ProseMirror\\]\\:resize-none .ProseMirror{resize:none}.\\[\\&_\\.ProseMirror\\]\\:overflow-hidden .ProseMirror{overflow:hidden}.\\[\\&_\\.ProseMirror\\]\\:leading-5 .ProseMirror{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\\[\\&_\\.ProseMirror\\]\\:whitespace-nowrap .ProseMirror{white-space:nowrap}.\\[\\&_\\.ProseMirror\\]\\:focus-visible\\:outline-none .ProseMirror:focus-visible{--tw-outline-style:none;outline-style:none}.\\[\\&_\\.ProseMirror_p\\]\\:m-0 .ProseMirror p{margin:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror_p\\]\\:overflow-hidden .ProseMirror p{overflow:hidden}.\\[\\&_\\.ProseMirror_p\\]\\:text-ellipsis .ProseMirror p{text-overflow:ellipsis}.\\[\\&_\\.ProseMirror_p\\]\\:whitespace-nowrap .ProseMirror p{white-space:nowrap}.\\[\\&_\\.contain-inline-size\\]\\:\\[contain\\:initial\\] .contain-inline-size{contain:initial}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>ol\\:first-child\\]\\:mt-0>ol:first-child,.\\[\\&\\>ul\\:first-child\\]\\:mt-0>ul:first-child{margin-top:calc(var(--spacing) * 0)}}:root{color-scheme:light dark;--cmux-diff-bg-light:#fff;--cmux-diff-bg-dark:#000;--cmux-diff-fg-light:#000;--cmux-diff-fg-dark:#fff;--cmux-diff-selection-bg-light:#abd8ff;--cmux-diff-selection-bg-dark:#3f638b;--cmux-diff-ui-font-family:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--cmux-diff-ui-font-size:12px;--cmux-diff-ui-line-height:16px;--cmux-diff-code-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--cmux-diff-font-size:10px;--cmux-diff-line-height:20px;--cmux-diff-bg:var(--cmux-diff-bg-light);--cmux-diff-fg:var(--cmux-diff-fg-light);--cmux-diff-border:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-border:color-mix(in lab, var(--cmux-diff-fg) 12%, transparent)}}:root{--cmux-diff-toolbar-bg:transparent;--cmux-diff-sidebar-bg:transparent;--cmux-diff-muted-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-muted-bg:color-mix(in lab, var(--cmux-diff-fg) 8%, transparent)}}:root{--cmux-diff-hover-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-hover-bg:color-mix(in lab, var(--cmux-diff-fg) 10%, transparent)}}:root{--cmux-diff-accent:light-dark(#0a84ff,#7ab7ff);--cmux-diff-text-muted:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-muted:color-mix(in lab, var(--cmux-diff-fg) 72%, var(--cmux-diff-bg))}}:root{--cmux-diff-text-subtle:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-subtle:color-mix(in lab, var(--cmux-diff-fg) 84%, var(--cmux-diff-bg))}}:root{--cmux-diff-surface-fill-light:transparent;--cmux-diff-surface-fill-dark:transparent;--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-light);background:var(--cmux-diff-surface-fill);color:var(--cmux-diff-fg)}@media(prefers-color-scheme:dark){:root{--cmux-diff-bg:var(--cmux-diff-bg-dark);--cmux-diff-fg:var(--cmux-diff-fg-dark);--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-dark)}}*{box-sizing:border-box}html,body{background:var(--cmux-diff-surface-fill);height:100%;overflow:hidden}body{background:var(--cmux-diff-surface-fill);height:100vh;min-height:0;color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:var(--cmux-diff-ui-font-size);line-height:var(--cmux-diff-ui-line-height);flex-direction:column;margin:0;display:flex;overflow:hidden}#root{background:0 0;height:100%;min-height:0}#app{overscroll-behavior:contain;contain:strict;height:100vh;min-height:0;color:inherit;background:0 0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.copy-fallback-textarea{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}#toolbar{border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-toolbar-bg);min-height:32px;color:var(--cmux-diff-fg);flex:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,auto);align-items:center;gap:7px;padding:3px 4px 3px 8px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){#toolbar{color:color-mix(in lab,var(--cmux-diff-fg) 76%,var(--cmux-diff-bg))}}#toolbar{z-index:50}@media(min-width:521px){body[data-files-hidden=false] #toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto)}body[data-files-hidden=false] .toolbar-middle{display:none}}.toolbar-left,.toolbar-middle,.toolbar-actions{align-items:center;min-width:0;display:flex;overflow:clip visible}.toolbar-left,.toolbar-middle{gap:6px}.toolbar-left{justify-self:stretch;container:toolbar-left/inline-size}.toolbar-middle{justify-content:center}.toolbar-actions{justify-self:end;gap:4px}#source-select,#repo-select,#base-select,#jump-select{appearance:none;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,var(--cmux-diff-fg);border:1px solid #0000;border-radius:6px;min-width:0;max-width:100%;height:24px;padding:0 24px 0 9px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#source-select,#repo-select,#base-select,#jump-select{background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,color-mix(in lab,var(--cmux-diff-fg) 7%,transparent)}}#source-select,#repo-select,#base-select,#jump-select{color:inherit;font:inherit}#source-select{field-sizing:content;flex:0 3 auto;min-width:58px}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#source-select[hidden],#repo-select[hidden],#base-select[hidden],#jump-select[hidden]{display:none}#jump-select{field-sizing:content;min-width:64px}#repo-select{field-sizing:content;flex:0 5 auto;min-width:56px}#base-select{flex:0 120px}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid color-mix(in lab,var(--cmux-diff-fg) 36%,transparent)}}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline-offset:1px}#base-picker{flex:0 auto;align-items:center;min-width:150px;display:flex;position:relative}.base-picker-button{border:1px solid var(--cmux-diff-fg);align-items:center;gap:5px;min-width:0;max-width:100%;height:24px;padding:0 7px 0 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.base-picker-button{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.base-picker-button{background:var(--cmux-diff-fg);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.base-picker-button{background:color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-button{color:var(--cmux-diff-fg);font:inherit;cursor:pointer;font-weight:600}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 30%,transparent)}}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 15%,transparent)}}.base-picker-button:disabled{cursor:default;opacity:.85}.base-picker-button svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;flex:none;width:12px;height:12px}.base-picker-label{align-items:center;gap:5px;min-width:0;display:inline-flex}.base-picker-prefix{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-prefix{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-head{text-overflow:ellipsis;white-space:nowrap;min-width:4ch;color:var(--cmux-diff-fg);flex:0 8 auto;font-weight:500;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-head{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.base-picker-ref{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:6ch;overflow:hidden}.base-picker-meta{flex:0 1000 auto;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.base-picker-reason{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-reason{color:color-mix(in lab,var(--cmux-diff-fg) 64%,var(--cmux-diff-bg))}}.base-picker-reason{white-space:nowrap}.base-picker-reason-low{opacity:.6;font-style:italic}.base-picker-aheadbehind{font-variant-numeric:tabular-nums;color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-aheadbehind{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}.base-picker-aheadbehind{white-space:nowrap}@container toolbar-left (max-width:380px){.base-picker-aheadbehind{display:none}}@container toolbar-left (max-width:312px){.base-picker-reason{display:none}}.base-picker-text{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.base-picker-spinner{border:1.6px solid var(--cmux-diff-fg);border-radius:50%;flex:none;width:12px;height:12px}@supports (color:color-mix(in lab,red,red)){.base-picker-spinner{border:1.6px solid color-mix(in lab,var(--cmux-diff-fg) 26%,transparent)}}.base-picker-spinner{border-top-color:var(--cmux-diff-fg);animation:.7s linear infinite base-picker-spin}@keyframes base-picker-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.base-picker-spinner{animation-duration:1.6s}}.base-picker-popover{border:1px solid var(--cmux-diff-fg);flex-direction:column;width:320px;max-width:min(86vw,360px);display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.base-picker-popover{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}.base-picker-popover{background:var(--cmux-diff-bg);z-index:120;border-radius:8px;overflow:hidden;box-shadow:0 16px 34px lab(0% none none/.28)}.base-picker-search{border-bottom:1px solid var(--cmux-diff-fg);align-items:center;gap:6px;padding:7px 9px;display:flex}@supports (color:color-mix(in lab,red,red)){.base-picker-search{border-bottom:1px solid color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-search svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;flex:none;width:13px;height:13px}.base-picker-input{min-width:0;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;outline:none;flex:auto}.base-picker-list{flex:auto;min-height:0;padding:4px;overflow-y:auto}.base-picker-status{color:var(--cmux-diff-fg);padding:12px 9px}@supports (color:color-mix(in lab,red,red)){.base-picker-status{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-status{text-align:center}.base-picker-status-error{color:#ff5f56}@supports (color:color-mix(in lab,red,red)){.base-picker-status-error{color:color-mix(in lab,#ff5f56 70%,var(--cmux-diff-fg))}}.base-picker-group-header{letter-spacing:.06em;text-transform:uppercase;color:var(--cmux-diff-fg);padding:8px 8px 3px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-group-header{color:color-mix(in lab,var(--cmux-diff-fg) 52%,var(--cmux-diff-bg))}}.base-picker-more{color:var(--cmux-diff-fg);padding:5px 8px 7px;font-size:11px}@supports (color:color-mix(in lab,red,red)){.base-picker-more{color:color-mix(in lab,var(--cmux-diff-fg) 48%,var(--cmux-diff-bg))}}.base-picker-more{cursor:default;-webkit-user-select:none;user-select:none}.base-picker-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:28px;padding:0 8px;display:flex}.base-picker-row-selected{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-row-selected{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.base-picker-row-primary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cmux-diff-fg);flex:auto;overflow:hidden}.base-picker-row-primary strong{font-weight:700}.base-picker-row-secondary{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;max-width:55%;color:var(--cmux-diff-fg);flex:0 auto;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-row-secondary{color:color-mix(in lab,var(--cmux-diff-fg) 55%,var(--cmux-diff-bg))}}.base-picker-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--cmux-diff-accent);background:var(--cmux-diff-accent);border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-pill{background:color-mix(in lab,var(--cmux-diff-accent) 16%,transparent)}}@media(max-width:760px){#toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto);grid-template-areas:"source actions""jump actions"}.toolbar-left{grid-area:source}.toolbar-middle{grid-area:jump;justify-content:stretch}.toolbar-actions{grid-area:actions}}.toolbar-icon{width:20px;height:20px;color:var(--cmux-diff-fg);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.toolbar-icon{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.toolbar-icon{cursor:pointer;padding:0}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 14%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true],.toolbar-icon[aria-pressed=true]{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon[aria-pressed=true]{color:color-mix(in lab,var(--cmux-diff-fg) 78%,var(--cmux-diff-bg))}}.toolbar-icon[hidden]{display:none}.toolbar-icon svg,.menu-item svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;display:block}#layout-toggle svg [data-diff-deletion],#layout-toggle svg [data-diff-addition]{stroke:none}#layout-toggle svg [data-diff-deletion]{fill:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#layout-toggle svg [data-diff-addition]{fill:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.toolbar-icon svg [data-precision-dot],.menu-item svg [data-precision-dot]{stroke-width:2px}#options-menu{border:1px solid var(--cmux-diff-fg);min-width:246px;padding:8px;position:absolute;top:calc(100% + 7px);right:10px}@supports (color:color-mix(in lab,red,red)){#options-menu{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}#options-menu{background:var(--cmux-diff-bg);z-index:100;border-radius:8px;box-shadow:0 16px 34px lab(0% none none/.28)}#options-menu[hidden]{display:none}.menu-separator{background:var(--cmux-diff-fg);height:1px;margin:7px 6px}@supports (color:color-mix(in lab,red,red)){.menu-separator{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.menu-item{width:100%;min-height:31px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.menu-item{color:color-mix(in lab,var(--cmux-diff-fg) 86%,var(--cmux-diff-bg))}}.menu-item{font:inherit;text-align:left;padding:0 7px}.menu-item:hover:not(:disabled){background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.menu-item:hover:not(:disabled){color:var(--cmux-diff-fg)}.menu-segment{cursor:default}.menu-segment:hover{background:0 0}.menu-segment-controls{background:0 0;border-radius:7px;justify-self:end;align-items:center;gap:2px;padding:2px;display:inline-flex}.segment-button{width:27px;height:24px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.segment-button{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.segment-button{padding:0}.segment-button:hover,.segment-button[aria-pressed=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.segment-button:hover,.segment-button[aria-pressed=true]{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.segment-button:hover,.segment-button[aria-pressed=true],.menu-item:disabled{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:disabled{color:color-mix(in lab,var(--cmux-diff-fg) 36%,var(--cmux-diff-bg))}}.menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-check{justify-self:end}#content{--cmux-diff-files-width:252px;grid-template-columns:minmax(0,1fr) var(--cmux-diff-files-width);overscroll-behavior:contain;contain:strict;background:0 0;flex:auto;grid-template-rows:minmax(0,1fr);grid-template-areas:"viewer files";min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr) 0}body[data-status-only=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{border-left:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);contain:strict;opacity:1;flex-direction:column;grid-area:files;width:100%;min-width:0;height:100%;min-height:0;transition:opacity .1s,visibility linear;display:flex;position:relative;overflow:hidden}#files-resize-handle{z-index:3;appearance:none;cursor:col-resize;background:0 0;border:0;outline:none;width:8px;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0}#files-resize-handle:after{content:"";background:0 0;width:1px;position:absolute;top:0;bottom:0;left:0}body[data-files-hidden=true] #files-sidebar{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .1s,visibility 0s linear .1s}body[data-status-only=true] #files-sidebar{display:none}#files-header{z-index:1;border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);min-height:30px;color:var(--cmux-diff-text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 7px 0 10px;display:flex;position:relative}#files-title{align-items:center;gap:6px;min-width:0;display:inline-flex}#files-header-actions{flex:none;align-items:center;gap:2px;display:inline-flex}#file-search-toggle{width:24px;height:24px;color:var(--cmux-diff-text-muted);background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}#file-search-toggle:hover,#file-search-toggle[aria-pressed=true]{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}#file-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}#file-list{background:var(--cmux-diff-sidebar-bg);--trees-bg-override:var(--cmux-diff-sidebar-bg);--trees-fg-override:var(--cmux-diff-text-subtle);--trees-fg-muted-override:var(--cmux-diff-text-muted);--trees-bg-muted-override:var(--cmux-diff-hover-bg);--trees-selected-bg-override:var(--cmux-diff-fg);flex:auto;min-height:0;padding:6px 4px 6px 6px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-selected-bg-override:color-mix(in lab, var(--cmux-diff-fg) 11%, transparent)}}#file-list{--trees-selected-fg-override:var(--cmux-diff-fg);--trees-selected-focused-border-color-override:transparent;--trees-border-color-override:var(--cmux-diff-border);--trees-focus-ring-color-override:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-focus-ring-color-override:color-mix(in lab, var(--cmux-diff-accent) 72%, transparent)}}#file-list{--trees-font-family-override:var(--cmux-diff-ui-font-family);--trees-font-size-override:var(--cmux-diff-ui-font-size);--trees-font-weight-semibold-override:500;--trees-density-override:.78;--trees-border-radius-override:5px;--trees-item-padding-x-override:7px;--trees-item-margin-x-override:0;--trees-padding-inline-override:8px;--trees-search-bg-override:var(--cmux-diff-bg)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-search-bg-override:color-mix(in lab, var(--cmux-diff-bg) 92%, var(--cmux-diff-fg))}}#file-list{--trees-status-added-override:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark));--trees-status-modified-override:var(--cmux-diff-accent);--trees-status-renamed-override:light-dark(#a26300,#ffd166);--trees-status-deleted-override:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}body[data-loading=false] .diff-loading-placeholder,body[data-loading=false]:not([data-status-only=true]) #loading-layer{display:none}#file-list file-tree-container{width:100%;height:100%;min-height:0;display:block}.file-entry{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 7px;display:grid}.file-entry:hover,.file-entry[aria-current=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.file-entry:hover,.file-entry[aria-current=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.file-status{width:17px;height:17px;color:var(--cmux-diff-text-muted);border:1px solid;border-radius:5px;justify-content:center;align-items:center;font-size:9px;line-height:1;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-stats{color:var(--cmux-diff-text-muted);gap:5px;display:inline-flex}.stat-add{color:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.stat-del{color:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#viewer{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));overscroll-behavior:contain;overflow-anchor:none;contain:strict;border-bottom:1px solid var(--cmux-diff-border);background:0 0;grid-area:viewer;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}.code-view-root{overscroll-behavior:contain;overflow-anchor:none;contain:strict;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}@media(max-width:520px){#content,body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{display:none}}@media(prefers-reduced-motion:reduce){#files-sidebar{transition:none}}#viewer diffs-container{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));contain:layout paint style;flex:auto;width:100%;min-height:30px;display:block;overflow:clip}#viewer diffs-container [data-diffs-header]{overflow-x:clip}#viewer diffs-container [data-diffs-header=default] [data-metadata]{flex-shrink:0}#loading-layer{z-index:4;pointer-events:none;contain:strict;background:0 0;grid-area:viewer;position:absolute;inset:0;overflow:hidden}body[data-status-only=true] #loading-layer{pointer-events:auto;justify-content:center;align-items:center;width:100%;height:100%;padding:32px;display:flex;position:static}#status{z-index:5;border:1px solid var(--cmux-diff-fg);align-items:center;gap:10px;max-width:calc(100% - 24px);min-height:32px;padding:8px 12px;display:flex;position:absolute;top:10px;left:12px}@supports (color:color-mix(in lab,red,red)){#status{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#status{background:var(--cmux-diff-bg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:var(--cmux-diff-ui-line-height);color:var(--cmux-diff-fg);border-radius:7px}@supports (color:color-mix(in lab,red,red)){#status{color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}body[data-status-only=true] #status{text-align:center;text-wrap:balance;width:auto;max-width:340px;min-height:0;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0;font-size:14px;line-height:1.55;position:static}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}body[data-status-only=true] #status-text{letter-spacing:.005em;font-weight:500}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#status-icon{display:none}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:var(--cmux-diff-fg);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 8%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon:before{content:"";opacity:.8;background-color:currentColor;width:26px;height:26px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat}#status[data-pending=true]:before,body[data-loading=true] #status:before{content:"";border:2px solid var(--cmux-diff-fg);flex:none;width:14px;height:14px}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border:2px solid color-mix(in lab,var(--cmux-diff-fg) 20%,transparent)}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-radius:50%;animation:.8s linear infinite cmuxDiffPendingSpin}#status[data-error=true]{color:light-dark(#b42318,#ff8a80)}@keyframes cmuxDiffPendingSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#status[data-pending=true]:before,body[data-loading=true] #status:before{animation:none}}#comments-section{border-top:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);flex-direction:column;flex:none;min-height:0;max-height:40%;display:flex}#comments-header{min-height:30px;color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);align-items:center;padding:0 10px;display:flex}#comments-list{flex-direction:column;gap:4px;min-height:0;padding:0 6px 6px;display:flex;overflow-y:auto}.comments-empty{color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);padding:2px 7px 6px}.comment-entry{color:var(--cmux-diff-text-subtle);font:inherit;font-size:var(--cmux-diff-ui-font-size);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex-direction:column;gap:2px;padding:5px 7px;display:flex}.comment-entry:hover{background:var(--cmux-diff-hover-bg)}.comment-entry-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.comment-entry-location{color:var(--cmux-diff-fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.comment-entry-badge{background:var(--cmux-diff-muted-bg);color:var(--cmux-diff-text-muted);font-size:calc(var(--cmux-diff-ui-font-size) - 1px);border-radius:4px;flex:none;padding:0 5px}.comment-entry-message{text-overflow:ellipsis;white-space:nowrap;color:var(--cmux-diff-text-muted);overflow:hidden}.comment-composer,.comment-card{border:1px solid var(--cmux-diff-border);background:light-dark(var(--cmux-diff-bg),var(--cmux-diff-bg));border-radius:10px;flex-direction:column;gap:8px;max-width:680px;margin:8px 12px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.comment-composer,.comment-card{background:light-dark(color-mix(in lab,var(--cmux-diff-bg) 92%,#fff),color-mix(in lab,var(--cmux-diff-bg) 90%,#fff))}}.comment-composer,.comment-card{color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:1.45;box-shadow:0 1px 2px lab(0% none none/.1),0 2px 8px lab(0% none none/.06)}.comment-composer:focus-within{border-color:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{border-color:color-mix(in lab,var(--cmux-diff-accent) 60%,var(--cmux-diff-border))}}.comment-composer:focus-within{box-shadow:0 0 0 3px var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{box-shadow:0 0 0 3px color-mix(in lab,var(--cmux-diff-accent) 18%,transparent)}}.comment-composer-input{box-sizing:border-box;resize:none;width:100%;min-height:52px;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;padding:0}.comment-composer-input::placeholder{color:var(--cmux-diff-text-muted)}.comment-composer-input:focus-visible{outline:none}.comment-composer-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-composer-buttons{gap:6px;display:inline-flex}.comment-button{color:var(--cmux-diff-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-weight:500}.comment-button:hover:not(:disabled){background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-button:disabled{opacity:.5;cursor:default}.comment-button-primary{background:var(--cmux-diff-accent);color:light-dark(#fff,#08233f)}.comment-button-primary:hover:not(:disabled){background:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-button-primary:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-accent) 86%,var(--cmux-diff-fg))}}.comment-button-primary:hover:not(:disabled){color:light-dark(#fff,#08233f)}.comment-card-header{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.comment-card-location{font-weight:500;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);color:var(--cmux-diff-text-muted)}.comment-card-actions{opacity:0;gap:2px;transition:opacity .1s;display:inline-flex}.comment-card:hover .comment-card-actions,.comment-card:focus-within .comment-card-actions{opacity:1}.comment-card-action{color:var(--cmux-diff-text-muted);font:inherit;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:1px 6px}.comment-card-action:hover{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-card-message{white-space:pre-wrap;overflow-wrap:anywhere}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}`;function yn(){const t=document.getElementById("cmux-diff-viewer-config");if(!t?.textContent)throw new Error("Missing cmux diff viewer config");return JSON.parse(t.textContent)}function Cn(t){const e=yn();Nt("diff",vn),$t(Re(e.payload?.appearance)),typeof e.payload?.title=="string"&&e.payload.title.trim()!==""&&(document.title=e.payload.title);const i=bt(e.payload?.labels,{assertMissing:xt()}),r=rr(e,i);document.body.dataset.filesHidden="false",Ae(r);const n=zt(()=>s.jsx(hr,{config:e,initialStatus:r}));jt.createRoot(t).render(s.jsx(Ct,{router:n}))}export{Cn as mountDiffSurface}; + `}function it(t,e){const i=t.palette??{},r=Wt(t.background),n=ir(t),a=fe(t.foreground,n,t.type==="light"?"#000000":"#ffffff"),o=(d,l=a)=>fe(d,n,l);return{name:t.name,displayName:t.ghosttyName,type:t.type,colors:{"editor.background":r,"editor.foreground":a,"terminal.background":r,"terminal.foreground":a,"terminal.ansiBlack":o(i[0]),"terminal.ansiRed":o(i[1]),"terminal.ansiGreen":o(i[2]),"terminal.ansiYellow":o(i[3]),"terminal.ansiBlue":o(i[4]),"terminal.ansiMagenta":o(i[5]),"terminal.ansiCyan":o(i[6]),"terminal.ansiWhite":o(i[7]),"terminal.ansiBrightBlack":o(i[8]),"terminal.ansiBrightRed":o(i[9],o(i[1])),"terminal.ansiBrightGreen":o(i[10],o(i[2])),"terminal.ansiBrightYellow":o(i[11],o(i[3])),"terminal.ansiBrightBlue":o(i[12],o(i[4])),"terminal.ansiBrightMagenta":o(i[13],o(i[5])),"terminal.ansiBrightCyan":o(i[14],o(i[6])),"terminal.ansiBrightWhite":o(i[15]),"gitDecoration.addedResourceForeground":o(i[10],o(i[2],"#32d74b")),"gitDecoration.deletedResourceForeground":o(i[9],o(i[1],"#ff453a")),"gitDecoration.modifiedResourceForeground":o(i[12],o(i[4],"#0a84ff")),"editor.selectionBackground":t.selectionBackground,"editor.selectionForeground":t.selectionForeground},tokenColors:[{settings:{foreground:a,background:r}},{scope:["comment","punctuation.definition.comment"],settings:{foreground:o(i[8]),fontStyle:"italic"}},{scope:["string","constant.other.symbol"],settings:{foreground:o(i[2])}},{scope:["constant.numeric","constant.language","support.constant"],settings:{foreground:o(i[3])}},{scope:["keyword","storage","storage.type"],settings:{foreground:o(i[5])}},{scope:["entity.name.function","support.function"],settings:{foreground:o(i[4])}},{scope:["entity.name.type","entity.name.class","support.type"],settings:{foreground:o(i[6])}},{scope:["markup.heading","punctuation.definition.heading"],settings:{foreground:o(i[12],o(i[4])),fontStyle:"bold"}},{scope:["markup.bold","punctuation.definition.bold"],settings:{foreground:o(i[11],o(i[3])),fontStyle:"bold"}},{scope:["markup.italic","punctuation.definition.italic"],settings:{foreground:o(i[13],o(i[5])),fontStyle:"italic"}},{scope:["markup.inline.raw","markup.raw","markup.fenced_code","markup.raw.block"],settings:{foreground:o(i[10],o(i[2]))}},{scope:["markup.underline.link","string.other.link","markup.link"],settings:{foreground:o(i[14],o(i[6]))}},{scope:["markup.quote","punctuation.definition.quote"],settings:{foreground:o(i[8]),fontStyle:"italic"}},{scope:["markup.list","punctuation.definition.list","markup.table"],settings:{foreground:o(i[9],o(i[1]))}},{scope:["variable","meta.definition.variable"],settings:{foreground:a}},{scope:["invalid","message.error"],settings:{foreground:o(i[9],o(i[1]))}}]}}function ir(t){return typeof t.background=="string"&&t.background.trim()!==""?t.background.trim():t.type==="light"?"#ffffff":"#000000"}function se(t,e={}){const i=e.pending===!0;return{error:e.error===!0,loading:e.loading===!0||i,message:t,pending:i,statusOnly:e.statusOnly===!0}}function rr(t,e){const i=t.payload;return i?.pendingReplacement===!0?se(i.statusMessage??e("loadingDiff"),{loading:!0,pending:!0}):typeof i?.statusMessage=="string"&&i.statusMessage.length>0?se(i.statusMessage,{error:i.statusIsError===!0,loading:!1,statusOnly:!0}):se(e("loadingDiff"),{loading:!0})}function Ae(t){document.body.dataset.loading=t.loading?"true":"false",document.body.dataset.statusOnly=t.statusOnly?"true":"false"}function nr(t){const e=(Number.isFinite(t.available)?t.available:0)-t.reserved,i=[],r=[];let n=0,a=!1;for(const o of t.items){const d=n+Math.max(0,o.width);!a&&d<=e?(n=d,i.push(o.id)):(a=!0,r.push(o.id))}return{visible:i,overflow:r}}function or(t){const e=F.c(3),[i,r]=C.useState(null),n=C.useRef(null);let a,o;return e[0]!==t?(a=()=>{const d=t.current;if(!d||typeof ResizeObserver>"u")return;const l=new ResizeObserver(f=>{for(const c of f){const u=c.contentBoxSize?.[0]?.inlineSize??c.contentRect.width,p=Math.round(u);p!==n.current&&(n.current=p,r(p))}});return l.observe(d),()=>l.disconnect()},o=[t],e[0]=t,e[1]=a,e[2]=o):(a=e[1],o=e[2]),C.useEffect(a,o),i}const ar=/\b(Android|iPhone|iPad|iPod|Mobile)\b/i;function sr(t){return ar.test(t??"")?1:3}function lr(){return sr(typeof navigator>"u"?void 0:navigator.userAgent)}function cr(t){return{poolSize:lr(),workerFactory:()=>new Worker(t,{type:"module"})}}const dr=["82%","64%","76%","58%","70%","46%"],fr=["58%","88%","72%","94%","64%","82%","52%","78%"],ur="./assets/pierre-diffs-1.2.7-trees-1.0.0-beta.4/worker-pool/worker-portable.js",wt="cmux.diffViewer.layout";function pr(t,e){const i=t.payload??{};return{activeItemId:"",activeTreePath:"",comments:[],copyFeedback:"",draft:null,fileSearchOpen:!1,filesWidth:252,filesVisible:!0,items:[],languages:["text"],metrics:null,options:{collapsed:!1,diffIndicators:"bars",expandUnchanged:!1,layout:Sr(i),lineNumbers:!0,showBackgrounds:!0,wordDiffs:!1,wordWrap:!1},optionsOpen:!1,status:e,treeSource:null}}function mr(t,e){switch(e.type){case"append-items":{const i=e.items.map(n=>{sn(n);const a=Pi(n,t.comments,t.draft);return t.options.collapsed?{...a,collapsed:!0}:a}),r=cn(t.languages,i.flatMap(ln));return{...t,activeItemId:t.activeItemId||i[0]?.id||"",items:[...t.items,...i],languages:r,status:t.status.loading?se("",{loading:!1}):t.status}}case"remove-comment":{const i=t.comments.filter(r=>r.id!==e.id);return{...t,comments:i,items:we(t.items,i,t.draft)}}case"rename-item":return{...t,activeItemId:t.activeItemId===e.oldId?e.newId:t.activeItemId,draft:t.draft?.itemId===e.oldId?{...t.draft,itemId:e.newId}:t.draft,items:t.items.map(i=>i.id===e.oldId||i.id===e.newId?{...i,id:e.newId,version:(i.version??0)+1}:i)};case"set-active-item":return{...t,activeItemId:e.itemId,activeTreePath:e.treePath??t.activeTreePath};case"set-comments":return{...t,comments:e.comments,items:we(t.items,e.comments,t.draft)};case"set-copy-feedback":return{...t,copyFeedback:e.message};case"set-draft":return{...t,draft:e.draft,items:we(t.items,t.comments,e.draft)};case"set-file-search-open":return{...t,fileSearchOpen:e.open,filesVisible:e.open?!0:t.filesVisible};case"set-files-width":return{...t,filesWidth:e.width};case"set-files-visible":return{...t,filesVisible:e.visible};case"set-metrics":return{...t,metrics:e.metrics};case"set-option":return e.key==="collapsed"?{...t,options:{...t.options,collapsed:!!e.value},items:t.items.map(i=>({...i,collapsed:!!e.value,version:(i.version??0)+1}))}:{...t,options:{...t.options,[e.key]:e.value}};case"set-options-open":return{...t,optionsOpen:e.open};case"set-status":return{...t,status:e.status};case"set-tree-source":{const i=e.source,r=t.activeItemId?i.treePathByItemId.get(t.activeItemId)??t.activeTreePath:t.activeTreePath;return{...t,activeTreePath:r,treeSource:i}}case"upsert-comment":{const r=t.comments.some(n=>n.id===e.comment.id)?t.comments.map(n=>n.id===e.comment.id?e.comment:n):[...t.comments,e.comment];return{...t,comments:r,items:we(t.items,r,t.draft)}}}}function hr(t){const e=F.c(81),{config:i,initialStatus:r}=t,n=i.payload??{},a=bt(n.labels,{assertMissing:xt()}),o=Re(n.appearance);let d;e[0]!==i||e[1]!==r?(d=pr(i,r),e[0]=i,e[1]=r,e[2]=d):d=e[2];const[l,f]=C.useReducer(mr,d),c=yt(l),u=C.useRef(null),p=C.useRef(null),h=C.useRef(null);let g;if(e[3]!==i.assets?.workerModuleURL){const v=xr(i.assets?.workerModuleURL);g=cr(v),e[3]=i.assets?.workerModuleURL,e[4]=g}else g=e[4];const m=g,k=Qi(l.options,o,l.languages),x=typeof n.repoRoot=="string"&&n.repoRoot!==""?n.repoRoot:null,y=Li()&&x!=null,b=zi(n),w=br({bridgeAvailable:y,dispatch:f,latestState:c,repoRoot:x}),S=Zi(l.options,o);S.onGutterUtilityClick=w.onGutterUtilityClick,pn(l),fn(n,a,f),nn(i,a,f,c),Ei(y?x:null,w.onLoaded);let j;e[5]!==n.shortcuts?(j=n.shortcuts??{},e[5]=n.shortcuts,e[6]=j):j=e[6],mn(j,h,f),hn(l.optionsOpen,f);let _;e[7]!==b||e[8]!==w||e[9]!==f?(_=(v,M)=>{const re=v.metadata;return re.kind==="draft"?s.jsx(ut,{labels:b,onCancel:()=>f({type:"set-draft",draft:null}),onSave:le=>w.saveDraft(M,le)}):s.jsx(Di,{comment:re.comment,labels:b,onDelete:()=>w.remove(re.comment),onSaveMessage:le=>w.editMessage(re.comment,le,M.fileDiff)})},e[7]=b,e[8]=w,e[9]=f,e[10]=_):_=e[10];const N=_;let I;if(e[11]!==l.comments||e[12]!==l.items||e[13]!==l.metrics?.completedAt){const v=Number.isFinite(l.metrics?.completedAt)&&(l.metrics?.completedAt??0)>0;I=Mi(l.items,l.comments,v),e[11]=l.comments,e[12]=l.items,e[13]=l.metrics?.completedAt,e[14]=I}else I=e[14];const B=I;let T;e[15]!==f||e[16]!==l.treeSource?.treePathByItemId?(T=v=>{v.itemId!=null&&(v.anchor.state==="outdated"?u.current?.scrollTo({type:"item",id:v.itemId,align:"start",behavior:"smooth-auto"}):u.current?.scrollTo({type:"line",id:v.itemId,lineNumber:v.anchor.line,side:v.comment.side,align:"center",behavior:"smooth-auto"}),f({type:"set-active-item",itemId:v.itemId,treePath:l.treeSource?.treePathByItemId.get(v.itemId)}))},e[15]=f,e[16]=l.treeSource?.treePathByItemId,e[17]=T):T=e[17];const A=T;let R;e[18]!==l.activeItemId||e[19]!==l.activeTreePath||e[20]!==l.treeSource?.treePathByItemId?(R=l.treeSource?.treePathByItemId.get(l.activeItemId)??l.activeTreePath,e[18]=l.activeItemId,e[19]=l.activeTreePath,e[20]=l.treeSource?.treePathByItemId,e[21]=R):R=e[21];const O=R;let D;e[22]!==f||e[23]!==l.items||e[24]!==l.treeSource?.treePathByItemId?(D=v=>{const M=wn(v,l.items);M&&(u.current?.scrollTo({type:"item",id:M,align:"start",behavior:"smooth-auto"}),f({type:"set-active-item",itemId:M,treePath:l.treeSource?.treePathByItemId.get(M)}))},e[22]=f,e[23]=l.items,e[24]=l.treeSource?.treePathByItemId,e[25]=D):D=e[25];const L=D;let z;e[26]!==f?(z=v=>{Ae(v),f({type:"set-status",status:v})},e[26]=f,e[27]=z):z=e[27];const E=z;let $;e[28]!==f?($=v=>{Cr(v),f({type:"set-option",key:"layout",value:v})},e[28]=f,e[29]=$):$=e[29];const U=$;let W;e[30]!==f||e[31]!==a||e[32]!==n.patchURL?(W=async()=>{try{const v=await At(n.patchURL,a,p.current);f({type:"set-copy-feedback",message:v})}catch{f({type:"set-copy-feedback",message:a("copyFailedGitApplyCommand")})}},e[30]=f,e[31]=a,e[32]=n.patchURL,e[33]=W):W=e[33];let G;e[34]!==a||e[35]!==E?(G=v=>{E(se(a("loadingDiff"),{pending:!0})),window.location.href=Dt(v)},e[34]=a,e[35]=E,e[36]=G):G=e[36];let P;e[37]!==i||e[38]!==f||e[39]!==a||e[40]!==L||e[41]!==U||e[42]!==l||e[43]!==W||e[44]!==G?(P=s.jsx(Pr,{config:i,label:a,onCopyGitApply:W,onJump:L,onNavigate:G,onReload:gr,onSetLayout:U,dispatch:f,state:l}),e[37]=i,e[38]=f,e[39]=a,e[40]=L,e[41]=U,e[42]=l,e[43]=W,e[44]=G,e[45]=P):P=e[45];const V=`${l.filesWidth}px`;let Q;e[46]!==V?(Q={"--cmux-diff-files-width":V},e[46]=V,e[47]=Q):Q=e[47];const ee=Q,te=l.draft!=null;let H;e[48]!==B||e[49]!==b||e[50]!==f||e[51]!==a||e[52]!==L||e[53]!==A||e[54]!==O||e[55]!==l||e[56]!==te?(H=s.jsx(Or,{commentEntries:B,commentLabels:b,hasDraft:te,label:a,onSelectComment:A,onSelectItem:L,selectedPath:O,dispatch:f,state:l}),e[48]=B,e[49]=b,e[50]=f,e[51]=a,e[52]=L,e[53]=A,e[54]=O,e[55]=l,e[56]=te,e[57]=H):H=e[57];let Y;e[58]!==a?(Y=a("diffViewer"),e[58]=a,e[59]=Y):Y=e[59];let Z;e[60]!==k||e[61]!==N||e[62]!==S||e[63]!==l.items||e[64]!==m?(Z=l.items.length>0?s.jsxs(It,{poolOptions:m,highlighterOptions:k,children:[s.jsx(Ir,{codeViewRef:u,highlighterOptions:k}),s.jsx(Pt,{ref:u,className:"code-view-root",containerRef:h,items:l.items,options:S,renderAnnotation:(v,M)=>N(v,M)})]}):null,e[60]=k,e[61]=N,e[62]=S,e[63]=l.items,e[64]=m,e[65]=Z):Z=e[65];let q;e[66]!==Y||e[67]!==Z?(q=s.jsx("main",{id:"viewer","aria-label":Y,children:Z}),e[66]=Y,e[67]=Z,e[68]=q):q=e[68];let K;e[69]!==a||e[70]!==l.status?(K=s.jsx(qr,{label:a,status:l.status}),e[69]=a,e[70]=l.status,e[71]=K):K=e[71];let J;e[72]!==ee||e[73]!==H||e[74]!==q||e[75]!==K?(J=s.jsxs("section",{id:"content",style:ee,children:[H,q,K]}),e[72]=ee,e[73]=H,e[74]=q,e[75]=K,e[76]=J):J=e[76];let X;e[77]===Symbol.for("react.memo_cache_sentinel")?(X=s.jsx("textarea",{ref:p,"aria-hidden":"true",readOnly:!0,tabIndex:-1,className:"copy-fallback-textarea"}),e[77]=X):X=e[77];let ie;return e[78]!==P||e[79]!==J?(ie=s.jsxs("div",{id:"app",children:[P,J,X]}),e[78]=P,e[79]=J,e[80]=ie):ie=e[80],ie}function gr(){return window.location.reload()}function xr(t){return new URL(t||ur,window.location.href)}function br(t){const e=F.c(23),{bridgeAvailable:i,dispatch:r,latestState:n,repoRoot:a}=t;let o;e[0]!==r?(o=x=>r({type:"set-comments",comments:x}),e[0]=r,e[1]=o):o=e[1];const d=o;let l;e[2]!==r?(l=(x,y)=>{const b=x.side==="deletions"?"deletions":"additions";r({type:"set-draft",draft:{itemId:y.item.id,side:b,startLine:Math.min(x.start,x.end),endLine:Math.max(x.start,x.end)}})},e[2]=r,e[3]=l):l=e[3];const f=l;let c;e[4]!==i||e[5]!==r||e[6]!==n||e[7]!==a?(c=(x,y)=>{const b=n.current.draft;if(b==null||b.itemId!==x.id||y.trim()==="")return;const w={filePath:de(x.fileDiff,""),side:b.side,startLine:b.startLine,endLine:b.endLine,lineText:ze(x.fileDiff,b.side,b.endLine)??"",message:y},S={...w,submissionText:Ye(w,x.fileDiff)};(i&&a!=null?Xe(a,S):Promise.resolve(kr(S))).then(_=>{r({type:"upsert-comment",comment:_}),r({type:"set-draft",draft:null})}).catch(yr)},e[4]=i,e[5]=r,e[6]=n,e[7]=a,e[8]=c):c=e[8];const u=c;let p;e[9]!==i||e[10]!==r||e[11]!==a?(p=(x,y,b)=>{if(y.trim()==="")return;const w={...x,message:y,updatedAt:new Date().toISOString()},S={...w,submissionText:Ye(w,b)};(i&&a!=null?Xe(a,S):Promise.resolve(S)).then(_=>r({type:"upsert-comment",comment:_})).catch(vr)},e[9]=i,e[10]=r,e[11]=a,e[12]=p):p=e[12];const h=p;let g;e[13]!==i||e[14]!==r||e[15]!==a?(g=x=>{i&&a!=null&&_i(a,x.id).catch(wr),r({type:"remove-comment",id:x.id})},e[13]=i,e[14]=r,e[15]=a,e[16]=g):g=e[16];const m=g;let k;return e[17]!==h||e[18]!==f||e[19]!==d||e[20]!==m||e[21]!==u?(k={editMessage:h,onGutterUtilityClick:f,onLoaded:d,remove:m,saveDraft:u},e[17]=h,e[18]=f,e[19]=d,e[20]=m,e[21]=u,e[22]=k):k=e[22],k}function wr(t){return console.warn("cmux diff comment delete failed",t)}function vr(t){return console.warn("cmux diff comment edit failed",t)}function yr(t){return console.warn("cmux diff comment save failed",t)}function kr(t){const e=new Date().toISOString();return{...t,id:crypto.randomUUID(),createdAt:e,updatedAt:e}}function Sr(t){const e=vt(t.layout);return t.layoutSource==="explicit"&&e?e:jr()??e??"unified"}function jr(){try{return vt(window.localStorage.getItem(wt))}catch{return null}}function Cr(t){try{window.localStorage.setItem(wt,t)}catch{}}function vt(t){return t==="split"||t==="unified"?t:null}function Ir(t){const{codeViewRef:e,highlighterOptions:i}=t;return Kr(i,e),null}function Pr(t){const e=F.c(63),{config:i,dispatch:r,label:n,onCopyGitApply:a,onJump:o,onNavigate:d,onReload:l,onSetLayout:f,state:c}=t;let u;e[0]!==i.payload?(u=i.payload??{},e[0]=i.payload,e[1]=u):u=e[1];const p=u,h=typeof p.externalURL=="string"&&p.externalURL.length>0?p.externalURL:null,g=C.useRef(null),m=or(g);let k;if(e[2]!==h||e[3]!==p||e[4]!==m){const $=[{id:"files-toggle",width:Le},{id:"layout-toggle",width:Le},...h?[{id:"external-link",width:Le}]:[]];k=m==null?new Set:new Set(nr({available:m,reserved:Mr+(Fr(p)?Lr:0),items:$}).overflow),e[2]=h,e[3]=p,e[4]=m,e[5]=k}else k=e[5];const x=k,y=!x.has("files-toggle"),b=!x.has("layout-toggle"),w=h!=null&&!x.has("external-link");let S;e[6]!==n||e[7]!==d||e[8]!==p?(S=s.jsx(_r,{label:n,onNavigate:d,payload:p}),e[6]=n,e[7]=d,e[8]=p,e[9]=S):S=e[9];let j;e[10]!==n||e[11]!==o||e[12]!==c.activeItemId||e[13]!==c.items?(j=s.jsx("div",{className:"toolbar-middle flex min-w-0 flex-1 items-center justify-center gap-1.5",children:s.jsx(Er,{items:c.items,label:n,onJump:o,selectedItemId:c.activeItemId})}),e[10]=n,e[11]=o,e[12]=c.activeItemId,e[13]=c.items,e[14]=j):j=e[14];let _;e[15]!==h||e[16]!==n||e[17]!==w?(_=w?s.jsx("a",{id:"external-link",className:"toolbar-icon",href:h??void 0,target:"_blank",rel:"noreferrer",title:n("openSourceURL"),"aria-label":n("openSourceURL"),children:s.jsx(ne,{name:"external"})}):null,e[15]=h,e[16]=n,e[17]=w,e[18]=_):_=e[18];let N;e[19]!==n||e[20]!==f||e[21]!==b||e[22]!==c.options?(N=b?s.jsx("button",{id:"layout-toggle",className:"toolbar-icon",type:"button",title:c.options.layout==="split"?n("switchToUnifiedDiff"):n("switchToSplitDiff"),"aria-label":c.options.layout==="split"?n("switchToUnifiedDiff"):n("switchToSplitDiff"),onClick:()=>f(c.options.layout==="split"?"unified":"split"),children:s.jsx(ne,{name:c.options.layout})}):null,e[19]=n,e[20]=f,e[21]=b,e[22]=c.options,e[23]=N):N=e[23];let I;e[24]!==n?(I=n("options"),e[24]=n,e[25]=I):I=e[25];let B;e[26]!==n?(B=n("options"),e[26]=n,e[27]=B):B=e[27];let T;e[28]!==r||e[29]!==c.optionsOpen?(T=()=>r({type:"set-options-open",open:!c.optionsOpen}),e[28]=r,e[29]=c.optionsOpen,e[30]=T):T=e[30];let A;e[31]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsx(ne,{name:"dots"}),e[31]=A):A=e[31];let R;e[32]!==c.optionsOpen||e[33]!==I||e[34]!==B||e[35]!==T?(R=s.jsx("button",{id:"options-button",className:"toolbar-icon",type:"button",title:I,"aria-label":B,"aria-expanded":c.optionsOpen,"aria-controls":"options-menu",onClick:T,children:A}),e[32]=c.optionsOpen,e[33]=I,e[34]=B,e[35]=T,e[36]=R):R=e[36];let O;e[37]!==r||e[38]!==n||e[39]!==y||e[40]!==c.filesVisible?(O=y?s.jsx("button",{id:"files-toggle",className:"toolbar-icon",type:"button",title:c.filesVisible?n("hideFiles"):n("showFiles"),"aria-label":c.filesVisible?n("hideFiles"):n("showFiles"),"aria-pressed":c.filesVisible,onClick:()=>r({type:"set-files-visible",visible:!c.filesVisible}),children:s.jsx(ne,{name:"files"})}):null,e[37]=r,e[38]=n,e[39]=y,e[40]=c.filesVisible,e[41]=O):O=e[41];let D;e[42]!==c.copyFeedback?(D=s.jsx("span",{id:"copy-feedback",className:"visually-hidden","aria-live":"polite",children:c.copyFeedback}),e[42]=c.copyFeedback,e[43]=D):D=e[43];let L;e[44]!==R||e[45]!==O||e[46]!==D||e[47]!==_||e[48]!==N?(L=s.jsxs("div",{className:"toolbar-actions flex items-center gap-1.5",children:[_,N,R,O,D]}),e[44]=R,e[45]=O,e[46]=D,e[47]=_,e[48]=N,e[49]=L):L=e[49];let z;e[50]!==r||e[51]!==h||e[52]!==n||e[53]!==a||e[54]!==l||e[55]!==f||e[56]!==c?(z=c.optionsOpen?s.jsx(Ar,{dispatch:r,externalURL:h,label:n,onCopyGitApply:a,onReload:l,onSetLayout:f,state:c}):null,e[50]=r,e[51]=h,e[52]=n,e[53]=a,e[54]=l,e[55]=f,e[56]=c,e[57]=z):z=e[57];let E;return e[58]!==L||e[59]!==z||e[60]!==S||e[61]!==j?(E=s.jsxs("header",{id:"toolbar",ref:g,children:[S,j,L,z]}),e[58]=L,e[59]=z,e[60]=S,e[61]=j,e[62]=E):E=e[62],E}const Le=28,Mr=248,Lr=60;function Fr(t){return Array.isArray(t?.repoOptions)&&t.repoOptions.length>=2}function _r(t){const e=F.c(21),{label:i,onNavigate:r,payload:n}=t;let a;e[0]!==i?(a=i("diffTarget"),e[0]=i,e[1]=a):a=e[1];let o;e[2]!==r||e[3]!==n.sourceOptions||e[4]!==a?(o=s.jsx(Be,{ariaLabel:a,fallbackValue:"",id:"source-select",options:n.sourceOptions,onNavigate:r}),e[2]=r,e[3]=n.sourceOptions,e[4]=a,e[5]=o):o=e[5];let d;e[6]!==i?(d=i("repoPath"),e[6]=i,e[7]=d):d=e[7];const l=n.repoRoot??"";let f;e[8]!==r||e[9]!==n.repoOptions||e[10]!==d||e[11]!==l?(f=s.jsx(Be,{ariaLabel:d,fallbackValue:l,id:"repo-select",options:n.repoOptions,onNavigate:r}),e[8]=r,e[9]=n.repoOptions,e[10]=d,e[11]=l,e[12]=f):f=e[12];let c;e[13]!==i||e[14]!==r||e[15]!==n?(c=s.jsx(Br,{label:i,onNavigate:r,payload:n}),e[13]=i,e[14]=r,e[15]=n,e[16]=c):c=e[16];let u;return e[17]!==o||e[18]!==f||e[19]!==c?(u=s.jsxs("div",{className:"toolbar-left flex min-w-0 items-center gap-1.5",children:[o,f,c]}),e[17]=o,e[18]=f,e[19]=c,e[20]=u):u=e[20],u}function Br(t){const e=F.c(13),{label:i,onNavigate:r,payload:n}=t;let a;e[0]!==n?(a=Tr(n),e[0]=n,e[1]=a):a=e[1];const o=a;if(o){let c;return e[2]!==i||e[3]!==r||e[4]!==o?(c=s.jsx(Zt,{label:i,onNavigate:r,picker:o}),e[2]=i,e[3]=r,e[4]=o,e[5]=c):c=e[5],c}let d;e[6]!==i?(d=i("branchBase"),e[6]=i,e[7]=d):d=e[7];const l=n.branchBaseRef??"";let f;return e[8]!==r||e[9]!==n.baseOptions||e[10]!==d||e[11]!==l?(f=s.jsx(Be,{ariaLabel:d,fallbackValue:l,id:"base-select",options:n.baseOptions,onNavigate:r}),e[8]=r,e[9]=n.baseOptions,e[10]=d,e[11]=l,e[12]=f):f=e[12],f}function Tr(t){const e=t?.branchPicker;return Rr(e)?e:null}function Rr(t){return!!(t&&typeof t=="object"&&typeof t.refsURL=="string"&&t.refsURL!==""&&typeof t.regenerateURLTemplate=="string"&&t.regenerateURLTemplate!==""&&typeof t.currentRef=="string"&&typeof t.headRef=="string")}function Be(t){const e=F.c(15),{ariaLabel:i,fallbackValue:r,id:n,onNavigate:a,options:o}=t;if(!Array.isArray(o)||o.length<2)return null;let d;e[0]!==o?(d=o.find(Dr)??o.find(zr),e[0]=o,e[1]=d):d=e[1];const l=d,f=l?.value??r;let c;e[2]!==r||e[3]!==a||e[4]!==o||e[5]!==l?.value?(c=h=>{const g=o.find(m=>m.value===h.currentTarget.value);if(!g?.url){h.currentTarget.value=l?.value??r;return}a(g.url)},e[2]=r,e[3]=a,e[4]=o,e[5]=l?.value,e[6]=c):c=e[6];let u;e[7]!==o?(u=o.map(Nr),e[7]=o,e[8]=u):u=e[8];let p;return e[9]!==i||e[10]!==n||e[11]!==f||e[12]!==c||e[13]!==u?(p=s.jsx("select",{id:n,"aria-label":i,defaultValue:f,title:i,onChange:c,children:u}),e[9]=i,e[10]=n,e[11]=f,e[12]=c,e[13]=u,e[14]=p):p=e[14],p}function Nr(t){return s.jsx("option",{value:t.value,disabled:t.disabled||!t.url,title:t.message,children:t.label},t.value)}function zr(t){return!t.disabled}function Dr(t){return t.selected}function Er(t){const e=F.c(19),{items:i,label:r,onJump:n,selectedItemId:a}=t;if(i.length===0)return null;let o;e[0]!==r?(o=r("jumpToFile"),e[0]=r,e[1]=o):o=e[1];let d;e[2]!==n?(d=p=>n(p.currentTarget.value),e[2]=n,e[3]=d):d=e[3];let l;e[4]!==r?(l=r("jumpToFile"),e[4]=r,e[5]=l):l=e[5];let f;e[6]!==l?(f=s.jsx("option",{value:"",children:l}),e[6]=l,e[7]=f):f=e[7];let c;if(e[8]!==i||e[9]!==r){let p;e[11]!==r?(p=h=>s.jsx("option",{value:h.id,children:de(h.fileDiff,r("untitled"))},h.id),e[11]=r,e[12]=p):p=e[12],c=i.map(p),e[8]=i,e[9]=r,e[10]=c}else c=e[10];let u;return e[13]!==a||e[14]!==o||e[15]!==d||e[16]!==f||e[17]!==c?(u=s.jsxs("select",{id:"jump-select","aria-label":o,value:a,onChange:d,children:[f,c]}),e[13]=a,e[14]=o,e[15]=d,e[16]=f,e[17]=c,e[18]=u):u=e[18],u}function Ar(t){const e=F.c(137),{dispatch:i,externalURL:r,label:n,onCopyGitApply:a,onReload:o,onSetLayout:d,state:l}=t;let f;e[0]!==i||e[1]!==l.options?(f=ce=>i({type:"set-option",key:ce,value:!l.options[ce]}),e[0]=i,e[1]=l.options,e[2]=f):f=e[2];const c=f;let u;e[3]!==n?(u=n("options"),e[3]=n,e[4]=u):u=e[4];let p;e[5]!==n?(p=n("refresh"),e[5]=n,e[6]=p):p=e[6];let h;e[7]!==o||e[8]!==p?(h=s.jsx(oe,{icon:"refresh",label:p,onClick:o}),e[7]=o,e[8]=p,e[9]=h):h=e[9];let g;e[10]!==n||e[11]!==l.options.wordWrap?(g=l.options.wordWrap?n("disableWordWrap"):n("enableWordWrap"),e[10]=n,e[11]=l.options.wordWrap,e[12]=g):g=e[12];let m;e[13]!==c?(m=()=>c("wordWrap"),e[13]=c,e[14]=m):m=e[14];let k;e[15]!==l.options.wordWrap||e[16]!==g||e[17]!==m?(k=s.jsx(oe,{checked:l.options.wordWrap,icon:"wrap",label:g,onClick:m}),e[15]=l.options.wordWrap,e[16]=g,e[17]=m,e[18]=k):k=e[18];const x=l.options.collapsed?"expand":"collapse";let y;e[19]!==n||e[20]!==l.options.collapsed?(y=l.options.collapsed?n("expandAllDiffs"):n("collapseAllDiffs"),e[19]=n,e[20]=l.options.collapsed,e[21]=y):y=e[21];let b;e[22]!==c?(b=()=>c("collapsed"),e[22]=c,e[23]=b):b=e[23];let w;e[24]!==l.options.collapsed||e[25]!==b||e[26]!==x||e[27]!==y?(w=s.jsx(oe,{checked:l.options.collapsed,icon:x,label:y,onClick:b}),e[24]=l.options.collapsed,e[25]=b,e[26]=x,e[27]=y,e[28]=w):w=e[28];let S;e[29]===Symbol.for("react.memo_cache_sentinel")?(S=s.jsx("div",{className:"menu-separator"}),e[29]=S):S=e[29];let j;e[30]!==n||e[31]!==l.options.layout?(j=l.options.layout==="split"?n("switchToUnifiedDiff"):n("switchToSplitDiff"),e[30]=n,e[31]=l.options.layout,e[32]=j):j=e[32];let _;e[33]!==d||e[34]!==l.options.layout?(_=()=>d(l.options.layout==="split"?"unified":"split"),e[33]=d,e[34]=l.options.layout,e[35]=_):_=e[35];let N;e[36]!==l.options.layout||e[37]!==j||e[38]!==_?(N=s.jsx(oe,{icon:l.options.layout,label:j,onClick:_}),e[36]=l.options.layout,e[37]=j,e[38]=_,e[39]=N):N=e[39];let I;e[40]!==r||e[41]!==n?(I=r?s.jsx(oe,{icon:"external",label:n("openSourceURL"),onClick:()=>window.open(r,"_blank","noreferrer")}):null,e[40]=r,e[41]=n,e[42]=I):I=e[42];let B;e[43]!==n||e[44]!==l.filesVisible?(B=l.filesVisible?n("hideFiles"):n("showFiles"),e[43]=n,e[44]=l.filesVisible,e[45]=B):B=e[45];let T;e[46]!==i||e[47]!==l.filesVisible?(T=()=>i({type:"set-files-visible",visible:!l.filesVisible}),e[46]=i,e[47]=l.filesVisible,e[48]=T):T=e[48];let A;e[49]!==l.filesVisible||e[50]!==B||e[51]!==T?(A=s.jsx(oe,{checked:l.filesVisible,icon:"files",label:B,onClick:T}),e[49]=l.filesVisible,e[50]=B,e[51]=T,e[52]=A):A=e[52];let R;e[53]!==n||e[54]!==l.options.expandUnchanged?(R=l.options.expandUnchanged?n("collapseUnchangedContext"):n("expandUnchangedContext"),e[53]=n,e[54]=l.options.expandUnchanged,e[55]=R):R=e[55];let O;e[56]!==c?(O=()=>c("expandUnchanged"),e[56]=c,e[57]=O):O=e[57];let D;e[58]!==l.options.expandUnchanged||e[59]!==R||e[60]!==O?(D=s.jsx(oe,{checked:l.options.expandUnchanged,icon:"document",label:R,onClick:O}),e[58]=l.options.expandUnchanged,e[59]=R,e[60]=O,e[61]=D):D=e[61];let L;e[62]!==n||e[63]!==l.options.showBackgrounds?(L=l.options.showBackgrounds?n("hideBackgrounds"):n("showBackgrounds"),e[62]=n,e[63]=l.options.showBackgrounds,e[64]=L):L=e[64];let z;e[65]!==c?(z=()=>c("showBackgrounds"),e[65]=c,e[66]=z):z=e[66];let E;e[67]!==l.options.showBackgrounds||e[68]!==L||e[69]!==z?(E=s.jsx(oe,{checked:l.options.showBackgrounds,icon:"background",label:L,onClick:z}),e[67]=l.options.showBackgrounds,e[68]=L,e[69]=z,e[70]=E):E=e[70];let $;e[71]!==n||e[72]!==l.options.lineNumbers?($=l.options.lineNumbers?n("hideLineNumbers"):n("showLineNumbers"),e[71]=n,e[72]=l.options.lineNumbers,e[73]=$):$=e[73];let U;e[74]!==c?(U=()=>c("lineNumbers"),e[74]=c,e[75]=U):U=e[75];let W;e[76]!==l.options.lineNumbers||e[77]!==$||e[78]!==U?(W=s.jsx(oe,{checked:l.options.lineNumbers,icon:"numbers",label:$,onClick:U}),e[76]=l.options.lineNumbers,e[77]=$,e[78]=U,e[79]=W):W=e[79];let G;e[80]!==n||e[81]!==l.options.wordDiffs?(G=l.options.wordDiffs?n("disableWordDiffs"):n("enableWordDiffs"),e[80]=n,e[81]=l.options.wordDiffs,e[82]=G):G=e[82];let P;e[83]!==c?(P=()=>c("wordDiffs"),e[83]=c,e[84]=P):P=e[84];let V;e[85]!==l.options.wordDiffs||e[86]!==G||e[87]!==P?(V=s.jsx(oe,{checked:l.options.wordDiffs,icon:"word",label:G,onClick:P}),e[85]=l.options.wordDiffs,e[86]=G,e[87]=P,e[88]=V):V=e[88];let Q;e[89]===Symbol.for("react.memo_cache_sentinel")?(Q=s.jsx(ne,{name:"bars"}),e[89]=Q):Q=e[89];let ee;e[90]!==n?(ee=n("indicatorStyle"),e[90]=n,e[91]=ee):ee=e[91];let te;e[92]!==ee?(te=s.jsx("span",{className:"menu-label",children:ee}),e[92]=ee,e[93]=te):te=e[93];let H;e[94]!==n?(H=n("bars"),e[94]=n,e[95]=H):H=e[95];let Y;e[96]!==H?(Y={value:"bars",icon:"bars",label:H},e[96]=H,e[97]=Y):Y=e[97];let Z;e[98]!==n?(Z=n("classic"),e[98]=n,e[99]=Z):Z=e[99];let q;e[100]!==Z?(q={value:"classic",icon:"classic",label:Z},e[100]=Z,e[101]=q):q=e[101];let K;e[102]!==n?(K=n("none"),e[102]=n,e[103]=K):K=e[103];let J;e[104]!==K?(J={value:"none",icon:"eye",label:K},e[104]=K,e[105]=J):J=e[105];let X;e[106]!==Y||e[107]!==q||e[108]!==J?(X=[Y,q,J],e[106]=Y,e[107]=q,e[108]=J,e[109]=X):X=e[109];let ie;e[110]!==i||e[111]!==l.options.diffIndicators||e[112]!==X?(ie=s.jsx("span",{className:"menu-segment-controls",children:X.map(ce=>s.jsx("button",{type:"button",className:"segment-button",title:ce.label,"aria-label":ce.label,"aria-pressed":l.options.diffIndicators===ce.value,onClick:()=>i({type:"set-option",key:"diffIndicators",value:ce.value}),children:s.jsx(ne,{name:ce.icon})},ce.value))}),e[110]=i,e[111]=l.options.diffIndicators,e[112]=X,e[113]=ie):ie=e[113];let v;e[114]!==te||e[115]!==ie?(v=s.jsxs("div",{className:"menu-item menu-segment",children:[Q,te,ie]}),e[114]=te,e[115]=ie,e[116]=v):v=e[116];let M;e[117]===Symbol.for("react.memo_cache_sentinel")?(M=s.jsx("div",{className:"menu-separator"}),e[117]=M):M=e[117];let re;e[118]!==n?(re=n("copyGitApplyCommand"),e[118]=n,e[119]=re):re=e[119];let le;e[120]!==a||e[121]!==re?(le=s.jsx(oe,{icon:"clipboard",label:re,onClick:a}),e[120]=a,e[121]=re,e[122]=le):le=e[122];let me;return e[123]!==w||e[124]!==N||e[125]!==I||e[126]!==A||e[127]!==u||e[128]!==D||e[129]!==E||e[130]!==W||e[131]!==V||e[132]!==h||e[133]!==v||e[134]!==le||e[135]!==k?(me=s.jsxs("div",{id:"options-menu","aria-label":u,children:[h,k,w,S,N,I,A,D,E,W,V,v,M,le]}),e[123]=w,e[124]=N,e[125]=I,e[126]=A,e[127]=u,e[128]=D,e[129]=E,e[130]=W,e[131]=V,e[132]=h,e[133]=v,e[134]=le,e[135]=k,e[136]=me):me=e[136],me}function oe(t){const e=F.c(14),{checked:i,icon:r,label:n,onClick:a}=t,o=i??void 0;let d;e[0]!==r?(d=s.jsx(ne,{name:r}),e[0]=r,e[1]=d):d=e[1];let l;e[2]!==n?(l=s.jsx("span",{className:"menu-label",children:n}),e[2]=n,e[3]=l):l=e[3];let f;e[4]!==i?(f=i?s.jsx(ne,{name:"check"}):null,e[4]=i,e[5]=f):f=e[5];let c;e[6]!==f?(c=s.jsx("span",{className:"menu-check",children:f}),e[6]=f,e[7]=c):c=e[7];let u;return e[8]!==a||e[9]!==o||e[10]!==d||e[11]!==l||e[12]!==c?(u=s.jsxs("button",{type:"button",className:"menu-item","aria-pressed":o,onClick:a,children:[d,l,c]}),e[8]=a,e[9]=o,e[10]=d,e[11]=l,e[12]=c,e[13]=u):u=e[13],u}function Or(t){const e=F.c(69),{commentEntries:i,commentLabels:r,dispatch:n,hasDraft:a,label:o,onSelectComment:d,onSelectItem:l,selectedPath:f,state:c}=t,u=C.useRef(null);let p;e[0]!==n?(p=P=>{const V=u.current;if(!V)return;const Q=document.documentElement.clientWidth||window.innerWidth,ee=Math.max(220,Math.min(520,Math.floor(Q*.55))),te=Math.max(180,Math.min(ee,Math.round(V.startWidth-(P-V.startX))));n({type:"set-files-width",width:te})},e[0]=n,e[1]=p):p=e[1];const h=p;let g;e[2]!==o?(g=o("changedFiles"),e[2]=o,e[3]=g):g=e[3];const m=!c.filesVisible,k=!c.filesVisible;let x;e[4]!==o?(x=o("files"),e[4]=o,e[5]=x):x=e[5];let y;e[6]!==c.filesWidth?(y=P=>{u.current={startWidth:c.filesWidth,startX:P.clientX},P.currentTarget.setPointerCapture(P.pointerId)},e[6]=c.filesWidth,e[7]=y):y=e[7];let b,w;e[8]!==h?(b=P=>h(P.clientX),w=P=>{h(P.clientX),u.current=null,P.currentTarget.releasePointerCapture(P.pointerId)},e[8]=h,e[9]=b,e[10]=w):(b=e[9],w=e[10]);let S;e[11]===Symbol.for("react.memo_cache_sentinel")?(S=()=>{u.current=null},e[11]=S):S=e[11];let j;e[12]!==n||e[13]!==c.filesWidth?(j=P=>{if(P.key!=="ArrowLeft"&&P.key!=="ArrowRight")return;P.preventDefault();const V=P.key==="ArrowLeft"?20:-20;n({type:"set-files-width",width:Math.max(180,Math.min(520,c.filesWidth+V))})},e[12]=n,e[13]=c.filesWidth,e[14]=j):j=e[14];let _;e[15]!==j||e[16]!==x||e[17]!==y||e[18]!==b||e[19]!==w?(_=s.jsx("button",{id:"files-resize-handle","aria-label":x,type:"button",tabIndex:0,onPointerDown:y,onPointerMove:b,onPointerUp:w,onPointerCancel:S,onKeyDown:j}),e[15]=j,e[16]=x,e[17]=y,e[18]=b,e[19]=w,e[20]=_):_=e[20];let N;e[21]!==o?(N=o("files"),e[21]=o,e[22]=N):N=e[22];let I;e[23]!==N?(I=s.jsx("span",{children:N}),e[23]=N,e[24]=I):I=e[24];const B=c.treeSource?.pathCount??0;let T;e[25]!==B?(T=s.jsx("span",{id:"files-count",children:B}),e[25]=B,e[26]=T):T=e[26];let A;e[27]!==I||e[28]!==T?(A=s.jsxs("span",{id:"files-title",children:[I,T]}),e[27]=I,e[28]=T,e[29]=A):A=e[29];let R;e[30]!==o||e[31]!==c.fileSearchOpen?(R=c.fileSearchOpen?o("hideFileSearch"):o("showFileSearch"),e[30]=o,e[31]=c.fileSearchOpen,e[32]=R):R=e[32];let O;e[33]!==o||e[34]!==c.fileSearchOpen?(O=c.fileSearchOpen?o("hideFileSearch"):o("showFileSearch"),e[33]=o,e[34]=c.fileSearchOpen,e[35]=O):O=e[35];const D=!c.treeSource;let L;e[36]!==n||e[37]!==c.fileSearchOpen?(L=()=>n({type:"set-file-search-open",open:!c.fileSearchOpen}),e[36]=n,e[37]=c.fileSearchOpen,e[38]=L):L=e[38];let z;e[39]===Symbol.for("react.memo_cache_sentinel")?(z=s.jsx(ne,{name:"search"}),e[39]=z):z=e[39];let E;e[40]!==c.fileSearchOpen||e[41]!==R||e[42]!==O||e[43]!==D||e[44]!==L?(E=s.jsx("span",{id:"files-header-actions",children:s.jsx("button",{id:"file-search-toggle",type:"button",title:R,"aria-label":O,"aria-pressed":c.fileSearchOpen,disabled:D,onClick:L,children:z})}),e[40]=c.fileSearchOpen,e[41]=R,e[42]=O,e[43]=D,e[44]=L,e[45]=E):E=e[45];let $;e[46]!==A||e[47]!==E?($=s.jsxs("div",{id:"files-header",children:[A,E]}),e[46]=A,e[47]=E,e[48]=$):$=e[48];let U;e[49]!==o||e[50]!==l||e[51]!==f||e[52]!==c.fileSearchOpen||e[53]!==c.status||e[54]!==c.treeSource?(U=s.jsx("div",{id:"file-list",children:c.treeSource?s.jsx($r,{fileSearchOpen:c.fileSearchOpen,label:o,onSelectItem:l,selectedPath:f,source:c.treeSource}):c.status.loading||c.status.pending?s.jsx(Ur,{}):s.jsx("div",{className:"visually-hidden",children:c.status.message})}),e[49]=o,e[50]=l,e[51]=f,e[52]=c.fileSearchOpen,e[53]=c.status,e[54]=c.treeSource,e[55]=U):U=e[55];let W;e[56]!==i||e[57]!==r||e[58]!==a||e[59]!==d?(W=s.jsx(Ri,{entries:i,hasDraft:a,labels:r,onSelect:d}),e[56]=i,e[57]=r,e[58]=a,e[59]=d,e[60]=W):W=e[60];let G;return e[61]!==_||e[62]!==g||e[63]!==$||e[64]!==U||e[65]!==W||e[66]!==m||e[67]!==k?(G=s.jsxs("aside",{id:"files-sidebar","aria-label":g,"aria-hidden":m,inert:k,children:[_,$,U,W]}),e[61]=_,e[62]=g,e[63]=$,e[64]=U,e[65]=W,e[66]=m,e[67]=k,e[68]=G):G=e[68],G}function $r(t){const e=F.c(18),{fileSearchOpen:i,label:r,onSelectItem:n,selectedPath:a,source:o}=t;let d;e[0]!==r||e[1]!==n||e[2]!==o?(d={label:r,onSelectItem:n,source:o},e[0]=r,e[1]=n,e[2]=o,e[3]=d):d=e[3];const l=yt(d);let f;e[4]!==o.paths?(f=()=>Fe(o.paths),e[4]=o.paths,e[5]=f):f=e[5];const[c]=C.useState(f);let u;e[6]!==a?(u=a?[a]:[],e[6]=a,e[7]=u):u=e[7];let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=kt(),e[8]=p):p=e[8];const h=o.gitStatus;let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=tr(),e[9]=g):g=e[9];let m;e[10]!==c||e[11]!==l||e[12]!==u||e[13]!==h?(m={flattenEmptyDirectories:!1,id:"cmux-diff-file-tree",initialExpansion:"open",initialSelectedPaths:u,initialVisibleRowCount:p,itemHeight:24,overscan:12,preparedInput:c,search:!0,searchBlurBehavior:"retain",stickyFolders:!0,gitStatus:h,sort:Wr,unsafeCSS:g,onSelectionChange(b){const w=b[b.length-1],S=l.current.source.pathToItemId.get(w);S&&l.current.onSelectItem(S)}},e[10]=c,e[11]=l,e[12]=u,e[13]=h,e[14]=m):m=e[14];const{model:k}=Lt(m);Qr(k,o),tn(k,i),rn(k,a);let x;e[15]===Symbol.for("react.memo_cache_sentinel")?(x={height:"100%"},e[15]=x):x=e[15];let y;return e[16]!==k?(y=s.jsx(Ft,{model:k,style:x}),e[16]=k,e[17]=y):y=e[17],y}function Wr(){return 0}function Ur(){const t=F.c(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsx("div",{className:"diff-loading-placeholder","aria-hidden":"true",children:dr.map(Gr)}),t[0]=e):e=t[0],e}function Gr(t,e){return s.jsxs("div",{className:"grid h-6 grid-cols-[16px_minmax(0,1fr)_44px] items-center gap-2 rounded-[5px] px-[7px]",children:[s.jsx("span",{className:"size-4 rounded-[5px] border border-[color-mix(in_lab,var(--cmux-diff-fg)_18%,transparent)]"}),s.jsx("span",{className:"h-[11px] rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}}),s.jsx("span",{className:"h-[11px] justify-self-end rounded bg-[var(--cmux-diff-muted-bg)] opacity-70",style:{width:e%2===0?"34px":"24px"}})]},`${t}-${e}`)}function Vr(){const t=F.c(2);let e;t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s.jsxs("div",{className:"mb-3 grid h-9 grid-cols-[72px_minmax(0,1fr)_96px] items-center gap-3 rounded-md bg-[color-mix(in_lab,var(--cmux-diff-fg)_5%,transparent)] px-3",children:[s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 w-2/5 rounded bg-[var(--cmux-diff-muted-bg)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)] opacity-70"})]}),t[0]=e):e=t[0];let i;return t[1]===Symbol.for("react.memo_cache_sentinel")?(i=s.jsxs("div",{className:"diff-loading-placeholder mx-3.5 mt-3.5 border-t border-[var(--cmux-diff-border)] pt-3","aria-hidden":"true",children:[e,s.jsx("div",{className:"space-y-[13px] px-3 py-1",children:fr.map(Hr)})]}),t[1]=i):i=t[1],i}function Hr(t,e){return s.jsxs("div",{className:"grid grid-cols-[42px_minmax(0,1fr)] items-center gap-4",children:[s.jsx("span",{className:"h-px bg-[color-mix(in_lab,var(--cmux-diff-fg)_10%,transparent)]"}),s.jsx("span",{className:"h-3 rounded bg-[var(--cmux-diff-muted-bg)]",style:{width:t}})]},`${t}-${e}`)}function qr(t){const e=F.c(16),{label:i,status:r}=t;if(!r.loading&&!r.pending&&!r.statusOnly&&!r.error)return null;const n=r.error?"true":"false",a=r.pending?"true":"false";let o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=s.jsx("span",{id:"status-icon","aria-hidden":"true"}),e[0]=o):o=e[0];let d;e[1]!==i||e[2]!==r.message?(d=r.message||i("loadingDiff"),e[1]=i,e[2]=r.message,e[3]=d):d=e[3];let l;e[4]!==d?(l=s.jsx("span",{id:"status-text",children:d}),e[4]=d,e[5]=l):l=e[5];let f;e[6]!==n||e[7]!==a||e[8]!==l?(f=s.jsxs("div",{id:"status","data-error":n,"data-pending":a,children:[o,l]}),e[6]=n,e[7]=a,e[8]=l,e[9]=f):f=e[9];let c;e[10]!==r.loading||e[11]!==r.pending?(c=r.loading||r.pending?s.jsx(Vr,{}):null,e[10]=r.loading,e[11]=r.pending,e[12]=c):c=e[12];let u;return e[13]!==f||e[14]!==c?(u=s.jsxs("div",{id:"loading-layer","aria-live":"polite",children:[f,c]}),e[13]=f,e[14]=c,e[15]=u):u=e[15],u}function yt(t){const e=F.c(3),i=C.useRef(t);let r,n;return e[0]!==t?(r=()=>{i.current=t},n=[t],e[0]=t,e[1]=r,e[2]=n):(r=e[1],n=e[2]),C.useEffect(r,n),i}function Kr(t,e){const i=F.c(5),r=Mt(),n=C.useRef(null);let a,o;i[0]!==e||i[1]!==t||i[2]!==r?(a=()=>{if(!r||Xr(n.current,t))return;let d=!0;return n.current=t,r.setRenderOptions(t).then(()=>{d&&e.current?.getInstance()?.render(!0)}).catch(Jr),()=>{d=!1}},o=[e,t,r],i[0]=e,i[1]=t,i[2]=r,i[3]=a,i[4]=o):(a=i[3],o=i[4]),C.useEffect(a,o)}function Jr(t){return console.warn("cmux diff worker render options update failed",t)}function Xr(t,e){return t?.lineDiffType===e.lineDiffType&&Yr(t?.langs,e.langs)&&t?.maxLineDiffLength===e.maxLineDiffLength&&t?.preferredHighlighter===e.preferredHighlighter&&Zr(t?.theme,e.theme)&&t?.tokenizeMaxLineLength===e.tokenizeMaxLineLength&&t?.useTokenTransformer===e.useTokenTransformer}function Yr(t,e){return t===e?!0:t==null||e==null||t.length!==e.length?!1:t.every((i,r)=>i===e[r])}function Zr(t,e){return t===e?!0:typeof t!="object"||t==null||typeof e!="object"||e==null?!1:t.dark===e.dark&&t.light===e.light}function Qr(t,e){const i=F.c(4),r=C.useRef(null);let n,a;i[0]!==t||i[1]!==e?(n=()=>{const o=r.current;r.current=e;const d=qi(o,e,e.paths);let l=d.kind==="append"?d.requiresFullGitStatus:!1;if(d.kind==="append"){if(d.addedPaths.length>0)try{t.batch(d.addedPaths.map(en)),l=!d.sourceFollowsPrevious}catch{const f=Fe(e.paths);t.resetPaths(e.paths,{preparedInput:f}),l=!0}}else{const f=Fe(e.paths);t.resetPaths(e.paths,{preparedInput:f}),l=!0}Ki(t,e,l)},a=[t,e],i[0]=t,i[1]=e,i[2]=n,i[3]=a):(n=i[2],a=i[3]),C.useEffect(n,a)}function en(t){return{type:"add",path:t}}function tn(t,e){const i=F.c(4);let r,n;i[0]!==e||i[1]!==t?(r=()=>{e?t.openSearch(""):t.closeSearch()},n=[e,t],i[0]=e,i[1]=t,i[2]=r,i[3]=n):(r=i[2],n=i[3]),C.useEffect(r,n)}function rn(t,e){const i=F.c(4);let r,n;i[0]!==t||i[1]!==e?(r=()=>{Ji(t,e)},n=[t,e],i[0]=t,i[1]=e,i[2]=r,i[3]=n):(r=i[2],n=i[3]),C.useEffect(r,n)}function nn(t,e,i,r){const n=F.c(6),a=C.useRef(!1);let o,d;n[0]!==t||n[1]!==i||n[2]!==e||n[3]!==r?(o=()=>{if(a.current||dn(t.payload))return;a.current=!0;const l=t.payload??{},f=Re(l.appearance);f.themes.light.name&&Oe(f.themes.light.name,()=>Promise.resolve(it(f.themes.light))),f.themes.dark.name&&Oe(f.themes.dark.name,()=>Promise.resolve(it(f.themes.dark)));const c=[];i({type:"set-status",status:se(e("parsingDiff"),{loading:!0})}),di({getCollapsed:()=>r.current.options.collapsed,initialFileTreeRowCount:kt(),label:e,onBatch:u=>{c.push(...u),i({type:"append-items",items:u})},onComplete:u=>{i({type:"set-metrics",metrics:u});const p=c;if(p.length===0){i({type:"set-status",status:se(e("noFileDiffs"),{error:!0,loading:!1,statusOnly:!0})});return}const h=Array.from(new Set([f.theme?.light,f.theme?.dark].filter(Boolean))),g=Array.from(new Set(p.flatMap(an)));Tt({themes:h,langs:g.length>0?g:["text"]}).catch(on)},onMetrics:u=>i({type:"set-metrics",metrics:u}),onRename:u=>i({type:"rename-item",oldId:u.oldId,newId:u.newId}),onTreeSource:u=>i({type:"set-tree-source",source:u}),parsePatchFiles:Bt,patchURL:l.patchURL,processFile:_t}).catch(u=>{console.error("cmux diff viewer render failed",u),i({type:"set-status",status:se(e("renderFailed"),{error:!0,loading:!1,statusOnly:!0})})})},d=[t,i,e,r],n[0]=t,n[1]=i,n[2]=e,n[3]=r,n[4]=o,n[5]=d):(o=n[4],d=n[5]),C.useEffect(o,d)}function on(t){return console.warn("cmux diff highlighter preload failed",t)}function an(t){const e=t.fileDiff??{};return gt(de(e,""),e.lang,e,Te)}function sn(t){const e=t.fileDiff;if(e==null)return;const i=ht(de(e,""),e.lang,Te);e.lang=i}function ln(t){const e=t.fileDiff;return e==null?[]:gt(de(e,""),e.lang,e,Te)}function cn(t,e){const i=new Set(t);for(const r of e)r.trim().length>0&&i.add(r);return Array.from(i)}function dn(t){return t?.pendingReplacement===!0||typeof t?.statusMessage=="string"&&t.statusMessage.length>0}function fn(t,e,i){const r=F.c(5),n=C.useRef(!1);let a,o;r[0]!==i||r[1]!==e||r[2]!==t?(a=()=>{if(!n.current){if(n.current=!0,t.pendingReplacement===!0){i({type:"set-status",status:se(t.statusMessage??e("loadingDiff"),{loading:!0,pending:!0})}),fetch("/__cmux_diff_viewer_wait"+location.pathname,{cache:"no-store"}).then(un).catch(d=>{document.documentElement.dataset.cmuxDiffWait="failed",i({type:"set-status",status:se(e("renderFailed"),{error:!0,loading:!1,statusOnly:!0})}),console.warn("cmux diff viewer deferred load failed",d)});return}typeof t.statusMessage=="string"&&t.statusMessage.length>0&&i({type:"set-status",status:se(t.statusMessage,{error:t.statusIsError===!0,loading:!1,statusOnly:!0})})}},o=[i,e,t],r[0]=i,r[1]=e,r[2]=t,r[3]=a,r[4]=o):(a=r[3],o=r[4]),C.useEffect(a,o)}async function un(t){if(!t.ok)throw new Error("replacement failed");(await t.text()).includes('data-cmux-diff-pending="true"')||window.location.reload()}function pn(t){const e=F.c(10);let i;e[0]!==t.filesVisible||e[1]!==t.items||e[2]!==t.metrics||e[3]!==t.options.diffIndicators||e[4]!==t.options.layout||e[5]!==t.options.wordWrap||e[6]!==t.status?(i=()=>{document.body.dataset.filesHidden=t.filesVisible?"false":"true",document.body.dataset.loading=t.status.loading?"true":"false",document.documentElement.dataset.layout=t.options.layout,document.documentElement.dataset.wordWrap=String(t.options.wordWrap),document.documentElement.dataset.diffIndicators=t.options.diffIndicators,t.metrics&&(document.body.dataset.streamFileCount=String(t.metrics.fileCount??t.items.length),document.body.dataset.streamRenderableFileCount=String(t.metrics.renderableFileCount??t.items.length),document.body.dataset.streamFlushCount=String(t.metrics.flushCount??0),document.body.dataset.streamMaxBatchSize=String(t.metrics.maxBatchSize??0),document.body.dataset.streamTreeRefreshCount=String(t.metrics.treeRefreshCount??0),Number.isFinite(t.metrics.completedAt)&&t.metrics.completedAt>0&&(document.body.dataset.streamElapsedMs=String(Math.round(t.metrics.completedAt-t.metrics.startedAt)))),Ae(t.status)},e[0]=t.filesVisible,e[1]=t.items,e[2]=t.metrics,e[3]=t.options.diffIndicators,e[4]=t.options.layout,e[5]=t.options.wordWrap,e[6]=t.status,e[7]=i):i=e[7];let r;e[8]!==t?(r=[t],e[8]=t,e[9]=r):r=e[9],C.useEffect(i,r)}function mn(t,e,i){const r=F.c(12);let n;r[0]!==i||r[1]!==t.diffViewerOpenFileSearch||r[2]!==t.diffViewerScrollDown||r[3]!==t.diffViewerScrollToBottom||r[4]!==t.diffViewerScrollToTop||r[5]!==t.diffViewerScrollUp||r[6]!==e?(n=()=>{const o=ue(t.diffViewerScrollDown),d=ue(t.diffViewerScrollUp),l=ue(t.diffViewerScrollToBottom),f=ue(t.diffViewerScrollToTop),c=ue(t.diffViewerOpenFileSearch);let u=null,p=0;const h=()=>{u=null,p!==0&&(window.clearTimeout(p),p=0)},g=m=>{if(!(m.defaultPrevented||bn(m.target))){if(u&&!je(u.shortcut.second,m)&&h(),u&&je(u.shortcut.second,m)){m.preventDefault(),u.action(),h();return}if(ve(o,m)){m.preventDefault(),nt(e.current,1);return}if(ve(d,m)){m.preventDefault(),nt(e.current,-1);return}if(ve(l,m)){m.preventDefault(),e.current?.scrollTo({top:e.current.scrollHeight,behavior:"auto"});return}if(ve(c,m)){m.preventDefault(),i({type:"set-file-search-open",open:!0});return}f&&gn(f,m)&&(m.preventDefault(),u={shortcut:f,action:()=>e.current?.scrollTo({top:0,behavior:"auto"})},p=window.setTimeout(h,700))}};return document.addEventListener("keydown",g),()=>{h(),document.removeEventListener("keydown",g)}},r[0]=i,r[1]=t.diffViewerOpenFileSearch,r[2]=t.diffViewerScrollDown,r[3]=t.diffViewerScrollToBottom,r[4]=t.diffViewerScrollToTop,r[5]=t.diffViewerScrollUp,r[6]=e,r[7]=n):n=r[7];let a;r[8]!==i||r[9]!==t||r[10]!==e?(a=[i,t,e],r[8]=i,r[9]=t,r[10]=e,r[11]=a):a=r[11],C.useEffect(n,a)}function hn(t,e){const i=F.c(4);let r,n;i[0]!==e||i[1]!==t?(r=()=>{if(!t)return;const a=d=>{d.target instanceof Element&&d.target.closest("#toolbar")||e({type:"set-options-open",open:!1})},o=d=>{d.key==="Escape"&&e({type:"set-options-open",open:!1})};return document.addEventListener("click",a),document.addEventListener("keydown",o),()=>{document.removeEventListener("click",a),document.removeEventListener("keydown",o)}},n=[e,t],i[0]=e,i[1]=t,i[2]=r,i[3]=n):(r=i[2],n=i[3]),C.useEffect(r,n)}function ue(t){return!t||t.unbound===!0||!t.first?null:{first:rt(t.first),second:t.second?rt(t.second):null}}function rt(t){return{key:String(t?.key??"").toLowerCase(),command:t?.command===!0,shift:t?.shift===!0,option:t?.option===!0,control:t?.control===!0}}function ve(t,e){return!!(t&&!t.second&&je(t.first,e))}function gn(t,e){return!!(t.second&&je(t.first,e))}function je(t,e){return!t||e.metaKey!==t.command||e.ctrlKey!==t.control||e.altKey!==t.option||e.shiftKey!==t.shift?!1:xn(e)===t.key}function xn(t){return t.code==="Space"?"space":typeof t.key!="string"||t.key.length===0?"":(t.key.length===1,t.key.toLowerCase())}function bn(t){return!!(t instanceof Element?t:null)?.closest("input, textarea, select, [contenteditable='true']")}function nt(t,e){if(!t)return;const i=Math.max(80,Math.floor(t.clientHeight*.38));t.scrollBy({top:e*i,behavior:"auto"})}function wn(t,e){return e.some(i=>i.id===t)?t:e[0]?.id??""}function kt(){const t=window.visualViewport?.height??window.innerHeight;return!Number.isFinite(t)||t<=0?25:Math.min(96,Math.max(25,Math.ceil(t/24)))}const vn=`@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--font-weight-medium:500;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--blur-lg:16px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\\/2{top:50%}.right-2\\.5{right:calc(var(--spacing) * 2.5)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-\\[calc\\(100\\%\\+6px\\)\\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-px{margin:1px}.mx-3\\.5{margin-inline:calc(var(--spacing) * 3.5)}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-3\\.5{margin-top:calc(var(--spacing) * 3.5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-\\[3px\\]{margin-right:3px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-px{margin-bottom:1px}.ml-1\\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-16{width:calc(var(--spacing) * 16);height:calc(var(--spacing) * 16)}.size-\\[22px\\]{width:22px;height:22px}.\\!h-auto{height:auto!important}.h-0{height:calc(var(--spacing) * 0)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-\\[1lh\\]{height:1lh}.h-\\[1px\\]{height:1px}.h-\\[11px\\]{height:11px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\\[25dvh\\]{max-height:25dvh}.max-h-\\[140px\\]{max-height:140px}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[1\\.25rem\\]{min-height:1.25rem}.w-2\\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-52{width:calc(var(--spacing) * 52)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-16{max-width:calc(var(--spacing) * 16)}.max-w-20{max-width:calc(var(--spacing) * 20)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-\\[60\\%\\]{max-width:60%}.max-w-\\[77\\%\\]{max-width:77%}.max-w-\\[320px\\]{max-width:320px}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[16px_minmax\\(0\\,1fr\\)_44px\\]{grid-template-columns:16px minmax(0,1fr) 44px}.grid-cols-\\[42px_minmax\\(0\\,1fr\\)\\]{grid-template-columns:42px minmax(0,1fr)}.grid-cols-\\[72px_minmax\\(0\\,1fr\\)_96px\\]{grid-template-columns:72px minmax(0,1fr) 96px}.grid-cols-\\[auto_minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\\[minmax\\(0\\,auto\\)_auto_minmax\\(0\\,1fr\\)\\]{grid-template-columns:minmax(0,auto) auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\\[5px\\]{gap:5px}:where(.space-y-\\[13px\\]>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(13px * var(--tw-space-y-reverse));margin-block-end:calc(13px * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[5px\\]{border-radius:5px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.border-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_18\\%\\,transparent\\)\\]{border-color:color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.border-\\[color\\:var\\(--gray-0\\)\\]{border-color:var(--gray-0)}.border-\\[var\\(--cmux-diff-border\\)\\]{border-color:var(--cmux-diff-border)}.border-transparent{border-color:#0000}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_5\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.bg-\\[color-mix\\(in_lab\\,var\\(--cmux-diff-fg\\)_10\\%\\,transparent\\)\\]{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.bg-\\[color\\:var\\(--gray-0\\)\\]{background-color:var(--gray-0)}.bg-\\[var\\(--cmux-diff-muted-bg\\)\\]{background-color:var(--cmux-diff-muted-bg)}.\\[mask-image\\:linear-gradient\\(to_right\\,black_calc\\(100\\%_-_0\\.25rem\\)\\,transparent\\)\\]{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - .25rem),#0000)}.\\[mask-repeat\\:no-repeat\\]{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.object-cover{object-fit:cover}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-2{padding:calc(var(--spacing) * 2)}.\\!px-0{padding-inline:calc(var(--spacing) * 0)!important}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\\[7px\\]{padding-inline:7px}.px-\\[var\\(--padding-row-x\\)\\]{padding-inline:var(--padding-row-x)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-\\[var\\(--padding-row-y\\)\\]{padding-block:var(--padding-row-y)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pr-0{padding-right:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\!leading-none{--tw-leading:1!important;line-height:1!important}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[18px\\]{--tw-leading:18px;line-height:18px}.leading-\\[calc\\(var\\(--codex-chat-font-size\\)\\+8px\\)\\]{--tw-leading:calc(var(--codex-chat-font-size) + 8px);line-height:calc(var(--codex-chat-font-size) + 8px)}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.break-words{overflow-wrap:break-word}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-current{color:currentColor}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-\\[0\\.5px\\]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(.5px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[--edge-fade-distance\\:2rem\\]{--edge-fade-distance:2rem}.group-focus-within\\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\\:bg-transparent:hover{background-color:#0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.data-\\[state\\=checked\\]\\:translate-x-\\[14px\\][data-state=checked]{--tw-translate-x:14px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:translate-x-\\[2px\\][data-state=unchecked]{--tw-translate-x:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}@container (min-width:500px){.\\@\\[500px\\]\\:inline{display:inline}}.\\[\\&_\\.ProseMirror\\]\\:\\!h-5 .ProseMirror{height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:h-auto .ProseMirror{height:auto}.\\[\\&_\\.ProseMirror\\]\\:\\!min-h-5 .ProseMirror{min-height:calc(var(--spacing) * 5)!important}.\\[\\&_\\.ProseMirror\\]\\:min-h-\\[2rem\\] .ProseMirror{min-height:2rem}.\\[\\&_\\.ProseMirror\\]\\:min-w-0 .ProseMirror{min-width:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror\\]\\:flex-1 .ProseMirror{flex:1}.\\[\\&_\\.ProseMirror\\]\\:resize-none .ProseMirror{resize:none}.\\[\\&_\\.ProseMirror\\]\\:overflow-hidden .ProseMirror{overflow:hidden}.\\[\\&_\\.ProseMirror\\]\\:leading-5 .ProseMirror{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\\[\\&_\\.ProseMirror\\]\\:whitespace-nowrap .ProseMirror{white-space:nowrap}.\\[\\&_\\.ProseMirror\\]\\:focus-visible\\:outline-none .ProseMirror:focus-visible{--tw-outline-style:none;outline-style:none}.\\[\\&_\\.ProseMirror_p\\]\\:m-0 .ProseMirror p{margin:calc(var(--spacing) * 0)}.\\[\\&_\\.ProseMirror_p\\]\\:overflow-hidden .ProseMirror p{overflow:hidden}.\\[\\&_\\.ProseMirror_p\\]\\:text-ellipsis .ProseMirror p{text-overflow:ellipsis}.\\[\\&_\\.ProseMirror_p\\]\\:whitespace-nowrap .ProseMirror p{white-space:nowrap}.\\[\\&_\\.contain-inline-size\\]\\:\\[contain\\:initial\\] .contain-inline-size{contain:initial}.\\[\\&\\>\\*\\:last-child\\]\\:mb-0>:last-child{margin-bottom:calc(var(--spacing) * 0)}.\\[\\&\\>ol\\:first-child\\]\\:mt-0>ol:first-child,.\\[\\&\\>ul\\:first-child\\]\\:mt-0>ul:first-child{margin-top:calc(var(--spacing) * 0)}}:root{color-scheme:light dark;--cmux-diff-bg-light:#fff;--cmux-diff-bg-dark:#000;--cmux-diff-fg-light:#000;--cmux-diff-fg-dark:#fff;--cmux-diff-selection-bg-light:#abd8ff;--cmux-diff-selection-bg-dark:#3f638b;--cmux-diff-ui-font-family:system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--cmux-diff-ui-font-size:12px;--cmux-diff-ui-line-height:16px;--cmux-diff-code-font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;--cmux-diff-font-size:10px;--cmux-diff-line-height:20px;--cmux-diff-bg:var(--cmux-diff-bg-light);--cmux-diff-fg:var(--cmux-diff-fg-light);--cmux-diff-border:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-border:color-mix(in lab, var(--cmux-diff-fg) 12%, transparent)}}:root{--cmux-diff-toolbar-bg:transparent;--cmux-diff-sidebar-bg:transparent;--cmux-diff-muted-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-muted-bg:color-mix(in lab, var(--cmux-diff-fg) 8%, transparent)}}:root{--cmux-diff-hover-bg:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-hover-bg:color-mix(in lab, var(--cmux-diff-fg) 10%, transparent)}}:root{--cmux-diff-accent:light-dark(#0a84ff,#7ab7ff);--cmux-diff-text-muted:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-muted:color-mix(in lab, var(--cmux-diff-fg) 72%, var(--cmux-diff-bg))}}:root{--cmux-diff-text-subtle:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){:root{--cmux-diff-text-subtle:color-mix(in lab, var(--cmux-diff-fg) 84%, var(--cmux-diff-bg))}}:root{--cmux-diff-surface-fill-light:transparent;--cmux-diff-surface-fill-dark:transparent;--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-light);background:var(--cmux-diff-surface-fill);color:var(--cmux-diff-fg)}@media(prefers-color-scheme:dark){:root{--cmux-diff-bg:var(--cmux-diff-bg-dark);--cmux-diff-fg:var(--cmux-diff-fg-dark);--cmux-diff-surface-fill:var(--cmux-diff-surface-fill-dark)}}*{box-sizing:border-box}html,body{background:var(--cmux-diff-surface-fill);height:100%;overflow:hidden}body{background:var(--cmux-diff-surface-fill);height:100vh;min-height:0;color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:var(--cmux-diff-ui-font-size);line-height:var(--cmux-diff-ui-line-height);flex-direction:column;margin:0;display:flex;overflow:hidden}#root{background:0 0;height:100%;min-height:0}#app{overscroll-behavior:contain;contain:strict;height:100vh;min-height:0;color:inherit;background:0 0;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);display:grid;overflow:hidden}.copy-fallback-textarea{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;top:0;left:-9999px}#toolbar{border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-toolbar-bg);min-height:32px;color:var(--cmux-diff-fg);flex:none;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(0,auto);align-items:center;gap:7px;padding:3px 4px 3px 8px;display:grid;position:relative}@supports (color:color-mix(in lab,red,red)){#toolbar{color:color-mix(in lab,var(--cmux-diff-fg) 76%,var(--cmux-diff-bg))}}#toolbar{z-index:50}@media(min-width:521px){body[data-files-hidden=false] #toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto)}body[data-files-hidden=false] .toolbar-middle{display:none}}.toolbar-left,.toolbar-middle,.toolbar-actions{align-items:center;min-width:0;display:flex;overflow:clip visible}.toolbar-left,.toolbar-middle{gap:6px}.toolbar-left{justify-self:stretch;container:toolbar-left/inline-size}.toolbar-middle{justify-content:center}.toolbar-actions{justify-self:end;gap:4px}#source-select,#repo-select,#base-select,#jump-select{appearance:none;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,var(--cmux-diff-fg);border:1px solid #0000;border-radius:6px;min-width:0;max-width:100%;height:24px;padding:0 24px 0 9px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#source-select,#repo-select,#base-select,#jump-select{background:linear-gradient(45deg,transparent 50%,currentcolor 50%) right 11px center / 4px 4px no-repeat,linear-gradient(135deg,currentcolor 50%,transparent 50%) right 7px center / 4px 4px no-repeat,color-mix(in lab,var(--cmux-diff-fg) 7%,transparent)}}#source-select,#repo-select,#base-select,#jump-select{color:inherit;font:inherit}#source-select{field-sizing:content;flex:0 3 auto;min-width:58px}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{border-color:color-mix(in lab,var(--cmux-diff-fg) 24%,transparent)}}#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:hover,#repo-select:hover,#base-select:hover,#jump-select:hover{background-color:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#source-select[hidden],#repo-select[hidden],#base-select[hidden],#jump-select[hidden]{display:none}#jump-select{field-sizing:content;min-width:64px}#repo-select{field-sizing:content;flex:0 5 auto;min-width:56px}#base-select{flex:0 120px}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline:2px solid color-mix(in lab,var(--cmux-diff-fg) 36%,transparent)}}#source-select:focus,#repo-select:focus,#base-select:focus,#jump-select:focus,.base-picker-button:focus-visible,.base-picker-input:focus-visible,.toolbar-icon:focus-visible,.menu-item:focus-visible,.file-entry:focus-visible{outline-offset:1px}#base-picker{flex:0 auto;align-items:center;min-width:150px;display:flex;position:relative}.base-picker-button{border:1px solid var(--cmux-diff-fg);align-items:center;gap:5px;min-width:0;max-width:100%;height:24px;padding:0 7px 0 9px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.base-picker-button{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 18%,transparent)}}.base-picker-button{background:var(--cmux-diff-fg);border-radius:6px}@supports (color:color-mix(in lab,red,red)){.base-picker-button{background:color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-button{color:var(--cmux-diff-fg);font:inherit;cursor:pointer;font-weight:600}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 30%,transparent)}}.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-button:hover:not(:disabled),.base-picker-button[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 15%,transparent)}}.base-picker-button:disabled{cursor:default;opacity:.85}.base-picker-button svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;flex:none;width:12px;height:12px}.base-picker-label{align-items:center;gap:5px;min-width:0;display:inline-flex}.base-picker-prefix{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-prefix{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-head{text-overflow:ellipsis;white-space:nowrap;min-width:4ch;color:var(--cmux-diff-fg);flex:0 8 auto;font-weight:500;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-head{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.base-picker-ref{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:6ch;overflow:hidden}.base-picker-meta{flex:0 1000 auto;align-items:center;gap:5px;min-width:0;display:inline-flex;overflow:hidden}.base-picker-reason{color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-reason{color:color-mix(in lab,var(--cmux-diff-fg) 64%,var(--cmux-diff-bg))}}.base-picker-reason{white-space:nowrap}.base-picker-reason-low{opacity:.6;font-style:italic}.base-picker-aheadbehind{font-variant-numeric:tabular-nums;color:var(--cmux-diff-fg);flex:none;font-weight:500}@supports (color:color-mix(in lab,red,red)){.base-picker-aheadbehind{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}.base-picker-aheadbehind{white-space:nowrap}@container toolbar-left (max-width:380px){.base-picker-aheadbehind{display:none}}@container toolbar-left (max-width:312px){.base-picker-reason{display:none}}.base-picker-text{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.base-picker-spinner{border:1.6px solid var(--cmux-diff-fg);border-radius:50%;flex:none;width:12px;height:12px}@supports (color:color-mix(in lab,red,red)){.base-picker-spinner{border:1.6px solid color-mix(in lab,var(--cmux-diff-fg) 26%,transparent)}}.base-picker-spinner{border-top-color:var(--cmux-diff-fg);animation:.7s linear infinite base-picker-spin}@keyframes base-picker-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.base-picker-spinner{animation-duration:1.6s}}.base-picker-popover{border:1px solid var(--cmux-diff-fg);flex-direction:column;width:320px;max-width:min(86vw,360px);display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.base-picker-popover{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}.base-picker-popover{background:var(--cmux-diff-bg);z-index:120;border-radius:8px;overflow:hidden;box-shadow:0 16px 34px lab(0% none none/.28)}.base-picker-search{border-bottom:1px solid var(--cmux-diff-fg);align-items:center;gap:6px;padding:7px 9px;display:flex}@supports (color:color-mix(in lab,red,red)){.base-picker-search{border-bottom:1px solid color-mix(in lab,var(--cmux-diff-fg) 11%,transparent)}}.base-picker-search svg{stroke:currentColor;fill:none;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;opacity:.55;flex:none;width:13px;height:13px}.base-picker-input{min-width:0;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;outline:none;flex:auto}.base-picker-list{flex:auto;min-height:0;padding:4px;overflow-y:auto}.base-picker-status{color:var(--cmux-diff-fg);padding:12px 9px}@supports (color:color-mix(in lab,red,red)){.base-picker-status{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.base-picker-status{text-align:center}.base-picker-status-error{color:#ff5f56}@supports (color:color-mix(in lab,red,red)){.base-picker-status-error{color:color-mix(in lab,#ff5f56 70%,var(--cmux-diff-fg))}}.base-picker-group-header{letter-spacing:.06em;text-transform:uppercase;color:var(--cmux-diff-fg);padding:8px 8px 3px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-group-header{color:color-mix(in lab,var(--cmux-diff-fg) 52%,var(--cmux-diff-bg))}}.base-picker-more{color:var(--cmux-diff-fg);padding:5px 8px 7px;font-size:11px}@supports (color:color-mix(in lab,red,red)){.base-picker-more{color:color-mix(in lab,var(--cmux-diff-fg) 48%,var(--cmux-diff-bg))}}.base-picker-more{cursor:default;-webkit-user-select:none;user-select:none}.base-picker-row{cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-height:28px;padding:0 8px;display:flex}.base-picker-row-selected{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.base-picker-row-selected{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.base-picker-row-primary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--cmux-diff-fg);flex:auto;overflow:hidden}.base-picker-row-primary strong{font-weight:700}.base-picker-row-secondary{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;max-width:55%;color:var(--cmux-diff-fg);flex:0 auto;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.base-picker-row-secondary{color:color-mix(in lab,var(--cmux-diff-fg) 55%,var(--cmux-diff-bg))}}.base-picker-pill{text-transform:uppercase;letter-spacing:.04em;color:var(--cmux-diff-accent);background:var(--cmux-diff-accent);border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.base-picker-pill{background:color-mix(in lab,var(--cmux-diff-accent) 16%,transparent)}}@media(max-width:760px){#toolbar{grid-template-columns:minmax(0,1fr) minmax(0,auto);grid-template-areas:"source actions""jump actions"}.toolbar-left{grid-area:source}.toolbar-middle{grid-area:jump;justify-content:stretch}.toolbar-actions{grid-area:actions}}.toolbar-icon{width:20px;height:20px;color:var(--cmux-diff-fg);background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.toolbar-icon{color:color-mix(in lab,var(--cmux-diff-fg) 60%,var(--cmux-diff-bg))}}.toolbar-icon{cursor:pointer;padding:0}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{border-color:color-mix(in lab,var(--cmux-diff-fg) 14%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon:hover,.toolbar-icon[aria-expanded=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.toolbar-icon:hover,.toolbar-icon[aria-expanded=true],.toolbar-icon[aria-pressed=true]{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.toolbar-icon[aria-pressed=true]{color:color-mix(in lab,var(--cmux-diff-fg) 78%,var(--cmux-diff-bg))}}.toolbar-icon[hidden]{display:none}.toolbar-icon svg,.menu-item svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;display:block}#layout-toggle svg [data-diff-deletion],#layout-toggle svg [data-diff-addition]{stroke:none}#layout-toggle svg [data-diff-deletion]{fill:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#layout-toggle svg [data-diff-addition]{fill:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.toolbar-icon svg [data-precision-dot],.menu-item svg [data-precision-dot]{stroke-width:2px}#options-menu{border:1px solid var(--cmux-diff-fg);min-width:246px;padding:8px;position:absolute;top:calc(100% + 7px);right:10px}@supports (color:color-mix(in lab,red,red)){#options-menu{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 13%,transparent)}}#options-menu{background:var(--cmux-diff-bg);z-index:100;border-radius:8px;box-shadow:0 16px 34px lab(0% none none/.28)}#options-menu[hidden]{display:none}.menu-separator{background:var(--cmux-diff-fg);height:1px;margin:7px 6px}@supports (color:color-mix(in lab,red,red)){.menu-separator{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.menu-item{width:100%;min-height:31px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:6px;grid-template-columns:22px minmax(0,1fr) 18px;align-items:center;gap:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.menu-item{color:color-mix(in lab,var(--cmux-diff-fg) 86%,var(--cmux-diff-bg))}}.menu-item{font:inherit;text-align:left;padding:0 7px}.menu-item:hover:not(:disabled){background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}.menu-item:hover:not(:disabled){color:var(--cmux-diff-fg)}.menu-segment{cursor:default}.menu-segment:hover{background:0 0}.menu-segment-controls{background:0 0;border-radius:7px;justify-self:end;align-items:center;gap:2px;padding:2px;display:inline-flex}.segment-button{width:27px;height:24px;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.segment-button{color:color-mix(in lab,var(--cmux-diff-fg) 62%,var(--cmux-diff-bg))}}.segment-button{padding:0}.segment-button:hover,.segment-button[aria-pressed=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.segment-button:hover,.segment-button[aria-pressed=true]{background:color-mix(in lab,var(--cmux-diff-fg) 12%,transparent)}}.segment-button:hover,.segment-button[aria-pressed=true],.menu-item:disabled{color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.menu-item:disabled{color:color-mix(in lab,var(--cmux-diff-fg) 36%,var(--cmux-diff-bg))}}.menu-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-check{justify-self:end}#content{--cmux-diff-files-width:252px;grid-template-columns:minmax(0,1fr) var(--cmux-diff-files-width);overscroll-behavior:contain;contain:strict;background:0 0;flex:auto;grid-template-rows:minmax(0,1fr);grid-template-areas:"viewer files";min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr) 0}body[data-status-only=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{border-left:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);contain:strict;opacity:1;flex-direction:column;grid-area:files;width:100%;min-width:0;height:100%;min-height:0;transition:opacity .1s,visibility linear;display:flex;position:relative;overflow:hidden}#files-resize-handle{z-index:3;appearance:none;cursor:col-resize;background:0 0;border:0;outline:none;width:8px;margin:0;padding:0;position:absolute;top:0;bottom:0;left:0}#files-resize-handle:after{content:"";background:0 0;width:1px;position:absolute;top:0;bottom:0;left:0}body[data-files-hidden=true] #files-sidebar{opacity:0;pointer-events:none;visibility:hidden;transition:opacity .1s,visibility 0s linear .1s}body[data-status-only=true] #files-sidebar{display:none}#files-header{z-index:1;border-bottom:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);min-height:30px;color:var(--cmux-diff-text-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 7px 0 10px;display:flex;position:relative}#files-title{align-items:center;gap:6px;min-width:0;display:inline-flex}#files-header-actions{flex:none;align-items:center;gap:2px;display:inline-flex}#file-search-toggle{width:24px;height:24px;color:var(--cmux-diff-text-muted);background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}#file-search-toggle:hover,#file-search-toggle[aria-pressed=true]{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}#file-search-toggle svg{fill:none;stroke:currentColor;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}#file-list{background:var(--cmux-diff-sidebar-bg);--trees-bg-override:var(--cmux-diff-sidebar-bg);--trees-fg-override:var(--cmux-diff-text-subtle);--trees-fg-muted-override:var(--cmux-diff-text-muted);--trees-bg-muted-override:var(--cmux-diff-hover-bg);--trees-selected-bg-override:var(--cmux-diff-fg);flex:auto;min-height:0;padding:6px 4px 6px 6px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-selected-bg-override:color-mix(in lab, var(--cmux-diff-fg) 11%, transparent)}}#file-list{--trees-selected-fg-override:var(--cmux-diff-fg);--trees-selected-focused-border-color-override:transparent;--trees-border-color-override:var(--cmux-diff-border);--trees-focus-ring-color-override:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-focus-ring-color-override:color-mix(in lab, var(--cmux-diff-accent) 72%, transparent)}}#file-list{--trees-font-family-override:var(--cmux-diff-ui-font-family);--trees-font-size-override:var(--cmux-diff-ui-font-size);--trees-font-weight-semibold-override:500;--trees-density-override:.78;--trees-border-radius-override:5px;--trees-item-padding-x-override:7px;--trees-item-margin-x-override:0;--trees-padding-inline-override:8px;--trees-search-bg-override:var(--cmux-diff-bg)}@supports (color:color-mix(in lab,red,red)){#file-list{--trees-search-bg-override:color-mix(in lab, var(--cmux-diff-bg) 92%, var(--cmux-diff-fg))}}#file-list{--trees-status-added-override:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark));--trees-status-modified-override:var(--cmux-diff-accent);--trees-status-renamed-override:light-dark(#a26300,#ffd166);--trees-status-deleted-override:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}body[data-loading=false] .diff-loading-placeholder,body[data-loading=false]:not([data-status-only=true]) #loading-layer{display:none}#file-list file-tree-container{width:100%;height:100%;min-height:0;display:block}.file-entry{width:100%;min-height:30px;color:inherit;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 7px;display:grid}.file-entry:hover,.file-entry[aria-current=true]{background:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){.file-entry:hover,.file-entry[aria-current=true]{background:color-mix(in lab,var(--cmux-diff-fg) 9%,transparent)}}.file-status{width:17px;height:17px;color:var(--cmux-diff-text-muted);border:1px solid;border-radius:5px;justify-content:center;align-items:center;font-size:9px;line-height:1;display:inline-flex}.file-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-stats{color:var(--cmux-diff-text-muted);gap:5px;display:inline-flex}.stat-add{color:light-dark(var(--cmux-diff-addition-fg-light),var(--cmux-diff-addition-fg-dark))}.stat-del{color:light-dark(var(--cmux-diff-deletion-fg-light),var(--cmux-diff-deletion-fg-dark))}#viewer{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));overscroll-behavior:contain;overflow-anchor:none;contain:strict;border-bottom:1px solid var(--cmux-diff-border);background:0 0;grid-area:viewer;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}.code-view-root{overscroll-behavior:contain;overflow-anchor:none;contain:strict;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:clip auto}@media(max-width:520px){#content,body[data-files-hidden=true] #content{grid-template-columns:minmax(0,1fr);grid-template-areas:"viewer"}#files-sidebar{display:none}}@media(prefers-reduced-motion:reduce){#files-sidebar{transition:none}}#viewer diffs-container{--diffs-font-family:var(--cmux-diff-code-font-family);--diffs-header-font-family:var(--cmux-diff-ui-font-family);--diffs-font-size:var(--cmux-diff-font-size);--diffs-line-height:var(--cmux-diff-line-height);--diffs-bg-selection-override:light-dark(var(--cmux-diff-selection-bg-light),var(--cmux-diff-selection-bg-dark));contain:layout paint style;flex:auto;width:100%;min-height:30px;display:block;overflow:clip}#viewer diffs-container [data-diffs-header]{overflow-x:clip}#viewer diffs-container [data-diffs-header=default] [data-metadata]{flex-shrink:0}#loading-layer{z-index:4;pointer-events:none;contain:strict;background:0 0;grid-area:viewer;position:absolute;inset:0;overflow:hidden}body[data-status-only=true] #loading-layer{pointer-events:auto;justify-content:center;align-items:center;width:100%;height:100%;padding:32px;display:flex;position:static}#status{z-index:5;border:1px solid var(--cmux-diff-fg);align-items:center;gap:10px;max-width:calc(100% - 24px);min-height:32px;padding:8px 12px;display:flex;position:absolute;top:10px;left:12px}@supports (color:color-mix(in lab,red,red)){#status{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 10%,transparent)}}#status{background:var(--cmux-diff-bg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:var(--cmux-diff-ui-line-height);color:var(--cmux-diff-fg);border-radius:7px}@supports (color:color-mix(in lab,red,red)){#status{color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}body[data-status-only=true] #status{text-align:center;text-wrap:balance;width:auto;max-width:340px;min-height:0;color:var(--cmux-diff-fg);background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:0;font-size:14px;line-height:1.55;position:static}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status{color:color-mix(in lab,var(--cmux-diff-fg) 58%,var(--cmux-diff-bg))}}body[data-status-only=true] #status-text{letter-spacing:.005em;font-weight:500}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#status-icon{display:none}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:var(--cmux-diff-fg);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{background:color-mix(in lab,var(--cmux-diff-fg) 5%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon{border:1px solid color-mix(in lab,var(--cmux-diff-fg) 8%,transparent)}}body[data-status-only=true] #status:not([data-error=true]):not([data-pending=true]) #status-icon:before{content:"";opacity:.8;background-color:currentColor;width:26px;height:26px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M9 13h6'/%3E%3Cpath d='M9 17h4'/%3E%3C/svg%3E") 50%/contain no-repeat}#status[data-pending=true]:before,body[data-loading=true] #status:before{content:"";border:2px solid var(--cmux-diff-fg);flex:none;width:14px;height:14px}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border:2px solid color-mix(in lab,var(--cmux-diff-fg) 20%,transparent)}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:var(--cmux-diff-fg)}@supports (color:color-mix(in lab,red,red)){#status[data-pending=true]:before,body[data-loading=true] #status:before{border-top-color:color-mix(in lab,var(--cmux-diff-fg) 70%,var(--cmux-diff-bg))}}#status[data-pending=true]:before,body[data-loading=true] #status:before{border-radius:50%;animation:.8s linear infinite cmuxDiffPendingSpin}#status[data-error=true]{color:light-dark(#b42318,#ff8a80)}@keyframes cmuxDiffPendingSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#status[data-pending=true]:before,body[data-loading=true] #status:before{animation:none}}#comments-section{border-top:1px solid var(--cmux-diff-border);background:var(--cmux-diff-sidebar-bg);flex-direction:column;flex:none;min-height:0;max-height:40%;display:flex}#comments-header{min-height:30px;color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);align-items:center;padding:0 10px;display:flex}#comments-list{flex-direction:column;gap:4px;min-height:0;padding:0 6px 6px;display:flex;overflow-y:auto}.comments-empty{color:var(--cmux-diff-text-muted);font-size:var(--cmux-diff-ui-font-size);padding:2px 7px 6px}.comment-entry{color:var(--cmux-diff-text-subtle);font:inherit;font-size:var(--cmux-diff-ui-font-size);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;flex-direction:column;gap:2px;padding:5px 7px;display:flex}.comment-entry:hover{background:var(--cmux-diff-hover-bg)}.comment-entry-header{justify-content:space-between;align-items:center;gap:6px;display:flex}.comment-entry-location{color:var(--cmux-diff-fg);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.comment-entry-badge{background:var(--cmux-diff-muted-bg);color:var(--cmux-diff-text-muted);font-size:calc(var(--cmux-diff-ui-font-size) - 1px);border-radius:4px;flex:none;padding:0 5px}.comment-entry-message{text-overflow:ellipsis;white-space:nowrap;color:var(--cmux-diff-text-muted);overflow:hidden}.comment-composer,.comment-card{border:1px solid var(--cmux-diff-border);background:light-dark(var(--cmux-diff-bg),var(--cmux-diff-bg));border-radius:10px;flex-direction:column;gap:8px;max-width:680px;margin:8px 12px;padding:10px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.comment-composer,.comment-card{background:light-dark(color-mix(in lab,var(--cmux-diff-bg) 92%,#fff),color-mix(in lab,var(--cmux-diff-bg) 90%,#fff))}}.comment-composer,.comment-card{color:var(--cmux-diff-fg);font-family:var(--cmux-diff-ui-font-family);font-size:13px;line-height:1.45;box-shadow:0 1px 2px lab(0% none none/.1),0 2px 8px lab(0% none none/.06)}.comment-composer:focus-within{border-color:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{border-color:color-mix(in lab,var(--cmux-diff-accent) 60%,var(--cmux-diff-border))}}.comment-composer:focus-within{box-shadow:0 0 0 3px var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-composer:focus-within{box-shadow:0 0 0 3px color-mix(in lab,var(--cmux-diff-accent) 18%,transparent)}}.comment-composer-input{box-sizing:border-box;resize:none;width:100%;min-height:52px;color:var(--cmux-diff-fg);font:inherit;background:0 0;border:0;padding:0}.comment-composer-input::placeholder{color:var(--cmux-diff-text-muted)}.comment-composer-input:focus-visible{outline:none}.comment-composer-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-composer-buttons{gap:6px;display:inline-flex}.comment-button{color:var(--cmux-diff-text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:4px 12px;font-weight:500}.comment-button:hover:not(:disabled){background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-button:disabled{opacity:.5;cursor:default}.comment-button-primary{background:var(--cmux-diff-accent);color:light-dark(#fff,#08233f)}.comment-button-primary:hover:not(:disabled){background:var(--cmux-diff-accent)}@supports (color:color-mix(in lab,red,red)){.comment-button-primary:hover:not(:disabled){background:color-mix(in lab,var(--cmux-diff-accent) 86%,var(--cmux-diff-fg))}}.comment-button-primary:hover:not(:disabled){color:light-dark(#fff,#08233f)}.comment-card-header{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.comment-card-location{font-weight:500;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);color:var(--cmux-diff-text-muted)}.comment-card-actions{opacity:0;gap:2px;transition:opacity .1s;display:inline-flex}.comment-card:hover .comment-card-actions,.comment-card:focus-within .comment-card-actions{opacity:1}.comment-card-action{color:var(--cmux-diff-text-muted);font:inherit;font-size:calc(var(--cmux-diff-ui-font-size) - 1px);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:1px 6px}.comment-card-action:hover{background:var(--cmux-diff-hover-bg);color:var(--cmux-diff-fg)}.comment-card-message{white-space:pre-wrap;overflow-wrap:anywhere}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}`;function yn(){const t=document.getElementById("cmux-diff-viewer-config");if(!t?.textContent)throw new Error("Missing cmux diff viewer config");return JSON.parse(t.textContent)}function In(t){const e=yn();zt("diff",vn),$t(Re(e.payload?.appearance)),typeof e.payload?.title=="string"&&e.payload.title.trim()!==""&&(document.title=e.payload.title);const i=bt(e.payload?.labels,{assertMissing:xt()}),r=rr(e,i);document.body.dataset.filesHidden="false",Ae(r);const n=Nt(()=>s.jsx(hr,{config:e,initialStatus:r}));jt.createRoot(t).render(s.jsx(Ct,{router:n}))}export{In as mountDiffSurface}; diff --git a/Resources/markdown-viewer/webviews-app/chunks/homeSurface.mjs b/Resources/markdown-viewer/webviews-app/chunks/homeSurface.mjs new file mode 100644 index 000000000000..309b14c295f9 --- /dev/null +++ b/Resources/markdown-viewer/webviews-app/chunks/homeSurface.mjs @@ -0,0 +1 @@ +import{c as h,j as e,i as s,b as m}from"./vendor.mjs";import{i as d}from"./installWebviewStyles.mjs";const p=":root{color-scheme:light dark;--home-bg: light-dark(#f6f7f9, #111214);--home-fg: light-dark(#15171a, #f3f4f5);--home-muted: light-dark(#626973, #a9b0ba);--home-border: light-dark(rgb(0 0 0 / 12%), rgb(255 255 255 / 14%));--home-card: light-dark(rgb(255 255 255 / 82%), rgb(255 255 255 / 7%));--home-card-hover: light-dark(#fff, rgb(255 255 255 / 11%));--home-shadow: light-dark(rgb(20 26 35 / 10%), rgb(0 0 0 / 20%));--home-blue: #0a84ff;--home-green: #25a244;--home-violet: #9b5cff;--home-orange: #ff9500;background:transparent;color:var(--home-fg);font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:13px;line-height:1.4}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;background:transparent}*{box-sizing:border-box}button{font:inherit}.home-shell{min-height:100%;padding:34px 32px;display:grid;align-content:start;gap:26px;background:linear-gradient(135deg,color-mix(in lab,var(--home-blue) 10%,transparent),transparent 42%),var(--home-bg);color:var(--home-fg)}.home-header{display:flex;align-items:center;gap:14px;min-width:0}.home-mark,.home-action-icon{display:grid;place-items:center;flex:0 0 auto}.home-mark{width:48px;height:48px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#0a84ff,#14b8a6);box-shadow:0 10px 24px var(--home-shadow)}.home-mark svg{width:25px;height:25px}.home-heading{min-width:0}.home-heading h1{margin:0;font-size:28px;line-height:1.05;font-weight:720;letter-spacing:0}.home-heading p{margin:5px 0 0;color:var(--home-muted);font-size:13px;font-weight:500}.home-actions{width:min(100%,920px);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.home-action{min-height:78px;display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--home-border);border-radius:8px;background:var(--home-card);color:inherit;text-align:left;cursor:default;box-shadow:0 1px #ffffff1f inset}.home-action:hover{background:var(--home-card-hover);border-color:color-mix(in lab,var(--home-fg) 24%,transparent)}.home-action:focus-visible{outline:2px solid color-mix(in lab,var(--home-blue) 80%,white);outline-offset:2px}.home-action:disabled{opacity:.62}.home-action-icon{width:36px;height:36px;border-radius:8px}.home-action-icon svg{width:20px;height:20px}.home-action-icon-newWorkspace{color:var(--home-green);background:color-mix(in lab,var(--home-green) 16%,transparent)}.home-action-icon-newBrowser{color:var(--home-blue);background:color-mix(in lab,var(--home-blue) 16%,transparent)}.home-action-icon-commandPalette{color:var(--home-violet);background:color-mix(in lab,var(--home-violet) 16%,transparent)}.home-action-icon-settings{color:var(--home-orange);background:color-mix(in lab,var(--home-orange) 16%,transparent)}.home-action svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.home-action-copy{display:grid;min-width:0;gap:2px}.home-action-title{font-size:14px;font-weight:680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-action-subtitle{color:var(--home-muted);font-size:12px;font-weight:500}.home-error{margin:0;width:min(100%,920px);color:light-dark(#b42318,#ffb4ab);font-size:12px}@media(max-width:560px){.home-shell{padding:22px 18px}.home-actions{grid-template-columns:minmax(0,1fr)}}",x=[{id:"newWorkspace",title:"New Workspace",subtitle:"Start a terminal workspace",icon:"terminal"},{id:"newBrowser",title:"Browser",subtitle:"Open a browser workspace",icon:"browser"},{id:"commandPalette",title:"Command Palette",subtitle:"Run commands and switch workspaces",icon:"command"},{id:"settings",title:"Settings",subtitle:"Open preferences",icon:"settings"}];function g(){const t=window.webkit?.messageHandlers?.cmuxHome;return t&&typeof t.postMessage=="function"?t:null}async function f(t){const a=g();if(!a)throw new Error("Home bridge is unavailable.");const i=await a.postMessage({action:t});if(!i?.ok)throw new Error(i?.error?.code??"action_failed")}function u(){const[t,a]=s.useState(null),[i,o]=s.useState(null);async function c(r){a(r),o(null);try{await f(r)}catch(n){o(n instanceof Error?n.message:"Action failed.")}finally{a(null)}}return e.jsxs("main",{className:"home-shell","aria-label":"Home",children:[e.jsxs("section",{className:"home-header",children:[e.jsx("div",{className:"home-mark","aria-hidden":"true",children:e.jsx(l,{name:"home"})}),e.jsxs("div",{className:"home-heading",children:[e.jsx("h1",{children:"Home"}),e.jsx("p",{children:"Choose a workspace action."})]})]}),e.jsx("section",{className:"home-actions","aria-label":"Workspace actions",children:x.map(r=>e.jsxs("button",{type:"button",className:"home-action",disabled:t!=null,onClick:()=>{c(r.id)},children:[e.jsx("span",{className:`home-action-icon home-action-icon-${r.id}`,"aria-hidden":"true",children:e.jsx(l,{name:r.icon})}),e.jsxs("span",{className:"home-action-copy",children:[e.jsx("span",{className:"home-action-title",children:r.title}),e.jsx("span",{className:"home-action-subtitle",children:r.subtitle})]})]},r.id))}),i?e.jsx("p",{className:"home-error",role:"status",children:i}):null]})}function l(t){const a=m.c(5),{name:i}=t;switch(i){case"browser":{let o;return a[0]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsxs("svg",{viewBox:"0 0 20 20",focusable:"false",children:[e.jsx("circle",{cx:"10",cy:"10",r:"7"}),e.jsx("path",{d:"M3.5 10h13"}),e.jsx("path",{d:"M10 3a10 10 0 0 1 0 14"}),e.jsx("path",{d:"M10 3a10 10 0 0 0 0 14"})]}),a[0]=o):o=a[0],o}case"command":{let o;return a[1]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsx("svg",{viewBox:"0 0 20 20",focusable:"false",children:e.jsx("path",{d:"M7 7H5.5a2.5 2.5 0 1 1 2.5-2.5V7h4V4.5A2.5 2.5 0 1 1 14.5 7H13v4h1.5A2.5 2.5 0 1 1 12 13.5V12H8v1.5A2.5 2.5 0 1 1 5.5 11H7V7Z"})}),a[1]=o):o=a[1],o}case"settings":{let o;return a[2]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsxs("svg",{viewBox:"0 0 20 20",focusable:"false",children:[e.jsx("circle",{cx:"10",cy:"10",r:"2.5"}),e.jsx("path",{d:"M10 2.8v2"}),e.jsx("path",{d:"M10 15.2v2"}),e.jsx("path",{d:"m4.9 4.9 1.4 1.4"}),e.jsx("path",{d:"m13.7 13.7 1.4 1.4"}),e.jsx("path",{d:"M2.8 10h2"}),e.jsx("path",{d:"M15.2 10h2"}),e.jsx("path",{d:"m4.9 15.1 1.4-1.4"}),e.jsx("path",{d:"m13.7 6.3 1.4-1.4"})]}),a[2]=o):o=a[2],o}case"terminal":{let o;return a[3]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsxs("svg",{viewBox:"0 0 20 20",focusable:"false",children:[e.jsx("rect",{x:"3",y:"4",width:"14",height:"12",rx:"2"}),e.jsx("path",{d:"m6 8 2.5 2L6 12"}),e.jsx("path",{d:"M10 12h4"})]}),a[3]=o):o=a[3],o}default:{let o;return a[4]===Symbol.for("react.memo_cache_sentinel")?(o=e.jsxs("svg",{viewBox:"0 0 20 20",focusable:"false",children:[e.jsx("path",{d:"M3.5 9.5 10 4l6.5 5.5"}),e.jsx("path",{d:"M5 8.5V16h10V8.5"})]}),a[4]=o):o=a[4],o}}}function v(t){d("home",p),document.title="Home",h.createRoot(t).render(e.jsx(u,{}))}export{v as mountHomeSurface}; diff --git a/Resources/markdown-viewer/webviews-app/chunks/installWebviewStyles.mjs b/Resources/markdown-viewer/webviews-app/chunks/installWebviewStyles.mjs index 10955ad22a49..5f2add768caa 100644 --- a/Resources/markdown-viewer/webviews-app/chunks/installWebviewStyles.mjs +++ b/Resources/markdown-viewer/webviews-app/chunks/installWebviewStyles.mjs @@ -1 +1 @@ -import{e as u,f as a,g as i,d,O as f}from"./vendor.mjs";function l(){const t=globalThis.crypto;if(typeof t?.randomUUID=="function")return t.randomUUID();const o=t?.getRandomValues?.bind(t);if(typeof o=="function"){const e=new Uint8Array(16);return o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128,[...e].map((r,s)=>{const n=r.toString(16).padStart(2,"0");return[4,6,8,10].includes(s)?`-${n}`:n}).join("")}return`cmux-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function p(t){const o=u({component:f,notFoundComponent:t}),e=a({getParentRoute:()=>o,path:"/",component:t}),r=a({getParentRoute:()=>o,path:"/diff",component:t}),s=a({getParentRoute:()=>o,path:"/cmux-diff-viewer",component:t}),n=a({getParentRoute:()=>o,path:"/agent-session",component:t}),c=o.addChildren([e,r,s,n]);return i({history:d(),routeTree:c})}function R(t,o){const e=document.createElement("style");e.dataset.cmuxWebviewStyle=t,e.textContent=o,document.head.append(e)}export{p as c,R as i,l as m}; +function a(t,n){const e=document.createElement("style");e.dataset.cmuxWebviewStyle=t,e.textContent=n,document.head.append(e)}export{a as i}; diff --git a/Resources/markdown-viewer/webviews-app/chunks/router.mjs b/Resources/markdown-viewer/webviews-app/chunks/router.mjs new file mode 100644 index 000000000000..46888afa8c98 --- /dev/null +++ b/Resources/markdown-viewer/webviews-app/chunks/router.mjs @@ -0,0 +1 @@ +import{e as i,f as n,g as d,d as f,O as R}from"./vendor.mjs";function p(){const t=globalThis.crypto;if(typeof t?.randomUUID=="function")return t.randomUUID();const e=t?.getRandomValues?.bind(t);if(typeof e=="function"){const o=new Uint8Array(16);return e(o),o[6]=o[6]&15|64,o[8]=o[8]&63|128,[...o].map((a,c)=>{const r=a.toString(16).padStart(2,"0");return[4,6,8,10].includes(c)?`-${r}`:r}).join("")}return`cmux-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function g(t){const e=i({component:R,notFoundComponent:t}),o=n({getParentRoute:()=>e,path:"/",component:t}),a=n({getParentRoute:()=>e,path:"/diff",component:t}),c=n({getParentRoute:()=>e,path:"/cmux-diff-viewer",component:t}),r=n({getParentRoute:()=>e,path:"/agent-session",component:t}),s=n({getParentRoute:()=>e,path:"/home",component:t}),u=e.addChildren([o,a,c,r,s]);return d({history:f(),routeTree:u})}export{g as c,p as m}; diff --git a/Resources/markdown-viewer/webviews-app/home.html b/Resources/markdown-viewer/webviews-app/home.html new file mode 100644 index 000000000000..8d43897da089 --- /dev/null +++ b/Resources/markdown-viewer/webviews-app/home.html @@ -0,0 +1,12 @@ + + + + + + Home + + +
+ + + diff --git a/Resources/markdown-viewer/webviews-app/main.mjs b/Resources/markdown-viewer/webviews-app/main.mjs index fd26b46d3a98..552ddb4f033b 100644 --- a/Resources/markdown-viewer/webviews-app/main.mjs +++ b/Resources/markdown-viewer/webviews-app/main.mjs @@ -1 +1 @@ -import{_ as n}from"./chunks/vendor.mjs";function o(){return document.documentElement.dataset.cmuxWebviewKind==="agent-session"||document.body.dataset.cmuxWebviewKind==="agent-session"||document.getElementById("cmux-agent-session-config")?"agent-session":"diff"}const t=document.getElementById("root");if(!t)throw new Error("Missing cmux webview root");o()==="agent-session"?n(()=>import("./chunks/agentSessionSurface.mjs"),[]).then(e=>{e.mountAgentSessionSurface(t)}):n(()=>import("./chunks/diffSurface.mjs"),[]).then(e=>{e.mountDiffSurface(t)}); +import{_ as o}from"./chunks/vendor.mjs";function n(){return document.documentElement.dataset.cmuxWebviewKind==="home"||document.body.dataset.cmuxWebviewKind==="home"?"home":document.documentElement.dataset.cmuxWebviewKind==="agent-session"||document.body.dataset.cmuxWebviewKind==="agent-session"||document.getElementById("cmux-agent-session-config")?"agent-session":"diff"}const t=document.getElementById("root");if(!t)throw new Error("Missing cmux webview root");n()==="agent-session"?o(()=>import("./chunks/agentSessionSurface.mjs"),[]).then(e=>{e.mountAgentSessionSurface(t)}):n()==="home"?o(()=>import("./chunks/homeSurface.mjs"),[]).then(e=>{e.mountHomeSurface(t)}):o(()=>import("./chunks/diffSurface.mjs"),[]).then(e=>{e.mountDiffSurface(t)}); diff --git a/Sources/AppDelegate.swift b/Sources/AppDelegate.swift index a3911862bfdd..d31141652e88 100644 --- a/Sources/AppDelegate.swift +++ b/Sources/AppDelegate.swift @@ -6637,6 +6637,105 @@ final class AppDelegate: NSObject, NSApplicationDelegate, UNUserNotificationCent return false } + @discardableResult + func showHomeInActiveMainWindow(preferredWindow: NSWindow? = nil) -> Bool { + func showHome(_ context: MainWindowContext) -> Bool { + guard let window = resolvedWindow(for: context) else { + discardOrphanedMainWindowContext(context) + return false + } + guard BrowserAvailabilitySettings.isEnabled(), + let homeURL = Self.homeWebViewURL() else { + NSSound.beep() + return false + } + setActiveMainWindow(window) + context.sidebarSelectionState.selection = .tabs + ensureHomeWorkspace(in: context.tabManager, homeURL: homeURL) + return true + } + + if let preferredWindow, + let preferredContext = contextForMainTerminalWindow(preferredWindow), + showHome(preferredContext) { + return true + } + if let keyWindow = shortcutRoutingKeyWindow, + let keyContext = contextForMainTerminalWindow(keyWindow), + showHome(keyContext) { + return true + } + if let mainWindow = NSApp.mainWindow, + let mainContext = contextForMainTerminalWindow(mainWindow), + showHome(mainContext) { + return true + } + if let activeManager = tabManager, + let activeContext = mainWindowContexts.values.first(where: { $0.tabManager === activeManager }), + showHome(activeContext) { + return true + } + for fallbackContext in Array(mainWindowContexts.values) where showHome(fallbackContext) { + return true + } + return false + } + + private static func homeWebViewURL() -> URL? { + CmuxBundledWebViewURLSchemeHandler.homeURL() + } + + @discardableResult + func ensureHomeWorkspace(in tabManager: TabManager, homeURL: URL) -> Workspace { + let title = String(localized: "home.workspace.title", defaultValue: "Home") + let workspace = tabManager.tabs.first { workspace in + workspace.customTitle == title || workspace.title == title + } ?? tabManager.addWorkspace( + title: title, + workingDirectory: FileManager.default.homeDirectoryForCurrentUser.path, + initialSurface: .browser, + initialBrowserURL: homeURL, + initialBrowserOmnibarVisible: false, + initialBrowserTransparentBackground: true, + initialBrowserBypassRemoteProxy: true, + inheritWorkingDirectory: false, + select: false, + autoWelcomeIfNeeded: false, + autoRefreshMetadata: false + ) + workspace.setCustomTitle(title) + if !workspace.isPinned { + tabManager.setPinned(workspace, pinned: true) + } + _ = tabManager.reorderWorkspace(tabId: workspace.id, toIndex: 0) + ensureHomeBrowserSurface(in: workspace, homeURL: homeURL) + tabManager.selectedTabId = workspace.id + return workspace + } + + private func ensureHomeBrowserSurface(in workspace: Workspace, homeURL: URL) { + let browserPanel = workspace.panels.values + .compactMap { $0 as? BrowserPanel } + .first ?? workspace.bonsplitController.allPaneIds.first.flatMap { paneId in + workspace.newBrowserSurface( + inPane: paneId, + url: homeURL, + focus: true, + creationPolicy: .automationPreload, + omnibarVisible: false, + transparentBackground: true, + bypassRemoteProxy: true + ) + } + guard let browserPanel else { return } + browserPanel.setOmnibarVisible(false) + let currentURL = browserPanel.currentURLForTabDuplication ?? browserPanel.webView.url + if currentURL?.absoluteString != homeURL.absoluteString { + browserPanel.navigate(to: homeURL) + } + workspace.focusPanel(browserPanel.id) + } + @discardableResult func toggleRightSidebarInActiveMainWindow(preferredWindow: NSWindow? = nil) -> Bool { guard let context = preferredRegisteredMainWindowContext(preferredWindow: preferredWindow) else { diff --git a/Sources/ContentView.swift b/Sources/ContentView.swift index d18f384bef73..c76ce34d42d7 100644 --- a/Sources/ContentView.swift +++ b/Sources/ContentView.swift @@ -1781,7 +1781,6 @@ struct ContentView: View { let mountedWorkspaces = tabManager.tabs.filter { mountedWorkspaceIdSet.contains($0.id) } let selectedWorkspaceId = tabManager.selectedTabId let retiringWorkspaceId = self.retiringWorkspaceId - return ZStack { ZStack { ForEach(mountedWorkspaces) { tab in @@ -1795,11 +1794,12 @@ struct ContentView: View { // Allowing both selected+retiring workspaces to be input-active lets the // old workspace steal first responder (notably with WKWebView), which can // delay handoff completion and make browser returns feel laggy. + let isPanelVisible = presentation.isPanelVisible let isInputActive = isSelectedWorkspace let portalPriority = isSelectedWorkspace ? 2 : (isRetiringWorkspace ? 1 : 0) WorkspaceContentView( workspace: tab, - isWorkspaceVisible: presentation.isPanelVisible, + isWorkspaceVisible: isPanelVisible, isWorkspaceInputActive: isInputActive, isFullScreen: isFullScreen, workspacePortalPriority: portalPriority, @@ -2012,6 +2012,7 @@ struct ContentView: View { notificationStore: TerminalNotificationStore.shared, viewModel: fullscreenControlsViewModel, onToggleSidebar: { sidebarState.toggle() }, + onShowHome: showHome, onToggleNotifications: { [fullscreenControlsViewModel] in AppDelegate.shared?.toggleNotificationsPopover( animated: true, @@ -2039,6 +2040,12 @@ struct ContentView: View { .offset(y: -TitlebarControlsVisualMetrics.verticalLift) } + private func showHome() { + if AppDelegate.shared?.showHomeInActiveMainWindow(preferredWindow: observedWindow) != true { + NSSound.beep() + } + } + /// Intrinsic width of ``fullscreenControls`` for the current controls style. /// Used to reserve space in the title row so the title flows to the right of /// the controls, which are themselves mounted once in the band overlay. @@ -10635,6 +10642,11 @@ struct VerticalTabsSidebar: View { HiddenTitlebarSidebarControlsView( notificationStore: notificationStore, onToggleSidebar: onToggleSidebar, + onShowHome: { + if AppDelegate.shared?.showHomeInActiveMainWindow(preferredWindow: observedWindow) != true { + NSSound.beep() + } + }, onToggleNotifications: { anchorView in AppDelegate.shared?.toggleNotificationsPopover( animated: true, @@ -10722,11 +10734,17 @@ struct VerticalTabsSidebar: View { model === tabManager.sidebarMultiSelection, let event = SidebarMultiSelectionShouldCollapseEvent(notification) else { return } let focusedId = event.focusedWorkspaceId - let next: Set = tabManager.tabs.contains(where: { $0.id == focusedId }) ? [focusedId] : [] + let containsFocusedWorkspace = tabManager.tabs.contains { workspace in + workspace.id == focusedId + } + let next: Set = containsFocusedWorkspace ? [focusedId] : [] if selectedTabIds != next { selectedTabIds = next } - if let index = tabManager.tabs.firstIndex(where: { $0.id == focusedId }) { + let focusedIndex = tabManager.tabs.firstIndex { workspace in + workspace.id == focusedId + } + if let index = focusedIndex { lastSidebarSelectionIndex = index } } @@ -10903,6 +10921,11 @@ struct VerticalTabsSidebar: View { HiddenTitlebarSidebarControlsView( notificationStore: notificationStore, onToggleSidebar: onToggleSidebar, + onShowHome: { + if AppDelegate.shared?.showHomeInActiveMainWindow(preferredWindow: observedWindow) != true { + NSSound.beep() + } + }, onToggleNotifications: { anchorView in AppDelegate.shared?.toggleNotificationsPopover( animated: true, diff --git a/Sources/Panels/BrowserPanel.swift b/Sources/Panels/BrowserPanel.swift index 58f4ec6900a5..61adab208789 100644 --- a/Sources/Panels/BrowserPanel.swift +++ b/Sources/Panels/BrowserPanel.swift @@ -1037,6 +1037,7 @@ private let browserEmbeddedNavigationSchemes: Set = [ "applewebdata", "blob", "cmux-diff-viewer", + "cmux-webview", "data", "file", "http", @@ -3650,10 +3651,17 @@ final class BrowserPanel: Panel, ObservableObject { forURLScheme: CmuxDiffViewerURLSchemeHandler.scheme ) } + if configuration.urlSchemeHandler(forURLScheme: CmuxBundledWebViewURLSchemeHandler.scheme) == nil { + configuration.setURLSchemeHandler( + CmuxBundledWebViewURLSchemeHandler.shared, + forURLScheme: CmuxBundledWebViewURLSchemeHandler.scheme + ) + } // Review-comment persistence + TextBox attach for diff viewer pages. // The handler itself rejects every frame that is not a registered diff // viewer session, so installing it on all browser webviews is safe. DiffCommentsBridge.installIfNeeded(on: configuration.userContentController) + HomeWebViewBridge.installIfNeeded(on: configuration.userContentController) // Enable developer extras (DevTools) configuration.preferences.setValue(true, forKey: "developerExtrasEnabled") @@ -3733,6 +3741,7 @@ final class BrowserPanel: Panel, ObservableObject { private func bindWebView(_ webView: CmuxWebView) { DiffCommentsBridge.associate(panelId: id, workspaceId: workspaceId, with: webView) + HomeWebViewBridge.associate(panelId: id, workspaceId: workspaceId, with: webView) webView.onMouseBackButton = { [weak self] in self?.goBack() } diff --git a/Sources/Panels/CmuxBundledWebViewURLSchemeHandler.swift b/Sources/Panels/CmuxBundledWebViewURLSchemeHandler.swift new file mode 100644 index 000000000000..6cfd8efc22bc --- /dev/null +++ b/Sources/Panels/CmuxBundledWebViewURLSchemeHandler.swift @@ -0,0 +1,99 @@ +import Foundation +import WebKit + +final class CmuxBundledWebViewURLSchemeHandler: NSObject, WKURLSchemeHandler { + static let scheme = "cmux-webview" + static let shared = CmuxBundledWebViewURLSchemeHandler() + + private let allowedHosts: Set = ["home"] + + static func homeURL() -> URL? { + var components = URLComponents() + components.scheme = scheme + components.host = "home" + components.path = "/home.html" + return components.url + } + + func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) { + guard let requestURL = urlSchemeTask.request.url, + requestURL.scheme == Self.scheme, + let host = requestURL.host, + allowedHosts.contains(host), + let fileURL = bundledFileURL(for: requestURL), + let data = try? Data(contentsOf: fileURL) else { + urlSchemeTask.didFailWithError(NSError(domain: NSURLErrorDomain, code: NSURLErrorFileDoesNotExist)) + return + } + + let response = URLResponse( + url: requestURL, + mimeType: Self.mimeType(for: fileURL), + expectedContentLength: data.count, + textEncodingName: Self.textEncodingName(for: fileURL) + ) + urlSchemeTask.didReceive(response) + urlSchemeTask.didReceive(data) + urlSchemeTask.didFinish() + } + + func webView(_ webView: WKWebView, stop urlSchemeTask: WKURLSchemeTask) {} + + private func bundledFileURL(for requestURL: URL) -> URL? { + guard let root = Bundle.main.resourceURL? + .appendingPathComponent("markdown-viewer/webviews-app", isDirectory: true) + .standardizedFileURL + .resolvingSymlinksInPath() else { + return nil + } + + let rawPath = URLComponents(url: requestURL, resolvingAgainstBaseURL: false)?.percentEncodedPath + ?? requestURL.path + guard let decodedPath = rawPath.removingPercentEncoding else { return nil } + let relativePath = decodedPath.split(separator: "/", omittingEmptySubsequences: true).map(String.init) + guard !relativePath.isEmpty, + relativePath.allSatisfy({ !$0.isEmpty && $0 != "." && $0 != ".." }) else { + return nil + } + + let fileURL = relativePath.reduce(root) { partial, component in + partial.appendingPathComponent(component, isDirectory: false) + } + .standardizedFileURL + .resolvingSymlinksInPath() + + guard fileURL.path == root.path || fileURL.path.hasPrefix(root.path + "/") else { + return nil + } + + var isDirectory: ObjCBool = false + guard FileManager.default.fileExists(atPath: fileURL.path, isDirectory: &isDirectory), + !isDirectory.boolValue, + FileManager.default.isReadableFile(atPath: fileURL.path) else { + return nil + } + return fileURL + } + + private static func mimeType(for fileURL: URL) -> String { + switch fileURL.pathExtension.lowercased() { + case "html": return "text/html" + case "js", "mjs": return "text/javascript" + case "css": return "text/css" + case "json": return "application/json" + case "svg": return "image/svg+xml" + case "png": return "image/png" + case "jpg", "jpeg": return "image/jpeg" + default: return "application/octet-stream" + } + } + + private static func textEncodingName(for fileURL: URL) -> String? { + switch fileURL.pathExtension.lowercased() { + case "html", "js", "mjs", "css", "json", "svg": + return "utf-8" + default: + return nil + } + } +} diff --git a/Sources/Panels/HomeWebViewBridge.swift b/Sources/Panels/HomeWebViewBridge.swift new file mode 100644 index 000000000000..167432cb6b3f --- /dev/null +++ b/Sources/Panels/HomeWebViewBridge.swift @@ -0,0 +1,152 @@ +import AppKit +import Foundation +import ObjectiveC +import WebKit + +@MainActor +final class HomeWebViewBridge: NSObject, WKScriptMessageHandlerWithReply { + static let handlerName = "cmuxHome" + static let shared = HomeWebViewBridge() + + private static var handlerInstalledKey: UInt8 = 0 + private static var panelAssociationKey: UInt8 = 0 + + private final class PanelAssociation: NSObject { + let panelId: UUID + let workspaceId: UUID + + init(panelId: UUID, workspaceId: UUID) { + self.panelId = panelId + self.workspaceId = workspaceId + } + } + + private enum BridgeError: Error { + case notAllowed + case invalidRequest + case actionFailed + + var code: String { + switch self { + case .notAllowed: return "not_allowed" + case .invalidRequest: return "invalid_request" + case .actionFailed: return "action_failed" + } + } + } + + static func installIfNeeded(on userContentController: WKUserContentController) { + guard objc_getAssociatedObject(userContentController, &handlerInstalledKey) == nil else { + return + } + userContentController.addScriptMessageHandler( + shared, + contentWorld: .page, + name: handlerName + ) + objc_setAssociatedObject( + userContentController, + &handlerInstalledKey, + NSNumber(value: true), + .OBJC_ASSOCIATION_RETAIN_NONATOMIC + ) + } + + static func associate(panelId: UUID, workspaceId: UUID, with webView: WKWebView) { + objc_setAssociatedObject( + webView, + &panelAssociationKey, + PanelAssociation(panelId: panelId, workspaceId: workspaceId), + .OBJC_ASSOCIATION_RETAIN_NONATOMIC + ) + } + + func userContentController( + _ userContentController: WKUserContentController, + didReceive message: WKScriptMessage, + replyHandler: @escaping (Any?, String?) -> Void + ) { + guard Self.isTrustedHomeFrame(message.frameInfo) else { + replyHandler(Self.errorReply(.notAllowed), nil) + return + } + do { + let value = try handle(body: message.body, webView: message.webView) + replyHandler(["ok": true, "value": value], nil) + } catch let error as BridgeError { + replyHandler(Self.errorReply(error), nil) + } catch { + replyHandler(Self.errorReply(.actionFailed), nil) + } + } + + private static func errorReply(_ error: BridgeError) -> [String: Any] { + ["ok": false, "error": ["code": error.code]] + } + + static func isTrustedHomeFrame(_ frameInfo: WKFrameInfo) -> Bool { + guard frameInfo.isMainFrame, + let url = frameInfo.request.url else { + return false + } + return url.scheme == CmuxBundledWebViewURLSchemeHandler.scheme && + url.host == "home" && + url.path == "/home.html" + } + + private func handle(body: Any, webView: WKWebView?) throws -> Any { + guard let body = body as? [String: Any], + let action = body["action"] as? String else { + throw BridgeError.invalidRequest + } + guard let appDelegate = AppDelegate.shared else { + throw BridgeError.actionFailed + } + let context = webView.flatMap(Self.mainWindowContext(for:)) + let tabManager = context?.tabManager + let window = context.flatMap { appDelegate.resolvedWindow(for: $0) } + + switch action { + case "newWorkspace": + guard appDelegate.performNewWorkspaceAction( + tabManager: tabManager, + debugSource: "home.webview.newWorkspace" + ) else { + throw BridgeError.actionFailed + } + case "newBrowser": + guard appDelegate.performNewBrowserWorkspaceAction( + tabManager: tabManager, + debugSource: "home.webview.newBrowser" + ) else { + throw BridgeError.actionFailed + } + case "commandPalette": + appDelegate.requestCommandPaletteCommands( + preferredWindow: window, + source: "home.webview.commandPalette" + ) + case "settings": + appDelegate.openPreferencesWindow(debugSource: "home.webview.settings") + default: + throw BridgeError.invalidRequest + } + + return ["action": action] + } + + private static func mainWindowContext(for webView: WKWebView) -> AppDelegate.MainWindowContext? { + guard let association = objc_getAssociatedObject( + webView, + &panelAssociationKey + ) as? PanelAssociation else { + return nil + } + return AppDelegate.shared?.mainWindowContexts.values.first { context in + context.tabManager.tabs.contains { workspace in + workspace.id == association.workspaceId && + workspace.panels.keys.contains(association.panelId) + } + } + } +} diff --git a/Sources/SessionPersistence.swift b/Sources/SessionPersistence.swift index 4557c220d663..d3c2273a0b40 100644 --- a/Sources/SessionPersistence.swift +++ b/Sources/SessionPersistence.swift @@ -206,6 +206,7 @@ struct SessionDisplaySnapshot: Codable, Sendable { } enum SessionSidebarSelection: String, Codable, Sendable, Equatable { + case home case tabs case notifications @@ -220,6 +221,8 @@ enum SessionSidebarSelection: String, Codable, Sendable, Equatable { var sidebarSelection: SidebarSelection { switch self { + case .home: + return .tabs case .tabs: return .tabs case .notifications: diff --git a/Sources/TabManager.swift b/Sources/TabManager.swift index 8d546e8dd463..e27df3403ff5 100644 --- a/Sources/TabManager.swift +++ b/Sources/TabManager.swift @@ -950,6 +950,10 @@ class TabManager: ObservableObject { portOrdinal: Int, configTemplate: CmuxSurfaceConfigTemplate?, initialSurface: NewWorkspaceInitialSurface = .terminal, + initialBrowserURL: URL? = nil, + initialBrowserOmnibarVisible: Bool = true, + initialBrowserTransparentBackground: Bool = false, + initialBrowserBypassRemoteProxy: Bool = false, initialTerminalCommand: String?, initialTerminalInput: String? = nil, initialTerminalEnvironment: [String: String], @@ -961,6 +965,10 @@ class TabManager: ObservableObject { portOrdinal: portOrdinal, configTemplate: configTemplate, initialSurface: initialSurface, + initialBrowserURL: initialBrowserURL, + initialBrowserOmnibarVisible: initialBrowserOmnibarVisible, + initialBrowserTransparentBackground: initialBrowserTransparentBackground, + initialBrowserBypassRemoteProxy: initialBrowserBypassRemoteProxy, initialTerminalCommand: initialTerminalCommand, initialTerminalInput: initialTerminalInput, initialTerminalEnvironment: initialTerminalEnvironment, @@ -1039,6 +1047,10 @@ class TabManager: ObservableObject { title: String? = nil, workingDirectory overrideWorkingDirectory: String? = nil, initialSurface: NewWorkspaceInitialSurface = .terminal, + initialBrowserURL: URL? = nil, + initialBrowserOmnibarVisible: Bool = true, + initialBrowserTransparentBackground: Bool = false, + initialBrowserBypassRemoteProxy: Bool = false, initialTerminalCommand: String? = nil, initialTerminalInput: String? = nil, initialTerminalEnvironment: [String: String] = [:], @@ -1104,6 +1116,10 @@ class TabManager: ObservableObject { portOrdinal: ordinal, configTemplate: inheritedConfig, initialSurface: initialSurface, + initialBrowserURL: initialBrowserURL, + initialBrowserOmnibarVisible: initialBrowserOmnibarVisible, + initialBrowserTransparentBackground: initialBrowserTransparentBackground, + initialBrowserBypassRemoteProxy: initialBrowserBypassRemoteProxy, initialTerminalCommand: initialTerminalCommand, initialTerminalInput: initialTerminalInput, initialTerminalEnvironment: initialTerminalEnvironment, diff --git a/Sources/TerminalController.swift b/Sources/TerminalController.swift index 915b2bd88897..55cdd3b7da2e 100644 --- a/Sources/TerminalController.swift +++ b/Sources/TerminalController.swift @@ -1682,6 +1682,9 @@ class TerminalController { #if DEBUG + case "show_home": + return showHome() + case "send_workspace": return sendInputToWorkspace(args) @@ -10237,6 +10240,14 @@ class TerminalController { return "OK" } + func showHome() -> String { + var didShow = false + v2MainSync { + didShow = AppDelegate.shared?.showHomeInActiveMainWindow() == true + } + return didShow ? "OK" : "ERROR: No main window" + } + private func simulateType(_ args: String) -> String { let raw = args.trimmingCharacters(in: .whitespacesAndNewlines) guard !raw.isEmpty else { diff --git a/Sources/Update/MinimalModeSidebarControls.swift b/Sources/Update/MinimalModeSidebarControls.swift index 5af0aa8781f4..1baf8cd19c86 100644 --- a/Sources/Update/MinimalModeSidebarControls.swift +++ b/Sources/Update/MinimalModeSidebarControls.swift @@ -195,6 +195,8 @@ final class MinimalModeSidebarControlActionView: NSView { return } switch slot { + case .home: + super.rightMouseDown(with: event) case .toggleSidebar: CmuxExtensionSidebarSelection.showMenu(anchorView: self, event: event) case .newTab: diff --git a/Sources/Update/UpdateTitlebarAccessory.swift b/Sources/Update/UpdateTitlebarAccessory.swift index f1e11695e6a8..72cfd9847980 100644 --- a/Sources/Update/UpdateTitlebarAccessory.swift +++ b/Sources/Update/UpdateTitlebarAccessory.swift @@ -477,6 +477,21 @@ enum TitlebarShortcutHintActionSlot: Int, CaseIterable { } } + var titlebarControlSlot: MinimalModeSidebarControlActionSlot { + switch self { + case .toggleSidebar: + return .toggleSidebar + case .showNotifications: + return .showNotifications + case .newTab: + return .newTab + case .focusHistoryBack: + return .focusHistoryBack + case .focusHistoryForward: + return .focusHistoryForward + } + } + } enum TitlebarControlsLayoutMetrics { @@ -495,7 +510,7 @@ enum TitlebarControlsLayoutMetrics { } static func buttonRowWidth(config: TitlebarControlsStyleConfig) -> CGFloat { - let buttonCount = CGFloat(TitlebarShortcutHintActionSlot.allCases.count) + let buttonCount = CGFloat(MinimalModeSidebarControlActionSlot.allCases.count) let gapCount = max(0, buttonCount - 1) return (buttonCount * config.buttonSize) + (gapCount * config.spacing) } @@ -504,7 +519,7 @@ enum TitlebarControlsLayoutMetrics { for slot: TitlebarShortcutHintActionSlot, config: TitlebarControlsStyleConfig ) -> CGFloat { - let index = CGFloat(slot.rawValue) + let index = CGFloat(slot.titlebarControlSlot.rawValue) return config.groupPadding.leading + (index * (config.buttonSize + config.spacing)) + (config.buttonSize / 2.0) @@ -812,6 +827,7 @@ struct TitlebarControlsView: View { @ObservedObject var notificationStore: TerminalNotificationStore @ObservedObject var viewModel: TitlebarControlsViewModel let onToggleSidebar: () -> Void + let onShowHome: () -> Void let onToggleNotifications: () -> Void let onNewTab: () -> Void let onFocusHistoryBack: () -> Void @@ -1017,6 +1033,21 @@ struct TitlebarControlsView: View { } .safeHelp(KeyboardShortcutSettings.Action.newTab.tooltip(String(localized: "titlebar.newWorkspace.tooltip", defaultValue: "New workspace"))) + TitlebarControlButton( + config: config, + foregroundColor: foregroundColor, + accessibilityIdentifier: "titlebarControl.home", + accessibilityLabel: String(localized: "titlebar.home.accessibilityLabel", defaultValue: "Home"), + action: { + #if DEBUG + cmuxDebugLog("titlebar.home") + #endif + onShowHome() + }) { + iconLabel(systemName: "house", config: config, iconGeometryKeyPrefix: "titlebarControl_homeIcon") + } + .safeHelp(String(localized: "titlebar.home.tooltip", defaultValue: "Show Home")) + TitlebarControlButton( config: config, foregroundColor: foregroundColor, @@ -1335,6 +1366,7 @@ private struct MinimalModeTitlebarButtonHitRegionView: NSViewRepresentable { struct HiddenTitlebarSidebarControlsView: View { @ObservedObject var notificationStore: TerminalNotificationStore let onToggleSidebar: () -> Void + let onShowHome: () -> Void let onToggleNotifications: (NSView?) -> Void let onNewTab: () -> Void let onFocusHistoryBack: () -> Void @@ -1387,6 +1419,7 @@ struct HiddenTitlebarSidebarControlsView: View { notificationStore: notificationStore, viewModel: viewModel, onToggleSidebar: onToggleSidebar, + onShowHome: onShowHome, onToggleNotifications: { [viewModel] in onToggleNotifications(viewModel.notificationsAnchorView) }, @@ -1416,6 +1449,8 @@ struct HiddenTitlebarSidebarControlsView: View { requiresRevealedState: true ) { slot, anchorView, _ in switch slot { + case .home: + onShowHome() case .toggleSidebar: onToggleSidebar() case .showNotifications: @@ -1753,6 +1788,9 @@ final class TitlebarControlsAccessoryViewController: NSTitlebarAccessoryViewCont let toggleSidebar = { [weak containerView] in _ = AppDelegate.shared?.toggleSidebarInActiveMainWindow(preferredWindow: containerView?.window) } + let showHome = { [weak containerView] in + _ = AppDelegate.shared?.showHomeInActiveMainWindow(preferredWindow: containerView?.window) + } let toggleNotifications: () -> Void = { [weak containerView] in _ = AppDelegate.shared?.toggleNotificationsPopover(animated: true, anchorView: containerView) } @@ -1767,6 +1805,7 @@ final class TitlebarControlsAccessoryViewController: NSTitlebarAccessoryViewCont notificationStore: notificationStore, viewModel: viewModel, onToggleSidebar: toggleSidebar, + onShowHome: showHome, onToggleNotifications: toggleNotifications, onNewTab: newTab, onFocusHistoryBack: focusHistoryBack, diff --git a/Sources/WindowDecorationsController.swift b/Sources/WindowDecorationsController.swift index f3495791f60e..7dcd7cdbbe3e 100644 --- a/Sources/WindowDecorationsController.swift +++ b/Sources/WindowDecorationsController.swift @@ -337,6 +337,8 @@ final class WindowDecorationsController { Task { @MainActor [weak window] in guard let window else { return } switch slot { + case .home: + _ = AppDelegate.shared?.showHomeInActiveMainWindow(preferredWindow: window) case .toggleSidebar: _ = AppDelegate.shared?.toggleSidebarInActiveMainWindow(preferredWindow: window) case .showNotifications: diff --git a/Sources/WindowDragHandleView.swift b/Sources/WindowDragHandleView.swift index db56bdf160a6..12db5914652f 100644 --- a/Sources/WindowDragHandleView.swift +++ b/Sources/WindowDragHandleView.swift @@ -703,7 +703,7 @@ enum MinimalModeSidebarTitlebarControlsMetrics { MinimalModeTitlebarDebugSettings.leftControlsTopInset(defaults: defaults) } - static let hostWidth: CGFloat = 164 + static let hostWidth: CGFloat = 194 static let hostHeight: CGFloat = 28 static let singleButtonHostWidth: CGFloat = hostHeight @@ -808,11 +808,14 @@ enum MinimalModeSidebarControlActionSlot: Int, CaseIterable { case toggleSidebar case showNotifications case newTab + case home case focusHistoryBack case focusHistoryForward var accessibilityIdentifier: String { switch self { + case .home: + return "titlebarControl.home" case .toggleSidebar: return "titlebarControl.toggleSidebar" case .showNotifications: @@ -828,6 +831,8 @@ enum MinimalModeSidebarControlActionSlot: Int, CaseIterable { var accessibilityLabel: String { switch self { + case .home: + return String(localized: "titlebar.home.accessibilityLabel", defaultValue: "Home") case .toggleSidebar: return String(localized: "titlebar.sidebar.accessibilityLabel", defaultValue: "Toggle Sidebar") case .showNotifications: @@ -843,6 +848,8 @@ enum MinimalModeSidebarControlActionSlot: Int, CaseIterable { var debugName: String { switch self { + case .home: + return "home" case .toggleSidebar: return "toggleSidebar" case .showNotifications: @@ -858,7 +865,7 @@ enum MinimalModeSidebarControlActionSlot: Int, CaseIterable { var acceptsContextMenu: Bool { switch self { - case .toggleSidebar, .newTab, .focusHistoryBack, .focusHistoryForward: + case .home, .toggleSidebar, .newTab, .focusHistoryBack, .focusHistoryForward: return true case .showNotifications: return false diff --git a/Sources/Workspace.swift b/Sources/Workspace.swift index 548c19136bbd..5e4bb4c779bb 100644 --- a/Sources/Workspace.swift +++ b/Sources/Workspace.swift @@ -2985,6 +2985,10 @@ final class Workspace: Identifiable, ObservableObject { portOrdinal: Int = 0, configTemplate: CmuxSurfaceConfigTemplate? = nil, initialSurface: NewWorkspaceInitialSurface = .terminal, + initialBrowserURL: URL? = nil, + initialBrowserOmnibarVisible: Bool = true, + initialBrowserTransparentBackground: Bool = false, + initialBrowserBypassRemoteProxy: Bool = false, initialTerminalCommand: String? = nil, initialTerminalInput: String? = nil, initialTerminalEnvironment: [String: String] = [:], @@ -3066,7 +3070,14 @@ final class Workspace: Identifiable, ObservableObject { // wiring `attachDetachedSurface` performs for reattached panels. let browserPanel = BrowserPanel( workspaceId: id, - profileID: resolvedNewBrowserProfileID() + profileID: resolvedNewBrowserProfileID(), + initialURL: initialBrowserURL, + omnibarVisible: initialBrowserOmnibarVisible, + transparentBackground: initialBrowserTransparentBackground, + proxyEndpoint: remoteProxyEndpoint, + bypassRemoteProxy: initialBrowserBypassRemoteProxy, + isRemoteWorkspace: isRemoteWorkspace, + remoteWebsiteDataStoreIdentifier: isRemoteWorkspace ? id : nil ) configureBrowserPanel(browserPanel) panels[browserPanel.id] = browserPanel @@ -3074,7 +3085,9 @@ final class Workspace: Identifiable, ObservableObject { // Land the first activation in the address bar so a URL can be // typed immediately; BrowserPanelView consumes the pending request // when the surface first appears. - _ = browserPanel.requestAddressBarFocus(selectionIntent: .selectAll) + if initialBrowserOmnibarVisible { + _ = browserPanel.requestAddressBarFocus(selectionIntent: .selectAll) + } if let tabId = bonsplitController.createTab( title: browserPanel.displayTitle, diff --git a/cmux.xcodeproj/project.pbxproj b/cmux.xcodeproj/project.pbxproj index 9fd2ea173f08..b713fa388113 100644 --- a/cmux.xcodeproj/project.pbxproj +++ b/cmux.xcodeproj/project.pbxproj @@ -233,6 +233,7 @@ 5EDB6027B346C46521A93C74 /* CMUXAuthCore in Frameworks */ = {isa = PBXBuildFile; productRef = 29813FE5A6CBC1019289A251 /* CMUXAuthCore */; }; 53750003A0B1C2D3E4F50003 /* CmuxAuthRuntime in Frameworks */ = {isa = PBXBuildFile; productRef = 53750002A0B1C2D3E4F50002 /* CmuxAuthRuntime */; }; E3B7A30000000000000000C3 /* CmuxBrowser in Frameworks */ = {isa = PBXBuildFile; productRef = E3B7A30000000000000000C2 /* CmuxBrowser */; }; + D1FFC0DE000000000000B006 /* CmuxBundledWebViewURLSchemeHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1FFC0DE000000000000B005 /* CmuxBundledWebViewURLSchemeHandler.swift */; }; CA52A003CA52A003CA52A003 /* CmuxCanvas in Frameworks */ = {isa = PBXBuildFile; productRef = CA52A005CA52A005CA52A005 /* CmuxCanvas */; }; CA52A007CA52A007CA52A007 /* CmuxCanvas in Frameworks */ = {isa = PBXBuildFile; productRef = CA52A005CA52A005CA52A005 /* CmuxCanvas */; }; CA53A003CA53A003CA53A003 /* CmuxCanvasUI in Frameworks */ = {isa = PBXBuildFile; productRef = CA53A005CA53A005CA53A005 /* CmuxCanvasUI */; }; @@ -529,6 +530,7 @@ C0DE34020000000000000005 /* HelpMenuUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DE34020000000000000006 /* HelpMenuUITests.swift */; }; F5320000A1B2C3D4E5F60718 /* HermesAgentIndex.swift in Sources */ = {isa = PBXBuildFile; fileRef = F5320001A1B2C3D4E5F60718 /* HermesAgentIndex.swift */; }; 4931A11B0000000000000002 /* HiddenRightSidebarContentMountingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4931A11B0000000000000001 /* HiddenRightSidebarContentMountingTests.swift */; }; + D1FFC0DE000000000000B004 /* HomeWebViewBridge.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1FFC0DE000000000000B003 /* HomeWebViewBridge.swift */; }; CD0CFE6000000000CD0CFE60 /* HostAccountFlow.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0CFE6100000000CD0CFE61 /* HostAccountFlow.swift */; }; CD0CFE6200000000CD0CFE62 /* HostSettingsActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD0CFE6300000000CD0CFE63 /* HostSettingsActions.swift */; }; F1C1AA21B7E84D10A1C10001 /* InactivePaneFirstClickFocusTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = F1C1AA20B7E84D10A1C10001 /* InactivePaneFirstClickFocusTests.swift */; }; @@ -1395,6 +1397,7 @@ E3309A08 /* cmuxApp+EqualizeSplitsMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "cmuxApp+EqualizeSplitsMenu.swift"; sourceTree = ""; }; C4160A010000000000000002 /* cmuxApp+HistoryMenu.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "cmuxApp+HistoryMenu.swift"; sourceTree = ""; }; A5001011 /* cmuxApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = cmuxApp.swift; sourceTree = ""; }; + D1FFC0DE000000000000B005 /* CmuxBundledWebViewURLSchemeHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Panels/CmuxBundledWebViewURLSchemeHandler.swift; sourceTree = ""; }; B9000062A1B2C3D4E5F60719 /* CMUXCLI+AgentHookDefinitions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+AgentHookDefinitions.swift"; sourceTree = ""; }; 5257257034CA4729B1211170 /* CMUXCLI+AgentHookPayload.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+AgentHookPayload.swift"; sourceTree = ""; }; B9000069A1B2C3D4E5F60719 /* CMUXCLI+AmpExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CMUXCLI+AmpExtension.swift"; sourceTree = ""; }; @@ -1647,6 +1650,7 @@ C0DE34020000000000000006 /* HelpMenuUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HelpMenuUITests.swift; sourceTree = ""; }; F5320001A1B2C3D4E5F60718 /* HermesAgentIndex.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HermesAgentIndex.swift; sourceTree = ""; }; 4931A11B0000000000000001 /* HiddenRightSidebarContentMountingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HiddenRightSidebarContentMountingTests.swift; sourceTree = ""; }; + D1FFC0DE000000000000B003 /* HomeWebViewBridge.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Panels/HomeWebViewBridge.swift; sourceTree = ""; }; CD0CFE6100000000CD0CFE61 /* HostAccountFlow.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HostAccountFlow.swift; sourceTree = ""; }; CD0CFE6300000000CD0CFE63 /* HostSettingsActions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = HostSettingsActions.swift; sourceTree = ""; }; F1C1AA20B7E84D10A1C10001 /* InactivePaneFirstClickFocusTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InactivePaneFirstClickFocusTests.swift; sourceTree = ""; }; @@ -2861,6 +2865,8 @@ A9F100000000000000000012 /* AgentSessionWebHostGeometryState.swift */, A9F100000000000000000013 /* AgentSessionWebRendererCoordinator.swift */, D1FFC0DE000000000000B001 /* DiffCommentsBridge.swift */, + D1FFC0DE000000000000B005 /* CmuxBundledWebViewURLSchemeHandler.swift */, + D1FFC0DE000000000000B003 /* HomeWebViewBridge.swift */, A9F100000000000000000014 /* AgentSessionWebView.swift */, A9F100000000000000000015 /* ClaudeStreamJSONAccumulator.swift */, A9F100000000000000000016 /* CodexAppServerQueuedInput.swift */, @@ -3990,6 +3996,7 @@ E3309A07 /* cmuxApp+EqualizeSplitsMenu.swift in Sources */, C4160A010000000000000001 /* cmuxApp+HistoryMenu.swift in Sources */, A5001001 /* cmuxApp.swift in Sources */, + D1FFC0DE000000000000B006 /* CmuxBundledWebViewURLSchemeHandler.swift in Sources */, A72C9F4179B54DF38E99A021 /* CmuxCLIPathInstaller.swift in Sources */, A5001650 /* CmuxConfig.swift in Sources */, A5001652 /* CmuxConfigExecutor.swift in Sources */, @@ -4133,6 +4140,7 @@ 3865A0073865A0073865A007 /* GlobalSearchDocuments.swift in Sources */, 3865A0083865A0083865A008 /* GlobalSearchPanelCaptureManager.swift in Sources */, F5320000A1B2C3D4E5F60718 /* HermesAgentIndex.swift in Sources */, + D1FFC0DE000000000000B004 /* HomeWebViewBridge.swift in Sources */, CD0CFE6000000000CD0CFE60 /* HostAccountFlow.swift in Sources */, CD0CFE6200000000CD0CFE62 /* HostSettingsActions.swift in Sources */, 4D8B37E0E11A29997632765F /* InternalTabDragConfiguration.swift in Sources */, diff --git a/scripts/build-webviews-app.sh b/scripts/build-webviews-app.sh index bdc76ff310e9..c39781429340 100755 --- a/scripts/build-webviews-app.sh +++ b/scripts/build-webviews-app.sh @@ -31,13 +31,31 @@ write_agent_session_html() { } > "$out_dir/agent-session.html" } +write_home_html() { + out_dir="$1" + { + printf '\n' + printf '\n' + printf ' \n' + printf ' \n' + printf ' \n' + printf ' Home\n' + printf ' \n' + printf ' \n' + printf '
\n' + printf ' \n' + printf ' \n' + printf '\n' + } > "$out_dir/home.html" +} + strip_trailing_line_whitespace() { /usr/bin/perl -0pi -e 's/[ \t]+(?=\r?\n)//g; s/[ \t]+\z//' "$@" } normalize_webviews_output() { out_dir="$1" - strip_trailing_line_whitespace "$out_dir/main.mjs" "$out_dir/agent-session.html" + strip_trailing_line_whitespace "$out_dir/main.mjs" "$out_dir/agent-session.html" "$out_dir/home.html" } if [ "${1:-}" = "--check" ]; then @@ -48,6 +66,7 @@ if [ "${1:-}" = "--check" ]; then bun install --frozen-lockfile CMUX_WEBVIEWS_OUT_DIR="$tmp_dir" bun run build write_agent_session_html "$tmp_dir" + write_home_html "$tmp_dir" normalize_webviews_output "$tmp_dir" ) diff_output="$(mktemp)" @@ -75,4 +94,5 @@ fi bun run build ) write_agent_session_html "$OUT_DIR" +write_home_html "$OUT_DIR" normalize_webviews_output "$OUT_DIR" diff --git a/webviews/src/agent-session/shared/bridge.ts b/webviews/src/agent-session/shared/bridge.ts index c89d9a900880..454404723fad 100644 --- a/webviews/src/agent-session/shared/bridge.ts +++ b/webviews/src/agent-session/shared/bridge.ts @@ -19,6 +19,9 @@ declare global { agentSession?: { postMessage(message: unknown): Promise>; }; + cmuxHome?: { + postMessage(message: unknown): Promise>; + }; }; }; } diff --git a/webviews/src/home.css b/webviews/src/home.css new file mode 100644 index 000000000000..9a63db3c6c83 --- /dev/null +++ b/webviews/src/home.css @@ -0,0 +1,208 @@ +:root { + color-scheme: light dark; + --home-bg: light-dark(#f6f7f9, #111214); + --home-fg: light-dark(#15171a, #f3f4f5); + --home-muted: light-dark(#626973, #a9b0ba); + --home-border: light-dark(rgb(0 0 0 / 12%), rgb(255 255 255 / 14%)); + --home-card: light-dark(rgb(255 255 255 / 82%), rgb(255 255 255 / 7%)); + --home-card-hover: light-dark(#fff, rgb(255 255 255 / 11%)); + --home-shadow: light-dark(rgb(20 26 35 / 10%), rgb(0 0 0 / 20%)); + --home-blue: #0a84ff; + --home-green: #25a244; + --home-violet: #9b5cff; + --home-orange: #ff9500; + background: transparent; + color: var(--home-fg); + font-family: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif; + font-size: 13px; + line-height: 1.4; +} + +html, +body, +#root { + width: 100%; + height: 100%; + margin: 0; + overflow: hidden; + background: transparent; +} + +* { + box-sizing: border-box; +} + +button { + font: inherit; +} + +.home-shell { + min-height: 100%; + padding: 34px 32px; + display: grid; + align-content: start; + gap: 26px; + background: + linear-gradient(135deg, color-mix(in lab, var(--home-blue) 10%, transparent), transparent 42%), + var(--home-bg); + color: var(--home-fg); +} + +.home-header { + display: flex; + align-items: center; + gap: 14px; + min-width: 0; +} + +.home-mark, +.home-action-icon { + display: grid; + place-items: center; + flex: 0 0 auto; +} + +.home-mark { + width: 48px; + height: 48px; + border-radius: 8px; + color: #fff; + background: linear-gradient(135deg, #0a84ff, #14b8a6); + box-shadow: 0 10px 24px var(--home-shadow); +} + +.home-mark svg { + width: 25px; + height: 25px; +} + +.home-heading { + min-width: 0; +} + +.home-heading h1 { + margin: 0; + font-size: 28px; + line-height: 1.05; + font-weight: 720; + letter-spacing: 0; +} + +.home-heading p { + margin: 5px 0 0; + color: var(--home-muted); + font-size: 13px; + font-weight: 500; +} + +.home-actions { + width: min(100%, 920px); + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 12px; +} + +.home-action { + min-height: 78px; + display: flex; + align-items: center; + gap: 12px; + padding: 14px; + border: 1px solid var(--home-border); + border-radius: 8px; + background: var(--home-card); + color: inherit; + text-align: left; + cursor: default; + box-shadow: 0 1px 0 rgb(255 255 255 / 12%) inset; +} + +.home-action:hover { + background: var(--home-card-hover); + border-color: color-mix(in lab, var(--home-fg) 24%, transparent); +} + +.home-action:focus-visible { + outline: 2px solid color-mix(in lab, var(--home-blue) 80%, white); + outline-offset: 2px; +} + +.home-action:disabled { + opacity: 0.62; +} + +.home-action-icon { + width: 36px; + height: 36px; + border-radius: 8px; +} + +.home-action-icon svg { + width: 20px; + height: 20px; +} + +.home-action-icon-newWorkspace { + color: var(--home-green); + background: color-mix(in lab, var(--home-green) 16%, transparent); +} + +.home-action-icon-newBrowser { + color: var(--home-blue); + background: color-mix(in lab, var(--home-blue) 16%, transparent); +} + +.home-action-icon-commandPalette { + color: var(--home-violet); + background: color-mix(in lab, var(--home-violet) 16%, transparent); +} + +.home-action-icon-settings { + color: var(--home-orange); + background: color-mix(in lab, var(--home-orange) 16%, transparent); +} + +.home-action svg { + fill: none; + stroke: currentColor; + stroke-width: 1.75; + stroke-linecap: round; + stroke-linejoin: round; +} + +.home-action-copy { + display: grid; + min-width: 0; + gap: 2px; +} + +.home-action-title { + font-size: 14px; + font-weight: 680; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.home-action-subtitle { + color: var(--home-muted); + font-size: 12px; + font-weight: 500; +} + +.home-error { + margin: 0; + width: min(100%, 920px); + color: light-dark(#b42318, #ffb4ab); + font-size: 12px; +} + +@media (max-width: 560px) { + .home-shell { + padding: 22px 18px; + } + + .home-actions { + grid-template-columns: minmax(0, 1fr); + } +} diff --git a/webviews/src/main.tsx b/webviews/src/main.tsx index 29cfc5836967..0f42354d8b0e 100644 --- a/webviews/src/main.tsx +++ b/webviews/src/main.tsx @@ -1,6 +1,12 @@ -type WebviewKind = "agent-session" | "diff"; +type WebviewKind = "agent-session" | "diff" | "home"; function resolveWebviewKind(): WebviewKind { + if ( + document.documentElement.dataset.cmuxWebviewKind === "home" || + document.body.dataset.cmuxWebviewKind === "home" + ) { + return "home"; + } if ( document.documentElement.dataset.cmuxWebviewKind === "agent-session" || document.body.dataset.cmuxWebviewKind === "agent-session" || @@ -24,6 +30,10 @@ if (resolveWebviewKind() === "agent-session") { void import("./surfaces/agentSessionSurface").then((surface) => { surface.mountAgentSessionSurface(rootElement); }); +} else if (resolveWebviewKind() === "home") { + void import("./surfaces/homeSurface").then((surface) => { + surface.mountHomeSurface(rootElement); + }); } else { void import("./surfaces/diffSurface").then((surface) => { surface.mountDiffSurface(rootElement); diff --git a/webviews/src/router.tsx b/webviews/src/router.tsx index 18d915f2ef19..2f8d310bd540 100644 --- a/webviews/src/router.tsx +++ b/webviews/src/router.tsx @@ -34,11 +34,17 @@ export function createWebviewsRouter(WebviewComponent: WebviewRouteComponent) { path: "/agent-session", component: WebviewComponent, }); + const homeRoute = createRoute({ + getParentRoute: () => rootRoute, + path: "/home", + component: WebviewComponent, + }); const routeTree = rootRoute.addChildren([ indexRoute, diffRoute, generatedDiffRoute, agentSessionRoute, + homeRoute, ]); return createRouter({ history: createHashHistory(), diff --git a/webviews/src/surfaces/homeSurface.tsx b/webviews/src/surfaces/homeSurface.tsx new file mode 100644 index 000000000000..d0c74406d1c4 --- /dev/null +++ b/webviews/src/surfaces/homeSurface.tsx @@ -0,0 +1,162 @@ +import { createRoot } from "react-dom/client"; +import * as React from "react"; +import homeStyles from "../home.css?inline"; +import { installWebviewStyles } from "./installWebviewStyles"; + +type HomeAction = "newWorkspace" | "newBrowser" | "commandPalette" | "settings"; + +const actions: Array<{ + id: HomeAction; + title: string; + subtitle: string; + icon: string; +}> = [ + { + id: "newWorkspace", + title: "New Workspace", + subtitle: "Start a terminal workspace", + icon: "terminal", + }, + { + id: "newBrowser", + title: "Browser", + subtitle: "Open a browser workspace", + icon: "browser", + }, + { + id: "commandPalette", + title: "Command Palette", + subtitle: "Run commands and switch workspaces", + icon: "command", + }, + { + id: "settings", + title: "Settings", + subtitle: "Open preferences", + icon: "settings", + }, +]; + +function nativeHandler() { + const handler = window.webkit?.messageHandlers?.cmuxHome; + return handler && typeof handler.postMessage === "function" ? handler : null; +} + +async function runHomeAction(action: HomeAction): Promise { + const handler = nativeHandler(); + if (!handler) { + throw new Error("Home bridge is unavailable."); + } + const reply = await handler.postMessage({ action }); + if (!reply?.ok) { + throw new Error(reply?.error?.code ?? "action_failed"); + } +} + +function HomeSurface() { + const [pendingAction, setPendingAction] = React.useState(null); + const [error, setError] = React.useState(null); + + async function handleAction(action: HomeAction) { + setPendingAction(action); + setError(null); + try { + await runHomeAction(action); + } catch (err) { + setError(err instanceof Error ? err.message : "Action failed."); + } finally { + setPendingAction(null); + } + } + + return ( +
+
+ +
+

Home

+

Choose a workspace action.

+
+
+ +
+ {actions.map((action) => ( + + ))} +
+ + {error ?

{error}

: null} +
+ ); +} + +function HomeGlyph({ name }: { name: string }) { + switch (name) { + case "browser": + return ( + + + + + + + ); + case "command": + return ( + + + + ); + case "settings": + return ( + + + + + + + + + + + + ); + case "terminal": + return ( + + + + + + ); + default: + return ( + + + + + ); + } +} + +export function mountHomeSurface(rootElement: HTMLElement): void { + installWebviewStyles("home", homeStyles); + document.title = "Home"; + createRoot(rootElement).render(); +}