openpond 0.2.37 → 0.2.38
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.js +1 -1
- package/dist/chunks/actions-command-MHWHPQ66.js +2 -0
- package/dist/chunks/{app-layer-BDAKS3DG.js → app-layer-JZTMHORT.js} +1 -1
- package/dist/chunks/app-server-runtime-PDT6BJD2.js +2 -0
- package/dist/chunks/apps-U5GIOD6W.js +2 -0
- package/dist/chunks/{chunk-DXOOJFFU.js → chunk-25OT6IYM.js} +2 -2
- package/dist/chunks/chunk-3HQEEZPO.js +2 -0
- package/dist/chunks/{chunk-YQPECTJ2.js → chunk-562Q5UVS.js} +2 -2
- package/dist/chunks/chunk-7BGT6Q2D.js +8 -0
- package/dist/chunks/{chunk-6EAQL7YX.js → chunk-AOBTILU5.js} +1 -1
- package/dist/chunks/{chunk-3YA2CD22.js → chunk-DDHUSA3I.js} +1 -1
- package/dist/chunks/{chunk-XLVFY2BA.js → chunk-FKVP26MC.js} +1 -1
- package/dist/chunks/{chunk-5YUITAUN.js → chunk-FUFIZ37W.js} +2 -2
- package/dist/chunks/chunk-GIPSOLAY.js +2 -0
- package/dist/chunks/{chunk-I6DQSOSF.js → chunk-GKRTXVNT.js} +1 -1
- package/dist/chunks/{chunk-SL7XLTIT.js → chunk-GOHJHZVA.js} +204 -204
- package/dist/chunks/{chunk-3I5BMVJI.js → chunk-IKM6ICPY.js} +1 -1
- package/dist/chunks/{chunk-4R4KM6LL.js → chunk-J4S7AVGF.js} +1 -1
- package/dist/chunks/chunk-JUX77H6K.js +13 -0
- package/dist/chunks/chunk-KNEMKYHY.js +2 -0
- package/dist/chunks/chunk-MRGA6BKG.js +19 -0
- package/dist/chunks/{chunk-FQOVC2GR.js → chunk-OCWH4BV7.js} +135 -141
- package/dist/chunks/chunk-P5CFBE6Z.js +3 -0
- package/dist/chunks/chunk-Q3X5WOVH.js +4 -0
- package/dist/chunks/{chunk-L6NNQUAT.js → chunk-QK2GLRCY.js} +1 -1
- package/dist/chunks/chunk-RELOOVWW.js +2 -0
- package/dist/chunks/chunk-SBBXUZWL.js +5 -0
- package/dist/chunks/{chunk-UJLZRM2M.js → chunk-SHCKK3SU.js} +1 -1
- package/dist/chunks/chunk-SHCRE7B2.js +2 -0
- package/dist/chunks/{chunk-3N4GQL6I.js → chunk-T7Y5OYO2.js} +1 -1
- package/dist/chunks/chunk-TZNKOKQJ.js +5 -0
- package/dist/chunks/{chunk-Z3RBK6LN.js → chunk-V5BC6QT2.js} +1 -1
- package/dist/chunks/{chunk-DG4DIFF4.js → chunk-WCZRDULE.js} +7 -7
- package/dist/chunks/chunk-XHJUP7M4.js +23 -0
- package/dist/chunks/{chunk-OO7JG7KM.js → chunk-ZCDOE3EO.js} +3 -3
- package/dist/chunks/{chunk-S4RSY6CR.js → chunk-ZCFX6HQO.js} +1 -1
- package/dist/chunks/{chunk-KCFVJDIV.js → chunk-ZPGTGQJT.js} +1 -1
- package/dist/chunks/cli-OP4EDGZN.js +2 -0
- package/dist/chunks/{configuration-command-URDRLDNY.js → configuration-command-RPNYWBKK.js} +1 -1
- package/dist/chunks/{continual-6EW2SLGL.js → continual-MHMPLLUZ.js} +3 -3
- package/dist/chunks/core-commands-WFTASSGL.js +2 -0
- package/dist/chunks/datasets-V7E4I5N3.js +13 -0
- package/dist/chunks/desktop-test-NZAZVXLK.js +3 -0
- package/dist/chunks/dist-4OUZANXR.js +2 -0
- package/dist/chunks/experiments-7UBJCQAQ.js +2 -0
- package/dist/chunks/{extension-DG2XISC6.js → extension-OQ7CFD4Q.js} +1 -1
- package/dist/chunks/{help-ZLJV3ZVW.js → help-4BB2A5JC.js} +1 -1
- package/dist/chunks/hosted-harness-runtime-6TE37GBH.js +2 -0
- package/dist/chunks/hosted-profile-compiler-7ZWCIHPA.js +3 -0
- package/dist/chunks/opchat-QVB4UIZR.js +3 -0
- package/dist/chunks/organizations-MUKXB6MX.js +2 -0
- package/dist/chunks/{profile-LMRN5QMQ.js → profile-LZYR4CMX.js} +1 -1
- package/dist/chunks/project-agent-FHNWIH2D.js +2 -0
- package/dist/chunks/sandbox-command-GJN3HSJQ.js +2 -0
- package/dist/chunks/{sandbox-template-LN5OQ55F.js → sandbox-template-6RLQYNTY.js} +1 -1
- package/dist/chunks/{src-LRJO4THC.js → src-2NVS6PNZ.js} +112 -112
- package/dist/chunks/{src-A5KEQW52.js → src-PASASTIA.js} +5 -5
- package/dist/chunks/{taskset-YPKY3HUM.js → taskset-BZYQT65N.js} +1 -1
- package/dist/chunks/{teams-bot-RY5M6AOW.js → teams-bot-UQB636V3.js} +1 -1
- package/dist/chunks/training-7PST5HZU.js +1 -1
- package/dist/chunks/{workspaces-KZ6ZJXXY.js → workspaces-2KYAFRX4.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/web/assets/{App-BRZg56AC.js → App-BL1D_PLh.js} +9 -9
- package/dist/web/assets/{AppDialog-BR9UjEFe.js → AppDialog-CmPsGOzE.js} +1 -1
- package/dist/web/assets/{AppTerminalPanel-DNXVV6S_.js → AppTerminalPanel-0_Ewf4wJ.js} +2 -2
- package/dist/web/assets/{AppsView-DhaB7uT7.js → AppsView-Ddn9R2I-.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-zecj1P2T.js → BrowserSidebar-j2Yyiaz-.js} +1 -1
- package/dist/web/assets/{CartesianChart-DRhWC0XA.js → CartesianChart-BWAkc0mY.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-BzNNwOcD.js → CollaborationTabs-SVc7oX8N.js} +1 -1
- package/dist/web/assets/{CommandMenu-C7HuXmgN.js → CommandMenu-CcX5ypdX.js} +1 -1
- package/dist/web/assets/{CommunityView-C4HfU5ky.js → CommunityView-B7W1C8KG.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-CG8YZxWB.js → ComposerCreateImproveStrip-BBKdrbNP.js} +1 -1
- package/dist/web/assets/{GetStartedView-ZxtcgU5X.js → GetStartedView-BXuTBT4U.js} +1 -1
- package/dist/web/assets/HostedModelLearningReview-C3oAdyoF.js +1 -0
- package/dist/web/assets/{HostedModelLearningSettings-BKM_1-LZ.js → HostedModelLearningSettings-9e5z5eRf.js} +1 -1
- package/dist/web/assets/{LabModelVersionDetailPage-CklKwV_e.js → LabModelVersionDetailPage-CctGBUae.js} +1 -1
- package/dist/web/assets/{LabSkillSidebar-Cq_axOXr.js → LabSkillSidebar-Cl8Sdiqc.js} +1 -1
- package/dist/web/assets/{LabsRoute-BPGkQnKq.js → LabsRoute-di9O0XV1.js} +4 -4
- package/dist/web/assets/{MainChatThread-DvllW6Ej.js → MainChatThread-BaEeNsrh.js} +2 -2
- package/dist/web/assets/{MainPane-BaUIvio6.js → MainPane-Dw90VsN-.js} +4 -4
- package/dist/web/assets/{MarkdownText-DP7Hjp4L.js → MarkdownText-CGGUFrZe.js} +1 -1
- package/dist/web/assets/{NativeSkillSidebar-BSSKKH-y.js → NativeSkillSidebar-2mgh6WV4.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-cWw4m_pU.js → NewExperienceSwitcher-DMTe3jS9.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-BMzXEHsC.js → NewProjectDialog-D6pvuCoo.js} +1 -1
- package/dist/web/assets/{OutputsPage-CGWtgJ_j.js → OutputsPage-DMeIKxzN.js} +1 -1
- package/dist/web/assets/{ProjectsPage-C00Wt3oR.js → ProjectsPage-V5oXwB-5.js} +1 -1
- package/dist/web/assets/{RightChatPanelStack-0D_jpeAm.js → RightChatPanelStack-B0y2XNdm.js} +1 -1
- package/dist/web/assets/{RightSidebarHomePanel-BgHpI97K.js → RightSidebarHomePanel-BksZR71F.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-C-P_Jv04.js → ScheduledWorkPage-BRcVebWV.js} +1 -1
- package/dist/web/assets/{SettingsView-BJDvzvtZ.js → SettingsView-CtI170q1.js} +3 -3
- package/dist/web/assets/{TeamChatView-BdUQNXvx.js → TeamChatView-DWGM8eXj.js} +1 -1
- package/dist/web/assets/{TerminalOverlay-85H1eqcg.js → TerminalOverlay-DLSmAkbQ.js} +1 -1
- package/dist/web/assets/{TrainingCreationPanel-Bdx2BJzb.js → TrainingCreationPanel-C6e6zhC8.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-TcvqZfYS.js → TrainingDraftPanel-Q1GXOAlQ.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-Dm8bsNIT.js → UsageSettingsSection-UET2vS1c.js} +1 -1
- package/dist/web/assets/{WorkSidebarPanel-C9bKi4NH.js → WorkSidebarPanel-DMsXId2s.js} +1 -1
- package/dist/web/assets/{WorkspaceDiffPanel-CFzHklbv.js → WorkspaceDiffPanel-B_eZE-bq.js} +3 -3
- package/dist/web/assets/{WorkspaceEnvironmentMenu-_e6IkhGw.js → WorkspaceEnvironmentMenu-C848cDBP.js} +1 -1
- package/dist/web/assets/{WorkspaceGitDialogs-BglcR8S9.js → WorkspaceGitDialogs-CSnIC26s.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-BuipCT-i.js → WorkspaceMonacoEditor-C5dvv9s_.js} +3 -3
- package/dist/web/assets/{arrow-up-right-jN0p0koy.js → arrow-up-right-CsvQameJ.js} +1 -1
- package/dist/web/assets/{clipboard-Bat4as9H.js → clipboard-fZsv7_ot.js} +1 -1
- package/dist/web/assets/{cloud-upload-CFs0F_2n.js → cloud-upload-CUXNsLn2.js} +1 -1
- package/dist/web/assets/{cssMode-Cg4Jey3B.js → cssMode-1tbsSShK.js} +1 -1
- package/dist/web/assets/{folder-open-BqInWH_9.js → folder-open-Da8t5AtB.js} +1 -1
- package/dist/web/assets/{folder-plus-BSA6I7ld.js → folder-plus-X7B8dzc3.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-CLDqrpDQ.js → git-commit-horizontal-CajQIfK5.js} +1 -1
- package/dist/web/assets/{htmlMode-DHHN3vwk.js → htmlMode-qapgENKW.js} +1 -1
- package/dist/web/assets/{index-VtbQYCWA.js → index-DUQK09vA.js} +2 -2
- package/dist/web/assets/{info-BSebzpyp.js → info-BYfs9_PT.js} +1 -1
- package/dist/web/assets/{jsonMode-mvqMGlEK.js → jsonMode-DYPkWxLK.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-Bw_QMGcP.js → lspLanguageFeatures-Cbcp__rz.js} +1 -1
- package/dist/web/assets/{minimize-2-CaHjbHpF.js → minimize-2-Dp7tWjno.js} +1 -1
- package/dist/web/assets/{monaco.contribution-DubQum0F.js → monaco.contribution-COP3_DCK.js} +2 -2
- package/dist/web/assets/{monaco.contribution-KrPDFXc4.js → monaco.contribution-CcL6YtdZ.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CBkwYqsg.js → monaco.contribution-DApKEq_e.js} +2 -2
- package/dist/web/assets/{monaco.contribution-CiXEi4Ka.js → monaco.contribution-cIq6c5M4.js} +2 -2
- package/dist/web/assets/{monitor-DwOfVMY6.js → monitor-nP1D5S_1.js} +1 -1
- package/dist/web/assets/{python-BPnA89YS.js → python-DXYfRGSs.js} +1 -1
- package/dist/web/assets/{refresh-cw-DO-hUyTn.js → refresh-cw-D_9Q01ox.js} +1 -1
- package/dist/web/assets/{save-C7WFI7Mn.js → save-BxG7d5Nm.js} +1 -1
- package/dist/web/assets/{square-DiLQ59tw.js → square--Ua9DQPL.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BWFPIQBM.js → toggleHighContrast-CqAtkn5E.js} +1 -1
- package/dist/web/assets/{tsMode-CWxqU0x6.js → tsMode-BCdfa4wT.js} +1 -1
- package/dist/web/assets/{upload-vUnuWYGk.js → upload-BkYSJcbc.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-BFbGmflA.js → useLocalAgentSchedules-CGlPbPZr.js} +1 -1
- package/dist/web/assets/{useSessionTurnCache-C0zgYrCB.js → useSessionTurnCache-DtNQyWXl.js} +1 -1
- package/dist/web/assets/{wifi-off-DbNO6u3Z.js → wifi-off-DF8YmlRa.js} +1 -1
- package/dist/web/assets/{workers-4I09fePv.js → workers-BUHY0ojx.js} +1 -1
- package/dist/web/assets/{yaml-DpHYonDY.js → yaml-CtBzXx8s.js} +1 -1
- package/dist/web/index.html +1 -1
- package/docs/command-reference.md +35 -0
- package/package.json +3 -1
- package/dist/chunks/actions-command-GNQREIDD.js +0 -2
- package/dist/chunks/app-server-runtime-D74FFS27.js +0 -2
- package/dist/chunks/apps-2SUP5JZE.js +0 -2
- package/dist/chunks/chunk-2O5UZOYL.js +0 -13
- package/dist/chunks/chunk-3LG4G5JR.js +0 -3
- package/dist/chunks/chunk-BLXEK5F7.js +0 -26
- package/dist/chunks/chunk-DAOLQUAK.js +0 -19
- package/dist/chunks/chunk-EIB7GHIQ.js +0 -4
- package/dist/chunks/chunk-FFEI7IRU.js +0 -2
- package/dist/chunks/chunk-FOW3LI6G.js +0 -2
- package/dist/chunks/chunk-IYROEHYB.js +0 -2
- package/dist/chunks/chunk-TZ6N7WFI.js +0 -5
- package/dist/chunks/chunk-XISNUB62.js +0 -2
- package/dist/chunks/cli-A2P56J7R.js +0 -2
- package/dist/chunks/core-commands-CMAAUKPQ.js +0 -2
- package/dist/chunks/desktop-test-5PKGG6H6.js +0 -3
- package/dist/chunks/dist-CEKBK32A.js +0 -2
- package/dist/chunks/hosted-harness-runtime-ABEMAABI.js +0 -2
- package/dist/chunks/hosted-profile-compiler-CSLJT75T.js +0 -3
- package/dist/chunks/opchat-IMGIFM4W.js +0 -3
- package/dist/chunks/organizations-G3UOHURO.js +0 -2
- package/dist/chunks/project-agent-DTAVYEB6.js +0 -2
- package/dist/chunks/sandbox-command-YO6RR5SD.js +0 -2
- package/dist/web/assets/HostedModelLearningReview-BhGIhvoc.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-
|
|
2
|
-
import{r as o,j as n,_ as ge}from"./index-VtbQYCWA.js";import{c as Le,b as da,a as Mo,u as No,d as Ao,e as Eo,s as Qs,A as ni,C as It,P as Wn,f as er,g as qn,h as $t,i as Wr,F as Gr,r as Ro,j as $o,k as Io,O as To,l as Zr,B as Po,m as ut,n as ea,o as _o,p as Lo,q as Oo,t as zo,v as Fo,w as _e,X as Ns,x as si,y as Do,D as fa,z as ma,S as Bo,E as ha,G as ta,H as ri,I as Uo,J as qo,K as Vo,L as Ho,M as Ht,N as na,Q as Un,R as pa,T as ai,U as Wo,V as Go,W as Ko,Y as Qo,Z as Xo,_ as Jo,$ as Yo,a0 as Zo,a1 as el,a2 as ii,a3 as tl,a4 as nl,a5 as sl,a6 as rl,a7 as al,a8 as il,a9 as ol,aa as ll,ab as Wt,ac as Kr,ad as Xs,ae as cl,af as oi,ag as ul,ah as dl,ai as li,aj as fl,ak as ci,al as ml,am as hl,an as pl,ao as gl,ap as xl,aq as sa,ar as bl,as as vl,at as jl,au as yl,av as ga,aw as kl,ax as Sl,ay as bt,az as xa,aA as Cl,aB as wl,aC as Ml,aD as Nl,aE as Al,aF as El,aG as Rl,aH as $l,aI as Il,aJ as Tl,aK as Pl,aL as _l,aM as Ll,aN as Ol,aO as zl,aP as Fl}from"./App-BRZg56AC.js";import{C as Dl}from"./cloud-upload-CFs0F_2n.js";import{A as or}from"./arrow-up-right-jN0p0koy.js";import{T as Bl,B as ys,W as tr,P as Ul,F as ql,C as Vl,A as Hl,a as ui,r as Wl,M as di,n as fi,b as mi,c as hi,I as pi,u as gi,d as Gl,e as Kl,f as Ql}from"./MarkdownText-DP7Hjp4L.js";import{S as xi}from"./square-DiLQ59tw.js";import{F as bi}from"./folder-open-BqInWH_9.js";import{R as Xl,P as Jl}from"./refresh-cw-DO-hUyTn.js";function vi(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const Yl=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Zl=Le("arrow-down",Yl);const ec=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],tc=Le("arrow-up",ec);const nc=[["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"}]],ba=Le("at-sign",nc);const sc=[["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"}]],rc=Le("badge-check",sc);const ac=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ic=Le("ban",ac);const oc=[["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"}]],lc=Le("circle-dashed",oc);const cc=[["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"}]],uc=Le("cloud-download",cc);const dc=[["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"}]],fc=Le("file-headphone",dc);const mc=[["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"}]],hc=Le("file-spreadsheet",mc);const pc=[["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"}]],gc=Le("file-play",pc);const xc=[["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"}]],dr=Le("image",xc);const bc=[["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"}]],ji=Le("lightbulb",bc);const vc=[["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"}]],jc=Le("mic",vc);const yc=[["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"}]],va=Le("paperclip",yc);const kc=[["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"}]],Sc=Le("presentation",kc);const Cc=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],wc=Le("reply",Cc);const Mc=[["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"}]],Nc=Le("circle-x",Mc);function Ac(e){const t=_c(e);if(t)return t;const s=Pc();let r="";const a=[],i=[],l=[];for(const m of e){if(!r&&m.label&&(r=m.label),Qc(i,m.label),Xc(l,m),m.kind==="command"&&m.content){Lc(s,zc(m.content));continue}Oc(s,m)||Kc(a,m.label)}const c=[...Dc(s),...i,...l],d=s.runCount>0?Wc(s.runCount):"",f=eu(a),y=(e.length===1&&e[0]?.kind==="command"&&e[0].content&&i.length===0&&l.length===0?yi(e[0].content,"completed"):null)||Gc(c,d)||f||r||"Ran command";return{kind:Hc(s,d),text:y}}function yi(e,t="completed"){const s=wi(e);if(s.length===0)return null;const r=t==="running"||t==="pending";if(s.some(Mi))return r?"Running shell command":"Ran shell command";const a=ki(s);if(!a)return null;const[i,l]=a;if(i==="cat"){const d=Gt(l);return d.length===0?r?"Reading standard input":"Read standard input":`${r?"Reading":"Read"} ${hn(d)}`}if(i==="sed")return Tc(nu([i,...l]),r);if(i==="rg")return su([i,...l],r);if(["grep","ag"].includes(i)||i==="git"&&l[0]==="grep")return r?"Searching code":"Searched code";if(["ls","find","tree","fd"].includes(i)){const d=i==="ls"?Gt(l):[];return d.length===0?r?"Listing files":"Listed files":`${r?"Listing":"Listed"} files in ${hn(d)}`}if(["head","tail","nl","wc","awk","jq"].includes(i)){const d=Ci(i,l);return d.length===0?r?`Running ${i}`:`Ran ${i}`:`${r?"Reading":"Read"} ${hn(d)}`}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 Ec(l,r);if(Ic(i))return Rc(i,l,r);if(Si(i))return $c(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 ${ks(i)} script`:`Ran ${ks(i)} script`;const c=ks(i);return r?`Running ${c} command`:`Ran ${c} command`}function Ec(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 Rc(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 ${ks(e)} command`:`Ran ${ks(e)} command`}function $c(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 Ic(e){return["bun","npm","pnpm","yarn"].includes(e)}function ks(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 Tc(e,t){return!e||!t?e:e.startsWith("Read ")?`Reading ${e.slice(5)}`:e.startsWith("Run ")?`Running ${e.slice(4)}`:e}function Pc(){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 _c(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?ja(s,"received"):null,r>0?ja(r,"sent"):null].filter(i=>!!i);return{kind:"subagent",text:lr(ra(a))}}function ja(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function Lc(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 Oc(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 qc(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 zc(e){const t=wi(e);if(t.length===0||t.some(Mi))return{countedAsRun:!0};const s=ki(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(Fc(r,a)||Si(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=Ci(r,a);return i.length>0?{countedAsRun:!1,readFiles:i}:{countedAsRun:!0}}function ki(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 Fc(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 Si(e){return["eslint","jest","playwright","prettier","tsc","vitest"].includes(e)}function Ci(e,t){if(e==="cat"||e==="nl"||e==="head"||e==="tail"||e==="wc")return Or(Gt(t));if(e==="sed"){const s=t.findIndex(r=>r!=="-n"&&!r.startsWith("--"));return Or(s>=0?Gt(t.slice(s+1)):[])}return e==="awk"||e==="jq"?Or(Gt(t.slice(1))):[]}function Or(e){return e.filter(t=>!(!t||t==="."||t==="-"||/^\d+$/.test(t)))}function Dc(e){const t=[],s=Uc(e);s&&t.push(s),e.editCount>0&&t.push("made edits");const r=e.readFiles.size||e.readFileCount;return r>0&&t.push(ka("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(ka("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(...Bc(e)),t}function Bc(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 Uc(e){const t=Vc(e);return t.failed>0?Et(t.failed,"failed"):t.blocked>0?Et(t.blocked,"blocked"):t.stale>0?Et(t.stale,"stale"):t["needs revision"]>0?Et(t["needs revision"],"needs revision"):t.submitted>0?Et(t.submitted,"submitted"):t.running>0&&t.completed===0&&t.accepted===0?Et(t.running,"running"):t.accepted>0?Et(t.accepted,"accepted"):t.completed>0?Et(t.completed,"completed"):t.archived>0?Et(t.archived,"archived"):null}function qc(e,t,s){const r=t.openSession?.sessionId??(t.content.trim()||t.id),a=e.subagentStatuses.get(r);(!a||ya(s)>ya(a))&&e.subagentStatuses.set(r,s)}function Vc(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 ya(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 Et(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function Hc(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 Wc(e){return e===1?"ran a command":`ran ${e} commands`}function ka(e,t,s){return t===1?`${e} a ${s}`:`${e} ${t} ${s}s`}function Gc(e,t){return e.length===0?t?lr(t):"":lr(ra(t?[...e,t]:e))}function Kc(e,t){const s=t.trim();s&&(e.includes(s)||e.push(s))}function Qc(e,t){const s=Jc(t);!s||e.includes(s)||e.push(s)}function Xc(e,t){const s=t.receipt;if(!s)return;const r=`${s.status} receipt ${Zc(s.id)} ${Yc(s.totalUsd)}`;e.includes(r)||e.push(r)}function Jc(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 Yc(e){const t=e.trim();return t.startsWith("$")?t:`$${t}`}function Zc(e){const t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function eu(e){return e.length===0?"":lr(ra(e.map(tu)))}function tu(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function ra(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 lr(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function nu(e){const t=e.findIndex((i,l)=>l>0&&i!=="-n"&&!i.startsWith("--")),s=t>=0?e[t]??"":"",r=t>=0?Gt(e.slice(t+1)):[],a=/^(\d+)(?:,(\d+))?p$/.exec(s);if(a){const i=a[1],l=a[2],c=l?`lines ${i}-${l}`:`line ${i}`;return r.length>0?`Read ${c} of ${hn(r)}`:`Read ${c}`}return r.length>0?`Read ${hn(r)} with sed`:"Run sed"}function su(e,t=!1){const s=e.slice(1);if(s.includes("--files")){const l=Gt(s.filter(c=>c!=="--files"));return l.length>0?`${t?"Listing":"Listed"} files matching ${hn(l)}`:t?"Listing files":"Listed files"}const r=Gt(s),a=r[0],i=r.slice(1);return a?i.length>0?`${t?"Searching":"Searched"} for ${Sa(a)} in ${hn(i)}`:`${t?"Searching":"Searched"} for ${Sa(a)}`:t?"Searching files":"Searched files"}function wi(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(s=>ru(s)).filter(Boolean)}function ru(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Mi(e){return["|","&&","||",";",">",">>","<","(",")"].includes(e)}function Gt(e){const t=[];for(let s=0;s<e.length;s+=1){const r=e[s];if(!r.startsWith("-")){t.push(r);continue}au(r)&&s+1<e.length&&(s+=1)}return t}function au(e){return["-e","-f","-g","--glob","--type","-t","--context","-C","-A","-B","-m","-n","-c"].includes(e)}function hn(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function Sa(e){return`"${e}"`}const Ca=Object.freeze({events:[],messages:[]});class iu{projection=Ca;project(t){if(t===this.projection.events)return this.projection.messages;if(!cu(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=ou(this.projection.messages,s);if(r)return this.projection={events:t,messages:r},r;const a=lu(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),l=new Set(i.flatMap(f=>f.turnId?[f.turnId]:[])),d=[...this.projection.messages.filter(f=>!f.turnId||!l.has(f.turnId)),...da(i)];return this.projection={events:t,messages:d},d}reset(){this.projection=Ca}snapshot(){return this.projection}replace(t){const s=da(t);return this.projection={events:t,messages:s},s}}function ou(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,l=!1,c=!1;for(const f of t)f.name==="assistant.delta"?(r=`${r??""}${f.output}`,l=!0):(a=`${a??""}${f.output}`,c=!0),i=f.timestamp;const d={...s,...l?{content:r}:{},...c?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),d]}function lu(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 cu(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 uu(e,t){const s=o.useCallback(i=>t?e.subscribeSession(t,i):()=>{},[t,e]),r=o.useCallback(()=>e.getSessionSnapshot(t),[t,e]),a=o.useSyncExternalStore(s,r,r);return o.useEffect(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),a}function du(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"?Mo(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 fu(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 fr(e){return`$${e.name}`}function mu(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),l=e.slice(a),c=i&&!/\s$/.test(i)?" ":"",d=l&&/^\s/.test(l)?"":" ",f=`${c}${fr(s)}${d}`;return{cursor:i.length+f.length-(l?d.length:0),value:`${i}${f}${l}`}}function nr(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,l)=>i.name.localeCompare(l.name));return typeof s=="number"&&Number.isFinite(s)?a.slice(0,Math.max(0,s)):a}function Ni(e,t,s){const r=t.trim().replace(/\s+/g," "),a=hu(s,e.length);if(!r)return{value:e,cursorIndex:a};const i=e.slice(0,a),l=e.slice(a),c=i&&!/\s$/.test(i)?" ":"",d=l&&!/^\s/.test(l)?" ":"",f=`${c}${r}${d}`;return{value:`${i}${f}${l}`,cursorIndex:i.length+c.length+r.length+d.length}}function hu(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function pu({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:s,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:l,transcript:c}){const d=Ni(a,c,e?a.length:s);return i(d.value),t===r?"drafted":await l(d.value)?(i(""),"submitted"):"retained"}const Vn=new Map,sr=new Map,rr=new Map;function wa(e){for(const t of sr.get(e)??[])t()}function gu(e){return Vn.has(e)}function xu(e,t){const s=sr.get(e)??new Set;return s.add(t),sr.set(e,s),()=>{s.delete(t),s.size===0&&sr.delete(e)}}function Ai(e){Vn.get(e)?.controller.abort()}function bu(e,t){const s=rr.get(e)??new Set;return s.add(t),rr.set(e,s),()=>{s.delete(t),s.size===0&&rr.delete(e)}}function vu(e){const t=Vn.get(e);if(t)return t.submitRequested=!0,!0;for(const s of rr.get(e)??[])if(s())return!0;return!1}function ju(e,t,s={}){Ai(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(()=>{Vn.get(e)===a&&(Vn.delete(e),wa(e))}),Vn.set(e,a),wa(e),a.promise}const yu=new Set(["task.inbox","task.input","task.wait","turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved"]);function Ma(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 ku(e,t,s){const r=No(),a=Ao(e),i=o.useMemo(()=>["task-inbox",a,t],[a,t]),l=!!(e&&t),c=Eo({queryKey:i,enabled:l,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>Qs.taskInbox(e,t)}),[d,f]=o.useState(null),[g,y]=o.useState(null),m=`${a}:${t}`;let b;for(let v=s.length-1;v>=0;v--){const C=s[v];if(C.sessionId===t&&yu.has(C.name)){b=C.id;break}}const h=o.useCallback(async()=>{l&&await r.invalidateQueries({queryKey:i,exact:!0})},[l,r,i]);o.useEffect(()=>{h()},[h,b]),o.useEffect(()=>{const v=()=>{h()};return window.addEventListener("openpond-runtime-connected",v),()=>window.removeEventListener("openpond-runtime-connected",v)},[h]);async function x(v,C){if(!l)return!1;f({scope:m,id:v}),y(null);try{const S=await C();return await r.cancelQueries({queryKey:i,exact:!0}),r.setQueryData(i,R=>R&&{...R,inputs:[...R.inputs.filter(M=>M.id!==S.id),S].sort((M,N)=>M.sequence-N.sequence)}),h(),!0}catch(S){return y({scope:m,message:S instanceof Error?S.message:String(S)}),h(),!1}finally{f(S=>S?.scope===m&&S.id===v?null:S)}}async function A(v,C,S){if(!e||!t)return!1;const R=`openpond:task-input:${e.serverUrl}:${t}`,M=Ma(R),N=M?.body===C&&M.kind===v,O=N?M:{body:C,kind:v,request:S,key:crypto.randomUUID(),turnId:v==="steer"?c.data?.activeTurnId??null:null};if(v==="steer"&&(!O.turnId||!N&&!c.data?.acceptingInput))return y({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."}),h(),!1;try{sessionStorage.setItem(R,JSON.stringify(O))}catch{}const $=await x(O.key,async()=>{let z;try{z=await(v==="steer"?Qs.steerTurn(e,t,{prompt:C,expectedTurnId:O.turnId,idempotencyKey:O.key}):Qs.queueTaskInput(e,t,O.request,O.key))}catch(q){if(q instanceof ni&&q.status>=400&&q.status<500)try{sessionStorage.removeItem(R)}catch{}throw q}if(z.state==="rejected"||z.state==="cancelled"){try{sessionStorage.removeItem(R)}catch{}throw new Error(z.error??"This input was cancelled. Review your text before sending again.")}return z});if($)try{Ma(R)?.key===O.key&&sessionStorage.removeItem(R)}catch{}return $}return{enabled:l,snapshot:c.data??null,busyId:d?.scope===m?d.id:null,error:g?.scope===m?g.message:c.error?.message??null,steer:v=>A("steer",v),queue:v=>A("queued",v.prompt,v),mutate:(v,C)=>x(v.id,()=>Qs.updateTaskInput(e,t,v.id,C)),refresh:h}}function Su(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function Ss(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 Ei(e,t={}){const s=t.now??new Date().toISOString();return{createdAt:s,id:t.id??Su(),prompt:e,updatedAt:s}}function Ri(e,t){return e.filter(s=>s.id!==t)}function Cu(e,t,s){const r=s?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Ei(r)]:[])}function wu(e,t,s){return s?Ri(e,t):e}function Qr(e,t,s=[]){return e[t]??s}function Mu(e,t,s,r=[]){const a=Qr(e,t,r),i=s(a);return Object.is(a,i)?e:{...e,[t]:i}}function Nu({inbox:e,onRestore:t}){const[s,r]=o.useState(null),a=e.snapshot,i=a?.inputs.filter(d=>d.senderKind==="user"&&d.kind==="queued"&&d.state==="pending")??[],l=a?.inputs.filter(d=>d.state!=="cancelled"&&!i.some(f=>f.id===d.id)).slice(-8)??[],c=s?.input.sessionId===a?.sessionId?s:null;return!i.length&&!l.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(d=>n.jsxs("p",{className:"task-inbox-status",role:"status",children:[d.targetSessionId?`Waiting for task ${d.targetSessionId}`:"Waiting for a message",". Work resumes when an update arrives."]},d.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(d=>n.jsx("div",{className:"task-inbox-item",children:c?.input.id===d.id?n.jsxs(n.Fragment,{children:[n.jsx("textarea",{"aria-label":"Edit queued message",value:c.body,maxLength:32e3,onChange:f=>r({...c,body:f.target.value})}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("button",{type:"button",disabled:!c.body.trim()||!!e.busyId,onClick:async()=>{await e.mutate(c.input,{action:"edit",expectedRevision:c.input.revision,body:c.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:d.body,children:Ss(d.body,220)}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("span",{children:d.turnId?"Starting":"Next turn"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId||!a?.acceptingInput,onClick:()=>{e.mutate(d,{action:"steer",expectedRevision:d.revision,expectedTurnId:a.activeTurnId})},children:"Steer now"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>r({input:d,body:d.body}),children:"Edit"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>{e.mutate(d,{action:"cancel",expectedRevision:d.revision})},children:"Delete"})]})]})},d.id))]}),l.length>0&&n.jsxs("details",{className:"task-inbox-activity",open:l.some(d=>d.state==="rejected"||!!d.error),children:[n.jsxs("summary",{children:["Messages and delivery (",l.length,")"]}),l.map(d=>n.jsxs("div",{className:"task-inbox-item",children:[n.jsxs("div",{className:"task-inbox-heading",children:[n.jsx("span",{children:d.senderKind==="user"?"Your instruction":d.senderKind==="runtime"?"Task update":`Task ${d.senderSessionId}`}),n.jsx("span",{children:Au(d)})]}),n.jsx("p",{children:Ss(d.body,320)}),d.error&&n.jsx("p",{className:"task-inbox-error",children:d.error}),(d.state==="rejected"||d.error)&&d.senderKind==="user"&&n.jsx("button",{type:"button",onClick:()=>t(d.body),children:"Use as follow-up"})]},d.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 Au(e){return e.state==="pending"?"Saved · pending delivery":e.state==="included"?"Included":e.state==="resolved"?"Request finished":e.state==="rejected"?"Not delivered":"Cancelled"}function $i({busy:e,placement:t,state:s,onChange:r}){const[a,i]=o.useState(!1),[l,c]=o.useState(""),d=o.useRef(null),f=o.useMemo(()=>{const g=l.trim().toLowerCase();return g?s.options.filter(y=>`${y.label} ${y.detail}`.toLowerCase().includes(g)):s.options},[l,s.options]);return o.useEffect(()=>{if(!a){c("");return}function g(m){d.current?.contains(m.target)||i(!1)}function y(m){m.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",g),document.addEventListener("keydown",y),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",y)}},[a]),s.options.length<=1?null:n.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:d,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(g=>!g),children:[n.jsx("span",{children:s.label}),n.jsx(It,{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:l,placeholder:"Search profiles",onChange:g=>c(g.currentTarget.value)})}),n.jsx("div",{className:"composer-menu-items",children:f.map(g=>{const y=g.value===s.value;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":y,className:`composer-project-option ${y?"selected":""}`,onClick:()=>{r(g.value),i(!1)},children:[n.jsxs("span",{children:[n.jsx("strong",{children:g.label}),n.jsx("small",{children:g.detail})]}),y?n.jsx($t,{size:14}):null]},g.value)})})]}):null]})}function Eu({busy:e,placement:t,state:s,onChange:r}){const[a,i]=o.useState(!1),[l,c]=o.useState(!1),[d,f]=o.useState(""),g=o.useRef(null),m=s.value==="none"?"Select Project":s.label,b=s.options.find(S=>S.value===s.value)?.kind??"local",h=o.useMemo(()=>{const S=d.trim().toLowerCase();return S?s.options.filter(R=>[R.label,R.detail].filter(Boolean).some(M=>M.toLowerCase().includes(S))):s.options},[d,s.options]),x=h.filter(S=>S.kind==="local"||S.kind==="cloud"),A=h.filter(S=>S.kind==="action"),v=h.filter(S=>S.kind==="none");o.useEffect(()=>{if(!a){f(""),c(!1);return}function S(M){g.current?.contains(M.target)||i(!1)}function R(M){M.key==="Escape"&&(l?c(!1):i(!1))}return document.addEventListener("pointerdown",S),document.addEventListener("keydown",R),()=>{document.removeEventListener("pointerdown",S),document.removeEventListener("keydown",R)}},[l,a]);function C(S){const R=S.value===s.value,M=e||S.disabled,N=S.kind==="action";return n.jsxs("button",{type:"button",role:N?"menuitem":"menuitemradio","aria-checked":N?void 0:R,className:`composer-project-option ${R?"selected":""} ${S.kind}`,disabled:M,onClick:()=>{r(S.value),c(!1),i(!1)},children:[n.jsx(Xr,{kind:S.kind,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:S.label}),n.jsx("small",{children:S.detail})]}),R&&n.jsx($t,{size:14})]},S.value)}return n.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:g,children:[n.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${b}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(S=>!S),c(!1)},children:[n.jsx(Xr,{kind:b,size:14}),n.jsx("span",{children:m}),n.jsx(It,{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:d,placeholder:"Search projects",onChange:S=>f(S.target.value)})}),n.jsx("div",{className:"composer-menu-items",children:h.length===0?n.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):x.map(C)}),A.length>0||v.length>0?n.jsxs("div",{className:"composer-project-actions",children:[A.length>0?n.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${l?"selected":""}`,"aria-haspopup":"menu","aria-expanded":l,onClick:()=>c(S=>!S),children:[n.jsx(Wn,{size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:"New"}),n.jsx("small",{children:"Create or add a project"})]}),n.jsx(er,{size:14})]}):null,v.map(C)]}):null]}),a&&l?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:()=>c(!1),children:[n.jsx(qn,{size:14}),n.jsx("span",{children:"New project"})]}),A.map(C)]}):null]})}function Xr({kind:e,size:t}){return e==="cloud"?n.jsx(Wr,{size:t}):e==="action"?n.jsx(Wn,{size:t}):n.jsx(Gr,{size:t})}function Ru({busy:e,placement:t,state:s,onChange:r}){const[a,i]=o.useState(!1),l=o.useRef(null),c=s.value==="cloud"?"cloud":s.value==="hybrid"?"hybrid":"local",d=`${s.label}: ${s.detail}`,f=s.uploadAction??null,g=f?Na(f):null,y=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${g??f.detail}`:null,m=!!(f&&(e||s.busy||f.disabled));return o.useEffect(()=>{if(!a)return;function b(x){l.current?.contains(x.target)||i(!1)}function h(x){x.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",b),document.addEventListener("keydown",h),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",h)}},[a]),n.jsxs("div",{className:`workspace-action-control ${t==="top"?"open-up":""}`,ref:l,children:[n.jsxs("button",{type:"button",className:`workspace-action-trigger ${c} ${a?"active":""}`,disabled:e,"data-tooltip":d,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(b=>!b),children:[n.jsx(ar,{value:s.value,size:14}),n.jsx("span",{className:"workspace-target-trigger-label",children:s.label}),n.jsx(It,{size:14})]}),f?n.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:m,"data-tooltip":y??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:n.jsx(ar,{value:f.value,size:14})}):null,a&&n.jsx("div",{className:"workspace-target-menu",role:"menu","aria-label":"Working in",children:s.options.map(b=>{const h=b.value===s.value,x=e||s.busy||b.disabled,v=Na(b)??b.detail,C=b.disabled&&b.disabledReason?b.disabledReason:`${b.label}: ${v}`;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":h,className:`workspace-target-option ${h?"selected":""} ${b.value}`,disabled:x,"data-tooltip":C,onClick:()=>{r(b.value),i(!1)},children:[n.jsx(ar,{value:b.value,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:b.label}),n.jsx("small",{children:v})]}),h&&n.jsx($t,{size:14})]},b.value)})})]})}function $u({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(Xr,{kind:r,size:14}),n.jsx("span",{children:a})]}),n.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[n.jsx(ar,{value:t.value,size:14}),n.jsx("span",{children:t.label})]})]})}function Na(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function ar({value:e,size:t}){return e==="cloud"?n.jsx(Wr,{size:t}):e==="hybrid"?n.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[n.jsx(Gr,{className:"hybrid-folder",size:t}),n.jsx(Wr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?n.jsx(Dl,{size:t}):n.jsx(Gr,{size:t})}function Aa({disabled:e,model:t,modelGroups:s,placement:r,provider:a,providerSettings:i,reasoningEffort:l,showReasoning:c,onModelSelectionChange:d,onProviderSetupOpen:f,onReasoningEffortChange:g}){const[y,m]=o.useState(!1),[b,h]=o.useState("root"),x=o.useRef(null),A=s.find($=>$.provider===a),v=A?.options.find($=>$.value===t),C=Ro(a,t,i),S=$o(a,t,l,i),R=C.find($=>$.value===S)??C[0],M=Iu(v?.label??t),N=c?`${M} ${R.shortLabel??R.label}`:M,O=c?"Model and reasoning":"Model";return o.useEffect(()=>{if(!y){h("root");return}function $(q){x.current?.contains(q.target)||m(!1)}function z(q){q.key==="Escape"&&m(!1)}return document.addEventListener("pointerdown",$),document.addEventListener("keydown",z),()=>{document.removeEventListener("pointerdown",$),document.removeEventListener("keydown",z)}},[y]),o.useEffect(()=>{!c&&b==="effort"&&h("root")},[b,c]),n.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":O,ref:x,children:[n.jsxs("button",{type:"button",className:`codex-model-trigger ${y?"active":""}`,disabled:e,"aria-label":O,"aria-haspopup":"menu","aria-expanded":y,onClick:()=>m($=>!$),children:[n.jsx("span",{children:N}),n.jsx(It,{size:14})]}),y&&n.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":O,children:b==="root"?n.jsxs("div",{className:"codex-model-menu-root",children:[n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>h("provider"),children:[n.jsx("span",{children:"Provider"}),n.jsx("span",{className:"codex-model-menu-value",children:A?.label??a}),n.jsx(er,{size:14})]}),n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>h("model"),children:[n.jsx("span",{children:"Model"}),n.jsx("span",{className:"codex-model-menu-value",children:v?.label??t}),n.jsx(er,{size:14})]}),c?n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>h("effort"),children:[n.jsx("span",{children:"Effort"}),n.jsx("span",{className:"codex-model-menu-value",children:R.shortLabel??R.label}),n.jsx(er,{size:14})]}):null]}):b==="provider"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Provider",onClick:()=>h("root"),children:[n.jsx(qn,{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($=>{const z=$.provider===a;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":z,className:z?"selected":"",onClick:()=>{const q=$.options.find(te=>te.value===$.defaultModel)??$.options[0];q&&(d($.provider,q.value),h("root"))},children:[n.jsx("span",{children:$.label}),z?n.jsx($t,{size:14}):null]},$.provider)})}),n.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{m(!1),f?.()},children:n.jsxs("span",{className:"codex-model-menu-option-label",children:[n.jsx(Wn,{size:13}),n.jsx("span",{children:"New Model/Provider"})]})})]}):b==="model"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Model",onClick:()=>h("root"),children:[n.jsx(qn,{size:14}),n.jsx("span",{children:"Model"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),n.jsxs("div",{className:"codex-model-menu-options",children:[(A?.options??[]).map($=>{const z=$.value===t;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":z,className:z?"selected":"",onClick:()=>{d(a,$.value),h("root")},children:[n.jsx("span",{children:$.label}),z?n.jsx($t,{size:14}):null]},$.value)}),A?.options.length?null:n.jsx("div",{className:"codex-model-menu-empty",children:"No models from this provider"})]}),n.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{m(!1),f?.()},children:n.jsxs("span",{className:"codex-model-menu-option-label",children:[n.jsx(Wn,{size:13}),n.jsx("span",{children:"New Model/Provider"})]})})]}):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:()=>h("root"),children:[n.jsx(qn,{size:14}),n.jsx("span",{children:"Effort"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),C.map($=>n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":$.value===S,className:$.value===S?"selected":"",onClick:()=>{g($.value),h("root")},children:[n.jsx("span",{children:$.label}),$.value===S?n.jsx($t,{size:14}):null]},$.value))]})})]})}function Iu(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function Tu({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(It,{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 Pu({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 l=t===i.id,c=Ss(i.prompt);return n.jsxs("div",{className:`composer-steer-row ${l?"sending":""}`,children:[n.jsx("span",{className:"composer-steer-row-icon","aria-hidden":"true",children:n.jsx(wc,{size:13})}),n.jsx("span",{className:"composer-steer-row-text",title:i.prompt,children:c}),n.jsxs("button",{type:"button",className:"composer-steer-row-action primary",disabled:l,"aria-label":`Steer: ${Ss(i.prompt,60)}`,onClick:()=>a(i.id),children:[n.jsx(or,{size:12}),n.jsx("span",{children:l?"Sending":"Steer"})]}),n.jsx("button",{type:"button",className:"composer-steer-row-icon-button",disabled:l,"data-tooltip":"Delete steer draft","aria-label":"Delete steer draft",onClick:()=>s(i.id),children:n.jsx(Bl,{size:13})}),n.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:l,"aria-label":`Edit: ${Ss(i.prompt,60)}`,onClick:()=>r(i),children:n.jsx("span",{children:"Edit"})})]},i.id)})})}const _u=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,Lu=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,Ou=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"]),zu=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function Fu(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function Du(e){return e==="github"?Ou:zu}function Ii(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;Bu(t);)t=t.slice(0,-1);return t}function Bu(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 Uu(e){return e.replace(/\.git$/i,"")}function Ti(e){try{return decodeURIComponent(e)}catch{return e}}function qu(e){return Uu(Ti(e.trim()))}function Pi(e){const t=e.host.toLowerCase().replace(/^www\./,""),s=Fu(t);if(!s)return null;const r=Ti(e.owner?.trim()??""),a=qu(e.repo??"");return!r||!a||Du(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 Vu(e,t){const s=Ii(e);if(!s)return null;try{const r=new URL(/^https?:\/\//i.test(s)?s:`https://${s}`),a=r.pathname.split("/").filter(Boolean);return Pi({end:t+s.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:s})}catch{return null}}function Hu(e,t){const s=Ii(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(s);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Pi({end:t+s.length,host:a,owner:i[0],repo:i[1],start:t,url:s})}function Ea(e,t,s){const r=[];t.lastIndex=0;let a;for(;a=t.exec(e);){const i=a[0]??"",l=s(i,a.index);l&&r.push(l)}return r}function Wu(e){if(!e)return[];const t=[...Ea(e,_u,Vu),...Ea(e,Lu,Hu)].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 Gu=10,Ku=340,Qu=320,Xu=160,Ju=56;function Rt(e,t=0){const s=Number.parseFloat(e);return Number.isFinite(s)?s:t}function zr(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),s=Rt(t.fontSize,16),r=Rt(t.lineHeight,s*1.45),a=Rt(t.paddingTop)+Rt(t.paddingBottom),i=Rt(t.borderTopWidth)+Rt(t.borderBottomWidth),l=Rt(t.minHeight,66),c=Math.max(l,Math.ceil(r*Gu+a+i)),d=Math.max(l,Math.min(e.scrollHeight,c));e.style.height=`${d}px`,e.style.overflowY=e.scrollHeight>c?"auto":"hidden"}function Fr(e,t){const s=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=Rt(a.paddingLeft,14),l=Rt(a.paddingTop,15),c=Math.max(0,r.width-16),d=Math.min(Ku,c),f=s.left-r.left+i-8,g=Math.max(8,Math.min(f,r.width-d-8)),y=Math.max(8,s.top-r.top+l+2);return{left:g,top:y,width:d}}function Yu(e){const t=e.getBoundingClientRect(),s=Math.floor(t.top-Ju);return{maxHeight:Math.max(Xu,Math.min(Qu,s))}}const Zu="[data-inline-token='true']",ed="[data-inline-repo-link='true']",td="[data-inline-connected-app-mention='true']";function Cs(e){return e instanceof HTMLElement&&e.matches(Zu)}function ws(e){return e instanceof HTMLElement&&e.matches(ed)}function Ms(e){return e instanceof HTMLElement&&e.matches(td)}function cr(e,t){return Math.max(0,Math.min(e,t))}function Hn(e,t){return e?cr(e.position,t.length):null}function nd(e,t,s,r=!1){const a=Hn(t,s),i=cr(e,s.length);return a===null?i:i>a||r&&i===a?i+1:i}function Ra(e,t,s){const r=Hn(t,s);return cr(r===null?e:e>r?e-1:e,s.length)}function Dr(e){let t="",s=null;function r(a){if(ws(a)){t+=a.dataset.repoUrl??"";return}if(Ms(a)){t+=a.dataset.connectedMentionText??"";return}if(Cs(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 pn(e){if(ws(e))return e.dataset.repoUrl?.length??0;if(Ms(e))return e.dataset.connectedMentionText?.length??0;if(Cs(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+=pn(s)}),t}function $a(e,t,s){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(l){if(!a){if((Cs(l)||ws(l)||Ms(l))&&(l===t||l.contains(t))){(l!==t||s>0)&&(r+=pn(l)),a=!0;return}if(Cs(l)||ws(l)||Ms(l)){r+=pn(l);return}if(l===t){if(l.nodeType===Node.TEXT_NODE)r+=s;else{const c=Array.from(l.childNodes).slice(0,s);for(const d of c)r+=pn(d)}a=!0;return}if(l.nodeType===Node.TEXT_NODE){r+=l.textContent?.length??0;return}l instanceof HTMLBRElement||l.childNodes.forEach(i)}}return i(e),a?r:null}function Br(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const s=$a(e,t.anchorNode,t.anchorOffset),r=$a(e,t.focusNode,t.focusOffset);return s===null||r===null?null:{anchor:s,focus:r}}function Ia(e,t){let s=Math.max(0,t);function r(l){const c=l.parentNode;return c?{node:c,offset:Array.prototype.indexOf.call(c.childNodes,l)}:{node:e,offset:0}}function a(l){const c=r(l);return{node:c.node,offset:c.offset+1}}function i(l){if(Cs(l)||ws(l)||Ms(l)){const c=pn(l);return s<=0?r(l):s<=c?a(l):(s-=c,null)}if(l.nodeType===Node.TEXT_NODE){const c=l.textContent?.length??0;return s<=c?{node:l,offset:s}:(s-=c,null)}if(l instanceof HTMLBRElement)return null;for(const c of l.childNodes){const d=i(c);if(d)return d}return null}return i(e)??{node:e,offset:e.childNodes.length}}function _i(e,t){const s=window.getSelection();if(!s)return;const r=Ia(e,t.anchor),a=Ia(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(),l=t.anchor<=t.focus,c=l?r:a,d=l?a:r;i.setStart(c.node,c.offset),i.setEnd(d.node,d.offset),s.addRange(i)}function sd(e,t){_i(e,{anchor:t,focus:t})}function Ta(e){document.execCommand("insertText",!1,e)}function rd(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 ad(){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 Pa(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=rd(e.icon),s.append(r),s.insertAdjacentHTML("beforeend",ad());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(s,a),t}function id(e){return e.provider==="github"?Zr("github"):To}function od(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=id(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 ld(e){return Zr(e)}function cd(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=ld(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 ud(e,t){const s=Wu(e);return t===null?s:s.filter(r=>t<=r.start||t>=r.end)}function dd(e,t,s){const r=Io(e,t);return s===null?r:r.filter(a=>s<=a.start||s>=a.end)}function Li(e,t,s){const r=[...ud(e,t).map(l=>({end:l.end,kind:"repo",link:l,start:l.start})),...dd(e,s,t).map(l=>({end:l.end,kind:"connected-app",mention:l,start:l.start}))].sort((l,c)=>l.start-c.start||c.end-l.end),a=[];let i=0;for(const l of r)l.start<i||(a.push(l),i=l.end);return a}function fd(e,t,s){return Li(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 md(e,t,s,r){const a=Hn(s,t),i=Li(t,a,r);let l=!1;function c(g){g&&e.append(document.createTextNode(g))}function d(g,y){if(!s||a===null||l||a<g||a>y){c(t.slice(g,y));return}c(t.slice(g,a)),e.append(Pa(s)),l=!0,c(t.slice(a,y))}e.replaceChildren();let f=0;for(const g of i)d(f,g.start),g.kind==="repo"?e.append(od(g.link)):e.append(cd(g.mention)),f=g.end;d(f,t.length),s&&!l&&e.append(Pa(s))}const hd=o.forwardRef(function({connectedAppMentions:t=[],disabled:s,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:l,onPromptChange:c,onTokenPositionChange:d,placeholder:f,prompt:g,token:y},m){const b=o.useRef(null),x=`${y?`${y.key}:${Hn(y,g)??0}`:"none"}|${fd(g,Hn(y,g),t)}`,A=o.useRef(null),v=g.length===0&&!y;o.useImperativeHandle(m,()=>({get element(){return b.current},getPrompt(){const M=b.current;return M?Dr(M).text:g},focusAtPromptIndex(M,N){const O=b.current;if(!O)return;const $=nd(M,y,g,N?.afterToken);O.focus(),sd(O,$),zr(O)},resize(){zr(b.current)}}),[g,y]),o.useLayoutEffect(()=>{const M=b.current;if(!M)return;const N=A.current!==x;A.current=x;const O=Dr(M);if(N||g===""||O.text!==g||O.tokenPosition!==Hn(y,g)){const z=document.activeElement===M?Br(M):null;md(M,g,y,t),M.dataset.empty=g.length===0&&!y?"true":"false",z&&_i(M,z)}zr(M)},[t,g,y,x]);function C(){const M=b.current;if(!M)return;const N=Br(M)?.focus??pn(M),O=Dr(M),$=Ra(N,y,O.text);M.dataset.empty=O.text.length===0&&!y?"true":"false",d(O.tokenPosition),r($),c(O.text,$)}function S(){C(),window.requestAnimationFrame(C)}function R(){const M=b.current;if(!M)return;const N=Br(M)?.focus??pn(M);r(Ra(N,y,g))}return n.jsx("div",{ref:b,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!s,suppressContentEditableWarning:!0,"data-empty":v?"true":"false","data-placeholder":f,onBeforeInput:M=>{M.nativeEvent.inputType==="insertParagraph"&&(M.preventDefault(),Ta(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-BBKdrbNP.js","./index-DUQK09vA.js","./index-lqk3IxE0.css","./App-BL1D_PLh.js","./App-7h_oHCFd.css","./MarkdownText-CGGUFrZe.js","./refresh-cw-D_9Q01ox.js","./WorkspaceDiffPanel-B_eZE-bq.js","./training-model-data-CKOkpBBL.js","./folder-open-Da8t5AtB.js","./info-BYfs9_PT.js","./minimize-2-Dp7tWjno.js","./save-BxG7d5Nm.js","./clipboard-fZsv7_ot.js","./AppTerminalPanel-0_Ewf4wJ.js","./RightSidebarHomePanel-BksZR71F.js","./WorkSidebarPanel-DMsXId2s.js","./cloud-upload-CUXNsLn2.js","./arrow-up-right-CsvQameJ.js","./square--Ua9DQPL.js","./WorkSidebarPanel-Bky_Rqcx.css","./NewExperienceSwitcher-DMTe3jS9.js","./CollaborationTabs-SVc7oX8N.js","./CollaborationTabs-BfVlyLmR.css","./AppsView-Ddn9R2I-.js","./AppsView-CzbB5pXp.css","./GetStartedView-BXuTBT4U.js","./AppDialog-CmPsGOzE.js","./GetStartedView-yVmnGZPw.css","./LabsRoute-di9O0XV1.js","./LabsRoute-C1FWCoYb.css","./training-eg6uFi3M.css","./ScheduledWorkPage-BRcVebWV.js","./useLocalAgentSchedules-CGlPbPZr.js","./OutputsPage-DMeIKxzN.js","./ProjectsPage-V5oXwB-5.js","./ProjectsPage-kun3Ron2.css","./LabSkillSidebar-Cl8Sdiqc.js","./LabSkillSidebar-CVxtS9pd.css","./BrowserSidebar-j2Yyiaz-.js","./BrowserSidebar-lNqqj4Ip.css","./RightChatPanelStack-B0y2XNdm.js","./useSessionTurnCache-DtNQyWXl.js","./NativeSkillSidebar-2mgh6WV4.js","./NativeSkillSidebar-T8KXjnUH.css","./TeamChatView-DWGM8eXj.js","./TeamChatView-dL6B0qib.css","./git-dialogs-C-F47S10.css","./CommunityView-B7W1C8KG.js","./wifi-off-DF8YmlRa.js","./CommunityView-CnZqWEjK.css","./TrainingDraftPanel-Q1GXOAlQ.js","./MainChatThread-BaEeNsrh.js","./TrainingCreationPanel-C6e6zhC8.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as o,j as n,_ as ge}from"./index-DUQK09vA.js";import{c as Le,b as da,a as Mo,u as No,d as Ao,e as Eo,s as Qs,A as ni,C as It,P as Wn,f as er,g as qn,h as $t,i as Wr,F as Gr,r as Ro,j as $o,k as Io,O as To,l as Zr,B as Po,m as ut,n as ea,o as _o,p as Lo,q as Oo,t as zo,v as Fo,w as _e,X as Ns,x as si,y as Do,D as fa,z as ma,S as Bo,E as ha,G as ta,H as ri,I as Uo,J as qo,K as Vo,L as Ho,M as Ht,N as na,Q as Un,R as pa,T as ai,U as Wo,V as Go,W as Ko,Y as Qo,Z as Xo,_ as Jo,$ as Yo,a0 as Zo,a1 as el,a2 as ii,a3 as tl,a4 as nl,a5 as sl,a6 as rl,a7 as al,a8 as il,a9 as ol,aa as ll,ab as Wt,ac as Kr,ad as Xs,ae as cl,af as oi,ag as ul,ah as dl,ai as li,aj as fl,ak as ci,al as ml,am as hl,an as pl,ao as gl,ap as xl,aq as sa,ar as bl,as as vl,at as jl,au as yl,av as ga,aw as kl,ax as Sl,ay as bt,az as xa,aA as Cl,aB as wl,aC as Ml,aD as Nl,aE as Al,aF as El,aG as Rl,aH as $l,aI as Il,aJ as Tl,aK as Pl,aL as _l,aM as Ll,aN as Ol,aO as zl,aP as Fl}from"./App-BL1D_PLh.js";import{C as Dl}from"./cloud-upload-CUXNsLn2.js";import{A as or}from"./arrow-up-right-CsvQameJ.js";import{T as Bl,B as ys,W as tr,P as Ul,F as ql,C as Vl,A as Hl,a as ui,r as Wl,M as di,n as fi,b as mi,c as hi,I as pi,u as gi,d as Gl,e as Kl,f as Ql}from"./MarkdownText-CGGUFrZe.js";import{S as xi}from"./square--Ua9DQPL.js";import{F as bi}from"./folder-open-Da8t5AtB.js";import{R as Xl,P as Jl}from"./refresh-cw-D_9Q01ox.js";function vi(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const Yl=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Zl=Le("arrow-down",Yl);const ec=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],tc=Le("arrow-up",ec);const nc=[["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"}]],ba=Le("at-sign",nc);const sc=[["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"}]],rc=Le("badge-check",sc);const ac=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ic=Le("ban",ac);const oc=[["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"}]],lc=Le("circle-dashed",oc);const cc=[["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"}]],uc=Le("cloud-download",cc);const dc=[["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"}]],fc=Le("file-headphone",dc);const mc=[["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"}]],hc=Le("file-spreadsheet",mc);const pc=[["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"}]],gc=Le("file-play",pc);const xc=[["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"}]],dr=Le("image",xc);const bc=[["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"}]],ji=Le("lightbulb",bc);const vc=[["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"}]],jc=Le("mic",vc);const yc=[["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"}]],va=Le("paperclip",yc);const kc=[["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"}]],Sc=Le("presentation",kc);const Cc=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],wc=Le("reply",Cc);const Mc=[["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"}]],Nc=Le("circle-x",Mc);function Ac(e){const t=_c(e);if(t)return t;const s=Pc();let r="";const a=[],i=[],l=[];for(const m of e){if(!r&&m.label&&(r=m.label),Qc(i,m.label),Xc(l,m),m.kind==="command"&&m.content){Lc(s,zc(m.content));continue}Oc(s,m)||Kc(a,m.label)}const c=[...Dc(s),...i,...l],d=s.runCount>0?Wc(s.runCount):"",f=eu(a),y=(e.length===1&&e[0]?.kind==="command"&&e[0].content&&i.length===0&&l.length===0?yi(e[0].content,"completed"):null)||Gc(c,d)||f||r||"Ran command";return{kind:Hc(s,d),text:y}}function yi(e,t="completed"){const s=wi(e);if(s.length===0)return null;const r=t==="running"||t==="pending";if(s.some(Mi))return r?"Running shell command":"Ran shell command";const a=ki(s);if(!a)return null;const[i,l]=a;if(i==="cat"){const d=Gt(l);return d.length===0?r?"Reading standard input":"Read standard input":`${r?"Reading":"Read"} ${hn(d)}`}if(i==="sed")return Tc(nu([i,...l]),r);if(i==="rg")return su([i,...l],r);if(["grep","ag"].includes(i)||i==="git"&&l[0]==="grep")return r?"Searching code":"Searched code";if(["ls","find","tree","fd"].includes(i)){const d=i==="ls"?Gt(l):[];return d.length===0?r?"Listing files":"Listed files":`${r?"Listing":"Listed"} files in ${hn(d)}`}if(["head","tail","nl","wc","awk","jq"].includes(i)){const d=Ci(i,l);return d.length===0?r?`Running ${i}`:`Ran ${i}`:`${r?"Reading":"Read"} ${hn(d)}`}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 Ec(l,r);if(Ic(i))return Rc(i,l,r);if(Si(i))return $c(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 ${ks(i)} script`:`Ran ${ks(i)} script`;const c=ks(i);return r?`Running ${c} command`:`Ran ${c} command`}function Ec(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 Rc(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 ${ks(e)} command`:`Ran ${ks(e)} command`}function $c(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 Ic(e){return["bun","npm","pnpm","yarn"].includes(e)}function ks(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 Tc(e,t){return!e||!t?e:e.startsWith("Read ")?`Reading ${e.slice(5)}`:e.startsWith("Run ")?`Running ${e.slice(4)}`:e}function Pc(){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 _c(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?ja(s,"received"):null,r>0?ja(r,"sent"):null].filter(i=>!!i);return{kind:"subagent",text:lr(ra(a))}}function ja(e,t){return e===1?`child message ${t}`:`${e} child messages ${t}`}function Lc(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 Oc(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 qc(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 zc(e){const t=wi(e);if(t.length===0||t.some(Mi))return{countedAsRun:!0};const s=ki(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(Fc(r,a)||Si(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=Ci(r,a);return i.length>0?{countedAsRun:!1,readFiles:i}:{countedAsRun:!0}}function ki(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 Fc(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 Si(e){return["eslint","jest","playwright","prettier","tsc","vitest"].includes(e)}function Ci(e,t){if(e==="cat"||e==="nl"||e==="head"||e==="tail"||e==="wc")return Or(Gt(t));if(e==="sed"){const s=t.findIndex(r=>r!=="-n"&&!r.startsWith("--"));return Or(s>=0?Gt(t.slice(s+1)):[])}return e==="awk"||e==="jq"?Or(Gt(t.slice(1))):[]}function Or(e){return e.filter(t=>!(!t||t==="."||t==="-"||/^\d+$/.test(t)))}function Dc(e){const t=[],s=Uc(e);s&&t.push(s),e.editCount>0&&t.push("made edits");const r=e.readFiles.size||e.readFileCount;return r>0&&t.push(ka("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(ka("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(...Bc(e)),t}function Bc(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 Uc(e){const t=Vc(e);return t.failed>0?Et(t.failed,"failed"):t.blocked>0?Et(t.blocked,"blocked"):t.stale>0?Et(t.stale,"stale"):t["needs revision"]>0?Et(t["needs revision"],"needs revision"):t.submitted>0?Et(t.submitted,"submitted"):t.running>0&&t.completed===0&&t.accepted===0?Et(t.running,"running"):t.accepted>0?Et(t.accepted,"accepted"):t.completed>0?Et(t.completed,"completed"):t.archived>0?Et(t.archived,"archived"):null}function qc(e,t,s){const r=t.openSession?.sessionId??(t.content.trim()||t.id),a=e.subagentStatuses.get(r);(!a||ya(s)>ya(a))&&e.subagentStatuses.set(r,s)}function Vc(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 ya(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 Et(e,t){return e===1?`subagent ${t}`:`${e} subagents ${t}`}function Hc(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 Wc(e){return e===1?"ran a command":`ran ${e} commands`}function ka(e,t,s){return t===1?`${e} a ${s}`:`${e} ${t} ${s}s`}function Gc(e,t){return e.length===0?t?lr(t):"":lr(ra(t?[...e,t]:e))}function Kc(e,t){const s=t.trim();s&&(e.includes(s)||e.push(s))}function Qc(e,t){const s=Jc(t);!s||e.includes(s)||e.push(s)}function Xc(e,t){const s=t.receipt;if(!s)return;const r=`${s.status} receipt ${Zc(s.id)} ${Yc(s.totalUsd)}`;e.includes(r)||e.push(r)}function Jc(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 Yc(e){const t=e.trim();return t.startsWith("$")?t:`$${t}`}function Zc(e){const t=e.trim();return t.length<=14?t:`${t.slice(0,6)}...${t.slice(-4)}`}function eu(e){return e.length===0?"":lr(ra(e.map(tu)))}function tu(e){return e&&`${e[0].toLowerCase()}${e.slice(1)}`}function ra(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 lr(e){return e&&`${e[0].toUpperCase()}${e.slice(1)}`}function nu(e){const t=e.findIndex((i,l)=>l>0&&i!=="-n"&&!i.startsWith("--")),s=t>=0?e[t]??"":"",r=t>=0?Gt(e.slice(t+1)):[],a=/^(\d+)(?:,(\d+))?p$/.exec(s);if(a){const i=a[1],l=a[2],c=l?`lines ${i}-${l}`:`line ${i}`;return r.length>0?`Read ${c} of ${hn(r)}`:`Read ${c}`}return r.length>0?`Read ${hn(r)} with sed`:"Run sed"}function su(e,t=!1){const s=e.slice(1);if(s.includes("--files")){const l=Gt(s.filter(c=>c!=="--files"));return l.length>0?`${t?"Listing":"Listed"} files matching ${hn(l)}`:t?"Listing files":"Listed files"}const r=Gt(s),a=r[0],i=r.slice(1);return a?i.length>0?`${t?"Searching":"Searched"} for ${Sa(a)} in ${hn(i)}`:`${t?"Searching":"Searched"} for ${Sa(a)}`:t?"Searching files":"Searched files"}function wi(e){return(e.match(/"([^"\\]|\\.)*"|'[^']*'|[^\s]+/g)??[]).map(s=>ru(s)).filter(Boolean)}function ru(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Mi(e){return["|","&&","||",";",">",">>","<","(",")"].includes(e)}function Gt(e){const t=[];for(let s=0;s<e.length;s+=1){const r=e[s];if(!r.startsWith("-")){t.push(r);continue}au(r)&&s+1<e.length&&(s+=1)}return t}function au(e){return["-e","-f","-g","--glob","--type","-t","--context","-C","-A","-B","-m","-n","-c"].includes(e)}function hn(e){return e.length===1?e[0]:e.length===2?`${e[0]} and ${e[1]}`:`${e[0]} and ${e.length-1} more`}function Sa(e){return`"${e}"`}const Ca=Object.freeze({events:[],messages:[]});class iu{projection=Ca;project(t){if(t===this.projection.events)return this.projection.messages;if(!cu(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=ou(this.projection.messages,s);if(r)return this.projection={events:t,messages:r},r;const a=lu(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),l=new Set(i.flatMap(f=>f.turnId?[f.turnId]:[])),d=[...this.projection.messages.filter(f=>!f.turnId||!l.has(f.turnId)),...da(i)];return this.projection={events:t,messages:d},d}reset(){this.projection=Ca}snapshot(){return this.projection}replace(t){const s=da(t);return this.projection={events:t,messages:s},s}}function ou(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,l=!1,c=!1;for(const f of t)f.name==="assistant.delta"?(r=`${r??""}${f.output}`,l=!0):(a=`${a??""}${f.output}`,c=!0),i=f.timestamp;const d={...s,...l?{content:r}:{},...c?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),d]}function lu(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 cu(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 uu(e,t){const s=o.useCallback(i=>t?e.subscribeSession(t,i):()=>{},[t,e]),r=o.useCallback(()=>e.getSessionSnapshot(t),[t,e]),a=o.useSyncExternalStore(s,r,r);return o.useEffect(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),a}function du(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"?Mo(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 fu(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 fr(e){return`$${e.name}`}function mu(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),l=e.slice(a),c=i&&!/\s$/.test(i)?" ":"",d=l&&/^\s/.test(l)?"":" ",f=`${c}${fr(s)}${d}`;return{cursor:i.length+f.length-(l?d.length:0),value:`${i}${f}${l}`}}function nr(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,l)=>i.name.localeCompare(l.name));return typeof s=="number"&&Number.isFinite(s)?a.slice(0,Math.max(0,s)):a}function Ni(e,t,s){const r=t.trim().replace(/\s+/g," "),a=hu(s,e.length);if(!r)return{value:e,cursorIndex:a};const i=e.slice(0,a),l=e.slice(a),c=i&&!/\s$/.test(i)?" ":"",d=l&&!/^\s/.test(l)?" ":"",f=`${c}${r}${d}`;return{value:`${i}${f}${l}`,cursorIndex:i.length+c.length+r.length+d.length}}function hu(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function pu({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:s,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:l,transcript:c}){const d=Ni(a,c,e?a.length:s);return i(d.value),t===r?"drafted":await l(d.value)?(i(""),"submitted"):"retained"}const Vn=new Map,sr=new Map,rr=new Map;function wa(e){for(const t of sr.get(e)??[])t()}function gu(e){return Vn.has(e)}function xu(e,t){const s=sr.get(e)??new Set;return s.add(t),sr.set(e,s),()=>{s.delete(t),s.size===0&&sr.delete(e)}}function Ai(e){Vn.get(e)?.controller.abort()}function bu(e,t){const s=rr.get(e)??new Set;return s.add(t),rr.set(e,s),()=>{s.delete(t),s.size===0&&rr.delete(e)}}function vu(e){const t=Vn.get(e);if(t)return t.submitRequested=!0,!0;for(const s of rr.get(e)??[])if(s())return!0;return!1}function ju(e,t,s={}){Ai(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(()=>{Vn.get(e)===a&&(Vn.delete(e),wa(e))}),Vn.set(e,a),wa(e),a.promise}const yu=new Set(["task.inbox","task.input","task.wait","turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved"]);function Ma(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 ku(e,t,s){const r=No(),a=Ao(e),i=o.useMemo(()=>["task-inbox",a,t],[a,t]),l=!!(e&&t),c=Eo({queryKey:i,enabled:l,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>Qs.taskInbox(e,t)}),[d,f]=o.useState(null),[g,y]=o.useState(null),m=`${a}:${t}`;let b;for(let v=s.length-1;v>=0;v--){const C=s[v];if(C.sessionId===t&&yu.has(C.name)){b=C.id;break}}const h=o.useCallback(async()=>{l&&await r.invalidateQueries({queryKey:i,exact:!0})},[l,r,i]);o.useEffect(()=>{h()},[h,b]),o.useEffect(()=>{const v=()=>{h()};return window.addEventListener("openpond-runtime-connected",v),()=>window.removeEventListener("openpond-runtime-connected",v)},[h]);async function x(v,C){if(!l)return!1;f({scope:m,id:v}),y(null);try{const S=await C();return await r.cancelQueries({queryKey:i,exact:!0}),r.setQueryData(i,R=>R&&{...R,inputs:[...R.inputs.filter(M=>M.id!==S.id),S].sort((M,N)=>M.sequence-N.sequence)}),h(),!0}catch(S){return y({scope:m,message:S instanceof Error?S.message:String(S)}),h(),!1}finally{f(S=>S?.scope===m&&S.id===v?null:S)}}async function A(v,C,S){if(!e||!t)return!1;const R=`openpond:task-input:${e.serverUrl}:${t}`,M=Ma(R),N=M?.body===C&&M.kind===v,O=N?M:{body:C,kind:v,request:S,key:crypto.randomUUID(),turnId:v==="steer"?c.data?.activeTurnId??null:null};if(v==="steer"&&(!O.turnId||!N&&!c.data?.acceptingInput))return y({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."}),h(),!1;try{sessionStorage.setItem(R,JSON.stringify(O))}catch{}const $=await x(O.key,async()=>{let z;try{z=await(v==="steer"?Qs.steerTurn(e,t,{prompt:C,expectedTurnId:O.turnId,idempotencyKey:O.key}):Qs.queueTaskInput(e,t,O.request,O.key))}catch(q){if(q instanceof ni&&q.status>=400&&q.status<500)try{sessionStorage.removeItem(R)}catch{}throw q}if(z.state==="rejected"||z.state==="cancelled"){try{sessionStorage.removeItem(R)}catch{}throw new Error(z.error??"This input was cancelled. Review your text before sending again.")}return z});if($)try{Ma(R)?.key===O.key&&sessionStorage.removeItem(R)}catch{}return $}return{enabled:l,snapshot:c.data??null,busyId:d?.scope===m?d.id:null,error:g?.scope===m?g.message:c.error?.message??null,steer:v=>A("steer",v),queue:v=>A("queued",v.prompt,v),mutate:(v,C)=>x(v.id,()=>Qs.updateTaskInput(e,t,v.id,C)),refresh:h}}function Su(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function Ss(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 Ei(e,t={}){const s=t.now??new Date().toISOString();return{createdAt:s,id:t.id??Su(),prompt:e,updatedAt:s}}function Ri(e,t){return e.filter(s=>s.id!==t)}function Cu(e,t,s){const r=s?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Ei(r)]:[])}function wu(e,t,s){return s?Ri(e,t):e}function Qr(e,t,s=[]){return e[t]??s}function Mu(e,t,s,r=[]){const a=Qr(e,t,r),i=s(a);return Object.is(a,i)?e:{...e,[t]:i}}function Nu({inbox:e,onRestore:t}){const[s,r]=o.useState(null),a=e.snapshot,i=a?.inputs.filter(d=>d.senderKind==="user"&&d.kind==="queued"&&d.state==="pending")??[],l=a?.inputs.filter(d=>d.state!=="cancelled"&&!i.some(f=>f.id===d.id)).slice(-8)??[],c=s?.input.sessionId===a?.sessionId?s:null;return!i.length&&!l.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(d=>n.jsxs("p",{className:"task-inbox-status",role:"status",children:[d.targetSessionId?`Waiting for task ${d.targetSessionId}`:"Waiting for a message",". Work resumes when an update arrives."]},d.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(d=>n.jsx("div",{className:"task-inbox-item",children:c?.input.id===d.id?n.jsxs(n.Fragment,{children:[n.jsx("textarea",{"aria-label":"Edit queued message",value:c.body,maxLength:32e3,onChange:f=>r({...c,body:f.target.value})}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("button",{type:"button",disabled:!c.body.trim()||!!e.busyId,onClick:async()=>{await e.mutate(c.input,{action:"edit",expectedRevision:c.input.revision,body:c.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:d.body,children:Ss(d.body,220)}),n.jsxs("div",{className:"task-inbox-actions",children:[n.jsx("span",{children:d.turnId?"Starting":"Next turn"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId||!a?.acceptingInput,onClick:()=>{e.mutate(d,{action:"steer",expectedRevision:d.revision,expectedTurnId:a.activeTurnId})},children:"Steer now"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>r({input:d,body:d.body}),children:"Edit"}),n.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>{e.mutate(d,{action:"cancel",expectedRevision:d.revision})},children:"Delete"})]})]})},d.id))]}),l.length>0&&n.jsxs("details",{className:"task-inbox-activity",open:l.some(d=>d.state==="rejected"||!!d.error),children:[n.jsxs("summary",{children:["Messages and delivery (",l.length,")"]}),l.map(d=>n.jsxs("div",{className:"task-inbox-item",children:[n.jsxs("div",{className:"task-inbox-heading",children:[n.jsx("span",{children:d.senderKind==="user"?"Your instruction":d.senderKind==="runtime"?"Task update":`Task ${d.senderSessionId}`}),n.jsx("span",{children:Au(d)})]}),n.jsx("p",{children:Ss(d.body,320)}),d.error&&n.jsx("p",{className:"task-inbox-error",children:d.error}),(d.state==="rejected"||d.error)&&d.senderKind==="user"&&n.jsx("button",{type:"button",onClick:()=>t(d.body),children:"Use as follow-up"})]},d.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 Au(e){return e.state==="pending"?"Saved · pending delivery":e.state==="included"?"Included":e.state==="resolved"?"Request finished":e.state==="rejected"?"Not delivered":"Cancelled"}function $i({busy:e,placement:t,state:s,onChange:r}){const[a,i]=o.useState(!1),[l,c]=o.useState(""),d=o.useRef(null),f=o.useMemo(()=>{const g=l.trim().toLowerCase();return g?s.options.filter(y=>`${y.label} ${y.detail}`.toLowerCase().includes(g)):s.options},[l,s.options]);return o.useEffect(()=>{if(!a){c("");return}function g(m){d.current?.contains(m.target)||i(!1)}function y(m){m.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",g),document.addEventListener("keydown",y),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",y)}},[a]),s.options.length<=1?null:n.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:d,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(g=>!g),children:[n.jsx("span",{children:s.label}),n.jsx(It,{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:l,placeholder:"Search profiles",onChange:g=>c(g.currentTarget.value)})}),n.jsx("div",{className:"composer-menu-items",children:f.map(g=>{const y=g.value===s.value;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":y,className:`composer-project-option ${y?"selected":""}`,onClick:()=>{r(g.value),i(!1)},children:[n.jsxs("span",{children:[n.jsx("strong",{children:g.label}),n.jsx("small",{children:g.detail})]}),y?n.jsx($t,{size:14}):null]},g.value)})})]}):null]})}function Eu({busy:e,placement:t,state:s,onChange:r}){const[a,i]=o.useState(!1),[l,c]=o.useState(!1),[d,f]=o.useState(""),g=o.useRef(null),m=s.value==="none"?"Select Project":s.label,b=s.options.find(S=>S.value===s.value)?.kind??"local",h=o.useMemo(()=>{const S=d.trim().toLowerCase();return S?s.options.filter(R=>[R.label,R.detail].filter(Boolean).some(M=>M.toLowerCase().includes(S))):s.options},[d,s.options]),x=h.filter(S=>S.kind==="local"||S.kind==="cloud"),A=h.filter(S=>S.kind==="action"),v=h.filter(S=>S.kind==="none");o.useEffect(()=>{if(!a){f(""),c(!1);return}function S(M){g.current?.contains(M.target)||i(!1)}function R(M){M.key==="Escape"&&(l?c(!1):i(!1))}return document.addEventListener("pointerdown",S),document.addEventListener("keydown",R),()=>{document.removeEventListener("pointerdown",S),document.removeEventListener("keydown",R)}},[l,a]);function C(S){const R=S.value===s.value,M=e||S.disabled,N=S.kind==="action";return n.jsxs("button",{type:"button",role:N?"menuitem":"menuitemradio","aria-checked":N?void 0:R,className:`composer-project-option ${R?"selected":""} ${S.kind}`,disabled:M,onClick:()=>{r(S.value),c(!1),i(!1)},children:[n.jsx(Xr,{kind:S.kind,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:S.label}),n.jsx("small",{children:S.detail})]}),R&&n.jsx($t,{size:14})]},S.value)}return n.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:g,children:[n.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${b}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(S=>!S),c(!1)},children:[n.jsx(Xr,{kind:b,size:14}),n.jsx("span",{children:m}),n.jsx(It,{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:d,placeholder:"Search projects",onChange:S=>f(S.target.value)})}),n.jsx("div",{className:"composer-menu-items",children:h.length===0?n.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):x.map(C)}),A.length>0||v.length>0?n.jsxs("div",{className:"composer-project-actions",children:[A.length>0?n.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${l?"selected":""}`,"aria-haspopup":"menu","aria-expanded":l,onClick:()=>c(S=>!S),children:[n.jsx(Wn,{size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:"New"}),n.jsx("small",{children:"Create or add a project"})]}),n.jsx(er,{size:14})]}):null,v.map(C)]}):null]}),a&&l?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:()=>c(!1),children:[n.jsx(qn,{size:14}),n.jsx("span",{children:"New project"})]}),A.map(C)]}):null]})}function Xr({kind:e,size:t}){return e==="cloud"?n.jsx(Wr,{size:t}):e==="action"?n.jsx(Wn,{size:t}):n.jsx(Gr,{size:t})}function Ru({busy:e,placement:t,state:s,onChange:r}){const[a,i]=o.useState(!1),l=o.useRef(null),c=s.value==="cloud"?"cloud":s.value==="hybrid"?"hybrid":"local",d=`${s.label}: ${s.detail}`,f=s.uploadAction??null,g=f?Na(f):null,y=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${g??f.detail}`:null,m=!!(f&&(e||s.busy||f.disabled));return o.useEffect(()=>{if(!a)return;function b(x){l.current?.contains(x.target)||i(!1)}function h(x){x.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",b),document.addEventListener("keydown",h),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",h)}},[a]),n.jsxs("div",{className:`workspace-action-control ${t==="top"?"open-up":""}`,ref:l,children:[n.jsxs("button",{type:"button",className:`workspace-action-trigger ${c} ${a?"active":""}`,disabled:e,"data-tooltip":d,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(b=>!b),children:[n.jsx(ar,{value:s.value,size:14}),n.jsx("span",{className:"workspace-target-trigger-label",children:s.label}),n.jsx(It,{size:14})]}),f?n.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:m,"data-tooltip":y??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:n.jsx(ar,{value:f.value,size:14})}):null,a&&n.jsx("div",{className:"workspace-target-menu",role:"menu","aria-label":"Working in",children:s.options.map(b=>{const h=b.value===s.value,x=e||s.busy||b.disabled,v=Na(b)??b.detail,C=b.disabled&&b.disabledReason?b.disabledReason:`${b.label}: ${v}`;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":h,className:`workspace-target-option ${h?"selected":""} ${b.value}`,disabled:x,"data-tooltip":C,onClick:()=>{r(b.value),i(!1)},children:[n.jsx(ar,{value:b.value,size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:b.label}),n.jsx("small",{children:v})]}),h&&n.jsx($t,{size:14})]},b.value)})})]})}function $u({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(Xr,{kind:r,size:14}),n.jsx("span",{children:a})]}),n.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[n.jsx(ar,{value:t.value,size:14}),n.jsx("span",{children:t.label})]})]})}function Na(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function ar({value:e,size:t}){return e==="cloud"?n.jsx(Wr,{size:t}):e==="hybrid"?n.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[n.jsx(Gr,{className:"hybrid-folder",size:t}),n.jsx(Wr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?n.jsx(Dl,{size:t}):n.jsx(Gr,{size:t})}function Aa({disabled:e,model:t,modelGroups:s,placement:r,provider:a,providerSettings:i,reasoningEffort:l,showReasoning:c,onModelSelectionChange:d,onProviderSetupOpen:f,onReasoningEffortChange:g}){const[y,m]=o.useState(!1),[b,h]=o.useState("root"),x=o.useRef(null),A=s.find($=>$.provider===a),v=A?.options.find($=>$.value===t),C=Ro(a,t,i),S=$o(a,t,l,i),R=C.find($=>$.value===S)??C[0],M=Iu(v?.label??t),N=c?`${M} ${R.shortLabel??R.label}`:M,O=c?"Model and reasoning":"Model";return o.useEffect(()=>{if(!y){h("root");return}function $(q){x.current?.contains(q.target)||m(!1)}function z(q){q.key==="Escape"&&m(!1)}return document.addEventListener("pointerdown",$),document.addEventListener("keydown",z),()=>{document.removeEventListener("pointerdown",$),document.removeEventListener("keydown",z)}},[y]),o.useEffect(()=>{!c&&b==="effort"&&h("root")},[b,c]),n.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":O,ref:x,children:[n.jsxs("button",{type:"button",className:`codex-model-trigger ${y?"active":""}`,disabled:e,"aria-label":O,"aria-haspopup":"menu","aria-expanded":y,onClick:()=>m($=>!$),children:[n.jsx("span",{children:N}),n.jsx(It,{size:14})]}),y&&n.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":O,children:b==="root"?n.jsxs("div",{className:"codex-model-menu-root",children:[n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>h("provider"),children:[n.jsx("span",{children:"Provider"}),n.jsx("span",{className:"codex-model-menu-value",children:A?.label??a}),n.jsx(er,{size:14})]}),n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>h("model"),children:[n.jsx("span",{children:"Model"}),n.jsx("span",{className:"codex-model-menu-value",children:v?.label??t}),n.jsx(er,{size:14})]}),c?n.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>h("effort"),children:[n.jsx("span",{children:"Effort"}),n.jsx("span",{className:"codex-model-menu-value",children:R.shortLabel??R.label}),n.jsx(er,{size:14})]}):null]}):b==="provider"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Provider",onClick:()=>h("root"),children:[n.jsx(qn,{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($=>{const z=$.provider===a;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":z,className:z?"selected":"",onClick:()=>{const q=$.options.find(te=>te.value===$.defaultModel)??$.options[0];q&&(d($.provider,q.value),h("root"))},children:[n.jsx("span",{children:$.label}),z?n.jsx($t,{size:14}):null]},$.provider)})}),n.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{m(!1),f?.()},children:n.jsxs("span",{className:"codex-model-menu-option-label",children:[n.jsx(Wn,{size:13}),n.jsx("span",{children:"New Model/Provider"})]})})]}):b==="model"?n.jsxs(n.Fragment,{children:[n.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Model",onClick:()=>h("root"),children:[n.jsx(qn,{size:14}),n.jsx("span",{children:"Model"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),n.jsxs("div",{className:"codex-model-menu-options",children:[(A?.options??[]).map($=>{const z=$.value===t;return n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":z,className:z?"selected":"",onClick:()=>{d(a,$.value),h("root")},children:[n.jsx("span",{children:$.label}),z?n.jsx($t,{size:14}):null]},$.value)}),A?.options.length?null:n.jsx("div",{className:"codex-model-menu-empty",children:"No models from this provider"})]}),n.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{m(!1),f?.()},children:n.jsxs("span",{className:"codex-model-menu-option-label",children:[n.jsx(Wn,{size:13}),n.jsx("span",{children:"New Model/Provider"})]})})]}):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:()=>h("root"),children:[n.jsx(qn,{size:14}),n.jsx("span",{children:"Effort"})]}),n.jsx("div",{className:"codex-model-menu-divider"}),C.map($=>n.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":$.value===S,className:$.value===S?"selected":"",onClick:()=>{g($.value),h("root")},children:[n.jsx("span",{children:$.label}),$.value===S?n.jsx($t,{size:14}):null]},$.value))]})})]})}function Iu(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function Tu({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(It,{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 Pu({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 l=t===i.id,c=Ss(i.prompt);return n.jsxs("div",{className:`composer-steer-row ${l?"sending":""}`,children:[n.jsx("span",{className:"composer-steer-row-icon","aria-hidden":"true",children:n.jsx(wc,{size:13})}),n.jsx("span",{className:"composer-steer-row-text",title:i.prompt,children:c}),n.jsxs("button",{type:"button",className:"composer-steer-row-action primary",disabled:l,"aria-label":`Steer: ${Ss(i.prompt,60)}`,onClick:()=>a(i.id),children:[n.jsx(or,{size:12}),n.jsx("span",{children:l?"Sending":"Steer"})]}),n.jsx("button",{type:"button",className:"composer-steer-row-icon-button",disabled:l,"data-tooltip":"Delete steer draft","aria-label":"Delete steer draft",onClick:()=>s(i.id),children:n.jsx(Bl,{size:13})}),n.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:l,"aria-label":`Edit: ${Ss(i.prompt,60)}`,onClick:()=>r(i),children:n.jsx("span",{children:"Edit"})})]},i.id)})})}const _u=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,Lu=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,Ou=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"]),zu=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function Fu(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function Du(e){return e==="github"?Ou:zu}function Ii(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;Bu(t);)t=t.slice(0,-1);return t}function Bu(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 Uu(e){return e.replace(/\.git$/i,"")}function Ti(e){try{return decodeURIComponent(e)}catch{return e}}function qu(e){return Uu(Ti(e.trim()))}function Pi(e){const t=e.host.toLowerCase().replace(/^www\./,""),s=Fu(t);if(!s)return null;const r=Ti(e.owner?.trim()??""),a=qu(e.repo??"");return!r||!a||Du(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 Vu(e,t){const s=Ii(e);if(!s)return null;try{const r=new URL(/^https?:\/\//i.test(s)?s:`https://${s}`),a=r.pathname.split("/").filter(Boolean);return Pi({end:t+s.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:s})}catch{return null}}function Hu(e,t){const s=Ii(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(s);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Pi({end:t+s.length,host:a,owner:i[0],repo:i[1],start:t,url:s})}function Ea(e,t,s){const r=[];t.lastIndex=0;let a;for(;a=t.exec(e);){const i=a[0]??"",l=s(i,a.index);l&&r.push(l)}return r}function Wu(e){if(!e)return[];const t=[...Ea(e,_u,Vu),...Ea(e,Lu,Hu)].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 Gu=10,Ku=340,Qu=320,Xu=160,Ju=56;function Rt(e,t=0){const s=Number.parseFloat(e);return Number.isFinite(s)?s:t}function zr(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),s=Rt(t.fontSize,16),r=Rt(t.lineHeight,s*1.45),a=Rt(t.paddingTop)+Rt(t.paddingBottom),i=Rt(t.borderTopWidth)+Rt(t.borderBottomWidth),l=Rt(t.minHeight,66),c=Math.max(l,Math.ceil(r*Gu+a+i)),d=Math.max(l,Math.min(e.scrollHeight,c));e.style.height=`${d}px`,e.style.overflowY=e.scrollHeight>c?"auto":"hidden"}function Fr(e,t){const s=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=Rt(a.paddingLeft,14),l=Rt(a.paddingTop,15),c=Math.max(0,r.width-16),d=Math.min(Ku,c),f=s.left-r.left+i-8,g=Math.max(8,Math.min(f,r.width-d-8)),y=Math.max(8,s.top-r.top+l+2);return{left:g,top:y,width:d}}function Yu(e){const t=e.getBoundingClientRect(),s=Math.floor(t.top-Ju);return{maxHeight:Math.max(Xu,Math.min(Qu,s))}}const Zu="[data-inline-token='true']",ed="[data-inline-repo-link='true']",td="[data-inline-connected-app-mention='true']";function Cs(e){return e instanceof HTMLElement&&e.matches(Zu)}function ws(e){return e instanceof HTMLElement&&e.matches(ed)}function Ms(e){return e instanceof HTMLElement&&e.matches(td)}function cr(e,t){return Math.max(0,Math.min(e,t))}function Hn(e,t){return e?cr(e.position,t.length):null}function nd(e,t,s,r=!1){const a=Hn(t,s),i=cr(e,s.length);return a===null?i:i>a||r&&i===a?i+1:i}function Ra(e,t,s){const r=Hn(t,s);return cr(r===null?e:e>r?e-1:e,s.length)}function Dr(e){let t="",s=null;function r(a){if(ws(a)){t+=a.dataset.repoUrl??"";return}if(Ms(a)){t+=a.dataset.connectedMentionText??"";return}if(Cs(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 pn(e){if(ws(e))return e.dataset.repoUrl?.length??0;if(Ms(e))return e.dataset.connectedMentionText?.length??0;if(Cs(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+=pn(s)}),t}function $a(e,t,s){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(l){if(!a){if((Cs(l)||ws(l)||Ms(l))&&(l===t||l.contains(t))){(l!==t||s>0)&&(r+=pn(l)),a=!0;return}if(Cs(l)||ws(l)||Ms(l)){r+=pn(l);return}if(l===t){if(l.nodeType===Node.TEXT_NODE)r+=s;else{const c=Array.from(l.childNodes).slice(0,s);for(const d of c)r+=pn(d)}a=!0;return}if(l.nodeType===Node.TEXT_NODE){r+=l.textContent?.length??0;return}l instanceof HTMLBRElement||l.childNodes.forEach(i)}}return i(e),a?r:null}function Br(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const s=$a(e,t.anchorNode,t.anchorOffset),r=$a(e,t.focusNode,t.focusOffset);return s===null||r===null?null:{anchor:s,focus:r}}function Ia(e,t){let s=Math.max(0,t);function r(l){const c=l.parentNode;return c?{node:c,offset:Array.prototype.indexOf.call(c.childNodes,l)}:{node:e,offset:0}}function a(l){const c=r(l);return{node:c.node,offset:c.offset+1}}function i(l){if(Cs(l)||ws(l)||Ms(l)){const c=pn(l);return s<=0?r(l):s<=c?a(l):(s-=c,null)}if(l.nodeType===Node.TEXT_NODE){const c=l.textContent?.length??0;return s<=c?{node:l,offset:s}:(s-=c,null)}if(l instanceof HTMLBRElement)return null;for(const c of l.childNodes){const d=i(c);if(d)return d}return null}return i(e)??{node:e,offset:e.childNodes.length}}function _i(e,t){const s=window.getSelection();if(!s)return;const r=Ia(e,t.anchor),a=Ia(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(),l=t.anchor<=t.focus,c=l?r:a,d=l?a:r;i.setStart(c.node,c.offset),i.setEnd(d.node,d.offset),s.addRange(i)}function sd(e,t){_i(e,{anchor:t,focus:t})}function Ta(e){document.execCommand("insertText",!1,e)}function rd(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 ad(){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 Pa(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=rd(e.icon),s.append(r),s.insertAdjacentHTML("beforeend",ad());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(s,a),t}function id(e){return e.provider==="github"?Zr("github"):To}function od(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=id(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 ld(e){return Zr(e)}function cd(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=ld(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 ud(e,t){const s=Wu(e);return t===null?s:s.filter(r=>t<=r.start||t>=r.end)}function dd(e,t,s){const r=Io(e,t);return s===null?r:r.filter(a=>s<=a.start||s>=a.end)}function Li(e,t,s){const r=[...ud(e,t).map(l=>({end:l.end,kind:"repo",link:l,start:l.start})),...dd(e,s,t).map(l=>({end:l.end,kind:"connected-app",mention:l,start:l.start}))].sort((l,c)=>l.start-c.start||c.end-l.end),a=[];let i=0;for(const l of r)l.start<i||(a.push(l),i=l.end);return a}function fd(e,t,s){return Li(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 md(e,t,s,r){const a=Hn(s,t),i=Li(t,a,r);let l=!1;function c(g){g&&e.append(document.createTextNode(g))}function d(g,y){if(!s||a===null||l||a<g||a>y){c(t.slice(g,y));return}c(t.slice(g,a)),e.append(Pa(s)),l=!0,c(t.slice(a,y))}e.replaceChildren();let f=0;for(const g of i)d(f,g.start),g.kind==="repo"?e.append(od(g.link)):e.append(cd(g.mention)),f=g.end;d(f,t.length),s&&!l&&e.append(Pa(s))}const hd=o.forwardRef(function({connectedAppMentions:t=[],disabled:s,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:l,onPromptChange:c,onTokenPositionChange:d,placeholder:f,prompt:g,token:y},m){const b=o.useRef(null),x=`${y?`${y.key}:${Hn(y,g)??0}`:"none"}|${fd(g,Hn(y,g),t)}`,A=o.useRef(null),v=g.length===0&&!y;o.useImperativeHandle(m,()=>({get element(){return b.current},getPrompt(){const M=b.current;return M?Dr(M).text:g},focusAtPromptIndex(M,N){const O=b.current;if(!O)return;const $=nd(M,y,g,N?.afterToken);O.focus(),sd(O,$),zr(O)},resize(){zr(b.current)}}),[g,y]),o.useLayoutEffect(()=>{const M=b.current;if(!M)return;const N=A.current!==x;A.current=x;const O=Dr(M);if(N||g===""||O.text!==g||O.tokenPosition!==Hn(y,g)){const z=document.activeElement===M?Br(M):null;md(M,g,y,t),M.dataset.empty=g.length===0&&!y?"true":"false",z&&_i(M,z)}zr(M)},[t,g,y,x]);function C(){const M=b.current;if(!M)return;const N=Br(M)?.focus??pn(M),O=Dr(M),$=Ra(N,y,O.text);M.dataset.empty=O.text.length===0&&!y?"true":"false",d(O.tokenPosition),r($),c(O.text,$)}function S(){C(),window.requestAnimationFrame(C)}function R(){const M=b.current;if(!M)return;const N=Br(M)?.focus??pn(M);r(Ra(N,y,g))}return n.jsx("div",{ref:b,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!s,suppressContentEditableWarning:!0,"data-empty":v?"true":"false","data-placeholder":f,onBeforeInput:M=>{M.nativeEvent.inputType==="insertParagraph"&&(M.preventDefault(),Ta(`
|
|
3
3
|
`),S())},onInput:C,onKeyDown:M=>{a(M)},onKeyUp:R,onMouseUp:R,onPaste:M=>{M.preventDefault();const N=Array.from(M.clipboardData.files);if(N.length>0&&i){i(N);return}const O=M.clipboardData.getData("text/plain");O&&(l?.(O)||(Ta(O),S()))}})});function pd(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 gd(e,t,s,r,a,i,l){return e==="Enter"&&(t||s)&&!r&&a==="work"&&i==="chat"&&l}function xd(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 _a(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 bd(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 vd(e){return e.kind==="command"?`${e.command.command} ${e.command.label}`:e.kind==="app-context"?e.app.name:e.kind==="skill"?fr(e.skill):ea(e.action)}function jd(e){return e.kind==="command"?Lo(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||Oo(e.action)}function yd(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 kd(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"?fr(e.skill):_o(e.action)}function Sd(e){if(e.kind==="action")return zo(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 Cd(e){return e.kind==="files"?"files":e.kind==="folder"?"folder":e.kind==="slash"?`slash:${bd(e.item)}`:`mention:${yd(e.item)}`}function Oi(e){return e.kind==="files"?"Files and folders":e.kind==="folder"?"Local folder":e.kind==="slash"?vd(e.item):kd(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"?jd(e.item):Sd(e.item)}function wd(e,t){const s=t.toLowerCase().split(/\s+/).filter(Boolean);if(s.length===0)return!0;const r=`${Oi(e)} ${zi(e)}`.toLowerCase();return s.every(a=>r.includes(a))}function Md(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(d=>d.id===r||d.queryScope===r||d.queryScopes?.includes(r)):e;if(!a)return i;const l=i.map(d=>({...d,items:d.items.filter(f=>wd(f,a))})).filter(d=>d.items.length>0);return l.length>0?l:[{...(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 Nd(e){if(e.kind==="files")return n.jsx(va,{size:14});if(e.kind==="folder")return n.jsx(va,{size:14});if(e.kind==="slash"){const s=e.item;return s.kind==="command"?s.command.id==="agent"?n.jsx(ys,{size:14}):s.command.id==="skill"?n.jsx(Po,{size:14}):n.jsx(tr,{size:14}):s.kind==="app-context"?n.jsx(ba,{size:14}):s.kind==="skill"?n.jsx(ut,{size:14}):_a(s.action)?n.jsx(ys,{size:14}):n.jsx(tr,{size:14})}const t=e.item;return t.kind==="connected-app"?n.jsx("img",{alt:"",className:"composer-provider-mention-icon",draggable:!1,src:Zr(t.app.provider)}):t.kind==="action"?_a(t.action)?n.jsx(ys,{size:14}):n.jsx(tr,{size:14}):t.kind==="skill"?n.jsx(ut,{size:14}):n.jsx(ba,{size:14})}function Ad(e){if(e.kind==="slash"&&e.item.kind==="app-context"||e.kind==="mention"&&e.item.kind==="app")return e.item.app.id}function aa({ariaLabel:e,className:t="",id:s,menuIndex:r,menuRef:a,onSelect:i,onSelectIndex:l,sections:c,style:d,variant:f}){const g=o.useRef(null),y=c.reduce((b,h)=>b+h.items.length,0);o.useEffect(()=>{if(f==="add"&&r===0){const b=g.current?.closest(".composer-command-menu");b&&(b.scrollTop=0);return}g.current?.scrollIntoView({block:"nearest"})},[y,r,f]);let m=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:d,children:c.map(b=>{const h=m;return m+=b.items.length,n.jsxs("div",{className:`composer-command-section ${b.grid?"composer-command-section-grid":""}`.trim(),role:"group","aria-label":b.label,children:[n.jsx("div",{className:"composer-command-section-title",children:b.label}),b.items.length>0?b.items.map((x,A)=>{const v=h+A,C=v===r;return n.jsxs("button",{type:"button",role:f==="add"?"menuitem":"option",ref:C?g:void 0,"aria-selected":f==="typed"?C:void 0,className:`composer-project-option ${C?"selected":""} composer-command-option`,"data-app-context-id":Ad(x),onFocus:()=>l(v),onMouseEnter:()=>l(v),onMouseDown:S=>{S.preventDefault()},onClick:()=>i(x),children:[Nd(x),n.jsxs("span",{children:[n.jsx("strong",{children:Oi(x)}),n.jsx("small",{children:zi(x)})]}),f==="typed"&&C?n.jsx($t,{size:14}):n.jsx("span",{"aria-hidden":"true"})]},Cd(x))}):n.jsx("div",{className:"composer-menu-empty",children:b.emptyLabel??"No items available"})]},b.id)})})}function Ed({mentionIndex:e,items:t,onSelect:s,onSelectIndex:r,style:a}){return n.jsx(aa,{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})}function Fi(){return!!(navigator.mediaDevices&&typeof AudioContext<"u")}async function Rd(e={}){if(!Fi())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 l={audioContext:s,chunks:[],processor:a,silentGain:i,source:r,stream:t,startedAt:performance.now(),stopped:!1,onAudioLevel:e.onAudioLevel};return a.onaudioprocess=c=>{if(l.stopped)return;const d=c.inputBuffer.getChannelData(0);l.chunks.push(new Float32Array(d)),l.onAudioLevel?.($d(d))},r.connect(a),a.connect(i),i.connect(s.destination),{stop:()=>La(l,!0),cancel:()=>La(l,!1).then(()=>{})}}function $d(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 La(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=Id(e.chunks);if(r.length===0)throw new Error("No microphone audio was captured.");return{blob:Td(r,e.audioContext.sampleRate),durationMs:s,sampleRate:e.audioContext.sampleRate}}function Id(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 Td(e,t){const a=e.length*2,i=new ArrayBuffer(44+a),l=new DataView(i);Js(l,0,"RIFF"),l.setUint32(4,36+a,!0),Js(l,8,"WAVE"),Js(l,12,"fmt "),l.setUint32(16,16,!0),l.setUint16(20,1,!0),l.setUint16(22,1,!0),l.setUint32(24,t,!0),l.setUint32(28,t*1*2,!0),l.setUint16(32,2,!0),l.setUint16(34,16,!0),Js(l,36,"data"),l.setUint32(40,a,!0);let c=44;for(const d of e){const f=Math.max(-1,Math.min(1,d));l.setInt16(c,f<0?f*32768:f*32767,!0),c+=2}return new Blob([i],{type:"audio/wav"})}function Js(e,t,s){for(let r=0;r<s.length;r+=1)e.setUint8(t+r,s.charCodeAt(r))}const Jr=96,Di=Array.from({length:Jr},()=>0);function bs(){return[...Di]}function Pd(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function _d({levels:e}){const t=o.useMemo(()=>e.length>=Jr?e.slice(-Jr):[...Di.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 Ld=12e4,Bi="openpond.voice.setupNoticeAcknowledged",Od="Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.";function Oa({connection:e,buttonClassName:t,wrapperClassName:s="",disabled:r=!1,iconSize:a=16,language:i="en",onActiveChange:l,showToast:c,onTranscript:d,transcriptionChannelKey:f}){const g=o.useRef(null),y=o.useRef(null),m=o.useRef(e),b=o.useRef(r),h=o.useRef("idle"),x=o.useRef(!1),A=o.useRef(za());Fo(()=>{A.current=za()}),m.current=e,b.current=r;const[v,C]=o.useState("idle"),[S,R]=o.useState(null),[M,N]=o.useState(bs),O=o.useCallback(W=>xu(f,W),[f]),$=o.useCallback(()=>gu(f),[f]),z=o.useSyncExternalStore(O,$,$),q=z,te=v==="starting",he=v==="recording",w=he||z,F=te||w;h.current=v;const G=o.useCallback(()=>{y.current!==null&&(window.clearTimeout(y.current),y.current=null)},[]),B=o.useCallback(async()=>{G();const W=g.current;g.current=null,x.current=!1,C("idle"),N(bs()),W&&await W.cancel().catch(()=>{})},[G]),V=o.useCallback(async(W,I,ue)=>{const de=m.current;if(!de)throw new Error("Voice input is still connecting.");const H=await _e.voiceTranscriptionStatus(de,{signal:I});if(!H.binaryPath)throw new Error(H.installHint??"Install whisper.cpp to use dictation.");const le=await _e.transcribeVoice(de,{audioBase64:await zd(W.blob),durationMs:Math.round(W.durationMs),language:i,mimeType:"audio/wav"},{signal:I});I.aborted||Promise.resolve(d(le.text,{submit:ue()})).catch(L=>{c(Ur(L),"error")})},[i,d,c]),Ne=o.useCallback(()=>{Ai(f),R(null),N(bs())},[f]),se=o.useCallback(async(W=!1)=>{G();const I=g.current;g.current=null,I&&(C("idle"),R(null),N(bs()),ju(f,async(ue,de)=>{const H=await I.stop();ue.aborted||await V(H,ue,de)},{submit:W}).catch(ue=>{ue instanceof DOMException&&ue.name==="AbortError"||c(Ur(ue),"error")}))},[G,c,V,f]),xe=o.useCallback(async()=>{if(b.current)return;if(!m.current){R("Voice input is still connecting.");return}if(!Fi()){R("Voice recording is not available in this browser.");return}R(null),C("starting");try{if(await window.openpond?.requestMicrophoneAccess?.()===!1)throw new Error("Microphone access is denied.");const ue=await Rd({onAudioLevel:de=>{N(H=>Pd(H,de))}});if(g.current=ue,N(bs()),C("recording"),x.current){x.current=!1,se(!0);return}y.current=window.setTimeout(()=>{se(!1)},Ld)}catch(I){R(Ur(I)),await B()}},[B,se]),X=o.useCallback(()=>{if(A.current){xe();return}c(Od,"info",{actionLabel:"Continue",persistent:!0,onAction:()=>{A.current=!0,Fd(),xe()}})},[xe,c]);return o.useEffect(()=>bu(f,()=>g.current?(se(!0),!0):h.current==="starting"?(x.current=!0,!0):!1),[se,f]),o.useEffect(()=>{l?.(F)},[F,l]),o.useEffect(()=>()=>l?.(!1),[l]),o.useEffect(()=>{if(!S||he||q)return;const W=window.setTimeout(()=>R(null),7e3);return()=>window.clearTimeout(W)},[q,S,he]),o.useEffect(()=>()=>{B()},[B]),n.jsxs("span",{className:`voice-input-control ${s} ${te?"starting":""} ${he?"recording":""} ${z?"transcribing":""}`.trim(),children:[w?n.jsxs("span",{className:"voice-recording-strip",children:[n.jsx("span",{className:"sr-only",role:"status",children:z?"Transcribing audio":"Recording voice"}),n.jsx("button",{type:"button",className:"voice-recording-action cancel","aria-label":z?"Cancel transcription":"Cancel dictation",onClick:()=>{z?Ne():B()},children:n.jsx(Ns,{size:15})}),z?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(_d,{levels:M}),n.jsx("button",{type:"button",className:"voice-recording-action stop","aria-label":"Stop and transcribe",onClick:()=>{se(!1)},children:n.jsx(xi,{size:10,fill:"currentColor"})})]})]}):n.jsx("button",{type:"button",className:`voice-input-trigger ${t} ${te?"starting":""}`.trim(),"aria-label":te?"Starting dictation":"Dictate",disabled:r||q||te,onClick:X,children:n.jsx(jc,{size:a})}),S&&!w?n.jsx("span",{className:"voice-input-status",role:"status",children:S}):null]})}async function zd(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 Ur(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 za(){if(typeof window>"u")return!1;try{return si.getItem(Bi)==="true"}catch{return!1}}function Fd(){if(!(typeof window>"u"))try{si.setItem(Bi,"true")}catch{}}const Dd=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible","setup-provider"]);function Bd({surface:e="chat",teamUseModel:t=!1,teamUseModelLocked:s=!1,onTeamUseModelChange:r,addFiles:a,addMenuId:i,addMenuOpen:l,addMenuRef:c,busy:d,codexPermissionMode:f,codexReasoningEffort:g,connection:y,contextStatusStyle:m,contextStatusTooltipId:b,contextWindowStatus:h,disabled:x,dropdownPlacement:A,fileInputRef:v,modelValue:C,modelOptions:S=[],hideModelControls:R=!1,openPondCommandAccessMode:M,showCommandAccess:N=!0,profileTarget:O,onCodexPermissionModeChange:$,onCodexReasoningEffortChange:z,onOpenPondCommandAccessModeChange:q,onProfileTargetChange:te,onModelChange:he,onOpenFilePicker:w,onProviderChange:F,onProviderSetupOpen:G,onSend:B,onStop:V,onToggleAddMenu:Ne,onTranscript:se,voiceInputChannelKey:xe,provider:X,providerSettings:W,providerOptions:I,running:ue,sendDisabled:de,sendTooltip:H,showToast:le,stopIcon:L="stop",stopLabel:Q="Stop response"}){const[D,be]=o.useState(!1),ve=Do(X,C,W),et=o.useMemo(()=>Ud({currentModelOptions:S,currentProvider:X,providerOptions:I,providerSettings:W}),[S,X,I,W]),Re=o.useMemo(()=>et.filter(U=>Dd.has(U.provider)),[et]),ye=(U,Ae)=>{if(z(qo(U,Ae,W)),U===X){he(Ae);return}he(Ae),F(U)};return e==="team"?n.jsxs("div",{className:`composer-primary-controls team-chat-composer-controls ${ue?"has-running-turn":""}`.trim(),children:[n.jsx("button",{type:"button",className:"composer-icon","aria-label":"Add photos and files",disabled:x,onClick:w,children:n.jsx(Wn,{size:18})}),n.jsx("input",{ref:v,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:U=>{a(Array.from(U.currentTarget.files??[])),U.currentTarget.value=""}}),n.jsxs("label",{className:"team-chat-model-toggle",children:[n.jsx("input",{type:"checkbox",checked:t,disabled:d||s,onChange:U=>r?.(U.currentTarget.checked)}),n.jsx("span",{children:"Use model"})]}),n.jsx("div",{className:"composer-spacer"}),t?n.jsx(Aa,{disabled:d,model:C,modelGroups:Re,placement:A,provider:X,providerSettings:W,reasoningEffort:g,showReasoning:ve,onModelSelectionChange:ye,onProviderSetupOpen:G,onReasoningEffortChange:z}):null,n.jsx(Oa,{buttonClassName:"composer-icon",connection:y,disabled:x,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:be,showToast:le,onTranscript:se,transcriptionChannelKey:xe}),n.jsx(Fa,{running:ue,sendDisabled:de,sendTooltip:H,stopIcon:L,stopLabel:Q,voiceInputActive:D,onSend:B,onStop:V})]}):n.jsxs("div",{className:`composer-primary-controls ${ue?"has-running-turn":""}`.trim(),children:[n.jsxs("div",{className:"composer-add-control open-up",ref:c,children:[n.jsx("button",{type:"button",className:`composer-icon ${l?"active":""}`,"aria-label":"Add to message","aria-haspopup":"menu","aria-expanded":l,"aria-controls":l?i:void 0,disabled:x,onMouseDown:U=>U.preventDefault(),onClick:Ne,children:n.jsx(Wn,{size:18})}),n.jsx("input",{ref:v,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:U=>{a(Array.from(U.currentTarget.files??[])),U.currentTarget.value=""}})]}),N&&X==="codex"?n.jsx(fa,{compact:!0,className:"permission-select",icon:n.jsx(Bo,{size:14}),placement:A,label:"Codex permissions",tooltip:ma.find(U=>U.value===f)?.label,value:f,options:ma,disabled:d,onChange:U=>$(U)}):N?n.jsx(fa,{compact:!0,className:"permission-select",icon:n.jsx(ta,{size:14}),placement:A,label:"Command access",tooltip:ha.find(U=>U.value===(M==="disabled"?"ask":M))?.label,value:M==="disabled"?"ask":M,options:ha,disabled:d,onChange:U=>q(U)}):null,O&&te?n.jsx($i,{busy:d,placement:A,state:O,onChange:te}):null,n.jsx("div",{className:"composer-spacer"}),!R&&n.jsxs("span",{className:`context-status-shell ${h.tone}`,style:m,children:[n.jsx("span",{className:`composer-status ${h.tone}`,role:h.maxTokens===null?"img":"meter","aria-label":h.tooltip,"aria-describedby":b,"aria-valuemin":h.maxTokens===null?void 0:0,"aria-valuemax":h.maxTokens??void 0,"aria-valuenow":h.maxTokens===null?void 0:h.usedTokens,tabIndex:0}),n.jsxs("span",{className:"context-status-tooltip",id:b,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:h.summary}),n.jsx("span",{children:h.tokensLabel})]}),h.maxTokens!==null&&n.jsx("span",{className:"context-status-tooltip-bar","aria-hidden":"true",children:n.jsx("span",{})}),h.detail?n.jsx("span",{className:"context-status-tooltip-detail",children:h.detail}):null]})]}),!R&&n.jsx(Aa,{disabled:d,model:C,modelGroups:et,placement:A,provider:X,providerSettings:W,reasoningEffort:g,showReasoning:ve,onModelSelectionChange:ye,onProviderSetupOpen:G,onReasoningEffortChange:z}),n.jsx(Oa,{buttonClassName:"composer-icon",connection:y,disabled:x,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:be,showToast:le,onTranscript:se,transcriptionChannelKey:xe}),n.jsx(Fa,{running:ue,sendDisabled:de,sendTooltip:H,stopIcon:L,stopLabel:Q,voiceInputActive:D,onSend:B,onStop:V})]})}function Fa({running:e,sendDisabled:t,sendTooltip:s,stopIcon:r,stopLabel:a,voiceInputActive:i,onSend:l,onStop:c}){const d=e?a:s;return n.jsx("button",{type:"button",className:`send-button ${e?"stop-button":""}`.trim(),disabled:!e&&t&&!i,"data-tooltip":d,"aria-label":d,onClick:e?()=>{c()}:l,children:e?r==="pause"?n.jsx(Ul,{size:15}):n.jsx(xi,{size:13,fill:"currentColor"}):n.jsx(tc,{size:18})})}function Ud({currentModelOptions:e,currentProvider:t,providerOptions:s,providerSettings:r}){return s.flatMap(a=>{if(a.value==="setup-provider")return[];const i=a.value,l=i===t?e:ri(i,r);return l.length>0?[{provider:i,label:a.label,defaultModel:Uo(i,r),options:l}]:[]})}function qd(e){return e.description||e.path}function Vd({items:e,onSelect:t,onSelectIndex:s,skillIndex:r,style:a}){const i=o.useRef(null);return o.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((l,c)=>{const d=c===r;return n.jsxs("button",{type:"button",className:`composer-project-option ${d?"selected":""}`,ref:d?i:void 0,role:"option","aria-selected":d,onMouseEnter:()=>s(c),onMouseDown:f=>{f.preventDefault(),t(l)},children:[n.jsx(ut,{size:14}),n.jsxs("span",{children:[n.jsx("strong",{children:fr(l)}),n.jsx("small",{children:qd(l)})]}),d?n.jsx($t,{size:14}):n.jsx("span",{"aria-hidden":"true"})]},l.name)}):n.jsx("div",{className:"composer-menu-empty",role:"option","aria-selected":"false",children:"No matching skills"})})}function Hd({actionCatalogCount:e,actionIndex:t,items:s,onSelect:r,onSelectIndex:a,style:i}){return n.jsx(aa,{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(l=>({kind:"slash",item:l})),label:"/"}],style:i,variant:"typed",onSelect:l=>{l.kind==="slash"&&r(l.item)},onSelectIndex:a})}function Wd({busy:e,initialDescription:t,open:s,onClose:r,onSubmit:a}){const[i,l]=o.useState(""),[c,d]=o.useState(()=>t.trim()),f=i.trim(),g=c.trim(),y=e||!f||!g;if(o.useEffect(()=>{s&&(l(""),d(t.trim()))},[t,s]),o.useEffect(()=>{if(!s||e)return;function b(h){h.key==="Escape"&&r()}return document.addEventListener("keydown",b),()=>document.removeEventListener("keydown",b)},[e,r,s]),!s)return null;async function m(){if(y)return;await a({title:f,description:g})&&(l(""),d(""))}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:b=>b.stopPropagation(),onKeyDown:b=>{b.key!=="Enter"||!(b.target instanceof HTMLInputElement)||(b.preventDefault(),m())},children:[n.jsx("button",{className:"git-dialog-close",disabled:e,type:"button",onClick:r,children:n.jsx(Ns,{size:16})}),n.jsx("div",{className:"git-dialog-icon",children:n.jsx(Vo,{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:Ho})]}),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:b=>l(b.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:c,onChange:b=>d(b.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:y,type:"button",onClick:()=>{m()},children:"Submit issue"})]})]})})}const Gd=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"]),Kd=new Set(["csv","ods","tsv","xls","xlsm","xlsx"]),Qd=new Set(["7z","bz2","gz","rar","tar","tgz","xz","zip"]),Xd=new Set(["doc","docx","epub","md","odt","pdf","rtf","txt"]),Jd=new Set(["key","odp","ppt","pptx"]);function Ui(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":Kd.has(s)||t.includes("spreadsheet")||t.includes("excel")?"spreadsheet":Qd.has(s)||t.includes("zip")||t.includes("compressed")?"archive":Jd.has(s)||t.includes("presentation")||t.includes("powerpoint")?"presentation":Gd.has(s)?"code":e.kind==="text"||Xd.has(s)||t.startsWith("text/")||t==="application/pdf"||t.includes("document")||t.includes("msword")?"document":"file"}function Yd(e){if(e.mediaType.toLowerCase()==="application/pdf")return"PDF";const t=Ui(e);return t==="spreadsheet"?"Spreadsheet":t.charAt(0).toUpperCase()+t.slice(1)}function qi(e){return`${e.toLocaleString()} ${e===1?"line":"lines"}`}const Zd={archive:Hl,audio:fc,code:Vl,document:ut,file:ql,image:dr,presentation:Sc,spreadsheet:hc,video:gc};function Vi({attachment:e,...t}){const s=Zd[Ui(e)];return n.jsx(s,{...t})}const ef=new Set(["csv","css","html","js","json","jsx","log","md","mdx","py","sql","svg","ts","tsx","txt","xml","yaml","yml"]),tf=2e3,nf=/^Pasted text(?: (\d+))?\.txt$/;function sf(e,t){if(e.length<tf)return null;const s=new Set;for(const i of t){const l=nf.exec(i.name);l&&s.add(l[1]?Number(l[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 rf({attachment:e,onRemove:t}){const[s,r]=o.useState(null);o.useEffect(()=>{if(e.kind!=="text")return;let i=!1;return e.file.text().then(l=>{i||r(vi(l))},()=>{}),()=>{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(Vi,{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?qi(s):Yd(e)})]}):null,n.jsx("button",{type:"button",className:"composer-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:n.jsx(Ns,{size:14})})]})}function af(){return globalThis.crypto?.randomUUID?.()??`attachment-${Date.now()}-${Math.random().toString(36).slice(2)}`}function of(e){if(e.type.startsWith("image/"))return"image";if(e.type.startsWith("text/"))return"text";const t=e.name.split(".").pop()?.toLowerCase()??"";return ef.has(t)?"text":"file"}async function lf(e){const[t,s]=await Promise.all([uf(e.file),e.kind==="text"?df(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:vi(s)}:{},...e.relativePath?{relativePath:e.relativePath}:{},contentsBase64:t,...s?{text:ff(s)}:{}}}function cf(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 uf(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 df(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 ff(e){if(e.length<=Ht.maxTextChars)return e;const t=`
|
|
4
|
-
[attachment text truncated]`;return`${e.slice(0,Math.max(0,Ht.maxTextChars-t.length))}${t}`}function mf(){const e=o.useRef([]),t=o.useRef([]),s=o.useRef(!1),[r,a]=o.useState([]),[i,l]=o.useState(null);o.useEffect(()=>{e.current=r},[r]),o.useEffect(()=>()=>{s.current=!0;for(const m of e.current)vs(m);for(const m of t.current)vs(m)},[]);const c=o.useCallback(m=>{if(m.length===0)return;const b=Math.max(0,Ht.maxAttachments-r.length),h=[];let x=0,A=0;for(const v of m){if(v.size>Ht.maxAttachmentBytes){x+=1;continue}if(h.length>=b){A+=1;continue}const C="webkitRelativePath"in v&&typeof v.webkitRelativePath=="string"&&v.webkitRelativePath.trim()?v.webkitRelativePath.trim():void 0;h.push({id:af(),file:v,name:v.name||"Untitled file",mediaType:v.type||"application/octet-stream",sizeBytes:v.size,kind:of(v),...C?{relativePath:C}:{},...v.type.startsWith("image/")?{previewUrl:URL.createObjectURL(v)}:{}})}if(h.length>0&&(a([...r,...h]),l(null)),x>0||A>0){const v=[];x>0&&v.push(`${x} file${x===1?"":"s"} exceeded ${cf(Ht.maxAttachmentBytes)}`),A>0&&v.push(`maximum ${Ht.maxAttachments} attachments`),l(v.join("; "))}},[r]),d=o.useCallback(m=>{a(b=>{const h=b.find(A=>A.id===m);h&&vs(h);const x=b.filter(A=>A.id!==m);return x.length===0&&l(null),x})},[]),f=o.useCallback(()=>{for(const m of e.current)vs(m);e.current=[],a([]),l(null)},[]),g=o.useCallback(()=>{const m=e.current;return m.length===0||(e.current=[],t.current=m,a([]),l(null)),m},[]),y=o.useCallback((m,b)=>{if(m.length===0)return;const h=new Set(m.map(x=>x.id));if(t.current=t.current.filter(x=>!h.has(x.id)),b==="restore"&&!s.current){a(x=>{const A=new Set(x.map(C=>C.id)),v=[...m.filter(C=>!A.has(C.id)),...x];return e.current=v,v});return}for(const x of m)vs(x)},[]);return{attachmentError:i,attachments:r,addFiles:c,clearAttachments:f,removeAttachment:d,settleStagedAttachments:y,setAttachmentError:l,stageAttachmentsForSubmit:g}}function vs(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function hf(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 pf(e,t,s=na){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(c=>c.id===a[1]);if(!i)return null;const l=a[0].lastIndexOf("/");return l<0||typeof a.index!="number"?null:{command:i,end:r.length,start:a.index+l}}function gf(e,t=na){return Go({commands:t,prompt:`/${e}`})}function Da(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 Ba(e,t){return e.length===0?[]:e.filter(s=>t?[s.id,s.name,s.description??"",s.gitRepo??"",ai(s)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function Ua({actionCatalog:e,connectedAppMentions:t,mentionApps:s,profileSkills:r,query:a,surface:i,teamMentionMembers:l}){const c=a.toLowerCase();if(i==="team"){const m=l.filter(h=>c?[h.name,h.handle??""].map(Un).some(x=>x.includes(c)):!0).map(h=>({kind:"team-member",member:h}));return[...pa(e,c,e.length).map(h=>({kind:"action",action:h})),...m]}const d=s.filter(m=>c?[Un(m.id),Un(m.name),m.gitRepo?Un(m.gitRepo):"",ai(m)].some(h=>h.includes(c)):!0).map(m=>({kind:"app",app:m})),f=pa(e,c,e.length).map(m=>({kind:"action",action:m})),g=nr(r,c).map(m=>({kind:"skill",skill:m})),y=Wo(t,c).map(m=>({kind:"connected-app",app:m}));return[...f,...g,...d,...y]}function xf(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),l=e.slice(a),c=i&&!/\s$/.test(i)?" ":"",d=l&&!/^\s/.test(l)?" ":"";return`${i}${c}${r}${d}${l}`.replace(/\s+/g," ").trim()}function bf(e){const t=Un(ea(e)||e.name||e.id);return t?`@${t}`:null}function vf(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])=>`${Hi(a)}: ${Yr(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function Hi(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 Yr(e,t){if(Array.isArray(t))return t.map(r=>Yr(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${Hi(r)}: ${Yr(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 jf({action:e,prompt:t,selectedActionMentionText:s,selectedInvocationPosition:r}){if(!e)return null;const a=s?.trim(),i=a?.startsWith("@")?a:bf(e);return i?xf(vf(t),i,r):null}function yf({attachmentCount:e,prompt:t,selectedAction:s,selectedCommand:r}){return!!(t.trim()||e>0||s||r)}const kf=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Sf({activeMentionKey:e,activeSkillKey:t,activeSlashKey:s,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:l,addMenuRef:c,attachmentCount:d,composerRef:f,createImproveActive:g,goalRuntimeActive:y,inputRef:m,inputShellRef:b,mentionQuery:h,prompt:x,selectedActionId:A,selectAddMenuItem:v,setActionIndex:C,setActionMenuDismissedPrompt:S,setAddMenuIndex:R,setAddMenuOpen:M,setAddMenuQuery:N,setMentionMenuDismissedPrompt:O,setMentionIndex:$,setSkillIndex:z,setSkillMenuDismissedPrompt:q,skillMatchCount:te,skillQuery:he,slashMatchCount:w,slashQuery:F,showActionMenu:G,showMentionMenu:B,showSkillMenu:V}){const[Ne,se]=o.useState({}),[xe,X]=o.useState({}),[W,I]=o.useState({}),[ue,de]=o.useState({});return o.useEffect(()=>{$(0)},[h]),o.useEffect(()=>{z(0)},[te,he]),o.useEffect(()=>{C(0)},[w,F]),o.useEffect(()=>{const H=m.current?.element,le=H?.parentElement;if(!H||!le||typeof ResizeObserver>"u")return;const L=new ResizeObserver(()=>m.current?.resize());return L.observe(le),()=>L.disconnect()},[]),o.useEffect(()=>{if(!i)return;function H(L){const Q=L.target,D=m.current?.element?.parentElement;!c.current?.contains(Q)&&!l.current?.contains(Q)&&!D?.contains(Q)&&(M(!1),N(""),O(e),S(s),q(t))}function le(L){if(L.key==="Escape"){L.preventDefault(),M(!1),N(""),O(e),S(s),q(t);return}if(a.length!==0){if(L.key==="ArrowDown"){L.preventDefault(),R(Q=>(Q+1)%a.length);return}if(L.key==="ArrowUp"){L.preventDefault(),R(Q=>(Q-1+a.length)%a.length);return}if(L.key==="Home"){L.preventDefault(),R(0);return}if(L.key==="End"){L.preventDefault(),R(a.length-1);return}if(L.key==="Enter"){L.preventDefault();const Q=a[r]??a[0];Q&&v(Q)}}}return document.addEventListener("pointerdown",H),document.addEventListener("keydown",le),()=>{document.removeEventListener("pointerdown",H),document.removeEventListener("keydown",le)}},[e,t,s,r,a,i]),o.useLayoutEffect(()=>{if(!i)return;const H=b.current;if(!H)return;const le=H;function L(){de(Yu(le))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[i,d,g,y]),o.useLayoutEffect(()=>{if(!G)return;const H=m.current?.element,le=f.current;if(!H||!le)return;const L=H,Q=le;function D(){I(Fr(L,Q))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,y,x,A,G]),o.useLayoutEffect(()=>{if(!V)return;const H=m.current?.element,le=f.current;if(!H||!le)return;const L=H,Q=le;function D(){X(Fr(L,Q))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,y,x,A,V]),o.useLayoutEffect(()=>{if(!B)return;const H=m.current?.element,le=f.current;if(!H||!le)return;const L=H,Q=le;function D(){se(Fr(L,Q))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,y,x,A,B]),{actionMenuStyle:W,addMenuStyle:ue,mentionMenuStyle:Ne,skillMenuStyle:xe}}const Cf=o.lazy(()=>ge(()=>import("./ComposerCreateImproveStrip-CG8YZxWB.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),wf=na.find(e=>e.id==="submit-issue"),Mf=[],Nf=[];function Wi({experience:e="development",mode:t,surface:s="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:l,prompt:c,composeNotice:d=null,mentionApps:f=[],connectedAppMentions:g=[],profileSkills:y=[],selectedMentionAppId:m=null,contextWindowStatus:b,goalRuntime:h=null,subagentRuntime:x=null,createImproveRuntime:A=null,busy:v,running:C=v,taskSessionId:S=null,taskEvents:R=Nf,steerActiveResponses:M=!1,submissionScopeKey:N="default",getCurrentSubmissionScopeKey:O,voiceInputChannelKey:$=N,initialSteerDrafts:z=Mf,showProjectFooter:q=!0,hideModelControls:te=!1,autoFocus:he=!1,focusRequestId:w=0,attachmentRequest:F=null,connection:G,providerSettings:B=null,provider:V,model:Ne,projectTarget:se,profileTarget:xe=null,actionCatalog:X=[],requestedAction:W=null,workspaceTarget:I,codexPermissionMode:ue,codexReasoningEffort:de,openPondCommandAccessMode:H,onProviderChange:le,onProviderSetupOpen:L,onProjectTargetChange:Q,onProfileTargetChange:D,onWorkspaceTargetChange:be,onModelChange:ve,onCodexPermissionModeChange:et,onCodexReasoningEffortChange:Re,onOpenPondCommandAccessModeChange:ye,onPromptChange:U,onMentionAppSelect:Ae,onSaveTaskDraft:gn,showToast:tt,onSubmit:vt,onStop:Tt,onPauseGoal:ze}){const xn=o.useRef(null),k=o.useRef(null),E=o.useRef(null),re=ku(G,S,R),ke=o.useRef(null),Se=o.useRef(null),Ie=o.useRef(null),oe=o.useRef(null),Fe=o.useRef(0),we=W&&X.some(u=>u.id===W.actionId)?W:null,jt=o.useRef(!1),Pt=o.useRef(0),Kt=o.useRef(we?.requestId??0),Ge=o.useRef(new Set),nt=o.useRef(new Set),[fe,Oe]=o.useState(c.length),As=o.useRef(fe);As.current=fe;const[bn,vn]=o.useState(0),[Es,jn]=o.useState(0),[Rs,yn]=o.useState(0),[$s,Qt]=o.useState(0),[Is,_t]=o.useState(""),[Be,Gn]=o.useState(null),[pr,Ue]=o.useState(null),[kn,qe]=o.useState(null),[De,ot]=o.useState(!1),[gr,xr]=o.useState(!1),[Ke,st]=o.useState(we?.actionId??null),[yt,kt]=o.useState(null),[Lt,rt]=o.useState(null),[Sn,lt]=o.useState(null),[Cn,wn]=o.useState(null),[Kn,Mn]=o.useState(!1),[Nn,Qn]=o.useState(()=>({[N]:z})),[Xt,An]=o.useState(null),[Xn,Jt]=o.useState(!1),[Jn,Yn]=o.useState(""),[at,ne]=o.useState(!1),{attachmentError:Yt,attachments:$e,addFiles:dt,removeAttachment:br,settleStagedAttachments:Ts,setAttachmentError:Te,stageAttachmentsForSubmit:ct}=mf(),Ot=o.useRef(0);o.useEffect(()=>{!F||Ot.current===F.id||(Ot.current=F.id,dt([F.file]))},[dt,F]);const vr=o.useCallback(u=>{const p=sf(u,$e);return!p||$e.length>=Ht.maxAttachments||p.size>Ht.maxAttachmentBytes?!1:(dt([p]),!0)},[dt,$e]),Zn=xd({experience:e,mode:t,surface:s}),Zt=e==="development"||e==="work"&&se.value!=="none",es=Ko(V,Ne,B),en="top",Ps=o.useId(),jr=o.useId(),yr=o.useId(),kr={"--context-fill":`${Math.round((b.percent??0)/100*360)}deg`,"--context-bar-fill":`${b.percent??0}%`},Me=o.useMemo(()=>X.find(u=>u.id===Ke)??null,[X,Ke]),ft=o.useMemo(()=>Qo(V,e),[e,V]),Qe=o.useMemo(()=>Zt?y:y.filter(u=>!kf.has(u.name)),[e,y]),Ee=o.useMemo(()=>ft.find(u=>u.id===yt)??null,[ft,yt]),tn=jf({action:Me,prompt:c,selectedActionMentionText:Sn,selectedInvocationPosition:Lt}),_s=yf({attachmentCount:$e.length,prompt:c,selectedAction:Me,selectedCommand:Ee}),Sr=o.useMemo(()=>{const u=Math.max(0,Math.min(Lt??0,c.length));return Ee?{icon:Ee.id==="agent"?"plus":Ee.id==="skill"?"skill":"workflow",key:`command:${Ee.id}`,label:Ee.id==="agent"?"Author Agent":Ee.id,position:u,onRemove:()=>{kt(null),rt(null),lt(null)}}:Me?{icon:Me.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${Me.id}`,label:ea(Me),position:u,onRemove:()=>{st(null),rt(null),lt(null)}}:null},[c.length,Me,Ee,Lt]),nn=Cn===N,Ls=nn||!_s,Cr=nn?"Preparing files":C?M?"Steer":"Queue for next turn":"Send",mt=nn,Os=nn;function ht(u=N){const p=Ge.current;return p.has(u)?!1:(p.add(u),!0)}function ts(u){Ge.current.delete(u)}function zt(u){return Ge.current.has(u)}function St(){return zt(N)}function ns(u){wn(p=>p===u?null:p)}const En=o.useMemo(()=>{const u=Xo(B,{enabledOnly:!0}).map(J=>({...J,description:void 0})),p=Zt?u:u.filter(J=>J.value!=="codex"),P=I.value==="cloud"&&Zt?p.filter(J=>J.value==="openpond"):p,T=P.some(J=>J.value===V)?P:[{value:V,label:Jo(V,B),description:"Current"},...P],Z={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[...T,Z]},[V,B,Zt,I.value]),wr=o.useMemo(()=>ri(V,B),[V,B]),Ce=o.useMemo(()=>Yo(c,Math.min(fe,c.length)),[fe,c]),sn=Ce?`${c}:${Ce.start}:${Math.min(fe,c.length)}`:null,pt=o.useMemo(()=>Ce?Ua({actionCatalog:X,connectedAppMentions:g,mentionApps:f,profileSkills:Qe,query:Ce.query,surface:s,teamMentionMembers:i}):[],[X,g,f,Ce,Qe,s,i]),zs=o.useMemo(()=>s==="team"?[]:Ua({actionCatalog:X,connectedAppMentions:g,mentionApps:f,profileSkills:Qe,query:"",surface:s,teamMentionMembers:i}).filter(u=>u.kind!=="skill"),[X,g,f,Qe,s,i]),Ft=!!(!De&&!mt&&Ce&&sn&&Be!==sn&&pt.length>0),Xe=o.useMemo(()=>fu(c,Math.min(fe,c.length)),[fe,c]),rn=Xe?`${c}:${Xe.start}:${Xe.end}`:null,Ve=o.useMemo(()=>Xe?nr(Qe,Xe.query):[],[Xe,Qe]),an=!!(!De&&!mt&&Xe&&rn&&kn!==rn),ce=o.useMemo(()=>hf(c,Math.min(fe,c.length)),[fe,c]),Ct=ce?`${c}:${ce.start}:${ce.end}`:null,Rn=o.useMemo(()=>ce?Da(X,ce.query):[],[X,ce]),Fs=o.useMemo(()=>ce&&s!=="team"?Ba(f,ce.query):[],[ce,f,s]),ss=o.useMemo(()=>ce&&s!=="team"?gf(ce.query,ft):[],[ce,ft,s]),Ds=o.useMemo(()=>ce&&s!=="team"?nr(Qe,ce.query):[],[ce,Qe,s]),Je=o.useMemo(()=>[...Rn.map(u=>({kind:"action",action:u})),...Ds.map(u=>({kind:"skill",skill:u})),...ss.map(u=>({kind:"command",command:u})),...Fs.map(u=>({kind:"app-context",app:u}))],[Rn,Fs,ss,Ds]),rs=!!(!De&&!mt&&ce&&Ct&&pr!==Ct),as=o.useMemo(()=>ft.map(u=>({kind:"command",command:u})),[ft]),is=o.useMemo(()=>[...Da(X,"").map(u=>({kind:"action",action:u})),...Ba(f,"").map(u=>({kind:"app-context",app:u}))],[X,f]),Bs=o.useMemo(()=>nr(Qe,"").map(u=>({kind:"skill",skill:u})),[Qe]),$n=o.useMemo(()=>{const u=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return is.length>0&&u.push({id:"slash",items:is.map(p=>({kind:"slash",item:p})),label:"Agents and actions",queryScope:"slash"}),Bs.length>0&&u.push({id:"skills",items:Bs.map(p=>({kind:"slash",item:p})),label:"Skills",queryScopes:["slash","mentions"]}),u.push({id:"openpond",items:as.map(p=>({kind:"slash",item:p})),label:"OpenPond",grid:!0,queryScope:"slash"}),u.push({emptyLabel:"No mentions available",id:"mentions",items:zs.map(p=>({kind:"mention",item:p})),label:"@"}),u},[zs,as,Bs,is,e]),In=o.useMemo(()=>Md($n,Is),[Is,$n]),Dt=o.useMemo(()=>In.flatMap(u=>u.items),[In]);o.useEffect(()=>{De&&Qt(u=>u<Dt.length?u:0)},[Dt.length,De]);const Tn=!!h,on=Tn&&h?.tone==="active",os=on?"Pause goal":"Stop response",wt=on?"pause":"stop",ls=e==="work"||se.value!=="none",je=Qr(Nn,N,z),cs=Xt?.scopeKey===N?Xt.draftId:null;function Pn(u,p){Qn(P=>Mu(P,u,p,u===N?z:[]))}o.useLayoutEffect(()=>{E.current?.resize()},[$e.length,Yt,A,h,c,Ke,yt,Lt]),o.useEffect(()=>{if(!he){jt.current=!1;return}if(jt.current||mt)return;const u=window.requestAnimationFrame(()=>{jt.current=!0;const p=document.activeElement;p&&p!==document.body&&p!==document.documentElement||E.current?.focusAtPromptIndex(c.length)});return()=>window.cancelAnimationFrame(u)},[he,mt,c.length]),o.useEffect(()=>{!w||Pt.current===w||mt||(Pt.current=w,window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(c.length)}))},[w,mt,c.length]),o.useEffect(()=>{h||Mn(!1)},[h]),o.useEffect(()=>{Ke&&!X.some(u=>u.id===Ke)&&(st(null),rt(null))},[X,Ke]),o.useEffect(()=>{if(!W||W.requestId<=Kt.current)return;const u=X.find(p=>p.id===W.actionId);u&&(Kt.current=W.requestId,st(u.id),kt(null),rt(0),lt(null),U(""),Oe(0),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[X,U,W]),o.useEffect(()=>{!Me&&!Ee||rt(u=>u===null?0:Math.max(0,Math.min(u,c.length)))},[c.length,Me,Ee]),o.useEffect(()=>{if(!m||!Ae)return;const u=f.find(p=>p.id===m);(!u||!Zo(c,u))&&Ae(null)},[f,Ae,c,m]);const{actionMenuStyle:Mr,addMenuStyle:Nr,mentionMenuStyle:Ar,skillMenuStyle:Er}=Sf({activeMentionKey:sn,activeSkillKey:rn,activeSlashKey:Ct,addMenuIndex:$s,addMenuItems:Dt,addMenuOpen:De,addMenuPanelRef:oe,addMenuRef:Ie,attachmentCount:$e.length,composerRef:xn,createImproveActive:!!A,goalRuntimeActive:!!h,inputRef:E,inputShellRef:k,mentionQuery:Ce?.query,prompt:c,selectedActionId:Ke,selectAddMenuItem:On,setActionIndex:yn,setActionMenuDismissedPrompt:Ue,setAddMenuIndex:Qt,setAddMenuOpen:ot,setAddMenuQuery:_t,setMentionMenuDismissedPrompt:Gn,setMentionIndex:vn,setSkillIndex:jn,setSkillMenuDismissedPrompt:qe,skillMatchCount:Ve.length,skillQuery:Xe?.query,slashMatchCount:Je.length,slashQuery:ce?.query,showActionMenu:rs,showMentionMenu:Ft,showSkillMenu:an});function He(){st(null),kt(null),rt(null),lt(null)}function Rr(){He(),U(""),Oe(0)}function us(u){Yn(u.trim()),Jt(!0)}function $r(){at||(Jt(!1),He())}async function Bt(){return await(on&&ze?ze():Tt())}function _n(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=c.slice(0,T),me=c.slice(Z),Nt=J&&!/\s$/.test(J)?" ":"",qt=me&&!/^\s/.test(me)?" ":"",At=`${tl(u)} `,it=`${Nt}${At}${qt}`,mn=`${J}${it}${me}`,Ze=J.length+it.length;return U(mn),Ae?.(u.id),Oe(Ze),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Ze)}),Ze}function Ir(u){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));_n(u,{start:Ce.start,end:p})}function Ut(u,p,P=null){const T=Math.max(0,Math.min(fe,c.length)),Z=p?Math.max(0,Math.min(p.start,c.length)):T,J=p?Math.max(Z,Math.min(p.end,c.length)):Z,me=`${c.slice(0,Z)}${c.slice(J)}`;return st(u.id),kt(null),rt(Z),lt(P?.startsWith("@")?P:null),Ue(null),U(me),Oe(Z),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Z,{afterToken:!0})}),Z}function Ln(u){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length)),P=Math.max(0,Math.min(Ce.start,c.length)),T=Math.max(P,Math.min(p,c.length));Ut(u,{start:P,end:T},c.slice(P,T).trim())}function Us(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=c.slice(0,T),me=c.slice(Z),Nt=J&&!/\s$/.test(J)?" ":"",qt=me&&!/^\s/.test(me)?" ":"",At=`${nl(u)} `,it=`${Nt}${At}${qt}`,mn=`${J}${it}${me}`,Ze=J.length+it.length;return U(mn),Oe(Ze),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Ze)}),Ze}function Pe(u){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));Us(u,{start:Ce.start,end:p})}function ln(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=u.handle||Un(u.name),me=c.slice(0,T),Nt=c.slice(Z),qt=me&&!/\s$/.test(me)?" ":"",At=Nt&&!/^\s/.test(Nt)?" ":"",it=`${qt}@${J} ${At}`,mn=`${me}${it}${Nt}`,Ze=me.length+it.length;return U(mn),Oe(Ze),window.requestAnimationFrame(()=>E.current?.focusAtPromptIndex(Ze)),Ze}function qs(u){if(u.kind==="team-member"){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));ln(u.member,{start:Ce.start,end:p});return}if(u.kind==="app"){Ir(u.app);return}if(u.kind==="connected-app"){Pe(u.app);return}if(u.kind==="skill"){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));gt(u.skill,{start:Ce.start,end:p});return}Ln(u.action)}function Tr(u){ce&&(Ue(null),_n(u,{start:ce.start,end:ce.end}))}function Vs(u){ce&&Ut(u,ce)}function Hs(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=`${c.slice(0,T)}${c.slice(Z)}`;return kt(u.id),st(null),rt(T),lt(null),Ue(null),U(J),Oe(T),u.id==="submit-issue"&&us(J),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(T,{afterToken:!0})}),T}function Mt(u){ce&&Hs(u,ce)}function ds(u){if(u.kind==="command"){Mt(u.command);return}if(u.kind==="app-context"){Tr(u.app);return}if(u.kind==="skill"){if(!ce)return;gt(u.skill,ce);return}Vs(u.action)}function gt(u,p){const P=mu(c,p,u);return qe(null),Gn(null),Ue(null),U(P.value),Oe(P.cursor),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(P.cursor)}),P.cursor}function cn(u){Xe&>(u,Xe)}function Ye(){ke.current?.click()}function Pr(){Se.current?.click()}function We(u){Fe.current=u,_t(""),Qt(0)}function fs(){const u=Math.max(0,Math.min(fe,c.length)),p=Math.max(0,Math.min(Fe.current,c.length));return u>=p?{start:p,end:u}:{start:u,end:u}}function On(u){const p=fs();if(ot(!1),_t(""),u.kind==="files"||u.kind==="folder"){if(p.start!==p.end){const P=`${c.slice(0,p.start)}${c.slice(p.end)}`;U(P),Oe(p.start)}We(p.start),u.kind==="folder"?Pr():Ye();return}if(u.kind==="slash"){if(u.item.kind==="command"){We(Hs(u.item.command,p));return}if(u.item.kind==="app-context"){We(_n(u.item.app,p));return}if(u.item.kind==="skill"){We(gt(u.item.skill,p));return}We(Ut(u.item.action,p));return}if(u.item.kind==="team-member"){We(ln(u.item.member,p));return}if(u.item.kind==="app"){We(_n(u.item.app,p));return}if(u.item.kind==="connected-app"){We(Us(u.item.app,p));return}if(u.item.kind==="skill"){We(gt(u.item.skill,p));return}We(Ut(u.item.action,p))}const{stageCurrentSteerDraft:un,submitImmediateSteer:dn}=du({running:C,scope:N,inbox:re,getPrompt:()=>E.current?.getPrompt()??c,hasFilesOrActions:!!($e.length||Me||Ee),provider:V,model:Ne,codexPermissionMode:ue,codexReasoningEffort:de,openPondCommandAccessMode:H,getCurrentSubmissionScopeKey:O,onSubmit:vt,showToast:tt,begin:u=>nt.current.has(u)?!1:(nt.current.add(u),!0),finish:u=>{nt.current.delete(u)},clear:Rr,setError:Te,stageLocal:u=>{Pn(N,p=>[...p,Ei(u)]),window.requestAnimationFrame(()=>E.current?.focusAtPromptIndex(0))}});async function _r(u){const p=N;if(Xt?.scopeKey===p)return!1;const P=Qr(Nn,p,z).find(T=>T.id===u);if(!P)return!1;An({draftId:u,scopeKey:p}),Te(null);try{const T=C,Z=await vt([],null,null,{preservePrompt:!0,promptOverride:P.prompt,...T?{turnMetadata:{interactionKind:"steer"}}:{}});return Pn(p,J=>wu(J,u,Z)),Z}catch(T){return Te(T instanceof Error?T.message:String(T)),!1}finally{An(T=>T?.scopeKey===p&&T.draftId===u?null:T)}}function ms(u){cs!==u&&Pn(N,p=>Ri(p,u))}function hs(u){if(cs!==u.id){if($e.length>0||Ke||yt){tt("Finish the current composer before editing a queued message.","info");return}Pn(N,p=>Cu(p,u.id,c)),U(u.prompt),Oe(u.prompt.length),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(u.prompt.length)})}}async function fn(u={}){const p=N;if(!ht(p))return!1;ot(!1),Te(null);const P=ct();try{wn(P.length>0?p:null);let T;try{T=await Promise.all(P.map(lf))}finally{ns(p)}const Z=Me&&tn&&!c.trim()?tn:void 0,J=u.promptOverride??Z,me=await vt(T,Me,Ee,tn||J||u.preservePrompt?{...tn?{displayPrompt:tn}:{},...J!==void 0?{promptOverride:J}:{},...u.preservePrompt?{preservePrompt:!0}:{}}:void 0);return Ts(P,me?"dispose":"restore"),me&&!sl(Me)&&He(),me}catch(T){return Ts(P,"restore"),Te(T instanceof Error?T.message:String(T)),!1}finally{ts(p),ns(p)}}async function zn(){if(C){M?await dn():await un();return}if(St())return;const u=Me||Ee?null:ii(c);if(Ee?.id==="submit-issue"||u?.command==="submit-issue"){us(u?.command==="submit-issue"?u.args:c);return}Ls||await fn()}function Fn(){vu($)||zn()}async function ps(u){if(St()||at)return!1;const p=N;if(!ht(p))return!1;ne(!0),ot(!1),Te(null);try{const P=await vt([],null,wf,{displayPrompt:`/submit-issue ${u.title.trim()}`,promptOverride:el(u)});return P&&(Jt(!1),He()),P}catch(P){return Te(P instanceof Error?P.message:String(P)),!1}finally{ts(p),ne(!1)}}async function Ws(u,p){const P=E.current?.getPrompt()??c,T=Math.max(0,Math.min(As.current,P.length)),Z=Ni(P,u,p.submit?P.length:T),J=await pu({appendToEnd:p.submit,currentScopeKey:O?.()??N,cursorIndex:T,originScopeKey:N,prompt:P,setOriginDraft:me=>U(me),submitFromOrigin:me=>fn({preservePrompt:!0,promptOverride:me}),transcript:u});if(J==="retained"){tt("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(J==="submitted"){tt("Voice message sent to the chat where recording started.","success");return}if(p.submit){if(C){M?await dn(Z.value):await un(Z.value);return}await fn({promptOverride:Z.value});return}Oe(Z.cursorIndex),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Z.cursorIndex)})}return n.jsxs("form",{ref:xn,className:`composer ${t} ${A?"has-create-runtime":""} ${Tn?"has-goal-runtime":""} ${$e.length>0?"has-attachments":""} ${Me||Ee?"has-selected-action":""} ${Yt?"has-attachment-error":""} ${De?"has-add-menu":""}`,onSubmit:u=>{u.preventDefault(),zn()},children:[n.jsx("input",{webkitdirectory:"",ref:Se,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:u=>{dt(Array.from(u.currentTarget.files??[])),u.currentTarget.value=""}}),Ft&&n.jsx(Ed,{items:pt,mentionIndex:bn,onSelect:qs,onSelectIndex:vn,style:Ar}),an&&n.jsx(Vd,{items:Ve,onSelect:cn,onSelectIndex:jn,skillIndex:Es,style:Er}),rs&&n.jsx(Hd,{actionCatalogCount:X.length,actionIndex:Rs,items:Je,onSelect:ds,onSelectIndex:yn,style:Mr}),n.jsx(Wd,{busy:at,initialDescription:Jn,open:Xn,onClose:$r,onSubmit:ps}),q&&n.jsxs("div",{className:"composer-footer",children:[q?n.jsx(Eu,{busy:v||se.busy,placement:en,state:se,onChange:Q}):null,xe&&D?n.jsx($i,{busy:v,placement:en,state:xe,onChange:D}):null,ls?n.jsx(Ru,{busy:v,placement:en,state:I,onChange:be}):null]}),!q&&e==="work"&&n.jsx($u,{project:se,workspace:I}),A?n.jsx(o.Suspense,{fallback:null,children:n.jsx(Cf,{runtime:A})}):null,re.enabled?n.jsx(Nu,{inbox:re,onRestore:u=>{U(c.trim()?`${c}
|
|
4
|
+
[attachment text truncated]`;return`${e.slice(0,Math.max(0,Ht.maxTextChars-t.length))}${t}`}function mf(){const e=o.useRef([]),t=o.useRef([]),s=o.useRef(!1),[r,a]=o.useState([]),[i,l]=o.useState(null);o.useEffect(()=>{e.current=r},[r]),o.useEffect(()=>()=>{s.current=!0;for(const m of e.current)vs(m);for(const m of t.current)vs(m)},[]);const c=o.useCallback(m=>{if(m.length===0)return;const b=Math.max(0,Ht.maxAttachments-r.length),h=[];let x=0,A=0;for(const v of m){if(v.size>Ht.maxAttachmentBytes){x+=1;continue}if(h.length>=b){A+=1;continue}const C="webkitRelativePath"in v&&typeof v.webkitRelativePath=="string"&&v.webkitRelativePath.trim()?v.webkitRelativePath.trim():void 0;h.push({id:af(),file:v,name:v.name||"Untitled file",mediaType:v.type||"application/octet-stream",sizeBytes:v.size,kind:of(v),...C?{relativePath:C}:{},...v.type.startsWith("image/")?{previewUrl:URL.createObjectURL(v)}:{}})}if(h.length>0&&(a([...r,...h]),l(null)),x>0||A>0){const v=[];x>0&&v.push(`${x} file${x===1?"":"s"} exceeded ${cf(Ht.maxAttachmentBytes)}`),A>0&&v.push(`maximum ${Ht.maxAttachments} attachments`),l(v.join("; "))}},[r]),d=o.useCallback(m=>{a(b=>{const h=b.find(A=>A.id===m);h&&vs(h);const x=b.filter(A=>A.id!==m);return x.length===0&&l(null),x})},[]),f=o.useCallback(()=>{for(const m of e.current)vs(m);e.current=[],a([]),l(null)},[]),g=o.useCallback(()=>{const m=e.current;return m.length===0||(e.current=[],t.current=m,a([]),l(null)),m},[]),y=o.useCallback((m,b)=>{if(m.length===0)return;const h=new Set(m.map(x=>x.id));if(t.current=t.current.filter(x=>!h.has(x.id)),b==="restore"&&!s.current){a(x=>{const A=new Set(x.map(C=>C.id)),v=[...m.filter(C=>!A.has(C.id)),...x];return e.current=v,v});return}for(const x of m)vs(x)},[]);return{attachmentError:i,attachments:r,addFiles:c,clearAttachments:f,removeAttachment:d,settleStagedAttachments:y,setAttachmentError:l,stageAttachmentsForSubmit:g}}function vs(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function hf(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 pf(e,t,s=na){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(c=>c.id===a[1]);if(!i)return null;const l=a[0].lastIndexOf("/");return l<0||typeof a.index!="number"?null:{command:i,end:r.length,start:a.index+l}}function gf(e,t=na){return Go({commands:t,prompt:`/${e}`})}function Da(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 Ba(e,t){return e.length===0?[]:e.filter(s=>t?[s.id,s.name,s.description??"",s.gitRepo??"",ai(s)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function Ua({actionCatalog:e,connectedAppMentions:t,mentionApps:s,profileSkills:r,query:a,surface:i,teamMentionMembers:l}){const c=a.toLowerCase();if(i==="team"){const m=l.filter(h=>c?[h.name,h.handle??""].map(Un).some(x=>x.includes(c)):!0).map(h=>({kind:"team-member",member:h}));return[...pa(e,c,e.length).map(h=>({kind:"action",action:h})),...m]}const d=s.filter(m=>c?[Un(m.id),Un(m.name),m.gitRepo?Un(m.gitRepo):"",ai(m)].some(h=>h.includes(c)):!0).map(m=>({kind:"app",app:m})),f=pa(e,c,e.length).map(m=>({kind:"action",action:m})),g=nr(r,c).map(m=>({kind:"skill",skill:m})),y=Wo(t,c).map(m=>({kind:"connected-app",app:m}));return[...f,...g,...d,...y]}function xf(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),l=e.slice(a),c=i&&!/\s$/.test(i)?" ":"",d=l&&!/^\s/.test(l)?" ":"";return`${i}${c}${r}${d}${l}`.replace(/\s+/g," ").trim()}function bf(e){const t=Un(ea(e)||e.name||e.id);return t?`@${t}`:null}function vf(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])=>`${Hi(a)}: ${Yr(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function Hi(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 Yr(e,t){if(Array.isArray(t))return t.map(r=>Yr(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${Hi(r)}: ${Yr(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 jf({action:e,prompt:t,selectedActionMentionText:s,selectedInvocationPosition:r}){if(!e)return null;const a=s?.trim(),i=a?.startsWith("@")?a:bf(e);return i?xf(vf(t),i,r):null}function yf({attachmentCount:e,prompt:t,selectedAction:s,selectedCommand:r}){return!!(t.trim()||e>0||s||r)}const kf=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Sf({activeMentionKey:e,activeSkillKey:t,activeSlashKey:s,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:l,addMenuRef:c,attachmentCount:d,composerRef:f,createImproveActive:g,goalRuntimeActive:y,inputRef:m,inputShellRef:b,mentionQuery:h,prompt:x,selectedActionId:A,selectAddMenuItem:v,setActionIndex:C,setActionMenuDismissedPrompt:S,setAddMenuIndex:R,setAddMenuOpen:M,setAddMenuQuery:N,setMentionMenuDismissedPrompt:O,setMentionIndex:$,setSkillIndex:z,setSkillMenuDismissedPrompt:q,skillMatchCount:te,skillQuery:he,slashMatchCount:w,slashQuery:F,showActionMenu:G,showMentionMenu:B,showSkillMenu:V}){const[Ne,se]=o.useState({}),[xe,X]=o.useState({}),[W,I]=o.useState({}),[ue,de]=o.useState({});return o.useEffect(()=>{$(0)},[h]),o.useEffect(()=>{z(0)},[te,he]),o.useEffect(()=>{C(0)},[w,F]),o.useEffect(()=>{const H=m.current?.element,le=H?.parentElement;if(!H||!le||typeof ResizeObserver>"u")return;const L=new ResizeObserver(()=>m.current?.resize());return L.observe(le),()=>L.disconnect()},[]),o.useEffect(()=>{if(!i)return;function H(L){const Q=L.target,D=m.current?.element?.parentElement;!c.current?.contains(Q)&&!l.current?.contains(Q)&&!D?.contains(Q)&&(M(!1),N(""),O(e),S(s),q(t))}function le(L){if(L.key==="Escape"){L.preventDefault(),M(!1),N(""),O(e),S(s),q(t);return}if(a.length!==0){if(L.key==="ArrowDown"){L.preventDefault(),R(Q=>(Q+1)%a.length);return}if(L.key==="ArrowUp"){L.preventDefault(),R(Q=>(Q-1+a.length)%a.length);return}if(L.key==="Home"){L.preventDefault(),R(0);return}if(L.key==="End"){L.preventDefault(),R(a.length-1);return}if(L.key==="Enter"){L.preventDefault();const Q=a[r]??a[0];Q&&v(Q)}}}return document.addEventListener("pointerdown",H),document.addEventListener("keydown",le),()=>{document.removeEventListener("pointerdown",H),document.removeEventListener("keydown",le)}},[e,t,s,r,a,i]),o.useLayoutEffect(()=>{if(!i)return;const H=b.current;if(!H)return;const le=H;function L(){de(Yu(le))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[i,d,g,y]),o.useLayoutEffect(()=>{if(!G)return;const H=m.current?.element,le=f.current;if(!H||!le)return;const L=H,Q=le;function D(){I(Fr(L,Q))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,y,x,A,G]),o.useLayoutEffect(()=>{if(!V)return;const H=m.current?.element,le=f.current;if(!H||!le)return;const L=H,Q=le;function D(){X(Fr(L,Q))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,y,x,A,V]),o.useLayoutEffect(()=>{if(!B)return;const H=m.current?.element,le=f.current;if(!H||!le)return;const L=H,Q=le;function D(){se(Fr(L,Q))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,y,x,A,B]),{actionMenuStyle:W,addMenuStyle:ue,mentionMenuStyle:Ne,skillMenuStyle:xe}}const Cf=o.lazy(()=>ge(()=>import("./ComposerCreateImproveStrip-BBKdrbNP.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),wf=na.find(e=>e.id==="submit-issue"),Mf=[],Nf=[];function Wi({experience:e="development",mode:t,surface:s="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:l,prompt:c,composeNotice:d=null,mentionApps:f=[],connectedAppMentions:g=[],profileSkills:y=[],selectedMentionAppId:m=null,contextWindowStatus:b,goalRuntime:h=null,subagentRuntime:x=null,createImproveRuntime:A=null,busy:v,running:C=v,taskSessionId:S=null,taskEvents:R=Nf,steerActiveResponses:M=!1,submissionScopeKey:N="default",getCurrentSubmissionScopeKey:O,voiceInputChannelKey:$=N,initialSteerDrafts:z=Mf,showProjectFooter:q=!0,hideModelControls:te=!1,autoFocus:he=!1,focusRequestId:w=0,attachmentRequest:F=null,connection:G,providerSettings:B=null,provider:V,model:Ne,projectTarget:se,profileTarget:xe=null,actionCatalog:X=[],requestedAction:W=null,workspaceTarget:I,codexPermissionMode:ue,codexReasoningEffort:de,openPondCommandAccessMode:H,onProviderChange:le,onProviderSetupOpen:L,onProjectTargetChange:Q,onProfileTargetChange:D,onWorkspaceTargetChange:be,onModelChange:ve,onCodexPermissionModeChange:et,onCodexReasoningEffortChange:Re,onOpenPondCommandAccessModeChange:ye,onPromptChange:U,onMentionAppSelect:Ae,onSaveTaskDraft:gn,showToast:tt,onSubmit:vt,onStop:Tt,onPauseGoal:ze}){const xn=o.useRef(null),k=o.useRef(null),E=o.useRef(null),re=ku(G,S,R),ke=o.useRef(null),Se=o.useRef(null),Ie=o.useRef(null),oe=o.useRef(null),Fe=o.useRef(0),we=W&&X.some(u=>u.id===W.actionId)?W:null,jt=o.useRef(!1),Pt=o.useRef(0),Kt=o.useRef(we?.requestId??0),Ge=o.useRef(new Set),nt=o.useRef(new Set),[fe,Oe]=o.useState(c.length),As=o.useRef(fe);As.current=fe;const[bn,vn]=o.useState(0),[Es,jn]=o.useState(0),[Rs,yn]=o.useState(0),[$s,Qt]=o.useState(0),[Is,_t]=o.useState(""),[Be,Gn]=o.useState(null),[pr,Ue]=o.useState(null),[kn,qe]=o.useState(null),[De,ot]=o.useState(!1),[gr,xr]=o.useState(!1),[Ke,st]=o.useState(we?.actionId??null),[yt,kt]=o.useState(null),[Lt,rt]=o.useState(null),[Sn,lt]=o.useState(null),[Cn,wn]=o.useState(null),[Kn,Mn]=o.useState(!1),[Nn,Qn]=o.useState(()=>({[N]:z})),[Xt,An]=o.useState(null),[Xn,Jt]=o.useState(!1),[Jn,Yn]=o.useState(""),[at,ne]=o.useState(!1),{attachmentError:Yt,attachments:$e,addFiles:dt,removeAttachment:br,settleStagedAttachments:Ts,setAttachmentError:Te,stageAttachmentsForSubmit:ct}=mf(),Ot=o.useRef(0);o.useEffect(()=>{!F||Ot.current===F.id||(Ot.current=F.id,dt([F.file]))},[dt,F]);const vr=o.useCallback(u=>{const p=sf(u,$e);return!p||$e.length>=Ht.maxAttachments||p.size>Ht.maxAttachmentBytes?!1:(dt([p]),!0)},[dt,$e]),Zn=xd({experience:e,mode:t,surface:s}),Zt=e==="development"||e==="work"&&se.value!=="none",es=Ko(V,Ne,B),en="top",Ps=o.useId(),jr=o.useId(),yr=o.useId(),kr={"--context-fill":`${Math.round((b.percent??0)/100*360)}deg`,"--context-bar-fill":`${b.percent??0}%`},Me=o.useMemo(()=>X.find(u=>u.id===Ke)??null,[X,Ke]),ft=o.useMemo(()=>Qo(V,e),[e,V]),Qe=o.useMemo(()=>Zt?y:y.filter(u=>!kf.has(u.name)),[e,y]),Ee=o.useMemo(()=>ft.find(u=>u.id===yt)??null,[ft,yt]),tn=jf({action:Me,prompt:c,selectedActionMentionText:Sn,selectedInvocationPosition:Lt}),_s=yf({attachmentCount:$e.length,prompt:c,selectedAction:Me,selectedCommand:Ee}),Sr=o.useMemo(()=>{const u=Math.max(0,Math.min(Lt??0,c.length));return Ee?{icon:Ee.id==="agent"?"plus":Ee.id==="skill"?"skill":"workflow",key:`command:${Ee.id}`,label:Ee.id==="agent"?"Author Agent":Ee.id,position:u,onRemove:()=>{kt(null),rt(null),lt(null)}}:Me?{icon:Me.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${Me.id}`,label:ea(Me),position:u,onRemove:()=>{st(null),rt(null),lt(null)}}:null},[c.length,Me,Ee,Lt]),nn=Cn===N,Ls=nn||!_s,Cr=nn?"Preparing files":C?M?"Steer":"Queue for next turn":"Send",mt=nn,Os=nn;function ht(u=N){const p=Ge.current;return p.has(u)?!1:(p.add(u),!0)}function ts(u){Ge.current.delete(u)}function zt(u){return Ge.current.has(u)}function St(){return zt(N)}function ns(u){wn(p=>p===u?null:p)}const En=o.useMemo(()=>{const u=Xo(B,{enabledOnly:!0}).map(J=>({...J,description:void 0})),p=Zt?u:u.filter(J=>J.value!=="codex"),P=I.value==="cloud"&&Zt?p.filter(J=>J.value==="openpond"):p,T=P.some(J=>J.value===V)?P:[{value:V,label:Jo(V,B),description:"Current"},...P],Z={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[...T,Z]},[V,B,Zt,I.value]),wr=o.useMemo(()=>ri(V,B),[V,B]),Ce=o.useMemo(()=>Yo(c,Math.min(fe,c.length)),[fe,c]),sn=Ce?`${c}:${Ce.start}:${Math.min(fe,c.length)}`:null,pt=o.useMemo(()=>Ce?Ua({actionCatalog:X,connectedAppMentions:g,mentionApps:f,profileSkills:Qe,query:Ce.query,surface:s,teamMentionMembers:i}):[],[X,g,f,Ce,Qe,s,i]),zs=o.useMemo(()=>s==="team"?[]:Ua({actionCatalog:X,connectedAppMentions:g,mentionApps:f,profileSkills:Qe,query:"",surface:s,teamMentionMembers:i}).filter(u=>u.kind!=="skill"),[X,g,f,Qe,s,i]),Ft=!!(!De&&!mt&&Ce&&sn&&Be!==sn&&pt.length>0),Xe=o.useMemo(()=>fu(c,Math.min(fe,c.length)),[fe,c]),rn=Xe?`${c}:${Xe.start}:${Xe.end}`:null,Ve=o.useMemo(()=>Xe?nr(Qe,Xe.query):[],[Xe,Qe]),an=!!(!De&&!mt&&Xe&&rn&&kn!==rn),ce=o.useMemo(()=>hf(c,Math.min(fe,c.length)),[fe,c]),Ct=ce?`${c}:${ce.start}:${ce.end}`:null,Rn=o.useMemo(()=>ce?Da(X,ce.query):[],[X,ce]),Fs=o.useMemo(()=>ce&&s!=="team"?Ba(f,ce.query):[],[ce,f,s]),ss=o.useMemo(()=>ce&&s!=="team"?gf(ce.query,ft):[],[ce,ft,s]),Ds=o.useMemo(()=>ce&&s!=="team"?nr(Qe,ce.query):[],[ce,Qe,s]),Je=o.useMemo(()=>[...Rn.map(u=>({kind:"action",action:u})),...Ds.map(u=>({kind:"skill",skill:u})),...ss.map(u=>({kind:"command",command:u})),...Fs.map(u=>({kind:"app-context",app:u}))],[Rn,Fs,ss,Ds]),rs=!!(!De&&!mt&&ce&&Ct&&pr!==Ct),as=o.useMemo(()=>ft.map(u=>({kind:"command",command:u})),[ft]),is=o.useMemo(()=>[...Da(X,"").map(u=>({kind:"action",action:u})),...Ba(f,"").map(u=>({kind:"app-context",app:u}))],[X,f]),Bs=o.useMemo(()=>nr(Qe,"").map(u=>({kind:"skill",skill:u})),[Qe]),$n=o.useMemo(()=>{const u=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return is.length>0&&u.push({id:"slash",items:is.map(p=>({kind:"slash",item:p})),label:"Agents and actions",queryScope:"slash"}),Bs.length>0&&u.push({id:"skills",items:Bs.map(p=>({kind:"slash",item:p})),label:"Skills",queryScopes:["slash","mentions"]}),u.push({id:"openpond",items:as.map(p=>({kind:"slash",item:p})),label:"OpenPond",grid:!0,queryScope:"slash"}),u.push({emptyLabel:"No mentions available",id:"mentions",items:zs.map(p=>({kind:"mention",item:p})),label:"@"}),u},[zs,as,Bs,is,e]),In=o.useMemo(()=>Md($n,Is),[Is,$n]),Dt=o.useMemo(()=>In.flatMap(u=>u.items),[In]);o.useEffect(()=>{De&&Qt(u=>u<Dt.length?u:0)},[Dt.length,De]);const Tn=!!h,on=Tn&&h?.tone==="active",os=on?"Pause goal":"Stop response",wt=on?"pause":"stop",ls=e==="work"||se.value!=="none",je=Qr(Nn,N,z),cs=Xt?.scopeKey===N?Xt.draftId:null;function Pn(u,p){Qn(P=>Mu(P,u,p,u===N?z:[]))}o.useLayoutEffect(()=>{E.current?.resize()},[$e.length,Yt,A,h,c,Ke,yt,Lt]),o.useEffect(()=>{if(!he){jt.current=!1;return}if(jt.current||mt)return;const u=window.requestAnimationFrame(()=>{jt.current=!0;const p=document.activeElement;p&&p!==document.body&&p!==document.documentElement||E.current?.focusAtPromptIndex(c.length)});return()=>window.cancelAnimationFrame(u)},[he,mt,c.length]),o.useEffect(()=>{!w||Pt.current===w||mt||(Pt.current=w,window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(c.length)}))},[w,mt,c.length]),o.useEffect(()=>{h||Mn(!1)},[h]),o.useEffect(()=>{Ke&&!X.some(u=>u.id===Ke)&&(st(null),rt(null))},[X,Ke]),o.useEffect(()=>{if(!W||W.requestId<=Kt.current)return;const u=X.find(p=>p.id===W.actionId);u&&(Kt.current=W.requestId,st(u.id),kt(null),rt(0),lt(null),U(""),Oe(0),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[X,U,W]),o.useEffect(()=>{!Me&&!Ee||rt(u=>u===null?0:Math.max(0,Math.min(u,c.length)))},[c.length,Me,Ee]),o.useEffect(()=>{if(!m||!Ae)return;const u=f.find(p=>p.id===m);(!u||!Zo(c,u))&&Ae(null)},[f,Ae,c,m]);const{actionMenuStyle:Mr,addMenuStyle:Nr,mentionMenuStyle:Ar,skillMenuStyle:Er}=Sf({activeMentionKey:sn,activeSkillKey:rn,activeSlashKey:Ct,addMenuIndex:$s,addMenuItems:Dt,addMenuOpen:De,addMenuPanelRef:oe,addMenuRef:Ie,attachmentCount:$e.length,composerRef:xn,createImproveActive:!!A,goalRuntimeActive:!!h,inputRef:E,inputShellRef:k,mentionQuery:Ce?.query,prompt:c,selectedActionId:Ke,selectAddMenuItem:On,setActionIndex:yn,setActionMenuDismissedPrompt:Ue,setAddMenuIndex:Qt,setAddMenuOpen:ot,setAddMenuQuery:_t,setMentionMenuDismissedPrompt:Gn,setMentionIndex:vn,setSkillIndex:jn,setSkillMenuDismissedPrompt:qe,skillMatchCount:Ve.length,skillQuery:Xe?.query,slashMatchCount:Je.length,slashQuery:ce?.query,showActionMenu:rs,showMentionMenu:Ft,showSkillMenu:an});function He(){st(null),kt(null),rt(null),lt(null)}function Rr(){He(),U(""),Oe(0)}function us(u){Yn(u.trim()),Jt(!0)}function $r(){at||(Jt(!1),He())}async function Bt(){return await(on&&ze?ze():Tt())}function _n(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=c.slice(0,T),me=c.slice(Z),Nt=J&&!/\s$/.test(J)?" ":"",qt=me&&!/^\s/.test(me)?" ":"",At=`${tl(u)} `,it=`${Nt}${At}${qt}`,mn=`${J}${it}${me}`,Ze=J.length+it.length;return U(mn),Ae?.(u.id),Oe(Ze),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Ze)}),Ze}function Ir(u){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));_n(u,{start:Ce.start,end:p})}function Ut(u,p,P=null){const T=Math.max(0,Math.min(fe,c.length)),Z=p?Math.max(0,Math.min(p.start,c.length)):T,J=p?Math.max(Z,Math.min(p.end,c.length)):Z,me=`${c.slice(0,Z)}${c.slice(J)}`;return st(u.id),kt(null),rt(Z),lt(P?.startsWith("@")?P:null),Ue(null),U(me),Oe(Z),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Z,{afterToken:!0})}),Z}function Ln(u){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length)),P=Math.max(0,Math.min(Ce.start,c.length)),T=Math.max(P,Math.min(p,c.length));Ut(u,{start:P,end:T},c.slice(P,T).trim())}function Us(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=c.slice(0,T),me=c.slice(Z),Nt=J&&!/\s$/.test(J)?" ":"",qt=me&&!/^\s/.test(me)?" ":"",At=`${nl(u)} `,it=`${Nt}${At}${qt}`,mn=`${J}${it}${me}`,Ze=J.length+it.length;return U(mn),Oe(Ze),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Ze)}),Ze}function Pe(u){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));Us(u,{start:Ce.start,end:p})}function ln(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=u.handle||Un(u.name),me=c.slice(0,T),Nt=c.slice(Z),qt=me&&!/\s$/.test(me)?" ":"",At=Nt&&!/^\s/.test(Nt)?" ":"",it=`${qt}@${J} ${At}`,mn=`${me}${it}${Nt}`,Ze=me.length+it.length;return U(mn),Oe(Ze),window.requestAnimationFrame(()=>E.current?.focusAtPromptIndex(Ze)),Ze}function qs(u){if(u.kind==="team-member"){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));ln(u.member,{start:Ce.start,end:p});return}if(u.kind==="app"){Ir(u.app);return}if(u.kind==="connected-app"){Pe(u.app);return}if(u.kind==="skill"){if(!Ce)return;const p=Math.max(0,Math.min(fe,c.length));gt(u.skill,{start:Ce.start,end:p});return}Ln(u.action)}function Tr(u){ce&&(Ue(null),_n(u,{start:ce.start,end:ce.end}))}function Vs(u){ce&&Ut(u,ce)}function Hs(u,p){const P=Math.max(0,Math.min(fe,c.length)),T=p?Math.max(0,Math.min(p.start,c.length)):P,Z=p?Math.max(T,Math.min(p.end,c.length)):T,J=`${c.slice(0,T)}${c.slice(Z)}`;return kt(u.id),st(null),rt(T),lt(null),Ue(null),U(J),Oe(T),u.id==="submit-issue"&&us(J),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(T,{afterToken:!0})}),T}function Mt(u){ce&&Hs(u,ce)}function ds(u){if(u.kind==="command"){Mt(u.command);return}if(u.kind==="app-context"){Tr(u.app);return}if(u.kind==="skill"){if(!ce)return;gt(u.skill,ce);return}Vs(u.action)}function gt(u,p){const P=mu(c,p,u);return qe(null),Gn(null),Ue(null),U(P.value),Oe(P.cursor),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(P.cursor)}),P.cursor}function cn(u){Xe&>(u,Xe)}function Ye(){ke.current?.click()}function Pr(){Se.current?.click()}function We(u){Fe.current=u,_t(""),Qt(0)}function fs(){const u=Math.max(0,Math.min(fe,c.length)),p=Math.max(0,Math.min(Fe.current,c.length));return u>=p?{start:p,end:u}:{start:u,end:u}}function On(u){const p=fs();if(ot(!1),_t(""),u.kind==="files"||u.kind==="folder"){if(p.start!==p.end){const P=`${c.slice(0,p.start)}${c.slice(p.end)}`;U(P),Oe(p.start)}We(p.start),u.kind==="folder"?Pr():Ye();return}if(u.kind==="slash"){if(u.item.kind==="command"){We(Hs(u.item.command,p));return}if(u.item.kind==="app-context"){We(_n(u.item.app,p));return}if(u.item.kind==="skill"){We(gt(u.item.skill,p));return}We(Ut(u.item.action,p));return}if(u.item.kind==="team-member"){We(ln(u.item.member,p));return}if(u.item.kind==="app"){We(_n(u.item.app,p));return}if(u.item.kind==="connected-app"){We(Us(u.item.app,p));return}if(u.item.kind==="skill"){We(gt(u.item.skill,p));return}We(Ut(u.item.action,p))}const{stageCurrentSteerDraft:un,submitImmediateSteer:dn}=du({running:C,scope:N,inbox:re,getPrompt:()=>E.current?.getPrompt()??c,hasFilesOrActions:!!($e.length||Me||Ee),provider:V,model:Ne,codexPermissionMode:ue,codexReasoningEffort:de,openPondCommandAccessMode:H,getCurrentSubmissionScopeKey:O,onSubmit:vt,showToast:tt,begin:u=>nt.current.has(u)?!1:(nt.current.add(u),!0),finish:u=>{nt.current.delete(u)},clear:Rr,setError:Te,stageLocal:u=>{Pn(N,p=>[...p,Ei(u)]),window.requestAnimationFrame(()=>E.current?.focusAtPromptIndex(0))}});async function _r(u){const p=N;if(Xt?.scopeKey===p)return!1;const P=Qr(Nn,p,z).find(T=>T.id===u);if(!P)return!1;An({draftId:u,scopeKey:p}),Te(null);try{const T=C,Z=await vt([],null,null,{preservePrompt:!0,promptOverride:P.prompt,...T?{turnMetadata:{interactionKind:"steer"}}:{}});return Pn(p,J=>wu(J,u,Z)),Z}catch(T){return Te(T instanceof Error?T.message:String(T)),!1}finally{An(T=>T?.scopeKey===p&&T.draftId===u?null:T)}}function ms(u){cs!==u&&Pn(N,p=>Ri(p,u))}function hs(u){if(cs!==u.id){if($e.length>0||Ke||yt){tt("Finish the current composer before editing a queued message.","info");return}Pn(N,p=>Cu(p,u.id,c)),U(u.prompt),Oe(u.prompt.length),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(u.prompt.length)})}}async function fn(u={}){const p=N;if(!ht(p))return!1;ot(!1),Te(null);const P=ct();try{wn(P.length>0?p:null);let T;try{T=await Promise.all(P.map(lf))}finally{ns(p)}const Z=Me&&tn&&!c.trim()?tn:void 0,J=u.promptOverride??Z,me=await vt(T,Me,Ee,tn||J||u.preservePrompt?{...tn?{displayPrompt:tn}:{},...J!==void 0?{promptOverride:J}:{},...u.preservePrompt?{preservePrompt:!0}:{}}:void 0);return Ts(P,me?"dispose":"restore"),me&&!sl(Me)&&He(),me}catch(T){return Ts(P,"restore"),Te(T instanceof Error?T.message:String(T)),!1}finally{ts(p),ns(p)}}async function zn(){if(C){M?await dn():await un();return}if(St())return;const u=Me||Ee?null:ii(c);if(Ee?.id==="submit-issue"||u?.command==="submit-issue"){us(u?.command==="submit-issue"?u.args:c);return}Ls||await fn()}function Fn(){vu($)||zn()}async function ps(u){if(St()||at)return!1;const p=N;if(!ht(p))return!1;ne(!0),ot(!1),Te(null);try{const P=await vt([],null,wf,{displayPrompt:`/submit-issue ${u.title.trim()}`,promptOverride:el(u)});return P&&(Jt(!1),He()),P}catch(P){return Te(P instanceof Error?P.message:String(P)),!1}finally{ts(p),ne(!1)}}async function Ws(u,p){const P=E.current?.getPrompt()??c,T=Math.max(0,Math.min(As.current,P.length)),Z=Ni(P,u,p.submit?P.length:T),J=await pu({appendToEnd:p.submit,currentScopeKey:O?.()??N,cursorIndex:T,originScopeKey:N,prompt:P,setOriginDraft:me=>U(me),submitFromOrigin:me=>fn({preservePrompt:!0,promptOverride:me}),transcript:u});if(J==="retained"){tt("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(J==="submitted"){tt("Voice message sent to the chat where recording started.","success");return}if(p.submit){if(C){M?await dn(Z.value):await un(Z.value);return}await fn({promptOverride:Z.value});return}Oe(Z.cursorIndex),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Z.cursorIndex)})}return n.jsxs("form",{ref:xn,className:`composer ${t} ${A?"has-create-runtime":""} ${Tn?"has-goal-runtime":""} ${$e.length>0?"has-attachments":""} ${Me||Ee?"has-selected-action":""} ${Yt?"has-attachment-error":""} ${De?"has-add-menu":""}`,onSubmit:u=>{u.preventDefault(),zn()},children:[n.jsx("input",{webkitdirectory:"",ref:Se,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:u=>{dt(Array.from(u.currentTarget.files??[])),u.currentTarget.value=""}}),Ft&&n.jsx(Ed,{items:pt,mentionIndex:bn,onSelect:qs,onSelectIndex:vn,style:Ar}),an&&n.jsx(Vd,{items:Ve,onSelect:cn,onSelectIndex:jn,skillIndex:Es,style:Er}),rs&&n.jsx(Hd,{actionCatalogCount:X.length,actionIndex:Rs,items:Je,onSelect:ds,onSelectIndex:yn,style:Mr}),n.jsx(Wd,{busy:at,initialDescription:Jn,open:Xn,onClose:$r,onSubmit:ps}),q&&n.jsxs("div",{className:"composer-footer",children:[q?n.jsx(Eu,{busy:v||se.busy,placement:en,state:se,onChange:Q}):null,xe&&D?n.jsx($i,{busy:v,placement:en,state:xe,onChange:D}):null,ls?n.jsx(Ru,{busy:v,placement:en,state:I,onChange:be}):null]}),!q&&e==="work"&&n.jsx($u,{project:se,workspace:I}),A?n.jsx(o.Suspense,{fallback:null,children:n.jsx(Cf,{runtime:A})}):null,re.enabled?n.jsx(Nu,{inbox:re,onRestore:u=>{U(c.trim()?`${c}
|
|
5
5
|
|
|
6
6
|
${u}`:u),E.current?.focusAtPromptIndex(0)}}):n.jsx(Pu,{drafts:je,sendingDraftId:cs,onDeleteDraft:ms,onEditDraft:hs,onSteerDraft:u=>{_r(u)}}),Tn&&h&&n.jsx(Tu,{detailsOpen:Kn,goalRuntime:h,objectiveId:yr,subagentRuntime:x,onToggleDetails:()=>Mn(u=>!u)}),d&&n.jsx("div",{className:`composer-notice ${d.tone}`,role:"status",children:d.message}),re.enabled&&C&&_s&&n.jsxs("div",{className:"task-input-actions",children:[n.jsx("button",{type:"button",disabled:!!re.busyId||!re.snapshot?.acceptingInput,onClick:()=>{dn()},children:"Steer now"}),n.jsx("button",{type:"button",disabled:!!re.busyId,onClick:()=>{un()},children:"Queue for next turn"})]}),n.jsxs("div",{className:"composer-input-shell",ref:k,children:[De&&s!=="team"&&n.jsx(aa,{id:Ps,ariaLabel:"Add to message",className:"composer-add-command-menu",menuIndex:$s,menuRef:oe,sections:In,style:Nr,variant:"add",onSelect:On,onSelectIndex:Qt}),$e.length>0&&n.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:$e.map(u=>n.jsx(rf,{attachment:u,onRemove:()=>br(u.id)},u.id))}),Yt&&n.jsx("div",{className:"composer-attachment-error",role:"status",children:Yt}),n.jsx("div",{className:"composer-textarea-frame",onClick:u=>{u.target===u.currentTarget&&E.current?.focusAtPromptIndex(fe)},children:n.jsx(hd,{ref:E,connectedAppMentions:g,disabled:mt,onCursorChange:Oe,onKeyDown:u=>{if(De&&["ArrowDown","ArrowUp","Home","End","Enter","Escape"].includes(u.key)){u.preventDefault();return}if(Ft){if(u.key==="ArrowDown"){u.preventDefault(),vn(p=>(p+1)%pt.length);return}if(u.key==="ArrowUp"){u.preventDefault(),vn(p=>(p-1+pt.length)%pt.length);return}if(u.key==="Enter"||u.key==="Tab"){u.preventDefault(),qs(pt[bn]??pt[0]);return}if(u.key==="Escape"){u.preventDefault(),Gn(sn);return}}if(an){if(Ve.length>0&&u.key==="ArrowDown"){u.preventDefault(),jn(p=>(p+1)%Ve.length);return}if(Ve.length>0&&u.key==="ArrowUp"){u.preventDefault(),jn(p=>(p-1+Ve.length)%Ve.length);return}if(Ve.length>0&&(u.key==="Enter"||u.key==="Tab")){u.preventDefault(),cn(Ve[Es]??Ve[0]);return}if(u.key==="Escape"){u.preventDefault(),qe(rn??c);return}}if(rs){if(Je.length>0&&u.key==="ArrowDown"){u.preventDefault(),yn(p=>(p+1)%Je.length);return}if(Je.length>0&&u.key==="ArrowUp"){u.preventDefault(),yn(p=>(p-1+Je.length)%Je.length);return}if(Je.length>0&&(u.key==="Enter"||u.key==="Tab")){u.preventDefault(),ds(Je[Rs]??Je[0]);return}if(u.key==="Escape"){u.preventDefault(),Ue(Ct??c);return}}if((Me||Ee)&&u.key==="Backspace"&&fe===(Lt??0)){u.preventDefault(),He();return}if(gd(u.key,u.ctrlKey,u.metaKey,u.shiftKey,e,s,!!gn)){u.preventDefault(),pd({attachmentsCount:$e.length,hasSelectedInvocation:!!(Me||Ee),onSave:gn,onSaved:He,prompt:c,saving:gr,setSaving:xr,showInfo:p=>tt(p,"info")});return}u.key==="Enter"&&!u.shiftKey&&(u.preventDefault(),nn||zn())},onPasteFiles:dt,onPasteTextAsAttachment:vr,onPromptChange:(u,p)=>{if(De){const T=Math.max(0,Math.min(Fe.current,u.length));p<T?(Fe.current=p,_t("")):_t(u.slice(T,p))}const P=s==="team"?null:pf(u,p,ft);if(P){const T=`${u.slice(0,P.start)}${u.slice(P.end)}`,Z=P.start;U(u),Oe(p),window.requestAnimationFrame(()=>{kt(P.command.id),st(null),rt(Z),Ue(null),U(T),Oe(Z),P.command.id==="submit-issue"&&us(T),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(Z,{afterToken:!0})})});return}U(u)},onTokenPositionChange:u=>{if(!(!Me&&!Ee)){if(u===null){He();return}rt(u)}},placeholder:Zn,prompt:c,token:Sr})}),n.jsx(Bd,{surface:s,teamUseModel:r,teamUseModelLocked:a,onTeamUseModelChange:l,addFiles:dt,addMenuId:Ps,addMenuOpen:De,addMenuRef:Ie,busy:v,codexPermissionMode:ue,codexReasoningEffort:de,connection:G,contextStatusStyle:kr,contextStatusTooltipId:jr,contextWindowStatus:b,disabled:Os,dropdownPlacement:en,fileInputRef:ke,modelValue:es,modelOptions:wr,hideModelControls:te,openPondCommandAccessMode:H,showCommandAccess:Zt,profileTarget:q?null:xe,onCodexPermissionModeChange:et,onCodexReasoningEffortChange:Re,onOpenPondCommandAccessModeChange:ye,onProfileTargetChange:D,onModelChange:ve,onOpenFilePicker:Ye,onProviderChange:le,onProviderSetupOpen:L,onSend:Fn,onStop:Bt,onToggleAddMenu:()=>{const u=Math.max(0,Math.min(fe,c.length));De||(Fe.current=u,_t(""),Qt(0),ot(!0)),window.requestAnimationFrame(()=>{E.current?.focusAtPromptIndex(u)})},onTranscript:Ws,voiceInputChannelKey:$,provider:V,providerSettings:B,providerOptions:En,running:C,sendDisabled:Ls,sendTooltip:Cr,showToast:tt,stopIcon:wt,stopLabel:os})]})]})}const qa=o.memo(function({draftStore:t,...s}){const r=rl(t),a=t.getScopeKey(),i=o.useCallback(l=>{t.setForScope(a,l)},[a,t]);return n.jsx(al,{id:"composer",children:n.jsx(Wi,{...s,prompt:r,onPromptChange:i})})});function Va({approval:e,onResolve:t}){const[s,r]=o.useState(null);if(o.useEffect(()=>{r(null)},[e?.id]),!e||e.kind==="create_plan")return null;const a=Af(e.detail),i=e.kind!=="subagent_patch_apply";async function l(c){if(!(!e||s)){r(c);try{await t(e.id,c)}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":`${Ha(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:Ha(e.kind)})}),n.jsx("code",{className:"approval-request-title",title:e.title,children:e.title}),a&&a!==e.title&&n.jsxs("details",{className:"approval-request-details",children:[n.jsx("summary",{children:"Details"}),n.jsx("pre",{children:a})]})]}),n.jsxs("div",{className:"approval-request-actions",children:[n.jsxs("button",{type:"button",className:"approval-action primary",disabled:!!s,onClick:()=>{l("accept")},children:[n.jsx($t,{size:14}),n.jsx("span",{children:s==="accept"?"Approving":"Approve"})]}),i?n.jsxs("button",{type:"button",className:"approval-action",title:"Approve for the rest of this session",disabled:!!s,onClick:()=>{l("acceptForSession")},children:[n.jsx(rc,{size:14}),n.jsx("span",{children:s==="acceptForSession"?"Approving":"Session"})]}):null,n.jsxs("button",{type:"button",className:"approval-action muted",disabled:!!s,onClick:()=>{l("decline")},children:[n.jsx(ic,{size:14}),n.jsx("span",{children:s==="decline"?"Denying":"Deny"})]}),n.jsx("button",{type:"button",className:"approval-action icon-only",title:"Cancel task","aria-label":"Cancel task",disabled:!!s,onClick:()=>{l("cancel")},children:n.jsx(Ns,{size:15})})]})]})})}function Ha(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 Af(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const Ef=/\.(?:m4v|mov|mp4|webm)$/i;function Rf(e){return Ef.test(e.trim().split(/[?#]/,1)[0]??"")}function $f(e,t){let s=e.trim();if(!s||!Rf(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 If(e,t={}){const s=Tf(e),r=e.map(a=>({id:`message:${a.id}`,type:"message",message:a,showFooter:a.id===s}));return t.showThinkingIndicator&&r.push({id:"thinking",type:"thinking"}),r}function Tf(e){for(let t=e.length-1;t>=0;t-=1){const s=e[t];if(s.role==="assistant")return s.id}return null}function Mp(e){const t=new Map;for(const s of e)s.role==="assistant"&&s.turnId&&t.set(s.turnId,s.id);return t}function Np(e,t){const s=e.turnId;return e.role==="assistant"&&s!==void 0&&t.get(s)===e.id}function Pf(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 _f(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 Lf=new Set(["create","edit","help","list"]);function Of(e,t,s=null){return zf(e)}function zf(e){const t=e.trim();if(!t)return"/skill";const[s=""]=t.split(/\s+/,1);return Lf.has(s.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function Ff(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 Df(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 Bf(e){const[t,s]=o.useState(null),[r,a]=o.useState(null),[i,l]=o.useState(!1),[c,d]=o.useState(null),[f,g]=o.useState(null),y=o.useRef(null),m=o.useRef(0),b=o.useCallback(async(v,C={})=>{if(!e){a(null),d("OpenPond App server is not connected.");return}const S=m.current+1;m.current=S,C.silent||l(!0),d(null);try{const R=await _e.getCreateImproveCandidateDiff(e,v.runId,v.candidateId),M=y.current;if(S!==m.current||M?.runId!==v.runId||M.candidateId!==v.candidateId)return;a(R)}catch(R){if(S!==m.current)return;d(R instanceof Error?R.message:String(R))}finally{S===m.current&&!C.silent&&l(!1)}},[e]),h=o.useCallback(v=>{const C=y.current;if(!(v&&C?.runId===v.runId&&C.candidateId===v.candidateId)){if(y.current=v,s(v),g(null),!v){m.current+=1,a(null),d(null),l(!1);return}a(S=>S?.appId===Uf(v)?S:null),b(v)}},[b]),x=o.useCallback(async(v={})=>{const C=y.current;C&&await b(C,v)},[b]),A=o.useCallback(v=>{g({id:Date.now(),path:v})},[]);return o.useEffect(()=>{e||h(null)},[h,e]),{selection:t,diff:r,loading:i,error:c,openFileRequest:f,activate:h,refresh:x,openFile:A}}function Uf(e){return`candidate:${e.runId}:${e.candidateId}`}function qf(e){const{activeModel:t,activeProvider:s,bootstrap:r,codexPermissionMode:a,codexReasoningEffort:i,connection:l,onOpenRightChatForSession:c,onPayload:d}=e,f=o.useCallback(async m=>{if(!l||!r)throw new Error("OpenPond is still connecting.");const b=r.profile;if(b.mode!=="local"||!b.repoPath)throw new Error("A local Git-backed Profile is required to change an Agent.");const h=m.authoringModel??il(s,t,r.providers);if(!h)throw new Error("Choose a model before changing an Agent.");const x=await _e.createSession(l,{provider:h.providerId,modelRef:h,systemKind:"openpond.lab",hiddenFromDefaultSidebar:!0,title:`${m.operation==="create"?"New":"Improve"} Agent · ${m.objective.slice(0,80)}`,cwd:b.repoPath,metadata:{source:m.operation==="create"?"lab_agent_create":"lab_agent_improve",profileId:b.activeProfile??"default",targetAgentId:m.agentId??null}}),A=m.objective.trim();if(!A)throw new Error(m.operation==="create"?"Describe what the Agent should do.":"Describe what the Agent could do better.");if(h.providerId==="codex")throw new Error("Agent authoring uses OpenPond's bundled authoring skill. Choose a hosted model.");const v=m.operation==="create"?`/agent create ${A}`:`/agent improve ${m.agentId??""} ${A}`,C=await _e.sendTurn(l,x.id,{prompt:v,model:h.modelId,modelRef:h,approvalPolicy:"never",sandbox:"workspace-write",codexPermissionMode:"default",codexReasoningEffort:i});if(C.status==="failed")throw new Error(C.error??"OpenPond could not complete the Agent authoring turn.");d(await _e.bootstrap(l)),c(x.id,x)},[t,s,r,a,i,l,c,d]),g=o.useCallback((m,b,h)=>f({objective:m,operation:"create",authoringRunId:b,authoringModel:h}),[f]),y=o.useCallback((m,b,h,x,A)=>f({agentId:m,agentName:h,objective:b,operation:"improve",authoringRunId:x,authoringModel:A}),[f]);return{createAgentFromLab:g,improveAgentFromLab:y}}const Vf=72,qr=120,Gi=24,Hf=280,Wf=460;function Bn(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=Vf}const Ys={canGoPrevious:!1,canGoNext:!1};function Ki(e){return Array.from(e.querySelectorAll(".message-row.user")).filter(t=>t.parentElement===e)}function Gf({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 mr(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function Qi(e,t){return mr(e,t)+t.getBoundingClientRect().height}function Xi(e){return e.scrollTop+Gi}function Ji(e){return e.scrollTop+8}function js(e){const t=Xi(e),s=Ji(e);let r=!1,a=!1;for(const i of Ki(e)){const l=mr(e,i);if(Qi(e,i)<s&&(r=!0),l>t+8&&(a=!0),r&&a)break}return{canGoPrevious:r,canGoNext:a}}function Kf(e,t){const s=Ki(e),r=Xi(e);if(t==="previous"){const a=Ji(e);for(let i=s.length-1;i>=0;i-=1){const l=s[i];if(Qi(e,l)<a)return l}return null}for(const a of s)if(mr(e,a)>r+8)return a;return null}function Qf(e){return Math.min(Wf,Math.max(Hf,Math.abs(e)/5))}function Xf(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}function Jf(e){const t=ol({messages:e});return t?{run:t}:null}function Wa(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 lo(e){return/^error: Could not access /m.test(e)}function vh(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 jh({run:e}){const t=e.plan,s=e.questions.find(c=>c.status==="pending")??null,r=bl(t?.metadata),i=e.target.kind==="agent"?null:e.sourceRefs[0]??t?.sourcePlan[0]?.path??null,l=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(ut,{size:14}),n.jsx("span",{children:yh(e)}),n.jsx("small",{children:e.target.kind})]}),n.jsx("p",{children:kh(e,t?.summary??null,s?.prompt??null)}),r||i||l?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,l?n.jsxs("span",{children:[l," Evals"]}):null]}):null]})}function yh(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 kh(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 Hr=o.memo(function({activeWorkspaceAppId:t=null,animateInitialContent:s=!1,accountBaseUrl:r=null,billingOrganizationSlug:a=null,billingTeamId:i=null,connection:l=null,message:c,kvCacheSummary:d=null,onOpenBrowserLink:f,onOpenAttachmentInSidebar:g,onOpenFileInSidebar:y,onOpenProfileSettings:m,onResolveUserQuestion:b,onOpenSession:h,showFooter:x=!1,userAttachmentDisplay:A="full",workspaceRootPath:v=null}){if(c.role==="status_divider")return n.jsx(Bh,{message:c});if(c.role==="activity_group")return n.jsx(Km,{activeWorkspaceAppId:t,connection:l,message:c,onOpenFileInSidebar:y,onOpenSession:h});if(c.role==="error")return c.errorKind==="opchat_quota_exceeded"?n.jsx("article",{className:"message-row assistant",children:n.jsx(Ph,{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:c.content??""})});if(c.role==="user"){const N=c.attachments??[],O=A==="compact",$=N.length>0,z=!!(!O&&N.some(q=>q.kind==="image"));return n.jsx("article",{className:"message-row user",children:n.jsxs("div",{className:`user-message ${$?"has-attachments":""} ${z?"has-image-attachments":""}`,children:[N.length?n.jsx(Lh,{attachments:N,compact:O,connection:l,onOpenAttachment:g}):null,c.content?n.jsx(Mh,{content:c.content}):null]})})}const C=vl(c.timestamp),S=jl(c.timestamp),R=Sh(d?.cacheHitRate??null),M=c.actionRun&&Ja(c.actionRun)?Cm(c.actionRun):null;return n.jsxs("article",{className:"message-row assistant",children:[c.reasoningContent?n.jsx(Ch,{activeWorkspaceAppId:t,animateInitialContent:s,connection:l,reasoningContent:c.reasoningContent,onOpenBrowserLink:f,onOpenFileInSidebar:y,workspaceRootPath:v}):null,c.content?n.jsx("div",{className:"assistant-message",children:n.jsx(eo,{activeWorkspaceAppId:t,animateInitialContent:s,connection:l,content:c.content,onOpenBrowserLink:f,onOpenFileInSidebar:y,workspaceRootPath:v})}):null,c.sources?.length?n.jsx(Rh,{sources:c.sources,onOpenBrowserLink:f}):null,c.actionRun&&Ja(c.actionRun)?n.jsxs("div",{className:`assistant-message action-run-profile-message ${c.actionRun.status}`,children:[n.jsx(di,{activeWorkspaceAppId:t,connection:l,content:c.actionRun.responseText??wm(c.actionRun),onOpenBrowserLink:f,onOpenFileInSidebar:y,workspaceRootPath:v}),M?n.jsx("div",{className:"action-run-agent-label",children:m?n.jsx("button",{type:"button",className:"action-run-agent-link",onClick:m,children:M}):n.jsx("span",{children:M})}):null]}):c.actionRun?n.jsx(Sm,{actionRun:c.actionRun,onOpenBrowserLink:f,onOpenFileInSidebar:y,workspaceRootPath:v}):null,c.changeSummary&&n.jsx(gh,{summary:c.changeSummary,onOpenFileInSidebar:y}),c.createImproveRun?n.jsx(jh,{run:c.createImproveRun}):null,c.userQuestion?n.jsx(Eh,{question:c.userQuestion,onResolve:b}):null,x||d?n.jsxs("div",{className:"assistant-message-footer",children:[C&&n.jsx("time",{className:"message-timestamp",dateTime:c.timestamp,title:S,children:C}),d?n.jsxs(n.Fragment,{children:[C?n.jsx("span",{className:"message-footer-separator","aria-hidden":"true"}):null,n.jsxs("span",{className:"message-kv-cache-metric","aria-label":`KV cache reuse ${R}`,children:["KV ",R]})]}):null,n.jsx("button",{type:"button",className:"message-copy-button",title:"Copy message","aria-label":"Copy assistant message",disabled:!c.content,onClick:()=>{c.content&&ci(c.content)},children:n.jsx(hi,{size:14})})]}):null]})},Nh);function Sh(e){return e===null?"—":`${Math.round(e*100)}%`}const Ch=o.memo(function({activeWorkspaceAppId:t,animateInitialContent:s,connection:r,reasoningContent:a,onOpenBrowserLink:i,onOpenFileInSidebar:l,workspaceRootPath:c}){const[d,f]=o.useState(!1);return n.jsxs("div",{className:"activity-group assistant-reasoning",children:[n.jsx(hr,{expanded:d,icon:n.jsx(ji,{"aria-hidden":!0,className:"activity-summary-kind-icon",size:13}),onToggle:()=>f(g=>!g),children:"Thinking"}),d?n.jsx("div",{className:"assistant-reasoning-content",children:n.jsx(eo,{activeWorkspaceAppId:t,animateInitialContent:s,connection:r,content:a,onOpenBrowserLink:i,onOpenFileInSidebar:l,workspaceRootPath:c})}):null]})},wh);function wh(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 ei=5;function Mh({content:e}){const t=o.useMemo(()=>e.split(/\r?\n/),[e]),[s,r]=o.useState(!1),a=t.length>ei,i=a&&!s?t.slice(0,ei).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(l=>!l),children:[s?n.jsx(Kl,{size:14}):n.jsx(It,{size:14}),n.jsx("span",{children:s?"Show less":"Show more"})]}):null]})}function Nh(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&&Ah(e.message,t.message)}function Ah(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&&_h(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}function Eh({question:e,onResolve:t}){const[s,r]=o.useState(""),[a,i]=o.useState(!1),l=async c=>{if(!(!t||a||e.status!=="pending")){i(!0);try{await t(e,c)}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(kl,{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((c,d)=>n.jsxs("button",{disabled:a||!t,type:"button",onClick:()=>{l({questionId:e.id,action:"answer",optionId:c.id,text:c.label})},children:[n.jsx("span",{className:"user-question-option-index","aria-hidden":!0,children:d+1}),n.jsxs("span",{className:"user-question-option-copy",children:[n.jsx("span",{children:c.label}),c.description?n.jsx("small",{children:c.description}):null]})]},c.id))}):null,e.allowFreeform?n.jsxs("form",{className:"user-question-freeform",onSubmit:c=>{c.preventDefault();const d=s.trim();d&&l({questionId:e.id,action:"answer",optionId:null,text:d})},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:c=>r(c.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:()=>{l({questionId:e.id,action:"dismiss",optionId:null,text:""})},children:"Skip for now"})]}):n.jsxs("span",{className:"user-question-resolution",children:[n.jsx(oi,{"aria-hidden":!0,size:15}),n.jsx("small",{children:e.status==="answered"?`Answered${e.answer?.text?`: ${e.answer.text}`:""}`:"Skipped"})]})]})}function Rh({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(sa,{size:13}),n.jsx("span",{children:"Sources"})]}),n.jsx("div",{className:"assistant-source-stack",children:e.map(s=>n.jsx($h,{source:s,onOpenBrowserLink:t},`${s.id}:${s.url}`))})]})}function $h({source:e,onOpenBrowserLink:t}){const s=Th(e),r=[e.title,co(e.url)].filter(Boolean).join(" - "),a=n.jsxs(n.Fragment,{children:[n.jsx(Ih,{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 Ih({source:e}){const[t,s]=o.useState(!1);return!e.faviconUrl||t?n.jsx(sa,{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 Th(e){return e.sourceName?.trim()||co(e.url)||e.title}function co(e){try{return new URL(e).hostname.replace(/^www\./i,"")}catch{return null}}function Ph({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:s,onOpenBrowserLink:r}){const a=yl({accountBaseUrl:e,organizationSlug:t,teamId:s}),i=n.jsxs(n.Fragment,{children:[n.jsx(ga,{size:15}),n.jsx("span",{children:"Add credits"}),n.jsx(Sl,{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(ga,{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 _h(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 Lh({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(Oh,{attachment:a,compact:t,connection:s,onOpenAttachment:r},a.id))})}function Oh({attachment:e,compact:t,connection:s,onOpenAttachment:r}){return!t&&e.kind==="image"&&e.imagePreview?n.jsx(Fh,{attachment:e,connection:s}):n.jsx(zh,{attachment:e,onOpenAttachment:r})}function zh({attachment:e,onOpenAttachment:t}){const[s,r]=o.useState(!1),a=!!((e.filePreview||e.imagePreview)&&t),i=s?"Opening":e.lineCount!==void 0?qi(e.lineCount):null,l=n.jsxs(n.Fragment,{children:[n.jsx(Vi,{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:l}):n.jsx("span",{className:"user-message-attachment",title:e.name,children:l})}function Fh({attachment:e,connection:t}){const s=lm(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(dr,{size:24})}),n.jsx("figcaption",{children:n.jsx("span",{children:e.name})})]})}const Dh=o.memo(function(){return n.jsx("article",{className:"activity-group thinking-row","aria-live":"polite",children:n.jsx(hr,{running:!0,children:"Thinking…"})})});function Bh({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 Vt(e){return e instanceof ni&&(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 Uh(e){return(e?.messages??[]).filter(t=>t.role==="user"||t.role==="assistant").map(t=>({id:t.id,role:t.role,content:t.text,timestamp:t.createdAt}))}function qh({connection:e,presentation:t,composer:s,onOpenWork:r}){const[a,i]=o.useState(null),[l,c]=o.useState(null),[d,f]=o.useState(""),[g,y]=o.useState(""),[m,b]=o.useState(!1),[h,x]=o.useState(null),[A,v]=o.useState([]),[C,S]=o.useState([]),R=o.useRef(null);o.useEffect(()=>{let w=!0;return i(null),c(null),v([]),S([]),R.current=null,x(null),f(""),y(""),bt(e,"/v1/ponder",{method:"POST",body:"{}"}).then(F=>{w&&(i(F),x(null))}).catch(F=>{w&&x(Vt(F))}),()=>{w=!1}},[e]),o.useEffect(()=>{if(!a)return;let w=!0;const F=async()=>{try{const B=await bt(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}`);w&&c(B)}catch(B){w&&x(Vt(B))}};F();const G=window.setInterval(()=>{F()},3e3);return()=>{w=!1,window.clearInterval(G)}},[e,a]),o.useEffect(()=>{if(!a)return;let w=!0;const F=async()=>{try{const B=await bt(e,"/v1/ponder/work");w&&S(B.items)}catch(B){w&&x(Vt(B))}};F();const G=window.setInterval(()=>{F()},3e3);return()=>{w=!1,window.clearInterval(G)}},[e,a]),o.useEffect(()=>{if(!a||t!=="activity")return;R.current=null,v([]);let w=!0,F=!1;const G=async()=>{if(!F){F=!0;try{let V;do{const Ne=R.current,se=await bt(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/activity${Ne?`?after=${encodeURIComponent(Ne)}`:""}`);if(!w)return;se.items.length>0&&(v(xe=>[...xe,...se.items]),R.current=se.nextCursor),V=se.hasMore&&se.items.length>0}while(V)}catch(V){w&&x(Vt(V))}finally{F=!1}}};G();const B=window.setInterval(()=>{G()},3e3);return()=>{w=!1,window.clearInterval(B)}},[e,a,t]);async function M(w){const F=w.contentsBase64?Uint8Array.from(atob(w.contentsBase64),se=>se.charCodeAt(0)):w.text!==void 0?new TextEncoder().encode(w.text):null;if(!F)throw new Error(`Attachment ${w.name} has no content to upload.`);const G=await crypto.subtle.digest("SHA-256",F),B=btoa(String.fromCharCode(...new Uint8Array(G))),V=await bt(e,"/v1/ponder/work-inputs",{method:"POST",body:JSON.stringify({name:w.name,contentType:w.mediaType,sizeBytes:F.byteLength,sha256Base64:B})}),Ne=await fetch(V.upload.url,{method:V.upload.method,headers:V.upload.headers,body:new Blob([F],{type:w.mediaType})});if(!Ne.ok)throw new Error(`Attachment upload failed (${Ne.status})`);return bt(e,`/v1/ponder/work-inputs/${encodeURIComponent(V.input.id)}/finalize`,{method:"POST",body:"{}"})}async function N(w=[],F){const G=(F?.promptOverride??d).trim();if(!a||!G||m)return!1;b(!0);try{const B=await Promise.all(w.map(M));return await bt(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/turns`,{method:"POST",headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:G,attachments:B})}),f(""),x(null),!0}catch(B){return x(Vt(B)),!1}finally{b(!1)}}async function O(w,F){if(w.wait)try{await bt(e,`/v1/ponder/turns/${encodeURIComponent(w.id)}/waits/${encodeURIComponent(w.wait.id)}/resolve`,{method:"POST",body:JSON.stringify(F)}),y("")}catch(G){x(Vt(G))}}async function $(w){try{await bt(e,`/v1/ponder/turns/${encodeURIComponent(w.id)}/cancel`,{method:"POST",body:"{}"})}catch(F){x(Vt(F))}}async function z(w){const F=window.open("about:blank","_blank");try{const G=await bt(e,`/v1/ponder/work-outputs/${encodeURIComponent(w)}`);if(!G.downloadURL)throw new Error("This output is not available for download.");F?F.location.replace(G.downloadURL):window.location.assign(G.downloadURL)}catch(G){F?.close(),x(Vt(G))}}const q=!!(l?.activeTurn&&["queued","running","retry_scheduled"].includes(l.activeTurn.status)),te=Uh(l),he=t==="activity"&&A.length>0?{id:"ponder-activity",role:"activity_group",timestamp:new Date().toISOString(),activities:A.map(w=>({id:w.id,label:w.type,content:w.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:[C.length>0&&n.jsx("section",{className:"ponder-linked-work","aria-label":"Ponder Pal Work tasks",children:C.map(w=>n.jsxs("button",{type:"button",onClick:()=>r(w.conversationId),children:[n.jsx("span",{children:w.title}),n.jsx("small",{children:w.status.replaceAll("_"," ")})]},w.conversationId))}),te.map(w=>n.jsx(Hr,{message:w,connection:e},w.id)),he&&n.jsx(Hr,{message:he,connection:e}),q&&n.jsx(Dh,{}),l?.activeTurn?.wait&&n.jsxs("section",{className:"ponder-desktop-attention",children:[n.jsx("strong",{children:l.activeTurn.wait.title}),l.activeTurn.wait.kind==="approval"?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",onClick:()=>{O(l.activeTurn,{decision:"accepted"})},children:"Approve"}),n.jsx("button",{type:"button",onClick:()=>{O(l.activeTurn,{decision:"declined"})},children:"Decline"})]}):l.activeTurn.wait.options.length>0?l.activeTurn.wait.options.map(w=>n.jsx("button",{type:"button",onClick:()=>{O(l.activeTurn,{value:w})},children:w},w)):n.jsxs("form",{onSubmit:w=>{w.preventDefault(),O(l.activeTurn,{value:g})},children:[n.jsx("input",{"aria-label":"Response to Ponder Pal",value:g,onChange:w=>y(w.target.value)}),n.jsx("button",{type:"submit",disabled:!g.trim(),children:"Send response"})]})]}),l?.activeTurn?.outputs?.map(w=>w.downloadURL?n.jsx("a",{href:w.downloadURL,target:"_blank",rel:"noreferrer",children:w.name},w.id):n.jsx("button",{type:"button",onClick:()=>{z(w.id)},children:w.name},w.id)),h&&n.jsx(Hr,{message:{id:"ponder-error",role:"error",content:h,timestamp:new Date().toISOString()},connection:e})]}),n.jsxs("div",{className:"composer-stack dock",children:[n.jsx(Wi,{...s,experience:"chat",mode:"dock",showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:d,onPromptChange:f,busy:m||!a,running:!1,submissionScopeKey:`ponder:${a?.conversationId??"loading"}`,voiceInputChannelKey:`ponder:${a?.conversationId??"loading"}`,onSubmit:(w,F,G,B)=>N(w,B?.promptOverride?{promptOverride:B.promptOverride}:void 0),onStop:()=>l?.activeTurn?$(l.activeTurn):void 0}),q&&l?.activeTurn&&n.jsx("button",{className:"ponder-stop-turn",type:"button",onClick:()=>{$(l.activeTurn)},children:"Stop response"})]})]})}const Vh=o.lazy(()=>ge(()=>import("./WorkspaceDiffPanel-CFzHklbv.js").then(e=>e.a),__vite__mapDeps([7,1,2,3,4,5,6,8,9,10,11,12,13]),import.meta.url).then(e=>({default:e.WorkspaceDiffPanel}))),Hh=o.lazy(()=>ge(()=>import("./AppTerminalPanel-DNXVV6S_.js"),__vite__mapDeps([14,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),Wh=o.lazy(()=>ge(()=>import("./RightSidebarHomePanel-BgHpI97K.js"),__vite__mapDeps([15,1,2,3,4,13,9,11]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Gh=o.lazy(()=>ge(()=>import("./WorkSidebarPanel-C9bKi4NH.js"),__vite__mapDeps([16,1,2,3,4,5,9,11,17,18,19,6,20]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),Kh=o.lazy(()=>ge(()=>import("./NewExperienceSwitcher-cWw4m_pU.js"),__vite__mapDeps([21,1,2,3,4]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Qh=o.lazy(()=>ge(()=>import("./CollaborationTabs-BzNNwOcD.js"),__vite__mapDeps([22,1,2,3,4,23]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),Xh=o.lazy(()=>ge(()=>import("./AppsView-DhaB7uT7.js"),__vite__mapDeps([24,1,2,3,4,25]),import.meta.url).then(e=>({default:e.AppsView}))),Jh=o.lazy(()=>ge(()=>import("./GetStartedView-ZxtcgU5X.js"),__vite__mapDeps([26,1,2,6,3,4,27,5,28]),import.meta.url).then(e=>({default:e.GetStartedView}))),Yh=o.lazy(()=>ge(()=>import("./LabsRoute-BPGkQnKq.js").then(e=>e.q),__vite__mapDeps([29,1,2,3,4,27,17,8,6,10,0,5,30,31]),import.meta.url).then(e=>({default:e.LabsRoute}))),Zh=o.lazy(()=>ge(()=>import("./ScheduledWorkPage-C-P_Jv04.js"),__vite__mapDeps([32,1,2,3,4,33,5,6,12,11,17,18,19,9]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),ep=o.lazy(()=>ge(()=>import("./OutputsPage-CGWtgJ_j.js"),__vite__mapDeps([34,1,2,3,4,5,9,17,18,19,6]),import.meta.url).then(e=>({default:e.OutputsPage}))),tp=o.lazy(()=>ge(()=>import("./ProjectsPage-C00Wt3oR.js"),__vite__mapDeps([35,1,2,3,4,17,36]),import.meta.url).then(e=>({default:e.ProjectsPage}))),ti=o.lazy(()=>ge(()=>import("./LabSkillSidebar-Cq_axOXr.js"),__vite__mapDeps([37,1,2,3,4,5,11,17,18,19,9,6,38]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),np=o.lazy(()=>ge(()=>import("./BrowserSidebar-zecj1P2T.js"),__vite__mapDeps([39,1,2,3,4,5,6,19,40]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),sp=o.lazy(()=>ge(()=>import("./RightChatPanelStack-0D_jpeAm.js"),__vite__mapDeps([41,1,2,9,3,4,42,17,18,5,19,6]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),rp=o.lazy(()=>ge(()=>import("./NativeSkillSidebar-BSSKKH-y.js"),__vite__mapDeps([43,1,2,3,4,11,44]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),ap=o.lazy(()=>ge(()=>import("./TeamChatView-BdUQNXvx.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamChatView}))),ip=o.lazy(()=>ge(()=>import("./TeamChatView-BdUQNXvx.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamChatProView}))),op=o.lazy(()=>ge(()=>import("./CommunityView-C4HfU5ky.js"),__vite__mapDeps([48,1,2,49,3,4,6,5,17,18,19,9,50]),import.meta.url).then(e=>({default:e.CommunityView}))),lp=o.lazy(()=>ge(()=>import("./TeamChatView-BdUQNXvx.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),cp=o.lazy(()=>ge(()=>import("./TeamChatView-BdUQNXvx.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),up=o.lazy(()=>ge(()=>import("./TrainingDraftPanel-TcvqZfYS.js"),__vite__mapDeps([51,1,2,3,4,11,31]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),dp=o.lazy(()=>ge(()=>import("./MainChatThread-DvllW6Ej.js"),__vite__mapDeps([52,1,2,42,3,4,17,18,5,19,9,6]),import.meta.url).then(e=>({default:e.MainChatThread}))),fp=o.lazy(()=>ge(()=>import("./TrainingCreationPanel-Bdx2BJzb.js"),__vite__mapDeps([53,1,2,3,4,31]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function mp({ponderMode:e=null,onPonderModeChange:t,experience:s,onNewExperienceChange:r,view:a,teamChat:i,community:l,bootstrap:c,runtimeEvents:d,chatMessages:f,pendingUserMessage:g,contextWindowStatus:y,goalRuntime:m,subagentRuntime:b,selectedSessionId:h,composerDraftStore:x,mainComposerFocusRequestId:A,labCloseDetailRequestId:v,labCloseDetailKind:C,sideChatTrainingLaunchRequest:S,onSideChatTrainingLaunchHandled:R,mentionApps:M,connectedAppMentions:N,profileSkills:O,selectedMentionAppId:$,busy:z,turnRunning:q,activeProvider:te,activeModel:he,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,pendingApproval:B,activeWorkspaceAppId:V,activeWorkspaceId:Ne,activeWorkspaceKind:se,projectTarget:xe,actionCatalog:X,workspaceTarget:W,connection:I,workspaceName:ue,workspaceState:de,workspaceDiff:H,workspaceBusy:le,diffBusy:L,forceChatThread:Q=!1,diffPanelOpen:D,diffPanelExpanded:be,rightPanelMode:ve,rightPanelTabRequest:et,rightChatPanels:Re,runtimeEventStore:ye,nativeSkillSidebar:U,extensionSkillSidebar:Ae,workspaceDiffPanelViewState:gn,sidebarFileOpenRequest:tt,sidebarFileBookmarks:vt,onSetSidebarFileStatus:Tt,browserConversationId:ze,terminalScope:xn,terminalTabs:k,terminalCwd:E,pendingTerminalCommand:re,terminalOpen:ke,onToggleTerminal:Se,onWorkspaceDiffPanelViewStateChange:Ie,training:oe,trainingSessions:Fe,trainingChatHandoff:we,trainingDetailTasksetId:jt,onTrainingDetailTasksetIdChange:Pt,onTrainingChatTaskSelect:Kt,onTrainingChatHandoffDismiss:Ge,onOpenSession:nt,onExperienceHandoff:fe,cloudProjects:Oe,projects:As,projectsAccountBaseUrl:bn,projectsTeamName:vn,projectTaskCounts:Es,onNewCloudProject:jn,onNewLocalProject:Rs,onNewProjectTask:yn,onToggleProjectPinned:$s,onUploadLocalProject:Qt,chatHistoryHasMore:Is=!1,chatHistoryLoading:_t=!1,onDiffPanelResizeStart:Be,canSyncWorkspace:Gn,startMessage:pr,onPayload:Ue,onError:kn,setView:qe,onOpenProfileSettings:De,onOpenProviderSettings:ot,onOpenTrainingSettings:gr,onOpenDatasetStorageSettings:xr,changeDraftProvider:Ke,changeProjectTarget:st,changeWorkspaceTarget:yt,setDraftProvider:kt,setDraftModel:Lt,onBeginNewChatWithModel:rt,changeCodexPermissionMode:Sn,changeCodexReasoningEffort:lt,changeOpenPondCommandAccessMode:Cn,resolveApproval:wn,answerCreateImproveQuestion:Kn,approveCreateImproveRun:Mn,applyCreateImproveCandidate:Nn,cancelCreateImproveRun:Qn,openCreateImprovePullRequest:Xt,pauseCreateImproveRun:An,reconcileCreateImprovePullRequest:Xn,rejectCreateImproveCandidate:Jt,resumeCreateImproveRun:Jn,reviseCreateImproveRun:Yn,setMentionedAppId:at,showToast:ne,onSaveTaskDraft:Yt,sendPrompt:$e,stopTurn:dt,syncWorkspaceLocally:br,refreshWorkspaceDiff:Ts,onToggleDiffPanelExpanded:Te,onShowDiffPanel:ct,onShowBrowserPanel:Ot,onShowTrainingDraftPanel:vr,onShowFilesPanel:Zn,onShowRightChatPanel:Zt,onAddRightChat:es,onOpenRightChatForSession:en,onLabDetailOpenChange:Ps,scheduledDetailOpen:jr,onScheduledDetailOpenChange:yr,onTerminalTabsChange:kr,onCloseRightChatPanel:Me,onCloseNativeSkillSidebar:ft,onActivateRightChatPanel:Qe,onRightChatModelChange:Ee,onRightChatPromptChange:tn,onRightChatScrollStateChange:_s,onRightChatProviderChange:Sr,onSubmitRightChat:nn,onStopRightChat:Ls,onCloseTerminal:Cr,onLoadMoreChatHistory:mt}){const[Os]=o.useState(()=>new iu),ht=h&&!xa(h)?h:null,ts=uu(ye,ht),zt=o.useMemo(()=>ht?Cl(d,ts.events):d,[ht,ts.events,d]),St=o.useMemo(()=>ht?wl(Os.project(zt),g):f,[Os,ht,g,zt,f]),[ns,En]=o.useState(null),[wr,Ce]=o.useState(0),sn=o.useRef(""),pt=o.useCallback(()=>sn.current,[]),[zs,Ft]=o.useState(null),[Xe,rn]=o.useState(null),[Ve,an]=o.useState(null),[ce,Ct]=o.useState(null),[Rn,Fs]=o.useState(null),[ss,Ds]=o.useState(null),[Je,rs]=o.useState(null),[as,is]=o.useState([]);o.useEffect(()=>{Ft(null)},[ze]);const $n=o.useMemo(()=>c?.sessions.find(j=>j.id===h)??null,[c?.sessions,h])?.currentProfile??c?.profileLibrary?.lastUsed??null,In=JSON.stringify({account:c?.account.activeProfile??null,teamId:c?.preferences.defaultTeamId??null}),Dt=Ml(c?.profileLibrary??{profiles:[]},$n)??c?.profile??null,Tn=o.useMemo(()=>Nl(Dt,c?.extensionCatalog),[c?.extensionCatalog,Dt]),on=o.useMemo(()=>Al(Dt),[Dt]),os=o.useCallback(async(j,_=h)=>{if(!I||!c)return;const ae=El(c.profileLibrary??{profiles:[]},j);if(ae)try{const ee=_&&!xa(_)?c.sessions.find(K=>K.id===_)??null:null,Y=await Ff({ref:ae,session:ee,selectProfile:K=>_e.profileSelect(I,K),patchSession:(K,xt)=>_e.patchSession(I,K,{currentProfile:xt})});let pe=c.sessions;Y.session&&(pe=pe.map(K=>K.id===Y.session.id?Y.session:K)),Ue({...c,profile:Y.selected.profile,profileLibrary:Y.selected.library,sessions:pe})}catch(ee){const Y=ee instanceof Error?ee.message:String(ee);kn(Y),ne(Y,"error")}},[c,I,kn,Ue,h,ne]);o.useEffect(()=>{if(!Rl(tt,ze))return;const{file:j,id:_}=tt;if(Ft({id:_,path:j.path}),!I)return;let ae=!1;return(j.workspaceKind==="local"?_e.workspaceFile(I,j.workspaceId,j.path).then(Y=>Y.content??""):_e.sandboxDownloadFile(I,j.workspaceId,j.path).then(Y=>{if(Y.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return Y.contents})).then(Y=>{if(ae)return;const pe=j.path.split("/").at(-1)??j.path;En({id:_,file:new File([Y],pe,{type:hp(j)})})}).catch(Y=>{ae||ne(Y instanceof Error?Y.message:String(Y),"error")}),()=>{ae=!0}},[ze,I,ne,tt]);const wt=s==="development"||s==="work"&&xe.value!=="none",ls=o.useMemo(()=>{if(s==="chat")return on;if(!wt)return[];const j=new Map(X.filter(_=>!$l(_)).map(_=>[_.id,_]));for(const _ of on)j.set(_.id,_);for(const _ of as)j.set(_.id,_);return[...j.values()]},[X,s,wt,as,on]),je=Bf(I),cs=o.useCallback(j=>{if(!j){je.activate(null);return}je.activate({runId:j.run.id,candidateId:j.candidate.id,title:j.run.objective,fileRootPath:j.fileRootPath,initialPath:j.initialPath})},[je.activate]),Pn=o.useCallback(()=>{je.selection?.initialPath&&je.openFile(je.selection.initialPath),ct()},[je.openFile,je.selection?.initialPath,ct]),Mr=o.useCallback(j=>{an(j),j&&ct()},[ct]),Nr=o.useCallback(()=>{an(null),be&&Te()},[be,Te]);o.useEffect(()=>{a!=="labs"&&an(null)},[a]);const Ar=o.useCallback((j,_)=>{const ae=Date.now(),ee=X.find(pe=>pe.id===j)??null;x.set(""),at(null),qe("chat");const Y=pe=>{if(!(pe.find(ie=>ie.id===j)??null))return!1;const xt=pe.map(ie=>ie.id===j?{...ie,label:_}:ie);return is(xt),window.requestAnimationFrame(()=>{rs({actionId:j,requestId:Math.max(Date.now(),ae+1)})}),!0};if(!I){ee?Y([ee]):ne("The Agent action catalog is still loading. Try Use again.","error");return}_e.profileCurrent(I).then(pe=>{const K=pe.actionCatalog.map(xt=>Il(xt));!Y(K)&&ee?Y([ee]):K.some(xt=>xt.id===j)||ne("This Agent is ready, but its default chat action is unavailable.","error")}).catch(pe=>{ee||ne(pe instanceof Error?pe.message:String(pe),"error")})},[X,x,I,at,qe,ne]),Er=o.useCallback((j,_)=>{x.set(j),at(null),_&&Ke(_),qe("chat")},[Ke,x,at,qe]),He=o.useMemo(()=>Tl(c?.preferences),[c?.preferences]),Rr=He.training,{createAgentFromLab:us,improveAgentFromLab:$r}=qf({activeModel:he,activeProvider:te,bootstrap:c,codexPermissionMode:w,codexReasoningEffort:F,connection:I,onOpenRightChatForSession:en,onPayload:Ue}),Bt=o.useMemo(()=>{const j=oe.payload?.tasksets??[];return j.some(_=>_.id===Rn)?Rn:j[0]?.id??null},[Rn,oe.payload?.tasksets]),_n=a==="labs"&&Bt?`profiles/${c?.profile.activeProfile??"default"}/tasksets/${Bt}`:null,Ir=o.useMemo(()=>{if(a!=="labs"||!Bt||!oe.payload)return null;const j=oe.payload.tasksets.find(ie=>ie.id===Bt);if(!j)return null;const _=oe.payload.plans.filter(ie=>ie.tasksetId===j.id),ae=new Set(_.map(ie=>ie.id)),ee=oe.payload.jobs.filter(ie=>ae.has(ie.planId)).sort((ie,xs)=>xs.createdAt.localeCompare(ie.createdAt)),Y=ee.find(ie=>ie.id===ss)??ee[0]??null,pe=Y?_.find(ie=>ie.id===Y.planId)??null:_.sort((ie,xs)=>xs.createdAt.localeCompare(ie.createdAt))[0]??null,K=Y?oe.payload.models.find(ie=>ie.jobId===Y.id)??null:null,xt=Y?oe.payload.artifacts.filter(ie=>ie.jobId===Y.id):[];return{taskset:j,plan:pe,job:Y,lineage:K,artifacts:xt}},[Bt,ss,oe.payload,a]),Ut=o.useMemo(()=>Df(oe.payload,h),[h,oe.payload]),Ln=o.useMemo(()=>Jf(St),[St]),Us=!!m||!!Ln||!!b,Pe=a==="labs"&&!!je.selection,ln=a==="labs"&&D&&ve==="changes"&&!!Ve,qs=(a==="chat"||a==="labs")&&!!V,Tr=a==="chat"&&D&&ve==="chat"&&Re.length===0,Vs=Pl(se)?Ne??Zf(ue):null,Hs=a==="chat"&&!!Vs,Mt=Vs,ds=!!Mt||W.value==="cloud"||W.value==="hybrid",gt=o.useMemo(()=>_f({workspaceTarget:W.value,localWorkspaceId:V,sandboxSourceAvailable:ds,sandboxWorkspaceId:Mt,override:Xe}),[V,ds,Mt,Xe,W.value]),cn=gt.source,Ye=cn==="sandbox",Pr=o.useMemo(()=>cn&>.options.length>1?{value:cn,options:gt.options,onChange:rn}:null,[cn,gt.options]);o.useEffect(()=>{rn(null)},[V,ze,Mt,W.value]);const We=!ln&&(Pe||qs||Hs)&&D&&(ve==="changes"||ve==="goal"&&Us||Tr),fs=a==="chat"&&D&&ve==="browser",On=(a==="chat"||a==="labs")&&D&&ve==="chat"&&Re.length>0,un=a==="chat"&&D&&ve==="training",dn=a==="chat"&&D&&!!U,_r=a==="chat"&&D&&!!Ae,ms=a==="team"&&D&&ve==="chat"&&!!i.aiThread,hs=a==="team"&&D&&ve==="chat"&&!!i.agentConversation,fn=s==="work"&&a==="chat"&&D&&ve==="home",zn=Yi({supportedView:a==="chat"&&wt||a==="labs",open:D,hasContentPanel:We||ln||fs||On||un||dn||ms||hs||fn}),Fn=We||ln||fs||On||un||dn||ms||hs||fn||zn,ps=Fn&&ve!=="chat"&&be,Ws=c?.account.baseUrl??c?.account.activeProfile?.baseUrl??null,u=Gf({activeWorkspaceId:Ne,cloudProjects:Oe}),p=a==="chat"&&q&&!B&&Pf(St),P=Q||St.length>0||p,T=h??`draft:${a}:${se??"none"}:${Ne??V??"none"}`;sn.current=T;const Z=n.jsx(nm,{activeModel:he,activeProvider:te,busy:q,handoff:we,onDismiss:Ge,onSelectTask:Kt}),J=o.useMemo(()=>({onAnswerQuestion:Kn,onApprove:Mn,onApplyCandidate:Nn,onCancel:Qn,onOpenPullRequest:Xt,onPause:An,onReconcilePullRequest:Xn,onRejectCandidate:Jt,onResume:Jn,onRevise:Yn}),[Kn,Mn,Nn,Qn,Xt,An,Xn,Jt,Jn,Yn]),me=o.useMemo(()=>Ln?{...Ln,...J}:null,[J,Ln]),Nt=am(a,P),qt=o.useCallback(async(j=[],_=null,ae=null,ee={})=>{const Y=ee.promptOverride??x.getSnapshot(),pe=()=>{ee.preservePrompt||(x.set(""),at(null))};if(!_){const K=ae?{command:ae.id,args:Y.trim()}:ii(Y);if(K){if(!_l({id:K.command},s))return ne(`/${K.command} isn't available in ${s}.`,"info"),!1;if(K.command==="train")return j.length>0?(ne("/train uses the selected chat; add other chats from Models.","error"),!1):h?(pe(),Ct({id:Date.now(),objective:K.args.trim()||null,initialSessionIds:[h]}),qe("labs"),!0):(pe(),Ct({id:Date.now(),objective:K.args.trim()||null,initialSessionIds:[]}),qe("labs"),!0);if(!K.args&&K.command!=="skill"&&K.command!=="sync-cloud")return ne(`Add instructions after /${K.command}.`,"info"),!1;if(j.length>0)return ne(`/${K.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(K.command==="submit-issue")return Ll(N)?(Ce(ie=>ie+1),$e([],null,Ol(K.args),{clearPrompt:ee.preservePrompt?()=>{}:void 0,usageAttribution:Vr(K,ae?"composer_selection":"prompt_parse")})):(ne("Connect the GitHub app before using /submit-issue.","error"),!1);if(Yf(K)){const ie=K.command==="skill"?Of(K.args,te,c?.profile.sourcePath??null):Wa(K);return Ce(xs=>xs+1),$e([],null,ie,{clearPrompt:ee.preservePrompt?()=>{}:void 0,usageAttribution:Vr(K,ae?"composer_selection":"prompt_parse")})}return Ce(ie=>ie+1),$e([],null,Wa(K),{clearPrompt:ee.preservePrompt?()=>{}:void 0,usageAttribution:Vr(K,ae?"composer_selection":"prompt_parse")})}}return Ce(K=>K+1),$e(j,_,ee.promptOverride,{clearPrompt:ee.preservePrompt?()=>{}:void 0,displayPrompt:ee.displayPrompt,turnMetadata:ee.turnMetadata})},[he,te,se,c?.profile,N,x,s,$e,h,at,qe,ne,oe,a]),At=o.useCallback(j=>{we&&j!==we.model.modelId&&Ge(),kt(te),Lt(j)},[te,Ge,Lt,kt,we]),it=o.useCallback(j=>{we&&j!==we.model.providerId&&Ge(),Ke(j)},[Ke,Ge,we]),{chatColumnStyle:mn,chatThreadPreparingInitialScroll:Ze,chatThreadRef:uo,chatTimelineRows:fo,composerStackRef:mo,goToUserMessage:oa,handleChatScroll:ho,jumpToLatestChatMessage:po,showScrollToBottomButton:go,userMessageNavigation:Gs}=om({browserConversationId:ze,chatSubmissionVersion:wr,chatHistoryHasMore:Is,chatHistoryLoading:_t,chatMessages:St,onLoadMoreChatHistory:mt,pendingApproval:B,showChatThread:P,showThinkingIndicator:p,view:a}),gs=o.useCallback((j,_)=>{zl({conversationId:ze,href:j,explicitFile:_?.explicitFile,newTab:_?.newTab}).then(ae=>{ae&&Ot()})},[ze,Ot]),Ks=Ql({projectTargetDetail:xe.detail,projectTargetValue:xe.value,workspaceRepoPath:de?.repoPath,workspaceTargetValue:W.value}),la=o.useCallback(j=>{const _=$f(j,Ks);if(_&&I){_e.signLocalVideoUrl(I,{path:_}).then(({url:ee})=>gs(ee)).catch(ee=>{ne(ee instanceof Error?ee.message:"Could not open this video.","error")});return}const ae=fi(j,{workspaceRootPath:Ks});ct(),Ft({id:Date.now(),path:ae?.path??j})},[I,gs,ct,ne,Ks]),ca=o.useCallback(async j=>{if(!I||!j.filePreview&&!j.imagePreview){ne("File content is not available for this attachment.","error");return}try{const _=j.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",ee=`Attachments/${j.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${_}`,Y={path:ee,status:"",additions:0,deletions:0,patch:"",content:null};let pe;if(j.filePreview){const K=await _e.chatAttachmentFile(I,j.filePreview);Y.content=K.content}else j.imagePreview&&(pe=(await _e.signChatAttachmentImageUrl(I,j.imagePreview)).url);ct(),Ft({id:Date.now(),path:ee,file:Y,...pe?{imageUrl:pe}:{}})}catch(_){ne(_ instanceof Error?_.message:"Could not open this attachment.","error")}},[I,ct,ne]),xo=le&&!!V&&!de,ua=je.selection?`candidate:${je.selection.runId}:${je.selection.candidateId}`:null,bo=We?n.jsx(Vh,{appId:Pe?ua:Ye?null:V,workspaceId:Pe?ua:Ye?Mt:V,workspaceKind:Pe?"local_project":Ye?null:"local_project",connection:I,runtimeEvents:zt,diff:Pe?je.diff:Ye?null:H,fileRootPath:Pe?je.selection?.fileRootPath??null:Ye?null:_n,filesWithPreview:Pe,editorPreferences:c?.preferences.editor??null,loading:Pe?je.loading:Ye?le:L||xo,openFileRequest:Pe?je.openFileRequest:zs,sidebarFileBookmarks:vt,sidebarFileSourceSessionId:h,onSetSidebarFileStatus:Tt,readOnly:Pe,sideChatTabs:Re.map(j=>({id:j.id,title:j.title,running:j.running})),sourceSwitcher:Pe?null:Pr,tabRequest:et,viewState:gn,workspaceName:Pe?je.selection?.title??"Change":Ye?ue??"Sandbox":ue,workspaceInitialized:Pe?!0:Ye?!!Mt:!!de?.initialized,workspaceError:Pe?je.error:Ye?null:de?.error??H?.error??null,expanded:be,onResizeStart:Be,onRefresh:j=>{Pe?je.refresh(j):Ts(j)},onToggleExpanded:Te,onOpenBrowser:Ot,onOpenBrowserUrl:gs,onViewStateChange:Ie,onCloseSideChat:Me,onOpenSideChat:a==="chat"?es:void 0,onSelectSideChat:j=>{Qe(j),Zt()},goalDetails:{active:ve==="goal",createRuntime:me,goalRuntime:m,subagentRuntime:b},sandboxFileSource:Ye?{sandboxId:Mt,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:Ir}):null,vo=fs?n.jsx(np,{conversationId:ze,expanded:be,onResizeStart:Be}):null,jo=ms?o.createElement(lp,{...i,key:i.aiThread?.conversationId,onResizeStart:Be}):null,yo=hs?o.createElement(cp,{...i,key:i.agentConversation?.run.id,onResizeStart:Be}):null,ko=On?n.jsx(sp,{panels:Re,runtimeEventStore:ye,actionCatalog:ls,createImproveActions:J,contextCompaction:He.contextCompaction,steerActiveResponses:He.steerActiveResponses,busy:z,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,connection:I,connectedAppMentions:N,mentionApps:M,codexPersonalSkills:c?.codexPersonalSkills??[],profileSkills:O,profileLibrary:c?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:c?.extensionCatalog??null,projectTarget:xe,providerSettings:c?.providers??null,accountBaseUrl:Ws,billingOrganizationSlug:u.organizationSlug,billingTeamId:u.teamId,showToast:ne,workspaceTarget:W,onAddChat:es,onActivatePanel:Qe,onClosePanel:Me,onCodexPermissionModeChange:Sn,onCodexReasoningEffortChange:lt,onOpenPondCommandAccessModeChange:Cn,onModelChange:Ee,onOpenAttachmentInSidebar:ca,onOpenFileInSidebar:la,onOpenProfileSettings:De,onOpenSession:nt,onProviderChange:Sr,onProviderSetupOpen:ot,onPromptChange:tn,onProfileTargetChange:(j,_)=>{os(_,j)},onScrollStateChange:_s,onProjectTargetChange:st,onResolveApproval:wn,onResizeStart:Be,onSelectFiles:Zn,onShowBrowserPanel:Ot,onStop:Ls,onSubmit:nn,onWorkspaceTargetChange:j=>{yt(j)}}):null,So=zn?n.jsx(Wh,{expanded:be,terminalOpen:ke,sideChatAvailable:a==="chat"||a==="labs",onOpenBrowser:Ot,onOpenFiles:Zn,onOpenReview:ct,onOpenSideChat:es,onOpenTrainingDraft:vr,trainingDraftAvailable:!!h,onResizeStart:Be,onToggleExpanded:Te,onToggleTerminal:Se}):null,Co=fn?n.jsx(Gh,{chatMessages:St,connection:I,contextWindowStatus:y,expanded:be,runtimeEvents:zt,sessionId:h,showToast:ne,onResizeStart:Be,onToggleExpanded:Te,onUseOutput:j=>En({id:Date.now(),file:j}),onHandoffOutput:async(j,_,ae)=>{await fe({target:j,sourceSessionId:h,output:_,prompt:Fl(_,j)}),ae&&En({id:Date.now(),file:ae})},onReviseOutput:(j,_,ae)=>{En({id:Date.now(),file:_}),x.set(`Create revision ${j.revision+1} of "${j.title}" from the attached revision ${j.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(l=>!l),children:[s?n.jsx(Kl,{size:14}):n.jsx(It,{size:14}),n.jsx("span",{children:s?"Show less":"Show more"})]}):null]})}function Nh(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&&Ah(e.message,t.message)}function Ah(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&&_h(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}function Eh({question:e,onResolve:t}){const[s,r]=o.useState(""),[a,i]=o.useState(!1),l=async c=>{if(!(!t||a||e.status!=="pending")){i(!0);try{await t(e,c)}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(kl,{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((c,d)=>n.jsxs("button",{disabled:a||!t,type:"button",onClick:()=>{l({questionId:e.id,action:"answer",optionId:c.id,text:c.label})},children:[n.jsx("span",{className:"user-question-option-index","aria-hidden":!0,children:d+1}),n.jsxs("span",{className:"user-question-option-copy",children:[n.jsx("span",{children:c.label}),c.description?n.jsx("small",{children:c.description}):null]})]},c.id))}):null,e.allowFreeform?n.jsxs("form",{className:"user-question-freeform",onSubmit:c=>{c.preventDefault();const d=s.trim();d&&l({questionId:e.id,action:"answer",optionId:null,text:d})},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:c=>r(c.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:()=>{l({questionId:e.id,action:"dismiss",optionId:null,text:""})},children:"Skip for now"})]}):n.jsxs("span",{className:"user-question-resolution",children:[n.jsx(oi,{"aria-hidden":!0,size:15}),n.jsx("small",{children:e.status==="answered"?`Answered${e.answer?.text?`: ${e.answer.text}`:""}`:"Skipped"})]})]})}function Rh({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(sa,{size:13}),n.jsx("span",{children:"Sources"})]}),n.jsx("div",{className:"assistant-source-stack",children:e.map(s=>n.jsx($h,{source:s,onOpenBrowserLink:t},`${s.id}:${s.url}`))})]})}function $h({source:e,onOpenBrowserLink:t}){const s=Th(e),r=[e.title,co(e.url)].filter(Boolean).join(" - "),a=n.jsxs(n.Fragment,{children:[n.jsx(Ih,{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 Ih({source:e}){const[t,s]=o.useState(!1);return!e.faviconUrl||t?n.jsx(sa,{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 Th(e){return e.sourceName?.trim()||co(e.url)||e.title}function co(e){try{return new URL(e).hostname.replace(/^www\./i,"")}catch{return null}}function Ph({accountBaseUrl:e,billingOrganizationSlug:t,billingTeamId:s,onOpenBrowserLink:r}){const a=yl({accountBaseUrl:e,organizationSlug:t,teamId:s}),i=n.jsxs(n.Fragment,{children:[n.jsx(ga,{size:15}),n.jsx("span",{children:"Add credits"}),n.jsx(Sl,{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(ga,{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 _h(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 Lh({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(Oh,{attachment:a,compact:t,connection:s,onOpenAttachment:r},a.id))})}function Oh({attachment:e,compact:t,connection:s,onOpenAttachment:r}){return!t&&e.kind==="image"&&e.imagePreview?n.jsx(Fh,{attachment:e,connection:s}):n.jsx(zh,{attachment:e,onOpenAttachment:r})}function zh({attachment:e,onOpenAttachment:t}){const[s,r]=o.useState(!1),a=!!((e.filePreview||e.imagePreview)&&t),i=s?"Opening":e.lineCount!==void 0?qi(e.lineCount):null,l=n.jsxs(n.Fragment,{children:[n.jsx(Vi,{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:l}):n.jsx("span",{className:"user-message-attachment",title:e.name,children:l})}function Fh({attachment:e,connection:t}){const s=lm(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(dr,{size:24})}),n.jsx("figcaption",{children:n.jsx("span",{children:e.name})})]})}const Dh=o.memo(function(){return n.jsx("article",{className:"activity-group thinking-row","aria-live":"polite",children:n.jsx(hr,{running:!0,children:"Thinking…"})})});function Bh({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 Vt(e){return e instanceof ni&&(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 Uh(e){return(e?.messages??[]).filter(t=>t.role==="user"||t.role==="assistant").map(t=>({id:t.id,role:t.role,content:t.text,timestamp:t.createdAt}))}function qh({connection:e,presentation:t,composer:s,onOpenWork:r}){const[a,i]=o.useState(null),[l,c]=o.useState(null),[d,f]=o.useState(""),[g,y]=o.useState(""),[m,b]=o.useState(!1),[h,x]=o.useState(null),[A,v]=o.useState([]),[C,S]=o.useState([]),R=o.useRef(null);o.useEffect(()=>{let w=!0;return i(null),c(null),v([]),S([]),R.current=null,x(null),f(""),y(""),bt(e,"/v1/ponder",{method:"POST",body:"{}"}).then(F=>{w&&(i(F),x(null))}).catch(F=>{w&&x(Vt(F))}),()=>{w=!1}},[e]),o.useEffect(()=>{if(!a)return;let w=!0;const F=async()=>{try{const B=await bt(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}`);w&&c(B)}catch(B){w&&x(Vt(B))}};F();const G=window.setInterval(()=>{F()},3e3);return()=>{w=!1,window.clearInterval(G)}},[e,a]),o.useEffect(()=>{if(!a)return;let w=!0;const F=async()=>{try{const B=await bt(e,"/v1/ponder/work");w&&S(B.items)}catch(B){w&&x(Vt(B))}};F();const G=window.setInterval(()=>{F()},3e3);return()=>{w=!1,window.clearInterval(G)}},[e,a]),o.useEffect(()=>{if(!a||t!=="activity")return;R.current=null,v([]);let w=!0,F=!1;const G=async()=>{if(!F){F=!0;try{let V;do{const Ne=R.current,se=await bt(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/activity${Ne?`?after=${encodeURIComponent(Ne)}`:""}`);if(!w)return;se.items.length>0&&(v(xe=>[...xe,...se.items]),R.current=se.nextCursor),V=se.hasMore&&se.items.length>0}while(V)}catch(V){w&&x(Vt(V))}finally{F=!1}}};G();const B=window.setInterval(()=>{G()},3e3);return()=>{w=!1,window.clearInterval(B)}},[e,a,t]);async function M(w){const F=w.contentsBase64?Uint8Array.from(atob(w.contentsBase64),se=>se.charCodeAt(0)):w.text!==void 0?new TextEncoder().encode(w.text):null;if(!F)throw new Error(`Attachment ${w.name} has no content to upload.`);const G=await crypto.subtle.digest("SHA-256",F),B=btoa(String.fromCharCode(...new Uint8Array(G))),V=await bt(e,"/v1/ponder/work-inputs",{method:"POST",body:JSON.stringify({name:w.name,contentType:w.mediaType,sizeBytes:F.byteLength,sha256Base64:B})}),Ne=await fetch(V.upload.url,{method:V.upload.method,headers:V.upload.headers,body:new Blob([F],{type:w.mediaType})});if(!Ne.ok)throw new Error(`Attachment upload failed (${Ne.status})`);return bt(e,`/v1/ponder/work-inputs/${encodeURIComponent(V.input.id)}/finalize`,{method:"POST",body:"{}"})}async function N(w=[],F){const G=(F?.promptOverride??d).trim();if(!a||!G||m)return!1;b(!0);try{const B=await Promise.all(w.map(M));return await bt(e,`/v1/ponder/conversations/${encodeURIComponent(a.conversationId)}/turns`,{method:"POST",headers:{"idempotency-key":crypto.randomUUID()},body:JSON.stringify({prompt:G,attachments:B})}),f(""),x(null),!0}catch(B){return x(Vt(B)),!1}finally{b(!1)}}async function O(w,F){if(w.wait)try{await bt(e,`/v1/ponder/turns/${encodeURIComponent(w.id)}/waits/${encodeURIComponent(w.wait.id)}/resolve`,{method:"POST",body:JSON.stringify(F)}),y("")}catch(G){x(Vt(G))}}async function $(w){try{await bt(e,`/v1/ponder/turns/${encodeURIComponent(w.id)}/cancel`,{method:"POST",body:"{}"})}catch(F){x(Vt(F))}}async function z(w){const F=window.open("about:blank","_blank");try{const G=await bt(e,`/v1/ponder/work-outputs/${encodeURIComponent(w)}`);if(!G.downloadURL)throw new Error("This output is not available for download.");F?F.location.replace(G.downloadURL):window.location.assign(G.downloadURL)}catch(G){F?.close(),x(Vt(G))}}const q=!!(l?.activeTurn&&["queued","running","retry_scheduled"].includes(l.activeTurn.status)),te=Uh(l),he=t==="activity"&&A.length>0?{id:"ponder-activity",role:"activity_group",timestamp:new Date().toISOString(),activities:A.map(w=>({id:w.id,label:w.type,content:w.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:[C.length>0&&n.jsx("section",{className:"ponder-linked-work","aria-label":"Ponder Pal Work tasks",children:C.map(w=>n.jsxs("button",{type:"button",onClick:()=>r(w.conversationId),children:[n.jsx("span",{children:w.title}),n.jsx("small",{children:w.status.replaceAll("_"," ")})]},w.conversationId))}),te.map(w=>n.jsx(Hr,{message:w,connection:e},w.id)),he&&n.jsx(Hr,{message:he,connection:e}),q&&n.jsx(Dh,{}),l?.activeTurn?.wait&&n.jsxs("section",{className:"ponder-desktop-attention",children:[n.jsx("strong",{children:l.activeTurn.wait.title}),l.activeTurn.wait.kind==="approval"?n.jsxs(n.Fragment,{children:[n.jsx("button",{type:"button",onClick:()=>{O(l.activeTurn,{decision:"accepted"})},children:"Approve"}),n.jsx("button",{type:"button",onClick:()=>{O(l.activeTurn,{decision:"declined"})},children:"Decline"})]}):l.activeTurn.wait.options.length>0?l.activeTurn.wait.options.map(w=>n.jsx("button",{type:"button",onClick:()=>{O(l.activeTurn,{value:w})},children:w},w)):n.jsxs("form",{onSubmit:w=>{w.preventDefault(),O(l.activeTurn,{value:g})},children:[n.jsx("input",{"aria-label":"Response to Ponder Pal",value:g,onChange:w=>y(w.target.value)}),n.jsx("button",{type:"submit",disabled:!g.trim(),children:"Send response"})]})]}),l?.activeTurn?.outputs?.map(w=>w.downloadURL?n.jsx("a",{href:w.downloadURL,target:"_blank",rel:"noreferrer",children:w.name},w.id):n.jsx("button",{type:"button",onClick:()=>{z(w.id)},children:w.name},w.id)),h&&n.jsx(Hr,{message:{id:"ponder-error",role:"error",content:h,timestamp:new Date().toISOString()},connection:e})]}),n.jsxs("div",{className:"composer-stack dock",children:[n.jsx(Wi,{...s,experience:"chat",mode:"dock",showProjectFooter:!1,hideModelControls:!0,connection:e,prompt:d,onPromptChange:f,busy:m||!a,running:!1,submissionScopeKey:`ponder:${a?.conversationId??"loading"}`,voiceInputChannelKey:`ponder:${a?.conversationId??"loading"}`,onSubmit:(w,F,G,B)=>N(w,B?.promptOverride?{promptOverride:B.promptOverride}:void 0),onStop:()=>l?.activeTurn?$(l.activeTurn):void 0}),q&&l?.activeTurn&&n.jsx("button",{className:"ponder-stop-turn",type:"button",onClick:()=>{$(l.activeTurn)},children:"Stop response"})]})]})}const Vh=o.lazy(()=>ge(()=>import("./WorkspaceDiffPanel-B_eZE-bq.js").then(e=>e.a),__vite__mapDeps([7,1,2,3,4,5,6,8,9,10,11,12,13]),import.meta.url).then(e=>({default:e.WorkspaceDiffPanel}))),Hh=o.lazy(()=>ge(()=>import("./AppTerminalPanel-0_Ewf4wJ.js"),__vite__mapDeps([14,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),Wh=o.lazy(()=>ge(()=>import("./RightSidebarHomePanel-BksZR71F.js"),__vite__mapDeps([15,1,2,3,4,13,9,11]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Gh=o.lazy(()=>ge(()=>import("./WorkSidebarPanel-DMsXId2s.js"),__vite__mapDeps([16,1,2,3,4,5,9,11,17,18,19,6,20]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),Kh=o.lazy(()=>ge(()=>import("./NewExperienceSwitcher-DMTe3jS9.js"),__vite__mapDeps([21,1,2,3,4]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Qh=o.lazy(()=>ge(()=>import("./CollaborationTabs-SVc7oX8N.js"),__vite__mapDeps([22,1,2,3,4,23]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),Xh=o.lazy(()=>ge(()=>import("./AppsView-Ddn9R2I-.js"),__vite__mapDeps([24,1,2,3,4,25]),import.meta.url).then(e=>({default:e.AppsView}))),Jh=o.lazy(()=>ge(()=>import("./GetStartedView-BXuTBT4U.js"),__vite__mapDeps([26,1,2,6,3,4,27,5,28]),import.meta.url).then(e=>({default:e.GetStartedView}))),Yh=o.lazy(()=>ge(()=>import("./LabsRoute-di9O0XV1.js").then(e=>e.q),__vite__mapDeps([29,1,2,3,4,27,17,8,6,10,0,5,30,31]),import.meta.url).then(e=>({default:e.LabsRoute}))),Zh=o.lazy(()=>ge(()=>import("./ScheduledWorkPage-BRcVebWV.js"),__vite__mapDeps([32,1,2,3,4,33,5,6,12,11,17,18,19,9]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),ep=o.lazy(()=>ge(()=>import("./OutputsPage-DMeIKxzN.js"),__vite__mapDeps([34,1,2,3,4,5,9,17,18,19,6]),import.meta.url).then(e=>({default:e.OutputsPage}))),tp=o.lazy(()=>ge(()=>import("./ProjectsPage-V5oXwB-5.js"),__vite__mapDeps([35,1,2,3,4,17,36]),import.meta.url).then(e=>({default:e.ProjectsPage}))),ti=o.lazy(()=>ge(()=>import("./LabSkillSidebar-Cl8Sdiqc.js"),__vite__mapDeps([37,1,2,3,4,5,11,17,18,19,9,6,38]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),np=o.lazy(()=>ge(()=>import("./BrowserSidebar-j2Yyiaz-.js"),__vite__mapDeps([39,1,2,3,4,5,6,19,40]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),sp=o.lazy(()=>ge(()=>import("./RightChatPanelStack-B0y2XNdm.js"),__vite__mapDeps([41,1,2,9,3,4,42,17,18,5,19,6]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),rp=o.lazy(()=>ge(()=>import("./NativeSkillSidebar-2mgh6WV4.js"),__vite__mapDeps([43,1,2,3,4,11,44]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),ap=o.lazy(()=>ge(()=>import("./TeamChatView-DWGM8eXj.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamChatView}))),ip=o.lazy(()=>ge(()=>import("./TeamChatView-DWGM8eXj.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamChatProView}))),op=o.lazy(()=>ge(()=>import("./CommunityView-B7W1C8KG.js"),__vite__mapDeps([48,1,2,49,3,4,6,5,17,18,19,9,50]),import.meta.url).then(e=>({default:e.CommunityView}))),lp=o.lazy(()=>ge(()=>import("./TeamChatView-DWGM8eXj.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),cp=o.lazy(()=>ge(()=>import("./TeamChatView-DWGM8eXj.js"),__vite__mapDeps([45,1,2,3,4,5,6,17,18,19,9,46,47]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),up=o.lazy(()=>ge(()=>import("./TrainingDraftPanel-Q1GXOAlQ.js"),__vite__mapDeps([51,1,2,3,4,11,31]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),dp=o.lazy(()=>ge(()=>import("./MainChatThread-BaEeNsrh.js"),__vite__mapDeps([52,1,2,42,3,4,17,18,5,19,9,6]),import.meta.url).then(e=>({default:e.MainChatThread}))),fp=o.lazy(()=>ge(()=>import("./TrainingCreationPanel-C6e6zhC8.js"),__vite__mapDeps([53,1,2,3,4,31]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function mp({ponderMode:e=null,onPonderModeChange:t,experience:s,onNewExperienceChange:r,view:a,teamChat:i,community:l,bootstrap:c,runtimeEvents:d,chatMessages:f,pendingUserMessage:g,contextWindowStatus:y,goalRuntime:m,subagentRuntime:b,selectedSessionId:h,composerDraftStore:x,mainComposerFocusRequestId:A,labCloseDetailRequestId:v,labCloseDetailKind:C,sideChatTrainingLaunchRequest:S,onSideChatTrainingLaunchHandled:R,mentionApps:M,connectedAppMentions:N,profileSkills:O,selectedMentionAppId:$,busy:z,turnRunning:q,activeProvider:te,activeModel:he,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,pendingApproval:B,activeWorkspaceAppId:V,activeWorkspaceId:Ne,activeWorkspaceKind:se,projectTarget:xe,actionCatalog:X,workspaceTarget:W,connection:I,workspaceName:ue,workspaceState:de,workspaceDiff:H,workspaceBusy:le,diffBusy:L,forceChatThread:Q=!1,diffPanelOpen:D,diffPanelExpanded:be,rightPanelMode:ve,rightPanelTabRequest:et,rightChatPanels:Re,runtimeEventStore:ye,nativeSkillSidebar:U,extensionSkillSidebar:Ae,workspaceDiffPanelViewState:gn,sidebarFileOpenRequest:tt,sidebarFileBookmarks:vt,onSetSidebarFileStatus:Tt,browserConversationId:ze,terminalScope:xn,terminalTabs:k,terminalCwd:E,pendingTerminalCommand:re,terminalOpen:ke,onToggleTerminal:Se,onWorkspaceDiffPanelViewStateChange:Ie,training:oe,trainingSessions:Fe,trainingChatHandoff:we,trainingDetailTasksetId:jt,onTrainingDetailTasksetIdChange:Pt,onTrainingChatTaskSelect:Kt,onTrainingChatHandoffDismiss:Ge,onOpenSession:nt,onExperienceHandoff:fe,cloudProjects:Oe,projects:As,projectsAccountBaseUrl:bn,projectsTeamName:vn,projectTaskCounts:Es,onNewCloudProject:jn,onNewLocalProject:Rs,onNewProjectTask:yn,onToggleProjectPinned:$s,onUploadLocalProject:Qt,chatHistoryHasMore:Is=!1,chatHistoryLoading:_t=!1,onDiffPanelResizeStart:Be,canSyncWorkspace:Gn,startMessage:pr,onPayload:Ue,onError:kn,setView:qe,onOpenProfileSettings:De,onOpenProviderSettings:ot,onOpenTrainingSettings:gr,onOpenDatasetStorageSettings:xr,changeDraftProvider:Ke,changeProjectTarget:st,changeWorkspaceTarget:yt,setDraftProvider:kt,setDraftModel:Lt,onBeginNewChatWithModel:rt,changeCodexPermissionMode:Sn,changeCodexReasoningEffort:lt,changeOpenPondCommandAccessMode:Cn,resolveApproval:wn,answerCreateImproveQuestion:Kn,approveCreateImproveRun:Mn,applyCreateImproveCandidate:Nn,cancelCreateImproveRun:Qn,openCreateImprovePullRequest:Xt,pauseCreateImproveRun:An,reconcileCreateImprovePullRequest:Xn,rejectCreateImproveCandidate:Jt,resumeCreateImproveRun:Jn,reviseCreateImproveRun:Yn,setMentionedAppId:at,showToast:ne,onSaveTaskDraft:Yt,sendPrompt:$e,stopTurn:dt,syncWorkspaceLocally:br,refreshWorkspaceDiff:Ts,onToggleDiffPanelExpanded:Te,onShowDiffPanel:ct,onShowBrowserPanel:Ot,onShowTrainingDraftPanel:vr,onShowFilesPanel:Zn,onShowRightChatPanel:Zt,onAddRightChat:es,onOpenRightChatForSession:en,onLabDetailOpenChange:Ps,scheduledDetailOpen:jr,onScheduledDetailOpenChange:yr,onTerminalTabsChange:kr,onCloseRightChatPanel:Me,onCloseNativeSkillSidebar:ft,onActivateRightChatPanel:Qe,onRightChatModelChange:Ee,onRightChatPromptChange:tn,onRightChatScrollStateChange:_s,onRightChatProviderChange:Sr,onSubmitRightChat:nn,onStopRightChat:Ls,onCloseTerminal:Cr,onLoadMoreChatHistory:mt}){const[Os]=o.useState(()=>new iu),ht=h&&!xa(h)?h:null,ts=uu(ye,ht),zt=o.useMemo(()=>ht?Cl(d,ts.events):d,[ht,ts.events,d]),St=o.useMemo(()=>ht?wl(Os.project(zt),g):f,[Os,ht,g,zt,f]),[ns,En]=o.useState(null),[wr,Ce]=o.useState(0),sn=o.useRef(""),pt=o.useCallback(()=>sn.current,[]),[zs,Ft]=o.useState(null),[Xe,rn]=o.useState(null),[Ve,an]=o.useState(null),[ce,Ct]=o.useState(null),[Rn,Fs]=o.useState(null),[ss,Ds]=o.useState(null),[Je,rs]=o.useState(null),[as,is]=o.useState([]);o.useEffect(()=>{Ft(null)},[ze]);const $n=o.useMemo(()=>c?.sessions.find(j=>j.id===h)??null,[c?.sessions,h])?.currentProfile??c?.profileLibrary?.lastUsed??null,In=JSON.stringify({account:c?.account.activeProfile??null,teamId:c?.preferences.defaultTeamId??null}),Dt=Ml(c?.profileLibrary??{profiles:[]},$n)??c?.profile??null,Tn=o.useMemo(()=>Nl(Dt,c?.extensionCatalog),[c?.extensionCatalog,Dt]),on=o.useMemo(()=>Al(Dt),[Dt]),os=o.useCallback(async(j,_=h)=>{if(!I||!c)return;const ae=El(c.profileLibrary??{profiles:[]},j);if(ae)try{const ee=_&&!xa(_)?c.sessions.find(K=>K.id===_)??null:null,Y=await Ff({ref:ae,session:ee,selectProfile:K=>_e.profileSelect(I,K),patchSession:(K,xt)=>_e.patchSession(I,K,{currentProfile:xt})});let pe=c.sessions;Y.session&&(pe=pe.map(K=>K.id===Y.session.id?Y.session:K)),Ue({...c,profile:Y.selected.profile,profileLibrary:Y.selected.library,sessions:pe})}catch(ee){const Y=ee instanceof Error?ee.message:String(ee);kn(Y),ne(Y,"error")}},[c,I,kn,Ue,h,ne]);o.useEffect(()=>{if(!Rl(tt,ze))return;const{file:j,id:_}=tt;if(Ft({id:_,path:j.path}),!I)return;let ae=!1;return(j.workspaceKind==="local"?_e.workspaceFile(I,j.workspaceId,j.path).then(Y=>Y.content??""):_e.sandboxDownloadFile(I,j.workspaceId,j.path).then(Y=>{if(Y.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return Y.contents})).then(Y=>{if(ae)return;const pe=j.path.split("/").at(-1)??j.path;En({id:_,file:new File([Y],pe,{type:hp(j)})})}).catch(Y=>{ae||ne(Y instanceof Error?Y.message:String(Y),"error")}),()=>{ae=!0}},[ze,I,ne,tt]);const wt=s==="development"||s==="work"&&xe.value!=="none",ls=o.useMemo(()=>{if(s==="chat")return on;if(!wt)return[];const j=new Map(X.filter(_=>!$l(_)).map(_=>[_.id,_]));for(const _ of on)j.set(_.id,_);for(const _ of as)j.set(_.id,_);return[...j.values()]},[X,s,wt,as,on]),je=Bf(I),cs=o.useCallback(j=>{if(!j){je.activate(null);return}je.activate({runId:j.run.id,candidateId:j.candidate.id,title:j.run.objective,fileRootPath:j.fileRootPath,initialPath:j.initialPath})},[je.activate]),Pn=o.useCallback(()=>{je.selection?.initialPath&&je.openFile(je.selection.initialPath),ct()},[je.openFile,je.selection?.initialPath,ct]),Mr=o.useCallback(j=>{an(j),j&&ct()},[ct]),Nr=o.useCallback(()=>{an(null),be&&Te()},[be,Te]);o.useEffect(()=>{a!=="labs"&&an(null)},[a]);const Ar=o.useCallback((j,_)=>{const ae=Date.now(),ee=X.find(pe=>pe.id===j)??null;x.set(""),at(null),qe("chat");const Y=pe=>{if(!(pe.find(ie=>ie.id===j)??null))return!1;const xt=pe.map(ie=>ie.id===j?{...ie,label:_}:ie);return is(xt),window.requestAnimationFrame(()=>{rs({actionId:j,requestId:Math.max(Date.now(),ae+1)})}),!0};if(!I){ee?Y([ee]):ne("The Agent action catalog is still loading. Try Use again.","error");return}_e.profileCurrent(I).then(pe=>{const K=pe.actionCatalog.map(xt=>Il(xt));!Y(K)&&ee?Y([ee]):K.some(xt=>xt.id===j)||ne("This Agent is ready, but its default chat action is unavailable.","error")}).catch(pe=>{ee||ne(pe instanceof Error?pe.message:String(pe),"error")})},[X,x,I,at,qe,ne]),Er=o.useCallback((j,_)=>{x.set(j),at(null),_&&Ke(_),qe("chat")},[Ke,x,at,qe]),He=o.useMemo(()=>Tl(c?.preferences),[c?.preferences]),Rr=He.training,{createAgentFromLab:us,improveAgentFromLab:$r}=qf({activeModel:he,activeProvider:te,bootstrap:c,codexPermissionMode:w,codexReasoningEffort:F,connection:I,onOpenRightChatForSession:en,onPayload:Ue}),Bt=o.useMemo(()=>{const j=oe.payload?.tasksets??[];return j.some(_=>_.id===Rn)?Rn:j[0]?.id??null},[Rn,oe.payload?.tasksets]),_n=a==="labs"&&Bt?`profiles/${c?.profile.activeProfile??"default"}/tasksets/${Bt}`:null,Ir=o.useMemo(()=>{if(a!=="labs"||!Bt||!oe.payload)return null;const j=oe.payload.tasksets.find(ie=>ie.id===Bt);if(!j)return null;const _=oe.payload.plans.filter(ie=>ie.tasksetId===j.id),ae=new Set(_.map(ie=>ie.id)),ee=oe.payload.jobs.filter(ie=>ae.has(ie.planId)).sort((ie,xs)=>xs.createdAt.localeCompare(ie.createdAt)),Y=ee.find(ie=>ie.id===ss)??ee[0]??null,pe=Y?_.find(ie=>ie.id===Y.planId)??null:_.sort((ie,xs)=>xs.createdAt.localeCompare(ie.createdAt))[0]??null,K=Y?oe.payload.models.find(ie=>ie.jobId===Y.id)??null:null,xt=Y?oe.payload.artifacts.filter(ie=>ie.jobId===Y.id):[];return{taskset:j,plan:pe,job:Y,lineage:K,artifacts:xt}},[Bt,ss,oe.payload,a]),Ut=o.useMemo(()=>Df(oe.payload,h),[h,oe.payload]),Ln=o.useMemo(()=>Jf(St),[St]),Us=!!m||!!Ln||!!b,Pe=a==="labs"&&!!je.selection,ln=a==="labs"&&D&&ve==="changes"&&!!Ve,qs=(a==="chat"||a==="labs")&&!!V,Tr=a==="chat"&&D&&ve==="chat"&&Re.length===0,Vs=Pl(se)?Ne??Zf(ue):null,Hs=a==="chat"&&!!Vs,Mt=Vs,ds=!!Mt||W.value==="cloud"||W.value==="hybrid",gt=o.useMemo(()=>_f({workspaceTarget:W.value,localWorkspaceId:V,sandboxSourceAvailable:ds,sandboxWorkspaceId:Mt,override:Xe}),[V,ds,Mt,Xe,W.value]),cn=gt.source,Ye=cn==="sandbox",Pr=o.useMemo(()=>cn&>.options.length>1?{value:cn,options:gt.options,onChange:rn}:null,[cn,gt.options]);o.useEffect(()=>{rn(null)},[V,ze,Mt,W.value]);const We=!ln&&(Pe||qs||Hs)&&D&&(ve==="changes"||ve==="goal"&&Us||Tr),fs=a==="chat"&&D&&ve==="browser",On=(a==="chat"||a==="labs")&&D&&ve==="chat"&&Re.length>0,un=a==="chat"&&D&&ve==="training",dn=a==="chat"&&D&&!!U,_r=a==="chat"&&D&&!!Ae,ms=a==="team"&&D&&ve==="chat"&&!!i.aiThread,hs=a==="team"&&D&&ve==="chat"&&!!i.agentConversation,fn=s==="work"&&a==="chat"&&D&&ve==="home",zn=Yi({supportedView:a==="chat"&&wt||a==="labs",open:D,hasContentPanel:We||ln||fs||On||un||dn||ms||hs||fn}),Fn=We||ln||fs||On||un||dn||ms||hs||fn||zn,ps=Fn&&ve!=="chat"&&be,Ws=c?.account.baseUrl??c?.account.activeProfile?.baseUrl??null,u=Gf({activeWorkspaceId:Ne,cloudProjects:Oe}),p=a==="chat"&&q&&!B&&Pf(St),P=Q||St.length>0||p,T=h??`draft:${a}:${se??"none"}:${Ne??V??"none"}`;sn.current=T;const Z=n.jsx(nm,{activeModel:he,activeProvider:te,busy:q,handoff:we,onDismiss:Ge,onSelectTask:Kt}),J=o.useMemo(()=>({onAnswerQuestion:Kn,onApprove:Mn,onApplyCandidate:Nn,onCancel:Qn,onOpenPullRequest:Xt,onPause:An,onReconcilePullRequest:Xn,onRejectCandidate:Jt,onResume:Jn,onRevise:Yn}),[Kn,Mn,Nn,Qn,Xt,An,Xn,Jt,Jn,Yn]),me=o.useMemo(()=>Ln?{...Ln,...J}:null,[J,Ln]),Nt=am(a,P),qt=o.useCallback(async(j=[],_=null,ae=null,ee={})=>{const Y=ee.promptOverride??x.getSnapshot(),pe=()=>{ee.preservePrompt||(x.set(""),at(null))};if(!_){const K=ae?{command:ae.id,args:Y.trim()}:ii(Y);if(K){if(!_l({id:K.command},s))return ne(`/${K.command} isn't available in ${s}.`,"info"),!1;if(K.command==="train")return j.length>0?(ne("/train uses the selected chat; add other chats from Models.","error"),!1):h?(pe(),Ct({id:Date.now(),objective:K.args.trim()||null,initialSessionIds:[h]}),qe("labs"),!0):(pe(),Ct({id:Date.now(),objective:K.args.trim()||null,initialSessionIds:[]}),qe("labs"),!0);if(!K.args&&K.command!=="skill"&&K.command!=="sync-cloud")return ne(`Add instructions after /${K.command}.`,"info"),!1;if(j.length>0)return ne(`/${K.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(K.command==="submit-issue")return Ll(N)?(Ce(ie=>ie+1),$e([],null,Ol(K.args),{clearPrompt:ee.preservePrompt?()=>{}:void 0,usageAttribution:Vr(K,ae?"composer_selection":"prompt_parse")})):(ne("Connect the GitHub app before using /submit-issue.","error"),!1);if(Yf(K)){const ie=K.command==="skill"?Of(K.args,te,c?.profile.sourcePath??null):Wa(K);return Ce(xs=>xs+1),$e([],null,ie,{clearPrompt:ee.preservePrompt?()=>{}:void 0,usageAttribution:Vr(K,ae?"composer_selection":"prompt_parse")})}return Ce(ie=>ie+1),$e([],null,Wa(K),{clearPrompt:ee.preservePrompt?()=>{}:void 0,usageAttribution:Vr(K,ae?"composer_selection":"prompt_parse")})}}return Ce(K=>K+1),$e(j,_,ee.promptOverride,{clearPrompt:ee.preservePrompt?()=>{}:void 0,displayPrompt:ee.displayPrompt,turnMetadata:ee.turnMetadata})},[he,te,se,c?.profile,N,x,s,$e,h,at,qe,ne,oe,a]),At=o.useCallback(j=>{we&&j!==we.model.modelId&&Ge(),kt(te),Lt(j)},[te,Ge,Lt,kt,we]),it=o.useCallback(j=>{we&&j!==we.model.providerId&&Ge(),Ke(j)},[Ke,Ge,we]),{chatColumnStyle:mn,chatThreadPreparingInitialScroll:Ze,chatThreadRef:uo,chatTimelineRows:fo,composerStackRef:mo,goToUserMessage:oa,handleChatScroll:ho,jumpToLatestChatMessage:po,showScrollToBottomButton:go,userMessageNavigation:Gs}=om({browserConversationId:ze,chatSubmissionVersion:wr,chatHistoryHasMore:Is,chatHistoryLoading:_t,chatMessages:St,onLoadMoreChatHistory:mt,pendingApproval:B,showChatThread:P,showThinkingIndicator:p,view:a}),gs=o.useCallback((j,_)=>{zl({conversationId:ze,href:j,explicitFile:_?.explicitFile,newTab:_?.newTab}).then(ae=>{ae&&Ot()})},[ze,Ot]),Ks=Ql({projectTargetDetail:xe.detail,projectTargetValue:xe.value,workspaceRepoPath:de?.repoPath,workspaceTargetValue:W.value}),la=o.useCallback(j=>{const _=$f(j,Ks);if(_&&I){_e.signLocalVideoUrl(I,{path:_}).then(({url:ee})=>gs(ee)).catch(ee=>{ne(ee instanceof Error?ee.message:"Could not open this video.","error")});return}const ae=fi(j,{workspaceRootPath:Ks});ct(),Ft({id:Date.now(),path:ae?.path??j})},[I,gs,ct,ne,Ks]),ca=o.useCallback(async j=>{if(!I||!j.filePreview&&!j.imagePreview){ne("File content is not available for this attachment.","error");return}try{const _=j.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",ee=`Attachments/${j.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${_}`,Y={path:ee,status:"",additions:0,deletions:0,patch:"",content:null};let pe;if(j.filePreview){const K=await _e.chatAttachmentFile(I,j.filePreview);Y.content=K.content}else j.imagePreview&&(pe=(await _e.signChatAttachmentImageUrl(I,j.imagePreview)).url);ct(),Ft({id:Date.now(),path:ee,file:Y,...pe?{imageUrl:pe}:{}})}catch(_){ne(_ instanceof Error?_.message:"Could not open this attachment.","error")}},[I,ct,ne]),xo=le&&!!V&&!de,ua=je.selection?`candidate:${je.selection.runId}:${je.selection.candidateId}`:null,bo=We?n.jsx(Vh,{appId:Pe?ua:Ye?null:V,workspaceId:Pe?ua:Ye?Mt:V,workspaceKind:Pe?"local_project":Ye?null:"local_project",connection:I,runtimeEvents:zt,diff:Pe?je.diff:Ye?null:H,fileRootPath:Pe?je.selection?.fileRootPath??null:Ye?null:_n,filesWithPreview:Pe,editorPreferences:c?.preferences.editor??null,loading:Pe?je.loading:Ye?le:L||xo,openFileRequest:Pe?je.openFileRequest:zs,sidebarFileBookmarks:vt,sidebarFileSourceSessionId:h,onSetSidebarFileStatus:Tt,readOnly:Pe,sideChatTabs:Re.map(j=>({id:j.id,title:j.title,running:j.running})),sourceSwitcher:Pe?null:Pr,tabRequest:et,viewState:gn,workspaceName:Pe?je.selection?.title??"Change":Ye?ue??"Sandbox":ue,workspaceInitialized:Pe?!0:Ye?!!Mt:!!de?.initialized,workspaceError:Pe?je.error:Ye?null:de?.error??H?.error??null,expanded:be,onResizeStart:Be,onRefresh:j=>{Pe?je.refresh(j):Ts(j)},onToggleExpanded:Te,onOpenBrowser:Ot,onOpenBrowserUrl:gs,onViewStateChange:Ie,onCloseSideChat:Me,onOpenSideChat:a==="chat"?es:void 0,onSelectSideChat:j=>{Qe(j),Zt()},goalDetails:{active:ve==="goal",createRuntime:me,goalRuntime:m,subagentRuntime:b},sandboxFileSource:Ye?{sandboxId:Mt,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:Ir}):null,vo=fs?n.jsx(np,{conversationId:ze,expanded:be,onResizeStart:Be}):null,jo=ms?o.createElement(lp,{...i,key:i.aiThread?.conversationId,onResizeStart:Be}):null,yo=hs?o.createElement(cp,{...i,key:i.agentConversation?.run.id,onResizeStart:Be}):null,ko=On?n.jsx(sp,{panels:Re,runtimeEventStore:ye,actionCatalog:ls,createImproveActions:J,contextCompaction:He.contextCompaction,steerActiveResponses:He.steerActiveResponses,busy:z,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,connection:I,connectedAppMentions:N,mentionApps:M,codexPersonalSkills:c?.codexPersonalSkills??[],profileSkills:O,profileLibrary:c?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:c?.extensionCatalog??null,projectTarget:xe,providerSettings:c?.providers??null,accountBaseUrl:Ws,billingOrganizationSlug:u.organizationSlug,billingTeamId:u.teamId,showToast:ne,workspaceTarget:W,onAddChat:es,onActivatePanel:Qe,onClosePanel:Me,onCodexPermissionModeChange:Sn,onCodexReasoningEffortChange:lt,onOpenPondCommandAccessModeChange:Cn,onModelChange:Ee,onOpenAttachmentInSidebar:ca,onOpenFileInSidebar:la,onOpenProfileSettings:De,onOpenSession:nt,onProviderChange:Sr,onProviderSetupOpen:ot,onPromptChange:tn,onProfileTargetChange:(j,_)=>{os(_,j)},onScrollStateChange:_s,onProjectTargetChange:st,onResolveApproval:wn,onResizeStart:Be,onSelectFiles:Zn,onShowBrowserPanel:Ot,onStop:Ls,onSubmit:nn,onWorkspaceTargetChange:j=>{yt(j)}}):null,So=zn?n.jsx(Wh,{expanded:be,terminalOpen:ke,sideChatAvailable:a==="chat"||a==="labs",onOpenBrowser:Ot,onOpenFiles:Zn,onOpenReview:ct,onOpenSideChat:es,onOpenTrainingDraft:vr,trainingDraftAvailable:!!h,onResizeStart:Be,onToggleExpanded:Te,onToggleTerminal:Se}):null,Co=fn?n.jsx(Gh,{chatMessages:St,connection:I,contextWindowStatus:y,expanded:be,runtimeEvents:zt,sessionId:h,showToast:ne,onResizeStart:Be,onToggleExpanded:Te,onUseOutput:j=>En({id:Date.now(),file:j}),onHandoffOutput:async(j,_,ae)=>{await fe({target:j,sourceSessionId:h,output:_,prompt:Fl(_,j)}),ae&&En({id:Date.now(),file:ae})},onReviseOutput:(j,_,ae)=>{En({id:Date.now(),file:_}),x.set(`Create revision ${j.revision+1} of "${j.title}" from the attached revision ${j.revision}. Apply only this requested change:
|
|
18
18
|
|
|
19
19
|
${ae}`)},onAgentPackageInstalled:async()=>{I&&Ue(await _e.bootstrap(I))}}):null,wo=un?n.jsx(o.Suspense,{fallback:null,children:n.jsx(up,{training:oe,sessionId:h,expanded:be,onOpenTraining:()=>qe("labs"),onResizeStart:Be,onToggleExpanded:Te})}):null,Dn=yo??jo??ko??(dn&&U?n.jsx(rp,{expanded:be,skill:U,onClose:ft,onResizeStart:Be,onToggleExpanded:Te}):null)??(_r&&Ae?n.jsx(ti,{connection:I,expanded:be,selection:Ae,onClose:ft,onResizeStart:Be,onToggleExpanded:Te}):null)??(ln&&Ve?n.jsx(ti,{connection:I,expanded:be,selection:Ve,onClose:Nr,onResizeStart:Be,onToggleExpanded:Te}):null)??bo??vo??wo??Co??So,Lr=n.jsx(o.Suspense,{fallback:null,children:n.jsx(Hh,{open:ke,connection:I,scope:xn,tabs:k,onTabsChange:kr,cwd:E,appId:V,workspaceName:ue,queuedCommand:re,onClose:Cr})});return n.jsxs("main",{className:`main-pane ${Nt} ${ke?"terminal-open":""} ${Fn?"diff-open":""} ${ps?"diff-expanded":""}`,children:[a==="team"||a==="community"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(Qh,{onSelect:qe,view:a})}):null,a==="chat"&&e&&I&&c?.account.activeProfile?n.jsx(qh,{connection:I,presentation:e,composer:{contextWindowStatus:y,providerSettings:c.providers??null,provider:te,model:he,projectTarget:xe,workspaceTarget:W,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,onProviderChange:it,onProviderSetupOpen:ot,onProjectTargetChange:st,onWorkspaceTargetChange:j=>{yt(j)},onModelChange:At,onCodexPermissionModeChange:Sn,onCodexReasoningEffortChange:lt,onOpenPondCommandAccessModeChange:Cn,showToast:ne},onOpenWork:j=>{if(!bn){ne("OpenPond account URL is unavailable for this Work task.","error");return}try{gs(new URL(`/tasks/${encodeURIComponent(j)}`,bn).toString(),{newTab:!0})}catch{ne("OpenPond account URL is invalid for this Work task.","error")}}}):a==="apps"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(Xh,{account:c?.account??null,connection:I,defaultTeamId:c?.preferences.defaultTeamId??null,onToast:ne})}):a==="team"?n.jsxs(o.Suspense,{fallback:null,children:[i.teamId?n.jsx(ap,{...i}):n.jsx(ip,{}),Fn?Dn:null]}):a==="community"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(op,{...l})}):a==="get-started"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(Jh,{})}):a==="scheduled"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(Zh,{connection:I,selectedProfileKey:$n?JSON.stringify($n):null,onOpenSession:nt,detailOpen:jr,detailExpanded:be,onDetailOpenChange:yr,onDetailResizeStart:Be,onToggleDetailExpanded:Te},In)}):a==="outputs"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(ep,{connection:I,onViewChat:nt})}):a==="projects"?n.jsx(o.Suspense,{fallback:null,children:n.jsx(tp,{accountBaseUrl:bn,connection:I,onNewCloudProject:jn,onNewLocalProject:Rs,onNewTask:yn,onTogglePinned:$s,onUploadLocalProject:Qt,projects:As,taskCountByProjectId:Es,teamName:vn},In)}):a==="labs"?ps?n.jsx(o.Suspense,{fallback:null,children:Dn}):n.jsxs(n.Fragment,{children:[n.jsx(o.Suspense,{fallback:null,children:n.jsx(Yh,{account:c?.account??null,closeDetailRequestId:v,closeDetailKind:C,onNewModel:(j,_,ae)=>{Ct({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:j,learnedPreferenceReward:_,initialModelId:ae})},onUseAgent:Ar,onCreateAgent:us,onImproveAgent:$r,onDetailOpenChange:Ps,onSkillSelectionChange:Mr,onOpenRunConversation:en,onAnswerQuestion:Kn,onApplyCandidate:Nn,onApprove:Mn,onCancel:Qn,candidateReview:{diff:je.diff,error:je.error,loading:je.loading},onCandidateReviewChange:cs,onOpenPullRequest:Xt,onOpenCandidateFiles:Pn,onPause:An,onReconcilePullRequest:Xn,onRejectCandidate:Jt,onResume:Jn,onRevise:Yn,profileView:{payload:c,connection:I,onPayload:Ue,onError:kn,onToast:ne,onSkillCommand:Er},training:{training:oe,sessions:Fe,localProjects:c?.localProjects??[],connection:I,defaultModel:{providerId:te,modelId:he},onError:kn,onToast:ne,onSettingsPreferences:j=>{c&&Ue({...c,preferences:j.preferences})},onOpenTrainingSettings:gr,onOpenProviderSettings:ot,onOpenDatasetStorageSettings:xr,onOpenChat:nt,onChatWithModel:rt,onOpenTasksetFiles:Zn,launchRequest:S??ce,onLaunchHandled:j=>{if(S?.id===j){R(j);return}Ct(_=>_?.id===j?null:_)},preferences:Rr,settingsPreferences:He,providerSettings:c?.providers??null,reasoningEffort:F,selectedTasksetId:Bt,onSelectedTasksetIdChange:Fs,onSelectedTrainingJobIdChange:Ds,detailTasksetId:jt,onDetailTasksetIdChange:Pt}})}),Lr,Fn?n.jsx(o.Suspense,{fallback:null,children:Dn}):null]}):ps?n.jsx(o.Suspense,{fallback:null,children:Dn}):P?n.jsxs(n.Fragment,{children:[n.jsxs("div",{className:`chat-column ${B?"has-approval":""}`,style:mn,children:[n.jsx(o.Suspense,{fallback:null,children:n.jsx(dp,{accountBaseUrl:Ws,activeWorkspaceAppId:V,billingOrganizationSlug:u.organizationSlug,billingTeamId:u.teamId,connection:I,conversationKey:ze??"draft",creation:Ut,onOpenBrowserLink:gs,onOpenAttachmentInSidebar:ca,onOpenFileInSidebar:la,onOpenProfileSettings:De,onResolveUserQuestion:async(j,_)=>{const ae=_.action==="answer"?_.text:"Dismiss this question";if(!await $e([],null,ae,{displayPrompt:ae,turnMetadata:{userQuestionResolution:_}}))throw new Error("The question response could not be sent.")},onOpenSession:nt,onScroll:j=>ho(j.currentTarget),rows:fo,sessionId:ze,turnRunning:q,userAttachmentDisplay:te==="codex"?"compact":"full",threadRef:uo,workspaceRootPath:Ks})}),n.jsxs("div",{className:`composer-stack dock ${B?"has-approval":""}`,ref:mo,children:[Ut?n.jsx(o.Suspense,{fallback:null,children:n.jsx(fp,{compact:!0,creation:Ut,training:oe,onOpenTraining:()=>qe("labs")})}):null,Z,n.jsx(Va,{approval:B,onResolve:wn}),go&&!Ze?n.jsx(sm,{canGoNext:Gs.canGoNext,canGoPrevious:Gs.canGoPrevious,onJumpToLatest:po,onNext:()=>{Gs.canGoNext&&oa("next")},onPrevious:()=>{Gs.canGoPrevious&&oa("previous")}}):null,n.jsx(qa,{experience:s,draftStore:x,attachmentRequest:ns,mode:"dock",focusRequestId:A,mentionApps:wt?M:[],connectedAppMentions:N,profileSkills:te==="codex"?c?.codexPersonalSkills??[]:Tn,selectedMentionAppId:$,contextWindowStatus:y,goalRuntime:s!=="chat"?m:null,subagentRuntime:s!=="chat"?b:null,createImproveRuntime:wt?me:null,busy:q,running:q,steerActiveResponses:He.steerActiveResponses,taskSessionId:ht,taskEvents:zt,submissionScopeKey:T,getCurrentSubmissionScopeKey:pt,voiceInputChannelKey:`main-composer:${T}`,showProjectFooter:!1,connection:I,providerSettings:c?.providers??null,provider:te,model:he,projectTarget:xe,profileTarget:null,actionCatalog:ls,requestedAction:Je,workspaceTarget:W,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,onProviderChange:it,onProviderSetupOpen:ot,onProjectTargetChange:st,onProfileTargetChange:j=>{os(j)},onWorkspaceTargetChange:j=>{yt(j)},onModelChange:At,onCodexPermissionModeChange:Sn,onCodexReasoningEffortChange:lt,onOpenPondCommandAccessModeChange:Cn,onMentionAppSelect:at,onSaveTaskDraft:Yt,showToast:ne,onSubmit:qt,onStop:dt})]})]}),Lr,n.jsx(o.Suspense,{fallback:null,children:Dn})]}):n.jsxs(n.Fragment,{children:[n.jsxs("section",{className:"start-panel",children:[n.jsx(o.Suspense,{fallback:null,children:n.jsx(Kh,{value:e==="clean"?"ponder":s==="chat"?"chat":"work",allowPonder:!!c?.account.activeProfile,onChange:j=>{if(j==="ponder"){t?.("clean");return}t?.(null),r(j)}})}),n.jsxs("div",{className:"start-welcome",children:[n.jsx("h1",{children:pr}),Gn&&n.jsx(rm,{busy:le,onSync:()=>{br()}})]}),n.jsxs("div",{className:"composer-stack start",children:[Z,n.jsx(Va,{approval:B,onResolve:wn}),n.jsx(qa,{experience:s,draftStore:x,attachmentRequest:ns,mode:"start",autoFocus:!0,focusRequestId:A,mentionApps:wt?M:[],connectedAppMentions:N,profileSkills:te==="codex"?c?.codexPersonalSkills??[]:Tn,selectedMentionAppId:$,contextWindowStatus:y,goalRuntime:s!=="chat"?m:null,subagentRuntime:s!=="chat"?b:null,createImproveRuntime:wt?me:null,busy:q,running:q,steerActiveResponses:He.steerActiveResponses,taskSessionId:ht,taskEvents:zt,submissionScopeKey:T,getCurrentSubmissionScopeKey:pt,voiceInputChannelKey:`main-composer:${T}`,connection:I,providerSettings:c?.providers??null,provider:te,model:he,showProjectFooter:s!=="chat",projectTarget:xe,profileTarget:null,actionCatalog:ls,requestedAction:Je,workspaceTarget:W,codexPermissionMode:w,codexReasoningEffort:F,openPondCommandAccessMode:G,onProviderChange:it,onProviderSetupOpen:ot,onProjectTargetChange:st,onProfileTargetChange:j=>{os(j)},onWorkspaceTargetChange:j=>{yt(j)},onModelChange:At,onCodexPermissionModeChange:Sn,onCodexReasoningEffortChange:lt,onOpenPondCommandAccessModeChange:Cn,onMentionAppSelect:at,onSaveTaskDraft:Yt,showToast:ne,onSubmit:qt,onStop:dt})]})]}),Lr,n.jsx(o.Suspense,{fallback:null,children:Dn})]})]})}function hp(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 Ap=Object.freeze(Object.defineProperty({__proto__:null,MainPane:mp,shouldShowRightSidebarHomePanel:Yi},Symbol.toStringTag,{value:"Module"}));export{Va as A,uc as C,fc as F,dr as I,Hr as M,va as P,wc as R,Dh as T,af as a,Sc as b,of as c,hc as d,gc as e,iu as f,If as g,im as h,Np as i,Wi as j,rf as k,Mp as l,hd as m,tc as n,Ap as o,lf as r,Pf as s,uu as u};
|