openpond 0.2.52 → 0.2.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-server.d.ts +1 -0
- package/dist/app-server.js +1 -1
- package/dist/chunks/{app-layer-RRFI27N4.js → app-layer-I7MZYVLL.js} +1 -1
- package/dist/chunks/{app-server-runtime-NITNSHYS.js → app-server-runtime-KZP2LB5X.js} +1 -1
- package/dist/chunks/{apps-NELJL377.js → apps-TM74FFQB.js} +1 -1
- package/dist/chunks/{chunk-CFLMKFOE.js → chunk-3LX6RU3C.js} +2 -2
- package/dist/chunks/{chunk-7YR6CBNU.js → chunk-4SHKI3BH.js} +1 -1
- package/dist/chunks/{chunk-7MXZJQS7.js → chunk-4TZHH5FC.js} +1 -1
- package/dist/chunks/{chunk-T5T7NCHJ.js → chunk-5TNDPNS3.js} +1 -1
- package/dist/chunks/{chunk-AV3WI7JZ.js → chunk-6JAN4RMN.js} +1 -1
- package/dist/chunks/{chunk-OE2VF6KU.js → chunk-6VF3Q6QJ.js} +1 -1
- package/dist/chunks/{chunk-PVSUQGWK.js → chunk-7ZG3IT7C.js} +1 -1
- package/dist/chunks/{chunk-EPY7M5XS.js → chunk-AFUDIT36.js} +1 -1
- package/dist/chunks/{chunk-Q4H3NUVW.js → chunk-AH22RHPS.js} +2 -2
- package/dist/chunks/{chunk-DLZP22WV.js → chunk-FPUUZQUP.js} +1 -1
- package/dist/chunks/{chunk-ZBZBV5TB.js → chunk-GCOUYYHG.js} +1 -1
- package/dist/chunks/{chunk-MASJQWA2.js → chunk-GXSTZBM6.js} +1 -1
- package/dist/chunks/{chunk-IOQUF34U.js → chunk-H2VT22JK.js} +1 -1
- package/dist/chunks/{chunk-L3V4QKRV.js → chunk-NHFGEVVH.js} +1 -1
- package/dist/chunks/{chunk-HJEY5LBD.js → chunk-PQHTZ5CP.js} +1 -1
- package/dist/chunks/{chunk-QJRXTIOC.js → chunk-USKE34VR.js} +1 -1
- package/dist/chunks/{chunk-XC7AHL57.js → chunk-XGE2XI6M.js} +44 -44
- package/dist/chunks/{chunk-FQZFLNLY.js → chunk-YD55Z5H3.js} +1 -1
- package/dist/chunks/{chunk-RLZPX4YP.js → chunk-YJ4PNAST.js} +1 -1
- package/dist/chunks/{cli-ZYFSCHZK.js → cli-JVB345H2.js} +1 -1
- package/dist/chunks/{configuration-command-SA56RV5B.js → configuration-command-MATM4XR5.js} +1 -1
- package/dist/chunks/{connected-evidence-IVSQZYIB.js → connected-evidence-YDPGNHLP.js} +1 -1
- package/dist/chunks/{core-commands-W5IGIITV.js → core-commands-MTV4EKXY.js} +1 -1
- package/dist/chunks/{datasets-KSO2UG6R.js → datasets-CP3IT47T.js} +1 -1
- package/dist/chunks/{desktop-test-6HXFM7PO.js → desktop-test-IAZC5MAH.js} +1 -1
- package/dist/chunks/{dist-5VFPYEIV.js → dist-SAABJU5F.js} +1 -1
- package/dist/chunks/{evaluation-coordination-MOFBXRXN.js → evaluation-coordination-EPHLZXYM.js} +1 -1
- package/dist/chunks/{experiment-improvements-TDHM6NEA.js → experiment-improvements-6JTOPA74.js} +1 -1
- package/dist/chunks/{experiments-HFPDFD4I.js → experiments-XHPFGECH.js} +1 -1
- package/dist/chunks/{extension-R373LYIB.js → extension-GX7DLW2X.js} +1 -1
- package/dist/chunks/{help-PEFQDDTA.js → help-WLKSACLZ.js} +1 -1
- package/dist/chunks/{hosted-experiment-improvement-MGBPXXW2.js → hosted-experiment-improvement-HAB3UE6A.js} +1 -1
- package/dist/chunks/{hosted-harness-runtime-WOLADXXP.js → hosted-harness-runtime-YM23QNDK.js} +1 -1
- package/dist/chunks/{hosted-profile-candidate-LVNKOTKJ.js → hosted-profile-candidate-EOBGKQAS.js} +1 -1
- package/dist/chunks/{hosted-profile-compiler-NBMUCZVS.js → hosted-profile-compiler-OZAOZ2ES.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-control-7B3RAZU2.js → hosted-profile-evaluation-control-RJ6XJZCS.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-inspection-FPCV42DD.js → hosted-profile-evaluation-inspection-SJIDXPHI.js} +1 -1
- package/dist/chunks/{hosted-profile-evaluation-preparation-I6H6RFT6.js → hosted-profile-evaluation-preparation-26EI5LJR.js} +1 -1
- package/dist/chunks/{human-review-HRGGACEM.js → human-review-AAVMISBF.js} +1 -1
- package/dist/chunks/{import-RSAQ44GG.js → import-V3HUGRHR.js} +1 -1
- package/dist/chunks/{opchat-I7ZWJ5XK.js → opchat-QK43DXTY.js} +1 -1
- package/dist/chunks/{organizations-LFCZIH7E.js → organizations-SRPAWKC7.js} +1 -1
- package/dist/chunks/{profile-EPIX5QVK.js → profile-C6CQNVYE.js} +1 -1
- package/dist/chunks/{project-agent-DGOPMECP.js → project-agent-GZV5HNYI.js} +1 -1
- package/dist/chunks/{sandbox-command-Q5F6VUOS.js → sandbox-command-4TJXQTKT.js} +1 -1
- package/dist/chunks/{sandbox-template-7GICPIKJ.js → sandbox-template-BBGGPJMI.js} +1 -1
- package/dist/chunks/{src-DH5AQ4Z7.js → src-CR6UZYTX.js} +1 -1
- package/dist/chunks/{src-MGP3OYHL.js → src-P3VYLFLI.js} +109 -109
- package/dist/chunks/{teams-bot-Z6RJGHME.js → teams-bot-7I4BAUVO.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/web/assets/App-CO2F717V.css +1 -0
- package/dist/web/assets/{App-Dg6mZIQk.js → App-CuhaCsfb.js} +65 -64
- package/dist/web/assets/{AppDialog-gcj3rrTZ.js → AppDialog-BdusXgU0.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-Be-E4qZF.js → AppTerminalPanel-C4uRpnBz.js} +2 -2
- package/dist/web/assets/{AppsView-BdyPNSpT.js → AppsView-BS1czXUP.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-CcQxU0uO.js → BrowserSidebar-Bl7V6YO2.js} +1 -1
- package/dist/web/assets/{CartesianChart-CN5hB6rV.js → CartesianChart-BstFbsdn.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BiDPHgXG.js → CollaborationTabs-B8YAf0c1.js} +1 -1
- package/dist/web/assets/{CommandMenu-B2qJCgWH.js → CommandMenu-DZct7zUJ.js} +1 -1
- package/dist/web/assets/{CommunityView-D1aOQKfS.js → CommunityView-CR0-W-uG.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-f1tdD0QS.js → ComposerCreateImproveStrip-DR-Qo7b4.js} +1 -1
- package/dist/web/assets/{GetStartedView-CPYs0fYN.js → GetStartedView-xqQoMMei.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-CHxxf_Lu.js +1 -0
- package/dist/web/assets/{HostedModelLearningSettings-IEKRXOkG.js → HostedModelLearningSettings-De3i9wF4.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-DkIa0oG_.js → LabModelVersionDetailPage-DAY1MmqP.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-BUlU1Ti-.js → LabSkillSidebar-DLnIgnry.js} +1 -1
- package/dist/web/assets/{LabsRoute-8cKFNq19.js → LabsRoute-CXJRJMhr.js} +4 -4
- package/dist/web/assets/{MainChatThread-C5GwaIl_.js → MainChatThread-BwAla81W.js} +2 -2
- package/dist/web/assets/{MainPane-SMqq5YAM.js → MainPane-CakOBCHw.js} +4 -4
- package/dist/web/assets/{MarkdownText-CLnvdLVg.js → MarkdownText-gJMuefaJ.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-B9bVb00x.js → NativeSkillSidebar-Dlxb8iOC.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-CelgG7Ua.js → NewExperienceSwitcher-DM-cqJ-K.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-eEnsg9s2.js → NewProjectDialog-Cu1q75gq.js} +1 -1
- package/dist/web/assets/{OutputsPage-ByvsTUW-.js → OutputsPage-DiXMkasl.js} +1 -1
- package/dist/web/assets/{ProjectsPage-Cl2zFh8X.js → ProjectsPage-DqiBHiCB.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-MnGscF87.js → RightChatPanelStack-VaOOmxwd.js} +1 -1
- package/dist/web/assets/{RightSidebarHomePanel-C6NXMYuy.js → RightSidebarHomePanel-CeSFJM5s.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-DCb6d7Lg.js → ScheduledWorkPage-D1jRQxFs.js} +1 -1
- package/dist/web/assets/{SettingsView-BMFfrxmo.js → SettingsView-RA9OXgcu.js} +3 -3
- package/dist/web/assets/{TeamChatView-DW_v2B9E.js → TeamChatView-DM0adMtj.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-BJ7qsr9F.js → TerminalOverlay-CFlH51DD.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-GSIwP6f1.js → TrainingCreationPanel-CgIBVGha.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-DorY6I29.js → TrainingDraftPanel-Bbo3RRie.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-DmzStI9q.js → UsageSettingsSection-CSRjJUSa.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-zsJrGaaL.js → WorkSidebarPanel-DwlEMEoG.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-pGVezNMw.js +14 -0
- package/dist/web/assets/{WorkspaceEnvironmentMenu-vJw9hE0y.js → WorkspaceEnvironmentMenu-Byjngd9V.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BpL-xtRX.js → WorkspaceGitDialogs-Dgmg-6XG.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-CJ3x0GHH.js → WorkspaceMonacoEditor-BR4qxMgU.js} +3 -3
- package/dist/web/assets/{arrow-up-right-C60QSULo.js → arrow-up-right-H0pvnH2s.js} +1 -1
- package/dist/web/assets/{chunk-UHVJOMWN-BxgPi0yP.js → chunk-UHVJOMWN-BqXRe639.js} +1 -1
- package/dist/web/assets/{clipboard-QIy0Jd_K.js → clipboard-BZzZ82Bk.js} +1 -1
- package/dist/web/assets/{cloud-upload-B9L-_gy0.js → cloud-upload-CJPYPVl8.js} +1 -1
- package/dist/web/assets/{cssMode-ffPyPUW9.js → cssMode-WC4Rg1l-.js} +1 -1
- package/dist/web/assets/{folder-open-BFy7KXWm.js → folder-open-sLZJxLQy.js} +1 -1
- package/dist/web/assets/{folder-plus-C3iGtUOI.js → folder-plus-C84wrpt_.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-DsTniKvi.js → git-commit-horizontal-Cotm7KEC.js} +1 -1
- package/dist/web/assets/{htmlMode-7ytlsiyK.js → htmlMode-C6oZGeaB.js} +1 -1
- package/dist/web/assets/{index-BK8GmZmB.js → index-BxWTVKtn.js} +2 -2
- package/dist/web/assets/index-dSmk3FLJ.css +1 -0
- package/dist/web/assets/{info-C8mwoaIJ.js → info-Dc81lEfw.js} +1 -1
- package/dist/web/assets/{jsonMode-BT35NJi4.js → jsonMode-BET4LQIn.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-BKAwIewO.js → lspLanguageFeatures-BPxA_-Kg.js} +1 -1
- package/dist/web/assets/{minimize-2-34MApatV.js → minimize-2-Bs7MVN3C.js} +1 -1
- package/dist/web/assets/{monaco.contribution-CxtX0z-m.js → monaco.contribution-7AUuf2NS.js} +2 -2
- package/dist/web/assets/{monaco.contribution-9diduNNi.js → monaco.contribution-BH6kkO4b.js} +2 -2
- package/dist/web/assets/{monaco.contribution-DVnPUDsR.js → monaco.contribution-DFzEyaHi.js} +2 -2
- package/dist/web/assets/{monaco.contribution-Dj4R5U8Z.js → monaco.contribution-DXzyQfVi.js} +2 -2
- package/dist/web/assets/{monitor-4JxqJ7wz.js → monitor-DXL019Wf.js} +1 -1
- package/dist/web/assets/{play-C4PtpamL.js → play-CXkxUZeU.js} +1 -1
- package/dist/web/assets/{python-0GVncePC.js → python-PzBkTjWx.js} +1 -1
- package/dist/web/assets/{save-DjB16eou.js → save-DpezrtH2.js} +1 -1
- package/dist/web/assets/{square-Coz7UQqd.js → square-oy7f5Ce6.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-D-3108_3.js → toggleHighContrast-Cto-fOXm.js} +1 -1
- package/dist/web/assets/{tsMode-CV4ktqqR.js → tsMode-BYA4LNc6.js} +1 -1
- package/dist/web/assets/{upload-D007T9Hm.js → upload-C5YFNgtS.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-BXjFbAVS.js → useLocalAgentSchedules-CnyTsqlf.js} +1 -1
- package/dist/web/assets/useProviderSettings-B_KeQjE5.js +5 -0
- package/dist/web/assets/{useSessionTurnCache-Bee6zbC_.js → useSessionTurnCache-DICuJSJW.js} +1 -1
- package/dist/web/assets/{wifi-off-BbNZc0za.js → wifi-off-nzHj7JXp.js} +1 -1
- package/dist/web/assets/{workers-DNQ5ne3z.js → workers-Dboaw6f_.js} +1 -1
- package/dist/web/assets/{yaml-BfAho-gB.js → yaml-uuY5JmO8.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/App-DkH8CeoI.css +0 -1
- package/dist/web/assets/HostedModelLearningReview-DVfJyUW_.js +0 -1
- package/dist/web/assets/WorkspaceDiffPanel-CiFsZjMm.js +0 -14
- package/dist/web/assets/index-C0H85uUI.css +0 -1
- package/dist/web/assets/useProviderSettings-SY7mp-5B.js +0 -5
- /package/dist/chunks/{chunk-XDMUD4FW.js → chunk-2JO2KWT3.js} +0 -0
- /package/dist/chunks/{chunk-XBCIBAXD.js → chunk-GS2NKNKG.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ComposerCreateImproveStrip-
|
|
2
|
-
import{r as l,j as n,_ as ye}from"./index-BK8GmZmB.js";import{T as Uo,W as lr,P as qo,F as Ho,C as Vo,A as Wo,r as la,i as Yr,h as Go,n as xi,a as bi,b as vi,c as ji,M as ca,d as Ko,I as yi,u as ki,e as Qo,f as Xo,g as Jo,j as Yo}from"./MarkdownText-CLnvdLVg.js";import{c as Oe,b as wa,a as Zo,u as el,d as tl,e as nl,s as sr,A as Ci,m as ua,f as wi,C as Pt,P as pr,g as cr,h as Gn,i as _t,j as Zr,F as ea,r as sl,k as rl,l as ta,n as al,O as il,o as da,B as vs,p as ol,q as mt,t as fa,v as ll,w as cl,x as ul,y as dl,z as Xe,D as na,S as Si,E as fl,G as Le,X as Ss,H as Mi,I as ml,J as Sa,K as Ma,L as ma,M as hl,N as pl,Q as gl,R as Wt,T as ha,U as Wn,V as Na,W as Ni,Y as xl,Z as bl,_ as vl,$ as jl,a0 as yl,a1 as kl,a2 as Cl,a3 as wl,a4 as Sl,a5 as Ml,a6 as Ai,a7 as Nl,a8 as Al,a9 as Rl,aa as El,ab as $l,ac as Tl,ad as Il,ae as _l,af as Gt,ag as sa,ah as Pl,ai as Ll,aj as rr,ak as Ol,al as Ri,am as zl,an as Fl,ao as Dl,ap as Ei,aq as Bl,ar as Ul,as as ql,at as Hl,au as Vl,av as Wl,aw as pa,ax as Gl,ay as Kl,az as Aa,aA as Ql,aB as Xl,aC as Ra,aD as Jl,aE as Yl,aF as Zl,aG as ec,aH as tc,aI as nc,aJ as sc,aK as rc,aL as ac,aM as ic,aN as oc,aO as lc,aP as cc,aQ as uc,aR as dc,aS as fc}from"./App-Dg6mZIQk.js";import{C as mc}from"./cloud-upload-B9L-_gy0.js";import{A as gr}from"./arrow-up-right-C60QSULo.js";import{S as $i}from"./square-Coz7UQqd.js";import{F as Ti}from"./folder-open-BFy7KXWm.js";import{P as hc}from"./play-C4PtpamL.js";function Ii(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const pc=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],gc=Oe("arrow-down",pc);const xc=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],bc=Oe("arrow-up",xc);const vc=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],Ea=Oe("at-sign",vc);const jc=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],yc=Oe("badge-check",jc);const kc=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Cc=Oe("ban",kc);const wc=[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]],Sc=Oe("circle-dashed",wc);const Mc=[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]],Nc=Oe("cloud-download",Mc);const Ac=[["path",{d:"M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343",key:"1vfytu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0",key:"1etmh7"}]],Rc=Oe("file-headphone",Ac);const Ec=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],$c=Oe("file-spreadsheet",Ec);const Tc=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z",key:"1tzo1f"}]],Ic=Oe("file-play",Tc);const _c=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],kr=Oe("image",_c);const Pc=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],_i=Oe("lightbulb",Pc);const Lc=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],Oc=Oe("mic",Lc);const zc=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],$a=Oe("paperclip",zc);const Fc=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],Dc=Oe("presentation",Fc);const Bc=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Uc=Oe("reply",Bc);const qc=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Hc=Oe("circle-x",qc);function Vc(e){const t=Yc(e);if(t)return t;const s=Jc();let r="";const a=[],i=[],c=[];for(const h of e){if(!r&&h.label&&(r=h.label),fu(i,h.label),mu(c,h),h.kind==="command"&&h.content){Zc(s,tu(h.content));continue}eu(s,h)||du(a,h.label)}const o=[...su(s),...i,...c],u=s.runCount>0?cu(s.runCount):"",f=xu(a),v=(e.length===1&&e[0]?.kind==="command"&&e[0].content&&i.length===0&&c.length===0?Pi(e[0].content,"completed"):null)||uu(o,u)||f||r||"Ran command";return{kind:lu(s,u),text:v}}function Pi(e,t="completed"){const s=Fi(e);if(s.length===0)return null;const r=t==="running"||t==="pending";if(s.some(Di))return r?"Running shell command":"Ran shell command";const a=Li(s);if(!a)return null;const[i,c]=a;if(i==="cat"){const u=Kt(c);return u.length===0?r?"Reading standard input":"Read standard input":`${r?"Reading":"Read"} ${mn(u)}`}if(i==="sed")return Xc(vu([i,...c]),r);if(i==="rg")return ju([i,...c],r);if(["grep","ag"].includes(i)||i==="git"&&c[0]==="grep")return r?"Searching code":"Searched code";if(["ls","find","tree","fd"].includes(i)){const u=i==="ls"?Kt(c):[];return u.length===0?r?"Listing files":"Listed files":`${r?"Listing":"Listed"} files in ${mn(u)}`}if(["head","tail","nl","wc","awk","jq"].includes(i)){const u=zi(i,c);return u.length===0?r?`Running ${i}`:`Ran ${i}`:`${r?"Reading":"Read"} ${mn(u)}`}if(i==="apply_patch")return r?"Editing files":"Edited files";if(i==="write_stdin")return r?"Continuing command":"Continued command";if(i==="wait")return r?"Waiting for command":"Waited for command";if(i==="js")return r?"Running JavaScript":"Ran JavaScript";if(i==="exec_command")return r?"Running shell command":"Ran shell command";if(i==="read_file")return r?"Reading file":"Read file";if(i==="view_image")return r?"Viewing image":"Viewed image";if(i==="update_plan")return r?"Updating plan":"Updated plan";if(i==="tool_search")return r?"Searching tools":"Searched tools";if(i==="rm")return r?"Removing files":"Removed files";if(i==="mv")return r?"Moving files":"Moved files";if(i==="cp")return r?"Copying files":"Copied files";if(i==="mkdir")return r?"Creating directories":"Created directories";if(i==="touch")return r?"Creating files":"Created files";if(i==="git")return Wc(c,r);if(Qc(i))return Gc(i,c,r);if(Oi(i))return Kc(i,r);if(["curl","wget"].includes(i))return r?"Fetching URL":"Fetched URL";if(["node","tsx","python","python3","bash","sh","zsh"].includes(i))return r?`Running ${js(i)} script`:`Ran ${js(i)} script`;const o=js(i);return r?`Running ${o} command`:`Ran ${o} command`}function Wc(e,t){const s=e.find(r=>!r.startsWith("-"))??"";return s==="status"?t?"Checking Git status":"Checked Git status":s==="diff"?t?"Reviewing changes":"Reviewed changes":s==="show"||s==="log"?t?"Reading Git history":"Read Git history":s==="add"?t?"Staging changes":"Staged changes":s==="commit"?t?"Committing changes":"Committed changes":s==="push"?t?"Pushing changes":"Pushed changes":s==="pull"||s==="fetch"?t?"Fetching changes":"Fetched changes":s==="checkout"||s==="switch"?t?"Switching branches":"Switched branches":s==="branch"?t?"Listing branches":"Listed branches":t?"Running Git command":"Ran Git command"}function Gc(e,t,s){const r=t.join(" ").toLowerCase();return/\b(typecheck|tsc)\b/.test(r)?s?"Checking types":"Checked types":/\b(lint|eslint|prettier)\b/.test(r)?s?"Running lint":"Ran lint":/\b(test|vitest|jest|playwright)\b/.test(r)?s?"Running tests":"Ran tests":/\bbuild\b/.test(r)?s?"Building project":"Built project":/\b(install|add)\b/.test(r)?s?"Installing dependencies":"Installed dependencies":s?`Running ${js(e)} command`:`Ran ${js(e)} command`}function Kc(e,t){return e==="tsc"?t?"Checking types":"Checked types":e==="eslint"||e==="prettier"?t?"Running lint":"Ran lint":t?"Running tests":"Ran tests"}function Qc(e){return["bun","npm","pnpm","yarn"].includes(e)}function js(e){const t=e.split("/").filter(Boolean).at(-1)??e;return t==="python"||t==="python3"?"Python":t==="node"||t==="tsx"?"Node":["bash","sh","zsh"].includes(t)?"shell":t==="git"?"Git":t}function Xc(e,t){return!e||!t?e:e.startsWith("Read ")?`Reading ${e.slice(5)}`:e.startsWith("Run ")?`Running ${e.slice(4)}`:e}function Jc(){return{approvals:0,controlCount:0,editCount:0,goalContextUpdates:0,imageCount:0,listedFiles:0,readFileCount:0,readFiles:new Set,reasoningCount:0,runCount:0,searchedCode:0,subagentStatuses:new Map,testsOrChecks:0,turnInterruptions:0,webSearches:0}}function Yc(e){if(e.length===0)return null;const t=e.map(i=>i.subagentMessage).filter(i=>!!i);if(t.length===0||t.length!==e.length)return null;if(t.length===1){const i=t[0];return{kind:"subagent",text:`${i.direction==="received"?"Child Message Received":"Child Message Sent"}: ${i.summary}`}}const s=t.filter(i=>i.direction==="received").length,r=t.length-s,a=[s>0?Ta(s,"received"):null,r>0?Ta(r,"sent"):null].filter(i=>!!i);return{kind:"subagent",text:xr(ga(a))}}function Ta(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function Zc(e,t){e.editCount+=t.editCount??0,e.listedFiles+=t.listedFiles??0,e.searchedCode+=t.searchedCode??0,e.testsOrChecks+=t.testsOrChecks??0;for(const s of t.readFiles??[])e.readFiles.add(s);t.readFiles?.length&&(e.readFileCount+=t.readFiles.length),t.countedAsRun&&(e.runCount+=1)}function eu(e,t){const s=t.label.toLowerCase();if(t.controlKind)return e.controlCount+=1,t.controlKind==="goal_context"&&(e.goalContextUpdates+=1),t.controlKind==="turn_aborted"&&(e.turnInterruptions+=1),!0;if(s==="reasoning")return e.reasoningCount+=1,!0;if(s.includes("approval"))return e.approvals+=1,!0;if(s.includes("subagent"))return iu(e,t,r(s)),!0;if(s.includes("image"))return e.imageCount+=1,!0;function r(a){return a.includes("failed")?"failed":a.includes("blocked")?"blocked":a.includes("stale")?"stale":a.includes("needs revision")?"needs revision":a.includes("archived")?"archived":a.includes("accepted")?"accepted":a.includes("submitted")?"submitted":a.includes("completed")?"completed":"running"}return s.includes("web")?(e.webSearches+=1,!0):/\b(searching|searched)\b/.test(s)?(e.searchedCode+=1,!0):/\b(listing|listed)\b/.test(s)?(e.listedFiles+=1,!0):/\b(reading|read)\b/.test(s)?(e.readFileCount+=1,!0):/\b(editing|edited|writing|wrote|deleting|deleted|moving|moved|uploading|uploaded|creating|created)\b/.test(s)?(e.editCount+=1,!0):!1}function tu(e){const t=Fi(e);if(t.length===0||t.some(Di))return{countedAsRun:!0};const s=Li(t);if(!s)return{countedAsRun:!0};const[r,a]=s;if(r==="apply_patch")return{countedAsRun:!1,editCount:1};if(["rm","mv","cp","mkdir","touch"].includes(r))return{countedAsRun:!1,editCount:1};if(nu(r,a)||Oi(r))return{countedAsRun:!1,testsOrChecks:1};if(r==="rg")return a.includes("--files")?{countedAsRun:!1,listedFiles:1}:{countedAsRun:!1,searchedCode:1};if(["grep","ag"].includes(r))return{countedAsRun:!1,searchedCode:1};if(r==="git"&&a[0]==="grep")return{countedAsRun:!1,searchedCode:1};if(["ls","find","tree","fd"].includes(r))return{countedAsRun:!1,listedFiles:1};const i=zi(r,a);return i.length>0?{countedAsRun:!1,readFiles:i}:{countedAsRun:!0}}function Li(e){let t=0;for(;/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e[t]??"");)t+=1;const s=e[t];if(!s)return null;if(s==="bunx"||s==="npx"){const r=e[t+1];return r?[r,e.slice(t+2)]:[s,[]]}return[s,e.slice(t+1)]}function nu(e,t){if(!["bun","npm","pnpm","yarn"].includes(e))return!1;const s=t.join(" ").toLowerCase();return/\b(test|typecheck|check|lint|vitest|jest|playwright|tsc)\b/.test(s)}function Oi(e){return["eslint","jest","playwright","prettier","tsc","vitest"].includes(e)}function zi(e,t){if(e==="cat"||e==="nl"||e==="head"||e==="tail"||e==="wc")return qr(Kt(t));if(e==="sed"){const s=t.findIndex(r=>r!=="-n"&&!r.startsWith("--"));return qr(s>=0?Kt(t.slice(s+1)):[])}return e==="awk"||e==="jq"?qr(Kt(t.slice(1))):[]}function qr(e){return e.filter(t=>!(!t||t==="."||t==="-"||/^\d+$/.test(t)))}function su(e){const t=[],s=au(e);s&&t.push(s),e.editCount>0&&t.push("made edits");const r=e.readFiles.size||e.readFileCount;return r>0&&t.push(_a("read",r,"file")),e.searchedCode>0&&t.push("searched code"),e.listedFiles>0&&t.push("listed files"),e.testsOrChecks>0&&t.push(e.testsOrChecks===1?"ran checks":`ran ${e.testsOrChecks} checks`),e.webSearches>0&&t.push("searched web"),e.imageCount>0&&t.push(_a("read",e.imageCount,"image")),e.reasoningCount>0&&t.length===0&&t.push("thought through the request"),e.approvals>0&&t.push("requested approval"),t.push(...ru(e)),t}function ru(e){const t=[];e.goalContextUpdates===1&&t.push("goal context updated"),e.goalContextUpdates>1&&t.push(`${e.goalContextUpdates} goal context updates`),e.turnInterruptions===1&&t.push("turn interrupted"),e.turnInterruptions>1&&t.push(`${e.turnInterruptions} turns interrupted`);const s=e.controlCount-e.goalContextUpdates-e.turnInterruptions;return s===1&&t.push("context updated"),s>1&&t.push(`${s} context updates`),t}function au(e){const t=ou(e);return t.failed>0?Tt(t.failed,"failed"):t.blocked>0?Tt(t.blocked,"blocked"):t.stale>0?Tt(t.stale,"stale"):t["needs revision"]>0?Tt(t["needs revision"],"needs revision"):t.submitted>0?Tt(t.submitted,"submitted"):t.running>0&&t.completed===0&&t.accepted===0?Tt(t.running,"running"):t.accepted>0?Tt(t.accepted,"accepted"):t.completed>0?Tt(t.completed,"completed"):t.archived>0?Tt(t.archived,"archived"):null}function iu(e,t,s){const r=t.openSession?.sessionId??(t.content.trim()||t.id),a=e.subagentStatuses.get(r);(!a||Ia(s)>Ia(a))&&e.subagentStatuses.set(r,s)}function ou(e){const t={accepted:0,archived:0,blocked:0,completed:0,failed:0,"needs revision":0,running:0,stale:0,submitted:0};for(const s of e.subagentStatuses.values())t[s]+=1;return t}function Ia(e){return e==="running"?1:e==="submitted"?2:e==="accepted"||e==="completed"||e==="archived"?3:e==="needs revision"?4:e==="blocked"?5:e==="stale"?6:7}function Tt(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function lu(e,t){const s=[];return e.subagentStatuses.size>0&&s.push("subagent"),e.editCount>0&&s.push("edit"),(e.readFiles.size>0||e.readFileCount>0)&&s.push("read"),e.searchedCode>0&&s.push("search"),e.listedFiles>0&&s.push("list"),e.webSearches>0&&s.push("web"),e.imageCount>0&&s.push("image"),e.reasoningCount>0&&s.push("reasoning"),e.approvals>0&&s.push("approval"),e.controlCount>0&&s.push("control"),(e.testsOrChecks>0||t)&&s.push("command"),s[0]??"command"}function cu(e){return e===1?"ran a command":`ran ${e} commands`}function _a(e,t,s){return t===1?`${e} a ${s}`:`${e} ${t} ${s}s`}function uu(e,t){return e.length===0?t?xr(t):"":xr(ga(t?[...e,t]:e))}function du(e,t){const s=t.trim();s&&(e.includes(s)||e.push(s))}function fu(e,t){const s=hu(t);!s||e.includes(s)||e.push(s)}function mu(e,t){const s=t.receipt;if(!s)return;const r=`${s.status} receipt ${gu(s.id)} ${pu(s.totalUsd)}`;e.includes(r)||e.push(r)}function hu(e){switch(e.trim().toLowerCase()){case"applied locally":return"applied locally";case"apply locally failed":return"apply locally failed";case"exported sandbox patch":return"exported patch";case"patch export failed":return"patch export failed";case"preserved sandbox source":return"preserved sandbox source";case"preserve failed":return"preserve failed";case"stopped sandbox":return"stopped sandbox";case"sandbox stop failed":return"sandbox stop failed";default:return null}}function pu(e){const t=e.trim();return t.startsWith("$")?t:`$${t}`}function gu(e){const t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function xu(e){return e.length===0?"":xr(ga(e.map(bu)))}function bu(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function ga(e){return e.length===0?"":e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function xr(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function vu(e){const t=e.findIndex((i,c)=>c>0&&i!=="-n"&&!i.startsWith("--")),s=t>=0?e[t]??"":"",r=t>=0?Kt(e.slice(t+1)):[],a=/^(\d+)(?:,(\d+))?p$/.exec(s);if(a){const i=a[1],c=a[2],o=c?`lines ${i}-${c}`:`line ${i}`;return r.length>0?`Read ${o} of ${mn(r)}`:`Read ${o}`}return r.length>0?`Read ${mn(r)} with sed`:"Run sed"}function ju(e,t=!1){const s=e.slice(1);if(s.includes("--files")){const c=Kt(s.filter(o=>o!=="--files"));return c.length>0?`${t?"Listing":"Listed"} files matching ${mn(c)}`:t?"Listing files":"Listed files"}const r=Kt(s),a=r[0],i=r.slice(1);return a?i.length>0?`${t?"Searching":"Searched"} for ${Pa(a)} in ${mn(i)}`:`${t?"Searching":"Searched"} for ${Pa(a)}`:t?"Searching files":"Searched files"}function Fi(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(s=>yu(s)).filter(Boolean)}function yu(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Di(e){return["|","&&","||",";",">",">>","<","(",")"].includes(e)}function Kt(e){const t=[];for(let s=0;s<e.length;s+=1){const r=e[s];if(!r.startsWith("-")){t.push(r);continue}ku(r)&&s+1<e.length&&(s+=1)}return t}function ku(e){return["-e","-f","-g","--glob","--type","-t","--context","-C","-A","-B","-m","-n","-c"].includes(e)}function mn(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function Pa(e){return`"${e}"`}const La=Object.freeze({events:[],messages:[]});class Cu{projection=La;project(t){if(t===this.projection.events)return this.projection.messages;if(!Mu(this.projection.events,t))return this.replace(t);const s=t.slice(this.projection.events.length);if(s.length===0)return this.projection={events:t,messages:this.projection.messages},this.projection.messages;const r=wu(this.projection.messages,s);if(r)return this.projection={events:t,messages:r},r;const a=Su(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),c=new Set(i.flatMap(f=>f.turnId?[f.turnId]:[])),u=[...this.projection.messages.filter(f=>!f.turnId||!c.has(f.turnId)),...wa(i)];return this.projection={events:t,messages:u},u}reset(){this.projection=La}snapshot(){return this.projection}replace(t){const s=wa(t);return this.projection={events:t,messages:s},s}}function wu(e,t){if(t.length===0||e.length===0)return null;const s=e[e.length-1];if(s?.role!=="assistant"||s.createImproveRun||t.some(f=>f.name!=="assistant.delta"&&f.name!=="assistant.reasoning.delta"||f.turnId!==s.turnId||!f.output))return null;let r=s.content,a=s.reasoningContent,i=s.timestamp,c=!1,o=!1;for(const f of t)f.name==="assistant.delta"?(r=`${r??""}${f.output}`,c=!0):(a=`${a??""}${f.output}`,o=!0),i=f.timestamp;const u={...s,...c?{content:r}:{},...o?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),u]}function Su(e,t){const s=e[t];if(!s?.turnId)return null;const r=e.findIndex(a=>a.turnId===s.turnId);return r<0?null:{eventIndex:r}}function Mu(e,t){return e.length===0?!0:e.length>=t.length?!1:e[0]===t[0]&&e[e.length-1]===t[e.length-1]}function Nu(e,t){const s=l.useCallback(i=>t?e.subscribeSession(t,i):()=>{},[t,e]),r=l.useCallback(()=>e.getSessionSnapshot(t),[t,e]),a=l.useSyncExternalStore(s,r,r);return l.useEffect(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),a}function Au(e){async function t(s,r){const a=(r??e.getPrompt()).trim();if(!e.running||!a)return!1;if(e.hasFilesOrActions)return e.showToast("Steering supports a plain-text instruction. Remove files or actions before sending it.","info"),!1;if(s==="queued"&&!e.inbox.enabled)return e.stageLocal(a),e.clear(),!0;if(!e.begin(e.scope))return!1;e.setError(null);try{const i=e.inbox.enabled?s==="steer"?await e.inbox.steer(a):await e.inbox.queue({prompt:a,modelRef:{providerId:e.provider,modelId:e.model},...e.provider==="codex"?Zo(e.codexPermissionMode):{approvalPolicy:"on-request",sandbox:"workspace-write"},codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort}):await e.onSubmit([],null,null,{preservePrompt:!0,promptOverride:a,turnMetadata:{interactionKind:"steer"}});return i&&(!e.getCurrentSubmissionScopeKey||e.getCurrentSubmissionScopeKey()===e.scope)&&e.clear(),i}catch(i){return e.setError(i instanceof Error?i.message:String(i)),!1}finally{e.finish(e.scope)}}return{stageCurrentSteerDraft:s=>t("queued",s),submitImmediateSteer:s=>t("steer",s)}}function Ru(e,t){const s=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\$([a-zA-Z][a-zA-Z0-9_-]*)?$/.exec(s);if(!r||typeof r.index!="number")return null;const a=r[0].lastIndexOf("$");return a<0?null:{end:s.length,query:(r[1]??"").toLowerCase(),start:r.index+a}}function Cr(e){return`$${e.name}`}function Eu(e,t,s){const r=Math.max(0,Math.min(t.start,e.length)),a=Math.max(r,Math.min(t.end,e.length)),i=e.slice(0,r),c=e.slice(a),o=i&&!/\s$/.test(i)?" ":"",u=c&&/^\s/.test(c)?"":" ",f=`${o}${Cr(s)}${u}`;return{cursor:i.length+f.length-(c?u.length:0),value:`${i}${f}${c}`}}function ur(e,t,s){const r=t.trim().toLowerCase(),a=e.filter(i=>i.enabled&&i.validationStatus==="valid").filter(i=>r?[i.name,i.description,i.path].join(" ").toLowerCase().includes(r):!0).sort((i,c)=>i.name.localeCompare(c.name));return typeof s=="number"&&Number.isFinite(s)?a.slice(0,Math.max(0,s)):a}function Bi(e,t,s){const r=t.trim().replace(/\s+/g," "),a=$u(s,e.length);if(!r)return{value:e,cursorIndex:a};const i=e.slice(0,a),c=e.slice(a),o=i&&!/\s$/.test(i)?" ":"",u=c&&!/^\s/.test(c)?" ":"",f=`${o}${r}${u}`;return{value:`${i}${f}${c}`,cursorIndex:i.length+o.length+r.length+u.length}}function $u(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Tu({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:s,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:c,transcript:o}){const u=Bi(a,o,e?a.length:s);return i(u.value),t===r?"drafted":await c(u.value)?(i(""),"submitted"):"retained"}const Kn=new Map,dr=new Map,fr=new Map;function Oa(e){for(const t of dr.get(e)??[])t()}function Iu(e){return Kn.has(e)}function _u(e,t){const s=dr.get(e)??new Set;return s.add(t),dr.set(e,s),()=>{s.delete(t),s.size===0&&dr.delete(e)}}function Ui(e){Kn.get(e)?.controller.abort()}function Pu(e,t){const s=fr.get(e)??new Set;return s.add(t),fr.set(e,s),()=>{s.delete(t),s.size===0&&fr.delete(e)}}function Lu(e){const t=Kn.get(e);if(t)return t.submitRequested=!0,!0;for(const s of fr.get(e)??[])if(s())return!0;return!1}function Ou(e,t,s={}){Ui(e);const r=new AbortController,a={controller:r,promise:Promise.resolve(),submitRequested:s.submit??!1};return a.promise=Promise.resolve().then(()=>{if(!r.signal.aborted)return t(r.signal,()=>a.submitRequested)}).catch(i=>{if(!r.signal.aborted)throw i}).finally(()=>{Kn.get(e)===a&&(Kn.delete(e),Oa(e))}),Kn.set(e,a),Oa(e),a.promise}const zu=new Set(["task.inbox","task.input","task.wait","turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved"]);function za(e){try{const t=JSON.parse(sessionStorage.getItem(e)??"null");return t&&typeof t.body=="string"&&typeof t.key=="string"&&(t.kind==="steer"||t.kind==="queued")?t:null}catch{return null}}function Fu(e,t,s,r=!0){const a=el(),i=tl(e),c=l.useMemo(()=>["task-inbox",i,t],[i,t]),o=!!(e&&t),u=nl({queryKey:c,enabled:o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>sr.taskInbox(e,t)}),[f,p]=l.useState(null),[v,h]=l.useState(null),m=`${i}:${t}`;let g;for(let M=s.length-1;M>=0;M--){const j=s[M];if(j.sessionId===t&&zu.has(j.name)){g=j.id;break}}const x=l.useCallback(async()=>{o&&await a.invalidateQueries({queryKey:c,exact:!0})},[o,a,c]);l.useEffect(()=>{x()},[x,g]),l.useEffect(()=>{const M=()=>{x()};return window.addEventListener("openpond-runtime-connected",M),()=>window.removeEventListener("openpond-runtime-connected",M)},[x]);async function E(M,j){if(!o)return!1;p({scope:m,id:M}),h(null);try{const N=await j();return await a.cancelQueries({queryKey:c,exact:!0}),a.setQueryData(c,y=>y&&{...y,inputs:[...y.inputs.filter(A=>A.id!==N.id),N].sort((A,R)=>A.sequence-R.sequence)}),x(),!0}catch(N){return h({scope:m,message:N instanceof Error?N.message:String(N)}),x(),!1}finally{p(N=>N?.scope===m&&N.id===M?null:N)}}async function S(M,j,N){if(!e||!t)return!1;if(M==="steer"&&!r)return h({scope:m,message:"This agent accepts follow-ups on its next turn. Queue your message instead."}),!1;const y=`openpond:task-input:${e.serverUrl}:${t}`,A=za(y),R=A?.body===j&&A.kind===M,U=R?A:{body:j,kind:M,request:N,key:crypto.randomUUID(),turnId:M==="steer"?u.data?.activeTurnId??null:null};if(M==="steer"&&(!U.turnId||!R&&!u.data?.acceptingInput))return h({scope:m,message:"This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it."}),x(),!1;try{sessionStorage.setItem(y,JSON.stringify(U))}catch{}const H=await E(U.key,async()=>{let K;try{K=await(M==="steer"?sr.steerTurn(e,t,{prompt:j,expectedTurnId:U.turnId,idempotencyKey:U.key}):sr.queueTaskInput(e,t,U.request,U.key))}catch(q){if(q instanceof Ci&&q.status>=400&&q.status<500)try{sessionStorage.removeItem(y)}catch{}throw q}if(K.state==="rejected"||K.state==="cancelled"){try{sessionStorage.removeItem(y)}catch{}throw new Error(K.error??"This input was cancelled. Review your text before sending again.")}return K});if(H)try{za(y)?.key===U.key&&sessionStorage.removeItem(y)}catch{}return H}return{enabled:o,snapshot:u.data?{...u.data,acceptingInput:u.data.acceptingInput&&r}:null,busyId:f?.scope===m?f.id:null,error:v?.scope===m?v.message:u.error?.message??null,steer:M=>S("steer",M),queue:M=>S("queued",M.prompt,M),mutate:(M,j)=>E(M.id,()=>sr.updateTaskInput(e,t,M.id,j)),refresh:x}}function Du(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function ys(e,t=120){const s=e.trim().replace(/\s+/g," ");return s.length<=t?s:`${s.slice(0,Math.max(0,t-1)).trimEnd()}...`}function qi(e,t={}){const s=t.now??new Date().toISOString();return{createdAt:s,id:t.id??Du(),prompt:e,updatedAt:s}}function Hi(e,t){return e.filter(s=>s.id!==t)}function Bu(e,t,s){const r=s?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[qi(r)]:[])}function Uu(e,t,s){return s?Hi(e,t):e}function ra(e,t,s=[]){return e[t]??s}function qu(e,t,s,r=[]){const a=ra(e,t,r),i=s(a);return Object.is(a,i)?e:{...e,[t]:i}}function Hu({inbox:e,onRestore:t}){const[s,r]=l.useState(null),a=e.snapshot,i=a?.inputs.filter(u=>u.senderKind==="user"&&u.kind==="queued"&&u.state==="pending")??[],c=a?.inputs.filter(u=>u.state!=="cancelled"&&!i.some(f=>f.id===u.id)).slice(-8)??[],o=s?.input.sessionId===a?.sessionId?s:null;return!i.length&&!c.length&&!a?.waits.length&&!e.error?null:n.jsxs("section",{className:"task-inbox-panel","aria-label":"Task inbox",children:[e.error&&n.jsxs("p",{className:"task-inbox-error",role:"alert",children:[e.error," ",n.jsx("button",{type:"button",onClick:()=>{e.refresh()},children:"Refresh"})]}),a?.waits.map(u=>n.jsxs("p",{className:"task-inbox-status",role:"status",children:[u.targetSessionId?`Waiting for task ${u.targetSessionId}`:"Waiting for a message",". Work resumes when an update arrives."]},u.id)),i.length>0&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"task-inbox-heading",children:[n.jsxs("span",{children:[i.length," queued"]}),a?.paused&&n.jsx("span",{children:"Paused — messages stay saved"}),!a?.activeTurnId&&n.jsx("button",{type:"button",disabled:!!e.busyId,onClick:()=>{e.mutate(i[0],{action:"resume",expectedRevision:i[0].revision})},children:"Resume queue"})]}),i.map(u=>n.jsx("div",{className:"task-inbox-item",children:o?.input.id===u.id?n.jsxs(n.Fragment,{children:[n.jsx("textarea",{"aria-label":"Edit queued message",value:o.body,maxLength:32e3,onChange:f=>r({...o,body:f.target.value})}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("button",{type:"button",disabled:!o.body.trim()||!!e.busyId,onClick:async()=>{await e.mutate(o.input,{action:"edit",expectedRevision:o.input.revision,body:o.body})&&r(null)},children:"Save changes"}),n.jsx("button",{type:"button",onClick:()=>r(null),children:"Cancel edit"})]})]}):n.jsxs(n.Fragment,{children:[n.jsx("p",{title:u.body,children:ys(u.body,220)}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("span",{children:u.turnId?"Starting":"Next turn"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!u.turnId||!a?.acceptingInput,onClick:()=>{e.mutate(u,{action:"steer",expectedRevision:u.revision,expectedTurnId:a.activeTurnId})},children:"Steer now"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!u.turnId,onClick:()=>r({input:u,body:u.body}),children:"Edit"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!u.turnId,onClick:()=>{e.mutate(u,{action:"cancel",expectedRevision:u.revision})},children:"Delete"})]})]})},u.id))]}),c.length>0&&n.jsxs("details",{className:"task-inbox-activity",open:c.some(u=>u.state==="rejected"||!!u.error),children:[n.jsxs("summary",{children:["Messages and delivery (",c.length,")"]}),c.map(u=>n.jsxs("div",{className:"task-inbox-item",children:[n.jsxs("div",{className:"task-inbox-heading",children:[n.jsx("span",{children:u.senderKind==="user"?"Your instruction":u.senderKind==="runtime"?"Task update":`Task ${u.senderSessionId}`}),n.jsx("span",{children:Vu(u)})]}),n.jsx("p",{children:ys(u.body,320)}),u.error&&n.jsx("p",{className:"task-inbox-error",children:u.error}),(u.state==="rejected"||u.error)&&u.senderKind==="user"&&n.jsx("button",{type:"button",onClick:()=>t(u.body),children:"Use as follow-up"})]},u.id)),n.jsx("p",{className:"task-inbox-status",children:"Delivery shows when input reached a model request. It does not confirm understanding or a reply."})]})]})}function Vu(e){return e.state==="pending"?"Saved · pending delivery":e.state==="included"?"Included":e.state==="resolved"?"Request finished":e.state==="rejected"?"Not delivered":"Cancelled"}const Vi=new Set(["claude-code","opencode","grok-build"]);function Wu({currentModelOptions:e,currentProvider:t,providerOptions:s,providerSettings:r}){return s.flatMap(a=>{if(a.value==="setup-provider")return[];const i=a.value,c=i===t?e:ua(i,r);return c.length||Vi.has(i)?[{provider:i,label:a.label,defaultModel:wi(i,r),options:c}]:[]})}function Gu(e){const t=e.options.find(s=>s.value===e.defaultModel)??e.options[0];return!t&&!Vi.has(e.provider)?null:{provider:e.provider,model:t?.value??""}}function Wi({busy:e,placement:t,state:s,onChange:r}){const[a,i]=l.useState(!1),[c,o]=l.useState(""),u=l.useRef(null),f=l.useMemo(()=>{const p=c.trim().toLowerCase();return p?s.options.filter(v=>`${v.label} ${v.detail}`.toLowerCase().includes(p)):s.options},[c,s.options]);return l.useEffect(()=>{if(!a){o("");return}function p(h){u.current?.contains(h.target)||i(!1)}function v(h){h.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",p),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",v)}},[a]),s.options.length<=1?null:n.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:u,children:[n.jsxs("button",{type:"button",className:`composer-profile-trigger ${a?"active":""}`,disabled:e,"aria-label":"Profile","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(p=>!p),children:[n.jsx("span",{children:s.label}),n.jsx(Pt,{size:14})]}),a?n.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Profile",children:[n.jsx("div",{className:"composer-menu-search",children:n.jsx("input",{autoFocus:!0,value:c,placeholder:"Search profiles",onChange:p=>o(p.currentTarget.value)})}),n.jsx("div",{className:"composer-menu-items",children:f.map(p=>{const v=p.value===s.value;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":v,className:`composer-project-option ${v?"selected":""}`,onClick:()=>{r(p.value),i(!1)},children:[n.jsxs("span",{children:[n.jsx("strong",{children:p.label}),n.jsx("small",{children:p.detail})]}),v?n.jsx(_t,{size:14}):null]},p.value)})})]}):null]})}function Ku({busy:e,placement:t,state:s,onChange:r}){const[a,i]=l.useState(!1),[c,o]=l.useState(!1),[u,f]=l.useState(""),p=l.useRef(null),h=s.value==="none"?"Select Project":s.label,m=s.options.find(j=>j.value===s.value)?.kind??"local",g=l.useMemo(()=>{const j=u.trim().toLowerCase();return j?s.options.filter(N=>[N.label,N.detail].filter(Boolean).some(y=>y.toLowerCase().includes(j))):s.options},[u,s.options]),x=g.filter(j=>j.kind==="local"||j.kind==="cloud"),E=g.filter(j=>j.kind==="action"),S=g.filter(j=>j.kind==="none");l.useEffect(()=>{if(!a){f(""),o(!1);return}function j(y){p.current?.contains(y.target)||i(!1)}function N(y){y.key==="Escape"&&(c?o(!1):i(!1))}return document.addEventListener("pointerdown",j),document.addEventListener("keydown",N),()=>{document.removeEventListener("pointerdown",j),document.removeEventListener("keydown",N)}},[c,a]);function M(j){const N=j.value===s.value,y=e||j.disabled,A=j.kind==="action";return n.jsxs("button",{type:"button",role:A?"menuitem":"menuitemradio","aria-checked":A?void 0:N,className:`composer-project-option ${N?"selected":""} ${j.kind}`,disabled:y,onClick:()=>{r(j.value),o(!1),i(!1)},children:[n.jsx(aa,{kind:j.kind,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:j.label}),n.jsx("small",{children:j.detail})]}),N&&n.jsx(_t,{size:14})]},j.value)}return n.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:p,children:[n.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${m}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(j=>!j),o(!1)},children:[n.jsx(aa,{kind:m,size:14}),n.jsx("span",{children:h}),n.jsx(Pt,{size:14})]}),a&&n.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Project",children:[n.jsx("div",{className:"composer-menu-search",children:n.jsx("input",{autoFocus:!0,value:u,placeholder:"Search projects",onChange:j=>f(j.target.value)})}),n.jsx("div",{className:"composer-menu-items",children:g.length===0?n.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):x.map(M)}),E.length>0||S.length>0?n.jsxs("div",{className:"composer-project-actions",children:[E.length>0?n.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${c?"selected":""}`,"aria-haspopup":"menu","aria-expanded":c,onClick:()=>o(j=>!j),children:[n.jsx(pr,{size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:"New"}),n.jsx("small",{children:"Create or add a project"})]}),n.jsx(cr,{size:14})]}):null,S.map(M)]}):null]}),a&&c?n.jsxs("div",{className:"composer-project-new-menu",role:"menu","aria-label":"New project",children:[n.jsxs("button",{type:"button",role:"menuitem",className:"composer-project-new-menu-back",onClick:()=>o(!1),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"New project"})]}),E.map(M)]}):null]})}function aa({kind:e,size:t}){return e==="cloud"?n.jsx(Zr,{size:t}):e==="action"?n.jsx(pr,{size:t}):n.jsx(ea,{size:t})}function Qu({busy:e,placement:t,state:s,onChange:r}){const[a,i]=l.useState(!1),c=l.useRef(null),o=s.value==="cloud"?"cloud":s.value==="hybrid"?"hybrid":"local",u=`${s.label}: ${s.detail}`,f=s.uploadAction??null,p=f?Fa(f):null,v=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${p??f.detail}`:null,h=!!(f&&(e||s.busy||f.disabled));return l.useEffect(()=>{if(!a)return;function m(x){c.current?.contains(x.target)||i(!1)}function g(x){x.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",m),document.addEventListener("keydown",g),()=>{document.removeEventListener("pointerdown",m),document.removeEventListener("keydown",g)}},[a]),n.jsxs("div",{className:`workspace-action-control ${t==="top"?"open-up":""}`,ref:c,children:[n.jsxs("button",{type:"button",className:`workspace-action-trigger ${o} ${a?"active":""}`,disabled:e,"data-tooltip":u,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(m=>!m),children:[n.jsx(mr,{value:s.value,size:14}),n.jsx("span",{className:"workspace-target-trigger-label",children:s.label}),n.jsx(Pt,{size:14})]}),f?n.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:h,"data-tooltip":v??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:n.jsx(mr,{value:f.value,size:14})}):null,a&&n.jsx("div",{className:"workspace-target-menu",role:"menu","aria-label":"Working in",children:s.options.map(m=>{const g=m.value===s.value,x=e||s.busy||m.disabled,S=Fa(m)??m.detail,M=m.disabled&&m.disabledReason?m.disabledReason:`${m.label}: ${S}`;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":g,className:`workspace-target-option ${g?"selected":""} ${m.value}`,disabled:x,"data-tooltip":M,onClick:()=>{r(m.value),i(!1)},children:[n.jsx(mr,{value:m.value,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:m.label}),n.jsx("small",{children:S})]}),g&&n.jsx(_t,{size:14})]},m.value)})})]})}function Xu({project:e,workspace:t}){const r=e.options.find(i=>i.value===e.value)?.kind??"none",a=e.value==="none"?"No Project":e.label;return n.jsxs("div",{className:"composer-footer composer-pinned-context",role:"group","aria-label":"Task context",children:[n.jsxs("span",{className:"composer-context-chip","aria-label":`Project: ${a}`,children:[n.jsx(aa,{kind:r,size:14}),n.jsx("span",{children:a})]}),n.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[n.jsx(mr,{value:t.value,size:14}),n.jsx("span",{children:t.label})]})]})}function Fa(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function mr({value:e,size:t}){return e==="cloud"?n.jsx(Zr,{size:t}):e==="hybrid"?n.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[n.jsx(ea,{className:"hybrid-folder",size:t}),n.jsx(Zr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?n.jsx(mc,{size:t}):n.jsx(ea,{size:t})}function Da({disabled:e,model:t,modelGroups:s,placement:r,provider:a,providerSettings:i,reasoningEffort:c,showReasoning:o,onModelSelectionChange:u,onReasoningEffortChange:f}){const[p,v]=l.useState(!1),[h,m]=l.useState("root"),g=l.useRef(null),x=s.find(R=>R.provider===a),E=x?.options.find(R=>R.value===t),S=sl(a,t,i),M=rl(a,t,c,i),j=S.find(R=>R.value===M)??S[0],N=Ju(E?.label??t)||x?.label||a,y=o?`${N} ${j.shortLabel??j.label}`:N,A=o?"Model and reasoning":"Model";return l.useEffect(()=>{if(!p){m("root");return}function R(H){g.current?.contains(H.target)||v(!1)}function U(H){H.key==="Escape"&&v(!1)}return document.addEventListener("pointerdown",R),document.addEventListener("keydown",U),()=>{document.removeEventListener("pointerdown",R),document.removeEventListener("keydown",U)}},[p]),l.useEffect(()=>{!o&&h==="effort"&&m("root")},[h,o]),n.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":A,ref:g,children:[n.jsxs("button",{type:"button",className:`codex-model-trigger ${p?"active":""}`,disabled:e,"aria-label":A,"aria-haspopup":"menu","aria-expanded":p,onClick:()=>v(R=>!R),children:[n.jsx("span",{children:y}),n.jsx(Pt,{size:14})]}),p&&n.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":A,children:h==="root"?n.jsxs("div",{className:"codex-model-menu-root",children:[n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>m("provider"),children:[n.jsx("span",{children:"Provider"}),n.jsx("span",{className:"codex-model-menu-value",children:x?.label??a}),n.jsx(cr,{size:14})]}),n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>m("model"),children:[n.jsx("span",{children:"Model"}),n.jsx("span",{className:"codex-model-menu-value",children:ta(E?.label??t)||"Agent default"}),n.jsx(cr,{size:14})]}),o?n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>m("effort"),children:[n.jsx("span",{children:"Effort"}),n.jsx("span",{className:"codex-model-menu-value",children:j.shortLabel??j.label}),n.jsx(cr,{size:14})]}):null]}):h==="provider"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Provider",onClick:()=>m("root"),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"Provider"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),n.jsx("div",{className:"codex-model-menu-options",children:s.map(R=>{const U=R.provider===a;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":U,className:U?"selected":"",onClick:()=>{const H=Gu(R);H&&(u(H.provider,H.model),m("root"))},children:[n.jsx("span",{children:R.label}),U?n.jsx(_t,{size:14}):null]},R.provider)})})]}):h==="model"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Model",onClick:()=>m("root"),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"Model"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),n.jsxs("div",{className:"codex-model-menu-options",children:[(x?.options??[]).map(R=>{const U=R.value===t;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":U,className:U?"selected":"",onClick:()=>{u(a,R.value),m("root")},children:[n.jsx("span",{children:ta(R.label)}),U?n.jsx(_t,{size:14}):null]},R.value)}),x?.options.length?null:n.jsx("div",{className:"codex-model-menu-empty",role:"status",children:"No models available. Connect or check this provider in Settings."})]})]}):n.jsxs("div",{className:"codex-model-menu-effort",children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Effort",onClick:()=>m("root"),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"Effort"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),S.map(R=>n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":R.value===M,className:R.value===M?"selected":"",onClick:()=>{f(R.value),m("root")},children:[n.jsx("span",{children:R.label}),R.value===M?n.jsx(_t,{size:14}):null]},R.value))]})})]})}function Ju(e){return ta(e).replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function Yu({detailsOpen:e,goalRuntime:t,objectiveId:s,subagentRuntime:r,onToggleDetails:a}){const i=r?.activeCount?`${t.tooltip}. ${r.tooltip}`:t.tooltip;return n.jsxs("div",{className:`composer-goal-strip ${t.tone}${r?.activeCount?" has-subagents":""}`,"data-tooltip":i,children:[n.jsx("div",{className:"composer-goal-heading",children:n.jsxs("button",{type:"button",className:"composer-goal-toggle","aria-expanded":e,"aria-controls":s,onClick:a,children:[n.jsx("span",{children:t.actionLabel}),n.jsxs("span",{className:"composer-goal-toggle-meta",children:[r?n.jsx("span",{className:"composer-goal-subagent-count",children:r.label}):null,n.jsx("span",{children:t.timeLabel}),n.jsx(Pt,{size:15,"aria-hidden":"true"})]})]})}),e&&n.jsxs("div",{className:"composer-goal-objective",id:s,children:[t.objective,r?n.jsx("span",{className:"composer-goal-subagent-summary",children:r.tooltip}):null]})]})}function Zu({drafts:e,sendingDraftId:t,onDeleteDraft:s,onEditDraft:r,onSteerDraft:a}){return e.length===0?null:n.jsx("div",{className:"composer-steer-stack","aria-label":"Steer drafts",children:e.map(i=>{const c=t===i.id,o=ys(i.prompt);return n.jsxs("div",{className:`composer-steer-row ${c?"sending":""}`,children:[n.jsx("span",{className:"composer-steer-row-icon","aria-hidden":"true",children:n.jsx(Uc,{size:13})}),n.jsx("span",{className:"composer-steer-row-text",title:i.prompt,children:o}),n.jsxs("button",{type:"button",className:"composer-steer-row-action primary",disabled:c,"aria-label":`Steer: ${ys(i.prompt,60)}`,onClick:()=>a(i.id),children:[n.jsx(gr,{size:12}),n.jsx("span",{children:c?"Sending":"Steer"})]}),n.jsx("button",{type:"button",className:"composer-steer-row-icon-button",disabled:c,"data-tooltip":"Delete steer draft","aria-label":"Delete steer draft",onClick:()=>s(i.id),children:n.jsx(Uo,{size:13})}),n.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:c,"aria-label":`Edit: ${ys(i.prompt,60)}`,onClick:()=>r(i),children:n.jsx("span",{children:"Edit"})})]},i.id)})})}const ed=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,td=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,nd=new Set(["about","apps","collections","codespaces","contact","customer-stories","enterprise","events","explore","features","issues","login","marketplace","mobile","new","notifications","orgs","organizations","pricing","pulls","readme","search","settings","sponsors","team","topics","trending"]),sd=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function rd(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function ad(e){return e==="github"?nd:sd}function Gi(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;id(t);)t=t.slice(0,-1);return t}function id(e){const t=e.at(-1);if(!t||!")]}".includes(t))return!1;const s=t===")"?"(":t==="]"?"[":"{";let r=0;for(const a of e)a===s&&(r+=1),a===t&&(r-=1);return r<0}function od(e){return e.replace(/\.git$/i,"")}function Ki(e){try{return decodeURIComponent(e)}catch{return e}}function ld(e){return od(Ki(e.trim()))}function Qi(e){const t=e.host.toLowerCase().replace(/^www\./,""),s=rd(t);if(!s)return null;const r=Ki(e.owner?.trim()??""),a=ld(e.repo??"");return!r||!a||ad(s).has(r.toLowerCase())?null:{end:e.end,host:t,label:`${r}/${a}`,provider:s,repo:a,start:e.start,url:e.url,owner:r}}function cd(e,t){const s=Gi(e);if(!s)return null;try{const r=new URL(/^https?:\/\//i.test(s)?s:`https://${s}`),a=r.pathname.split("/").filter(Boolean);return Qi({end:t+s.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:s})}catch{return null}}function ud(e,t){const s=Gi(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(s);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Qi({end:t+s.length,host:a,owner:i[0],repo:i[1],start:t,url:s})}function Ba(e,t,s){const r=[];t.lastIndex=0;let a;for(;a=t.exec(e);){const i=a[0]??"",c=s(i,a.index);c&&r.push(c)}return r}function dd(e){if(!e)return[];const t=[...Ba(e,ed,cd),...Ba(e,td,ud)].sort((r,a)=>r.start-a.start||a.end-r.end),s=[];for(const r of t)s.some(a=>r.start<a.end&&r.end>a.start)||s.push(r);return s.sort((r,a)=>r.start-a.start)}const fd=10,md=340,hd=320,pd=160,gd=56;function It(e,t=0){const s=Number.parseFloat(e);return Number.isFinite(s)?s:t}function Hr(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),s=It(t.fontSize,16),r=It(t.lineHeight,s*1.45),a=It(t.paddingTop)+It(t.paddingBottom),i=It(t.borderTopWidth)+It(t.borderBottomWidth),c=It(t.minHeight,66),o=Math.max(c,Math.ceil(r*fd+a+i)),u=Math.max(c,Math.min(e.scrollHeight,o));e.style.height=`${u}px`,e.style.overflowY=e.scrollHeight>o?"auto":"hidden"}function Vr(e,t){const s=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=It(a.paddingLeft,14),c=It(a.paddingTop,15),o=Math.max(0,r.width-16),u=Math.min(md,o),f=s.left-r.left+i-8,p=Math.max(8,Math.min(f,r.width-u-8)),v=Math.max(8,s.top-r.top+c+2);return{left:p,top:v,width:u}}function xd(e){const t=e.getBoundingClientRect(),s=Math.floor(t.top-gd);return{maxHeight:Math.max(pd,Math.min(hd,s))}}const bd="[data-inline-token='true']",vd="[data-inline-repo-link='true']",jd="[data-inline-connected-app-mention='true']";function ks(e){return e instanceof HTMLElement&&e.matches(bd)}function Cs(e){return e instanceof HTMLElement&&e.matches(vd)}function ws(e){return e instanceof HTMLElement&&e.matches(jd)}function br(e,t){return Math.max(0,Math.min(e,t))}function Qn(e,t){return e?br(e.position,t.length):null}function yd(e,t,s,r=!1){const a=Qn(t,s),i=br(e,s.length);return a===null?i:i>a||r&&i===a?i+1:i}function Ua(e,t,s){const r=Qn(t,s);return br(r===null?e:e>r?e-1:e,s.length)}function Wr(e){let t="",s=null;function r(a){if(Cs(a)){t+=a.dataset.repoUrl??"";return}if(ws(a)){t+=a.dataset.connectedMentionText??"";return}if(ks(a)){s=t.length;return}if(a.nodeType===Node.TEXT_NODE){t+=a.textContent??"";return}a instanceof HTMLBRElement||a.childNodes.forEach(r)}return e.childNodes.forEach(r),{text:t,tokenPosition:s}}function hn(e){if(Cs(e))return e.dataset.repoUrl?.length??0;if(ws(e))return e.dataset.connectedMentionText?.length??0;if(ks(e))return 1;if(e.nodeType===Node.TEXT_NODE)return e.textContent?.length??0;if(e instanceof HTMLBRElement)return 0;let t=0;return e.childNodes.forEach(s=>{t+=hn(s)}),t}function qa(e,t,s){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(c){if(!a){if((ks(c)||Cs(c)||ws(c))&&(c===t||c.contains(t))){(c!==t||s>0)&&(r+=hn(c)),a=!0;return}if(ks(c)||Cs(c)||ws(c)){r+=hn(c);return}if(c===t){if(c.nodeType===Node.TEXT_NODE)r+=s;else{const o=Array.from(c.childNodes).slice(0,s);for(const u of o)r+=hn(u)}a=!0;return}if(c.nodeType===Node.TEXT_NODE){r+=c.textContent?.length??0;return}c instanceof HTMLBRElement||c.childNodes.forEach(i)}}return i(e),a?r:null}function Gr(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const s=qa(e,t.anchorNode,t.anchorOffset),r=qa(e,t.focusNode,t.focusOffset);return s===null||r===null?null:{anchor:s,focus:r}}function Ha(e,t){let s=Math.max(0,t);function r(c){const o=c.parentNode;return o?{node:o,offset:Array.prototype.indexOf.call(o.childNodes,c)}:{node:e,offset:0}}function a(c){const o=r(c);return{node:o.node,offset:o.offset+1}}function i(c){if(ks(c)||Cs(c)||ws(c)){const o=hn(c);return s<=0?r(c):s<=o?a(c):(s-=o,null)}if(c.nodeType===Node.TEXT_NODE){const o=c.textContent?.length??0;return s<=o?{node:c,offset:s}:(s-=o,null)}if(c instanceof HTMLBRElement)return null;for(const o of c.childNodes){const u=i(o);if(u)return u}return null}return i(e)??{node:e,offset:e.childNodes.length}}function Xi(e,t){const s=window.getSelection();if(!s)return;const r=Ha(e,t.anchor),a=Ha(e,t.focus);if(s.removeAllRanges(),typeof s.setBaseAndExtent=="function"){s.setBaseAndExtent(r.node,r.offset,a.node,a.offset);return}const i=document.createRange(),c=t.anchor<=t.focus,o=c?r:a,u=c?a:r;i.setStart(o.node,o.offset),i.setEnd(u.node,u.offset),s.addRange(i)}function kd(e,t){Xi(e,{anchor:t,focus:t})}function Va(e){document.execCommand("insertText",!1,e)}function Cd(e){return e==="plus"?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>':e==="bot"?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg>':e==="skill"?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V5a2 2 0 0 1 2-2h5a3 3 0 0 1 3 3v15a3 3 0 0 0-3-3Z"></path><path d="M21 18a1 1 0 0 0 1-1V5a2 2 0 0 0-2-2h-5a3 3 0 0 0-3 3v15a3 3 0 0 1 3-3Z"></path></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg>'}function wd(){return'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="composer-invocation-clear" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>'}function Wa(e){const t=document.createElement("span");t.className="composer-invocation-pill",t.contentEditable="false",t.dataset.inlineToken="true";const s=document.createElement("button");s.type="button",s.className="composer-invocation-remove",s.setAttribute("aria-label",`Remove ${e.label}`),s.addEventListener("mousedown",i=>i.preventDefault()),s.addEventListener("click",i=>{i.preventDefault(),e.onRemove()});const r=document.createElement("span");r.className="composer-invocation-icon",r.setAttribute("aria-hidden","true"),r.innerHTML=Cd(e.icon),s.append(r),s.insertAdjacentHTML("beforeend",wd());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(s,a),t}function Sd(e){return e.provider==="github"?da("github"):il}function Md(e){const t=document.createElement("span");t.className=`composer-repo-link ${e.provider}`,t.contentEditable="false",t.dataset.inlineRepoLink="true",t.dataset.repoUrl=e.url,t.dataset.repoProvider=e.provider,t.setAttribute("aria-label",`${e.provider==="github"?"GitHub":"OpenPond"} repository ${e.label}`),t.title=e.url;const s=document.createElement("img");s.className="composer-repo-link-icon",s.src=Sd(e),s.alt="",s.draggable=!1;const r=document.createElement("span");return r.className="composer-repo-link-label",r.textContent=e.label,t.append(s,r),t}function Nd(e){return da(e)}function Ad(e){const t=document.createElement("span");t.className=`composer-connected-app-mention ${e.provider}`,t.contentEditable="false",t.dataset.inlineConnectedAppMention="true",t.dataset.connectedMentionText=e.text,t.dataset.connectedMentionProvider=e.provider,t.setAttribute("aria-label",`${e.label} connected app mention ${e.displayText}`),t.title=e.detail;const s=document.createElement("img");s.className="composer-connected-app-mention-icon",s.src=Nd(e.provider),s.alt="",s.draggable=!1;const r=document.createElement("span");return r.className="composer-connected-app-mention-label",r.textContent=e.displayText,t.append(s,r),t}function Rd(e,t){const s=dd(e);return t===null?s:s.filter(r=>t<=r.start||t>=r.end)}function Ed(e,t,s){const r=al(e,t);return s===null?r:r.filter(a=>s<=a.start||s>=a.end)}function Ji(e,t,s){const r=[...Rd(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),...Ed(e,s,t).map(c=>({end:c.end,kind:"connected-app",mention:c,start:c.start}))].sort((c,o)=>c.start-o.start||o.end-c.end),a=[];let i=0;for(const c of r)c.start<i||(a.push(c),i=c.end);return a}function $d(e,t,s){return Ji(e,t,s).map(r=>r.kind==="repo"?`${r.start}:${r.end}:repo:${r.link.provider}:${r.link.label}:${r.link.url}`:`${r.start}:${r.end}:connected-app:${r.mention.provider}:${r.mention.text}:${r.mention.displayText}`).join("|")}function Td(e,t,s,r){const a=Qn(s,t),i=Ji(t,a,r);let c=!1;function o(p){p&&e.append(document.createTextNode(p))}function u(p,v){if(!s||a===null||c||a<p||a>v){o(t.slice(p,v));return}o(t.slice(p,a)),e.append(Wa(s)),c=!0,o(t.slice(a,v))}e.replaceChildren();let f=0;for(const p of i)u(f,p.start),p.kind==="repo"?e.append(Md(p.link)):e.append(Ad(p.mention)),f=p.end;u(f,t.length),s&&!c&&e.append(Wa(s))}const Id=l.forwardRef(function({connectedAppMentions:t=[],disabled:s,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:o,onTokenPositionChange:u,placeholder:f,prompt:p,token:v},h){const m=l.useRef(null),x=`${v?`${v.key}:${Qn(v,p)??0}`:"none"}|${$d(p,Qn(v,p),t)}`,E=l.useRef(null),S=p.length===0&&!v;l.useImperativeHandle(h,()=>({get element(){return m.current},getPrompt(){const y=m.current;return y?Wr(y).text:p},focusAtPromptIndex(y,A){const R=m.current;if(!R)return;const U=yd(y,v,p,A?.afterToken);R.focus(),kd(R,U),Hr(R)},resize(){Hr(m.current)}}),[p,v]),l.useLayoutEffect(()=>{const y=m.current;if(!y)return;const A=E.current!==x;E.current=x;const R=Wr(y);if(A||p===""||R.text!==p||R.tokenPosition!==Qn(v,p)){const H=document.activeElement===y?Gr(y):null;Td(y,p,v,t),y.dataset.empty=p.length===0&&!v?"true":"false",H&&Xi(y,H)}Hr(y)},[t,p,v,x]);function M(){const y=m.current;if(!y)return;const A=Gr(y)?.focus??hn(y),R=Wr(y),U=Ua(A,v,R.text);y.dataset.empty=R.text.length===0&&!v?"true":"false",u(R.tokenPosition),r(U),o(R.text,U)}function j(){M(),window.requestAnimationFrame(M)}function N(){const y=m.current;if(!y)return;const A=Gr(y)?.focus??hn(y);r(Ua(A,v,p))}return n.jsx("div",{ref:m,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!s,suppressContentEditableWarning:!0,"data-empty":S?"true":"false","data-placeholder":f,onBeforeInput:y=>{y.nativeEvent.inputType==="insertParagraph"&&(y.preventDefault(),Va(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ComposerCreateImproveStrip-DR-Qo7b4.js","assets/index-BxWTVKtn.js","assets/index-dSmk3FLJ.css","assets/App-CuhaCsfb.js","assets/App-CO2F717V.css","assets/MarkdownText-gJMuefaJ.js","assets/play-CXkxUZeU.js","assets/WorkspaceDiffPanel-pGVezNMw.js","assets/training-model-data-CKOkpBBL.js","assets/folder-open-sLZJxLQy.js","assets/info-Dc81lEfw.js","assets/minimize-2-Bs7MVN3C.js","assets/save-DpezrtH2.js","assets/clipboard-BZzZ82Bk.js","assets/AppTerminalPanel-C4uRpnBz.js","assets/RightSidebarHomePanel-CeSFJM5s.js","assets/WorkSidebarPanel-DwlEMEoG.js","assets/cloud-upload-CJPYPVl8.js","assets/arrow-up-right-H0pvnH2s.js","assets/square-oy7f5Ce6.js","assets/WorkSidebarPanel-Bky_Rqcx.css","assets/NewExperienceSwitcher-DM-cqJ-K.js","assets/CollaborationTabs-B8YAf0c1.js","assets/CollaborationTabs-BfVlyLmR.css","assets/AppsView-BS1czXUP.js","assets/useProviderSettings-B_KeQjE5.js","assets/useProviderSettings-Bw-csWbH.css","assets/AppsView-BonAGiS8.css","assets/GetStartedView-xqQoMMei.js","assets/AppDialog-BdusXgU0.js","assets/GetStartedView-yVmnGZPw.css","assets/LabsRoute-CXJRJMhr.js","assets/chunk-UHVJOMWN-BqXRe639.js","assets/LabsRoute-ACN76d2j.css","assets/training-eg6uFi3M.css","assets/ScheduledWorkPage-D1jRQxFs.js","assets/useLocalAgentSchedules-CnyTsqlf.js","assets/OutputsPage-DiXMkasl.js","assets/ProjectsPage-DqiBHiCB.js","assets/ProjectsPage-kun3Ron2.css","assets/LabSkillSidebar-DLnIgnry.js","assets/LabSkillSidebar-CVxtS9pd.css","assets/BrowserSidebar-Bl7V6YO2.js","assets/BrowserSidebar-lNqqj4Ip.css","assets/RightChatPanelStack-VaOOmxwd.js","assets/useSessionTurnCache-DICuJSJW.js","assets/NativeSkillSidebar-Dlxb8iOC.js","assets/NativeSkillSidebar-T8KXjnUH.css","assets/TeamChatView-DM0adMtj.js","assets/TeamChatView-dL6B0qib.css","assets/git-dialogs-C-F47S10.css","assets/CommunityView-CR0-W-uG.js","assets/wifi-off-nzHj7JXp.js","assets/CommunityView-CnZqWEjK.css","assets/TrainingDraftPanel-Bbo3RRie.js","assets/MainChatThread-BwAla81W.js","assets/TrainingCreationPanel-CgIBVGha.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as l,j as n,_ as ye}from"./index-BxWTVKtn.js";import{T as Uo,W as lr,P as qo,F as Ho,C as Vo,A as Wo,r as la,i as Yr,h as Go,n as xi,a as bi,b as vi,c as ji,M as ca,d as Ko,I as yi,u as ki,e as Qo,f as Xo,g as Jo,j as Yo}from"./MarkdownText-gJMuefaJ.js";import{c as Oe,b as wa,a as Zo,u as el,d as tl,e as nl,s as sr,A as Ci,m as ua,f as wi,C as Pt,P as pr,g as cr,h as Gn,i as _t,j as Zr,F as ea,r as sl,k as rl,l as ta,n as al,O as il,o as da,B as vs,p as ol,q as mt,t as fa,v as ll,w as cl,x as ul,y as dl,z as Xe,D as na,S as Si,E as fl,G as Le,X as Ss,H as Mi,I as ml,J as Sa,K as Ma,L as ma,M as hl,N as pl,Q as gl,R as Wt,T as ha,U as Wn,V as Na,W as Ni,Y as xl,Z as bl,_ as vl,$ as jl,a0 as yl,a1 as kl,a2 as Cl,a3 as wl,a4 as Sl,a5 as Ml,a6 as Ai,a7 as Nl,a8 as Al,a9 as Rl,aa as El,ab as $l,ac as Tl,ad as Il,ae as _l,af as Gt,ag as sa,ah as Pl,ai as Ll,aj as rr,ak as Ol,al as Ri,am as zl,an as Fl,ao as Dl,ap as Ei,aq as Bl,ar as Ul,as as ql,at as Hl,au as Vl,av as Wl,aw as pa,ax as Gl,ay as Kl,az as Aa,aA as Ql,aB as Xl,aC as Ra,aD as Jl,aE as Yl,aF as Zl,aG as ec,aH as tc,aI as nc,aJ as sc,aK as rc,aL as ac,aM as ic,aN as oc,aO as lc,aP as cc,aQ as uc,aR as dc,aS as fc}from"./App-CuhaCsfb.js";import{C as mc}from"./cloud-upload-CJPYPVl8.js";import{A as gr}from"./arrow-up-right-H0pvnH2s.js";import{S as $i}from"./square-oy7f5Ce6.js";import{F as Ti}from"./folder-open-sLZJxLQy.js";import{P as hc}from"./play-CXkxUZeU.js";function Ii(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const pc=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],gc=Oe("arrow-down",pc);const xc=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],bc=Oe("arrow-up",xc);const vc=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],Ea=Oe("at-sign",vc);const jc=[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],yc=Oe("badge-check",jc);const kc=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Cc=Oe("ban",kc);const wc=[["path",{d:"M10.1 2.182a10 10 0 0 1 3.8 0",key:"5ilxe3"}],["path",{d:"M13.9 21.818a10 10 0 0 1-3.8 0",key:"11zvb9"}],["path",{d:"M17.609 3.721a10 10 0 0 1 2.69 2.7",key:"1iw5b2"}],["path",{d:"M2.182 13.9a10 10 0 0 1 0-3.8",key:"c0bmvh"}],["path",{d:"M20.279 17.609a10 10 0 0 1-2.7 2.69",key:"1ruxm7"}],["path",{d:"M21.818 10.1a10 10 0 0 1 0 3.8",key:"qkgqxc"}],["path",{d:"M3.721 6.391a10 10 0 0 1 2.7-2.69",key:"1mcia2"}],["path",{d:"M6.391 20.279a10 10 0 0 1-2.69-2.7",key:"1fvljs"}]],Sc=Oe("circle-dashed",wc);const Mc=[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]],Nc=Oe("cloud-download",Mc);const Ac=[["path",{d:"M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343",key:"1vfytu"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0",key:"1etmh7"}]],Rc=Oe("file-headphone",Ac);const Ec=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],$c=Oe("file-spreadsheet",Ec);const Tc=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z",key:"1tzo1f"}]],Ic=Oe("file-play",Tc);const _c=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],kr=Oe("image",_c);const Pc=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],_i=Oe("lightbulb",Pc);const Lc=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],Oc=Oe("mic",Lc);const zc=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],$a=Oe("paperclip",zc);const Fc=[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]],Dc=Oe("presentation",Fc);const Bc=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Uc=Oe("reply",Bc);const qc=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],Hc=Oe("circle-x",qc);function Vc(e){const t=Yc(e);if(t)return t;const s=Jc();let r="";const a=[],i=[],c=[];for(const h of e){if(!r&&h.label&&(r=h.label),fu(i,h.label),mu(c,h),h.kind==="command"&&h.content){Zc(s,tu(h.content));continue}eu(s,h)||du(a,h.label)}const o=[...su(s),...i,...c],u=s.runCount>0?cu(s.runCount):"",f=xu(a),v=(e.length===1&&e[0]?.kind==="command"&&e[0].content&&i.length===0&&c.length===0?Pi(e[0].content,"completed"):null)||uu(o,u)||f||r||"Ran command";return{kind:lu(s,u),text:v}}function Pi(e,t="completed"){const s=Fi(e);if(s.length===0)return null;const r=t==="running"||t==="pending";if(s.some(Di))return r?"Running shell command":"Ran shell command";const a=Li(s);if(!a)return null;const[i,c]=a;if(i==="cat"){const u=Kt(c);return u.length===0?r?"Reading standard input":"Read standard input":`${r?"Reading":"Read"} ${mn(u)}`}if(i==="sed")return Xc(vu([i,...c]),r);if(i==="rg")return ju([i,...c],r);if(["grep","ag"].includes(i)||i==="git"&&c[0]==="grep")return r?"Searching code":"Searched code";if(["ls","find","tree","fd"].includes(i)){const u=i==="ls"?Kt(c):[];return u.length===0?r?"Listing files":"Listed files":`${r?"Listing":"Listed"} files in ${mn(u)}`}if(["head","tail","nl","wc","awk","jq"].includes(i)){const u=zi(i,c);return u.length===0?r?`Running ${i}`:`Ran ${i}`:`${r?"Reading":"Read"} ${mn(u)}`}if(i==="apply_patch")return r?"Editing files":"Edited files";if(i==="write_stdin")return r?"Continuing command":"Continued command";if(i==="wait")return r?"Waiting for command":"Waited for command";if(i==="js")return r?"Running JavaScript":"Ran JavaScript";if(i==="exec_command")return r?"Running shell command":"Ran shell command";if(i==="read_file")return r?"Reading file":"Read file";if(i==="view_image")return r?"Viewing image":"Viewed image";if(i==="update_plan")return r?"Updating plan":"Updated plan";if(i==="tool_search")return r?"Searching tools":"Searched tools";if(i==="rm")return r?"Removing files":"Removed files";if(i==="mv")return r?"Moving files":"Moved files";if(i==="cp")return r?"Copying files":"Copied files";if(i==="mkdir")return r?"Creating directories":"Created directories";if(i==="touch")return r?"Creating files":"Created files";if(i==="git")return Wc(c,r);if(Qc(i))return Gc(i,c,r);if(Oi(i))return Kc(i,r);if(["curl","wget"].includes(i))return r?"Fetching URL":"Fetched URL";if(["node","tsx","python","python3","bash","sh","zsh"].includes(i))return r?`Running ${js(i)} script`:`Ran ${js(i)} script`;const o=js(i);return r?`Running ${o} command`:`Ran ${o} command`}function Wc(e,t){const s=e.find(r=>!r.startsWith("-"))??"";return s==="status"?t?"Checking Git status":"Checked Git status":s==="diff"?t?"Reviewing changes":"Reviewed changes":s==="show"||s==="log"?t?"Reading Git history":"Read Git history":s==="add"?t?"Staging changes":"Staged changes":s==="commit"?t?"Committing changes":"Committed changes":s==="push"?t?"Pushing changes":"Pushed changes":s==="pull"||s==="fetch"?t?"Fetching changes":"Fetched changes":s==="checkout"||s==="switch"?t?"Switching branches":"Switched branches":s==="branch"?t?"Listing branches":"Listed branches":t?"Running Git command":"Ran Git command"}function Gc(e,t,s){const r=t.join(" ").toLowerCase();return/\b(typecheck|tsc)\b/.test(r)?s?"Checking types":"Checked types":/\b(lint|eslint|prettier)\b/.test(r)?s?"Running lint":"Ran lint":/\b(test|vitest|jest|playwright)\b/.test(r)?s?"Running tests":"Ran tests":/\bbuild\b/.test(r)?s?"Building project":"Built project":/\b(install|add)\b/.test(r)?s?"Installing dependencies":"Installed dependencies":s?`Running ${js(e)} command`:`Ran ${js(e)} command`}function Kc(e,t){return e==="tsc"?t?"Checking types":"Checked types":e==="eslint"||e==="prettier"?t?"Running lint":"Ran lint":t?"Running tests":"Ran tests"}function Qc(e){return["bun","npm","pnpm","yarn"].includes(e)}function js(e){const t=e.split("/").filter(Boolean).at(-1)??e;return t==="python"||t==="python3"?"Python":t==="node"||t==="tsx"?"Node":["bash","sh","zsh"].includes(t)?"shell":t==="git"?"Git":t}function Xc(e,t){return!e||!t?e:e.startsWith("Read ")?`Reading ${e.slice(5)}`:e.startsWith("Run ")?`Running ${e.slice(4)}`:e}function Jc(){return{approvals:0,controlCount:0,editCount:0,goalContextUpdates:0,imageCount:0,listedFiles:0,readFileCount:0,readFiles:new Set,reasoningCount:0,runCount:0,searchedCode:0,subagentStatuses:new Map,testsOrChecks:0,turnInterruptions:0,webSearches:0}}function Yc(e){if(e.length===0)return null;const t=e.map(i=>i.subagentMessage).filter(i=>!!i);if(t.length===0||t.length!==e.length)return null;if(t.length===1){const i=t[0];return{kind:"subagent",text:`${i.direction==="received"?"Child Message Received":"Child Message Sent"}: ${i.summary}`}}const s=t.filter(i=>i.direction==="received").length,r=t.length-s,a=[s>0?Ta(s,"received"):null,r>0?Ta(r,"sent"):null].filter(i=>!!i);return{kind:"subagent",text:xr(ga(a))}}function Ta(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function Zc(e,t){e.editCount+=t.editCount??0,e.listedFiles+=t.listedFiles??0,e.searchedCode+=t.searchedCode??0,e.testsOrChecks+=t.testsOrChecks??0;for(const s of t.readFiles??[])e.readFiles.add(s);t.readFiles?.length&&(e.readFileCount+=t.readFiles.length),t.countedAsRun&&(e.runCount+=1)}function eu(e,t){const s=t.label.toLowerCase();if(t.controlKind)return e.controlCount+=1,t.controlKind==="goal_context"&&(e.goalContextUpdates+=1),t.controlKind==="turn_aborted"&&(e.turnInterruptions+=1),!0;if(s==="reasoning")return e.reasoningCount+=1,!0;if(s.includes("approval"))return e.approvals+=1,!0;if(s.includes("subagent"))return iu(e,t,r(s)),!0;if(s.includes("image"))return e.imageCount+=1,!0;function r(a){return a.includes("failed")?"failed":a.includes("blocked")?"blocked":a.includes("stale")?"stale":a.includes("needs revision")?"needs revision":a.includes("archived")?"archived":a.includes("accepted")?"accepted":a.includes("submitted")?"submitted":a.includes("completed")?"completed":"running"}return s.includes("web")?(e.webSearches+=1,!0):/\b(searching|searched)\b/.test(s)?(e.searchedCode+=1,!0):/\b(listing|listed)\b/.test(s)?(e.listedFiles+=1,!0):/\b(reading|read)\b/.test(s)?(e.readFileCount+=1,!0):/\b(editing|edited|writing|wrote|deleting|deleted|moving|moved|uploading|uploaded|creating|created)\b/.test(s)?(e.editCount+=1,!0):!1}function tu(e){const t=Fi(e);if(t.length===0||t.some(Di))return{countedAsRun:!0};const s=Li(t);if(!s)return{countedAsRun:!0};const[r,a]=s;if(r==="apply_patch")return{countedAsRun:!1,editCount:1};if(["rm","mv","cp","mkdir","touch"].includes(r))return{countedAsRun:!1,editCount:1};if(nu(r,a)||Oi(r))return{countedAsRun:!1,testsOrChecks:1};if(r==="rg")return a.includes("--files")?{countedAsRun:!1,listedFiles:1}:{countedAsRun:!1,searchedCode:1};if(["grep","ag"].includes(r))return{countedAsRun:!1,searchedCode:1};if(r==="git"&&a[0]==="grep")return{countedAsRun:!1,searchedCode:1};if(["ls","find","tree","fd"].includes(r))return{countedAsRun:!1,listedFiles:1};const i=zi(r,a);return i.length>0?{countedAsRun:!1,readFiles:i}:{countedAsRun:!0}}function Li(e){let t=0;for(;/^[A-Za-z_][A-Za-z0-9_]*=.*/.test(e[t]??"");)t+=1;const s=e[t];if(!s)return null;if(s==="bunx"||s==="npx"){const r=e[t+1];return r?[r,e.slice(t+2)]:[s,[]]}return[s,e.slice(t+1)]}function nu(e,t){if(!["bun","npm","pnpm","yarn"].includes(e))return!1;const s=t.join(" ").toLowerCase();return/\b(test|typecheck|check|lint|vitest|jest|playwright|tsc)\b/.test(s)}function Oi(e){return["eslint","jest","playwright","prettier","tsc","vitest"].includes(e)}function zi(e,t){if(e==="cat"||e==="nl"||e==="head"||e==="tail"||e==="wc")return qr(Kt(t));if(e==="sed"){const s=t.findIndex(r=>r!=="-n"&&!r.startsWith("--"));return qr(s>=0?Kt(t.slice(s+1)):[])}return e==="awk"||e==="jq"?qr(Kt(t.slice(1))):[]}function qr(e){return e.filter(t=>!(!t||t==="."||t==="-"||/^\d+$/.test(t)))}function su(e){const t=[],s=au(e);s&&t.push(s),e.editCount>0&&t.push("made edits");const r=e.readFiles.size||e.readFileCount;return r>0&&t.push(_a("read",r,"file")),e.searchedCode>0&&t.push("searched code"),e.listedFiles>0&&t.push("listed files"),e.testsOrChecks>0&&t.push(e.testsOrChecks===1?"ran checks":`ran ${e.testsOrChecks} checks`),e.webSearches>0&&t.push("searched web"),e.imageCount>0&&t.push(_a("read",e.imageCount,"image")),e.reasoningCount>0&&t.length===0&&t.push("thought through the request"),e.approvals>0&&t.push("requested approval"),t.push(...ru(e)),t}function ru(e){const t=[];e.goalContextUpdates===1&&t.push("goal context updated"),e.goalContextUpdates>1&&t.push(`${e.goalContextUpdates} goal context updates`),e.turnInterruptions===1&&t.push("turn interrupted"),e.turnInterruptions>1&&t.push(`${e.turnInterruptions} turns interrupted`);const s=e.controlCount-e.goalContextUpdates-e.turnInterruptions;return s===1&&t.push("context updated"),s>1&&t.push(`${s} context updates`),t}function au(e){const t=ou(e);return t.failed>0?Tt(t.failed,"failed"):t.blocked>0?Tt(t.blocked,"blocked"):t.stale>0?Tt(t.stale,"stale"):t["needs revision"]>0?Tt(t["needs revision"],"needs revision"):t.submitted>0?Tt(t.submitted,"submitted"):t.running>0&&t.completed===0&&t.accepted===0?Tt(t.running,"running"):t.accepted>0?Tt(t.accepted,"accepted"):t.completed>0?Tt(t.completed,"completed"):t.archived>0?Tt(t.archived,"archived"):null}function iu(e,t,s){const r=t.openSession?.sessionId??(t.content.trim()||t.id),a=e.subagentStatuses.get(r);(!a||Ia(s)>Ia(a))&&e.subagentStatuses.set(r,s)}function ou(e){const t={accepted:0,archived:0,blocked:0,completed:0,failed:0,"needs revision":0,running:0,stale:0,submitted:0};for(const s of e.subagentStatuses.values())t[s]+=1;return t}function Ia(e){return e==="running"?1:e==="submitted"?2:e==="accepted"||e==="completed"||e==="archived"?3:e==="needs revision"?4:e==="blocked"?5:e==="stale"?6:7}function Tt(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function lu(e,t){const s=[];return e.subagentStatuses.size>0&&s.push("subagent"),e.editCount>0&&s.push("edit"),(e.readFiles.size>0||e.readFileCount>0)&&s.push("read"),e.searchedCode>0&&s.push("search"),e.listedFiles>0&&s.push("list"),e.webSearches>0&&s.push("web"),e.imageCount>0&&s.push("image"),e.reasoningCount>0&&s.push("reasoning"),e.approvals>0&&s.push("approval"),e.controlCount>0&&s.push("control"),(e.testsOrChecks>0||t)&&s.push("command"),s[0]??"command"}function cu(e){return e===1?"ran a command":`ran ${e} commands`}function _a(e,t,s){return t===1?`${e} a ${s}`:`${e} ${t} ${s}s`}function uu(e,t){return e.length===0?t?xr(t):"":xr(ga(t?[...e,t]:e))}function du(e,t){const s=t.trim();s&&(e.includes(s)||e.push(s))}function fu(e,t){const s=hu(t);!s||e.includes(s)||e.push(s)}function mu(e,t){const s=t.receipt;if(!s)return;const r=`${s.status} receipt ${gu(s.id)} ${pu(s.totalUsd)}`;e.includes(r)||e.push(r)}function hu(e){switch(e.trim().toLowerCase()){case"applied locally":return"applied locally";case"apply locally failed":return"apply locally failed";case"exported sandbox patch":return"exported patch";case"patch export failed":return"patch export failed";case"preserved sandbox source":return"preserved sandbox source";case"preserve failed":return"preserve failed";case"stopped sandbox":return"stopped sandbox";case"sandbox stop failed":return"sandbox stop failed";default:return null}}function pu(e){const t=e.trim();return t.startsWith("$")?t:`$${t}`}function gu(e){const t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function xu(e){return e.length===0?"":xr(ga(e.map(bu)))}function bu(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function ga(e){return e.length===0?"":e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e.slice(0,-1).join(", ")}, and ${e[e.length-1]}`}function xr(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function vu(e){const t=e.findIndex((i,c)=>c>0&&i!=="-n"&&!i.startsWith("--")),s=t>=0?e[t]??"":"",r=t>=0?Kt(e.slice(t+1)):[],a=/^(\d+)(?:,(\d+))?p$/.exec(s);if(a){const i=a[1],c=a[2],o=c?`lines ${i}-${c}`:`line ${i}`;return r.length>0?`Read ${o} of ${mn(r)}`:`Read ${o}`}return r.length>0?`Read ${mn(r)} with sed`:"Run sed"}function ju(e,t=!1){const s=e.slice(1);if(s.includes("--files")){const c=Kt(s.filter(o=>o!=="--files"));return c.length>0?`${t?"Listing":"Listed"} files matching ${mn(c)}`:t?"Listing files":"Listed files"}const r=Kt(s),a=r[0],i=r.slice(1);return a?i.length>0?`${t?"Searching":"Searched"} for ${Pa(a)} in ${mn(i)}`:`${t?"Searching":"Searched"} for ${Pa(a)}`:t?"Searching files":"Searched files"}function Fi(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(s=>yu(s)).filter(Boolean)}function yu(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Di(e){return["|","&&","||",";",">",">>","<","(",")"].includes(e)}function Kt(e){const t=[];for(let s=0;s<e.length;s+=1){const r=e[s];if(!r.startsWith("-")){t.push(r);continue}ku(r)&&s+1<e.length&&(s+=1)}return t}function ku(e){return["-e","-f","-g","--glob","--type","-t","--context","-C","-A","-B","-m","-n","-c"].includes(e)}function mn(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function Pa(e){return`"${e}"`}const La=Object.freeze({events:[],messages:[]});class Cu{projection=La;project(t){if(t===this.projection.events)return this.projection.messages;if(!Mu(this.projection.events,t))return this.replace(t);const s=t.slice(this.projection.events.length);if(s.length===0)return this.projection={events:t,messages:this.projection.messages},this.projection.messages;const r=wu(this.projection.messages,s);if(r)return this.projection={events:t,messages:r},r;const a=Su(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),c=new Set(i.flatMap(f=>f.turnId?[f.turnId]:[])),u=[...this.projection.messages.filter(f=>!f.turnId||!c.has(f.turnId)),...wa(i)];return this.projection={events:t,messages:u},u}reset(){this.projection=La}snapshot(){return this.projection}replace(t){const s=wa(t);return this.projection={events:t,messages:s},s}}function wu(e,t){if(t.length===0||e.length===0)return null;const s=e[e.length-1];if(s?.role!=="assistant"||s.createImproveRun||t.some(f=>f.name!=="assistant.delta"&&f.name!=="assistant.reasoning.delta"||f.turnId!==s.turnId||!f.output))return null;let r=s.content,a=s.reasoningContent,i=s.timestamp,c=!1,o=!1;for(const f of t)f.name==="assistant.delta"?(r=`${r??""}${f.output}`,c=!0):(a=`${a??""}${f.output}`,o=!0),i=f.timestamp;const u={...s,...c?{content:r}:{},...o?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),u]}function Su(e,t){const s=e[t];if(!s?.turnId)return null;const r=e.findIndex(a=>a.turnId===s.turnId);return r<0?null:{eventIndex:r}}function Mu(e,t){return e.length===0?!0:e.length>=t.length?!1:e[0]===t[0]&&e[e.length-1]===t[e.length-1]}function Nu(e,t){const s=l.useCallback(i=>t?e.subscribeSession(t,i):()=>{},[t,e]),r=l.useCallback(()=>e.getSessionSnapshot(t),[t,e]),a=l.useSyncExternalStore(s,r,r);return l.useEffect(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),a}function Au(e){async function t(s,r){const a=(r??e.getPrompt()).trim();if(!e.running||!a)return!1;if(e.hasFilesOrActions)return e.showToast("Steering supports a plain-text instruction. Remove files or actions before sending it.","info"),!1;if(s==="queued"&&!e.inbox.enabled)return e.stageLocal(a),e.clear(),!0;if(!e.begin(e.scope))return!1;e.setError(null);try{const i=e.inbox.enabled?s==="steer"?await e.inbox.steer(a):await e.inbox.queue({prompt:a,modelRef:{providerId:e.provider,modelId:e.model},...e.provider==="codex"?Zo(e.codexPermissionMode):{approvalPolicy:"on-request",sandbox:"workspace-write"},codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort}):await e.onSubmit([],null,null,{preservePrompt:!0,promptOverride:a,turnMetadata:{interactionKind:"steer"}});return i&&(!e.getCurrentSubmissionScopeKey||e.getCurrentSubmissionScopeKey()===e.scope)&&e.clear(),i}catch(i){return e.setError(i instanceof Error?i.message:String(i)),!1}finally{e.finish(e.scope)}}return{stageCurrentSteerDraft:s=>t("queued",s),submitImmediateSteer:s=>t("steer",s)}}function Ru(e,t){const s=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\$([a-zA-Z][a-zA-Z0-9_-]*)?$/.exec(s);if(!r||typeof r.index!="number")return null;const a=r[0].lastIndexOf("$");return a<0?null:{end:s.length,query:(r[1]??"").toLowerCase(),start:r.index+a}}function Cr(e){return`$${e.name}`}function Eu(e,t,s){const r=Math.max(0,Math.min(t.start,e.length)),a=Math.max(r,Math.min(t.end,e.length)),i=e.slice(0,r),c=e.slice(a),o=i&&!/\s$/.test(i)?" ":"",u=c&&/^\s/.test(c)?"":" ",f=`${o}${Cr(s)}${u}`;return{cursor:i.length+f.length-(c?u.length:0),value:`${i}${f}${c}`}}function ur(e,t,s){const r=t.trim().toLowerCase(),a=e.filter(i=>i.enabled&&i.validationStatus==="valid").filter(i=>r?[i.name,i.description,i.path].join(" ").toLowerCase().includes(r):!0).sort((i,c)=>i.name.localeCompare(c.name));return typeof s=="number"&&Number.isFinite(s)?a.slice(0,Math.max(0,s)):a}function Bi(e,t,s){const r=t.trim().replace(/\s+/g," "),a=$u(s,e.length);if(!r)return{value:e,cursorIndex:a};const i=e.slice(0,a),c=e.slice(a),o=i&&!/\s$/.test(i)?" ":"",u=c&&!/^\s/.test(c)?" ":"",f=`${o}${r}${u}`;return{value:`${i}${f}${c}`,cursorIndex:i.length+o.length+r.length+u.length}}function $u(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Tu({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:s,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:c,transcript:o}){const u=Bi(a,o,e?a.length:s);return i(u.value),t===r?"drafted":await c(u.value)?(i(""),"submitted"):"retained"}const Kn=new Map,dr=new Map,fr=new Map;function Oa(e){for(const t of dr.get(e)??[])t()}function Iu(e){return Kn.has(e)}function _u(e,t){const s=dr.get(e)??new Set;return s.add(t),dr.set(e,s),()=>{s.delete(t),s.size===0&&dr.delete(e)}}function Ui(e){Kn.get(e)?.controller.abort()}function Pu(e,t){const s=fr.get(e)??new Set;return s.add(t),fr.set(e,s),()=>{s.delete(t),s.size===0&&fr.delete(e)}}function Lu(e){const t=Kn.get(e);if(t)return t.submitRequested=!0,!0;for(const s of fr.get(e)??[])if(s())return!0;return!1}function Ou(e,t,s={}){Ui(e);const r=new AbortController,a={controller:r,promise:Promise.resolve(),submitRequested:s.submit??!1};return a.promise=Promise.resolve().then(()=>{if(!r.signal.aborted)return t(r.signal,()=>a.submitRequested)}).catch(i=>{if(!r.signal.aborted)throw i}).finally(()=>{Kn.get(e)===a&&(Kn.delete(e),Oa(e))}),Kn.set(e,a),Oa(e),a.promise}const zu=new Set(["task.inbox","task.input","task.wait","turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved"]);function za(e){try{const t=JSON.parse(sessionStorage.getItem(e)??"null");return t&&typeof t.body=="string"&&typeof t.key=="string"&&(t.kind==="steer"||t.kind==="queued")?t:null}catch{return null}}function Fu(e,t,s,r=!0){const a=el(),i=tl(e),c=l.useMemo(()=>["task-inbox",i,t],[i,t]),o=!!(e&&t),u=nl({queryKey:c,enabled:o,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>sr.taskInbox(e,t)}),[f,p]=l.useState(null),[v,h]=l.useState(null),m=`${i}:${t}`;let g;for(let M=s.length-1;M>=0;M--){const j=s[M];if(j.sessionId===t&&zu.has(j.name)){g=j.id;break}}const x=l.useCallback(async()=>{o&&await a.invalidateQueries({queryKey:c,exact:!0})},[o,a,c]);l.useEffect(()=>{x()},[x,g]),l.useEffect(()=>{const M=()=>{x()};return window.addEventListener("openpond-runtime-connected",M),()=>window.removeEventListener("openpond-runtime-connected",M)},[x]);async function E(M,j){if(!o)return!1;p({scope:m,id:M}),h(null);try{const N=await j();return await a.cancelQueries({queryKey:c,exact:!0}),a.setQueryData(c,y=>y&&{...y,inputs:[...y.inputs.filter(A=>A.id!==N.id),N].sort((A,R)=>A.sequence-R.sequence)}),x(),!0}catch(N){return h({scope:m,message:N instanceof Error?N.message:String(N)}),x(),!1}finally{p(N=>N?.scope===m&&N.id===M?null:N)}}async function S(M,j,N){if(!e||!t)return!1;if(M==="steer"&&!r)return h({scope:m,message:"This agent accepts follow-ups on its next turn. Queue your message instead."}),!1;const y=`openpond:task-input:${e.serverUrl}:${t}`,A=za(y),R=A?.body===j&&A.kind===M,U=R?A:{body:j,kind:M,request:N,key:crypto.randomUUID(),turnId:M==="steer"?u.data?.activeTurnId??null:null};if(M==="steer"&&(!U.turnId||!R&&!u.data?.acceptingInput))return h({scope:m,message:"This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it."}),x(),!1;try{sessionStorage.setItem(y,JSON.stringify(U))}catch{}const H=await E(U.key,async()=>{let K;try{K=await(M==="steer"?sr.steerTurn(e,t,{prompt:j,expectedTurnId:U.turnId,idempotencyKey:U.key}):sr.queueTaskInput(e,t,U.request,U.key))}catch(q){if(q instanceof Ci&&q.status>=400&&q.status<500)try{sessionStorage.removeItem(y)}catch{}throw q}if(K.state==="rejected"||K.state==="cancelled"){try{sessionStorage.removeItem(y)}catch{}throw new Error(K.error??"This input was cancelled. Review your text before sending again.")}return K});if(H)try{za(y)?.key===U.key&&sessionStorage.removeItem(y)}catch{}return H}return{enabled:o,snapshot:u.data?{...u.data,acceptingInput:u.data.acceptingInput&&r}:null,busyId:f?.scope===m?f.id:null,error:v?.scope===m?v.message:u.error?.message??null,steer:M=>S("steer",M),queue:M=>S("queued",M.prompt,M),mutate:(M,j)=>E(M.id,()=>sr.updateTaskInput(e,t,M.id,j)),refresh:x}}function Du(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function ys(e,t=120){const s=e.trim().replace(/\s+/g," ");return s.length<=t?s:`${s.slice(0,Math.max(0,t-1)).trimEnd()}...`}function qi(e,t={}){const s=t.now??new Date().toISOString();return{createdAt:s,id:t.id??Du(),prompt:e,updatedAt:s}}function Hi(e,t){return e.filter(s=>s.id!==t)}function Bu(e,t,s){const r=s?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[qi(r)]:[])}function Uu(e,t,s){return s?Hi(e,t):e}function ra(e,t,s=[]){return e[t]??s}function qu(e,t,s,r=[]){const a=ra(e,t,r),i=s(a);return Object.is(a,i)?e:{...e,[t]:i}}function Hu({inbox:e,onRestore:t}){const[s,r]=l.useState(null),a=e.snapshot,i=a?.inputs.filter(u=>u.senderKind==="user"&&u.kind==="queued"&&u.state==="pending")??[],c=a?.inputs.filter(u=>u.state!=="cancelled"&&!i.some(f=>f.id===u.id)).slice(-8)??[],o=s?.input.sessionId===a?.sessionId?s:null;return!i.length&&!c.length&&!a?.waits.length&&!e.error?null:n.jsxs("section",{className:"task-inbox-panel","aria-label":"Task inbox",children:[e.error&&n.jsxs("p",{className:"task-inbox-error",role:"alert",children:[e.error," ",n.jsx("button",{type:"button",onClick:()=>{e.refresh()},children:"Refresh"})]}),a?.waits.map(u=>n.jsxs("p",{className:"task-inbox-status",role:"status",children:[u.targetSessionId?`Waiting for task ${u.targetSessionId}`:"Waiting for a message",". Work resumes when an update arrives."]},u.id)),i.length>0&&n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:"task-inbox-heading",children:[n.jsxs("span",{children:[i.length," queued"]}),a?.paused&&n.jsx("span",{children:"Paused — messages stay saved"}),!a?.activeTurnId&&n.jsx("button",{type:"button",disabled:!!e.busyId,onClick:()=>{e.mutate(i[0],{action:"resume",expectedRevision:i[0].revision})},children:"Resume queue"})]}),i.map(u=>n.jsx("div",{className:"task-inbox-item",children:o?.input.id===u.id?n.jsxs(n.Fragment,{children:[n.jsx("textarea",{"aria-label":"Edit queued message",value:o.body,maxLength:32e3,onChange:f=>r({...o,body:f.target.value})}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("button",{type:"button",disabled:!o.body.trim()||!!e.busyId,onClick:async()=>{await e.mutate(o.input,{action:"edit",expectedRevision:o.input.revision,body:o.body})&&r(null)},children:"Save changes"}),n.jsx("button",{type:"button",onClick:()=>r(null),children:"Cancel edit"})]})]}):n.jsxs(n.Fragment,{children:[n.jsx("p",{title:u.body,children:ys(u.body,220)}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("span",{children:u.turnId?"Starting":"Next turn"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!u.turnId||!a?.acceptingInput,onClick:()=>{e.mutate(u,{action:"steer",expectedRevision:u.revision,expectedTurnId:a.activeTurnId})},children:"Steer now"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!u.turnId,onClick:()=>r({input:u,body:u.body}),children:"Edit"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!u.turnId,onClick:()=>{e.mutate(u,{action:"cancel",expectedRevision:u.revision})},children:"Delete"})]})]})},u.id))]}),c.length>0&&n.jsxs("details",{className:"task-inbox-activity",open:c.some(u=>u.state==="rejected"||!!u.error),children:[n.jsxs("summary",{children:["Messages and delivery (",c.length,")"]}),c.map(u=>n.jsxs("div",{className:"task-inbox-item",children:[n.jsxs("div",{className:"task-inbox-heading",children:[n.jsx("span",{children:u.senderKind==="user"?"Your instruction":u.senderKind==="runtime"?"Task update":`Task ${u.senderSessionId}`}),n.jsx("span",{children:Vu(u)})]}),n.jsx("p",{children:ys(u.body,320)}),u.error&&n.jsx("p",{className:"task-inbox-error",children:u.error}),(u.state==="rejected"||u.error)&&u.senderKind==="user"&&n.jsx("button",{type:"button",onClick:()=>t(u.body),children:"Use as follow-up"})]},u.id)),n.jsx("p",{className:"task-inbox-status",children:"Delivery shows when input reached a model request. It does not confirm understanding or a reply."})]})]})}function Vu(e){return e.state==="pending"?"Saved · pending delivery":e.state==="included"?"Included":e.state==="resolved"?"Request finished":e.state==="rejected"?"Not delivered":"Cancelled"}const Vi=new Set(["claude-code","opencode","grok-build"]);function Wu({currentModelOptions:e,currentProvider:t,providerOptions:s,providerSettings:r}){return s.flatMap(a=>{if(a.value==="setup-provider")return[];const i=a.value,c=i===t?e:ua(i,r);return c.length||Vi.has(i)?[{provider:i,label:a.label,defaultModel:wi(i,r),options:c}]:[]})}function Gu(e){const t=e.options.find(s=>s.value===e.defaultModel)??e.options[0];return!t&&!Vi.has(e.provider)?null:{provider:e.provider,model:t?.value??""}}function Wi({busy:e,placement:t,state:s,onChange:r}){const[a,i]=l.useState(!1),[c,o]=l.useState(""),u=l.useRef(null),f=l.useMemo(()=>{const p=c.trim().toLowerCase();return p?s.options.filter(v=>`${v.label} ${v.detail}`.toLowerCase().includes(p)):s.options},[c,s.options]);return l.useEffect(()=>{if(!a){o("");return}function p(h){u.current?.contains(h.target)||i(!1)}function v(h){h.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",p),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",v)}},[a]),s.options.length<=1?null:n.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:u,children:[n.jsxs("button",{type:"button",className:`composer-profile-trigger ${a?"active":""}`,disabled:e,"aria-label":"Profile","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(p=>!p),children:[n.jsx("span",{children:s.label}),n.jsx(Pt,{size:14})]}),a?n.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Profile",children:[n.jsx("div",{className:"composer-menu-search",children:n.jsx("input",{autoFocus:!0,value:c,placeholder:"Search profiles",onChange:p=>o(p.currentTarget.value)})}),n.jsx("div",{className:"composer-menu-items",children:f.map(p=>{const v=p.value===s.value;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":v,className:`composer-project-option ${v?"selected":""}`,onClick:()=>{r(p.value),i(!1)},children:[n.jsxs("span",{children:[n.jsx("strong",{children:p.label}),n.jsx("small",{children:p.detail})]}),v?n.jsx(_t,{size:14}):null]},p.value)})})]}):null]})}function Ku({busy:e,placement:t,state:s,onChange:r}){const[a,i]=l.useState(!1),[c,o]=l.useState(!1),[u,f]=l.useState(""),p=l.useRef(null),h=s.value==="none"?"Select Project":s.label,m=s.options.find(j=>j.value===s.value)?.kind??"local",g=l.useMemo(()=>{const j=u.trim().toLowerCase();return j?s.options.filter(N=>[N.label,N.detail].filter(Boolean).some(y=>y.toLowerCase().includes(j))):s.options},[u,s.options]),x=g.filter(j=>j.kind==="local"||j.kind==="cloud"),E=g.filter(j=>j.kind==="action"),S=g.filter(j=>j.kind==="none");l.useEffect(()=>{if(!a){f(""),o(!1);return}function j(y){p.current?.contains(y.target)||i(!1)}function N(y){y.key==="Escape"&&(c?o(!1):i(!1))}return document.addEventListener("pointerdown",j),document.addEventListener("keydown",N),()=>{document.removeEventListener("pointerdown",j),document.removeEventListener("keydown",N)}},[c,a]);function M(j){const N=j.value===s.value,y=e||j.disabled,A=j.kind==="action";return n.jsxs("button",{type:"button",role:A?"menuitem":"menuitemradio","aria-checked":A?void 0:N,className:`composer-project-option ${N?"selected":""} ${j.kind}`,disabled:y,onClick:()=>{r(j.value),o(!1),i(!1)},children:[n.jsx(aa,{kind:j.kind,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:j.label}),n.jsx("small",{children:j.detail})]}),N&&n.jsx(_t,{size:14})]},j.value)}return n.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:p,children:[n.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${m}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(j=>!j),o(!1)},children:[n.jsx(aa,{kind:m,size:14}),n.jsx("span",{children:h}),n.jsx(Pt,{size:14})]}),a&&n.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Project",children:[n.jsx("div",{className:"composer-menu-search",children:n.jsx("input",{autoFocus:!0,value:u,placeholder:"Search projects",onChange:j=>f(j.target.value)})}),n.jsx("div",{className:"composer-menu-items",children:g.length===0?n.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):x.map(M)}),E.length>0||S.length>0?n.jsxs("div",{className:"composer-project-actions",children:[E.length>0?n.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${c?"selected":""}`,"aria-haspopup":"menu","aria-expanded":c,onClick:()=>o(j=>!j),children:[n.jsx(pr,{size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:"New"}),n.jsx("small",{children:"Create or add a project"})]}),n.jsx(cr,{size:14})]}):null,S.map(M)]}):null]}),a&&c?n.jsxs("div",{className:"composer-project-new-menu",role:"menu","aria-label":"New project",children:[n.jsxs("button",{type:"button",role:"menuitem",className:"composer-project-new-menu-back",onClick:()=>o(!1),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"New project"})]}),E.map(M)]}):null]})}function aa({kind:e,size:t}){return e==="cloud"?n.jsx(Zr,{size:t}):e==="action"?n.jsx(pr,{size:t}):n.jsx(ea,{size:t})}function Qu({busy:e,placement:t,state:s,onChange:r}){const[a,i]=l.useState(!1),c=l.useRef(null),o=s.value==="cloud"?"cloud":s.value==="hybrid"?"hybrid":"local",u=`${s.label}: ${s.detail}`,f=s.uploadAction??null,p=f?Fa(f):null,v=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${p??f.detail}`:null,h=!!(f&&(e||s.busy||f.disabled));return l.useEffect(()=>{if(!a)return;function m(x){c.current?.contains(x.target)||i(!1)}function g(x){x.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",m),document.addEventListener("keydown",g),()=>{document.removeEventListener("pointerdown",m),document.removeEventListener("keydown",g)}},[a]),n.jsxs("div",{className:`workspace-action-control ${t==="top"?"open-up":""}`,ref:c,children:[n.jsxs("button",{type:"button",className:`workspace-action-trigger ${o} ${a?"active":""}`,disabled:e,"data-tooltip":u,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(m=>!m),children:[n.jsx(mr,{value:s.value,size:14}),n.jsx("span",{className:"workspace-target-trigger-label",children:s.label}),n.jsx(Pt,{size:14})]}),f?n.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:h,"data-tooltip":v??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:n.jsx(mr,{value:f.value,size:14})}):null,a&&n.jsx("div",{className:"workspace-target-menu",role:"menu","aria-label":"Working in",children:s.options.map(m=>{const g=m.value===s.value,x=e||s.busy||m.disabled,S=Fa(m)??m.detail,M=m.disabled&&m.disabledReason?m.disabledReason:`${m.label}: ${S}`;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":g,className:`workspace-target-option ${g?"selected":""} ${m.value}`,disabled:x,"data-tooltip":M,onClick:()=>{r(m.value),i(!1)},children:[n.jsx(mr,{value:m.value,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:m.label}),n.jsx("small",{children:S})]}),g&&n.jsx(_t,{size:14})]},m.value)})})]})}function Xu({project:e,workspace:t}){const r=e.options.find(i=>i.value===e.value)?.kind??"none",a=e.value==="none"?"No Project":e.label;return n.jsxs("div",{className:"composer-footer composer-pinned-context",role:"group","aria-label":"Task context",children:[n.jsxs("span",{className:"composer-context-chip","aria-label":`Project: ${a}`,children:[n.jsx(aa,{kind:r,size:14}),n.jsx("span",{children:a})]}),n.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[n.jsx(mr,{value:t.value,size:14}),n.jsx("span",{children:t.label})]})]})}function Fa(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function mr({value:e,size:t}){return e==="cloud"?n.jsx(Zr,{size:t}):e==="hybrid"?n.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[n.jsx(ea,{className:"hybrid-folder",size:t}),n.jsx(Zr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?n.jsx(mc,{size:t}):n.jsx(ea,{size:t})}function Da({disabled:e,model:t,modelGroups:s,placement:r,provider:a,providerSettings:i,reasoningEffort:c,showReasoning:o,onModelSelectionChange:u,onReasoningEffortChange:f}){const[p,v]=l.useState(!1),[h,m]=l.useState("root"),g=l.useRef(null),x=s.find(R=>R.provider===a),E=x?.options.find(R=>R.value===t),S=sl(a,t,i),M=rl(a,t,c,i),j=S.find(R=>R.value===M)??S[0],N=Ju(E?.label??t)||x?.label||a,y=o?`${N} ${j.shortLabel??j.label}`:N,A=o?"Model and reasoning":"Model";return l.useEffect(()=>{if(!p){m("root");return}function R(H){g.current?.contains(H.target)||v(!1)}function U(H){H.key==="Escape"&&v(!1)}return document.addEventListener("pointerdown",R),document.addEventListener("keydown",U),()=>{document.removeEventListener("pointerdown",R),document.removeEventListener("keydown",U)}},[p]),l.useEffect(()=>{!o&&h==="effort"&&m("root")},[h,o]),n.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":A,ref:g,children:[n.jsxs("button",{type:"button",className:`codex-model-trigger ${p?"active":""}`,disabled:e,"aria-label":A,"aria-haspopup":"menu","aria-expanded":p,onClick:()=>v(R=>!R),children:[n.jsx("span",{children:y}),n.jsx(Pt,{size:14})]}),p&&n.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":A,children:h==="root"?n.jsxs("div",{className:"codex-model-menu-root",children:[n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>m("provider"),children:[n.jsx("span",{children:"Provider"}),n.jsx("span",{className:"codex-model-menu-value",children:x?.label??a}),n.jsx(cr,{size:14})]}),n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>m("model"),children:[n.jsx("span",{children:"Model"}),n.jsx("span",{className:"codex-model-menu-value",children:ta(E?.label??t)||"Agent default"}),n.jsx(cr,{size:14})]}),o?n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>m("effort"),children:[n.jsx("span",{children:"Effort"}),n.jsx("span",{className:"codex-model-menu-value",children:j.shortLabel??j.label}),n.jsx(cr,{size:14})]}):null]}):h==="provider"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Provider",onClick:()=>m("root"),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"Provider"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),n.jsx("div",{className:"codex-model-menu-options",children:s.map(R=>{const U=R.provider===a;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":U,className:U?"selected":"",onClick:()=>{const H=Gu(R);H&&(u(H.provider,H.model),m("root"))},children:[n.jsx("span",{children:R.label}),U?n.jsx(_t,{size:14}):null]},R.provider)})})]}):h==="model"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Model",onClick:()=>m("root"),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"Model"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),n.jsxs("div",{className:"codex-model-menu-options",children:[(x?.options??[]).map(R=>{const U=R.value===t;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":U,className:U?"selected":"",onClick:()=>{u(a,R.value),m("root")},children:[n.jsx("span",{children:ta(R.label)}),U?n.jsx(_t,{size:14}):null]},R.value)}),x?.options.length?null:n.jsx("div",{className:"codex-model-menu-empty",role:"status",children:"No models available. Connect or check this provider in Settings."})]})]}):n.jsxs("div",{className:"codex-model-menu-effort",children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Effort",onClick:()=>m("root"),children:[n.jsx(Gn,{size:14}),n.jsx("span",{children:"Effort"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),S.map(R=>n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":R.value===M,className:R.value===M?"selected":"",onClick:()=>{f(R.value),m("root")},children:[n.jsx("span",{children:R.label}),R.value===M?n.jsx(_t,{size:14}):null]},R.value))]})})]})}function Ju(e){return ta(e).replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function Yu({detailsOpen:e,goalRuntime:t,objectiveId:s,subagentRuntime:r,onToggleDetails:a}){const i=r?.activeCount?`${t.tooltip}. ${r.tooltip}`:t.tooltip;return n.jsxs("div",{className:`composer-goal-strip ${t.tone}${r?.activeCount?" has-subagents":""}`,"data-tooltip":i,children:[n.jsx("div",{className:"composer-goal-heading",children:n.jsxs("button",{type:"button",className:"composer-goal-toggle","aria-expanded":e,"aria-controls":s,onClick:a,children:[n.jsx("span",{children:t.actionLabel}),n.jsxs("span",{className:"composer-goal-toggle-meta",children:[r?n.jsx("span",{className:"composer-goal-subagent-count",children:r.label}):null,n.jsx("span",{children:t.timeLabel}),n.jsx(Pt,{size:15,"aria-hidden":"true"})]})]})}),e&&n.jsxs("div",{className:"composer-goal-objective",id:s,children:[t.objective,r?n.jsx("span",{className:"composer-goal-subagent-summary",children:r.tooltip}):null]})]})}function Zu({drafts:e,sendingDraftId:t,onDeleteDraft:s,onEditDraft:r,onSteerDraft:a}){return e.length===0?null:n.jsx("div",{className:"composer-steer-stack","aria-label":"Steer drafts",children:e.map(i=>{const c=t===i.id,o=ys(i.prompt);return n.jsxs("div",{className:`composer-steer-row ${c?"sending":""}`,children:[n.jsx("span",{className:"composer-steer-row-icon","aria-hidden":"true",children:n.jsx(Uc,{size:13})}),n.jsx("span",{className:"composer-steer-row-text",title:i.prompt,children:o}),n.jsxs("button",{type:"button",className:"composer-steer-row-action primary",disabled:c,"aria-label":`Steer: ${ys(i.prompt,60)}`,onClick:()=>a(i.id),children:[n.jsx(gr,{size:12}),n.jsx("span",{children:c?"Sending":"Steer"})]}),n.jsx("button",{type:"button",className:"composer-steer-row-icon-button",disabled:c,"data-tooltip":"Delete steer draft","aria-label":"Delete steer draft",onClick:()=>s(i.id),children:n.jsx(Uo,{size:13})}),n.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:c,"aria-label":`Edit: ${ys(i.prompt,60)}`,onClick:()=>r(i),children:n.jsx("span",{children:"Edit"})})]},i.id)})})}const ed=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,td=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,nd=new Set(["about","apps","collections","codespaces","contact","customer-stories","enterprise","events","explore","features","issues","login","marketplace","mobile","new","notifications","orgs","organizations","pricing","pulls","readme","search","settings","sponsors","team","topics","trending"]),sd=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function rd(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function ad(e){return e==="github"?nd:sd}function Gi(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;id(t);)t=t.slice(0,-1);return t}function id(e){const t=e.at(-1);if(!t||!")]}".includes(t))return!1;const s=t===")"?"(":t==="]"?"[":"{";let r=0;for(const a of e)a===s&&(r+=1),a===t&&(r-=1);return r<0}function od(e){return e.replace(/\.git$/i,"")}function Ki(e){try{return decodeURIComponent(e)}catch{return e}}function ld(e){return od(Ki(e.trim()))}function Qi(e){const t=e.host.toLowerCase().replace(/^www\./,""),s=rd(t);if(!s)return null;const r=Ki(e.owner?.trim()??""),a=ld(e.repo??"");return!r||!a||ad(s).has(r.toLowerCase())?null:{end:e.end,host:t,label:`${r}/${a}`,provider:s,repo:a,start:e.start,url:e.url,owner:r}}function cd(e,t){const s=Gi(e);if(!s)return null;try{const r=new URL(/^https?:\/\//i.test(s)?s:`https://${s}`),a=r.pathname.split("/").filter(Boolean);return Qi({end:t+s.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:s})}catch{return null}}function ud(e,t){const s=Gi(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(s);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Qi({end:t+s.length,host:a,owner:i[0],repo:i[1],start:t,url:s})}function Ba(e,t,s){const r=[];t.lastIndex=0;let a;for(;a=t.exec(e);){const i=a[0]??"",c=s(i,a.index);c&&r.push(c)}return r}function dd(e){if(!e)return[];const t=[...Ba(e,ed,cd),...Ba(e,td,ud)].sort((r,a)=>r.start-a.start||a.end-r.end),s=[];for(const r of t)s.some(a=>r.start<a.end&&r.end>a.start)||s.push(r);return s.sort((r,a)=>r.start-a.start)}const fd=10,md=340,hd=320,pd=160,gd=56;function It(e,t=0){const s=Number.parseFloat(e);return Number.isFinite(s)?s:t}function Hr(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),s=It(t.fontSize,16),r=It(t.lineHeight,s*1.45),a=It(t.paddingTop)+It(t.paddingBottom),i=It(t.borderTopWidth)+It(t.borderBottomWidth),c=It(t.minHeight,66),o=Math.max(c,Math.ceil(r*fd+a+i)),u=Math.max(c,Math.min(e.scrollHeight,o));e.style.height=`${u}px`,e.style.overflowY=e.scrollHeight>o?"auto":"hidden"}function Vr(e,t){const s=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=It(a.paddingLeft,14),c=It(a.paddingTop,15),o=Math.max(0,r.width-16),u=Math.min(md,o),f=s.left-r.left+i-8,p=Math.max(8,Math.min(f,r.width-u-8)),v=Math.max(8,s.top-r.top+c+2);return{left:p,top:v,width:u}}function xd(e){const t=e.getBoundingClientRect(),s=Math.floor(t.top-gd);return{maxHeight:Math.max(pd,Math.min(hd,s))}}const bd="[data-inline-token='true']",vd="[data-inline-repo-link='true']",jd="[data-inline-connected-app-mention='true']";function ks(e){return e instanceof HTMLElement&&e.matches(bd)}function Cs(e){return e instanceof HTMLElement&&e.matches(vd)}function ws(e){return e instanceof HTMLElement&&e.matches(jd)}function br(e,t){return Math.max(0,Math.min(e,t))}function Qn(e,t){return e?br(e.position,t.length):null}function yd(e,t,s,r=!1){const a=Qn(t,s),i=br(e,s.length);return a===null?i:i>a||r&&i===a?i+1:i}function Ua(e,t,s){const r=Qn(t,s);return br(r===null?e:e>r?e-1:e,s.length)}function Wr(e){let t="",s=null;function r(a){if(Cs(a)){t+=a.dataset.repoUrl??"";return}if(ws(a)){t+=a.dataset.connectedMentionText??"";return}if(ks(a)){s=t.length;return}if(a.nodeType===Node.TEXT_NODE){t+=a.textContent??"";return}a instanceof HTMLBRElement||a.childNodes.forEach(r)}return e.childNodes.forEach(r),{text:t,tokenPosition:s}}function hn(e){if(Cs(e))return e.dataset.repoUrl?.length??0;if(ws(e))return e.dataset.connectedMentionText?.length??0;if(ks(e))return 1;if(e.nodeType===Node.TEXT_NODE)return e.textContent?.length??0;if(e instanceof HTMLBRElement)return 0;let t=0;return e.childNodes.forEach(s=>{t+=hn(s)}),t}function qa(e,t,s){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(c){if(!a){if((ks(c)||Cs(c)||ws(c))&&(c===t||c.contains(t))){(c!==t||s>0)&&(r+=hn(c)),a=!0;return}if(ks(c)||Cs(c)||ws(c)){r+=hn(c);return}if(c===t){if(c.nodeType===Node.TEXT_NODE)r+=s;else{const o=Array.from(c.childNodes).slice(0,s);for(const u of o)r+=hn(u)}a=!0;return}if(c.nodeType===Node.TEXT_NODE){r+=c.textContent?.length??0;return}c instanceof HTMLBRElement||c.childNodes.forEach(i)}}return i(e),a?r:null}function Gr(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const s=qa(e,t.anchorNode,t.anchorOffset),r=qa(e,t.focusNode,t.focusOffset);return s===null||r===null?null:{anchor:s,focus:r}}function Ha(e,t){let s=Math.max(0,t);function r(c){const o=c.parentNode;return o?{node:o,offset:Array.prototype.indexOf.call(o.childNodes,c)}:{node:e,offset:0}}function a(c){const o=r(c);return{node:o.node,offset:o.offset+1}}function i(c){if(ks(c)||Cs(c)||ws(c)){const o=hn(c);return s<=0?r(c):s<=o?a(c):(s-=o,null)}if(c.nodeType===Node.TEXT_NODE){const o=c.textContent?.length??0;return s<=o?{node:c,offset:s}:(s-=o,null)}if(c instanceof HTMLBRElement)return null;for(const o of c.childNodes){const u=i(o);if(u)return u}return null}return i(e)??{node:e,offset:e.childNodes.length}}function Xi(e,t){const s=window.getSelection();if(!s)return;const r=Ha(e,t.anchor),a=Ha(e,t.focus);if(s.removeAllRanges(),typeof s.setBaseAndExtent=="function"){s.setBaseAndExtent(r.node,r.offset,a.node,a.offset);return}const i=document.createRange(),c=t.anchor<=t.focus,o=c?r:a,u=c?a:r;i.setStart(o.node,o.offset),i.setEnd(u.node,u.offset),s.addRange(i)}function kd(e,t){Xi(e,{anchor:t,focus:t})}function Va(e){document.execCommand("insertText",!1,e)}function Cd(e){return e==="plus"?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12h14"></path><path d="M12 5v14"></path></svg>':e==="bot"?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg>':e==="skill"?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V5a2 2 0 0 1 2-2h5a3 3 0 0 1 3 3v15a3 3 0 0 0-3-3Z"></path><path d="M21 18a1 1 0 0 0 1-1V5a2 2 0 0 0-2-2h-5a3 3 0 0 0-3 3v15a3 3 0 0 1 3-3Z"></path></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg>'}function wd(){return'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="composer-invocation-clear" aria-hidden="true"><path d="M18 6 6 18"></path><path d="m6 6 12 12"></path></svg>'}function Wa(e){const t=document.createElement("span");t.className="composer-invocation-pill",t.contentEditable="false",t.dataset.inlineToken="true";const s=document.createElement("button");s.type="button",s.className="composer-invocation-remove",s.setAttribute("aria-label",`Remove ${e.label}`),s.addEventListener("mousedown",i=>i.preventDefault()),s.addEventListener("click",i=>{i.preventDefault(),e.onRemove()});const r=document.createElement("span");r.className="composer-invocation-icon",r.setAttribute("aria-hidden","true"),r.innerHTML=Cd(e.icon),s.append(r),s.insertAdjacentHTML("beforeend",wd());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(s,a),t}function Sd(e){return e.provider==="github"?da("github"):il}function Md(e){const t=document.createElement("span");t.className=`composer-repo-link ${e.provider}`,t.contentEditable="false",t.dataset.inlineRepoLink="true",t.dataset.repoUrl=e.url,t.dataset.repoProvider=e.provider,t.setAttribute("aria-label",`${e.provider==="github"?"GitHub":"OpenPond"} repository ${e.label}`),t.title=e.url;const s=document.createElement("img");s.className="composer-repo-link-icon",s.src=Sd(e),s.alt="",s.draggable=!1;const r=document.createElement("span");return r.className="composer-repo-link-label",r.textContent=e.label,t.append(s,r),t}function Nd(e){return da(e)}function Ad(e){const t=document.createElement("span");t.className=`composer-connected-app-mention ${e.provider}`,t.contentEditable="false",t.dataset.inlineConnectedAppMention="true",t.dataset.connectedMentionText=e.text,t.dataset.connectedMentionProvider=e.provider,t.setAttribute("aria-label",`${e.label} connected app mention ${e.displayText}`),t.title=e.detail;const s=document.createElement("img");s.className="composer-connected-app-mention-icon",s.src=Nd(e.provider),s.alt="",s.draggable=!1;const r=document.createElement("span");return r.className="composer-connected-app-mention-label",r.textContent=e.displayText,t.append(s,r),t}function Rd(e,t){const s=dd(e);return t===null?s:s.filter(r=>t<=r.start||t>=r.end)}function Ed(e,t,s){const r=al(e,t);return s===null?r:r.filter(a=>s<=a.start||s>=a.end)}function Ji(e,t,s){const r=[...Rd(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),...Ed(e,s,t).map(c=>({end:c.end,kind:"connected-app",mention:c,start:c.start}))].sort((c,o)=>c.start-o.start||o.end-c.end),a=[];let i=0;for(const c of r)c.start<i||(a.push(c),i=c.end);return a}function $d(e,t,s){return Ji(e,t,s).map(r=>r.kind==="repo"?`${r.start}:${r.end}:repo:${r.link.provider}:${r.link.label}:${r.link.url}`:`${r.start}:${r.end}:connected-app:${r.mention.provider}:${r.mention.text}:${r.mention.displayText}`).join("|")}function Td(e,t,s,r){const a=Qn(s,t),i=Ji(t,a,r);let c=!1;function o(p){p&&e.append(document.createTextNode(p))}function u(p,v){if(!s||a===null||c||a<p||a>v){o(t.slice(p,v));return}o(t.slice(p,a)),e.append(Wa(s)),c=!0,o(t.slice(a,v))}e.replaceChildren();let f=0;for(const p of i)u(f,p.start),p.kind==="repo"?e.append(Md(p.link)):e.append(Ad(p.mention)),f=p.end;u(f,t.length),s&&!c&&e.append(Wa(s))}const Id=l.forwardRef(function({connectedAppMentions:t=[],disabled:s,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:o,onTokenPositionChange:u,placeholder:f,prompt:p,token:v},h){const m=l.useRef(null),x=`${v?`${v.key}:${Qn(v,p)??0}`:"none"}|${$d(p,Qn(v,p),t)}`,E=l.useRef(null),S=p.length===0&&!v;l.useImperativeHandle(h,()=>({get element(){return m.current},getPrompt(){const y=m.current;return y?Wr(y).text:p},focusAtPromptIndex(y,A){const R=m.current;if(!R)return;const U=yd(y,v,p,A?.afterToken);R.focus(),kd(R,U),Hr(R)},resize(){Hr(m.current)}}),[p,v]),l.useLayoutEffect(()=>{const y=m.current;if(!y)return;const A=E.current!==x;E.current=x;const R=Wr(y);if(A||p===""||R.text!==p||R.tokenPosition!==Qn(v,p)){const H=document.activeElement===y?Gr(y):null;Td(y,p,v,t),y.dataset.empty=p.length===0&&!v?"true":"false",H&&Xi(y,H)}Hr(y)},[t,p,v,x]);function M(){const y=m.current;if(!y)return;const A=Gr(y)?.focus??hn(y),R=Wr(y),U=Ua(A,v,R.text);y.dataset.empty=R.text.length===0&&!v?"true":"false",u(R.tokenPosition),r(U),o(R.text,U)}function j(){M(),window.requestAnimationFrame(M)}function N(){const y=m.current;if(!y)return;const A=Gr(y)?.focus??hn(y);r(Ua(A,v,p))}return n.jsx("div",{ref:m,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!s,suppressContentEditableWarning:!0,"data-empty":S?"true":"false","data-placeholder":f,onBeforeInput:y=>{y.nativeEvent.inputType==="insertParagraph"&&(y.preventDefault(),Va(`
|
|
3
3
|
`),j())},onInput:M,onKeyDown:y=>{a(y)},onKeyUp:N,onMouseUp:N,onPaste:y=>{y.preventDefault();const A=Array.from(y.clipboardData.files);if(A.length>0&&i){i(A);return}const R=y.clipboardData.getData("text/plain");R&&(c?.(R)||(Va(R),j()))}})});function _d(e){if(!e.saving){if(!e.prompt.trim()){e.showInfo("Add task instructions before saving a draft.");return}if(e.attachmentsCount>0){e.showInfo("Task drafts currently save instructions only. Remove attachments before saving.");return}if(e.hasSelectedInvocation){e.showInfo("Finish or remove the selected command before saving this task draft.");return}e.setSaving(!0),e.onSave(e.prompt).then(t=>{t&&e.onSaved()}).finally(()=>e.setSaving(!1))}}function Pd(e,t,s,r,a,i,c){return e==="Enter"&&(t||s)&&!r&&a==="work"&&i==="chat"&&c}function Ld(e){return e.surface==="team"?"Message team":e.mode!=="start"?"Ask for follow-up changes":e.experience==="chat"?"Ask anything":"What should we work on? Ctrl Enter to save as draft"}function Ga(e){const t=e.implementation?.type;return t==="openpond-agent"||t==="local-profile-agent"||t==="openpond-profile-action"&&(e.sourceActionId==="chat"||e.id==="chat"||e.id.endsWith(".chat"))}function Od(e){return e.kind==="command"?`command:${e.command.id}`:e.kind==="app-context"?`app-context:${e.app.id}`:e.kind==="skill"?`skill:${e.skill.name}`:`action:${e.action.id}`}function zd(e){return e.kind==="command"?`${e.command.command} ${e.command.label}`:e.kind==="app-context"?e.app.name:e.kind==="skill"?Cr(e.skill):fa(e.action)}function Fd(e){return e.kind==="command"?cl(e.command):e.kind==="app-context"?`Planning context${e.app.description?`: ${e.app.description}`:e.app.gitRepo?`: ${e.app.gitRepo}`:""}`:e.kind==="skill"?e.skill.description||e.skill.path:e.action.description||ul(e.action)}function Dd(e){return e.kind==="app"?`app:${e.app.id}`:e.kind==="connected-app"?`connected-app:${e.app.provider}`:e.kind==="team-member"?`team-member:${e.member.userId}`:e.kind==="skill"?`skill:${e.skill.name}`:`action:${e.action.id}`}function Bd(e){return e.kind==="app"?e.app.name:e.kind==="connected-app"?e.app.label:e.kind==="team-member"?e.member.name:e.kind==="skill"?Cr(e.skill):ll(e.action)}function Ud(e){if(e.kind==="action")return dl(e.action);if(e.kind==="connected-app")return e.app.detail;if(e.kind==="team-member")return e.member.handle?`@${e.member.handle}`:"Team member";if(e.kind==="skill")return e.skill.description||e.skill.path;const t=e.app.sandboxActionRegistry?.actions.map(s=>s.name)??[];return t.length>0?`Actions: ${t.slice(0,4).join(", ")}${t.length>4?` +${t.length-4}`:""}`:e.app.sandboxManifestError?"Manifest registry unavailable":e.app.description||e.app.gitRepo||e.app.id}function qd(e){return e.kind==="files"?"files":e.kind==="folder"?"folder":e.kind==="slash"?`slash:${Od(e.item)}`:`mention:${Dd(e.item)}`}function Yi(e){return e.kind==="files"?"Files and folders":e.kind==="folder"?"Local folder":e.kind==="slash"?zd(e.item):Bd(e.item)}function Zi(e){return e.kind==="files"?"Attach images, documents, or other files":e.kind==="folder"?"Share a bounded folder as Work input":e.kind==="slash"?Fd(e.item):Ud(e.item)}function Hd(e,t){const s=t.toLowerCase().split(/\s+/).filter(Boolean);if(s.length===0)return!0;const r=`${Yi(e)} ${Zi(e)}`.toLowerCase();return s.every(a=>r.includes(a))}function Vd(e,t){const s=t.trimStart(),r=s.startsWith("/")?"slash":s.startsWith("@")?"mentions":null,a=r?s.slice(1).trimStart():s,i=r?e.filter(u=>u.id===r||u.queryScope===r||u.queryScopes?.includes(r)):e;if(!a)return i;const c=i.map(u=>({...u,items:u.items.filter(f=>Hd(f,a))})).filter(u=>u.items.length>0);return c.length>0?c:[{...(r?i[0]:null)??{id:"results",label:"Results"},emptyLabel:r==="slash"?"No slash commands match":r==="mentions"?"No mentions match":"No commands match",items:[]}]}function Wd(e){if(e.kind==="files")return n.jsx($a,{size:14});if(e.kind==="folder")return n.jsx($a,{size:14});if(e.kind==="slash"){const s=e.item;return s.kind==="command"?s.command.id==="agent"?n.jsx(vs,{size:14}):s.command.id==="skill"?n.jsx(ol,{size:14}):n.jsx(lr,{size:14}):s.kind==="app-context"?n.jsx(Ea,{size:14}):s.kind==="skill"?n.jsx(mt,{size:14}):Ga(s.action)?n.jsx(vs,{size:14}):n.jsx(lr,{size:14})}const t=e.item;return t.kind==="connected-app"?n.jsx("img",{alt:"",className:"composer-provider-mention-icon",draggable:!1,src:da(t.app.provider)}):t.kind==="action"?Ga(t.action)?n.jsx(vs,{size:14}):n.jsx(lr,{size:14}):t.kind==="skill"?n.jsx(mt,{size:14}):n.jsx(Ea,{size:14})}function Gd(e){if(e.kind==="slash"&&e.item.kind==="app-context"||e.kind==="mention"&&e.item.kind==="app")return e.item.app.id}function xa({ariaLabel:e,className:t="",id:s,menuIndex:r,menuRef:a,onSelect:i,onSelectIndex:c,sections:o,style:u,variant:f}){const p=l.useRef(null),v=o.reduce((m,g)=>m+g.items.length,0);l.useEffect(()=>{if(f==="add"&&r===0){const m=p.current?.closest(".composer-command-menu");m&&(m.scrollTop=0);return}p.current?.scrollIntoView({block:"nearest"})},[v,r,f]);let h=0;return n.jsx("div",{ref:a,id:s,className:`composer-project-menu composer-slash-menu ${t} composer-command-menu composer-command-menu-${f}`.trim(),role:f==="add"?"menu":"listbox","aria-label":e,style:u,children:o.map(m=>{const g=h;return h+=m.items.length,n.jsxs("div",{className:`composer-command-section ${m.grid?"composer-command-section-grid":""}`.trim(),role:"group","aria-label":m.label,children:[n.jsx("div",{className:"composer-command-section-title",children:m.label}),m.items.length>0?m.items.map((x,E)=>{const S=g+E,M=S===r;return n.jsxs("button",{type:"button",role:f==="add"?"menuitem":"option",ref:M?p:void 0,"aria-selected":f==="typed"?M:void 0,className:`composer-project-option ${M?"selected":""} composer-command-option`,"data-app-context-id":Gd(x),onFocus:()=>c(S),onMouseEnter:()=>c(S),onMouseDown:j=>{j.preventDefault()},onClick:()=>i(x),children:[Wd(x),n.jsxs("span",{children:[n.jsx("strong",{children:Yi(x)}),n.jsx("small",{children:Zi(x)})]}),f==="typed"&&M?n.jsx(_t,{size:14}):n.jsx("span",{"aria-hidden":"true"})]},qd(x))}):n.jsx("div",{className:"composer-menu-empty",children:m.emptyLabel??"No items available"})]},m.id)})})}function Kd({mentionIndex:e,items:t,onSelect:s,onSelectIndex:r,style:a}){return n.jsx(xa,{ariaLabel:"Mentions",className:"composer-mention-menu",menuIndex:e,sections:[{emptyLabel:"No matching mentions",id:"mentions",items:t.map(i=>({kind:"mention",item:i})),label:"@"}],style:a,variant:"typed",onSelect:i=>{i.kind==="mention"&&s(i.item)},onSelectIndex:r})}const Ka=new WeakMap,vr=new WeakMap,Qd=3e4;function Ms(e,t){return JSON.stringify([e,t?.binaryPath??null,t?.sourceHome??null,t?.enabled??!0])}function eo(e,t,s){return vr.get(e)?.get(Ms(t,s))?.value??null}function to(e,t,s,r){let a=vr.get(e);a||(a=new Map,vr.set(e,a)),a.set(Ms(t,r),{value:s,refreshedAt:Date.now()})}function Xd(e,t,s){const r=Ms(t,s),a=vr.get(e)?.get(r);if(a&&Date.now()-a.refreshedAt<Qd)return{promise:Promise.resolve(a.value),release(){}};let i=Ka.get(e);i||(i=new Map,Ka.set(e,i));let c=i.get(r);if(!c){const f=new AbortController;c={controller:f,readers:0,promise:Xe(e,`/v1/providers/${t}/native-setup`,{method:"POST",body:JSON.stringify({action:"capabilities"}),signal:f.signal})},i.set(r,c);const p=c,v=()=>{i.get(r)===p&&i.delete(r)};c.promise.then(h=>{i.get(r)===p&&!f.signal.aborted&&!h.error&&h.session&&to(e,t,h,s),v()},v)}c.readers++;const o=c;let u=!1;return{promise:o.promise,release(){u||(u=!0,o.readers--,o.readers===0&&i.get(r)===o&&(i.delete(r),o.controller.abort()))}}}function Jd({connection:e,provider:t,providerSettings:s,disabled:r,placement:a="top",onSettings:i,onSetup:c}){const o=s?.providers[t],[u,f]=l.useState(null),p=Ms(t,o),v=e?eo(e,t,o):null,h=u?.connection===e&&u.provider===t&&u.instance===p?u.value:v,[m,g]=l.useState(null),[x,E]=l.useState(!1),S=["opencode","grok-build","claude-code"].includes(t);if(l.useEffect(()=>{if(g(null),!e||!S)return;const N=Xd(e,t,o);let y=!0;return N.promise.then(A=>{y&&(A.error?g(A.error):(f({connection:e,provider:t,instance:p,value:A}),i({provider:t,settings:A.settings})))}).catch(A=>{y&&g(A.message)}),()=>{y=!1,N.release()}},[e,t,S,i,p]),!S||!e)return null;const M=o?.nativeMode??h?.session?.modes?.currentModeId??"";async function j(N){if(e){E(!0);try{const y=await Xe(e,"/v1/providers",{method:"PATCH",body:JSON.stringify({providers:{[t]:N}})});if(h){const A={...h,settings:y};to(e,t,A,o),f({connection:e,provider:t,instance:p,value:A})}i({provider:t,settings:y}),g(null)}catch(y){g(y instanceof Error?y.message:"Could not save agent settings.")}finally{E(!1)}}}return n.jsxs(n.Fragment,{children:[o&&!o.enabled?n.jsx("button",{type:"button",disabled:r||x,onClick:()=>{j({enabled:!0})},children:"Enable agent"}):null,h?.session?.modes?n.jsx(na,{compact:!0,className:"permission-select",icon:n.jsx(Si,{size:14}),placement:a,label:t==="claude-code"?"Claude permissions":"Agent mode",disabled:r||x,value:t==="claude-code"&&M==="default"?"manual":M,options:h.session.modes.availableModes.map(N=>({value:N.id,label:t==="claude-code"&&N.id==="manual"?"Ask":N.name,...t==="claude-code"?{description:N.id==="plan"?"Inspect and plan before making changes.":N.id==="bypassPermissions"?"Run tools and commands without permission prompts.":"Ask before actions that require permission."}:{}})),onChange:N=>{j({nativeMode:N})}}):null,h?.session?.configOptions?.filter(N=>N.type==="select"&&N.category!=="model"&&N.category!=="mode").map(N=>n.jsxs("label",{className:"composer-native-option",children:[n.jsx("span",{children:N.name}),n.jsx("select",{title:`Default ${N.name.toLowerCase()} for this agent installation`,disabled:r||x,value:o?.nativeOptions?.[N.id]??N.currentValue,onChange:y=>{j({nativeOptions:{...o?.nativeOptions,[N.id]:y.target.value}})},children:N.options?.flatMap(y=>"options"in y?y.options:[y]).map(y=>n.jsx("option",{value:y.value,children:y.name},y.value))})]},N.id)),m||h?.error?n.jsxs("span",{role:"status",title:m??h?.error??void 0,children:["Agent needs attention",c?n.jsx("button",{type:"button",onClick:c,children:"Open setup"}):null]}):null]})}function no(){return!!(navigator.mediaDevices&&typeof AudioContext<"u")}async function Yd(e={}){if(!no())throw new Error("Voice recording is not available in this browser.");const t=await navigator.mediaDevices.getUserMedia({audio:{autoGainControl:!0,channelCount:1,echoCancellation:!0,noiseSuppression:!0}}),s=new AudioContext,r=s.createMediaStreamSource(t),a=s.createScriptProcessor(4096,1,1),i=s.createGain();i.gain.value=0;const c={audioContext:s,chunks:[],processor:a,silentGain:i,source:r,stream:t,startedAt:performance.now(),stopped:!1,onAudioLevel:e.onAudioLevel};return a.onaudioprocess=o=>{if(c.stopped)return;const u=o.inputBuffer.getChannelData(0);c.chunks.push(new Float32Array(u)),c.onAudioLevel?.(Zd(u))},r.connect(a),a.connect(i),i.connect(s.destination),{stop:()=>Qa(c,!0),cancel:()=>Qa(c,!1).then(()=>{})}}function Zd(e){if(e.length===0)return 0;let t=0;for(const r of e)t+=r*r;const s=Math.sqrt(t/e.length);return Math.min(1,Math.pow(s*5,.6))}async function Qa(e,t){if(e.stopped)return{blob:new Blob([],{type:"audio/wav"}),durationMs:0,sampleRate:e.audioContext.sampleRate};e.stopped=!0,e.processor.disconnect(),e.silentGain.disconnect(),e.source.disconnect();for(const a of e.stream.getTracks())a.stop();await e.audioContext.close().catch(()=>{});const s=Math.max(0,performance.now()-e.startedAt);if(!t)return{blob:new Blob([],{type:"audio/wav"}),durationMs:s,sampleRate:e.audioContext.sampleRate};const r=ef(e.chunks);if(r.length===0)throw new Error("No microphone audio was captured.");return{blob:tf(r,e.audioContext.sampleRate),durationMs:s,sampleRate:e.audioContext.sampleRate}}function ef(e){const t=e.reduce((a,i)=>a+i.length,0),s=new Float32Array(t);let r=0;for(const a of e)s.set(a,r),r+=a.length;return s}function tf(e,t){const a=e.length*2,i=new ArrayBuffer(44+a),c=new DataView(i);ar(c,0,"RIFF"),c.setUint32(4,36+a,!0),ar(c,8,"WAVE"),ar(c,12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,1,!0),c.setUint32(24,t,!0),c.setUint32(28,t*1*2,!0),c.setUint16(32,2,!0),c.setUint16(34,16,!0),ar(c,36,"data"),c.setUint32(40,a,!0);let o=44;for(const u of e){const f=Math.max(-1,Math.min(1,u));c.setInt16(o,f<0?f*32768:f*32767,!0),o+=2}return new Blob([i],{type:"audio/wav"})}function ar(e,t,s){for(let r=0;r<s.length;r+=1)e.setUint8(t+r,s.charCodeAt(r))}const ia=96,so=Array.from({length:ia},()=>0);function gs(){return[...so]}function nf(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function sf({levels:e}){const t=l.useMemo(()=>e.length>=ia?e.slice(-ia):[...so.slice(e.length),...e],[e]);return n.jsx("span",{className:"voice-recording-waveform",role:"img","aria-label":"Live microphone level",children:t.map((s,r)=>n.jsx("span",{className:"voice-recording-bar",style:{"--voice-level":s},"aria-hidden":"true"},r))})}const rf=12e4,ro="openpond.voice.setupNoticeAcknowledged",af="Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.";function Xa({connection:e,buttonClassName:t,wrapperClassName:s="",disabled:r=!1,iconSize:a=16,language:i="en",onActiveChange:c,showToast:o,onTranscript:u,transcriptionChannelKey:f}){const p=l.useRef(null),v=l.useRef(null),h=l.useRef(e),m=l.useRef(r),g=l.useRef("idle"),x=l.useRef(!1),E=l.useRef(Ja());fl(()=>{E.current=Ja()}),h.current=e,m.current=r;const[S,M]=l.useState("idle"),[j,N]=l.useState(null),[y,A]=l.useState(gs),R=l.useCallback(z=>_u(f,z),[f]),U=l.useCallback(()=>Iu(f),[f]),H=l.useSyncExternalStore(R,U,U),K=H,q=S==="starting",he=S==="recording",Se=he||H,pe=q||Se;g.current=S;const ke=l.useCallback(()=>{v.current!==null&&(window.clearTimeout(v.current),v.current=null)},[]),ue=l.useCallback(async()=>{ke();const z=p.current;p.current=null,x.current=!1,M("idle"),A(gs()),z&&await z.cancel().catch(()=>{})},[ke]),ee=l.useCallback(async(z,_,te)=>{const C=h.current;if(!C)throw new Error("Voice input is still connecting.");const I=await Le.voiceTranscriptionStatus(C,{signal:_});if(!I.binaryPath)throw new Error(I.installHint??"Install whisper.cpp to use dictation.");const F=await Le.transcribeVoice(C,{audioBase64:await of(z.blob),durationMs:Math.round(z.durationMs),language:i,mimeType:"audio/wav"},{signal:_});_.aborted||Promise.resolve(u(F.text,{submit:te()})).catch(T=>{o(Kr(T),"error")})},[i,u,o]),de=l.useCallback(()=>{Ui(f),N(null),A(gs())},[f]),ge=l.useCallback(async(z=!1)=>{ke();const _=p.current;p.current=null,_&&(M("idle"),N(null),A(gs()),Ou(f,async(te,C)=>{const I=await _.stop();te.aborted||await ee(I,te,C)},{submit:z}).catch(te=>{te instanceof DOMException&&te.name==="AbortError"||o(Kr(te),"error")}))},[ke,o,ee,f]),fe=l.useCallback(async()=>{if(m.current)return;if(!h.current){N("Voice input is still connecting.");return}if(!no()){N("Voice recording is not available in this browser.");return}N(null),M("starting");try{if(await window.openpond?.requestMicrophoneAccess?.()===!1)throw new Error("Microphone access is denied.");const te=await Yd({onAudioLevel:C=>{A(I=>nf(I,C))}});if(p.current=te,A(gs()),M("recording"),x.current){x.current=!1,ge(!0);return}v.current=window.setTimeout(()=>{ge(!1)},rf)}catch(_){N(Kr(_)),await ue()}},[ue,ge]),V=l.useCallback(()=>{if(E.current){fe();return}o(af,"info",{actionLabel:"Continue",persistent:!0,onAction:()=>{E.current=!0,lf(),fe()}})},[fe,o]);return l.useEffect(()=>Pu(f,()=>p.current?(ge(!0),!0):g.current==="starting"?(x.current=!0,!0):!1),[ge,f]),l.useEffect(()=>{c?.(pe)},[pe,c]),l.useEffect(()=>()=>c?.(!1),[c]),l.useEffect(()=>{if(!j||he||K)return;const z=window.setTimeout(()=>N(null),7e3);return()=>window.clearTimeout(z)},[K,j,he]),l.useEffect(()=>()=>{ue()},[ue]),n.jsxs("span",{className:`voice-input-control ${s} ${q?"starting":""} ${he?"recording":""} ${H?"transcribing":""}`.trim(),children:[Se?n.jsxs("span",{className:"voice-recording-strip",children:[n.jsx("span",{className:"sr-only",role:"status",children:H?"Transcribing audio":"Recording voice"}),n.jsx("button",{type:"button",className:"voice-recording-action cancel","aria-label":H?"Cancel transcription":"Cancel dictation",onClick:()=>{H?de():ue()},children:n.jsx(Ss,{size:15})}),H?n.jsxs(n.Fragment,{children:[n.jsxs("span",{className:"voice-transcribing-label","aria-hidden":"true",children:["Transcribing",n.jsxs("span",{className:"voice-transcribing-dots",children:[n.jsx("span",{children:"."}),n.jsx("span",{children:"."}),n.jsx("span",{children:"."})]})]}),n.jsx("span",{className:"voice-recording-action-spacer","aria-hidden":"true"})]}):n.jsxs(n.Fragment,{children:[n.jsx(sf,{levels:y}),n.jsx("button",{type:"button",className:"voice-recording-action stop","aria-label":"Stop and transcribe",onClick:()=>{ge(!1)},children:n.jsx($i,{size:10,fill:"currentColor"})})]})]}):n.jsx("button",{type:"button",className:`voice-input-trigger ${t} ${q?"starting":""}`.trim(),"aria-label":q?"Starting dictation":"Dictate",disabled:r||K||q,onClick:V,children:n.jsx(Oc,{size:a})}),j&&!Se?n.jsx("span",{className:"voice-input-status",role:"status",children:j}):null]})}async function of(e){const t=new Uint8Array(await e.arrayBuffer());let s="";for(let r=0;r<t.length;r+=32768){const a=t.subarray(r,r+32768);s+=String.fromCharCode(...a)}return window.btoa(s)}function Kr(e){const t=e instanceof Error?e.message:String(e);return/NotAllowedError|Permission denied|denied/i.test(t)?"Microphone access is denied.":/NotFoundError|Requested device not found/i.test(t)?"No microphone was found.":t||"Voice input failed."}function Ja(){if(typeof window>"u")return!1;try{return Mi.getItem(ro)==="true"}catch{return!1}}function lf(){if(!(typeof window>"u"))try{Mi.setItem(ro,"true")}catch{}}const cf=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible","setup-provider"]);function uf({surface:e="chat",teamUseModel:t=!1,teamUseModelLocked:s=!1,onTeamUseModelChange:r,addFiles:a,addMenuId:i,addMenuOpen:c,addMenuRef:o,busy:u,codexPermissionMode:f,codexReasoningEffort:p,connection:v,contextStatusStyle:h,contextStatusTooltipId:m,contextWindowStatus:g,disabled:x,dropdownPlacement:E,fileInputRef:S,modelValue:M,modelOptions:j=[],hideModelControls:N=!1,openPondCommandAccessMode:y,showCommandAccess:A=!0,profileTarget:R,onCodexPermissionModeChange:U,onCodexReasoningEffortChange:H,onOpenPondCommandAccessModeChange:K,onProfileTargetChange:q,onModelChange:he,onOpenFilePicker:Se,onProviderChange:pe,onProviderSetupOpen:ke,onSend:ue,onStop:ee,onToggleAddMenu:de,onTranscript:ge,voiceInputChannelKey:fe,provider:V,providerSettings:z,providerOptions:_,running:te,sendDisabled:C,sendTooltip:I,showToast:F,stopIcon:T="stop",stopLabel:B="Stop response"}){const O=Ms(V,z?.providers[V]),[Q,xe]=l.useState(null),ht=v?eo(v,V,z?.providers[V]):null,me=Q?.connection===v&&Q.provider===V&&Q.instance===O?Q.settings:ht?.settings??null,le=l.useMemo(()=>me?z?{...z,providers:{...z.providers,[V]:me.providers[V]},statuses:{...z.statuses,[V]:me.statuses[V]},modelCaches:{...z.modelCaches,[V]:me.modelCaches[V]}}:me:z,[z,me,V]),pt=l.useCallback($=>{v&&xe({connection:v,provider:$.provider,instance:O,settings:$.settings})},[v,O]),re=["claude-code","opencode","grok-build"].includes(V),et=M||wi(V,le),[ot,qe]=l.useState(!1),He=ml(V,et,le),Te=l.useMemo(()=>Wu({currentModelOptions:me?ua(V,le):j,currentProvider:V,providerOptions:_,providerSettings:le}),[j,V,_,le,me]),Lt=l.useMemo(()=>Te.filter($=>cf.has($.provider)),[Te]),w=($,ie)=>{if(H(hl($,ie,le)),$===V){he(ie);return}he(ie),pe($)};return e==="team"?n.jsxs("div",{className:`composer-primary-controls team-chat-composer-controls ${te?"has-running-turn":""}`.trim(),children:[n.jsx("button",{type:"button",className:"composer-icon","aria-label":"Add photos and files",disabled:x,onClick:Se,children:n.jsx(pr,{size:18})}),n.jsx("input",{ref:S,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:$=>{a(Array.from($.currentTarget.files??[])),$.currentTarget.value=""}}),n.jsxs("label",{className:"team-chat-model-toggle",children:[n.jsx("input",{type:"checkbox",checked:t,disabled:u||s,onChange:$=>r?.($.currentTarget.checked)}),n.jsx("span",{children:"Use model"})]}),n.jsx("div",{className:"composer-spacer"}),t?n.jsx(Da,{disabled:u,model:et,modelGroups:Lt,placement:E,provider:V,providerSettings:le,reasoningEffort:p,showReasoning:He,onModelSelectionChange:w,onReasoningEffortChange:H}):null,n.jsx(Xa,{buttonClassName:"composer-icon",connection:v,disabled:x,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:qe,showToast:F,onTranscript:ge,transcriptionChannelKey:fe}),n.jsx(Ya,{running:te,sendDisabled:C,sendTooltip:I,stopIcon:T,stopLabel:B,voiceInputActive:ot,onSend:ue,onStop:ee})]}):n.jsxs("div",{className:`composer-primary-controls ${te?"has-running-turn":""}`.trim(),children:[n.jsxs("div",{className:"composer-add-control open-up",ref:o,children:[n.jsx("button",{type:"button",className:`composer-icon ${c?"active":""}`,"aria-label":"Add to message","aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?i:void 0,disabled:x,onMouseDown:$=>$.preventDefault(),onClick:de,children:n.jsx(pr,{size:18})}),n.jsx("input",{ref:S,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:$=>{a(Array.from($.currentTarget.files??[])),$.currentTarget.value=""}})]}),!N&&re?n.jsx(Jd,{connection:v,provider:V,providerSettings:le,placement:E,onSettings:pt,onSetup:ke,disabled:u||x}):null,A&&V==="codex"?n.jsx(na,{compact:!0,className:"permission-select",icon:n.jsx(Si,{size:14}),placement:E,label:"Codex permissions",tooltip:Sa.find($=>$.value===f)?.label,value:f,options:Sa,disabled:u,onChange:$=>U($)}):A&&!re?n.jsx(na,{compact:!0,className:"permission-select",icon:n.jsx(ma,{size:14}),placement:E,label:"Command access",tooltip:Ma.find($=>$.value===(y==="disabled"?"ask":y))?.label,value:y==="disabled"?"ask":y,options:Ma,disabled:u,onChange:$=>K($)}):null,R&&q?n.jsx(Wi,{busy:u,placement:E,state:R,onChange:q}):null,n.jsx("div",{className:"composer-spacer"}),!N&&n.jsxs("span",{className:`context-status-shell ${g.tone}`,style:h,children:[n.jsx("span",{className:`composer-status ${g.tone}`,role:g.maxTokens===null?"img":"meter","aria-label":g.tooltip,"aria-describedby":m,"aria-valuemin":g.maxTokens===null?void 0:0,"aria-valuemax":g.maxTokens??void 0,"aria-valuenow":g.maxTokens===null?void 0:g.usedTokens,tabIndex:0}),n.jsxs("span",{className:"context-status-tooltip",id:m,role:"tooltip",children:[n.jsx("span",{className:"context-status-tooltip-title",children:"Context window"}),n.jsxs("span",{className:"context-status-tooltip-main",children:[n.jsx("span",{children:g.summary}),n.jsx("span",{children:g.tokensLabel})]}),g.maxTokens!==null&&n.jsx("span",{className:"context-status-tooltip-bar","aria-hidden":"true",children:n.jsx("span",{})}),g.detail?n.jsx("span",{className:"context-status-tooltip-detail",children:g.detail}):null]})]}),!N&&n.jsx(Da,{disabled:u,model:et,modelGroups:Te,placement:E,provider:V,providerSettings:le,reasoningEffort:p,showReasoning:He,onModelSelectionChange:w,onReasoningEffortChange:H}),n.jsx(Xa,{buttonClassName:"composer-icon",connection:v,disabled:x,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:qe,showToast:F,onTranscript:ge,transcriptionChannelKey:fe}),n.jsx(Ya,{running:te,sendDisabled:C,sendTooltip:I,stopIcon:T,stopLabel:B,voiceInputActive:ot,onSend:ue,onStop:ee})]})}function Ya({running:e,sendDisabled:t,sendTooltip:s,stopIcon:r,stopLabel:a,voiceInputActive:i,onSend:c,onStop:o}){const u=e?a:s;return n.jsx("button",{type:"button",className:`send-button ${e?"stop-button":""}`.trim(),disabled:!e&&t&&!i,"data-tooltip":u,"aria-label":u,onClick:e?()=>{o()}:c,children:e?r==="pause"?n.jsx(qo,{size:15}):n.jsx($i,{size:13,fill:"currentColor"}):n.jsx(bc,{size:18})})}function df(e){return e.description||e.path}function ff({items:e,onSelect:t,onSelectIndex:s,skillIndex:r,style:a}){const i=l.useRef(null);return l.useEffect(()=>{i.current?.scrollIntoView({block:"nearest"})},[e.length,r]),n.jsx("div",{className:"composer-project-menu composer-slash-menu composer-skill-menu",role:"listbox","aria-label":"Available skills",style:a,children:e.length>0?e.map((c,o)=>{const u=o===r;return n.jsxs("button",{type:"button",className:`composer-project-option ${u?"selected":""}`,ref:u?i:void 0,role:"option","aria-selected":u,onMouseEnter:()=>s(o),onMouseDown:f=>{f.preventDefault(),t(c)},children:[n.jsx(mt,{size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:Cr(c)}),n.jsx("small",{children:df(c)})]}),u?n.jsx(_t,{size:14}):n.jsx("span",{"aria-hidden":"true"})]},c.name)}):n.jsx("div",{className:"composer-menu-empty",role:"option","aria-selected":"false",children:"No matching skills"})})}function mf({actionCatalogCount:e,actionIndex:t,items:s,onSelect:r,onSelectIndex:a,style:i}){return n.jsx(xa,{ariaLabel:"OpenPond agents and actions",menuIndex:t,sections:[{emptyLabel:e===0?"No matching commands or apps":"No matching commands, apps, agents, or actions",id:"slash",items:s.map(c=>({kind:"slash",item:c})),label:"/"}],style:i,variant:"typed",onSelect:c=>{c.kind==="slash"&&r(c.item)},onSelectIndex:a})}function hf({busy:e,initialDescription:t,open:s,onClose:r,onSubmit:a}){const[i,c]=l.useState(""),[o,u]=l.useState(()=>t.trim()),f=i.trim(),p=o.trim(),v=e||!f||!p;if(l.useEffect(()=>{s&&(c(""),u(t.trim()))},[t,s]),l.useEffect(()=>{if(!s||e)return;function m(g){g.key==="Escape"&&r()}return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e,r,s]),!s)return null;async function h(){if(v)return;await a({title:f,description:p})&&(c(""),u(""))}return n.jsx("div",{className:"git-dialog-backdrop",role:"presentation",onMouseDown:e?void 0:r,children:n.jsxs("section",{className:"git-dialog submit-issue-dialog",role:"dialog","aria-modal":"true","aria-label":"Submit GitHub issue",onMouseDown:m=>m.stopPropagation(),onKeyDown:m=>{m.key!=="Enter"||!(m.target instanceof HTMLInputElement)||(m.preventDefault(),h())},children:[n.jsx("button",{className:"git-dialog-close",disabled:e,type:"button",onClick:r,children:n.jsx(Ss,{size:16})}),n.jsx("div",{className:"git-dialog-icon",children:n.jsx(pl,{size:18})}),n.jsx("h2",{children:"Submit issue"}),n.jsxs("div",{className:"git-dialog-row submit-issue-repo-row",children:[n.jsx("span",{children:"Repository"}),n.jsx("strong",{children:gl})]}),n.jsxs("label",{className:"git-dialog-field",children:[n.jsx("span",{children:"Title"}),n.jsx("input",{autoFocus:!0,disabled:e,placeholder:"Short issue title",value:i,onChange:m=>c(m.target.value)})]}),n.jsxs("label",{className:"git-dialog-field",children:[n.jsx("span",{children:"Description"}),n.jsx("textarea",{disabled:e,placeholder:"What happened, what you expected, and any useful context",value:o,onChange:m=>u(m.target.value)})]}),n.jsxs("div",{className:"git-dialog-footer",children:[n.jsx("button",{className:"git-dialog-secondary",disabled:e,type:"button",onClick:r,children:"Cancel"}),n.jsx("button",{className:"git-dialog-primary",disabled:v,type:"button",onClick:()=>{h()},children:"Submit issue"})]})]})})}const pf=new Set(["c","cc","cpp","css","go","h","html","java","js","json","jsx","mdx","php","py","rb","rs","sh","sql","toml","ts","tsx","xml","yaml","yml"]),gf=new Set(["csv","ods","tsv","xls","xlsm","xlsx"]),xf=new Set(["7z","bz2","gz","rar","tar","tgz","xz","zip"]),bf=new Set(["doc","docx","epub","md","odt","pdf","rtf","txt"]),vf=new Set(["key","odp","ppt","pptx"]);function ao(e){const t=e.mediaType.toLowerCase(),s=e.name.split(".").pop()?.toLowerCase()??"";return e.kind==="image"||t.startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":gf.has(s)||t.includes("spreadsheet")||t.includes("excel")?"spreadsheet":xf.has(s)||t.includes("zip")||t.includes("compressed")?"archive":vf.has(s)||t.includes("presentation")||t.includes("powerpoint")?"presentation":pf.has(s)?"code":e.kind==="text"||bf.has(s)||t.startsWith("text/")||t==="application/pdf"||t.includes("document")||t.includes("msword")?"document":"file"}function jf(e){if(e.mediaType.toLowerCase()==="application/pdf")return"PDF";const t=ao(e);return t==="spreadsheet"?"Spreadsheet":t.charAt(0).toUpperCase()+t.slice(1)}function io(e){return`${e.toLocaleString()} ${e===1?"line":"lines"}`}const yf={archive:Wo,audio:Rc,code:Vo,document:mt,file:Ho,image:kr,presentation:Dc,spreadsheet:$c,video:Ic};function oo({attachment:e,...t}){const s=yf[ao(e)];return n.jsx(s,{...t})}const kf=new Set(["csv","css","html","js","json","jsx","log","md","mdx","py","sql","svg","ts","tsx","txt","xml","yaml","yml"]),Cf=2e3,wf=/^Pasted text(?: (\d+))?\.txt$/;function Sf(e,t){if(e.length<Cf)return null;const s=new Set;for(const i of t){const c=wf.exec(i.name);c&&s.add(c[1]?Number(c[1]):1)}let r=1;for(;s.has(r);)r+=1;const a=r===1?"Pasted text.txt":`Pasted text ${r}.txt`;return new File([e],a,{type:"text/plain"})}function Mf({attachment:e,onRemove:t}){const[s,r]=l.useState(null);l.useEffect(()=>{if(e.kind!=="text")return;let i=!1;return e.file.text().then(c=>{i||r(Ii(c))},()=>{}),()=>{i=!0}},[e.file,e.kind]);const a=e.kind!=="image";return n.jsxs("div",{className:`composer-attachment-card ${e.kind}`,children:[n.jsx("div",{className:"composer-attachment-thumb","aria-hidden":"true",children:e.previewUrl?n.jsx("img",{alt:"",decoding:"async",src:e.previewUrl}):n.jsx(oo,{attachment:e,size:22})}),a?n.jsxs("div",{className:"composer-attachment-meta",children:[n.jsx("strong",{children:e.name}),n.jsx("span",{children:e.kind==="text"&&s!==null?io(s):jf(e)})]}):null,n.jsx("button",{type:"button",className:"composer-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:n.jsx(Ss,{size:14})})]})}function Nf(){return globalThis.crypto?.randomUUID?.()??`attachment-${Date.now()}-${Math.random().toString(36).slice(2)}`}function Af(e){if(e.type.startsWith("image/"))return"image";if(e.type.startsWith("text/"))return"text";const t=e.name.split(".").pop()?.toLowerCase()??"";return kf.has(t)?"text":"file"}async function Rf(e){const[t,s]=await Promise.all([$f(e.file),e.kind==="text"?Tf(e.file):Promise.resolve(void 0)]);return{id:e.id,name:e.name,mediaType:e.mediaType,sizeBytes:e.sizeBytes,kind:e.kind,...s!==void 0?{lineCount:Ii(s)}:{},...e.relativePath?{relativePath:e.relativePath}:{},contentsBase64:t,...s?{text:If(s)}:{}}}function Ef(e){const t=["KB","MB","GB"];let s=e/1024;for(const r of t){if(s<1024)return`${s.toFixed(s>=10?0:1)} ${r}`;s/=1024}return`${s.toFixed(0)} TB`}function $f(e){return new Promise((t,s)=>{const r=new FileReader;r.onload=()=>{const a=typeof r.result=="string"?r.result:"",[,i=""]=a.split(",",2);t(i)},r.onerror=()=>s(r.error??new Error("Failed to read file")),r.readAsDataURL(e)})}function Tf(e){return new Promise((t,s)=>{const r=new FileReader;r.onload=()=>t(typeof r.result=="string"?r.result:""),r.onerror=()=>s(r.error??new Error("Failed to read file")),r.readAsText(e)})}function If(e){if(e.length<=Wt.maxTextChars)return e;const t=`
|
|
4
|
-
[attachment text truncated]`;return`${e.slice(0,Math.max(0,Wt.maxTextChars-t.length))}${t}`}function _f(){const e=l.useRef([]),t=l.useRef([]),s=l.useRef(!1),[r,a]=l.useState([]),[i,c]=l.useState(null);l.useEffect(()=>{e.current=r},[r]),l.useEffect(()=>()=>{s.current=!0;for(const h of e.current)xs(h);for(const h of t.current)xs(h)},[]);const o=l.useCallback(h=>{if(h.length===0)return;const m=Math.max(0,Wt.maxAttachments-r.length),g=[];let x=0,E=0;for(const S of h){if(S.size>Wt.maxAttachmentBytes){x+=1;continue}if(g.length>=m){E+=1;continue}const M="webkitRelativePath"in S&&typeof S.webkitRelativePath=="string"&&S.webkitRelativePath.trim()?S.webkitRelativePath.trim():void 0;g.push({id:Nf(),file:S,name:S.name||"Untitled file",mediaType:S.type||"application/octet-stream",sizeBytes:S.size,kind:Af(S),...M?{relativePath:M}:{},...S.type.startsWith("image/")?{previewUrl:URL.createObjectURL(S)}:{}})}if(g.length>0&&(a([...r,...g]),c(null)),x>0||E>0){const S=[];x>0&&S.push(`${x} file${x===1?"":"s"} exceeded ${Ef(Wt.maxAttachmentBytes)}`),E>0&&S.push(`maximum ${Wt.maxAttachments} attachments`),c(S.join("; "))}},[r]),u=l.useCallback(h=>{a(m=>{const g=m.find(E=>E.id===h);g&&xs(g);const x=m.filter(E=>E.id!==h);return x.length===0&&c(null),x})},[]),f=l.useCallback(()=>{for(const h of e.current)xs(h);e.current=[],a([]),c(null)},[]),p=l.useCallback(()=>{const h=e.current;return h.length===0||(e.current=[],t.current=h,a([]),c(null)),h},[]),v=l.useCallback((h,m)=>{if(h.length===0)return;const g=new Set(h.map(x=>x.id));if(t.current=t.current.filter(x=>!g.has(x.id)),m==="restore"&&!s.current){a(x=>{const E=new Set(x.map(M=>M.id)),S=[...h.filter(M=>!E.has(M.id)),...x];return e.current=S,S});return}for(const x of h)xs(x)},[]);return{attachmentError:i,attachments:r,addFiles:o,clearAttachments:f,removeAttachment:u,settleStagedAttachments:v,setAttachmentError:c,stageAttachmentsForSubmit:p}}function xs(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function Pf(e,t){const s=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\/([a-zA-Z0-9_-]*)$/.exec(s);if(!r||typeof r.index!="number")return null;const a=r[0].lastIndexOf("/");if(a<0)return null;const i=r.index+a;return{end:s.length,query:(r[1]??"").toLowerCase(),start:i}}function Lf(e,t,s=ha){const r=e.slice(0,Math.max(0,Math.min(t,e.length))),a=/(?:^|\s)\/([a-z][a-z0-9_-]*)\s$/.exec(r);if(!a)return null;const i=s.find(o=>o.id===a[1]);if(!i)return null;const c=a[0].lastIndexOf("/");return c<0||typeof a.index!="number"?null:{command:i,end:r.length,start:a.index+c}}function Of(e,t=ha){return bl({commands:t,prompt:`/${e}`})}function Za(e,t){return e.length===0?[]:e.filter(s=>t?[s.id,s.name??"",s.label??"",s.description??"",typeof s.implementation?.type=="string"?s.implementation.type:""].join(" ").toLowerCase().includes(t):!0)}function ei(e,t){return e.length===0?[]:e.filter(s=>t?[s.id,s.name,s.description??"",s.gitRepo??"",Ni(s)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function ti({actionCatalog:e,connectedAppMentions:t,mentionApps:s,profileSkills:r,query:a,surface:i,teamMentionMembers:c}){const o=a.toLowerCase();if(i==="team"){const h=c.filter(g=>o?[g.name,g.handle??""].map(Wn).some(x=>x.includes(o)):!0).map(g=>({kind:"team-member",member:g}));return[...Na(e,o,e.length).map(g=>({kind:"action",action:g})),...h]}const u=s.filter(h=>o?[Wn(h.id),Wn(h.name),h.gitRepo?Wn(h.gitRepo):"",Ni(h)].some(g=>g.includes(o)):!0).map(h=>({kind:"app",app:h})),f=Na(e,o,e.length).map(h=>({kind:"action",action:h})),p=ur(r,o).map(h=>({kind:"skill",skill:h})),v=xl(t,o).map(h=>({kind:"connected-app",app:h}));return[...f,...p,...u,...v]}function zf(e,t,s){const r=t?.trim();if(!r)return e;const a=Math.max(0,Math.min(s??0,e.length)),i=e.slice(0,a),c=e.slice(a),o=i&&!/\s$/.test(i)?" ":"",u=c&&!/^\s/.test(c)?" ":"";return`${i}${o}${r}${u}${c}`.replace(/\s+/g," ").trim()}function Ff(e){const t=Wn(fa(e)||e.name||e.id);return t?`@${t}`:null}function Df(e){const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return e;try{const s=JSON.parse(t);if(!s||Array.isArray(s)||typeof s!="object")return e;const r=Object.entries(s).filter(([,a])=>a!=null&&a!=="").map(([a,i])=>`${lo(a)}: ${oa(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function lo(e){const t=e.replace(/Id$/,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll("_"," ").trim().toLowerCase();return t?`${t[0].toUpperCase()}${t.slice(1)}`:"Input"}function oa(e,t){if(Array.isArray(t))return t.map(r=>oa(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${lo(r)}: ${oa(r,a)}`).join(" · ");const s=String(t);return/Id$/.test(e)&&/^[a-z0-9_-]+$/i.test(s)?s.split(/[-_]+/).filter(Boolean).map(r=>`${r[0].toUpperCase()}${r.slice(1)}`).join(" "):s}function Bf({action:e,prompt:t,selectedActionMentionText:s,selectedInvocationPosition:r}){if(!e)return null;const a=s?.trim(),i=a?.startsWith("@")?a:Ff(e);return i?zf(Df(t),i,r):null}function Uf({attachmentCount:e,prompt:t,selectedAction:s,selectedCommand:r}){return!!(t.trim()||e>0||s||r)}const qf=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Hf({activeMentionKey:e,activeSkillKey:t,activeSlashKey:s,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:o,attachmentCount:u,composerRef:f,createImproveActive:p,goalRuntimeActive:v,inputRef:h,inputShellRef:m,mentionQuery:g,prompt:x,selectedActionId:E,selectAddMenuItem:S,setActionIndex:M,setActionMenuDismissedPrompt:j,setAddMenuIndex:N,setAddMenuOpen:y,setAddMenuQuery:A,setMentionMenuDismissedPrompt:R,setMentionIndex:U,setSkillIndex:H,setSkillMenuDismissedPrompt:K,skillMatchCount:q,skillQuery:he,slashMatchCount:Se,slashQuery:pe,showActionMenu:ke,showMentionMenu:ue,showSkillMenu:ee}){const[de,ge]=l.useState({}),[fe,V]=l.useState({}),[z,_]=l.useState({}),[te,C]=l.useState({});return l.useEffect(()=>{U(0)},[g]),l.useEffect(()=>{H(0)},[q,he]),l.useEffect(()=>{M(0)},[Se,pe]),l.useEffect(()=>{const I=h.current?.element,F=I?.parentElement;if(!I||!F||typeof ResizeObserver>"u")return;const T=new ResizeObserver(()=>h.current?.resize());return T.observe(F),()=>T.disconnect()},[]),l.useEffect(()=>{if(!i)return;function I(T){const B=T.target,O=h.current?.element?.parentElement;!o.current?.contains(B)&&!c.current?.contains(B)&&!O?.contains(B)&&(y(!1),A(""),R(e),j(s),K(t))}function F(T){if(T.key==="Escape"){T.preventDefault(),y(!1),A(""),R(e),j(s),K(t);return}if(a.length!==0){if(T.key==="ArrowDown"){T.preventDefault(),N(B=>(B+1)%a.length);return}if(T.key==="ArrowUp"){T.preventDefault(),N(B=>(B-1+a.length)%a.length);return}if(T.key==="Home"){T.preventDefault(),N(0);return}if(T.key==="End"){T.preventDefault(),N(a.length-1);return}if(T.key==="Enter"){T.preventDefault();const B=a[r]??a[0];B&&S(B)}}}return document.addEventListener("pointerdown",I),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",I),document.removeEventListener("keydown",F)}},[e,t,s,r,a,i]),l.useLayoutEffect(()=>{if(!i)return;const I=m.current;if(!I)return;const F=I;function T(){C(xd(F))}return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[i,u,p,v]),l.useLayoutEffect(()=>{if(!ke)return;const I=h.current?.element,F=f.current;if(!I||!F)return;const T=I,B=F;function O(){_(Vr(T,B))}return O(),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0)}},[u,p,v,x,E,ke]),l.useLayoutEffect(()=>{if(!ee)return;const I=h.current?.element,F=f.current;if(!I||!F)return;const T=I,B=F;function O(){V(Vr(T,B))}return O(),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0)}},[u,p,v,x,E,ee]),l.useLayoutEffect(()=>{if(!ue)return;const I=h.current?.element,F=f.current;if(!I||!F)return;const T=I,B=F;function O(){ge(Vr(T,B))}return O(),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0)}},[u,p,v,x,E,ue]),{actionMenuStyle:z,addMenuStyle:te,mentionMenuStyle:de,skillMenuStyle:fe}}const Vf=l.lazy(()=>ye(()=>import("./ComposerCreateImproveStrip-f1tdD0QS.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>({default:e.ComposerCreateImproveStrip}))),Wf=ha.find(e=>e.id==="submit-issue"),Gf=[],Kf=[];function co({experience:e="development",mode:t,surface:s="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:o,composeNotice:u=null,mentionApps:f=[],connectedAppMentions:p=[],profileSkills:v=[],selectedMentionAppId:h=null,contextWindowStatus:m,goalRuntime:g=null,subagentRuntime:x=null,createImproveRuntime:E=null,busy:S,readOnlyReason:M=null,running:j=S,taskSessionId:N=null,taskEvents:y=Kf,steerActiveResponses:A=!1,submissionScopeKey:R="default",getCurrentSubmissionScopeKey:U,voiceInputChannelKey:H=R,initialSteerDrafts:K=Gf,showProjectFooter:q=!0,hideModelControls:he=!1,autoFocus:Se=!1,focusRequestId:pe=0,attachmentRequest:ke=null,connection:ue,providerSettings:ee=null,provider:de,model:ge,projectTarget:fe,profileTarget:V=null,actionCatalog:z=[],requestedAction:_=null,workspaceTarget:te,codexPermissionMode:C,codexReasoningEffort:I,openPondCommandAccessMode:F,onProviderChange:T,onProviderSetupOpen:B,onProjectTargetChange:O,onProfileTargetChange:Q,onWorkspaceTargetChange:xe,onModelChange:ht,onCodexPermissionModeChange:me,onCodexReasoningEffortChange:le,onOpenPondCommandAccessModeChange:pt,onPromptChange:re,onMentionAppSelect:et,onSaveTaskDraft:ot,showToast:qe,onSubmit:He,onStop:Te,onPauseGoal:Lt}){const w=l.useMemo(()=>{for(let d=y.length-1;d>=0;d--){const b=y[d];if(b.sessionId!==N||!["session.started","session.updated","session.title.updated"].includes(b.name))continue;const P=b.data,L=vl.safeParse(P&&typeof P=="object"&&"session"in P?P.session:null);if(L.success)return typeof L.data.metadata?.nativeReadOnlyReason=="string"?L.data.metadata.nativeReadOnlyReason:null}return M},[M,y,N]),$=l.useRef(null),ie=l.useRef(null),G=l.useRef(null),Me=!["claude-code","opencode","grok-build"].includes(de),$e=A&&Me,Y=Fu(ue,N,y,Me),tt=l.useRef(null),Ne=l.useRef(null),Ot=l.useRef(null),zt=l.useRef(null),gt=l.useRef(0),nt=_&&z.some(d=>d.id===_.actionId)?_:null,st=l.useRef(!1),pn=l.useRef(0),Ns=l.useRef(nt?.requestId??0),Xn=l.useRef(new Set),gn=l.useRef(new Set),[be,ze]=l.useState(o.length),As=l.useRef(be);As.current=be;const[Rs,xn]=l.useState(0),[Es,bn]=l.useState(0),[$s,vn]=l.useState(0),[Be,Qt]=l.useState(0),[Ts,Ve]=l.useState(""),[jn,Ue]=l.useState(null),[Is,Je]=l.useState(null),[Mr,Jn]=l.useState(null),[Ie,xt]=l.useState(!1),[yn,_s]=l.useState(!1),[lt,wt]=l.useState(nt?.actionId??null),[St,ct]=l.useState(null),[bt,We]=l.useState(null),[Yn,vt]=l.useState(null),[Zn,kn]=l.useState(null),[es,Cn]=l.useState(!1),[wn,ts]=l.useState(()=>({[R]:K})),[Xt,Sn]=l.useState(null),[jt,ne]=l.useState(!1),[Ps,Ft]=l.useState(""),[Mn,Ls]=l.useState(!1),{attachmentError:Nn,attachments:we,addFiles:Fe,removeAttachment:Jt,settleStagedAttachments:Os,setAttachmentError:ut,stageAttachmentsForSubmit:Nr}=_f(),An=l.useRef(0);l.useEffect(()=>{!ke||An.current===ke.id||(An.current=ke.id,Fe([ke.file]))},[Fe,ke]);const zs=l.useCallback(d=>{const b=Sf(d,we);return!b||we.length>=Wt.maxAttachments||b.size>Wt.maxAttachmentBytes?!1:(Fe([b]),!0)},[Fe,we]),Ar=Ld({experience:e,mode:t,surface:s}),Yt=e==="development"||e==="work"&&fe.value!=="none",Rr=jl(de,ge,ee),Rn="top",Fs=l.useId(),Er=l.useId(),Ds=l.useId(),Bs={"--context-fill":`${Math.round((m.percent??0)/100*360)}deg`,"--context-bar-fill":`${m.percent??0}%`},Ae=l.useMemo(()=>z.find(d=>d.id===lt)??null,[z,lt]),Mt=l.useMemo(()=>yl(de,e),[e,de]),rt=l.useMemo(()=>Yt?v:v.filter(d=>!qf.has(d.name)),[e,v]),Re=l.useMemo(()=>Mt.find(d=>d.id===St)??null,[Mt,St]),Zt=Bf({action:Ae,prompt:o,selectedActionMentionText:Yn,selectedInvocationPosition:bt}),Us=Uf({attachmentCount:we.length,prompt:o,selectedAction:Ae,selectedCommand:Re}),$r=l.useMemo(()=>{const d=Math.max(0,Math.min(bt??0,o.length));return Re?{icon:Re.id==="agent"?"plus":Re.id==="skill"?"skill":"workflow",key:`command:${Re.id}`,label:Re.id==="agent"?"Author Agent":Re.id,position:d,onRemove:()=>{ct(null),We(null),vt(null)}}:Ae?{icon:Ae.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${Ae.id}`,label:fa(Ae),position:d,onRemove:()=>{wt(null),We(null),vt(null)}}:null},[o.length,Ae,Re,bt]),en=Zn===R,qs=en||!Us,Hs=en?"Preparing files":j?$e?"Steer":"Queue for next turn":"Send",De=en,Vs=en;function Nt(d=R){if(w)return!1;const b=Xn.current;return b.has(d)?!1:(b.add(d),!0)}function At(d){Xn.current.delete(d)}function Ws(d){return Xn.current.has(d)}function tn(){return Ws(R)}function Gs(d){kn(b=>b===d?null:b)}const En=l.useMemo(()=>{const d=kl(ee,{enabledOnly:!0}).map(Z=>({...Z,description:void 0})),b=Yt?d:d.filter(Z=>Z.value!=="codex"),P=te.value==="cloud"&&Yt?b.filter(Z=>Z.value==="openpond"):b,L=P.some(Z=>Z.value===de)?P:[{value:de,label:Cl(de,ee),description:"Current"},...P],J={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[...L,J]},[de,ee,Yt,te.value]),Ks=l.useMemo(()=>ua(de,ee),[de,ee]),Ee=l.useMemo(()=>wl(o,Math.min(be,o.length)),[be,o]),$n=Ee?`${o}:${Ee.start}:${Math.min(be,o.length)}`:null,at=l.useMemo(()=>Ee?ti({actionCatalog:z,connectedAppMentions:p,mentionApps:f,profileSkills:rt,query:Ee.query,surface:s,teamMentionMembers:i}):[],[z,p,f,Ee,rt,s,i]),ns=l.useMemo(()=>s==="team"?[]:ti({actionCatalog:z,connectedAppMentions:p,mentionApps:f,profileSkills:rt,query:"",surface:s,teamMentionMembers:i}).filter(d=>d.kind!=="skill"),[z,p,f,rt,s,i]),Tn=!!(!Ie&&!De&&Ee&&$n&&jn!==$n&&at.length>0),Ge=l.useMemo(()=>Ru(o,Math.min(be,o.length)),[be,o]),Dt=Ge?`${o}:${Ge.start}:${Ge.end}`:null,it=l.useMemo(()=>Ge?ur(rt,Ge.query):[],[Ge,rt]),Bt=!!(!Ie&&!De&&Ge&&Dt&&Mr!==Dt),oe=l.useMemo(()=>Pf(o,Math.min(be,o.length)),[be,o]),In=oe?`${o}:${oe.start}:${oe.end}`:null,ss=l.useMemo(()=>oe?Za(z,oe.query):[],[z,oe]),Qs=l.useMemo(()=>oe&&s!=="team"?ei(f,oe.query):[],[oe,f,s]),rs=l.useMemo(()=>oe&&s!=="team"?Of(oe.query,Mt):[],[oe,Mt,s]),Xs=l.useMemo(()=>oe&&s!=="team"?ur(rt,oe.query):[],[oe,rt,s]),Ye=l.useMemo(()=>[...ss.map(d=>({kind:"action",action:d})),...Xs.map(d=>({kind:"skill",skill:d})),...rs.map(d=>({kind:"command",command:d})),...Qs.map(d=>({kind:"app-context",app:d}))],[ss,Qs,rs,Xs]),as=!!(!Ie&&!De&&oe&&In&&Is!==In),_n=l.useMemo(()=>Mt.map(d=>({kind:"command",command:d})),[Mt]),nn=l.useMemo(()=>[...Za(z,"").map(d=>({kind:"action",action:d})),...ei(f,"").map(d=>({kind:"app-context",app:d}))],[z,f]),Ut=l.useMemo(()=>ur(rt,"").map(d=>({kind:"skill",skill:d})),[rt]),sn=l.useMemo(()=>{const d=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return nn.length>0&&d.push({id:"slash",items:nn.map(b=>({kind:"slash",item:b})),label:"Agents and actions",queryScope:"slash"}),Ut.length>0&&d.push({id:"skills",items:Ut.map(b=>({kind:"slash",item:b})),label:"Skills",queryScopes:["slash","mentions"]}),d.push({id:"openpond",items:_n.map(b=>({kind:"slash",item:b})),label:"OpenPond",grid:!0,queryScope:"slash"}),d.push({emptyLabel:"No mentions available",id:"mentions",items:ns.map(b=>({kind:"mention",item:b})),label:"@"}),d},[ns,_n,Ut,nn,e]),Pn=l.useMemo(()=>Vd(sn,Ts),[Ts,sn]),rn=l.useMemo(()=>Pn.flatMap(d=>d.items),[Pn]);l.useEffect(()=>{Ie&&Qt(d=>d<rn.length?d:0)},[rn.length,Ie]);const an=!!g,dt=an&&g?.tone==="active",is=dt?"Pause goal":"Stop response",Ce=dt?"pause":"stop",Tr=e==="work"||fe.value!=="none",Ir=ra(wn,R,K),os=Xt?.scopeKey===R?Xt.draftId:null;function Ln(d,b){ts(P=>qu(P,d,b,d===R?K:[]))}l.useLayoutEffect(()=>{G.current?.resize()},[we.length,Nn,E,g,o,lt,St,bt]),l.useEffect(()=>{if(!Se){st.current=!1;return}if(st.current||De)return;const d=window.requestAnimationFrame(()=>{st.current=!0;const b=document.activeElement;b&&b!==document.body&&b!==document.documentElement||G.current?.focusAtPromptIndex(o.length)});return()=>window.cancelAnimationFrame(d)},[Se,De,o.length]),l.useEffect(()=>{!pe||pn.current===pe||De||(pn.current=pe,window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(o.length)}))},[pe,De,o.length]),l.useEffect(()=>{g||Cn(!1)},[g]),l.useEffect(()=>{lt&&!z.some(d=>d.id===lt)&&(wt(null),We(null))},[z,lt]),l.useEffect(()=>{if(!_||_.requestId<=Ns.current)return;const d=z.find(b=>b.id===_.actionId);d&&(Ns.current=_.requestId,wt(d.id),ct(null),We(0),vt(null),re(""),ze(0),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[z,re,_]),l.useEffect(()=>{!Ae&&!Re||We(d=>d===null?0:Math.max(0,Math.min(d,o.length)))},[o.length,Ae,Re]),l.useEffect(()=>{if(!h||!et)return;const d=f.find(b=>b.id===h);(!d||!Sl(o,d))&&et(null)},[f,et,o,h]);const{actionMenuStyle:_r,addMenuStyle:Pr,mentionMenuStyle:Rt,skillMenuStyle:Lr}=Hf({activeMentionKey:$n,activeSkillKey:Dt,activeSlashKey:In,addMenuIndex:Be,addMenuItems:rn,addMenuOpen:Ie,addMenuPanelRef:zt,addMenuRef:Ot,attachmentCount:we.length,composerRef:$,createImproveActive:!!E,goalRuntimeActive:!!g,inputRef:G,inputShellRef:ie,mentionQuery:Ee?.query,prompt:o,selectedActionId:lt,selectAddMenuItem:Bn,setActionIndex:vn,setActionMenuDismissedPrompt:Je,setAddMenuIndex:Qt,setAddMenuOpen:xt,setAddMenuQuery:Ve,setMentionMenuDismissedPrompt:Ue,setMentionIndex:xn,setSkillIndex:bn,setSkillMenuDismissedPrompt:Jn,skillMatchCount:it.length,skillQuery:Ge?.query,slashMatchCount:Ye.length,slashQuery:oe?.query,showActionMenu:as,showMentionMenu:Tn,showSkillMenu:Bt});function Et(){wt(null),ct(null),We(null),vt(null)}function Or(){Et(),re(""),ze(0)}function yt(d){Ft(d.trim()),ne(!0)}function zr(){Mn||(ne(!1),Et())}async function Fr(){return await(dt&&Lt?Lt():Te())}function qt(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=o.slice(0,L),ve=o.slice(J),ft=Z&&!/\s$/.test(Z)?" ":"",$t=ve&&!/^\s/.test(ve)?" ":"",dn=`${Nl(d)} `,Ct=`${ft}${dn}${$t}`,fn=`${Z}${Ct}${ve}`,Ze=Z.length+Ct.length;return re(fn),et?.(d.id),ze(Ze),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(Ze)}),Ze}function On(d){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));qt(d,{start:Ee.start,end:b})}function zn(d,b,P=null){const L=Math.max(0,Math.min(be,o.length)),J=b?Math.max(0,Math.min(b.start,o.length)):L,Z=b?Math.max(J,Math.min(b.end,o.length)):J,ve=`${o.slice(0,J)}${o.slice(Z)}`;return wt(d.id),ct(null),We(J),vt(P?.startsWith("@")?P:null),Je(null),re(ve),ze(J),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(J,{afterToken:!0})}),J}function _e(d){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length)),P=Math.max(0,Math.min(Ee.start,o.length)),L=Math.max(P,Math.min(b,o.length));zn(d,{start:P,end:L},o.slice(P,L).trim())}function on(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=o.slice(0,L),ve=o.slice(J),ft=Z&&!/\s$/.test(Z)?" ":"",$t=ve&&!/^\s/.test(ve)?" ":"",dn=`${Al(d)} `,Ct=`${ft}${dn}${$t}`,fn=`${Z}${Ct}${ve}`,Ze=Z.length+Ct.length;return re(fn),ze(Ze),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(Ze)}),Ze}function Dr(d){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));on(d,{start:Ee.start,end:b})}function Js(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=d.handle||Wn(d.name),ve=o.slice(0,L),ft=o.slice(J),$t=ve&&!/\s$/.test(ve)?" ":"",dn=ft&&!/^\s/.test(ft)?" ":"",Ct=`${$t}@${Z} ${dn}`,fn=`${ve}${Ct}${ft}`,Ze=ve.length+Ct.length;return re(fn),ze(Ze),window.requestAnimationFrame(()=>G.current?.focusAtPromptIndex(Ze)),Ze}function ls(d){if(d.kind==="team-member"){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));Js(d.member,{start:Ee.start,end:b});return}if(d.kind==="app"){On(d.app);return}if(d.kind==="connected-app"){Dr(d.app);return}if(d.kind==="skill"){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));Pe(d.skill,{start:Ee.start,end:b});return}_e(d.action)}function Br(d){oe&&(Je(null),qt(d,{start:oe.start,end:oe.end}))}function kt(d){oe&&zn(d,oe)}function cs(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=`${o.slice(0,L)}${o.slice(J)}`;return ct(d.id),wt(null),We(L),vt(null),Je(null),re(Z),ze(L),d.id==="submit-issue"&&yt(Z),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(L,{afterToken:!0})}),L}function Fn(d){oe&&cs(d,oe)}function ln(d){if(d.kind==="command"){Fn(d.command);return}if(d.kind==="app-context"){Br(d.app);return}if(d.kind==="skill"){if(!oe)return;Pe(d.skill,oe);return}kt(d.action)}function Pe(d,b){const P=Eu(o,b,d);return Jn(null),Ue(null),Je(null),re(P.value),ze(P.cursor),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(P.cursor)}),P.cursor}function Ys(d){Ge&&Pe(d,Ge)}function Dn(){tt.current?.click()}function us(){Ne.current?.click()}function Ke(d){gt.current=d,Ve(""),Qt(0)}function ds(){const d=Math.max(0,Math.min(be,o.length)),b=Math.max(0,Math.min(gt.current,o.length));return d>=b?{start:b,end:d}:{start:d,end:d}}function Bn(d){const b=ds();if(xt(!1),Ve(""),d.kind==="files"||d.kind==="folder"){if(b.start!==b.end){const P=`${o.slice(0,b.start)}${o.slice(b.end)}`;re(P),ze(b.start)}Ke(b.start),d.kind==="folder"?us():Dn();return}if(d.kind==="slash"){if(d.item.kind==="command"){Ke(cs(d.item.command,b));return}if(d.item.kind==="app-context"){Ke(qt(d.item.app,b));return}if(d.item.kind==="skill"){Ke(Pe(d.item.skill,b));return}Ke(zn(d.item.action,b));return}if(d.item.kind==="team-member"){Ke(Js(d.item.member,b));return}if(d.item.kind==="app"){Ke(qt(d.item.app,b));return}if(d.item.kind==="connected-app"){Ke(on(d.item.app,b));return}if(d.item.kind==="skill"){Ke(Pe(d.item.skill,b));return}Ke(zn(d.item.action,b))}const{stageCurrentSteerDraft:fs,submitImmediateSteer:cn}=Au({running:j,scope:R,inbox:Y,getPrompt:()=>G.current?.getPrompt()??o,hasFilesOrActions:!!(we.length||Ae||Re),provider:de,model:ge,codexPermissionMode:C,codexReasoningEffort:I,openPondCommandAccessMode:F,getCurrentSubmissionScopeKey:U,onSubmit:He,showToast:qe,begin:d=>gn.current.has(d)?!1:(gn.current.add(d),!0),finish:d=>{gn.current.delete(d)},clear:Or,setError:ut,stageLocal:d=>{Ln(R,b=>[...b,qi(d)]),window.requestAnimationFrame(()=>G.current?.focusAtPromptIndex(0))}});async function ms(d){const b=R;if(Xt?.scopeKey===b)return!1;const P=ra(wn,b,K).find(L=>L.id===d);if(!P)return!1;Sn({draftId:d,scopeKey:b}),ut(null);try{const L=j,J=await He([],null,null,{preservePrompt:!0,promptOverride:P.prompt,...L?{turnMetadata:{interactionKind:"steer"}}:{}});return Ln(b,Z=>Uu(Z,d,J)),J}catch(L){return ut(L instanceof Error?L.message:String(L)),!1}finally{Sn(L=>L?.scopeKey===b&&L.draftId===d?null:L)}}function hs(d){os!==d&&Ln(R,b=>Hi(b,d))}function Zs(d){if(os!==d.id){if(we.length>0||lt||St){qe("Finish the current composer before editing a queued message.","info");return}Ln(R,b=>Bu(b,d.id,o)),re(d.prompt),ze(d.prompt.length),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(d.prompt.length)})}}async function Ht(d={}){const b=R;if(!Nt(b))return!1;xt(!1),ut(null);const P=Nr();try{kn(P.length>0?b:null);let L;try{L=await Promise.all(P.map(Rf))}finally{Gs(b)}const J=Ae&&Zt&&!o.trim()?Zt:void 0,Z=d.promptOverride??J,ve=await He(L,Ae,Re,Zt||Z||d.preservePrompt?{...Zt?{displayPrompt:Zt}:{},...Z!==void 0?{promptOverride:Z}:{},...d.preservePrompt?{preservePrompt:!0}:{}}:void 0);return Os(P,ve?"dispose":"restore"),ve&&!Rl(Ae)&&Et(),ve}catch(L){return Os(P,"restore"),ut(L instanceof Error?L.message:String(L)),!1}finally{At(b),Gs(b)}}async function un(){if(j){$e?await cn():await fs();return}if(tn())return;const d=Ae||Re?null:Ai(o);if(Re?.id==="submit-issue"||d?.command==="submit-issue"){yt(d?.command==="submit-issue"?d.args:o);return}qs||await Ht()}function er(){Lu(H)||un()}async function Un(d){if(tn()||Mn)return!1;const b=R;if(!Nt(b))return!1;Ls(!0),xt(!1),ut(null);try{const P=await He([],null,Wf,{displayPrompt:`/submit-issue ${d.title.trim()}`,promptOverride:Ml(d)});return P&&(ne(!1),Et()),P}catch(P){return ut(P instanceof Error?P.message:String(P)),!1}finally{At(b),Ls(!1)}}async function tr(d,b){const P=G.current?.getPrompt()??o,L=Math.max(0,Math.min(As.current,P.length)),J=Bi(P,d,b.submit?P.length:L),Z=await Tu({appendToEnd:b.submit,currentScopeKey:U?.()??R,cursorIndex:L,originScopeKey:R,prompt:P,setOriginDraft:ve=>re(ve),submitFromOrigin:ve=>Ht({preservePrompt:!0,promptOverride:ve}),transcript:d});if(Z==="retained"){qe("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(Z==="submitted"){qe("Voice message sent to the chat where recording started.","success");return}if(b.submit){if(j){$e?await cn(J.value):await fs(J.value);return}await Ht({promptOverride:J.value});return}ze(J.cursorIndex),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(J.cursorIndex)})}return w?n.jsx("p",{className:"composer dock",role:"status",children:w}):n.jsxs("form",{ref:$,className:`composer ${t} ${E?"has-create-runtime":""} ${an?"has-goal-runtime":""} ${we.length>0?"has-attachments":""} ${Ae||Re?"has-selected-action":""} ${Nn?"has-attachment-error":""} ${Ie?"has-add-menu":""}`,onSubmit:d=>{d.preventDefault(),un()},children:[n.jsx("input",{webkitdirectory:"",ref:Ne,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:d=>{Fe(Array.from(d.currentTarget.files??[])),d.currentTarget.value=""}}),Tn&&n.jsx(Kd,{items:at,mentionIndex:Rs,onSelect:ls,onSelectIndex:xn,style:Rt}),Bt&&n.jsx(ff,{items:it,onSelect:Ys,onSelectIndex:bn,skillIndex:Es,style:Lr}),as&&n.jsx(mf,{actionCatalogCount:z.length,actionIndex:$s,items:Ye,onSelect:ln,onSelectIndex:vn,style:_r}),n.jsx(hf,{busy:Mn,initialDescription:Ps,open:jt,onClose:zr,onSubmit:Un}),q&&n.jsxs("div",{className:"composer-footer",children:[q?n.jsx(Ku,{busy:S||fe.busy,placement:Rn,state:fe,onChange:O}):null,V&&Q?n.jsx(Wi,{busy:S,placement:Rn,state:V,onChange:Q}):null,Tr?n.jsx(Qu,{busy:S,placement:Rn,state:te,onChange:xe}):null]}),!q&&e==="work"&&n.jsx(Xu,{project:fe,workspace:te}),E?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Vf,{runtime:E})}):null,Y.enabled?n.jsx(Hu,{inbox:Y,onRestore:d=>{re(o.trim()?`${o}
|
|
4
|
+
[attachment text truncated]`;return`${e.slice(0,Math.max(0,Wt.maxTextChars-t.length))}${t}`}function _f(){const e=l.useRef([]),t=l.useRef([]),s=l.useRef(!1),[r,a]=l.useState([]),[i,c]=l.useState(null);l.useEffect(()=>{e.current=r},[r]),l.useEffect(()=>()=>{s.current=!0;for(const h of e.current)xs(h);for(const h of t.current)xs(h)},[]);const o=l.useCallback(h=>{if(h.length===0)return;const m=Math.max(0,Wt.maxAttachments-r.length),g=[];let x=0,E=0;for(const S of h){if(S.size>Wt.maxAttachmentBytes){x+=1;continue}if(g.length>=m){E+=1;continue}const M="webkitRelativePath"in S&&typeof S.webkitRelativePath=="string"&&S.webkitRelativePath.trim()?S.webkitRelativePath.trim():void 0;g.push({id:Nf(),file:S,name:S.name||"Untitled file",mediaType:S.type||"application/octet-stream",sizeBytes:S.size,kind:Af(S),...M?{relativePath:M}:{},...S.type.startsWith("image/")?{previewUrl:URL.createObjectURL(S)}:{}})}if(g.length>0&&(a([...r,...g]),c(null)),x>0||E>0){const S=[];x>0&&S.push(`${x} file${x===1?"":"s"} exceeded ${Ef(Wt.maxAttachmentBytes)}`),E>0&&S.push(`maximum ${Wt.maxAttachments} attachments`),c(S.join("; "))}},[r]),u=l.useCallback(h=>{a(m=>{const g=m.find(E=>E.id===h);g&&xs(g);const x=m.filter(E=>E.id!==h);return x.length===0&&c(null),x})},[]),f=l.useCallback(()=>{for(const h of e.current)xs(h);e.current=[],a([]),c(null)},[]),p=l.useCallback(()=>{const h=e.current;return h.length===0||(e.current=[],t.current=h,a([]),c(null)),h},[]),v=l.useCallback((h,m)=>{if(h.length===0)return;const g=new Set(h.map(x=>x.id));if(t.current=t.current.filter(x=>!g.has(x.id)),m==="restore"&&!s.current){a(x=>{const E=new Set(x.map(M=>M.id)),S=[...h.filter(M=>!E.has(M.id)),...x];return e.current=S,S});return}for(const x of h)xs(x)},[]);return{attachmentError:i,attachments:r,addFiles:o,clearAttachments:f,removeAttachment:u,settleStagedAttachments:v,setAttachmentError:c,stageAttachmentsForSubmit:p}}function xs(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function Pf(e,t){const s=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\/([a-zA-Z0-9_-]*)$/.exec(s);if(!r||typeof r.index!="number")return null;const a=r[0].lastIndexOf("/");if(a<0)return null;const i=r.index+a;return{end:s.length,query:(r[1]??"").toLowerCase(),start:i}}function Lf(e,t,s=ha){const r=e.slice(0,Math.max(0,Math.min(t,e.length))),a=/(?:^|\s)\/([a-z][a-z0-9_-]*)\s$/.exec(r);if(!a)return null;const i=s.find(o=>o.id===a[1]);if(!i)return null;const c=a[0].lastIndexOf("/");return c<0||typeof a.index!="number"?null:{command:i,end:r.length,start:a.index+c}}function Of(e,t=ha){return bl({commands:t,prompt:`/${e}`})}function Za(e,t){return e.length===0?[]:e.filter(s=>t?[s.id,s.name??"",s.label??"",s.description??"",typeof s.implementation?.type=="string"?s.implementation.type:""].join(" ").toLowerCase().includes(t):!0)}function ei(e,t){return e.length===0?[]:e.filter(s=>t?[s.id,s.name,s.description??"",s.gitRepo??"",Ni(s)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function ti({actionCatalog:e,connectedAppMentions:t,mentionApps:s,profileSkills:r,query:a,surface:i,teamMentionMembers:c}){const o=a.toLowerCase();if(i==="team"){const h=c.filter(g=>o?[g.name,g.handle??""].map(Wn).some(x=>x.includes(o)):!0).map(g=>({kind:"team-member",member:g}));return[...Na(e,o,e.length).map(g=>({kind:"action",action:g})),...h]}const u=s.filter(h=>o?[Wn(h.id),Wn(h.name),h.gitRepo?Wn(h.gitRepo):"",Ni(h)].some(g=>g.includes(o)):!0).map(h=>({kind:"app",app:h})),f=Na(e,o,e.length).map(h=>({kind:"action",action:h})),p=ur(r,o).map(h=>({kind:"skill",skill:h})),v=xl(t,o).map(h=>({kind:"connected-app",app:h}));return[...f,...p,...u,...v]}function zf(e,t,s){const r=t?.trim();if(!r)return e;const a=Math.max(0,Math.min(s??0,e.length)),i=e.slice(0,a),c=e.slice(a),o=i&&!/\s$/.test(i)?" ":"",u=c&&!/^\s/.test(c)?" ":"";return`${i}${o}${r}${u}${c}`.replace(/\s+/g," ").trim()}function Ff(e){const t=Wn(fa(e)||e.name||e.id);return t?`@${t}`:null}function Df(e){const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return e;try{const s=JSON.parse(t);if(!s||Array.isArray(s)||typeof s!="object")return e;const r=Object.entries(s).filter(([,a])=>a!=null&&a!=="").map(([a,i])=>`${lo(a)}: ${oa(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function lo(e){const t=e.replace(/Id$/,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replaceAll("_"," ").trim().toLowerCase();return t?`${t[0].toUpperCase()}${t.slice(1)}`:"Input"}function oa(e,t){if(Array.isArray(t))return t.map(r=>oa(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${lo(r)}: ${oa(r,a)}`).join(" · ");const s=String(t);return/Id$/.test(e)&&/^[a-z0-9_-]+$/i.test(s)?s.split(/[-_]+/).filter(Boolean).map(r=>`${r[0].toUpperCase()}${r.slice(1)}`).join(" "):s}function Bf({action:e,prompt:t,selectedActionMentionText:s,selectedInvocationPosition:r}){if(!e)return null;const a=s?.trim(),i=a?.startsWith("@")?a:Ff(e);return i?zf(Df(t),i,r):null}function Uf({attachmentCount:e,prompt:t,selectedAction:s,selectedCommand:r}){return!!(t.trim()||e>0||s||r)}const qf=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Hf({activeMentionKey:e,activeSkillKey:t,activeSlashKey:s,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:o,attachmentCount:u,composerRef:f,createImproveActive:p,goalRuntimeActive:v,inputRef:h,inputShellRef:m,mentionQuery:g,prompt:x,selectedActionId:E,selectAddMenuItem:S,setActionIndex:M,setActionMenuDismissedPrompt:j,setAddMenuIndex:N,setAddMenuOpen:y,setAddMenuQuery:A,setMentionMenuDismissedPrompt:R,setMentionIndex:U,setSkillIndex:H,setSkillMenuDismissedPrompt:K,skillMatchCount:q,skillQuery:he,slashMatchCount:Se,slashQuery:pe,showActionMenu:ke,showMentionMenu:ue,showSkillMenu:ee}){const[de,ge]=l.useState({}),[fe,V]=l.useState({}),[z,_]=l.useState({}),[te,C]=l.useState({});return l.useEffect(()=>{U(0)},[g]),l.useEffect(()=>{H(0)},[q,he]),l.useEffect(()=>{M(0)},[Se,pe]),l.useEffect(()=>{const I=h.current?.element,F=I?.parentElement;if(!I||!F||typeof ResizeObserver>"u")return;const T=new ResizeObserver(()=>h.current?.resize());return T.observe(F),()=>T.disconnect()},[]),l.useEffect(()=>{if(!i)return;function I(T){const B=T.target,O=h.current?.element?.parentElement;!o.current?.contains(B)&&!c.current?.contains(B)&&!O?.contains(B)&&(y(!1),A(""),R(e),j(s),K(t))}function F(T){if(T.key==="Escape"){T.preventDefault(),y(!1),A(""),R(e),j(s),K(t);return}if(a.length!==0){if(T.key==="ArrowDown"){T.preventDefault(),N(B=>(B+1)%a.length);return}if(T.key==="ArrowUp"){T.preventDefault(),N(B=>(B-1+a.length)%a.length);return}if(T.key==="Home"){T.preventDefault(),N(0);return}if(T.key==="End"){T.preventDefault(),N(a.length-1);return}if(T.key==="Enter"){T.preventDefault();const B=a[r]??a[0];B&&S(B)}}}return document.addEventListener("pointerdown",I),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",I),document.removeEventListener("keydown",F)}},[e,t,s,r,a,i]),l.useLayoutEffect(()=>{if(!i)return;const I=m.current;if(!I)return;const F=I;function T(){C(xd(F))}return T(),window.addEventListener("resize",T),window.addEventListener("scroll",T,!0),()=>{window.removeEventListener("resize",T),window.removeEventListener("scroll",T,!0)}},[i,u,p,v]),l.useLayoutEffect(()=>{if(!ke)return;const I=h.current?.element,F=f.current;if(!I||!F)return;const T=I,B=F;function O(){_(Vr(T,B))}return O(),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0)}},[u,p,v,x,E,ke]),l.useLayoutEffect(()=>{if(!ee)return;const I=h.current?.element,F=f.current;if(!I||!F)return;const T=I,B=F;function O(){V(Vr(T,B))}return O(),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0)}},[u,p,v,x,E,ee]),l.useLayoutEffect(()=>{if(!ue)return;const I=h.current?.element,F=f.current;if(!I||!F)return;const T=I,B=F;function O(){ge(Vr(T,B))}return O(),window.addEventListener("resize",O),window.addEventListener("scroll",O,!0),()=>{window.removeEventListener("resize",O),window.removeEventListener("scroll",O,!0)}},[u,p,v,x,E,ue]),{actionMenuStyle:z,addMenuStyle:te,mentionMenuStyle:de,skillMenuStyle:fe}}const Vf=l.lazy(()=>ye(()=>import("./ComposerCreateImproveStrip-DR-Qo7b4.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>({default:e.ComposerCreateImproveStrip}))),Wf=ha.find(e=>e.id==="submit-issue"),Gf=[],Kf=[];function co({experience:e="development",mode:t,surface:s="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:o,composeNotice:u=null,mentionApps:f=[],connectedAppMentions:p=[],profileSkills:v=[],selectedMentionAppId:h=null,contextWindowStatus:m,goalRuntime:g=null,subagentRuntime:x=null,createImproveRuntime:E=null,busy:S,readOnlyReason:M=null,running:j=S,taskSessionId:N=null,taskEvents:y=Kf,steerActiveResponses:A=!1,submissionScopeKey:R="default",getCurrentSubmissionScopeKey:U,voiceInputChannelKey:H=R,initialSteerDrafts:K=Gf,showProjectFooter:q=!0,hideModelControls:he=!1,autoFocus:Se=!1,focusRequestId:pe=0,attachmentRequest:ke=null,connection:ue,providerSettings:ee=null,provider:de,model:ge,projectTarget:fe,profileTarget:V=null,actionCatalog:z=[],requestedAction:_=null,workspaceTarget:te,codexPermissionMode:C,codexReasoningEffort:I,openPondCommandAccessMode:F,onProviderChange:T,onProviderSetupOpen:B,onProjectTargetChange:O,onProfileTargetChange:Q,onWorkspaceTargetChange:xe,onModelChange:ht,onCodexPermissionModeChange:me,onCodexReasoningEffortChange:le,onOpenPondCommandAccessModeChange:pt,onPromptChange:re,onMentionAppSelect:et,onSaveTaskDraft:ot,showToast:qe,onSubmit:He,onStop:Te,onPauseGoal:Lt}){const w=l.useMemo(()=>{for(let d=y.length-1;d>=0;d--){const b=y[d];if(b.sessionId!==N||!["session.started","session.updated","session.title.updated"].includes(b.name))continue;const P=b.data,L=vl.safeParse(P&&typeof P=="object"&&"session"in P?P.session:null);if(L.success)return typeof L.data.metadata?.nativeReadOnlyReason=="string"?L.data.metadata.nativeReadOnlyReason:null}return M},[M,y,N]),$=l.useRef(null),ie=l.useRef(null),G=l.useRef(null),Me=!["claude-code","opencode","grok-build"].includes(de),$e=A&&Me,Y=Fu(ue,N,y,Me),tt=l.useRef(null),Ne=l.useRef(null),Ot=l.useRef(null),zt=l.useRef(null),gt=l.useRef(0),nt=_&&z.some(d=>d.id===_.actionId)?_:null,st=l.useRef(!1),pn=l.useRef(0),Ns=l.useRef(nt?.requestId??0),Xn=l.useRef(new Set),gn=l.useRef(new Set),[be,ze]=l.useState(o.length),As=l.useRef(be);As.current=be;const[Rs,xn]=l.useState(0),[Es,bn]=l.useState(0),[$s,vn]=l.useState(0),[Be,Qt]=l.useState(0),[Ts,Ve]=l.useState(""),[jn,Ue]=l.useState(null),[Is,Je]=l.useState(null),[Mr,Jn]=l.useState(null),[Ie,xt]=l.useState(!1),[yn,_s]=l.useState(!1),[lt,wt]=l.useState(nt?.actionId??null),[St,ct]=l.useState(null),[bt,We]=l.useState(null),[Yn,vt]=l.useState(null),[Zn,kn]=l.useState(null),[es,Cn]=l.useState(!1),[wn,ts]=l.useState(()=>({[R]:K})),[Xt,Sn]=l.useState(null),[jt,ne]=l.useState(!1),[Ps,Ft]=l.useState(""),[Mn,Ls]=l.useState(!1),{attachmentError:Nn,attachments:we,addFiles:Fe,removeAttachment:Jt,settleStagedAttachments:Os,setAttachmentError:ut,stageAttachmentsForSubmit:Nr}=_f(),An=l.useRef(0);l.useEffect(()=>{!ke||An.current===ke.id||(An.current=ke.id,Fe([ke.file]))},[Fe,ke]);const zs=l.useCallback(d=>{const b=Sf(d,we);return!b||we.length>=Wt.maxAttachments||b.size>Wt.maxAttachmentBytes?!1:(Fe([b]),!0)},[Fe,we]),Ar=Ld({experience:e,mode:t,surface:s}),Yt=e==="development"||e==="work"&&fe.value!=="none",Rr=jl(de,ge,ee),Rn="top",Fs=l.useId(),Er=l.useId(),Ds=l.useId(),Bs={"--context-fill":`${Math.round((m.percent??0)/100*360)}deg`,"--context-bar-fill":`${m.percent??0}%`},Ae=l.useMemo(()=>z.find(d=>d.id===lt)??null,[z,lt]),Mt=l.useMemo(()=>yl(de,e),[e,de]),rt=l.useMemo(()=>Yt?v:v.filter(d=>!qf.has(d.name)),[e,v]),Re=l.useMemo(()=>Mt.find(d=>d.id===St)??null,[Mt,St]),Zt=Bf({action:Ae,prompt:o,selectedActionMentionText:Yn,selectedInvocationPosition:bt}),Us=Uf({attachmentCount:we.length,prompt:o,selectedAction:Ae,selectedCommand:Re}),$r=l.useMemo(()=>{const d=Math.max(0,Math.min(bt??0,o.length));return Re?{icon:Re.id==="agent"?"plus":Re.id==="skill"?"skill":"workflow",key:`command:${Re.id}`,label:Re.id==="agent"?"Author Agent":Re.id,position:d,onRemove:()=>{ct(null),We(null),vt(null)}}:Ae?{icon:Ae.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${Ae.id}`,label:fa(Ae),position:d,onRemove:()=>{wt(null),We(null),vt(null)}}:null},[o.length,Ae,Re,bt]),en=Zn===R,qs=en||!Us,Hs=en?"Preparing files":j?$e?"Steer":"Queue for next turn":"Send",De=en,Vs=en;function Nt(d=R){if(w)return!1;const b=Xn.current;return b.has(d)?!1:(b.add(d),!0)}function At(d){Xn.current.delete(d)}function Ws(d){return Xn.current.has(d)}function tn(){return Ws(R)}function Gs(d){kn(b=>b===d?null:b)}const En=l.useMemo(()=>{const d=kl(ee,{enabledOnly:!0}).map(Z=>({...Z,description:void 0})),b=Yt?d:d.filter(Z=>Z.value!=="codex"),P=te.value==="cloud"&&Yt?b.filter(Z=>Z.value==="openpond"):b,L=P.some(Z=>Z.value===de)?P:[{value:de,label:Cl(de,ee),description:"Current"},...P],J={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[...L,J]},[de,ee,Yt,te.value]),Ks=l.useMemo(()=>ua(de,ee),[de,ee]),Ee=l.useMemo(()=>wl(o,Math.min(be,o.length)),[be,o]),$n=Ee?`${o}:${Ee.start}:${Math.min(be,o.length)}`:null,at=l.useMemo(()=>Ee?ti({actionCatalog:z,connectedAppMentions:p,mentionApps:f,profileSkills:rt,query:Ee.query,surface:s,teamMentionMembers:i}):[],[z,p,f,Ee,rt,s,i]),ns=l.useMemo(()=>s==="team"?[]:ti({actionCatalog:z,connectedAppMentions:p,mentionApps:f,profileSkills:rt,query:"",surface:s,teamMentionMembers:i}).filter(d=>d.kind!=="skill"),[z,p,f,rt,s,i]),Tn=!!(!Ie&&!De&&Ee&&$n&&jn!==$n&&at.length>0),Ge=l.useMemo(()=>Ru(o,Math.min(be,o.length)),[be,o]),Dt=Ge?`${o}:${Ge.start}:${Ge.end}`:null,it=l.useMemo(()=>Ge?ur(rt,Ge.query):[],[Ge,rt]),Bt=!!(!Ie&&!De&&Ge&&Dt&&Mr!==Dt),oe=l.useMemo(()=>Pf(o,Math.min(be,o.length)),[be,o]),In=oe?`${o}:${oe.start}:${oe.end}`:null,ss=l.useMemo(()=>oe?Za(z,oe.query):[],[z,oe]),Qs=l.useMemo(()=>oe&&s!=="team"?ei(f,oe.query):[],[oe,f,s]),rs=l.useMemo(()=>oe&&s!=="team"?Of(oe.query,Mt):[],[oe,Mt,s]),Xs=l.useMemo(()=>oe&&s!=="team"?ur(rt,oe.query):[],[oe,rt,s]),Ye=l.useMemo(()=>[...ss.map(d=>({kind:"action",action:d})),...Xs.map(d=>({kind:"skill",skill:d})),...rs.map(d=>({kind:"command",command:d})),...Qs.map(d=>({kind:"app-context",app:d}))],[ss,Qs,rs,Xs]),as=!!(!Ie&&!De&&oe&&In&&Is!==In),_n=l.useMemo(()=>Mt.map(d=>({kind:"command",command:d})),[Mt]),nn=l.useMemo(()=>[...Za(z,"").map(d=>({kind:"action",action:d})),...ei(f,"").map(d=>({kind:"app-context",app:d}))],[z,f]),Ut=l.useMemo(()=>ur(rt,"").map(d=>({kind:"skill",skill:d})),[rt]),sn=l.useMemo(()=>{const d=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return nn.length>0&&d.push({id:"slash",items:nn.map(b=>({kind:"slash",item:b})),label:"Agents and actions",queryScope:"slash"}),Ut.length>0&&d.push({id:"skills",items:Ut.map(b=>({kind:"slash",item:b})),label:"Skills",queryScopes:["slash","mentions"]}),d.push({id:"openpond",items:_n.map(b=>({kind:"slash",item:b})),label:"OpenPond",grid:!0,queryScope:"slash"}),d.push({emptyLabel:"No mentions available",id:"mentions",items:ns.map(b=>({kind:"mention",item:b})),label:"@"}),d},[ns,_n,Ut,nn,e]),Pn=l.useMemo(()=>Vd(sn,Ts),[Ts,sn]),rn=l.useMemo(()=>Pn.flatMap(d=>d.items),[Pn]);l.useEffect(()=>{Ie&&Qt(d=>d<rn.length?d:0)},[rn.length,Ie]);const an=!!g,dt=an&&g?.tone==="active",is=dt?"Pause goal":"Stop response",Ce=dt?"pause":"stop",Tr=e==="work"||fe.value!=="none",Ir=ra(wn,R,K),os=Xt?.scopeKey===R?Xt.draftId:null;function Ln(d,b){ts(P=>qu(P,d,b,d===R?K:[]))}l.useLayoutEffect(()=>{G.current?.resize()},[we.length,Nn,E,g,o,lt,St,bt]),l.useEffect(()=>{if(!Se){st.current=!1;return}if(st.current||De)return;const d=window.requestAnimationFrame(()=>{st.current=!0;const b=document.activeElement;b&&b!==document.body&&b!==document.documentElement||G.current?.focusAtPromptIndex(o.length)});return()=>window.cancelAnimationFrame(d)},[Se,De,o.length]),l.useEffect(()=>{!pe||pn.current===pe||De||(pn.current=pe,window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(o.length)}))},[pe,De,o.length]),l.useEffect(()=>{g||Cn(!1)},[g]),l.useEffect(()=>{lt&&!z.some(d=>d.id===lt)&&(wt(null),We(null))},[z,lt]),l.useEffect(()=>{if(!_||_.requestId<=Ns.current)return;const d=z.find(b=>b.id===_.actionId);d&&(Ns.current=_.requestId,wt(d.id),ct(null),We(0),vt(null),re(""),ze(0),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[z,re,_]),l.useEffect(()=>{!Ae&&!Re||We(d=>d===null?0:Math.max(0,Math.min(d,o.length)))},[o.length,Ae,Re]),l.useEffect(()=>{if(!h||!et)return;const d=f.find(b=>b.id===h);(!d||!Sl(o,d))&&et(null)},[f,et,o,h]);const{actionMenuStyle:_r,addMenuStyle:Pr,mentionMenuStyle:Rt,skillMenuStyle:Lr}=Hf({activeMentionKey:$n,activeSkillKey:Dt,activeSlashKey:In,addMenuIndex:Be,addMenuItems:rn,addMenuOpen:Ie,addMenuPanelRef:zt,addMenuRef:Ot,attachmentCount:we.length,composerRef:$,createImproveActive:!!E,goalRuntimeActive:!!g,inputRef:G,inputShellRef:ie,mentionQuery:Ee?.query,prompt:o,selectedActionId:lt,selectAddMenuItem:Bn,setActionIndex:vn,setActionMenuDismissedPrompt:Je,setAddMenuIndex:Qt,setAddMenuOpen:xt,setAddMenuQuery:Ve,setMentionMenuDismissedPrompt:Ue,setMentionIndex:xn,setSkillIndex:bn,setSkillMenuDismissedPrompt:Jn,skillMatchCount:it.length,skillQuery:Ge?.query,slashMatchCount:Ye.length,slashQuery:oe?.query,showActionMenu:as,showMentionMenu:Tn,showSkillMenu:Bt});function Et(){wt(null),ct(null),We(null),vt(null)}function Or(){Et(),re(""),ze(0)}function yt(d){Ft(d.trim()),ne(!0)}function zr(){Mn||(ne(!1),Et())}async function Fr(){return await(dt&&Lt?Lt():Te())}function qt(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=o.slice(0,L),ve=o.slice(J),ft=Z&&!/\s$/.test(Z)?" ":"",$t=ve&&!/^\s/.test(ve)?" ":"",dn=`${Nl(d)} `,Ct=`${ft}${dn}${$t}`,fn=`${Z}${Ct}${ve}`,Ze=Z.length+Ct.length;return re(fn),et?.(d.id),ze(Ze),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(Ze)}),Ze}function On(d){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));qt(d,{start:Ee.start,end:b})}function zn(d,b,P=null){const L=Math.max(0,Math.min(be,o.length)),J=b?Math.max(0,Math.min(b.start,o.length)):L,Z=b?Math.max(J,Math.min(b.end,o.length)):J,ve=`${o.slice(0,J)}${o.slice(Z)}`;return wt(d.id),ct(null),We(J),vt(P?.startsWith("@")?P:null),Je(null),re(ve),ze(J),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(J,{afterToken:!0})}),J}function _e(d){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length)),P=Math.max(0,Math.min(Ee.start,o.length)),L=Math.max(P,Math.min(b,o.length));zn(d,{start:P,end:L},o.slice(P,L).trim())}function on(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=o.slice(0,L),ve=o.slice(J),ft=Z&&!/\s$/.test(Z)?" ":"",$t=ve&&!/^\s/.test(ve)?" ":"",dn=`${Al(d)} `,Ct=`${ft}${dn}${$t}`,fn=`${Z}${Ct}${ve}`,Ze=Z.length+Ct.length;return re(fn),ze(Ze),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(Ze)}),Ze}function Dr(d){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));on(d,{start:Ee.start,end:b})}function Js(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=d.handle||Wn(d.name),ve=o.slice(0,L),ft=o.slice(J),$t=ve&&!/\s$/.test(ve)?" ":"",dn=ft&&!/^\s/.test(ft)?" ":"",Ct=`${$t}@${Z} ${dn}`,fn=`${ve}${Ct}${ft}`,Ze=ve.length+Ct.length;return re(fn),ze(Ze),window.requestAnimationFrame(()=>G.current?.focusAtPromptIndex(Ze)),Ze}function ls(d){if(d.kind==="team-member"){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));Js(d.member,{start:Ee.start,end:b});return}if(d.kind==="app"){On(d.app);return}if(d.kind==="connected-app"){Dr(d.app);return}if(d.kind==="skill"){if(!Ee)return;const b=Math.max(0,Math.min(be,o.length));Pe(d.skill,{start:Ee.start,end:b});return}_e(d.action)}function Br(d){oe&&(Je(null),qt(d,{start:oe.start,end:oe.end}))}function kt(d){oe&&zn(d,oe)}function cs(d,b){const P=Math.max(0,Math.min(be,o.length)),L=b?Math.max(0,Math.min(b.start,o.length)):P,J=b?Math.max(L,Math.min(b.end,o.length)):L,Z=`${o.slice(0,L)}${o.slice(J)}`;return ct(d.id),wt(null),We(L),vt(null),Je(null),re(Z),ze(L),d.id==="submit-issue"&&yt(Z),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(L,{afterToken:!0})}),L}function Fn(d){oe&&cs(d,oe)}function ln(d){if(d.kind==="command"){Fn(d.command);return}if(d.kind==="app-context"){Br(d.app);return}if(d.kind==="skill"){if(!oe)return;Pe(d.skill,oe);return}kt(d.action)}function Pe(d,b){const P=Eu(o,b,d);return Jn(null),Ue(null),Je(null),re(P.value),ze(P.cursor),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(P.cursor)}),P.cursor}function Ys(d){Ge&&Pe(d,Ge)}function Dn(){tt.current?.click()}function us(){Ne.current?.click()}function Ke(d){gt.current=d,Ve(""),Qt(0)}function ds(){const d=Math.max(0,Math.min(be,o.length)),b=Math.max(0,Math.min(gt.current,o.length));return d>=b?{start:b,end:d}:{start:d,end:d}}function Bn(d){const b=ds();if(xt(!1),Ve(""),d.kind==="files"||d.kind==="folder"){if(b.start!==b.end){const P=`${o.slice(0,b.start)}${o.slice(b.end)}`;re(P),ze(b.start)}Ke(b.start),d.kind==="folder"?us():Dn();return}if(d.kind==="slash"){if(d.item.kind==="command"){Ke(cs(d.item.command,b));return}if(d.item.kind==="app-context"){Ke(qt(d.item.app,b));return}if(d.item.kind==="skill"){Ke(Pe(d.item.skill,b));return}Ke(zn(d.item.action,b));return}if(d.item.kind==="team-member"){Ke(Js(d.item.member,b));return}if(d.item.kind==="app"){Ke(qt(d.item.app,b));return}if(d.item.kind==="connected-app"){Ke(on(d.item.app,b));return}if(d.item.kind==="skill"){Ke(Pe(d.item.skill,b));return}Ke(zn(d.item.action,b))}const{stageCurrentSteerDraft:fs,submitImmediateSteer:cn}=Au({running:j,scope:R,inbox:Y,getPrompt:()=>G.current?.getPrompt()??o,hasFilesOrActions:!!(we.length||Ae||Re),provider:de,model:ge,codexPermissionMode:C,codexReasoningEffort:I,openPondCommandAccessMode:F,getCurrentSubmissionScopeKey:U,onSubmit:He,showToast:qe,begin:d=>gn.current.has(d)?!1:(gn.current.add(d),!0),finish:d=>{gn.current.delete(d)},clear:Or,setError:ut,stageLocal:d=>{Ln(R,b=>[...b,qi(d)]),window.requestAnimationFrame(()=>G.current?.focusAtPromptIndex(0))}});async function ms(d){const b=R;if(Xt?.scopeKey===b)return!1;const P=ra(wn,b,K).find(L=>L.id===d);if(!P)return!1;Sn({draftId:d,scopeKey:b}),ut(null);try{const L=j,J=await He([],null,null,{preservePrompt:!0,promptOverride:P.prompt,...L?{turnMetadata:{interactionKind:"steer"}}:{}});return Ln(b,Z=>Uu(Z,d,J)),J}catch(L){return ut(L instanceof Error?L.message:String(L)),!1}finally{Sn(L=>L?.scopeKey===b&&L.draftId===d?null:L)}}function hs(d){os!==d&&Ln(R,b=>Hi(b,d))}function Zs(d){if(os!==d.id){if(we.length>0||lt||St){qe("Finish the current composer before editing a queued message.","info");return}Ln(R,b=>Bu(b,d.id,o)),re(d.prompt),ze(d.prompt.length),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(d.prompt.length)})}}async function Ht(d={}){const b=R;if(!Nt(b))return!1;xt(!1),ut(null);const P=Nr();try{kn(P.length>0?b:null);let L;try{L=await Promise.all(P.map(Rf))}finally{Gs(b)}const J=Ae&&Zt&&!o.trim()?Zt:void 0,Z=d.promptOverride??J,ve=await He(L,Ae,Re,Zt||Z||d.preservePrompt?{...Zt?{displayPrompt:Zt}:{},...Z!==void 0?{promptOverride:Z}:{},...d.preservePrompt?{preservePrompt:!0}:{}}:void 0);return Os(P,ve?"dispose":"restore"),ve&&!Rl(Ae)&&Et(),ve}catch(L){return Os(P,"restore"),ut(L instanceof Error?L.message:String(L)),!1}finally{At(b),Gs(b)}}async function un(){if(j){$e?await cn():await fs();return}if(tn())return;const d=Ae||Re?null:Ai(o);if(Re?.id==="submit-issue"||d?.command==="submit-issue"){yt(d?.command==="submit-issue"?d.args:o);return}qs||await Ht()}function er(){Lu(H)||un()}async function Un(d){if(tn()||Mn)return!1;const b=R;if(!Nt(b))return!1;Ls(!0),xt(!1),ut(null);try{const P=await He([],null,Wf,{displayPrompt:`/submit-issue ${d.title.trim()}`,promptOverride:Ml(d)});return P&&(ne(!1),Et()),P}catch(P){return ut(P instanceof Error?P.message:String(P)),!1}finally{At(b),Ls(!1)}}async function tr(d,b){const P=G.current?.getPrompt()??o,L=Math.max(0,Math.min(As.current,P.length)),J=Bi(P,d,b.submit?P.length:L),Z=await Tu({appendToEnd:b.submit,currentScopeKey:U?.()??R,cursorIndex:L,originScopeKey:R,prompt:P,setOriginDraft:ve=>re(ve),submitFromOrigin:ve=>Ht({preservePrompt:!0,promptOverride:ve}),transcript:d});if(Z==="retained"){qe("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(Z==="submitted"){qe("Voice message sent to the chat where recording started.","success");return}if(b.submit){if(j){$e?await cn(J.value):await fs(J.value);return}await Ht({promptOverride:J.value});return}ze(J.cursorIndex),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(J.cursorIndex)})}return w?n.jsx("p",{className:"composer dock",role:"status",children:w}):n.jsxs("form",{ref:$,className:`composer ${t} ${E?"has-create-runtime":""} ${an?"has-goal-runtime":""} ${we.length>0?"has-attachments":""} ${Ae||Re?"has-selected-action":""} ${Nn?"has-attachment-error":""} ${Ie?"has-add-menu":""}`,onSubmit:d=>{d.preventDefault(),un()},children:[n.jsx("input",{webkitdirectory:"",ref:Ne,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:d=>{Fe(Array.from(d.currentTarget.files??[])),d.currentTarget.value=""}}),Tn&&n.jsx(Kd,{items:at,mentionIndex:Rs,onSelect:ls,onSelectIndex:xn,style:Rt}),Bt&&n.jsx(ff,{items:it,onSelect:Ys,onSelectIndex:bn,skillIndex:Es,style:Lr}),as&&n.jsx(mf,{actionCatalogCount:z.length,actionIndex:$s,items:Ye,onSelect:ln,onSelectIndex:vn,style:_r}),n.jsx(hf,{busy:Mn,initialDescription:Ps,open:jt,onClose:zr,onSubmit:Un}),q&&n.jsxs("div",{className:"composer-footer",children:[q?n.jsx(Ku,{busy:S||fe.busy,placement:Rn,state:fe,onChange:O}):null,V&&Q?n.jsx(Wi,{busy:S,placement:Rn,state:V,onChange:Q}):null,Tr?n.jsx(Qu,{busy:S,placement:Rn,state:te,onChange:xe}):null]}),!q&&e==="work"&&n.jsx(Xu,{project:fe,workspace:te}),E?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Vf,{runtime:E})}):null,Y.enabled?n.jsx(Hu,{inbox:Y,onRestore:d=>{re(o.trim()?`${o}
|
|
5
5
|
|
|
6
6
|
${d}`:d),G.current?.focusAtPromptIndex(0)}}):n.jsx(Zu,{drafts:Ir,sendingDraftId:os,onDeleteDraft:hs,onEditDraft:Zs,onSteerDraft:d=>{ms(d)}}),an&&g&&n.jsx(Yu,{detailsOpen:es,goalRuntime:g,objectiveId:Ds,subagentRuntime:x,onToggleDetails:()=>Cn(d=>!d)}),u&&n.jsx("div",{className:`composer-notice ${u.tone}`,role:"status",children:u.message}),Y.enabled&&j&&Us&&n.jsxs("div",{className:"task-input-actions",children:[n.jsx("button",{type:"button",disabled:!!Y.busyId||!Y.snapshot?.acceptingInput,onClick:()=>{cn()},children:"Steer now"}),n.jsx("button",{type:"button",disabled:!!Y.busyId,onClick:()=>{fs()},children:"Queue for next turn"})]}),n.jsxs("div",{className:"composer-input-shell",ref:ie,children:[Ie&&s!=="team"&&n.jsx(xa,{id:Fs,ariaLabel:"Add to message",className:"composer-add-command-menu",menuIndex:Be,menuRef:zt,sections:Pn,style:Pr,variant:"add",onSelect:Bn,onSelectIndex:Qt}),we.length>0&&n.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:we.map(d=>n.jsx(Mf,{attachment:d,onRemove:()=>Jt(d.id)},d.id))}),Nn&&n.jsx("div",{className:"composer-attachment-error",role:"status",children:Nn}),n.jsx("div",{className:"composer-textarea-frame",onClick:d=>{d.target===d.currentTarget&&G.current?.focusAtPromptIndex(be)},children:n.jsx(Id,{ref:G,connectedAppMentions:p,disabled:De,onCursorChange:ze,onKeyDown:d=>{if(Ie&&["ArrowDown","ArrowUp","Home","End","Enter","Escape"].includes(d.key)){d.preventDefault();return}if(Tn){if(d.key==="ArrowDown"){d.preventDefault(),xn(b=>(b+1)%at.length);return}if(d.key==="ArrowUp"){d.preventDefault(),xn(b=>(b-1+at.length)%at.length);return}if(d.key==="Enter"||d.key==="Tab"){d.preventDefault(),ls(at[Rs]??at[0]);return}if(d.key==="Escape"){d.preventDefault(),Ue($n);return}}if(Bt){if(it.length>0&&d.key==="ArrowDown"){d.preventDefault(),bn(b=>(b+1)%it.length);return}if(it.length>0&&d.key==="ArrowUp"){d.preventDefault(),bn(b=>(b-1+it.length)%it.length);return}if(it.length>0&&(d.key==="Enter"||d.key==="Tab")){d.preventDefault(),Ys(it[Es]??it[0]);return}if(d.key==="Escape"){d.preventDefault(),Jn(Dt??o);return}}if(as){if(Ye.length>0&&d.key==="ArrowDown"){d.preventDefault(),vn(b=>(b+1)%Ye.length);return}if(Ye.length>0&&d.key==="ArrowUp"){d.preventDefault(),vn(b=>(b-1+Ye.length)%Ye.length);return}if(Ye.length>0&&(d.key==="Enter"||d.key==="Tab")){d.preventDefault(),ln(Ye[$s]??Ye[0]);return}if(d.key==="Escape"){d.preventDefault(),Je(In??o);return}}if((Ae||Re)&&d.key==="Backspace"&&be===(bt??0)){d.preventDefault(),Et();return}if(Pd(d.key,d.ctrlKey,d.metaKey,d.shiftKey,e,s,!!ot)){d.preventDefault(),_d({attachmentsCount:we.length,hasSelectedInvocation:!!(Ae||Re),onSave:ot,onSaved:Et,prompt:o,saving:yn,setSaving:_s,showInfo:b=>qe(b,"info")});return}d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),en||un())},onPasteFiles:Fe,onPasteTextAsAttachment:zs,onPromptChange:(d,b)=>{if(Ie){const L=Math.max(0,Math.min(gt.current,d.length));b<L?(gt.current=b,Ve("")):Ve(d.slice(L,b))}const P=s==="team"?null:Lf(d,b,Mt);if(P){const L=`${d.slice(0,P.start)}${d.slice(P.end)}`,J=P.start;re(d),ze(b),window.requestAnimationFrame(()=>{ct(P.command.id),wt(null),We(J),Je(null),re(L),ze(J),P.command.id==="submit-issue"&&yt(L),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(J,{afterToken:!0})})});return}re(d)},onTokenPositionChange:d=>{if(!(!Ae&&!Re)){if(d===null){Et();return}We(d)}},placeholder:Ar,prompt:o,token:$r})}),n.jsx(uf,{surface:s,teamUseModel:r,teamUseModelLocked:a,onTeamUseModelChange:c,addFiles:Fe,addMenuId:Fs,addMenuOpen:Ie,addMenuRef:Ot,busy:S,codexPermissionMode:C,codexReasoningEffort:I,connection:ue,contextStatusStyle:Bs,contextStatusTooltipId:Er,contextWindowStatus:m,disabled:Vs,dropdownPlacement:Rn,fileInputRef:tt,modelValue:Rr,modelOptions:Ks,hideModelControls:he,openPondCommandAccessMode:F,showCommandAccess:Yt,profileTarget:q?null:V,onCodexPermissionModeChange:me,onCodexReasoningEffortChange:le,onOpenPondCommandAccessModeChange:pt,onProfileTargetChange:Q,onModelChange:ht,onOpenFilePicker:Dn,onProviderChange:T,onProviderSetupOpen:B,onSend:er,onStop:Fr,onToggleAddMenu:()=>{const d=Math.max(0,Math.min(be,o.length));Ie||(gt.current=d,Ve(""),Qt(0),xt(!0)),window.requestAnimationFrame(()=>{G.current?.focusAtPromptIndex(d)})},onTranscript:tr,voiceInputChannelKey:H,provider:de,providerSettings:ee,providerOptions:En,running:j,sendDisabled:qs,sendTooltip:Hs,showToast:qe,stopIcon:Ce,stopLabel:is})]})]})}const ni=l.memo(function({draftStore:t,...s}){const r=El(t),a=t.getScopeKey(),i=l.useCallback(c=>{t.setForScope(a,c)},[a,t]);return n.jsx($l,{id:"composer",children:n.jsx(co,{...s,prompt:r,onPromptChange:i})})});function Qf({questions:e,answers:t,disabled:s,onChange:r}){return n.jsx("div",{className:"native-question-fields",children:e.map(a=>n.jsxs("fieldset",{disabled:s,children:[n.jsx("legend",{children:a.question}),a.options.map(i=>{const c=(t[a.question]??"").split(", ");return n.jsxs("label",{title:i.description,children:[n.jsx("input",{type:a.multiSelect?"checkbox":"radio",name:a.question,checked:c.includes(i.label),onChange:o=>{const u=a.multiSelect?(o.target.checked?[...c.filter(Boolean),i.label]:c.filter(f=>f!==i.label)).join(", "):i.label;r({...t,[a.question]:u})}}),i.label,i.description?n.jsx("small",{children:i.description}):null]},i.label)}),n.jsxs("label",{children:["Your answer",n.jsx("input",{type:"text",maxLength:8e3,value:t[a.question]??"",onChange:i=>r({...t,[a.question]:i.target.value})})]})]},a.question))})}function si({approval:e,onResolve:t}){const[s,r]=l.useState(null),[a,i]=l.useState({});if(l.useEffect(()=>{r(null),i({})},[e?.id]),!e||e.kind==="create_plan")return null;const c=Xf(e.detail),o=typeof e.providerRequestId=="string"&&e.providerRequestId.startsWith("native-agent:");let u=[],f=[];if(o)try{const m=JSON.parse(e.detail);u=m.options??[],f=m.questions??[]}catch{}const p=o?u.some(m=>m.kind==="allow_always"):e.kind!=="subagent_patch_apply",v=u.find(m=>m.kind==="allow_always")?.name;async function h(m){if(!(!e||s)){r(m);try{await t(e.id,m,m==="accept"&&f.length?a:void 0)}catch{r(null)}}}return n.jsx("div",{className:"approval-request-shell",role:"status","aria-live":"polite",children:n.jsxs("section",{className:"approval-request-card","aria-label":`${ri(e.kind)} approval request`,children:[n.jsxs("div",{className:"approval-request-copy",children:[n.jsx("div",{className:"approval-request-header",children:n.jsx("span",{children:ri(e.kind)})}),n.jsx("code",{className:"approval-request-title",title:e.title,children:e.title}),c&&c!==e.title&&n.jsxs("details",{className:"approval-request-details",children:[n.jsx("summary",{children:"Details"}),n.jsx("pre",{children:c})]}),f.length?n.jsx(Qf,{questions:f,answers:a,disabled:!!s,onChange:i}):null]}),n.jsxs("div",{className:"approval-request-actions",children:[n.jsxs("button",{type:"button",className:"approval-action primary",disabled:!!s||f.some(m=>!a[m.question]?.trim())||o&&!u.some(m=>m.kind==="allow_once"),onClick:()=>{h("accept")},children:[n.jsx(_t,{size:14}),n.jsx("span",{children:s==="accept"?"Sending":f.length?"Submit answers":"Approve"})]}),p?n.jsxs("button",{type:"button",className:"approval-action",title:o?v:"Approve for the rest of this session",disabled:!!s,onClick:()=>{h("acceptForSession")},children:[n.jsx(yc,{size:14}),n.jsx("span",{children:s==="acceptForSession"?"Approving":o?v:"Session"})]}):null,n.jsxs("button",{type:"button",className:"approval-action muted",disabled:!!s||o&&!u.some(m=>m.kind==="reject_once"),onClick:()=>{h("decline")},children:[n.jsx(Cc,{size:14}),n.jsx("span",{children:s==="decline"?"Denying":"Deny"})]}),n.jsx("button",{type:"button",className:"approval-action icon-only",title:o?"Dismiss request":"Cancel task","aria-label":o?"Dismiss request":"Cancel task",disabled:!!s,onClick:()=>{h("cancel")},children:n.jsx(Ss,{size:15})})]})]})})}function ri(e){return e==="create_plan"?"Plan review":e==="subagent_patch_apply"?"Subagent patch":e==="file_change"||e==="legacy_patch"?"File change":e==="permissions"?"Permissions":e==="user_input"?"Input needed":"Command"}function Xf(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const Jf=/\.(?:m4v|mov|mp4|webm)$/i;function Yf(e){return Jf.test(e.trim().split(/[?#]/,1)[0]??"")}function Zf(e,t){let s=e.trim();if(!s||!Yf(s))return null;if(/^file:\/\//i.test(s))try{s=decodeURIComponent(new URL(s).pathname)}catch{s=s.replace(/^file:\/\//i,"")}if(/^\//.test(s)||/^[A-Za-z]:[\\/]/.test(s))return s;const r=t?.trim().replace(/[\\/]+$/,"");return r?`${r}/${s.replace(/^\.\//,"")}`:null}function em({connection:e,handleOpenBrowserLink:t,activeWorkspaceAppId:s,rightSidebarUsesSandbox:r,rightSidebarSandboxId:a,onShowDiffPanel:i,showToast:c,workspaceRootPath:o,setOpenDiffFileRequest:u}){return l.useCallback((f,p)=>{if(/[\\/]$/.test(f)){const g=/^(?:[~/\\]|[A-Za-z]:)/.test(f)?f:o?`${o}/${f}`:f;la(g).then(x=>{x||c("Open this folder in the desktop app on the machine where it was created.","error")});return}const v=r?a:s;if(Yr(f)&&!p?.source&&e&&v){Go(e,v,f,r?"sandbox":"local").then(g=>t(g)).catch(g=>c(g instanceof Error?g.message:"Could not open HTML preview.","error"));return}const h=Zf(f,o);if(h&&e){Le.signLocalVideoUrl(e,{path:h}).then(({url:g})=>t(g)).catch(g=>{c(g instanceof Error?g.message:"Could not open this video.","error")});return}const m=xi(f,{workspaceRootPath:o});i(),u({id:Date.now(),path:p?.source&&Yr(f)?(m?.path??f).replace(/[?#].*$/,""):m?.path??f,source:p?.source})},[e,t,s,r,a,i,c,o,u])}function tm(e,t={}){const s=e.map(r=>({id:`message:${r.id}`,type:"message",message:r,showFooter:r.role==="assistant"}));return t.showThinkingIndicator&&s.push({id:"thinking",type:"thinking"}),s}function Zp(e){const t=new Map;for(const s of e)s.role==="assistant"&&s.turnId&&t.set(s.turnId,s.id);return t}function eg(e,t){const s=e.turnId;return e.role==="assistant"&&s!==void 0&&t.get(s)===e.id}function nm(e){const t=e[e.length-1];if(!t)return!0;if(t.role==="assistant"||t.role==="error"||t.role==="status_divider"&&t.statusState==="running")return!1;if(t.role==="activity_group"){if(t.traceState==="running")return!1;const s=t.activities?.[t.activities.length-1]??null;return s?.state!=="running"&&s?.state!=="pending"}return!0}function sm(e){const t=[];if(e.localWorkspaceId&&t.push({value:"local",label:"Local"}),(e.sandboxSourceAvailable??!!e.sandboxWorkspaceId)&&t.push({value:"sandbox",label:"Sandbox"}),t.length===0)return{source:null,options:t};const s=new Set(t.map(a=>a.value));if(e.override&&s.has(e.override))return{source:e.override,options:t};const r=e.workspaceTarget==="local"?"local":"sandbox";return s.has(r)?{source:r,options:t}:{source:t[0].value,options:t}}const rm=new Set(["create","edit","help","list"]);function am(e,t,s=null){return im(e)}function im(e){const t=e.trim();if(!t)return"/skill";const[s=""]=t.split(/\s+/,1);return rm.has(s.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function om(e){const t=e.session?.currentProfile??null,s=e.session?await e.patchSession(e.session.id,e.ref):null;try{return{selected:await e.selectProfile(e.ref),session:s}}catch(r){if(s)try{await e.patchSession(s.id,t)}catch{}throw r}}function lm(e,t){if(!e||!t)return null;const s=new Set(e.sources.filter(r=>r.sessionId===t).map(r=>r.id));return s.size?e.creations.find(r=>r.request.sourceIds.some(a=>s.has(a)))??null:null}function cm(e){const[t,s]=l.useState(null),[r,a]=l.useState(null),[i,c]=l.useState(!1),[o,u]=l.useState(null),[f,p]=l.useState(null),v=l.useRef(null),h=l.useRef(0),m=l.useCallback(async(S,M={})=>{if(!e){a(null),u("OpenPond App server is not connected.");return}const j=h.current+1;h.current=j,M.silent||c(!0),u(null);try{const N=await Le.getCreateImproveCandidateDiff(e,S.runId,S.candidateId),y=v.current;if(j!==h.current||y?.runId!==S.runId||y.candidateId!==S.candidateId)return;a(N)}catch(N){if(j!==h.current)return;u(N instanceof Error?N.message:String(N))}finally{j===h.current&&!M.silent&&c(!1)}},[e]),g=l.useCallback(S=>{const M=v.current;if(!(S&&M?.runId===S.runId&&M.candidateId===S.candidateId)){if(v.current=S,s(S),p(null),!S){h.current+=1,a(null),u(null),c(!1);return}a(j=>j?.appId===um(S)?j:null),m(S)}},[m]),x=l.useCallback(async(S={})=>{const M=v.current;M&&await m(M,S)},[m]),E=l.useCallback(S=>{p({id:Date.now(),path:S})},[]);return l.useEffect(()=>{e||g(null)},[g,e]),{selection:t,diff:r,loading:i,error:o,openFileRequest:f,activate:g,refresh:x,openFile:E}}function um(e){return`candidate:${e.runId}:${e.candidateId}`}function dm(e){const{activeModel:t,activeProvider:s,bootstrap:r,codexPermissionMode:a,codexReasoningEffort:i,connection:c,onOpenRightChatForSession:o,onPayload:u}=e,f=l.useCallback(async h=>{if(!c||!r)throw new Error("OpenPond is still connecting.");const m=r.profile;if(m.mode!=="local"||!m.repoPath)throw new Error("A local Git-backed Profile is required to change an Agent.");const g=h.authoringModel??Tl(s,t,r.providers);if(!g)throw new Error("Choose a model before changing an Agent.");const x=await Le.createSession(c,{provider:g.providerId,modelRef:g,systemKind:"openpond.lab",hiddenFromDefaultSidebar:!0,title:`${h.operation==="create"?"New":"Improve"} Agent · ${h.objective.slice(0,80)}`,cwd:m.repoPath,metadata:{source:h.operation==="create"?"lab_agent_create":"lab_agent_improve",profileId:m.activeProfile??"default",targetAgentId:h.agentId??null}}),E=h.objective.trim();if(!E)throw new Error(h.operation==="create"?"Describe what the Agent should do.":"Describe what the Agent could do better.");if(g.providerId==="codex")throw new Error("Agent authoring uses OpenPond's bundled authoring skill. Choose a hosted model.");const S=h.operation==="create"?`/agent create ${E}`:`/agent improve ${h.agentId??""} ${E}`,M=await Le.sendTurn(c,x.id,{prompt:S,model:g.modelId,modelRef:g,approvalPolicy:"never",sandbox:"workspace-write",codexPermissionMode:"default",codexReasoningEffort:i});if(M.status==="failed")throw new Error(M.error??"OpenPond could not complete the Agent authoring turn.");u(await Le.bootstrap(c)),o(x.id,x)},[t,s,r,a,i,c,o,u]),p=l.useCallback((h,m,g)=>f({objective:h,operation:"create",authoringRunId:m,authoringModel:g}),[f]),v=l.useCallback((h,m,g,x,E)=>f({agentId:h,agentName:g,objective:m,operation:"improve",authoringRunId:x,authoringModel:E}),[f]);return{createAgentFromLab:p,improveAgentFromLab:v}}const fm=72,Qr=120,uo=24,mm=280,hm=460;function Vn(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=fm}const ir={canGoPrevious:!1,canGoNext:!1};function fo(e){return Array.from(e.querySelectorAll(".message-row.user")).filter(t=>t.parentElement===e)}function pm({activeWorkspaceId:e,cloudProjects:t}){const s=t.find(i=>i.id===e),r=t.find(i=>i.organizationSlug||i.teamId),a=s??r??null;return{organizationSlug:a?.organizationSlug??null,teamId:a?.teamId??null}}function wr(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function mo(e,t){return wr(e,t)+t.getBoundingClientRect().height}function ho(e){return e.scrollTop+uo}function po(e){return e.scrollTop+8}function bs(e){const t=ho(e),s=po(e);let r=!1,a=!1;for(const i of fo(e)){const c=wr(e,i);if(mo(e,i)<s&&(r=!0),c>t+8&&(a=!0),r&&a)break}return{canGoPrevious:r,canGoNext:a}}function gm(e,t){const s=fo(e),r=ho(e);if(t==="previous"){const a=po(e);for(let i=s.length-1;i>=0;i-=1){const c=s[i];if(mo(e,c)<a)return c}return null}for(const a of s)if(wr(e,a)>r+8)return a;return null}function xm(e){return Math.min(hm,Math.max(mm,Math.abs(e)/5))}function bm(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}function vm(e){const t=Il({messages:e});return t?{run:t}:null}function ai(e){return e.command==="workflow"?["Create a scheduled workflow attached to this chat.","Use the schedule_work tool after resolving the exact cadence, local date/time, and timezone from my request. Ask a concise clarification only if a required scheduling detail is genuinely missing.",`Workflow request: ${e.args}`].join(`
|
|
7
7
|
|
|
@@ -14,6 +14,6 @@ ${s.replace(/\r\n/g,`
|
|
|
14
14
|
`)?e.slice(0,-1):e;return t?t.split(`
|
|
15
15
|
`).length:0}function No(e){return/^error: Could not access /m.test(e)}function qh(e){let t=0,s=0;for(const r of e.split(`
|
|
16
16
|
`))r.startsWith("+++")||r.startsWith("---")||(r.startsWith("+")&&(t+=1),r.startsWith("-")&&(s+=1));return{additions:t,deletions:s}}function Hh({run:e}){const t=e.plan,s=e.questions.find(o=>o.status==="pending")??null,r=Gl(t?.metadata),i=e.target.kind==="agent"?null:e.sourceRefs[0]??t?.sourcePlan[0]?.path??null,c=e.checkRefs.length||t?.checks.length||0;return n.jsxs("section",{className:"chat-create-receipt","aria-label":"Create or improve status",children:[n.jsxs("div",{className:"chat-create-receipt-heading",children:[n.jsx(mt,{size:14}),n.jsx("span",{children:Vh(e)}),n.jsx("small",{children:e.target.kind})]}),n.jsx("p",{children:Wh(e,t?.summary??null,s?.prompt??null)}),r||i||c?n.jsxs("div",{className:"chat-create-receipt-facts",children:[r?n.jsx("span",{title:r.detail,children:r.label}):null,i?n.jsx("span",{title:i,children:i}):null,c?n.jsxs("span",{children:[c," Evals"]}):null]}):null]})}function Vh(e){const t=e.target.kind==="agent";return e.state==="awaiting_questions"?"Question ready":e.state==="awaiting_plan_approval"?"Plan ready":e.state==="applying_source"?t?"Saving Agent":"Applying source":e.state==="running_checks"?"Running Evals":e.state==="evaluating"?t?"Checking Agent":"Evaluating candidate":e.state==="awaiting_promotion"?t?"Update ready":"Candidate ready":e.state==="opening_pull_request"?"Opening review":e.state==="pull_request_open"?"Review open":e.state==="reconciling_release"?t?"Applying update":"Merging change":e.state==="released"?t?"Agent updated":"Released":e.state==="rejected"?t?"Current Agent kept":"Rejected":e.state==="ready"||e.state==="ready_local"?t?"Agent ready":"Workproduct ready":e.state==="published_hosted"?"Published":e.state==="cancelled"?"Cancelled":e.state==="blocked"?"Blocked":e.state==="failed"?"Failed":e.operation==="improve"?"Planning improvement":"Planning creation"}function Wh(e,t,s){return e.state==="awaiting_questions"&&s?s:t||(e.blockedReason?e.blockedReason:e.state==="ready"||e.state==="ready_local"?e.target.kind==="agent"?"The Agent and its actions are ready to use.":"The candidate and its Evals are ready.":e.state==="awaiting_promotion"?e.target.kind==="agent"?"The updated Agent passed its Evals. Apply the update or keep the current version.":"The candidate has been committed and evaluated. Merge or reject it.":e.state==="pull_request_open"&&e.releaseOutcome.pullRequest?e.target.kind==="agent"?"The Agent update review is waiting to finish or close.":"The external review is waiting for merge or closure.":e.state==="released"?e.target.kind==="agent"?"The Agent update is saved and its Evals passed.":"The change merged and the active Profile passed its post-merge Evals.":e.state==="rejected"?e.blockedReason??(e.target.kind==="agent"?"The Agent update was not applied.":"The candidate was rejected."):`Preparing work for ${e.objective}.`)}const Jr=l.memo(function({activeWorkspaceAppId:t=null,animateInitialContent:s=!1,accountBaseUrl:r=null,billingOrganizationSlug:a=null,billingTeamId:i=null,connection:c=null,message:o,kvCacheSummary:u=null,onOpenBrowserLink:f,onOpenAttachmentInSidebar:p,onOpenFileInSidebar:v,onOpenProfileSettings:h,onResolveUserQuestion:m,onOpenSession:g,showFooter:x=!0,userAttachmentDisplay:E="full",workspaceRootPath:S=null}){if(o.role==="task_message")return n.jsx(Im,{message:o,onOpenSession:g});if(o.role==="status_divider")return n.jsx(up,{message:o});if(o.role==="activity_group")return n.jsx(bh,{activeWorkspaceAppId:t,connection:c,message:o,onOpenFileInSidebar:v,onOpenSession:g});if(o.role==="error")return o.errorKind==="opchat_quota_exceeded"?n.jsx("article",{className:"message-row assistant",children:n.jsx(sp,{accountBaseUrl:r,billingOrganizationSlug:a,billingTeamId:i,onOpenBrowserLink:f})}):n.jsx("article",{className:"message-row assistant",children:n.jsx("div",{className:"assistant-message error-message",children:o.content??""})});if(o.role==="user"){const j=Tm(o.content??""),N=o.attachments??[],y=E==="compact",A=N.length>0,R=!!(!y&&N.some(U=>U.kind==="image"));return!j&&!A?null:n.jsx("article",{className:"message-row user",children:n.jsxs("div",{className:`user-message ${A?"has-attachments":""} ${R?"has-image-attachments":""}`,children:[N.length?n.jsx(ap,{attachments:N,compact:y,connection:c,onOpenAttachment:p}):null,j?n.jsx(Qh,{content:j}):null]})})}const M=o.actionRun&&fi(o.actionRun)?Km(o.actionRun):null;return n.jsxs("article",{className:"message-row assistant",children:[o.reasoningContent?n.jsx(Gh,{activeWorkspaceAppId:t,animateInitialContent:s,connection:c,reasoningContent:o.reasoningContent,onOpenBrowserLink:f,onOpenFileInSidebar:v,workspaceRootPath:S}):null,o.content?n.jsx("div",{className:"assistant-message",children:n.jsx(vo,{activeWorkspaceAppId:t,animateInitialContent:s,connection:c,content:o.content,onOpenBrowserLink:f,onOpenFileInSidebar:v,workspaceRootPath:S})}):null,o.sources?.length?n.jsx(Zh,{sources:o.sources,onOpenBrowserLink:f}):null,o.actionRun&&fi(o.actionRun)?n.jsxs("div",{className:`assistant-message action-run-profile-message ${o.actionRun.status}`,children:[n.jsx(ca,{activeWorkspaceAppId:t,connection:c,content:o.actionRun.responseText??Qm(o.actionRun),onOpenBrowserLink:f,onOpenFileInSidebar:v,workspaceRootPath:S}),M?n.jsx("div",{className:"action-run-agent-label",children:h?n.jsx("button",{type:"button",className:"action-run-agent-link",onClick:h,children:M}):n.jsx("span",{children:M})}):null]}):o.actionRun?n.jsx(Gm,{actionRun:o.actionRun,onOpenBrowserLink:f,onOpenFileInSidebar:v,workspaceRootPath:S}):null,o.changeSummary&&n.jsx(Dh,{summary:o.changeSummary,onOpenFileInSidebar:v}),o.createImproveRun?n.jsx(Hh,{run:o.createImproveRun}):null,o.userQuestion?n.jsx(Yh,{question:o.userQuestion,onResolve:m}):null,x||u?n.jsx(xo,{content:o.content,timestamp:o.timestamp,kvCacheSummary:u}):null]})},Xh),Gh=l.memo(function({activeWorkspaceAppId:t,animateInitialContent:s,connection:r,reasoningContent:a,onOpenBrowserLink:i,onOpenFileInSidebar:c,workspaceRootPath:o}){const[u,f]=l.useState(!1);return n.jsxs("div",{className:"activity-group assistant-reasoning",children:[n.jsx(Sr,{expanded:u,icon:n.jsx(_i,{"aria-hidden":!0,className:"activity-summary-kind-icon",size:13}),onToggle:()=>f(p=>!p),children:"Thinking"}),u?n.jsx("div",{className:"assistant-reasoning-content",children:n.jsx(vo,{activeWorkspaceAppId:t,animateInitialContent:s,connection:r,content:a,onOpenBrowserLink:i,onOpenFileInSidebar:c,workspaceRootPath:o})}):null]})},Kh);function Kh(e,t){return e.activeWorkspaceAppId===t.activeWorkspaceAppId&&e.animateInitialContent===t.animateInitialContent&&e.connection===t.connection&&e.reasoningContent===t.reasoningContent&&e.onOpenBrowserLink===t.onOpenBrowserLink&&e.onOpenFileInSidebar===t.onOpenFileInSidebar&&e.workspaceRootPath===t.workspaceRootPath}const pi=5;function Qh({content:e}){const t=l.useMemo(()=>e.split(/\r?\n/),[e]),[s,r]=l.useState(!1),a=t.length>pi,i=a&&!s?t.slice(0,pi).join(`
|
|
17
|
-
`):e;return n.jsxs("div",{className:`user-message-content-wrap ${a?"collapsible":""}`,children:[n.jsx("div",{className:"user-message-content",children:i}),a?n.jsxs("button",{type:"button",className:"user-message-show-more","aria-expanded":s,onClick:()=>r(c=>!c),children:[s?n.jsx(Xo,{size:14}):n.jsx(Pt,{size:14}),n.jsx("span",{children:s?"Show less":"Show more"})]}):null]})}function Xh(e,t){return e.activeWorkspaceAppId===t.activeWorkspaceAppId&&e.animateInitialContent===t.animateInitialContent&&e.accountBaseUrl===t.accountBaseUrl&&e.billingOrganizationSlug===t.billingOrganizationSlug&&e.billingTeamId===t.billingTeamId&&e.connection===t.connection&&e.kvCacheSummary===t.kvCacheSummary&&e.onOpenBrowserLink===t.onOpenBrowserLink&&e.onOpenAttachmentInSidebar===t.onOpenAttachmentInSidebar&&e.onOpenFileInSidebar===t.onOpenFileInSidebar&&e.onOpenProfileSettings===t.onOpenProfileSettings&&e.onResolveUserQuestion===t.onResolveUserQuestion&&e.onOpenSession===t.onOpenSession&&e.showFooter===t.showFooter&&e.userAttachmentDisplay===t.userAttachmentDisplay&&e.workspaceRootPath===t.workspaceRootPath&&Jh(e.message,t.message)}function Jh(e,t){return e===t?!0:e.id===t.id&&e.role===t.role&&e.content===t.content&&e.timestamp===t.timestamp&&e.turnId===t.turnId&&e.statusKind===t.statusKind&&e.statusState===t.statusState&&e.statusTone===t.statusTone&&e.errorKind===t.errorKind&&rp(e.attachments,t.attachments)&&e.activities===t.activities&&e.sources===t.sources&&e.actionRun===t.actionRun&&e.changeSummary===t.changeSummary&&e.createImproveRun===t.createImproveRun&&e.userQuestion===t.userQuestion&&e.reasoningContent===t.reasoningContent&&e.taskMessage===t.taskMessage}function Yh({question:e,onResolve:t}){const[s,r]=l.useState(""),[a,i]=l.useState(!1),c=async o=>{if(!(!t||a||e.status!=="pending")){i(!0);try{await t(e,o)}finally{i(!1)}}};return n.jsxs("section",{className:`user-question-card ${e.status}`,"aria-label":"Question from OpenPond",children:[n.jsxs("header",{className:"user-question-header",children:[n.jsx("span",{className:"user-question-icon","aria-hidden":!0,children:n.jsx(Ql,{size:17})}),n.jsxs("span",{className:"user-question-heading",children:[n.jsx("span",{className:"user-question-eyebrow",children:"Question"}),n.jsx("strong",{children:e.question})]})]}),e.reason?n.jsx("p",{className:"user-question-reason",children:e.reason}):null,e.status==="pending"?n.jsxs(n.Fragment,{children:[e.options.length>0?n.jsx("div",{className:"user-question-options",children:e.options.map((o,u)=>n.jsxs("button",{disabled:a||!t,type:"button",onClick:()=>{c({questionId:e.id,action:"answer",optionId:o.id,text:o.label})},children:[n.jsx("span",{className:"user-question-option-index","aria-hidden":!0,children:u+1}),n.jsxs("span",{className:"user-question-option-copy",children:[n.jsx("span",{children:o.label}),o.description?n.jsx("small",{children:o.description}):null]})]},o.id))}):null,e.allowFreeform?n.jsxs("form",{className:"user-question-freeform",onSubmit:o=>{o.preventDefault();const u=s.trim();u&&c({questionId:e.id,action:"answer",optionId:null,text:u})},children:[n.jsx("label",{htmlFor:`question-answer-${e.id}`,children:"Or write your own answer"}),n.jsxs("span",{className:"user-question-freeform-controls",children:[n.jsx("input",{"aria-label":"Answer",disabled:a||!t,id:`question-answer-${e.id}`,onChange:o=>r(o.target.value),placeholder:"Type an answer",value:s}),n.jsx("button",{disabled:a||!t||!s.trim(),type:"submit",children:a?"Sending…":"Answer"})]})]}):null,n.jsx("button",{className:"user-question-dismiss",disabled:a||!t,type:"button",onClick:()=>{c({questionId:e.id,action:"dismiss",optionId:null,text:""})},children:"Skip for now"})]}):n.jsxs("span",{className:"user-question-resolution",children:[n.jsx(Ri,{"aria-hidden":!0,size:15}),n.jsx("small",{children:e.status==="answered"?`Answered${e.answer?.text?`: ${e.answer.text}`:""}`:"Skipped"})]})]})}function Zh({sources:e,onOpenBrowserLink:t}){return n.jsxs("div",{className:"assistant-sources","aria-label":"Sources",children:[n.jsxs("span",{className:"assistant-sources-label",children:[n.jsx(pa,{size:13}),n.jsx("span",{children:"Sources"})]}),n.jsx("div",{className:"assistant-source-stack",children:e.map(s=>n.jsx(ep,{source:s,onOpenBrowserLink:t},`${s.id}:${s.url}`))})]})}function ep({source:e,onOpenBrowserLink:t}){const s=np(e),r=[e.title,Ao(e.url)].filter(Boolean).join(" - "),a=n.jsxs(n.Fragment,{children:[n.jsx(tp,{source:e}),n.jsx("span",{children:s})]});return t?n.jsx("button",{type:"button",className:"assistant-source-pill",title:r||s,"aria-label":`Open source ${s}`,onClick:()=>t(e.url,{newTab:!0}),children:a}):n.jsx("a",{className:"assistant-source-pill",href:e.url,target:"_blank",rel:"noreferrer",title:r||s,"aria-label":`Open source ${s}`,children:a})}function tp({source:e}){const[t,s]=l.useState(!1);return!e.faviconUrl||t?n.jsx(pa,{className:"assistant-source-fallback-icon",size:13}):n.jsx("img",{alt:"","aria-hidden":"true",className:"assistant-source-favicon",decoding:"async",loading:"lazy",src:e.faviconUrl,onError:()=>s(!0)})}function np(e){return e.sourceName?.trim()||Ao(e.url)||e.title}function Ao(e){try{return new URL(e).hostname.replace(/^www\./i,"")}catch{return null}}function sp({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:s,onOpenBrowserLink:r}){const a=Kl({accountBaseUrl:e,organizationSlug:t,teamId:s}),i=n.jsxs(n.Fragment,{children:[n.jsx(Aa,{size:15}),n.jsx("span",{children:"Add credits"}),n.jsx(Xl,{size:13})]});return n.jsxs("div",{className:"assistant-message quota-error-card",role:"alert",children:[n.jsx("div",{className:"quota-error-card-icon",children:n.jsx(Aa,{size:17})}),n.jsxs("div",{className:"quota-error-card-body",children:[n.jsx("strong",{children:"OpenPond Chat allowance reached"}),n.jsx("p",{children:"You have reached your OpChat token allowance for this period. Add credits or wait for the allowance to reset."}),r?n.jsx("button",{type:"button",className:"quota-error-card-action",onClick:()=>r(a,{newTab:!0}),children:i}):n.jsx("a",{className:"quota-error-card-action",href:a,target:"_blank",rel:"noreferrer",children:i})]})]})}function rp(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let s=0;s<e.length;s+=1){const r=e[s],a=t[s];if(r.id!==a.id||r.kind!==a.kind||r.name!==a.name||r.mediaType!==a.mediaType||r.sizeBytes!==a.sizeBytes||r.lineCount!==a.lineCount||r.imagePreview?.sessionId!==a.imagePreview?.sessionId||r.imagePreview?.turnId!==a.imagePreview?.turnId||r.imagePreview?.attachmentId!==a.imagePreview?.attachmentId||r.imagePreview?.storageName!==a.imagePreview?.storageName||r.imagePreview?.contentType!==a.imagePreview?.contentType||r.filePreview?.sessionId!==a.filePreview?.sessionId||r.filePreview?.turnId!==a.filePreview?.turnId||r.filePreview?.attachmentId!==a.filePreview?.attachmentId||r.filePreview?.storageName!==a.filePreview?.storageName||r.filePreview?.contentType!==a.filePreview?.contentType)return!1}return!0}function ap({attachments:e,compact:t,connection:s,onOpenAttachment:r}){return n.jsx("div",{className:`user-message-attachments${t?" compact":""}`,"aria-label":"Attached files",children:e.map(a=>n.jsx(ip,{attachment:a,compact:t,connection:s,onOpenAttachment:r},a.id))})}function ip({attachment:e,compact:t,connection:s,onOpenAttachment:r}){return!t&&e.kind==="image"&&e.imagePreview?n.jsx(lp,{attachment:e,connection:s}):n.jsx(op,{attachment:e,onOpenAttachment:r})}function op({attachment:e,onOpenAttachment:t}){const[s,r]=l.useState(!1),a=!!((e.filePreview||e.imagePreview)&&t),i=s?"Opening":e.lineCount!==void 0?io(e.lineCount):null,c=n.jsxs(n.Fragment,{children:[n.jsx(oo,{attachment:e,size:13}),n.jsx("span",{children:e.name}),i?n.jsx("small",{children:i}):null]});return a?n.jsx("button",{"aria-label":`Open attached file ${e.name}`,className:"user-message-attachment openable",disabled:s,title:`Open ${e.name}`,type:"button",onClick:()=>{!t||s||(r(!0),t(e).finally(()=>r(!1)))},children:c}):n.jsx("span",{className:"user-message-attachment",title:e.name,children:c})}function lp({attachment:e,connection:t}){const s=Em(t,e.imagePreview);return n.jsxs("figure",{className:`user-message-image-attachment ${s?"ready":"loading"}`,title:e.name,children:[n.jsx("div",{className:"user-message-image-frame",children:s?n.jsx("img",{alt:e.name,decoding:"async",loading:"lazy",src:s}):n.jsx(kr,{size:24})}),n.jsx("figcaption",{children:n.jsx("span",{children:e.name})})]})}const cp=l.memo(function(){return n.jsx("article",{className:"activity-group thinking-row","aria-live":"polite",children:n.jsx(Sr,{running:!0,children:"Thinking…"})})});function up({message:e}){const t=e.statusTone??"info",s=e.statusState??"idle";return n.jsx("article",{className:`status-divider ${t} ${s}`,"aria-live":t==="danger"?"assertive":"polite",children:n.jsx("span",{children:e.content??""})})}function yr(e){return e.state==="proposed"&&["waiting_input","waiting_approval","cancelled"].includes(e.target.status)}function dp({items:e,busy:t,editingId:s,onEdit:r,onSend:a,onDismiss:i,onOpen:c}){return e.length?n.jsx("section",{className:"ponder-recommendations","aria-label":"Ponder recommendations",children:e.map(o=>n.jsxs("article",{className:"ponder-recommendation","data-state":o.state,children:[n.jsx("button",{type:"button",className:"ponder-recommendation-target",onClick:()=>c(o.target.conversationId),children:o.target.title}),n.jsx("p",{children:o.summary}),o.submittedText||o.proposedText?n.jsx("blockquote",{children:o.submittedText??o.proposedText}):null,n.jsxs("details",{children:[n.jsx("summary",{children:"Why Ponder suggested this"}),o.evidence.map(u=>n.jsx("p",{children:u.excerpt},u.id))]}),["proposed","failed","stale","submitting"].includes(o.state)?n.jsxs("div",{className:"ponder-recommendation-actions",children:[o.state==="proposed"&&o.proposedText?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",disabled:!!t,onClick:()=>r(o),children:s===o.id?"Editing below":"Edit"}),n.jsx("button",{type:"button",disabled:!!t||yr(o),onClick:()=>a(o),children:t===o.id?"Sending…":s===o.id?"Send edited message":"Send"})]}):null,(o.state==="failed"||o.state==="submitting")&&o.submittedText&&o.submissionRevision!==null?n.jsx("button",{type:"button",disabled:!!t,onClick:()=>a(o),children:t===o.id?"Retrying…":"Retry reviewed message"}):null,yr(o)?n.jsx("small",{role:"status",children:"Resolve this task's wait or cancellation before sending a new message."}):null,o.state!=="submitting"?n.jsx("button",{type:"button",disabled:!!t,onClick:()=>i(o),children:"Dismiss"}):n.jsx("small",{role:"status",children:"Awaiting task acknowledgment"}),o.state==="stale"?n.jsx("small",{role:"status",children:"Task changed — review its latest state"}):null]}):n.jsx("small",{role:"status",children:o.state==="submitted"?"Message submitted to the task":o.state==="stale"?"Task changed — review the latest task before sending":o.state.replaceAll("_"," ")}),o.error?n.jsx("p",{role:"alert",children:o.error}):null]},o.id))}):null}function fp(e,t){const[s,r]=l.useState([]),[a,i]=l.useState(null),[c,o]=l.useState(null),u=l.useRef({connection:e,bindingId:t});u.current={connection:e,bindingId:t};const f=l.useRef(!1),p=l.useRef(!0),v=l.useCallback(async m=>{if(!t)return;const g=await Xe(e,"/v1/ponder/recommendations",{signal:m});p.current&&!m?.aborted&&u.current.connection===e&&u.current.bindingId===t&&g.bindingId===t&&(r(g.items),i(null))},[e,t]);l.useEffect(()=>{if(p.current=!0,r([]),i(null),o(null),!t)return()=>{p.current=!1};const m=new AbortController;let g=!1;const x=async()=>{if(!g){g=!0;try{await v(m.signal)}catch(S){m.signal.aborted||i(S instanceof Error?S.message:"Unable to read recommendations.")}finally{g=!1}}};x();const E=window.setInterval(()=>{x()},5e3);return()=>{p.current=!1,m.abort(),window.clearInterval(E)}},[t,v]);const h=l.useCallback(async(m,g,x)=>{if(f.current||!t)return!1;if(g==="send"&&yr(m))return i("Resolve this task's wait or cancellation before sending a new message."),!1;const E=g==="send"&&(m.state==="submitting"||m.state==="failed");if(E&&(!m.submittedText||m.submissionRevision===null))return!1;const S=E?m.submissionRevision:m.revision,M=E?m.submittedText:x;f.current=!0,o(m.id);try{return await Xe(e,`/v1/ponder/recommendations/${encodeURIComponent(m.id)}/action`,{method:"POST",body:JSON.stringify({action:g,expectedRevision:S,...M===void 0?{}:{message:M}})}),!p.current||u.current.connection!==e||u.current.bindingId!==t?!1:(await v(),p.current&&u.current.connection===e&&u.current.bindingId===t)}catch(j){return u.current.connection===e&&u.current.bindingId===t&&i(j instanceof Error?j.message:"Recommendation action failed."),!1}finally{f.current=!1,u.current.connection===e&&u.current.bindingId===t&&o(null)}},[t,e,v]);return{items:s,error:a,busy:c,action:h,refresh:v}}function Vt(e){return e instanceof Ci&&(e.message==="public_api_route_not_found"||e.message==="product_route_not_found")?"Ponder Pal is available in this app, but the connected OpenPond service has not been updated yet.":e instanceof Error?e.message:String(e)}function mp(e){return(e?.messages??[]).filter(t=>(t.role==="user"||t.role==="assistant")&&t.source!=="ponder-recommendation").map(t=>({id:t.id,role:t.role,content:t.text,timestamp:t.createdAt}))}function hp({connection:e,presentation:t,composer:s,onOpenWork:r}){const[a,i]=l.useState(null),[c,o]=l.useState(null),[u,f]=l.useState(""),[p,v]=l.useState(""),[h,m]=l.useState(!1),[g,x]=l.useState(null),[E,S]=l.useState([]),[M,j]=l.useState([]),N=l.useRef(null),y=fp(e,a?.bindingId??null),[A,R]=l.useState(null),U=A?y.items.find(C=>C.id===A.id):null,H=!!(A&&(!U||U.state!=="proposed"||U.revision!==A.revision||yr(U))),K=l.useRef(""),q=l.useRef({connection:e,bindingId:a?.bindingId,destination:A?.id??"chat",draft:u});q.current={connection:e,bindingId:a?.bindingId,destination:A?.id??"chat",draft:u};const he=l.useRef(!1),Se=l.useRef(!0);function pe(){R(null),f(K.current)}function ke(C){A||(K.current=u),R(C),f(C.proposedText??"")}async function ue(C,I){const F=q.current,T=A?.id===C.id;await y.action(C,I,I==="send"?T?u:C.proposedText??void 0:void 0)&&T&&q.current.connection===F.connection&&q.current.bindingId===F.bindingId&&q.current.destination===F.destination&&(q.current.draft===F.draft?pe():R(null))}l.useEffect(()=>{Se.current=!0;let C=!0;return i(null),o(null),S([]),j([]),N.current=null,x(null),f(""),K.current="",m(!1),v(""),R(null),Xe(e,"/v1/ponder",{method:"POST",body:"{}"}).then(I=>{C&&(i(I),x(null))}).catch(I=>{C&&x(Vt(I))}),()=>{C=!1,Se.current=!1}},[e]),l.useEffect(()=>{if(!a)return;let C=!0;const I=async()=>{try{const T=await Xe(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}`);C&&o(T)}catch(T){C&&x(Vt(T))}};I();const F=window.setInterval(()=>{I()},3e3);return()=>{C=!1,window.clearInterval(F)}},[e,a]),l.useEffect(()=>{if(!a)return;let C=!0;const I=async()=>{try{const T=await Xe(e,"/v1/ponder/work");C&&j(T.items)}catch(T){C&&x(Vt(T))}};I();const F=window.setInterval(()=>{I()},3e3);return()=>{C=!1,window.clearInterval(F)}},[e,a]),l.useEffect(()=>{if(!a||t!=="activity")return;N.current=null,S([]);let C=!0,I=!1;const F=async()=>{if(!I){I=!0;try{let B;do{const O=N.current,Q=await Xe(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/activity${O?`?after=${encodeURIComponent(O)}`:""}`);if(!C)return;Q.items.length>0&&(S(xe=>[...xe,...Q.items]),N.current=Q.nextCursor),B=Q.hasMore&&Q.items.length>0}while(B)}catch(B){C&&x(Vt(B))}finally{I=!1}}};F();const T=window.setInterval(()=>{F()},3e3);return()=>{C=!1,window.clearInterval(T)}},[e,a,t]);async function ee(C){const I=C.contentsBase64?Uint8Array.from(atob(C.contentsBase64),Q=>Q.charCodeAt(0)):C.text!==void 0?new TextEncoder().encode(C.text):null;if(!I)throw new Error(`Attachment ${C.name} has no content to upload.`);const F=await crypto.subtle.digest("SHA-256",I),T=btoa(String.fromCharCode(...new Uint8Array(F))),B=await Xe(e,"/v1/ponder/work-inputs",{method:"POST",body:JSON.stringify({name:C.name,contentType:C.mediaType,sizeBytes:I.byteLength,sha256Base64:T})}),O=await fetch(B.upload.url,{method:B.upload.method,headers:B.upload.headers,body:new Blob([I],{type:C.mediaType})});if(!O.ok)throw new Error(`Attachment upload failed (${O.status})`);return Xe(e,`/v1/ponder/work-inputs/${encodeURIComponent(B.input.id)}/finalize`,{method:"POST",body:"{}"})}async function de(C=[],I){const F=(I?.promptOverride??u).trim();if(!a||!F||he.current)return!1;const T=q.current,B=()=>Se.current&&q.current.connection===T.connection&&q.current.bindingId===T.bindingId&&q.current.destination===T.destination;he.current=!0,m(!0);try{if(A){if(H)throw new Error("Review the latest task state before sending this proposed message.");if(C.length)throw new Error("Send task messages as text. Attachments can be sent in the task's own conversation.");const Q=await y.action(A,"send",F);return B()?(Q&&q.current.draft===T.draft&&pe(),Q):!1}const O=await Promise.all(C.map(ee));return!B()||(await Xe(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/turns`,{method:"POST",headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:F,attachments:O})}),!B())?!1:(q.current.draft===T.draft&&f(""),x(null),!0)}catch(O){return B()&&x(Vt(O)),!1}finally{he.current=!1,m(!1)}}async function ge(C,I){if(C.wait)try{await Xe(e,`/v1/ponder/turns/${encodeURIComponent(C.id)}/waits/${encodeURIComponent(C.wait.id)}/resolve`,{method:"POST",body:JSON.stringify(I)}),v("")}catch(F){x(Vt(F))}}async function fe(C){try{await Xe(e,`/v1/ponder/turns/${encodeURIComponent(C.id)}/cancel`,{method:"POST",body:"{}"})}catch(I){x(Vt(I))}}async function V(C){const I=window.open("about:blank","_blank");try{const F=await Xe(e,`/v1/ponder/work-outputs/${encodeURIComponent(C)}`);if(!F.downloadURL)throw new Error("This output is not available for download.");I?I.location.replace(F.downloadURL):window.location.assign(F.downloadURL)}catch(F){I?.close(),x(Vt(F))}}const z=!!(c?.activeTurn&&["queued","running","retry_scheduled"].includes(c.activeTurn.status)),_=mp(c),te=t==="activity"&&E.length>0?{id:"ponder-activity",role:"activity_group",timestamp:new Date().toISOString(),activities:E.map(C=>({id:C.id,label:C.type,content:C.text??"",timestamp:new Date().toISOString()}))}:null;return n.jsxs("div",{className:"chat-column","aria-label":"Ponder Pal",children:[n.jsxs("section",{className:"chat-thread","aria-label":"Conversation",children:[M.length>0&&n.jsx("section",{className:"ponder-linked-work","aria-label":"Ponder Pal Work tasks",children:M.map(C=>n.jsxs("button",{type:"button",onClick:()=>r(C.conversationId),children:[n.jsx("span",{children:C.title}),n.jsx("small",{children:C.status.replaceAll("_"," ")})]},C.conversationId))}),_.map(C=>n.jsx(Jr,{message:C,connection:e},C.id)),n.jsx(dp,{items:y.items,busy:y.busy,editingId:A?.id??null,onEdit:ke,onSend:C=>{ue(C,"send")},onDismiss:C=>{ue(C,"dismiss")},onOpen:r}),y.error?n.jsx("p",{role:"alert",children:y.error}):null,te&&n.jsx(Jr,{message:te,connection:e}),z&&n.jsx(cp,{}),c?.activeTurn?.wait&&n.jsxs("section",{className:"ponder-desktop-attention",children:[n.jsx("strong",{children:c.activeTurn.wait.title}),c.activeTurn.wait.kind==="approval"?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",onClick:()=>{ge(c.activeTurn,{decision:"accepted"})},children:"Approve"}),n.jsx("button",{type:"button",onClick:()=>{ge(c.activeTurn,{decision:"declined"})},children:"Decline"})]}):c.activeTurn.wait.options.length>0?c.activeTurn.wait.options.map(C=>n.jsx("button",{type:"button",onClick:()=>{ge(c.activeTurn,{value:C})},children:C},C)):n.jsxs("form",{onSubmit:C=>{C.preventDefault(),ge(c.activeTurn,{value:p})},children:[n.jsx("input",{"aria-label":"Response to Ponder Pal",value:p,onChange:C=>v(C.target.value)}),n.jsx("button",{type:"submit",disabled:!p.trim(),children:"Send response"})]})]}),c?.activeTurn?.outputs?.map(C=>C.downloadURL?n.jsx("a",{href:C.downloadURL,target:"_blank",rel:"noreferrer",children:C.name},C.id):n.jsx("button",{type:"button",onClick:()=>{V(C.id)},children:C.name},C.id)),g&&n.jsx(Jr,{message:{id:"ponder-error",role:"error",content:g,timestamp:new Date().toISOString()},connection:e})]}),n.jsxs("div",{className:"composer-stack dock",children:[A?n.jsxs("div",{className:"ponder-message-destination",role:"status",children:[n.jsxs("span",{children:["Message to ",A.target.title,H?" — review the latest task state before sending":""]}),n.jsx("button",{type:"button",onClick:pe,children:"Return to Ponder chat"})]}):null,n.jsx(co,{...s,experience:"chat",mode:"dock",showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:u,onPromptChange:f,busy:h||H||!!y.busy||!a,running:z&&!A,submissionScopeKey:`ponder:${a?.conversationId??"loading"}:${A?.id??"chat"}`,voiceInputChannelKey:`ponder:${a?.conversationId??"loading"}`,onSubmit:(C,I,F,T)=>de(C,T?.promptOverride?{promptOverride:T.promptOverride}:void 0),onStop:()=>c?.activeTurn?fe(c.activeTurn):void 0})]})]})}function pp({accountBaseUrl:e,onOpenBrowserLink:t,...s}){function r(a){if(!e){s.composer.showToast("OpenPond account URL is unavailable for this Work task.","error");return}try{const i=new URL(`/tasks/${encodeURIComponent(a)}`,e);t(i.toString(),{newTab:!0})}catch{s.composer.showToast("OpenPond account URL is invalid for this Work task.","error")}}return n.jsx(hp,{...s,onOpenWork:r})}function gp(e){return JSON.stringify({account:e?.account.activeProfile??null,baseUrl:e?.account.baseUrl??null,owner:e?.account.profile?.id??null,state:e?.account.state??null,teamId:e?.preferences.defaultTeamId??null})}const xp=l.lazy(()=>ye(()=>import("./WorkspaceDiffPanel-CiFsZjMm.js").then(e=>e.a),__vite__mapDeps([7,1,2,5,3,4,8,9,10,11,12,13])).then(e=>({default:e.WorkspaceDiffPanel}))),bp=l.lazy(()=>ye(()=>import("./AppTerminalPanel-Be-E4qZF.js"),__vite__mapDeps([14,1,2])).then(e=>({default:e.AppTerminalPanel}))),vp=l.lazy(()=>ye(()=>import("./RightSidebarHomePanel-C6NXMYuy.js"),__vite__mapDeps([15,1,2,3,4,13,9,11])).then(e=>({default:e.RightSidebarHomePanel}))),jp=l.lazy(()=>ye(()=>import("./WorkSidebarPanel-zsJrGaaL.js"),__vite__mapDeps([16,1,2,3,4,5,9,11,17,18,19,6,20])).then(e=>({default:e.WorkSidebarPanel}))),yp=l.lazy(()=>ye(()=>import("./NewExperienceSwitcher-CelgG7Ua.js"),__vite__mapDeps([21,1,2,3,4])).then(e=>({default:e.NewExperienceSwitcher}))),kp=l.lazy(()=>ye(()=>import("./CollaborationTabs-BiDPHgXG.js"),__vite__mapDeps([22,1,2,3,4,23])).then(e=>({default:e.CollaborationTabs}))),Cp=l.lazy(()=>ye(()=>import("./AppsView-BdyPNSpT.js"),__vite__mapDeps([24,1,2,3,4,25,12,5,26,17,18,19,9,6,27])).then(e=>({default:e.AppsView}))),wp=l.lazy(()=>ye(()=>import("./GetStartedView-CPYs0fYN.js"),__vite__mapDeps([28,1,2,6,3,4,29,5,30])).then(e=>({default:e.GetStartedView}))),Sp=l.lazy(()=>ye(()=>import("./LabsRoute-8cKFNq19.js").then(e=>e.t),__vite__mapDeps([31,1,2,3,4,32,29,17,8,10,0,5,6,33,34])).then(e=>({default:e.LabsRoute}))),Mp=l.lazy(()=>ye(()=>import("./ScheduledWorkPage-DCb6d7Lg.js"),__vite__mapDeps([35,1,2,3,4,36,5,6,12,11,17,18,19,9])).then(e=>({default:e.ScheduledWorkPage}))),Np=l.lazy(()=>ye(()=>import("./OutputsPage-ByvsTUW-.js"),__vite__mapDeps([37,1,2,3,4,5,9,17,18,19,6])).then(e=>({default:e.OutputsPage}))),Ap=l.lazy(()=>ye(()=>import("./ProjectsPage-Cl2zFh8X.js"),__vite__mapDeps([38,1,2,3,4,17,39])).then(e=>({default:e.ProjectsPage}))),gi=l.lazy(()=>ye(()=>import("./LabSkillSidebar-BUlU1Ti-.js"),__vite__mapDeps([40,1,2,3,4,5,11,17,18,19,9,6,41])).then(e=>({default:e.LabSkillSidebar}))),Rp=l.lazy(()=>ye(()=>import("./BrowserSidebar-CcQxU0uO.js"),__vite__mapDeps([42,1,2,3,4,5,19,43])).then(e=>({default:e.BrowserSidebar}))),Ep=l.lazy(()=>ye(()=>import("./RightChatPanelStack-MnGscF87.js"),__vite__mapDeps([44,1,2,9,3,4,45,5,17,18,19,6])).then(e=>({default:e.RightChatPanelStack}))),$p=l.lazy(()=>ye(()=>import("./NativeSkillSidebar-B9bVb00x.js"),__vite__mapDeps([46,1,2,3,4,11,47])).then(e=>({default:e.NativeSkillSidebar}))),Tp=l.lazy(()=>ye(()=>import("./TeamChatView-DW_v2B9E.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamChatView}))),Ip=l.lazy(()=>ye(()=>import("./TeamChatView-DW_v2B9E.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamChatProView}))),_p=l.lazy(()=>ye(()=>import("./CommunityView-D1aOQKfS.js"),__vite__mapDeps([51,1,2,52,3,4,5,17,18,19,9,6,53])).then(e=>({default:e.CommunityView}))),Pp=l.lazy(()=>ye(()=>import("./TeamChatView-DW_v2B9E.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamAiThreadPanel}))),Lp=l.lazy(()=>ye(()=>import("./TeamChatView-DW_v2B9E.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamAgentConversationPanel}))),Op=l.lazy(()=>ye(()=>import("./TrainingDraftPanel-DorY6I29.js"),__vite__mapDeps([54,1,2,3,4,11,34])).then(e=>({default:e.TrainingDraftPanel}))),zp=l.lazy(()=>ye(()=>import("./MainChatThread-C5GwaIl_.js"),__vite__mapDeps([55,1,2,45,3,4,32,5,17,18,19,9,6])).then(e=>({default:e.MainChatThread}))),Fp=l.lazy(()=>ye(()=>import("./TrainingCreationPanel-GSIwP6f1.js"),__vite__mapDeps([56,1,2,3,4,34])).then(e=>({default:e.TrainingCreationPanel})));function Dp({ponderMode:e=null,onPonderModeChange:t,experience:s,onNewExperienceChange:r,view:a,teamChat:i,community:c,bootstrap:o,runtimeEvents:u,chatMessages:f,pendingUserMessage:p,contextWindowStatus:v,goalRuntime:h,subagentRuntime:m,selectedSessionId:g,composerDraftStore:x,mainComposerFocusRequestId:E,labCloseDetailRequestId:S,labCloseDetailKind:M,sideChatTrainingLaunchRequest:j,onSideChatTrainingLaunchHandled:N,mentionApps:y,connectedAppMentions:A,profileSkills:R,selectedMentionAppId:U,busy:H,turnRunning:K,activeProvider:q,activeModel:he,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,pendingApproval:ue,activeWorkspaceAppId:ee,activeWorkspaceId:de,activeWorkspaceKind:ge,projectTarget:fe,actionCatalog:V,workspaceTarget:z,connection:_,workspaceName:te,workspaceState:C,workspaceDiff:I,workspaceBusy:F,diffBusy:T,forceChatThread:B=!1,diffPanelOpen:O,diffPanelExpanded:Q,rightPanelMode:xe,rightPanelTabRequest:ht,rightChatPanels:me,runtimeEventStore:le,nativeSkillSidebar:pt,extensionSkillSidebar:re,workspaceDiffPanelViewState:et,sidebarFileOpenRequest:ot,sidebarFileBookmarks:qe,onSetSidebarFileStatus:He,browserConversationId:Te,terminalScope:Lt,terminalTabs:w,terminalCwd:$,pendingTerminalCommand:ie,terminalOpen:G,onToggleTerminal:Me,onWorkspaceDiffPanelViewStateChange:$e,training:Y,trainingSessions:tt,trainingChatHandoff:Ne,trainingDetailTasksetId:Ot,onTrainingDetailTasksetIdChange:zt,onTrainingChatTaskSelect:gt,onTrainingChatHandoffDismiss:nt,onOpenSession:st,onExperienceHandoff:pn,cloudProjects:Ns,projects:Xn,projectsAccountBaseUrl:gn,projectsTeamName:be,projectTaskCounts:ze,onNewCloudProject:As,onNewLocalProject:Rs,onNewProjectTask:xn,onToggleProjectPinned:Es,onUploadLocalProject:bn,chatHistoryHasMore:$s=!1,chatHistoryLoading:vn=!1,onDiffPanelResizeStart:Be,canSyncWorkspace:Qt,startMessage:Ts,onPayload:Ve,onError:jn,setView:Ue,onOpenProfileSettings:Is,onOpenProviderSettings:Je,onOpenTrainingSettings:Mr,onOpenDatasetStorageSettings:Jn,changeDraftProvider:Ie,changeProjectTarget:xt,changeWorkspaceTarget:yn,setDraftProvider:_s,setDraftModel:lt,onBeginNewChatWithModel:wt,changeCodexPermissionMode:St,changeCodexReasoningEffort:ct,changeOpenPondCommandAccessMode:bt,resolveApproval:We,answerCreateImproveQuestion:Yn,approveCreateImproveRun:vt,applyCreateImproveCandidate:Zn,cancelCreateImproveRun:kn,openCreateImprovePullRequest:es,pauseCreateImproveRun:Cn,reconcileCreateImprovePullRequest:wn,rejectCreateImproveCandidate:ts,resumeCreateImproveRun:Xt,reviseCreateImproveRun:Sn,setMentionedAppId:jt,showToast:ne,onSaveTaskDraft:Ps,sendPrompt:Ft,stopTurn:Mn,syncWorkspaceLocally:Ls,refreshWorkspaceDiff:Nn,onToggleDiffPanelExpanded:we,onShowDiffPanel:Fe,onShowBrowserPanel:Jt,onShowTrainingDraftPanel:Os,onShowFilesPanel:ut,onShowRightChatPanel:Nr,onAddRightChat:An,onOpenRightChatForSession:zs,onLabDetailOpenChange:Ar,evaluationSidebarActive:Yt,onEvaluationSidebarControl:Rr,scheduledDetailOpen:Rn,onScheduledDetailOpenChange:Fs,onTerminalTabsChange:Er,onCloseRightChatPanel:Ds,onCloseNativeSkillSidebar:Bs,onActivateRightChatPanel:Ae,onRightChatModelChange:Mt,onRightChatPromptChange:rt,onRightChatScrollStateChange:Re,onRightChatProviderChange:Zt,onSubmitRightChat:Us,onStopRightChat:$r,onCloseTerminal:en,onLoadMoreChatHistory:qs}){const[Hs]=l.useState(()=>new Cu),De=g&&!Ra(g)?g:null,Vs=Nu(le,De),Nt=l.useMemo(()=>De?Jl(u,Vs.events):u,[De,Vs.events,u]),At=l.useMemo(()=>De?Yl(Hs.project(Nt),p):f,[Hs,De,p,Nt,f]),[Ws,tn]=l.useState(null),[Gs,En]=l.useState(0),Ks=l.useRef(""),Ee=l.useCallback(()=>Ks.current,[]),[$n,at]=l.useState(null),[ns,Tn]=l.useState(null),[Ge,Dt]=l.useState(null),[it,Bt]=l.useState(null),[oe,In]=l.useState(null),[ss,Qs]=l.useState(null),[rs,Xs]=l.useState(null),[Ye,as]=l.useState([]);l.useEffect(()=>{at(null)},[Te]);const _n=l.useMemo(()=>o?.sessions.find(k=>k.id===g)??null,[o?.sessions,g]),nn=_n?.currentProfile??o?.profileLibrary?.lastUsed??null,Ut=gp(o),sn=Zl(o?.profileLibrary??{profiles:[]},nn)??o?.profile??null,Pn=l.useMemo(()=>ec(sn,o?.extensionCatalog),[o?.extensionCatalog,sn]),rn=l.useMemo(()=>tc(sn),[sn]),an=l.useCallback(async(k,D=g)=>{if(!_||!o)return;const se=nc(o.profileLibrary??{profiles:[]},k);if(se)try{const ce=D&&!Ra(D)?o.sessions.find(W=>W.id===D)??null:null,X=await om({ref:se,session:ce,selectProfile:W=>Le.profileSelect(_,W),patchSession:(W,Qe)=>Le.patchSession(_,W,{currentProfile:Qe})});let je=o.sessions;X.session&&(je=je.map(W=>W.id===X.session.id?X.session:W)),Ve({...o,profile:X.selected.profile,profileLibrary:X.selected.library,sessions:je})}catch(ce){const X=ce instanceof Error?ce.message:String(ce);jn(X),ne(X,"error")}},[o,_,jn,Ve,g,ne]);l.useEffect(()=>{if(!sc(ot,Te))return;const{file:k,id:D}=ot;if(at({id:D,path:k.path}),!_)return;let se=!1;return(k.workspaceKind==="local"?Le.workspaceFile(_,k.workspaceId,k.path).then(X=>X.content??""):Le.sandboxDownloadFile(_,k.workspaceId,k.path).then(X=>{if(X.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return X.contents})).then(X=>{if(se)return;const je=k.path.split("/").at(-1)??k.path;tn({id:D,file:new File([X],je,{type:Bp(k)})})}).catch(X=>{se||ne(X instanceof Error?X.message:String(X),"error")}),()=>{se=!0}},[Te,_,ne,ot]);const dt=s==="development"||s==="work"&&fe.value!=="none",is=l.useMemo(()=>{if(s==="chat")return rn;if(!dt)return[];const k=new Map(V.filter(D=>!rc(D)).map(D=>[D.id,D]));for(const D of rn)k.set(D.id,D);for(const D of Ye)k.set(D.id,D);return[...k.values()]},[V,s,dt,Ye,rn]),Ce=cm(_),Tr=l.useCallback(k=>{if(!k){Ce.activate(null);return}Ce.activate({runId:k.run.id,candidateId:k.candidate.id,title:k.run.objective,fileRootPath:k.fileRootPath,initialPath:k.initialPath})},[Ce.activate]),Ir=l.useCallback(()=>{Ce.selection?.initialPath&&Ce.openFile(Ce.selection.initialPath),Fe()},[Ce.openFile,Ce.selection?.initialPath,Fe]),os=l.useCallback(k=>{Dt(k),k&&Fe()},[Fe]),Ln=l.useCallback(()=>{Dt(null),Q&&we()},[Q,we]);l.useEffect(()=>{a!=="labs"&&Dt(null)},[a]);const _r=l.useCallback((k,D)=>{const se=Date.now(),ce=V.find(je=>je.id===k)??null;x.set(""),jt(null),Ue("chat");const X=je=>{if(!(je.find(ae=>ae.id===k)??null))return!1;const Qe=je.map(ae=>ae.id===k?{...ae,label:D}:ae);return as(Qe),window.requestAnimationFrame(()=>{Xs({actionId:k,requestId:Math.max(Date.now(),se+1)})}),!0};if(!_){ce?X([ce]):ne("The Agent action catalog is still loading. Try Use again.","error");return}Le.profileCurrent(_).then(je=>{const W=je.actionCatalog.map(Qe=>ac(Qe));!X(W)&&ce?X([ce]):W.some(Qe=>Qe.id===k)||ne("This Agent is ready, but its default chat action is unavailable.","error")}).catch(je=>{ce||ne(je instanceof Error?je.message:String(je),"error")})},[V,x,_,jt,Ue,ne]),Pr=l.useCallback((k,D)=>{x.set(k),jt(null),D&&Ie(D),Ue("chat")},[Ie,x,jt,Ue]),Rt=l.useMemo(()=>ic(o?.preferences),[o?.preferences]),Lr=Rt.training,{createAgentFromLab:Et,improveAgentFromLab:Or}=dm({activeModel:he,activeProvider:q,bootstrap:o,codexPermissionMode:Se,codexReasoningEffort:pe,connection:_,onOpenRightChatForSession:zs,onPayload:Ve}),yt=l.useMemo(()=>{const k=Y.payload?.tasksets??[];return k.some(D=>D.id===oe)?oe:k[0]?.id??null},[oe,Y.payload?.tasksets]),zr=a==="labs"&&yt?`profiles/${o?.profile.activeProfile??"default"}/tasksets/${yt}`:null,Fr=l.useMemo(()=>{if(a!=="labs"||!yt||!Y.payload)return null;const k=Y.payload.tasksets.find(ae=>ae.id===yt);if(!k)return null;const D=Y.payload.plans.filter(ae=>ae.tasksetId===k.id),se=new Set(D.map(ae=>ae.id)),ce=Y.payload.jobs.filter(ae=>se.has(ae.planId)).sort((ae,ps)=>ps.createdAt.localeCompare(ae.createdAt)),X=ce.find(ae=>ae.id===ss)??ce[0]??null,je=X?D.find(ae=>ae.id===X.planId)??null:D.sort((ae,ps)=>ps.createdAt.localeCompare(ae.createdAt))[0]??null,W=X?Y.payload.models.find(ae=>ae.jobId===X.id)??null:null,Qe=X?Y.payload.artifacts.filter(ae=>ae.jobId===X.id):[];return{taskset:k,plan:je,job:X,lineage:W,artifacts:Qe}},[yt,ss,Y.payload,a]),qt=l.useMemo(()=>lm(Y.payload,g),[g,Y.payload]),On=l.useMemo(()=>vm(At),[At]),zn=!!h||!!On||!!m,_e=a==="labs"&&!!Ce.selection,on=a==="labs"&&O&&xe==="changes"&&!!Ge,Dr=(a==="chat"||a==="labs")&&!!ee,Js=a==="chat"&&O&&xe==="chat"&&me.length===0,ls=oc(ge)?de??ym(te):null,Br=a==="chat"&&!!ls,kt=ls,cs=!!kt||z.value==="cloud"||z.value==="hybrid",Fn=l.useMemo(()=>sm({workspaceTarget:z.value,localWorkspaceId:ee,sandboxSourceAvailable:cs,sandboxWorkspaceId:kt,override:ns}),[ee,cs,kt,ns,z.value]),ln=Fn.source,Pe=ln==="sandbox",Ys=l.useMemo(()=>ln&&Fn.options.length>1?{value:ln,options:Fn.options,onChange:Tn}:null,[ln,Fn.options]);l.useEffect(()=>{Tn(null)},[ee,Te,kt,z.value]);const Dn=!on&&(_e||Dr||Br)&&O&&(xe==="changes"||xe==="goal"&&zn||Js),us=a==="chat"&&O&&xe==="browser",Ke=(a==="chat"||a==="labs")&&O&&xe==="chat"&&me.length>0,ds=a==="chat"&&O&&xe==="training",Bn=a==="chat"&&O&&!!pt,fs=a==="chat"&&O&&!!re,cn=a==="team"&&O&&xe==="chat"&&!!i.aiThread,ms=a==="team"&&O&&xe==="chat"&&!!i.agentConversation,hs=s==="work"&&a==="chat"&&O&&xe==="home",Zs=go({supportedView:a==="chat"&&dt||a==="labs",open:O,hasContentPanel:Dn||on||us||Ke||ds||Bn||cn||ms||hs}),Ht=!Yt&&(Dn||on||us||Ke||ds||Bn||cn||ms||hs||Zs),un=Ht&&xe!=="chat"&&Q,er=o?.account.baseUrl??o?.account.activeProfile?.baseUrl??null,Un=pm({activeWorkspaceId:de,cloudProjects:Ns}),tr=a==="chat"&&K&&!ue&&nm(At),d=B||At.length>0||tr,b=g??`draft:${a}:${ge??"none"}:${de??ee??"none"}`;Ks.current=b;const P=n.jsx(wm,{activeModel:he,activeProvider:q,busy:K,handoff:Ne,onDismiss:nt,onSelectTask:gt}),L=l.useMemo(()=>({onAnswerQuestion:Yn,onApprove:vt,onApplyCandidate:Zn,onCancel:kn,onOpenPullRequest:es,onPause:Cn,onReconcilePullRequest:wn,onRejectCandidate:ts,onResume:Xt,onRevise:Sn}),[Yn,vt,Zn,kn,es,Cn,wn,ts,Xt,Sn]),J=l.useMemo(()=>On?{...On,...L}:null,[L,On]),Z=Nm(a,d),ve=l.useCallback(async(k=[],D=null,se=null,ce={})=>{const X=ce.promptOverride??x.getSnapshot(),je=()=>{ce.preservePrompt||(x.set(""),jt(null))};if(!D){const W=se?{command:se.id,args:X.trim()}:Ai(X);if(W){if(!lc({id:W.command},s))return ne(`/${W.command} isn't available in ${s}.`,"info"),!1;if(W.command==="train")return k.length>0?(ne("/train uses the selected chat; add other chats from Models.","error"),!1):g?(je(),Bt({id:Date.now(),objective:W.args.trim()||null,initialSessionIds:[g]}),Ue("labs"),!0):(je(),Bt({id:Date.now(),objective:W.args.trim()||null,initialSessionIds:[]}),Ue("labs"),!0);if(!W.args&&W.command!=="skill"&&W.command!=="sync-cloud")return ne(`Add instructions after /${W.command}.`,"info"),!1;if(k.length>0)return ne(`/${W.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(W.command==="submit-issue")return cc(A)?(En(ae=>ae+1),Ft([],null,uc(W.args),{clearPrompt:ce.preservePrompt?()=>{}:void 0,usageAttribution:Xr(W,se?"composer_selection":"prompt_parse")})):(ne("Connect the GitHub app before using /submit-issue.","error"),!1);if(jm(W)){const ae=W.command==="skill"?am(W.args,q,o?.profile.sourcePath??null):ai(W);return En(ps=>ps+1),Ft([],null,ae,{clearPrompt:ce.preservePrompt?()=>{}:void 0,usageAttribution:Xr(W,se?"composer_selection":"prompt_parse")})}return En(ae=>ae+1),Ft([],null,ai(W),{clearPrompt:ce.preservePrompt?()=>{}:void 0,usageAttribution:Xr(W,se?"composer_selection":"prompt_parse")})}}return En(W=>W+1),Ft(k,D,ce.promptOverride,{clearPrompt:ce.preservePrompt?()=>{}:void 0,displayPrompt:ce.displayPrompt,turnMetadata:ce.turnMetadata})},[he,q,ge,o?.profile,A,x,s,Ft,g,jt,Ue,ne,Y,a]),ft=l.useCallback(k=>{Ne&&k!==Ne.model.modelId&&nt(),_s(q),lt(k)},[q,nt,lt,_s,Ne]),$t=l.useCallback(k=>{Ne&&k!==Ne.model.providerId&&nt(),Ie(k)},[Ie,nt,Ne]),{chatColumnStyle:dn,chatThreadPreparingInitialScroll:Ct,chatThreadRef:fn,chatTimelineRows:Ze,composerStackRef:Ro,goToUserMessage:va,handleChatScroll:Eo,jumpToLatestChatMessage:$o,showScrollToBottomButton:To,userMessageNavigation:nr}=Rm({browserConversationId:Te,chatSubmissionVersion:Gs,chatHistoryHasMore:$s,chatHistoryLoading:vn,chatMessages:At,onLoadMoreChatHistory:qs,pendingApproval:ue,showChatThread:d,showThinkingIndicator:tr,view:a}),qn=l.useCallback((k,D)=>{dc({conversationId:Te,href:k,explicitFile:D?.explicitFile,newTab:D?.newTab}).then(se=>{se&&window.openpond?.browser&&Jt()}).catch(se=>ne(se instanceof Error?se.message:"Could not open browser.","error"))},[Te,Jt,ne]),ja=Jo({projectTargetDetail:fe.detail,projectTargetValue:fe.value,workspaceRepoPath:C?.repoPath,workspaceTargetValue:z.value}),ya=em({connection:_,handleOpenBrowserLink:qn,activeWorkspaceAppId:ee,rightSidebarUsesSandbox:Pe,rightSidebarSandboxId:kt,onShowDiffPanel:Fe,showToast:ne,workspaceRootPath:ja,setOpenDiffFileRequest:at}),ka=l.useCallback(async k=>{if(!_||!k.filePreview&&!k.imagePreview){ne("File content is not available for this attachment.","error");return}try{const D=k.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",ce=`Attachments/${k.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${D}`,X={path:ce,status:"",additions:0,deletions:0,patch:"",content:null};let je,W;if(k.filePreview){const Qe=await Le.chatAttachmentFile(_,k.filePreview);X.content=Qe.content,Yr(D)&&(W=await Yo(_,D,Qe.content))}else k.imagePreview&&(je=(await Le.signChatAttachmentImageUrl(_,k.imagePreview)).url);W?qn(W):Fe(),at({id:Date.now(),path:ce,source:!!W,file:X,...je?{imageUrl:je}:{}})}catch(D){ne(D instanceof Error?D.message:"Could not open this attachment.","error")}},[_,qn,Fe,ne]),Io=F&&!!ee&&!C,Ca=Ce.selection?`candidate:${Ce.selection.runId}:${Ce.selection.candidateId}`:null,_o=Dn?n.jsx(xp,{appId:_e?Ca:Pe?null:ee,workspaceId:_e?Ca:Pe?kt:ee,workspaceKind:_e?"local_project":Pe?null:"local_project",connection:_,runtimeEvents:Nt,diff:_e?Ce.diff:Pe?null:I,fileRootPath:_e?Ce.selection?.fileRootPath??null:Pe?null:zr,filesWithPreview:_e,editorPreferences:o?.preferences.editor??null,loading:_e?Ce.loading:Pe?F:T||Io,openFileRequest:_e?Ce.openFileRequest:$n,sidebarFileBookmarks:qe,sidebarFileSourceSessionId:g,onSetSidebarFileStatus:He,readOnly:_e,sideChatTabs:me.map(k=>({id:k.id,title:k.title,running:k.running})),sourceSwitcher:_e?null:Ys,tabRequest:ht,viewState:et,workspaceName:_e?Ce.selection?.title??"Change":Pe?te??"Sandbox":te,workspaceInitialized:_e?!0:Pe?!!kt:!!C?.initialized,workspaceError:_e?Ce.error:Pe?null:C?.error??I?.error??null,expanded:Q,onResizeStart:Be,onRefresh:k=>{_e?Ce.refresh(k):Nn(k)},onToggleExpanded:we,onOpenBrowser:Jt,onOpenBrowserUrl:qn,onViewStateChange:$e,onCloseSideChat:Ds,onOpenSideChat:a==="chat"?An:void 0,onSelectSideChat:k=>{Ae(k),Nr()},goalDetails:{active:xe==="goal",createRuntime:J,goalRuntime:h,subagentRuntime:m},sandboxFileSource:Pe?{sandboxId:kt,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:Fr}):null,Po=us?n.jsx(Rp,{conversationId:Te,expanded:Q,onResizeStart:Be}):null,Lo=cn?l.createElement(Pp,{...i,key:i.aiThread?.conversationId,onResizeStart:Be}):null,Oo=ms?l.createElement(Lp,{...i,key:i.agentConversation?.run.id,onResizeStart:Be}):null,zo=Ke?n.jsx(Ep,{panels:me,runtimeEventStore:le,actionCatalog:is,createImproveActions:L,contextCompaction:Rt.contextCompaction,steerActiveResponses:Rt.steerActiveResponses,busy:H,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,connection:_,connectedAppMentions:A,mentionApps:y,codexPersonalSkills:o?.codexPersonalSkills??[],profileSkills:R,profileLibrary:o?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:o?.extensionCatalog??null,projectTarget:fe,providerSettings:o?.providers??null,accountBaseUrl:er,billingOrganizationSlug:Un.organizationSlug,billingTeamId:Un.teamId,showToast:ne,workspaceTarget:z,onAddChat:An,onActivatePanel:Ae,onClosePanel:Ds,onCodexPermissionModeChange:St,onCodexReasoningEffortChange:ct,onOpenPondCommandAccessModeChange:bt,onModelChange:Mt,onOpenAttachmentInSidebar:ka,onOpenFileInSidebar:ya,onOpenProfileSettings:Is,onOpenSession:st,onProviderChange:Zt,onProviderSetupOpen:Je,onPromptChange:rt,onProfileTargetChange:(k,D)=>{an(D,k)},onScrollStateChange:Re,onProjectTargetChange:xt,onResolveApproval:We,onResizeStart:Be,onSelectFiles:ut,onShowBrowserPanel:Jt,onStop:$r,onSubmit:Us,onWorkspaceTargetChange:k=>{yn(k)}}):null,Fo=Zs?n.jsx(vp,{expanded:Q,terminalOpen:G,sideChatAvailable:a==="chat"||a==="labs",onOpenBrowser:Jt,onOpenFiles:ut,onOpenReview:Fe,onOpenSideChat:An,onOpenTrainingDraft:Os,trainingDraftAvailable:!!g,onResizeStart:Be,onToggleExpanded:we,onToggleTerminal:Me}):null,Do=hs?n.jsx(jp,{chatMessages:At,connection:_,contextWindowStatus:v,expanded:Q,runtimeEvents:Nt,sessionId:g,showToast:ne,onResizeStart:Be,onToggleExpanded:we,onUseOutput:k=>tn({id:Date.now(),file:k}),onHandoffOutput:async(k,D,se)=>{await pn({target:k,sourceSessionId:g,output:D,prompt:fc(D,k)}),se&&tn({id:Date.now(),file:se})},onReviseOutput:(k,D,se)=>{tn({id:Date.now(),file:D}),x.set(`Create revision ${k.revision+1} of "${k.title}" from the attached revision ${k.revision}. Apply only this requested change:
|
|
17
|
+
`):e;return n.jsxs("div",{className:`user-message-content-wrap ${a?"collapsible":""}`,children:[n.jsx("div",{className:"user-message-content",children:i}),a?n.jsxs("button",{type:"button",className:"user-message-show-more","aria-expanded":s,onClick:()=>r(c=>!c),children:[s?n.jsx(Xo,{size:14}):n.jsx(Pt,{size:14}),n.jsx("span",{children:s?"Show less":"Show more"})]}):null]})}function Xh(e,t){return e.activeWorkspaceAppId===t.activeWorkspaceAppId&&e.animateInitialContent===t.animateInitialContent&&e.accountBaseUrl===t.accountBaseUrl&&e.billingOrganizationSlug===t.billingOrganizationSlug&&e.billingTeamId===t.billingTeamId&&e.connection===t.connection&&e.kvCacheSummary===t.kvCacheSummary&&e.onOpenBrowserLink===t.onOpenBrowserLink&&e.onOpenAttachmentInSidebar===t.onOpenAttachmentInSidebar&&e.onOpenFileInSidebar===t.onOpenFileInSidebar&&e.onOpenProfileSettings===t.onOpenProfileSettings&&e.onResolveUserQuestion===t.onResolveUserQuestion&&e.onOpenSession===t.onOpenSession&&e.showFooter===t.showFooter&&e.userAttachmentDisplay===t.userAttachmentDisplay&&e.workspaceRootPath===t.workspaceRootPath&&Jh(e.message,t.message)}function Jh(e,t){return e===t?!0:e.id===t.id&&e.role===t.role&&e.content===t.content&&e.timestamp===t.timestamp&&e.turnId===t.turnId&&e.statusKind===t.statusKind&&e.statusState===t.statusState&&e.statusTone===t.statusTone&&e.errorKind===t.errorKind&&rp(e.attachments,t.attachments)&&e.activities===t.activities&&e.sources===t.sources&&e.actionRun===t.actionRun&&e.changeSummary===t.changeSummary&&e.createImproveRun===t.createImproveRun&&e.userQuestion===t.userQuestion&&e.reasoningContent===t.reasoningContent&&e.taskMessage===t.taskMessage}function Yh({question:e,onResolve:t}){const[s,r]=l.useState(""),[a,i]=l.useState(!1),c=async o=>{if(!(!t||a||e.status!=="pending")){i(!0);try{await t(e,o)}finally{i(!1)}}};return n.jsxs("section",{className:`user-question-card ${e.status}`,"aria-label":"Question from OpenPond",children:[n.jsxs("header",{className:"user-question-header",children:[n.jsx("span",{className:"user-question-icon","aria-hidden":!0,children:n.jsx(Ql,{size:17})}),n.jsxs("span",{className:"user-question-heading",children:[n.jsx("span",{className:"user-question-eyebrow",children:"Question"}),n.jsx("strong",{children:e.question})]})]}),e.reason?n.jsx("p",{className:"user-question-reason",children:e.reason}):null,e.status==="pending"?n.jsxs(n.Fragment,{children:[e.options.length>0?n.jsx("div",{className:"user-question-options",children:e.options.map((o,u)=>n.jsxs("button",{disabled:a||!t,type:"button",onClick:()=>{c({questionId:e.id,action:"answer",optionId:o.id,text:o.label})},children:[n.jsx("span",{className:"user-question-option-index","aria-hidden":!0,children:u+1}),n.jsxs("span",{className:"user-question-option-copy",children:[n.jsx("span",{children:o.label}),o.description?n.jsx("small",{children:o.description}):null]})]},o.id))}):null,e.allowFreeform?n.jsxs("form",{className:"user-question-freeform",onSubmit:o=>{o.preventDefault();const u=s.trim();u&&c({questionId:e.id,action:"answer",optionId:null,text:u})},children:[n.jsx("label",{htmlFor:`question-answer-${e.id}`,children:"Or write your own answer"}),n.jsxs("span",{className:"user-question-freeform-controls",children:[n.jsx("input",{"aria-label":"Answer",disabled:a||!t,id:`question-answer-${e.id}`,onChange:o=>r(o.target.value),placeholder:"Type an answer",value:s}),n.jsx("button",{disabled:a||!t||!s.trim(),type:"submit",children:a?"Sending…":"Answer"})]})]}):null,n.jsx("button",{className:"user-question-dismiss",disabled:a||!t,type:"button",onClick:()=>{c({questionId:e.id,action:"dismiss",optionId:null,text:""})},children:"Skip for now"})]}):n.jsxs("span",{className:"user-question-resolution",children:[n.jsx(Ri,{"aria-hidden":!0,size:15}),n.jsx("small",{children:e.status==="answered"?`Answered${e.answer?.text?`: ${e.answer.text}`:""}`:"Skipped"})]})]})}function Zh({sources:e,onOpenBrowserLink:t}){return n.jsxs("div",{className:"assistant-sources","aria-label":"Sources",children:[n.jsxs("span",{className:"assistant-sources-label",children:[n.jsx(pa,{size:13}),n.jsx("span",{children:"Sources"})]}),n.jsx("div",{className:"assistant-source-stack",children:e.map(s=>n.jsx(ep,{source:s,onOpenBrowserLink:t},`${s.id}:${s.url}`))})]})}function ep({source:e,onOpenBrowserLink:t}){const s=np(e),r=[e.title,Ao(e.url)].filter(Boolean).join(" - "),a=n.jsxs(n.Fragment,{children:[n.jsx(tp,{source:e}),n.jsx("span",{children:s})]});return t?n.jsx("button",{type:"button",className:"assistant-source-pill",title:r||s,"aria-label":`Open source ${s}`,onClick:()=>t(e.url,{newTab:!0}),children:a}):n.jsx("a",{className:"assistant-source-pill",href:e.url,target:"_blank",rel:"noreferrer",title:r||s,"aria-label":`Open source ${s}`,children:a})}function tp({source:e}){const[t,s]=l.useState(!1);return!e.faviconUrl||t?n.jsx(pa,{className:"assistant-source-fallback-icon",size:13}):n.jsx("img",{alt:"","aria-hidden":"true",className:"assistant-source-favicon",decoding:"async",loading:"lazy",src:e.faviconUrl,onError:()=>s(!0)})}function np(e){return e.sourceName?.trim()||Ao(e.url)||e.title}function Ao(e){try{return new URL(e).hostname.replace(/^www\./i,"")}catch{return null}}function sp({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:s,onOpenBrowserLink:r}){const a=Kl({accountBaseUrl:e,organizationSlug:t,teamId:s}),i=n.jsxs(n.Fragment,{children:[n.jsx(Aa,{size:15}),n.jsx("span",{children:"Add credits"}),n.jsx(Xl,{size:13})]});return n.jsxs("div",{className:"assistant-message quota-error-card",role:"alert",children:[n.jsx("div",{className:"quota-error-card-icon",children:n.jsx(Aa,{size:17})}),n.jsxs("div",{className:"quota-error-card-body",children:[n.jsx("strong",{children:"OpenPond Chat allowance reached"}),n.jsx("p",{children:"You have reached your OpChat token allowance for this period. Add credits or wait for the allowance to reset."}),r?n.jsx("button",{type:"button",className:"quota-error-card-action",onClick:()=>r(a,{newTab:!0}),children:i}):n.jsx("a",{className:"quota-error-card-action",href:a,target:"_blank",rel:"noreferrer",children:i})]})]})}function rp(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let s=0;s<e.length;s+=1){const r=e[s],a=t[s];if(r.id!==a.id||r.kind!==a.kind||r.name!==a.name||r.mediaType!==a.mediaType||r.sizeBytes!==a.sizeBytes||r.lineCount!==a.lineCount||r.imagePreview?.sessionId!==a.imagePreview?.sessionId||r.imagePreview?.turnId!==a.imagePreview?.turnId||r.imagePreview?.attachmentId!==a.imagePreview?.attachmentId||r.imagePreview?.storageName!==a.imagePreview?.storageName||r.imagePreview?.contentType!==a.imagePreview?.contentType||r.filePreview?.sessionId!==a.filePreview?.sessionId||r.filePreview?.turnId!==a.filePreview?.turnId||r.filePreview?.attachmentId!==a.filePreview?.attachmentId||r.filePreview?.storageName!==a.filePreview?.storageName||r.filePreview?.contentType!==a.filePreview?.contentType)return!1}return!0}function ap({attachments:e,compact:t,connection:s,onOpenAttachment:r}){return n.jsx("div",{className:`user-message-attachments${t?" compact":""}`,"aria-label":"Attached files",children:e.map(a=>n.jsx(ip,{attachment:a,compact:t,connection:s,onOpenAttachment:r},a.id))})}function ip({attachment:e,compact:t,connection:s,onOpenAttachment:r}){return!t&&e.kind==="image"&&e.imagePreview?n.jsx(lp,{attachment:e,connection:s}):n.jsx(op,{attachment:e,onOpenAttachment:r})}function op({attachment:e,onOpenAttachment:t}){const[s,r]=l.useState(!1),a=!!((e.filePreview||e.imagePreview)&&t),i=s?"Opening":e.lineCount!==void 0?io(e.lineCount):null,c=n.jsxs(n.Fragment,{children:[n.jsx(oo,{attachment:e,size:13}),n.jsx("span",{children:e.name}),i?n.jsx("small",{children:i}):null]});return a?n.jsx("button",{"aria-label":`Open attached file ${e.name}`,className:"user-message-attachment openable",disabled:s,title:`Open ${e.name}`,type:"button",onClick:()=>{!t||s||(r(!0),t(e).finally(()=>r(!1)))},children:c}):n.jsx("span",{className:"user-message-attachment",title:e.name,children:c})}function lp({attachment:e,connection:t}){const s=Em(t,e.imagePreview);return n.jsxs("figure",{className:`user-message-image-attachment ${s?"ready":"loading"}`,title:e.name,children:[n.jsx("div",{className:"user-message-image-frame",children:s?n.jsx("img",{alt:e.name,decoding:"async",loading:"lazy",src:s}):n.jsx(kr,{size:24})}),n.jsx("figcaption",{children:n.jsx("span",{children:e.name})})]})}const cp=l.memo(function(){return n.jsx("article",{className:"activity-group thinking-row","aria-live":"polite",children:n.jsx(Sr,{running:!0,children:"Thinking…"})})});function up({message:e}){const t=e.statusTone??"info",s=e.statusState??"idle";return n.jsx("article",{className:`status-divider ${t} ${s}`,"aria-live":t==="danger"?"assertive":"polite",children:n.jsx("span",{children:e.content??""})})}function yr(e){return e.state==="proposed"&&["waiting_input","waiting_approval","cancelled"].includes(e.target.status)}function dp({items:e,busy:t,editingId:s,onEdit:r,onSend:a,onDismiss:i,onOpen:c}){return e.length?n.jsx("section",{className:"ponder-recommendations","aria-label":"Ponder recommendations",children:e.map(o=>n.jsxs("article",{className:"ponder-recommendation","data-state":o.state,children:[n.jsx("button",{type:"button",className:"ponder-recommendation-target",onClick:()=>c(o.target.conversationId),children:o.target.title}),n.jsx("p",{children:o.summary}),o.submittedText||o.proposedText?n.jsx("blockquote",{children:o.submittedText??o.proposedText}):null,n.jsxs("details",{children:[n.jsx("summary",{children:"Why Ponder suggested this"}),o.evidence.map(u=>n.jsx("p",{children:u.excerpt},u.id))]}),["proposed","failed","stale","submitting"].includes(o.state)?n.jsxs("div",{className:"ponder-recommendation-actions",children:[o.state==="proposed"&&o.proposedText?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",disabled:!!t,onClick:()=>r(o),children:s===o.id?"Editing below":"Edit"}),n.jsx("button",{type:"button",disabled:!!t||yr(o),onClick:()=>a(o),children:t===o.id?"Sending…":s===o.id?"Send edited message":"Send"})]}):null,(o.state==="failed"||o.state==="submitting")&&o.submittedText&&o.submissionRevision!==null?n.jsx("button",{type:"button",disabled:!!t,onClick:()=>a(o),children:t===o.id?"Retrying…":"Retry reviewed message"}):null,yr(o)?n.jsx("small",{role:"status",children:"Resolve this task's wait or cancellation before sending a new message."}):null,o.state!=="submitting"?n.jsx("button",{type:"button",disabled:!!t,onClick:()=>i(o),children:"Dismiss"}):n.jsx("small",{role:"status",children:"Awaiting task acknowledgment"}),o.state==="stale"?n.jsx("small",{role:"status",children:"Task changed — review its latest state"}):null]}):n.jsx("small",{role:"status",children:o.state==="submitted"?"Message submitted to the task":o.state==="stale"?"Task changed — review the latest task before sending":o.state.replaceAll("_"," ")}),o.error?n.jsx("p",{role:"alert",children:o.error}):null]},o.id))}):null}function fp(e,t){const[s,r]=l.useState([]),[a,i]=l.useState(null),[c,o]=l.useState(null),u=l.useRef({connection:e,bindingId:t});u.current={connection:e,bindingId:t};const f=l.useRef(!1),p=l.useRef(!0),v=l.useCallback(async m=>{if(!t)return;const g=await Xe(e,"/v1/ponder/recommendations",{signal:m});p.current&&!m?.aborted&&u.current.connection===e&&u.current.bindingId===t&&g.bindingId===t&&(r(g.items),i(null))},[e,t]);l.useEffect(()=>{if(p.current=!0,r([]),i(null),o(null),!t)return()=>{p.current=!1};const m=new AbortController;let g=!1;const x=async()=>{if(!g){g=!0;try{await v(m.signal)}catch(S){m.signal.aborted||i(S instanceof Error?S.message:"Unable to read recommendations.")}finally{g=!1}}};x();const E=window.setInterval(()=>{x()},5e3);return()=>{p.current=!1,m.abort(),window.clearInterval(E)}},[t,v]);const h=l.useCallback(async(m,g,x)=>{if(f.current||!t)return!1;if(g==="send"&&yr(m))return i("Resolve this task's wait or cancellation before sending a new message."),!1;const E=g==="send"&&(m.state==="submitting"||m.state==="failed");if(E&&(!m.submittedText||m.submissionRevision===null))return!1;const S=E?m.submissionRevision:m.revision,M=E?m.submittedText:x;f.current=!0,o(m.id);try{return await Xe(e,`/v1/ponder/recommendations/${encodeURIComponent(m.id)}/action`,{method:"POST",body:JSON.stringify({action:g,expectedRevision:S,...M===void 0?{}:{message:M}})}),!p.current||u.current.connection!==e||u.current.bindingId!==t?!1:(await v(),p.current&&u.current.connection===e&&u.current.bindingId===t)}catch(j){return u.current.connection===e&&u.current.bindingId===t&&i(j instanceof Error?j.message:"Recommendation action failed."),!1}finally{f.current=!1,u.current.connection===e&&u.current.bindingId===t&&o(null)}},[t,e,v]);return{items:s,error:a,busy:c,action:h,refresh:v}}function Vt(e){return e instanceof Ci&&(e.message==="public_api_route_not_found"||e.message==="product_route_not_found")?"Ponder Pal is available in this app, but the connected OpenPond service has not been updated yet.":e instanceof Error?e.message:String(e)}function mp(e){return(e?.messages??[]).filter(t=>(t.role==="user"||t.role==="assistant")&&t.source!=="ponder-recommendation").map(t=>({id:t.id,role:t.role,content:t.text,timestamp:t.createdAt}))}function hp({connection:e,presentation:t,composer:s,onOpenWork:r}){const[a,i]=l.useState(null),[c,o]=l.useState(null),[u,f]=l.useState(""),[p,v]=l.useState(""),[h,m]=l.useState(!1),[g,x]=l.useState(null),[E,S]=l.useState([]),[M,j]=l.useState([]),N=l.useRef(null),y=fp(e,a?.bindingId??null),[A,R]=l.useState(null),U=A?y.items.find(C=>C.id===A.id):null,H=!!(A&&(!U||U.state!=="proposed"||U.revision!==A.revision||yr(U))),K=l.useRef(""),q=l.useRef({connection:e,bindingId:a?.bindingId,destination:A?.id??"chat",draft:u});q.current={connection:e,bindingId:a?.bindingId,destination:A?.id??"chat",draft:u};const he=l.useRef(!1),Se=l.useRef(!0);function pe(){R(null),f(K.current)}function ke(C){A||(K.current=u),R(C),f(C.proposedText??"")}async function ue(C,I){const F=q.current,T=A?.id===C.id;await y.action(C,I,I==="send"?T?u:C.proposedText??void 0:void 0)&&T&&q.current.connection===F.connection&&q.current.bindingId===F.bindingId&&q.current.destination===F.destination&&(q.current.draft===F.draft?pe():R(null))}l.useEffect(()=>{Se.current=!0;let C=!0;return i(null),o(null),S([]),j([]),N.current=null,x(null),f(""),K.current="",m(!1),v(""),R(null),Xe(e,"/v1/ponder",{method:"POST",body:"{}"}).then(I=>{C&&(i(I),x(null))}).catch(I=>{C&&x(Vt(I))}),()=>{C=!1,Se.current=!1}},[e]),l.useEffect(()=>{if(!a)return;let C=!0;const I=async()=>{try{const T=await Xe(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}`);C&&o(T)}catch(T){C&&x(Vt(T))}};I();const F=window.setInterval(()=>{I()},3e3);return()=>{C=!1,window.clearInterval(F)}},[e,a]),l.useEffect(()=>{if(!a)return;let C=!0;const I=async()=>{try{const T=await Xe(e,"/v1/ponder/work");C&&j(T.items)}catch(T){C&&x(Vt(T))}};I();const F=window.setInterval(()=>{I()},3e3);return()=>{C=!1,window.clearInterval(F)}},[e,a]),l.useEffect(()=>{if(!a||t!=="activity")return;N.current=null,S([]);let C=!0,I=!1;const F=async()=>{if(!I){I=!0;try{let B;do{const O=N.current,Q=await Xe(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/activity${O?`?after=${encodeURIComponent(O)}`:""}`);if(!C)return;Q.items.length>0&&(S(xe=>[...xe,...Q.items]),N.current=Q.nextCursor),B=Q.hasMore&&Q.items.length>0}while(B)}catch(B){C&&x(Vt(B))}finally{I=!1}}};F();const T=window.setInterval(()=>{F()},3e3);return()=>{C=!1,window.clearInterval(T)}},[e,a,t]);async function ee(C){const I=C.contentsBase64?Uint8Array.from(atob(C.contentsBase64),Q=>Q.charCodeAt(0)):C.text!==void 0?new TextEncoder().encode(C.text):null;if(!I)throw new Error(`Attachment ${C.name} has no content to upload.`);const F=await crypto.subtle.digest("SHA-256",I),T=btoa(String.fromCharCode(...new Uint8Array(F))),B=await Xe(e,"/v1/ponder/work-inputs",{method:"POST",body:JSON.stringify({name:C.name,contentType:C.mediaType,sizeBytes:I.byteLength,sha256Base64:T})}),O=await fetch(B.upload.url,{method:B.upload.method,headers:B.upload.headers,body:new Blob([I],{type:C.mediaType})});if(!O.ok)throw new Error(`Attachment upload failed (${O.status})`);return Xe(e,`/v1/ponder/work-inputs/${encodeURIComponent(B.input.id)}/finalize`,{method:"POST",body:"{}"})}async function de(C=[],I){const F=(I?.promptOverride??u).trim();if(!a||!F||he.current)return!1;const T=q.current,B=()=>Se.current&&q.current.connection===T.connection&&q.current.bindingId===T.bindingId&&q.current.destination===T.destination;he.current=!0,m(!0);try{if(A){if(H)throw new Error("Review the latest task state before sending this proposed message.");if(C.length)throw new Error("Send task messages as text. Attachments can be sent in the task's own conversation.");const Q=await y.action(A,"send",F);return B()?(Q&&q.current.draft===T.draft&&pe(),Q):!1}const O=await Promise.all(C.map(ee));return!B()||(await Xe(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/turns`,{method:"POST",headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:F,attachments:O})}),!B())?!1:(q.current.draft===T.draft&&f(""),x(null),!0)}catch(O){return B()&&x(Vt(O)),!1}finally{he.current=!1,m(!1)}}async function ge(C,I){if(C.wait)try{await Xe(e,`/v1/ponder/turns/${encodeURIComponent(C.id)}/waits/${encodeURIComponent(C.wait.id)}/resolve`,{method:"POST",body:JSON.stringify(I)}),v("")}catch(F){x(Vt(F))}}async function fe(C){try{await Xe(e,`/v1/ponder/turns/${encodeURIComponent(C.id)}/cancel`,{method:"POST",body:"{}"})}catch(I){x(Vt(I))}}async function V(C){const I=window.open("about:blank","_blank");try{const F=await Xe(e,`/v1/ponder/work-outputs/${encodeURIComponent(C)}`);if(!F.downloadURL)throw new Error("This output is not available for download.");I?I.location.replace(F.downloadURL):window.location.assign(F.downloadURL)}catch(F){I?.close(),x(Vt(F))}}const z=!!(c?.activeTurn&&["queued","running","retry_scheduled"].includes(c.activeTurn.status)),_=mp(c),te=t==="activity"&&E.length>0?{id:"ponder-activity",role:"activity_group",timestamp:new Date().toISOString(),activities:E.map(C=>({id:C.id,label:C.type,content:C.text??"",timestamp:new Date().toISOString()}))}:null;return n.jsxs("div",{className:"chat-column","aria-label":"Ponder Pal",children:[n.jsxs("section",{className:"chat-thread","aria-label":"Conversation",children:[M.length>0&&n.jsx("section",{className:"ponder-linked-work","aria-label":"Ponder Pal Work tasks",children:M.map(C=>n.jsxs("button",{type:"button",onClick:()=>r(C.conversationId),children:[n.jsx("span",{children:C.title}),n.jsx("small",{children:C.status.replaceAll("_"," ")})]},C.conversationId))}),_.map(C=>n.jsx(Jr,{message:C,connection:e},C.id)),n.jsx(dp,{items:y.items,busy:y.busy,editingId:A?.id??null,onEdit:ke,onSend:C=>{ue(C,"send")},onDismiss:C=>{ue(C,"dismiss")},onOpen:r}),y.error?n.jsx("p",{role:"alert",children:y.error}):null,te&&n.jsx(Jr,{message:te,connection:e}),z&&n.jsx(cp,{}),c?.activeTurn?.wait&&n.jsxs("section",{className:"ponder-desktop-attention",children:[n.jsx("strong",{children:c.activeTurn.wait.title}),c.activeTurn.wait.kind==="approval"?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",onClick:()=>{ge(c.activeTurn,{decision:"accepted"})},children:"Approve"}),n.jsx("button",{type:"button",onClick:()=>{ge(c.activeTurn,{decision:"declined"})},children:"Decline"})]}):c.activeTurn.wait.options.length>0?c.activeTurn.wait.options.map(C=>n.jsx("button",{type:"button",onClick:()=>{ge(c.activeTurn,{value:C})},children:C},C)):n.jsxs("form",{onSubmit:C=>{C.preventDefault(),ge(c.activeTurn,{value:p})},children:[n.jsx("input",{"aria-label":"Response to Ponder Pal",value:p,onChange:C=>v(C.target.value)}),n.jsx("button",{type:"submit",disabled:!p.trim(),children:"Send response"})]})]}),c?.activeTurn?.outputs?.map(C=>C.downloadURL?n.jsx("a",{href:C.downloadURL,target:"_blank",rel:"noreferrer",children:C.name},C.id):n.jsx("button",{type:"button",onClick:()=>{V(C.id)},children:C.name},C.id)),g&&n.jsx(Jr,{message:{id:"ponder-error",role:"error",content:g,timestamp:new Date().toISOString()},connection:e})]}),n.jsxs("div",{className:"composer-stack dock",children:[A?n.jsxs("div",{className:"ponder-message-destination",role:"status",children:[n.jsxs("span",{children:["Message to ",A.target.title,H?" — review the latest task state before sending":""]}),n.jsx("button",{type:"button",onClick:pe,children:"Return to Ponder chat"})]}):null,n.jsx(co,{...s,experience:"chat",mode:"dock",showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:u,onPromptChange:f,busy:h||H||!!y.busy||!a,running:z&&!A,submissionScopeKey:`ponder:${a?.conversationId??"loading"}:${A?.id??"chat"}`,voiceInputChannelKey:`ponder:${a?.conversationId??"loading"}`,onSubmit:(C,I,F,T)=>de(C,T?.promptOverride?{promptOverride:T.promptOverride}:void 0),onStop:()=>c?.activeTurn?fe(c.activeTurn):void 0})]})]})}function pp({accountBaseUrl:e,onOpenBrowserLink:t,...s}){function r(a){if(!e){s.composer.showToast("OpenPond account URL is unavailable for this Work task.","error");return}try{const i=new URL(`/tasks/${encodeURIComponent(a)}`,e);t(i.toString(),{newTab:!0})}catch{s.composer.showToast("OpenPond account URL is invalid for this Work task.","error")}}return n.jsx(hp,{...s,onOpenWork:r})}function gp(e){return JSON.stringify({account:e?.account.activeProfile??null,baseUrl:e?.account.baseUrl??null,owner:e?.account.profile?.id??null,state:e?.account.state??null,teamId:e?.preferences.defaultTeamId??null})}const xp=l.lazy(()=>ye(()=>import("./WorkspaceDiffPanel-pGVezNMw.js").then(e=>e.a),__vite__mapDeps([7,1,2,5,3,4,8,9,10,11,12,13])).then(e=>({default:e.WorkspaceDiffPanel}))),bp=l.lazy(()=>ye(()=>import("./AppTerminalPanel-C4uRpnBz.js"),__vite__mapDeps([14,1,2])).then(e=>({default:e.AppTerminalPanel}))),vp=l.lazy(()=>ye(()=>import("./RightSidebarHomePanel-CeSFJM5s.js"),__vite__mapDeps([15,1,2,3,4,13,9,11])).then(e=>({default:e.RightSidebarHomePanel}))),jp=l.lazy(()=>ye(()=>import("./WorkSidebarPanel-DwlEMEoG.js"),__vite__mapDeps([16,1,2,3,4,5,9,11,17,18,19,6,20])).then(e=>({default:e.WorkSidebarPanel}))),yp=l.lazy(()=>ye(()=>import("./NewExperienceSwitcher-DM-cqJ-K.js"),__vite__mapDeps([21,1,2,3,4])).then(e=>({default:e.NewExperienceSwitcher}))),kp=l.lazy(()=>ye(()=>import("./CollaborationTabs-B8YAf0c1.js"),__vite__mapDeps([22,1,2,3,4,23])).then(e=>({default:e.CollaborationTabs}))),Cp=l.lazy(()=>ye(()=>import("./AppsView-BS1czXUP.js"),__vite__mapDeps([24,1,2,3,4,25,12,5,26,17,18,19,9,6,27])).then(e=>({default:e.AppsView}))),wp=l.lazy(()=>ye(()=>import("./GetStartedView-xqQoMMei.js"),__vite__mapDeps([28,1,2,6,3,4,29,5,30])).then(e=>({default:e.GetStartedView}))),Sp=l.lazy(()=>ye(()=>import("./LabsRoute-CXJRJMhr.js").then(e=>e.t),__vite__mapDeps([31,1,2,3,4,32,29,17,8,10,0,5,6,33,34])).then(e=>({default:e.LabsRoute}))),Mp=l.lazy(()=>ye(()=>import("./ScheduledWorkPage-D1jRQxFs.js"),__vite__mapDeps([35,1,2,3,4,36,5,6,12,11,17,18,19,9])).then(e=>({default:e.ScheduledWorkPage}))),Np=l.lazy(()=>ye(()=>import("./OutputsPage-DiXMkasl.js"),__vite__mapDeps([37,1,2,3,4,5,9,17,18,19,6])).then(e=>({default:e.OutputsPage}))),Ap=l.lazy(()=>ye(()=>import("./ProjectsPage-DqiBHiCB.js"),__vite__mapDeps([38,1,2,3,4,17,39])).then(e=>({default:e.ProjectsPage}))),gi=l.lazy(()=>ye(()=>import("./LabSkillSidebar-DLnIgnry.js"),__vite__mapDeps([40,1,2,3,4,5,11,17,18,19,9,6,41])).then(e=>({default:e.LabSkillSidebar}))),Rp=l.lazy(()=>ye(()=>import("./BrowserSidebar-Bl7V6YO2.js"),__vite__mapDeps([42,1,2,3,4,5,19,43])).then(e=>({default:e.BrowserSidebar}))),Ep=l.lazy(()=>ye(()=>import("./RightChatPanelStack-VaOOmxwd.js"),__vite__mapDeps([44,1,2,9,3,4,45,5,17,18,19,6])).then(e=>({default:e.RightChatPanelStack}))),$p=l.lazy(()=>ye(()=>import("./NativeSkillSidebar-Dlxb8iOC.js"),__vite__mapDeps([46,1,2,3,4,11,47])).then(e=>({default:e.NativeSkillSidebar}))),Tp=l.lazy(()=>ye(()=>import("./TeamChatView-DM0adMtj.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamChatView}))),Ip=l.lazy(()=>ye(()=>import("./TeamChatView-DM0adMtj.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamChatProView}))),_p=l.lazy(()=>ye(()=>import("./CommunityView-CR0-W-uG.js"),__vite__mapDeps([51,1,2,52,3,4,5,17,18,19,9,6,53])).then(e=>({default:e.CommunityView}))),Pp=l.lazy(()=>ye(()=>import("./TeamChatView-DM0adMtj.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamAiThreadPanel}))),Lp=l.lazy(()=>ye(()=>import("./TeamChatView-DM0adMtj.js"),__vite__mapDeps([48,1,2,3,4,5,17,18,19,9,6,49,50])).then(e=>({default:e.TeamAgentConversationPanel}))),Op=l.lazy(()=>ye(()=>import("./TrainingDraftPanel-Bbo3RRie.js"),__vite__mapDeps([54,1,2,3,4,11,34])).then(e=>({default:e.TrainingDraftPanel}))),zp=l.lazy(()=>ye(()=>import("./MainChatThread-BwAla81W.js"),__vite__mapDeps([55,1,2,45,3,4,32,5,17,18,19,9,6])).then(e=>({default:e.MainChatThread}))),Fp=l.lazy(()=>ye(()=>import("./TrainingCreationPanel-CgIBVGha.js"),__vite__mapDeps([56,1,2,3,4,34])).then(e=>({default:e.TrainingCreationPanel})));function Dp({ponderMode:e=null,onPonderModeChange:t,experience:s,onNewExperienceChange:r,view:a,teamChat:i,community:c,bootstrap:o,runtimeEvents:u,chatMessages:f,pendingUserMessage:p,contextWindowStatus:v,goalRuntime:h,subagentRuntime:m,selectedSessionId:g,composerDraftStore:x,mainComposerFocusRequestId:E,labCloseDetailRequestId:S,labCloseDetailKind:M,sideChatTrainingLaunchRequest:j,onSideChatTrainingLaunchHandled:N,mentionApps:y,connectedAppMentions:A,profileSkills:R,selectedMentionAppId:U,busy:H,turnRunning:K,activeProvider:q,activeModel:he,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,pendingApproval:ue,activeWorkspaceAppId:ee,activeWorkspaceId:de,activeWorkspaceKind:ge,projectTarget:fe,actionCatalog:V,workspaceTarget:z,connection:_,workspaceName:te,workspaceState:C,workspaceDiff:I,workspaceBusy:F,diffBusy:T,forceChatThread:B=!1,diffPanelOpen:O,diffPanelExpanded:Q,rightPanelMode:xe,rightPanelTabRequest:ht,rightChatPanels:me,runtimeEventStore:le,nativeSkillSidebar:pt,extensionSkillSidebar:re,workspaceDiffPanelViewState:et,sidebarFileOpenRequest:ot,sidebarFileBookmarks:qe,onSetSidebarFileStatus:He,browserConversationId:Te,terminalScope:Lt,terminalTabs:w,terminalCwd:$,pendingTerminalCommand:ie,terminalOpen:G,onToggleTerminal:Me,onWorkspaceDiffPanelViewStateChange:$e,training:Y,trainingSessions:tt,trainingChatHandoff:Ne,trainingDetailTasksetId:Ot,onTrainingDetailTasksetIdChange:zt,onTrainingChatTaskSelect:gt,onTrainingChatHandoffDismiss:nt,onOpenSession:st,onExperienceHandoff:pn,cloudProjects:Ns,projects:Xn,projectsAccountBaseUrl:gn,projectsTeamName:be,projectTaskCounts:ze,onNewCloudProject:As,onNewLocalProject:Rs,onNewProjectTask:xn,onToggleProjectPinned:Es,onUploadLocalProject:bn,chatHistoryHasMore:$s=!1,chatHistoryLoading:vn=!1,onDiffPanelResizeStart:Be,canSyncWorkspace:Qt,startMessage:Ts,onPayload:Ve,onError:jn,setView:Ue,onOpenProfileSettings:Is,onOpenProviderSettings:Je,onOpenTrainingSettings:Mr,onOpenDatasetStorageSettings:Jn,changeDraftProvider:Ie,changeProjectTarget:xt,changeWorkspaceTarget:yn,setDraftProvider:_s,setDraftModel:lt,onBeginNewChatWithModel:wt,changeCodexPermissionMode:St,changeCodexReasoningEffort:ct,changeOpenPondCommandAccessMode:bt,resolveApproval:We,answerCreateImproveQuestion:Yn,approveCreateImproveRun:vt,applyCreateImproveCandidate:Zn,cancelCreateImproveRun:kn,openCreateImprovePullRequest:es,pauseCreateImproveRun:Cn,reconcileCreateImprovePullRequest:wn,rejectCreateImproveCandidate:ts,resumeCreateImproveRun:Xt,reviseCreateImproveRun:Sn,setMentionedAppId:jt,showToast:ne,onSaveTaskDraft:Ps,sendPrompt:Ft,stopTurn:Mn,syncWorkspaceLocally:Ls,refreshWorkspaceDiff:Nn,onToggleDiffPanelExpanded:we,onShowDiffPanel:Fe,onShowBrowserPanel:Jt,onShowTrainingDraftPanel:Os,onShowFilesPanel:ut,onShowRightChatPanel:Nr,onAddRightChat:An,onOpenRightChatForSession:zs,onLabDetailOpenChange:Ar,evaluationSidebarActive:Yt,onEvaluationSidebarControl:Rr,scheduledDetailOpen:Rn,onScheduledDetailOpenChange:Fs,onTerminalTabsChange:Er,onCloseRightChatPanel:Ds,onCloseNativeSkillSidebar:Bs,onActivateRightChatPanel:Ae,onRightChatModelChange:Mt,onRightChatPromptChange:rt,onRightChatScrollStateChange:Re,onRightChatProviderChange:Zt,onSubmitRightChat:Us,onStopRightChat:$r,onCloseTerminal:en,onLoadMoreChatHistory:qs}){const[Hs]=l.useState(()=>new Cu),De=g&&!Ra(g)?g:null,Vs=Nu(le,De),Nt=l.useMemo(()=>De?Jl(u,Vs.events):u,[De,Vs.events,u]),At=l.useMemo(()=>De?Yl(Hs.project(Nt),p):f,[Hs,De,p,Nt,f]),[Ws,tn]=l.useState(null),[Gs,En]=l.useState(0),Ks=l.useRef(""),Ee=l.useCallback(()=>Ks.current,[]),[$n,at]=l.useState(null),[ns,Tn]=l.useState(null),[Ge,Dt]=l.useState(null),[it,Bt]=l.useState(null),[oe,In]=l.useState(null),[ss,Qs]=l.useState(null),[rs,Xs]=l.useState(null),[Ye,as]=l.useState([]);l.useEffect(()=>{at(null)},[Te]);const _n=l.useMemo(()=>o?.sessions.find(k=>k.id===g)??null,[o?.sessions,g]),nn=_n?.currentProfile??o?.profileLibrary?.lastUsed??null,Ut=gp(o),sn=Zl(o?.profileLibrary??{profiles:[]},nn)??o?.profile??null,Pn=l.useMemo(()=>ec(sn,o?.extensionCatalog),[o?.extensionCatalog,sn]),rn=l.useMemo(()=>tc(sn),[sn]),an=l.useCallback(async(k,D=g)=>{if(!_||!o)return;const se=nc(o.profileLibrary??{profiles:[]},k);if(se)try{const ce=D&&!Ra(D)?o.sessions.find(W=>W.id===D)??null:null,X=await om({ref:se,session:ce,selectProfile:W=>Le.profileSelect(_,W),patchSession:(W,Qe)=>Le.patchSession(_,W,{currentProfile:Qe})});let je=o.sessions;X.session&&(je=je.map(W=>W.id===X.session.id?X.session:W)),Ve({...o,profile:X.selected.profile,profileLibrary:X.selected.library,sessions:je})}catch(ce){const X=ce instanceof Error?ce.message:String(ce);jn(X),ne(X,"error")}},[o,_,jn,Ve,g,ne]);l.useEffect(()=>{if(!sc(ot,Te))return;const{file:k,id:D}=ot;if(at({id:D,path:k.path}),!_)return;let se=!1;return(k.workspaceKind==="local"?Le.workspaceFile(_,k.workspaceId,k.path).then(X=>X.content??""):Le.sandboxDownloadFile(_,k.workspaceId,k.path).then(X=>{if(X.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return X.contents})).then(X=>{if(se)return;const je=k.path.split("/").at(-1)??k.path;tn({id:D,file:new File([X],je,{type:Bp(k)})})}).catch(X=>{se||ne(X instanceof Error?X.message:String(X),"error")}),()=>{se=!0}},[Te,_,ne,ot]);const dt=s==="development"||s==="work"&&fe.value!=="none",is=l.useMemo(()=>{if(s==="chat")return rn;if(!dt)return[];const k=new Map(V.filter(D=>!rc(D)).map(D=>[D.id,D]));for(const D of rn)k.set(D.id,D);for(const D of Ye)k.set(D.id,D);return[...k.values()]},[V,s,dt,Ye,rn]),Ce=cm(_),Tr=l.useCallback(k=>{if(!k){Ce.activate(null);return}Ce.activate({runId:k.run.id,candidateId:k.candidate.id,title:k.run.objective,fileRootPath:k.fileRootPath,initialPath:k.initialPath})},[Ce.activate]),Ir=l.useCallback(()=>{Ce.selection?.initialPath&&Ce.openFile(Ce.selection.initialPath),Fe()},[Ce.openFile,Ce.selection?.initialPath,Fe]),os=l.useCallback(k=>{Dt(k),k&&Fe()},[Fe]),Ln=l.useCallback(()=>{Dt(null),Q&&we()},[Q,we]);l.useEffect(()=>{a!=="labs"&&Dt(null)},[a]);const _r=l.useCallback((k,D)=>{const se=Date.now(),ce=V.find(je=>je.id===k)??null;x.set(""),jt(null),Ue("chat");const X=je=>{if(!(je.find(ae=>ae.id===k)??null))return!1;const Qe=je.map(ae=>ae.id===k?{...ae,label:D}:ae);return as(Qe),window.requestAnimationFrame(()=>{Xs({actionId:k,requestId:Math.max(Date.now(),se+1)})}),!0};if(!_){ce?X([ce]):ne("The Agent action catalog is still loading. Try Use again.","error");return}Le.profileCurrent(_).then(je=>{const W=je.actionCatalog.map(Qe=>ac(Qe));!X(W)&&ce?X([ce]):W.some(Qe=>Qe.id===k)||ne("This Agent is ready, but its default chat action is unavailable.","error")}).catch(je=>{ce||ne(je instanceof Error?je.message:String(je),"error")})},[V,x,_,jt,Ue,ne]),Pr=l.useCallback((k,D)=>{x.set(k),jt(null),D&&Ie(D),Ue("chat")},[Ie,x,jt,Ue]),Rt=l.useMemo(()=>ic(o?.preferences),[o?.preferences]),Lr=Rt.training,{createAgentFromLab:Et,improveAgentFromLab:Or}=dm({activeModel:he,activeProvider:q,bootstrap:o,codexPermissionMode:Se,codexReasoningEffort:pe,connection:_,onOpenRightChatForSession:zs,onPayload:Ve}),yt=l.useMemo(()=>{const k=Y.payload?.tasksets??[];return k.some(D=>D.id===oe)?oe:k[0]?.id??null},[oe,Y.payload?.tasksets]),zr=a==="labs"&&yt?`profiles/${o?.profile.activeProfile??"default"}/tasksets/${yt}`:null,Fr=l.useMemo(()=>{if(a!=="labs"||!yt||!Y.payload)return null;const k=Y.payload.tasksets.find(ae=>ae.id===yt);if(!k)return null;const D=Y.payload.plans.filter(ae=>ae.tasksetId===k.id),se=new Set(D.map(ae=>ae.id)),ce=Y.payload.jobs.filter(ae=>se.has(ae.planId)).sort((ae,ps)=>ps.createdAt.localeCompare(ae.createdAt)),X=ce.find(ae=>ae.id===ss)??ce[0]??null,je=X?D.find(ae=>ae.id===X.planId)??null:D.sort((ae,ps)=>ps.createdAt.localeCompare(ae.createdAt))[0]??null,W=X?Y.payload.models.find(ae=>ae.jobId===X.id)??null:null,Qe=X?Y.payload.artifacts.filter(ae=>ae.jobId===X.id):[];return{taskset:k,plan:je,job:X,lineage:W,artifacts:Qe}},[yt,ss,Y.payload,a]),qt=l.useMemo(()=>lm(Y.payload,g),[g,Y.payload]),On=l.useMemo(()=>vm(At),[At]),zn=!!h||!!On||!!m,_e=a==="labs"&&!!Ce.selection,on=a==="labs"&&O&&xe==="changes"&&!!Ge,Dr=(a==="chat"||a==="labs")&&!!ee,Js=a==="chat"&&O&&xe==="chat"&&me.length===0,ls=oc(ge)?de??ym(te):null,Br=a==="chat"&&!!ls,kt=ls,cs=!!kt||z.value==="cloud"||z.value==="hybrid",Fn=l.useMemo(()=>sm({workspaceTarget:z.value,localWorkspaceId:ee,sandboxSourceAvailable:cs,sandboxWorkspaceId:kt,override:ns}),[ee,cs,kt,ns,z.value]),ln=Fn.source,Pe=ln==="sandbox",Ys=l.useMemo(()=>ln&&Fn.options.length>1?{value:ln,options:Fn.options,onChange:Tn}:null,[ln,Fn.options]);l.useEffect(()=>{Tn(null)},[ee,Te,kt,z.value]);const Dn=!on&&(_e||Dr||Br)&&O&&(xe==="changes"||xe==="goal"&&zn||Js),us=a==="chat"&&O&&xe==="browser",Ke=(a==="chat"||a==="labs")&&O&&xe==="chat"&&me.length>0,ds=a==="chat"&&O&&xe==="training",Bn=a==="chat"&&O&&!!pt,fs=a==="chat"&&O&&!!re,cn=a==="team"&&O&&xe==="chat"&&!!i.aiThread,ms=a==="team"&&O&&xe==="chat"&&!!i.agentConversation,hs=s==="work"&&a==="chat"&&O&&xe==="home",Zs=go({supportedView:a==="chat"&&dt||a==="labs",open:O,hasContentPanel:Dn||on||us||Ke||ds||Bn||cn||ms||hs}),Ht=!Yt&&(Dn||on||us||Ke||ds||Bn||cn||ms||hs||Zs),un=Ht&&xe!=="chat"&&Q,er=o?.account.baseUrl??o?.account.activeProfile?.baseUrl??null,Un=pm({activeWorkspaceId:de,cloudProjects:Ns}),tr=a==="chat"&&K&&!ue&&nm(At),d=B||At.length>0||tr,b=g??`draft:${a}:${ge??"none"}:${de??ee??"none"}`;Ks.current=b;const P=n.jsx(wm,{activeModel:he,activeProvider:q,busy:K,handoff:Ne,onDismiss:nt,onSelectTask:gt}),L=l.useMemo(()=>({onAnswerQuestion:Yn,onApprove:vt,onApplyCandidate:Zn,onCancel:kn,onOpenPullRequest:es,onPause:Cn,onReconcilePullRequest:wn,onRejectCandidate:ts,onResume:Xt,onRevise:Sn}),[Yn,vt,Zn,kn,es,Cn,wn,ts,Xt,Sn]),J=l.useMemo(()=>On?{...On,...L}:null,[L,On]),Z=Nm(a,d),ve=l.useCallback(async(k=[],D=null,se=null,ce={})=>{const X=ce.promptOverride??x.getSnapshot(),je=()=>{ce.preservePrompt||(x.set(""),jt(null))};if(!D){const W=se?{command:se.id,args:X.trim()}:Ai(X);if(W){if(!lc({id:W.command},s))return ne(`/${W.command} isn't available in ${s}.`,"info"),!1;if(W.command==="train")return k.length>0?(ne("/train uses the selected chat; add other chats from Models.","error"),!1):g?(je(),Bt({id:Date.now(),objective:W.args.trim()||null,initialSessionIds:[g]}),Ue("labs"),!0):(je(),Bt({id:Date.now(),objective:W.args.trim()||null,initialSessionIds:[]}),Ue("labs"),!0);if(!W.args&&W.command!=="skill"&&W.command!=="sync-cloud")return ne(`Add instructions after /${W.command}.`,"info"),!1;if(k.length>0)return ne(`/${W.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(W.command==="submit-issue")return cc(A)?(En(ae=>ae+1),Ft([],null,uc(W.args),{clearPrompt:ce.preservePrompt?()=>{}:void 0,usageAttribution:Xr(W,se?"composer_selection":"prompt_parse")})):(ne("Connect the GitHub app before using /submit-issue.","error"),!1);if(jm(W)){const ae=W.command==="skill"?am(W.args,q,o?.profile.sourcePath??null):ai(W);return En(ps=>ps+1),Ft([],null,ae,{clearPrompt:ce.preservePrompt?()=>{}:void 0,usageAttribution:Xr(W,se?"composer_selection":"prompt_parse")})}return En(ae=>ae+1),Ft([],null,ai(W),{clearPrompt:ce.preservePrompt?()=>{}:void 0,usageAttribution:Xr(W,se?"composer_selection":"prompt_parse")})}}return En(W=>W+1),Ft(k,D,ce.promptOverride,{clearPrompt:ce.preservePrompt?()=>{}:void 0,displayPrompt:ce.displayPrompt,turnMetadata:ce.turnMetadata})},[he,q,ge,o?.profile,A,x,s,Ft,g,jt,Ue,ne,Y,a]),ft=l.useCallback(k=>{Ne&&k!==Ne.model.modelId&&nt(),_s(q),lt(k)},[q,nt,lt,_s,Ne]),$t=l.useCallback(k=>{Ne&&k!==Ne.model.providerId&&nt(),Ie(k)},[Ie,nt,Ne]),{chatColumnStyle:dn,chatThreadPreparingInitialScroll:Ct,chatThreadRef:fn,chatTimelineRows:Ze,composerStackRef:Ro,goToUserMessage:va,handleChatScroll:Eo,jumpToLatestChatMessage:$o,showScrollToBottomButton:To,userMessageNavigation:nr}=Rm({browserConversationId:Te,chatSubmissionVersion:Gs,chatHistoryHasMore:$s,chatHistoryLoading:vn,chatMessages:At,onLoadMoreChatHistory:qs,pendingApproval:ue,showChatThread:d,showThinkingIndicator:tr,view:a}),qn=l.useCallback((k,D)=>{dc({conversationId:Te,href:k,explicitFile:D?.explicitFile,newTab:D?.newTab}).then(se=>{se&&window.openpond?.browser&&Jt()}).catch(se=>ne(se instanceof Error?se.message:"Could not open browser.","error"))},[Te,Jt,ne]),ja=Jo({projectTargetDetail:fe.detail,projectTargetValue:fe.value,workspaceRepoPath:C?.repoPath,workspaceTargetValue:z.value}),ya=em({connection:_,handleOpenBrowserLink:qn,activeWorkspaceAppId:ee,rightSidebarUsesSandbox:Pe,rightSidebarSandboxId:kt,onShowDiffPanel:Fe,showToast:ne,workspaceRootPath:ja,setOpenDiffFileRequest:at}),ka=l.useCallback(async k=>{if(!_||!k.filePreview&&!k.imagePreview){ne("File content is not available for this attachment.","error");return}try{const D=k.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",ce=`Attachments/${k.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${D}`,X={path:ce,status:"",additions:0,deletions:0,patch:"",content:null};let je,W;if(k.filePreview){const Qe=await Le.chatAttachmentFile(_,k.filePreview);X.content=Qe.content,Yr(D)&&(W=await Yo(_,D,Qe.content))}else k.imagePreview&&(je=(await Le.signChatAttachmentImageUrl(_,k.imagePreview)).url);W?qn(W):Fe(),at({id:Date.now(),path:ce,source:!!W,file:X,...je?{imageUrl:je}:{}})}catch(D){ne(D instanceof Error?D.message:"Could not open this attachment.","error")}},[_,qn,Fe,ne]),Io=F&&!!ee&&!C,Ca=Ce.selection?`candidate:${Ce.selection.runId}:${Ce.selection.candidateId}`:null,_o=Dn?n.jsx(xp,{appId:_e?Ca:Pe?null:ee,workspaceId:_e?Ca:Pe?kt:ee,workspaceKind:_e?"local_project":Pe?null:"local_project",connection:_,runtimeEvents:Nt,diff:_e?Ce.diff:Pe?null:I,fileRootPath:_e?Ce.selection?.fileRootPath??null:Pe?null:zr,filesWithPreview:_e,editorPreferences:o?.preferences.editor??null,loading:_e?Ce.loading:Pe?F:T||Io,openFileRequest:_e?Ce.openFileRequest:$n,sidebarFileBookmarks:qe,sidebarFileSourceSessionId:g,onSetSidebarFileStatus:He,readOnly:_e,sideChatTabs:me.map(k=>({id:k.id,title:k.title,running:k.running})),sourceSwitcher:_e?null:Ys,tabRequest:ht,viewState:et,workspaceName:_e?Ce.selection?.title??"Change":Pe?te??"Sandbox":te,workspaceInitialized:_e?!0:Pe?!!kt:!!C?.initialized,workspaceError:_e?Ce.error:Pe?null:C?.error??I?.error??null,expanded:Q,onResizeStart:Be,onRefresh:k=>{_e?Ce.refresh(k):Nn(k)},onToggleExpanded:we,onOpenBrowser:Jt,onOpenBrowserUrl:qn,onViewStateChange:$e,onCloseSideChat:Ds,onOpenSideChat:a==="chat"?An:void 0,onSelectSideChat:k=>{Ae(k),Nr()},goalDetails:{active:xe==="goal",createRuntime:J,goalRuntime:h,subagentRuntime:m},sandboxFileSource:Pe?{sandboxId:kt,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:Fr}):null,Po=us?n.jsx(Rp,{conversationId:Te,expanded:Q,onResizeStart:Be}):null,Lo=cn?l.createElement(Pp,{...i,key:i.aiThread?.conversationId,onResizeStart:Be}):null,Oo=ms?l.createElement(Lp,{...i,key:i.agentConversation?.run.id,onResizeStart:Be}):null,zo=Ke?n.jsx(Ep,{panels:me,runtimeEventStore:le,actionCatalog:is,createImproveActions:L,contextCompaction:Rt.contextCompaction,steerActiveResponses:Rt.steerActiveResponses,busy:H,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,connection:_,connectedAppMentions:A,mentionApps:y,codexPersonalSkills:o?.codexPersonalSkills??[],profileSkills:R,profileLibrary:o?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:o?.extensionCatalog??null,projectTarget:fe,providerSettings:o?.providers??null,accountBaseUrl:er,billingOrganizationSlug:Un.organizationSlug,billingTeamId:Un.teamId,showToast:ne,workspaceTarget:z,onAddChat:An,onActivatePanel:Ae,onClosePanel:Ds,onCodexPermissionModeChange:St,onCodexReasoningEffortChange:ct,onOpenPondCommandAccessModeChange:bt,onModelChange:Mt,onOpenAttachmentInSidebar:ka,onOpenFileInSidebar:ya,onOpenProfileSettings:Is,onOpenSession:st,onProviderChange:Zt,onProviderSetupOpen:Je,onPromptChange:rt,onProfileTargetChange:(k,D)=>{an(D,k)},onScrollStateChange:Re,onProjectTargetChange:xt,onResolveApproval:We,onResizeStart:Be,onSelectFiles:ut,onShowBrowserPanel:Jt,onStop:$r,onSubmit:Us,onWorkspaceTargetChange:k=>{yn(k)}}):null,Fo=Zs?n.jsx(vp,{expanded:Q,terminalOpen:G,sideChatAvailable:a==="chat"||a==="labs",onOpenBrowser:Jt,onOpenFiles:ut,onOpenReview:Fe,onOpenSideChat:An,onOpenTrainingDraft:Os,trainingDraftAvailable:!!g,onResizeStart:Be,onToggleExpanded:we,onToggleTerminal:Me}):null,Do=hs?n.jsx(jp,{chatMessages:At,connection:_,contextWindowStatus:v,expanded:Q,runtimeEvents:Nt,sessionId:g,showToast:ne,onResizeStart:Be,onToggleExpanded:we,onUseOutput:k=>tn({id:Date.now(),file:k}),onHandoffOutput:async(k,D,se)=>{await pn({target:k,sourceSessionId:g,output:D,prompt:fc(D,k)}),se&&tn({id:Date.now(),file:se})},onReviseOutput:(k,D,se)=>{tn({id:Date.now(),file:D}),x.set(`Create revision ${k.revision+1} of "${k.title}" from the attached revision ${k.revision}. Apply only this requested change:
|
|
18
18
|
|
|
19
19
|
${se}`)},onAgentPackageInstalled:async()=>{_&&Ve(await Le.bootstrap(_))}}):null,Bo=ds?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Op,{training:Y,sessionId:g,expanded:Q,onOpenTraining:()=>Ue("labs"),onResizeStart:Be,onToggleExpanded:we})}):null,Hn=Oo??Lo??zo??(Bn&&pt?n.jsx($p,{expanded:Q,skill:pt,onClose:Bs,onResizeStart:Be,onToggleExpanded:we}):null)??(fs&&re?n.jsx(gi,{connection:_,expanded:Q,selection:re,onClose:Bs,onResizeStart:Be,onToggleExpanded:we}):null)??(on&&Ge?n.jsx(gi,{connection:_,expanded:Q,selection:Ge,onClose:Ln,onResizeStart:Be,onToggleExpanded:we}):null)??_o??Po??Bo??Do??Fo,Ur=n.jsx(l.Suspense,{fallback:null,children:n.jsx(bp,{open:G,connection:_,scope:Lt,tabs:w,onTabsChange:Er,cwd:$,appId:ee,workspaceName:te,queuedCommand:ie,onClose:en})});return n.jsxs("main",{className:`main-pane ${Z} ${G?"terminal-open":""} ${Ht?"diff-open":""} ${un?"diff-expanded":""}`,children:[a==="team"||a==="community"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(kp,{onSelect:Ue,view:a})}):null,a==="chat"&&e&&_&&o?.account.activeProfile?n.jsx(pp,{connection:_,presentation:e,composer:{contextWindowStatus:v,providerSettings:o.providers??null,provider:q,model:he,projectTarget:fe,workspaceTarget:z,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,onProviderChange:$t,onProviderSetupOpen:Je,onProjectTargetChange:xt,onWorkspaceTargetChange:k=>{yn(k)},onModelChange:ft,onCodexPermissionModeChange:St,onCodexReasoningEffortChange:ct,onOpenPondCommandAccessModeChange:bt,showToast:ne},accountBaseUrl:gn,onOpenBrowserLink:qn},Ut):a==="apps"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Cp,{payload:o,onPayload:Ve,account:o?.account??null,connection:_,defaultTeamId:o?.preferences.defaultTeamId??null,onToast:ne})}):a==="team"?n.jsxs(l.Suspense,{fallback:null,children:[i.teamId?n.jsx(Tp,{...i}):n.jsx(Ip,{}),Ht?Hn:null]}):a==="community"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(_p,{...c})}):a==="get-started"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(wp,{})}):a==="scheduled"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Mp,{connection:_,selectedProfileKey:nn?JSON.stringify(nn):null,onOpenSession:st,detailOpen:Rn,detailExpanded:Q,onDetailOpenChange:Fs,onDetailResizeStart:Be,onToggleDetailExpanded:we},Ut)}):a==="outputs"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Np,{connection:_,onViewChat:st})}):a==="projects"?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Ap,{accountBaseUrl:gn,connection:_,onNewCloudProject:As,onNewLocalProject:Rs,onNewTask:xn,onTogglePinned:Es,onUploadLocalProject:bn,projects:Xn,taskCountByProjectId:ze,teamName:be},Ut)}):a==="labs"?un?n.jsx(l.Suspense,{fallback:null,children:Hn}):n.jsxs(n.Fragment,{children:[n.jsx(l.Suspense,{fallback:null,children:n.jsx(Sp,{account:o?.account??null,closeDetailRequestId:S,closeDetailKind:M,onNewModel:(k,D,se)=>{Bt({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:k,learnedPreferenceReward:D,initialModelId:se})},onUseAgent:_r,onCreateAgent:Et,onImproveAgent:Or,onDetailOpenChange:Ar,onEvaluationSidebarControl:Rr,onSkillSelectionChange:os,onOpenRunConversation:zs,onAnswerQuestion:Yn,onApplyCandidate:Zn,onApprove:vt,onCancel:kn,candidateReview:{diff:Ce.diff,error:Ce.error,loading:Ce.loading},onCandidateReviewChange:Tr,onOpenPullRequest:es,onOpenCandidateFiles:Ir,onPause:Cn,onReconcilePullRequest:wn,onRejectCandidate:ts,onResume:Xt,onRevise:Sn,profileView:{payload:o,connection:_,onPayload:Ve,onError:jn,onToast:ne,onSkillCommand:Pr},training:{training:Y,sessions:tt,localProjects:o?.localProjects??[],connection:_,defaultModel:{providerId:q,modelId:he},onError:jn,onToast:ne,onSettingsPreferences:k=>{o&&Ve({...o,preferences:k.preferences})},onOpenTrainingSettings:Mr,onOpenProviderSettings:Je,onOpenDatasetStorageSettings:Jn,onOpenChat:st,onChatWithModel:wt,onOpenTasksetFiles:ut,launchRequest:j??it,onLaunchHandled:k=>{if(j?.id===k){N(k);return}Bt(D=>D?.id===k?null:D)},preferences:Lr,settingsPreferences:Rt,providerSettings:o?.providers??null,reasoningEffort:pe,selectedTasksetId:yt,onSelectedTasksetIdChange:In,onSelectedTrainingJobIdChange:Qs,detailTasksetId:Ot,onDetailTasksetIdChange:zt}})}),Ur,Ht?n.jsx(l.Suspense,{fallback:null,children:Hn}):null]}):un?n.jsx(l.Suspense,{fallback:null,children:Hn}):d?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`chat-column ${ue?"has-approval":""}`,style:dn,children:[n.jsx(l.Suspense,{fallback:null,children:n.jsx(zp,{formalReviewTeamId:Rt.defaultTeamId??null,formalReviewActorId:o?.account.profile?.id??null,formalReviewScopeKey:Ut,onFormalReviewOpen:()=>Ue("labs"),accountBaseUrl:er,activeWorkspaceAppId:ee,billingOrganizationSlug:Un.organizationSlug,billingTeamId:Un.teamId,connection:_,conversationKey:Te??"draft",creation:qt,onOpenBrowserLink:qn,onOpenAttachmentInSidebar:ka,onOpenFileInSidebar:ya,onOpenProfileSettings:Is,onResolveUserQuestion:async(k,D)=>{const se=D.action==="answer"?D.text:"Dismiss this question";if(!await Ft([],null,se,{displayPrompt:se,turnMetadata:{userQuestionResolution:D}}))throw new Error("The question response could not be sent.")},onOpenSession:st,onScroll:k=>Eo(k.currentTarget),rows:Ze,sessionId:Te,turnRunning:K,userAttachmentDisplay:q==="codex"?"compact":"full",threadRef:fn,workspaceRootPath:ja})}),n.jsxs("div",{className:`composer-stack dock ${ue?"has-approval":""}`,ref:Ro,children:[qt?n.jsx(l.Suspense,{fallback:null,children:n.jsx(Fp,{compact:!0,creation:qt,training:Y,onOpenTraining:()=>Ue("labs")})}):null,P,n.jsx(si,{approval:ue,onResolve:We}),To&&!Ct?n.jsx(Sm,{canGoNext:nr.canGoNext,canGoPrevious:nr.canGoPrevious,onJumpToLatest:$o,onNext:()=>{nr.canGoNext&&va("next")},onPrevious:()=>{nr.canGoPrevious&&va("previous")}}):null,n.jsx(ni,{experience:s,readOnlyReason:typeof _n?.metadata?.nativeReadOnlyReason=="string"?_n.metadata.nativeReadOnlyReason:null,draftStore:x,attachmentRequest:Ws,mode:"dock",focusRequestId:E,mentionApps:dt?y:[],connectedAppMentions:A,profileSkills:q==="codex"?o?.codexPersonalSkills??[]:Pn,selectedMentionAppId:U,contextWindowStatus:v,goalRuntime:s!=="chat"?h:null,subagentRuntime:s!=="chat"?m:null,createImproveRuntime:dt?J:null,busy:K,running:K,steerActiveResponses:Rt.steerActiveResponses,taskSessionId:De,taskEvents:Nt,submissionScopeKey:b,getCurrentSubmissionScopeKey:Ee,voiceInputChannelKey:`main-composer:${b}`,showProjectFooter:!1,connection:_,providerSettings:o?.providers??null,provider:q,model:he,projectTarget:fe,profileTarget:null,actionCatalog:is,requestedAction:rs,workspaceTarget:z,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,onProviderChange:$t,onProviderSetupOpen:Je,onProjectTargetChange:xt,onProfileTargetChange:k=>{an(k)},onWorkspaceTargetChange:k=>{yn(k)},onModelChange:ft,onCodexPermissionModeChange:St,onCodexReasoningEffortChange:ct,onOpenPondCommandAccessModeChange:bt,onMentionAppSelect:jt,onSaveTaskDraft:Ps,showToast:ne,onSubmit:ve,onStop:Mn})]})]}),Ur,n.jsx(l.Suspense,{fallback:null,children:Hn})]}):n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"start-panel",children:[n.jsx(l.Suspense,{fallback:null,children:n.jsx(yp,{value:s==="chat"?"chat":"work",onChange:k=>{if(k==="ponder"){t?.("clean");return}t?.(null),r(k)}})}),n.jsxs("div",{className:"start-welcome",children:[n.jsx("h1",{children:Ts}),Qt&&n.jsx(Mm,{busy:F,onSync:()=>{Ls()}})]}),n.jsxs("div",{className:"composer-stack start",children:[P,n.jsx(si,{approval:ue,onResolve:We}),n.jsx(ni,{experience:s,draftStore:x,attachmentRequest:Ws,mode:"start",autoFocus:!0,focusRequestId:E,mentionApps:dt?y:[],connectedAppMentions:A,profileSkills:q==="codex"?o?.codexPersonalSkills??[]:Pn,selectedMentionAppId:U,contextWindowStatus:v,goalRuntime:s!=="chat"?h:null,subagentRuntime:s!=="chat"?m:null,createImproveRuntime:dt?J:null,busy:K,running:K,steerActiveResponses:Rt.steerActiveResponses,taskSessionId:De,taskEvents:Nt,submissionScopeKey:b,getCurrentSubmissionScopeKey:Ee,voiceInputChannelKey:`main-composer:${b}`,connection:_,providerSettings:o?.providers??null,provider:q,model:he,showProjectFooter:s!=="chat",projectTarget:fe,profileTarget:null,actionCatalog:is,requestedAction:rs,workspaceTarget:z,codexPermissionMode:Se,codexReasoningEffort:pe,openPondCommandAccessMode:ke,onProviderChange:$t,onProviderSetupOpen:Je,onProjectTargetChange:xt,onProfileTargetChange:k=>{an(k)},onWorkspaceTargetChange:k=>{yn(k)},onModelChange:ft,onCodexPermissionModeChange:St,onCodexReasoningEffortChange:ct,onOpenPondCommandAccessModeChange:bt,onMentionAppSelect:jt,onSaveTaskDraft:Ps,showToast:ne,onSubmit:ve,onStop:Mn})]})]}),Ur,n.jsx(l.Suspense,{fallback:null,children:Hn})]})]})}function Bp(e){const t=e.path.toLowerCase();return t.endsWith(".md")||t.endsWith(".mdx")?"text/markdown":t.endsWith(".json")?"application/json":t.endsWith(".yaml")||t.endsWith(".yml")?"application/yaml":"text/plain"}const tg=Object.freeze(Object.defineProperty({__proto__:null,MainPane:Dp,shouldShowRightSidebarHomePanel:go},Symbol.toStringTag,{value:"Module"}));export{si as A,Nc as C,Rc as F,kr as I,Jr as M,$a as P,Uc as R,cp as T,Xd as a,Nf as b,Af as c,Dc as d,$c as e,Ic as f,Cu as g,nm as h,eg as i,tm as j,Am as k,Zp as l,co as m,Mf as n,Id as o,bc as p,tg as q,Rf as r,to as s,Nu as u};
|