@qredence/fleet 0.10.2 → 0.10.3
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 +8 -0
- package/dist/runtime-manifest.json +14 -14
- package/dist/web/client/assets/index-DJDQWCGd.js +12 -0
- package/dist/web/client/assets/{routes-DgbWbQOu.js → routes-C6C0y-oH.js} +1 -1
- package/dist/web/client/bundle-budget.json +5 -5
- package/dist/web/server/{_tanstack-start-manifest_v-CGHXgy5L-KSOQEPW7.js → _tanstack-start-manifest_v-Cs4JeecK-7Q7PABV3.js} +4 -4
- package/dist/web/server/{agents-DOgCHixY-KUZP2VDO.js → agents-DOgCHixY-TU7YLWS2.js} +1 -1
- package/dist/web/server/{agents-page-BdiR9H8w-M6X6SXMF.js → agents-page-BdiR9H8w-UXB7T3LH.js} +2 -2
- package/dist/web/server/{artifacts-panel-CHPMYc6C-OWIYGSRM.js → artifacts-panel-DjaLT-MS-DAPJTA2V.js} +4 -4
- package/dist/web/server/{chat-command-palette-VF4C0ttN-GY52QBFP.js → chat-command-palette-CGCsCr9E-U5PCLXNE.js} +3 -3
- package/dist/web/server/{chunk-NDU4LK5M.js → chunk-2Y2543CV.js} +3 -3
- package/dist/web/server/{chunk-MDGXRDJM.js → chunk-3LAD2C43.js} +3 -3
- package/dist/web/server/{chunk-35RIM6VP.js → chunk-CPB76YQU.js} +1251 -740
- package/dist/web/server/{chunk-2ETDIMNM.js → chunk-ETVLY2KE.js} +1 -1
- package/dist/web/server/{chunk-W72ZBCJ5.js → chunk-MEAWBN4N.js} +4 -4
- package/dist/web/server/{chunk-7DUB7HGF.js → chunk-QWJE6ES6.js} +36 -23
- package/dist/web/server/{chunk-GW7HYECO.js → chunk-UULUKSQD.js} +17 -17
- package/dist/web/server/{chunk-LYJ3XDEZ.js → chunk-UZ2KHDSW.js} +3 -3
- package/dist/web/server/{chunk-P3ZJ6L7V.js → chunk-VBCFQNR3.js} +2 -2
- package/dist/web/server/{connectors-Dv_uPdv0-2X5VWQXK.js → connectors-Dv_uPdv0-2TCNQ3TU.js} +1 -1
- package/dist/web/server/{connectors-page-DW75T-uH-EKRHUZ6K.js → connectors-page-DW75T-uH-BR36R6FT.js} +2 -2
- package/dist/web/server/{create-project-dialog-CSZHeLNg-EEW3DRTY.js → create-project-dialog-aCD1v__i-37Y2AYF7.js} +3 -3
- package/dist/web/server/{openui-renderer-BkDeIpwC-S5BOLH5L.js → openui-renderer-DNl7TU3v-LAP3OM5H.js} +3 -3
- package/dist/web/server/{resources-panel-tCQCqEQv-NJO5FRHW.js → resources-panel-Dtm8nlrt-PMS7NWKW.js} +4 -4
- package/dist/web/server/{router-DBc-HYGW-CC6DTCFR.js → router-CFtn3QOM-3WK4R4UB.js} +2 -2
- package/dist/web/server/{routes-CcRh_tDy-M7ZRBLVA.js → routes-CpT-KFt7-F6WEPWF6.js} +2 -2
- package/dist/web/server/server.js +1415 -1004
- package/dist/web/server/{session-activity-panel-CS56rTyW-J4GAZSTC.js → session-activity-panel-Dr9Q0Wmd-2F7ZYCAY.js} +4 -4
- package/dist/web/server/{session-reasoning-panel-DlqaQNE2-RMOBVYVD.js → session-reasoning-panel-BFyfdmnZ-AQBC4WAL.js} +3 -3
- package/dist/web/server/{session-tool-renderer-CHYJwJej-Z3K5TRIZ.js → session-tool-renderer-DHu5tv0A-YFP7I2UC.js} +3 -3
- package/dist/web/server/{session-tree-panel-B2GT3Hf_-WGHVVRRR.js → session-tree-panel-BkMTm2QF-K56UQR2K.js} +3 -3
- package/dist/web/server/{settings-dialog-7V9x-CPC-6IEB2DFH.js → settings-dialog-1Zr_EiEd-GDE4IXK2.js} +4 -4
- package/dist/web/server/{subagent-chat-panel-Cjg1oOFO-PNWSFYNA.js → subagent-chat-panel-BCm1x_mR-HY6QEHEF.js} +6 -6
- package/dist/web/server/{subagents-panel-DPfqOHdw-B74PSAMP.js → subagents-panel-3gfZLsTx-7D53UO7K.js} +6 -6
- package/dist/web/server/{workspace-panel-DRaU8AWD-7AYOEM55.js → workspace-panel-BeSOuvp7-7N3CAG2K.js} +4 -4
- package/package.json +1 -1
- package/dist/web/client/assets/index-D3OD2pV7.js +0 -13
|
@@ -11,4 +11,4 @@ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{t}from"./react-Cvdyeg_
|
|
|
11
11
|
|
|
12
12
|
`)}function Pc({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=Tc(n());if(!r)return{ok:!1,error:`No active session — start a new one first.`};try{let n=await fetch(Cc,{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(di.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),di.success(`Model set to ${r.modelKey}`),!0):(d(!1),p(!0),!0);case`open-effort-picker`:return r.unknownLevel&&di.error(`Unknown thinking level '${r.unknownLevel}'.`),p(!1),d(!0),!0;case`set-thinking-level`:{let e=a.find(e=>e.id===i),t=Bn(e);return t.includes(r.level)?(m(r.level),di.success(`Effort set to ${Rn(r.level)}`),!0):(di.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 ds(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=Tc(n()),r=await v(`session`);if(!r.ok||!t){e(Ec({sessionId:t??`none`,name:null}));return}e(Ec({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)?jc(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(Ac(n.tree,n.leafId??null))})(),!0;case`session-share`:return(async()=>{let n=Nc(t());if(!n.trim()){e(`Nothing to share yet.`);return}await navigator.clipboard.writeText(n),di.success(`Transcript copied`),e(`Copied the transcript to the clipboard. GitHub Gist upload is TUI-only in this port.`)})().catch(e=>{di.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(wc),!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=Mc(t());if(!e){di.error(`No assistant message to copy`);return}await navigator.clipboard.writeText(e),di.success(`Last assistant message copied`)})().catch(e=>{di.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(Vs(e))return!1;let t=Ls(e.id);return t?b(t):!1},[b]),S=(0,X.useCallback)(e=>{let t=Fs(e);if(t){let e=Ls(t.command,t.args);return e?b(e):!1}let n=g?.(e);if(!n?.command)return!1;let r=Ps(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 Fc={steering:[],followUp:[]},Ic=Object.freeze({revision:0,userBash:[],rlmChildren:[],refinements:[],artifactRuns:[]});function Lc(e){let t=e.sessionId?.trim()||void 0,n=e.projectId?.trim()||void 0;return t||n?{...t?{sessionId:t}:{},...n?{projectId:n}:{}}:{}}function Rc(e,t){let n=t.sessionId?.trim()||e.sessionId,r=t.projectId?.trim()||e.projectId;return{...n?{sessionId:n}:{},...r?{projectId:r}:{}}}function zc(e){return(e.parts??[]).some(e=>e.type!==`text`||typeof e.text==`string`&&e.text.trim().length>0)}function Bc(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,cc(`assistant`,``,t)]}}}function Vc(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?t:e):[...e,t]}function Hc(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 Uc(e,t,n){if(!zc(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=>zc(e));if(r)return Vc(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 Wc(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:Fc,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=Bc(e,t.message.id);return{assistantId:n.assistantId,snapshot:{...n.snapshot,messages:Uc(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,cc(`assistant`,``,t.id)],sessionMetadata:Rc(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`?Bc(e,t.messageId):e,{assistantId:r,snapshot:i}=n;if(t.type===`reasoning_text`&&r)return{assistantId:r,snapshot:{...i,messages:_c(i.messages,r,t)}};if(t.type===`delta`&&r)return{assistantId:r,snapshot:{...i,messages:gc(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:bc(i.messages,r,t.presentation)}};if(t.type===`tool`&&r)return{assistantId:r,snapshot:{...i,messages:vc(i.messages,r,t.part)}};if(t.type===`payload`&&r)return{assistantId:r,snapshot:{...i,messages:yc(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=xc(t.message),n=Hc(i.messages,e,r),a=Uc(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=>xc(e)),queue:Fc,presentation:o,sessionMetadata:Rc(i.sessionMetadata,{sessionId:t.sessionId})}}}return n}var Gc=`plan-mode-decision`;function Kc(e,t){return{enabled:e.mode===`plan`,executing:e.executing,todos:e.todos.map(e=>({...e})),pendingDecision:e.pendingDecision,pendingDecisionToolCallId:e.pendingDecision?`${Gc}-${t}`:void 0}}function qc(e,t){return Jc(e,Kc(t,e))}function Jc(e,t){if(t.todos.length===0)return;let n=Xc(t),r=t.pendingDecision?`awaiting_approval`:n.total>0&&n.completed===n.total?`completed`:`approved`;return{type:`tool-PlanWrite`,toolCallId:t.pendingDecisionToolCallId??`${Gc}-${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:Zc(t),status:r,todos:n.todos}}}}function Yc(e){return!!e?.startsWith(Gc)}function Xc(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 Zc(e){let t=Xc(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 Qc(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?qc(e.id,t.state):void 0;return r?{...e,parts:pc(e.parts,r)}:e})}function $c(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 el(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 tl(e,t,n){if(!Yc(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:el(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 nl(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 rl(e){e.setSessionMetadataSynced({}),e.setMessagesSynced([]),e.setQueueSynced(Fc),e.setActivityLabelSynced(void 0),e.setPlanLabelSynced(void 0),e.setPresentationSynced(Ic),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 il(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`),us(t)}return!0}async function al(e,t,n){return il(e,c,t,n)}async function ol(e,t,n){return il(e,M,t,n)}function sl({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(Fc),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(Qc(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 al(e,r,t)||await ol(e,r,t)||p.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));o(n),f(`error`),us(n)}).finally(()=>{m=!0}),()=>{p.abort(),m||(n.current=!1)}},[e,t,n,r,i,a,o,s,c,l,u,d,f])}function cl({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,_=Tr(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?wr(t,JSON.stringify({generation:n,lastEventId:e}),`session`):wr(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=Ar.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=kr.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:pc(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=>_c(t.some(t=>t.id===e)?t:[...t,cc(`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=>bc(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(Qc(e.messages,e.planPresentations)),c(e.presentation),d(e.session),u(Fc))}).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 ll(){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 ul(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 dl=Promise.resolve();function fl({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)(dl),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(Qc(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=Wc({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(Qc(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(Qc(r.messages,r.planPresentations)),p(void 0),m(n),x(`error`),!1;await ul(o)}catch{if(!l())return!1;if(c+=1,c>=3)break;p(`Refreshing conversation…`),await ul(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]),ee=(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]),B=(0,X.useCallback)(async(e,n=`steer`,r)=>{let a=d.current.sessionId??(await ee()).sessionId;if(!a)throw Error(`Unable to queue a message without a session`);let o=lc(e);g(e=>[...e,o]),m(null);let s=T.current,c=ll(),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=>dc(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=>uc(e,o.id)),e}try{await u()}catch{}});T.current=c.promise.catch(()=>void 0),await l},[t,ee,N,i,u,d,p,m,g,y]);return{cancelStreamRecovery:M,enqueueDuringStream:B,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 B(_,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),us(t),!1}m(null),p(void 0),x(`submitted`);let v=lc(_);g(e=>[...e,v]);let y={current:null},b=ll();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 ee(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=>dc(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=>uc(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 al(e,l,t)||await ol(e,l,t))return!1;let n=e instanceof Error?e:Error(String(e));return m(n),x(`error`),us(n),!1}finally{w.current.delete(b)&&b.reject(Error(`Chat stream ended before admission`)),C.signal.aborted&&!D&&g(e=>uc(e,v.id)),a.current===C&&(a.current=null),T&&C&&f.current.get(T)===C&&f.current.delete(T)}},[t,ee,B,N,R,i,a,l,z,L,u,d,p,m,g,x,f,S]),setAdapterCapabilities:I,streamRecoveryRef:A}}function pl(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)(Fc),[S,C]=(0,X.useState)(()=>Ic),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),ee=(0,X.useRef)(!1),B=(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=Lc(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 J=(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]),re=(0,X.useCallback)(e=>rl({client:n,projectId:e??T.current,refreshSessions:J,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l}),[n,J,U,V,W,K,G,H]),ie=(0,X.useCallback)(async({toolCallId:e,answer:t})=>{if(Yc(e)){let r=tl(E.current,e,t);V(r);let i=$c(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 B.current({text:`Execute the approved plan.`,mode:`agent`,planAction:`execute`,openUI:!0});let t=$c(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 B.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 B.current({text:r.message,planAction:r.planAction}),r},[n,V]),ae=(0,X.useCallback)(e=>nl(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()}},[]),sl({client:n,initialSessionMetadataRef:w,initializedRef:ee,recoverFromForbiddenSession:re,refreshSessions:J,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}=fl({activityLabelRef:O,client:n,messagesRef:E,presentationRef:P,model:e,pendingSendControllerRef:F,projectId:a,planLabelRef:k,queueRef:A,recoverFromForbiddenSession:re,refreshSessions:J,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(Fc),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&&us(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(Fc),U(void 0),W(void 0),di.success(`New session started`),await J())},[n,J,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(Qc(r.messages,r.planPresentations)),K(r.presentation),G(Fc),U(r.sessionReset?`Started a fresh Pi session`:void 0),W(void 0),l(I.current.has(r.session.sessionId??``)?`streaming`:`ready`),await J(),!i()))}catch(t){if(!i())return!1;let n={setError:d,setStatus:l},r=()=>re(e.projectId),a=await al(t,r,n)||await ol(t,r,n);if(!i()||a)return!1;let o=t instanceof Error?t:Error(String(t));return d(o),l(`error`),us(o),!1}},[n,re,J,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(Ic),G(Fc),U(void 0),W(void 0),l(`ready`),!0),[oe,he,U,V,W,K,G,H,ne]);(0,X.useEffect)(()=>{B.current=ce},[ce]),cl({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 J(),!0}catch(e){return us(e),!1}},[n,J]),ye=(0,X.useCallback)(async e=>{D.current.sessionId===e&&Y();try{await n.deleteSession(e)}catch(e){return us(e),!1}return D.current.sessionId===e&&(H({}),V([]),K(Ic)),await J(),!0},[n,J,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:J,resumeSession:he,sendMessage:ce,sessionMetadata:f,sessions:m,setError:d,startNewSession:me,status:c,stop:Y,switchProject:ge}}function ml(e){let t=window.matchMedia(jn);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function hl(){return window.matchMedia(jn).matches}function gl(){return!1}function _l(){return(0,X.useSyncExternalStore)(ml,hl,gl)}var vl=`b`,yl={duration:.36,ease:te},bl={type:`spring`,stiffness:380,damping:35,mass:.75},xl={duration:.16,ease:B},Sl=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`),Cl=(0,X.createContext)(null),wl=(0,X.createContext)(null);function Tl(){let e=(0,X.useContext)(Cl);if(!e)throw Error(`useAnimatedSidebar must be used inside AnimatedSidebarProvider.`);return e}function El(){let e=(0,X.useContext)(wl);if(!e)throw Error(`Animated Sidebar parts must be used inside AnimatedSidebar.`);return e}function Dl({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=_l(),h=W()??!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()===vl&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,Z.jsx)(Cl.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 Ol({children:e,className:t,sidebarWidth:n=wn,style:r,...i}){return(0,Z.jsx)(Dl,{...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 kl({ariaLabel:e,children:t,className:n,side:r}){let i=Tl(),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(Sl)??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,Ui.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)(R.button,{type:`button`,"aria-label":`Close sidebar`,tabIndex:i.openMobile?0:-1,initial:!1,animate:{opacity:+!!i.openMobile},transition:i.reduce?xl:yl,onClick:()=>i.setOpenMobile(!1),className:F(`absolute inset-0 bg-black/40`,i.openMobile?`pointer-events-auto`:`pointer-events-none`)}),(0,Z.jsx)(R.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?xl:yl,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(Sl)):[];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)(wl.Provider,{value:c,children:t})})]}),document.body):null}var Al=(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=Tl(),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)(kl,{ariaLabel:r,className:a,side:e,children:i}):(0,Z.jsx)(R.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}:bl,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)(R.div,{initial:!1,animate:{opacity:+!f,x:f?e===`left`?`-120%`:`120%`:`0%`},transition:u.reduce?xl:yl,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)(wl.Provider,{value:h,children:i})})})}),jl=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=Tl(),o=a.isMobile?a.openMobile:a.open;return(0,Z.jsx)(xr,{...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)})}),Ml=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=Tl(),o=El();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)})}),Nl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(R.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)})}),Pl=(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)})}),Fl=(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)})}),Il=(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)})}),Ll=(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)})}),Rl=(0,X.forwardRef)(function({children:e,className:t,...n},r){let{collapsed:i}=El();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})}),zl=(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 Bl({active:e=!1,ariaLabel:t,className:n,title:r,...i}){return(0,Z.jsx)(xr,{...i,type:`button`,variant:`ghost`,size:`compact`,className:F(Yr,e?Qr:Kr,n),"aria-label":t,title:r??t})}var Vl=X.createContext(void 0);function Hl(){let e=X.useContext(Vl);if(e===void 0)throw Error(ce(64));return e}var Ul=`data-activation-direction`,Wl={tabActivationDirection:e=>({[Ul]:e})},Gl=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]=Wr({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=>Kl(_,e),[_]),[x,S]=X.useState(()=>({previousValue:m,tabActivationDirection:`none`})),{previousValue:C,tabActivationDirection:w}=x,T=w,E=!1;C!==m&&(T=ql(C,m,a,_),E=C!=null&&m!=null&&b(m)==null);let D=E?C:m,O=C!==D||w!==T;K(()=>{O&&S({previousValue:D,tabActivationDirection:T})},[D,O,T]);let k=J((e,t)=>{t.activationDirection=ql(m,e,a,_),i?.(e,t),!t.isCanceled&&h(e)}),A=J((e,t)=>{i?.(e,be(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),ee=X.useRef(!1);K(()=>{if(g)return;function e(e,t){h(e),S({previousValue:e,tabActivationDirection:`none`}),A(e,t),L.current=!1}if(_.size===0){ee.current&&m!==null&&!y.current?.isConnected&&e(null,me);return}ee.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=me;r?i=pe:t&&(i=ge),e(n,i);return}r&&F!=null&&(A(m,pe),L.current=!1)},[I,g,A,F,h,_,m]);let B=ie(`div`,e,{state:{orientation:a,tabActivationDirection:T},ref:t,props:l,stateAttributesMapping:Wl});return(0,Z.jsx)(Vl.Provider,{value:P,children:(0,Z.jsx)(It,{elementsRef:d,children:B})})});function Kl(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function ql(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=Kl(r,e),c=Kl(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 Jl=`data-composite-item-active`;function Yl(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=se(),{ref:i,index:a}=Nt(e),o=n===a,s=X.useRef(null),c=oe(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 Xl=X.createContext(void 0);function Zl(){let e=X.useContext(Xl);if(e===void 0)throw Error(ce(65));return e}var Ql=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}=Hl(),{activateOnFocus:h,registerTabResizeObserverElement:g,tabsListElement:_}=Zl(),{highlightedIndex:v,onHighlightedIndexChange:y}=se(),b=Vt(o),{compositeProps:x,compositeRef:S,index:C}=Yl({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});K(()=>{if(T.current){T.current=!1;return}if(!(w&&C>-1&&v!==C))return;let e=_;if(e!=null){let t=Me(Ce(e));if(t&&Ee(e,t))return}r||y(C)},[w,C,v,y,r,_]);let{getButtonProps:O,buttonRef:k}=ue({disabled:r,native:s,focusableWhenDisabled:!0}),A=d(a),j=X.useRef(!1),M=X.useRef(!1);function N(e){f(a,be(he,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=Ce(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 ie(`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,[Jl]:w?``:void 0,onKeyDownCapture(){T.current=!0}},l,O],stateAttributesMapping:Wl})});function $l(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=re}=e,[p,m]=X.useState(0),h=r!=null,g=X.useRef(null),_=oe(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];lt(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||ke(e,x,d)?S(eu(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(ke(t,x,d)){let e=we(t,{disabledIndices:d});Te(t,e)||S(e)}lt(g.current,r,a,n)});K(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(ke(e,x,d)){let t=we(e,{disabledIndices:d});Te(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(!St.has(e.key)||!l&&o||tu(e,f)||!g.current)return;let s=a===`rtl`,c=s?pt:st,p=s?st:pt,m=n===`vertical`?xt:c,_=n===`vertical`?yt:p,y=De(e.nativeEvent);if(y!=null&&Ct(y)&&!jt(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=je(v,d),T=qe(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=we(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!Te(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=De(e.nativeEvent);!t||n==null||!Ct(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function eu(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(!i||ke(e,r,t))){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function tu(e,t){for(let n of gt)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function nu(e){let{render:t,className:n,style:r,refs:i=re,props:a=re,state:o=G,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}=$l({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:Mt(),disabledIndices:v,modifierKeys:y}),k=ie(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)(le.Provider,{value:A,children:(0,Z.jsx)(It,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var ru=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}=Hl(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);K(()=>{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)(Xl.Provider,{value:S,children:(0,Z.jsx)(nu,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:Wl,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:re})})});function iu({className:e,orientation:t=`horizontal`,...n}){return(0,Z.jsx)(Gl,{"data-slot":`tabs`,"data-orientation":t,className:F(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var au=Sr(`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 ou({className:e,variant:t=`default`,...n}){return(0,Z.jsx)(ru,{"data-slot":`tabs-list`,"data-variant":t,className:F(au({variant:t}),e),...n})}function su({className:e,...t}){return(0,Z.jsx)(Ql,{"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 cu({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i,ariaLabel:a=`Tabs`,width:o=`fill`,density:s=`default`,idPrefix:c,className:l,dataTestid:u}){let d=s===`compact`,f=o===`fill`;return(0,Z.jsxs)(`div`,{className:F(`flex min-w-0 max-w-full items-center`,d?`gap-0.5`:`gap-1`,l),"data-testid":u,children:[(0,Z.jsx)(iu,{className:F(`!flex-row !gap-0 min-w-0`,f?`flex-1`:`w-fit`),onValueChange:e=>{typeof e==`string`&&n(e)},value:t,children:(0,Z.jsx)(ou,{"aria-label":a,activateOnFocus:!0,className:F(`!h-auto !w-fit !max-w-full !justify-start !rounded-none !bg-transparent !p-0`,f?`min-w-0 flex-1`:`flex-none`,d?`!gap-0.5`:`!gap-1`,`overflow-x-auto overscroll-contain [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`),variant:`line`,children:e.map(e=>{let i=e.id===t,a=e.icon,o=e.ariaLabel??(e.statusLabel?`${e.label}, ${e.statusLabel}`:e.label),s=c?`${c}-${encodeURIComponent(e.id)}`:void 0,l=c?`${c}-panel-${encodeURIComponent(e.id)}`:void 0;return(0,Z.jsxs)(`div`,{className:F(`group/tab relative`,f?`min-w-0 max-w-[164px] flex-1 basis-[164px]`:`shrink-0`),"data-tab-id":e.id,children:[(0,Z.jsxs)(su,{"aria-controls":l,"aria-label":o,className:F(`h-7 w-full min-w-0 justify-start text-start text-label font-medium leading-none`,`rounded-[7px] !shadow-none after:hidden`,d?`gap-0.5 !px-1.5`:`gap-1.5 !px-2`,i?`!bg-surface-4 !text-foreground`:`!bg-transparent !text-foreground/45 hover:!bg-foreground/5 hover:!text-foreground/75`,e.closable&&r&&`pe-7`),id:s,onClick:()=>{i&&n(e.id)},value:e.id,children:[a?(0,Z.jsxs)(`span`,{className:F(`flex shrink-0 items-center`,d?`gap-0.5`:`gap-1`),children:[(0,Z.jsx)(a,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),e.badge===void 0?null:(0,Z.jsx)(`span`,{className:`text-caption tabular-nums`,children:e.badge})]}):e.dotClassName?(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:F(`size-1.5 shrink-0 rounded-full`,e.dotClassName)}):null,(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:e.label})]}),e.closable&&r?(0,Z.jsx)(xr,{"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)(br,{"aria-hidden":`true`,className:`size-3`})}):null]},e.id)})})}),i?(0,Z.jsx)(xr,{"aria-label":`New chat`,className:F(Xr,`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)(mr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})}function lu({compact:e=!1}={}){let{reopenRightPanel:t,rightPanel:n}=pi();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`min-[960px]:hidden`,children:(0,Z.jsx)(uu,{compact:e,idPrefix:`right-panel-mobile`})}),(0,Z.jsx)(`div`,{className:`hidden min-[960px]:block`,children:n===null?(0,Z.jsx)(du,{compact:e,onOpen:t}):null})]})}function uu({compact:e=!1,idPrefix:t=`right-panel`}){let{artifactRuns:n,transcriptSummary:r,rightPanel:i,setRightPanel:a,resources:o}=pi(),{workspaceTree:s}=fi();return(0,Z.jsx)(fu,{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 du({compact:e=!1,onOpen:t}){return(0,Z.jsx)(Bl,{ariaLabel:`Open side panel`,className:e?`!size-7 !rounded-[7px] !px-0`:`size-9 justify-center px-0`,onClick:t,children:(0,Z.jsx)(fa,{className:`size-4`})})}function fu({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=Kt(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)(()=>lr.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)(pu,{"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 pu({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]),h=(0,X.useMemo)(()=>o.map(e=>({id:e.id,label:e.title,icon:e.icon,badge:e.badge,ariaLabel:e.ariaLabel})),[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)(Lt,{"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)(cu,{ariaLabel:`Panel views`,className:`w-fit max-w-full`,dataTestid:`${r}-tabs`,density:`compact`,onValueChange:m,tabs:h,value:e,width:`fit`}),(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)(cu,{ariaLabel:`Panel views`,className:`w-max max-w-none`,density:`compact`,onValueChange:()=>void 0,tabs:h,value:e,width:`fit`})})]})}function mu({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))] ${ti} backdrop:bg-black/20 ${An}`,"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)(xr,{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)(br,{"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}var hu=`agent-tab`;function gu(e){return`${hu}-${encodeURIComponent(e)}`}function _u(e){return`${hu}-panel-${encodeURIComponent(e)}`}function vu(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 yu(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 bu({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i}){let a=(0,X.useMemo)(()=>e.map(e=>({id:e.id,label:e.label,icon:e.kind===`activity`?Gt:e.kind===`main`?qt:void 0,dotClassName:e.kind===`subagent`?yu(e.status):void 0,statusLabel:vu(e.status),closable:e.kind===`subagent`&&!!r})),[e,r]);return(0,Z.jsx)(cu,{ariaLabel:`Agent conversations`,dataTestid:`agent-tab-bar`,idPrefix:hu,onClose:r,onNewSession:i,onValueChange:n,tabs:a,value:t})}var xu=`https://docs.qredence.ai`;function Su({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 Cu({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)(vo,{side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(Bl,{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)(Su,{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)(Qt,{className:`size-3.5 shrink-0 text-foreground/35`})]}),children:[(0,Z.jsxs)(`a`,{href:xu,target:`_blank`,rel:`noreferrer`,className:i,children:[(0,Z.jsx)(ea,{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)(Jt,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Settings`})]})]})})}function wu({activeTabId:e,tabs:t,onCloseTab:n,onNewSession:r,onSelectTab:i,onOpenSettings:a}){return s(),{left:(0,Z.jsx)(jl,{"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)(Cu,{className:`w-full`,label:`Qredence`,onOpenSettings:a}),center:(0,Z.jsx)(bu,{tabs:t,value:e,onValueChange:i,onClose:n,onNewSession:r}),right:(0,Z.jsx)(lu,{compact:!0})}}function Tu(){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 Eu=(0,X.lazy)(()=>Dr(async()=>{let{ChatCommandPalette:e}=await import(`./chat-command-palette-CKGrP-Ke.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}))),Du=(0,X.lazy)(()=>Dr(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}))),Ou=(0,X.lazy)(()=>Dr(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 ku({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)(Eu,{open:!0,onOpenChange:n.setCommandPaletteOpen,onNewSession:()=>ds(()=>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 Au({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)(Du,{open:o,onOpenChange:f,initialTab:s})}):null,u?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Ou,{entries:n,onOpenChange:e=>{e||r(null)},onPick:t})}):null]})}var ju=`fleet-prime:v1:right-panel-width`,Mu=`fleet-prime:v1:theme-preference`;function Nu(){return typeof window>`u`?320:Fu(Math.floor(window.innerWidth*On))}function Pu(){if(typeof window>`u`)return 320;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize),t=Tn(Number.isFinite(e)&&e>0?e:16);return Math.max(320,window.innerWidth-t-360)}function Fu(e){return Math.min(Pu(),Math.max(320,Math.round(e)))}function Iu(){return Mn(ju,Nu(),Fu)}function Lu(e){En(ju,Fu(e))}function Ru(){if(typeof window>`u`)return`system`;let e=Tr(Mu);return e===`light`||e===`dark`||e===`system`?e:`system`}function zu(e){wr(Mu,e)}function Bu(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 Vu=`fleet:chat:model-selection`;function Hu(e,t){let{sessionMetadata:n,setSessionMetadata:r}=t,i=(0,X.useMemo)(()=>e?.models.map(zn)??[],[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)(()=>Ru()),[S,C]=(0,X.useState)(()=>Iu());(0,X.useEffect)(()=>{o(Tr(Vu,`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&&wr(Vu,a,`session`)},[a,s]),(0,X.useEffect)(()=>{let t=i.find(e=>e.id===a);if(!t)return;let n=Bn(t);u(t=>Ln(t??e?.defaultThinkingLevel,n))},[i,a,e?.defaultThinkingLevel]),(0,X.useEffect)(()=>{if(Bu(b),b!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>Bu(`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=Nu();C(t),Lu(t)},[d]),(0,X.useEffect)(()=>{d===null&&_(null)},[d]),(0,X.useEffect)(()=>{if(!d)return;let e=()=>{C(e=>{let t=Fu(e);return Lu(t),t})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[d]);let T=(0,X.useCallback)(e=>{x(e),zu(e),Bu(e)},[]),E=(0,X.useCallback)(e=>{let t=Fu(e);C(t),Lu(t)},[]),D=(0,X.useCallback)(e=>{kn({event:e,startWidth:S,getNextWidth:(e,t,n)=>Fu(n-(e-t)),onWidthChange:e=>{C(e),Lu(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=ci(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=ci(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=Ln(l??e?.defaultThinkingLevel,Bn(P)),I=(0,X.useCallback)(e=>{let t=i.find(e=>e.id===a);u(Ln(e,Bn(t)))},[a,i]);return{commandPaletteOpen:v,handleResourceCanvasResizeStart:D,handleResourceCanvasWidthChange:E,handleThemePreferenceChange:T,initialSessionMetadata:n,modelKey:a,modelSelection:(0,X.useMemo)(()=>Pn(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 Uu=/^root\s*=\s*([A-Za-z][A-Za-z0-9]*)/,Wu=/"((?:\\.|[^"\\]){1,80})"/;function Gu(e){return Wu.exec(e)?.[1]??Uu.exec(e)?.[1]??`Interface`}function Ku(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 Gr(e.text))r.type===`openui`&&t.push({blockId:`${n.id}:${r.id}`,content:r.content,component:Gu(r.content),ordinal:t.length+1})}return t}function qu(e){let t=0,n=0;for(let r of e)r.role===`assistant`?t+=1:n+=1;return{assistantMessageCount:t,openUIBlocks:Ku(e),userMessageCount:n}}function Ju(e){return e===`streaming`||e===`submitted`}function Yu(e,t,n){let r=Ju(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 Xu(e,t,n){let r=Ju(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(()=>qu(e)),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);s!==n&&(c(n),o(qu(e))),l!==r&&(u(r),r&&o(qu(e))),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(qu(i.current))},250);return()=>window.clearInterval(e)},[r]);let d=(0,X.useMemo)(()=>qu(e),[e]);return r?a:d}function Zu({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:ee,selectedWorkspacePath:B,setRightPanel:V,setSelectedWorkspacePath:te,settings:H,settingsError:U,settingsLoading:W,status:G,thinkingLevel:ne,themePreference:K,workspaceError:q,workspaceLoading:J,workspaceTree:re,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}){let de=Xu(m,G,ee??``),fe=Yu(t,G,ee??``),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:ee,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,ee,V,G,ne,ie,ae,oe,se,ce,le,ue,Y]),me=(0,X.useMemo)(()=>({loadWorkspaceFile:p,openWorkspacePath:T,refreshWorkspace:M,selectedWorkspacePath:B,setSelectedWorkspacePath:te,workspaceError:q,workspaceLoading:J,workspaceTree:re}),[p,T,M,B,te,q,J,re]);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 Qu(e){return e===`running`||e===`recovering`?`streaming`:e===`error`||e===`failed`?`error`:`ready`}function $u(){return{status:`ready`,loading:!1,messages:[]}}function ed(e){return{assistantId:null,snapshot:{messages:e.messages,presentation:e.presentation,queue:Fc,sessionMetadata:e.session}}}function td(e){return typeof e==`object`&&!!e&&e.type===`connected`&&typeof e.sessionId==`string`}function nd(e){try{let t=Tr(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){Cr(e,`session`);return}return{generation:n.generation,lastEventId:n.lastEventId}}catch{Cr(e,`session`);return}}function rd({client:e,enabled:t,child:n,loadSession:r,parentSessionId:i}){let[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)($u),[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=lc(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=ed(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:uc(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($u());return}let s=!1,d=null,m=null,x=0,S=!1,C=0,w,T=!1,E=Qu(v),D=`pi:sse:cursor:subagent:${`${i}:${g}:${_??``}`}`,O=nd(D);O&&(w=O.generation,C=O.lastEventId);let k=()=>{if(!w){Cr(D,`session`);return}wr(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=ed(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(td(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(Ar,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=Wc(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 id={dismissedChildIds:new Set,scopeKey:``,selectedTabId:`main`};function ad(e,t){return e.scopeKey===t?e:{dismissedChildIds:new Set,scopeKey:t,selectedTabId:`main`}}function od(e,t){return ad(e,t)}function sd(e,t){if(t.type===`scope`)return ad(e,t.scopeKey);let n=ad(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 cd(e){return In(e.sessionName?.trim()||e.label)||`Subagent`}function ld({activeProjectId:e,loadSubagentSession:t,presentation:n,rootSessionId:r,client:i=j}){let a=`${e??``}:${r??``}`,[o,s]=(0,X.useReducer)(sd,id);(0,X.useEffect)(()=>{s({type:`scope`,scopeKey:a})},[a]);let{dismissedChildIds:c,selectedTabId:l}=od(o,a),u=(0,X.useMemo)(()=>tn(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:cd(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:rd({client:i,child:p,enabled:f!==`main`&&!!p,loadSession:t,parentSessionId:r}),openChildTab:g,selectedChild:p,selectTab:m,tabs:d}}function ud({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 dd=15e3;async function fd(e,t,n){let r=typeof AbortSignal.timeout==`function`?AbortSignal.timeout(dd):void 0,i=n&&r&&typeof AbortSignal.any==`function`?AbortSignal.any([n,r]):n??r;return j.getWorkspaceFile(e,t,i)}function pd(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 md(){let{forkPickerEntries:e,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a}=Tu(),{chatMode:o,effortPickerOpen:s,modelPickerOpen:c,setChatMode:u,setEffortPickerOpen:d,setModelPickerOpen:f,setUploadedAttachments:h,setWorkspaceAttachments:k,uploadedAttachments:M,workspaceAttachments:P}=fs(),F=Xs(),[I,L]=(0,X.useState)(F.sessionMetadata.projectId??void 0),{data:R,isLoading:z}=O(),{data:ee,isLoading:B}=D(),{data:V,refetch:te}=T(),{mutateAsync:H,isPending:U}=C(),{mutateAsync:W,isPending:G}=v(),{mutateAsync:ne,isPending:K}=y(),{mutateAsync:q,isPending:J}=E(),{mutateAsync:re}=_(),{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}=Hu(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=pd(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}=pl(fe,{initialSessionMetadata:Y,projectId:I,persistSession:_e}),_t=(0,X.useMemo)(()=>Pr(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}=sc({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=Nn(st)??Je??it;Js(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(),us(e)},[gt]));let Lt=tc({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)(()=>Hs(Ue,Fe?.effective.enableSkillCommands??!1,Pe),[Pe,Ue,Fe]),Vt=(0,X.useMemo)(()=>Gs(We),[We]),Ht=(0,X.useCallback)(e=>{if(e.projectId&&e.projectId!==I){di.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=>us(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=ks(),{onDraftChange:qt,takeCached:Jt,command:Yt,dismissCommand:Xt}=Os(Kt.available),{onDraftChange:Zt,inlineCompletion:Qt}=bs({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}=Pc({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(zn)??pe,[ae,pe]),cn=(0,X.useCallback)((e,t)=>fd(e,I,t),[I]),ln=(0,X.useCallback)(e=>j.loadSession(e),[]),un=(0,X.useCallback)((e,t)=>j.loadSubagentSession(e,t),[]),dn=ld({activeProjectId:I,loadSubagentSession:un,presentation:ot,rootSessionId:dt.sessionId}),fn=ud({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(zn)},[oe]),{chatPanelData:mn,settingsActions:hn,workspaceTreeContext:gn}=Zu({activityLabel:Je,artifactRuns:_t,chatMode:o,composerIntent:Kt,onComposerIntentChange:an,onComposerIntentKeyChange:on,handleThemePreferenceChange:ue,isLoadingMcp:B,isLoadingProviders:z,isUpdatingMcp:K||J,isUpdatingProvider:U||G,loadSession:ln,loadSubagentSession:un,loadWorkspaceFile:cn,messages:rt,onOpenSubagentTab:dn.openChildTab,modelKey:de,models:pe,modelCatalog:sn,onDiscoverModels:pn,onMcpOAuth:re,onRemoveMcp:q,onRemoveProvider:W,onUpdateMcp:ne,onUpdateProvider:H,openWorkspacePath:he,planLabel:it,presentation:ot,mcpConnections:ee?.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=wu({activeTabId:dn.activeTabId,tabs:dn.tabs,onCloseTab:dn.closeTab,onNewSession:()=>ds(()=>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 hd={"--chat-chrome-top":`52px`,"--chat-header-height":`var(--density-header-height, 44px)`,"--chat-header-top":`0px`};function gd({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:hd,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(Zr,`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 _d=`fleet-prime:v1:panel-keybindings`,vd={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 yd(){try{let e=Tr(_d);if(!e)return vd;let t=JSON.parse(e);return{...vd,...t}}catch{return vd}}function bd(e,t){return e.code===t.code&&(e.ctrlKey||e.metaKey)===!!t.ctrlOrMeta&&e.shiftKey===!!t.shift&&e.altKey===!!t.alt}function xd(){document.querySelector(`[data-fleet-chat-focus] textarea, [data-fleet-chat-focus] [contenteditable='true'], [data-fleet-chat-focus] input`)?.focus({preventScroll:!0})}function Sd({onCommandPaletteToggle:e,onClosePanel:t,rightPanel:n,setRightPanel:r}){(0,X.useEffect)(()=>{let i=yd(),a=a=>{let o=e=>bd(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),xd()):n&&o(`focusPanel`)?document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0}):o(`focusChat`)?xd():s=!1,s&&(a.preventDefault(),a.stopPropagation())};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,n,r])}function Cd({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=W(),m=(0,X.useRef)(null);(0,X.useEffect)(()=>{c&&m.current?.focus({preventScroll:!0})},[c]);let h=Pu();return(0,Z.jsx)(U,{children:c&&(0,Z.jsxs)(R.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?.(Fu(f+16))):e.key===`ArrowRight`?(e.preventDefault(),s?.(Fu(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)(xr,{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)(hr,{"data-icon":`inline-start`,className:`size-3.5 ${r?`animate-spin`:``}`})}),(0,Z.jsx)(xr,{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)(br,{"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 wd=`(min-width: 960px)`,Td={resources:`Skills`,workspace:`Files`,artifacts:`Artifacts`,repl:`REPL`,subagents:`Subagents`,"session-insights":`Insights`,"session-tree":`Tree`};function Ed(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>void 0;let t=window.matchMedia(wd);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Dd(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(wd).matches}function Od(){return!1}function kd(){return(0,X.useSyncExternalStore)(Ed,Dd,Od)}function Ad({handleResourceCanvasResizeStart:e,onClose:t,resourceCanvasWidth:n,onResourceCanvasWidthChange:r}){let i=pi(),a=fi(),{rightPanel:o,setRightPanel:s}=i,c=o!==null,l=kd(),u=o?ur(o):null,d=u?.component,f=o?cr(o):void 0,p=(0,X.useMemo)(()=>f&&f.panels.length>1?f.panels.map(e=>({id:e,label:Td[e]})):[],[f]),m=(0,Z.jsxs)(Z.Fragment,{children:[p.length>0?(0,Z.jsx)(cu,{ariaLabel:`${f?.title??`Panel`} views`,className:`mb-3 w-fit`,onValueChange:e=>{let t=p.find(t=>t.id===e)?.id;t&&s(t)},tabs:p,value:o,width:`fit`}):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)(Cd,{dataTestid:u?.dataTestid,headerLeading:(0,Z.jsx)(uu,{compact:!0,idPrefix:`right-panel-desktop`}),loading:h,onClose:t,onRefresh:g,onResizeStart:e,onWidthChange:r,open:c,title:u?.title??``,titleIcon:u?.icon??sr,width:n,children:m}):(0,Z.jsx)(mu,{dataTestid:u?.mobileDataTestid,icon:u?.icon,onClose:t,open:c,title:u?.title??``,children:m})})}function jd({session:e,onClose:t,onRenameSession:n}){let[r,i]=(0,X.useState)(()=>Gn(e));return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Rename session`}),(0,Z.jsx)(hi,{children:`Choose a local display title for this Fleet Prime session.`}),(0,Z.jsx)(Fr,{value:r,onChange:e=>i(e.target.value),"aria-label":`Session title`,autoFocus:!0}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{disabled:!r.trim(),onClick:()=>{r.trim()&&(n(e.sessionId,r.trim()),t())},children:`Rename`})]})]})})}function Md({project:e,onClose:t,onRenameProject:n}){let[r,i]=(0,X.useState)(e.name);return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Rename project`}),(0,Z.jsx)(hi,{children:`This changes the display name only. The registered directory stays the same.`}),(0,Z.jsx)(Fr,{value:r,onChange:e=>i(e.target.value),"aria-label":`Project name`,autoFocus:!0}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{disabled:!r.trim()||!n,onClick:()=>{r.trim()&&(n?.(e.projectId,r.trim()),t())},children:`Rename`})]})]})})}function Nd({session:e,onClose:t,onDeleteSession:n}){return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Delete session?`}),(0,Z.jsx)(hi,{children:`This removes the Fleet Prime session and its managed session artifacts. This cannot be undone.`}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n(e.sessionId),t()},children:`Delete`})]})]})})}function Pd({project:e,onClose:t,onUnregisterProject:n}){return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Unregister project?`}),(0,Z.jsx)(hi,{children:`The directory and its sessions remain intact. Existing sessions will move to Unassigned until the directory is registered again.`}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n?.(e.projectId),t()},children:`Unregister`})]})]})})}function Fd({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)(jd,{session:e.session,onClose:t,onRenameSession:n});case`rename-project`:return(0,Z.jsx)(Md,{project:e.project,onClose:t,onRenameProject:i});case`delete-session`:return(0,Z.jsx)(Nd,{session:e.session,onClose:t,onDeleteSession:r});case`unregister-project`:return(0,Z.jsx)(Pd,{project:e.project,onClose:t,onUnregisterProject:a});case`create-project`:return null}}function Id(){return()=>{}}function Ld(){return!0}function Rd(){return!1}function zd(){return(0,X.useSyncExternalStore)(Id,Ld,Rd)}var Bd=5,Vd=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Hd(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 Ud({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)(U,{initial:!1,children:i?(0,Z.jsx)(R.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)(U,{initial:!1,children:i?(0,Z.jsxs)(R.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)(br,{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)(R.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 Wd({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=W(),g=ui(),_=(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=zd(),[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,Bd),z=h?{duration:0}:ee,B=`${r} ${i}${r===1?``:`s`}`,te=(0,X.useCallback)(e=>{f||(M||D(e),s?.(e))},[f,s,M]),H=(0,X.useCallback)(e=>{f||L.length===0||(N||k(e),u?.(e))},[f,N,u,L.length]),G=(0,X.useCallback)(()=>{j(!1),x.current=!0,requestAnimationFrame(()=>S.current?.focus())},[]),ne=(0,X.useCallback)(()=>{j(!0),te(!1),H(!1)},[H,te]),K=(0,X.useEffectEvent)(ne);(0,X.useEffect)(()=>{h&&A&&G()},[G,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(Vd)).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),H(!0),te(!0),d?.()},J=(0,Z.jsx)(Ud,{title:e,countText:B,dialogTitleId:v,previewItems:L,isExpanded:P,isClosing:A,reduce:h??!1,transition:z,dialogRef:w,closeButtonRef:C,closeOverlay:ne});return(0,Z.jsxs)(ki,{id:_,children:[(0,Z.jsxs)(R.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,te(!0))},onPointerLeave:()=>{g&&(y.current=!1,!P&&!A&&te(b.current))},onFocus:()=>{if(x.current){x.current=!1,b.current=!1;return}b.current=!0,te(!0)},onBlur:()=>{b.current=!1,!P&&!A&&te(y.current)},onClick:q,whileTap:h||f?void 0:{scale:.96},transition:h?{duration:0}:V,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)(R.span,{"aria-hidden":`true`,animate:{rotateX:I&&!h?15:0},transition:z,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)(U,{initial:!1,children:P?null:L.map((e,t)=>{let n=Hd(t,L.length);return(0,Z.jsx)(R.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:z,onLayoutAnimationComplete:()=>{A&&t===0&&G()},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)(R.span,{initial:!1,animate:{rotateX:I&&!h?-25:0},transition:z,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:B}),(0,Z.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:t})]})]})]}),T?(0,Ui.createPortal)(J,document.body):null]})}var Gd=[],Kd=[];function qd(e){return e.kind===`folder`||e.kind===`project`}function Jd(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,...Jd(e.children,t,n+1,e.id)]})}function Yd(e,t,n){return e.map(e=>({...e,label:e.id===t?n:e.label,children:e.children?Yd(e.children,t,n):void 0}))}function Xd(e,t){if(e.kind===`action`)return null;let n=e.kind===`folder`||e.kind===`project`?t?Fn:ir:yn;return(0,Z.jsx)(n,{className:`size-4`})}function Zd({active:e,children:t}){let n=W()??!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)(R.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 Qd({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 $d({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)(pr,{"aria-hidden":`true`,className:`size-3.5`}),`Rename`]});return(0,Z.jsxs)(ho,{open:t,onOpenChange:n,children:[(0,Z.jsx)(go,{render:(0,Z.jsx)(xr,{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)(ca,{"aria-hidden":`true`,className:`size-4`})})}),(0,Z.jsx)(_o,{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 ef(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 tf(e){let t=W()??!1,[n,r]=(0,X.useState)(!1),i=qd(e.row.item),a=e.renderIcon?.(e.row.item),o=a===void 0?Xd(e.row.item,e.expanded):a,{item:s}=e.row;return(0,Z.jsxs)(R.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:ef(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)(Qd,{label:s.label,onCommit:e.onRenameCommit,onCancel:e.onRenameCancel}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Zd,{active:n||e.menuOpen,children:s.label}),e.renderSecondaryAction?.(s),!s.disabled&&s.kind!==`action`&&(0,Z.jsx)($d,{item:s,menuOpen:e.menuOpen,onMenuOpenChange:e.onMenuOpenChange,onRenameStart:e.onRenameStart,renderMenu:e.renderMenu})]})]})}function nf({items:e=Gd,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(Kd)),[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)(()=>Jd(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`&&qd(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(),qd(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)(U,{initial:!1,children:E.map(e=>(0,Z.jsx)(tf,{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(Yd(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 rf(e){return e?.status===`running`?(0,Z.jsx)(dr,{className:`size-3.5 animate-spin`}):e?.status===`failed`?(0,Z.jsx)(yr,{className:`size-3.5 text-destructive`}):e?.status===`interrupted`?(0,Z.jsx)(ia,{className:`size-3.5 text-muted-foreground`}):null}function af({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)(Fl,{className:`gap-0 px-2.5 pb-1 pt-2`,children:(0,Z.jsxs)(Ll,{className:`p-0`,children:[(0,Z.jsxs)(`div`,{className:`relative mb-1 h-8`,children:[(0,Z.jsx)(Rl,{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)(vo,{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(Xr,`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)(ca,{"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)(rr,{"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)(Qt,{"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(Xr,`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)(mr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})]}),(0,Z.jsx)(zl,{children:a.length===0?(0,Z.jsx)(`div`,{className:`px-2 py-4`,children:(0,Z.jsx)(Wd,{title:`Add a project`,description:`Choose a local directory for Fleet Prime.`,count:0,itemLabel:`session`,previews:[{id:`empty-project`,content:(0,Z.jsx)(rr,{className:`size-5 text-muted-foreground`})}],onClick:i,ariaLabel:`Add a project`,className:`w-full`})}):(0,Z.jsx)(nf,{items:s,activeId:l?Vn(l):null,activeContainerId:c?Zn(c):null,expandedIds:n,onExpandedIdsChange:r,onActiveChange:h,onContainerSelect:g,onRename:(e,t)=>{let n=tr(e.id,$n);n&&p(n,t)},renderMenu:_,renderIcon:e=>{if(tr(e.id,`project:`))return(0,Z.jsx)(ir,{className:`size-4`});if(e.id.startsWith(`toggle:`))return e.label===`Show less`?(0,Z.jsx)(pn,{className:`size-4`}):(0,Z.jsx)(Qt,{className:`size-4`});if(e.kind===`action`)return null;let t=tr(e.id,$n);return rf(o.find(e=>e.sessionId===t))},renderSecondaryAction:e=>{let t=tr(e.id,Xn);return!t||t===`unassigned`?null:(0,Z.jsx)(xr,{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)(va,{"data-icon":`inline-start`,className:`size-3.5`})})},className:`px-0`})})]})})}function of({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 sf({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 cf(){try{return`0.10.2`}catch{return`dev`}}function lf(){let e=cf();return(0,Z.jsxs)(Nr,{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 uf(e,t){return e.filter(e=>e.messageCount>0||e.sessionId===t)}function df(e){return e.toSorted((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function ff(e,t,n){let r=df(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 pf(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 mf({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)(ma,{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(Br,`flex w-full max-w-sm flex-col gap-1.5 rounded-2xl p-3`,a),...o,children:[(0,Z.jsxs)(`div`,{className:F(Vr,`flex items-center gap-2 rounded-xl px-2.5 py-1.5`),children:[(0,Z.jsx)(_r,{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(Ir,`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 hf=`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`,gf=`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 _f({icon:e,label:t,onClick:n,href:r,to:a}){return a?(0,Z.jsxs)(i,{to:a,className:hf,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:hf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:hf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]})}function vf({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 yf({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)(()=>df(f).map(e=>({id:e.sessionId,title:Gn(e,f),preview:Kn(e,h),group:nr(e.updatedAt),keywords:e.firstMessage?[In(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)(Al,{ariaLabel:`Fleet projects and sessions`,collapsible:`offcanvas`,variant:`floating`,className:`text-sidebar-foreground`,children:(0,Z.jsxs)(Ur,{value:2,children:[(0,Z.jsxs)(Pl,{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)(vo,{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)(Qt,{className:`size-3.5 text-muted-foreground`})]}),className:`w-52 p-1`,children:[S?(0,Z.jsx)(_f,{icon:rr,label:`Add project`,onClick:()=>{t(!1),u()}}):null,(0,Z.jsx)(_f,{icon:Jt,label:`Settings`,onClick:()=>{t(!1),C?.()}}),(0,Z.jsx)(_f,{label:`Agents`,to:`/agents`}),(0,Z.jsx)(_f,{label:`Connectors`,to:`/connectors`}),(0,Z.jsx)(_f,{icon:ea,label:`Documentation`,href:Yn})]}),(0,Z.jsx)(vo,{open:n,onOpenChange:r,side:`bottom`,align:`end`,className:`w-64 p-0`,trigger:(0,Z.jsx)(xr,{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)(_r,{"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)(mf,{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)(ir,{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)(vf,{children:`↑`}),(0,Z.jsx)(vf,{children:`↓`}),`navigate`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(vf,{children:`↵`}),`open`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(vf,{children:`esc`}),`close`]})]})]})})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:v,className:gf,children:[(0,Z.jsx)(va,{className:`size-4 shrink-0 text-muted-foreground`}),`New chat`]})]}),(0,Z.jsx)(af,{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)(Il,{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:Un,target:`_blank`,rel:`noreferrer`,className:gf,children:[(0,Z.jsx)(of,{className:`size-4 shrink-0 text-muted-foreground`}),`Twitter`]}),(0,Z.jsxs)(`a`,{href:er,target:`_blank`,rel:`noreferrer`,className:gf,children:[(0,Z.jsx)(sf,{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)(lf,{}),(0,Z.jsx)(`a`,{href:Yn,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)(na,{className:`size-4`})})]})]}),(0,Z.jsx)(Ml,{})]})})}function bf(e,t){return t.type===`update`?t.update(e):{...e,[t.field.key]:t.field.value}}function xf(e){let[t,n]=(0,X.useReducer)(bf,e,e=>({brandMenuOpen:!1,projectActionsOpen:!1,searchOpen:!1,query:``,expandedProjectIds:Jn(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 Sf=[[`resources`,`Open Resources`,sr],[`workspace`,`Open Workspace`,ir],[`artifacts`,`Open Artifacts`,fr]];function Cf({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 wf({sessions:e,projects:t=Qn,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)(()=>pf(t,n),[n,t]);(0,X.useEffect)(()=>{if(!r)return;let e=Zn(r);f(t=>t.includes(e)?t:[...t,e])},[r,f]),(0,X.useEffect)(()=>{wr(qn,JSON.stringify(u))},[u]);let v=(0,X.useMemo)(()=>{let e=_.map(e=>{let t=uf(n.filter(t=>t.projectId===e.projectId),i),r=d.has(e.projectId),a=ff(t,i,r),o=a.map(e=>({id:Vn(e.sessionId),label:Gn(e,a),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length===0)o.push({id:Wn(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:Zn(e.projectId),label:e.name,kind:`project`,children:o}}),t=df(uf(n.filter(e=>!e.projectId),i));if(t.length>0){let n=d.has(`unassigned`),r=ff(t,i,n),a=r.map(e=>({id:Vn(e.sessionId),label:Gn(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=tr(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=tr(e,Hn);if(r){y(r);return}let i=tr(e,$n);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=tr(e,`search-project:`);if(t){let e=Zn(t);f(t=>t.includes(e)?t:[...t,e]),s?.(t),m(!1);return}let r=tr(e,`search-session:`),i=r?n.find(e=>e.sessionId===r):void 0;if(i){if(i.projectId){let e=Zn(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=tr(e.id,$n),i=tr(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)(Cf,{icon:pr,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`}),Sf.map(([e,n,r])=>(0,Z.jsx)(Cf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null,(0,Z.jsx)(Cf,{icon:vr,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)(Cf,{icon:pr,label:`Rename project`,onClick:()=>{t.close(),h({kind:`rename-project`,project:e})}}),(0,Z.jsx)(Cf,{icon:wa,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`}),Sf.map(([e,n,r])=>(0,Z.jsx)(Cf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null]}):null}return null},[l,g,n,h])}}var Tf=(0,X.lazy)(()=>Dr(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 Ef({data:e,sessionActions:t,projectActions:n={},navigationActions:r={},slots:i={}}){let{sessions:a,projects:o=Qn,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=xf(c),{projectById:w,sortedProjects:T,sidebarItems:E,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}=wf({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)(yf,{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)(Tf,{open:N,onClose:C.closeDialog,onBrowseDirectories:b,onCreateProject:g})}):null,(0,Z.jsx)(Fd,{activeDialog:C.activeDialog,onClose:C.closeDialog,onRenameSession:p,onDeleteSession:m,onRenameProject:_,onUnregisterProject:v})]})}var Df=(0,X.lazy)(()=>Dr(async()=>{let{SubagentChatPanel:e}=await import(`./subagent-chat-panel-xm-zBsFL.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}))),Of=(0,X.lazy)(()=>Dr(async()=>{let{SessionActivityPanel:e}=await import(`./session-activity-panel-BloVPsLJ.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 kf(){let{session:e,conversation:t,composer:n,panels:r,dialogs:i,chrome:a,agentTabs:o}=md(),s=(0,X.useCallback)(()=>{i.setCommandPaletteOpen(e=>!e)},[i.setCommandPaletteOpen]),c=(0,X.useCallback)(()=>{r.setRightPanel(null),window.requestAnimationFrame(()=>xd())},[r.setRightPanel]);Sd({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),us(e)}})()},[n.chatMode,n.clearUploadedAttachments,n.clearWorkspaceAttachments,n.restoreAttachments,n.uploadedAttachments,n.workspaceAttachments,t.sendMessage]),d=(0,X.useCallback)(e=>{let r=gn(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){di.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)(()=>ds(()=>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=ms(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)(Of,{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)(ls,{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)(Df,{child:o.selectedChild,parentSessionId:e.activeSessionId,state:o.conversation})});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ku,{chrome:a,conversation:t,dialogs:i,panels:r,session:e}),(0,Z.jsxs)(mi,{chatPanelData:r.chatPanelData,onOpenUIAction:d,settingsActions:r.settingsActions,workspaceTree:r.workspaceTreeContext,children:[(0,Z.jsxs)(Ol,{className:`h-svh min-h-0 rounded-none border-0`,children:[(0,Z.jsx)(Ef,{data:p,sessionActions:y,projectActions:b,navigationActions:x,slots:S}),(0,Z.jsx)(Nl,{className:`h-svh min-h-0 overflow-hidden`,children:(0,Z.jsx)(gd,{headerLeft:a.header.left,headerCenter:a.header.center,headerRight:a.header.right,panel:(0,Z.jsx)(mn,{children:(0,Z.jsx)(Ad,{handleResourceCanvasResizeStart:r.handleResourceCanvasResizeStart,onClose:c,onResourceCanvasWidthChange:r.handleResourceCanvasWidthChange,resourceCanvasWidth:r.resourceCanvasWidth})}),children:(0,Z.jsx)(`div`,{"aria-labelledby":gu(o.activeTabId),className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-tab-panel`,id:_u(o.activeTabId),role:`tabpanel`,children:w})})})]}),(0,Z.jsx)(Au,{dialogs:i})]})]})}var Af=kf;export{Af as component};
|
|
14
|
+
`)}function Qc(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?qc(e.id,t.state):void 0;return r?{...e,parts:pc(e.parts,r)}:e})}function $c(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 el(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 tl(e,t,n){if(!Yc(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:el(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 nl(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 rl(e){e.setSessionMetadataSynced({}),e.setMessagesSynced([]),e.setQueueSynced(Fc),e.setActivityLabelSynced(void 0),e.setPlanLabelSynced(void 0),e.setPresentationSynced(Ic),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 il(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`),us(t)}return!0}async function al(e,t,n){return il(e,c,t,n)}async function ol(e,t,n){return il(e,M,t,n)}function sl({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(Fc),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(Qc(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 al(e,r,t)||await ol(e,r,t)||p.signal.aborted)return;let n=e instanceof Error?e:Error(String(e));o(n),f(`error`),us(n)}).finally(()=>{m=!0}),()=>{p.abort(),m||(n.current=!1)}},[e,t,n,r,i,a,o,s,c,l,u,d,f])}function cl({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,_=Tr(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?wr(t,JSON.stringify({generation:n,lastEventId:e}),`session`):wr(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=Ar.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=kr.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:pc(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=>_c(t.some(t=>t.id===e)?t:[...t,cc(`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=>bc(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(Qc(e.messages,e.planPresentations)),c(e.presentation),d(e.session),u(Fc))}).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 ll(){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 ul(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 dl=Promise.resolve();function fl({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)(dl),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(Qc(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=Wc({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(Qc(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(Qc(r.messages,r.planPresentations)),p(void 0),m(n),x(`error`),!1;await ul(o)}catch{if(!l())return!1;if(c+=1,c>=3)break;p(`Refreshing conversation…`),await ul(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]),ee=(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]),B=(0,X.useCallback)(async(e,n=`steer`,r)=>{let a=d.current.sessionId??(await ee()).sessionId;if(!a)throw Error(`Unable to queue a message without a session`);let o=lc(e);g(e=>[...e,o]),m(null);let s=T.current,c=ll(),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=>dc(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=>uc(e,o.id)),e}try{await u()}catch{}});T.current=c.promise.catch(()=>void 0),await l},[t,ee,N,i,u,d,p,m,g,y]);return{cancelStreamRecovery:M,enqueueDuringStream:B,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 B(_,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),us(t),!1}m(null),p(void 0),x(`submitted`);let v=lc(_);g(e=>[...e,v]);let y={current:null},b=ll();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 ee(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=>dc(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=>uc(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 al(e,l,t)||await ol(e,l,t))return!1;let n=e instanceof Error?e:Error(String(e));return m(n),x(`error`),us(n),!1}finally{w.current.delete(b)&&b.reject(Error(`Chat stream ended before admission`)),C.signal.aborted&&!D&&g(e=>uc(e,v.id)),a.current===C&&(a.current=null),T&&C&&f.current.get(T)===C&&f.current.delete(T)}},[t,ee,B,N,R,i,a,l,z,L,u,d,p,m,g,x,f,S]),setAdapterCapabilities:I,streamRecoveryRef:A}}function pl(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)(Fc),[S,C]=(0,X.useState)(()=>Ic),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),ee=(0,X.useRef)(!1),B=(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=Lc(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 J=(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]),re=(0,X.useCallback)(e=>rl({client:n,projectId:e??T.current,refreshSessions:J,setActivityLabelSynced:U,setError:d,setMessagesSynced:V,setPlanLabelSynced:W,setPresentationSynced:K,setQueueSynced:G,setSessionMetadataSynced:H,setStatus:l}),[n,J,U,V,W,K,G,H]),ie=(0,X.useCallback)(async({toolCallId:e,answer:t})=>{if(Yc(e)){let r=tl(E.current,e,t);V(r);let i=$c(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 B.current({text:`Execute the approved plan.`,mode:`agent`,planAction:`execute`,openUI:!0});let t=$c(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 B.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 B.current({text:r.message,planAction:r.planAction}),r},[n,V]),ae=(0,X.useCallback)(e=>nl(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()}},[]),sl({client:n,initialSessionMetadataRef:w,initializedRef:ee,recoverFromForbiddenSession:re,refreshSessions:J,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}=fl({activityLabelRef:O,client:n,messagesRef:E,presentationRef:P,model:e,pendingSendControllerRef:F,projectId:a,planLabelRef:k,queueRef:A,recoverFromForbiddenSession:re,refreshSessions:J,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(Fc),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&&us(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(Fc),U(void 0),W(void 0),di.success(`New session started`),await J())},[n,J,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(Qc(r.messages,r.planPresentations)),K(r.presentation),G(Fc),U(r.sessionReset?`Started a fresh Pi session`:void 0),W(void 0),l(I.current.has(r.session.sessionId??``)?`streaming`:`ready`),await J(),!i()))}catch(t){if(!i())return!1;let n={setError:d,setStatus:l},r=()=>re(e.projectId),a=await al(t,r,n)||await ol(t,r,n);if(!i()||a)return!1;let o=t instanceof Error?t:Error(String(t));return d(o),l(`error`),us(o),!1}},[n,re,J,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(Ic),G(Fc),U(void 0),W(void 0),l(`ready`),!0),[oe,he,U,V,W,K,G,H,ne]);(0,X.useEffect)(()=>{B.current=ce},[ce]),cl({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 J(),!0}catch(e){return us(e),!1}},[n,J]),ye=(0,X.useCallback)(async e=>{D.current.sessionId===e&&Y();try{await n.deleteSession(e)}catch(e){return us(e),!1}return D.current.sessionId===e&&(H({}),V([]),K(Ic)),await J(),!0},[n,J,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:J,resumeSession:he,sendMessage:ce,sessionMetadata:f,sessions:m,setError:d,startNewSession:me,status:c,stop:Y,switchProject:ge}}function ml(e){let t=window.matchMedia(jn);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function hl(){return window.matchMedia(jn).matches}function gl(){return!1}function _l(){return(0,X.useSyncExternalStore)(ml,hl,gl)}var vl=`b`,yl={duration:.36,ease:te},bl={type:`spring`,stiffness:380,damping:35,mass:.75},xl={duration:.16,ease:B},Sl=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex='-1'])`].join(`,`),Cl=(0,X.createContext)(null),wl=(0,X.createContext)(null);function Tl(){let e=(0,X.useContext)(Cl);if(!e)throw Error(`useAnimatedSidebar must be used inside AnimatedSidebarProvider.`);return e}function El(){let e=(0,X.useContext)(wl);if(!e)throw Error(`Animated Sidebar parts must be used inside AnimatedSidebar.`);return e}function Dl({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=_l(),h=W()??!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()===vl&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,Z.jsx)(Cl.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 Ol({children:e,className:t,sidebarWidth:n=wn,style:r,...i}){return(0,Z.jsx)(Dl,{...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 kl({ariaLabel:e,children:t,className:n,side:r}){let i=Tl(),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(Sl)??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,Ui.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)(R.button,{type:`button`,"aria-label":`Close sidebar`,tabIndex:i.openMobile?0:-1,initial:!1,animate:{opacity:+!!i.openMobile},transition:i.reduce?xl:yl,onClick:()=>i.setOpenMobile(!1),className:F(`absolute inset-0 bg-black/40`,i.openMobile?`pointer-events-auto`:`pointer-events-none`)}),(0,Z.jsx)(R.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?xl:yl,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(Sl)):[];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)(wl.Provider,{value:c,children:t})})]}),document.body):null}var Al=(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=Tl(),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)(kl,{ariaLabel:r,className:a,side:e,children:i}):(0,Z.jsx)(R.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}:bl,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)(R.div,{initial:!1,animate:{opacity:+!f,x:f?e===`left`?`-120%`:`120%`:`0%`},transition:u.reduce?xl:yl,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)(wl.Provider,{value:h,children:i})})})}),jl=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=Tl(),o=a.isMobile?a.openMobile:a.open;return(0,Z.jsx)(xr,{...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)})}),Ml=(0,X.forwardRef)(function({className:e,onClick:t,type:n=`button`,...r},i){let a=Tl(),o=El();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)})}),Nl=(0,X.forwardRef)(function({className:e,...t},n){return(0,Z.jsx)(R.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)})}),Pl=(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)})}),Fl=(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)})}),Il=(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)})}),Ll=(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)})}),Rl=(0,X.forwardRef)(function({children:e,className:t,...n},r){let{collapsed:i}=El();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})}),zl=(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 Bl({active:e=!1,ariaLabel:t,className:n,title:r,...i}){return(0,Z.jsx)(xr,{...i,type:`button`,variant:`ghost`,size:`compact`,className:F(Yr,e?Qr:Kr,n),"aria-label":t,title:r??t})}var Vl=X.createContext(void 0);function Hl(){let e=X.useContext(Vl);if(e===void 0)throw Error(ce(64));return e}var Ul=`data-activation-direction`,Wl={tabActivationDirection:e=>({[Ul]:e})},Gl=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]=Wr({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=>Kl(_,e),[_]),[x,S]=X.useState(()=>({previousValue:m,tabActivationDirection:`none`})),{previousValue:C,tabActivationDirection:w}=x,T=w,E=!1;C!==m&&(T=ql(C,m,a,_),E=C!=null&&m!=null&&b(m)==null);let D=E?C:m,O=C!==D||w!==T;K(()=>{O&&S({previousValue:D,tabActivationDirection:T})},[D,O,T]);let k=J((e,t)=>{t.activationDirection=ql(m,e,a,_),i?.(e,t),!t.isCanceled&&h(e)}),A=J((e,t)=>{i?.(e,be(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),ee=X.useRef(!1);K(()=>{if(g)return;function e(e,t){h(e),S({previousValue:e,tabActivationDirection:`none`}),A(e,t),L.current=!1}if(_.size===0){ee.current&&m!==null&&!y.current?.isConnected&&e(null,me);return}ee.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=me;r?i=pe:t&&(i=ge),e(n,i);return}r&&F!=null&&(A(m,pe),L.current=!1)},[I,g,A,F,h,_,m]);let B=ie(`div`,e,{state:{orientation:a,tabActivationDirection:T},ref:t,props:l,stateAttributesMapping:Wl});return(0,Z.jsx)(Vl.Provider,{value:P,children:(0,Z.jsx)(It,{elementsRef:d,children:B})})});function Kl(e,t){for(let[n,r]of e.entries())if(t===r.value)return n;return null}function ql(e,t,n,r){if(e==null||t==null)return`none`;let[i,a,o]=n===`horizontal`?[`left`,`left`,`right`]:[`top`,`up`,`down`],s=Kl(r,e),c=Kl(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 Jl=`data-composite-item-active`;function Yl(e={}){let{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:r}=se(),{ref:i,index:a}=Nt(e),o=n===a,s=X.useRef(null),c=oe(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 Xl=X.createContext(void 0);function Zl(){let e=X.useContext(Xl);if(e===void 0)throw Error(ce(65));return e}var Ql=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}=Hl(),{activateOnFocus:h,registerTabResizeObserverElement:g,tabsListElement:_}=Zl(),{highlightedIndex:v,onHighlightedIndexChange:y}=se(),b=Vt(o),{compositeProps:x,compositeRef:S,index:C}=Yl({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});K(()=>{if(T.current){T.current=!1;return}if(!(w&&C>-1&&v!==C))return;let e=_;if(e!=null){let t=Me(Ce(e));if(t&&Ee(e,t))return}r||y(C)},[w,C,v,y,r,_]);let{getButtonProps:O,buttonRef:k}=ue({disabled:r,native:s,focusableWhenDisabled:!0}),A=d(a),j=X.useRef(!1),M=X.useRef(!1);function N(e){f(a,be(he,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=Ce(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 ie(`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,[Jl]:w?``:void 0,onKeyDownCapture(){T.current=!0}},l,O],stateAttributesMapping:Wl})});function $l(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=re}=e,[p,m]=X.useState(0),h=r!=null,g=X.useRef(null),_=oe(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];lt(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||ke(e,x,d)?S(eu(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(ke(t,x,d)){let e=we(t,{disabledIndices:d});Te(t,e)||S(e)}lt(g.current,r,a,n)});K(()=>{if(d==null||o!=null||!y.current)return;let e=v.current;if(ke(e,x,d)){let t=we(e,{disabledIndices:d});Te(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(!St.has(e.key)||!l&&o||tu(e,f)||!g.current)return;let s=a===`rtl`,c=s?pt:st,p=s?st:pt,m=n===`vertical`?xt:c,_=n===`vertical`?yt:p,y=De(e.nativeEvent);if(y!=null&&Ct(y)&&!jt(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=je(v,d),T=qe(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=we(v.current,{startingIndex:b,decrement:D,disabledIndices:d})),b!==x&&!Te(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=De(e.nativeEvent);!t||n==null||!Ct(n)||n.setSelectionRange(0,n.value.length)},onKeyDown:T},highlightedIndex:x,onHighlightedIndexChange:S,elementsRef:v,onMapChange:C,relayKeyboardEvent:T}}function eu(e,t){let n=-1;for(let r=0;r<e.length;r+=1){let i=e[r];if(!(!i||ke(e,r,t))){if(i.hasAttribute(`data-composite-item-active`))return r;n===-1&&(n=r)}}return Math.max(n,0)}function tu(e,t){for(let n of gt)if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function nu(e){let{render:t,className:n,style:r,refs:i=re,props:a=re,state:o=G,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}=$l({grid:d,loopFocus:f,onLoop:p,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:_,stopEventPropagation:g,enableHomeAndEndKeys:m,direction:Mt(),disabledIndices:v,modifierKeys:y}),k=ie(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)(le.Provider,{value:A,children:(0,Z.jsx)(It,{elementsRef:E,onMapChange:e=>{h?.(e),D(e)},children:k})})}var ru=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}=Hl(),[d,f]=X.useState(0),[p,m]=X.useState(null),h=X.useRef(new Set),g=X.useRef(new Set),_=X.useRef(null);K(()=>{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)(Xl.Provider,{value:S,children:(0,Z.jsx)(nu,{render:a,className:r,style:o,state:b,refs:[t,m],props:[x,s],stateAttributesMapping:Wl,highlightedIndex:d,enableHomeAndEndKeys:!0,loopFocus:i,orientation:c,onHighlightedIndexChange:f,onMapChange:l,disabledIndices:re})})});function iu({className:e,orientation:t=`horizontal`,...n}){return(0,Z.jsx)(Gl,{"data-slot":`tabs`,"data-orientation":t,className:F(`group/tabs flex gap-2 data-horizontal:flex-col`,e),...n})}var au=Sr(`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 ou({className:e,variant:t=`default`,...n}){return(0,Z.jsx)(ru,{"data-slot":`tabs-list`,"data-variant":t,className:F(au({variant:t}),e),...n})}function su({className:e,...t}){return(0,Z.jsx)(Ql,{"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 cu({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i,ariaLabel:a=`Tabs`,width:o=`fill`,density:s=`default`,idPrefix:c,className:l,dataTestid:u}){let d=s===`compact`,f=o===`fill`;return(0,Z.jsxs)(`div`,{className:F(`flex min-w-0 max-w-full items-center`,d?`gap-0.5`:`gap-1`,l),"data-testid":u,children:[(0,Z.jsx)(iu,{className:F(`!flex-row !gap-0 min-w-0`,f?`flex-1`:`w-fit`),onValueChange:e=>{typeof e==`string`&&n(e)},value:t,children:(0,Z.jsx)(ou,{"aria-label":a,activateOnFocus:!0,className:F(`!h-auto !w-fit !max-w-full !justify-start !rounded-none !bg-transparent !p-0`,f?`min-w-0 flex-1`:`flex-none`,d?`!gap-0.5`:`!gap-1`,`overflow-x-auto overscroll-contain [scrollbar-width:none] [&::-webkit-scrollbar]:hidden`),variant:`line`,children:e.map(e=>{let i=e.id===t,a=e.icon,o=e.ariaLabel??(e.statusLabel?`${e.label}, ${e.statusLabel}`:e.label),s=c?`${c}-${encodeURIComponent(e.id)}`:void 0,l=c?`${c}-panel-${encodeURIComponent(e.id)}`:void 0;return(0,Z.jsxs)(`div`,{className:F(`group/tab relative`,f?`min-w-0 max-w-[164px] flex-1 basis-[164px]`:`shrink-0`),"data-tab-id":e.id,children:[(0,Z.jsxs)(su,{"aria-controls":l,"aria-label":o,className:F(`h-7 w-full min-w-0 justify-start text-start text-label font-medium leading-none`,`rounded-[7px] !shadow-none after:hidden`,d?`gap-0.5 !px-1.5`:`gap-1.5 !px-2`,i?`!bg-surface-4 !text-foreground`:`!bg-transparent !text-foreground/45 hover:!bg-foreground/5 hover:!text-foreground/75`,e.closable&&r&&`pe-7`),id:s,onClick:()=>{i&&n(e.id)},value:e.id,children:[a?(0,Z.jsxs)(`span`,{className:F(`flex shrink-0 items-center`,d?`gap-0.5`:`gap-1`),children:[(0,Z.jsx)(a,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),e.badge===void 0?null:(0,Z.jsx)(`span`,{className:`text-caption tabular-nums`,children:e.badge})]}):e.dotClassName?(0,Z.jsx)(`span`,{"aria-hidden":`true`,className:F(`size-1.5 shrink-0 rounded-full`,e.dotClassName)}):null,(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:e.label})]}),e.closable&&r?(0,Z.jsx)(xr,{"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)(br,{"aria-hidden":`true`,className:`size-3`})}):null]},e.id)})})}),i?(0,Z.jsx)(xr,{"aria-label":`New chat`,className:F(Xr,`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)(mr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})}function lu({compact:e=!1}={}){let{reopenRightPanel:t,rightPanel:n}=pi();return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`div`,{className:`min-[960px]:hidden`,children:(0,Z.jsx)(uu,{compact:e,idPrefix:`right-panel-mobile`})}),(0,Z.jsx)(`div`,{className:`hidden min-[960px]:block`,children:n===null?(0,Z.jsx)(du,{compact:e,onOpen:t}):null})]})}function uu({compact:e=!1,idPrefix:t=`right-panel`}){let{artifactRuns:n,transcriptSummary:r,rightPanel:i,setRightPanel:a,resources:o}=pi(),{workspaceTree:s}=fi();return(0,Z.jsx)(fu,{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 du({compact:e=!1,onOpen:t}){return(0,Z.jsx)(Bl,{ariaLabel:`Open side panel`,className:e?`!size-7 !rounded-[7px] !px-0`:`size-9 justify-center px-0`,onClick:t,children:(0,Z.jsx)(fa,{className:`size-4`})})}function fu({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=Kt(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)(()=>lr.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)(pu,{"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 pu({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]),h=(0,X.useMemo)(()=>o.map(e=>({id:e.id,label:e.title,icon:e.icon,badge:e.badge,ariaLabel:e.ariaLabel})),[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)(Lt,{"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)(cu,{ariaLabel:`Panel views`,className:`w-fit max-w-full`,dataTestid:`${r}-tabs`,density:`compact`,onValueChange:m,tabs:h,value:e,width:`fit`}),(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)(cu,{ariaLabel:`Panel views`,className:`w-max max-w-none`,density:`compact`,onValueChange:()=>void 0,tabs:h,value:e,width:`fit`})})]})}function mu({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))] ${ti} backdrop:bg-black/20 ${An}`,"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)(xr,{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)(br,{"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}var hu=`agent-tab`;function gu(e){return`${hu}-${encodeURIComponent(e)}`}function _u(e){return`${hu}-panel-${encodeURIComponent(e)}`}function vu(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 yu(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 bu({tabs:e,value:t,onValueChange:n,onClose:r,onNewSession:i}){let a=(0,X.useMemo)(()=>e.map(e=>({id:e.id,label:e.label,icon:e.kind===`activity`?Gt:e.kind===`main`?qt:void 0,dotClassName:e.kind===`subagent`?yu(e.status):void 0,statusLabel:vu(e.status),closable:e.kind===`subagent`&&!!r})),[e,r]);return(0,Z.jsx)(cu,{ariaLabel:`Agent conversations`,dataTestid:`agent-tab-bar`,idPrefix:hu,onClose:r,onNewSession:i,onValueChange:n,tabs:a,value:t})}var xu=`https://docs.qredence.ai`;function Su({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 Cu({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)(vo,{side:`bottom`,align:`start`,trigger:(0,Z.jsxs)(Bl,{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)(Su,{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)(Qt,{className:`size-3.5 shrink-0 text-foreground/35`})]}),children:[(0,Z.jsxs)(`a`,{href:xu,target:`_blank`,rel:`noreferrer`,className:i,children:[(0,Z.jsx)(ea,{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)(Jt,{className:`size-3.5 shrink-0 text-foreground/50`}),(0,Z.jsx)(`span`,{className:`truncate`,children:`Settings`})]})]})})}function wu({activeTabId:e,tabs:t,onCloseTab:n,onNewSession:r,onSelectTab:i,onOpenSettings:a}){return s(),{left:(0,Z.jsx)(jl,{"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)(Cu,{className:`w-full`,label:`Qredence`,onOpenSettings:a}),center:(0,Z.jsx)(bu,{tabs:t,value:e,onValueChange:i,onClose:n,onNewSession:r}),right:(0,Z.jsx)(lu,{compact:!0})}}function Tu(){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 Eu=(0,X.lazy)(()=>Dr(async()=>{let{ChatCommandPalette:e}=await import(`./chat-command-palette-CKGrP-Ke.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}))),Du=(0,X.lazy)(()=>Dr(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}))),Ou=(0,X.lazy)(()=>Dr(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 ku({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)(Eu,{open:!0,onOpenChange:n.setCommandPaletteOpen,onNewSession:()=>ds(()=>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 Au({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)(Du,{open:o,onOpenChange:f,initialTab:s})}):null,u?(0,Z.jsx)(X.Suspense,{fallback:null,children:(0,Z.jsx)(Ou,{entries:n,onOpenChange:e=>{e||r(null)},onPick:t})}):null]})}var ju=`fleet-prime:v1:right-panel-width`,Mu=`fleet-prime:v1:theme-preference`;function Nu(){return typeof window>`u`?320:Fu(Math.floor(window.innerWidth*On))}function Pu(){if(typeof window>`u`)return 320;let e=Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize),t=Tn(Number.isFinite(e)&&e>0?e:16);return Math.max(320,window.innerWidth-t-360)}function Fu(e){return Math.min(Pu(),Math.max(320,Math.round(e)))}function Iu(){return Mn(ju,Nu(),Fu)}function Lu(e){En(ju,Fu(e))}function Ru(){if(typeof window>`u`)return`system`;let e=Tr(Mu);return e===`light`||e===`dark`||e===`system`?e:`system`}function zu(e){wr(Mu,e)}function Bu(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 Vu=`fleet:chat:model-selection`;function Hu(e,t){let{sessionMetadata:n,setSessionMetadata:r}=t,i=(0,X.useMemo)(()=>e?.models.map(zn)??[],[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)(()=>Ru()),[S,C]=(0,X.useState)(()=>Iu());(0,X.useEffect)(()=>{o(Tr(Vu,`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&&wr(Vu,a,`session`)},[a,s]),(0,X.useEffect)(()=>{let t=i.find(e=>e.id===a);if(!t)return;let n=Bn(t);u(t=>Ln(t??e?.defaultThinkingLevel,n))},[i,a,e?.defaultThinkingLevel]),(0,X.useEffect)(()=>{if(Bu(b),b!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=()=>Bu(`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=Nu();C(t),Lu(t)},[d]),(0,X.useEffect)(()=>{d===null&&_(null)},[d]),(0,X.useEffect)(()=>{if(!d)return;let e=()=>{C(e=>{let t=Fu(e);return Lu(t),t})};return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e)}},[d]);let T=(0,X.useCallback)(e=>{x(e),zu(e),Bu(e)},[]),E=(0,X.useCallback)(e=>{let t=Fu(e);C(t),Lu(t)},[]),D=(0,X.useCallback)(e=>{kn({event:e,startWidth:S,getNextWidth:(e,t,n)=>Fu(n-(e-t)),onWidthChange:e=>{C(e),Lu(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=ci(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=ci(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=Ln(l??e?.defaultThinkingLevel,Bn(P)),I=(0,X.useCallback)(e=>{let t=i.find(e=>e.id===a);u(Ln(e,Bn(t)))},[a,i]);return{commandPaletteOpen:v,handleResourceCanvasResizeStart:D,handleResourceCanvasWidthChange:E,handleThemePreferenceChange:T,initialSessionMetadata:n,modelKey:a,modelSelection:(0,X.useMemo)(()=>Pn(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 Uu=/^root\s*=\s*([A-Za-z][A-Za-z0-9]*)/,Wu=/"((?:\\.|[^"\\]){1,80})"/;function Gu(e){return Wu.exec(e)?.[1]??Uu.exec(e)?.[1]??`Interface`}function Ku(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 Gr(e.text))r.type===`openui`&&t.push({blockId:`${n.id}:${r.id}`,content:r.content,component:Gu(r.content),ordinal:t.length+1})}return t}function qu(e){let t=0,n=0;for(let r of e)r.role===`assistant`?t+=1:n+=1;return{assistantMessageCount:t,openUIBlocks:Ku(e),userMessageCount:n}}function Ju(e){return e===`streaming`||e===`submitted`}function Yu(e,t,n){let r=Ju(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 Xu(e,t,n){let r=Ju(t),i=(0,X.useRef)(e);i.current=e;let[a,o]=(0,X.useState)(()=>qu(e)),[s,c]=(0,X.useState)(n),[l,u]=(0,X.useState)(r);s!==n&&(c(n),o(qu(e))),l!==r&&(u(r),r&&o(qu(e))),(0,X.useEffect)(()=>{if(!r)return;let e=window.setInterval(()=>{o(qu(i.current))},250);return()=>window.clearInterval(e)},[r]);let d=(0,X.useMemo)(()=>qu(e),[e]);return r?a:d}function Zu({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:ee,selectedWorkspacePath:B,setRightPanel:V,setSelectedWorkspacePath:te,settings:H,settingsError:U,settingsLoading:W,status:G,thinkingLevel:ne,themePreference:K,workspaceError:q,workspaceLoading:J,workspaceTree:re,sessionTreeSnapshot:ie,sessionTreeLoading:ae,sessionTreeError:oe,selectedSessionTreeEntryId:se,isSessionTreeStreaming:ce,refreshSessionTree:le,selectSessionTreeEntry:ue,rewindSessionTree:Y}){let de=Xu(m,G,ee??``),fe=Yu(t,G,ee??``),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:ee,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,ee,V,G,ne,ie,ae,oe,se,ce,le,ue,Y]),me=(0,X.useMemo)(()=>({loadWorkspaceFile:p,openWorkspacePath:T,refreshWorkspace:M,selectedWorkspacePath:B,setSelectedWorkspacePath:te,workspaceError:q,workspaceLoading:J,workspaceTree:re}),[p,T,M,B,te,q,J,re]);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 Qu(e){return e===`running`||e===`recovering`?`streaming`:e===`error`||e===`failed`?`error`:`ready`}function $u(){return{status:`ready`,loading:!1,messages:[]}}function ed(e){return{assistantId:null,snapshot:{messages:e.messages,presentation:e.presentation,queue:Fc,sessionMetadata:e.session}}}function td(e){return typeof e==`object`&&!!e&&e.type===`connected`&&typeof e.sessionId==`string`}function nd(e){try{let t=Tr(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){Cr(e,`session`);return}return{generation:n.generation,lastEventId:n.lastEventId}}catch{Cr(e,`session`);return}}function rd({client:e,enabled:t,child:n,loadSession:r,parentSessionId:i}){let[a,o]=(0,X.useState)(0),[s,c]=(0,X.useState)($u),[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=lc(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=ed(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:uc(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($u());return}let s=!1,d=null,m=null,x=0,S=!1,C=0,w,T=!1,E=Qu(v),D=`pi:sse:cursor:subagent:${`${i}:${g}:${_??``}`}`,O=nd(D);O&&(w=O.generation,C=O.lastEventId);let k=()=>{if(!w){Cr(D,`session`);return}wr(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=ed(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(td(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(Ar,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=Wc(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 id={dismissedChildIds:new Set,scopeKey:``,selectedTabId:`main`};function ad(e,t){return e.scopeKey===t?e:{dismissedChildIds:new Set,scopeKey:t,selectedTabId:`main`}}function od(e,t){return ad(e,t)}function sd(e,t){if(t.type===`scope`)return ad(e,t.scopeKey);let n=ad(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 cd(e){return In(e.sessionName?.trim()||e.label)||`Subagent`}function ld({activeProjectId:e,loadSubagentSession:t,presentation:n,rootSessionId:r,client:i=j}){let a=`${e??``}:${r??``}`,[o,s]=(0,X.useReducer)(sd,id);(0,X.useEffect)(()=>{s({type:`scope`,scopeKey:a})},[a]);let{dismissedChildIds:c,selectedTabId:l}=od(o,a),u=(0,X.useMemo)(()=>tn(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:cd(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:rd({client:i,child:p,enabled:f!==`main`&&!!p,loadSession:t,parentSessionId:r}),openChildTab:g,selectedChild:p,selectTab:m,tabs:d}}function ud({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 dd=15e3;async function fd(e,t,n){let r=typeof AbortSignal.timeout==`function`?AbortSignal.timeout(dd):void 0,i=n&&r&&typeof AbortSignal.any==`function`?AbortSignal.any([n,r]):n??r;return j.getWorkspaceFile(e,t,i)}function pd(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 md(){let{forkPickerEntries:e,setForkPickerEntries:t,setSettingsDialogOpen:n,setSettingsInitialTab:r,settingsDialogOpen:i,settingsInitialTab:a}=Tu(),{chatMode:o,effortPickerOpen:s,modelPickerOpen:c,setChatMode:u,setEffortPickerOpen:d,setModelPickerOpen:f,setUploadedAttachments:h,setWorkspaceAttachments:k,uploadedAttachments:M,workspaceAttachments:P}=fs(),F=Xs(),[I,L]=(0,X.useState)(F.sessionMetadata.projectId??void 0),{data:R,isLoading:z}=O(),{data:ee,isLoading:B}=D(),{data:V,refetch:te}=T(),{mutateAsync:H,isPending:U}=C(),{mutateAsync:W,isPending:G}=v(),{mutateAsync:ne,isPending:K}=y(),{mutateAsync:q,isPending:J}=E(),{mutateAsync:re}=_(),{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}=Hu(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=pd(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}=pl(fe,{initialSessionMetadata:Y,projectId:I,persistSession:_e}),_t=(0,X.useMemo)(()=>Pr(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}=sc({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=Nn(st)??Je??it;Js(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(),us(e)},[gt]));let Lt=tc({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)(()=>Hs(Ue,Fe?.effective.enableSkillCommands??!1,Pe),[Pe,Ue,Fe]),Vt=(0,X.useMemo)(()=>Gs(We),[We]),Ht=(0,X.useCallback)(e=>{if(e.projectId&&e.projectId!==I){di.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=>us(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=ks(),{onDraftChange:qt,takeCached:Jt,command:Yt,dismissCommand:Xt}=Os(Kt.available),{onDraftChange:Zt,inlineCompletion:Qt}=bs({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}=Pc({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(zn)??pe,[ae,pe]),cn=(0,X.useCallback)((e,t)=>fd(e,I,t),[I]),ln=(0,X.useCallback)(e=>j.loadSession(e),[]),un=(0,X.useCallback)((e,t)=>j.loadSubagentSession(e,t),[]),dn=ld({activeProjectId:I,loadSubagentSession:un,presentation:ot,rootSessionId:dt.sessionId}),fn=ud({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(zn)},[oe]),{chatPanelData:mn,settingsActions:hn,workspaceTreeContext:gn}=Zu({activityLabel:Je,artifactRuns:_t,chatMode:o,composerIntent:Kt,onComposerIntentChange:an,onComposerIntentKeyChange:on,handleThemePreferenceChange:ue,isLoadingMcp:B,isLoadingProviders:z,isUpdatingMcp:K||J,isUpdatingProvider:U||G,loadSession:ln,loadSubagentSession:un,loadWorkspaceFile:cn,messages:rt,onOpenSubagentTab:dn.openChildTab,modelKey:de,models:pe,modelCatalog:sn,onDiscoverModels:pn,onMcpOAuth:re,onRemoveMcp:q,onRemoveProvider:W,onUpdateMcp:ne,onUpdateProvider:H,openWorkspacePath:he,planLabel:it,presentation:ot,mcpConnections:ee?.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=wu({activeTabId:dn.activeTabId,tabs:dn.tabs,onCloseTab:dn.closeTab,onNewSession:()=>ds(()=>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 hd={"--chat-chrome-top":`52px`,"--chat-header-height":`var(--density-header-height, 44px)`,"--chat-header-top":`0px`};function gd({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:hd,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(Zr,`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 _d=`fleet-prime:v1:panel-keybindings`,vd={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 yd(){try{let e=Tr(_d);if(!e)return vd;let t=JSON.parse(e);return{...vd,...t}}catch{return vd}}function bd(e,t){return e.code===t.code&&(e.ctrlKey||e.metaKey)===!!t.ctrlOrMeta&&e.shiftKey===!!t.shift&&e.altKey===!!t.alt}function xd(){document.querySelector(`[data-fleet-chat-focus] textarea, [data-fleet-chat-focus] [contenteditable='true'], [data-fleet-chat-focus] input`)?.focus({preventScroll:!0})}function Sd({onCommandPaletteToggle:e,onClosePanel:t,rightPanel:n,setRightPanel:r}){(0,X.useEffect)(()=>{let i=yd(),a=a=>{let o=e=>bd(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),xd()):n&&o(`focusPanel`)?document.querySelector(`[data-fleet-panel-focus]`)?.focus({preventScroll:!0}):o(`focusChat`)?xd():s=!1,s&&(a.preventDefault(),a.stopPropagation())};return document.addEventListener(`keydown`,a),()=>document.removeEventListener(`keydown`,a)},[e,t,n,r])}function Cd({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=W(),m=(0,X.useRef)(null);(0,X.useEffect)(()=>{c&&m.current?.focus({preventScroll:!0})},[c]);let h=Pu();return(0,Z.jsx)(U,{children:c&&(0,Z.jsxs)(R.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?.(Fu(f+16))):e.key===`ArrowRight`?(e.preventDefault(),s?.(Fu(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)(xr,{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)(hr,{"data-icon":`inline-start`,className:`size-3.5 ${r?`animate-spin`:``}`})}),(0,Z.jsx)(xr,{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)(br,{"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 wd=`(min-width: 960px)`,Td={resources:`Skills`,workspace:`Files`,artifacts:`Artifacts`,repl:`REPL`,subagents:`Subagents`,"session-insights":`Insights`,"session-tree":`Tree`};function Ed(e){if(typeof window>`u`||typeof window.matchMedia!=`function`)return()=>void 0;let t=window.matchMedia(wd);return t.addEventListener(`change`,e),()=>t.removeEventListener(`change`,e)}function Dd(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(wd).matches}function Od(){return!1}function kd(){return(0,X.useSyncExternalStore)(Ed,Dd,Od)}function Ad({handleResourceCanvasResizeStart:e,onClose:t,resourceCanvasWidth:n,onResourceCanvasWidthChange:r}){let i=pi(),a=fi(),{rightPanel:o,setRightPanel:s}=i,c=o!==null,l=kd(),u=o?ur(o):null,d=u?.component,f=o?cr(o):void 0,p=(0,X.useMemo)(()=>f&&f.panels.length>1?f.panels.map(e=>({id:e,label:Td[e]})):[],[f]),m=(0,Z.jsxs)(Z.Fragment,{children:[p.length>0?(0,Z.jsx)(cu,{ariaLabel:`${f?.title??`Panel`} views`,className:`mb-3 w-fit`,onValueChange:e=>{let t=p.find(t=>t.id===e)?.id;t&&s(t)},tabs:p,value:o,width:`fit`}):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)(Cd,{dataTestid:u?.dataTestid,headerLeading:(0,Z.jsx)(uu,{compact:!0,idPrefix:`right-panel-desktop`}),loading:h,onClose:t,onRefresh:g,onResizeStart:e,onWidthChange:r,open:c,title:u?.title??``,titleIcon:u?.icon??sr,width:n,children:m}):(0,Z.jsx)(mu,{dataTestid:u?.mobileDataTestid,icon:u?.icon,onClose:t,open:c,title:u?.title??``,children:m})})}function jd({session:e,onClose:t,onRenameSession:n}){let[r,i]=(0,X.useState)(()=>Gn(e));return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Rename session`}),(0,Z.jsx)(hi,{children:`Choose a local display title for this Fleet Prime session.`}),(0,Z.jsx)(Fr,{value:r,onChange:e=>i(e.target.value),"aria-label":`Session title`,autoFocus:!0}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{disabled:!r.trim(),onClick:()=>{r.trim()&&(n(e.sessionId,r.trim()),t())},children:`Rename`})]})]})})}function Md({project:e,onClose:t,onRenameProject:n}){let[r,i]=(0,X.useState)(e.name);return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Rename project`}),(0,Z.jsx)(hi,{children:`This changes the display name only. The registered directory stays the same.`}),(0,Z.jsx)(Fr,{value:r,onChange:e=>i(e.target.value),"aria-label":`Project name`,autoFocus:!0}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{disabled:!r.trim()||!n,onClick:()=>{r.trim()&&(n?.(e.projectId,r.trim()),t())},children:`Rename`})]})]})})}function Nd({session:e,onClose:t,onDeleteSession:n}){return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Delete session?`}),(0,Z.jsx)(hi,{children:`This removes the Fleet Prime session and its managed session artifacts. This cannot be undone.`}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n(e.sessionId),t()},children:`Delete`})]})]})})}function Pd({project:e,onClose:t,onUnregisterProject:n}){return(0,Z.jsx)(xi,{open:!0,onOpenChange:e=>!e&&t(),children:(0,Z.jsxs)(gi,{children:[(0,Z.jsx)(bi,{children:`Unregister project?`}),(0,Z.jsx)(hi,{children:`The directory and its sessions remain intact. Existing sessions will move to Unassigned until the directory is registered again.`}),(0,Z.jsxs)(vi,{children:[(0,Z.jsx)(yi,{onClick:t,children:`Cancel`}),(0,Z.jsx)(_i,{className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,onClick:()=>{n?.(e.projectId),t()},children:`Unregister`})]})]})})}function Fd({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)(jd,{session:e.session,onClose:t,onRenameSession:n});case`rename-project`:return(0,Z.jsx)(Md,{project:e.project,onClose:t,onRenameProject:i});case`delete-session`:return(0,Z.jsx)(Nd,{session:e.session,onClose:t,onDeleteSession:r});case`unregister-project`:return(0,Z.jsx)(Pd,{project:e.project,onClose:t,onUnregisterProject:a});case`create-project`:return null}}function Id(){return()=>{}}function Ld(){return!0}function Rd(){return!1}function zd(){return(0,X.useSyncExternalStore)(Id,Ld,Rd)}var Bd=5,Vd=[`a[href]`,`button:not([disabled])`,`input:not([disabled])`,`select:not([disabled])`,`textarea:not([disabled])`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function Hd(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 Ud({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)(U,{initial:!1,children:i?(0,Z.jsx)(R.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)(U,{initial:!1,children:i?(0,Z.jsxs)(R.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)(br,{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)(R.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 Wd({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=W(),g=ui(),_=(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=zd(),[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,Bd),z=h?{duration:0}:ee,B=`${r} ${i}${r===1?``:`s`}`,te=(0,X.useCallback)(e=>{f||(M||D(e),s?.(e))},[f,s,M]),H=(0,X.useCallback)(e=>{f||L.length===0||(N||k(e),u?.(e))},[f,N,u,L.length]),G=(0,X.useCallback)(()=>{j(!1),x.current=!0,requestAnimationFrame(()=>S.current?.focus())},[]),ne=(0,X.useCallback)(()=>{j(!0),te(!1),H(!1)},[H,te]),K=(0,X.useEffectEvent)(ne);(0,X.useEffect)(()=>{h&&A&&G()},[G,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(Vd)).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),H(!0),te(!0),d?.()},J=(0,Z.jsx)(Ud,{title:e,countText:B,dialogTitleId:v,previewItems:L,isExpanded:P,isClosing:A,reduce:h??!1,transition:z,dialogRef:w,closeButtonRef:C,closeOverlay:ne});return(0,Z.jsxs)(ki,{id:_,children:[(0,Z.jsxs)(R.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,te(!0))},onPointerLeave:()=>{g&&(y.current=!1,!P&&!A&&te(b.current))},onFocus:()=>{if(x.current){x.current=!1,b.current=!1;return}b.current=!0,te(!0)},onBlur:()=>{b.current=!1,!P&&!A&&te(y.current)},onClick:q,whileTap:h||f?void 0:{scale:.96},transition:h?{duration:0}:V,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)(R.span,{"aria-hidden":`true`,animate:{rotateX:I&&!h?15:0},transition:z,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)(U,{initial:!1,children:P?null:L.map((e,t)=>{let n=Hd(t,L.length);return(0,Z.jsx)(R.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:z,onLayoutAnimationComplete:()=>{A&&t===0&&G()},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)(R.span,{initial:!1,animate:{rotateX:I&&!h?-25:0},transition:z,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:B}),(0,Z.jsx)(`span`,{className:`truncate text-sm text-muted-foreground`,children:t})]})]})]}),T?(0,Ui.createPortal)(J,document.body):null]})}var Gd=[],Kd=[];function qd(e){return e.kind===`folder`||e.kind===`project`}function Jd(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,...Jd(e.children,t,n+1,e.id)]})}function Yd(e,t,n){return e.map(e=>({...e,label:e.id===t?n:e.label,children:e.children?Yd(e.children,t,n):void 0}))}function Xd(e,t){if(e.kind===`action`)return null;let n=e.kind===`folder`||e.kind===`project`?t?Fn:ir:yn;return(0,Z.jsx)(n,{className:`size-4`})}function Zd({active:e,children:t}){let n=W()??!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)(R.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 Qd({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 $d({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)(pr,{"aria-hidden":`true`,className:`size-3.5`}),`Rename`]});return(0,Z.jsxs)(ho,{open:t,onOpenChange:n,children:[(0,Z.jsx)(go,{render:(0,Z.jsx)(xr,{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)(ca,{"aria-hidden":`true`,className:`size-4`})})}),(0,Z.jsx)(_o,{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 ef(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 tf(e){let t=W()??!1,[n,r]=(0,X.useState)(!1),i=qd(e.row.item),a=e.renderIcon?.(e.row.item),o=a===void 0?Xd(e.row.item,e.expanded):a,{item:s}=e.row;return(0,Z.jsxs)(R.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:ef(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)(Qd,{label:s.label,onCommit:e.onRenameCommit,onCancel:e.onRenameCancel}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(Zd,{active:n||e.menuOpen,children:s.label}),e.renderSecondaryAction?.(s),!s.disabled&&s.kind!==`action`&&(0,Z.jsx)($d,{item:s,menuOpen:e.menuOpen,onMenuOpenChange:e.onMenuOpenChange,onRenameStart:e.onRenameStart,renderMenu:e.renderMenu})]})]})}function nf({items:e=Gd,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(Kd)),[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)(()=>Jd(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`&&qd(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(),qd(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)(U,{initial:!1,children:E.map(e=>(0,Z.jsx)(tf,{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(Yd(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 rf(e){return e?.status===`running`?(0,Z.jsx)(dr,{className:`size-3.5 animate-spin`}):e?.status===`failed`?(0,Z.jsx)(yr,{className:`size-3.5 text-destructive`}):e?.status===`interrupted`?(0,Z.jsx)(ia,{className:`size-3.5 text-muted-foreground`}):null}function af({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)(Fl,{className:`gap-0 px-2.5 pb-1 pt-2`,children:(0,Z.jsxs)(Ll,{className:`p-0`,children:[(0,Z.jsxs)(`div`,{className:`relative mb-1 h-8`,children:[(0,Z.jsx)(Rl,{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)(vo,{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(Xr,`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)(ca,{"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)(rr,{"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)(Qt,{"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(Xr,`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)(mr,{"aria-hidden":`true`,className:`size-3.5`})}):null]})]}),(0,Z.jsx)(zl,{children:a.length===0?(0,Z.jsx)(`div`,{className:`px-2 py-4`,children:(0,Z.jsx)(Wd,{title:`Add a project`,description:`Choose a local directory for Fleet Prime.`,count:0,itemLabel:`session`,previews:[{id:`empty-project`,content:(0,Z.jsx)(rr,{className:`size-5 text-muted-foreground`})}],onClick:i,ariaLabel:`Add a project`,className:`w-full`})}):(0,Z.jsx)(nf,{items:s,activeId:l?Vn(l):null,activeContainerId:c?Zn(c):null,expandedIds:n,onExpandedIdsChange:r,onActiveChange:h,onContainerSelect:g,onRename:(e,t)=>{let n=tr(e.id,$n);n&&p(n,t)},renderMenu:_,renderIcon:e=>{if(tr(e.id,`project:`))return(0,Z.jsx)(ir,{className:`size-4`});if(e.id.startsWith(`toggle:`))return e.label===`Show less`?(0,Z.jsx)(pn,{className:`size-4`}):(0,Z.jsx)(Qt,{className:`size-4`});if(e.kind===`action`)return null;let t=tr(e.id,$n);return rf(o.find(e=>e.sessionId===t))},renderSecondaryAction:e=>{let t=tr(e.id,Xn);return!t||t===`unassigned`?null:(0,Z.jsx)(xr,{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)(va,{"data-icon":`inline-start`,className:`size-3.5`})})},className:`px-0`})})]})})}function of({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 sf({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 cf(){try{return`0.10.3`}catch{return`dev`}}function lf(){let e=cf();return(0,Z.jsxs)(Nr,{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 uf(e,t){return e.filter(e=>e.messageCount>0||e.sessionId===t)}function df(e){return e.toSorted((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))}function ff(e,t,n){let r=df(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 pf(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 mf({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)(ma,{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(Br,`flex w-full max-w-sm flex-col gap-1.5 rounded-2xl p-3`,a),...o,children:[(0,Z.jsxs)(`div`,{className:F(Vr,`flex items-center gap-2 rounded-xl px-2.5 py-1.5`),children:[(0,Z.jsx)(_r,{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(Ir,`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 hf=`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`,gf=`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 _f({icon:e,label:t,onClick:n,href:r,to:a}){return a?(0,Z.jsxs)(i,{to:a,className:hf,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:hf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]}):(0,Z.jsxs)(`button`,{type:`button`,onClick:n,className:hf,children:[e?(0,Z.jsx)(e,{className:`size-3.5`}):null,t]})}function vf({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 yf({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)(()=>df(f).map(e=>({id:e.sessionId,title:Gn(e,f),preview:Kn(e,h),group:nr(e.updatedAt),keywords:e.firstMessage?[In(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)(Al,{ariaLabel:`Fleet projects and sessions`,collapsible:`offcanvas`,variant:`floating`,className:`text-sidebar-foreground`,children:(0,Z.jsxs)(Ur,{value:2,children:[(0,Z.jsxs)(Pl,{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)(vo,{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)(Qt,{className:`size-3.5 text-muted-foreground`})]}),className:`w-52 p-1`,children:[S?(0,Z.jsx)(_f,{icon:rr,label:`Add project`,onClick:()=>{t(!1),u()}}):null,(0,Z.jsx)(_f,{icon:Jt,label:`Settings`,onClick:()=>{t(!1),C?.()}}),(0,Z.jsx)(_f,{label:`Agents`,to:`/agents`}),(0,Z.jsx)(_f,{label:`Connectors`,to:`/connectors`}),(0,Z.jsx)(_f,{icon:ea,label:`Documentation`,href:Yn})]}),(0,Z.jsx)(vo,{open:n,onOpenChange:r,side:`bottom`,align:`end`,className:`w-64 p-0`,trigger:(0,Z.jsx)(xr,{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)(_r,{"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)(mf,{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)(ir,{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)(vf,{children:`↑`}),(0,Z.jsx)(vf,{children:`↓`}),`navigate`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(vf,{children:`↵`}),`open`]}),(0,Z.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,Z.jsx)(vf,{children:`esc`}),`close`]})]})]})})]}),(0,Z.jsxs)(`button`,{type:`button`,onClick:v,className:gf,children:[(0,Z.jsx)(va,{className:`size-4 shrink-0 text-muted-foreground`}),`New chat`]})]}),(0,Z.jsx)(af,{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)(Il,{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:Un,target:`_blank`,rel:`noreferrer`,className:gf,children:[(0,Z.jsx)(of,{className:`size-4 shrink-0 text-muted-foreground`}),`Twitter`]}),(0,Z.jsxs)(`a`,{href:er,target:`_blank`,rel:`noreferrer`,className:gf,children:[(0,Z.jsx)(sf,{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)(lf,{}),(0,Z.jsx)(`a`,{href:Yn,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)(na,{className:`size-4`})})]})]}),(0,Z.jsx)(Ml,{})]})})}function bf(e,t){return t.type===`update`?t.update(e):{...e,[t.field.key]:t.field.value}}function xf(e){let[t,n]=(0,X.useReducer)(bf,e,e=>({brandMenuOpen:!1,projectActionsOpen:!1,searchOpen:!1,query:``,expandedProjectIds:Jn(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 Sf=[[`resources`,`Open Resources`,sr],[`workspace`,`Open Workspace`,ir],[`artifacts`,`Open Artifacts`,fr]];function Cf({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 wf({sessions:e,projects:t=Qn,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)(()=>pf(t,n),[n,t]);(0,X.useEffect)(()=>{if(!r)return;let e=Zn(r);f(t=>t.includes(e)?t:[...t,e])},[r,f]),(0,X.useEffect)(()=>{wr(qn,JSON.stringify(u))},[u]);let v=(0,X.useMemo)(()=>{let e=_.map(e=>{let t=uf(n.filter(t=>t.projectId===e.projectId),i),r=d.has(e.projectId),a=ff(t,i,r),o=a.map(e=>({id:Vn(e.sessionId),label:Gn(e,a),kind:`file`,...e.isSubagent?{indent:1}:{}}));if(t.length===0)o.push({id:Wn(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:Zn(e.projectId),label:e.name,kind:`project`,children:o}}),t=df(uf(n.filter(e=>!e.projectId),i));if(t.length>0){let n=d.has(`unassigned`),r=ff(t,i,n),a=r.map(e=>({id:Vn(e.sessionId),label:Gn(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=tr(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=tr(e,Hn);if(r){y(r);return}let i=tr(e,$n);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=tr(e,`search-project:`);if(t){let e=Zn(t);f(t=>t.includes(e)?t:[...t,e]),s?.(t),m(!1);return}let r=tr(e,`search-session:`),i=r?n.find(e=>e.sessionId===r):void 0;if(i){if(i.projectId){let e=Zn(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=tr(e.id,$n),i=tr(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)(Cf,{icon:pr,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`}),Sf.map(([e,n,r])=>(0,Z.jsx)(Cf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null,(0,Z.jsx)(Cf,{icon:vr,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)(Cf,{icon:pr,label:`Rename project`,onClick:()=>{t.close(),h({kind:`rename-project`,project:e})}}),(0,Z.jsx)(Cf,{icon:wa,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`}),Sf.map(([e,n,r])=>(0,Z.jsx)(Cf,{icon:r,label:n,onClick:()=>{t.close(),l({panel:e,projectId:i,focus:!0})}},e))]}):null]}):null}return null},[l,g,n,h])}}var Tf=(0,X.lazy)(()=>Dr(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 Ef({data:e,sessionActions:t,projectActions:n={},navigationActions:r={},slots:i={}}){let{sessions:a,projects:o=Qn,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=xf(c),{projectById:w,sortedProjects:T,sidebarItems:E,resumeResource:D,toggleProjectResource:O,selectSearchResult:k,renderMenu:A}=wf({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)(yf,{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)(Tf,{open:N,onClose:C.closeDialog,onBrowseDirectories:b,onCreateProject:g})}):null,(0,Z.jsx)(Fd,{activeDialog:C.activeDialog,onClose:C.closeDialog,onRenameSession:p,onDeleteSession:m,onRenameProject:_,onUnregisterProject:v})]})}var Df=(0,X.lazy)(()=>Dr(async()=>{let{SubagentChatPanel:e}=await import(`./subagent-chat-panel-xm-zBsFL.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}))),Of=(0,X.lazy)(()=>Dr(async()=>{let{SessionActivityPanel:e}=await import(`./session-activity-panel-BloVPsLJ.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 kf(){let{session:e,conversation:t,composer:n,panels:r,dialogs:i,chrome:a,agentTabs:o}=md(),s=(0,X.useCallback)(()=>{i.setCommandPaletteOpen(e=>!e)},[i.setCommandPaletteOpen]),c=(0,X.useCallback)(()=>{r.setRightPanel(null),window.requestAnimationFrame(()=>xd())},[r.setRightPanel]);Sd({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),us(e)}})()},[n.chatMode,n.clearUploadedAttachments,n.clearWorkspaceAttachments,n.restoreAttachments,n.uploadedAttachments,n.workspaceAttachments,t.sendMessage]),d=(0,X.useCallback)(e=>{let r=gn(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){di.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)(()=>ds(()=>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=ms(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)(Of,{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)(ls,{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)(Df,{child:o.selectedChild,parentSessionId:e.activeSessionId,state:o.conversation})});return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(ku,{chrome:a,conversation:t,dialogs:i,panels:r,session:e}),(0,Z.jsxs)(mi,{chatPanelData:r.chatPanelData,onOpenUIAction:d,settingsActions:r.settingsActions,workspaceTree:r.workspaceTreeContext,children:[(0,Z.jsxs)(Ol,{className:`h-svh min-h-0 rounded-none border-0`,children:[(0,Z.jsx)(Ef,{data:p,sessionActions:y,projectActions:b,navigationActions:x,slots:S}),(0,Z.jsx)(Nl,{className:`h-svh min-h-0 overflow-hidden`,children:(0,Z.jsx)(gd,{headerLeft:a.header.left,headerCenter:a.header.center,headerRight:a.header.right,panel:(0,Z.jsx)(mn,{children:(0,Z.jsx)(Ad,{handleResourceCanvasResizeStart:r.handleResourceCanvasResizeStart,onClose:c,onResourceCanvasWidthChange:r.handleResourceCanvasWidthChange,resourceCanvasWidth:r.resourceCanvasWidth})}),children:(0,Z.jsx)(`div`,{"aria-labelledby":gu(o.activeTabId),className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-tab-panel`,id:_u(o.activeTabId),role:`tabpanel`,children:w})})})]}),(0,Z.jsx)(Au,{dialogs:i})]})]})}var Af=kf;export{Af as component};
|