@qredence/fleet 0.10.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/bin/prime-runtime.d.mts +19 -0
- package/bin/prime-runtime.mjs +42 -5
- package/dist/web/client/assets/{index-Cf8tRpHL.js → index-CEZTSuLf.js} +2 -2
- package/dist/web/client/assets/{routes--tnF7d6H.js → routes-EKRITFZz.js} +1 -1
- package/dist/web/client/bundle-budget.json +2 -2
- package/dist/web/server/{_tanstack-start-manifest_v-Io433TLr-YWPNQWQI.js → _tanstack-start-manifest_v-BiMhF9NX-QUZEGAB6.js} +4 -4
- package/dist/web/server/{artifacts-panel-cYqS54cM-K6SF3K6W.js → artifacts-panel-BNiaRF83-HDC6VQ66.js} +3 -3
- package/dist/web/server/{chat-command-palette-BDnwcymZ-DSTFIAOD.js → chat-command-palette-CT9aJAWG-LV26BDEW.js} +2 -2
- package/dist/web/server/{chunk-NSFKPEFI.js → chunk-27J2LPAW.js} +2 -2
- package/dist/web/server/{chunk-37EK2TYH.js → chunk-3CU2ITG7.js} +16 -16
- package/dist/web/server/{chunk-FI3UF2GW.js → chunk-3R7XCOWI.js} +3 -3
- package/dist/web/server/{chunk-RHJEOG37.js → chunk-4TKPOOIG.js} +4 -4
- package/dist/web/server/{chunk-2OC2FKHR.js → chunk-4YQ7RBB7.js} +3 -3
- package/dist/web/server/{chunk-W7GGECTL.js → chunk-5XRESJQR.js} +3 -3
- package/dist/web/server/{chunk-W2GI7NRX.js → chunk-LEZMRXSP.js} +42 -37
- package/dist/web/server/{create-project-dialog-BS5Sva46-BO4RLW2Q.js → create-project-dialog-EwieT1Vw-X5MYQSZM.js} +2 -2
- package/dist/web/server/{openui-renderer-Q31y65CQ-QNVSP4NN.js → openui-renderer-DCkg_JoD-4QCKSVY5.js} +2 -2
- package/dist/web/server/{resources-panel-CH8sG0Od-4BZN6SLY.js → resources-panel-s0mgyvgQ-FVMBBLJJ.js} +3 -3
- package/dist/web/server/{router-8EzTM9Eq-COVGJKKX.js → router-DXxChQOI-B7VVEX3H.js} +1 -1
- package/dist/web/server/{routes-88H0fiN3-WIAZJ3RT.js → routes-D-g2ILNg-LDYCQ4NU.js} +1 -1
- package/dist/web/server/server.js +2 -2
- package/dist/web/server/{session-activity-panel-CgSOde03-B5RCAGB4.js → session-activity-panel-wC0jAJvs-QAHJXPAM.js} +3 -3
- package/dist/web/server/{session-reasoning-panel-Dmny6YTk-D3HQV2YB.js → session-reasoning-panel-B_K8YgF5-AQPMFM3Y.js} +2 -2
- package/dist/web/server/{session-tool-renderer-BrnTO2w3-V6EE6AB2.js → session-tool-renderer-D96BACVh-CH5CV3TS.js} +2 -2
- package/dist/web/server/{session-tree-panel-BEqR_cAJ-TZS7VRCB.js → session-tree-panel-CZGXNZIP-FBB3XGMN.js} +2 -2
- package/dist/web/server/{settings-dialog-DkesVBrS-BAAA3YNU.js → settings-dialog-BrjqiTVe-H7WOTB4I.js} +3 -3
- package/dist/web/server/{subagent-chat-panel-Bfmt1bCE-DKDVH3NJ.js → subagent-chat-panel-Dz62jo_m-X4ZRN5KI.js} +5 -5
- package/dist/web/server/{subagents-panel-ChJDDvad-GNCHDTPB.js → subagents-panel-CwpbzJJz-N3ISHODM.js} +5 -5
- package/dist/web/server/{workspace-panel-Cij_JylD-WPYSV5FA.js → workspace-panel-C7akv5b9-XUKEHPOP.js} +3 -3
- package/package.json +1 -1
|
@@ -11,4 +11,4 @@ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./react-Cvdyeg_
|
|
|
11
11
|
|
|
12
12
|
`)}function Fc({appendLocalMessage:e,getMessages:t,getSessionMetadata:n,modelKey:i,models:a,onForkPicker:o,openSettings:s,onOpenUIRequest:c,resumeSession:l,sessions:u,setEffortPickerOpen:d,setModelKey:f,setModelPickerOpen:p,setThinkingLevel:m,startNewSession:h,takeCachedIntent:g}){let _=r(),v=(0,X.useCallback)(async(e,t=``)=>{let r=Ec(n());if(!r)return{ok:!1,error:`No active session — start a new one first.`};try{let n=await fetch(wc,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({sessionId:r,command:e,args:t})});if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();typeof t.message==`string`&&(e=t.message)}catch{}return{ok:!1,error:e}}return{ok:!0,payload:await n.json()}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}},[n]),y=(0,X.useCallback)(async(t,n,r)=>{let i=await t;if(!i.ok){e(`${n} failed: ${i.error}`);return}let a={newSessionId:typeof i.payload.newSessionId==`string`?i.payload.newSessionId:`?`,selectedText:typeof i.payload.selectedText==`string`?i.payload.selectedText:`(none)`};if(fi.success(r(a)),a.newSessionId!==`?`){await l({sessionId:a.newSessionId});return}e(r(a))},[e,l]),b=(0,X.useCallback)(r=>{switch(r.type){case`open-model-picker`:return r.modelKey&&a.some(e=>e.id===r.modelKey)?(f(r.modelKey),fi.success(`Model set to ${r.modelKey}`),!0):(d(!1),p(!0),!0);case`open-effort-picker`:return r.unknownLevel&&fi.error(`Unknown thinking level '${r.unknownLevel}'.`),p(!1),d(!0),!0;case`set-thinking-level`:{let e=a.find(e=>e.id===i),t=Vn(e);return t.includes(r.level)?(m(r.level),fi.success(`Effort set to ${zn(r.level)}`),!0):(fi.error(`Unknown thinking level '${r.level}'. Available: ${t.join(`, `)}`),p(!1),d(!0),!0)}case`open-settings`:return s(r.tab),!0;case`new-session`:return fs(async()=>h()),!0;case`openui-request`:return r.request?(c(r.request),!0):(e(`Usage: /openui <request>`),!0);case`session-info`:return(async()=>{let t=Ec(n()),r=await v(`session`);if(!r.ok||!t){e(Dc({sessionId:t??`none`,name:null}));return}e(Dc({sessionId:t,name:typeof r.payload.name==`string`?r.payload.name:null}))})(),!0;case`session-rename`:return r.name?((async()=>{let t=await v(`name`,r.name??``);e(t.ok?`Session renamed to "${r.name}".`:`Couldn't rename session: ${t.error}`)})(),!0):(e(`Usage: /name <display name>`),!0);case`session-context`:return(async()=>{let t=await v(`context`);if(!t.ok){e(`Couldn't load context: ${t.error}`);return}let n=t.payload.usage;if(!n){e(`Context usage isn't available yet — no model response on this branch.`);return}let{tokens:r,contextWindow:i,percent:a}=n;e(`Context usage: ~${r??`?`}/${i??`?`} tokens${typeof a==`number`?` (${a.toFixed(1)}%)`:``}`)})(),!0;case`session-system-prompt`:return(async()=>{let t=await v(`system-prompt`);if(!t.ok){e(`Couldn't load system prompt: ${t.error}`);return}e(typeof t.payload.systemPrompt==`string`?t.payload.systemPrompt:`(empty)`)})(),!0;case`session-logs`:return e("Daemon and client logs live at `~/.prime/agent/log/`. Use your OS's log viewer or `tail -f` there (TUI parity with /logs)."),!0;case`session-export`:return(async()=>{let t=await v(`export`,r.outputPath??``);if(!t.ok){e(`Export failed: ${t.error}`);return}e(`Session exported to ${typeof t.payload.path==`string`?t.payload.path:`(unknown path)`} (${typeof t.payload.format==`string`?t.payload.format:`html`})`)})(),!0;case`session-fork`:return r.args?(y(v(`fork`,r.args),`Fork`,e=>`Forked → session ${e.newSessionId}. Selected text: ${e.selectedText}`),!0):((async()=>{let t=await v(`tree`);if(!t.ok){e(`Fork picker failed: ${t.error}`);return}let n=t.payload.tree,r=Array.isArray(n?.tree)?Mc(n.tree):[];if(r.length===0){e(`No fork points yet — send a user message first, then run /fork.`);return}o(r)})(),!0);case`session-clone`:return y(v(`clone`),`Clone`,e=>`Cloned → session ${e.newSessionId}.`),!0;case`session-tree`:return(async()=>{let t=await v(`tree`,r.args??``);if(!t.ok){e(`Tree failed: ${t.error}`);return}let n=t.payload.tree;if(!n||!Array.isArray(n.tree)){e(`(no session tree available)`);return}e(jc(n.tree,n.leafId??null))})(),!0;case`session-share`:return(async()=>{let n=Pc(t());if(!n.trim()){e(`Nothing to share yet.`);return}await navigator.clipboard.writeText(n),fi.success(`Transcript copied`),e(`Copied the transcript to the clipboard. GitHub Gist upload is TUI-only in this port.`)})().catch(e=>{fi.error(`Share failed: ${e instanceof Error?e.message:String(e)}`)}),!0;case`session-import`:return e(r.path?`/import ${r.path} is not wired in the web port. Resume a saved conversation from the session picker instead.`:`Usage: /import <path.jsonl> — JSONL import is not wired in the web port. Use the session picker to resume.`),!0;case`session-btw`:return e(r.question?`/btw is not wired in the web port. Side question was not sent:\n${r.question}`:`Usage: /btw <question> — side questions are not wired in the web port.`),!0;case`session-traces`:return e(`Fleet Prime traces (preview / upload / login) are TUI-only. The web port does not upload traces.`),!0;case`session-agents`:return u.length===0?(e(`No saved sessions. The web port has no daemon agent tray — use the conversation picker in the header.`),!0):(e(`Saved sessions (web stand-in for /agents):\n${u.map(e=>`${e.sessionId} ${e.title}`).join(`
|
|
13
13
|
`)}`),!0);case`open-providers`:return s(`providers`),!0;case`open-logout`:return e(`Provider sign-out is managed by Fleet Prime CLI commands.`),!0;case`open-mcp`:{s(`mcp`);let t=r.args.trim().split(/\s+/).filter(Boolean),n=t[0],i=t.slice(1).join(` `);return!n||n===`list`||(n===`login`||n===`reconnect`)&&!i?!0:(n===`login`||n===`reconnect`)&&i?(e(`Open Settings → MCP and sign in to "${i}".`),!0):n===`logout`&&i?((async()=>{try{let t=await j.mcpOAuth({name:i,action:`logout`});t.connections&&_.setQueryData(k.mcp,{connections:t.connections}),_.invalidateQueries({queryKey:[`chat`,`resources`]}),e(`Signed out of MCP connection "${i}".`)}catch(t){e(t instanceof Error?t.message:`Could not sign out of "${i}".`)}})(),!0):(e(Tc),!0)}case`fast-toggle`:return(async()=>{e("/fast toggles OpenAI Fast mode. The web port reads this from ~/.prime/agent/settings.json — flip `fastMode` there or in Settings.")})(),!0;case`reload-resources`:return(async()=>{let t=await v(`reload`);e(t.ok?`Reloaded keybindings, extensions, skills, prompts, and themes.`:`Reload failed: ${t.error}`)})(),!0;case`show-changelog`:return e(`Changelog lives at https://github.com/Qredence/fleet-prime-agent/blob/main/CHANGELOG.md`),!0;case`show-hotkeys`:return e(`Web port hotkeys: Enter=send, Alt+Enter=follow-up while streaming, / = slash menu, ⌘K=command palette.`),!0;case`copy-last-reply`:return(async()=>{let e=Nc(t());if(!e){fi.error(`No assistant message to copy`);return}await navigator.clipboard.writeText(e),fi.success(`Last assistant message copied`)})().catch(e=>{fi.error(`Copy failed: ${e instanceof Error?e.message:String(e)}`)}),!0;case`update-check`:return e(`/update is TUI-only (pulls the latest Fleet Prime release). Use npm/pnpm in your shell to upgrade.`),!0;case`toggle-fullscreen`:return e(`/fullscreen is TUI-only (alternate screen rendering). In the browser, use your OS/browser fullscreen.`),!0;case`quit-app`:return e(`/quit is TUI-only (exits the agent loop). Close this browser tab instead.`),!0;case`rlm-max-depth`:return e(`/rlm-max-depth is not yet wired in the web port.`),!0;case`heartbeat-manage`:case`heartbeat-list`:return e(`/heartbeat(s) are not wired in the web port. Persistent heartbeats remain TUI/session-cron.`),!0;default:return!1}},[e,v,y,t,n,i,a,o,s,c,_,u,d,f,p,m,h]),x=(0,X.useCallback)(e=>{if(Hs(e))return!1;let t=Rs(e.id);return t?b(t):!1},[b]),S=(0,X.useCallback)(e=>{let t=Is(e);if(t){let e=Rs(t.command,t.args);return e?b(e):!1}let n=g?.(e);if(!n?.command)return!1;let r=Fs(n.command);return r?b(r):!1},[b,g]);return{applyLocalSlashAction:b,forkFromEntry:(0,X.useCallback)(e=>{y(v(`fork`,e),`Fork`,e=>`Forked → session ${e.newSessionId}. Selected text: ${e.selectedText}`)},[v,y]),handleLocalSlashSubmit:S,handleSlashCommandSelect:x}}var Ic={steering:[],followUp:[]},Lc=Object.freeze({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]});function Rc(e){let t=e.sessionId?.trim()||void 0,n=e.projectId?.trim()||void 0;return t||n?{...t?{sessionId:t}:{},...n?{projectId:n}:{}}:{}}function zc(e,t){let n=t.sessionId?.trim()||e.sessionId,r=t.projectId?.trim()||e.projectId;return{...n?{sessionId:n}:{},...r?{projectId:r}:{}}}function Bc(e){return(e.parts??[]).some(e=>e.type!==`text`||typeof e.text==`string`&&e.text.trim().length>0)}function Vc(e,t){if(!t)return e;let{assistantId:n,snapshot:r}=e;if(n===t)return e;if(n){let e=r.messages.map(e=>e.id===n&&e.role===`assistant`?{...e,id:t}:e);return{assistantId:t,snapshot:{...r,messages:e}}}return{assistantId:t,snapshot:{...r,messages:[...r.messages,lc(`assistant`,``,t)]}}}function Hc(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t]}function Uc(e,t,n){let r=[n?e.find(e=>e.id===n&&e.role===`assistant`):void 0,e.find(e=>e.id===t.id&&e.role===`assistant`)].filter(Boolean).slice(0,1).flatMap(e=>e.parts.filter(e=>(e.type===`tool-FleetReasoning`||e.type===`payload`||e.type===`reasoning`)&&!t.parts.some(t=>t.type===e.type?e.type===`reasoning`&&t.type===`reasoning`?t.contentIndex===e.contentIndex:e.type===`payload`&&t.type===`payload`?e.id&&t.id?e.id===t.id:e.kind===t.kind&&e.title===t.title:!0:!1)));return r.length===0?t:{...t,parts:[...r.map(e=>e.type===`reasoning`?{...e,state:`complete`}:e),...t.parts]}}function Wc(e,t,n){if(!Bc(t)){let r=[n?e.find(e=>e.id===n&&e.role===`assistant`):void 0,e.find(e=>e.id===t.id&&e.role===`assistant`)].filter(Boolean).find(e=>Bc(e));if(r)return Hc(e,{...t,parts:r.parts,createdAt:t.createdAt??r.createdAt})}return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):n&&n!==t.id&&e.some(e=>e.id===n&&e.role===`assistant`)?e.map(e=>e.id===n&&e.role===`assistant`?t:e):[...e,t]}function Gc(e,t){if(t.type===`session_snapshot`)return{assistantId:null,snapshot:{...e.snapshot,activityLabel:void 0,messages:t.messages,planLabel:void 0,presentation:t.presentation,queue:Ic,sessionMetadata:t.session}};if(t.type===`done`&&t.sessionReset)return e;if(t.type===`presentation`){let n=e.snapshot.presentation?.revision??-1;return t.presentation.revision<=n?e:{...e,snapshot:{...e.snapshot,presentation:t.presentation}}}if(t.type===`rlm`){let n=e.snapshot.presentation;if(!n)return e;let r=n.rlmChildren.find(e=>e.id===t.child.id);if(r&&r.timestamp>t.child.timestamp)return e;let i=[...n.rlmChildren.filter(e=>e.id!==t.child.id),t.child];return{...e,snapshot:{...e.snapshot,presentation:{...n,rlmChildren:i,...t.tree?{rlmTree:t.tree}:{}}}}}if(t.type===`message`){if(t.message.role===`user`){let n=e.snapshot.messages.findIndex(e=>e.id===t.message.id),r=n>=0?n:e.snapshot.messages.findIndex(e=>e.role===`user`&&e.optimistic===!0),i=r>=0?{...t.message,id:e.snapshot.messages[r].id}:t.message;return{...e,snapshot:{...e.snapshot,messages:r>=0?e.snapshot.messages.map((e,t)=>t===r?i:e):[...e.snapshot.messages,i]}}}let n=Vc(e,t.message.id);return{assistantId:n.assistantId,snapshot:{...n.snapshot,messages:Wc(n.snapshot.messages,t.message,n.assistantId)}}}if(t.type===`start`){let n=e.snapshot.messages.some(e=>e.id===t.id&&e.role===`assistant`);return{assistantId:t.id,snapshot:{...e.snapshot,adapterCapabilities:t.adapterCapabilities,activityLabel:t.sessionReset?`Started a fresh Pi session`:t.diagnostics?.[0],messages:n?e.snapshot.messages:[...e.snapshot.messages,lc(`assistant`,``,t.id)],sessionMetadata:zc(e.snapshot.sessionMetadata,{sessionId:t.sessionId})}}}if(t.type===`thinking`)return e;let n=t.type===`delta`||t.type===`reasoning`||t.type===`reasoning_text`||t.type===`tool`||t.type===`payload`?Vc(e,t.messageId):e,{assistantId:r,snapshot:i}=n;if(t.type===`reasoning_text`&&r)return{assistantId:r,snapshot:{...i,messages:vc(i.messages,r,t)}};if(t.type===`delta`&&r)return{assistantId:r,snapshot:{...i,messages:_c(i.messages,r,t.text)}};if(t.type===`error`)return n;if(t.type===`reasoning`&&r&&i.adapterCapabilities?.features.includes(`reasoning-summary-v1`))return{assistantId:r,snapshot:{...i,messages:xc(i.messages,r,t.presentation)}};if(t.type===`tool`&&r)return{assistantId:r,snapshot:{...i,messages:yc(i.messages,r,t.part)}};if(t.type===`payload`&&r)return{assistantId:r,snapshot:{...i,messages:bc(i.messages,r,t.part)}};if(t.type===`queue`)return{assistantId:r,snapshot:{...i,queue:{steering:t.steering,followUp:t.followUp}}};if(t.type===`plan`)return{assistantId:r,snapshot:{...i,planLabel:t.message}};if(t.type===`state`)return{assistantId:r,snapshot:{...i,activityLabel:f(t.state.name)}};if(t.type===`compaction`)return{assistantId:r,snapshot:{...i,activityLabel:t.phase===`start`?`Compacting session`:`Compaction finished`}};if(t.type===`retry`)return{assistantId:r,snapshot:{...i,activityLabel:t.phase===`start`?`Retrying request ${t.attempt}/${t.maxAttempts}`:t.success?`Retry succeeded`:`Retry failed`}};if(t.type===`done`){let e=Sc(t.message),n=Uc(i.messages,e,r),a=Wc(i.messages,n,r),o=t.presentation&&t.presentation.revision>(i.presentation?.revision??-1)?t.presentation:i.presentation;return{assistantId:null,snapshot:{...i,activityLabel:void 0,messages:a.map(e=>Sc(e)),queue:Ic,presentation:o,sessionMetadata:zc(i.sessionMetadata,{sessionId:t.sessionId})}}}return n}var Kc=`plan-mode-decision`;function qc(e,t){return{enabled:e.mode===`plan`,executing:e.executing,todos:e.todos.map(e=>({...e})),pendingDecision:e.pendingDecision,pendingDecisionToolCallId:e.pendingDecision?`${Kc}-${t}`:void 0}}function Jc(e,t){return Yc(e,qc(t,e))}function Yc(e,t){if(t.todos.length===0)return;let n=Zc(t),r=t.pendingDecision?`awaiting_approval`:n.total>0&&n.completed===n.total?`completed`:`approved`;return{type:`tool-PlanWrite`,toolCallId:t.pendingDecisionToolCallId??`${Kc}-${e}`,state:`output-available`,input:{action:t.pendingDecision?`create`:`update`,pendingDecision:t.pendingDecision,executing:t.executing,completed:n.completed,total:n.total,presentation:n,plan:{id:e,title:n.executing?`Executing plan`:`Execution plan`,summary:Qc(t),status:r,todos:n.todos}}}}function Xc(e){return!!e?.startsWith(Kc)}function Zc(e){let t=e.todos.filter(e=>e.completed).length,n=e.todos.length,r=e.enabled?`plan`:`agent`,i=e.executing?n>0?`Plan progress ${t}/${n}`:`Executing plan`:e.pendingDecision?`Plan ready for review`:e.enabled?`Plan mode`:void 0;return{mode:r,executing:e.executing,pendingDecision:!!e.pendingDecision,completed:t,total:n,todos:e.todos.map(e=>({...e})),message:i}}function Qc(e){let t=Zc(e),n=t.todos.map(e=>`${e.completed?`- [x]`:`- [ ]`} ${e.step}. ${e.text}`);return e.pendingDecision?n.push(``,`Review the steps, then execute, stay in plan mode, or refine.`):t.executing?n.push(``,`Progress: ${t.completed}/${t.total} completed.`):t.total>0&&t.completed===t.total&&n.push(``,`All plan steps are complete.`),n.join(`
|
|
14
|
-
`)}function $c(e,t){let n=new Map(t.map(e=>[e.assistantMessageId,e]));return e.map(e=>{if(e.role!==`assistant`)return e;let t=n.get(e.id),r=t?Jc(e.id,t.state):void 0;return r?{...e,parts:mc(e.parts,r)}:e})}function el(e,t){for(let n of e)for(let e of n.parts){if(e.type!==`tool-PlanWrite`||e.toolCallId!==t||!e.input||typeof e.input!=`object`)continue;let r=e.input.presentation;if(!r||typeof r!=`object`)continue;let i=r;if(!(!Array.isArray(i.todos)||i.mode!==`agent`&&i.mode!==`plan`&&i.mode!==`harness`))return{assistantMessageId:n.id,state:{...i,todos:i.todos.map(e=>({...e}))}}}}function tl(e,t){if(!e||typeof e!=`object`)return;let n=e.presentation;if(!n||typeof n!=`object`)return n;let r=t.selectedIds?.[0],i=n,a=(Array.isArray(i.todos)?i.todos:[]).some(e=>!!(e&&typeof e==`object`&&!e.completed));return{...i,pendingDecision:!1,mode:r===`execute`?`agent`:`plan`,executing:r===`execute`&&a}}function nl(e,t,n){if(!Xc(t))return e;let r=e.map(e=>{let r=e.parts.map(e=>e.type!==`tool-PlanWrite`||e.toolCallId!==t||!e.input||typeof e.input!=`object`?e:{...e,input:{...e.input,approved:n.selectedIds?.[0]===`execute`||n.selectedIds?.[0]===`stay`,pendingDecision:!1,executing:n.selectedIds?.[0]===`execute`,presentation:tl(e.input,n)}});return r.some((t,n)=>t!==e.parts[n])?{...e,parts:r}:e});return r.some((t,n)=>t!==e[n])?r:e}function rl(e,t){let n=e.map(e=>{let n=e.parts.map(e=>{if(e.type!==`tool-PlanWrite`||typeof e.toolCallId!=`string`||!e.input||typeof e.input!=`object`)return e;let n=e.input;return n.pendingDecision!==!0||typeof n.onExecute==`function`&&typeof n.onStay==`function`&&typeof n.onRefine==`function`?e:{...e,input:{...n,onExecute:()=>t({toolCallId:e.toolCallId,answer:{kind:`single`,selectedIds:[`execute`]}}),onStay:()=>t({toolCallId:e.toolCallId,answer:{kind:`single`,selectedIds:[`stay`]}}),onRefine:n=>t({toolCallId:e.toolCallId,answer:n&&n.trim().length>0?{kind:`text`,text:n.trim()}:{kind:`single`,selectedIds:[`refine`]}})}}});return n.some((t,n)=>t!==e.parts[n])?{...e,parts:n}:e});return n.some((t,n)=>t!==e[n])?n:e}async function il(e){e.setSessionMetadataSynced({}),e.setMessagesSynced([]),e.setQueueSynced(Ic),e.setActivityLabelSynced(void 0),e.setPlanLabelSynced(void 0),e.setPresentationSynced(Lc),e.setError(null),e.setStatus(`ready`);let t=await e.client.createSession(e.projectId);e.setSessionMetadataSynced(t.session),e.setMessagesSynced(t.messages),e.setPresentationSynced(t.presentation),e.setActivityLabelSynced(t.sessionReset?`Started a fresh Pi session`:void 0),await e.refreshSessions()}async function al(e,t,n,r){if(!t(e))return!1;try{await n()}catch(e){let t=e instanceof Error?e:Error(String(e));r.setError(t),r.setStatus(`error`),ds(t)}return!0}async function ol(e,t,n){return al(e,c,t,n)}async function sl(e,t,n){return al(e,M,t,n)}function cl({client:e,initialSessionMetadataRef:t,initializedRef:n,recoverFromForbiddenSession:r,refreshSessions:i,setActivityLabelSynced:a,setError:o,setMessagesSynced:s,setPlanLabelSynced:c,setPresentationSynced:l,setQueueSynced:u,setSessionMetadataSynced:d,setStatus:f}){(0,X.useEffect)(()=>{if(n.current)return;n.current=!0;let p=new AbortController,m=!1;f(`ready`),o(null),u(Ic),a(void 0),c(void 0),s([]);let h=t.current;return i().then(t=>{if(p.signal.aborted)return;let n=h.sessionId?t.find(e=>e.sessionId===h.sessionId):void 0,r=n??(h.projectId?t.find(e=>e.projectId===h.projectId):t[0]);if(!r){d(h.projectId?{projectId:h.projectId}:{});return}let i=n?h:{sessionId:r.sessionId,projectId:r.projectId};return e.loadSession(i)}).then(e=>{!e||p.signal.aborted||(d(e.session),s($c(e.messages,e.planPresentations)),l(e.presentation),a(e.sessionReset?`Started a fresh Pi session`:void 0))}).catch(async e=>{if(p.signal.aborted)return;let t={setError:o,setStatus:f};if(await ol(e,r,t)||await sl(e,r,t)||p.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));o(n),f(`error`),ds(n)}).finally(()=>{m=!0}),()=>{p.abort(),m||(n.current=!1)}},[e,t,n,r,i,a,o,s,c,l,u,d,f])}function ll({client:e,recoveryRef:t,presentationRef:n,sessionId:r,sessionMetadataRef:i,setActivityLabelSynced:a,setAdapterCapabilities:o,setMessagesSynced:s,setPresentationSynced:c,setQueueSynced:u,setSessionMetadataSynced:d,statusRef:f}){let p=(0,X.useRef)({active:!1,needsSnapshot:!1}),m=t??p;(0,X.useEffect)(()=>{if(!r||typeof window>`u`)return;!m.current.active&&m.current.sessionId!==r&&(m.current.sessionId=r,m.current.cursor=void 0,m.current.needsSnapshot=!1);let t=`pi:sse:last-event-id:${r}`,p={current:void 0},h,g=0,_=Er(t,`session`);if(_){if(_.startsWith(`{`))try{let e=JSON.parse(_);typeof e.generation==`string`&&e.generation.length>0&&(h=e.generation),typeof e.lastEventId==`number`&&Number.isInteger(e.lastEventId)&&e.lastEventId>0&&(g=e.lastEventId)}catch{g=0}else{let e=Number.parseInt(_,10);!Number.isNaN(e)&&e>0&&(g=e)}}!m.current.cursor&&h&&(m.current.cursor={generation:h,sequence:g});let v=(e,n=h)=>{g=e,h=n,n?Tr(t,JSON.stringify({generation:n,lastEventId:e}),`session`):Tr(t,String(e),`session`)},y=null,b=null,x=0,S=!1,C=0,w=!1,T,E=(t,l)=>{let _;try{_=JSON.parse(t.data)}catch{m.current.active&&(m.current.needsSnapshot=!0);return}if(typeof _==`object`&&_&&`type`in _&&_.type===`connected`){let e=_;p.current=e.adapterCapabilities,o(e.adapterCapabilities),typeof e.streamGeneration==`string`&&e.streamGeneration.length>0&&(m.current.active&&m.current.cursor&&m.current.cursor.generation!==e.streamGeneration?m.current.needsSnapshot=!0:(!m.current.cursor||m.current.cursor.generation!==e.streamGeneration)&&(m.current.cursor={generation:e.streamGeneration,sequence:e.cursorReset?0:g}),h=e.streamGeneration),e.cursorReset&&(C=0,m.current.active?m.current.needsSnapshot=!0:(v(0,h),h&&(m.current.cursor={generation:h,sequence:0}))),m.current.active&&!m.current.needsSnapshot&&a(void 0);return}let y=jr.safeParse(_);if(!y.success){let e=m.current;if(e.active&&e.sessionId===r&&!e.needsSnapshot&&typeof _==`object`&&_&&`type`in _&&(_.type===`reasoning`||_.type===`reasoning_text`)){let t=Ar.safeParse(`eventCursor`in _?_.eventCursor:null),n=e.cursor,r=t.success?t.data:void 0;if(r&&n?.generation===r.generation&&r.sequence===n.sequence+1)e.cursor=r,v(r.sequence,r.generation);else if(r&&n?.generation===r.generation&&r.sequence<=n.sequence)return;else e.needsSnapshot=!0}else e.active&&(e.needsSnapshot=!0);return}let b=y.data;if(m.current.active&&m.current.sessionId===r){let e=b.eventCursor;if(!e||!m.current.applyEvent||m.current.needsSnapshot){m.current.needsSnapshot=!0;return}let t=m.current.cursor;if(t&&t.generation!==e.generation){m.current.needsSnapshot=!0;return}if(t&&e.sequence<=t.sequence)return;if(t&&e.sequence!==t.sequence+1){m.current.needsSnapshot=!0;return}try{m.current.applyEvent?.(b),m.current.cursor=e,v(e.sequence,e.generation),S&&(S=!1,a(void 0))}catch{m.current.needsSnapshot=!0}return}b.type===`start`&&(T=b.id),b.type===`done`&&(T=void 0);let x=f.current;if(b.type===`presentation`){b.presentation.revision>(n.current?.revision??-1)&&c(b.presentation);return}if(b.type===`rlm`){if(!Number.isNaN(l)&&l>0){if(l<=C)return;C=l}let e=n.current,t=e.rlmChildren.find(e=>e.id===b.child.id);if(t&&t.timestamp>b.child.timestamp)return;c({...e,rlmChildren:[...e.rlmChildren.filter(e=>e.id!==b.child.id),b.child],...b.tree?{rlmTree:b.tree}:{}});return}if(b.type===`tool`&&b.part?.type===`tool-Question`){s(e=>{let t=b.part.toolCallId??``;if(!t)return e;let n=e=>e.parts.some(e=>e.type!==`text`&&e.type!==`error`&&`toolCallId`in e&&e.toolCallId===t),r=b.messageId?e.findIndex(e=>e.id===b.messageId&&e.role===`assistant`):-1;if(r<0&&T&&(r=e.findIndex(e=>e.id===T&&e.role===`assistant`)),r<0){let t=-1,i=-1;for(let r=e.length-1;r>=0;--r){let a=e[r];a.role===`assistant`&&(n(a)&&i<0?i=r:t<0&&(t=r))}r=b.part.state===`input-streaming`?t>=0?t:i:i>=0?i:t}let i={...b.part,type:`tool-Question`};return r<0?[...e,{id:b.messageId??crypto.randomUUID(),role:`assistant`,parts:[i],createdAt:new Date().toISOString()}]:e.flatMap((e,a)=>{if(a===r)return[{...e,parts:mc(e.parts,i)}];if(!n(e))return[e];let o=e.parts.filter(e=>!(e.type!==`text`&&e.type!==`error`&&`toolCallId`in e&&e.toolCallId===t));return o.length>0?[{...e,parts:o}]:[]})});return}if(f.current!==`streaming`&&f.current!==`submitted`){if(b.type===`reasoning_text`&&b.messageId){let e=b.messageId;s(t=>vc(t.some(t=>t.id===e)?t:[...t,lc(`assistant`,``,e)],e,b));return}if(b.type===`reasoning`){let e=b.messageId;if(!p.current?.features.includes(`reasoning-summary-v1`)||!e)return;s(t=>xc(t,e,b.presentation));return}if(b.type===`state`){if(a(b.state?.name===`agent_settled`||b.state?.message===`resync-required`?void 0:typeof b.state?.message==`string`?b.state.message:void 0),b.state?.name===`agent_settled`){if(x===`streaming`||x===`submitted`)return;let t=i.current.sessionId;e.loadSession({sessionId:r}).then(e=>{w||i.current.sessionId!==r||i.current.sessionId===t&&f.current!==`streaming`&&f.current!==`submitted`&&(s($c(e.messages,e.planPresentations)),c(e.presentation),d(e.session),u(Ic))}).catch(()=>void 0)}return}b.type===`queue`&&u({steering:b.steering,followUp:b.followUp})}},D=()=>{let e=new URLSearchParams({sessionId:r}),t=m.current.active?m.current.cursor:void 0,n=t?.generation??h,i=t?.sequence??g;n&&e.set(`streamGeneration`,n),i>0&&e.set(`lastEventId`,String(i)),y?.close();let o=new EventSource(l(`/api/chat/events?${e}`));y=o,o.onmessage=e=>{if(w||y!==o)return;let t=Number.parseInt(e.lastEventId??``,10);x>0&&(x=0,S&&(S=!1,f.current!==`streaming`&&f.current!==`submitted`&&a(void 0))),E(e,t),!m.current.active&&f.current!==`streaming`&&f.current!==`submitted`&&!Number.isNaN(t)&&t>0&&(v(t,h),h&&(m.current.cursor={generation:h,sequence:t}))},o.onerror=()=>{w||y!==o||(o.close(),x+=1,x>1&&f.current!==`streaming`&&f.current!==`submitted`&&(S=!0,a(x>2?`Reconnecting… (attempt ${x})`:`Reconnecting…`)),b&&clearTimeout(b),b=setTimeout(D,Math.min(2e3,250*2**Math.min(x,3))))}},O=()=>{w||(b&&clearTimeout(b),b=null,x=0,D())};return m.current.requestReconnect=O,D(),()=>{w=!0,m.current.requestReconnect===O&&(m.current.requestReconnect=void 0),y?.close(),b&&clearTimeout(b)}},[e,m,n,r,i,a,o,s,c,u,d,f])}function ul(){let e,t,n=!1,r=new Promise((n,r)=>{e=n,t=r});return r.catch(()=>void 0),{promise:r,resolve:()=>{n||(n=!0,e())},reject:e=>{n||(n=!0,t(e))}}}function dl(e){return e.aborted?Promise.resolve():new Promise(t=>{let n=()=>{clearTimeout(r),e.removeEventListener(`abort`,n),t()},r=setTimeout(n,2e3);e.addEventListener(`abort`,n,{once:!0})})}var fl=Promise.resolve();function pl({activityLabelRef:e,client:t,messagesRef:n,presentationRef:r,model:i,pendingSendControllerRef:a,projectId:o,planLabelRef:s,queueRef:c,recoverFromForbiddenSession:l,refreshSessions:u,sessionMetadataRef:d,streamControllersRef:f,setActivityLabelSynced:p,setError:m,setMessagesSynced:g,setPresentationSynced:_,setPlanLabelSynced:v,setQueueSynced:y,setSessionMetadataSynced:b,setStatus:x,status:S}){let C=(0,X.useRef)(null),w=(0,X.useRef)(new Set),T=(0,X.useRef)(fl),E=(0,X.useRef)(void 0),D=(0,X.useRef)(o),O=(0,X.useRef)(0),k=(0,X.useRef)(null),A=(0,X.useRef)({active:!1,needsSnapshot:!1}),j=(0,X.useCallback)(()=>{O.current+=1;let e=k.current;k.current=null,e?.abort(),A.current.active=!1,A.current.applyEvent=void 0},[]),M=(0,X.useCallback)(()=>{j(),A.current.cursor=void 0},[j]);(0,X.useEffect)(()=>()=>M(),[M]),(0,X.useEffect)(()=>{D.current=o},[o]);let N=(0,X.useCallback)(e=>{for(let t of w.current)if(t.sessionId===e)return t},[]),F=(0,X.useCallback)(e=>{for(let t of[...w.current])t.sessionId===e&&(w.current.delete(t),t.reject(Error(`Chat stream stopped before admission`)))},[]),I=(0,X.useCallback)(e=>{E.current=e},[]),L=(0,X.useCallback)(async e=>{let[n,r]=await Promise.all([t.loadSession({sessionId:e}),u()]);if(d.current.sessionId!==e)return!1;n.messages.length>0&&g($c(n.messages,n.planPresentations)),_(n.presentation),b(n.session),y({steering:[],followUp:[]}),v(void 0);let i=r.find(t=>t.sessionId===e)?.status===`running`;return i||p(n.sessionReset?`Started a fresh Pi session`:void 0),i},[t,u,d,p,g,v,_,y,b]),R=(0,X.useCallback)((t,i,a,o)=>{if(t.type===`error`)throw h(t);if(t.type===`done`&&t.sessionReset){a!==d.current.sessionId&&u();return}if(t.type===`start`){let e=N(a);e&&(w.current.delete(e),e.resolve())}if(a!==d.current.sessionId){t.type===`done`&&u();return}let l=Gc({assistantId:i.current,snapshot:{adapterCapabilities:E.current,activityLabel:e.current,messages:n.current,presentation:r.current,planLabel:s.current,queue:c.current,sessionMetadata:d.current}},t);i.current=l.assistantId,E.current=l.snapshot.adapterCapabilities,g(l.snapshot.messages),l.snapshot.presentation&&_(l.snapshot.presentation),b(l.snapshot.sessionMetadata),y(l.snapshot.queue),p(l.snapshot.activityLabel),v(l.snapshot.planLabel),t.type===`start`&&x(`streaming`),t.type===`done`&&(x(`ready`),u()),t.eventCursor&&(A.current.cursor=t.eventCursor)},[e,N,n,r,s,c,u,d,p,g,_,v,y,b,x]),z=(0,X.useCallback)(async(e,n,r)=>{j();let i=O.current,a=new AbortController,o=a.signal,s={current:null};k.current=a,A.current.sessionId=e,A.current.active=!0,A.current.needsSnapshot=A.current.cursor===void 0,A.current.applyEvent=t=>{A.current.sessionId===e&&(R(t,s,e,r),t.type===`done`&&(x(`streaming`),p(`Reconnecting…`)))},A.current.requestReconnect?.(),m(null);let c=0,l=()=>O.current===i&&k.current===a&&d.current.sessionId===e&&!o.aborted;try{for(;l();)try{let[r,i]=await Promise.all([t.loadSession({sessionId:e}),u()]);if(!l())return!1;c=0;let a=i.find(t=>t.sessionId===e)?.status;if(_(r.presentation),b(r.session),a===`running`)x(`streaming`),p(`Reconnecting…`);else if(a===`idle`)return r.messages.length>0&&g($c(r.messages,r.planPresentations)),y({steering:[],followUp:[]}),v(void 0),p(r.sessionReset?`Started a fresh Pi session`:void 0),m(null),x(`ready`),!0;else return r.messages.length>0&&g($c(r.messages,r.planPresentations)),p(void 0),m(n),x(`error`),!1;await dl(o)}catch{if(!l())return!1;if(c+=1,c>=3)break;p(`Refreshing conversation…`),await dl(o)}return l()?(p(void 0),m(n),x(`error`),!1):!1}finally{O.current===i&&j()}},[t,R,u,j,d,p,m,g,v,_,y,b,x]),B=(0,X.useCallback)(async e=>{if(e?.aborted)throw Error(`Session creation was aborted`);let n=d.current;if(n.sessionId)return n;let r=C.current;if(r)return r;let i=t.createSession(D.current,e).then(t=>{if(e?.aborted)throw Error(`Session creation was aborted`);return b(t.session),_(t.presentation),d.current=t.session,u(),t.session}).finally(()=>{C.current===i&&(C.current=null)});return C.current=i,i},[t,u,d,_,b]),ee=(0,X.useCallback)(async(e,n=`steer`,r)=>{let a=d.current.sessionId??(await B()).sessionId;if(!a)throw Error(`Unable to queue a message without a session`);let o=uc(e);g(e=>[...e,o]),m(null);let s=T.current,c=ul(),l=s.catch(()=>void 0).then(async()=>{try{await N(a)?.promise,await t.streamMessage({message:e,attachments:r?.attachments,openUI:r?.openUI,openUIArtifact:r?.openUIArtifact,model:i,planAction:r?.planAction,mode:r?.mode,sessionId:a,streamingBehavior:n},e=>{if(e.type===`start`&&e.requestKind===`session-command`&&c.resolve(),e.type===`done`&&e.requestKind===`session-command`){if(d.current.sessionId!==a)return;g(t=>fc(t.some(t=>t.id===e.message.id)?t:[...t,e.message],o.id));return}if(e.type===`queue`&&(c.resolve(),y({steering:e.steering,followUp:e.followUp}),p(n===`steer`?`Steered`:`Follow-up queued`)),e.type===`error`)throw h(e)}),c.resolve()}catch(e){throw c.reject(e),g(e=>dc(e,o.id)),e}try{await u()}catch{}});T.current=c.promise.catch(()=>void 0),await l},[t,B,N,i,u,d,p,m,g,y]);return{cancelStreamRecovery:M,enqueueDuringStream:ee,handleStreamEvent:R,resetStreamAdmission:F,sendMessage:(0,X.useCallback)(async({text:e,attachments:n,openUI:r,openUIArtifact:o,planAction:s,mode:c,altKey:h})=>{let _=e.trim();if(!_)return!1;if(S===`submitted`||S===`streaming`||N(d.current.sessionId)!==void 0)try{return await ee(_,h?`followUp`:`steer`,{attachments:n,mode:c,openUI:r,openUIArtifact:o,planAction:s}),!0}catch(e){let t=e instanceof Error?e:Error(String(e));return m(t),ds(t),!1}m(null),p(void 0),x(`submitted`);let v=uc(_);g(e=>[...e,v]);let y={current:null},b=ul();b.sessionId=d.current.sessionId,w.current.add(b);let C=new AbortController;a.current=C;let T,E=!1,D=!1;try{let e=await B(C.signal);if(C.signal.aborted)return!1;let a=e.sessionId;if(!a)throw Error(`Unable to start a session stream`);T=a,b.sessionId=a,f.current.set(a,C),await t.streamMessage({message:_,attachments:n,openUI:r,openUIArtifact:o,model:i,planAction:s,mode:c,sessionId:a,streamingBehavior:h?`followUp`:`steer`},e=>{e.type===`done`&&!e.sessionReset&&(E=!0),R(e,y,a,c),e.type===`done`&&e.requestKind===`session-command`&&d.current.sessionId===a&&g(e=>fc(e,v.id))},C.signal);let l=!1;try{l=await L(a)}catch{}return d.current.sessionId===a&&(E||!l)&&x(`ready`),!0}catch(e){if(w.current.delete(b)&&b.reject(e),e instanceof P?D=!0:g(e=>dc(e,v.id)),C.signal.aborted)return!1;if(T&&d.current.sessionId!==T)return u(),!1;if(e instanceof P&&T)return A.current.sessionId!==T&&(A.current.cursor=void 0),await z(T,e,c);let t={setError:m,setStatus:x};if(await ol(e,l,t)||await sl(e,l,t))return!1;let n=e instanceof Error?e:Error(String(e));return m(n),x(`error`),ds(n),!1}finally{w.current.delete(b)&&b.reject(Error(`Chat stream ended before admission`)),C.signal.aborted&&!D&&g(e=>dc(e,v.id)),a.current===C&&(a.current=null),T&&C&&f.current.get(T)===C&&f.current.delete(T)}},[t,B,ee,N,R,i,a,l,z,L,u,d,p,m,g,x,f,S]),setAdapterCapabilities:I,streamRecoveryRef:A}}function ml(e,t){let{client:n=j,initialSessionMetadata:r,persistSession:i,projectId:a}=t,[o,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(`ready`),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(()=>r),[m,h]=(0,X.useState)([]),[g,_]=(0,X.useState)(),[v,y]=(0,X.useState)(),[b,x]=(0,X.useState)(Ic),[S,C]=(0,X.useState)(()=>Lc),w=(0,X.useRef)(r),T=(0,X.useRef)(a),E=(0,X.useRef)(o),D=(0,X.useRef)(f),O=(0,X.useRef)(g),k=(0,X.useRef)(v),A=(0,X.useRef)(b),M=(0,X.useRef)(0),N=(0,X.useRef)(null),P=(0,X.useRef)(S),F=(0,X.useRef)(null),I=(0,X.useRef)(new Map),L=(0,X.useRef)(null),R=(0,X.useRef)(0),z=(0,X.useRef)(c),B=(0,X.useRef)(!1),ee=(0,X.useRef)(()=>Promise.resolve(!1)),V=(0,X.useCallback)(e=>{let t=typeof e==`function`?e(E.current):e;E.current=t,s(t)},[]),te=(0,X.useCallback)(e=>{V(t=>[...t,{id:crypto.randomUUID(),role:`assistant`,source:`local`,createdAt:Date.now(),parts:[{type:`text`,text:e}]}])},[V]),H=(0,X.useCallback)(e=>{let t=D.current,n=Rc(e);(t.sessionId!==n.sessionId||t.projectId!==n.projectId)&&(M.current+=1,D.current=n,p(n),i(n))},[i]),U=(0,X.useCallback)(e=>{O.current=e,_(e)},[]),W=(0,X.useCallback)(e=>{k.current=e,y(e)},[]),G=(0,X.useCallback)(e=>{M.current+=1,A.current=e,x(e)},[]),ne=(0,X.useCallback)(()=>{M.current+=1},[]),K=(0,X.useCallback)(e=>{P.current=e,C(e)},[]),q=(0,X.useCallback)(async e=>{let t=D.current.sessionId;if(!t)return;let r=await n.upsertOpenUIArtifact({sessionId:t,...e});return D.current.sessionId===t&&K(r.presentation),r.artifact.id},[n,K]);(0,X.useEffect)(()=>{T.current=a},[a]);let re=(0,X.useCallback)(async()=>{let e=L.current;if(e)return e;let t=n.listSessions().then(e=>(h(e),e));L.current=t;try{return await t}finally{L.current===t&&(L.current=null)}},[n]),J=(0,X.useCallback)(e=>il({client:n,projectId:e??T.current,refreshSessions:re,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l}),[n,re,U,V,W,K,G,H]),ie=(0,X.useCallback)(async({toolCallId:e,answer:t})=>{if(Xc(e)){let r=nl(E.current,e,t);V(r);let i=el(r,e);i&&D.current.sessionId&&await n.upsertPlanPresentation({sessionId:D.current.sessionId,presentation:i}).catch(()=>void 0);let a=t.selectedIds?.[0];if(a===`execute`){await ee.current({text:`Execute the approved plan.`,mode:`agent`,planAction:`execute`,openUI:!0});let t=el(E.current,e);t&&D.current.sessionId&&await n.upsertPlanPresentation({sessionId:D.current.sessionId,presentation:{...t,state:{...t.state,executing:!1}}}).catch(()=>void 0),t&&V(t=>t.map(t=>t.role===`assistant`?{...t,parts:t.parts.map(t=>{if(t.type!==`tool-PlanWrite`||t.toolCallId!==e||!t.input||typeof t.input!=`object`)return t;let n=t.input,r=n.presentation;return!r||typeof r!=`object`?t:{...t,input:{...n,executing:!1,presentation:{...r,executing:!1}}}})}:t))}else(a===`refine`||t.text?.trim())&&await ee.current({text:t.text?.trim()||`Refine the plan.`,mode:`plan`,planAction:`refine`,openUI:!0});return{ok:!0}}let r=await n.answerQuestion({sessionId:D.current.sessionId,toolCallId:e,answer:t});return r.message&&await ee.current({text:r.message,planAction:r.planAction}),r},[n,V]),ae=(0,X.useCallback)(e=>rl(e,ie),[ie]);(0,X.useEffect)(()=>{D.current=f},[f]),(0,X.useEffect)(()=>{z.current=c},[c]),(0,X.useEffect)(()=>{w.current=r},[r]),(0,X.useEffect)(()=>{let e=I.current;return()=>{F.current?.abort(),F.current=null;for(let t of e.values())t.abort();e.clear()}},[]),cl({client:n,initialSessionMetadataRef:w,initializedRef:B,recoverFromForbiddenSession:J,refreshSessions:re,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l});let{cancelStreamRecovery:oe,resetStreamAdmission:se,sendMessage:ce,setAdapterCapabilities:le,streamRecoveryRef:ue}=pl({activityLabelRef:O,client:n,messagesRef:E,presentationRef:P,model:e,pendingSendControllerRef:F,projectId:a,planLabelRef:k,queueRef:A,recoverFromForbiddenSession:J,refreshSessions:re,sessionMetadataRef:D,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPresentationSynced:K,setPlanLabelSynced:W,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l,streamControllersRef:I,status:c}),Y=(0,X.useCallback)(()=>{oe();let e=D.current;se(e.sessionId),F.current?.abort(),F.current=null,e.sessionId&&n.abortSession(e).catch(()=>void 0),e.sessionId&&(I.current.get(e.sessionId)?.abort(),I.current.delete(e.sessionId)),ne(),l(`ready`),G(Ic),U(void 0)},[oe,n,ne,se,U,G]),de=(0,X.useCallback)((e,t,r,i,a)=>{let o=D.current.sessionId,s=M.current,c=(e===`steering`?A.current.steering:A.current.followUp).filter(e=>e===r).length,l=(N.current??Promise.resolve()).catch(()=>void 0).then(async()=>{if(!o||D.current.sessionId!==o)return!1;let l=e=>(!e&&a?.staleMessage&&ds(Error(a.staleMessage)),!1),u=A.current,d=e===`steering`?u.steering:u.followUp,f;if(M.current===s)f=d[t]===r?t:void 0;else{if(c!==1)return l(!0);let e=d.reduce((e,t,n)=>(t===r&&e.push(n),e),[]);f=e.length===1?e[0]:void 0}if(f===void 0)return l(M.current!==s);let p=i.type===`delete`?{...u,[e]:d.filter((e,t)=>t!==f)}:{...u,[e]:d.map((e,t)=>t===f?i.text:e)};G(p);let m=M.current;try{let t=await n.mutateQueuedMessage({sessionId:o,lane:e,index:f,expectedText:r,mutation:i});return D.current.sessionId!==o||M.current!==m||G(t.queue),t.status===`applied`}catch(e){throw D.current.sessionId===o&&M.current===m&&A.current===p&&G(u),e}});return N.current=l.then(()=>void 0,()=>void 0),l},[n,G]),fe=(0,X.useCallback)((e,t,n)=>de(e,t,n,{type:`delete`},{staleMessage:`The queued message changed before it could be deleted.`}),[de]),pe=(0,X.useCallback)((e,t,n,r)=>de(e,t,n,{type:`replace`,text:r,lane:e},{staleMessage:`The queued message changed before it could be updated.`}),[de]),me=(0,X.useCallback)(async e=>{oe();let t=R.current+1;R.current=t;let r=()=>R.current===t;e?.preserveRunning===!1?Y():(ne(),l(`ready`));let i=await n.createSession(e?.projectId??T.current??a);r()&&(H(i.session),V([]),K(i.presentation),G(Ic),U(void 0),W(void 0),fi.success(`New session started`),await re())},[n,re,U,V,K,W,G,H,ne,oe,Y,a]),he=(0,X.useCallback)(async(e,t)=>{oe();let r=R.current+1;R.current=r;let i=()=>R.current===r;ne();try{t?.preserveRunning===!1&&Y();let r=await n.resumeSession(e);return!(!i()||(H(r.session),V($c(r.messages,r.planPresentations)),K(r.presentation),G(Ic),U(r.sessionReset?`Started a fresh Pi session`:void 0),W(void 0),l(I.current.has(r.session.sessionId??``)?`streaming`:`ready`),await re(),!i()))}catch(t){if(!i())return!1;let n={setError:d,setStatus:l},r=()=>J(e.projectId),a=await ol(t,r,n)||await sl(t,r,n);if(!i()||a)return!1;let o=t instanceof Error?t:Error(String(t));return d(o),l(`error`),ds(o),!1}},[n,J,re,U,V,K,W,G,H,ne,oe,Y]),ge=(0,X.useCallback)(async(e,t)=>t?he({sessionId:t,projectId:e},{preserveRunning:!0}):(oe(),ne(),H({projectId:e}),V([]),K(Lc),G(Ic),U(void 0),W(void 0),l(`ready`),!0),[oe,he,U,V,W,K,G,H,ne]);(0,X.useEffect)(()=>{ee.current=ce},[ce]),ll({client:n,presentationRef:P,recoveryRef:ue,sessionId:f.sessionId,sessionMetadataRef:D,setActivityLabelSynced:U,setAdapterCapabilities:le,setMessagesSynced:V,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,statusRef:z});let _e=(0,X.useMemo)(()=>ae(o),[o,ae]),ve=(0,X.useCallback)(async(e,t)=>{try{return await n.renameSession(e,t),await re(),!0}catch(e){return ds(e),!1}},[n,re]),ye=(0,X.useCallback)(async e=>{D.current.sessionId===e&&Y();try{await n.deleteSession(e)}catch(e){return ds(e),!1}return D.current.sessionId===e&&(H({}),V([]),K(Lc)),await re(),!0},[n,re,V,K,H,Y]),be=(0,X.useCallback)(()=>D.current,[]);return{activityLabel:g,answerQuestion:ie,appendLocalMessage:te,deleteQueuedMessage:fe,editQueuedMessage:pe,deleteSession:ye,error:u,getMessages:(0,X.useCallback)(()=>E.current,[]),getSessionMetadata:be,messages:_e,planLabel:v,presentation:S,persistOpenUIArtifact:q,queue:b,renameSession:ve,refreshSessions:re,resumeSession:he,sendMessage:ce,sessionMetadata:f,sessions:m,setError:d,startNewSession:me,status:c,stop:Y,switchProject:ge}}function hl(e){let t=window.matchMedia(Mn);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function gl(){return window.matchMedia(Mn).matches}function _l(){return!1}function vl(){return(0,X.useSyncExternalStore)(hl,gl,_l)}var yl=`b`,bl={duration:.36,ease:H},xl={type:`spring`,stiffness:380,damping:35,mass:.75},Sl={duration:.16,ease:V},Cl=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`),wl=(0,X.createContext)(null),Tl=(0,X.createContext)(null);function El(){let e=(0,X.useContext)(wl);if(!e)throw Error(`useAnimatedSidebar must be used inside AnimatedSidebarProvider.`);return e}function Dl(){let e=(0,X.useContext)(Tl);if(!e)throw Error(`Animated Sidebar parts must be used inside AnimatedSidebar.`);return e}function Ol({children:e,open:t,defaultOpen:n=!0,onOpenChange:r,openMobile:i,defaultOpenMobile:a=!1,onOpenMobileChange:o,className:s,style:c,...l}){let[u,d]=(0,X.useState)(n),[f,p]=(0,X.useState)(a),m=vl(),h=G()??!1,g=(0,X.useId)(),_=(0,X.useRef)(null),v=t??u,y=i??f,b=(0,X.useCallback)(e=>{t===void 0&&d(e),r?.(e)},[r,t]),x=(0,X.useCallback)(e=>{i===void 0&&p(e),o?.(e)},[o,i]),S=(0,X.useCallback)(()=>{m?x(!y):b(!v)},[v,m,y,b,x]),C=(0,X.useMemo)(()=>({isMobile:m,layoutId:`${g}-active`,open:v,openMobile:y,reduce:h,setOpen:b,setOpenMobile:x,state:v?`expanded`:`collapsed`,toggleSidebar:S,triggerRef:_}),[v,g,m,y,h,b,x,S]);return(0,X.useEffect)(()=>{let e=e=>{e.key.toLowerCase()===yl&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,Z.jsx)(wl.Provider,{value:C,children:(0,Z.jsx)(`div`,{...l,"data-slot":`sidebar-wrapper`,"data-state":v?`expanded`:`collapsed`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`4.25rem`,"--sidebar-width-mobile":`18rem`,...c},className:F(`group/sidebar-wrapper flex min-h-svh w-full min-w-0`,s),children:e})})}function kl({children:e,className:t,sidebarWidth:n=Tn,style:r,...i}){return(0,Z.jsx)(Ol,{...i,style:{...r,"--sidebar-width":n},className:F(`min-h-0 w-full overflow-hidden rounded-2xl border border-border bg-background`,t),children:e})}function Al({ariaLabel:e,children:t,className:n,side:r}){let i=El(),a=(0,X.useRef)(null),[o,s]=(0,X.useState)(!1),c=(0,X.useMemo)(()=>({collapsed:!1,collapsible:`none`,side:r}),[r]);return(0,X.useEffect)(()=>s(!0),[]),(0,X.useEffect)(()=>{if(!i.openMobile)return;let e=a.current;if(!e)return;let t=i.triggerRef.current,n=document.body,r=window.scrollY,o={left:n.style.left,overflow:n.style.overflow,position:n.style.position,right:n.style.right,top:n.style.top};n.style.position=`fixed`,n.style.top=`-${r}px`,n.style.left=`0`,n.style.right=`0`,n.style.overflow=`hidden`;let s=requestAnimationFrame(()=>{(e.querySelector(Cl)??e).focus({preventScroll:!0})});return()=>{cancelAnimationFrame(s),n.style.position=o.position,n.style.top=o.top,n.style.left=o.left,n.style.right=o.right,n.style.overflow=o.overflow,window.scrollTo(0,r),t?.focus({preventScroll:!0})}},[i.openMobile,i.triggerRef,o]),o?(0,Wi.createPortal)((0,Z.jsxs)(`div`,{className:F(`pointer-events-none fixed inset-0 z-50 md:hidden`,i.openMobile?`visible`:`invisible`),children:[(0,Z.jsx)(U.button,{type:`button`,"aria-label":`Close sidebar`,tabIndex:i.openMobile?0:-1,initial:!1,animate:{opacity:+!!i.openMobile},transition:i.reduce?Sl:bl,onClick:()=>i.setOpenMobile(!1),className:F(`absolute inset-0 bg-black/40`,i.openMobile?`pointer-events-auto`:`pointer-events-none`)}),(0,Z.jsx)(U.div,{ref:a,role:`dialog`,"aria-modal":`true`,"aria-label":e,"aria-hidden":!i.openMobile,inert:!i.openMobile,tabIndex:-1,"data-mobile":`true`,"data-state":i.openMobile?`expanded`:`collapsed`,"data-side":r,initial:!1,animate:{opacity:i.reduce?+!!i.openMobile:1,x:i.reduce?0:i.openMobile?`0%`:r===`left`?`-100%`:`100%`},transition:i.reduce?Sl:bl,onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),i.setOpenMobile(!1);return}if(e.key!==`Tab`)return;let t=a.current?Array.from(a.current.querySelectorAll(Cl)):[];if(t.length===0){e.preventDefault(),a.current?.focus();return}let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())},className:F(`pointer-events-auto absolute inset-y-0 flex h-dvh w-(--sidebar-width-mobile) max-w-[88vw] flex-col overflow-hidden`,`border-border bg-background shadow-2xl will-change-transform`,r===`left`?`left-0 border-r`:`right-0 border-l`,!i.openMobile&&`pointer-events-none`,n),children:(0,Z.jsx)(Tl.Provider,{value:c,children:t})})]}),document.body):null}var jl=(0,X.forwardRef)(function({side:e=`left`,variant:t=`sidebar`,collapsible:n=`icon`,ariaLabel:r=`Sidebar`,children:i,className:a,panelClassName:o,style:s,...c},l){let u=El(),d=n!==`none`&&!u.open,f=d&&n===`offcanvas`,p=t===`floating`||t===`inset`,m=f?`0px`:d?p?`calc(var(--sidebar-width-icon) + 1rem)`:`var(--sidebar-width-icon)`:p?`calc(var(--sidebar-width) + 1rem)`:`var(--sidebar-width)`,h=(0,X.useMemo)(()=>({collapsed:d,collapsible:n,side:e}),[d,n,e]);return u.isMobile?(0,Z.jsx)(Al,{ariaLabel:r,className:a,side:e,children:i}):(0,Z.jsx)(U.aside,{...c,ref:l,initial:!1,"aria-label":r,"data-slot":`sidebar`,"data-state":d?`collapsed`:`expanded`,"data-collapsible":n,"data-variant":t,"data-side":e,transition:u.reduce?{duration:0}:xl,layout:`size`,style:{...s,width:m},className:F(`group/sidebar relative hidden h-auto shrink-0 md:block will-change-transform`,`peer`,e===`right`&&`order-last`,a),children:(0,Z.jsx)(U.div,{initial:!1,animate:{opacity:+!f,x:f?e===`left`?`-120%`:`120%`:`0%`},transition:u.reduce?Sl:bl,className:F(`sticky top-0 flex h-svh w-full flex-col overflow-hidden`,p&&(d?`w-[var(--sidebar-width-icon)]`:`w-[var(--sidebar-width)]`),n===`offcanvas`&&`w-[var(--sidebar-width)]`,t===`sidebar`&&(e===`left`?`border-border border-r bg-background`:`border-border border-l bg-background`),t===`floating`&&`m-2 h-[calc(100svh-1rem)] rounded-2xl bg-sidebar shadow-surface-3`,t===`inset`&&`m-2 h-[calc(100svh-1rem)] rounded-2xl bg-background`,o),children:(0,Z.jsx)(Tl.Provider,{value:h,children:i})})})}),Ml=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=El(),o=a.isMobile?a.openMobile:a.open;return(0,Z.jsx)(Sr,{...r,ref:e=>{a.triggerRef.current=e,typeof i==`function`?i(e):i&&(i.current=e)},type:n,variant:`ghost`,size:`icon`,"aria-label":r[`aria-label`]??`Toggle sidebar`,"aria-expanded":o,"data-slot":`sidebar-trigger`,"data-state":o?`expanded`:`collapsed`,onClick:e=>{t?.(e),e.defaultPrevented||a.toggleSidebar()},className:F(`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,e)})}),Nl=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=El(),o=Dl();return(0,Z.jsx)(`button`,{...r,ref:i,type:n,"data-side":o.side,"aria-label":r[`aria-label`]??`Toggle sidebar`,title:`Toggle sidebar`,tabIndex:-1,onClick:e=>{t?.(e),e.defaultPrevented||a.toggleSidebar()},className:F(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 outline-none md:block`,`after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-transparent after:transition-colors hover:after:bg-border`,`data-[side=right]:right-0 data-[side=right]:translate-x-1/2 data-[side=left]:left-full`,e)})}),Pl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(U.main,{...t,ref:n,"data-slot":`sidebar-inset`,className:F(`relative flex min-h-svh min-w-0 flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-2xl md:peer-data-[variant=inset]:shadow-sm`,e)})}),Fl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-header`,className:F(`flex shrink-0 flex-col gap-2 p-3`,e)})}),Il=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-content`,className:F(`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto overflow-x-hidden overscroll-contain px-2 py-2`,e)})}),Ll=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-footer`,className:F(`flex shrink-0 flex-col gap-2 border-border border-t p-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]`,e)})}),Rl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group`,className:F(`flex w-full min-w-0 flex-col px-1 py-1.5`,e)})}),zl=(0,X.forwardRef)(function({children:e,className:t,...n},r){let{collapsed:i}=Dl();return(0,Z.jsx)(`div`,{...n,ref:r,"aria-hidden":i,"data-slot":`sidebar-group-label`,className:F(`mb-1 h-7 overflow-hidden px-2 text-micro font-medium uppercase tracking-[0.14em] text-muted-foreground transition-opacity`,i?`opacity-0`:`opacity-100`,t),children:e})}),Bl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group-content`,className:F(`w-full min-w-0`,e)})});function Vl({active:e=!1,ariaLabel:t,className:n,title:r,...i}){return(0,Z.jsx)(Sr,{...i,type:`button`,variant:`ghost`,size:`compact`,className:F(Xr,e?$r:qr,n),"aria-label":t,title:r??t})}var Hl=X.createContext(void 0);function Ul(){let e=X.useContext(Hl);if(e===void 0)throw Error(le(64));return e}var Wl=`data-activation-direction`,Gl={tabActivationDirection:e=>({[Wl]:e})},Kl=X.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,style:c,...l}=e,u=e.defaultValue!==void 0,d=X.useRef([]),[f,p]=X.useState(()=>new Map),[m,h]=Gr({controlled:s,default:r,name:`Tabs`,state:`value`}),g=s!==void 0,[_,v]=X.useState(()=>new Map),y=X.useRef(void 0),b=X.useCallback(e=>ql(_,e),[_]),[x,S]=X.useState(()=>({previousValue:m,tabActivationDirection:`none`})),{previousValue:C,tabActivationDirection:w}=x,T=w,E=!1;C!==m&&(T=Jl(C,m,a,_),E=C!=null&&m!=null&&b(m)==null);let D=E?C:m,O=C!==D||w!==T;q(()=>{O&&S({previousValue:D,tabActivationDirection:T})},[D,O,T]);let k=J((e,t)=>{t.activationDirection=Jl(m,e,a,_),i?.(e,t),!t.isCanceled&&h(e)}),A=J((e,t)=>{i?.(e,xe(t,void 0,void 0,{activationDirection:`none`}))}),j=J((e,t)=>(p(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{p(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),M=X.useCallback(e=>f.get(e),[f]),N=X.useCallback(e=>{for(let t of _.values())if(e===t.value)return t.id},[_]),P=X.useMemo(()=>({getTabElementBySelectedValue:b,getTabIdByPanelValue:N,getTabPanelIdByValue:M,onValueChange:k,orientation:a,registerMountedTabPanel:j,setTabMap:v,tabActivationDirection:T,value:m}),[b,N,M,k,a,j,v,T,m]),F=X.useMemo(()=>{for(let e of _.values())if(e.value===m)return e},[_,m]),I=X.useMemo(()=>{for(let e of _.values())if(!e.disabled)return e.value},[_]),L=X.useRef(!u),R=X.useRef(r),z=X.useRef(u),B=X.useRef(!1);q(()=>{if(g)return;function e(e,t){h(e),S({previousValue:e,tabActivationDirection:`none`}),A(e,t),L.current=!1}if(_.size===0){B.current&&m!==null&&!y.current?.isConnected&&e(null,he);return}B.current=!0,y.current=_.keys().next().value;let t=F?.disabled,n=F==null&&m!==null;if(!t&&m===R.current&&(z.current=!1),z.current&&t&&m===R.current)return;let r=L.current;if(t||n){let n=I??null;if(m===n){L.current=!1;return}let i=he;r?i=me:t&&(i=_e),e(n,i);return}r&&F!=null&&(A(m,me),L.current=!1)},[I,g,A,F,h,_,m]);let ee=ae(`div`,e,{state:{orientation:a,tabActivationDirection:T},ref:t,props:l,stateAttributesMapping:Gl});return(0,Z.jsx)(Hl.Provider,{value:P,children:(0,Z.jsx)(Lt,{elementsRef:d,children:ee})})});function ql(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function Jl(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=ql(r,e),c=ql(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return u<l?a:u>l?o:`none`}var Yl=`data-composite-item-active`;function Xl(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=ce(),{ref:i,index:a}=Pt(e),o=n===a,s=X.useRef(null),c=se(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}var Zl=X.createContext(void 0);function Ql(){let e=X.useContext(Zl);if(e===void 0)throw Error(le(65));return e}var $l=X.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:u,getTabPanelIdByValue:d,onValueChange:f,orientation:p,tabActivationDirection:m}=Ul(),{activateOnFocus:h,registerTabResizeObserverElement:g,tabsListElement:_}=Ql(),{highlightedIndex:v,onHighlightedIndexChange:y}=ce(),b=Ht(o),{compositeProps:x,compositeRef:S,index:C}=Xl({metadata:X.useMemo(()=>({disabled:r,id:b,value:a}),[r,b,a])}),w=a===u,T=X.useRef(!1),E=X.useRef(null),D=J(e=>{E.current?.(),E.current=e?g(e):null});q(()=>{if(T.current){T.current=!1;return}if(!(w&&C>-1&&v!==C))return;let e=_;if(e!=null){let t=Ne(we(e));if(t&&De(e,t))return}r||y(C)},[w,C,v,y,r,_]);let{getButtonProps:O,buttonRef:k}=Y({disabled:r,native:s,focusableWhenDisabled:!0}),A=d(a),j=X.useRef(!1),M=X.useRef(!1);function N(e){f(a,xe(ge,e.nativeEvent,void 0,{activationDirection:`none`}))}function P(e){w||r||N(e)}function F(e){w||r||h&&(!j.current||M.current)&&N(e)}function I(e){if(w||r)return;j.current=!0,M.current=e.button===0;let t=we(e.currentTarget);function n(){j.current=!1,M.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return ae(`button`,e,{state:{disabled:r,active:w,orientation:p,tabActivationDirection:m},ref:[t,k,S,D],props:[x,{role:`tab`,"aria-controls":A,"aria-selected":w,id:b,onClick:P,onFocus:F,onPointerDown:I,[Yl]:w?``:void 0,onKeyDownCapture(){T.current=!0}},l,O],stateAttributesMapping:Gl})});function eu(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:c,enableHomeAndEndKeys:l=!1,stopEventPropagation:u,disabledIndices:d,modifierKeys:f=ie}=e,[p,m]=X.useState(0),h=r!=null,g=X.useRef(null),_=se(g,c),v=X.useRef([]),y=X.useRef(!1),b=X.useRef(null),x=o??p,S=J((e,t=!1)=>{if(b.current=v.current[e]??null,(s??m)(e),t){let t=v.current[e];ut(g.current,t,a,n)}}),C=J(e=>{if(e.size===0)return;if(y.current){let e=v.current,t=e.indexOf(b.current);if(t===-1){let t=e[x];!t||Ae(e,x,d)?S(tu(e,d)):b.current=t}else t!==x&&S(t);return}y.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)S(i);else if(Ae(t,x,d)){let e=Te(t,{disabledIndices:d});Ee(t,e)||S(e)}ut(g.current,r,a,n)});q(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(Ae(e,x,d)){let t=Te(e,{disabledIndices:d});Ee(e,t)||S(t)}},[d,o,x,v,S]);let w=J((e,t,n)=>i?i(e,t,n,v):n),T=J(e=>{let o=e.key===`Home`||e.key===`End`;if(!Ct.has(e.key)||!l&&o||nu(e,f)||!g.current)return;let s=a===`rtl`,c=s?mt:ct,p=s?ct:mt,m=n===`vertical`?St:c,_=n===`vertical`?bt:p,y=Oe(e.nativeEvent);if(y!=null&&wt(y)&&!Mt(y)){let t=y.selectionStart,n=y.selectionEnd,r=y.value;if(t==null||e.shiftKey||t!==n||e.key!==_&&t<r.length||e.key!==m&&t>0)return}let b=x,C=Me(v,d),T=Je(v,d);r!=null&&(b=r({disabledIndices:d,elementsRef:v,event:e,highlightedIndex:x,loopFocus:t,maxIndex:T,minIndex:C,onLoop:w,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,D=n!==`vertical`&&e.key===p||n!==`horizontal`&&e.key===`ArrowUp`;l&&(e.key===`Home`?b=C:e.key===`End`&&(b=T)),b===x&&(E||D)&&(t&&b===T&&E?(b=C,i&&(b=i(e,x,b,v))):t&&b===C&&D?(b=T,i&&(b=i(e,x,b,v))):b=Te(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!Ee(v.current,b)&&(u&&e.stopPropagation(),(h||o||E||D)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{v.current[b]?.focus()}))});return{props:{ref:_,onFocus(e){let t=g.current,n=Oe(e.nativeEvent);!t||n==null||!wt(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function tu(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(!i||Ae(e,r,t))){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function nu(e,t){for(let n of _t)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function ru(e){let{render:t,className:n,style:r,refs:i=ie,props:a=ie,state:o=ne,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:b=!1,tag:x=`div`,...S}=e,{props:C,highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:E,onMapChange:D,relayKeyboardEvent:O}=eu({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:Nt(),disabledIndices:v,modifierKeys:y}),k=ae(x,e,{state:o,ref:i,props:[C,...a,S],stateAttributesMapping:s}),A=X.useMemo(()=>({highlightedIndex:w,onHighlightedIndexChange:T,highlightItemOnHover:b,relayKeyboardEvent:O}),[w,T,b,O]);return(0,Z.jsx)(ue.Provider,{value:A,children:(0,Z.jsx)(Lt,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var iu=X.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:l,tabActivationDirection:u}=Ul(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);q(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{h.current.forEach(e=>{e()})});return _.current=e,p&&e.observe(p),g.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),_.current=null}},[p]);let v=J(e=>(h.current.add(e),()=>{h.current.delete(e)})),y=J(e=>(g.current.add(e),_.current?.observe(e),()=>{g.current.delete(e),_.current?.unobserve(e)})),b={orientation:c,tabActivationDirection:u},x={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},S=X.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:v,registerTabResizeObserverElement:y,tabsListElement:p}),[n,v,y,p]);return(0,Z.jsx)(Zl.Provider,{value:S,children:(0,Z.jsx)(ru,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:Gl,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:ie})})});function au({className:e,orientation:t=`horizontal`,...n}){return(0,Z.jsx)(Kl,{"data-slot":`tabs`,"data-orientation":t,className:F(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var ou=Cr(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function su({className:e,variant:t=`default`,...n}){return(0,Z.jsx)(iu,{"data-slot":`tabs-list`,"data-variant":t,className:F(ou({variant:t}),e),...n})}function cu({className:e,...t}){return(0,Z.jsx)($l,{"data-slot":`tabs-trigger`,className:F(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[color,background-color,border-color,box-shadow] duration-150 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function lu(e,t={}){let{axis:n=`y`}=t,r=(0,X.useRef)(new Map),i=(0,X.useRef)(new Map),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)([]),l=(0,X.useRef)([]),u=(0,X.useRef)(null),d=(0,X.useRef)(null),f=(0,X.useCallback)(()=>{if(!e.current)return;let t=[];r.current.forEach((e,n)=>{t[n]={top:e.offsetTop,height:e.offsetHeight,left:e.offsetLeft,width:e.offsetWidth}});let n=l.current,i=n.length!==t.length;for(let e=0;!i&&e<t.length;e++){let r=n[e],a=t[e];r!==a&&(i=!r||!a||r.top!==a.top||r.left!==a.left||r.width!==a.width||r.height!==a.height)}i&&(l.current=t,c(t))},[e]),p=(0,X.useCallback)(()=>{d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null,f()})},[f]),m=(0,X.useCallback)((e,t)=>{let n=i.current.get(e);if(n&&(n.disconnect(),i.current.delete(e)),t){if(r.current.set(e,t),typeof ResizeObserver<`u`){let n=new ResizeObserver(()=>p());n.observe(t),i.current.set(e,n)}}else r.current.delete(e);p()},[p]),h=(0,X.useCallback)(t=>{let r=t.clientX,i=t.clientY;u.current!==null&&cancelAnimationFrame(u.current),u.current=requestAnimationFrame(()=>{u.current=null;let t=e.current;if(!t)return;let a=t.getBoundingClientRect(),s=n===`x`?r:i,c=null,d=1/0,f=null,p=l.current,m=n===`x`?t.scrollLeft:t.scrollTop,h=n===`x`?t.clientLeft:t.clientTop,g=n===`x`?a.left:a.top,_=n===`x`?t.offsetWidth:t.offsetHeight,v=n===`x`?a.width:a.height,y=_>0?v/_:1;for(let e=0;e<p.length;e++){let t=p[e];if(!t)continue;let r=g+(h+(n===`x`?t.left:t.top)-m)*y,i=(n===`x`?t.width:t.height)*y,a=r+i;s>=r&&s<=a&&(f=e);let o=r+i/2,l=Math.abs(s-o);l<d&&(d=l,c=e)}o(f??c)})},[n,e]),g=(0,X.useCallback)(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),o(null)},[]);return(0,X.useEffect)(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>p());return n.observe(t),()=>n.disconnect()},[e,p]),(0,X.useEffect)(()=>()=>{u.current!==null&&cancelAnimationFrame(u.current),d.current!==null&&cancelAnimationFrame(d.current),i.current.forEach(e=>{e.disconnect()}),i.current.clear()},[]),{activeIndex:a,setActiveIndex:o,itemRects:s,onMouseMove:h,onMouseLeave:g,registerItem:m,measureItems:f}}var uu=`bg-background shadow-sm`,du=`rounded-full border border-border/70 bg-sidebar p-0.5 shadow-sm backdrop-blur`,fu=`rounded-full`;function pu(e,t){return t?e?`text-foreground/75`:`text-foreground`:e?`text-foreground/55`:`text-muted-foreground`}var mu=(0,X.createContext)(null);function hu(){let e=(0,X.useContext)(mu);if(!e)throw Error(`useTabsSubtle must be used within a TabsSubtle`);return e}function gu({selectedRect:e,hoverRect:t,focusRect:n,isHovering:r,isHoveringSelected:i}){let a=G()?{duration:0}:void 0;return(0,Z.jsxs)(Z.Fragment,{children:[e?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute`,uu,fu),layout:!0,initial:!1,style:{left:e.left,top:e.top,width:e.width,height:e.height},animate:{opacity:r?.8:1},transition:a??{...z.moderate.enter,opacity:{duration:.08}}}):null,(0,Z.jsx)(W,{children:t&&!i?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute`,uu,fu),layout:!0,style:{left:t.left,top:t.top,width:t.width,height:t.height},initial:{opacity:0},animate:{opacity:.4},exit:{opacity:0,transition:a??z.fast.exit},transition:a??{...z.fast.enter,opacity:{duration:.08}}}):null}),(0,Z.jsx)(W,{children:n?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute z-20 border border-ring`,fu),layout:!0,initial:!1,style:{left:n.left-2,top:n.top-2,width:n.width+4,height:n.height+4},exit:{opacity:0,transition:a??z.fast.exit},transition:a??{...z.fast.enter,opacity:{duration:.08}}}):null})]})}var _u=(0,X.forwardRef)(({children:e,selectedIndex:t,onSelect:n,idPrefix:r,activeLabel:i=!1,variant:a=`default`,className:o,...s},c)=>{let l=(0,X.useRef)(null),u=(0,X.useRef)(!1),d=a===`pill`,{activeIndex:f,setActiveIndex:p,itemRects:m,onMouseMove:h,onMouseLeave:g,registerItem:_}=lu(l,{axis:`x`}),v=(0,X.useCallback)((e,t)=>{_(e,t)},[_]),y=(0,X.useCallback)(e=>{u.current=!0,h(e)},[h]),b=(0,X.useCallback)(()=>{u.current=!1,g()},[g]),[x,S]=(0,X.useState)(null),C=t>=0?m[t]:void 0,w=f===null?null:m[f],T=x===null?null:m[x],E=f===t,D=f!==null&&!E,O=(0,X.useMemo)(()=>({registerTab:v,hoveredIndex:f,selectedIndex:t,idPrefix:r,activeLabel:i,variant:a,onSelect:n}),[v,f,t,r,i,a,n]);return(0,Z.jsx)(mu.Provider,{value:O,children:(0,Z.jsx)(au,{className:`data-horizontal:!flex-row !gap-0.5`,value:t>=0?t:null,onValueChange:e=>{let t=typeof e==`number`?e:Number(e);Number.isInteger(t)&&n(t)},render:(0,Z.jsxs)(su,{activateOnFocus:!1,variant:`line`,ref:e=>{l.current=e,typeof c==`function`?c(e):c&&(c.current=e)},onMouseMove:y,onMouseLeave:b,onFocus:e=>{let t=e.target.closest(`[data-proximity-index]`)?.getAttribute(`data-proximity-index`);if(t!=null){let n=Number(t);p(n),S(e.target.matches(`:focus-visible`)?n:null)}},onBlur:e=>{l.current?.contains(e.relatedTarget)||(S(null),!u.current&&p(null))},className:F(`relative flex max-w-full [scrollbar-width:none] items-center gap-0.5 overflow-x-auto select-none [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden`,d?du:`-mx-1 -my-1 px-1 py-1`,o),...s,children:[(0,Z.jsx)(gu,{selectedRect:C,hoverRect:w,focusRect:T,isHovering:D,isHoveringSelected:E}),e]})})})});_u.displayName=`TabsSubtle`;var vu=(0,X.forwardRef)(({icon:e,label:t,index:n,badge:r,className:i,"aria-label":a,onClick:o,...s},c)=>{let l=(0,X.useRef)(null),{registerTab:u,hoveredIndex:d,selectedIndex:f,idPrefix:p,activeLabel:m,variant:h,onSelect:g}=hu();(0,X.useEffect)(()=>(u(n,l.current),()=>u(n,null)),[n,u]);let _=f===n,v=d===n||_,y=m&&!!e,b=!y||_,x=h===`pill`,S=pu(x,v),C=a??(y&&!b?t:void 0),w=(0,Z.jsxs)(`span`,{className:F(`inline-grid whitespace-nowrap`,x?`text-label font-medium`:`text-title`),children:[(0,Z.jsx)(`span`,{className:`invisible col-start-1 row-start-1 font-[550] [text-box:trim-both_cap_alphabetic]`,"aria-hidden":`true`,children:t}),(0,Z.jsx)(`span`,{className:F(`col-start-1 row-start-1 transition-[color,font-weight] duration-80 [text-box:trim-both_cap_alphabetic]`,_?`font-[550]`:`font-normal`,S),children:t})]});return(0,Z.jsxs)(cu,{ref:e=>{let t=e;l.current=t,typeof c==`function`?c(t):c&&(c.current=t)},value:n,"data-proximity-index":n,id:p?`${p}-tab-${n}`:void 0,"aria-controls":p?`${p}-panel-${n}`:void 0,"aria-label":C,className:F(`relative z-10 flex flex-none cursor-pointer items-center border-none !bg-transparent !shadow-none outline-none after:hidden`,x?`h-8 px-2.5`:y?`h-8 px-3`:`h-9 gap-2 px-3`,fu,i),...s,onClick:e=>{o?.(e),_&&g(n)},children:[e?(0,Z.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsx)(e,{"data-icon":`inline-start`,size:x?14:16,strokeWidth:v?2:1.5,className:F(`shrink-0 transition-[color,stroke-width] duration-80`,S)}),r===void 0?null:(0,Z.jsx)(`span`,{className:F(`text-caption tabular-nums transition-colors duration-80`,S),children:r})]}):null,y?null:w,(0,Z.jsx)(W,{initial:!1,children:y&&b?(0,Z.jsx)(U.span,{className:`ml-2 overflow-hidden`,initial:{clipPath:`inset(0 100% 0 0)`,opacity:0},animate:{clipPath:`inset(0 0% 0 0)`,opacity:1},exit:{clipPath:`inset(0 100% 0 0)`,opacity:0},transition:{...z.fast.enter,opacity:{duration:.06}},children:w},`label`):null})]})});vu.displayName=`TabsSubtleItem`;var yu=`[&_[data-proximity-index]]:!h-7 [&_[data-proximity-index]]:!px-2 [&_[data-proximity-index]]:!text-caption`;function bu({compact:e=!1}={}){let{reopenRightPanel:t,rightPanel:n}=mi();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`min-[960px]:hidden`,children:(0,Z.jsx)(xu,{compact:e,idPrefix:`right-panel-mobile`})}),(0,Z.jsx)(`div`,{className:`hidden min-[960px]:block`,children:n===null?(0,Z.jsx)(Su,{compact:e,onOpen:t}):null})]})}function xu({compact:e=!1,idPrefix:t=`right-panel`}){let{artifactRuns:n,transcriptSummary:r,rightPanel:i,setRightPanel:a,resources:o}=mi(),{workspaceTree:s}=pi();return(0,Z.jsx)(Cu,{activePanel:i,onPanelChange:a,resources:o,replRuns:n.flatMap(e=>e.artifacts).filter(e=>e.kind===`ipython`).length,sessionBlocks:r.openUIBlocks.length,openUIArtifacts:n.flatMap(e=>e.artifacts).filter(e=>e.kind===`openui-html`).length,workspace:s,idPrefix:t,compact:e})}function Su({compact:e=!1,onOpen:t}){return(0,Z.jsx)(Vl,{ariaLabel:`Open side panel`,className:e?`!size-7 !rounded-[7px] !px-0`:`size-9 justify-center px-0`,onClick:t,children:(0,Z.jsx)(pa,{className:`size-4`})})}function Cu({activePanel:e,onPanelChange:t,resources:n,replRuns:r=0,sessionBlocks:i=0,openUIArtifacts:a=0,workspace:o,idPrefix:s=`right-panel`,compact:c=!1}){let l=qt(n,o).reduce((e,t)=>e+t.items.length,0),u=(0,X.useMemo)(()=>{let e=i+a;return e>0?e:void 0},[a,i]),d=(0,X.useMemo)(()=>ur.map(e=>({...e,badge:e.id===`workspace`?u:e.id===`session`?l||void 0:e.id===`repl`&&r||void 0})),[r,u,l]),f=d.find(t=>e!==null&&t.panels.includes(e)),p=f?d.indexOf(f):-1,m=(0,X.useMemo)(()=>d.map(e=>({value:e.id,label:e.title,icon:e.icon})),[d]);return(0,Z.jsx)(wu,{"data-testid":`right-panel-inline-launcher`,"data-active-panel":e??`closed`,activePanel:f?.id??null,options:m,panelOptions:d,idPrefix:s,selectedIndex:p,onSelect:e=>{let n=d.at(e);n&&t(f?.id===n.id?null:n.defaultPanel)},compact:c})}function wu({activePanel:e,className:t,compact:n=!1,idPrefix:r,onSelect:i,options:a,panelOptions:o,selectedIndex:s,...c}){let l=(0,X.useRef)(null),u=(0,X.useRef)(null),[d,f]=(0,X.useState)(!1),p=(0,X.useCallback)(()=>{let e=l.current,t=u.current;if(!e||!t)return;let n=e.parentElement?.clientWidth??0,r=n>0?n:e.clientWidth;if(r<=0)return;let i=t.firstElementChild,a=Math.max(t.scrollWidth,i instanceof HTMLElement?i.scrollWidth:0,t.getBoundingClientRect().width,i instanceof HTMLElement?i.getBoundingClientRect().width:0);a<=0||f(a>r+1)},[]);(0,X.useLayoutEffect)(()=>{p();let e=l.current,t=u.current;if(!e||!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(p);return e.parentElement&&n.observe(e.parentElement),n.observe(e),n.observe(t),()=>n.disconnect()},[p,o,s]);let m=(0,X.useCallback)(e=>{let t=o.findIndex(t=>t.id===e);t>=0&&i(t)},[i,o]);return(0,Z.jsxs)(`div`,{ref:l,className:`relative ${d?`w-full`:`w-fit`} min-w-0 max-w-full overflow-hidden ${t??``}`,"data-panel-launcher-mode":d?`dropdown`:`tabs`,...c,children:[d?(0,Z.jsx)(Rt,{"aria-label":`Select panel`,className:`w-full min-w-0 max-w-full rounded-full border-border/70 bg-sidebar ${n?`h-7`:``}`,onValueChange:m,options:a,placeholder:`Open panel`,value:e}):(0,Z.jsx)(_u,{activeLabel:!0,className:`w-fit max-w-full ${n?yu:``}`,idPrefix:r,selectedIndex:s,onSelect:i,children:o.map((e,t)=>(0,Z.jsx)(vu,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))}),(0,Z.jsx)(`div`,{ref:u,"aria-hidden":`true`,className:`pointer-events-none invisible absolute top-0 left-0 -z-10 w-max max-w-none`,"data-panel-launcher-measurement":!0,inert:!0,children:(0,Z.jsx)(_u,{activeLabel:!0,className:`w-max max-w-none ${n?yu:``}`,idPrefix:`${r}-measurement`,selectedIndex:s,onSelect:()=>void 0,children:o.map((e,t)=>(0,Z.jsx)(vu,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))})})]})}function Tu({children:e,dataTestid:t,headerActions:n,icon:r,onClose:i,open:a,title:o}){let s=(0,X.useRef)(null),c=(0,X.useId)(),l=(0,X.useRef)(!1),u=(0,X.useEffectEvent)(e=>{s.current&&e.target===s.current&&s.current.close()});return(0,X.useEffect)(()=>{if(!a)return;let e=s.current;if(!e)return;let t=e=>u(e);return e.addEventListener(`click`,t),()=>e.removeEventListener(`click`,t)},[a]),(0,X.useEffect)(()=>{let e=s.current;if(!e)return;if(!a){e.open&&(l.current=!0,e.close(),l.current=!1);return}let t=window.matchMedia(`(min-width: 960px)`),n=()=>{if(t.matches){e.open&&(l.current=!0,e.close());return}e.open||(e.showModal(),e.focus())};return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[a]),a?(0,Z.jsx)(`dialog`,{ref:s,"data-testid":t,className:`fixed top-[var(--chat-chrome-top)] left-auto m-0 max-h-[calc(100dvh-var(--chat-chrome-top)-max(0.75rem,env(safe-area-inset-bottom)))] h-[calc(100dvh-var(--chat-chrome-top)-max(0.75rem,env(safe-area-inset-bottom)))] [inset-inline-start:auto] [inset-inline-end:max(0.75rem,env(safe-area-inset-right))] ${ni} backdrop:bg-black/20 ${jn}`,"aria-labelledby":c,onClose:()=>{if(l.current){l.current=!1;return}i?.()},children:(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,Z.jsx)(`span`,{id:c,className:`sr-only`,children:o??`Panel`}),o&&(0,Z.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-[var(--density-pad-x)]`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-label font-medium text-foreground/80`,children:[r&&(0,Z.jsx)(r,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:o})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n,i&&(0,Z.jsx)(Sr,{type:`button`,onClick:()=>{let e=s.current;e&&e.open?e.close():i?.()},variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:top-1/2 after:left-1/2 after:size-10 after:-translate-x-1/2 after:-translate-y-1/2 text-foreground/40 hover:text-foreground/70`,"aria-label":`Close panel`,title:`Close panel`,children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})}):null}function Eu(e){return`agent-tab-${encodeURIComponent(e)}`}function Du(e){return`agent-tab-panel-${encodeURIComponent(e)}`}function Ou(e){switch(e){case`queued`:return`queued`;case`running`:case`recovering`:return`streaming`;case`error`:case`failed`:return`error`;case`cancelled`:return`cancelled`;case`done`:return`complete`;default:return`ready`}}function ku(e){switch(e){case`running`:case`recovering`:return`bg-success motion-safe:animate-pulse`;case`error`:case`failed`:return`bg-destructive`;case`queued`:return`bg-warning`;case`cancelled`:return`bg-foreground/35`;default:return`bg-foreground/35`}}function Au({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i}){let a=(0,X.useRef)(new Map),o=(0,X.useCallback)((e,t)=>{t?a.current.set(e,t):a.current.delete(e)},[]);(0,X.useEffect)(()=>{for(let t of a.current.keys())e.some(e=>e.id===t)||a.current.delete(t)},[e]);let s=(0,X.useCallback)(t=>{let r=e[t];r&&(a.current.get(r.id)?.focus(),n(r.id))},[n,e]),c=(0,X.useCallback)((t,n)=>{let r=e.findIndex(e=>e.id===n);if(r<0)return;let i;t.key===`ArrowRight`&&(i=(r+1)%e.length),t.key===`ArrowLeft`&&(i=(r-1+e.length)%e.length),t.key===`Home`&&(i=0),t.key===`End`&&(i=e.length-1),i!==void 0&&(t.preventDefault(),s(i))},[s,e]);return(0,Z.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-1`,"data-testid":`agent-tab-bar`,children:[(0,Z.jsx)(`div`,{"aria-label":`Agent conversations`,className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto overscroll-contain [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,role:`tablist`,children:e.map(e=>{let i=e.id===t,a=Ou(e.status);return(0,Z.jsxs)(`div`,{className:`group/tab relative min-w-0 flex-1 max-w-[164px] basis-[164px]`,"data-tab-id":e.id,children:[(0,Z.jsxs)(Sr,{ref:t=>o(e.id,t),"aria-controls":Du(e.id),"aria-selected":i,"aria-label":`${e.label}, ${a}`,className:F(`h-7 w-full min-w-0 justify-start text-start gap-1.5 rounded-[7px] border border-transparent px-2 text-label font-medium leading-none transition-colors motion-reduce:transition-none`,i?`bg-surface-4 text-foreground shadow-none`:`bg-transparent text-foreground/45 hover:bg-foreground/5 hover:text-foreground/75`,e.kind===`subagent`&&r&&`pe-7`),"data-state":i?`active`:`inactive`,id:Eu(e.id),onClick:()=>n(e.id),onKeyDown:t=>c(t,e.id),role:`tab`,size:`compact`,tabIndex:i?0:-1,type:`button`,variant:`ghost`,children:[e.kind===`activity`?(0,Z.jsx)(Kt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):e.kind===`main`?(0,Z.jsx)(Jt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:F(`size-1.5 shrink-0 rounded-full`,ku(e.status))}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:e.label})]}),e.kind===`subagent`&&r?(0,Z.jsx)(Sr,{"aria-label":`Close ${e.label} tab`,className:`absolute top-1/2 left-auto size-5 -translate-y-1/2 rounded-[5px] p-0 text-foreground/35 opacity-0 transition-opacity motion-reduce:transition-none hover:bg-foreground/10 hover:text-foreground/75 focus-visible:opacity-100 group-hover/tab:opacity-100 [inset-inline-start:auto] [inset-inline-end:0.25rem]`,onClick:t=>{t.stopPropagation(),r(e.id)},size:`icon-compact`,title:`Close ${e.label} tab`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(xr,{"aria-hidden":`true`,className:`size-3`})}):null]},e.id)})}),i?(0,Z.jsx)(Sr,{"aria-label":`New chat`,className:F(Zr,`relative z-10 size-7 shrink-0 rounded-[7px] text-foreground/50 hover:bg-foreground/7 hover:text-foreground/85`),"data-testid":`new-chat-tab`,onClick:e=>{e.preventDefault(),e.stopPropagation(),i()},size:`icon-compact`,title:`New chat`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})}var ju=`https://docs.qredence.ai`;function Mu({className:e}){return(0,Z.jsx)(`svg`,{width:`97`,height:`93`,viewBox:`0 0 97 93`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M53.72 0.17C53.27 0.24 52.22 0.43 51.40 0.60C50.58 0.78 49.27 1.11 48.49 1.36C47.71 1.61 46.34 2.17 45.43 2.60C44.52 3.03 43.18 3.79 42.44 4.29C41.71 4.78 40.62 5.62 40.06 6.14C39.47 6.65 38.58 7.54 38.06 8.12C37.53 8.69 36.68 9.81 36.16 10.59C35.65 11.36 34.92 12.65 34.56 13.42C34.20 14.20 33.73 15.38 33.50 16.04C33.29 16.69 32.98 17.83 32.83 18.57C32.67 19.31 32.46 20.65 32.35 21.56C32.26 22.49 32.22 24.04 32.26 25.14C32.31 26.22 32.52 28.03 32.73 29.17C32.93 30.32 33.31 31.97 33.55 32.83C33.79 33.70 34.29 35.24 34.68 36.27C35.07 37.30 35.77 38.97 36.26 40.00C36.76 41.03 37.64 42.67 38.22 43.66C38.80 44.64 39.73 46.12 40.28 46.94C40.83 47.76 41.76 49.05 42.31 49.79C42.88 50.55 44.06 51.99 44.92 53.00C45.79 54.02 46.95 55.36 47.52 55.97C48.07 56.59 50.28 58.93 52.43 61.18C54.58 63.42 58.20 67.08 60.48 69.32C64.30 73.02 64.62 73.38 64.36 73.56C64.21 73.68 63.57 74.02 62.94 74.35C62.30 74.67 61.26 75.14 60.63 75.40C59.99 75.65 58.90 76.04 58.20 76.28C57.49 76.50 56.28 76.83 55.51 77.00C54.73 77.16 53.39 77.41 52.52 77.53C51.57 77.68 49.92 77.77 48.31 77.77C46.65 77.77 45.03 77.68 43.98 77.53C43.06 77.40 41.41 77.07 40.35 76.80C39.29 76.53 37.74 76.07 36.92 75.76C36.10 75.44 34.70 74.83 33.79 74.37C32.87 73.92 31.58 73.20 30.87 72.77C30.17 72.34 28.96 71.49 28.19 70.89C27.41 70.28 26.07 69.08 25.20 68.22C24.33 67.35 23.05 65.87 22.35 64.93C21.65 63.99 20.77 62.71 20.39 62.10C20.02 61.48 19.48 60.51 19.18 59.93C18.90 59.35 18.41 58.27 18.11 57.54C17.80 56.81 17.35 55.53 17.11 54.70C16.85 53.88 16.50 52.48 16.30 51.57C16.11 50.66 15.87 48.88 15.77 47.61C15.63 45.87 15.63 44.73 15.75 42.98C15.85 41.72 16.06 39.97 16.24 39.10C16.42 38.24 16.74 36.92 16.94 36.19C17.15 35.46 17.59 34.18 17.91 33.36C18.24 32.53 18.89 31.13 19.35 30.22C19.81 29.31 20.57 28.01 21.04 27.31C21.48 26.61 22.29 25.50 22.81 24.85C23.33 24.19 24.48 22.92 25.36 22.01C26.31 21.02 27.11 20.05 27.34 19.57C27.56 19.16 27.84 18.38 27.96 17.87C28.08 17.35 28.19 16.56 28.19 16.11C28.19 15.66 28.08 14.86 27.95 14.31C27.83 13.78 27.53 12.98 27.28 12.53C27.04 12.08 26.53 11.38 26.14 10.98C25.74 10.57 25.10 10.02 24.68 9.75C24.27 9.48 23.53 9.11 23.04 8.94C22.54 8.77 21.66 8.59 21.09 8.54C20.40 8.49 19.72 8.55 19.05 8.71C18.48 8.84 17.65 9.12 17.18 9.35C16.59 9.63 15.79 10.26 14.63 11.41C13.69 12.30 12.38 13.71 11.72 14.53C11.05 15.33 10.05 16.60 9.51 17.37C8.97 18.11 8.17 19.29 7.73 19.99C7.30 20.69 6.48 22.13 5.93 23.20C5.37 24.28 4.64 25.80 4.31 26.61C3.97 27.40 3.43 28.85 3.09 29.80C2.76 30.77 2.30 32.34 2.06 33.28C1.82 34.22 1.45 35.94 1.25 37.09C1.04 38.24 0.81 39.95 0.72 40.89C0.64 41.84 0.57 43.75 0.57 45.15C0.57 46.55 0.64 48.46 0.72 49.40C0.81 50.35 1.00 51.96 1.18 52.99C1.34 54.02 1.75 55.87 2.06 57.09C2.37 58.33 2.94 60.21 3.33 61.27C3.72 62.33 4.42 64.05 4.88 65.08C5.34 66.11 6.14 67.65 6.61 68.52C7.09 69.38 8.02 70.86 8.64 71.80C9.29 72.74 10.36 74.22 11.06 75.08C11.75 75.95 12.85 77.22 13.50 77.91C14.14 78.59 15.38 79.80 16.24 80.58C17.11 81.35 18.45 82.49 19.23 83.07C20.01 83.67 21.45 84.68 22.44 85.33C23.42 85.97 25.17 86.98 26.32 87.58C27.47 88.16 29.32 89.01 30.43 89.46C31.53 89.91 33.11 90.48 33.93 90.73C34.76 90.98 36.10 91.36 36.92 91.57C37.74 91.76 39.19 92.07 40.13 92.24C41.07 92.40 42.92 92.64 44.24 92.78C45.55 92.90 47.40 93 48.34 93C49.28 93 51.10 92.90 52.37 92.78C53.64 92.66 55.49 92.42 56.48 92.24C57.46 92.07 58.94 91.76 59.76 91.55C60.58 91.36 61.90 90.98 62.67 90.73C63.45 90.48 64.93 89.94 65.96 89.54C66.99 89.13 68.71 88.36 69.77 87.82L69.80 87.80L69.80 87.80C70.85 87.27 71.95 86.71 72.23 86.54C72.51 86.37 73.47 85.77 74.36 85.21L75.96 84.19C78.34 86.36 80.13 88.00 81.49 89.25C83.14 90.76 84.26 91.67 84.92 92.01C85.46 92.30 86.32 92.64 86.86 92.76C87.40 92.90 88.13 93 88.50 93C88.88 93 89.58 92.90 90.07 92.78C90.56 92.64 91.37 92.34 91.86 92.10C92.36 91.87 93.03 91.45 93.34 91.18C93.67 90.91 94.24 90.28 94.59 89.79C94.95 89.30 95.37 88.54 95.54 88.12C95.68 87.69 95.88 86.88 95.97 86.33C96.06 85.67 96.06 84.95 95.97 84.31C95.88 83.74 95.61 82.85 95.36 82.30C95.10 81.73 94.71 81.04 94.49 80.76C94.25 80.47 92.44 78.74 90.46 76.92C88.49 75.08 86.86 73.56 86.86 73.52C86.86 73.47 87.47 72.52 88.22 71.40C88.97 70.26 90.12 68.26 90.77 66.95C91.44 65.63 92.31 63.74 92.70 62.74C93.10 61.72 93.67 60.11 93.95 59.15C94.25 58.18 94.65 56.69 94.85 55.82C95.04 54.96 95.31 53.64 95.43 52.91C95.57 52.18 95.76 50.49 95.89 49.18C96.01 47.87 96.12 46.12 96.12 45.30C96.12 44.48 96.01 42.70 95.89 41.34C95.77 39.98 95.54 38.10 95.36 37.16C95.19 36.22 94.89 34.77 94.68 33.95C94.48 33.13 94.07 31.73 93.77 30.82C93.49 29.91 93.00 28.53 92.68 27.76C92.37 26.98 91.83 25.73 91.50 24.99C91.16 24.26 90.43 22.84 89.88 21.86C89.34 20.87 88.32 19.23 87.62 18.20C86.94 17.17 85.73 15.53 84.95 14.54C84.16 13.56 82.53 11.77 81.34 10.57C80.14 9.38 78.47 7.84 77.60 7.15C76.74 6.47 75.23 5.38 74.25 4.72C73.26 4.08 71.72 3.18 70.81 2.75C69.90 2.30 68.56 1.73 67.83 1.48C67.09 1.21 65.94 0.88 65.29 0.72C64.63 0.57 63.36 0.35 62.45 0.21C61.35 0.06 59.78 -0.01 57.67 0.00C55.94 0.02 54.16 0.09 53.72 0.17ZM54.24 15.47C54.82 15.33 55.45 15.20 55.66 15.17C55.87 15.13 56.81 15.10 57.75 15.08C58.69 15.08 60.08 15.16 60.81 15.28C61.54 15.38 62.56 15.63 63.05 15.83C63.54 16.04 64.38 16.44 64.91 16.74C65.45 17.04 66.57 17.78 67.41 18.41C68.26 19.04 69.63 20.23 70.48 21.07C71.32 21.92 72.47 23.17 73.04 23.87C73.60 24.58 74.54 25.88 75.14 26.79C75.75 27.70 76.60 29.13 77.07 30.00C77.51 30.86 78.19 32.30 78.55 33.21C78.90 34.12 79.43 35.58 79.68 36.49C79.93 37.40 80.29 38.86 80.46 39.77C80.68 40.89 80.80 42.31 80.84 44.25C80.90 45.97 80.86 47.67 80.75 48.58C80.67 49.40 80.41 50.88 80.22 51.87C80.01 52.85 79.53 54.57 79.16 55.68C78.78 56.78 78.08 58.50 77.60 59.48C77.13 60.47 76.47 61.66 75.59 63.02L73.35 60.81C72.11 59.59 69.30 56.78 67.09 54.56C64.88 52.35 62.12 49.51 60.97 48.29C59.81 47.05 58.17 45.24 57.30 44.25C56.43 43.27 55.28 41.90 54.75 41.19C54.19 40.49 53.28 39.22 52.72 38.36C52.15 37.49 51.39 36.28 51.03 35.67C50.67 35.06 50.09 33.94 49.75 33.21C49.40 32.47 48.88 31.16 48.58 30.29C48.28 29.43 47.89 28.07 47.74 27.26C47.55 26.34 47.45 25.22 47.45 24.13C47.45 23.17 47.55 22.05 47.67 21.52C47.79 21.01 48.10 20.17 48.36 19.65C48.63 19.13 49.24 18.32 49.75 17.80C50.43 17.11 50.98 16.74 51.93 16.29C52.63 15.96 53.66 15.59 54.24 15.47Z`,fill:`currentColor`})})}function Nu({onOpenSettings:e,compact:t=!1,label:n=`Fleet Prime Agent`,className:r}){let i=`flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left text-label leading-4 text-foreground transition-colors hover:bg-foreground/6`;return(0,Z.jsx)(`div`,{className:F(`flex min-w-0 items-center gap-2`,r),children:(0,Z.jsxs)(yo,{side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(Vl,{ariaLabel:`Open account menu`,className:F(`min-w-0 border-transparent shadow-none`,t?`size-8 justify-center px-2`:`w-full justify-start px-2 text-start`),children:[(0,Z.jsx)(Mu,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:t?`sr-only`:`text-body font-medium tracking-[-0.01em] whitespace-nowrap`,children:n}),(0,Z.jsx)($t,{className:`size-3.5 shrink-0 text-foreground/35`})]}),children:[(0,Z.jsxs)(`a`,{href:ju,target:`_blank`,rel:`noreferrer`,className:i,children:[(0,Z.jsx)(ta,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Documentation`})]}),e&&(0,Z.jsxs)(`button`,{type:`button`,className:i,onClick:e,children:[(0,Z.jsx)(Yt,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Settings`})]})]})})}function Pu({activeTabId:e,tabs:t,onCloseTab:n,onNewSession:r,onSelectTab:i,onOpenSettings:a}){return s(),{left:(0,Z.jsx)(Ml,{"aria-label":`Toggle conversations`,className:`!size-7 !rounded-[7px] border border-border/70 bg-background shadow-sm`,children:(0,Z.jsx)(`span`,{"aria-hidden":`true`,"data-icon":`inline-start`,className:`block h-3.5 w-4 rounded-[3px] border border-current before:block before:h-full before:w-1 before:border-r before:border-current`})}),accountMenu:(0,Z.jsx)(Nu,{className:`w-full`,label:`Qredence`,onOpenSettings:a}),center:(0,Z.jsx)(Au,{tabs:t,value:e,onValueChange:i,onClose:n,onNewSession:r}),right:(0,Z.jsx)(bu,{compact:!0})}}function Fu(){let[e,t]=(0,X.useState)(!1),[n,r]=(0,X.useState)(void 0),[i,a]=(0,X.useState)(null);return{forkPickerEntries:i,setForkPickerEntries:a,setSettingsDialogOpen:t,setSettingsInitialTab:r,settingsDialogOpen:e,settingsInitialTab:n}}var Iu=(0,X.lazy)(()=>Or(async()=>{let{ChatCommandPalette:e}=await import(`./chat-command-palette-Bxr5EkO6.js`);return{ChatCommandPalette:e}},__vite__mapDeps([70,1,2,3,8,71,72,73,74,75,50,76,40,41,77,78,4,79,80,10,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({ChatCommandPalette:e})=>({default:e}))),Lu=(0,X.lazy)(()=>Or(async()=>{let{SettingsDialog:e}=await import(`./settings-dialog-BomLOETY.js`);return{SettingsDialog:e}},__vite__mapDeps([81,1,2,3,4,17,18,13,68,15,16,8,36,39,69,22,23,24,25,82,20,21,7,35,28,29,26,83,74,50,51,84,47,85,43,49,86,71,66,79,87,88,52,89,90,91,64,92,67,11,93,94,14,19,27,77,95])).then(({SettingsDialog:e})=>({default:e}))),Ru=(0,X.lazy)(()=>Or(async()=>{let{ForkPickerDialog:e}=await import(`./fork-picker-dialog-DSaFeUii.js`);return{ForkPickerDialog:e}},__vite__mapDeps([96,3,1,14,4,15,2,13,16,17,18,19,20,21,22,8,23,24,25,26])).then(({ForkPickerDialog:e})=>({default:e})));function zu({chrome:e,conversation:t,dialogs:n,panels:r,session:i}){return(0,Z.jsx)(Z.Fragment,{children:n.commandPaletteOpen?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Iu,{open:!0,onOpenChange:n.setCommandPaletteOpen,onNewSession:()=>fs(()=>i.startNewSession()),onStop:t.stop,onResumeSession:e=>void i.resumeSession({sessionId:e.sessionId}),onSetRightPanel:r.setRightPanel,onThemeChange:e.handleThemePreferenceChange,sessions:i.sessions,isStreaming:t.status===`streaming`,themePreference:e.themePreference})}):null})}function Bu({dialogs:e}){let{forkFromEntry:t,forkPickerEntries:n,setForkPickerEntries:r,setSettingsDialogOpen:i,setSettingsInitialTab:a,settingsDialogOpen:o,settingsInitialTab:s}=e,[c,l]=(0,X.useState)(o),[u,d]=(0,X.useState)(n!==null);(0,X.useEffect)(()=>{o&&l(!0)},[o]),(0,X.useEffect)(()=>{n!==null&&d(!0)},[n]);let f=(0,X.useCallback)(e=>{i(e),e||a(void 0)},[i,a]);return(0,Z.jsxs)(Z.Fragment,{children:[c?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Lu,{open:o,onOpenChange:f,initialTab:s})}):null,u?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Ru,{entries:n,onOpenChange:e=>{e||r(null)},onPick:t})}):null]})}var Vu=`fleet-prime:v1:right-panel-width`,Hu=`fleet-prime:v1:theme-preference`;function Uu(){return typeof window>`u`?320:Gu(Math.floor(window.innerWidth*kn))}function Wu(){if(typeof window>`u`)return 320;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize),t=En(Number.isFinite(e)&&e>0?e:16);return Math.max(320,window.innerWidth-t-360)}function Gu(e){return Math.min(Wu(),Math.max(320,Math.round(e)))}function Ku(){return Nn(Vu,Uu(),Gu)}function qu(e){Dn(Vu,Gu(e))}function Ju(){if(typeof window>`u`)return`system`;let e=Er(Hu);return e===`light`||e===`dark`||e===`system`?e:`system`}function Yu(e){Tr(Hu,e)}function Xu(e){if(typeof window>`u`)return;let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches,n=e===`dark`||e===`system`&&t,r=document.documentElement,i=r.classList.contains(`dark`)!==n,a;i&&document.head&&(a=document.createElement(`style`),a.textContent=`*,*::before,*::after{-webkit-transition:none!important;transition:none!important}`,document.head.appendChild(a)),r.classList.toggle(`dark`,n),r.dataset.theme=n?`dark`:`light`,a&&(window.getComputedStyle(r).opacity,window.requestAnimationFrame(()=>{a?.remove()}))}var Zu=`fleet:chat:model-selection`;function Qu(e,t){let{sessionMetadata:n,setSessionMetadata:r}=t,i=(0,X.useMemo)(()=>e?.models.map(Bn)??[],[e]),[a,o]=(0,X.useState)(),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(),[d,f]=(0,X.useState)(null),p=(0,X.useRef)(`workspace`),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(()=>Ju()),[S,C]=(0,X.useState)(()=>Ku());(0,X.useEffect)(()=>{o(Er(Zu,`session`)??void 0),c(!0)},[]),(0,X.useEffect)(()=>{if(!s||!e)return;if(i.length===0){a!==void 0&&o(void 0);return}let t=e?.selectedModelKey??i[0].id;if(!a){o(t);return}let n=i.find(e=>e.id===a);(!n||n.available===!1)&&o(t)},[i,a,e,s]),(0,X.useEffect)(()=>{s&&a&&Tr(Zu,a,`session`)},[a,s]),(0,X.useEffect)(()=>{let t=i.find(e=>e.id===a);if(!t)return;let n=Vn(t);u(t=>Rn(t??e?.defaultThinkingLevel,n))},[i,a,e?.defaultThinkingLevel]),(0,X.useEffect)(()=>{if(Xu(b),b!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>Xu(`system`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[b]);let w=(0,X.useRef)(null);(0,X.useEffect)(()=>{let e=w.current;if(w.current=d,!d||e!==null)return;let t=Uu();C(t),qu(t)},[d]),(0,X.useEffect)(()=>{d===null&&_(null)},[d]),(0,X.useEffect)(()=>{if(!d)return;let e=()=>{C(e=>{let t=Gu(e);return qu(t),t})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[d]);let T=(0,X.useCallback)(e=>{x(e),Yu(e),Xu(e)},[]),E=(0,X.useCallback)(e=>{let t=Gu(e);C(t),qu(t)},[]),D=(0,X.useCallback)(e=>{An({event:e,startWidth:S,getNextWidth:(e,t,n)=>Gu(n-(e-t)),onWidthChange:e=>{C(e),qu(e)}})},[S]),O=(0,X.useCallback)(()=>{f(p.current)},[]),k=(0,X.useCallback)(e=>{if(e!==null&&(p.current=e),f(e),e===null){h(null);return}_(t=>{if(!t)return t;let n=li(t);return!n||n.panel===e?t:null})},[]),A=(0,X.useCallback)((e,t=`artifacts`)=>{h(e),k(t)},[k]),j=(0,X.useCallback)(e=>{let t=li(e);t&&(k(t.panel),_(t.path))},[k]),M=(0,X.useCallback)(e=>{let t=e.panel===`artifacts`&&e.relativePath?`workspace`:e.panel,n=t===`workspace`||t===`artifacts`;k(t),_(n?e.relativePath??null:null),e.focus&&window.requestAnimationFrame(()=>{document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0})})},[k]),N=(0,X.useCallback)(e=>{r(e)},[r]),P=i.find(e=>e.id===a),F=Rn(l??e?.defaultThinkingLevel,Vn(P)),I=(0,X.useCallback)(e=>{let t=i.find(e=>e.id===a);u(Rn(e,Vn(t)))},[a,i]);return{commandPaletteOpen:v,handleResourceCanvasResizeStart:D,handleResourceCanvasWidthChange:E,handleThemePreferenceChange:T,initialSessionMetadata:n,modelKey:a,modelSelection:(0,X.useMemo)(()=>Fn(P,F),[F,P]),models:i,openWorkspacePath:j,openPanelAction:M,persistSession:N,reopenRightPanel:O,resourceCanvasWidth:S,rightPanel:d,selectedArtifactId:m,selectedWorkspacePath:g,setCommandPaletteOpen:y,setModelKey:o,setRightPanel:k,openArtifact:A,setSelectedWorkspacePath:_,setThinkingLevel:I,themePreference:b,thinkingLevel:F}}var $u=/^root\s*=\s*([A-Za-z][A-Za-z0-9]*)/,ed=/"((?:\\.|[^"\\]){1,80})"/;function td(e){return ed.exec(e)?.[1]??$u.exec(e)?.[1]??`Interface`}function nd(e){let t=[];for(let n of e)if(n.role===`assistant`){for(let e of n.parts)if(!(e.type!==`text`||!(`text`in e)||typeof e.text!=`string`))for(let r of Kr(e.text))r.type===`openui`&&t.push({blockId:`${n.id}:${r.id}`,content:r.content,component:td(r.content),ordinal:t.length+1})}return t}function rd(e){let t=0,n=0;for(let r of e)r.role===`assistant`?t+=1:n+=1;return{assistantMessageCount:t,openUIBlocks:nd(e),userMessageCount:n}}function id(e){return e===`streaming`||e===`submitted`}function ad(e,t,n){let r=id(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(e),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);return s!==n&&(c(n),o(e)),l!==r&&(u(r),r&&o(e)),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(i.current)},250);return()=>window.clearInterval(e)},[r]),r?a:e}function od(e,t,n){let r=id(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(()=>rd(e)),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);s!==n&&(c(n),o(rd(e))),l!==r&&(u(r),r&&o(rd(e))),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(rd(i.current))},250);return()=>window.clearInterval(e)},[r]);let d=(0,X.useMemo)(()=>rd(e),[e]);return r?a:d}function sd({activityLabel:e,artifactRuns:t,chatMode:n,composerIntent:r,onComposerIntentChange:i,onComposerIntentKeyChange:a,handleThemePreferenceChange:o,isLoadingMcp:s,isLoadingProviders:c,isUpdatingMcp:l,isUpdatingProvider:u,loadSession:d,loadSubagentSession:f,loadWorkspaceFile:p,messages:m,onOpenSubagentTab:h,modelKey:g,models:_,modelCatalog:v,onDiscoverModels:y,onMcpOAuth:b,onRemoveMcp:x,onRemoveProvider:S,onUpdateMcp:C,onUpdateProvider:w,openWorkspacePath:T,planLabel:E,presentation:D,mcpConnections:O,providers:k,queue:A,refreshResources:j,refreshWorkspace:M,resources:N,resourcesError:P,resourcesLoading:F,rightPanel:I,reopenRightPanel:L,saveSettings:R,selectedArtifactId:z,sessionId:B,selectedWorkspacePath:ee,setRightPanel:V,setSelectedWorkspacePath:te,settings:H,settingsError:U,settingsLoading:W,status:G,thinkingLevel:ne,themePreference:K,workspaceError:q,workspaceLoading:re,workspaceTree:J,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}){let de=od(m,G,B??``),fe=ad(t,G,B??``),pe=(0,X.useMemo)(()=>({activityLabel:e,artifactRuns:fe,chatMode:n,loadSession:d,loadSubagentSession:f,transcriptSummary:de,onOpenSubagentTab:h,models:_,planLabel:E,presentation:D,queue:A,refreshResources:j,resources:N,resourcesError:P,resourcesLoading:F,reopenRightPanel:L,rightPanel:I,selectedModelKey:g,selectedArtifactId:z,sessionId:B,setRightPanel:V,status:G,thinkingLevel:ne,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}),[e,fe,n,d,f,de,h,_,E,D,A,j,N,P,F,L,I,g,z,B,V,G,ne,ie,ae,oe,se,ce,le,ue,Y]),me=(0,X.useMemo)(()=>({loadWorkspaceFile:p,openWorkspacePath:T,refreshWorkspace:M,selectedWorkspacePath:ee,setSelectedWorkspacePath:te,workspaceError:q,workspaceLoading:re,workspaceTree:J}),[p,T,M,ee,te,q,re,J]);return{chatPanelData:pe,settingsActions:(0,X.useMemo)(()=>({composerIntent:r?{enabled:r.enabled,keySource:r.keySource,status:r.status===`loading`?`unverified`:r.status}:void 0,isLoadingMcp:s,isLoadingProviders:c,isUpdatingMcp:l,isUpdatingProvider:u,mcpConnections:O,modelCatalog:v,onComposerIntentChange:i,onComposerIntentKeyChange:a,onDiscoverModels:y,onMcpOAuth:b,onRemoveMcp:x,onRemoveProvider:S,onThemePreferenceChange:o,onUpdateMcp:C,onUpdateProvider:w,providers:k,saveSettings:R,settings:H,settingsError:U,settingsLoading:W,themePreference:K}),[r,o,s,c,l,u,O,v,i,a,y,b,x,S,C,w,k,R,H,U,W,K]),workspaceTreeContext:me}}function cd(e){return e===`running`||e===`recovering`?`streaming`:e===`error`||e===`failed`?`error`:`ready`}function ld(){return{status:`ready`,loading:!1,messages:[]}}function ud(e){return{assistantId:null,snapshot:{messages:e.messages,presentation:e.presentation,queue:Ic,sessionMetadata:e.session}}}function dd(e){return typeof e==`object`&&!!e&&e.type===`connected`&&typeof e.sessionId==`string`}function fd(e){try{let t=Er(e,`session`);if(!t)return;let n=JSON.parse(t);if(typeof n.generation!=`string`||n.generation.length===0||typeof n.lastEventId!=`number`||!Number.isInteger(n.lastEventId)||n.lastEventId<0){wr(e,`session`);return}return{generation:n.generation,lastEventId:n.lastEventId}}catch{wr(e,`session`);return}}function pd({client:e,enabled:t,child:n,loadSession:r,parentSessionId:i}){let[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)(ld),[l,d]=(0,X.useState)(!1),f=(0,X.useRef)(null),p=(0,X.useRef)(0),m=(0,X.useRef)(null),g=n?.id,_=n?.activeSessionId,v=n?.status,y=n?.error,b=(0,X.useCallback)(()=>o(e=>e+1),[]),x=(0,X.useCallback)(async t=>{let n=t.trim();if(!n||!i||!g||m.current)return;let a=new AbortController;m.current={controller:a,parentSessionId:i,childId:g},d(!0);let o=uc(n);c(e=>({...e,status:`streaming`,loading:!1,error:void 0,messages:[...e.messages,o]}));try{if(await e.streamMessage({sessionId:i,childId:g,message:n,streamingBehavior:`steer`},e=>{if(!a.signal.aborted){if(e.type===`error`)throw h(e);e.type===`start`&&c(e=>({...e,status:`streaming`}))}},a.signal),a.signal.aborted)return;try{let e=await r(i,g);if(a.signal.aborted)return;let t=ud(e);f.current=t,c({status:`ready`,loading:!1,messages:e.messages,presentation:e.presentation})}catch{c(e=>({...e,status:`ready`,loading:!1}))}}catch(e){if(a.signal.aborted)return;c(t=>({...t,status:`error`,loading:!1,messages:dc(t.messages,o.id),error:e instanceof Error?e:Error(String(e))}))}finally{m.current?.controller===a&&(m.current=null,d(!1))}},[g,e,r,i]),S=(0,X.useCallback)(()=>{let t=m.current;t?.controller.abort(),m.current=null;let n=t?.parentSessionId??i,r=t?.childId??g;n&&r&&e.abortSession({sessionId:n,childId:r}).catch(()=>void 0),d(!1),b()},[g,e,i,b]);return(0,X.useEffect)(()=>{let n=p.current+1;p.current=n;let o=()=>p.current===n;if(a>0&&(f.current=null),!t||!i||!g||!v){f.current=null,c(ld());return}let s=!1,d=null,m=null,x=0,S=!1,C=0,w,T=!1,E=cd(v),D=`pi:sse:cursor:subagent:${`${i}:${g}:${_??``}`}`,O=fd(D);O&&(w=O.generation,C=O.lastEventId);let k=()=>{if(!w){wr(D,`session`);return}Tr(D,JSON.stringify({generation:w,lastEventId:C}),`session`)},A=()=>{C=0,k()},j=()=>{m&&=(clearTimeout(m),null)},N=(e,t,n)=>{s||!o()||(E=t,f.current=e,c({status:t,loading:!1,messages:e.snapshot.messages,presentation:e.snapshot.presentation,...n?{error:n}:{}}))},P=()=>void 0,F=()=>{s||!o()||T||(x+=1,j(),m=setTimeout(P,Math.min(2e3,250*2**Math.min(x,3))))},I=async()=>{if(!(s||!o()||T||S)){S=!0;try{await r(i,g),!s&&o()&&F()}catch(e){if(s||!o())return;if(M(e)){T=!0,j();let t=e instanceof Error?e:Error(String(e));c(e=>({...e,status:`error`,loading:!1,error:t}));return}F()}finally{S=!1}}};return(async()=>{c(e=>({...e,loading:!0,error:void 0}));try{let t=await r(i,g);if(s||!o())return;let n=ud(t);if(f.current=n,c({status:E,loading:!1,messages:t.messages,presentation:t.presentation}),v!==`running`&&v!==`recovering`&&!l||typeof window>`u`||typeof EventSource>`u`)return;P=()=>{if(s||!o()||T)return;let t=e.openSubagentEvents(i,g,{...w?{streamGeneration:w}:{},...C>0?{lastEventId:C}:{}});d?.close();try{d=new EventSource(t)}catch{I();return}d.onopen=()=>{x=0},d.onmessage=e=>{if(s||!o()||T)return;let t=Number.parseInt(e.lastEventId??``,10);Number.isFinite(t)&&t>0&&(C=t,k());let n;try{n=JSON.parse(e.data)}catch{T=!0,j(),d?.close(),d=null,c(e=>({...e,status:`error`,loading:!1,error:Error(`The subagent stream received an invalid event. Reload the conversation to refresh it.`)}));return}if(dd(n)){n.streamGeneration&&w!==n.streamGeneration?(w=n.streamGeneration,A()):n.streamGeneration&&(w=n.streamGeneration),n.cursorReset&&A(),k();return}let r;try{r=u(jr,n,`Subagent chat stream event`)}catch(e){T=!0,j(),d?.close(),d=null,c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(`Invalid subagent stream event`)}));return}if(r.type===`state`&&r.state.message===`resync-required`){A(),d?.close(),d=null,b();return}let i=f.current;if(!i)return;let a=Gc(i,r);if(r.type===`error`){T=!0,j(),d?.close(),d=null,N(a,`error`,h(r));return}if(r.type===`done`){N(a,`ready`);return}if(r.type===`session_snapshot`){let e=r.status===`error`?Error(y??`The subagent thread ended with an error.`):void 0;r.terminal&&(T=!0,j(),d?.close(),d=null),N(a,r.status,e);return}if(r.type===`state`){let e=r.state.name===`agent_start`||r.state.name===`turn_start`?`streaming`:r.state.name===`agent_end`||r.state.name===`turn_end`?`ready`:E;N(a,e);return}N(a,E)},d.onerror=()=>{d?.close(),d=null,I()}},P()}catch(e){if(s||!o())return;c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(String(e))}))}})(),()=>{s=!0,T=!0,d?.close(),j()}},[_,g,y,v,e,t,r,i,b,a,l]),{...s,refresh:b,sendMessage:x,sending:l,stop:S}}var md={dismissedChildIds:new Set,scopeKey:``,selectedTabId:`main`};function hd(e,t){return e.scopeKey===t?e:{dismissedChildIds:new Set,scopeKey:t,selectedTabId:`main`}}function gd(e,t){return hd(e,t)}function _d(e,t){if(t.type===`scope`)return hd(e,t.scopeKey);let n=hd(e,t.scopeKey);if(t.type===`select`)return{...n,selectedTabId:t.tabId};if(t.type===`dismiss`)return{...n,dismissedChildIds:new Set(n.dismissedChildIds).add(t.tabId),selectedTabId:n.selectedTabId===t.tabId?`main`:n.selectedTabId};let r=new Set(n.dismissedChildIds);return r.delete(t.tabId),{...n,dismissedChildIds:r}}function vd(e){return Ln(e.sessionName?.trim()||e.label)||`Subagent`}function yd({activeProjectId:e,loadSubagentSession:t,presentation:n,rootSessionId:r,client:i=j}){let a=`${e??``}:${r??``}`,[o,s]=(0,X.useReducer)(_d,md);(0,X.useEffect)(()=>{s({type:`scope`,scopeKey:a})},[a]);let{dismissedChildIds:c,selectedTabId:l}=gd(o,a),u=(0,X.useMemo)(()=>nn(n.rlmChildren,n.rlmTree),[n.rlmChildren,n.rlmTree]),d=(0,X.useMemo)(()=>[{id:`main`,label:`Main agent`,kind:`main`},{id:`activity`,label:`Activity`,kind:`activity`},...u.filter(e=>!c.has(e.id)).map(e=>({id:e.id,label:vd(e),kind:`subagent`,status:e.status}))],[c,u]),f=d.some(e=>e.id===l)?l:`main`,p=u.find(e=>e.id===f),m=(0,X.useCallback)(e=>{e!==`activity`&&e!==`main`&&!u.some(t=>t.id===e)||(e!==`activity`&&e!==`main`&&s({type:`restore`,scopeKey:a,tabId:e}),s({type:`select`,scopeKey:a,tabId:e}))},[u,a]),h=(0,X.useCallback)(e=>{e===`main`||!u.some(t=>t.id===e)||s({type:`dismiss`,scopeKey:a,tabId:e})},[u,a]),g=(0,X.useCallback)(e=>m(e),[m]);return{activeTabId:f,closeTab:h,conversation:pd({client:i,child:p,enabled:f!==`main`&&!!p,loadSession:t,parentSessionId:r}),openChildTab:g,selectedChild:p,selectTab:m,tabs:d}}function bd({sessionMetadata:e,status:t,resumeSession:n,rightPanel:r}){let i=e.sessionId,[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(null),h=(0,X.useRef)(0),g=(0,X.useCallback)(async()=>{if(!i){o(null),u(null),c(!1);return}let e=h.current;c(!0),u(null);try{let t=await j.getSessionTree(i);if(h.current!==e)return;o(t)}catch(t){if(h.current!==e)return;u(t instanceof Error?t.message:String(t))}finally{h.current===e&&c(!1)}},[i]);return(0,X.useEffect)(()=>{r===`session-tree`&&g()},[g,r]),(0,X.useEffect)(()=>{h.current+=1,c(!1),f(null),m(null),o(null),u(null)},[i]),{sessionTreeSnapshot:a,sessionTreeLoading:s,sessionTreeError:l,selectedSessionTreeEntryId:d,highlightedTranscriptMessageId:p,refreshSessionTree:g,selectSessionTreeEntry:(0,X.useCallback)((e,t)=>{f(e),m(t??null)},[]),rewindSessionTree:(0,X.useCallback)(async(t,r)=>{if(!i)throw Error(`No active session to rewind.`);let a=i,s=e,l=++h.current,d=()=>h.current===l;c(!0),u(null);try{if(await j.navigateSessionTree({sessionId:a,targetEntryId:t,...r?{expectedLeafId:r}:{}}),!d())throw Error(`Session changed during rewind.`);m(null);let e=await n(s);if(!d())throw Error(`Session changed during rewind.`);if(!e)throw Error(`Failed to resume session after rewind.`);let i=await j.getSessionTree(a);if(!d())throw Error(`Session changed during rewind.`);o(i),f(i.leafId)}catch(e){if(d())try{let e=await j.getSessionTree(a);d()&&(o(e),f(e.leafId))}catch{}throw e}finally{d()&&c(!1)}},[n,e,i]),isSessionTreeStreaming:t===`streaming`||t===`submitted`}}var xd=15e3;async function Sd(e,t,n){let r=typeof AbortSignal.timeout==`function`?AbortSignal.timeout(xd):void 0,i=n&&r&&typeof AbortSignal.any==`function`?AbortSignal.any([n,r]):n??r;return j.getWorkspaceFile(e,t,i)}function Cd(e,t){let{defaultProvider:n,defaultModel:r}=t.effective;return e.find(e=>e.provider===n&&e.modelId===r)?.id??(n&&r?`${n}/${r}`:void 0)}function wd(){let{forkPickerEntries:e,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a}=Fu(),{chatMode:o,effortPickerOpen:s,modelPickerOpen:c,setChatMode:u,setEffortPickerOpen:d,setModelPickerOpen:f,setUploadedAttachments:h,setWorkspaceAttachments:k,uploadedAttachments:M,workspaceAttachments:P}=ps(),F=Zs(),[I,L]=(0,X.useState)(F.sessionMetadata.projectId??void 0),{data:R,isLoading:z}=O(),{data:B,isLoading:ee}=D(),{data:V,refetch:te}=T(),{mutateAsync:H,isPending:U}=C(),{mutateAsync:W,isPending:G}=v(),{mutateAsync:ne,isPending:K}=y(),{mutateAsync:q,isPending:re}=E(),{mutateAsync:J}=_(),{data:ie}=m(I),{data:ae}=x({enabled:i,projectId:I}),oe=A(),{commandPaletteOpen:se,handleResourceCanvasResizeStart:ce,handleResourceCanvasWidthChange:le,handleThemePreferenceChange:ue,initialSessionMetadata:Y,modelKey:de,modelSelection:fe,models:pe,openArtifact:me,openWorkspacePath:he,openPanelAction:ge,persistSession:_e,reopenRightPanel:ve,resourceCanvasWidth:ye,rightPanel:be,selectedArtifactId:xe,selectedWorkspacePath:Se,setCommandPaletteOpen:Ce,setModelKey:we,setRightPanel:Te,setSelectedWorkspacePath:Ee,setThinkingLevel:De,themePreference:Oe,thinkingLevel:ke}=Qu(ie,F);(0,X.useEffect)(()=>{if(Y.projectId&&Y.projectId!==I){L(Y.projectId);return}!I&&V?.projects[0]&&(L(V.projects[0].projectId),_e({projectId:V.projects[0].projectId}))},[I,Y.projectId,_e,V?.projects]);let{data:Ae,isLoading:je,error:Me,refetch:Ne}=g(I),{data:Pe}=w(I),{data:Fe,isLoading:Ie,error:Le}=S(I),Re=b(),{data:ze,isLoading:Be,error:Ve,refetch:He}=p(I,{enabled:be===`workspace`||be===`resources`}),Ue=Ae??null,We=ze??null,Ge=(0,X.useCallback)(()=>{Ne()},[Ne]),Ke=(0,X.useCallback)(async e=>{let t=await Re.mutateAsync({request:{settings:e},projectId:I}),n=Cd(pe,t);return n&&we(n),t},[I,pe,we,Re]),qe=(0,X.useCallback)(()=>{He()},[He]),{activityLabel:Je,answerQuestion:Ye,appendLocalMessage:Xe,deleteQueuedMessage:Ze,editQueuedMessage:Qe,deleteSession:$e,error:et,getMessages:tt,getSessionMetadata:nt,messages:rt,planLabel:it,persistOpenUIArtifact:at,presentation:ot,queue:st,renameSession:ct,resumeSession:lt,sendMessage:ut,sessionMetadata:dt,sessions:ft,startNewSession:pt,switchProject:mt,status:ht,stop:gt}=ml(fe,{initialSessionMetadata:Y,projectId:I,persistSession:_e}),_t=(0,X.useMemo)(()=>Fr(rt,ot,ht),[rt,ot,ht]),vt=(0,X.useRef)(void 0);(0,X.useEffect)(()=>{if(!ot.thinkingLevel)return;let e=`${dt.sessionId}:${ot.thinkingLevel}`;vt.current!==e&&(vt.current=e,De(ot.thinkingLevel))},[ot.thinkingLevel,dt.sessionId,De]);let{addWorkspaceAttachment:yt,browseProjectDirectories:bt,clearUploadedAttachments:xt,clearWorkspaceAttachments:St,createProject:Ct,deleteSessionForWorkspace:wt,handleAttach:Tt,removeUploadedAttachment:Et,removeWorkspaceAttachment:Dt,renameProject:Ot,restoreAttachments:kt,resumeSessionForWorkspace:At,resumeSessionForWorkspaceWithResult:jt,selectProject:Mt,startNewSessionForWorkspace:Nt,startNewSessionInProject:Pt,unregisterProject:Ft}=cc({activeProjectId:I,deleteSession:$e,getSessionMetadata:nt,refetchProjects:te,resumeSession:lt,sessionId:dt.sessionId,sessions:ft,setActiveProjectId:L,setSelectedWorkspacePath:Ee,setUploadedAttachments:h,setWorkspaceAttachments:k,startNewSession:pt,switchProject:mt}),It=Pn(st)??Je??it;Ys(rt,ht,(0,X.useCallback)(async({toolCallId:e,answer:t})=>{let n=await Ye({toolCallId:e,answer:t});if(!n.ok)throw Error(n.message??`Unable to skip the unsupported questionnaire.`)},[Ye]),(0,X.useCallback)(e=>{gt(),ds(e)},[gt]));let Lt=nc({messages:rt,resources:Ue,workspaceTree:We}),Rt=(0,X.useMemo)(()=>rt.length!==0&&ht!==`streaming`&&ht!==`submitted`&&rt[rt.length-1].role===`assistant`,[rt,ht]),zt=(0,X.useMemo)(()=>Rt?Lt:[],[Rt,Lt]),Bt=(0,X.useMemo)(()=>Us(Ue,Fe?.effective.enableSkillCommands??!1,Pe),[Pe,Ue,Fe]),Vt=(0,X.useMemo)(()=>Ks(We),[We]),Ht=(0,X.useCallback)(e=>{if(e.projectId&&e.projectId!==I){fi.error(`This panel action targets a different project.`);return}ge(e)},[I,ge]),Ut=(0,X.useCallback)(e=>{if(!e.projectId||e.projectId===I){ge(e);return}Mt(e.projectId).then(()=>ge(e)).catch(e=>ds(e))},[I,ge,Mt]),Wt=(0,X.useCallback)(e=>{r(e),n(!0)},[n,r]),Gt=(0,X.useCallback)(async e=>{let t=[...P,...M];xt(),St(),await ut({text:e,altKey:!1,mode:o,openUI:!0,openUIArtifact:!0,attachments:t})||kt(M,P)},[o,xt,St,kt,ut,M,P]),Kt=As(),{onDraftChange:qt,takeCached:Jt,command:Yt,dismissCommand:Xt}=ks(Kt.available),{onDraftChange:Zt,inlineCompletion:Qt}=xs({available:!0,sessionId:dt.sessionId}),$t=(0,X.useMemo)(()=>Yt?{forValue:Yt.forValue,text:`/${Yt.command}`,mode:`replace`,onDismiss:()=>{Xt(),Qt?.onDismiss?.()}}:Qt,[Xt,Qt,Yt]),en=(0,X.useCallback)(e=>{qt(e),Zt(e)},[qt,Zt]),{forkFromEntry:tn,handleLocalSlashSubmit:nn,handleSlashCommandSelect:rn}=Fc({appendLocalMessage:Xe,getMessages:tt,getSessionMetadata:nt,modelKey:de,models:pe,onForkPicker:t,onOpenUIRequest:Gt,openSettings:Wt,resumeSession:At,sessions:ft,setEffortPickerOpen:d,setModelKey:we,setModelPickerOpen:f,setThinkingLevel:De,startNewSession:Nt,takeCachedIntent:Jt}),an=(0,X.useCallback)(async e=>{try{await fetch(l(`/api/chat/intent`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:e})})}finally{Kt.refresh()}},[Kt]),on=(0,X.useCallback)(async e=>{try{await N(`/api/chat/intent`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKey:e})})}finally{Kt.refresh()}},[Kt]),sn=(0,X.useMemo)(()=>ae?.models.map(Bn)??pe,[ae,pe]),cn=(0,X.useCallback)((e,t)=>Sd(e,I,t),[I]),ln=(0,X.useCallback)(e=>j.loadSession(e),[]),un=(0,X.useCallback)((e,t)=>j.loadSubagentSession(e,t),[]),dn=yd({activeProjectId:I,loadSubagentSession:un,presentation:ot,rootSessionId:dt.sessionId}),fn=bd({sessionMetadata:{sessionId:dt.sessionId,projectId:dt.projectId??I},status:ht,resumeSession:jt,rightPanel:be}),pn=(0,X.useCallback)(async e=>{let t=await oe.mutateAsync(e);if(t.error)throw Error(t.error);return t.models.map(Bn)},[oe]),{chatPanelData:mn,settingsActions:hn,workspaceTreeContext:gn}=sd({activityLabel:Je,artifactRuns:_t,chatMode:o,composerIntent:Kt,onComposerIntentChange:an,onComposerIntentKeyChange:on,handleThemePreferenceChange:ue,isLoadingMcp:ee,isLoadingProviders:z,isUpdatingMcp:K||re,isUpdatingProvider:U||G,loadSession:ln,loadSubagentSession:un,loadWorkspaceFile:cn,messages:rt,onOpenSubagentTab:dn.openChildTab,modelKey:de,models:pe,modelCatalog:sn,onDiscoverModels:pn,onMcpOAuth:J,onRemoveMcp:q,onRemoveProvider:W,onUpdateMcp:ne,onUpdateProvider:H,openWorkspacePath:he,planLabel:it,presentation:ot,mcpConnections:B?.connections??[],providers:R?.providers??[],queue:st,refreshResources:Ge,refreshWorkspace:qe,resources:Ue,resourcesError:Me,resourcesLoading:je,reopenRightPanel:ve,rightPanel:be,saveSettings:Ke,selectedArtifactId:xe,sessionId:dt.sessionId,selectedWorkspacePath:Se,setRightPanel:Te,setSelectedWorkspacePath:Ee,settings:Fe??null,settingsError:Le,settingsLoading:Ie||Re.isPending,status:ht,thinkingLevel:ke,themePreference:Oe,workspaceError:Ve,workspaceLoading:Be,workspaceTree:We,sessionTreeSnapshot:fn.sessionTreeSnapshot,sessionTreeLoading:fn.sessionTreeLoading,sessionTreeError:fn.sessionTreeError,selectedSessionTreeEntryId:fn.selectedSessionTreeEntryId,isSessionTreeStreaming:fn.isSessionTreeStreaming,refreshSessionTree:()=>void fn.refreshSessionTree(),selectSessionTreeEntry:fn.selectSessionTreeEntry,rewindSessionTree:fn.rewindSessionTree}),_n=Pu({activeTabId:dn.activeTabId,tabs:dn.tabs,onCloseTab:dn.closeTab,onNewSession:()=>fs(()=>Nt()),onSelectTab:dn.selectTab,onOpenSettings:()=>Wt()});return{session:{activeSessionId:dt.sessionId,activeProjectId:I,openPanelAction:Ut,projects:V?.projects??[],projectSessions:ft,sessions:ft,browseProjectDirectories:bt,createProject:Ct,deleteSession:wt,renameProject:Ot,renameSession:ct,resumeSession:At,selectProject:Mt,startNewSession:Nt,startNewSessionInProject:Pt,unregisterProject:Ft},conversation:{activityLabel:Je,artifactRuns:_t,deleteQueuedMessage:Ze,editQueuedMessage:Qe,error:et,highlightedTranscriptMessageId:fn.highlightedTranscriptMessageId,messages:rt,openArtifact:me,openPanelAction:Ht,persistOpenUIArtifact:at,presentation:ot,queue:st,sendMessage:ut,status:ht,stop:gt},agentTabs:dn,composer:{chatMode:o,clearUploadedAttachments:xt,clearWorkspaceAttachments:St,effortPickerOpen:s,handleAttach:Tt,handleLocalSlashSubmit:nn,handleSlashCommandSelect:rn,infoDescription:It,inputSuggestionItems:zt,inlineCompletion:$t,onComposerDraftChange:en,workspaceReferenceSuggestions:Vt,modelKey:de,modelPickerOpen:c,models:pe,removeUploadedAttachment:Et,removeWorkspaceAttachment:Dt,addWorkspaceAttachment:yt,restoreAttachments:kt,setChatMode:u,setEffortPickerOpen:d,setModelKey:we,setModelPickerOpen:f,setThinkingLevel:De,slashCommands:Bt,thinkingLevel:ke,uploadedAttachments:M,workspaceAttachments:P},panels:{chatPanelData:mn,handleResourceCanvasResizeStart:ce,handleResourceCanvasWidthChange:le,resourceCanvasWidth:ye,rightPanel:be,setRightPanel:Te,settingsActions:hn,workspaceTreeContext:gn},dialogs:{commandPaletteOpen:se,forkFromEntry:tn,forkPickerEntries:e,setCommandPaletteOpen:Ce,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a},chrome:{handleThemePreferenceChange:ue,header:_n,themePreference:Oe}}}var Td={"--chat-chrome-top":`52px`,"--chat-header-height":`var(--density-header-height, 44px)`,"--chat-header-top":`0px`};function Ed({children:e,headerCenter:t,headerLeft:n,headerRight:r,panel:i}){return(0,Z.jsxs)(`div`,{className:`flex h-svh min-w-0 overflow-hidden`,"data-testid":`chat-shell`,style:Td,children:[(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,"data-testid":`chat-column`,children:[(0,Z.jsxs)(`header`,{className:F(Qr,`grid h-[var(--chat-header-height)] min-h-[var(--chat-header-height)] shrink-0 grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2 border-b border-border/70 px-[var(--density-pad-x)] py-2`),"data-testid":`chat-header`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 justify-self-start`,children:n}),(0,Z.jsx)(`div`,{className:`flex min-w-0 items-center justify-start gap-1 overflow-visible justify-self-stretch`,children:t}),(0,Z.jsx)(`div`,{className:`min-w-0 justify-self-end`,children:r})]}),(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:e})]}),i]})}var Dd=`fleet-prime:v1:panel-keybindings`,Od={toggleResources:{code:`Digit1`,ctrlOrMeta:!0,shift:!0},toggleWorkspace:{code:`Digit2`,ctrlOrMeta:!0,shift:!0},toggleArtifacts:{code:`Digit3`,ctrlOrMeta:!0,shift:!0},toggleRepl:{code:`Digit4`,ctrlOrMeta:!0,shift:!0},toggleSubagents:{code:`Digit5`,ctrlOrMeta:!0,shift:!0},toggleCommandPalette:{code:`KeyK`,ctrlOrMeta:!0},closePanel:{code:`Escape`},focusPanel:{code:`KeyP`,ctrlOrMeta:!0,shift:!0},focusChat:{code:`KeyC`,ctrlOrMeta:!0,shift:!0}};function kd(){try{let e=Er(Dd);if(!e)return Od;let t=JSON.parse(e);return{...Od,...t}}catch{return Od}}function Ad(e,t){return e.code===t.code&&(e.ctrlKey||e.metaKey)===!!t.ctrlOrMeta&&e.shiftKey===!!t.shift&&e.altKey===!!t.alt}function jd(){document.querySelector(`[data-fleet-chat-focus] textarea, [data-fleet-chat-focus] [contenteditable='true'], [data-fleet-chat-focus] input`)?.focus({preventScroll:!0})}function Md({onCommandPaletteToggle:e,onClosePanel:t,rightPanel:n,setRightPanel:r}){(0,X.useEffect)(()=>{let i=kd(),a=a=>{let o=e=>Ad(a,i[e]),s=!0;o(`toggleResources`)?r(n===`resources`?null:`resources`):o(`toggleWorkspace`)?r(n===`workspace`?null:`workspace`):o(`toggleArtifacts`)?r(n===`artifacts`?null:`artifacts`):o(`toggleRepl`)?r(n===`repl`?null:`repl`):o(`toggleSubagents`)?r(n===`subagents`?null:`subagents`):e&&o(`toggleCommandPalette`)?e():n&&o(`closePanel`)?t?t():(r(null),jd()):n&&o(`focusPanel`)?document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0}):o(`focusChat`)?jd():s=!1,s&&(a.preventDefault(),a.stopPropagation())};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,n,r])}function Nd({children:e,dataTestid:t,headerLeading:n,loading:r,onClose:i,onRefresh:a,onResizeStart:o,onWidthChange:s,open:c,headerActions:l,title:u,titleIcon:d,width:f}){let p=G(),m=(0,X.useRef)(null);(0,X.useEffect)(()=>{c&&m.current?.focus({preventScroll:!0})},[c]);let h=Wu();return(0,Z.jsx)(W,{children:c&&(0,Z.jsxs)(U.aside,{ref:m,initial:!p&&{x:f,opacity:.8},animate:{x:0,opacity:1},exit:p?{opacity:0}:{x:f,opacity:.8},transition:p?{duration:0}:{duration:.2,ease:`easeInOut`},className:`relative h-full shrink-0 border-l border-border/70 bg-background/95 outline-none hidden min-[960px]:flex`,"data-fleet-panel-focus":!0,"data-testid":t,style:{width:f},tabIndex:-1,role:`dialog`,"aria-label":u,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),i())},children:[(0,Z.jsx)(`button`,{type:`button`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize ${u} panel`,"aria-valuenow":Math.round(f),"aria-valuemin":320,"aria-valuemax":h,tabIndex:0,className:`absolute top-0 bottom-0 left-0 z-10 w-2 -translate-x-1 cursor-col-resize touch-none bg-transparent transition-colors outline-none hover:bg-foreground/10 focus-visible:bg-foreground/10 focus-visible:ring-1 focus-visible:ring-ring`,"data-testid":`pi-resources-resize-handle`,onPointerDown:o,onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),s?.(Gu(f+16))):e.key===`ArrowRight`?(e.preventDefault(),s?.(Gu(f-16))):e.key===`Home`?(e.preventDefault(),s?.(320)):e.key===`End`&&(e.preventDefault(),s?.(h))}}),(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`flex h-[var(--chat-header-height,var(--density-header-height,44px))] min-h-[var(--chat-header-height,var(--density-header-height,44px))] min-w-0 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-[var(--density-pad-x)] py-1`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:n??(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-body font-medium text-foreground/80`,children:[(0,Z.jsx)(d,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{children:u})]})}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[l,(0,Z.jsx)(Sr,{type:`button`,onClick:a,disabled:!a,variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 text-foreground/40 hover:text-foreground/70 disabled:cursor-not-allowed disabled:opacity-35`,"aria-label":`Refresh ${u}`,title:`Refresh ${u}`,children:(0,Z.jsx)(gr,{"data-icon":`inline-start`,className:`size-3.5 ${r?`animate-spin`:``}`})}),(0,Z.jsx)(Sr,{type:`button`,onClick:i,variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 text-foreground/40 hover:text-foreground/70`,"aria-label":`Close panel`,title:`Close panel`,children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})]})})}var Pd=`(min-width: 960px)`;function Fd(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>void 0;let t=window.matchMedia(Pd);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Id(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(Pd).matches}function Ld(){return!1}function Rd(){return(0,X.useSyncExternalStore)(Fd,Id,Ld)}function zd({handleResourceCanvasResizeStart:e,onClose:t,resourceCanvasWidth:n,onResourceCanvasWidthChange:r}){let i=mi(),a=pi(),{rightPanel:o,setRightPanel:s}=i,c=o!==null,l=Rd(),u=o?dr(o):null,d=u?.component,f=o?lr(o):void 0,p=f&&o?f.panels.indexOf(o):-1,m=(0,Z.jsxs)(Z.Fragment,{children:[f&&f.panels.length>1?(0,Z.jsx)(_u,{"aria-label":`${f.title} views`,className:`mb-3 w-fit`,idPrefix:`right-panel-${f.id}-views`,selectedIndex:p,onSelect:e=>{let t=f.panels[e];t&&s(t)},children:f.panels.map((e,t)=>(0,Z.jsx)(vu,{index:t,label:e===`workspace`?`Files`:e===`session-insights`?`Insights`:e===`session-tree`?`Tree`:e===`resources`?`Skills`:`Artifacts`},e))}):null,d?(0,Z.jsx)(d,{}):null]}),h=u?.loadingSource===`resources`?i.resourcesLoading:u?.loadingSource===`workspace`&&a.workspaceLoading,g=u?.refreshSource===`resources`?i.refreshResources:u?.refreshSource===`workspace`?a.refreshWorkspace:void 0;return(0,Z.jsx)(Z.Fragment,{children:l?(0,Z.jsx)(Nd,{dataTestid:u?.dataTestid,headerLeading:(0,Z.jsx)(xu,{compact:!0,idPrefix:`right-panel-desktop`}),loading:h,onClose:t,onRefresh:g,onResizeStart:e,onWidthChange:r,open:c,title:u?.title??``,titleIcon:u?.icon??cr,width:n,children:m}):(0,Z.jsx)(Tu,{dataTestid:u?.mobileDataTestid,icon:u?.icon,onClose:t,open:c,title:u?.title??``,children:m})})}function Bd({session:e,onClose:t,onRenameSession:n}){let[r,i]=(0,X.useState)(()=>Kn(e));return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Rename session`}),(0,Z.jsx)(gi,{children:`Choose a local display title for this Fleet Prime session.`}),(0,Z.jsx)(Ir,{value:r,onChange:e=>i(e.target.value),"aria-label":`Session title`,autoFocus:!0}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{disabled:!r.trim(),onClick:()=>{r.trim()&&(n(e.sessionId,r.trim()),t())},children:`Rename`})]})]})})}function Vd({project:e,onClose:t,onRenameProject:n}){let[r,i]=(0,X.useState)(e.name);return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Rename project`}),(0,Z.jsx)(gi,{children:`This changes the display name only. The registered directory stays the same.`}),(0,Z.jsx)(Ir,{value:r,onChange:e=>i(e.target.value),"aria-label":`Project name`,autoFocus:!0}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{disabled:!r.trim()||!n,onClick:()=>{r.trim()&&(n?.(e.projectId,r.trim()),t())},children:`Rename`})]})]})})}function Hd({session:e,onClose:t,onDeleteSession:n}){return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Delete session?`}),(0,Z.jsx)(gi,{children:`This removes the Fleet Prime session and its managed session artifacts. This cannot be undone.`}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n(e.sessionId),t()},children:`Delete`})]})]})})}function Ud({project:e,onClose:t,onUnregisterProject:n}){return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Unregister project?`}),(0,Z.jsx)(gi,{children:`The directory and its sessions remain intact. Existing sessions will move to Unassigned until the directory is registered again.`}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n?.(e.projectId),t()},children:`Unregister`})]})]})})}function Wd({activeDialog:e,onClose:t,onRenameSession:n,onDeleteSession:r,onRenameProject:i,onUnregisterProject:a}){if(!e)return null;switch(e.kind){case`rename-session`:return(0,Z.jsx)(Bd,{session:e.session,onClose:t,onRenameSession:n});case`rename-project`:return(0,Z.jsx)(Vd,{project:e.project,onClose:t,onRenameProject:i});case`delete-session`:return(0,Z.jsx)(Hd,{session:e.session,onClose:t,onDeleteSession:r});case`unregister-project`:return(0,Z.jsx)(Ud,{project:e.project,onClose:t,onUnregisterProject:a});case`create-project`:return null}}function Gd(){return()=>{}}function Kd(){return!0}function qd(){return!1}function Jd(){return(0,X.useSyncExternalStore)(Gd,Kd,qd)}var Yd=5,Xd=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Zd(e,t){let n=e-(t-1)/2,r=Math.abs(n),i=Math.max(0,2-r)*8;return{x:n*44,y:8-i,rotate:n*6,scale:r===0?1.04:r===1?.95:.88,opacity:r===0?1:r===1?.78:.58,zIndex:10-r}}function Qd({title:e,countText:t,dialogTitleId:n,previewItems:r,isExpanded:i,isClosing:a,reduce:o,transition:s,dialogRef:c,closeButtonRef:l,closeOverlay:u}){return!i&&!a?null:(0,Z.jsxs)(`div`,{ref:c,role:`dialog`,"aria-modal":`true`,"aria-labelledby":n,"aria-hidden":i?void 0:`true`,className:F(`fixed inset-0 z-50 flex items-start justify-center overflow-y-auto sm:items-center`,a&&`pointer-events-none`),children:[(0,Z.jsx)(W,{initial:!1,children:i?(0,Z.jsx)(U.button,{type:`button`,tabIndex:-1,"aria-label":`Close file overlay`,onClick:u,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:o?{duration:0}:{duration:.18},className:`absolute inset-0 cursor-default bg-background/80 backdrop-blur-xl`},`project-files-backdrop`):null}),(0,Z.jsxs)(`div`,{className:`relative z-10 w-full max-w-5xl px-6 py-8`,children:[(0,Z.jsx)(W,{initial:!1,children:i?(0,Z.jsxs)(U.div,{initial:{opacity:0,y:o?0:8},animate:{opacity:1,y:0},exit:{opacity:0,y:o?0:-8},transition:o?{duration:0}:{duration:.18},className:`mb-6 flex items-center justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{id:n,className:`text-xl font-medium text-foreground`,children:e}),(0,Z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:t})]}),(0,Z.jsx)(`button`,{ref:l,type:`button`,onClick:u,"aria-label":`Close ${e}`,className:`flex size-10 items-center justify-center rounded-full border border-foreground/10 bg-background/50 text-muted-foreground backdrop-blur-xl transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Z.jsx)(xr,{className:`size-4`,"aria-hidden":`true`})})]},`project-files-header`):null}),(0,Z.jsx)(`div`,{className:`grid grid-cols-2 place-items-center gap-3 sm:grid-cols-3 lg:grid-cols-5`,children:i?r.map(e=>(0,Z.jsx)(U.div,{layoutId:`file-${e.id}`,transition:s,className:`aspect-[3/4] w-full max-w-40 overflow-hidden rounded-xl border border-foreground/10 bg-background/50 backdrop-blur-xl`,children:e.content},e.id)):null})]})]})}function $d({title:e,description:t=`Updated recently`,previews:n=[],count:r=n.length,itemLabel:i=`file`,open:a,defaultOpen:o=!1,onOpenChange:s,expanded:c,defaultExpanded:l=!1,onExpandedChange:u,onClick:d,disabled:f=!1,ariaLabel:p,className:m}){let h=G(),g=di(),_=(0,X.useId)(),v=`${_}-title`,y=(0,X.useRef)(!1),b=(0,X.useRef)(!1),x=(0,X.useRef)(!1),S=(0,X.useRef)(null),C=(0,X.useRef)(null),w=(0,X.useRef)(null),T=Jd(),[E,D]=(0,X.useState)(o),[O,k]=(0,X.useState)(l),[A,j]=(0,X.useState)(!1),M=a!==void 0,N=c!==void 0,P=c??O,I=(a??E)||P,L=n.slice(0,Yd),R=h?{duration:0}:ee,z=`${r} ${i}${r===1?``:`s`}`,B=(0,X.useCallback)(e=>{f||(M||D(e),s?.(e))},[f,s,M]),V=(0,X.useCallback)(e=>{f||L.length===0||(N||k(e),u?.(e))},[f,N,u,L.length]),H=(0,X.useCallback)(()=>{j(!1),x.current=!0,requestAnimationFrame(()=>S.current?.focus())},[]),ne=(0,X.useCallback)(()=>{j(!0),B(!1),V(!1)},[V,B]),K=(0,X.useEffectEvent)(ne);(0,X.useEffect)(()=>{h&&A&&H()},[H,A,h]),(0,X.useEffect)(()=>{if(!P)return;let e=document.body.style.overflow,t=requestAnimationFrame(()=>C.current?.focus());document.body.style.overflow=`hidden`;let n=e=>{if(e.key===`Escape`){e.preventDefault(),K();return}if(e.key!==`Tab`||!w.current)return;let t=Array.from(w.current.querySelectorAll(Xd)).filter(e=>e.tabIndex>=0),n=t[0],r=t.at(-1);!n||!r||(e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus()))};return document.addEventListener(`keydown`,n),()=>{cancelAnimationFrame(t),document.body.style.overflow=e,document.removeEventListener(`keydown`,n)}},[P]);let q=()=>{j(!1),V(!0),B(!0),d?.()},re=(0,Z.jsx)(Qd,{title:e,countText:z,dialogTitleId:v,previewItems:L,isExpanded:P,isClosing:A,reduce:h??!1,transition:R,dialogRef:w,closeButtonRef:C,closeOverlay:ne});return(0,Z.jsxs)(Ai,{id:_,children:[(0,Z.jsxs)(U.button,{ref:S,type:`button`,disabled:f,"aria-label":p,"aria-haspopup":`dialog`,"aria-expanded":P,"data-open":I?`true`:`false`,"data-expanded":P?`true`:`false`,tabIndex:P?-1:void 0,onPointerEnter:()=>{g&&(y.current=!0,B(!0))},onPointerLeave:()=>{g&&(y.current=!1,!P&&!A&&B(b.current))},onFocus:()=>{if(x.current){x.current=!1,b.current=!1;return}b.current=!0,B(!0)},onBlur:()=>{b.current=!1,!P&&!A&&B(y.current)},onClick:q,whileTap:h||f?void 0:{scale:.96},transition:h?{duration:0}:te,className:F(`relative block h-56 w-72 select-none rounded-2xl text-left outline-none [perspective:1200px] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-4 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,m),children:[(0,Z.jsx)(U.span,{"aria-hidden":`true`,animate:{rotateX:I&&!h?15:0},transition:R,className:`absolute inset-0 rounded-2xl border border-foreground/10 bg-background/25 backdrop-blur-xl [transform-origin:center_bottom]`}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,children:(0,Z.jsx)(`span`,{className:`absolute left-1/2 top-0 block size-0`,children:(0,Z.jsx)(W,{initial:!1,children:P?null:L.map((e,t)=>{let n=Zd(t,L.length);return(0,Z.jsx)(U.span,{layoutId:`file-${e.id}`,initial:!1,animate:I&&!h?{x:n.x*1.4,y:n.y-8,rotate:n.rotate*1.3,scale:n.scale*1.02,opacity:Math.min(1,n.opacity+.18)}:{x:n.x,y:n.y,rotate:n.rotate,scale:n.scale,opacity:n.opacity},transition:R,onLayoutAnimationComplete:()=>{A&&t===0&&H()},className:`absolute left-0 top-0 -ml-12 block h-40 w-24 overflow-hidden rounded-lg border border-foreground/10 bg-background/45 backdrop-blur-lg`,style:{zIndex:n.zIndex},children:e.content},e.id)})})})}),(0,Z.jsxs)(U.span,{initial:!1,animate:{rotateX:I&&!h?-25:0},transition:R,className:`absolute inset-x-0 bottom-0 z-20 overflow-hidden rounded-2xl border border-foreground/10 bg-background/60 backdrop-blur-2xl [backface-visibility:hidden] [transform-origin:center_bottom]`,children:[(0,Z.jsx)(`span`,{className:`flex h-16 items-center px-4`,children:(0,Z.jsx)(`span`,{className:`line-clamp-2 text-xl font-medium leading-tight text-foreground`,children:e})}),(0,Z.jsxs)(`span`,{className:`flex h-12 items-center justify-between gap-3 border-t border-foreground/10 px-4`,children:[(0,Z.jsx)(`span`,{className:`shrink-0 text-sm font-medium text-foreground/70`,children:z}),(0,Z.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:t})]})]})]}),T?(0,Wi.createPortal)(re,document.body):null]})}var ef=[],tf=[];function nf(e){return e.kind===`folder`||e.kind===`project`}function rf(e,t,n=0,r=null){return e.flatMap(e=>{let i={item:e,depth:n,parentId:r};return!e.children?.length||!t.has(e.id)?[i]:[i,...rf(e.children,t,n+1,e.id)]})}function af(e,t,n){return e.map(e=>({...e,label:e.id===t?n:e.label,children:e.children?af(e.children,t,n):void 0}))}function of(e,t){if(e.kind===`action`)return null;let n=e.kind===`folder`||e.kind===`project`?t?In:ar:bn;return(0,Z.jsx)(n,{className:`size-4`})}function sf({active:e,children:t}){let n=G()??!1,r=(0,X.useRef)(null),i=(0,X.useRef)(null),[a,o]=(0,X.useState)(0);(0,X.useEffect)(()=>{let e=()=>{let e=r.current,t=i.current;!e||!t||o(t.scrollWidth>e.clientWidth?t.scrollWidth+24:0)};e();let t=new ResizeObserver(e);return r.current&&t.observe(r.current),i.current&&t.observe(i.current),()=>t.disconnect()},[]);let s=e&&a>0&&!n;return(0,Z.jsx)(`span`,{ref:r,className:F(`block min-w-0 flex-1 overflow-hidden`,!s&&`truncate`),title:t,children:s?(0,Z.jsxs)(U.span,{className:`flex w-max items-center gap-6 whitespace-nowrap`,animate:{x:[0,-a]},transition:{duration:Math.max(2.4,a/34),ease:`linear`,repeat:1/0,repeatDelay:2},children:[(0,Z.jsx)(`span`,{ref:i,children:t}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:t})]}):(0,Z.jsx)(`span`,{ref:i,children:t})})}function cf({label:e,onCommit:t,onCancel:n}){let[r,i]=(0,X.useState)(e),a=(0,X.useRef)(null),o=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{o.current=!1,i(e),requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[e]),(0,Z.jsx)(`input`,{ref:a,value:r,"aria-label":`Rename ${e}`,onChange:e=>i(e.target.value),onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),onBlur:()=>{o.current||t(r)},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&(o.current=!0,t(r)),e.key===`Escape`&&(o.current=!0,n())},className:`mx-1 h-7 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-base text-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring md:text-sm`})}function lf({item:e,menuOpen:t,onMenuOpenChange:n,onRenameStart:r,renderMenu:i}){let a=i?.(e,{close:()=>n(!1),rename:()=>{n(!1),r()}})??(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{n(!1),r()},className:`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-start text-xs text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,Z.jsx)(mr,{"aria-hidden":`true`,className:`size-3.5`}),`Rename`]});return(0,Z.jsxs)(go,{open:t,onOpenChange:n,children:[(0,Z.jsx)(_o,{render:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Actions for ${e.label}`,onClick:e=>e.stopPropagation(),className:`size-8 shrink-0 opacity-0 outline-none transition-opacity hover:bg-foreground/5 focus-visible:opacity-100 group-hover/resource:opacity-100 group-data-[menu-open=true]/resource:opacity-100`,children:(0,Z.jsx)(la,{"aria-hidden":`true`,className:`size-4`})})}),(0,Z.jsx)(vo,{side:`bottom`,align:`end`,sideOffset:8,className:`w-40 p-1.5`,children:(0,Z.jsx)(`div`,{"data-sidebar-resource-menu":e.id,children:a})})]})}function uf(e,t,n,r,i){return F(`group/resource relative flex min-h-8 min-w-0 cursor-pointer items-center gap-2 rounded-sm pe-0 text-body outline-none`,`text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,`focus-visible:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`,`data-[menu-open=true]:bg-muted data-[menu-open=true]:text-foreground`,!e&&t&&`bg-muted text-foreground`,e&&n&&`bg-muted/55 text-foreground ring-1 ring-border/70`,r===`action`&&`text-xs text-muted-foreground`,i&&`cursor-not-allowed opacity-45`)}function df(e){let t=G()??!1,[n,r]=(0,X.useState)(!1),i=nf(e.row.item),a=e.renderIcon?.(e.row.item),o=a===void 0?of(e.row.item,e.expanded):a,{item:s}=e.row;return(0,Z.jsxs)(U.div,{ref:e.setRef,layout:`position`,transition:t?{duration:0}:ee,role:`treeitem`,"aria-level":e.row.depth+1,"aria-selected":i?void 0:e.active,"aria-expanded":i?e.expanded:void 0,"aria-disabled":s.disabled||void 0,tabIndex:e.focused?0:-1,"data-menu-open":e.menuOpen||void 0,"data-kind":s.kind,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onClick:t=>{t.defaultPrevented||e.renaming||s.disabled||(i?e.onContainerSelect():e.onSelect())},onDoubleClick:t=>{i||s.kind===`action`||s.disabled||(t.preventDefault(),e.onRenameStart())},onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:uf(i,e.active,e.containerActive,s.kind,s.disabled),style:{paddingInlineStart:`${8+(e.row.depth+(s.indent??0))*14}px`},children:[o!==null&&(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 shrink-0 place-items-center`,children:o}),e.renaming?(0,Z.jsx)(cf,{label:s.label,onCommit:e.onRenameCommit,onCancel:e.onRenameCancel}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(sf,{active:n||e.menuOpen,children:s.label}),e.renderSecondaryAction?.(s),!s.disabled&&s.kind!==`action`&&(0,Z.jsx)(lf,{item:s,menuOpen:e.menuOpen,onMenuOpenChange:e.onMenuOpenChange,onRenameStart:e.onRenameStart,renderMenu:e.renderMenu})]})]})}function ff({items:e=ef,onRename:t,activeId:n=null,activeContainerId:r,onActiveChange:i,onContainerSelect:a,expandedIds:o,onExpandedIdsChange:s,renderIcon:c,renderSecondaryAction:l,renderMenu:u,className:d}){let[f,p]=(0,X.useState)(e),[m,h]=(0,X.useState)(()=>new Set(tf)),[g,_]=(0,X.useState)(n),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(null),[S,C]=(0,X.useState)(``),w=(0,X.useRef)(new Map),T=(0,X.useMemo)(()=>o===void 0?m:new Set(o),[o,m]);(0,X.useEffect)(()=>{p(e)},[e]);let E=(0,X.useMemo)(()=>rf(f,T),[T,f]);(0,X.useEffect)(()=>{g&&E.some(e=>e.item.id===g)||_(E[0]?.item.id??null)},[E,g]),(0,X.useEffect)(()=>{if(!v)return;let e=requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`[data-sidebar-resource-menu]`)).find(e=>e.dataset.sidebarResourceMenu===v)?.querySelector(`button, a[href]`)?.focus()});return()=>cancelAnimationFrame(e)},[v]);let D=(0,X.useCallback)(e=>{_(e),requestAnimationFrame(()=>w.current.get(e)?.focus())},[]),O=(0,X.useCallback)(e=>{let t=new Set(T);t.has(e)?t.delete(e):t.add(e),o===void 0&&h(t),s?.([...t])},[o,T,s]),k=(0,X.useCallback)((e,t)=>{let n=E.findIndex(({item:e})=>e.id===t.item.id),r=E[n-1],o=E[n+1];if(e.key===`ArrowDown`&&o){e.preventDefault(),D(o.item.id);return}if(e.key===`ArrowUp`&&r){e.preventDefault(),D(r.item.id);return}if(e.key===`Home`&&E[0]){e.preventDefault(),D(E[0].item.id);return}if(e.key===`End`&&E.at(-1)){e.preventDefault(),D(E.at(-1)?.item.id??t.item.id);return}if(t.item.disabled){e.key===`ArrowLeft`&&t.parentId?(e.preventDefault(),D(t.parentId)):([`ArrowRight`,`Enter`,` `,`F2`,`ContextMenu`].includes(e.key)||e.shiftKey&&e.key===`F10`)&&e.preventDefault();return}e.key===`ArrowRight`&&nf(t.item)?(e.preventDefault(),T.has(t.item.id)?o?.parentId===t.item.id&&D(o.item.id):O(t.item.id)):e.key===`ArrowLeft`?(e.preventDefault(),T.has(t.item.id)?O(t.item.id):t.parentId&&D(t.parentId)):e.key===`Enter`||e.key===` `?(e.preventDefault(),nf(t.item)?a?a(t.item.id):O(t.item.id):i?.(t.item.id)):e.key===`F2`&&t.item.kind!==`action`?(e.preventDefault(),x(t.item.id)):(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`)&&(e.preventDefault(),y(t.item.id))},[T,E,D,i,a,O]);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{role:`tree`,"aria-label":`Projects and sessions`,"aria-multiselectable":`false`,className:F(`relative flex min-w-0 flex-col gap-0.5 [overflow-anchor:none] group-data-[state=collapsed]/sidebar:hidden`,d),children:(0,Z.jsx)(W,{initial:!1,children:E.map(e=>(0,Z.jsx)(df,{row:e,active:n===e.item.id,containerActive:r===e.item.id,expanded:T.has(e.item.id),focused:g===e.item.id,menuOpen:v===e.item.id,renaming:b===e.item.id,onFocus:()=>_(e.item.id),onSelect:()=>i?.(e.item.id),onContainerSelect:()=>{a?a(e.item.id):O(e.item.id)},onKeyDown:t=>k(t,e),onRenameStart:()=>x(e.item.id),onRenameCancel:()=>x(null),onRenameCommit:n=>{let r=n.trim();if(x(null),!r||r===e.item.label)return;let i=f;p(af(i,e.item.id,r)),Promise.resolve(t?.(e.item,r)).catch(()=>{p(i),C(`Rename failed. ${e.item.label} was restored.`)})},onMenuOpenChange:t=>{y(t?e.item.id:null),t||D(e.item.id)},renderIcon:c,renderSecondaryAction:l,renderMenu:u,setRef:t=>{t?w.current.set(e.item.id,t):w.current.delete(e.item.id)}},e.item.id))})}),(0,Z.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:S})]})}function pf(e){return e?.status===`running`?(0,Z.jsx)(fr,{className:`size-3.5 animate-spin`}):e?.status===`failed`?(0,Z.jsx)(br,{className:`size-3.5 text-destructive`}):e?.status===`interrupted`?(0,Z.jsx)(aa,{className:`size-3.5 text-muted-foreground`}):null}function mf({projectActionsOpen:e,setProjectActionsOpen:t,expandedProjectIds:n,setExpandedProjectIds:r,onOpenCreateProject:i,projects:a,projectSessions:o,sidebarItems:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:f,onRenameSession:p,onCreateProject:m,resumeResource:h,toggleProjectResource:g,renderMenu:_}){return(0,Z.jsx)(Il,{className:`gap-0 px-2.5 pb-1 pt-2`,children:(0,Z.jsxs)(Rl,{className:`p-0`,children:[(0,Z.jsxs)(`div`,{className:`relative mb-1 h-8`,children:[(0,Z.jsx)(zl,{className:`mb-0 h-8 pe-20 text-xs font-normal normal-case tracking-normal text-muted-foreground`,children:`Projects`}),(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-auto flex items-center gap-0.5 [inset-inline-start:auto] [inset-inline-end:0]`,children:[(0,Z.jsxs)(yo,{open:e,onOpenChange:t,side:`bottom`,align:`end`,className:`w-44 p-1`,trigger:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Project actions`,title:`Project actions`,className:F(Zr,`inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`),children:(0,Z.jsx)(la,{"aria-hidden":`true`,className:`size-3.5`})}),children:[m?(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(!1),i()},className:`flex h-8 w-full items-center gap-2 rounded-md px-2 text-xs outline-none hover:bg-muted focus-visible:bg-muted`,children:[(0,Z.jsx)(ir,{"aria-hidden":`true`,className:`size-3.5`}),`Add project`]}):null,(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(!1),r([])},className:`flex h-8 w-full items-center gap-2 rounded-md px-2 text-xs outline-none hover:bg-muted focus-visible:bg-muted`,children:[(0,Z.jsx)($t,{"aria-hidden":`true`,className:`size-3.5`}),`Collapse all`]})]}),m?(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Add project`,title:`Add project`,onClick:i,className:F(Zr,`inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`),children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})]}),(0,Z.jsx)(Bl,{children:a.length===0?(0,Z.jsx)(`div`,{className:`px-2 py-4`,children:(0,Z.jsx)($d,{title:`Add a project`,description:`Choose a local directory for Fleet Prime.`,count:0,itemLabel:`session`,previews:[{id:`empty-project`,content:(0,Z.jsx)(ir,{className:`size-5 text-muted-foreground`})}],onClick:i,ariaLabel:`Add a project`,className:`w-full`})}):(0,Z.jsx)(ff,{items:s,activeId:l?Hn(l):null,activeContainerId:c?Qn(c):null,expandedIds:n,onExpandedIdsChange:r,onActiveChange:h,onContainerSelect:g,onRename:(e,t)=>{let n=nr(e.id,er);n&&p(n,t)},renderMenu:_,renderIcon:e=>{if(nr(e.id,`project:`))return(0,Z.jsx)(ar,{className:`size-4`});if(e.id.startsWith(`toggle:`))return e.label===`Show less`?(0,Z.jsx)(mn,{className:`size-4`}):(0,Z.jsx)($t,{className:`size-4`});if(e.kind===`action`)return null;let t=nr(e.id,er);return pf(o.find(e=>e.sessionId===t))},renderSecondaryAction:e=>{let t=nr(e.id,Zn);return!t||t===`unassigned`?null:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`New chat in ${e.label}`,title:`New chat in ${e.label}`,onClick:e=>{e.stopPropagation(),d?d(t):(f?.(t),u())},className:`size-8 shrink-0 opacity-0 group-hover/resource:opacity-100 group-focus-within/resource:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100`,children:(0,Z.jsx)(ya,{"data-icon":`inline-start`,className:`size-3.5`})})},className:`px-0`})})]})})}function hf({className:e,...t}){return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Z.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.727-8.835L1.254 2.25H8.08l4.253 5.622L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z`})})}function gf({className:e,...t}){return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Z.jsx)(`path`,{d:`M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 12.6 12.6 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14 14 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.1 13.1 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})})}function _f(){try{return`0.10.0`}catch{return`dev`}}function vf(){let e=_f();return(0,Z.jsxs)(Pr,{variant:`secondary`,title:`Fleet ${e}`,"aria-label":`Fleet version ${e}`,className:`shrink-0 font-mono text-micro font-normal text-muted-foreground`,children:[`v`,e]})}function yf(e,t){return e.filter(e=>e.messageCount>0||e.sessionId===t)}function bf(e){return e.toSorted((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function xf(e,t,n){let r=bf(e);if(n||r.length<=5)return r;let i=r.slice(0,5),a=r.find(e=>e.sessionId===t);return a&&!i.some(e=>e.sessionId===a.sessionId)&&(i[4]=a),i}function Sf(e,t){let n=new Map(e.map((e,t)=>[e.projectId,t])),r=new Map;for(let e of t){if(!e.projectId)continue;let t=Date.parse(e.updatedAt);r.set(e.projectId,Math.max(r.get(e.projectId)??0,t))}return e.toSorted((e,t)=>{let i=r.get(e.projectId)??0,a=r.get(t.projectId)??0;return i===a?(n.get(e.projectId)??0)-(n.get(t.projectId)??0):a-i})}function Cf({threads:e,query:t,activeId:n,onQueryChange:r,onSelect:i,className:a,...o}){let s=e.filter(e=>`${e.title} ${e.preview} ${(e.keywords??[]).join(` `)}`.toLowerCase().includes(t.toLowerCase())),c=s.filter(e=>e.pinned),l=[...new Set(s.flatMap(e=>e.pinned?[]:[e.group]))],u=[...c,...l.flatMap(e=>s.filter(t=>!t.pinned&&t.group===e))],[d,f]=(0,X.useState)(null),p=e=>{if(u.length===0)return;let t=u.findIndex(e=>e.id===d),n=u[((t===-1?e>0?-1:0:t)+e+u.length)%u.length];f(n?n.id:null)},m=e=>{e.nativeEvent.isComposing||(e.key===`ArrowDown`?(e.preventDefault(),p(1)):e.key===`ArrowUp`?(e.preventDefault(),p(-1)):e.key===`Enter`&&d&&(e.preventDefault(),i?.(d)))},h=e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{f(e.id),i?.(e.id)},className:F(`flex flex-col gap-0.5 rounded-xl px-2 py-1 text-start transition-colors`,e.id===d?`bg-foreground/[0.05]`:e.id===n?`bg-foreground/[0.02] hover:bg-foreground/[0.03]`:`hover:bg-foreground/[0.03]`),children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.pinned&&(0,Z.jsx)(ha,{className:`text-foreground/30 size-2.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body`,children:e.title})]}),(0,Z.jsx)(`span`,{className:`text-foreground/35 truncate text-xs`,children:e.preview})]},e.id);return(0,Z.jsxs)(`div`,{"data-slot":`thread-search`,className:F(Vr,`flex w-full max-w-sm flex-col gap-1.5 rounded-2xl p-3`,a),...o,children:[(0,Z.jsxs)(`div`,{className:F(Hr,`flex items-center gap-2 rounded-xl px-2.5 py-1.5`),children:[(0,Z.jsx)(vr,{className:`text-foreground/30 size-3.5 shrink-0`}),(0,Z.jsx)(`input`,{value:t,onChange:e=>{f(null),r?.(e.target.value)},onKeyDown:m,placeholder:`Search threads`,"aria-label":`Search threads`,className:`text-foreground/85 placeholder:text-foreground/30 min-w-0 flex-1 bg-transparent text-base outline-none md:text-body`})]}),c.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:F(`font-mono text-caption tracking-tight`,`text-foreground/25 px-2 pb-1`),children:`pinned`}),c.map(h)]}),l.map(e=>(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:F(Lr,`text-foreground/25 px-2 pb-1`),children:e}),s.flatMap(t=>!t.pinned&&t.group===e?[h(t)]:[])]},e)),s.length===0&&(0,Z.jsxs)(`span`,{className:`text-foreground/30 px-2 py-4 text-center text-xs`,children:[`No thread matches “`,t,`”`]})]})}var wf=`flex h-8 w-full items-center gap-2 rounded-md px-2 text-label outline-none transition-colors hover:bg-muted focus-visible:bg-muted`,Tf=`flex h-8 w-full items-center justify-start gap-2 rounded-lg px-2 text-body font-normal text-sidebar-foreground outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-sidebar-ring`;function Ef({icon:e,label:t,onClick:n,href:r,to:a}){return a?(0,Z.jsxs)(i,{to:a,className:wf,onClick:n,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):r?(0,Z.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:wf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:wf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]})}function Df({children:e}){return(0,Z.jsx)(`kbd`,{className:`rounded border border-border/60 bg-muted/60 px-1 font-mono text-micro leading-4 text-muted-foreground`,children:e})}function Of({brandMenuOpen:e,setBrandMenuOpen:t,searchOpen:n,setSearchOpen:r,query:i,setQuery:a,projectActionsOpen:o,setProjectActionsOpen:s,expandedProjectIds:c,setExpandedProjectIds:l,onOpenCreateProject:u,projects:d,projectSessions:f,sidebarItems:p,sortedProjects:m,projectById:h,activeProjectId:g,activeSessionId:_,onNewSession:v,onNewSessionInProject:y,onProjectSelect:b,onRenameSession:x,onCreateProject:S,onOpenSettings:C,accountMenu:w,resumeResource:T,toggleProjectResource:E,selectSearchResult:D,renderMenu:O}){let k=(0,X.useMemo)(()=>bf(f).map(e=>({id:e.sessionId,title:Kn(e,f),preview:qn(e,h),group:rr(e.updatedAt),keywords:e.firstMessage?[Ln(e.firstMessage)]:[]})),[h,f]),A=(0,X.useMemo)(()=>{let e=i.trim().toLowerCase();return e?m.filter(t=>`${t.name} ${t.pathLabel}`.toLowerCase().includes(e)):m},[i,m]);return(0,Z.jsx)(jl,{ariaLabel:`Fleet projects and sessions`,collapsible:`offcanvas`,variant:`floating`,className:`text-sidebar-foreground`,children:(0,Z.jsxs)(Wr,{value:2,children:[(0,Z.jsxs)(Fl,{className:`gap-2 border-0 px-2.5 pb-2 pt-2.5`,children:[(0,Z.jsxs)(`div`,{className:`relative flex h-9 min-w-0 items-center justify-between gap-1`,children:[(0,Z.jsxs)(yo,{open:e,onOpenChange:t,side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(`button`,{type:`button`,className:`flex h-8 w-fit shrink-0 items-center gap-1 rounded-lg px-2 text-start text-body font-medium outline-none transition-colors hover:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-sidebar-ring`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:`Qredence Fleet`}),(0,Z.jsx)($t,{className:`size-3.5 text-muted-foreground`})]}),className:`w-52 p-1`,children:[S?(0,Z.jsx)(Ef,{icon:ir,label:`Add project`,onClick:()=>{t(!1),u()}}):null,(0,Z.jsx)(Ef,{icon:Yt,label:`Settings`,onClick:()=>{t(!1),C?.()}}),(0,Z.jsx)(Ef,{label:`Agents`,to:`/agents`}),(0,Z.jsx)(Ef,{label:`Connectors`,to:`/connectors`}),(0,Z.jsx)(Ef,{icon:ta,label:`Documentation`,href:Xn})]}),(0,Z.jsx)(yo,{open:n,onOpenChange:r,side:`bottom`,align:`end`,className:`w-64 p-0`,trigger:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Search projects and sessions`,title:`Search projects and sessions`,className:`shrink-0 text-muted-foreground hover:bg-sidebar-accent`,children:(0,Z.jsx)(vr,{"data-icon":`inline-start`,className:`size-4`})}),children:(0,Z.jsxs)(`div`,{className:`max-h-[min(32rem,calc(100dvh-5rem))] overflow-y-auto overscroll-contain`,children:[(0,Z.jsx)(Cf,{threads:k,query:i,activeId:_??``,onQueryChange:a,onSelect:e=>D(`search-session:${e}`),className:`max-w-none rounded-none border-0 p-2 shadow-none`}),(0,Z.jsxs)(`div`,{className:`border-t border-border/60 px-2 pb-2 pt-1.5`,children:[(0,Z.jsx)(`span`,{className:`px-2 pb-1 font-mono text-micro uppercase tracking-[0.14em] text-muted-foreground/60`,children:`Projects`}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-col gap-0.5`,children:[A.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>D(`search-project:${e.projectId}`),className:`flex w-full min-w-0 items-center gap-2 rounded-xl px-2 py-1.5 text-start text-label outline-none transition-colors hover:bg-foreground/[0.03] focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,Z.jsx)(ar,{className:`size-3.5 shrink-0 text-muted-foreground/60`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Z.jsx)(`span`,{className:`max-w-24 truncate text-micro text-muted-foreground/55`,children:e.pathLabel})]},e.projectId)),A.length===0?(0,Z.jsxs)(`span`,{className:`p-2 text-center text-caption text-muted-foreground/60`,children:[`No project matches “`,i,`”`]}):null]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-3 border-t border-border/60 px-3 py-2 text-micro text-muted-foreground/70`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`↑`}),(0,Z.jsx)(Df,{children:`↓`}),`navigate`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`↵`}),`open`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`esc`}),`close`]})]})]})})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:v,className:Tf,children:[(0,Z.jsx)(ya,{className:`size-4 shrink-0 text-muted-foreground`}),`New chat`]})]}),(0,Z.jsx)(mf,{projectActionsOpen:o,setProjectActionsOpen:s,expandedProjectIds:c,setExpandedProjectIds:l,onOpenCreateProject:u,projects:d,projectSessions:f,sidebarItems:p,activeProjectId:g,activeSessionId:_,onNewSession:v,onNewSessionInProject:y,onProjectSelect:b,onRenameSession:x,onCreateProject:S,resumeResource:T,toggleProjectResource:E,renderMenu:O}),(0,Z.jsxs)(Ll,{className:`flex-col gap-1 border-sidebar-border px-2.5 py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))]`,children:[(0,Z.jsxs)(`a`,{href:Wn,target:`_blank`,rel:`noreferrer`,className:Tf,children:[(0,Z.jsx)(hf,{className:`size-4 shrink-0 text-muted-foreground`}),`Twitter`]}),(0,Z.jsxs)(`a`,{href:tr,target:`_blank`,rel:`noreferrer`,className:Tf,children:[(0,Z.jsx)(gf,{className:`size-4 shrink-0 text-muted-foreground`}),`Discord`]}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-row items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:w??(0,Z.jsx)(`span`,{className:`flex h-8 items-center px-2 text-body`,children:`Qredence`})}),(0,Z.jsx)(vf,{}),(0,Z.jsx)(`a`,{href:Xn,target:`_blank`,rel:`noreferrer`,"aria-label":`Open Qredence documentation`,title:`Help`,className:`grid size-8 shrink-0 place-items-center rounded-lg text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`,children:(0,Z.jsx)(ra,{className:`size-4`})})]})]}),(0,Z.jsx)(Nl,{})]})})}function kf(e,t){return t.type===`update`?t.update(e):{...e,[t.field.key]:t.field.value}}function Af(e){let[t,n]=(0,X.useReducer)(kf,e,e=>({brandMenuOpen:!1,projectActionsOpen:!1,searchOpen:!1,query:``,expandedProjectIds:Yn(e),revealedProjectIds:new Set,activeDialog:null})),r=(0,X.useCallback)(function(e,t){n({type:`set`,field:{key:e,value:t}})},[]),i=(0,X.useCallback)(function(e,t){n({type:`update`,update:n=>({...n,[e]:t(n[e])})})},[]),a=(0,X.useCallback)(e=>r(`brandMenuOpen`,e),[r]),o=(0,X.useCallback)(e=>r(`projectActionsOpen`,e),[r]),s=(0,X.useCallback)(e=>r(`searchOpen`,e),[r]),c=(0,X.useCallback)(e=>r(`query`,e),[r]),l=(0,X.useCallback)(e=>typeof e==`function`?i(`expandedProjectIds`,e):r(`expandedProjectIds`,e),[r,i]),u=(0,X.useCallback)(e=>typeof e==`function`?i(`revealedProjectIds`,e):r(`revealedProjectIds`,e),[r,i]),d=(0,X.useCallback)(e=>r(`activeDialog`,e),[r]),f=(0,X.useCallback)(()=>r(`activeDialog`,null),[r]);return{...t,setBrandMenuOpen:a,setProjectActionsOpen:o,setSearchOpen:s,setQuery:c,setExpandedProjectIds:l,setRevealedProjectIds:u,setActiveDialog:d,closeDialog:f}}var jf=[[`resources`,`Open Resources`,cr],[`workspace`,`Open Workspace`,ar],[`artifacts`,`Open Artifacts`,pr]];function Mf({icon:e,label:t,destructive:n=!1,onClick:r}){return(0,Z.jsxs)(`button`,{type:`button`,onClick:r,className:n?`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs text-destructive hover:bg-destructive/10`:`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs hover:bg-muted`,children:[(0,Z.jsx)(e,{className:`size-3.5`}),t]})}function Nf({sessions:e,projects:t=$n,projectSessions:n=e,activeProjectId:r,activeSessionId:i,onNewSession:a,onNewSessionInProject:o,onProjectSelect:s,onResumeSession:c,onOpenPanelAction:l,expandedProjectIds:u,revealedProjectIds:d,setExpandedProjectIds:f,setRevealedProjectIds:p,setSearchOpen:m,setActiveDialog:h}){let g=(0,X.useMemo)(()=>new Map(t.map(e=>[e.projectId,e])),[t]),_=(0,X.useMemo)(()=>Sf(t,n),[n,t]);(0,X.useEffect)(()=>{if(!r)return;let e=Qn(r);f(t=>t.includes(e)?t:[...t,e])},[r,f]),(0,X.useEffect)(()=>{Tr(Jn,JSON.stringify(u))},[u]);let v=(0,X.useMemo)(()=>{let e=_.map(e=>{let t=yf(n.filter(t=>t.projectId===e.projectId),i),r=d.has(e.projectId),a=xf(t,i,r),o=a.map(e=>({id:Hn(e.sessionId),label:Kn(e,a),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length===0)o.push({id:Gn(e.projectId),label:`Start first chat`,kind:`action`});else if(t.length>5){let n=t.length-a.length;o.push({id:`toggle:${e.projectId}`,label:r?`Show less`:`Show ${n} more`,kind:`action`})}return{id:Qn(e.projectId),label:e.name,kind:`project`,children:o}}),t=bf(yf(n.filter(e=>!e.projectId),i));if(t.length>0){let n=d.has(`unassigned`),r=xf(t,i,n),a=r.map(e=>({id:Hn(e.sessionId),label:Kn(e,t),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length>5){let e=t.length-r.length;a.push({id:`toggle:unassigned`,label:n?`Show less`:`Show ${e} more`,kind:`action`})}e.push({id:`project:unassigned`,label:`Unassigned`,kind:`folder`,children:a})}return e},[i,n,d,_]),y=(0,X.useCallback)(e=>{o?o(e):(s?.(e),a())},[a,o,s]);return{projectById:g,sortedProjects:_,sidebarItems:v,resumeResource:(0,X.useCallback)(e=>{let t=nr(e,`toggle:`);if(t){p(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n});return}let r=nr(e,Un);if(r){y(r);return}let i=nr(e,er);if(!i)return;let a=n.find(e=>e.sessionId===i);a&&c(a)},[y,c,n,p]),toggleProjectResource:(0,X.useCallback)(e=>{f(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[f]),selectSearchResult:(0,X.useCallback)(e=>{let t=nr(e,`search-project:`);if(t){let e=Qn(t);f(t=>t.includes(e)?t:[...t,e]),s?.(t),m(!1);return}let r=nr(e,`search-session:`),i=r?n.find(e=>e.sessionId===r):void 0;if(i){if(i.projectId){let e=Qn(i.projectId);f(t=>t.includes(e)?t:[...t,e])}c(i),m(!1)}},[s,c,n,f,m]),renderMenu:(0,X.useCallback)((e,t)=>{let r=nr(e.id,er),i=nr(e.id,`project:`);if(r){let e=n.find(e=>e.sessionId===r);if(!e)return null;let i=e.projectId??void 0;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Mf,{icon:mr,label:`Rename`,onClick:()=>{t.close(),h({kind:`rename-session`,session:e})}}),l&&i?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`my-1 border-t`}),jf.map(([e,n,r])=>(0,Z.jsx)(Mf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null,(0,Z.jsx)(Mf,{icon:yr,label:`Delete`,destructive:!0,onClick:()=>{t.close(),h({kind:`delete-session`,session:e})}})]})}if(i&&i!==`unassigned`){let e=g.get(i);return e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Mf,{icon:mr,label:`Rename project`,onClick:()=>{t.close(),h({kind:`rename-project`,project:e})}}),(0,Z.jsx)(Mf,{icon:Ta,label:`Unregister project`,destructive:!0,onClick:()=>{t.close(),h({kind:`unregister-project`,project:e})}}),l?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`my-1 border-t`}),jf.map(([e,n,r])=>(0,Z.jsx)(Mf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null]}):null}return null},[l,g,n,h])}}var Pf=(0,X.lazy)(()=>Or(async()=>{let{SessionSidebarCreateDialog:e}=await import(`./create-project-dialog-Db-WhUmP.js`);return{SessionSidebarCreateDialog:e}},__vite__mapDeps([97,1,2,3,8,98,99,100,94,69,23,4,17,24,25,14,15,13,16,18,19,20,21,22,26,28,29,10,7,11,12,27,92,39])).then(({SessionSidebarCreateDialog:e})=>({default:e})));function Ff({data:e,sessionActions:t,projectActions:n={},navigationActions:r={},slots:i={}}){let{sessions:a,projects:o=$n,projectSessions:s=a,activeProjectId:c,activeSessionId:l}=e,{onNewSession:u,onNewSessionInProject:d,onResumeSession:f,onRenameSession:p,onDeleteSession:m}=t,{onProjectSelect:h,onCreateProject:g,onRenameProject:_,onUnregisterProject:v}=n,{onOpenPanelAction:y,onBrowseDirectories:b,onOpenSettings:x}=r,{accountMenu:S}=i,C=Af(c),{projectById:w,sortedProjects:T,sidebarItems:E,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}=Nf({sessions:a,projects:o,projectSessions:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onResumeSession:f,onOpenPanelAction:y,expandedProjectIds:C.expandedProjectIds,revealedProjectIds:C.revealedProjectIds,setExpandedProjectIds:C.setExpandedProjectIds,setRevealedProjectIds:C.setRevealedProjectIds,setSearchOpen:C.setSearchOpen,setActiveDialog:C.setActiveDialog}),j=C.setActiveDialog,M=(0,X.useCallback)(()=>{j({kind:`create-project`})},[j]),N=C.activeDialog?.kind===`create-project`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Of,{brandMenuOpen:C.brandMenuOpen,setBrandMenuOpen:C.setBrandMenuOpen,searchOpen:C.searchOpen,setSearchOpen:C.setSearchOpen,query:C.query,setQuery:C.setQuery,projectActionsOpen:C.projectActionsOpen,setProjectActionsOpen:C.setProjectActionsOpen,expandedProjectIds:C.expandedProjectIds,setExpandedProjectIds:C.setExpandedProjectIds,onOpenCreateProject:M,projects:o,projectSessions:s,sidebarItems:E,sortedProjects:T,projectById:w,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onRenameSession:p,onCreateProject:g,onOpenSettings:x,accountMenu:S,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}),N?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Pf,{open:N,onClose:C.closeDialog,onBrowseDirectories:b,onCreateProject:g})}):null,(0,Z.jsx)(Wd,{activeDialog:C.activeDialog,onClose:C.closeDialog,onRenameSession:p,onDeleteSession:m,onRenameProject:_,onUnregisterProject:v})]})}var If=(0,X.lazy)(()=>Or(async()=>{let{SubagentChatPanel:e}=await import(`./subagent-chat-panel-R2RoX1Yt.js`);return{SubagentChatPanel:e}},__vite__mapDeps([101,3,1,102,2,4,5,6,31,32,98,8,80,23,17,24,25,103,74,104,13,43,44,36,37,46,11,47,48,39,22,41,57,105,64,59,106,61,58,18,21,29,60,30,33,34,7,35,38,40,42,45,49,50,51,52,53,54,55,56,26,87,107,108])).then(({SubagentChatPanel:e})=>({default:e}))),Lf=(0,X.lazy)(()=>Or(async()=>{let{SessionActivityPanel:e}=await import(`./session-activity-panel-DwaXiSrS.js`);return{SessionActivityPanel:e}},__vite__mapDeps([109,3,1,8,2,33,36,37,23,4,17,24,25,106,39,61,43,58,18,13,21,29,108,46,11,47,48,41])).then(({SessionActivityPanel:e})=>({default:e})));function Rf(){let{session:e,conversation:t,composer:n,panels:r,dialogs:i,chrome:a,agentTabs:o}=wd(),s=(0,X.useCallback)(()=>{i.setCommandPaletteOpen(e=>!e)},[i.setCommandPaletteOpen]),c=(0,X.useCallback)(()=>{r.setRightPanel(null),window.requestAnimationFrame(()=>jd())},[r.setRightPanel]);Md({onCommandPaletteToggle:s,onClosePanel:c,rightPanel:r.rightPanel,setRightPanel:r.setRightPanel});let l=e.projects.find(t=>t.projectId===e.activeProjectId)?.name,u=(0,X.useCallback)((e,r)=>{let i=[...n.uploadedAttachments],a=[...n.workspaceAttachments],o=[...a,...i];n.clearUploadedAttachments(),n.clearWorkspaceAttachments(),(async()=>{try{await t.sendMessage({text:e,altKey:r,mode:n.chatMode,openUI:!0,attachments:o})||n.restoreAttachments(i,a)}catch(e){n.restoreAttachments(i,a),ds(e)}})()},[n.chatMode,n.clearUploadedAttachments,n.clearWorkspaceAttachments,n.restoreAttachments,n.uploadedAttachments,n.workspaceAttachments,t.sendMessage]),d=(0,X.useCallback)(e=>{let r=_n(e);if(r){t.openPanelAction(r);return}t.sendMessage({text:e,altKey:!1,mode:n.chatMode,openUI:!0})},[n.chatMode,t.openPanelAction,t.sendMessage]),f=(0,X.useCallback)(async e=>{try{return await t.persistOpenUIArtifact(e)}catch(e){fi.error(`Artifact persistence failed: ${e instanceof Error?e.message:String(e)}`);return}},[t.persistOpenUIArtifact]),p=(0,X.useMemo)(()=>({sessions:e.sessions,projects:e.projects,projectSessions:e.projectSessions,activeProjectId:e.activeProjectId,activeSessionId:e.activeSessionId}),[e.sessions,e.projects,e.projectSessions,e.activeProjectId,e.activeSessionId]),m=(0,X.useCallback)(()=>fs(()=>e.startNewSession()),[e.startNewSession]),h=(0,X.useCallback)(t=>{e.resumeSession({sessionId:t.sessionId})},[e.resumeSession]),g=(0,X.useCallback)((t,n)=>{e.renameSession(t,n)},[e.renameSession]),_=(0,X.useCallback)(t=>{e.deleteSession(t)},[e.deleteSession]),v=(0,X.useCallback)(()=>{i.setSettingsDialogOpen(!0)},[i.setSettingsDialogOpen]),y=(0,X.useMemo)(()=>({onNewSession:m,onNewSessionInProject:e.startNewSessionInProject,onResumeSession:h,onRenameSession:g,onDeleteSession:_}),[m,e.startNewSessionInProject,h,g,_]),b=(0,X.useMemo)(()=>({onProjectSelect:e.selectProject,onCreateProject:e.createProject,onRenameProject:e.renameProject,onUnregisterProject:e.unregisterProject}),[e.selectProject,e.createProject,e.renameProject,e.unregisterProject]),x=(0,X.useMemo)(()=>({onOpenPanelAction:e.openPanelAction,onBrowseDirectories:e.browseProjectDirectories,onOpenSettings:v}),[e.openPanelAction,e.browseProjectDirectories,v]),S=(0,X.useMemo)(()=>({accountMenu:a.header.accountMenu}),[a.header.accountMenu]),C=hs(n,e.activeSessionId),w=o.activeTabId===`activity`?(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading session activity…`}),children:(0,Z.jsx)(Lf,{artifactRuns:t.artifactRuns,childAgents:t.presentation.rlmChildren,messages:t.messages,onOpenArtifact:t.openArtifact,onSelectChild:o.openChildTab,streaming:t.status===`streaming`||t.status===`submitted`})}):o.activeTabId===`main`||!o.selectedChild?(0,Z.jsx)(us,{messages:t.messages,highlightedMessageId:t.highlightedTranscriptMessageId??void 0,status:t.status,error:t.error??void 0,workspaceName:l,activityLabel:t.activityLabel,presentation:t.presentation,artifactRuns:t.artifactRuns,queue:t.queue,onDeleteQueuedMessage:t.deleteQueuedMessage,onEditQueuedMessage:t.editQueuedMessage,onOpenArtifact:t.openArtifact,onOpenUIArtifactReady:f,inputSuggestionItems:n.inputSuggestionItems,inputBar:C,onSend:u,onOpenUIAction:d,onStop:t.stop}):(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading subagent thread…`}),children:(0,Z.jsx)(If,{child:o.selectedChild,parentSessionId:e.activeSessionId,state:o.conversation})});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(zu,{chrome:a,conversation:t,dialogs:i,panels:r,session:e}),(0,Z.jsxs)(hi,{chatPanelData:r.chatPanelData,onOpenUIAction:d,settingsActions:r.settingsActions,workspaceTree:r.workspaceTreeContext,children:[(0,Z.jsxs)(kl,{className:`h-svh min-h-0 rounded-none border-0`,children:[(0,Z.jsx)(Ff,{data:p,sessionActions:y,projectActions:b,navigationActions:x,slots:S}),(0,Z.jsx)(Pl,{className:`h-svh min-h-0 overflow-hidden`,children:(0,Z.jsx)(Ed,{headerLeft:a.header.left,headerCenter:a.header.center,headerRight:a.header.right,panel:(0,Z.jsx)(hn,{children:(0,Z.jsx)(zd,{handleResourceCanvasResizeStart:r.handleResourceCanvasResizeStart,onClose:c,onResourceCanvasWidthChange:r.handleResourceCanvasWidthChange,resourceCanvasWidth:r.resourceCanvasWidth})}),children:(0,Z.jsx)(`div`,{"aria-labelledby":Eu(o.activeTabId),className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-tab-panel`,id:Du(o.activeTabId),role:`tabpanel`,children:w})})})]}),(0,Z.jsx)(Bu,{dialogs:i})]})]})}var zf=Rf;export{zf as component};
|
|
14
|
+
`)}function $c(e,t){let n=new Map(t.map(e=>[e.assistantMessageId,e]));return e.map(e=>{if(e.role!==`assistant`)return e;let t=n.get(e.id),r=t?Jc(e.id,t.state):void 0;return r?{...e,parts:mc(e.parts,r)}:e})}function el(e,t){for(let n of e)for(let e of n.parts){if(e.type!==`tool-PlanWrite`||e.toolCallId!==t||!e.input||typeof e.input!=`object`)continue;let r=e.input.presentation;if(!r||typeof r!=`object`)continue;let i=r;if(!(!Array.isArray(i.todos)||i.mode!==`agent`&&i.mode!==`plan`&&i.mode!==`harness`))return{assistantMessageId:n.id,state:{...i,todos:i.todos.map(e=>({...e}))}}}}function tl(e,t){if(!e||typeof e!=`object`)return;let n=e.presentation;if(!n||typeof n!=`object`)return n;let r=t.selectedIds?.[0],i=n,a=(Array.isArray(i.todos)?i.todos:[]).some(e=>!!(e&&typeof e==`object`&&!e.completed));return{...i,pendingDecision:!1,mode:r===`execute`?`agent`:`plan`,executing:r===`execute`&&a}}function nl(e,t,n){if(!Xc(t))return e;let r=e.map(e=>{let r=e.parts.map(e=>e.type!==`tool-PlanWrite`||e.toolCallId!==t||!e.input||typeof e.input!=`object`?e:{...e,input:{...e.input,approved:n.selectedIds?.[0]===`execute`||n.selectedIds?.[0]===`stay`,pendingDecision:!1,executing:n.selectedIds?.[0]===`execute`,presentation:tl(e.input,n)}});return r.some((t,n)=>t!==e.parts[n])?{...e,parts:r}:e});return r.some((t,n)=>t!==e[n])?r:e}function rl(e,t){let n=e.map(e=>{let n=e.parts.map(e=>{if(e.type!==`tool-PlanWrite`||typeof e.toolCallId!=`string`||!e.input||typeof e.input!=`object`)return e;let n=e.input;return n.pendingDecision!==!0||typeof n.onExecute==`function`&&typeof n.onStay==`function`&&typeof n.onRefine==`function`?e:{...e,input:{...n,onExecute:()=>t({toolCallId:e.toolCallId,answer:{kind:`single`,selectedIds:[`execute`]}}),onStay:()=>t({toolCallId:e.toolCallId,answer:{kind:`single`,selectedIds:[`stay`]}}),onRefine:n=>t({toolCallId:e.toolCallId,answer:n&&n.trim().length>0?{kind:`text`,text:n.trim()}:{kind:`single`,selectedIds:[`refine`]}})}}});return n.some((t,n)=>t!==e.parts[n])?{...e,parts:n}:e});return n.some((t,n)=>t!==e[n])?n:e}async function il(e){e.setSessionMetadataSynced({}),e.setMessagesSynced([]),e.setQueueSynced(Ic),e.setActivityLabelSynced(void 0),e.setPlanLabelSynced(void 0),e.setPresentationSynced(Lc),e.setError(null),e.setStatus(`ready`);let t=await e.client.createSession(e.projectId);e.setSessionMetadataSynced(t.session),e.setMessagesSynced(t.messages),e.setPresentationSynced(t.presentation),e.setActivityLabelSynced(t.sessionReset?`Started a fresh Pi session`:void 0),await e.refreshSessions()}async function al(e,t,n,r){if(!t(e))return!1;try{await n()}catch(e){let t=e instanceof Error?e:Error(String(e));r.setError(t),r.setStatus(`error`),ds(t)}return!0}async function ol(e,t,n){return al(e,c,t,n)}async function sl(e,t,n){return al(e,M,t,n)}function cl({client:e,initialSessionMetadataRef:t,initializedRef:n,recoverFromForbiddenSession:r,refreshSessions:i,setActivityLabelSynced:a,setError:o,setMessagesSynced:s,setPlanLabelSynced:c,setPresentationSynced:l,setQueueSynced:u,setSessionMetadataSynced:d,setStatus:f}){(0,X.useEffect)(()=>{if(n.current)return;n.current=!0;let p=new AbortController,m=!1;f(`ready`),o(null),u(Ic),a(void 0),c(void 0),s([]);let h=t.current;return i().then(t=>{if(p.signal.aborted)return;let n=h.sessionId?t.find(e=>e.sessionId===h.sessionId):void 0,r=n??(h.projectId?t.find(e=>e.projectId===h.projectId):t[0]);if(!r){d(h.projectId?{projectId:h.projectId}:{});return}let i=n?h:{sessionId:r.sessionId,projectId:r.projectId};return e.loadSession(i)}).then(e=>{!e||p.signal.aborted||(d(e.session),s($c(e.messages,e.planPresentations)),l(e.presentation),a(e.sessionReset?`Started a fresh Pi session`:void 0))}).catch(async e=>{if(p.signal.aborted)return;let t={setError:o,setStatus:f};if(await ol(e,r,t)||await sl(e,r,t)||p.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));o(n),f(`error`),ds(n)}).finally(()=>{m=!0}),()=>{p.abort(),m||(n.current=!1)}},[e,t,n,r,i,a,o,s,c,l,u,d,f])}function ll({client:e,recoveryRef:t,presentationRef:n,sessionId:r,sessionMetadataRef:i,setActivityLabelSynced:a,setAdapterCapabilities:o,setMessagesSynced:s,setPresentationSynced:c,setQueueSynced:u,setSessionMetadataSynced:d,statusRef:f}){let p=(0,X.useRef)({active:!1,needsSnapshot:!1}),m=t??p;(0,X.useEffect)(()=>{if(!r||typeof window>`u`)return;!m.current.active&&m.current.sessionId!==r&&(m.current.sessionId=r,m.current.cursor=void 0,m.current.needsSnapshot=!1);let t=`pi:sse:last-event-id:${r}`,p={current:void 0},h,g=0,_=Er(t,`session`);if(_){if(_.startsWith(`{`))try{let e=JSON.parse(_);typeof e.generation==`string`&&e.generation.length>0&&(h=e.generation),typeof e.lastEventId==`number`&&Number.isInteger(e.lastEventId)&&e.lastEventId>0&&(g=e.lastEventId)}catch{g=0}else{let e=Number.parseInt(_,10);!Number.isNaN(e)&&e>0&&(g=e)}}!m.current.cursor&&h&&(m.current.cursor={generation:h,sequence:g});let v=(e,n=h)=>{g=e,h=n,n?Tr(t,JSON.stringify({generation:n,lastEventId:e}),`session`):Tr(t,String(e),`session`)},y=null,b=null,x=0,S=!1,C=0,w=!1,T,E=(t,l)=>{let _;try{_=JSON.parse(t.data)}catch{m.current.active&&(m.current.needsSnapshot=!0);return}if(typeof _==`object`&&_&&`type`in _&&_.type===`connected`){let e=_;p.current=e.adapterCapabilities,o(e.adapterCapabilities),typeof e.streamGeneration==`string`&&e.streamGeneration.length>0&&(m.current.active&&m.current.cursor&&m.current.cursor.generation!==e.streamGeneration?m.current.needsSnapshot=!0:(!m.current.cursor||m.current.cursor.generation!==e.streamGeneration)&&(m.current.cursor={generation:e.streamGeneration,sequence:e.cursorReset?0:g}),h=e.streamGeneration),e.cursorReset&&(C=0,m.current.active?m.current.needsSnapshot=!0:(v(0,h),h&&(m.current.cursor={generation:h,sequence:0}))),m.current.active&&!m.current.needsSnapshot&&a(void 0);return}let y=jr.safeParse(_);if(!y.success){let e=m.current;if(e.active&&e.sessionId===r&&!e.needsSnapshot&&typeof _==`object`&&_&&`type`in _&&(_.type===`reasoning`||_.type===`reasoning_text`)){let t=Ar.safeParse(`eventCursor`in _?_.eventCursor:null),n=e.cursor,r=t.success?t.data:void 0;if(r&&n?.generation===r.generation&&r.sequence===n.sequence+1)e.cursor=r,v(r.sequence,r.generation);else if(r&&n?.generation===r.generation&&r.sequence<=n.sequence)return;else e.needsSnapshot=!0}else e.active&&(e.needsSnapshot=!0);return}let b=y.data;if(m.current.active&&m.current.sessionId===r){let e=b.eventCursor;if(!e||!m.current.applyEvent||m.current.needsSnapshot){m.current.needsSnapshot=!0;return}let t=m.current.cursor;if(t&&t.generation!==e.generation){m.current.needsSnapshot=!0;return}if(t&&e.sequence<=t.sequence)return;if(t&&e.sequence!==t.sequence+1){m.current.needsSnapshot=!0;return}try{m.current.applyEvent?.(b),m.current.cursor=e,v(e.sequence,e.generation),S&&(S=!1,a(void 0))}catch{m.current.needsSnapshot=!0}return}b.type===`start`&&(T=b.id),b.type===`done`&&(T=void 0);let x=f.current;if(b.type===`presentation`){b.presentation.revision>(n.current?.revision??-1)&&c(b.presentation);return}if(b.type===`rlm`){if(!Number.isNaN(l)&&l>0){if(l<=C)return;C=l}let e=n.current,t=e.rlmChildren.find(e=>e.id===b.child.id);if(t&&t.timestamp>b.child.timestamp)return;c({...e,rlmChildren:[...e.rlmChildren.filter(e=>e.id!==b.child.id),b.child],...b.tree?{rlmTree:b.tree}:{}});return}if(b.type===`tool`&&b.part?.type===`tool-Question`){s(e=>{let t=b.part.toolCallId??``;if(!t)return e;let n=e=>e.parts.some(e=>e.type!==`text`&&e.type!==`error`&&`toolCallId`in e&&e.toolCallId===t),r=b.messageId?e.findIndex(e=>e.id===b.messageId&&e.role===`assistant`):-1;if(r<0&&T&&(r=e.findIndex(e=>e.id===T&&e.role===`assistant`)),r<0){let t=-1,i=-1;for(let r=e.length-1;r>=0;--r){let a=e[r];a.role===`assistant`&&(n(a)&&i<0?i=r:t<0&&(t=r))}r=b.part.state===`input-streaming`?t>=0?t:i:i>=0?i:t}let i={...b.part,type:`tool-Question`};return r<0?[...e,{id:b.messageId??crypto.randomUUID(),role:`assistant`,parts:[i],createdAt:new Date().toISOString()}]:e.flatMap((e,a)=>{if(a===r)return[{...e,parts:mc(e.parts,i)}];if(!n(e))return[e];let o=e.parts.filter(e=>!(e.type!==`text`&&e.type!==`error`&&`toolCallId`in e&&e.toolCallId===t));return o.length>0?[{...e,parts:o}]:[]})});return}if(f.current!==`streaming`&&f.current!==`submitted`){if(b.type===`reasoning_text`&&b.messageId){let e=b.messageId;s(t=>vc(t.some(t=>t.id===e)?t:[...t,lc(`assistant`,``,e)],e,b));return}if(b.type===`reasoning`){let e=b.messageId;if(!p.current?.features.includes(`reasoning-summary-v1`)||!e)return;s(t=>xc(t,e,b.presentation));return}if(b.type===`state`){if(a(b.state?.name===`agent_settled`||b.state?.message===`resync-required`?void 0:typeof b.state?.message==`string`?b.state.message:void 0),b.state?.name===`agent_settled`){if(x===`streaming`||x===`submitted`)return;let t=i.current.sessionId;e.loadSession({sessionId:r}).then(e=>{w||i.current.sessionId!==r||i.current.sessionId===t&&f.current!==`streaming`&&f.current!==`submitted`&&(s($c(e.messages,e.planPresentations)),c(e.presentation),d(e.session),u(Ic))}).catch(()=>void 0)}return}b.type===`queue`&&u({steering:b.steering,followUp:b.followUp})}},D=()=>{let e=new URLSearchParams({sessionId:r}),t=m.current.active?m.current.cursor:void 0,n=t?.generation??h,i=t?.sequence??g;n&&e.set(`streamGeneration`,n),i>0&&e.set(`lastEventId`,String(i)),y?.close();let o=new EventSource(l(`/api/chat/events?${e}`));y=o,o.onmessage=e=>{if(w||y!==o)return;let t=Number.parseInt(e.lastEventId??``,10);x>0&&(x=0,S&&(S=!1,f.current!==`streaming`&&f.current!==`submitted`&&a(void 0))),E(e,t),!m.current.active&&f.current!==`streaming`&&f.current!==`submitted`&&!Number.isNaN(t)&&t>0&&(v(t,h),h&&(m.current.cursor={generation:h,sequence:t}))},o.onerror=()=>{w||y!==o||(o.close(),x+=1,x>1&&f.current!==`streaming`&&f.current!==`submitted`&&(S=!0,a(x>2?`Reconnecting… (attempt ${x})`:`Reconnecting…`)),b&&clearTimeout(b),b=setTimeout(D,Math.min(2e3,250*2**Math.min(x,3))))}},O=()=>{w||(b&&clearTimeout(b),b=null,x=0,D())};return m.current.requestReconnect=O,D(),()=>{w=!0,m.current.requestReconnect===O&&(m.current.requestReconnect=void 0),y?.close(),b&&clearTimeout(b)}},[e,m,n,r,i,a,o,s,c,u,d,f])}function ul(){let e,t,n=!1,r=new Promise((n,r)=>{e=n,t=r});return r.catch(()=>void 0),{promise:r,resolve:()=>{n||(n=!0,e())},reject:e=>{n||(n=!0,t(e))}}}function dl(e){return e.aborted?Promise.resolve():new Promise(t=>{let n=()=>{clearTimeout(r),e.removeEventListener(`abort`,n),t()},r=setTimeout(n,2e3);e.addEventListener(`abort`,n,{once:!0})})}var fl=Promise.resolve();function pl({activityLabelRef:e,client:t,messagesRef:n,presentationRef:r,model:i,pendingSendControllerRef:a,projectId:o,planLabelRef:s,queueRef:c,recoverFromForbiddenSession:l,refreshSessions:u,sessionMetadataRef:d,streamControllersRef:f,setActivityLabelSynced:p,setError:m,setMessagesSynced:g,setPresentationSynced:_,setPlanLabelSynced:v,setQueueSynced:y,setSessionMetadataSynced:b,setStatus:x,status:S}){let C=(0,X.useRef)(null),w=(0,X.useRef)(new Set),T=(0,X.useRef)(fl),E=(0,X.useRef)(void 0),D=(0,X.useRef)(o),O=(0,X.useRef)(0),k=(0,X.useRef)(null),A=(0,X.useRef)({active:!1,needsSnapshot:!1}),j=(0,X.useCallback)(()=>{O.current+=1;let e=k.current;k.current=null,e?.abort(),A.current.active=!1,A.current.applyEvent=void 0},[]),M=(0,X.useCallback)(()=>{j(),A.current.cursor=void 0},[j]);(0,X.useEffect)(()=>()=>M(),[M]),(0,X.useEffect)(()=>{D.current=o},[o]);let N=(0,X.useCallback)(e=>{for(let t of w.current)if(t.sessionId===e)return t},[]),F=(0,X.useCallback)(e=>{for(let t of[...w.current])t.sessionId===e&&(w.current.delete(t),t.reject(Error(`Chat stream stopped before admission`)))},[]),I=(0,X.useCallback)(e=>{E.current=e},[]),L=(0,X.useCallback)(async e=>{let[n,r]=await Promise.all([t.loadSession({sessionId:e}),u()]);if(d.current.sessionId!==e)return!1;n.messages.length>0&&g($c(n.messages,n.planPresentations)),_(n.presentation),b(n.session),y({steering:[],followUp:[]}),v(void 0);let i=r.find(t=>t.sessionId===e)?.status===`running`;return i||p(n.sessionReset?`Started a fresh Pi session`:void 0),i},[t,u,d,p,g,v,_,y,b]),R=(0,X.useCallback)((t,i,a,o)=>{if(t.type===`error`)throw h(t);if(t.type===`done`&&t.sessionReset){a!==d.current.sessionId&&u();return}if(t.type===`start`){let e=N(a);e&&(w.current.delete(e),e.resolve())}if(a!==d.current.sessionId){t.type===`done`&&u();return}let l=Gc({assistantId:i.current,snapshot:{adapterCapabilities:E.current,activityLabel:e.current,messages:n.current,presentation:r.current,planLabel:s.current,queue:c.current,sessionMetadata:d.current}},t);i.current=l.assistantId,E.current=l.snapshot.adapterCapabilities,g(l.snapshot.messages),l.snapshot.presentation&&_(l.snapshot.presentation),b(l.snapshot.sessionMetadata),y(l.snapshot.queue),p(l.snapshot.activityLabel),v(l.snapshot.planLabel),t.type===`start`&&x(`streaming`),t.type===`done`&&(x(`ready`),u()),t.eventCursor&&(A.current.cursor=t.eventCursor)},[e,N,n,r,s,c,u,d,p,g,_,v,y,b,x]),z=(0,X.useCallback)(async(e,n,r)=>{j();let i=O.current,a=new AbortController,o=a.signal,s={current:null};k.current=a,A.current.sessionId=e,A.current.active=!0,A.current.needsSnapshot=A.current.cursor===void 0,A.current.applyEvent=t=>{A.current.sessionId===e&&(R(t,s,e,r),t.type===`done`&&(x(`streaming`),p(`Reconnecting…`)))},A.current.requestReconnect?.(),m(null);let c=0,l=()=>O.current===i&&k.current===a&&d.current.sessionId===e&&!o.aborted;try{for(;l();)try{let[r,i]=await Promise.all([t.loadSession({sessionId:e}),u()]);if(!l())return!1;c=0;let a=i.find(t=>t.sessionId===e)?.status;if(_(r.presentation),b(r.session),a===`running`)x(`streaming`),p(`Reconnecting…`);else if(a===`idle`)return r.messages.length>0&&g($c(r.messages,r.planPresentations)),y({steering:[],followUp:[]}),v(void 0),p(r.sessionReset?`Started a fresh Pi session`:void 0),m(null),x(`ready`),!0;else return r.messages.length>0&&g($c(r.messages,r.planPresentations)),p(void 0),m(n),x(`error`),!1;await dl(o)}catch{if(!l())return!1;if(c+=1,c>=3)break;p(`Refreshing conversation…`),await dl(o)}return l()?(p(void 0),m(n),x(`error`),!1):!1}finally{O.current===i&&j()}},[t,R,u,j,d,p,m,g,v,_,y,b,x]),B=(0,X.useCallback)(async e=>{if(e?.aborted)throw Error(`Session creation was aborted`);let n=d.current;if(n.sessionId)return n;let r=C.current;if(r)return r;let i=t.createSession(D.current,e).then(t=>{if(e?.aborted)throw Error(`Session creation was aborted`);return b(t.session),_(t.presentation),d.current=t.session,u(),t.session}).finally(()=>{C.current===i&&(C.current=null)});return C.current=i,i},[t,u,d,_,b]),ee=(0,X.useCallback)(async(e,n=`steer`,r)=>{let a=d.current.sessionId??(await B()).sessionId;if(!a)throw Error(`Unable to queue a message without a session`);let o=uc(e);g(e=>[...e,o]),m(null);let s=T.current,c=ul(),l=s.catch(()=>void 0).then(async()=>{try{await N(a)?.promise,await t.streamMessage({message:e,attachments:r?.attachments,openUI:r?.openUI,openUIArtifact:r?.openUIArtifact,model:i,planAction:r?.planAction,mode:r?.mode,sessionId:a,streamingBehavior:n},e=>{if(e.type===`start`&&e.requestKind===`session-command`&&c.resolve(),e.type===`done`&&e.requestKind===`session-command`){if(d.current.sessionId!==a)return;g(t=>fc(t.some(t=>t.id===e.message.id)?t:[...t,e.message],o.id));return}if(e.type===`queue`&&(c.resolve(),y({steering:e.steering,followUp:e.followUp}),p(n===`steer`?`Steered`:`Follow-up queued`)),e.type===`error`)throw h(e)}),c.resolve()}catch(e){throw c.reject(e),g(e=>dc(e,o.id)),e}try{await u()}catch{}});T.current=c.promise.catch(()=>void 0),await l},[t,B,N,i,u,d,p,m,g,y]);return{cancelStreamRecovery:M,enqueueDuringStream:ee,handleStreamEvent:R,resetStreamAdmission:F,sendMessage:(0,X.useCallback)(async({text:e,attachments:n,openUI:r,openUIArtifact:o,planAction:s,mode:c,altKey:h})=>{let _=e.trim();if(!_)return!1;if(S===`submitted`||S===`streaming`||N(d.current.sessionId)!==void 0)try{return await ee(_,h?`followUp`:`steer`,{attachments:n,mode:c,openUI:r,openUIArtifact:o,planAction:s}),!0}catch(e){let t=e instanceof Error?e:Error(String(e));return m(t),ds(t),!1}m(null),p(void 0),x(`submitted`);let v=uc(_);g(e=>[...e,v]);let y={current:null},b=ul();b.sessionId=d.current.sessionId,w.current.add(b);let C=new AbortController;a.current=C;let T,E=!1,D=!1;try{let e=await B(C.signal);if(C.signal.aborted)return!1;let a=e.sessionId;if(!a)throw Error(`Unable to start a session stream`);T=a,b.sessionId=a,f.current.set(a,C),await t.streamMessage({message:_,attachments:n,openUI:r,openUIArtifact:o,model:i,planAction:s,mode:c,sessionId:a,streamingBehavior:h?`followUp`:`steer`},e=>{e.type===`done`&&!e.sessionReset&&(E=!0),R(e,y,a,c),e.type===`done`&&e.requestKind===`session-command`&&d.current.sessionId===a&&g(e=>fc(e,v.id))},C.signal);let l=!1;try{l=await L(a)}catch{}return d.current.sessionId===a&&(E||!l)&&x(`ready`),!0}catch(e){if(w.current.delete(b)&&b.reject(e),e instanceof P?D=!0:g(e=>dc(e,v.id)),C.signal.aborted)return!1;if(T&&d.current.sessionId!==T)return u(),!1;if(e instanceof P&&T)return A.current.sessionId!==T&&(A.current.cursor=void 0),await z(T,e,c);let t={setError:m,setStatus:x};if(await ol(e,l,t)||await sl(e,l,t))return!1;let n=e instanceof Error?e:Error(String(e));return m(n),x(`error`),ds(n),!1}finally{w.current.delete(b)&&b.reject(Error(`Chat stream ended before admission`)),C.signal.aborted&&!D&&g(e=>dc(e,v.id)),a.current===C&&(a.current=null),T&&C&&f.current.get(T)===C&&f.current.delete(T)}},[t,B,ee,N,R,i,a,l,z,L,u,d,p,m,g,x,f,S]),setAdapterCapabilities:I,streamRecoveryRef:A}}function ml(e,t){let{client:n=j,initialSessionMetadata:r,persistSession:i,projectId:a}=t,[o,s]=(0,X.useState)([]),[c,l]=(0,X.useState)(`ready`),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(()=>r),[m,h]=(0,X.useState)([]),[g,_]=(0,X.useState)(),[v,y]=(0,X.useState)(),[b,x]=(0,X.useState)(Ic),[S,C]=(0,X.useState)(()=>Lc),w=(0,X.useRef)(r),T=(0,X.useRef)(a),E=(0,X.useRef)(o),D=(0,X.useRef)(f),O=(0,X.useRef)(g),k=(0,X.useRef)(v),A=(0,X.useRef)(b),M=(0,X.useRef)(0),N=(0,X.useRef)(null),P=(0,X.useRef)(S),F=(0,X.useRef)(null),I=(0,X.useRef)(new Map),L=(0,X.useRef)(null),R=(0,X.useRef)(0),z=(0,X.useRef)(c),B=(0,X.useRef)(!1),ee=(0,X.useRef)(()=>Promise.resolve(!1)),V=(0,X.useCallback)(e=>{let t=typeof e==`function`?e(E.current):e;E.current=t,s(t)},[]),te=(0,X.useCallback)(e=>{V(t=>[...t,{id:crypto.randomUUID(),role:`assistant`,source:`local`,createdAt:Date.now(),parts:[{type:`text`,text:e}]}])},[V]),H=(0,X.useCallback)(e=>{let t=D.current,n=Rc(e);(t.sessionId!==n.sessionId||t.projectId!==n.projectId)&&(M.current+=1,D.current=n,p(n),i(n))},[i]),U=(0,X.useCallback)(e=>{O.current=e,_(e)},[]),W=(0,X.useCallback)(e=>{k.current=e,y(e)},[]),G=(0,X.useCallback)(e=>{M.current+=1,A.current=e,x(e)},[]),ne=(0,X.useCallback)(()=>{M.current+=1},[]),K=(0,X.useCallback)(e=>{P.current=e,C(e)},[]),q=(0,X.useCallback)(async e=>{let t=D.current.sessionId;if(!t)return;let r=await n.upsertOpenUIArtifact({sessionId:t,...e});return D.current.sessionId===t&&K(r.presentation),r.artifact.id},[n,K]);(0,X.useEffect)(()=>{T.current=a},[a]);let re=(0,X.useCallback)(async()=>{let e=L.current;if(e)return e;let t=n.listSessions().then(e=>(h(e),e));L.current=t;try{return await t}finally{L.current===t&&(L.current=null)}},[n]),J=(0,X.useCallback)(e=>il({client:n,projectId:e??T.current,refreshSessions:re,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l}),[n,re,U,V,W,K,G,H]),ie=(0,X.useCallback)(async({toolCallId:e,answer:t})=>{if(Xc(e)){let r=nl(E.current,e,t);V(r);let i=el(r,e);i&&D.current.sessionId&&await n.upsertPlanPresentation({sessionId:D.current.sessionId,presentation:i}).catch(()=>void 0);let a=t.selectedIds?.[0];if(a===`execute`){await ee.current({text:`Execute the approved plan.`,mode:`agent`,planAction:`execute`,openUI:!0});let t=el(E.current,e);t&&D.current.sessionId&&await n.upsertPlanPresentation({sessionId:D.current.sessionId,presentation:{...t,state:{...t.state,executing:!1}}}).catch(()=>void 0),t&&V(t=>t.map(t=>t.role===`assistant`?{...t,parts:t.parts.map(t=>{if(t.type!==`tool-PlanWrite`||t.toolCallId!==e||!t.input||typeof t.input!=`object`)return t;let n=t.input,r=n.presentation;return!r||typeof r!=`object`?t:{...t,input:{...n,executing:!1,presentation:{...r,executing:!1}}}})}:t))}else(a===`refine`||t.text?.trim())&&await ee.current({text:t.text?.trim()||`Refine the plan.`,mode:`plan`,planAction:`refine`,openUI:!0});return{ok:!0}}let r=await n.answerQuestion({sessionId:D.current.sessionId,toolCallId:e,answer:t});return r.message&&await ee.current({text:r.message,planAction:r.planAction}),r},[n,V]),ae=(0,X.useCallback)(e=>rl(e,ie),[ie]);(0,X.useEffect)(()=>{D.current=f},[f]),(0,X.useEffect)(()=>{z.current=c},[c]),(0,X.useEffect)(()=>{w.current=r},[r]),(0,X.useEffect)(()=>{let e=I.current;return()=>{F.current?.abort(),F.current=null;for(let t of e.values())t.abort();e.clear()}},[]),cl({client:n,initialSessionMetadataRef:w,initializedRef:B,recoverFromForbiddenSession:J,refreshSessions:re,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l});let{cancelStreamRecovery:oe,resetStreamAdmission:se,sendMessage:ce,setAdapterCapabilities:le,streamRecoveryRef:ue}=pl({activityLabelRef:O,client:n,messagesRef:E,presentationRef:P,model:e,pendingSendControllerRef:F,projectId:a,planLabelRef:k,queueRef:A,recoverFromForbiddenSession:J,refreshSessions:re,sessionMetadataRef:D,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPresentationSynced:K,setPlanLabelSynced:W,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l,streamControllersRef:I,status:c}),Y=(0,X.useCallback)(()=>{oe();let e=D.current;se(e.sessionId),F.current?.abort(),F.current=null,e.sessionId&&n.abortSession(e).catch(()=>void 0),e.sessionId&&(I.current.get(e.sessionId)?.abort(),I.current.delete(e.sessionId)),ne(),l(`ready`),G(Ic),U(void 0)},[oe,n,ne,se,U,G]),de=(0,X.useCallback)((e,t,r,i,a)=>{let o=D.current.sessionId,s=M.current,c=(e===`steering`?A.current.steering:A.current.followUp).filter(e=>e===r).length,l=(N.current??Promise.resolve()).catch(()=>void 0).then(async()=>{if(!o||D.current.sessionId!==o)return!1;let l=e=>(!e&&a?.staleMessage&&ds(Error(a.staleMessage)),!1),u=A.current,d=e===`steering`?u.steering:u.followUp,f;if(M.current===s)f=d[t]===r?t:void 0;else{if(c!==1)return l(!0);let e=d.reduce((e,t,n)=>(t===r&&e.push(n),e),[]);f=e.length===1?e[0]:void 0}if(f===void 0)return l(M.current!==s);let p=i.type===`delete`?{...u,[e]:d.filter((e,t)=>t!==f)}:{...u,[e]:d.map((e,t)=>t===f?i.text:e)};G(p);let m=M.current;try{let t=await n.mutateQueuedMessage({sessionId:o,lane:e,index:f,expectedText:r,mutation:i});return D.current.sessionId!==o||M.current!==m||G(t.queue),t.status===`applied`}catch(e){throw D.current.sessionId===o&&M.current===m&&A.current===p&&G(u),e}});return N.current=l.then(()=>void 0,()=>void 0),l},[n,G]),fe=(0,X.useCallback)((e,t,n)=>de(e,t,n,{type:`delete`},{staleMessage:`The queued message changed before it could be deleted.`}),[de]),pe=(0,X.useCallback)((e,t,n,r)=>de(e,t,n,{type:`replace`,text:r,lane:e},{staleMessage:`The queued message changed before it could be updated.`}),[de]),me=(0,X.useCallback)(async e=>{oe();let t=R.current+1;R.current=t;let r=()=>R.current===t;e?.preserveRunning===!1?Y():(ne(),l(`ready`));let i=await n.createSession(e?.projectId??T.current??a);r()&&(H(i.session),V([]),K(i.presentation),G(Ic),U(void 0),W(void 0),fi.success(`New session started`),await re())},[n,re,U,V,K,W,G,H,ne,oe,Y,a]),he=(0,X.useCallback)(async(e,t)=>{oe();let r=R.current+1;R.current=r;let i=()=>R.current===r;ne();try{t?.preserveRunning===!1&&Y();let r=await n.resumeSession(e);return!(!i()||(H(r.session),V($c(r.messages,r.planPresentations)),K(r.presentation),G(Ic),U(r.sessionReset?`Started a fresh Pi session`:void 0),W(void 0),l(I.current.has(r.session.sessionId??``)?`streaming`:`ready`),await re(),!i()))}catch(t){if(!i())return!1;let n={setError:d,setStatus:l},r=()=>J(e.projectId),a=await ol(t,r,n)||await sl(t,r,n);if(!i()||a)return!1;let o=t instanceof Error?t:Error(String(t));return d(o),l(`error`),ds(o),!1}},[n,J,re,U,V,K,W,G,H,ne,oe,Y]),ge=(0,X.useCallback)(async(e,t)=>t?he({sessionId:t,projectId:e},{preserveRunning:!0}):(oe(),ne(),H({projectId:e}),V([]),K(Lc),G(Ic),U(void 0),W(void 0),l(`ready`),!0),[oe,he,U,V,W,K,G,H,ne]);(0,X.useEffect)(()=>{ee.current=ce},[ce]),ll({client:n,presentationRef:P,recoveryRef:ue,sessionId:f.sessionId,sessionMetadataRef:D,setActivityLabelSynced:U,setAdapterCapabilities:le,setMessagesSynced:V,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,statusRef:z});let _e=(0,X.useMemo)(()=>ae(o),[o,ae]),ve=(0,X.useCallback)(async(e,t)=>{try{return await n.renameSession(e,t),await re(),!0}catch(e){return ds(e),!1}},[n,re]),ye=(0,X.useCallback)(async e=>{D.current.sessionId===e&&Y();try{await n.deleteSession(e)}catch(e){return ds(e),!1}return D.current.sessionId===e&&(H({}),V([]),K(Lc)),await re(),!0},[n,re,V,K,H,Y]),be=(0,X.useCallback)(()=>D.current,[]);return{activityLabel:g,answerQuestion:ie,appendLocalMessage:te,deleteQueuedMessage:fe,editQueuedMessage:pe,deleteSession:ye,error:u,getMessages:(0,X.useCallback)(()=>E.current,[]),getSessionMetadata:be,messages:_e,planLabel:v,presentation:S,persistOpenUIArtifact:q,queue:b,renameSession:ve,refreshSessions:re,resumeSession:he,sendMessage:ce,sessionMetadata:f,sessions:m,setError:d,startNewSession:me,status:c,stop:Y,switchProject:ge}}function hl(e){let t=window.matchMedia(Mn);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function gl(){return window.matchMedia(Mn).matches}function _l(){return!1}function vl(){return(0,X.useSyncExternalStore)(hl,gl,_l)}var yl=`b`,bl={duration:.36,ease:H},xl={type:`spring`,stiffness:380,damping:35,mass:.75},Sl={duration:.16,ease:V},Cl=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`),wl=(0,X.createContext)(null),Tl=(0,X.createContext)(null);function El(){let e=(0,X.useContext)(wl);if(!e)throw Error(`useAnimatedSidebar must be used inside AnimatedSidebarProvider.`);return e}function Dl(){let e=(0,X.useContext)(Tl);if(!e)throw Error(`Animated Sidebar parts must be used inside AnimatedSidebar.`);return e}function Ol({children:e,open:t,defaultOpen:n=!0,onOpenChange:r,openMobile:i,defaultOpenMobile:a=!1,onOpenMobileChange:o,className:s,style:c,...l}){let[u,d]=(0,X.useState)(n),[f,p]=(0,X.useState)(a),m=vl(),h=G()??!1,g=(0,X.useId)(),_=(0,X.useRef)(null),v=t??u,y=i??f,b=(0,X.useCallback)(e=>{t===void 0&&d(e),r?.(e)},[r,t]),x=(0,X.useCallback)(e=>{i===void 0&&p(e),o?.(e)},[o,i]),S=(0,X.useCallback)(()=>{m?x(!y):b(!v)},[v,m,y,b,x]),C=(0,X.useMemo)(()=>({isMobile:m,layoutId:`${g}-active`,open:v,openMobile:y,reduce:h,setOpen:b,setOpenMobile:x,state:v?`expanded`:`collapsed`,toggleSidebar:S,triggerRef:_}),[v,g,m,y,h,b,x,S]);return(0,X.useEffect)(()=>{let e=e=>{e.key.toLowerCase()===yl&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,Z.jsx)(wl.Provider,{value:C,children:(0,Z.jsx)(`div`,{...l,"data-slot":`sidebar-wrapper`,"data-state":v?`expanded`:`collapsed`,style:{"--sidebar-width":`16rem`,"--sidebar-width-icon":`4.25rem`,"--sidebar-width-mobile":`18rem`,...c},className:F(`group/sidebar-wrapper flex min-h-svh w-full min-w-0`,s),children:e})})}function kl({children:e,className:t,sidebarWidth:n=Tn,style:r,...i}){return(0,Z.jsx)(Ol,{...i,style:{...r,"--sidebar-width":n},className:F(`min-h-0 w-full overflow-hidden rounded-2xl border border-border bg-background`,t),children:e})}function Al({ariaLabel:e,children:t,className:n,side:r}){let i=El(),a=(0,X.useRef)(null),[o,s]=(0,X.useState)(!1),c=(0,X.useMemo)(()=>({collapsed:!1,collapsible:`none`,side:r}),[r]);return(0,X.useEffect)(()=>s(!0),[]),(0,X.useEffect)(()=>{if(!i.openMobile)return;let e=a.current;if(!e)return;let t=i.triggerRef.current,n=document.body,r=window.scrollY,o={left:n.style.left,overflow:n.style.overflow,position:n.style.position,right:n.style.right,top:n.style.top};n.style.position=`fixed`,n.style.top=`-${r}px`,n.style.left=`0`,n.style.right=`0`,n.style.overflow=`hidden`;let s=requestAnimationFrame(()=>{(e.querySelector(Cl)??e).focus({preventScroll:!0})});return()=>{cancelAnimationFrame(s),n.style.position=o.position,n.style.top=o.top,n.style.left=o.left,n.style.right=o.right,n.style.overflow=o.overflow,window.scrollTo(0,r),t?.focus({preventScroll:!0})}},[i.openMobile,i.triggerRef,o]),o?(0,Wi.createPortal)((0,Z.jsxs)(`div`,{className:F(`pointer-events-none fixed inset-0 z-50 md:hidden`,i.openMobile?`visible`:`invisible`),children:[(0,Z.jsx)(U.button,{type:`button`,"aria-label":`Close sidebar`,tabIndex:i.openMobile?0:-1,initial:!1,animate:{opacity:+!!i.openMobile},transition:i.reduce?Sl:bl,onClick:()=>i.setOpenMobile(!1),className:F(`absolute inset-0 bg-black/40`,i.openMobile?`pointer-events-auto`:`pointer-events-none`)}),(0,Z.jsx)(U.div,{ref:a,role:`dialog`,"aria-modal":`true`,"aria-label":e,"aria-hidden":!i.openMobile,inert:!i.openMobile,tabIndex:-1,"data-mobile":`true`,"data-state":i.openMobile?`expanded`:`collapsed`,"data-side":r,initial:!1,animate:{opacity:i.reduce?+!!i.openMobile:1,x:i.reduce?0:i.openMobile?`0%`:r===`left`?`-100%`:`100%`},transition:i.reduce?Sl:bl,onKeyDown:e=>{if(e.key===`Escape`){e.preventDefault(),i.setOpenMobile(!1);return}if(e.key!==`Tab`)return;let t=a.current?Array.from(a.current.querySelectorAll(Cl)):[];if(t.length===0){e.preventDefault(),a.current?.focus();return}let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus())},className:F(`pointer-events-auto absolute inset-y-0 flex h-dvh w-(--sidebar-width-mobile) max-w-[88vw] flex-col overflow-hidden`,`border-border bg-background shadow-2xl will-change-transform`,r===`left`?`left-0 border-r`:`right-0 border-l`,!i.openMobile&&`pointer-events-none`,n),children:(0,Z.jsx)(Tl.Provider,{value:c,children:t})})]}),document.body):null}var jl=(0,X.forwardRef)(function({side:e=`left`,variant:t=`sidebar`,collapsible:n=`icon`,ariaLabel:r=`Sidebar`,children:i,className:a,panelClassName:o,style:s,...c},l){let u=El(),d=n!==`none`&&!u.open,f=d&&n===`offcanvas`,p=t===`floating`||t===`inset`,m=f?`0px`:d?p?`calc(var(--sidebar-width-icon) + 1rem)`:`var(--sidebar-width-icon)`:p?`calc(var(--sidebar-width) + 1rem)`:`var(--sidebar-width)`,h=(0,X.useMemo)(()=>({collapsed:d,collapsible:n,side:e}),[d,n,e]);return u.isMobile?(0,Z.jsx)(Al,{ariaLabel:r,className:a,side:e,children:i}):(0,Z.jsx)(U.aside,{...c,ref:l,initial:!1,"aria-label":r,"data-slot":`sidebar`,"data-state":d?`collapsed`:`expanded`,"data-collapsible":n,"data-variant":t,"data-side":e,transition:u.reduce?{duration:0}:xl,layout:`size`,style:{...s,width:m},className:F(`group/sidebar relative hidden h-auto shrink-0 md:block will-change-transform`,`peer`,e===`right`&&`order-last`,a),children:(0,Z.jsx)(U.div,{initial:!1,animate:{opacity:+!f,x:f?e===`left`?`-120%`:`120%`:`0%`},transition:u.reduce?Sl:bl,className:F(`sticky top-0 flex h-svh w-full flex-col overflow-hidden`,p&&(d?`w-[var(--sidebar-width-icon)]`:`w-[var(--sidebar-width)]`),n===`offcanvas`&&`w-[var(--sidebar-width)]`,t===`sidebar`&&(e===`left`?`border-border border-r bg-background`:`border-border border-l bg-background`),t===`floating`&&`m-2 h-[calc(100svh-1rem)] rounded-2xl bg-sidebar shadow-surface-3`,t===`inset`&&`m-2 h-[calc(100svh-1rem)] rounded-2xl bg-background`,o),children:(0,Z.jsx)(Tl.Provider,{value:h,children:i})})})}),Ml=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=El(),o=a.isMobile?a.openMobile:a.open;return(0,Z.jsx)(Sr,{...r,ref:e=>{a.triggerRef.current=e,typeof i==`function`?i(e):i&&(i.current=e)},type:n,variant:`ghost`,size:`icon`,"aria-label":r[`aria-label`]??`Toggle sidebar`,"aria-expanded":o,"data-slot":`sidebar-trigger`,"data-state":o?`expanded`:`collapsed`,onClick:e=>{t?.(e),e.defaultPrevented||a.toggleSidebar()},className:F(`focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background`,e)})}),Nl=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=El(),o=Dl();return(0,Z.jsx)(`button`,{...r,ref:i,type:n,"data-side":o.side,"aria-label":r[`aria-label`]??`Toggle sidebar`,title:`Toggle sidebar`,tabIndex:-1,onClick:e=>{t?.(e),e.defaultPrevented||a.toggleSidebar()},className:F(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 outline-none md:block`,`after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-transparent after:transition-colors hover:after:bg-border`,`data-[side=right]:right-0 data-[side=right]:translate-x-1/2 data-[side=left]:left-full`,e)})}),Pl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(U.main,{...t,ref:n,"data-slot":`sidebar-inset`,className:F(`relative flex min-h-svh min-w-0 flex-1 flex-col bg-background`,`md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-2xl md:peer-data-[variant=inset]:shadow-sm`,e)})}),Fl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-header`,className:F(`flex shrink-0 flex-col gap-2 p-3`,e)})}),Il=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-content`,className:F(`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto overflow-x-hidden overscroll-contain px-2 py-2`,e)})}),Ll=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-footer`,className:F(`flex shrink-0 flex-col gap-2 border-border border-t p-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]`,e)})}),Rl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group`,className:F(`flex w-full min-w-0 flex-col px-1 py-1.5`,e)})}),zl=(0,X.forwardRef)(function({children:e,className:t,...n},r){let{collapsed:i}=Dl();return(0,Z.jsx)(`div`,{...n,ref:r,"aria-hidden":i,"data-slot":`sidebar-group-label`,className:F(`mb-1 h-7 overflow-hidden px-2 text-micro font-medium uppercase tracking-[0.14em] text-muted-foreground transition-opacity`,i?`opacity-0`:`opacity-100`,t),children:e})}),Bl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(`div`,{...t,ref:n,"data-slot":`sidebar-group-content`,className:F(`w-full min-w-0`,e)})});function Vl({active:e=!1,ariaLabel:t,className:n,title:r,...i}){return(0,Z.jsx)(Sr,{...i,type:`button`,variant:`ghost`,size:`compact`,className:F(Xr,e?$r:qr,n),"aria-label":t,title:r??t})}var Hl=X.createContext(void 0);function Ul(){let e=X.useContext(Hl);if(e===void 0)throw Error(le(64));return e}var Wl=`data-activation-direction`,Gl={tabActivationDirection:e=>({[Wl]:e})},Kl=X.forwardRef(function(e,t){let{className:n,defaultValue:r=0,onValueChange:i,orientation:a=`horizontal`,render:o,value:s,style:c,...l}=e,u=e.defaultValue!==void 0,d=X.useRef([]),[f,p]=X.useState(()=>new Map),[m,h]=Gr({controlled:s,default:r,name:`Tabs`,state:`value`}),g=s!==void 0,[_,v]=X.useState(()=>new Map),y=X.useRef(void 0),b=X.useCallback(e=>ql(_,e),[_]),[x,S]=X.useState(()=>({previousValue:m,tabActivationDirection:`none`})),{previousValue:C,tabActivationDirection:w}=x,T=w,E=!1;C!==m&&(T=Jl(C,m,a,_),E=C!=null&&m!=null&&b(m)==null);let D=E?C:m,O=C!==D||w!==T;q(()=>{O&&S({previousValue:D,tabActivationDirection:T})},[D,O,T]);let k=J((e,t)=>{t.activationDirection=Jl(m,e,a,_),i?.(e,t),!t.isCanceled&&h(e)}),A=J((e,t)=>{i?.(e,xe(t,void 0,void 0,{activationDirection:`none`}))}),j=J((e,t)=>(p(n=>{let r=new Map(n);return r.set(e,t),r}),()=>{p(n=>{if(n.get(e)!==t)return n;let r=new Map(n);return r.delete(e),r})})),M=X.useCallback(e=>f.get(e),[f]),N=X.useCallback(e=>{for(let t of _.values())if(e===t.value)return t.id},[_]),P=X.useMemo(()=>({getTabElementBySelectedValue:b,getTabIdByPanelValue:N,getTabPanelIdByValue:M,onValueChange:k,orientation:a,registerMountedTabPanel:j,setTabMap:v,tabActivationDirection:T,value:m}),[b,N,M,k,a,j,v,T,m]),F=X.useMemo(()=>{for(let e of _.values())if(e.value===m)return e},[_,m]),I=X.useMemo(()=>{for(let e of _.values())if(!e.disabled)return e.value},[_]),L=X.useRef(!u),R=X.useRef(r),z=X.useRef(u),B=X.useRef(!1);q(()=>{if(g)return;function e(e,t){h(e),S({previousValue:e,tabActivationDirection:`none`}),A(e,t),L.current=!1}if(_.size===0){B.current&&m!==null&&!y.current?.isConnected&&e(null,he);return}B.current=!0,y.current=_.keys().next().value;let t=F?.disabled,n=F==null&&m!==null;if(!t&&m===R.current&&(z.current=!1),z.current&&t&&m===R.current)return;let r=L.current;if(t||n){let n=I??null;if(m===n){L.current=!1;return}let i=he;r?i=me:t&&(i=_e),e(n,i);return}r&&F!=null&&(A(m,me),L.current=!1)},[I,g,A,F,h,_,m]);let ee=ae(`div`,e,{state:{orientation:a,tabActivationDirection:T},ref:t,props:l,stateAttributesMapping:Gl});return(0,Z.jsx)(Hl.Provider,{value:P,children:(0,Z.jsx)(Lt,{elementsRef:d,children:ee})})});function ql(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function Jl(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=ql(r,e),c=ql(r,t);if(s==null||c==null)return s!==c&&(typeof e==`number`||typeof e==`string`)&&typeof e==typeof t?t>e?o:a:`none`;let l=s.getBoundingClientRect()[i],u=c.getBoundingClientRect()[i];return u<l?a:u>l?o:`none`}var Yl=`data-composite-item-active`;function Xl(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=ce(),{ref:i,index:a}=Pt(e),o=n===a,s=X.useRef(null),c=se(i,s);return{compositeProps:{tabIndex:o?0:-1,onFocus(){r(a)},onMouseMove(){let e=s.current;if(!t||!e)return;let n=e.hasAttribute(`disabled`)||e.ariaDisabled===`true`;!o&&!n&&e.focus()}},compositeRef:c,index:a}}var Zl=X.createContext(void 0);function Ql(){let e=X.useContext(Zl);if(e===void 0)throw Error(le(65));return e}var $l=X.forwardRef(function(e,t){let{className:n,disabled:r=!1,render:i,value:a,id:o,nativeButton:s=!0,style:c,...l}=e,{value:u,getTabPanelIdByValue:d,onValueChange:f,orientation:p,tabActivationDirection:m}=Ul(),{activateOnFocus:h,registerTabResizeObserverElement:g,tabsListElement:_}=Ql(),{highlightedIndex:v,onHighlightedIndexChange:y}=ce(),b=Ht(o),{compositeProps:x,compositeRef:S,index:C}=Xl({metadata:X.useMemo(()=>({disabled:r,id:b,value:a}),[r,b,a])}),w=a===u,T=X.useRef(!1),E=X.useRef(null),D=J(e=>{E.current?.(),E.current=e?g(e):null});q(()=>{if(T.current){T.current=!1;return}if(!(w&&C>-1&&v!==C))return;let e=_;if(e!=null){let t=Ne(we(e));if(t&&De(e,t))return}r||y(C)},[w,C,v,y,r,_]);let{getButtonProps:O,buttonRef:k}=Y({disabled:r,native:s,focusableWhenDisabled:!0}),A=d(a),j=X.useRef(!1),M=X.useRef(!1);function N(e){f(a,xe(ge,e.nativeEvent,void 0,{activationDirection:`none`}))}function P(e){w||r||N(e)}function F(e){w||r||h&&(!j.current||M.current)&&N(e)}function I(e){if(w||r)return;j.current=!0,M.current=e.button===0;let t=we(e.currentTarget);function n(){j.current=!1,M.current=!1,t.removeEventListener(`pointerup`,n),t.removeEventListener(`pointercancel`,n)}t.addEventListener(`pointerup`,n),t.addEventListener(`pointercancel`,n)}return ae(`button`,e,{state:{disabled:r,active:w,orientation:p,tabActivationDirection:m},ref:[t,k,S,D],props:[x,{role:`tab`,"aria-controls":A,"aria-selected":w,id:b,onClick:P,onFocus:F,onPointerDown:I,[Yl]:w?``:void 0,onKeyDownCapture(){T.current=!0}},l,O],stateAttributesMapping:Gl})});function eu(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:c,enableHomeAndEndKeys:l=!1,stopEventPropagation:u,disabledIndices:d,modifierKeys:f=ie}=e,[p,m]=X.useState(0),h=r!=null,g=X.useRef(null),_=se(g,c),v=X.useRef([]),y=X.useRef(!1),b=X.useRef(null),x=o??p,S=J((e,t=!1)=>{if(b.current=v.current[e]??null,(s??m)(e),t){let t=v.current[e];ut(g.current,t,a,n)}}),C=J(e=>{if(e.size===0)return;if(y.current){let e=v.current,t=e.indexOf(b.current);if(t===-1){let t=e[x];!t||Ae(e,x,d)?S(tu(e,d)):b.current=t}else t!==x&&S(t);return}y.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,i=r?e.get(r)?.index??-1:-1;if(i!==-1)S(i);else if(Ae(t,x,d)){let e=Te(t,{disabledIndices:d});Ee(t,e)||S(e)}ut(g.current,r,a,n)});q(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(Ae(e,x,d)){let t=Te(e,{disabledIndices:d});Ee(e,t)||S(t)}},[d,o,x,v,S]);let w=J((e,t,n)=>i?i(e,t,n,v):n),T=J(e=>{let o=e.key===`Home`||e.key===`End`;if(!Ct.has(e.key)||!l&&o||nu(e,f)||!g.current)return;let s=a===`rtl`,c=s?mt:ct,p=s?ct:mt,m=n===`vertical`?St:c,_=n===`vertical`?bt:p,y=Oe(e.nativeEvent);if(y!=null&&wt(y)&&!Mt(y)){let t=y.selectionStart,n=y.selectionEnd,r=y.value;if(t==null||e.shiftKey||t!==n||e.key!==_&&t<r.length||e.key!==m&&t>0)return}let b=x,C=Me(v,d),T=Je(v,d);r!=null&&(b=r({disabledIndices:d,elementsRef:v,event:e,highlightedIndex:x,loopFocus:t,maxIndex:T,minIndex:C,onLoop:w,orientation:n,rtl:s}));let E=n!==`vertical`&&e.key===c||n!==`horizontal`&&e.key===`ArrowDown`,D=n!==`vertical`&&e.key===p||n!==`horizontal`&&e.key===`ArrowUp`;l&&(e.key===`Home`?b=C:e.key===`End`&&(b=T)),b===x&&(E||D)&&(t&&b===T&&E?(b=C,i&&(b=i(e,x,b,v))):t&&b===C&&D?(b=T,i&&(b=i(e,x,b,v))):b=Te(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!Ee(v.current,b)&&(u&&e.stopPropagation(),(h||o||E||D)&&e.preventDefault(),S(b,!0),queueMicrotask(()=>{v.current[b]?.focus()}))});return{props:{ref:_,onFocus(e){let t=g.current,n=Oe(e.nativeEvent);!t||n==null||!wt(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function tu(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(!i||Ae(e,r,t))){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function nu(e,t){for(let n of _t)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function ru(e){let{render:t,className:n,style:r,refs:i=ie,props:a=ie,state:o=ne,stateAttributesMapping:s,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,grid:d,loopFocus:f,onLoop:p,enableHomeAndEndKeys:m,onMapChange:h,stopEventPropagation:g=!0,rootRef:_,disabledIndices:v,modifierKeys:y,highlightItemOnHover:b=!1,tag:x=`div`,...S}=e,{props:C,highlightedIndex:w,onHighlightedIndexChange:T,elementsRef:E,onMapChange:D,relayKeyboardEvent:O}=eu({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:Nt(),disabledIndices:v,modifierKeys:y}),k=ae(x,e,{state:o,ref:i,props:[C,...a,S],stateAttributesMapping:s}),A=X.useMemo(()=>({highlightedIndex:w,onHighlightedIndexChange:T,highlightItemOnHover:b,relayKeyboardEvent:O}),[w,T,b,O]);return(0,Z.jsx)(ue.Provider,{value:A,children:(0,Z.jsx)(Lt,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var iu=X.forwardRef(function(e,t){let{activateOnFocus:n=!1,className:r,loopFocus:i=!0,render:a,style:o,...s}=e,{orientation:c,setTabMap:l,tabActivationDirection:u}=Ul(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);q(()=>{if(typeof ResizeObserver>`u`)return;let e=new ResizeObserver(()=>{h.current.forEach(e=>{e()})});return _.current=e,p&&e.observe(p),g.current.forEach(t=>{e.observe(t)}),()=>{e.disconnect(),_.current=null}},[p]);let v=J(e=>(h.current.add(e),()=>{h.current.delete(e)})),y=J(e=>(g.current.add(e),_.current?.observe(e),()=>{g.current.delete(e),_.current?.unobserve(e)})),b={orientation:c,tabActivationDirection:u},x={"aria-orientation":c===`vertical`?`vertical`:void 0,role:`tablist`},S=X.useMemo(()=>({activateOnFocus:n,registerIndicatorUpdateListener:v,registerTabResizeObserverElement:y,tabsListElement:p}),[n,v,y,p]);return(0,Z.jsx)(Zl.Provider,{value:S,children:(0,Z.jsx)(ru,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:Gl,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:ie})})});function au({className:e,orientation:t=`horizontal`,...n}){return(0,Z.jsx)(Kl,{"data-slot":`tabs`,"data-orientation":t,className:F(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var ou=Cr(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function su({className:e,variant:t=`default`,...n}){return(0,Z.jsx)(iu,{"data-slot":`tabs-list`,"data-variant":t,className:F(ou({variant:t}),e),...n})}function cu({className:e,...t}){return(0,Z.jsx)($l,{"data-slot":`tabs-trigger`,className:F(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-[color,background-color,border-color,box-shadow] duration-150 group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,e),...t})}function lu(e,t={}){let{axis:n=`y`}=t,r=(0,X.useRef)(new Map),i=(0,X.useRef)(new Map),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)([]),l=(0,X.useRef)([]),u=(0,X.useRef)(null),d=(0,X.useRef)(null),f=(0,X.useCallback)(()=>{if(!e.current)return;let t=[];r.current.forEach((e,n)=>{t[n]={top:e.offsetTop,height:e.offsetHeight,left:e.offsetLeft,width:e.offsetWidth}});let n=l.current,i=n.length!==t.length;for(let e=0;!i&&e<t.length;e++){let r=n[e],a=t[e];r!==a&&(i=!r||!a||r.top!==a.top||r.left!==a.left||r.width!==a.width||r.height!==a.height)}i&&(l.current=t,c(t))},[e]),p=(0,X.useCallback)(()=>{d.current!==null&&cancelAnimationFrame(d.current),d.current=requestAnimationFrame(()=>{d.current=null,f()})},[f]),m=(0,X.useCallback)((e,t)=>{let n=i.current.get(e);if(n&&(n.disconnect(),i.current.delete(e)),t){if(r.current.set(e,t),typeof ResizeObserver<`u`){let n=new ResizeObserver(()=>p());n.observe(t),i.current.set(e,n)}}else r.current.delete(e);p()},[p]),h=(0,X.useCallback)(t=>{let r=t.clientX,i=t.clientY;u.current!==null&&cancelAnimationFrame(u.current),u.current=requestAnimationFrame(()=>{u.current=null;let t=e.current;if(!t)return;let a=t.getBoundingClientRect(),s=n===`x`?r:i,c=null,d=1/0,f=null,p=l.current,m=n===`x`?t.scrollLeft:t.scrollTop,h=n===`x`?t.clientLeft:t.clientTop,g=n===`x`?a.left:a.top,_=n===`x`?t.offsetWidth:t.offsetHeight,v=n===`x`?a.width:a.height,y=_>0?v/_:1;for(let e=0;e<p.length;e++){let t=p[e];if(!t)continue;let r=g+(h+(n===`x`?t.left:t.top)-m)*y,i=(n===`x`?t.width:t.height)*y,a=r+i;s>=r&&s<=a&&(f=e);let o=r+i/2,l=Math.abs(s-o);l<d&&(d=l,c=e)}o(f??c)})},[n,e]),g=(0,X.useCallback)(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),o(null)},[]);return(0,X.useEffect)(()=>{let t=e.current;if(!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>p());return n.observe(t),()=>n.disconnect()},[e,p]),(0,X.useEffect)(()=>()=>{u.current!==null&&cancelAnimationFrame(u.current),d.current!==null&&cancelAnimationFrame(d.current),i.current.forEach(e=>{e.disconnect()}),i.current.clear()},[]),{activeIndex:a,setActiveIndex:o,itemRects:s,onMouseMove:h,onMouseLeave:g,registerItem:m,measureItems:f}}var uu=`bg-background shadow-sm`,du=`rounded-full border border-border/70 bg-sidebar p-0.5 shadow-sm backdrop-blur`,fu=`rounded-full`;function pu(e,t){return t?e?`text-foreground/75`:`text-foreground`:e?`text-foreground/55`:`text-muted-foreground`}var mu=(0,X.createContext)(null);function hu(){let e=(0,X.useContext)(mu);if(!e)throw Error(`useTabsSubtle must be used within a TabsSubtle`);return e}function gu({selectedRect:e,hoverRect:t,focusRect:n,isHovering:r,isHoveringSelected:i}){let a=G()?{duration:0}:void 0;return(0,Z.jsxs)(Z.Fragment,{children:[e?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute`,uu,fu),layout:!0,initial:!1,style:{left:e.left,top:e.top,width:e.width,height:e.height},animate:{opacity:r?.8:1},transition:a??{...z.moderate.enter,opacity:{duration:.08}}}):null,(0,Z.jsx)(W,{children:t&&!i?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute`,uu,fu),layout:!0,style:{left:t.left,top:t.top,width:t.width,height:t.height},initial:{opacity:0},animate:{opacity:.4},exit:{opacity:0,transition:a??z.fast.exit},transition:a??{...z.fast.enter,opacity:{duration:.08}}}):null}),(0,Z.jsx)(W,{children:n?(0,Z.jsx)(U.div,{className:F(`pointer-events-none absolute z-20 border border-ring`,fu),layout:!0,initial:!1,style:{left:n.left-2,top:n.top-2,width:n.width+4,height:n.height+4},exit:{opacity:0,transition:a??z.fast.exit},transition:a??{...z.fast.enter,opacity:{duration:.08}}}):null})]})}var _u=(0,X.forwardRef)(({children:e,selectedIndex:t,onSelect:n,idPrefix:r,activeLabel:i=!1,variant:a=`default`,className:o,...s},c)=>{let l=(0,X.useRef)(null),u=(0,X.useRef)(!1),d=a===`pill`,{activeIndex:f,setActiveIndex:p,itemRects:m,onMouseMove:h,onMouseLeave:g,registerItem:_}=lu(l,{axis:`x`}),v=(0,X.useCallback)((e,t)=>{_(e,t)},[_]),y=(0,X.useCallback)(e=>{u.current=!0,h(e)},[h]),b=(0,X.useCallback)(()=>{u.current=!1,g()},[g]),[x,S]=(0,X.useState)(null),C=t>=0?m[t]:void 0,w=f===null?null:m[f],T=x===null?null:m[x],E=f===t,D=f!==null&&!E,O=(0,X.useMemo)(()=>({registerTab:v,hoveredIndex:f,selectedIndex:t,idPrefix:r,activeLabel:i,variant:a,onSelect:n}),[v,f,t,r,i,a,n]);return(0,Z.jsx)(mu.Provider,{value:O,children:(0,Z.jsx)(au,{className:`data-horizontal:!flex-row !gap-0.5`,value:t>=0?t:null,onValueChange:e=>{let t=typeof e==`number`?e:Number(e);Number.isInteger(t)&&n(t)},render:(0,Z.jsxs)(su,{activateOnFocus:!1,variant:`line`,ref:e=>{l.current=e,typeof c==`function`?c(e):c&&(c.current=e)},onMouseMove:y,onMouseLeave:b,onFocus:e=>{let t=e.target.closest(`[data-proximity-index]`)?.getAttribute(`data-proximity-index`);if(t!=null){let n=Number(t);p(n),S(e.target.matches(`:focus-visible`)?n:null)}},onBlur:e=>{l.current?.contains(e.relatedTarget)||(S(null),!u.current&&p(null))},className:F(`relative flex max-w-full [scrollbar-width:none] items-center gap-0.5 overflow-x-auto select-none [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden`,d?du:`-mx-1 -my-1 px-1 py-1`,o),...s,children:[(0,Z.jsx)(gu,{selectedRect:C,hoverRect:w,focusRect:T,isHovering:D,isHoveringSelected:E}),e]})})})});_u.displayName=`TabsSubtle`;var vu=(0,X.forwardRef)(({icon:e,label:t,index:n,badge:r,className:i,"aria-label":a,onClick:o,...s},c)=>{let l=(0,X.useRef)(null),{registerTab:u,hoveredIndex:d,selectedIndex:f,idPrefix:p,activeLabel:m,variant:h,onSelect:g}=hu();(0,X.useEffect)(()=>(u(n,l.current),()=>u(n,null)),[n,u]);let _=f===n,v=d===n||_,y=m&&!!e,b=!y||_,x=h===`pill`,S=pu(x,v),C=a??(y&&!b?t:void 0),w=(0,Z.jsxs)(`span`,{className:F(`inline-grid whitespace-nowrap`,x?`text-label font-medium`:`text-title`),children:[(0,Z.jsx)(`span`,{className:`invisible col-start-1 row-start-1 font-[550] [text-box:trim-both_cap_alphabetic]`,"aria-hidden":`true`,children:t}),(0,Z.jsx)(`span`,{className:F(`col-start-1 row-start-1 transition-[color,font-weight] duration-80 [text-box:trim-both_cap_alphabetic]`,_?`font-[550]`:`font-normal`,S),children:t})]});return(0,Z.jsxs)(cu,{ref:e=>{let t=e;l.current=t,typeof c==`function`?c(t):c&&(c.current=t)},value:n,"data-proximity-index":n,id:p?`${p}-tab-${n}`:void 0,"aria-controls":p?`${p}-panel-${n}`:void 0,"aria-label":C,className:F(`relative z-10 flex flex-none cursor-pointer items-center border-none !bg-transparent !shadow-none outline-none after:hidden`,x?`h-8 px-2.5`:y?`h-8 px-3`:`h-9 gap-2 px-3`,fu,i),...s,onClick:e=>{o?.(e),_&&g(n)},children:[e?(0,Z.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1`,children:[(0,Z.jsx)(e,{"data-icon":`inline-start`,size:x?14:16,strokeWidth:v?2:1.5,className:F(`shrink-0 transition-[color,stroke-width] duration-80`,S)}),r===void 0?null:(0,Z.jsx)(`span`,{className:F(`text-caption tabular-nums transition-colors duration-80`,S),children:r})]}):null,y?null:w,(0,Z.jsx)(W,{initial:!1,children:y&&b?(0,Z.jsx)(U.span,{className:`ml-2 overflow-hidden`,initial:{clipPath:`inset(0 100% 0 0)`,opacity:0},animate:{clipPath:`inset(0 0% 0 0)`,opacity:1},exit:{clipPath:`inset(0 100% 0 0)`,opacity:0},transition:{...z.fast.enter,opacity:{duration:.06}},children:w},`label`):null})]})});vu.displayName=`TabsSubtleItem`;var yu=`[&_[data-proximity-index]]:!h-7 [&_[data-proximity-index]]:!px-2 [&_[data-proximity-index]]:!text-caption`;function bu({compact:e=!1}={}){let{reopenRightPanel:t,rightPanel:n}=mi();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`min-[960px]:hidden`,children:(0,Z.jsx)(xu,{compact:e,idPrefix:`right-panel-mobile`})}),(0,Z.jsx)(`div`,{className:`hidden min-[960px]:block`,children:n===null?(0,Z.jsx)(Su,{compact:e,onOpen:t}):null})]})}function xu({compact:e=!1,idPrefix:t=`right-panel`}){let{artifactRuns:n,transcriptSummary:r,rightPanel:i,setRightPanel:a,resources:o}=mi(),{workspaceTree:s}=pi();return(0,Z.jsx)(Cu,{activePanel:i,onPanelChange:a,resources:o,replRuns:n.flatMap(e=>e.artifacts).filter(e=>e.kind===`ipython`).length,sessionBlocks:r.openUIBlocks.length,openUIArtifacts:n.flatMap(e=>e.artifacts).filter(e=>e.kind===`openui-html`).length,workspace:s,idPrefix:t,compact:e})}function Su({compact:e=!1,onOpen:t}){return(0,Z.jsx)(Vl,{ariaLabel:`Open side panel`,className:e?`!size-7 !rounded-[7px] !px-0`:`size-9 justify-center px-0`,onClick:t,children:(0,Z.jsx)(pa,{className:`size-4`})})}function Cu({activePanel:e,onPanelChange:t,resources:n,replRuns:r=0,sessionBlocks:i=0,openUIArtifacts:a=0,workspace:o,idPrefix:s=`right-panel`,compact:c=!1}){let l=qt(n,o).reduce((e,t)=>e+t.items.length,0),u=(0,X.useMemo)(()=>{let e=i+a;return e>0?e:void 0},[a,i]),d=(0,X.useMemo)(()=>ur.map(e=>({...e,badge:e.id===`workspace`?u:e.id===`session`?l||void 0:e.id===`repl`&&r||void 0})),[r,u,l]),f=d.find(t=>e!==null&&t.panels.includes(e)),p=f?d.indexOf(f):-1,m=(0,X.useMemo)(()=>d.map(e=>({value:e.id,label:e.title,icon:e.icon})),[d]);return(0,Z.jsx)(wu,{"data-testid":`right-panel-inline-launcher`,"data-active-panel":e??`closed`,activePanel:f?.id??null,options:m,panelOptions:d,idPrefix:s,selectedIndex:p,onSelect:e=>{let n=d.at(e);n&&t(f?.id===n.id?null:n.defaultPanel)},compact:c})}function wu({activePanel:e,className:t,compact:n=!1,idPrefix:r,onSelect:i,options:a,panelOptions:o,selectedIndex:s,...c}){let l=(0,X.useRef)(null),u=(0,X.useRef)(null),[d,f]=(0,X.useState)(!1),p=(0,X.useCallback)(()=>{let e=l.current,t=u.current;if(!e||!t)return;let n=e.parentElement?.clientWidth??0,r=n>0?n:e.clientWidth;if(r<=0)return;let i=t.firstElementChild,a=Math.max(t.scrollWidth,i instanceof HTMLElement?i.scrollWidth:0,t.getBoundingClientRect().width,i instanceof HTMLElement?i.getBoundingClientRect().width:0);a<=0||f(a>r+1)},[]);(0,X.useLayoutEffect)(()=>{p();let e=l.current,t=u.current;if(!e||!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(p);return e.parentElement&&n.observe(e.parentElement),n.observe(e),n.observe(t),()=>n.disconnect()},[p,o,s]);let m=(0,X.useCallback)(e=>{let t=o.findIndex(t=>t.id===e);t>=0&&i(t)},[i,o]);return(0,Z.jsxs)(`div`,{ref:l,className:`relative ${d?`w-full`:`w-fit`} min-w-0 max-w-full overflow-hidden ${t??``}`,"data-panel-launcher-mode":d?`dropdown`:`tabs`,...c,children:[d?(0,Z.jsx)(Rt,{"aria-label":`Select panel`,className:`w-full min-w-0 max-w-full rounded-full border-border/70 bg-sidebar ${n?`h-7`:``}`,onValueChange:m,options:a,placeholder:`Open panel`,value:e}):(0,Z.jsx)(_u,{activeLabel:!0,className:`w-fit max-w-full ${n?yu:``}`,idPrefix:r,selectedIndex:s,onSelect:i,children:o.map((e,t)=>(0,Z.jsx)(vu,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))}),(0,Z.jsx)(`div`,{ref:u,"aria-hidden":`true`,className:`pointer-events-none invisible absolute top-0 left-0 -z-10 w-max max-w-none`,"data-panel-launcher-measurement":!0,inert:!0,children:(0,Z.jsx)(_u,{activeLabel:!0,className:`w-max max-w-none ${n?yu:``}`,idPrefix:`${r}-measurement`,selectedIndex:s,onSelect:()=>void 0,children:o.map((e,t)=>(0,Z.jsx)(vu,{index:t,icon:e.icon,label:e.title,badge:e.badge,"aria-label":e.ariaLabel},e.id))})})]})}function Tu({children:e,dataTestid:t,headerActions:n,icon:r,onClose:i,open:a,title:o}){let s=(0,X.useRef)(null),c=(0,X.useId)(),l=(0,X.useRef)(!1),u=(0,X.useEffectEvent)(e=>{s.current&&e.target===s.current&&s.current.close()});return(0,X.useEffect)(()=>{if(!a)return;let e=s.current;if(!e)return;let t=e=>u(e);return e.addEventListener(`click`,t),()=>e.removeEventListener(`click`,t)},[a]),(0,X.useEffect)(()=>{let e=s.current;if(!e)return;if(!a){e.open&&(l.current=!0,e.close(),l.current=!1);return}let t=window.matchMedia(`(min-width: 960px)`),n=()=>{if(t.matches){e.open&&(l.current=!0,e.close());return}e.open||(e.showModal(),e.focus())};return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[a]),a?(0,Z.jsx)(`dialog`,{ref:s,"data-testid":t,className:`fixed top-[var(--chat-chrome-top)] left-auto m-0 max-h-[calc(100dvh-var(--chat-chrome-top)-max(0.75rem,env(safe-area-inset-bottom)))] h-[calc(100dvh-var(--chat-chrome-top)-max(0.75rem,env(safe-area-inset-bottom)))] [inset-inline-start:auto] [inset-inline-end:max(0.75rem,env(safe-area-inset-right))] ${ni} backdrop:bg-black/20 ${jn}`,"aria-labelledby":c,onClose:()=>{if(l.current){l.current=!1;return}i?.()},children:(0,Z.jsxs)(`div`,{className:`flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[(0,Z.jsx)(`span`,{id:c,className:`sr-only`,children:o??`Panel`}),o&&(0,Z.jsxs)(`div`,{className:`flex h-10 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-[var(--density-pad-x)]`,children:[(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-label font-medium text-foreground/80`,children:[r&&(0,Z.jsx)(r,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`truncate`,children:o})]}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[n,i&&(0,Z.jsx)(Sr,{type:`button`,onClick:()=>{let e=s.current;e&&e.open?e.close():i?.()},variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:top-1/2 after:left-1/2 after:size-10 after:-translate-x-1/2 after:-translate-y-1/2 text-foreground/40 hover:text-foreground/70`,"aria-label":`Close panel`,title:`Close panel`,children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})}):null}function Eu(e){return`agent-tab-${encodeURIComponent(e)}`}function Du(e){return`agent-tab-panel-${encodeURIComponent(e)}`}function Ou(e){switch(e){case`queued`:return`queued`;case`running`:case`recovering`:return`streaming`;case`error`:case`failed`:return`error`;case`cancelled`:return`cancelled`;case`done`:return`complete`;default:return`ready`}}function ku(e){switch(e){case`running`:case`recovering`:return`bg-success motion-safe:animate-pulse`;case`error`:case`failed`:return`bg-destructive`;case`queued`:return`bg-warning`;case`cancelled`:return`bg-foreground/35`;default:return`bg-foreground/35`}}function Au({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i}){let a=(0,X.useRef)(new Map),o=(0,X.useCallback)((e,t)=>{t?a.current.set(e,t):a.current.delete(e)},[]);(0,X.useEffect)(()=>{for(let t of a.current.keys())e.some(e=>e.id===t)||a.current.delete(t)},[e]);let s=(0,X.useCallback)(t=>{let r=e[t];r&&(a.current.get(r.id)?.focus(),n(r.id))},[n,e]),c=(0,X.useCallback)((t,n)=>{let r=e.findIndex(e=>e.id===n);if(r<0)return;let i;t.key===`ArrowRight`&&(i=(r+1)%e.length),t.key===`ArrowLeft`&&(i=(r-1+e.length)%e.length),t.key===`Home`&&(i=0),t.key===`End`&&(i=e.length-1),i!==void 0&&(t.preventDefault(),s(i))},[s,e]);return(0,Z.jsxs)(`div`,{className:`flex min-w-0 max-w-full items-center gap-1`,"data-testid":`agent-tab-bar`,children:[(0,Z.jsx)(`div`,{"aria-label":`Agent conversations`,className:`flex min-w-0 flex-1 items-center gap-1 overflow-x-auto overscroll-contain [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`,role:`tablist`,children:e.map(e=>{let i=e.id===t,a=Ou(e.status);return(0,Z.jsxs)(`div`,{className:`group/tab relative min-w-0 flex-1 max-w-[164px] basis-[164px]`,"data-tab-id":e.id,children:[(0,Z.jsxs)(Sr,{ref:t=>o(e.id,t),"aria-controls":Du(e.id),"aria-selected":i,"aria-label":`${e.label}, ${a}`,className:F(`h-7 w-full min-w-0 justify-start text-start gap-1.5 rounded-[7px] border border-transparent px-2 text-label font-medium leading-none transition-colors motion-reduce:transition-none`,i?`bg-surface-4 text-foreground shadow-none`:`bg-transparent text-foreground/45 hover:bg-foreground/5 hover:text-foreground/75`,e.kind===`subagent`&&r&&`pe-7`),"data-state":i?`active`:`inactive`,id:Eu(e.id),onClick:()=>n(e.id),onKeyDown:t=>c(t,e.id),role:`tab`,size:`compact`,tabIndex:i?0:-1,type:`button`,variant:`ghost`,children:[e.kind===`activity`?(0,Z.jsx)(Kt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):e.kind===`main`?(0,Z.jsx)(Jt,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}):(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:F(`size-1.5 shrink-0 rounded-full`,ku(e.status))}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:e.label})]}),e.kind===`subagent`&&r?(0,Z.jsx)(Sr,{"aria-label":`Close ${e.label} tab`,className:`absolute top-1/2 left-auto size-5 -translate-y-1/2 rounded-[5px] p-0 text-foreground/35 opacity-0 transition-opacity motion-reduce:transition-none hover:bg-foreground/10 hover:text-foreground/75 focus-visible:opacity-100 group-hover/tab:opacity-100 [inset-inline-start:auto] [inset-inline-end:0.25rem]`,onClick:t=>{t.stopPropagation(),r(e.id)},size:`icon-compact`,title:`Close ${e.label} tab`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(xr,{"aria-hidden":`true`,className:`size-3`})}):null]},e.id)})}),i?(0,Z.jsx)(Sr,{"aria-label":`New chat`,className:F(Zr,`relative z-10 size-7 shrink-0 rounded-[7px] text-foreground/50 hover:bg-foreground/7 hover:text-foreground/85`),"data-testid":`new-chat-tab`,onClick:e=>{e.preventDefault(),e.stopPropagation(),i()},size:`icon-compact`,title:`New chat`,type:`button`,variant:`ghost`,children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})}var ju=`https://docs.qredence.ai`;function Mu({className:e}){return(0,Z.jsx)(`svg`,{width:`97`,height:`93`,viewBox:`0 0 97 93`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,className:e,"aria-hidden":`true`,children:(0,Z.jsx)(`path`,{fillRule:`evenodd`,clipRule:`evenodd`,d:`M53.72 0.17C53.27 0.24 52.22 0.43 51.40 0.60C50.58 0.78 49.27 1.11 48.49 1.36C47.71 1.61 46.34 2.17 45.43 2.60C44.52 3.03 43.18 3.79 42.44 4.29C41.71 4.78 40.62 5.62 40.06 6.14C39.47 6.65 38.58 7.54 38.06 8.12C37.53 8.69 36.68 9.81 36.16 10.59C35.65 11.36 34.92 12.65 34.56 13.42C34.20 14.20 33.73 15.38 33.50 16.04C33.29 16.69 32.98 17.83 32.83 18.57C32.67 19.31 32.46 20.65 32.35 21.56C32.26 22.49 32.22 24.04 32.26 25.14C32.31 26.22 32.52 28.03 32.73 29.17C32.93 30.32 33.31 31.97 33.55 32.83C33.79 33.70 34.29 35.24 34.68 36.27C35.07 37.30 35.77 38.97 36.26 40.00C36.76 41.03 37.64 42.67 38.22 43.66C38.80 44.64 39.73 46.12 40.28 46.94C40.83 47.76 41.76 49.05 42.31 49.79C42.88 50.55 44.06 51.99 44.92 53.00C45.79 54.02 46.95 55.36 47.52 55.97C48.07 56.59 50.28 58.93 52.43 61.18C54.58 63.42 58.20 67.08 60.48 69.32C64.30 73.02 64.62 73.38 64.36 73.56C64.21 73.68 63.57 74.02 62.94 74.35C62.30 74.67 61.26 75.14 60.63 75.40C59.99 75.65 58.90 76.04 58.20 76.28C57.49 76.50 56.28 76.83 55.51 77.00C54.73 77.16 53.39 77.41 52.52 77.53C51.57 77.68 49.92 77.77 48.31 77.77C46.65 77.77 45.03 77.68 43.98 77.53C43.06 77.40 41.41 77.07 40.35 76.80C39.29 76.53 37.74 76.07 36.92 75.76C36.10 75.44 34.70 74.83 33.79 74.37C32.87 73.92 31.58 73.20 30.87 72.77C30.17 72.34 28.96 71.49 28.19 70.89C27.41 70.28 26.07 69.08 25.20 68.22C24.33 67.35 23.05 65.87 22.35 64.93C21.65 63.99 20.77 62.71 20.39 62.10C20.02 61.48 19.48 60.51 19.18 59.93C18.90 59.35 18.41 58.27 18.11 57.54C17.80 56.81 17.35 55.53 17.11 54.70C16.85 53.88 16.50 52.48 16.30 51.57C16.11 50.66 15.87 48.88 15.77 47.61C15.63 45.87 15.63 44.73 15.75 42.98C15.85 41.72 16.06 39.97 16.24 39.10C16.42 38.24 16.74 36.92 16.94 36.19C17.15 35.46 17.59 34.18 17.91 33.36C18.24 32.53 18.89 31.13 19.35 30.22C19.81 29.31 20.57 28.01 21.04 27.31C21.48 26.61 22.29 25.50 22.81 24.85C23.33 24.19 24.48 22.92 25.36 22.01C26.31 21.02 27.11 20.05 27.34 19.57C27.56 19.16 27.84 18.38 27.96 17.87C28.08 17.35 28.19 16.56 28.19 16.11C28.19 15.66 28.08 14.86 27.95 14.31C27.83 13.78 27.53 12.98 27.28 12.53C27.04 12.08 26.53 11.38 26.14 10.98C25.74 10.57 25.10 10.02 24.68 9.75C24.27 9.48 23.53 9.11 23.04 8.94C22.54 8.77 21.66 8.59 21.09 8.54C20.40 8.49 19.72 8.55 19.05 8.71C18.48 8.84 17.65 9.12 17.18 9.35C16.59 9.63 15.79 10.26 14.63 11.41C13.69 12.30 12.38 13.71 11.72 14.53C11.05 15.33 10.05 16.60 9.51 17.37C8.97 18.11 8.17 19.29 7.73 19.99C7.30 20.69 6.48 22.13 5.93 23.20C5.37 24.28 4.64 25.80 4.31 26.61C3.97 27.40 3.43 28.85 3.09 29.80C2.76 30.77 2.30 32.34 2.06 33.28C1.82 34.22 1.45 35.94 1.25 37.09C1.04 38.24 0.81 39.95 0.72 40.89C0.64 41.84 0.57 43.75 0.57 45.15C0.57 46.55 0.64 48.46 0.72 49.40C0.81 50.35 1.00 51.96 1.18 52.99C1.34 54.02 1.75 55.87 2.06 57.09C2.37 58.33 2.94 60.21 3.33 61.27C3.72 62.33 4.42 64.05 4.88 65.08C5.34 66.11 6.14 67.65 6.61 68.52C7.09 69.38 8.02 70.86 8.64 71.80C9.29 72.74 10.36 74.22 11.06 75.08C11.75 75.95 12.85 77.22 13.50 77.91C14.14 78.59 15.38 79.80 16.24 80.58C17.11 81.35 18.45 82.49 19.23 83.07C20.01 83.67 21.45 84.68 22.44 85.33C23.42 85.97 25.17 86.98 26.32 87.58C27.47 88.16 29.32 89.01 30.43 89.46C31.53 89.91 33.11 90.48 33.93 90.73C34.76 90.98 36.10 91.36 36.92 91.57C37.74 91.76 39.19 92.07 40.13 92.24C41.07 92.40 42.92 92.64 44.24 92.78C45.55 92.90 47.40 93 48.34 93C49.28 93 51.10 92.90 52.37 92.78C53.64 92.66 55.49 92.42 56.48 92.24C57.46 92.07 58.94 91.76 59.76 91.55C60.58 91.36 61.90 90.98 62.67 90.73C63.45 90.48 64.93 89.94 65.96 89.54C66.99 89.13 68.71 88.36 69.77 87.82L69.80 87.80L69.80 87.80C70.85 87.27 71.95 86.71 72.23 86.54C72.51 86.37 73.47 85.77 74.36 85.21L75.96 84.19C78.34 86.36 80.13 88.00 81.49 89.25C83.14 90.76 84.26 91.67 84.92 92.01C85.46 92.30 86.32 92.64 86.86 92.76C87.40 92.90 88.13 93 88.50 93C88.88 93 89.58 92.90 90.07 92.78C90.56 92.64 91.37 92.34 91.86 92.10C92.36 91.87 93.03 91.45 93.34 91.18C93.67 90.91 94.24 90.28 94.59 89.79C94.95 89.30 95.37 88.54 95.54 88.12C95.68 87.69 95.88 86.88 95.97 86.33C96.06 85.67 96.06 84.95 95.97 84.31C95.88 83.74 95.61 82.85 95.36 82.30C95.10 81.73 94.71 81.04 94.49 80.76C94.25 80.47 92.44 78.74 90.46 76.92C88.49 75.08 86.86 73.56 86.86 73.52C86.86 73.47 87.47 72.52 88.22 71.40C88.97 70.26 90.12 68.26 90.77 66.95C91.44 65.63 92.31 63.74 92.70 62.74C93.10 61.72 93.67 60.11 93.95 59.15C94.25 58.18 94.65 56.69 94.85 55.82C95.04 54.96 95.31 53.64 95.43 52.91C95.57 52.18 95.76 50.49 95.89 49.18C96.01 47.87 96.12 46.12 96.12 45.30C96.12 44.48 96.01 42.70 95.89 41.34C95.77 39.98 95.54 38.10 95.36 37.16C95.19 36.22 94.89 34.77 94.68 33.95C94.48 33.13 94.07 31.73 93.77 30.82C93.49 29.91 93.00 28.53 92.68 27.76C92.37 26.98 91.83 25.73 91.50 24.99C91.16 24.26 90.43 22.84 89.88 21.86C89.34 20.87 88.32 19.23 87.62 18.20C86.94 17.17 85.73 15.53 84.95 14.54C84.16 13.56 82.53 11.77 81.34 10.57C80.14 9.38 78.47 7.84 77.60 7.15C76.74 6.47 75.23 5.38 74.25 4.72C73.26 4.08 71.72 3.18 70.81 2.75C69.90 2.30 68.56 1.73 67.83 1.48C67.09 1.21 65.94 0.88 65.29 0.72C64.63 0.57 63.36 0.35 62.45 0.21C61.35 0.06 59.78 -0.01 57.67 0.00C55.94 0.02 54.16 0.09 53.72 0.17ZM54.24 15.47C54.82 15.33 55.45 15.20 55.66 15.17C55.87 15.13 56.81 15.10 57.75 15.08C58.69 15.08 60.08 15.16 60.81 15.28C61.54 15.38 62.56 15.63 63.05 15.83C63.54 16.04 64.38 16.44 64.91 16.74C65.45 17.04 66.57 17.78 67.41 18.41C68.26 19.04 69.63 20.23 70.48 21.07C71.32 21.92 72.47 23.17 73.04 23.87C73.60 24.58 74.54 25.88 75.14 26.79C75.75 27.70 76.60 29.13 77.07 30.00C77.51 30.86 78.19 32.30 78.55 33.21C78.90 34.12 79.43 35.58 79.68 36.49C79.93 37.40 80.29 38.86 80.46 39.77C80.68 40.89 80.80 42.31 80.84 44.25C80.90 45.97 80.86 47.67 80.75 48.58C80.67 49.40 80.41 50.88 80.22 51.87C80.01 52.85 79.53 54.57 79.16 55.68C78.78 56.78 78.08 58.50 77.60 59.48C77.13 60.47 76.47 61.66 75.59 63.02L73.35 60.81C72.11 59.59 69.30 56.78 67.09 54.56C64.88 52.35 62.12 49.51 60.97 48.29C59.81 47.05 58.17 45.24 57.30 44.25C56.43 43.27 55.28 41.90 54.75 41.19C54.19 40.49 53.28 39.22 52.72 38.36C52.15 37.49 51.39 36.28 51.03 35.67C50.67 35.06 50.09 33.94 49.75 33.21C49.40 32.47 48.88 31.16 48.58 30.29C48.28 29.43 47.89 28.07 47.74 27.26C47.55 26.34 47.45 25.22 47.45 24.13C47.45 23.17 47.55 22.05 47.67 21.52C47.79 21.01 48.10 20.17 48.36 19.65C48.63 19.13 49.24 18.32 49.75 17.80C50.43 17.11 50.98 16.74 51.93 16.29C52.63 15.96 53.66 15.59 54.24 15.47Z`,fill:`currentColor`})})}function Nu({onOpenSettings:e,compact:t=!1,label:n=`Fleet Prime Agent`,className:r}){let i=`flex w-full cursor-pointer items-center gap-2 rounded-sm px-2 py-1.5 text-left text-label leading-4 text-foreground transition-colors hover:bg-foreground/6`;return(0,Z.jsx)(`div`,{className:F(`flex min-w-0 items-center gap-2`,r),children:(0,Z.jsxs)(yo,{side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(Vl,{ariaLabel:`Open account menu`,className:F(`min-w-0 border-transparent shadow-none`,t?`size-8 justify-center px-2`:`w-full justify-start px-2 text-start`),children:[(0,Z.jsx)(Mu,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{className:t?`sr-only`:`text-body font-medium tracking-[-0.01em] whitespace-nowrap`,children:n}),(0,Z.jsx)($t,{className:`size-3.5 shrink-0 text-foreground/35`})]}),children:[(0,Z.jsxs)(`a`,{href:ju,target:`_blank`,rel:`noreferrer`,className:i,children:[(0,Z.jsx)(ta,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Documentation`})]}),e&&(0,Z.jsxs)(`button`,{type:`button`,className:i,onClick:e,children:[(0,Z.jsx)(Yt,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Settings`})]})]})})}function Pu({activeTabId:e,tabs:t,onCloseTab:n,onNewSession:r,onSelectTab:i,onOpenSettings:a}){return s(),{left:(0,Z.jsx)(Ml,{"aria-label":`Toggle conversations`,className:`!size-7 !rounded-[7px] border border-border/70 bg-background shadow-sm`,children:(0,Z.jsx)(`span`,{"aria-hidden":`true`,"data-icon":`inline-start`,className:`block h-3.5 w-4 rounded-[3px] border border-current before:block before:h-full before:w-1 before:border-r before:border-current`})}),accountMenu:(0,Z.jsx)(Nu,{className:`w-full`,label:`Qredence`,onOpenSettings:a}),center:(0,Z.jsx)(Au,{tabs:t,value:e,onValueChange:i,onClose:n,onNewSession:r}),right:(0,Z.jsx)(bu,{compact:!0})}}function Fu(){let[e,t]=(0,X.useState)(!1),[n,r]=(0,X.useState)(void 0),[i,a]=(0,X.useState)(null);return{forkPickerEntries:i,setForkPickerEntries:a,setSettingsDialogOpen:t,setSettingsInitialTab:r,settingsDialogOpen:e,settingsInitialTab:n}}var Iu=(0,X.lazy)(()=>Or(async()=>{let{ChatCommandPalette:e}=await import(`./chat-command-palette-Bxr5EkO6.js`);return{ChatCommandPalette:e}},__vite__mapDeps([70,1,2,3,8,71,72,73,74,75,50,76,40,41,77,78,4,79,80,10,7,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29])).then(({ChatCommandPalette:e})=>({default:e}))),Lu=(0,X.lazy)(()=>Or(async()=>{let{SettingsDialog:e}=await import(`./settings-dialog-BomLOETY.js`);return{SettingsDialog:e}},__vite__mapDeps([81,1,2,3,4,17,18,13,68,15,16,8,36,39,69,22,23,24,25,82,20,21,7,35,28,29,26,83,74,50,51,84,47,85,43,49,86,71,66,79,87,88,52,89,90,91,64,92,67,11,93,94,14,19,27,77,95])).then(({SettingsDialog:e})=>({default:e}))),Ru=(0,X.lazy)(()=>Or(async()=>{let{ForkPickerDialog:e}=await import(`./fork-picker-dialog-DSaFeUii.js`);return{ForkPickerDialog:e}},__vite__mapDeps([96,3,1,14,4,15,2,13,16,17,18,19,20,21,22,8,23,24,25,26])).then(({ForkPickerDialog:e})=>({default:e})));function zu({chrome:e,conversation:t,dialogs:n,panels:r,session:i}){return(0,Z.jsx)(Z.Fragment,{children:n.commandPaletteOpen?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Iu,{open:!0,onOpenChange:n.setCommandPaletteOpen,onNewSession:()=>fs(()=>i.startNewSession()),onStop:t.stop,onResumeSession:e=>void i.resumeSession({sessionId:e.sessionId}),onSetRightPanel:r.setRightPanel,onThemeChange:e.handleThemePreferenceChange,sessions:i.sessions,isStreaming:t.status===`streaming`,themePreference:e.themePreference})}):null})}function Bu({dialogs:e}){let{forkFromEntry:t,forkPickerEntries:n,setForkPickerEntries:r,setSettingsDialogOpen:i,setSettingsInitialTab:a,settingsDialogOpen:o,settingsInitialTab:s}=e,[c,l]=(0,X.useState)(o),[u,d]=(0,X.useState)(n!==null);(0,X.useEffect)(()=>{o&&l(!0)},[o]),(0,X.useEffect)(()=>{n!==null&&d(!0)},[n]);let f=(0,X.useCallback)(e=>{i(e),e||a(void 0)},[i,a]);return(0,Z.jsxs)(Z.Fragment,{children:[c?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Lu,{open:o,onOpenChange:f,initialTab:s})}):null,u?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Ru,{entries:n,onOpenChange:e=>{e||r(null)},onPick:t})}):null]})}var Vu=`fleet-prime:v1:right-panel-width`,Hu=`fleet-prime:v1:theme-preference`;function Uu(){return typeof window>`u`?320:Gu(Math.floor(window.innerWidth*kn))}function Wu(){if(typeof window>`u`)return 320;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize),t=En(Number.isFinite(e)&&e>0?e:16);return Math.max(320,window.innerWidth-t-360)}function Gu(e){return Math.min(Wu(),Math.max(320,Math.round(e)))}function Ku(){return Nn(Vu,Uu(),Gu)}function qu(e){Dn(Vu,Gu(e))}function Ju(){if(typeof window>`u`)return`system`;let e=Er(Hu);return e===`light`||e===`dark`||e===`system`?e:`system`}function Yu(e){Tr(Hu,e)}function Xu(e){if(typeof window>`u`)return;let t=window.matchMedia(`(prefers-color-scheme: dark)`).matches,n=e===`dark`||e===`system`&&t,r=document.documentElement,i=r.classList.contains(`dark`)!==n,a;i&&document.head&&(a=document.createElement(`style`),a.textContent=`*,*::before,*::after{-webkit-transition:none!important;transition:none!important}`,document.head.appendChild(a)),r.classList.toggle(`dark`,n),r.dataset.theme=n?`dark`:`light`,a&&(window.getComputedStyle(r).opacity,window.requestAnimationFrame(()=>{a?.remove()}))}var Zu=`fleet:chat:model-selection`;function Qu(e,t){let{sessionMetadata:n,setSessionMetadata:r}=t,i=(0,X.useMemo)(()=>e?.models.map(Bn)??[],[e]),[a,o]=(0,X.useState)(),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(),[d,f]=(0,X.useState)(null),p=(0,X.useRef)(`workspace`),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(()=>Ju()),[S,C]=(0,X.useState)(()=>Ku());(0,X.useEffect)(()=>{o(Er(Zu,`session`)??void 0),c(!0)},[]),(0,X.useEffect)(()=>{if(!s||!e)return;if(i.length===0){a!==void 0&&o(void 0);return}let t=e?.selectedModelKey??i[0].id;if(!a){o(t);return}let n=i.find(e=>e.id===a);(!n||n.available===!1)&&o(t)},[i,a,e,s]),(0,X.useEffect)(()=>{s&&a&&Tr(Zu,a,`session`)},[a,s]),(0,X.useEffect)(()=>{let t=i.find(e=>e.id===a);if(!t)return;let n=Vn(t);u(t=>Rn(t??e?.defaultThinkingLevel,n))},[i,a,e?.defaultThinkingLevel]),(0,X.useEffect)(()=>{if(Xu(b),b!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>Xu(`system`);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[b]);let w=(0,X.useRef)(null);(0,X.useEffect)(()=>{let e=w.current;if(w.current=d,!d||e!==null)return;let t=Uu();C(t),qu(t)},[d]),(0,X.useEffect)(()=>{d===null&&_(null)},[d]),(0,X.useEffect)(()=>{if(!d)return;let e=()=>{C(e=>{let t=Gu(e);return qu(t),t})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[d]);let T=(0,X.useCallback)(e=>{x(e),Yu(e),Xu(e)},[]),E=(0,X.useCallback)(e=>{let t=Gu(e);C(t),qu(t)},[]),D=(0,X.useCallback)(e=>{An({event:e,startWidth:S,getNextWidth:(e,t,n)=>Gu(n-(e-t)),onWidthChange:e=>{C(e),qu(e)}})},[S]),O=(0,X.useCallback)(()=>{f(p.current)},[]),k=(0,X.useCallback)(e=>{if(e!==null&&(p.current=e),f(e),e===null){h(null);return}_(t=>{if(!t)return t;let n=li(t);return!n||n.panel===e?t:null})},[]),A=(0,X.useCallback)((e,t=`artifacts`)=>{h(e),k(t)},[k]),j=(0,X.useCallback)(e=>{let t=li(e);t&&(k(t.panel),_(t.path))},[k]),M=(0,X.useCallback)(e=>{let t=e.panel===`artifacts`&&e.relativePath?`workspace`:e.panel,n=t===`workspace`||t===`artifacts`;k(t),_(n?e.relativePath??null:null),e.focus&&window.requestAnimationFrame(()=>{document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0})})},[k]),N=(0,X.useCallback)(e=>{r(e)},[r]),P=i.find(e=>e.id===a),F=Rn(l??e?.defaultThinkingLevel,Vn(P)),I=(0,X.useCallback)(e=>{let t=i.find(e=>e.id===a);u(Rn(e,Vn(t)))},[a,i]);return{commandPaletteOpen:v,handleResourceCanvasResizeStart:D,handleResourceCanvasWidthChange:E,handleThemePreferenceChange:T,initialSessionMetadata:n,modelKey:a,modelSelection:(0,X.useMemo)(()=>Fn(P,F),[F,P]),models:i,openWorkspacePath:j,openPanelAction:M,persistSession:N,reopenRightPanel:O,resourceCanvasWidth:S,rightPanel:d,selectedArtifactId:m,selectedWorkspacePath:g,setCommandPaletteOpen:y,setModelKey:o,setRightPanel:k,openArtifact:A,setSelectedWorkspacePath:_,setThinkingLevel:I,themePreference:b,thinkingLevel:F}}var $u=/^root\s*=\s*([A-Za-z][A-Za-z0-9]*)/,ed=/"((?:\\.|[^"\\]){1,80})"/;function td(e){return ed.exec(e)?.[1]??$u.exec(e)?.[1]??`Interface`}function nd(e){let t=[];for(let n of e)if(n.role===`assistant`){for(let e of n.parts)if(!(e.type!==`text`||!(`text`in e)||typeof e.text!=`string`))for(let r of Kr(e.text))r.type===`openui`&&t.push({blockId:`${n.id}:${r.id}`,content:r.content,component:td(r.content),ordinal:t.length+1})}return t}function rd(e){let t=0,n=0;for(let r of e)r.role===`assistant`?t+=1:n+=1;return{assistantMessageCount:t,openUIBlocks:nd(e),userMessageCount:n}}function id(e){return e===`streaming`||e===`submitted`}function ad(e,t,n){let r=id(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(e),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);return s!==n&&(c(n),o(e)),l!==r&&(u(r),r&&o(e)),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(i.current)},250);return()=>window.clearInterval(e)},[r]),r?a:e}function od(e,t,n){let r=id(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(()=>rd(e)),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);s!==n&&(c(n),o(rd(e))),l!==r&&(u(r),r&&o(rd(e))),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(rd(i.current))},250);return()=>window.clearInterval(e)},[r]);let d=(0,X.useMemo)(()=>rd(e),[e]);return r?a:d}function sd({activityLabel:e,artifactRuns:t,chatMode:n,composerIntent:r,onComposerIntentChange:i,onComposerIntentKeyChange:a,handleThemePreferenceChange:o,isLoadingMcp:s,isLoadingProviders:c,isUpdatingMcp:l,isUpdatingProvider:u,loadSession:d,loadSubagentSession:f,loadWorkspaceFile:p,messages:m,onOpenSubagentTab:h,modelKey:g,models:_,modelCatalog:v,onDiscoverModels:y,onMcpOAuth:b,onRemoveMcp:x,onRemoveProvider:S,onUpdateMcp:C,onUpdateProvider:w,openWorkspacePath:T,planLabel:E,presentation:D,mcpConnections:O,providers:k,queue:A,refreshResources:j,refreshWorkspace:M,resources:N,resourcesError:P,resourcesLoading:F,rightPanel:I,reopenRightPanel:L,saveSettings:R,selectedArtifactId:z,sessionId:B,selectedWorkspacePath:ee,setRightPanel:V,setSelectedWorkspacePath:te,settings:H,settingsError:U,settingsLoading:W,status:G,thinkingLevel:ne,themePreference:K,workspaceError:q,workspaceLoading:re,workspaceTree:J,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}){let de=od(m,G,B??``),fe=ad(t,G,B??``),pe=(0,X.useMemo)(()=>({activityLabel:e,artifactRuns:fe,chatMode:n,loadSession:d,loadSubagentSession:f,transcriptSummary:de,onOpenSubagentTab:h,models:_,planLabel:E,presentation:D,queue:A,refreshResources:j,resources:N,resourcesError:P,resourcesLoading:F,reopenRightPanel:L,rightPanel:I,selectedModelKey:g,selectedArtifactId:z,sessionId:B,setRightPanel:V,status:G,thinkingLevel:ne,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}),[e,fe,n,d,f,de,h,_,E,D,A,j,N,P,F,L,I,g,z,B,V,G,ne,ie,ae,oe,se,ce,le,ue,Y]),me=(0,X.useMemo)(()=>({loadWorkspaceFile:p,openWorkspacePath:T,refreshWorkspace:M,selectedWorkspacePath:ee,setSelectedWorkspacePath:te,workspaceError:q,workspaceLoading:re,workspaceTree:J}),[p,T,M,ee,te,q,re,J]);return{chatPanelData:pe,settingsActions:(0,X.useMemo)(()=>({composerIntent:r?{enabled:r.enabled,keySource:r.keySource,status:r.status===`loading`?`unverified`:r.status}:void 0,isLoadingMcp:s,isLoadingProviders:c,isUpdatingMcp:l,isUpdatingProvider:u,mcpConnections:O,modelCatalog:v,onComposerIntentChange:i,onComposerIntentKeyChange:a,onDiscoverModels:y,onMcpOAuth:b,onRemoveMcp:x,onRemoveProvider:S,onThemePreferenceChange:o,onUpdateMcp:C,onUpdateProvider:w,providers:k,saveSettings:R,settings:H,settingsError:U,settingsLoading:W,themePreference:K}),[r,o,s,c,l,u,O,v,i,a,y,b,x,S,C,w,k,R,H,U,W,K]),workspaceTreeContext:me}}function cd(e){return e===`running`||e===`recovering`?`streaming`:e===`error`||e===`failed`?`error`:`ready`}function ld(){return{status:`ready`,loading:!1,messages:[]}}function ud(e){return{assistantId:null,snapshot:{messages:e.messages,presentation:e.presentation,queue:Ic,sessionMetadata:e.session}}}function dd(e){return typeof e==`object`&&!!e&&e.type===`connected`&&typeof e.sessionId==`string`}function fd(e){try{let t=Er(e,`session`);if(!t)return;let n=JSON.parse(t);if(typeof n.generation!=`string`||n.generation.length===0||typeof n.lastEventId!=`number`||!Number.isInteger(n.lastEventId)||n.lastEventId<0){wr(e,`session`);return}return{generation:n.generation,lastEventId:n.lastEventId}}catch{wr(e,`session`);return}}function pd({client:e,enabled:t,child:n,loadSession:r,parentSessionId:i}){let[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)(ld),[l,d]=(0,X.useState)(!1),f=(0,X.useRef)(null),p=(0,X.useRef)(0),m=(0,X.useRef)(null),g=n?.id,_=n?.activeSessionId,v=n?.status,y=n?.error,b=(0,X.useCallback)(()=>o(e=>e+1),[]),x=(0,X.useCallback)(async t=>{let n=t.trim();if(!n||!i||!g||m.current)return;let a=new AbortController;m.current={controller:a,parentSessionId:i,childId:g},d(!0);let o=uc(n);c(e=>({...e,status:`streaming`,loading:!1,error:void 0,messages:[...e.messages,o]}));try{if(await e.streamMessage({sessionId:i,childId:g,message:n,streamingBehavior:`steer`},e=>{if(!a.signal.aborted){if(e.type===`error`)throw h(e);e.type===`start`&&c(e=>({...e,status:`streaming`}))}},a.signal),a.signal.aborted)return;try{let e=await r(i,g);if(a.signal.aborted)return;let t=ud(e);f.current=t,c({status:`ready`,loading:!1,messages:e.messages,presentation:e.presentation})}catch{c(e=>({...e,status:`ready`,loading:!1}))}}catch(e){if(a.signal.aborted)return;c(t=>({...t,status:`error`,loading:!1,messages:dc(t.messages,o.id),error:e instanceof Error?e:Error(String(e))}))}finally{m.current?.controller===a&&(m.current=null,d(!1))}},[g,e,r,i]),S=(0,X.useCallback)(()=>{let t=m.current;t?.controller.abort(),m.current=null;let n=t?.parentSessionId??i,r=t?.childId??g;n&&r&&e.abortSession({sessionId:n,childId:r}).catch(()=>void 0),d(!1),b()},[g,e,i,b]);return(0,X.useEffect)(()=>{let n=p.current+1;p.current=n;let o=()=>p.current===n;if(a>0&&(f.current=null),!t||!i||!g||!v){f.current=null,c(ld());return}let s=!1,d=null,m=null,x=0,S=!1,C=0,w,T=!1,E=cd(v),D=`pi:sse:cursor:subagent:${`${i}:${g}:${_??``}`}`,O=fd(D);O&&(w=O.generation,C=O.lastEventId);let k=()=>{if(!w){wr(D,`session`);return}Tr(D,JSON.stringify({generation:w,lastEventId:C}),`session`)},A=()=>{C=0,k()},j=()=>{m&&=(clearTimeout(m),null)},N=(e,t,n)=>{s||!o()||(E=t,f.current=e,c({status:t,loading:!1,messages:e.snapshot.messages,presentation:e.snapshot.presentation,...n?{error:n}:{}}))},P=()=>void 0,F=()=>{s||!o()||T||(x+=1,j(),m=setTimeout(P,Math.min(2e3,250*2**Math.min(x,3))))},I=async()=>{if(!(s||!o()||T||S)){S=!0;try{await r(i,g),!s&&o()&&F()}catch(e){if(s||!o())return;if(M(e)){T=!0,j();let t=e instanceof Error?e:Error(String(e));c(e=>({...e,status:`error`,loading:!1,error:t}));return}F()}finally{S=!1}}};return(async()=>{c(e=>({...e,loading:!0,error:void 0}));try{let t=await r(i,g);if(s||!o())return;let n=ud(t);if(f.current=n,c({status:E,loading:!1,messages:t.messages,presentation:t.presentation}),v!==`running`&&v!==`recovering`&&!l||typeof window>`u`||typeof EventSource>`u`)return;P=()=>{if(s||!o()||T)return;let t=e.openSubagentEvents(i,g,{...w?{streamGeneration:w}:{},...C>0?{lastEventId:C}:{}});d?.close();try{d=new EventSource(t)}catch{I();return}d.onopen=()=>{x=0},d.onmessage=e=>{if(s||!o()||T)return;let t=Number.parseInt(e.lastEventId??``,10);Number.isFinite(t)&&t>0&&(C=t,k());let n;try{n=JSON.parse(e.data)}catch{T=!0,j(),d?.close(),d=null,c(e=>({...e,status:`error`,loading:!1,error:Error(`The subagent stream received an invalid event. Reload the conversation to refresh it.`)}));return}if(dd(n)){n.streamGeneration&&w!==n.streamGeneration?(w=n.streamGeneration,A()):n.streamGeneration&&(w=n.streamGeneration),n.cursorReset&&A(),k();return}let r;try{r=u(jr,n,`Subagent chat stream event`)}catch(e){T=!0,j(),d?.close(),d=null,c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(`Invalid subagent stream event`)}));return}if(r.type===`state`&&r.state.message===`resync-required`){A(),d?.close(),d=null,b();return}let i=f.current;if(!i)return;let a=Gc(i,r);if(r.type===`error`){T=!0,j(),d?.close(),d=null,N(a,`error`,h(r));return}if(r.type===`done`){N(a,`ready`);return}if(r.type===`session_snapshot`){let e=r.status===`error`?Error(y??`The subagent thread ended with an error.`):void 0;r.terminal&&(T=!0,j(),d?.close(),d=null),N(a,r.status,e);return}if(r.type===`state`){let e=r.state.name===`agent_start`||r.state.name===`turn_start`?`streaming`:r.state.name===`agent_end`||r.state.name===`turn_end`?`ready`:E;N(a,e);return}N(a,E)},d.onerror=()=>{d?.close(),d=null,I()}},P()}catch(e){if(s||!o())return;c(t=>({...t,status:`error`,loading:!1,error:e instanceof Error?e:Error(String(e))}))}})(),()=>{s=!0,T=!0,d?.close(),j()}},[_,g,y,v,e,t,r,i,b,a,l]),{...s,refresh:b,sendMessage:x,sending:l,stop:S}}var md={dismissedChildIds:new Set,scopeKey:``,selectedTabId:`main`};function hd(e,t){return e.scopeKey===t?e:{dismissedChildIds:new Set,scopeKey:t,selectedTabId:`main`}}function gd(e,t){return hd(e,t)}function _d(e,t){if(t.type===`scope`)return hd(e,t.scopeKey);let n=hd(e,t.scopeKey);if(t.type===`select`)return{...n,selectedTabId:t.tabId};if(t.type===`dismiss`)return{...n,dismissedChildIds:new Set(n.dismissedChildIds).add(t.tabId),selectedTabId:n.selectedTabId===t.tabId?`main`:n.selectedTabId};let r=new Set(n.dismissedChildIds);return r.delete(t.tabId),{...n,dismissedChildIds:r}}function vd(e){return Ln(e.sessionName?.trim()||e.label)||`Subagent`}function yd({activeProjectId:e,loadSubagentSession:t,presentation:n,rootSessionId:r,client:i=j}){let a=`${e??``}:${r??``}`,[o,s]=(0,X.useReducer)(_d,md);(0,X.useEffect)(()=>{s({type:`scope`,scopeKey:a})},[a]);let{dismissedChildIds:c,selectedTabId:l}=gd(o,a),u=(0,X.useMemo)(()=>nn(n.rlmChildren,n.rlmTree),[n.rlmChildren,n.rlmTree]),d=(0,X.useMemo)(()=>[{id:`main`,label:`Main agent`,kind:`main`},{id:`activity`,label:`Activity`,kind:`activity`},...u.filter(e=>!c.has(e.id)).map(e=>({id:e.id,label:vd(e),kind:`subagent`,status:e.status}))],[c,u]),f=d.some(e=>e.id===l)?l:`main`,p=u.find(e=>e.id===f),m=(0,X.useCallback)(e=>{e!==`activity`&&e!==`main`&&!u.some(t=>t.id===e)||(e!==`activity`&&e!==`main`&&s({type:`restore`,scopeKey:a,tabId:e}),s({type:`select`,scopeKey:a,tabId:e}))},[u,a]),h=(0,X.useCallback)(e=>{e===`main`||!u.some(t=>t.id===e)||s({type:`dismiss`,scopeKey:a,tabId:e})},[u,a]),g=(0,X.useCallback)(e=>m(e),[m]);return{activeTabId:f,closeTab:h,conversation:pd({client:i,child:p,enabled:f!==`main`&&!!p,loadSession:t,parentSessionId:r}),openChildTab:g,selectedChild:p,selectTab:m,tabs:d}}function bd({sessionMetadata:e,status:t,resumeSession:n,rightPanel:r}){let i=e.sessionId,[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(null),h=(0,X.useRef)(0),g=(0,X.useCallback)(async()=>{if(!i){o(null),u(null),c(!1);return}let e=h.current;c(!0),u(null);try{let t=await j.getSessionTree(i);if(h.current!==e)return;o(t)}catch(t){if(h.current!==e)return;u(t instanceof Error?t.message:String(t))}finally{h.current===e&&c(!1)}},[i]);return(0,X.useEffect)(()=>{r===`session-tree`&&g()},[g,r]),(0,X.useEffect)(()=>{h.current+=1,c(!1),f(null),m(null),o(null),u(null)},[i]),{sessionTreeSnapshot:a,sessionTreeLoading:s,sessionTreeError:l,selectedSessionTreeEntryId:d,highlightedTranscriptMessageId:p,refreshSessionTree:g,selectSessionTreeEntry:(0,X.useCallback)((e,t)=>{f(e),m(t??null)},[]),rewindSessionTree:(0,X.useCallback)(async(t,r)=>{if(!i)throw Error(`No active session to rewind.`);let a=i,s=e,l=++h.current,d=()=>h.current===l;c(!0),u(null);try{if(await j.navigateSessionTree({sessionId:a,targetEntryId:t,...r?{expectedLeafId:r}:{}}),!d())throw Error(`Session changed during rewind.`);m(null);let e=await n(s);if(!d())throw Error(`Session changed during rewind.`);if(!e)throw Error(`Failed to resume session after rewind.`);let i=await j.getSessionTree(a);if(!d())throw Error(`Session changed during rewind.`);o(i),f(i.leafId)}catch(e){if(d())try{let e=await j.getSessionTree(a);d()&&(o(e),f(e.leafId))}catch{}throw e}finally{d()&&c(!1)}},[n,e,i]),isSessionTreeStreaming:t===`streaming`||t===`submitted`}}var xd=15e3;async function Sd(e,t,n){let r=typeof AbortSignal.timeout==`function`?AbortSignal.timeout(xd):void 0,i=n&&r&&typeof AbortSignal.any==`function`?AbortSignal.any([n,r]):n??r;return j.getWorkspaceFile(e,t,i)}function Cd(e,t){let{defaultProvider:n,defaultModel:r}=t.effective;return e.find(e=>e.provider===n&&e.modelId===r)?.id??(n&&r?`${n}/${r}`:void 0)}function wd(){let{forkPickerEntries:e,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a}=Fu(),{chatMode:o,effortPickerOpen:s,modelPickerOpen:c,setChatMode:u,setEffortPickerOpen:d,setModelPickerOpen:f,setUploadedAttachments:h,setWorkspaceAttachments:k,uploadedAttachments:M,workspaceAttachments:P}=ps(),F=Zs(),[I,L]=(0,X.useState)(F.sessionMetadata.projectId??void 0),{data:R,isLoading:z}=O(),{data:B,isLoading:ee}=D(),{data:V,refetch:te}=T(),{mutateAsync:H,isPending:U}=C(),{mutateAsync:W,isPending:G}=v(),{mutateAsync:ne,isPending:K}=y(),{mutateAsync:q,isPending:re}=E(),{mutateAsync:J}=_(),{data:ie}=m(I),{data:ae}=x({enabled:i,projectId:I}),oe=A(),{commandPaletteOpen:se,handleResourceCanvasResizeStart:ce,handleResourceCanvasWidthChange:le,handleThemePreferenceChange:ue,initialSessionMetadata:Y,modelKey:de,modelSelection:fe,models:pe,openArtifact:me,openWorkspacePath:he,openPanelAction:ge,persistSession:_e,reopenRightPanel:ve,resourceCanvasWidth:ye,rightPanel:be,selectedArtifactId:xe,selectedWorkspacePath:Se,setCommandPaletteOpen:Ce,setModelKey:we,setRightPanel:Te,setSelectedWorkspacePath:Ee,setThinkingLevel:De,themePreference:Oe,thinkingLevel:ke}=Qu(ie,F);(0,X.useEffect)(()=>{if(Y.projectId&&Y.projectId!==I){L(Y.projectId);return}!I&&V?.projects[0]&&(L(V.projects[0].projectId),_e({projectId:V.projects[0].projectId}))},[I,Y.projectId,_e,V?.projects]);let{data:Ae,isLoading:je,error:Me,refetch:Ne}=g(I),{data:Pe}=w(I),{data:Fe,isLoading:Ie,error:Le}=S(I),Re=b(),{data:ze,isLoading:Be,error:Ve,refetch:He}=p(I,{enabled:be===`workspace`||be===`resources`}),Ue=Ae??null,We=ze??null,Ge=(0,X.useCallback)(()=>{Ne()},[Ne]),Ke=(0,X.useCallback)(async e=>{let t=await Re.mutateAsync({request:{settings:e},projectId:I}),n=Cd(pe,t);return n&&we(n),t},[I,pe,we,Re]),qe=(0,X.useCallback)(()=>{He()},[He]),{activityLabel:Je,answerQuestion:Ye,appendLocalMessage:Xe,deleteQueuedMessage:Ze,editQueuedMessage:Qe,deleteSession:$e,error:et,getMessages:tt,getSessionMetadata:nt,messages:rt,planLabel:it,persistOpenUIArtifact:at,presentation:ot,queue:st,renameSession:ct,resumeSession:lt,sendMessage:ut,sessionMetadata:dt,sessions:ft,startNewSession:pt,switchProject:mt,status:ht,stop:gt}=ml(fe,{initialSessionMetadata:Y,projectId:I,persistSession:_e}),_t=(0,X.useMemo)(()=>Fr(rt,ot,ht),[rt,ot,ht]),vt=(0,X.useRef)(void 0);(0,X.useEffect)(()=>{if(!ot.thinkingLevel)return;let e=`${dt.sessionId}:${ot.thinkingLevel}`;vt.current!==e&&(vt.current=e,De(ot.thinkingLevel))},[ot.thinkingLevel,dt.sessionId,De]);let{addWorkspaceAttachment:yt,browseProjectDirectories:bt,clearUploadedAttachments:xt,clearWorkspaceAttachments:St,createProject:Ct,deleteSessionForWorkspace:wt,handleAttach:Tt,removeUploadedAttachment:Et,removeWorkspaceAttachment:Dt,renameProject:Ot,restoreAttachments:kt,resumeSessionForWorkspace:At,resumeSessionForWorkspaceWithResult:jt,selectProject:Mt,startNewSessionForWorkspace:Nt,startNewSessionInProject:Pt,unregisterProject:Ft}=cc({activeProjectId:I,deleteSession:$e,getSessionMetadata:nt,refetchProjects:te,resumeSession:lt,sessionId:dt.sessionId,sessions:ft,setActiveProjectId:L,setSelectedWorkspacePath:Ee,setUploadedAttachments:h,setWorkspaceAttachments:k,startNewSession:pt,switchProject:mt}),It=Pn(st)??Je??it;Ys(rt,ht,(0,X.useCallback)(async({toolCallId:e,answer:t})=>{let n=await Ye({toolCallId:e,answer:t});if(!n.ok)throw Error(n.message??`Unable to skip the unsupported questionnaire.`)},[Ye]),(0,X.useCallback)(e=>{gt(),ds(e)},[gt]));let Lt=nc({messages:rt,resources:Ue,workspaceTree:We}),Rt=(0,X.useMemo)(()=>rt.length!==0&&ht!==`streaming`&&ht!==`submitted`&&rt[rt.length-1].role===`assistant`,[rt,ht]),zt=(0,X.useMemo)(()=>Rt?Lt:[],[Rt,Lt]),Bt=(0,X.useMemo)(()=>Us(Ue,Fe?.effective.enableSkillCommands??!1,Pe),[Pe,Ue,Fe]),Vt=(0,X.useMemo)(()=>Ks(We),[We]),Ht=(0,X.useCallback)(e=>{if(e.projectId&&e.projectId!==I){fi.error(`This panel action targets a different project.`);return}ge(e)},[I,ge]),Ut=(0,X.useCallback)(e=>{if(!e.projectId||e.projectId===I){ge(e);return}Mt(e.projectId).then(()=>ge(e)).catch(e=>ds(e))},[I,ge,Mt]),Wt=(0,X.useCallback)(e=>{r(e),n(!0)},[n,r]),Gt=(0,X.useCallback)(async e=>{let t=[...P,...M];xt(),St(),await ut({text:e,altKey:!1,mode:o,openUI:!0,openUIArtifact:!0,attachments:t})||kt(M,P)},[o,xt,St,kt,ut,M,P]),Kt=As(),{onDraftChange:qt,takeCached:Jt,command:Yt,dismissCommand:Xt}=ks(Kt.available),{onDraftChange:Zt,inlineCompletion:Qt}=xs({available:!0,sessionId:dt.sessionId}),$t=(0,X.useMemo)(()=>Yt?{forValue:Yt.forValue,text:`/${Yt.command}`,mode:`replace`,onDismiss:()=>{Xt(),Qt?.onDismiss?.()}}:Qt,[Xt,Qt,Yt]),en=(0,X.useCallback)(e=>{qt(e),Zt(e)},[qt,Zt]),{forkFromEntry:tn,handleLocalSlashSubmit:nn,handleSlashCommandSelect:rn}=Fc({appendLocalMessage:Xe,getMessages:tt,getSessionMetadata:nt,modelKey:de,models:pe,onForkPicker:t,onOpenUIRequest:Gt,openSettings:Wt,resumeSession:At,sessions:ft,setEffortPickerOpen:d,setModelKey:we,setModelPickerOpen:f,setThinkingLevel:De,startNewSession:Nt,takeCachedIntent:Jt}),an=(0,X.useCallback)(async e=>{try{await fetch(l(`/api/chat/intent`),{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify({enabled:e})})}finally{Kt.refresh()}},[Kt]),on=(0,X.useCallback)(async e=>{try{await N(`/api/chat/intent`,{method:`PUT`,headers:{"Content-Type":`application/json`},body:JSON.stringify({apiKey:e})})}finally{Kt.refresh()}},[Kt]),sn=(0,X.useMemo)(()=>ae?.models.map(Bn)??pe,[ae,pe]),cn=(0,X.useCallback)((e,t)=>Sd(e,I,t),[I]),ln=(0,X.useCallback)(e=>j.loadSession(e),[]),un=(0,X.useCallback)((e,t)=>j.loadSubagentSession(e,t),[]),dn=yd({activeProjectId:I,loadSubagentSession:un,presentation:ot,rootSessionId:dt.sessionId}),fn=bd({sessionMetadata:{sessionId:dt.sessionId,projectId:dt.projectId??I},status:ht,resumeSession:jt,rightPanel:be}),pn=(0,X.useCallback)(async e=>{let t=await oe.mutateAsync(e);if(t.error)throw Error(t.error);return t.models.map(Bn)},[oe]),{chatPanelData:mn,settingsActions:hn,workspaceTreeContext:gn}=sd({activityLabel:Je,artifactRuns:_t,chatMode:o,composerIntent:Kt,onComposerIntentChange:an,onComposerIntentKeyChange:on,handleThemePreferenceChange:ue,isLoadingMcp:ee,isLoadingProviders:z,isUpdatingMcp:K||re,isUpdatingProvider:U||G,loadSession:ln,loadSubagentSession:un,loadWorkspaceFile:cn,messages:rt,onOpenSubagentTab:dn.openChildTab,modelKey:de,models:pe,modelCatalog:sn,onDiscoverModels:pn,onMcpOAuth:J,onRemoveMcp:q,onRemoveProvider:W,onUpdateMcp:ne,onUpdateProvider:H,openWorkspacePath:he,planLabel:it,presentation:ot,mcpConnections:B?.connections??[],providers:R?.providers??[],queue:st,refreshResources:Ge,refreshWorkspace:qe,resources:Ue,resourcesError:Me,resourcesLoading:je,reopenRightPanel:ve,rightPanel:be,saveSettings:Ke,selectedArtifactId:xe,sessionId:dt.sessionId,selectedWorkspacePath:Se,setRightPanel:Te,setSelectedWorkspacePath:Ee,settings:Fe??null,settingsError:Le,settingsLoading:Ie||Re.isPending,status:ht,thinkingLevel:ke,themePreference:Oe,workspaceError:Ve,workspaceLoading:Be,workspaceTree:We,sessionTreeSnapshot:fn.sessionTreeSnapshot,sessionTreeLoading:fn.sessionTreeLoading,sessionTreeError:fn.sessionTreeError,selectedSessionTreeEntryId:fn.selectedSessionTreeEntryId,isSessionTreeStreaming:fn.isSessionTreeStreaming,refreshSessionTree:()=>void fn.refreshSessionTree(),selectSessionTreeEntry:fn.selectSessionTreeEntry,rewindSessionTree:fn.rewindSessionTree}),_n=Pu({activeTabId:dn.activeTabId,tabs:dn.tabs,onCloseTab:dn.closeTab,onNewSession:()=>fs(()=>Nt()),onSelectTab:dn.selectTab,onOpenSettings:()=>Wt()});return{session:{activeSessionId:dt.sessionId,activeProjectId:I,openPanelAction:Ut,projects:V?.projects??[],projectSessions:ft,sessions:ft,browseProjectDirectories:bt,createProject:Ct,deleteSession:wt,renameProject:Ot,renameSession:ct,resumeSession:At,selectProject:Mt,startNewSession:Nt,startNewSessionInProject:Pt,unregisterProject:Ft},conversation:{activityLabel:Je,artifactRuns:_t,deleteQueuedMessage:Ze,editQueuedMessage:Qe,error:et,highlightedTranscriptMessageId:fn.highlightedTranscriptMessageId,messages:rt,openArtifact:me,openPanelAction:Ht,persistOpenUIArtifact:at,presentation:ot,queue:st,sendMessage:ut,status:ht,stop:gt},agentTabs:dn,composer:{chatMode:o,clearUploadedAttachments:xt,clearWorkspaceAttachments:St,effortPickerOpen:s,handleAttach:Tt,handleLocalSlashSubmit:nn,handleSlashCommandSelect:rn,infoDescription:It,inputSuggestionItems:zt,inlineCompletion:$t,onComposerDraftChange:en,workspaceReferenceSuggestions:Vt,modelKey:de,modelPickerOpen:c,models:pe,removeUploadedAttachment:Et,removeWorkspaceAttachment:Dt,addWorkspaceAttachment:yt,restoreAttachments:kt,setChatMode:u,setEffortPickerOpen:d,setModelKey:we,setModelPickerOpen:f,setThinkingLevel:De,slashCommands:Bt,thinkingLevel:ke,uploadedAttachments:M,workspaceAttachments:P},panels:{chatPanelData:mn,handleResourceCanvasResizeStart:ce,handleResourceCanvasWidthChange:le,resourceCanvasWidth:ye,rightPanel:be,setRightPanel:Te,settingsActions:hn,workspaceTreeContext:gn},dialogs:{commandPaletteOpen:se,forkFromEntry:tn,forkPickerEntries:e,setCommandPaletteOpen:Ce,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a},chrome:{handleThemePreferenceChange:ue,header:_n,themePreference:Oe}}}var Td={"--chat-chrome-top":`52px`,"--chat-header-height":`var(--density-header-height, 44px)`,"--chat-header-top":`0px`};function Ed({children:e,headerCenter:t,headerLeft:n,headerRight:r,panel:i}){return(0,Z.jsxs)(`div`,{className:`flex h-svh min-w-0 overflow-hidden`,"data-testid":`chat-shell`,style:Td,children:[(0,Z.jsxs)(`div`,{className:`relative flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,"data-testid":`chat-column`,children:[(0,Z.jsxs)(`header`,{className:F(Qr,`grid h-[var(--chat-header-height)] min-h-[var(--chat-header-height)] shrink-0 grid-cols-[auto_minmax(0,1fr)_auto] items-center gap-2 border-b border-border/70 px-[var(--density-pad-x)] py-2`),"data-testid":`chat-header`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 justify-self-start`,children:n}),(0,Z.jsx)(`div`,{className:`flex min-w-0 items-center justify-start gap-1 overflow-visible justify-self-stretch`,children:t}),(0,Z.jsx)(`div`,{className:`min-w-0 justify-self-end`,children:r})]}),(0,Z.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:e})]}),i]})}var Dd=`fleet-prime:v1:panel-keybindings`,Od={toggleResources:{code:`Digit1`,ctrlOrMeta:!0,shift:!0},toggleWorkspace:{code:`Digit2`,ctrlOrMeta:!0,shift:!0},toggleArtifacts:{code:`Digit3`,ctrlOrMeta:!0,shift:!0},toggleRepl:{code:`Digit4`,ctrlOrMeta:!0,shift:!0},toggleSubagents:{code:`Digit5`,ctrlOrMeta:!0,shift:!0},toggleCommandPalette:{code:`KeyK`,ctrlOrMeta:!0},closePanel:{code:`Escape`},focusPanel:{code:`KeyP`,ctrlOrMeta:!0,shift:!0},focusChat:{code:`KeyC`,ctrlOrMeta:!0,shift:!0}};function kd(){try{let e=Er(Dd);if(!e)return Od;let t=JSON.parse(e);return{...Od,...t}}catch{return Od}}function Ad(e,t){return e.code===t.code&&(e.ctrlKey||e.metaKey)===!!t.ctrlOrMeta&&e.shiftKey===!!t.shift&&e.altKey===!!t.alt}function jd(){document.querySelector(`[data-fleet-chat-focus] textarea, [data-fleet-chat-focus] [contenteditable='true'], [data-fleet-chat-focus] input`)?.focus({preventScroll:!0})}function Md({onCommandPaletteToggle:e,onClosePanel:t,rightPanel:n,setRightPanel:r}){(0,X.useEffect)(()=>{let i=kd(),a=a=>{let o=e=>Ad(a,i[e]),s=!0;o(`toggleResources`)?r(n===`resources`?null:`resources`):o(`toggleWorkspace`)?r(n===`workspace`?null:`workspace`):o(`toggleArtifacts`)?r(n===`artifacts`?null:`artifacts`):o(`toggleRepl`)?r(n===`repl`?null:`repl`):o(`toggleSubagents`)?r(n===`subagents`?null:`subagents`):e&&o(`toggleCommandPalette`)?e():n&&o(`closePanel`)?t?t():(r(null),jd()):n&&o(`focusPanel`)?document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0}):o(`focusChat`)?jd():s=!1,s&&(a.preventDefault(),a.stopPropagation())};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,n,r])}function Nd({children:e,dataTestid:t,headerLeading:n,loading:r,onClose:i,onRefresh:a,onResizeStart:o,onWidthChange:s,open:c,headerActions:l,title:u,titleIcon:d,width:f}){let p=G(),m=(0,X.useRef)(null);(0,X.useEffect)(()=>{c&&m.current?.focus({preventScroll:!0})},[c]);let h=Wu();return(0,Z.jsx)(W,{children:c&&(0,Z.jsxs)(U.aside,{ref:m,initial:!p&&{x:f,opacity:.8},animate:{x:0,opacity:1},exit:p?{opacity:0}:{x:f,opacity:.8},transition:p?{duration:0}:{duration:.2,ease:`easeInOut`},className:`relative h-full shrink-0 border-l border-border/70 bg-background/95 outline-none hidden min-[960px]:flex`,"data-fleet-panel-focus":!0,"data-testid":t,style:{width:f},tabIndex:-1,role:`dialog`,"aria-label":u,onKeyDown:e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),i())},children:[(0,Z.jsx)(`button`,{type:`button`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize ${u} panel`,"aria-valuenow":Math.round(f),"aria-valuemin":320,"aria-valuemax":h,tabIndex:0,className:`absolute top-0 bottom-0 left-0 z-10 w-2 -translate-x-1 cursor-col-resize touch-none bg-transparent transition-colors outline-none hover:bg-foreground/10 focus-visible:bg-foreground/10 focus-visible:ring-1 focus-visible:ring-ring`,"data-testid":`pi-resources-resize-handle`,onPointerDown:o,onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),s?.(Gu(f+16))):e.key===`ArrowRight`?(e.preventDefault(),s?.(Gu(f-16))):e.key===`Home`?(e.preventDefault(),s?.(320)):e.key===`End`&&(e.preventDefault(),s?.(h))}}),(0,Z.jsxs)(`div`,{className:`flex h-full min-w-0 flex-1 flex-col overflow-hidden`,children:[(0,Z.jsxs)(`div`,{className:`flex h-[var(--chat-header-height,var(--density-header-height,44px))] min-h-[var(--chat-header-height,var(--density-header-height,44px))] min-w-0 shrink-0 items-center justify-between gap-2 border-b border-border/60 px-[var(--density-pad-x)] py-1`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:n??(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 text-body font-medium text-foreground/80`,children:[(0,Z.jsx)(d,{className:`size-3.5 shrink-0`}),(0,Z.jsx)(`span`,{children:u})]})}),(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[l,(0,Z.jsx)(Sr,{type:`button`,onClick:a,disabled:!a,variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 text-foreground/40 hover:text-foreground/70 disabled:cursor-not-allowed disabled:opacity-35`,"aria-label":`Refresh ${u}`,title:`Refresh ${u}`,children:(0,Z.jsx)(gr,{"data-icon":`inline-start`,className:`size-3.5 ${r?`animate-spin`:``}`})}),(0,Z.jsx)(Sr,{type:`button`,onClick:i,variant:`ghost`,size:`icon-compact`,className:`relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5 text-foreground/40 hover:text-foreground/70`,"aria-label":`Close panel`,title:`Close panel`,children:(0,Z.jsx)(xr,{"data-icon":`inline-start`,className:`size-3.5`})})]})]}),(0,Z.jsx)(`div`,{className:`flex-1 overflow-y-auto overscroll-contain px-[var(--density-pad-x)] py-4`,children:e})]})]})})}var Pd=`(min-width: 960px)`;function Fd(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>void 0;let t=window.matchMedia(Pd);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Id(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(Pd).matches}function Ld(){return!1}function Rd(){return(0,X.useSyncExternalStore)(Fd,Id,Ld)}function zd({handleResourceCanvasResizeStart:e,onClose:t,resourceCanvasWidth:n,onResourceCanvasWidthChange:r}){let i=mi(),a=pi(),{rightPanel:o,setRightPanel:s}=i,c=o!==null,l=Rd(),u=o?dr(o):null,d=u?.component,f=o?lr(o):void 0,p=f&&o?f.panels.indexOf(o):-1,m=(0,Z.jsxs)(Z.Fragment,{children:[f&&f.panels.length>1?(0,Z.jsx)(_u,{"aria-label":`${f.title} views`,className:`mb-3 w-fit`,idPrefix:`right-panel-${f.id}-views`,selectedIndex:p,onSelect:e=>{let t=f.panels[e];t&&s(t)},children:f.panels.map((e,t)=>(0,Z.jsx)(vu,{index:t,label:e===`workspace`?`Files`:e===`session-insights`?`Insights`:e===`session-tree`?`Tree`:e===`resources`?`Skills`:`Artifacts`},e))}):null,d?(0,Z.jsx)(d,{}):null]}),h=u?.loadingSource===`resources`?i.resourcesLoading:u?.loadingSource===`workspace`&&a.workspaceLoading,g=u?.refreshSource===`resources`?i.refreshResources:u?.refreshSource===`workspace`?a.refreshWorkspace:void 0;return(0,Z.jsx)(Z.Fragment,{children:l?(0,Z.jsx)(Nd,{dataTestid:u?.dataTestid,headerLeading:(0,Z.jsx)(xu,{compact:!0,idPrefix:`right-panel-desktop`}),loading:h,onClose:t,onRefresh:g,onResizeStart:e,onWidthChange:r,open:c,title:u?.title??``,titleIcon:u?.icon??cr,width:n,children:m}):(0,Z.jsx)(Tu,{dataTestid:u?.mobileDataTestid,icon:u?.icon,onClose:t,open:c,title:u?.title??``,children:m})})}function Bd({session:e,onClose:t,onRenameSession:n}){let[r,i]=(0,X.useState)(()=>Kn(e));return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Rename session`}),(0,Z.jsx)(gi,{children:`Choose a local display title for this Fleet Prime session.`}),(0,Z.jsx)(Ir,{value:r,onChange:e=>i(e.target.value),"aria-label":`Session title`,autoFocus:!0}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{disabled:!r.trim(),onClick:()=>{r.trim()&&(n(e.sessionId,r.trim()),t())},children:`Rename`})]})]})})}function Vd({project:e,onClose:t,onRenameProject:n}){let[r,i]=(0,X.useState)(e.name);return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Rename project`}),(0,Z.jsx)(gi,{children:`This changes the display name only. The registered directory stays the same.`}),(0,Z.jsx)(Ir,{value:r,onChange:e=>i(e.target.value),"aria-label":`Project name`,autoFocus:!0}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{disabled:!r.trim()||!n,onClick:()=>{r.trim()&&(n?.(e.projectId,r.trim()),t())},children:`Rename`})]})]})})}function Hd({session:e,onClose:t,onDeleteSession:n}){return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Delete session?`}),(0,Z.jsx)(gi,{children:`This removes the Fleet Prime session and its managed session artifacts. This cannot be undone.`}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n(e.sessionId),t()},children:`Delete`})]})]})})}function Ud({project:e,onClose:t,onUnregisterProject:n}){return(0,Z.jsx)(Si,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(_i,{children:[(0,Z.jsx)(xi,{children:`Unregister project?`}),(0,Z.jsx)(gi,{children:`The directory and its sessions remain intact. Existing sessions will move to Unassigned until the directory is registered again.`}),(0,Z.jsxs)(yi,{children:[(0,Z.jsx)(bi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(vi,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n?.(e.projectId),t()},children:`Unregister`})]})]})})}function Wd({activeDialog:e,onClose:t,onRenameSession:n,onDeleteSession:r,onRenameProject:i,onUnregisterProject:a}){if(!e)return null;switch(e.kind){case`rename-session`:return(0,Z.jsx)(Bd,{session:e.session,onClose:t,onRenameSession:n});case`rename-project`:return(0,Z.jsx)(Vd,{project:e.project,onClose:t,onRenameProject:i});case`delete-session`:return(0,Z.jsx)(Hd,{session:e.session,onClose:t,onDeleteSession:r});case`unregister-project`:return(0,Z.jsx)(Ud,{project:e.project,onClose:t,onUnregisterProject:a});case`create-project`:return null}}function Gd(){return()=>{}}function Kd(){return!0}function qd(){return!1}function Jd(){return(0,X.useSyncExternalStore)(Gd,Kd,qd)}var Yd=5,Xd=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Zd(e,t){let n=e-(t-1)/2,r=Math.abs(n),i=Math.max(0,2-r)*8;return{x:n*44,y:8-i,rotate:n*6,scale:r===0?1.04:r===1?.95:.88,opacity:r===0?1:r===1?.78:.58,zIndex:10-r}}function Qd({title:e,countText:t,dialogTitleId:n,previewItems:r,isExpanded:i,isClosing:a,reduce:o,transition:s,dialogRef:c,closeButtonRef:l,closeOverlay:u}){return!i&&!a?null:(0,Z.jsxs)(`div`,{ref:c,role:`dialog`,"aria-modal":`true`,"aria-labelledby":n,"aria-hidden":i?void 0:`true`,className:F(`fixed inset-0 z-50 flex items-start justify-center overflow-y-auto sm:items-center`,a&&`pointer-events-none`),children:[(0,Z.jsx)(W,{initial:!1,children:i?(0,Z.jsx)(U.button,{type:`button`,tabIndex:-1,"aria-label":`Close file overlay`,onClick:u,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:o?{duration:0}:{duration:.18},className:`absolute inset-0 cursor-default bg-background/80 backdrop-blur-xl`},`project-files-backdrop`):null}),(0,Z.jsxs)(`div`,{className:`relative z-10 w-full max-w-5xl px-6 py-8`,children:[(0,Z.jsx)(W,{initial:!1,children:i?(0,Z.jsxs)(U.div,{initial:{opacity:0,y:o?0:8},animate:{opacity:1,y:0},exit:{opacity:0,y:o?0:-8},transition:o?{duration:0}:{duration:.18},className:`mb-6 flex items-center justify-between gap-4`,children:[(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(`h2`,{id:n,className:`text-xl font-medium text-foreground`,children:e}),(0,Z.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:t})]}),(0,Z.jsx)(`button`,{ref:l,type:`button`,onClick:u,"aria-label":`Close ${e}`,className:`flex size-10 items-center justify-center rounded-full border border-foreground/10 bg-background/50 text-muted-foreground backdrop-blur-xl transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Z.jsx)(xr,{className:`size-4`,"aria-hidden":`true`})})]},`project-files-header`):null}),(0,Z.jsx)(`div`,{className:`grid grid-cols-2 place-items-center gap-3 sm:grid-cols-3 lg:grid-cols-5`,children:i?r.map(e=>(0,Z.jsx)(U.div,{layoutId:`file-${e.id}`,transition:s,className:`aspect-[3/4] w-full max-w-40 overflow-hidden rounded-xl border border-foreground/10 bg-background/50 backdrop-blur-xl`,children:e.content},e.id)):null})]})]})}function $d({title:e,description:t=`Updated recently`,previews:n=[],count:r=n.length,itemLabel:i=`file`,open:a,defaultOpen:o=!1,onOpenChange:s,expanded:c,defaultExpanded:l=!1,onExpandedChange:u,onClick:d,disabled:f=!1,ariaLabel:p,className:m}){let h=G(),g=di(),_=(0,X.useId)(),v=`${_}-title`,y=(0,X.useRef)(!1),b=(0,X.useRef)(!1),x=(0,X.useRef)(!1),S=(0,X.useRef)(null),C=(0,X.useRef)(null),w=(0,X.useRef)(null),T=Jd(),[E,D]=(0,X.useState)(o),[O,k]=(0,X.useState)(l),[A,j]=(0,X.useState)(!1),M=a!==void 0,N=c!==void 0,P=c??O,I=(a??E)||P,L=n.slice(0,Yd),R=h?{duration:0}:ee,z=`${r} ${i}${r===1?``:`s`}`,B=(0,X.useCallback)(e=>{f||(M||D(e),s?.(e))},[f,s,M]),V=(0,X.useCallback)(e=>{f||L.length===0||(N||k(e),u?.(e))},[f,N,u,L.length]),H=(0,X.useCallback)(()=>{j(!1),x.current=!0,requestAnimationFrame(()=>S.current?.focus())},[]),ne=(0,X.useCallback)(()=>{j(!0),B(!1),V(!1)},[V,B]),K=(0,X.useEffectEvent)(ne);(0,X.useEffect)(()=>{h&&A&&H()},[H,A,h]),(0,X.useEffect)(()=>{if(!P)return;let e=document.body.style.overflow,t=requestAnimationFrame(()=>C.current?.focus());document.body.style.overflow=`hidden`;let n=e=>{if(e.key===`Escape`){e.preventDefault(),K();return}if(e.key!==`Tab`||!w.current)return;let t=Array.from(w.current.querySelectorAll(Xd)).filter(e=>e.tabIndex>=0),n=t[0],r=t.at(-1);!n||!r||(e.shiftKey&&document.activeElement===n?(e.preventDefault(),r.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n.focus()))};return document.addEventListener(`keydown`,n),()=>{cancelAnimationFrame(t),document.body.style.overflow=e,document.removeEventListener(`keydown`,n)}},[P]);let q=()=>{j(!1),V(!0),B(!0),d?.()},re=(0,Z.jsx)(Qd,{title:e,countText:z,dialogTitleId:v,previewItems:L,isExpanded:P,isClosing:A,reduce:h??!1,transition:R,dialogRef:w,closeButtonRef:C,closeOverlay:ne});return(0,Z.jsxs)(Ai,{id:_,children:[(0,Z.jsxs)(U.button,{ref:S,type:`button`,disabled:f,"aria-label":p,"aria-haspopup":`dialog`,"aria-expanded":P,"data-open":I?`true`:`false`,"data-expanded":P?`true`:`false`,tabIndex:P?-1:void 0,onPointerEnter:()=>{g&&(y.current=!0,B(!0))},onPointerLeave:()=>{g&&(y.current=!1,!P&&!A&&B(b.current))},onFocus:()=>{if(x.current){x.current=!1,b.current=!1;return}b.current=!0,B(!0)},onBlur:()=>{b.current=!1,!P&&!A&&B(y.current)},onClick:q,whileTap:h||f?void 0:{scale:.96},transition:h?{duration:0}:te,className:F(`relative block h-56 w-72 select-none rounded-2xl text-left outline-none [perspective:1200px] focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-4 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50`,m),children:[(0,Z.jsx)(U.span,{"aria-hidden":`true`,animate:{rotateX:I&&!h?15:0},transition:R,className:`absolute inset-0 rounded-2xl border border-foreground/10 bg-background/25 backdrop-blur-xl [transform-origin:center_bottom]`}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,children:(0,Z.jsx)(`span`,{className:`absolute left-1/2 top-0 block size-0`,children:(0,Z.jsx)(W,{initial:!1,children:P?null:L.map((e,t)=>{let n=Zd(t,L.length);return(0,Z.jsx)(U.span,{layoutId:`file-${e.id}`,initial:!1,animate:I&&!h?{x:n.x*1.4,y:n.y-8,rotate:n.rotate*1.3,scale:n.scale*1.02,opacity:Math.min(1,n.opacity+.18)}:{x:n.x,y:n.y,rotate:n.rotate,scale:n.scale,opacity:n.opacity},transition:R,onLayoutAnimationComplete:()=>{A&&t===0&&H()},className:`absolute left-0 top-0 -ml-12 block h-40 w-24 overflow-hidden rounded-lg border border-foreground/10 bg-background/45 backdrop-blur-lg`,style:{zIndex:n.zIndex},children:e.content},e.id)})})})}),(0,Z.jsxs)(U.span,{initial:!1,animate:{rotateX:I&&!h?-25:0},transition:R,className:`absolute inset-x-0 bottom-0 z-20 overflow-hidden rounded-2xl border border-foreground/10 bg-background/60 backdrop-blur-2xl [backface-visibility:hidden] [transform-origin:center_bottom]`,children:[(0,Z.jsx)(`span`,{className:`flex h-16 items-center px-4`,children:(0,Z.jsx)(`span`,{className:`line-clamp-2 text-xl font-medium leading-tight text-foreground`,children:e})}),(0,Z.jsxs)(`span`,{className:`flex h-12 items-center justify-between gap-3 border-t border-foreground/10 px-4`,children:[(0,Z.jsx)(`span`,{className:`shrink-0 text-sm font-medium text-foreground/70`,children:z}),(0,Z.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:t})]})]})]}),T?(0,Wi.createPortal)(re,document.body):null]})}var ef=[],tf=[];function nf(e){return e.kind===`folder`||e.kind===`project`}function rf(e,t,n=0,r=null){return e.flatMap(e=>{let i={item:e,depth:n,parentId:r};return!e.children?.length||!t.has(e.id)?[i]:[i,...rf(e.children,t,n+1,e.id)]})}function af(e,t,n){return e.map(e=>({...e,label:e.id===t?n:e.label,children:e.children?af(e.children,t,n):void 0}))}function of(e,t){if(e.kind===`action`)return null;let n=e.kind===`folder`||e.kind===`project`?t?In:ar:bn;return(0,Z.jsx)(n,{className:`size-4`})}function sf({active:e,children:t}){let n=G()??!1,r=(0,X.useRef)(null),i=(0,X.useRef)(null),[a,o]=(0,X.useState)(0);(0,X.useEffect)(()=>{let e=()=>{let e=r.current,t=i.current;!e||!t||o(t.scrollWidth>e.clientWidth?t.scrollWidth+24:0)};e();let t=new ResizeObserver(e);return r.current&&t.observe(r.current),i.current&&t.observe(i.current),()=>t.disconnect()},[]);let s=e&&a>0&&!n;return(0,Z.jsx)(`span`,{ref:r,className:F(`block min-w-0 flex-1 overflow-hidden`,!s&&`truncate`),title:t,children:s?(0,Z.jsxs)(U.span,{className:`flex w-max items-center gap-6 whitespace-nowrap`,animate:{x:[0,-a]},transition:{duration:Math.max(2.4,a/34),ease:`linear`,repeat:1/0,repeatDelay:2},children:[(0,Z.jsx)(`span`,{ref:i,children:t}),(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:t})]}):(0,Z.jsx)(`span`,{ref:i,children:t})})}function cf({label:e,onCommit:t,onCancel:n}){let[r,i]=(0,X.useState)(e),a=(0,X.useRef)(null),o=(0,X.useRef)(!1);return(0,X.useEffect)(()=>{o.current=!1,i(e),requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[e]),(0,Z.jsx)(`input`,{ref:a,value:r,"aria-label":`Rename ${e}`,onChange:e=>i(e.target.value),onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),onBlur:()=>{o.current||t(r)},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`&&(o.current=!0,t(r)),e.key===`Escape`&&(o.current=!0,n())},className:`mx-1 h-7 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-base text-foreground outline-none focus-visible:ring-2 focus-visible:ring-ring md:text-sm`})}function lf({item:e,menuOpen:t,onMenuOpenChange:n,onRenameStart:r,renderMenu:i}){let a=i?.(e,{close:()=>n(!1),rename:()=>{n(!1),r()}})??(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{n(!1),r()},className:`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-start text-xs text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,Z.jsx)(mr,{"aria-hidden":`true`,className:`size-3.5`}),`Rename`]});return(0,Z.jsxs)(go,{open:t,onOpenChange:n,children:[(0,Z.jsx)(_o,{render:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Actions for ${e.label}`,onClick:e=>e.stopPropagation(),className:`size-8 shrink-0 opacity-0 outline-none transition-opacity hover:bg-foreground/5 focus-visible:opacity-100 group-hover/resource:opacity-100 group-data-[menu-open=true]/resource:opacity-100`,children:(0,Z.jsx)(la,{"aria-hidden":`true`,className:`size-4`})})}),(0,Z.jsx)(vo,{side:`bottom`,align:`end`,sideOffset:8,className:`w-40 p-1.5`,children:(0,Z.jsx)(`div`,{"data-sidebar-resource-menu":e.id,children:a})})]})}function uf(e,t,n,r,i){return F(`group/resource relative flex min-h-8 min-w-0 cursor-pointer items-center gap-2 rounded-sm pe-0 text-body outline-none`,`text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,`focus-visible:bg-muted/70 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset`,`data-[menu-open=true]:bg-muted data-[menu-open=true]:text-foreground`,!e&&t&&`bg-muted text-foreground`,e&&n&&`bg-muted/55 text-foreground ring-1 ring-border/70`,r===`action`&&`text-xs text-muted-foreground`,i&&`cursor-not-allowed opacity-45`)}function df(e){let t=G()??!1,[n,r]=(0,X.useState)(!1),i=nf(e.row.item),a=e.renderIcon?.(e.row.item),o=a===void 0?of(e.row.item,e.expanded):a,{item:s}=e.row;return(0,Z.jsxs)(U.div,{ref:e.setRef,layout:`position`,transition:t?{duration:0}:ee,role:`treeitem`,"aria-level":e.row.depth+1,"aria-selected":i?void 0:e.active,"aria-expanded":i?e.expanded:void 0,"aria-disabled":s.disabled||void 0,tabIndex:e.focused?0:-1,"data-menu-open":e.menuOpen||void 0,"data-kind":s.kind,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onClick:t=>{t.defaultPrevented||e.renaming||s.disabled||(i?e.onContainerSelect():e.onSelect())},onDoubleClick:t=>{i||s.kind===`action`||s.disabled||(t.preventDefault(),e.onRenameStart())},onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),className:uf(i,e.active,e.containerActive,s.kind,s.disabled),style:{paddingInlineStart:`${8+(e.row.depth+(s.indent??0))*14}px`},children:[o!==null&&(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-4 shrink-0 place-items-center`,children:o}),e.renaming?(0,Z.jsx)(cf,{label:s.label,onCommit:e.onRenameCommit,onCancel:e.onRenameCancel}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(sf,{active:n||e.menuOpen,children:s.label}),e.renderSecondaryAction?.(s),!s.disabled&&s.kind!==`action`&&(0,Z.jsx)(lf,{item:s,menuOpen:e.menuOpen,onMenuOpenChange:e.onMenuOpenChange,onRenameStart:e.onRenameStart,renderMenu:e.renderMenu})]})]})}function ff({items:e=ef,onRename:t,activeId:n=null,activeContainerId:r,onActiveChange:i,onContainerSelect:a,expandedIds:o,onExpandedIdsChange:s,renderIcon:c,renderSecondaryAction:l,renderMenu:u,className:d}){let[f,p]=(0,X.useState)(e),[m,h]=(0,X.useState)(()=>new Set(tf)),[g,_]=(0,X.useState)(n),[v,y]=(0,X.useState)(null),[b,x]=(0,X.useState)(null),[S,C]=(0,X.useState)(``),w=(0,X.useRef)(new Map),T=(0,X.useMemo)(()=>o===void 0?m:new Set(o),[o,m]);(0,X.useEffect)(()=>{p(e)},[e]);let E=(0,X.useMemo)(()=>rf(f,T),[T,f]);(0,X.useEffect)(()=>{g&&E.some(e=>e.item.id===g)||_(E[0]?.item.id??null)},[E,g]),(0,X.useEffect)(()=>{if(!v)return;let e=requestAnimationFrame(()=>{Array.from(document.querySelectorAll(`[data-sidebar-resource-menu]`)).find(e=>e.dataset.sidebarResourceMenu===v)?.querySelector(`button, a[href]`)?.focus()});return()=>cancelAnimationFrame(e)},[v]);let D=(0,X.useCallback)(e=>{_(e),requestAnimationFrame(()=>w.current.get(e)?.focus())},[]),O=(0,X.useCallback)(e=>{let t=new Set(T);t.has(e)?t.delete(e):t.add(e),o===void 0&&h(t),s?.([...t])},[o,T,s]),k=(0,X.useCallback)((e,t)=>{let n=E.findIndex(({item:e})=>e.id===t.item.id),r=E[n-1],o=E[n+1];if(e.key===`ArrowDown`&&o){e.preventDefault(),D(o.item.id);return}if(e.key===`ArrowUp`&&r){e.preventDefault(),D(r.item.id);return}if(e.key===`Home`&&E[0]){e.preventDefault(),D(E[0].item.id);return}if(e.key===`End`&&E.at(-1)){e.preventDefault(),D(E.at(-1)?.item.id??t.item.id);return}if(t.item.disabled){e.key===`ArrowLeft`&&t.parentId?(e.preventDefault(),D(t.parentId)):([`ArrowRight`,`Enter`,` `,`F2`,`ContextMenu`].includes(e.key)||e.shiftKey&&e.key===`F10`)&&e.preventDefault();return}e.key===`ArrowRight`&&nf(t.item)?(e.preventDefault(),T.has(t.item.id)?o?.parentId===t.item.id&&D(o.item.id):O(t.item.id)):e.key===`ArrowLeft`?(e.preventDefault(),T.has(t.item.id)?O(t.item.id):t.parentId&&D(t.parentId)):e.key===`Enter`||e.key===` `?(e.preventDefault(),nf(t.item)?a?a(t.item.id):O(t.item.id):i?.(t.item.id)):e.key===`F2`&&t.item.kind!==`action`?(e.preventDefault(),x(t.item.id)):(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`)&&(e.preventDefault(),y(t.item.id))},[T,E,D,i,a,O]);return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{role:`tree`,"aria-label":`Projects and sessions`,"aria-multiselectable":`false`,className:F(`relative flex min-w-0 flex-col gap-0.5 [overflow-anchor:none] group-data-[state=collapsed]/sidebar:hidden`,d),children:(0,Z.jsx)(W,{initial:!1,children:E.map(e=>(0,Z.jsx)(df,{row:e,active:n===e.item.id,containerActive:r===e.item.id,expanded:T.has(e.item.id),focused:g===e.item.id,menuOpen:v===e.item.id,renaming:b===e.item.id,onFocus:()=>_(e.item.id),onSelect:()=>i?.(e.item.id),onContainerSelect:()=>{a?a(e.item.id):O(e.item.id)},onKeyDown:t=>k(t,e),onRenameStart:()=>x(e.item.id),onRenameCancel:()=>x(null),onRenameCommit:n=>{let r=n.trim();if(x(null),!r||r===e.item.label)return;let i=f;p(af(i,e.item.id,r)),Promise.resolve(t?.(e.item,r)).catch(()=>{p(i),C(`Rename failed. ${e.item.label} was restored.`)})},onMenuOpenChange:t=>{y(t?e.item.id:null),t||D(e.item.id)},renderIcon:c,renderSecondaryAction:l,renderMenu:u,setRef:t=>{t?w.current.set(e.item.id,t):w.current.delete(e.item.id)}},e.item.id))})}),(0,Z.jsx)(`span`,{className:`sr-only`,"aria-live":`polite`,children:S})]})}function pf(e){return e?.status===`running`?(0,Z.jsx)(fr,{className:`size-3.5 animate-spin`}):e?.status===`failed`?(0,Z.jsx)(br,{className:`size-3.5 text-destructive`}):e?.status===`interrupted`?(0,Z.jsx)(aa,{className:`size-3.5 text-muted-foreground`}):null}function mf({projectActionsOpen:e,setProjectActionsOpen:t,expandedProjectIds:n,setExpandedProjectIds:r,onOpenCreateProject:i,projects:a,projectSessions:o,sidebarItems:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:f,onRenameSession:p,onCreateProject:m,resumeResource:h,toggleProjectResource:g,renderMenu:_}){return(0,Z.jsx)(Il,{className:`gap-0 px-2.5 pb-1 pt-2`,children:(0,Z.jsxs)(Rl,{className:`p-0`,children:[(0,Z.jsxs)(`div`,{className:`relative mb-1 h-8`,children:[(0,Z.jsx)(zl,{className:`mb-0 h-8 pe-20 text-xs font-normal normal-case tracking-normal text-muted-foreground`,children:`Projects`}),(0,Z.jsxs)(`div`,{className:`absolute inset-y-0 left-auto flex items-center gap-0.5 [inset-inline-start:auto] [inset-inline-end:0]`,children:[(0,Z.jsxs)(yo,{open:e,onOpenChange:t,side:`bottom`,align:`end`,className:`w-44 p-1`,trigger:(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Project actions`,title:`Project actions`,className:F(Zr,`inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`),children:(0,Z.jsx)(la,{"aria-hidden":`true`,className:`size-3.5`})}),children:[m?(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(!1),i()},className:`flex h-8 w-full items-center gap-2 rounded-md px-2 text-xs outline-none hover:bg-muted focus-visible:bg-muted`,children:[(0,Z.jsx)(ir,{"aria-hidden":`true`,className:`size-3.5`}),`Add project`]}):null,(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{t(!1),r([])},className:`flex h-8 w-full items-center gap-2 rounded-md px-2 text-xs outline-none hover:bg-muted focus-visible:bg-muted`,children:[(0,Z.jsx)($t,{"aria-hidden":`true`,className:`size-3.5`}),`Collapse all`]})]}),m?(0,Z.jsx)(`button`,{type:`button`,"aria-label":`Add project`,title:`Add project`,onClick:i,className:F(Zr,`inline-flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`),children:(0,Z.jsx)(hr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})]}),(0,Z.jsx)(Bl,{children:a.length===0?(0,Z.jsx)(`div`,{className:`px-2 py-4`,children:(0,Z.jsx)($d,{title:`Add a project`,description:`Choose a local directory for Fleet Prime.`,count:0,itemLabel:`session`,previews:[{id:`empty-project`,content:(0,Z.jsx)(ir,{className:`size-5 text-muted-foreground`})}],onClick:i,ariaLabel:`Add a project`,className:`w-full`})}):(0,Z.jsx)(ff,{items:s,activeId:l?Hn(l):null,activeContainerId:c?Qn(c):null,expandedIds:n,onExpandedIdsChange:r,onActiveChange:h,onContainerSelect:g,onRename:(e,t)=>{let n=nr(e.id,er);n&&p(n,t)},renderMenu:_,renderIcon:e=>{if(nr(e.id,`project:`))return(0,Z.jsx)(ar,{className:`size-4`});if(e.id.startsWith(`toggle:`))return e.label===`Show less`?(0,Z.jsx)(mn,{className:`size-4`}):(0,Z.jsx)($t,{className:`size-4`});if(e.kind===`action`)return null;let t=nr(e.id,er);return pf(o.find(e=>e.sessionId===t))},renderSecondaryAction:e=>{let t=nr(e.id,Zn);return!t||t===`unassigned`?null:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`New chat in ${e.label}`,title:`New chat in ${e.label}`,onClick:e=>{e.stopPropagation(),d?d(t):(f?.(t),u())},className:`size-8 shrink-0 opacity-0 group-hover/resource:opacity-100 group-focus-within/resource:opacity-100 focus-visible:opacity-100 [@media(hover:none)]:opacity-100`,children:(0,Z.jsx)(ya,{"data-icon":`inline-start`,className:`size-3.5`})})},className:`px-0`})})]})})}function hf({className:e,...t}){return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Z.jsx)(`path`,{d:`M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.727-8.835L1.254 2.25H8.08l4.253 5.622L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z`})})}function gf({className:e,...t}){return(0,Z.jsx)(`svg`,{"aria-hidden":`true`,viewBox:`0 0 24 24`,fill:`currentColor`,className:e,...t,children:(0,Z.jsx)(`path`,{d:`M20.317 4.37a19.8 19.8 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.3 18.3 0 0 0-5.487 0 12.6 12.6 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.7 19.7 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.08.08 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028 14 14 0 0 0 1.226-1.994.076.076 0 0 0-.041-.106 13.1 13.1 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.3 12.3 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.8 19.8 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418z`})})}function _f(){try{return`0.10.1`}catch{return`dev`}}function vf(){let e=_f();return(0,Z.jsxs)(Pr,{variant:`secondary`,title:`Fleet ${e}`,"aria-label":`Fleet version ${e}`,className:`shrink-0 font-mono text-micro font-normal text-muted-foreground`,children:[`v`,e]})}function yf(e,t){return e.filter(e=>e.messageCount>0||e.sessionId===t)}function bf(e){return e.toSorted((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function xf(e,t,n){let r=bf(e);if(n||r.length<=5)return r;let i=r.slice(0,5),a=r.find(e=>e.sessionId===t);return a&&!i.some(e=>e.sessionId===a.sessionId)&&(i[4]=a),i}function Sf(e,t){let n=new Map(e.map((e,t)=>[e.projectId,t])),r=new Map;for(let e of t){if(!e.projectId)continue;let t=Date.parse(e.updatedAt);r.set(e.projectId,Math.max(r.get(e.projectId)??0,t))}return e.toSorted((e,t)=>{let i=r.get(e.projectId)??0,a=r.get(t.projectId)??0;return i===a?(n.get(e.projectId)??0)-(n.get(t.projectId)??0):a-i})}function Cf({threads:e,query:t,activeId:n,onQueryChange:r,onSelect:i,className:a,...o}){let s=e.filter(e=>`${e.title} ${e.preview} ${(e.keywords??[]).join(` `)}`.toLowerCase().includes(t.toLowerCase())),c=s.filter(e=>e.pinned),l=[...new Set(s.flatMap(e=>e.pinned?[]:[e.group]))],u=[...c,...l.flatMap(e=>s.filter(t=>!t.pinned&&t.group===e))],[d,f]=(0,X.useState)(null),p=e=>{if(u.length===0)return;let t=u.findIndex(e=>e.id===d),n=u[((t===-1?e>0?-1:0:t)+e+u.length)%u.length];f(n?n.id:null)},m=e=>{e.nativeEvent.isComposing||(e.key===`ArrowDown`?(e.preventDefault(),p(1)):e.key===`ArrowUp`?(e.preventDefault(),p(-1)):e.key===`Enter`&&d&&(e.preventDefault(),i?.(d)))},h=e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>{f(e.id),i?.(e.id)},className:F(`flex flex-col gap-0.5 rounded-xl px-2 py-1 text-start transition-colors`,e.id===d?`bg-foreground/[0.05]`:e.id===n?`bg-foreground/[0.02] hover:bg-foreground/[0.03]`:`hover:bg-foreground/[0.03]`),children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[e.pinned&&(0,Z.jsx)(ha,{className:`text-foreground/30 size-2.5 shrink-0`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-body`,children:e.title})]}),(0,Z.jsx)(`span`,{className:`text-foreground/35 truncate text-xs`,children:e.preview})]},e.id);return(0,Z.jsxs)(`div`,{"data-slot":`thread-search`,className:F(Vr,`flex w-full max-w-sm flex-col gap-1.5 rounded-2xl p-3`,a),...o,children:[(0,Z.jsxs)(`div`,{className:F(Hr,`flex items-center gap-2 rounded-xl px-2.5 py-1.5`),children:[(0,Z.jsx)(vr,{className:`text-foreground/30 size-3.5 shrink-0`}),(0,Z.jsx)(`input`,{value:t,onChange:e=>{f(null),r?.(e.target.value)},onKeyDown:m,placeholder:`Search threads`,"aria-label":`Search threads`,className:`text-foreground/85 placeholder:text-foreground/30 min-w-0 flex-1 bg-transparent text-base outline-none md:text-body`})]}),c.length>0&&(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:F(`font-mono text-caption tracking-tight`,`text-foreground/25 px-2 pb-1`),children:`pinned`}),c.map(h)]}),l.map(e=>(0,Z.jsxs)(`div`,{className:`flex flex-col`,children:[(0,Z.jsx)(`span`,{className:F(Lr,`text-foreground/25 px-2 pb-1`),children:e}),s.flatMap(t=>!t.pinned&&t.group===e?[h(t)]:[])]},e)),s.length===0&&(0,Z.jsxs)(`span`,{className:`text-foreground/30 px-2 py-4 text-center text-xs`,children:[`No thread matches “`,t,`”`]})]})}var wf=`flex h-8 w-full items-center gap-2 rounded-md px-2 text-label outline-none transition-colors hover:bg-muted focus-visible:bg-muted`,Tf=`flex h-8 w-full items-center justify-start gap-2 rounded-lg px-2 text-body font-normal text-sidebar-foreground outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-sidebar-ring`;function Ef({icon:e,label:t,onClick:n,href:r,to:a}){return a?(0,Z.jsxs)(i,{to:a,className:wf,onClick:n,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):r?(0,Z.jsxs)(`a`,{href:r,target:`_blank`,rel:`noreferrer`,className:wf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:wf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]})}function Df({children:e}){return(0,Z.jsx)(`kbd`,{className:`rounded border border-border/60 bg-muted/60 px-1 font-mono text-micro leading-4 text-muted-foreground`,children:e})}function Of({brandMenuOpen:e,setBrandMenuOpen:t,searchOpen:n,setSearchOpen:r,query:i,setQuery:a,projectActionsOpen:o,setProjectActionsOpen:s,expandedProjectIds:c,setExpandedProjectIds:l,onOpenCreateProject:u,projects:d,projectSessions:f,sidebarItems:p,sortedProjects:m,projectById:h,activeProjectId:g,activeSessionId:_,onNewSession:v,onNewSessionInProject:y,onProjectSelect:b,onRenameSession:x,onCreateProject:S,onOpenSettings:C,accountMenu:w,resumeResource:T,toggleProjectResource:E,selectSearchResult:D,renderMenu:O}){let k=(0,X.useMemo)(()=>bf(f).map(e=>({id:e.sessionId,title:Kn(e,f),preview:qn(e,h),group:rr(e.updatedAt),keywords:e.firstMessage?[Ln(e.firstMessage)]:[]})),[h,f]),A=(0,X.useMemo)(()=>{let e=i.trim().toLowerCase();return e?m.filter(t=>`${t.name} ${t.pathLabel}`.toLowerCase().includes(e)):m},[i,m]);return(0,Z.jsx)(jl,{ariaLabel:`Fleet projects and sessions`,collapsible:`offcanvas`,variant:`floating`,className:`text-sidebar-foreground`,children:(0,Z.jsxs)(Wr,{value:2,children:[(0,Z.jsxs)(Fl,{className:`gap-2 border-0 px-2.5 pb-2 pt-2.5`,children:[(0,Z.jsxs)(`div`,{className:`relative flex h-9 min-w-0 items-center justify-between gap-1`,children:[(0,Z.jsxs)(yo,{open:e,onOpenChange:t,side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(`button`,{type:`button`,className:`flex h-8 w-fit shrink-0 items-center gap-1 rounded-lg px-2 text-start text-body font-medium outline-none transition-colors hover:bg-sidebar-accent focus-visible:ring-2 focus-visible:ring-sidebar-ring`,children:[(0,Z.jsx)(`span`,{className:`truncate`,children:`Qredence Fleet`}),(0,Z.jsx)($t,{className:`size-3.5 text-muted-foreground`})]}),className:`w-52 p-1`,children:[S?(0,Z.jsx)(Ef,{icon:ir,label:`Add project`,onClick:()=>{t(!1),u()}}):null,(0,Z.jsx)(Ef,{icon:Yt,label:`Settings`,onClick:()=>{t(!1),C?.()}}),(0,Z.jsx)(Ef,{label:`Agents`,to:`/agents`}),(0,Z.jsx)(Ef,{label:`Connectors`,to:`/connectors`}),(0,Z.jsx)(Ef,{icon:ta,label:`Documentation`,href:Xn})]}),(0,Z.jsx)(yo,{open:n,onOpenChange:r,side:`bottom`,align:`end`,className:`w-64 p-0`,trigger:(0,Z.jsx)(Sr,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":`Search projects and sessions`,title:`Search projects and sessions`,className:`shrink-0 text-muted-foreground hover:bg-sidebar-accent`,children:(0,Z.jsx)(vr,{"data-icon":`inline-start`,className:`size-4`})}),children:(0,Z.jsxs)(`div`,{className:`max-h-[min(32rem,calc(100dvh-5rem))] overflow-y-auto overscroll-contain`,children:[(0,Z.jsx)(Cf,{threads:k,query:i,activeId:_??``,onQueryChange:a,onSelect:e=>D(`search-session:${e}`),className:`max-w-none rounded-none border-0 p-2 shadow-none`}),(0,Z.jsxs)(`div`,{className:`border-t border-border/60 px-2 pb-2 pt-1.5`,children:[(0,Z.jsx)(`span`,{className:`px-2 pb-1 font-mono text-micro uppercase tracking-[0.14em] text-muted-foreground/60`,children:`Projects`}),(0,Z.jsxs)(`div`,{className:`mt-1 flex flex-col gap-0.5`,children:[A.map(e=>(0,Z.jsxs)(`button`,{type:`button`,onClick:()=>D(`search-project:${e.projectId}`),className:`flex w-full min-w-0 items-center gap-2 rounded-xl px-2 py-1.5 text-start text-label outline-none transition-colors hover:bg-foreground/[0.03] focus-visible:ring-2 focus-visible:ring-ring`,children:[(0,Z.jsx)(ar,{className:`size-3.5 shrink-0 text-muted-foreground/60`}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Z.jsx)(`span`,{className:`max-w-24 truncate text-micro text-muted-foreground/55`,children:e.pathLabel})]},e.projectId)),A.length===0?(0,Z.jsxs)(`span`,{className:`p-2 text-center text-caption text-muted-foreground/60`,children:[`No project matches “`,i,`”`]}):null]})]}),(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-3 border-t border-border/60 px-3 py-2 text-micro text-muted-foreground/70`,children:[(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`↑`}),(0,Z.jsx)(Df,{children:`↓`}),`navigate`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`↵`}),`open`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(Df,{children:`esc`}),`close`]})]})]})})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:v,className:Tf,children:[(0,Z.jsx)(ya,{className:`size-4 shrink-0 text-muted-foreground`}),`New chat`]})]}),(0,Z.jsx)(mf,{projectActionsOpen:o,setProjectActionsOpen:s,expandedProjectIds:c,setExpandedProjectIds:l,onOpenCreateProject:u,projects:d,projectSessions:f,sidebarItems:p,activeProjectId:g,activeSessionId:_,onNewSession:v,onNewSessionInProject:y,onProjectSelect:b,onRenameSession:x,onCreateProject:S,resumeResource:T,toggleProjectResource:E,renderMenu:O}),(0,Z.jsxs)(Ll,{className:`flex-col gap-1 border-sidebar-border px-2.5 py-2 pb-[max(0.5rem,env(safe-area-inset-bottom))]`,children:[(0,Z.jsxs)(`a`,{href:Wn,target:`_blank`,rel:`noreferrer`,className:Tf,children:[(0,Z.jsx)(hf,{className:`size-4 shrink-0 text-muted-foreground`}),`Twitter`]}),(0,Z.jsxs)(`a`,{href:tr,target:`_blank`,rel:`noreferrer`,className:Tf,children:[(0,Z.jsx)(gf,{className:`size-4 shrink-0 text-muted-foreground`}),`Discord`]}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-row items-center gap-1`,children:[(0,Z.jsx)(`div`,{className:`min-w-0 flex-1`,children:w??(0,Z.jsx)(`span`,{className:`flex h-8 items-center px-2 text-body`,children:`Qredence`})}),(0,Z.jsx)(vf,{}),(0,Z.jsx)(`a`,{href:Xn,target:`_blank`,rel:`noreferrer`,"aria-label":`Open Qredence documentation`,title:`Help`,className:`grid size-8 shrink-0 place-items-center rounded-lg text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:ring-2 focus-visible:ring-sidebar-ring`,children:(0,Z.jsx)(ra,{className:`size-4`})})]})]}),(0,Z.jsx)(Nl,{})]})})}function kf(e,t){return t.type===`update`?t.update(e):{...e,[t.field.key]:t.field.value}}function Af(e){let[t,n]=(0,X.useReducer)(kf,e,e=>({brandMenuOpen:!1,projectActionsOpen:!1,searchOpen:!1,query:``,expandedProjectIds:Yn(e),revealedProjectIds:new Set,activeDialog:null})),r=(0,X.useCallback)(function(e,t){n({type:`set`,field:{key:e,value:t}})},[]),i=(0,X.useCallback)(function(e,t){n({type:`update`,update:n=>({...n,[e]:t(n[e])})})},[]),a=(0,X.useCallback)(e=>r(`brandMenuOpen`,e),[r]),o=(0,X.useCallback)(e=>r(`projectActionsOpen`,e),[r]),s=(0,X.useCallback)(e=>r(`searchOpen`,e),[r]),c=(0,X.useCallback)(e=>r(`query`,e),[r]),l=(0,X.useCallback)(e=>typeof e==`function`?i(`expandedProjectIds`,e):r(`expandedProjectIds`,e),[r,i]),u=(0,X.useCallback)(e=>typeof e==`function`?i(`revealedProjectIds`,e):r(`revealedProjectIds`,e),[r,i]),d=(0,X.useCallback)(e=>r(`activeDialog`,e),[r]),f=(0,X.useCallback)(()=>r(`activeDialog`,null),[r]);return{...t,setBrandMenuOpen:a,setProjectActionsOpen:o,setSearchOpen:s,setQuery:c,setExpandedProjectIds:l,setRevealedProjectIds:u,setActiveDialog:d,closeDialog:f}}var jf=[[`resources`,`Open Resources`,cr],[`workspace`,`Open Workspace`,ar],[`artifacts`,`Open Artifacts`,pr]];function Mf({icon:e,label:t,destructive:n=!1,onClick:r}){return(0,Z.jsxs)(`button`,{type:`button`,onClick:r,className:n?`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs text-destructive hover:bg-destructive/10`:`flex h-8 w-full items-center gap-2 rounded-lg px-2.5 text-left text-xs hover:bg-muted`,children:[(0,Z.jsx)(e,{className:`size-3.5`}),t]})}function Nf({sessions:e,projects:t=$n,projectSessions:n=e,activeProjectId:r,activeSessionId:i,onNewSession:a,onNewSessionInProject:o,onProjectSelect:s,onResumeSession:c,onOpenPanelAction:l,expandedProjectIds:u,revealedProjectIds:d,setExpandedProjectIds:f,setRevealedProjectIds:p,setSearchOpen:m,setActiveDialog:h}){let g=(0,X.useMemo)(()=>new Map(t.map(e=>[e.projectId,e])),[t]),_=(0,X.useMemo)(()=>Sf(t,n),[n,t]);(0,X.useEffect)(()=>{if(!r)return;let e=Qn(r);f(t=>t.includes(e)?t:[...t,e])},[r,f]),(0,X.useEffect)(()=>{Tr(Jn,JSON.stringify(u))},[u]);let v=(0,X.useMemo)(()=>{let e=_.map(e=>{let t=yf(n.filter(t=>t.projectId===e.projectId),i),r=d.has(e.projectId),a=xf(t,i,r),o=a.map(e=>({id:Hn(e.sessionId),label:Kn(e,a),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length===0)o.push({id:Gn(e.projectId),label:`Start first chat`,kind:`action`});else if(t.length>5){let n=t.length-a.length;o.push({id:`toggle:${e.projectId}`,label:r?`Show less`:`Show ${n} more`,kind:`action`})}return{id:Qn(e.projectId),label:e.name,kind:`project`,children:o}}),t=bf(yf(n.filter(e=>!e.projectId),i));if(t.length>0){let n=d.has(`unassigned`),r=xf(t,i,n),a=r.map(e=>({id:Hn(e.sessionId),label:Kn(e,t),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length>5){let e=t.length-r.length;a.push({id:`toggle:unassigned`,label:n?`Show less`:`Show ${e} more`,kind:`action`})}e.push({id:`project:unassigned`,label:`Unassigned`,kind:`folder`,children:a})}return e},[i,n,d,_]),y=(0,X.useCallback)(e=>{o?o(e):(s?.(e),a())},[a,o,s]);return{projectById:g,sortedProjects:_,sidebarItems:v,resumeResource:(0,X.useCallback)(e=>{let t=nr(e,`toggle:`);if(t){p(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n});return}let r=nr(e,Un);if(r){y(r);return}let i=nr(e,er);if(!i)return;let a=n.find(e=>e.sessionId===i);a&&c(a)},[y,c,n,p]),toggleProjectResource:(0,X.useCallback)(e=>{f(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},[f]),selectSearchResult:(0,X.useCallback)(e=>{let t=nr(e,`search-project:`);if(t){let e=Qn(t);f(t=>t.includes(e)?t:[...t,e]),s?.(t),m(!1);return}let r=nr(e,`search-session:`),i=r?n.find(e=>e.sessionId===r):void 0;if(i){if(i.projectId){let e=Qn(i.projectId);f(t=>t.includes(e)?t:[...t,e])}c(i),m(!1)}},[s,c,n,f,m]),renderMenu:(0,X.useCallback)((e,t)=>{let r=nr(e.id,er),i=nr(e.id,`project:`);if(r){let e=n.find(e=>e.sessionId===r);if(!e)return null;let i=e.projectId??void 0;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Mf,{icon:mr,label:`Rename`,onClick:()=>{t.close(),h({kind:`rename-session`,session:e})}}),l&&i?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`my-1 border-t`}),jf.map(([e,n,r])=>(0,Z.jsx)(Mf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null,(0,Z.jsx)(Mf,{icon:yr,label:`Delete`,destructive:!0,onClick:()=>{t.close(),h({kind:`delete-session`,session:e})}})]})}if(i&&i!==`unassigned`){let e=g.get(i);return e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Mf,{icon:mr,label:`Rename project`,onClick:()=>{t.close(),h({kind:`rename-project`,project:e})}}),(0,Z.jsx)(Mf,{icon:Ta,label:`Unregister project`,destructive:!0,onClick:()=>{t.close(),h({kind:`unregister-project`,project:e})}}),l?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`my-1 border-t`}),jf.map(([e,n,r])=>(0,Z.jsx)(Mf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null]}):null}return null},[l,g,n,h])}}var Pf=(0,X.lazy)(()=>Or(async()=>{let{SessionSidebarCreateDialog:e}=await import(`./create-project-dialog-Db-WhUmP.js`);return{SessionSidebarCreateDialog:e}},__vite__mapDeps([97,1,2,3,8,98,99,100,94,69,23,4,17,24,25,14,15,13,16,18,19,20,21,22,26,28,29,10,7,11,12,27,92,39])).then(({SessionSidebarCreateDialog:e})=>({default:e})));function Ff({data:e,sessionActions:t,projectActions:n={},navigationActions:r={},slots:i={}}){let{sessions:a,projects:o=$n,projectSessions:s=a,activeProjectId:c,activeSessionId:l}=e,{onNewSession:u,onNewSessionInProject:d,onResumeSession:f,onRenameSession:p,onDeleteSession:m}=t,{onProjectSelect:h,onCreateProject:g,onRenameProject:_,onUnregisterProject:v}=n,{onOpenPanelAction:y,onBrowseDirectories:b,onOpenSettings:x}=r,{accountMenu:S}=i,C=Af(c),{projectById:w,sortedProjects:T,sidebarItems:E,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}=Nf({sessions:a,projects:o,projectSessions:s,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onResumeSession:f,onOpenPanelAction:y,expandedProjectIds:C.expandedProjectIds,revealedProjectIds:C.revealedProjectIds,setExpandedProjectIds:C.setExpandedProjectIds,setRevealedProjectIds:C.setRevealedProjectIds,setSearchOpen:C.setSearchOpen,setActiveDialog:C.setActiveDialog}),j=C.setActiveDialog,M=(0,X.useCallback)(()=>{j({kind:`create-project`})},[j]),N=C.activeDialog?.kind===`create-project`;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Of,{brandMenuOpen:C.brandMenuOpen,setBrandMenuOpen:C.setBrandMenuOpen,searchOpen:C.searchOpen,setSearchOpen:C.setSearchOpen,query:C.query,setQuery:C.setQuery,projectActionsOpen:C.projectActionsOpen,setProjectActionsOpen:C.setProjectActionsOpen,expandedProjectIds:C.expandedProjectIds,setExpandedProjectIds:C.setExpandedProjectIds,onOpenCreateProject:M,projects:o,projectSessions:s,sidebarItems:E,sortedProjects:T,projectById:w,activeProjectId:c,activeSessionId:l,onNewSession:u,onNewSessionInProject:d,onProjectSelect:h,onRenameSession:p,onCreateProject:g,onOpenSettings:x,accountMenu:S,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}),N?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Pf,{open:N,onClose:C.closeDialog,onBrowseDirectories:b,onCreateProject:g})}):null,(0,Z.jsx)(Wd,{activeDialog:C.activeDialog,onClose:C.closeDialog,onRenameSession:p,onDeleteSession:m,onRenameProject:_,onUnregisterProject:v})]})}var If=(0,X.lazy)(()=>Or(async()=>{let{SubagentChatPanel:e}=await import(`./subagent-chat-panel-R2RoX1Yt.js`);return{SubagentChatPanel:e}},__vite__mapDeps([101,3,1,102,2,4,5,6,31,32,98,8,80,23,17,24,25,103,74,104,13,43,44,36,37,46,11,47,48,39,22,41,57,105,64,59,106,61,58,18,21,29,60,30,33,34,7,35,38,40,42,45,49,50,51,52,53,54,55,56,26,87,107,108])).then(({SubagentChatPanel:e})=>({default:e}))),Lf=(0,X.lazy)(()=>Or(async()=>{let{SessionActivityPanel:e}=await import(`./session-activity-panel-DwaXiSrS.js`);return{SessionActivityPanel:e}},__vite__mapDeps([109,3,1,8,2,33,36,37,23,4,17,24,25,106,39,61,43,58,18,13,21,29,108,46,11,47,48,41])).then(({SessionActivityPanel:e})=>({default:e})));function Rf(){let{session:e,conversation:t,composer:n,panels:r,dialogs:i,chrome:a,agentTabs:o}=wd(),s=(0,X.useCallback)(()=>{i.setCommandPaletteOpen(e=>!e)},[i.setCommandPaletteOpen]),c=(0,X.useCallback)(()=>{r.setRightPanel(null),window.requestAnimationFrame(()=>jd())},[r.setRightPanel]);Md({onCommandPaletteToggle:s,onClosePanel:c,rightPanel:r.rightPanel,setRightPanel:r.setRightPanel});let l=e.projects.find(t=>t.projectId===e.activeProjectId)?.name,u=(0,X.useCallback)((e,r)=>{let i=[...n.uploadedAttachments],a=[...n.workspaceAttachments],o=[...a,...i];n.clearUploadedAttachments(),n.clearWorkspaceAttachments(),(async()=>{try{await t.sendMessage({text:e,altKey:r,mode:n.chatMode,openUI:!0,attachments:o})||n.restoreAttachments(i,a)}catch(e){n.restoreAttachments(i,a),ds(e)}})()},[n.chatMode,n.clearUploadedAttachments,n.clearWorkspaceAttachments,n.restoreAttachments,n.uploadedAttachments,n.workspaceAttachments,t.sendMessage]),d=(0,X.useCallback)(e=>{let r=_n(e);if(r){t.openPanelAction(r);return}t.sendMessage({text:e,altKey:!1,mode:n.chatMode,openUI:!0})},[n.chatMode,t.openPanelAction,t.sendMessage]),f=(0,X.useCallback)(async e=>{try{return await t.persistOpenUIArtifact(e)}catch(e){fi.error(`Artifact persistence failed: ${e instanceof Error?e.message:String(e)}`);return}},[t.persistOpenUIArtifact]),p=(0,X.useMemo)(()=>({sessions:e.sessions,projects:e.projects,projectSessions:e.projectSessions,activeProjectId:e.activeProjectId,activeSessionId:e.activeSessionId}),[e.sessions,e.projects,e.projectSessions,e.activeProjectId,e.activeSessionId]),m=(0,X.useCallback)(()=>fs(()=>e.startNewSession()),[e.startNewSession]),h=(0,X.useCallback)(t=>{e.resumeSession({sessionId:t.sessionId})},[e.resumeSession]),g=(0,X.useCallback)((t,n)=>{e.renameSession(t,n)},[e.renameSession]),_=(0,X.useCallback)(t=>{e.deleteSession(t)},[e.deleteSession]),v=(0,X.useCallback)(()=>{i.setSettingsDialogOpen(!0)},[i.setSettingsDialogOpen]),y=(0,X.useMemo)(()=>({onNewSession:m,onNewSessionInProject:e.startNewSessionInProject,onResumeSession:h,onRenameSession:g,onDeleteSession:_}),[m,e.startNewSessionInProject,h,g,_]),b=(0,X.useMemo)(()=>({onProjectSelect:e.selectProject,onCreateProject:e.createProject,onRenameProject:e.renameProject,onUnregisterProject:e.unregisterProject}),[e.selectProject,e.createProject,e.renameProject,e.unregisterProject]),x=(0,X.useMemo)(()=>({onOpenPanelAction:e.openPanelAction,onBrowseDirectories:e.browseProjectDirectories,onOpenSettings:v}),[e.openPanelAction,e.browseProjectDirectories,v]),S=(0,X.useMemo)(()=>({accountMenu:a.header.accountMenu}),[a.header.accountMenu]),C=hs(n,e.activeSessionId),w=o.activeTabId===`activity`?(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading session activity…`}),children:(0,Z.jsx)(Lf,{artifactRuns:t.artifactRuns,childAgents:t.presentation.rlmChildren,messages:t.messages,onOpenArtifact:t.openArtifact,onSelectChild:o.openChildTab,streaming:t.status===`streaming`||t.status===`submitted`})}):o.activeTabId===`main`||!o.selectedChild?(0,Z.jsx)(us,{messages:t.messages,highlightedMessageId:t.highlightedTranscriptMessageId??void 0,status:t.status,error:t.error??void 0,workspaceName:l,activityLabel:t.activityLabel,presentation:t.presentation,artifactRuns:t.artifactRuns,queue:t.queue,onDeleteQueuedMessage:t.deleteQueuedMessage,onEditQueuedMessage:t.editQueuedMessage,onOpenArtifact:t.openArtifact,onOpenUIArtifactReady:f,inputSuggestionItems:n.inputSuggestionItems,inputBar:C,onSend:u,onOpenUIAction:d,onStop:t.stop}):(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(`div`,{className:`flex min-h-32 flex-1 items-center justify-center text-xs text-foreground/45`,children:`Loading subagent thread…`}),children:(0,Z.jsx)(If,{child:o.selectedChild,parentSessionId:e.activeSessionId,state:o.conversation})});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(zu,{chrome:a,conversation:t,dialogs:i,panels:r,session:e}),(0,Z.jsxs)(hi,{chatPanelData:r.chatPanelData,onOpenUIAction:d,settingsActions:r.settingsActions,workspaceTree:r.workspaceTreeContext,children:[(0,Z.jsxs)(kl,{className:`h-svh min-h-0 rounded-none border-0`,children:[(0,Z.jsx)(Ff,{data:p,sessionActions:y,projectActions:b,navigationActions:x,slots:S}),(0,Z.jsx)(Pl,{className:`h-svh min-h-0 overflow-hidden`,children:(0,Z.jsx)(Ed,{headerLeft:a.header.left,headerCenter:a.header.center,headerRight:a.header.right,panel:(0,Z.jsx)(hn,{children:(0,Z.jsx)(zd,{handleResourceCanvasResizeStart:r.handleResourceCanvasResizeStart,onClose:c,onResourceCanvasWidthChange:r.handleResourceCanvasWidthChange,resourceCanvasWidth:r.resourceCanvasWidth})}),children:(0,Z.jsx)(`div`,{"aria-labelledby":Eu(o.activeTabId),className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-tab-panel`,id:Du(o.activeTabId),role:`tabpanel`,children:w})})})]}),(0,Z.jsx)(Bu,{dialogs:i})]})]})}var zf=Rf;export{zf as component};
|