openpond 0.2.15 → 0.2.16

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.
Files changed (109) hide show
  1. package/dist/app-server.d.ts +2 -0
  2. package/dist/app-server.js +1 -1
  3. package/dist/chunks/{app-layer-SSLVAUNI.js → app-layer-CFIW5CWC.js} +1 -1
  4. package/dist/chunks/{app-server-runtime-QUC4HPQU.js → app-server-runtime-TAFUJGQS.js} +1 -1
  5. package/dist/chunks/{apps-JEKTEGSW.js → apps-67PSSK6Q.js} +1 -1
  6. package/dist/chunks/{chunk-YNXFXNQM.js → chunk-3QVNGZFY.js} +1 -1
  7. package/dist/chunks/{chunk-K4ZKAHLG.js → chunk-MACBJI6D.js} +1 -1
  8. package/dist/chunks/{chunk-UOQHYTCK.js → chunk-N3KS3AJK.js} +1 -1
  9. package/dist/chunks/{chunk-ZYG2PXY2.js → chunk-OTUTSGMI.js} +1 -1
  10. package/dist/chunks/{chunk-FHBQ6OWG.js → chunk-PRA6LX2G.js} +1 -1
  11. package/dist/chunks/{chunk-VRXXKDF2.js → chunk-Q7QAKAGF.js} +1 -1
  12. package/dist/chunks/chunk-RB7BWSFJ.js +5 -0
  13. package/dist/chunks/{chunk-4E5ETWKU.js → chunk-RFPSEQO2.js} +321 -319
  14. package/dist/chunks/{chunk-JTQDNX2J.js → chunk-SKKAWYCQ.js} +1 -1
  15. package/dist/chunks/{chunk-7I73OREC.js → chunk-UQ4OBVRS.js} +1 -1
  16. package/dist/chunks/{chunk-QLZ67Y6C.js → chunk-VL3RGI55.js} +2 -2
  17. package/dist/chunks/{cli-7YSRAC4Y.js → cli-AUDD3IP5.js} +1 -1
  18. package/dist/chunks/{configuration-command-DH4ZZUKL.js → configuration-command-D66B4TXT.js} +1 -1
  19. package/dist/chunks/{core-commands-TUUSA6WB.js → core-commands-D6OHIVUG.js} +1 -1
  20. package/dist/chunks/{desktop-test-S3RME4QT.js → desktop-test-RBRWSLEM.js} +1 -1
  21. package/dist/chunks/{extension-D64BYPFY.js → extension-MP3XCX56.js} +1 -1
  22. package/dist/chunks/{help-AOVE3SSY.js → help-XVBIPQHN.js} +1 -1
  23. package/dist/chunks/{opchat-KC2FL5TT.js → opchat-NYSALH7B.js} +1 -1
  24. package/dist/chunks/{organizations-AAES2P7W.js → organizations-ZCQX3SY3.js} +1 -1
  25. package/dist/chunks/{profile-FRYWK2IE.js → profile-PFR6PWNE.js} +1 -1
  26. package/dist/chunks/{project-agent-WPW6DWK7.js → project-agent-KSMTTZYC.js} +1 -1
  27. package/dist/chunks/{sandbox-command-ZHKJZ3FJ.js → sandbox-command-MVBSIKB6.js} +1 -1
  28. package/dist/chunks/{sandbox-template-SPVQIMG5.js → sandbox-template-2OWCTKBP.js} +1 -1
  29. package/dist/chunks/{src-LYFCDA5G.js → src-7TTHR4DL.js} +1 -1
  30. package/dist/chunks/{src-AADCZ2JW.js → src-VWAWQGVE.js} +105 -105
  31. package/dist/chunks/{teams-bot-LD3QORJI.js → teams-bot-IUE3CWSW.js} +1 -1
  32. package/dist/chunks/{workspaces-P2WNCMXC.js → workspaces-EGHYKQZF.js} +1 -1
  33. package/dist/cli.js +1 -1
  34. package/dist/web/assets/{App-kwt-UxX_.js → App-BGI70Zj6.js} +3 -3
  35. package/dist/web/assets/{AppDialog-LXQo_7oW.js → AppDialog-D4siaKMi.js} +1 -1
  36. package/dist/web/assets/{AppTerminalPanel-CUqrUrkA.js → AppTerminalPanel-DSaxM9R8.js} +2 -2
  37. package/dist/web/assets/{AppsView-5J2RX301.js → AppsView-C14dtBI0.js} +1 -1
  38. package/dist/web/assets/{BrowserSidebar-mZ8RjUOr.js → BrowserSidebar-BbB0tvuH.js} +1 -1
  39. package/dist/web/assets/{CartesianChart-7x3SO8Hj.js → CartesianChart-GJVxLGBn.js} +1 -1
  40. package/dist/web/assets/{CollaborationTabs-ByC9WJqu.js → CollaborationTabs-wT2ymsi7.js} +1 -1
  41. package/dist/web/assets/{CommandMenu-CqDb2Kb2.js → CommandMenu-DLe1d-iP.js} +1 -1
  42. package/dist/web/assets/{CommunityView-BmxYkWqC.js → CommunityView-BoTn5n7e.js} +1 -1
  43. package/dist/web/assets/{ComposerCreateImproveStrip-2Tyj9KOQ.js → ComposerCreateImproveStrip-S2sXX8UJ.js} +1 -1
  44. package/dist/web/assets/{GetStartedView-1WYkmevY.js → GetStartedView-DhpWR1nb.js} +1 -1
  45. package/dist/web/assets/HostedModelLearningReview-BHboiGq4.js +1 -0
  46. package/dist/web/assets/{HostedModelLearningSettings-Brza5hSD.js → HostedModelLearningSettings-BN4bvlGK.js} +1 -1
  47. package/dist/web/assets/{LabModelVersionDetailPage-C4WtQKER.js → LabModelVersionDetailPage-B0jRK9u9.js} +1 -1
  48. package/dist/web/assets/{LabSkillSidebar-D3g6E0Ap.js → LabSkillSidebar-CoHjFsXh.js} +1 -1
  49. package/dist/web/assets/{LabsRoute-BO0yEsCR.js → LabsRoute-B5UTYHeh.js} +4 -4
  50. package/dist/web/assets/{MainChatThread-CKPR_rY0.js → MainChatThread-CcH2yLdM.js} +2 -2
  51. package/dist/web/assets/{MainPane-B8mDzSqi.js → MainPane-BT58d6eG.js} +4 -4
  52. package/dist/web/assets/{MarkdownText-D6_UI4Ly.js → MarkdownText-D43uIpOy.js} +1 -1
  53. package/dist/web/assets/{Messages-DptbENmQ.js → Messages-DarNW0e1.js} +1 -1
  54. package/dist/web/assets/{NativeSkillSidebar-CF1NTAR6.js → NativeSkillSidebar-3yNmqIFw.js} +1 -1
  55. package/dist/web/assets/{NewExperienceSwitcher-CwlpLsXW.js → NewExperienceSwitcher-Cle9jAk2.js} +1 -1
  56. package/dist/web/assets/{NewProjectDialog-Ls4K9a5S.js → NewProjectDialog-DFAGQHU5.js} +1 -1
  57. package/dist/web/assets/{OutputsPage-ClNuidPW.js → OutputsPage-BvoFsIeo.js} +1 -1
  58. package/dist/web/assets/{ProjectsPage-Sj83NsdP.js → ProjectsPage-DLo3YoMa.js} +1 -1
  59. package/dist/web/assets/{RightChatPanelStack-m5-cI0NL.js → RightChatPanelStack-B4v_t1S8.js} +1 -1
  60. package/dist/web/assets/{RightSidebarHomePanel-B--t--OJ.js → RightSidebarHomePanel-jZW_Bepf.js} +1 -1
  61. package/dist/web/assets/{ScheduledWorkPage-JVfMtGMs.js → ScheduledWorkPage-DLX-weE0.js} +1 -1
  62. package/dist/web/assets/SettingsView-Bjf1bZOw.js +9 -0
  63. package/dist/web/assets/{TeamChatView-D8ilbncz.js → TeamChatView-BqhLy7OA.js} +1 -1
  64. package/dist/web/assets/{TerminalOverlay-A6nSxm5C.js → TerminalOverlay-CJTUNqkk.js} +1 -1
  65. package/dist/web/assets/{TrainingCreationPanel-CwpnBbuN.js → TrainingCreationPanel-smGwEmo9.js} +1 -1
  66. package/dist/web/assets/{TrainingDraftPanel-B_Gh_0yq.js → TrainingDraftPanel-B2UKQHN3.js} +1 -1
  67. package/dist/web/assets/{UsageSettingsSection-qTX3k9-f.js → UsageSettingsSection-eyvYtzgi.js} +1 -1
  68. package/dist/web/assets/{WorkSidebarPanel-B-fDRRRs.js → WorkSidebarPanel-DoruAoEt.js} +1 -1
  69. package/dist/web/assets/{WorkspaceDiffPanel-CfvvifJg.js → WorkspaceDiffPanel-DeHSMDXy.js} +3 -3
  70. package/dist/web/assets/{WorkspaceEnvironmentMenu-BL6WHWLO.js → WorkspaceEnvironmentMenu-sgYQj7uK.js} +1 -1
  71. package/dist/web/assets/{WorkspaceGitDialogs-pyZQJL_2.js → WorkspaceGitDialogs-WpfoEpEk.js} +1 -1
  72. package/dist/web/assets/{WorkspaceMonacoEditor-C2cNf0UO.js → WorkspaceMonacoEditor-jqG5AL7d.js} +3 -3
  73. package/dist/web/assets/{arrow-up-right-BQv8RCGD.js → arrow-up-right-Dw1pcY62.js} +1 -1
  74. package/dist/web/assets/{chat-file-links-C3erG0P2.js → chat-file-links-BYbiaIO1.js} +1 -1
  75. package/dist/web/assets/chevron-up-DI8qm7Ek.js +1 -0
  76. package/dist/web/assets/{clipboard-BSPYX7yq.js → clipboard-Dfk4RCIt.js} +1 -1
  77. package/dist/web/assets/{cloud-upload-CJVhhG6P.js → cloud-upload-BCFuH4X6.js} +1 -1
  78. package/dist/web/assets/{cssMode-RCJXPUO-.js → cssMode-D4TD1xov.js} +1 -1
  79. package/dist/web/assets/{folder-open-2a5riVSG.js → folder-open-DvI8m5Sx.js} +1 -1
  80. package/dist/web/assets/{folder-plus-DuVvIFve.js → folder-plus-By8mYY0v.js} +1 -1
  81. package/dist/web/assets/{git-commit-horizontal-BifoV1dR.js → git-commit-horizontal-BaO4kijC.js} +1 -1
  82. package/dist/web/assets/{htmlMode-DnEOXzjT.js → htmlMode-M02_qd4A.js} +1 -1
  83. package/dist/web/assets/{index-B5RqBp_p.js → index-BvXW3YXD.js} +2 -2
  84. package/dist/web/assets/{info-BWvLCbJ2.js → info-Dc_GhhOz.js} +1 -1
  85. package/dist/web/assets/{jsonMode-DQfml7E4.js → jsonMode-DiQI8vFK.js} +1 -1
  86. package/dist/web/assets/{lspLanguageFeatures-WKs-7xHz.js → lspLanguageFeatures-tEe-JDHC.js} +1 -1
  87. package/dist/web/assets/{minimize-2-C-_iqAbt.js → minimize-2-DGtAI2xp.js} +1 -1
  88. package/dist/web/assets/{monaco.contribution-DCekL-SI.js → monaco.contribution-1SG8tKDo.js} +2 -2
  89. package/dist/web/assets/{monaco.contribution-Qc1u700n.js → monaco.contribution-4H5UNLKI.js} +2 -2
  90. package/dist/web/assets/{monaco.contribution-B5y78DUP.js → monaco.contribution-BdUm7liL.js} +2 -2
  91. package/dist/web/assets/{monaco.contribution-B29c98Aa.js → monaco.contribution-COeaSn0J.js} +2 -2
  92. package/dist/web/assets/{play-DsP3gpGK.js → play-Dm-ygxKN.js} +1 -1
  93. package/dist/web/assets/{python-CJ1QdM8L.js → python-rqeHprul.js} +1 -1
  94. package/dist/web/assets/{refresh-cw-DaASy_i0.js → refresh-cw-BIkrZ0pv.js} +1 -1
  95. package/dist/web/assets/{save-BBQ7L8VS.js → save-EdH_bDsl.js} +1 -1
  96. package/dist/web/assets/{square-DTl9YrMp.js → square-pCmN_gDj.js} +1 -1
  97. package/dist/web/assets/{toggleHighContrast-D-DNRZ-D.js → toggleHighContrast-BJSQSsib.js} +1 -1
  98. package/dist/web/assets/{tsMode-CmWbxnjM.js → tsMode-3mUrkBEX.js} +1 -1
  99. package/dist/web/assets/{upload-juEp2zRQ.js → upload-BPPE0xhi.js} +1 -1
  100. package/dist/web/assets/{useLocalAgentSchedules-DF_bIseW.js → useLocalAgentSchedules-CHOz2V-t.js} +1 -1
  101. package/dist/web/assets/{wifi-off-DrkIaS1O.js → wifi-off-217UMa2b.js} +1 -1
  102. package/dist/web/assets/{workers-LygfviY3.js → workers-T9yMlI_c.js} +1 -1
  103. package/dist/web/assets/{yaml-BIpimtDQ.js → yaml-DjGDwz3-.js} +1 -1
  104. package/dist/web/index.html +1 -1
  105. package/package.json +1 -1
  106. package/dist/chunks/chunk-6C2EXO4H.js +0 -5
  107. package/dist/web/assets/HostedModelLearningReview-DHahsQJH.js +0 -1
  108. package/dist/web/assets/SettingsView-B7FnZ-b0.js +0 -9
  109. package/dist/web/assets/chevron-up-D9MMQKU3.js +0 -1
@@ -1,10 +1,10 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-2Tyj9KOQ.js","./index-B5RqBp_p.js","./index-C5EoPZr0.css","./App-kwt-UxX_.js","./App-7h_oHCFd.css","./chat-file-links-C3erG0P2.js","./play-DsP3gpGK.js","./refresh-cw-DaASy_i0.js","./WorkspaceDiffPanel-CfvvifJg.js","./MarkdownText-D6_UI4Ly.js","./desktop-files-BQj1J-ob.js","./training-model-data-CKOkpBBL.js","./folder-open-2a5riVSG.js","./info-BWvLCbJ2.js","./minimize-2-C-_iqAbt.js","./save-BBQ7L8VS.js","./clipboard-BSPYX7yq.js","./chevron-up-D9MMQKU3.js","./AppTerminalPanel-CUqrUrkA.js","./RightSidebarHomePanel-B--t--OJ.js","./WorkSidebarPanel-B-fDRRRs.js","./cloud-upload-CJVhhG6P.js","./arrow-up-right-BQv8RCGD.js","./square-DTl9YrMp.js","./WorkSidebarPanel-Bky_Rqcx.css","./NewExperienceSwitcher-CwlpLsXW.js","./CollaborationTabs-ByC9WJqu.js","./CollaborationTabs-BfVlyLmR.css","./AppsView-5J2RX301.js","./AppsView-CzbB5pXp.css","./GetStartedView-1WYkmevY.js","./AppDialog-LXQo_7oW.js","./GetStartedView-yVmnGZPw.css","./LabsRoute-BO0yEsCR.js","./LabsRoute-C1FWCoYb.css","./training-eg6uFi3M.css","./ScheduledWorkPage-JVfMtGMs.js","./useLocalAgentSchedules-DF_bIseW.js","./OutputsPage-ClNuidPW.js","./ProjectsPage-Sj83NsdP.js","./ProjectsPage-DdG-U9ZW.css","./LabSkillSidebar-D3g6E0Ap.js","./LabSkillSidebar-CVxtS9pd.css","./BrowserSidebar-mZ8RjUOr.js","./BrowserSidebar-lNqqj4Ip.css","./RightChatPanelStack-m5-cI0NL.js","./Messages-DptbENmQ.js","./NativeSkillSidebar-CF1NTAR6.js","./NativeSkillSidebar-T8KXjnUH.css","./TeamChatView-D8ilbncz.js","./TeamChatView-dL6B0qib.css","./git-dialogs-BZDqS1eT.css","./CommunityView-BmxYkWqC.js","./wifi-off-DrkIaS1O.js","./CommunityView-CnZqWEjK.css","./TrainingDraftPanel-B_Gh_0yq.js","./MainChatThread-CKPR_rY0.js","./TrainingCreationPanel-CwpnBbuN.js"])))=>i.map(i=>d[i]);
2
- import{r as o,j as s,_ as de}from"./index-B5RqBp_p.js";import{c as qe,b as Ur,a as ua,u as da,d as fa,e as ma,s as Vs,A as ha,C as ps,P as Fn,f as Ws,g as Ln,h as Mt,i as Tr,F as Nr,j as vr,k as pa,O as ga,l as $r,B as xa,m as Ys,n as Lr,o as ba,p as va,q as ka,r as ya,t as Sa,v as $e,X as gs,w as So,x as ja,D as Vr,y as Hr,S as wa,z as Gr,E as Ca,G as jo,H as Ma,I as Ea,J as Aa,K as Dt,L as Or,M as $n,N as Wr,Q as wo,R as Ta,T as Na,U as Ia,V as Ra,W as Pa,Y as _a,Z as $a,_ as La,$ as Oa,a0 as Co,a1 as Da,a2 as Fa,a3 as za,a4 as Ba,a5 as qa,a6 as Ua,a7 as Va,a8 as Ha,a9 as Kr,aa as Ga,ab as Wa,ac as Ka,ad as Qa,ae as Xa,af as Ja,ag as Ya,ah as Za,ai as ei,aj as ti,ak as ni,al as si,am as ri,an as oi,ao as ai,ap as ii}from"./App-kwt-UxX_.js";import{C as li}from"./cloud-upload-CJVhhG6P.js";import{A as ci}from"./arrow-up-right-BQv8RCGD.js";import{T as ui,B as kr,W as yr,P as di,F as fi,C as mi,A as hi,a as Mo,r as pi,n as gi}from"./chat-file-links-C3erG0P2.js";import{S as Eo}from"./square-DTl9YrMp.js";function Ao(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const xi=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],bi=qe("arrow-down",xi);const vi=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],ki=qe("arrow-up",vi);const yi=[["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"}]],Qr=qe("at-sign",yi);const Si=[["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"}]],ji=qe("badge-check",Si);const wi=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ci=qe("ban",wi);const Mi=[["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"}]],Ei=qe("cloud-download",Mi);const Ai=[["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"}]],Ti=qe("file-headphone",Ai);const Ni=[["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"}]],Ii=qe("file-spreadsheet",Ni);const Ri=[["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"}]],Pi=qe("file-play",Ri);const _i=[["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"}]],$i=qe("image",_i);const Li=[["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"}]],Oi=qe("mic",Li);const Di=[["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"}]],Xr=qe("paperclip",Di);const Fi=[["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"}]],zi=qe("presentation",Fi);const Bi=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],qi=qe("reply",Bi),Jr=Object.freeze({events:[],messages:[]});class Ui{projection=Jr;project(t){if(t===this.projection.events)return this.projection.messages;if(!Gi(this.projection.events,t))return this.replace(t);const n=t.slice(this.projection.events.length);if(n.length===0)return this.projection={events:t,messages:this.projection.messages},this.projection.messages;const r=Vi(this.projection.messages,n);if(r)return this.projection={events:t,messages:r},r;const a=Hi(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),c=new Set(i.flatMap(f=>f.turnId?[f.turnId]:[])),d=[...this.projection.messages.filter(f=>!f.turnId||!c.has(f.turnId)),...Ur(i)];return this.projection={events:t,messages:d},d}reset(){this.projection=Jr}snapshot(){return this.projection}replace(t){const n=Ur(t);return this.projection={events:t,messages:n},n}}function Vi(e,t){if(t.length===0||e.length===0)return null;const n=e[e.length-1];if(n?.role!=="assistant"||n.createImproveRun||t.some(f=>f.name!=="assistant.delta"&&f.name!=="assistant.reasoning.delta"||f.turnId!==n.turnId||!f.output))return null;let r=n.content,a=n.reasoningContent,i=n.timestamp,c=!1,u=!1;for(const f of t)f.name==="assistant.delta"?(r=`${r??""}${f.output}`,c=!0):(a=`${a??""}${f.output}`,u=!0),i=f.timestamp;const d={...n,...c?{content:r}:{},...u?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),d]}function Hi(e,t){const n=e[t];if(!n?.turnId)return null;const r=e.findIndex(a=>a.turnId===n.turnId);return r<0?null:{eventIndex:r}}function Gi(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 Wi(e,t){const n=o.useCallback(i=>t?e.subscribeSession(t,i):()=>{},[t,e]),r=o.useCallback(()=>e.getSessionSnapshot(t),[t,e]),a=o.useSyncExternalStore(n,r,r);return o.useEffect(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),a}function Ki(e){async function t(n,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(n==="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?n==="steer"?await e.inbox.steer(a):await e.inbox.queue({prompt:a,modelRef:{providerId:e.provider,modelId:e.model},...e.provider==="codex"?ua(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:n=>t("queued",n),submitImmediateSteer:n=>t("steer",n)}}function Qi(e,t){const n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\$([a-zA-Z][a-zA-Z0-9_-]*)?$/.exec(n);if(!r||typeof r.index!="number")return null;const a=r[0].lastIndexOf("$");return a<0?null:{end:n.length,query:(r[1]??"").toLowerCase(),start:r.index+a}}function er(e){return`$${e.name}`}function Xi(e,t,n){const r=Math.max(0,Math.min(t.start,e.length)),a=Math.max(r,Math.min(t.end,e.length)),i=e.slice(0,r),c=e.slice(a),u=i&&!/\s$/.test(i)?" ":"",d=c&&/^\s/.test(c)?"":" ",f=`${u}${er(n)}${d}`;return{cursor:i.length+f.length-(c?d.length:0),value:`${i}${f}${c}`}}function Ks(e,t,n){const r=t.trim().toLowerCase(),a=e.filter(i=>i.enabled&&i.validationStatus==="valid").filter(i=>r?[i.name,i.description,i.path].join(" ").toLowerCase().includes(r):!0).sort((i,c)=>i.name.localeCompare(c.name));return typeof n=="number"&&Number.isFinite(n)?a.slice(0,Math.max(0,n)):a}function To(e,t,n){const r=t.trim().replace(/\s+/g," "),a=Ji(n,e.length);if(!r)return{value:e,cursorIndex:a};const i=e.slice(0,a),c=e.slice(a),u=i&&!/\s$/.test(i)?" ":"",d=c&&!/^\s/.test(c)?" ":"",f=`${u}${r}${d}`;return{value:`${i}${f}${c}`,cursorIndex:i.length+u.length+r.length+d.length}}function Ji(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Yi({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:n,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:c,transcript:u}){const d=To(a,u,e?a.length:n);return i(d.value),t===r?"drafted":await c(d.value)?(i(""),"submitted"):"retained"}const On=new Map,Qs=new Map,Xs=new Map;function Yr(e){for(const t of Qs.get(e)??[])t()}function Zi(e){return On.has(e)}function el(e,t){const n=Qs.get(e)??new Set;return n.add(t),Qs.set(e,n),()=>{n.delete(t),n.size===0&&Qs.delete(e)}}function No(e){On.get(e)?.controller.abort()}function tl(e,t){const n=Xs.get(e)??new Set;return n.add(t),Xs.set(e,n),()=>{n.delete(t),n.size===0&&Xs.delete(e)}}function nl(e){const t=On.get(e);if(t)return t.submitRequested=!0,!0;for(const n of Xs.get(e)??[])if(n())return!0;return!1}function sl(e,t,n={}){No(e);const r=new AbortController,a={controller:r,promise:Promise.resolve(),submitRequested:n.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(()=>{On.get(e)===a&&(On.delete(e),Yr(e))}),On.set(e,a),Yr(e),a.promise}const rl=new Set(["task.inbox","task.input","task.wait","turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved"]);function Zr(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 ol(e,t,n){const r=da(),a=fa(e),i=o.useMemo(()=>["task-inbox",a,t],[a,t]),c=!!(e&&t),u=ma({queryKey:i,enabled:c,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>Vs.taskInbox(e,t)}),[d,f]=o.useState(null),[g,w]=o.useState(null),h=`${a}:${t}`;let p;for(let v=n.length-1;v>=0;v--){const C=n[v];if(C.sessionId===t&&rl.has(C.name)){p=C.id;break}}const k=o.useCallback(async()=>{c&&await r.invalidateQueries({queryKey:i,exact:!0})},[c,r,i]);o.useEffect(()=>{k()},[k,p]),o.useEffect(()=>{const v=()=>{k()};return window.addEventListener("openpond-runtime-connected",v),()=>window.removeEventListener("openpond-runtime-connected",v)},[k]);async function S(v,C){if(!c)return!1;f({scope:h,id:v}),w(null);try{const j=await C();return await r.cancelQueries({queryKey:i,exact:!0}),r.setQueryData(i,A=>A&&{...A,inputs:[...A.inputs.filter(y=>y.id!==j.id),j].sort((y,M)=>y.sequence-M.sequence)}),k(),!0}catch(j){return w({scope:h,message:j instanceof Error?j.message:String(j)}),k(),!1}finally{f(j=>j?.scope===h&&j.id===v?null:j)}}async function N(v,C,j){if(!e||!t)return!1;const A=`openpond:task-input:${e.serverUrl}:${t}`,y=Zr(A),M=y?.body===C&&y.kind===v,O=M?y:{body:C,kind:v,request:j,key:crypto.randomUUID(),turnId:v==="steer"?u.data?.activeTurnId??null:null};if(v==="steer"&&(!O.turnId||!M&&!u.data?.acceptingInput))return w({scope:h,message:"This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it."}),k(),!1;try{sessionStorage.setItem(A,JSON.stringify(O))}catch{}const U=await S(O.key,async()=>{let F;try{F=await(v==="steer"?Vs.steerTurn(e,t,{prompt:C,expectedTurnId:O.turnId,idempotencyKey:O.key}):Vs.queueTaskInput(e,t,O.request,O.key))}catch(W){if(W instanceof ha&&W.status>=400&&W.status<500)try{sessionStorage.removeItem(A)}catch{}throw W}if(F.state==="rejected"||F.state==="cancelled"){try{sessionStorage.removeItem(A)}catch{}throw new Error(F.error??"This input was cancelled. Review your text before sending again.")}return F});if(U)try{Zr(A)?.key===O.key&&sessionStorage.removeItem(A)}catch{}return U}return{enabled:c,snapshot:u.data??null,busyId:d?.scope===h?d.id:null,error:g?.scope===h?g.message:u.error?.message??null,steer:v=>N("steer",v),queue:v=>N("queued",v.prompt,v),mutate:(v,C)=>S(v.id,()=>Vs.updateTaskInput(e,t,v.id,C)),refresh:k}}function al(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function ds(e,t=120){const n=e.trim().replace(/\s+/g," ");return n.length<=t?n:`${n.slice(0,Math.max(0,t-1)).trimEnd()}...`}function Io(e,t={}){const n=t.now??new Date().toISOString();return{createdAt:n,id:t.id??al(),prompt:e,updatedAt:n}}function Ro(e,t){return e.filter(n=>n.id!==t)}function il(e,t,n){const r=n?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Io(r)]:[])}function ll(e,t,n){return n?Ro(e,t):e}function Ir(e,t,n=[]){return e[t]??n}function cl(e,t,n,r=[]){const a=Ir(e,t,r),i=n(a);return Object.is(a,i)?e:{...e,[t]:i}}function ul({inbox:e,onRestore:t}){const[n,r]=o.useState(null),a=e.snapshot,i=a?.inputs.filter(d=>d.senderKind==="user"&&d.kind==="queued"&&d.state==="pending")??[],c=a?.inputs.filter(d=>d.state!=="cancelled"&&!i.some(f=>f.id===d.id)).slice(-8)??[],u=n?.input.sessionId===a?.sessionId?n:null;return!i.length&&!c.length&&!a?.waits.length&&!e.error?null:s.jsxs("section",{className:"task-inbox-panel","aria-label":"Task inbox",children:[e.error&&s.jsxs("p",{className:"task-inbox-error",role:"alert",children:[e.error," ",s.jsx("button",{type:"button",onClick:()=>{e.refresh()},children:"Refresh"})]}),a?.waits.map(d=>s.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&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"task-inbox-heading",children:[s.jsxs("span",{children:[i.length," queued"]}),a?.paused&&s.jsx("span",{children:"Paused — messages stay saved"}),!a?.activeTurnId&&s.jsx("button",{type:"button",disabled:!!e.busyId,onClick:()=>{e.mutate(i[0],{action:"resume",expectedRevision:i[0].revision})},children:"Resume queue"})]}),i.map(d=>s.jsx("div",{className:"task-inbox-item",children:u?.input.id===d.id?s.jsxs(s.Fragment,{children:[s.jsx("textarea",{"aria-label":"Edit queued message",value:u.body,maxLength:32e3,onChange:f=>r({...u,body:f.target.value})}),s.jsxs("div",{className:"task-inbox-actions",children:[s.jsx("button",{type:"button",disabled:!u.body.trim()||!!e.busyId,onClick:async()=>{await e.mutate(u.input,{action:"edit",expectedRevision:u.input.revision,body:u.body})&&r(null)},children:"Save changes"}),s.jsx("button",{type:"button",onClick:()=>r(null),children:"Cancel edit"})]})]}):s.jsxs(s.Fragment,{children:[s.jsx("p",{title:d.body,children:ds(d.body,220)}),s.jsxs("div",{className:"task-inbox-actions",children:[s.jsx("span",{children:d.turnId?"Starting":"Next turn"}),s.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"}),s.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>r({input:d,body:d.body}),children:"Edit"}),s.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>{e.mutate(d,{action:"cancel",expectedRevision:d.revision})},children:"Delete"})]})]})},d.id))]}),c.length>0&&s.jsxs("details",{className:"task-inbox-activity",open:c.some(d=>d.state==="rejected"||!!d.error),children:[s.jsxs("summary",{children:["Messages and delivery (",c.length,")"]}),c.map(d=>s.jsxs("div",{className:"task-inbox-item",children:[s.jsxs("div",{className:"task-inbox-heading",children:[s.jsx("span",{children:d.senderKind==="user"?"Your instruction":d.senderKind==="runtime"?"Task update":`Task ${d.senderSessionId}`}),s.jsx("span",{children:dl(d)})]}),s.jsx("p",{children:ds(d.body,320)}),d.error&&s.jsx("p",{className:"task-inbox-error",children:d.error}),(d.state==="rejected"||d.error)&&d.senderKind==="user"&&s.jsx("button",{type:"button",onClick:()=>t(d.body),children:"Use as follow-up"})]},d.id)),s.jsx("p",{className:"task-inbox-status",children:"Delivery shows when input reached a model request. It does not confirm understanding or a reply."})]})]})}function dl(e){return e.state==="pending"?"Saved · pending delivery":e.state==="included"?"Included":e.state==="resolved"?"Request finished":e.state==="rejected"?"Not delivered":"Cancelled"}function Po({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(""),d=o.useRef(null),f=o.useMemo(()=>{const g=c.trim().toLowerCase();return g?n.options.filter(w=>`${w.label} ${w.detail}`.toLowerCase().includes(g)):n.options},[c,n.options]);return o.useEffect(()=>{if(!a){u("");return}function g(h){d.current?.contains(h.target)||i(!1)}function w(h){h.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",g),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",w)}},[a]),n.options.length<=1?null:s.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:d,children:[s.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:[s.jsx("span",{children:n.label}),s.jsx(ps,{size:14})]}),a?s.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Profile",children:[s.jsx("div",{className:"composer-menu-search",children:s.jsx("input",{autoFocus:!0,value:c,placeholder:"Search profiles",onChange:g=>u(g.currentTarget.value)})}),s.jsx("div",{className:"composer-menu-items",children:f.map(g=>{const w=g.value===n.value;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":w,className:`composer-project-option ${w?"selected":""}`,onClick:()=>{r(g.value),i(!1)},children:[s.jsxs("span",{children:[s.jsx("strong",{children:g.label}),s.jsx("small",{children:g.detail})]}),w?s.jsx(Mt,{size:14}):null]},g.value)})})]}):null]})}function fl({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(!1),[d,f]=o.useState(""),g=o.useRef(null),h=n.value==="none"?"Select Project":n.label,p=n.options.find(j=>j.value===n.value)?.kind??"local",k=o.useMemo(()=>{const j=d.trim().toLowerCase();return j?n.options.filter(A=>[A.label,A.detail].filter(Boolean).some(y=>y.toLowerCase().includes(j))):n.options},[d,n.options]),S=k.filter(j=>j.kind==="local"||j.kind==="cloud"),N=k.filter(j=>j.kind==="action"),v=k.filter(j=>j.kind==="none");o.useEffect(()=>{if(!a){f(""),u(!1);return}function j(y){g.current?.contains(y.target)||i(!1)}function A(y){y.key==="Escape"&&(c?u(!1):i(!1))}return document.addEventListener("pointerdown",j),document.addEventListener("keydown",A),()=>{document.removeEventListener("pointerdown",j),document.removeEventListener("keydown",A)}},[c,a]);function C(j){const A=j.value===n.value,y=e||j.disabled,M=j.kind==="action";return s.jsxs("button",{type:"button",role:M?"menuitem":"menuitemradio","aria-checked":M?void 0:A,className:`composer-project-option ${A?"selected":""} ${j.kind}`,disabled:y,onClick:()=>{r(j.value),u(!1),i(!1)},children:[s.jsx(Rr,{kind:j.kind,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:j.label}),s.jsx("small",{children:j.detail})]}),A&&s.jsx(Mt,{size:14})]},j.value)}return s.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:g,children:[s.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${p}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(j=>!j),u(!1)},children:[s.jsx(Rr,{kind:p,size:14}),s.jsx("span",{children:h}),s.jsx(ps,{size:14})]}),a&&s.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Project",children:[s.jsx("div",{className:"composer-menu-search",children:s.jsx("input",{autoFocus:!0,value:d,placeholder:"Search projects",onChange:j=>f(j.target.value)})}),s.jsx("div",{className:"composer-menu-items",children:k.length===0?s.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):S.map(C)}),N.length>0||v.length>0?s.jsxs("div",{className:"composer-project-actions",children:[N.length>0?s.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${c?"selected":""}`,"aria-haspopup":"menu","aria-expanded":c,onClick:()=>u(j=>!j),children:[s.jsx(Fn,{size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:"New"}),s.jsx("small",{children:"Create or add a project"})]}),s.jsx(Ws,{size:14})]}):null,v.map(C)]}):null]}),a&&c?s.jsxs("div",{className:"composer-project-new-menu",role:"menu","aria-label":"New project",children:[s.jsxs("button",{type:"button",role:"menuitem",className:"composer-project-new-menu-back",onClick:()=>u(!1),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"New project"})]}),N.map(C)]}):null]})}function Rr({kind:e,size:t}){return e==="cloud"?s.jsx(Tr,{size:t}):e==="action"?s.jsx(Fn,{size:t}):s.jsx(Nr,{size:t})}function ml({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),c=o.useRef(null),u=n.value==="cloud"?"cloud":n.value==="hybrid"?"hybrid":"local",d=`${n.label}: ${n.detail}`,f=n.uploadAction??null,g=f?eo(f):null,w=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${g??f.detail}`:null,h=!!(f&&(e||n.busy||f.disabled));return o.useEffect(()=>{if(!a)return;function p(S){c.current?.contains(S.target)||i(!1)}function k(S){S.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",p),document.addEventListener("keydown",k),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",k)}},[a]),s.jsxs("div",{className:`workspace-action-control ${t==="top"?"open-up":""}`,ref:c,children:[s.jsxs("button",{type:"button",className:`workspace-action-trigger ${u} ${a?"active":""}`,disabled:e,"data-tooltip":d,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(p=>!p),children:[s.jsx(Js,{value:n.value,size:14}),s.jsx("span",{className:"workspace-target-trigger-label",children:n.label}),s.jsx(ps,{size:14})]}),f?s.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:h,"data-tooltip":w??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:s.jsx(Js,{value:f.value,size:14})}):null,a&&s.jsx("div",{className:"workspace-target-menu",role:"menu","aria-label":"Working in",children:n.options.map(p=>{const k=p.value===n.value,S=e||n.busy||p.disabled,v=eo(p)??p.detail,C=p.disabled&&p.disabledReason?p.disabledReason:`${p.label}: ${v}`;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":k,className:`workspace-target-option ${k?"selected":""} ${p.value}`,disabled:S,"data-tooltip":C,onClick:()=>{r(p.value),i(!1)},children:[s.jsx(Js,{value:p.value,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:p.label}),s.jsx("small",{children:v})]}),k&&s.jsx(Mt,{size:14})]},p.value)})})]})}function hl({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 s.jsxs("div",{className:"composer-footer composer-pinned-context",role:"group","aria-label":"Task context",children:[s.jsxs("span",{className:"composer-context-chip","aria-label":`Project: ${a}`,children:[s.jsx(Rr,{kind:r,size:14}),s.jsx("span",{children:a})]}),s.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[s.jsx(Js,{value:t.value,size:14}),s.jsx("span",{children:t.label})]})]})}function eo(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function Js({value:e,size:t}){return e==="cloud"?s.jsx(Tr,{size:t}):e==="hybrid"?s.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[s.jsx(Nr,{className:"hybrid-folder",size:t}),s.jsx(Tr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?s.jsx(li,{size:t}):s.jsx(Nr,{size:t})}function to({disabled:e,model:t,modelGroups:n,placement:r,provider:a,reasoningEffort:i,showReasoning:c,onModelSelectionChange:u,onProviderSetupOpen:d,onReasoningEffortChange:f}){const[g,w]=o.useState(!1),[h,p]=o.useState("root"),k=o.useRef(null),S=n.find(y=>y.provider===a),N=S?.options.find(y=>y.value===t),v=vr.find(y=>y.value===i)??vr[1],C=pl(N?.label??t),j=c?`${C} ${v.shortLabel??v.label}`:C,A=c?"Model and reasoning":"Model";return o.useEffect(()=>{if(!g){p("root");return}function y(O){k.current?.contains(O.target)||w(!1)}function M(O){O.key==="Escape"&&w(!1)}return document.addEventListener("pointerdown",y),document.addEventListener("keydown",M),()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",M)}},[g]),o.useEffect(()=>{!c&&h==="effort"&&p("root")},[h,c]),s.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":A,ref:k,children:[s.jsxs("button",{type:"button",className:`codex-model-trigger ${g?"active":""}`,disabled:e,"aria-label":A,"aria-haspopup":"menu","aria-expanded":g,onClick:()=>w(y=>!y),children:[s.jsx("span",{children:j}),s.jsx(ps,{size:14})]}),g&&s.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":A,children:h==="root"?s.jsxs("div",{className:"codex-model-menu-root",children:[s.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>p("provider"),children:[s.jsx("span",{children:"Provider"}),s.jsx("span",{className:"codex-model-menu-value",children:S?.label??a}),s.jsx(Ws,{size:14})]}),s.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>p("model"),children:[s.jsx("span",{children:"Model"}),s.jsx("span",{className:"codex-model-menu-value",children:N?.label??t}),s.jsx(Ws,{size:14})]}),c?s.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>p("effort"),children:[s.jsx("span",{children:"Effort"}),s.jsx("span",{className:"codex-model-menu-value",children:v.shortLabel??v.label}),s.jsx(Ws,{size:14})]}):null]}):h==="provider"?s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Provider",onClick:()=>p("root"),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"Provider"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),s.jsx("div",{className:"codex-model-menu-options",children:n.map(y=>{const M=y.provider===a;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":M,className:M?"selected":"",onClick:()=>{const O=y.options.find(U=>U.value===y.defaultModel)??y.options[0];O&&(u(y.provider,O.value),p("root"))},children:[s.jsx("span",{children:y.label}),M?s.jsx(Mt,{size:14}):null]},y.provider)})}),s.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{w(!1),d?.()},children:s.jsxs("span",{className:"codex-model-menu-option-label",children:[s.jsx(Fn,{size:13}),s.jsx("span",{children:"New Model/Provider"})]})})]}):h==="model"?s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Model",onClick:()=>p("root"),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"Model"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),s.jsxs("div",{className:"codex-model-menu-options",children:[(S?.options??[]).map(y=>{const M=y.value===t;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":M,className:M?"selected":"",onClick:()=>{u(a,y.value),p("root")},children:[s.jsx("span",{children:y.label}),M?s.jsx(Mt,{size:14}):null]},y.value)}),S?.options.length?null:s.jsx("div",{className:"codex-model-menu-empty",children:"No models from this provider"})]}),s.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{w(!1),d?.()},children:s.jsxs("span",{className:"codex-model-menu-option-label",children:[s.jsx(Fn,{size:13}),s.jsx("span",{children:"New Model/Provider"})]})})]}):s.jsxs("div",{className:"codex-model-menu-effort",children:[s.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Effort",onClick:()=>p("root"),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"Effort"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),vr.map(y=>s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":y.value===i,className:y.value===i?"selected":"",onClick:()=>{f(y.value),p("root")},children:[s.jsx("span",{children:y.label}),y.value===i?s.jsx(Mt,{size:14}):null]},y.value))]})})]})}function pl(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function gl({detailsOpen:e,goalRuntime:t,objectiveId:n,subagentRuntime:r,onToggleDetails:a}){const i=r?.activeCount?`${t.tooltip}. ${r.tooltip}`:t.tooltip;return s.jsxs("div",{className:`composer-goal-strip ${t.tone}${r?.activeCount?" has-subagents":""}`,"data-tooltip":i,children:[s.jsx("div",{className:"composer-goal-heading",children:s.jsxs("button",{type:"button",className:"composer-goal-toggle","aria-expanded":e,"aria-controls":n,onClick:a,children:[s.jsx("span",{children:t.actionLabel}),s.jsxs("span",{className:"composer-goal-toggle-meta",children:[r?s.jsx("span",{className:"composer-goal-subagent-count",children:r.label}):null,s.jsx("span",{children:t.timeLabel}),s.jsx(ps,{size:15,"aria-hidden":"true"})]})]})}),e&&s.jsxs("div",{className:"composer-goal-objective",id:n,children:[t.objective,r?s.jsx("span",{className:"composer-goal-subagent-summary",children:r.tooltip}):null]})]})}function xl({drafts:e,sendingDraftId:t,onDeleteDraft:n,onEditDraft:r,onSteerDraft:a}){return e.length===0?null:s.jsx("div",{className:"composer-steer-stack","aria-label":"Steer drafts",children:e.map(i=>{const c=t===i.id,u=ds(i.prompt);return s.jsxs("div",{className:`composer-steer-row ${c?"sending":""}`,children:[s.jsx("span",{className:"composer-steer-row-icon","aria-hidden":"true",children:s.jsx(qi,{size:13})}),s.jsx("span",{className:"composer-steer-row-text",title:i.prompt,children:u}),s.jsxs("button",{type:"button",className:"composer-steer-row-action primary",disabled:c,"aria-label":`Steer: ${ds(i.prompt,60)}`,onClick:()=>a(i.id),children:[s.jsx(ci,{size:12}),s.jsx("span",{children:c?"Sending":"Steer"})]}),s.jsx("button",{type:"button",className:"composer-steer-row-icon-button",disabled:c,"data-tooltip":"Delete steer draft","aria-label":"Delete steer draft",onClick:()=>n(i.id),children:s.jsx(ui,{size:13})}),s.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:c,"aria-label":`Edit: ${ds(i.prompt,60)}`,onClick:()=>r(i),children:s.jsx("span",{children:"Edit"})})]},i.id)})})}const bl=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,vl=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,kl=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"]),yl=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function Sl(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function jl(e){return e==="github"?kl:yl}function _o(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;wl(t);)t=t.slice(0,-1);return t}function wl(e){const t=e.at(-1);if(!t||!")]}".includes(t))return!1;const n=t===")"?"(":t==="]"?"[":"{";let r=0;for(const a of e)a===n&&(r+=1),a===t&&(r-=1);return r<0}function Cl(e){return e.replace(/\.git$/i,"")}function $o(e){try{return decodeURIComponent(e)}catch{return e}}function Ml(e){return Cl($o(e.trim()))}function Lo(e){const t=e.host.toLowerCase().replace(/^www\./,""),n=Sl(t);if(!n)return null;const r=$o(e.owner?.trim()??""),a=Ml(e.repo??"");return!r||!a||jl(n).has(r.toLowerCase())?null:{end:e.end,host:t,label:`${r}/${a}`,provider:n,repo:a,start:e.start,url:e.url,owner:r}}function El(e,t){const n=_o(e);if(!n)return null;try{const r=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),a=r.pathname.split("/").filter(Boolean);return Lo({end:t+n.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:n})}catch{return null}}function Al(e,t){const n=_o(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Lo({end:t+n.length,host:a,owner:i[0],repo:i[1],start:t,url:n})}function no(e,t,n){const r=[];t.lastIndex=0;let a;for(;a=t.exec(e);){const i=a[0]??"",c=n(i,a.index);c&&r.push(c)}return r}function Tl(e){if(!e)return[];const t=[...no(e,bl,El),...no(e,vl,Al)].sort((r,a)=>r.start-a.start||a.end-r.end),n=[];for(const r of t)n.some(a=>r.start<a.end&&r.end>a.start)||n.push(r);return n.sort((r,a)=>r.start-a.start)}const Nl=10,Il=340,Rl=320,Pl=160,_l=56;function Ct(e,t=0){const n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function Sr(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),n=Ct(t.fontSize,16),r=Ct(t.lineHeight,n*1.45),a=Ct(t.paddingTop)+Ct(t.paddingBottom),i=Ct(t.borderTopWidth)+Ct(t.borderBottomWidth),c=Ct(t.minHeight,66),u=Math.max(c,Math.ceil(r*Nl+a+i)),d=Math.max(c,Math.min(e.scrollHeight,u));e.style.height=`${d}px`,e.style.overflowY=e.scrollHeight>u?"auto":"hidden"}function jr(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=Ct(a.paddingLeft,14),c=Ct(a.paddingTop,15),u=Math.max(0,r.width-16),d=Math.min(Il,u),f=n.left-r.left+i-8,g=Math.max(8,Math.min(f,r.width-d-8)),w=Math.max(8,n.top-r.top+c+2);return{left:g,top:w,width:d}}function $l(e){const t=e.getBoundingClientRect(),n=Math.floor(t.top-_l);return{maxHeight:Math.max(Pl,Math.min(Rl,n))}}const Ll="[data-inline-token='true']",Ol="[data-inline-repo-link='true']",Dl="[data-inline-connected-app-mention='true']";function fs(e){return e instanceof HTMLElement&&e.matches(Ll)}function ms(e){return e instanceof HTMLElement&&e.matches(Ol)}function hs(e){return e instanceof HTMLElement&&e.matches(Dl)}function Zs(e,t){return Math.max(0,Math.min(e,t))}function Dn(e,t){return e?Zs(e.position,t.length):null}function Fl(e,t,n,r=!1){const a=Dn(t,n),i=Zs(e,n.length);return a===null?i:i>a||r&&i===a?i+1:i}function so(e,t,n){const r=Dn(t,n);return Zs(r===null?e:e>r?e-1:e,n.length)}function wr(e){let t="",n=null;function r(a){if(ms(a)){t+=a.dataset.repoUrl??"";return}if(hs(a)){t+=a.dataset.connectedMentionText??"";return}if(fs(a)){n=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:n}}function on(e){if(ms(e))return e.dataset.repoUrl?.length??0;if(hs(e))return e.dataset.connectedMentionText?.length??0;if(fs(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(n=>{t+=on(n)}),t}function ro(e,t,n){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(c){if(!a){if((fs(c)||ms(c)||hs(c))&&(c===t||c.contains(t))){(c!==t||n>0)&&(r+=on(c)),a=!0;return}if(fs(c)||ms(c)||hs(c)){r+=on(c);return}if(c===t){if(c.nodeType===Node.TEXT_NODE)r+=n;else{const u=Array.from(c.childNodes).slice(0,n);for(const d of u)r+=on(d)}a=!0;return}if(c.nodeType===Node.TEXT_NODE){r+=c.textContent?.length??0;return}c instanceof HTMLBRElement||c.childNodes.forEach(i)}}return i(e),a?r:null}function Cr(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const n=ro(e,t.anchorNode,t.anchorOffset),r=ro(e,t.focusNode,t.focusOffset);return n===null||r===null?null:{anchor:n,focus:r}}function oo(e,t){let n=Math.max(0,t);function r(c){const u=c.parentNode;return u?{node:u,offset:Array.prototype.indexOf.call(u.childNodes,c)}:{node:e,offset:0}}function a(c){const u=r(c);return{node:u.node,offset:u.offset+1}}function i(c){if(fs(c)||ms(c)||hs(c)){const u=on(c);return n<=0?r(c):n<=u?a(c):(n-=u,null)}if(c.nodeType===Node.TEXT_NODE){const u=c.textContent?.length??0;return n<=u?{node:c,offset:n}:(n-=u,null)}if(c instanceof HTMLBRElement)return null;for(const u of c.childNodes){const d=i(u);if(d)return d}return null}return i(e)??{node:e,offset:e.childNodes.length}}function Oo(e,t){const n=window.getSelection();if(!n)return;const r=oo(e,t.anchor),a=oo(e,t.focus);if(n.removeAllRanges(),typeof n.setBaseAndExtent=="function"){n.setBaseAndExtent(r.node,r.offset,a.node,a.offset);return}const i=document.createRange(),c=t.anchor<=t.focus,u=c?r:a,d=c?a:r;i.setStart(u.node,u.offset),i.setEnd(d.node,d.offset),n.addRange(i)}function zl(e,t){Oo(e,{anchor:t,focus:t})}function ao(e){document.execCommand("insertText",!1,e)}function Bl(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 ql(){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 io(e){const t=document.createElement("span");t.className="composer-invocation-pill",t.contentEditable="false",t.dataset.inlineToken="true";const n=document.createElement("button");n.type="button",n.className="composer-invocation-remove",n.setAttribute("aria-label",`Remove ${e.label}`),n.addEventListener("mousedown",i=>i.preventDefault()),n.addEventListener("click",i=>{i.preventDefault(),e.onRemove()});const r=document.createElement("span");r.className="composer-invocation-icon",r.setAttribute("aria-hidden","true"),r.innerHTML=Bl(e.icon),n.append(r),n.insertAdjacentHTML("beforeend",ql());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(n,a),t}function Ul(e){return e.provider==="github"?$r("github"):ga}function Vl(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 n=document.createElement("img");n.className="composer-repo-link-icon",n.src=Ul(e),n.alt="",n.draggable=!1;const r=document.createElement("span");return r.className="composer-repo-link-label",r.textContent=e.label,t.append(n,r),t}function Hl(e){return $r(e)}function Gl(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 n=document.createElement("img");n.className="composer-connected-app-mention-icon",n.src=Hl(e.provider),n.alt="",n.draggable=!1;const r=document.createElement("span");return r.className="composer-connected-app-mention-label",r.textContent=e.displayText,t.append(n,r),t}function Wl(e,t){const n=Tl(e);return t===null?n:n.filter(r=>t<=r.start||t>=r.end)}function Kl(e,t,n){const r=pa(e,t);return n===null?r:r.filter(a=>n<=a.start||n>=a.end)}function Do(e,t,n){const r=[...Wl(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),...Kl(e,n,t).map(c=>({end:c.end,kind:"connected-app",mention:c,start:c.start}))].sort((c,u)=>c.start-u.start||u.end-c.end),a=[];let i=0;for(const c of r)c.start<i||(a.push(c),i=c.end);return a}function Ql(e,t,n){return Do(e,t,n).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 Xl(e,t,n,r){const a=Dn(n,t),i=Do(t,a,r);let c=!1;function u(g){g&&e.append(document.createTextNode(g))}function d(g,w){if(!n||a===null||c||a<g||a>w){u(t.slice(g,w));return}u(t.slice(g,a)),e.append(io(n)),c=!0,u(t.slice(a,w))}e.replaceChildren();let f=0;for(const g of i)d(f,g.start),g.kind==="repo"?e.append(Vl(g.link)):e.append(Gl(g.mention)),f=g.end;d(f,t.length),n&&!c&&e.append(io(n))}const Jl=o.forwardRef(function({connectedAppMentions:t=[],disabled:n,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:u,onTokenPositionChange:d,placeholder:f,prompt:g,token:w},h){const p=o.useRef(null),S=`${w?`${w.key}:${Dn(w,g)??0}`:"none"}|${Ql(g,Dn(w,g),t)}`,N=o.useRef(null),v=g.length===0&&!w;o.useImperativeHandle(h,()=>({get element(){return p.current},getPrompt(){const y=p.current;return y?wr(y).text:g},focusAtPromptIndex(y,M){const O=p.current;if(!O)return;const U=Fl(y,w,g,M?.afterToken);O.focus(),zl(O,U),Sr(O)},resize(){Sr(p.current)}}),[g,w]),o.useLayoutEffect(()=>{const y=p.current;if(!y)return;const M=N.current!==S;N.current=S;const O=wr(y);if(M||g===""||O.text!==g||O.tokenPosition!==Dn(w,g)){const F=document.activeElement===y?Cr(y):null;Xl(y,g,w,t),y.dataset.empty=g.length===0&&!w?"true":"false",F&&Oo(y,F)}Sr(y)},[t,g,w,S]);function C(){const y=p.current;if(!y)return;const M=Cr(y)?.focus??on(y),O=wr(y),U=so(M,w,O.text);y.dataset.empty=O.text.length===0&&!w?"true":"false",d(O.tokenPosition),r(U),u(O.text,U)}function j(){C(),window.requestAnimationFrame(C)}function A(){const y=p.current;if(!y)return;const M=Cr(y)?.focus??on(y);r(so(M,w,g))}return s.jsx("div",{ref:p,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!n,suppressContentEditableWarning:!0,"data-empty":v?"true":"false","data-placeholder":f,onBeforeInput:y=>{y.nativeEvent.inputType==="insertParagraph"&&(y.preventDefault(),ao(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-S2sXX8UJ.js","./index-BvXW3YXD.js","./index-C5EoPZr0.css","./App-BGI70Zj6.js","./App-7h_oHCFd.css","./chat-file-links-BYbiaIO1.js","./play-Dm-ygxKN.js","./refresh-cw-BIkrZ0pv.js","./WorkspaceDiffPanel-DeHSMDXy.js","./MarkdownText-D43uIpOy.js","./desktop-files-BQj1J-ob.js","./training-model-data-CKOkpBBL.js","./folder-open-DvI8m5Sx.js","./info-Dc_GhhOz.js","./minimize-2-DGtAI2xp.js","./save-EdH_bDsl.js","./clipboard-Dfk4RCIt.js","./chevron-up-DI8qm7Ek.js","./AppTerminalPanel-DSaxM9R8.js","./RightSidebarHomePanel-jZW_Bepf.js","./WorkSidebarPanel-DoruAoEt.js","./cloud-upload-BCFuH4X6.js","./arrow-up-right-Dw1pcY62.js","./square-pCmN_gDj.js","./WorkSidebarPanel-Bky_Rqcx.css","./NewExperienceSwitcher-Cle9jAk2.js","./CollaborationTabs-wT2ymsi7.js","./CollaborationTabs-BfVlyLmR.css","./AppsView-C14dtBI0.js","./AppsView-CzbB5pXp.css","./GetStartedView-DhpWR1nb.js","./AppDialog-D4siaKMi.js","./GetStartedView-yVmnGZPw.css","./LabsRoute-B5UTYHeh.js","./LabsRoute-C1FWCoYb.css","./training-eg6uFi3M.css","./ScheduledWorkPage-DLX-weE0.js","./useLocalAgentSchedules-CHOz2V-t.js","./OutputsPage-BvoFsIeo.js","./ProjectsPage-DLo3YoMa.js","./ProjectsPage-DdG-U9ZW.css","./LabSkillSidebar-CoHjFsXh.js","./LabSkillSidebar-CVxtS9pd.css","./BrowserSidebar-BbB0tvuH.js","./BrowserSidebar-lNqqj4Ip.css","./RightChatPanelStack-B4v_t1S8.js","./Messages-DarNW0e1.js","./NativeSkillSidebar-3yNmqIFw.js","./NativeSkillSidebar-T8KXjnUH.css","./TeamChatView-BqhLy7OA.js","./TeamChatView-dL6B0qib.css","./git-dialogs-BZDqS1eT.css","./CommunityView-BoTn5n7e.js","./wifi-off-217UMa2b.js","./CommunityView-CnZqWEjK.css","./TrainingDraftPanel-B2UKQHN3.js","./MainChatThread-CcH2yLdM.js","./TrainingCreationPanel-smGwEmo9.js"])))=>i.map(i=>d[i]);
2
+ import{r as o,j as s,_ as de}from"./index-BvXW3YXD.js";import{c as qe,b as Ur,a as ua,u as da,d as fa,e as ma,s as Vs,A as ha,C as ps,P as Fn,f as Ws,g as Ln,h as Mt,i as Tr,F as Nr,j as vr,k as pa,O as ga,l as $r,B as xa,m as Ys,n as Lr,o as ba,p as va,q as ka,r as ya,t as Sa,v as $e,X as gs,w as So,x as ja,D as Vr,y as Hr,S as wa,z as Gr,E as Ca,G as jo,H as Ma,I as Ea,J as Aa,K as Dt,L as Or,M as $n,N as Wr,Q as wo,R as Ta,T as Na,U as Ia,V as Ra,W as Pa,Y as _a,Z as $a,_ as La,$ as Oa,a0 as Co,a1 as Da,a2 as Fa,a3 as za,a4 as Ba,a5 as qa,a6 as Ua,a7 as Va,a8 as Ha,a9 as Kr,aa as Ga,ab as Wa,ac as Ka,ad as Qa,ae as Xa,af as Ja,ag as Ya,ah as Za,ai as ei,aj as ti,ak as ni,al as si,am as ri,an as oi,ao as ai,ap as ii}from"./App-BGI70Zj6.js";import{C as li}from"./cloud-upload-BCFuH4X6.js";import{A as ci}from"./arrow-up-right-Dw1pcY62.js";import{T as ui,B as kr,W as yr,P as di,F as fi,C as mi,A as hi,a as Mo,r as pi,n as gi}from"./chat-file-links-BYbiaIO1.js";import{S as Eo}from"./square-pCmN_gDj.js";function Ao(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const xi=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],bi=qe("arrow-down",xi);const vi=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],ki=qe("arrow-up",vi);const yi=[["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"}]],Qr=qe("at-sign",yi);const Si=[["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"}]],ji=qe("badge-check",Si);const wi=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],Ci=qe("ban",wi);const Mi=[["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"}]],Ei=qe("cloud-download",Mi);const Ai=[["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"}]],Ti=qe("file-headphone",Ai);const Ni=[["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"}]],Ii=qe("file-spreadsheet",Ni);const Ri=[["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"}]],Pi=qe("file-play",Ri);const _i=[["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"}]],$i=qe("image",_i);const Li=[["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"}]],Oi=qe("mic",Li);const Di=[["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"}]],Xr=qe("paperclip",Di);const Fi=[["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"}]],zi=qe("presentation",Fi);const Bi=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],qi=qe("reply",Bi),Jr=Object.freeze({events:[],messages:[]});class Ui{projection=Jr;project(t){if(t===this.projection.events)return this.projection.messages;if(!Gi(this.projection.events,t))return this.replace(t);const n=t.slice(this.projection.events.length);if(n.length===0)return this.projection={events:t,messages:this.projection.messages},this.projection.messages;const r=Vi(this.projection.messages,n);if(r)return this.projection={events:t,messages:r},r;const a=Hi(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),c=new Set(i.flatMap(f=>f.turnId?[f.turnId]:[])),d=[...this.projection.messages.filter(f=>!f.turnId||!c.has(f.turnId)),...Ur(i)];return this.projection={events:t,messages:d},d}reset(){this.projection=Jr}snapshot(){return this.projection}replace(t){const n=Ur(t);return this.projection={events:t,messages:n},n}}function Vi(e,t){if(t.length===0||e.length===0)return null;const n=e[e.length-1];if(n?.role!=="assistant"||n.createImproveRun||t.some(f=>f.name!=="assistant.delta"&&f.name!=="assistant.reasoning.delta"||f.turnId!==n.turnId||!f.output))return null;let r=n.content,a=n.reasoningContent,i=n.timestamp,c=!1,u=!1;for(const f of t)f.name==="assistant.delta"?(r=`${r??""}${f.output}`,c=!0):(a=`${a??""}${f.output}`,u=!0),i=f.timestamp;const d={...n,...c?{content:r}:{},...u?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),d]}function Hi(e,t){const n=e[t];if(!n?.turnId)return null;const r=e.findIndex(a=>a.turnId===n.turnId);return r<0?null:{eventIndex:r}}function Gi(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 Wi(e,t){const n=o.useCallback(i=>t?e.subscribeSession(t,i):()=>{},[t,e]),r=o.useCallback(()=>e.getSessionSnapshot(t),[t,e]),a=o.useSyncExternalStore(n,r,r);return o.useEffect(()=>{if(t)return e.retainSession(t,!0),()=>e.retainSession(t,!1)},[t,e]),a}function Ki(e){async function t(n,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(n==="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?n==="steer"?await e.inbox.steer(a):await e.inbox.queue({prompt:a,modelRef:{providerId:e.provider,modelId:e.model},...e.provider==="codex"?ua(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:n=>t("queued",n),submitImmediateSteer:n=>t("steer",n)}}function Qi(e,t){const n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\$([a-zA-Z][a-zA-Z0-9_-]*)?$/.exec(n);if(!r||typeof r.index!="number")return null;const a=r[0].lastIndexOf("$");return a<0?null:{end:n.length,query:(r[1]??"").toLowerCase(),start:r.index+a}}function er(e){return`$${e.name}`}function Xi(e,t,n){const r=Math.max(0,Math.min(t.start,e.length)),a=Math.max(r,Math.min(t.end,e.length)),i=e.slice(0,r),c=e.slice(a),u=i&&!/\s$/.test(i)?" ":"",d=c&&/^\s/.test(c)?"":" ",f=`${u}${er(n)}${d}`;return{cursor:i.length+f.length-(c?d.length:0),value:`${i}${f}${c}`}}function Ks(e,t,n){const r=t.trim().toLowerCase(),a=e.filter(i=>i.enabled&&i.validationStatus==="valid").filter(i=>r?[i.name,i.description,i.path].join(" ").toLowerCase().includes(r):!0).sort((i,c)=>i.name.localeCompare(c.name));return typeof n=="number"&&Number.isFinite(n)?a.slice(0,Math.max(0,n)):a}function To(e,t,n){const r=t.trim().replace(/\s+/g," "),a=Ji(n,e.length);if(!r)return{value:e,cursorIndex:a};const i=e.slice(0,a),c=e.slice(a),u=i&&!/\s$/.test(i)?" ":"",d=c&&!/^\s/.test(c)?" ":"",f=`${u}${r}${d}`;return{value:`${i}${f}${c}`,cursorIndex:i.length+u.length+r.length+d.length}}function Ji(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Yi({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:n,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:c,transcript:u}){const d=To(a,u,e?a.length:n);return i(d.value),t===r?"drafted":await c(d.value)?(i(""),"submitted"):"retained"}const On=new Map,Qs=new Map,Xs=new Map;function Yr(e){for(const t of Qs.get(e)??[])t()}function Zi(e){return On.has(e)}function el(e,t){const n=Qs.get(e)??new Set;return n.add(t),Qs.set(e,n),()=>{n.delete(t),n.size===0&&Qs.delete(e)}}function No(e){On.get(e)?.controller.abort()}function tl(e,t){const n=Xs.get(e)??new Set;return n.add(t),Xs.set(e,n),()=>{n.delete(t),n.size===0&&Xs.delete(e)}}function nl(e){const t=On.get(e);if(t)return t.submitRequested=!0,!0;for(const n of Xs.get(e)??[])if(n())return!0;return!1}function sl(e,t,n={}){No(e);const r=new AbortController,a={controller:r,promise:Promise.resolve(),submitRequested:n.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(()=>{On.get(e)===a&&(On.delete(e),Yr(e))}),On.set(e,a),Yr(e),a.promise}const rl=new Set(["task.inbox","task.input","task.wait","turn.started","turn.completed","turn.failed","turn.interrupted","approval.requested","approval.resolved"]);function Zr(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 ol(e,t,n){const r=da(),a=fa(e),i=o.useMemo(()=>["task-inbox",a,t],[a,t]),c=!!(e&&t),u=ma({queryKey:i,enabled:c,staleTime:0,refetchOnWindowFocus:!0,refetchOnReconnect:!0,queryFn:()=>Vs.taskInbox(e,t)}),[d,f]=o.useState(null),[g,w]=o.useState(null),h=`${a}:${t}`;let p;for(let v=n.length-1;v>=0;v--){const C=n[v];if(C.sessionId===t&&rl.has(C.name)){p=C.id;break}}const k=o.useCallback(async()=>{c&&await r.invalidateQueries({queryKey:i,exact:!0})},[c,r,i]);o.useEffect(()=>{k()},[k,p]),o.useEffect(()=>{const v=()=>{k()};return window.addEventListener("openpond-runtime-connected",v),()=>window.removeEventListener("openpond-runtime-connected",v)},[k]);async function S(v,C){if(!c)return!1;f({scope:h,id:v}),w(null);try{const j=await C();return await r.cancelQueries({queryKey:i,exact:!0}),r.setQueryData(i,A=>A&&{...A,inputs:[...A.inputs.filter(y=>y.id!==j.id),j].sort((y,M)=>y.sequence-M.sequence)}),k(),!0}catch(j){return w({scope:h,message:j instanceof Error?j.message:String(j)}),k(),!1}finally{f(j=>j?.scope===h&&j.id===v?null:j)}}async function N(v,C,j){if(!e||!t)return!1;const A=`openpond:task-input:${e.serverUrl}:${t}`,y=Zr(A),M=y?.body===C&&y.kind===v,O=M?y:{body:C,kind:v,request:j,key:crypto.randomUUID(),turnId:v==="steer"?u.data?.activeTurnId??null:null};if(v==="steer"&&(!O.turnId||!M&&!u.data?.acceptingInput))return w({scope:h,message:"This turn is no longer accepting steering. Your text is still in the composer; send it as a follow-up or queue it."}),k(),!1;try{sessionStorage.setItem(A,JSON.stringify(O))}catch{}const U=await S(O.key,async()=>{let F;try{F=await(v==="steer"?Vs.steerTurn(e,t,{prompt:C,expectedTurnId:O.turnId,idempotencyKey:O.key}):Vs.queueTaskInput(e,t,O.request,O.key))}catch(W){if(W instanceof ha&&W.status>=400&&W.status<500)try{sessionStorage.removeItem(A)}catch{}throw W}if(F.state==="rejected"||F.state==="cancelled"){try{sessionStorage.removeItem(A)}catch{}throw new Error(F.error??"This input was cancelled. Review your text before sending again.")}return F});if(U)try{Zr(A)?.key===O.key&&sessionStorage.removeItem(A)}catch{}return U}return{enabled:c,snapshot:u.data??null,busyId:d?.scope===h?d.id:null,error:g?.scope===h?g.message:u.error?.message??null,steer:v=>N("steer",v),queue:v=>N("queued",v.prompt,v),mutate:(v,C)=>S(v.id,()=>Vs.updateTaskInput(e,t,v.id,C)),refresh:k}}function al(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function ds(e,t=120){const n=e.trim().replace(/\s+/g," ");return n.length<=t?n:`${n.slice(0,Math.max(0,t-1)).trimEnd()}...`}function Io(e,t={}){const n=t.now??new Date().toISOString();return{createdAt:n,id:t.id??al(),prompt:e,updatedAt:n}}function Ro(e,t){return e.filter(n=>n.id!==t)}function il(e,t,n){const r=n?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Io(r)]:[])}function ll(e,t,n){return n?Ro(e,t):e}function Ir(e,t,n=[]){return e[t]??n}function cl(e,t,n,r=[]){const a=Ir(e,t,r),i=n(a);return Object.is(a,i)?e:{...e,[t]:i}}function ul({inbox:e,onRestore:t}){const[n,r]=o.useState(null),a=e.snapshot,i=a?.inputs.filter(d=>d.senderKind==="user"&&d.kind==="queued"&&d.state==="pending")??[],c=a?.inputs.filter(d=>d.state!=="cancelled"&&!i.some(f=>f.id===d.id)).slice(-8)??[],u=n?.input.sessionId===a?.sessionId?n:null;return!i.length&&!c.length&&!a?.waits.length&&!e.error?null:s.jsxs("section",{className:"task-inbox-panel","aria-label":"Task inbox",children:[e.error&&s.jsxs("p",{className:"task-inbox-error",role:"alert",children:[e.error," ",s.jsx("button",{type:"button",onClick:()=>{e.refresh()},children:"Refresh"})]}),a?.waits.map(d=>s.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&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"task-inbox-heading",children:[s.jsxs("span",{children:[i.length," queued"]}),a?.paused&&s.jsx("span",{children:"Paused — messages stay saved"}),!a?.activeTurnId&&s.jsx("button",{type:"button",disabled:!!e.busyId,onClick:()=>{e.mutate(i[0],{action:"resume",expectedRevision:i[0].revision})},children:"Resume queue"})]}),i.map(d=>s.jsx("div",{className:"task-inbox-item",children:u?.input.id===d.id?s.jsxs(s.Fragment,{children:[s.jsx("textarea",{"aria-label":"Edit queued message",value:u.body,maxLength:32e3,onChange:f=>r({...u,body:f.target.value})}),s.jsxs("div",{className:"task-inbox-actions",children:[s.jsx("button",{type:"button",disabled:!u.body.trim()||!!e.busyId,onClick:async()=>{await e.mutate(u.input,{action:"edit",expectedRevision:u.input.revision,body:u.body})&&r(null)},children:"Save changes"}),s.jsx("button",{type:"button",onClick:()=>r(null),children:"Cancel edit"})]})]}):s.jsxs(s.Fragment,{children:[s.jsx("p",{title:d.body,children:ds(d.body,220)}),s.jsxs("div",{className:"task-inbox-actions",children:[s.jsx("span",{children:d.turnId?"Starting":"Next turn"}),s.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"}),s.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>r({input:d,body:d.body}),children:"Edit"}),s.jsx("button",{type:"button",disabled:!!e.busyId||!!d.turnId,onClick:()=>{e.mutate(d,{action:"cancel",expectedRevision:d.revision})},children:"Delete"})]})]})},d.id))]}),c.length>0&&s.jsxs("details",{className:"task-inbox-activity",open:c.some(d=>d.state==="rejected"||!!d.error),children:[s.jsxs("summary",{children:["Messages and delivery (",c.length,")"]}),c.map(d=>s.jsxs("div",{className:"task-inbox-item",children:[s.jsxs("div",{className:"task-inbox-heading",children:[s.jsx("span",{children:d.senderKind==="user"?"Your instruction":d.senderKind==="runtime"?"Task update":`Task ${d.senderSessionId}`}),s.jsx("span",{children:dl(d)})]}),s.jsx("p",{children:ds(d.body,320)}),d.error&&s.jsx("p",{className:"task-inbox-error",children:d.error}),(d.state==="rejected"||d.error)&&d.senderKind==="user"&&s.jsx("button",{type:"button",onClick:()=>t(d.body),children:"Use as follow-up"})]},d.id)),s.jsx("p",{className:"task-inbox-status",children:"Delivery shows when input reached a model request. It does not confirm understanding or a reply."})]})]})}function dl(e){return e.state==="pending"?"Saved · pending delivery":e.state==="included"?"Included":e.state==="resolved"?"Request finished":e.state==="rejected"?"Not delivered":"Cancelled"}function Po({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(""),d=o.useRef(null),f=o.useMemo(()=>{const g=c.trim().toLowerCase();return g?n.options.filter(w=>`${w.label} ${w.detail}`.toLowerCase().includes(g)):n.options},[c,n.options]);return o.useEffect(()=>{if(!a){u("");return}function g(h){d.current?.contains(h.target)||i(!1)}function w(h){h.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",g),document.addEventListener("keydown",w),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",w)}},[a]),n.options.length<=1?null:s.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:d,children:[s.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:[s.jsx("span",{children:n.label}),s.jsx(ps,{size:14})]}),a?s.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Profile",children:[s.jsx("div",{className:"composer-menu-search",children:s.jsx("input",{autoFocus:!0,value:c,placeholder:"Search profiles",onChange:g=>u(g.currentTarget.value)})}),s.jsx("div",{className:"composer-menu-items",children:f.map(g=>{const w=g.value===n.value;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":w,className:`composer-project-option ${w?"selected":""}`,onClick:()=>{r(g.value),i(!1)},children:[s.jsxs("span",{children:[s.jsx("strong",{children:g.label}),s.jsx("small",{children:g.detail})]}),w?s.jsx(Mt,{size:14}):null]},g.value)})})]}):null]})}function fl({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(!1),[d,f]=o.useState(""),g=o.useRef(null),h=n.value==="none"?"Select Project":n.label,p=n.options.find(j=>j.value===n.value)?.kind??"local",k=o.useMemo(()=>{const j=d.trim().toLowerCase();return j?n.options.filter(A=>[A.label,A.detail].filter(Boolean).some(y=>y.toLowerCase().includes(j))):n.options},[d,n.options]),S=k.filter(j=>j.kind==="local"||j.kind==="cloud"),N=k.filter(j=>j.kind==="action"),v=k.filter(j=>j.kind==="none");o.useEffect(()=>{if(!a){f(""),u(!1);return}function j(y){g.current?.contains(y.target)||i(!1)}function A(y){y.key==="Escape"&&(c?u(!1):i(!1))}return document.addEventListener("pointerdown",j),document.addEventListener("keydown",A),()=>{document.removeEventListener("pointerdown",j),document.removeEventListener("keydown",A)}},[c,a]);function C(j){const A=j.value===n.value,y=e||j.disabled,M=j.kind==="action";return s.jsxs("button",{type:"button",role:M?"menuitem":"menuitemradio","aria-checked":M?void 0:A,className:`composer-project-option ${A?"selected":""} ${j.kind}`,disabled:y,onClick:()=>{r(j.value),u(!1),i(!1)},children:[s.jsx(Rr,{kind:j.kind,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:j.label}),s.jsx("small",{children:j.detail})]}),A&&s.jsx(Mt,{size:14})]},j.value)}return s.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:g,children:[s.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${p}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(j=>!j),u(!1)},children:[s.jsx(Rr,{kind:p,size:14}),s.jsx("span",{children:h}),s.jsx(ps,{size:14})]}),a&&s.jsxs("div",{className:"composer-project-menu",role:"menu","aria-label":"Project",children:[s.jsx("div",{className:"composer-menu-search",children:s.jsx("input",{autoFocus:!0,value:d,placeholder:"Search projects",onChange:j=>f(j.target.value)})}),s.jsx("div",{className:"composer-menu-items",children:k.length===0?s.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):S.map(C)}),N.length>0||v.length>0?s.jsxs("div",{className:"composer-project-actions",children:[N.length>0?s.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${c?"selected":""}`,"aria-haspopup":"menu","aria-expanded":c,onClick:()=>u(j=>!j),children:[s.jsx(Fn,{size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:"New"}),s.jsx("small",{children:"Create or add a project"})]}),s.jsx(Ws,{size:14})]}):null,v.map(C)]}):null]}),a&&c?s.jsxs("div",{className:"composer-project-new-menu",role:"menu","aria-label":"New project",children:[s.jsxs("button",{type:"button",role:"menuitem",className:"composer-project-new-menu-back",onClick:()=>u(!1),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"New project"})]}),N.map(C)]}):null]})}function Rr({kind:e,size:t}){return e==="cloud"?s.jsx(Tr,{size:t}):e==="action"?s.jsx(Fn,{size:t}):s.jsx(Nr,{size:t})}function ml({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),c=o.useRef(null),u=n.value==="cloud"?"cloud":n.value==="hybrid"?"hybrid":"local",d=`${n.label}: ${n.detail}`,f=n.uploadAction??null,g=f?eo(f):null,w=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${g??f.detail}`:null,h=!!(f&&(e||n.busy||f.disabled));return o.useEffect(()=>{if(!a)return;function p(S){c.current?.contains(S.target)||i(!1)}function k(S){S.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",p),document.addEventListener("keydown",k),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",k)}},[a]),s.jsxs("div",{className:`workspace-action-control ${t==="top"?"open-up":""}`,ref:c,children:[s.jsxs("button",{type:"button",className:`workspace-action-trigger ${u} ${a?"active":""}`,disabled:e,"data-tooltip":d,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(p=>!p),children:[s.jsx(Js,{value:n.value,size:14}),s.jsx("span",{className:"workspace-target-trigger-label",children:n.label}),s.jsx(ps,{size:14})]}),f?s.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:h,"data-tooltip":w??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:s.jsx(Js,{value:f.value,size:14})}):null,a&&s.jsx("div",{className:"workspace-target-menu",role:"menu","aria-label":"Working in",children:n.options.map(p=>{const k=p.value===n.value,S=e||n.busy||p.disabled,v=eo(p)??p.detail,C=p.disabled&&p.disabledReason?p.disabledReason:`${p.label}: ${v}`;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":k,className:`workspace-target-option ${k?"selected":""} ${p.value}`,disabled:S,"data-tooltip":C,onClick:()=>{r(p.value),i(!1)},children:[s.jsx(Js,{value:p.value,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:p.label}),s.jsx("small",{children:v})]}),k&&s.jsx(Mt,{size:14})]},p.value)})})]})}function hl({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 s.jsxs("div",{className:"composer-footer composer-pinned-context",role:"group","aria-label":"Task context",children:[s.jsxs("span",{className:"composer-context-chip","aria-label":`Project: ${a}`,children:[s.jsx(Rr,{kind:r,size:14}),s.jsx("span",{children:a})]}),s.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[s.jsx(Js,{value:t.value,size:14}),s.jsx("span",{children:t.label})]})]})}function eo(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function Js({value:e,size:t}){return e==="cloud"?s.jsx(Tr,{size:t}):e==="hybrid"?s.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[s.jsx(Nr,{className:"hybrid-folder",size:t}),s.jsx(Tr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?s.jsx(li,{size:t}):s.jsx(Nr,{size:t})}function to({disabled:e,model:t,modelGroups:n,placement:r,provider:a,reasoningEffort:i,showReasoning:c,onModelSelectionChange:u,onProviderSetupOpen:d,onReasoningEffortChange:f}){const[g,w]=o.useState(!1),[h,p]=o.useState("root"),k=o.useRef(null),S=n.find(y=>y.provider===a),N=S?.options.find(y=>y.value===t),v=vr.find(y=>y.value===i)??vr[1],C=pl(N?.label??t),j=c?`${C} ${v.shortLabel??v.label}`:C,A=c?"Model and reasoning":"Model";return o.useEffect(()=>{if(!g){p("root");return}function y(O){k.current?.contains(O.target)||w(!1)}function M(O){O.key==="Escape"&&w(!1)}return document.addEventListener("pointerdown",y),document.addEventListener("keydown",M),()=>{document.removeEventListener("pointerdown",y),document.removeEventListener("keydown",M)}},[g]),o.useEffect(()=>{!c&&h==="effort"&&p("root")},[h,c]),s.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":A,ref:k,children:[s.jsxs("button",{type:"button",className:`codex-model-trigger ${g?"active":""}`,disabled:e,"aria-label":A,"aria-haspopup":"menu","aria-expanded":g,onClick:()=>w(y=>!y),children:[s.jsx("span",{children:j}),s.jsx(ps,{size:14})]}),g&&s.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":A,children:h==="root"?s.jsxs("div",{className:"codex-model-menu-root",children:[s.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>p("provider"),children:[s.jsx("span",{children:"Provider"}),s.jsx("span",{className:"codex-model-menu-value",children:S?.label??a}),s.jsx(Ws,{size:14})]}),s.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>p("model"),children:[s.jsx("span",{children:"Model"}),s.jsx("span",{className:"codex-model-menu-value",children:N?.label??t}),s.jsx(Ws,{size:14})]}),c?s.jsxs("button",{type:"button",className:"codex-model-menu-row",role:"menuitem",onClick:()=>p("effort"),children:[s.jsx("span",{children:"Effort"}),s.jsx("span",{className:"codex-model-menu-value",children:v.shortLabel??v.label}),s.jsx(Ws,{size:14})]}):null]}):h==="provider"?s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Provider",onClick:()=>p("root"),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"Provider"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),s.jsx("div",{className:"codex-model-menu-options",children:n.map(y=>{const M=y.provider===a;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":M,className:M?"selected":"",onClick:()=>{const O=y.options.find(U=>U.value===y.defaultModel)??y.options[0];O&&(u(y.provider,O.value),p("root"))},children:[s.jsx("span",{children:y.label}),M?s.jsx(Mt,{size:14}):null]},y.provider)})}),s.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{w(!1),d?.()},children:s.jsxs("span",{className:"codex-model-menu-option-label",children:[s.jsx(Fn,{size:13}),s.jsx("span",{children:"New Model/Provider"})]})})]}):h==="model"?s.jsxs(s.Fragment,{children:[s.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Model",onClick:()=>p("root"),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"Model"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),s.jsxs("div",{className:"codex-model-menu-options",children:[(S?.options??[]).map(y=>{const M=y.value===t;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":M,className:M?"selected":"",onClick:()=>{u(a,y.value),p("root")},children:[s.jsx("span",{children:y.label}),M?s.jsx(Mt,{size:14}):null]},y.value)}),S?.options.length?null:s.jsx("div",{className:"codex-model-menu-empty",children:"No models from this provider"})]}),s.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{w(!1),d?.()},children:s.jsxs("span",{className:"codex-model-menu-option-label",children:[s.jsx(Fn,{size:13}),s.jsx("span",{children:"New Model/Provider"})]})})]}):s.jsxs("div",{className:"codex-model-menu-effort",children:[s.jsxs("button",{type:"button",className:"codex-model-submenu-heading","aria-label":"Back to model settings — Effort",onClick:()=>p("root"),children:[s.jsx(Ln,{size:14}),s.jsx("span",{children:"Effort"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),vr.map(y=>s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":y.value===i,className:y.value===i?"selected":"",onClick:()=>{f(y.value),p("root")},children:[s.jsx("span",{children:y.label}),y.value===i?s.jsx(Mt,{size:14}):null]},y.value))]})})]})}function pl(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function gl({detailsOpen:e,goalRuntime:t,objectiveId:n,subagentRuntime:r,onToggleDetails:a}){const i=r?.activeCount?`${t.tooltip}. ${r.tooltip}`:t.tooltip;return s.jsxs("div",{className:`composer-goal-strip ${t.tone}${r?.activeCount?" has-subagents":""}`,"data-tooltip":i,children:[s.jsx("div",{className:"composer-goal-heading",children:s.jsxs("button",{type:"button",className:"composer-goal-toggle","aria-expanded":e,"aria-controls":n,onClick:a,children:[s.jsx("span",{children:t.actionLabel}),s.jsxs("span",{className:"composer-goal-toggle-meta",children:[r?s.jsx("span",{className:"composer-goal-subagent-count",children:r.label}):null,s.jsx("span",{children:t.timeLabel}),s.jsx(ps,{size:15,"aria-hidden":"true"})]})]})}),e&&s.jsxs("div",{className:"composer-goal-objective",id:n,children:[t.objective,r?s.jsx("span",{className:"composer-goal-subagent-summary",children:r.tooltip}):null]})]})}function xl({drafts:e,sendingDraftId:t,onDeleteDraft:n,onEditDraft:r,onSteerDraft:a}){return e.length===0?null:s.jsx("div",{className:"composer-steer-stack","aria-label":"Steer drafts",children:e.map(i=>{const c=t===i.id,u=ds(i.prompt);return s.jsxs("div",{className:`composer-steer-row ${c?"sending":""}`,children:[s.jsx("span",{className:"composer-steer-row-icon","aria-hidden":"true",children:s.jsx(qi,{size:13})}),s.jsx("span",{className:"composer-steer-row-text",title:i.prompt,children:u}),s.jsxs("button",{type:"button",className:"composer-steer-row-action primary",disabled:c,"aria-label":`Steer: ${ds(i.prompt,60)}`,onClick:()=>a(i.id),children:[s.jsx(ci,{size:12}),s.jsx("span",{children:c?"Sending":"Steer"})]}),s.jsx("button",{type:"button",className:"composer-steer-row-icon-button",disabled:c,"data-tooltip":"Delete steer draft","aria-label":"Delete steer draft",onClick:()=>n(i.id),children:s.jsx(ui,{size:13})}),s.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:c,"aria-label":`Edit: ${ds(i.prompt,60)}`,onClick:()=>r(i),children:s.jsx("span",{children:"Edit"})})]},i.id)})})}const bl=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,vl=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,kl=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"]),yl=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function Sl(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function jl(e){return e==="github"?kl:yl}function _o(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;wl(t);)t=t.slice(0,-1);return t}function wl(e){const t=e.at(-1);if(!t||!")]}".includes(t))return!1;const n=t===")"?"(":t==="]"?"[":"{";let r=0;for(const a of e)a===n&&(r+=1),a===t&&(r-=1);return r<0}function Cl(e){return e.replace(/\.git$/i,"")}function $o(e){try{return decodeURIComponent(e)}catch{return e}}function Ml(e){return Cl($o(e.trim()))}function Lo(e){const t=e.host.toLowerCase().replace(/^www\./,""),n=Sl(t);if(!n)return null;const r=$o(e.owner?.trim()??""),a=Ml(e.repo??"");return!r||!a||jl(n).has(r.toLowerCase())?null:{end:e.end,host:t,label:`${r}/${a}`,provider:n,repo:a,start:e.start,url:e.url,owner:r}}function El(e,t){const n=_o(e);if(!n)return null;try{const r=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),a=r.pathname.split("/").filter(Boolean);return Lo({end:t+n.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:n})}catch{return null}}function Al(e,t){const n=_o(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Lo({end:t+n.length,host:a,owner:i[0],repo:i[1],start:t,url:n})}function no(e,t,n){const r=[];t.lastIndex=0;let a;for(;a=t.exec(e);){const i=a[0]??"",c=n(i,a.index);c&&r.push(c)}return r}function Tl(e){if(!e)return[];const t=[...no(e,bl,El),...no(e,vl,Al)].sort((r,a)=>r.start-a.start||a.end-r.end),n=[];for(const r of t)n.some(a=>r.start<a.end&&r.end>a.start)||n.push(r);return n.sort((r,a)=>r.start-a.start)}const Nl=10,Il=340,Rl=320,Pl=160,_l=56;function Ct(e,t=0){const n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function Sr(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),n=Ct(t.fontSize,16),r=Ct(t.lineHeight,n*1.45),a=Ct(t.paddingTop)+Ct(t.paddingBottom),i=Ct(t.borderTopWidth)+Ct(t.borderBottomWidth),c=Ct(t.minHeight,66),u=Math.max(c,Math.ceil(r*Nl+a+i)),d=Math.max(c,Math.min(e.scrollHeight,u));e.style.height=`${d}px`,e.style.overflowY=e.scrollHeight>u?"auto":"hidden"}function jr(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=Ct(a.paddingLeft,14),c=Ct(a.paddingTop,15),u=Math.max(0,r.width-16),d=Math.min(Il,u),f=n.left-r.left+i-8,g=Math.max(8,Math.min(f,r.width-d-8)),w=Math.max(8,n.top-r.top+c+2);return{left:g,top:w,width:d}}function $l(e){const t=e.getBoundingClientRect(),n=Math.floor(t.top-_l);return{maxHeight:Math.max(Pl,Math.min(Rl,n))}}const Ll="[data-inline-token='true']",Ol="[data-inline-repo-link='true']",Dl="[data-inline-connected-app-mention='true']";function fs(e){return e instanceof HTMLElement&&e.matches(Ll)}function ms(e){return e instanceof HTMLElement&&e.matches(Ol)}function hs(e){return e instanceof HTMLElement&&e.matches(Dl)}function Zs(e,t){return Math.max(0,Math.min(e,t))}function Dn(e,t){return e?Zs(e.position,t.length):null}function Fl(e,t,n,r=!1){const a=Dn(t,n),i=Zs(e,n.length);return a===null?i:i>a||r&&i===a?i+1:i}function so(e,t,n){const r=Dn(t,n);return Zs(r===null?e:e>r?e-1:e,n.length)}function wr(e){let t="",n=null;function r(a){if(ms(a)){t+=a.dataset.repoUrl??"";return}if(hs(a)){t+=a.dataset.connectedMentionText??"";return}if(fs(a)){n=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:n}}function on(e){if(ms(e))return e.dataset.repoUrl?.length??0;if(hs(e))return e.dataset.connectedMentionText?.length??0;if(fs(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(n=>{t+=on(n)}),t}function ro(e,t,n){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(c){if(!a){if((fs(c)||ms(c)||hs(c))&&(c===t||c.contains(t))){(c!==t||n>0)&&(r+=on(c)),a=!0;return}if(fs(c)||ms(c)||hs(c)){r+=on(c);return}if(c===t){if(c.nodeType===Node.TEXT_NODE)r+=n;else{const u=Array.from(c.childNodes).slice(0,n);for(const d of u)r+=on(d)}a=!0;return}if(c.nodeType===Node.TEXT_NODE){r+=c.textContent?.length??0;return}c instanceof HTMLBRElement||c.childNodes.forEach(i)}}return i(e),a?r:null}function Cr(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const n=ro(e,t.anchorNode,t.anchorOffset),r=ro(e,t.focusNode,t.focusOffset);return n===null||r===null?null:{anchor:n,focus:r}}function oo(e,t){let n=Math.max(0,t);function r(c){const u=c.parentNode;return u?{node:u,offset:Array.prototype.indexOf.call(u.childNodes,c)}:{node:e,offset:0}}function a(c){const u=r(c);return{node:u.node,offset:u.offset+1}}function i(c){if(fs(c)||ms(c)||hs(c)){const u=on(c);return n<=0?r(c):n<=u?a(c):(n-=u,null)}if(c.nodeType===Node.TEXT_NODE){const u=c.textContent?.length??0;return n<=u?{node:c,offset:n}:(n-=u,null)}if(c instanceof HTMLBRElement)return null;for(const u of c.childNodes){const d=i(u);if(d)return d}return null}return i(e)??{node:e,offset:e.childNodes.length}}function Oo(e,t){const n=window.getSelection();if(!n)return;const r=oo(e,t.anchor),a=oo(e,t.focus);if(n.removeAllRanges(),typeof n.setBaseAndExtent=="function"){n.setBaseAndExtent(r.node,r.offset,a.node,a.offset);return}const i=document.createRange(),c=t.anchor<=t.focus,u=c?r:a,d=c?a:r;i.setStart(u.node,u.offset),i.setEnd(d.node,d.offset),n.addRange(i)}function zl(e,t){Oo(e,{anchor:t,focus:t})}function ao(e){document.execCommand("insertText",!1,e)}function Bl(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 ql(){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 io(e){const t=document.createElement("span");t.className="composer-invocation-pill",t.contentEditable="false",t.dataset.inlineToken="true";const n=document.createElement("button");n.type="button",n.className="composer-invocation-remove",n.setAttribute("aria-label",`Remove ${e.label}`),n.addEventListener("mousedown",i=>i.preventDefault()),n.addEventListener("click",i=>{i.preventDefault(),e.onRemove()});const r=document.createElement("span");r.className="composer-invocation-icon",r.setAttribute("aria-hidden","true"),r.innerHTML=Bl(e.icon),n.append(r),n.insertAdjacentHTML("beforeend",ql());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(n,a),t}function Ul(e){return e.provider==="github"?$r("github"):ga}function Vl(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 n=document.createElement("img");n.className="composer-repo-link-icon",n.src=Ul(e),n.alt="",n.draggable=!1;const r=document.createElement("span");return r.className="composer-repo-link-label",r.textContent=e.label,t.append(n,r),t}function Hl(e){return $r(e)}function Gl(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 n=document.createElement("img");n.className="composer-connected-app-mention-icon",n.src=Hl(e.provider),n.alt="",n.draggable=!1;const r=document.createElement("span");return r.className="composer-connected-app-mention-label",r.textContent=e.displayText,t.append(n,r),t}function Wl(e,t){const n=Tl(e);return t===null?n:n.filter(r=>t<=r.start||t>=r.end)}function Kl(e,t,n){const r=pa(e,t);return n===null?r:r.filter(a=>n<=a.start||n>=a.end)}function Do(e,t,n){const r=[...Wl(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),...Kl(e,n,t).map(c=>({end:c.end,kind:"connected-app",mention:c,start:c.start}))].sort((c,u)=>c.start-u.start||u.end-c.end),a=[];let i=0;for(const c of r)c.start<i||(a.push(c),i=c.end);return a}function Ql(e,t,n){return Do(e,t,n).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 Xl(e,t,n,r){const a=Dn(n,t),i=Do(t,a,r);let c=!1;function u(g){g&&e.append(document.createTextNode(g))}function d(g,w){if(!n||a===null||c||a<g||a>w){u(t.slice(g,w));return}u(t.slice(g,a)),e.append(io(n)),c=!0,u(t.slice(a,w))}e.replaceChildren();let f=0;for(const g of i)d(f,g.start),g.kind==="repo"?e.append(Vl(g.link)):e.append(Gl(g.mention)),f=g.end;d(f,t.length),n&&!c&&e.append(io(n))}const Jl=o.forwardRef(function({connectedAppMentions:t=[],disabled:n,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:u,onTokenPositionChange:d,placeholder:f,prompt:g,token:w},h){const p=o.useRef(null),S=`${w?`${w.key}:${Dn(w,g)??0}`:"none"}|${Ql(g,Dn(w,g),t)}`,N=o.useRef(null),v=g.length===0&&!w;o.useImperativeHandle(h,()=>({get element(){return p.current},getPrompt(){const y=p.current;return y?wr(y).text:g},focusAtPromptIndex(y,M){const O=p.current;if(!O)return;const U=Fl(y,w,g,M?.afterToken);O.focus(),zl(O,U),Sr(O)},resize(){Sr(p.current)}}),[g,w]),o.useLayoutEffect(()=>{const y=p.current;if(!y)return;const M=N.current!==S;N.current=S;const O=wr(y);if(M||g===""||O.text!==g||O.tokenPosition!==Dn(w,g)){const F=document.activeElement===y?Cr(y):null;Xl(y,g,w,t),y.dataset.empty=g.length===0&&!w?"true":"false",F&&Oo(y,F)}Sr(y)},[t,g,w,S]);function C(){const y=p.current;if(!y)return;const M=Cr(y)?.focus??on(y),O=wr(y),U=so(M,w,O.text);y.dataset.empty=O.text.length===0&&!w?"true":"false",d(O.tokenPosition),r(U),u(O.text,U)}function j(){C(),window.requestAnimationFrame(C)}function A(){const y=p.current;if(!y)return;const M=Cr(y)?.focus??on(y);r(so(M,w,g))}return s.jsx("div",{ref:p,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!n,suppressContentEditableWarning:!0,"data-empty":v?"true":"false","data-placeholder":f,onBeforeInput:y=>{y.nativeEvent.inputType==="insertParagraph"&&(y.preventDefault(),ao(`
3
3
  `),j())},onInput:C,onKeyDown:y=>{a(y)},onKeyUp:A,onMouseUp:A,onPaste:y=>{y.preventDefault();const M=Array.from(y.clipboardData.files);if(M.length>0&&i){i(M);return}const O=y.clipboardData.getData("text/plain");O&&(c?.(O)||(ao(O),j()))}})});function Yl(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 Zl(e,t,n,r,a,i,c){return e==="Enter"&&(t||n)&&!r&&a==="work"&&i==="chat"&&c}function ec(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 lo(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 tc(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 nc(e){return e.kind==="command"?`${e.command.command} ${e.command.label}`:e.kind==="app-context"?e.app.name:e.kind==="skill"?er(e.skill):Lr(e.action)}function sc(e){return e.kind==="command"?va(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||ka(e.action)}function rc(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 oc(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"?er(e.skill):ba(e.action)}function ac(e){if(e.kind==="action")return ya(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(n=>n.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 ic(e){return e.kind==="files"?"files":e.kind==="folder"?"folder":e.kind==="slash"?`slash:${tc(e.item)}`:`mention:${rc(e.item)}`}function Fo(e){return e.kind==="files"?"Files and folders":e.kind==="folder"?"Local folder":e.kind==="slash"?nc(e.item):oc(e.item)}function zo(e){return e.kind==="files"?"Attach images, documents, or other files":e.kind==="folder"?"Share a bounded folder as Work input":e.kind==="slash"?sc(e.item):ac(e.item)}function lc(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0)return!0;const r=`${Fo(e)} ${zo(e)}`.toLowerCase();return n.every(a=>r.includes(a))}function cc(e,t){const n=t.trimStart(),r=n.startsWith("/")?"slash":n.startsWith("@")?"mentions":null,a=r?n.slice(1).trimStart():n,i=r?e.filter(d=>d.id===r||d.queryScope===r||d.queryScopes?.includes(r)):e;if(!a)return i;const c=i.map(d=>({...d,items:d.items.filter(f=>lc(f,a))})).filter(d=>d.items.length>0);return c.length>0?c:[{...(r?i[0]:null)??{id:"results",label:"Results"},emptyLabel:r==="slash"?"No slash commands match":r==="mentions"?"No mentions match":"No commands match",items:[]}]}function uc(e){if(e.kind==="files")return s.jsx(Xr,{size:14});if(e.kind==="folder")return s.jsx(Xr,{size:14});if(e.kind==="slash"){const n=e.item;return n.kind==="command"?n.command.id==="agent"?s.jsx(kr,{size:14}):n.command.id==="skill"?s.jsx(xa,{size:14}):s.jsx(yr,{size:14}):n.kind==="app-context"?s.jsx(Qr,{size:14}):n.kind==="skill"?s.jsx(Ys,{size:14}):lo(n.action)?s.jsx(kr,{size:14}):s.jsx(yr,{size:14})}const t=e.item;return t.kind==="connected-app"?s.jsx("img",{alt:"",className:"composer-provider-mention-icon",draggable:!1,src:$r(t.app.provider)}):t.kind==="action"?lo(t.action)?s.jsx(kr,{size:14}):s.jsx(yr,{size:14}):t.kind==="skill"?s.jsx(Ys,{size:14}):s.jsx(Qr,{size:14})}function dc(e){if(e.kind==="slash"&&e.item.kind==="app-context"||e.kind==="mention"&&e.item.kind==="app")return e.item.app.id}function Dr({ariaLabel:e,className:t="",id:n,menuIndex:r,menuRef:a,onSelect:i,onSelectIndex:c,sections:u,style:d,variant:f}){const g=o.useRef(null),w=u.reduce((p,k)=>p+k.items.length,0);o.useEffect(()=>{if(f==="add"&&r===0){const p=g.current?.closest(".composer-command-menu");p&&(p.scrollTop=0);return}g.current?.scrollIntoView({block:"nearest"})},[w,r,f]);let h=0;return s.jsx("div",{ref:a,id:n,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:u.map(p=>{const k=h;return h+=p.items.length,s.jsxs("div",{className:`composer-command-section ${p.grid?"composer-command-section-grid":""}`.trim(),role:"group","aria-label":p.label,children:[s.jsx("div",{className:"composer-command-section-title",children:p.label}),p.items.length>0?p.items.map((S,N)=>{const v=k+N,C=v===r;return s.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":dc(S),onFocus:()=>c(v),onMouseEnter:()=>c(v),onMouseDown:j=>{j.preventDefault()},onClick:()=>i(S),children:[uc(S),s.jsxs("span",{children:[s.jsx("strong",{children:Fo(S)}),s.jsx("small",{children:zo(S)})]}),f==="typed"&&C?s.jsx(Mt,{size:14}):s.jsx("span",{"aria-hidden":"true"})]},ic(S))}):s.jsx("div",{className:"composer-menu-empty",children:p.emptyLabel??"No items available"})]},p.id)})})}function fc({mentionIndex:e,items:t,onSelect:n,onSelectIndex:r,style:a}){return s.jsx(Dr,{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"&&n(i.item)},onSelectIndex:r})}function Bo(){return!!(navigator.mediaDevices&&typeof AudioContext<"u")}async function mc(e={}){if(!Bo())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}}),n=new AudioContext,r=n.createMediaStreamSource(t),a=n.createScriptProcessor(4096,1,1),i=n.createGain();i.gain.value=0;const c={audioContext:n,chunks:[],processor:a,silentGain:i,source:r,stream:t,startedAt:performance.now(),stopped:!1,onAudioLevel:e.onAudioLevel};return a.onaudioprocess=u=>{if(c.stopped)return;const d=u.inputBuffer.getChannelData(0);c.chunks.push(new Float32Array(d)),c.onAudioLevel?.(hc(d))},r.connect(a),a.connect(i),i.connect(n.destination),{stop:()=>co(c,!0),cancel:()=>co(c,!1).then(()=>{})}}function hc(e){if(e.length===0)return 0;let t=0;for(const r of e)t+=r*r;const n=Math.sqrt(t/e.length);return Math.min(1,Math.pow(n*5,.6))}async function co(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 n=Math.max(0,performance.now()-e.startedAt);if(!t)return{blob:new Blob([],{type:"audio/wav"}),durationMs:n,sampleRate:e.audioContext.sampleRate};const r=pc(e.chunks);if(r.length===0)throw new Error("No microphone audio was captured.");return{blob:gc(r,e.audioContext.sampleRate),durationMs:n,sampleRate:e.audioContext.sampleRate}}function pc(e){const t=e.reduce((a,i)=>a+i.length,0),n=new Float32Array(t);let r=0;for(const a of e)n.set(a,r),r+=a.length;return n}function gc(e,t){const a=e.length*2,i=new ArrayBuffer(44+a),c=new DataView(i);Hs(c,0,"RIFF"),c.setUint32(4,36+a,!0),Hs(c,8,"WAVE"),Hs(c,12,"fmt "),c.setUint32(16,16,!0),c.setUint16(20,1,!0),c.setUint16(22,1,!0),c.setUint32(24,t,!0),c.setUint32(28,t*1*2,!0),c.setUint16(32,2,!0),c.setUint16(34,16,!0),Hs(c,36,"data"),c.setUint32(40,a,!0);let u=44;for(const d of e){const f=Math.max(-1,Math.min(1,d));c.setInt16(u,f<0?f*32768:f*32767,!0),u+=2}return new Blob([i],{type:"audio/wav"})}function Hs(e,t,n){for(let r=0;r<n.length;r+=1)e.setUint8(t+r,n.charCodeAt(r))}const Pr=96,qo=Array.from({length:Pr},()=>0);function ls(){return[...qo]}function xc(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function bc({levels:e}){const t=o.useMemo(()=>e.length>=Pr?e.slice(-Pr):[...qo.slice(e.length),...e],[e]);return s.jsx("span",{className:"voice-recording-waveform",role:"img","aria-label":"Live microphone level",children:t.map((n,r)=>s.jsx("span",{className:"voice-recording-bar",style:{"--voice-level":n},"aria-hidden":"true"},r))})}const vc=12e4,Uo="openpond.voice.setupNoticeAcknowledged",kc="Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.";function uo({connection:e,buttonClassName:t,wrapperClassName:n="",disabled:r=!1,iconSize:a=16,language:i="en",onActiveChange:c,showToast:u,onTranscript:d,transcriptionChannelKey:f}){const g=o.useRef(null),w=o.useRef(null),h=o.useRef(e),p=o.useRef(r),k=o.useRef("idle"),S=o.useRef(!1),N=o.useRef(fo());Sa(()=>{N.current=fo()}),h.current=e,p.current=r;const[v,C]=o.useState("idle"),[j,A]=o.useState(null),[y,M]=o.useState(ls),O=o.useCallback(te=>el(f,te),[f]),U=o.useCallback(()=>Zi(f),[f]),F=o.useSyncExternalStore(O,U,U),W=F,be=v==="starting",pe=v==="recording",we=pe||F,ve=be||we;k.current=v;const X=o.useCallback(()=>{w.current!==null&&(window.clearTimeout(w.current),w.current=null)},[]),ee=o.useCallback(async()=>{X();const te=g.current;g.current=null,S.current=!1,C("idle"),M(ls()),te&&await te.cancel().catch(()=>{})},[X]),Me=o.useCallback(async(te,ne,me)=>{const ae=h.current;if(!ae)throw new Error("Voice input is still connecting.");const B=await $e.voiceTranscriptionStatus(ae,{signal:ne});if(!B.binaryPath)throw new Error(B.installHint??"Install whisper.cpp to use dictation.");const oe=await $e.transcribeVoice(ae,{audioBase64:await yc(te.blob),durationMs:Math.round(te.durationMs),language:i,mimeType:"audio/wav"},{signal:ne});ne.aborted||Promise.resolve(d(oe.text,{submit:me()})).catch(E=>{u(Mr(E),"error")})},[i,d,u]),ge=o.useCallback(()=>{No(f),A(null),M(ls())},[f]),he=o.useCallback(async(te=!1)=>{X();const ne=g.current;g.current=null,ne&&(C("idle"),A(null),M(ls()),sl(f,async(me,ae)=>{const B=await ne.stop();me.aborted||await Me(B,me,ae)},{submit:te}).catch(me=>{me instanceof DOMException&&me.name==="AbortError"||u(Mr(me),"error")}))},[X,u,Me,f]),z=o.useCallback(async()=>{if(p.current)return;if(!h.current){A("Voice input is still connecting.");return}if(!Bo()){A("Voice recording is not available in this browser.");return}A(null),C("starting");try{if(await window.openpond?.requestMicrophoneAccess?.()===!1)throw new Error("Microphone access is denied.");const me=await mc({onAudioLevel:ae=>{M(B=>xc(B,ae))}});if(g.current=me,M(ls()),C("recording"),S.current){S.current=!1,he(!0);return}w.current=window.setTimeout(()=>{he(!1)},vc)}catch(ne){A(Mr(ne)),await ee()}},[ee,he]),I=o.useCallback(()=>{if(N.current){z();return}u(kc,"info",{actionLabel:"Continue",persistent:!0,onAction:()=>{N.current=!0,Sc(),z()}})},[z,u]);return o.useEffect(()=>tl(f,()=>g.current?(he(!0),!0):k.current==="starting"?(S.current=!0,!0):!1),[he,f]),o.useEffect(()=>{c?.(ve)},[ve,c]),o.useEffect(()=>()=>c?.(!1),[c]),o.useEffect(()=>{if(!j||pe||W)return;const te=window.setTimeout(()=>A(null),7e3);return()=>window.clearTimeout(te)},[W,j,pe]),o.useEffect(()=>()=>{ee()},[ee]),s.jsxs("span",{className:`voice-input-control ${n} ${be?"starting":""} ${pe?"recording":""} ${F?"transcribing":""}`.trim(),children:[we?s.jsxs("span",{className:"voice-recording-strip",children:[s.jsx("span",{className:"sr-only",role:"status",children:F?"Transcribing audio":"Recording voice"}),s.jsx("button",{type:"button",className:"voice-recording-action cancel","aria-label":F?"Cancel transcription":"Cancel dictation",onClick:()=>{F?ge():ee()},children:s.jsx(gs,{size:15})}),F?s.jsxs(s.Fragment,{children:[s.jsxs("span",{className:"voice-transcribing-label","aria-hidden":"true",children:["Transcribing",s.jsxs("span",{className:"voice-transcribing-dots",children:[s.jsx("span",{children:"."}),s.jsx("span",{children:"."}),s.jsx("span",{children:"."})]})]}),s.jsx("span",{className:"voice-recording-action-spacer","aria-hidden":"true"})]}):s.jsxs(s.Fragment,{children:[s.jsx(bc,{levels:y}),s.jsx("button",{type:"button",className:"voice-recording-action stop","aria-label":"Stop and transcribe",onClick:()=>{he(!1)},children:s.jsx(Eo,{size:10,fill:"currentColor"})})]})]}):s.jsx("button",{type:"button",className:`voice-input-trigger ${t} ${be?"starting":""}`.trim(),"aria-label":be?"Starting dictation":"Dictate",disabled:r||W||be,onClick:I,children:s.jsx(Oi,{size:a})}),j&&!we?s.jsx("span",{className:"voice-input-status",role:"status",children:j}):null]})}async function yc(e){const t=new Uint8Array(await e.arrayBuffer());let n="";for(let r=0;r<t.length;r+=32768){const a=t.subarray(r,r+32768);n+=String.fromCharCode(...a)}return window.btoa(n)}function Mr(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 fo(){if(typeof window>"u")return!1;try{return So.getItem(Uo)==="true"}catch{return!1}}function Sc(){if(!(typeof window>"u"))try{So.setItem(Uo,"true")}catch{}}const jc=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible","setup-provider"]);function wc({surface:e="chat",teamUseModel:t=!1,teamUseModelLocked:n=!1,onTeamUseModelChange:r,addFiles:a,addMenuId:i,addMenuOpen:c,addMenuRef:u,busy:d,codexPermissionMode:f,codexReasoningEffort:g,connection:w,contextStatusStyle:h,contextStatusTooltipId:p,contextWindowStatus:k,disabled:S,dropdownPlacement:N,fileInputRef:v,modelValue:C,modelOptions:j=[],openPondCommandAccessMode:A,showCommandAccess:y=!0,profileTarget:M,onCodexPermissionModeChange:O,onCodexReasoningEffortChange:U,onOpenPondCommandAccessModeChange:F,onProfileTargetChange:W,onModelChange:be,onOpenFilePicker:pe,onProviderChange:we,onProviderSetupOpen:ve,onSend:X,onStop:ee,onToggleAddMenu:Me,onTranscript:ge,voiceInputChannelKey:he,provider:z,providerSettings:I,providerOptions:te,running:ne,sendDisabled:me,sendTooltip:ae,showToast:B,stopIcon:oe="stop",stopLabel:E="Stop response"}){const[L,D]=o.useState(!1),Ue=ja(z,C,I),Ne=o.useMemo(()=>Cc({currentModelOptions:j,currentProvider:z,providerOptions:te,providerSettings:I}),[j,z,te,I]),st=o.useMemo(()=>Ne.filter(R=>jc.has(R.provider)),[Ne]),Ce=(R,Ke)=>{if(R===z){be(Ke);return}be(Ke),we(R)};return e==="team"?s.jsxs("div",{className:`composer-primary-controls team-chat-composer-controls ${ne?"has-running-turn":""}`.trim(),children:[s.jsx("button",{type:"button",className:"composer-icon","aria-label":"Add photos and files",disabled:S,onClick:pe,children:s.jsx(Fn,{size:18})}),s.jsx("input",{ref:v,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:R=>{a(Array.from(R.currentTarget.files??[])),R.currentTarget.value=""}}),s.jsxs("label",{className:"team-chat-model-toggle",children:[s.jsx("input",{type:"checkbox",checked:t,disabled:d||n,onChange:R=>r?.(R.currentTarget.checked)}),s.jsx("span",{children:"Use model"})]}),s.jsx("div",{className:"composer-spacer"}),t?s.jsx(to,{disabled:d,model:C,modelGroups:st,placement:N,provider:z,reasoningEffort:g,showReasoning:Ue,onModelSelectionChange:Ce,onProviderSetupOpen:ve,onReasoningEffortChange:U}):null,s.jsx(uo,{buttonClassName:"composer-icon",connection:w,disabled:S,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:D,showToast:B,onTranscript:ge,transcriptionChannelKey:he}),s.jsx(mo,{running:ne,sendDisabled:me,sendTooltip:ae,stopIcon:oe,stopLabel:E,voiceInputActive:L,onSend:X,onStop:ee})]}):s.jsxs("div",{className:`composer-primary-controls ${ne?"has-running-turn":""}`.trim(),children:[s.jsxs("div",{className:"composer-add-control open-up",ref:u,children:[s.jsx("button",{type:"button",className:`composer-icon ${c?"active":""}`,"aria-label":"Add to message","aria-haspopup":"menu","aria-expanded":c,"aria-controls":c?i:void 0,disabled:S,onMouseDown:R=>R.preventDefault(),onClick:Me,children:s.jsx(Fn,{size:18})}),s.jsx("input",{ref:v,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:R=>{a(Array.from(R.currentTarget.files??[])),R.currentTarget.value=""}})]}),y&&z==="codex"?s.jsx(Vr,{compact:!0,className:"permission-select",icon:s.jsx(wa,{size:14}),placement:N,label:"Codex permissions",tooltip:Hr.find(R=>R.value===f)?.label,value:f,options:Hr,disabled:d,onChange:R=>O(R)}):y?s.jsx(Vr,{compact:!0,className:"permission-select",icon:s.jsx(Ca,{size:14}),placement:N,label:"Command access",tooltip:Gr.find(R=>R.value===(A==="disabled"?"ask":A))?.label,value:A==="disabled"?"ask":A,options:Gr,disabled:d,onChange:R=>F(R)}):null,M&&W?s.jsx(Po,{busy:d,placement:N,state:M,onChange:W}):null,s.jsx("div",{className:"composer-spacer"}),s.jsxs("span",{className:`context-status-shell ${k.tone}`,style:h,children:[s.jsx("span",{className:`composer-status ${k.tone}`,role:k.maxTokens===null?"img":"meter","aria-label":k.tooltip,"aria-describedby":p,"aria-valuemin":k.maxTokens===null?void 0:0,"aria-valuemax":k.maxTokens??void 0,"aria-valuenow":k.maxTokens===null?void 0:k.usedTokens,tabIndex:0}),s.jsxs("span",{className:"context-status-tooltip",id:p,role:"tooltip",children:[s.jsx("span",{className:"context-status-tooltip-title",children:"Context window"}),s.jsxs("span",{className:"context-status-tooltip-main",children:[s.jsx("span",{children:k.summary}),s.jsx("span",{children:k.tokensLabel})]}),k.maxTokens!==null&&s.jsx("span",{className:"context-status-tooltip-bar","aria-hidden":"true",children:s.jsx("span",{})}),k.detail?s.jsx("span",{className:"context-status-tooltip-detail",children:k.detail}):null]})]}),s.jsx(to,{disabled:d,model:C,modelGroups:Ne,placement:N,provider:z,reasoningEffort:g,showReasoning:Ue,onModelSelectionChange:Ce,onProviderSetupOpen:ve,onReasoningEffortChange:U}),s.jsx(uo,{buttonClassName:"composer-icon",connection:w,disabled:S,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:D,showToast:B,onTranscript:ge,transcriptionChannelKey:he}),s.jsx(mo,{running:ne,sendDisabled:me,sendTooltip:ae,stopIcon:oe,stopLabel:E,voiceInputActive:L,onSend:X,onStop:ee})]})}function mo({running:e,sendDisabled:t,sendTooltip:n,stopIcon:r,stopLabel:a,voiceInputActive:i,onSend:c,onStop:u}){const d=e?a:n;return s.jsx("button",{type:"button",className:`send-button ${e?"stop-button":""}`.trim(),disabled:!e&&t&&!i,"data-tooltip":d,"aria-label":d,onClick:e?()=>{u()}:c,children:e?r==="pause"?s.jsx(di,{size:15}):s.jsx(Eo,{size:13,fill:"currentColor"}):s.jsx(ki,{size:18})})}function Cc({currentModelOptions:e,currentProvider:t,providerOptions:n,providerSettings:r}){return n.flatMap(a=>{if(a.value==="setup-provider")return[];const i=a.value,c=i===t?e:jo(i,r);return c.length>0?[{provider:i,label:a.label,defaultModel:Ma(i,r),options:c}]:[]})}function Mc(e){return e.description||e.path}function Ec({items:e,onSelect:t,onSelectIndex:n,skillIndex:r,style:a}){const i=o.useRef(null);return o.useEffect(()=>{i.current?.scrollIntoView({block:"nearest"})},[e.length,r]),s.jsx("div",{className:"composer-project-menu composer-slash-menu composer-skill-menu",role:"listbox","aria-label":"Available skills",style:a,children:e.length>0?e.map((c,u)=>{const d=u===r;return s.jsxs("button",{type:"button",className:`composer-project-option ${d?"selected":""}`,ref:d?i:void 0,role:"option","aria-selected":d,onMouseEnter:()=>n(u),onMouseDown:f=>{f.preventDefault(),t(c)},children:[s.jsx(Ys,{size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:er(c)}),s.jsx("small",{children:Mc(c)})]}),d?s.jsx(Mt,{size:14}):s.jsx("span",{"aria-hidden":"true"})]},c.name)}):s.jsx("div",{className:"composer-menu-empty",role:"option","aria-selected":"false",children:"No matching skills"})})}function Ac({actionCatalogCount:e,actionIndex:t,items:n,onSelect:r,onSelectIndex:a,style:i}){return s.jsx(Dr,{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:n.map(c=>({kind:"slash",item:c})),label:"/"}],style:i,variant:"typed",onSelect:c=>{c.kind==="slash"&&r(c.item)},onSelectIndex:a})}function Tc({busy:e,initialDescription:t,open:n,onClose:r,onSubmit:a}){const[i,c]=o.useState(""),[u,d]=o.useState(()=>t.trim()),f=i.trim(),g=u.trim(),w=e||!f||!g;if(o.useEffect(()=>{n&&(c(""),d(t.trim()))},[t,n]),o.useEffect(()=>{if(!n||e)return;function p(k){k.key==="Escape"&&r()}return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e,r,n]),!n)return null;async function h(){if(w)return;await a({title:f,description:g})&&(c(""),d(""))}return s.jsx("div",{className:"git-dialog-backdrop",role:"presentation",onMouseDown:e?void 0:r,children:s.jsxs("section",{className:"git-dialog submit-issue-dialog",role:"dialog","aria-modal":"true","aria-label":"Submit GitHub issue",onMouseDown:p=>p.stopPropagation(),onKeyDown:p=>{p.key!=="Enter"||!(p.target instanceof HTMLInputElement)||(p.preventDefault(),h())},children:[s.jsx("button",{className:"git-dialog-close",disabled:e,type:"button",onClick:r,children:s.jsx(gs,{size:16})}),s.jsx("div",{className:"git-dialog-icon",children:s.jsx(Ea,{size:18})}),s.jsx("h2",{children:"Submit issue"}),s.jsxs("div",{className:"git-dialog-row submit-issue-repo-row",children:[s.jsx("span",{children:"Repository"}),s.jsx("strong",{children:Aa})]}),s.jsxs("label",{className:"git-dialog-field",children:[s.jsx("span",{children:"Title"}),s.jsx("input",{autoFocus:!0,disabled:e,placeholder:"Short issue title",value:i,onChange:p=>c(p.target.value)})]}),s.jsxs("label",{className:"git-dialog-field",children:[s.jsx("span",{children:"Description"}),s.jsx("textarea",{disabled:e,placeholder:"What happened, what you expected, and any useful context",value:u,onChange:p=>d(p.target.value)})]}),s.jsxs("div",{className:"git-dialog-footer",children:[s.jsx("button",{className:"git-dialog-secondary",disabled:e,type:"button",onClick:r,children:"Cancel"}),s.jsx("button",{className:"git-dialog-primary",disabled:w,type:"button",onClick:()=>{h()},children:"Submit issue"})]})]})})}const Nc=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"]),Ic=new Set(["csv","ods","tsv","xls","xlsm","xlsx"]),Rc=new Set(["7z","bz2","gz","rar","tar","tgz","xz","zip"]),Pc=new Set(["doc","docx","epub","md","odt","pdf","rtf","txt"]),_c=new Set(["key","odp","ppt","pptx"]);function Vo(e){const t=e.mediaType.toLowerCase(),n=e.name.split(".").pop()?.toLowerCase()??"";return e.kind==="image"||t.startsWith("image/")?"image":t.startsWith("audio/")?"audio":t.startsWith("video/")?"video":Ic.has(n)||t.includes("spreadsheet")||t.includes("excel")?"spreadsheet":Rc.has(n)||t.includes("zip")||t.includes("compressed")?"archive":_c.has(n)||t.includes("presentation")||t.includes("powerpoint")?"presentation":Nc.has(n)?"code":e.kind==="text"||Pc.has(n)||t.startsWith("text/")||t==="application/pdf"||t.includes("document")||t.includes("msword")?"document":"file"}function $c(e){if(e.mediaType.toLowerCase()==="application/pdf")return"PDF";const t=Vo(e);return t==="spreadsheet"?"Spreadsheet":t.charAt(0).toUpperCase()+t.slice(1)}function Lc(e){return`${e.toLocaleString()} ${e===1?"line":"lines"}`}const Oc={archive:hi,audio:Ti,code:mi,document:Ys,file:fi,image:$i,presentation:zi,spreadsheet:Ii,video:Pi};function Dc({attachment:e,...t}){const n=Oc[Vo(e)];return s.jsx(n,{...t})}const Fc=new Set(["csv","css","html","js","json","jsx","log","md","mdx","py","sql","svg","ts","tsx","txt","xml","yaml","yml"]),zc=2e3,Bc=/^Pasted text(?: (\d+))?\.txt$/;function qc(e,t){if(e.length<zc)return null;const n=new Set;for(const i of t){const c=Bc.exec(i.name);c&&n.add(c[1]?Number(c[1]):1)}let r=1;for(;n.has(r);)r+=1;const a=r===1?"Pasted text.txt":`Pasted text ${r}.txt`;return new File([e],a,{type:"text/plain"})}function Uc({attachment:e,onRemove:t}){const[n,r]=o.useState(null);o.useEffect(()=>{if(e.kind!=="text")return;let i=!1;return e.file.text().then(c=>{i||r(Ao(c))},()=>{}),()=>{i=!0}},[e.file,e.kind]);const a=e.kind!=="image";return s.jsxs("div",{className:`composer-attachment-card ${e.kind}`,children:[s.jsx("div",{className:"composer-attachment-thumb","aria-hidden":"true",children:e.previewUrl?s.jsx("img",{alt:"",decoding:"async",src:e.previewUrl}):s.jsx(Dc,{attachment:e,size:22})}),a?s.jsxs("div",{className:"composer-attachment-meta",children:[s.jsx("strong",{children:e.name}),s.jsx("span",{children:e.kind==="text"&&n!==null?Lc(n):$c(e)})]}):null,s.jsx("button",{type:"button",className:"composer-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:s.jsx(gs,{size:14})})]})}function Vc(){return globalThis.crypto?.randomUUID?.()??`attachment-${Date.now()}-${Math.random().toString(36).slice(2)}`}function Hc(e){if(e.type.startsWith("image/"))return"image";if(e.type.startsWith("text/"))return"text";const t=e.name.split(".").pop()?.toLowerCase()??"";return Fc.has(t)?"text":"file"}async function Gc(e){const[t,n]=await Promise.all([Kc(e.file),e.kind==="text"?Qc(e.file):Promise.resolve(void 0)]);return{id:e.id,name:e.name,mediaType:e.mediaType,sizeBytes:e.sizeBytes,kind:e.kind,...n!==void 0?{lineCount:Ao(n)}:{},...e.relativePath?{relativePath:e.relativePath}:{},contentsBase64:t,...n?{text:Xc(n)}:{}}}function Wc(e){const t=["KB","MB","GB"];let n=e/1024;for(const r of t){if(n<1024)return`${n.toFixed(n>=10?0:1)} ${r}`;n/=1024}return`${n.toFixed(0)} TB`}function Kc(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>{const a=typeof r.result=="string"?r.result:"",[,i=""]=a.split(",",2);t(i)},r.onerror=()=>n(r.error??new Error("Failed to read file")),r.readAsDataURL(e)})}function Qc(e){return new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(typeof r.result=="string"?r.result:""),r.onerror=()=>n(r.error??new Error("Failed to read file")),r.readAsText(e)})}function Xc(e){if(e.length<=Dt.maxTextChars)return e;const t=`
4
- [attachment text truncated]`;return`${e.slice(0,Math.max(0,Dt.maxTextChars-t.length))}${t}`}function Jc(){const e=o.useRef([]),t=o.useRef([]),n=o.useRef(!1),[r,a]=o.useState([]),[i,c]=o.useState(null);o.useEffect(()=>{e.current=r},[r]),o.useEffect(()=>()=>{n.current=!0;for(const h of e.current)cs(h);for(const h of t.current)cs(h)},[]);const u=o.useCallback(h=>{if(h.length===0)return;const p=Math.max(0,Dt.maxAttachments-r.length),k=[];let S=0,N=0;for(const v of h){if(v.size>Dt.maxAttachmentBytes){S+=1;continue}if(k.length>=p){N+=1;continue}const C="webkitRelativePath"in v&&typeof v.webkitRelativePath=="string"&&v.webkitRelativePath.trim()?v.webkitRelativePath.trim():void 0;k.push({id:Vc(),file:v,name:v.name||"Untitled file",mediaType:v.type||"application/octet-stream",sizeBytes:v.size,kind:Hc(v),...C?{relativePath:C}:{},...v.type.startsWith("image/")?{previewUrl:URL.createObjectURL(v)}:{}})}if(k.length>0&&(a([...r,...k]),c(null)),S>0||N>0){const v=[];S>0&&v.push(`${S} file${S===1?"":"s"} exceeded ${Wc(Dt.maxAttachmentBytes)}`),N>0&&v.push(`maximum ${Dt.maxAttachments} attachments`),c(v.join("; "))}},[r]),d=o.useCallback(h=>{a(p=>{const k=p.find(N=>N.id===h);k&&cs(k);const S=p.filter(N=>N.id!==h);return S.length===0&&c(null),S})},[]),f=o.useCallback(()=>{for(const h of e.current)cs(h);e.current=[],a([]),c(null)},[]),g=o.useCallback(()=>{const h=e.current;return h.length===0||(e.current=[],t.current=h,a([]),c(null)),h},[]),w=o.useCallback((h,p)=>{if(h.length===0)return;const k=new Set(h.map(S=>S.id));if(t.current=t.current.filter(S=>!k.has(S.id)),p==="restore"&&!n.current){a(S=>{const N=new Set(S.map(C=>C.id)),v=[...h.filter(C=>!N.has(C.id)),...S];return e.current=v,v});return}for(const S of h)cs(S)},[]);return{attachmentError:i,attachments:r,addFiles:u,clearAttachments:f,removeAttachment:d,settleStagedAttachments:w,setAttachmentError:c,stageAttachmentsForSubmit:g}}function cs(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function Yc(e,t){const n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\/([a-zA-Z0-9_-]*)$/.exec(n);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:n.length,query:(r[1]??"").toLowerCase(),start:i}}function Zc(e,t,n=Or){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=n.find(u=>u.id===a[1]);if(!i)return null;const c=a[0].lastIndexOf("/");return c<0||typeof a.index!="number"?null:{command:i,end:r.length,start:a.index+c}}function eu(e,t=Or){return Na({commands:t,prompt:`/${e}`})}function ho(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name??"",n.label??"",n.description??"",typeof n.implementation?.type=="string"?n.implementation.type:""].join(" ").toLowerCase().includes(t):!0)}function po(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name,n.description??"",n.gitRepo??"",wo(n)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function go({actionCatalog:e,connectedAppMentions:t,mentionApps:n,profileSkills:r,query:a,surface:i,teamMentionMembers:c}){const u=a.toLowerCase();if(i==="team"){const h=c.filter(k=>u?[k.name,k.handle??""].map($n).some(S=>S.includes(u)):!0).map(k=>({kind:"team-member",member:k}));return[...Wr(e,u,e.length).map(k=>({kind:"action",action:k})),...h]}const d=n.filter(h=>u?[$n(h.id),$n(h.name),h.gitRepo?$n(h.gitRepo):"",wo(h)].some(k=>k.includes(u)):!0).map(h=>({kind:"app",app:h})),f=Wr(e,u,e.length).map(h=>({kind:"action",action:h})),g=Ks(r,u).map(h=>({kind:"skill",skill:h})),w=Ta(t,u).map(h=>({kind:"connected-app",app:h}));return[...f,...g,...d,...w]}function tu(e,t,n){const r=t?.trim();if(!r)return e;const a=Math.max(0,Math.min(n??0,e.length)),i=e.slice(0,a),c=e.slice(a),u=i&&!/\s$/.test(i)?" ":"",d=c&&!/^\s/.test(c)?" ":"";return`${i}${u}${r}${d}${c}`.replace(/\s+/g," ").trim()}function nu(e){const t=$n(Lr(e)||e.name||e.id);return t?`@${t}`:null}function su(e){const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return e;try{const n=JSON.parse(t);if(!n||Array.isArray(n)||typeof n!="object")return e;const r=Object.entries(n).filter(([,a])=>a!=null&&a!=="").map(([a,i])=>`${Ho(a)}: ${_r(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function Ho(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 _r(e,t){if(Array.isArray(t))return t.map(r=>_r(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${Ho(r)}: ${_r(r,a)}`).join(" · ");const n=String(t);return/Id$/.test(e)&&/^[a-z0-9_-]+$/i.test(n)?n.split(/[-_]+/).filter(Boolean).map(r=>`${r[0].toUpperCase()}${r.slice(1)}`).join(" "):n}function ru({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;const a=n?.trim(),i=a?.startsWith("@")?a:nu(e);return i?tu(su(t),i,r):null}function ou({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}const au=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function iu({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:u,attachmentCount:d,composerRef:f,createImproveActive:g,goalRuntimeActive:w,inputRef:h,inputShellRef:p,mentionQuery:k,prompt:S,selectedActionId:N,selectAddMenuItem:v,setActionIndex:C,setActionMenuDismissedPrompt:j,setAddMenuIndex:A,setAddMenuOpen:y,setAddMenuQuery:M,setMentionMenuDismissedPrompt:O,setMentionIndex:U,setSkillIndex:F,setSkillMenuDismissedPrompt:W,skillMatchCount:be,skillQuery:pe,slashMatchCount:we,slashQuery:ve,showActionMenu:X,showMentionMenu:ee,showSkillMenu:Me}){const[ge,he]=o.useState({}),[z,I]=o.useState({}),[te,ne]=o.useState({}),[me,ae]=o.useState({});return o.useEffect(()=>{U(0)},[k]),o.useEffect(()=>{F(0)},[be,pe]),o.useEffect(()=>{C(0)},[we,ve]),o.useEffect(()=>{const B=h.current?.element,oe=B?.parentElement;if(!B||!oe||typeof ResizeObserver>"u")return;const E=new ResizeObserver(()=>h.current?.resize());return E.observe(oe),()=>E.disconnect()},[]),o.useEffect(()=>{if(!i)return;function B(E){const L=E.target,D=h.current?.element?.parentElement;!u.current?.contains(L)&&!c.current?.contains(L)&&!D?.contains(L)&&(y(!1),M(""),O(e),j(n),W(t))}function oe(E){if(E.key==="Escape"){E.preventDefault(),y(!1),M(""),O(e),j(n),W(t);return}if(a.length!==0){if(E.key==="ArrowDown"){E.preventDefault(),A(L=>(L+1)%a.length);return}if(E.key==="ArrowUp"){E.preventDefault(),A(L=>(L-1+a.length)%a.length);return}if(E.key==="Home"){E.preventDefault(),A(0);return}if(E.key==="End"){E.preventDefault(),A(a.length-1);return}if(E.key==="Enter"){E.preventDefault();const L=a[r]??a[0];L&&v(L)}}}return document.addEventListener("pointerdown",B),document.addEventListener("keydown",oe),()=>{document.removeEventListener("pointerdown",B),document.removeEventListener("keydown",oe)}},[e,t,n,r,a,i]),o.useLayoutEffect(()=>{if(!i)return;const B=p.current;if(!B)return;const oe=B;function E(){ae($l(oe))}return E(),window.addEventListener("resize",E),window.addEventListener("scroll",E,!0),()=>{window.removeEventListener("resize",E),window.removeEventListener("scroll",E,!0)}},[i,d,g,w]),o.useLayoutEffect(()=>{if(!X)return;const B=h.current?.element,oe=f.current;if(!B||!oe)return;const E=B,L=oe;function D(){ne(jr(E,L))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,w,S,N,X]),o.useLayoutEffect(()=>{if(!Me)return;const B=h.current?.element,oe=f.current;if(!B||!oe)return;const E=B,L=oe;function D(){I(jr(E,L))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,w,S,N,Me]),o.useLayoutEffect(()=>{if(!ee)return;const B=h.current?.element,oe=f.current;if(!B||!oe)return;const E=B,L=oe;function D(){he(jr(E,L))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,w,S,N,ee]),{actionMenuStyle:te,addMenuStyle:me,mentionMenuStyle:ge,skillMenuStyle:z}}const lu=o.lazy(()=>de(()=>import("./ComposerCreateImproveStrip-2Tyj9KOQ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),cu=Or.find(e=>e.id==="submit-issue"),uu=[],du=[];function fu({experience:e="development",mode:t,surface:n="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:u,composeNotice:d=null,mentionApps:f=[],connectedAppMentions:g=[],profileSkills:w=[],selectedMentionAppId:h=null,contextWindowStatus:p,goalRuntime:k=null,subagentRuntime:S=null,createImproveRuntime:N=null,busy:v,running:C=v,taskSessionId:j=null,taskEvents:A=du,steerActiveResponses:y=!1,submissionScopeKey:M="default",getCurrentSubmissionScopeKey:O,voiceInputChannelKey:U=M,initialSteerDrafts:F=uu,showProjectFooter:W=!0,autoFocus:be=!1,focusRequestId:pe=0,attachmentRequest:we=null,connection:ve,providerSettings:X=null,provider:ee,model:Me,projectTarget:ge,profileTarget:he=null,actionCatalog:z=[],requestedAction:I=null,workspaceTarget:te,codexPermissionMode:ne,codexReasoningEffort:me,openPondCommandAccessMode:ae,onProviderChange:B,onProviderSetupOpen:oe,onProjectTargetChange:E,onProfileTargetChange:L,onWorkspaceTargetChange:D,onModelChange:Ue,onCodexPermissionModeChange:Ne,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:Ce,onPromptChange:R,onMentionAppSelect:Ke,onSaveTaskDraft:Le,showToast:at,onSubmit:Et,onStop:Pe,onPauseGoal:ht}){const an=o.useRef(null),ln=o.useRef(null),x=o.useRef(null),T=ol(ve,j,A),ie=o.useRef(null),ke=o.useRef(null),H=o.useRef(null),Ee=o.useRef(null),le=o.useRef(0),Qe=I&&z.some(l=>l.id===I.actionId)?I:null,Ie=o.useRef(!1),At=o.useRef(0),Xe=o.useRef(Qe?.requestId??0),rt=o.useRef(new Set),pt=o.useRef(new Set),[se,Ae]=o.useState(u.length),xs=o.useRef(se);xs.current=se;const[bs,cn]=o.useState(0),[vs,un]=o.useState(0),[ks,dn]=o.useState(0),[ys,Ft]=o.useState(0),[_e,Tt]=o.useState(""),[nr,it]=o.useState(null),[fn,Te]=o.useState(null),[Ss,Nt]=o.useState(null),[Oe,zt]=o.useState(!1),[mn,zn]=o.useState(!1),[Je,lt]=o.useState(Qe?.actionId??null),[Bt,It]=o.useState(null),[gt,De]=o.useState(null),[Bn,ct]=o.useState(null),[qn,hn]=o.useState(null),[Un,pn]=o.useState(!1),[gn,Vn]=o.useState(()=>({[M]:F})),[qt,xn]=o.useState(null),[Hn,Ut]=o.useState(!1),[ut,re]=o.useState(""),[bn,xt]=o.useState(!1),{attachmentError:Vt,attachments:Fe,addFiles:bt,removeAttachment:Ye,settleStagedAttachments:Ze,setAttachmentError:Ve,stageAttachmentsForSubmit:sr}=Jc(),vn=o.useRef(0);o.useEffect(()=>{!we||vn.current===we.id||(vn.current=we.id,bt([we.file]))},[bt,we]);const rr=o.useCallback(l=>{const m=qc(l,Fe);return!m||Fe.length>=Dt.maxAttachments||m.size>Dt.maxAttachmentBytes?!1:(bt([m]),!0)},[bt,Fe]),Gn=ec({experience:e,mode:t,surface:n}),Rt=e==="development"||e==="work"&&ge.value!=="none",or=Ia(ee,Me,X),kn="top",js=o.useId(),ar=o.useId(),ws=o.useId(),Cs={"--context-fill":`${Math.round((p.percent??0)/100*360)}deg`,"--context-bar-fill":`${p.percent??0}%`},xe=o.useMemo(()=>z.find(l=>l.id===Je)??null,[z,Je]),vt=o.useMemo(()=>Ra(ee,e),[e,ee]),et=o.useMemo(()=>Rt?w:w.filter(l=>!au.has(l.name)),[e,w]),ye=o.useMemo(()=>vt.find(l=>l.id===Bt)??null,[vt,Bt]),Ht=ru({action:xe,prompt:u,selectedActionMentionText:Bn,selectedInvocationPosition:gt}),Ms=ou({attachmentCount:Fe.length,prompt:u,selectedAction:xe,selectedCommand:ye}),ir=o.useMemo(()=>{const l=Math.max(0,Math.min(gt??0,u.length));return ye?{icon:ye.id==="agent"?"plus":ye.id==="skill"?"skill":"workflow",key:`command:${ye.id}`,label:ye.id==="agent"?"Author Agent":ye.id,position:l,onRemove:()=>{It(null),De(null),ct(null)}}:xe?{icon:xe.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${xe.id}`,label:Lr(xe),position:l,onRemove:()=>{lt(null),De(null),ct(null)}}:null},[u.length,xe,ye,gt]),Gt=qn===M,Es=Gt||!Ms,As=Gt?"Preparing files":C?y?"Steer":"Queue for next turn":"Send",Re=Gt,Ts=Gt;function kt(l=M){const m=rt.current;return m.has(l)?!1:(m.add(l),!0)}function yt(l){rt.current.delete(l)}function Ns(l){return rt.current.has(l)}function Wt(){return Ns(M)}function Is(l){hn(m=>m===l?null:m)}const yn=o.useMemo(()=>{const l=Pa(X,{enabledOnly:!0}).map(G=>({...G,description:void 0})),m=Rt?l:l.filter(G=>G.value!=="codex"),P=te.value==="cloud"&&Rt?m.filter(G=>G.value==="openpond"):m,_=P.some(G=>G.value===ee)?P:[{value:ee,label:_a(ee,X),description:"Current"},...P],K={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[..._,K]},[ee,X,Rt,te.value]),Rs=o.useMemo(()=>jo(ee,X),[ee,X]),Se=o.useMemo(()=>$a(u,Math.min(se,u.length)),[se,u]),Sn=Se?`${u}:${Se.start}:${Math.min(se,u.length)}`:null,tt=o.useMemo(()=>Se?go({actionCatalog:z,connectedAppMentions:g,mentionApps:f,profileSkills:et,query:Se.query,surface:n,teamMentionMembers:i}):[],[z,g,f,Se,et,n,i]),Wn=o.useMemo(()=>n==="team"?[]:go({actionCatalog:z,connectedAppMentions:g,mentionApps:f,profileSkills:et,query:"",surface:n,teamMentionMembers:i}).filter(l=>l.kind!=="skill"),[z,g,f,et,n,i]),jn=!!(!Oe&&!Re&&Se&&Sn&&nr!==Sn&&tt.length>0),ze=o.useMemo(()=>Qi(u,Math.min(se,u.length)),[se,u]),Pt=ze?`${u}:${ze.start}:${ze.end}`:null,nt=o.useMemo(()=>ze?Ks(et,ze.query):[],[ze,et]),_t=!!(!Oe&&!Re&&ze&&Pt&&Ss!==Pt),Z=o.useMemo(()=>Yc(u,Math.min(se,u.length)),[se,u]),wn=Z?`${u}:${Z.start}:${Z.end}`:null,Kn=o.useMemo(()=>Z?ho(z,Z.query):[],[z,Z]),Ps=o.useMemo(()=>Z&&n!=="team"?po(f,Z.query):[],[Z,f,n]),Qn=o.useMemo(()=>Z&&n!=="team"?eu(Z.query,vt):[],[Z,vt,n]),_s=o.useMemo(()=>Z&&n!=="team"?Ks(et,Z.query):[],[Z,et,n]),He=o.useMemo(()=>[...Kn.map(l=>({kind:"action",action:l})),..._s.map(l=>({kind:"skill",skill:l})),...Qn.map(l=>({kind:"command",command:l})),...Ps.map(l=>({kind:"app-context",app:l}))],[Kn,Ps,Qn,_s]),Xn=!!(!Oe&&!Re&&Z&&wn&&fn!==wn),lr=o.useMemo(()=>vt.map(l=>({kind:"command",command:l})),[vt]),Jn=o.useMemo(()=>[...ho(z,"").map(l=>({kind:"action",action:l})),...po(f,"").map(l=>({kind:"app-context",app:l}))],[z,f]),$t=o.useMemo(()=>Ks(et,"").map(l=>({kind:"skill",skill:l})),[et]),Yn=o.useMemo(()=>{const l=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return Jn.length>0&&l.push({id:"slash",items:Jn.map(m=>({kind:"slash",item:m})),label:"Agents and actions",queryScope:"slash"}),$t.length>0&&l.push({id:"skills",items:$t.map(m=>({kind:"slash",item:m})),label:"Skills",queryScopes:["slash","mentions"]}),l.push({id:"openpond",items:lr.map(m=>({kind:"slash",item:m})),label:"OpenPond",grid:!0,queryScope:"slash"}),l.push({emptyLabel:"No mentions available",id:"mentions",items:Wn.map(m=>({kind:"mention",item:m})),label:"@"}),l},[Wn,lr,$t,Jn,e]),Kt=o.useMemo(()=>cc(Yn,_e),[_e,Yn]),Qt=o.useMemo(()=>Kt.flatMap(l=>l.items),[Kt]);o.useEffect(()=>{Oe&&Ft(l=>l<Qt.length?l:0)},[Qt.length,Oe]);const ot=!!k,Xt=ot&&k?.tone==="active",fe=Xt?"Pause goal":"Stop response",cr=Xt?"pause":"stop",ur=e==="work"||ge.value!=="none",dr=Ir(gn,M,F),Zn=qt?.scopeKey===M?qt.draftId:null;function Cn(l,m){Vn(P=>cl(P,l,m,l===M?F:[]))}o.useLayoutEffect(()=>{x.current?.resize()},[Fe.length,Vt,N,k,u,Je,Bt,gt]),o.useEffect(()=>{if(!be){Ie.current=!1;return}if(Ie.current||Re)return;const l=window.requestAnimationFrame(()=>{Ie.current=!0;const m=document.activeElement;m&&m!==document.body&&m!==document.documentElement||x.current?.focusAtPromptIndex(u.length)});return()=>window.cancelAnimationFrame(l)},[be,Re,u.length]),o.useEffect(()=>{!pe||At.current===pe||Re||(At.current=pe,window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(u.length)}))},[pe,Re,u.length]),o.useEffect(()=>{k||pn(!1)},[k]),o.useEffect(()=>{Je&&!z.some(l=>l.id===Je)&&(lt(null),De(null))},[z,Je]),o.useEffect(()=>{if(!I||I.requestId<=Xe.current)return;const l=z.find(m=>m.id===I.actionId);l&&(Xe.current=I.requestId,lt(l.id),It(null),De(0),ct(null),R(""),Ae(0),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[z,R,I]),o.useEffect(()=>{!xe&&!ye||De(l=>l===null?0:Math.max(0,Math.min(l,u.length)))},[u.length,xe,ye]),o.useEffect(()=>{if(!h||!Ke)return;const l=f.find(m=>m.id===h);(!l||!La(u,l))&&Ke(null)},[f,Ke,u,h]);const{actionMenuStyle:fr,addMenuStyle:Lt,mentionMenuStyle:mr,skillMenuStyle:hr}=iu({activeMentionKey:Sn,activeSkillKey:Pt,activeSlashKey:wn,addMenuIndex:ys,addMenuItems:Qt,addMenuOpen:Oe,addMenuPanelRef:Ee,addMenuRef:H,attachmentCount:Fe.length,composerRef:an,createImproveActive:!!N,goalRuntimeActive:!!k,inputRef:x,inputShellRef:ln,mentionQuery:Se?.query,prompt:u,selectedActionId:Je,selectAddMenuItem:Ds,setActionIndex:dn,setActionMenuDismissedPrompt:Te,setAddMenuIndex:Ft,setAddMenuOpen:zt,setAddMenuQuery:Tt,setMentionMenuDismissedPrompt:it,setMentionIndex:cn,setSkillIndex:un,setSkillMenuDismissedPrompt:Nt,skillMatchCount:nt.length,skillQuery:ze?.query,slashMatchCount:He.length,slashQuery:Z?.query,showActionMenu:Xn,showMentionMenu:jn,showSkillMenu:_t});function St(){lt(null),It(null),De(null),ct(null)}function Ot(){St(),R(""),Ae(0)}function es(l){re(l.trim()),Ut(!0)}function pr(){bn||(Ut(!1),St())}async function ts(){return await(Xt&&ht?ht():Pe())}function jt(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=u.slice(0,_),ce=u.slice(K),dt=G&&!/\s$/.test(G)?" ":"",nn=ce&&!/^\s/.test(ce)?" ":"",sn=`${Da(l)} `,ft=`${dt}${sn}${nn}`,rn=`${G}${ft}${ce}`,We=G.length+ft.length;return R(rn),Ke?.(l.id),Ae(We),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(We)}),We}function gr(l){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));jt(l,{start:Se.start,end:m})}function je(l,m,P=null){const _=Math.max(0,Math.min(se,u.length)),K=m?Math.max(0,Math.min(m.start,u.length)):_,G=m?Math.max(K,Math.min(m.end,u.length)):K,ce=`${u.slice(0,K)}${u.slice(G)}`;return lt(l.id),It(null),De(K),ct(P?.startsWith("@")?P:null),Te(null),R(ce),Ae(K),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(K,{afterToken:!0})}),K}function Mn(l){if(!Se)return;const m=Math.max(0,Math.min(se,u.length)),P=Math.max(0,Math.min(Se.start,u.length)),_=Math.max(P,Math.min(m,u.length));je(l,{start:P,end:_},u.slice(P,_).trim())}function $s(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=u.slice(0,_),ce=u.slice(K),dt=G&&!/\s$/.test(G)?" ":"",nn=ce&&!/^\s/.test(ce)?" ":"",sn=`${Fa(l)} `,ft=`${dt}${sn}${nn}`,rn=`${G}${ft}${ce}`,We=G.length+ft.length;return R(rn),Ae(We),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(We)}),We}function xr(l){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));$s(l,{start:Se.start,end:m})}function ns(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=l.handle||$n(l.name),ce=u.slice(0,_),dt=u.slice(K),nn=ce&&!/\s$/.test(ce)?" ":"",sn=dt&&!/^\s/.test(dt)?" ":"",ft=`${nn}@${G} ${sn}`,rn=`${ce}${ft}${dt}`,We=ce.length+ft.length;return R(rn),Ae(We),window.requestAnimationFrame(()=>x.current?.focusAtPromptIndex(We)),We}function Ls(l){if(l.kind==="team-member"){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));ns(l.member,{start:Se.start,end:m});return}if(l.kind==="app"){gr(l.app);return}if(l.kind==="connected-app"){xr(l.app);return}if(l.kind==="skill"){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));Yt(l.skill,{start:Se.start,end:m});return}Mn(l.action)}function wt(l){Z&&(Te(null),jt(l,{start:Z.start,end:Z.end}))}function Os(l){Z&&je(l,Z)}function Jt(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=`${u.slice(0,_)}${u.slice(K)}`;return It(l.id),lt(null),De(_),ct(null),Te(null),R(G),Ae(_),l.id==="submit-issue"&&es(G),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(_,{afterToken:!0})}),_}function En(l){Z&&Jt(l,Z)}function Ge(l){if(l.kind==="command"){En(l.command);return}if(l.kind==="app-context"){wt(l.app);return}if(l.kind==="skill"){if(!Z)return;Yt(l.skill,Z);return}Os(l.action)}function Yt(l,m){const P=Xi(u,m,l);return Nt(null),it(null),Te(null),R(P.value),Ae(P.cursor),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(P.cursor)}),P.cursor}function An(l){ze&&Yt(l,ze)}function Tn(){ie.current?.click()}function ss(){ke.current?.click()}function Be(l){le.current=l,Tt(""),Ft(0)}function rs(){const l=Math.max(0,Math.min(se,u.length)),m=Math.max(0,Math.min(le.current,u.length));return l>=m?{start:m,end:l}:{start:l,end:l}}function Ds(l){const m=rs();if(zt(!1),Tt(""),l.kind==="files"||l.kind==="folder"){if(m.start!==m.end){const P=`${u.slice(0,m.start)}${u.slice(m.end)}`;R(P),Ae(m.start)}Be(m.start),l.kind==="folder"?ss():Tn();return}if(l.kind==="slash"){if(l.item.kind==="command"){Be(Jt(l.item.command,m));return}if(l.item.kind==="app-context"){Be(jt(l.item.app,m));return}if(l.item.kind==="skill"){Be(Yt(l.item.skill,m));return}Be(je(l.item.action,m));return}if(l.item.kind==="team-member"){Be(ns(l.item.member,m));return}if(l.item.kind==="app"){Be(jt(l.item.app,m));return}if(l.item.kind==="connected-app"){Be($s(l.item.app,m));return}if(l.item.kind==="skill"){Be(Yt(l.item.skill,m));return}Be(je(l.item.action,m))}const{stageCurrentSteerDraft:Zt,submitImmediateSteer:en}=Ki({running:C,scope:M,inbox:T,getPrompt:()=>x.current?.getPrompt()??u,hasFilesOrActions:!!(Fe.length||xe||ye),provider:ee,model:Me,codexPermissionMode:ne,codexReasoningEffort:me,openPondCommandAccessMode:ae,getCurrentSubmissionScopeKey:O,onSubmit:Et,showToast:at,begin:l=>pt.current.has(l)?!1:(pt.current.add(l),!0),finish:l=>{pt.current.delete(l)},clear:Ot,setError:Ve,stageLocal:l=>{Cn(M,m=>[...m,Io(l)]),window.requestAnimationFrame(()=>x.current?.focusAtPromptIndex(0))}});async function os(l){const m=M;if(qt?.scopeKey===m)return!1;const P=Ir(gn,m,F).find(_=>_.id===l);if(!P)return!1;xn({draftId:l,scopeKey:m}),Ve(null);try{const _=C,K=await Et([],null,null,{preservePrompt:!0,promptOverride:P.prompt,..._?{turnMetadata:{interactionKind:"steer"}}:{}});return Cn(m,G=>ll(G,l,K)),K}catch(_){return Ve(_ instanceof Error?_.message:String(_)),!1}finally{xn(_=>_?.scopeKey===m&&_.draftId===l?null:_)}}function Fs(l){Zn!==l&&Cn(M,m=>Ro(m,l))}function Nn(l){if(Zn!==l.id){if(Fe.length>0||Je||Bt){at("Finish the current composer before editing a queued message.","info");return}Cn(M,m=>il(m,l.id,u)),R(l.prompt),Ae(l.prompt.length),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(l.prompt.length)})}}async function tn(l={}){const m=M;if(!kt(m))return!1;zt(!1),Ve(null);const P=sr();try{hn(P.length>0?m:null);let _;try{_=await Promise.all(P.map(Gc))}finally{Is(m)}const K=xe&&Ht&&!u.trim()?Ht:void 0,G=l.promptOverride??K,ce=await Et(_,xe,ye,Ht||G||l.preservePrompt?{...Ht?{displayPrompt:Ht}:{},...G!==void 0?{promptOverride:G}:{},...l.preservePrompt?{preservePrompt:!0}:{}}:void 0);return Ze(P,ce?"dispose":"restore"),ce&&!za(xe)&&St(),ce}catch(_){return Ze(P,"restore"),Ve(_ instanceof Error?_.message:String(_)),!1}finally{yt(m),Is(m)}}async function In(){if(C){y?await en():await Zt();return}if(Wt())return;const l=xe||ye?null:Co(u);if(ye?.id==="submit-issue"||l?.command==="submit-issue"){es(l?.command==="submit-issue"?l.args:u);return}Es||await tn()}function Rn(){nl(U)||In()}async function zs(l){if(Wt()||bn)return!1;const m=M;if(!kt(m))return!1;xt(!0),zt(!1),Ve(null);try{const P=await Et([],null,cu,{displayPrompt:`/submit-issue ${l.title.trim()}`,promptOverride:Oa(l)});return P&&(Ut(!1),St()),P}catch(P){return Ve(P instanceof Error?P.message:String(P)),!1}finally{yt(m),xt(!1)}}async function as(l,m){const P=x.current?.getPrompt()??u,_=Math.max(0,Math.min(xs.current,P.length)),K=To(P,l,m.submit?P.length:_),G=await Yi({appendToEnd:m.submit,currentScopeKey:O?.()??M,cursorIndex:_,originScopeKey:M,prompt:P,setOriginDraft:ce=>R(ce),submitFromOrigin:ce=>tn({preservePrompt:!0,promptOverride:ce}),transcript:l});if(G==="retained"){at("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(G==="submitted"){at("Voice message sent to the chat where recording started.","success");return}if(m.submit){if(C){y?await en(K.value):await Zt(K.value);return}await tn({promptOverride:K.value});return}Ae(K.cursorIndex),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(K.cursorIndex)})}return s.jsxs("form",{ref:an,className:`composer ${t} ${N?"has-create-runtime":""} ${ot?"has-goal-runtime":""} ${Fe.length>0?"has-attachments":""} ${xe||ye?"has-selected-action":""} ${Vt?"has-attachment-error":""} ${Oe?"has-add-menu":""}`,onSubmit:l=>{l.preventDefault(),In()},children:[s.jsx("input",{webkitdirectory:"",ref:ke,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:l=>{bt(Array.from(l.currentTarget.files??[])),l.currentTarget.value=""}}),jn&&s.jsx(fc,{items:tt,mentionIndex:bs,onSelect:Ls,onSelectIndex:cn,style:mr}),_t&&s.jsx(Ec,{items:nt,onSelect:An,onSelectIndex:un,skillIndex:vs,style:hr}),Xn&&s.jsx(Ac,{actionCatalogCount:z.length,actionIndex:ks,items:He,onSelect:Ge,onSelectIndex:dn,style:fr}),s.jsx(Tc,{busy:bn,initialDescription:ut,open:Hn,onClose:pr,onSubmit:zs}),W&&s.jsxs("div",{className:"composer-footer",children:[W?s.jsx(fl,{busy:v||ge.busy,placement:kn,state:ge,onChange:E}):null,he&&L?s.jsx(Po,{busy:v,placement:kn,state:he,onChange:L}):null,ur?s.jsx(ml,{busy:v,placement:kn,state:te,onChange:D}):null]}),!W&&e==="work"&&s.jsx(hl,{project:ge,workspace:te}),N?s.jsx(o.Suspense,{fallback:null,children:s.jsx(lu,{runtime:N})}):null,T.enabled?s.jsx(ul,{inbox:T,onRestore:l=>{R(u.trim()?`${u}
4
+ [attachment text truncated]`;return`${e.slice(0,Math.max(0,Dt.maxTextChars-t.length))}${t}`}function Jc(){const e=o.useRef([]),t=o.useRef([]),n=o.useRef(!1),[r,a]=o.useState([]),[i,c]=o.useState(null);o.useEffect(()=>{e.current=r},[r]),o.useEffect(()=>()=>{n.current=!0;for(const h of e.current)cs(h);for(const h of t.current)cs(h)},[]);const u=o.useCallback(h=>{if(h.length===0)return;const p=Math.max(0,Dt.maxAttachments-r.length),k=[];let S=0,N=0;for(const v of h){if(v.size>Dt.maxAttachmentBytes){S+=1;continue}if(k.length>=p){N+=1;continue}const C="webkitRelativePath"in v&&typeof v.webkitRelativePath=="string"&&v.webkitRelativePath.trim()?v.webkitRelativePath.trim():void 0;k.push({id:Vc(),file:v,name:v.name||"Untitled file",mediaType:v.type||"application/octet-stream",sizeBytes:v.size,kind:Hc(v),...C?{relativePath:C}:{},...v.type.startsWith("image/")?{previewUrl:URL.createObjectURL(v)}:{}})}if(k.length>0&&(a([...r,...k]),c(null)),S>0||N>0){const v=[];S>0&&v.push(`${S} file${S===1?"":"s"} exceeded ${Wc(Dt.maxAttachmentBytes)}`),N>0&&v.push(`maximum ${Dt.maxAttachments} attachments`),c(v.join("; "))}},[r]),d=o.useCallback(h=>{a(p=>{const k=p.find(N=>N.id===h);k&&cs(k);const S=p.filter(N=>N.id!==h);return S.length===0&&c(null),S})},[]),f=o.useCallback(()=>{for(const h of e.current)cs(h);e.current=[],a([]),c(null)},[]),g=o.useCallback(()=>{const h=e.current;return h.length===0||(e.current=[],t.current=h,a([]),c(null)),h},[]),w=o.useCallback((h,p)=>{if(h.length===0)return;const k=new Set(h.map(S=>S.id));if(t.current=t.current.filter(S=>!k.has(S.id)),p==="restore"&&!n.current){a(S=>{const N=new Set(S.map(C=>C.id)),v=[...h.filter(C=>!N.has(C.id)),...S];return e.current=v,v});return}for(const S of h)cs(S)},[]);return{attachmentError:i,attachments:r,addFiles:u,clearAttachments:f,removeAttachment:d,settleStagedAttachments:w,setAttachmentError:c,stageAttachmentsForSubmit:g}}function cs(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function Yc(e,t){const n=e.slice(0,Math.max(0,Math.min(t,e.length))),r=/(?:^|\s)\/([a-zA-Z0-9_-]*)$/.exec(n);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:n.length,query:(r[1]??"").toLowerCase(),start:i}}function Zc(e,t,n=Or){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=n.find(u=>u.id===a[1]);if(!i)return null;const c=a[0].lastIndexOf("/");return c<0||typeof a.index!="number"?null:{command:i,end:r.length,start:a.index+c}}function eu(e,t=Or){return Na({commands:t,prompt:`/${e}`})}function ho(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name??"",n.label??"",n.description??"",typeof n.implementation?.type=="string"?n.implementation.type:""].join(" ").toLowerCase().includes(t):!0)}function po(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name,n.description??"",n.gitRepo??"",wo(n)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function go({actionCatalog:e,connectedAppMentions:t,mentionApps:n,profileSkills:r,query:a,surface:i,teamMentionMembers:c}){const u=a.toLowerCase();if(i==="team"){const h=c.filter(k=>u?[k.name,k.handle??""].map($n).some(S=>S.includes(u)):!0).map(k=>({kind:"team-member",member:k}));return[...Wr(e,u,e.length).map(k=>({kind:"action",action:k})),...h]}const d=n.filter(h=>u?[$n(h.id),$n(h.name),h.gitRepo?$n(h.gitRepo):"",wo(h)].some(k=>k.includes(u)):!0).map(h=>({kind:"app",app:h})),f=Wr(e,u,e.length).map(h=>({kind:"action",action:h})),g=Ks(r,u).map(h=>({kind:"skill",skill:h})),w=Ta(t,u).map(h=>({kind:"connected-app",app:h}));return[...f,...g,...d,...w]}function tu(e,t,n){const r=t?.trim();if(!r)return e;const a=Math.max(0,Math.min(n??0,e.length)),i=e.slice(0,a),c=e.slice(a),u=i&&!/\s$/.test(i)?" ":"",d=c&&!/^\s/.test(c)?" ":"";return`${i}${u}${r}${d}${c}`.replace(/\s+/g," ").trim()}function nu(e){const t=$n(Lr(e)||e.name||e.id);return t?`@${t}`:null}function su(e){const t=e.trim();if(!t.startsWith("{")||!t.endsWith("}"))return e;try{const n=JSON.parse(t);if(!n||Array.isArray(n)||typeof n!="object")return e;const r=Object.entries(n).filter(([,a])=>a!=null&&a!=="").map(([a,i])=>`${Ho(a)}: ${_r(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function Ho(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 _r(e,t){if(Array.isArray(t))return t.map(r=>_r(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${Ho(r)}: ${_r(r,a)}`).join(" · ");const n=String(t);return/Id$/.test(e)&&/^[a-z0-9_-]+$/i.test(n)?n.split(/[-_]+/).filter(Boolean).map(r=>`${r[0].toUpperCase()}${r.slice(1)}`).join(" "):n}function ru({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;const a=n?.trim(),i=a?.startsWith("@")?a:nu(e);return i?tu(su(t),i,r):null}function ou({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}const au=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function iu({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:u,attachmentCount:d,composerRef:f,createImproveActive:g,goalRuntimeActive:w,inputRef:h,inputShellRef:p,mentionQuery:k,prompt:S,selectedActionId:N,selectAddMenuItem:v,setActionIndex:C,setActionMenuDismissedPrompt:j,setAddMenuIndex:A,setAddMenuOpen:y,setAddMenuQuery:M,setMentionMenuDismissedPrompt:O,setMentionIndex:U,setSkillIndex:F,setSkillMenuDismissedPrompt:W,skillMatchCount:be,skillQuery:pe,slashMatchCount:we,slashQuery:ve,showActionMenu:X,showMentionMenu:ee,showSkillMenu:Me}){const[ge,he]=o.useState({}),[z,I]=o.useState({}),[te,ne]=o.useState({}),[me,ae]=o.useState({});return o.useEffect(()=>{U(0)},[k]),o.useEffect(()=>{F(0)},[be,pe]),o.useEffect(()=>{C(0)},[we,ve]),o.useEffect(()=>{const B=h.current?.element,oe=B?.parentElement;if(!B||!oe||typeof ResizeObserver>"u")return;const E=new ResizeObserver(()=>h.current?.resize());return E.observe(oe),()=>E.disconnect()},[]),o.useEffect(()=>{if(!i)return;function B(E){const L=E.target,D=h.current?.element?.parentElement;!u.current?.contains(L)&&!c.current?.contains(L)&&!D?.contains(L)&&(y(!1),M(""),O(e),j(n),W(t))}function oe(E){if(E.key==="Escape"){E.preventDefault(),y(!1),M(""),O(e),j(n),W(t);return}if(a.length!==0){if(E.key==="ArrowDown"){E.preventDefault(),A(L=>(L+1)%a.length);return}if(E.key==="ArrowUp"){E.preventDefault(),A(L=>(L-1+a.length)%a.length);return}if(E.key==="Home"){E.preventDefault(),A(0);return}if(E.key==="End"){E.preventDefault(),A(a.length-1);return}if(E.key==="Enter"){E.preventDefault();const L=a[r]??a[0];L&&v(L)}}}return document.addEventListener("pointerdown",B),document.addEventListener("keydown",oe),()=>{document.removeEventListener("pointerdown",B),document.removeEventListener("keydown",oe)}},[e,t,n,r,a,i]),o.useLayoutEffect(()=>{if(!i)return;const B=p.current;if(!B)return;const oe=B;function E(){ae($l(oe))}return E(),window.addEventListener("resize",E),window.addEventListener("scroll",E,!0),()=>{window.removeEventListener("resize",E),window.removeEventListener("scroll",E,!0)}},[i,d,g,w]),o.useLayoutEffect(()=>{if(!X)return;const B=h.current?.element,oe=f.current;if(!B||!oe)return;const E=B,L=oe;function D(){ne(jr(E,L))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,w,S,N,X]),o.useLayoutEffect(()=>{if(!Me)return;const B=h.current?.element,oe=f.current;if(!B||!oe)return;const E=B,L=oe;function D(){I(jr(E,L))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,w,S,N,Me]),o.useLayoutEffect(()=>{if(!ee)return;const B=h.current?.element,oe=f.current;if(!B||!oe)return;const E=B,L=oe;function D(){he(jr(E,L))}return D(),window.addEventListener("resize",D),window.addEventListener("scroll",D,!0),()=>{window.removeEventListener("resize",D),window.removeEventListener("scroll",D,!0)}},[d,g,w,S,N,ee]),{actionMenuStyle:te,addMenuStyle:me,mentionMenuStyle:ge,skillMenuStyle:z}}const lu=o.lazy(()=>de(()=>import("./ComposerCreateImproveStrip-S2sXX8UJ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),cu=Or.find(e=>e.id==="submit-issue"),uu=[],du=[];function fu({experience:e="development",mode:t,surface:n="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:u,composeNotice:d=null,mentionApps:f=[],connectedAppMentions:g=[],profileSkills:w=[],selectedMentionAppId:h=null,contextWindowStatus:p,goalRuntime:k=null,subagentRuntime:S=null,createImproveRuntime:N=null,busy:v,running:C=v,taskSessionId:j=null,taskEvents:A=du,steerActiveResponses:y=!1,submissionScopeKey:M="default",getCurrentSubmissionScopeKey:O,voiceInputChannelKey:U=M,initialSteerDrafts:F=uu,showProjectFooter:W=!0,autoFocus:be=!1,focusRequestId:pe=0,attachmentRequest:we=null,connection:ve,providerSettings:X=null,provider:ee,model:Me,projectTarget:ge,profileTarget:he=null,actionCatalog:z=[],requestedAction:I=null,workspaceTarget:te,codexPermissionMode:ne,codexReasoningEffort:me,openPondCommandAccessMode:ae,onProviderChange:B,onProviderSetupOpen:oe,onProjectTargetChange:E,onProfileTargetChange:L,onWorkspaceTargetChange:D,onModelChange:Ue,onCodexPermissionModeChange:Ne,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:Ce,onPromptChange:R,onMentionAppSelect:Ke,onSaveTaskDraft:Le,showToast:at,onSubmit:Et,onStop:Pe,onPauseGoal:ht}){const an=o.useRef(null),ln=o.useRef(null),x=o.useRef(null),T=ol(ve,j,A),ie=o.useRef(null),ke=o.useRef(null),H=o.useRef(null),Ee=o.useRef(null),le=o.useRef(0),Qe=I&&z.some(l=>l.id===I.actionId)?I:null,Ie=o.useRef(!1),At=o.useRef(0),Xe=o.useRef(Qe?.requestId??0),rt=o.useRef(new Set),pt=o.useRef(new Set),[se,Ae]=o.useState(u.length),xs=o.useRef(se);xs.current=se;const[bs,cn]=o.useState(0),[vs,un]=o.useState(0),[ks,dn]=o.useState(0),[ys,Ft]=o.useState(0),[_e,Tt]=o.useState(""),[nr,it]=o.useState(null),[fn,Te]=o.useState(null),[Ss,Nt]=o.useState(null),[Oe,zt]=o.useState(!1),[mn,zn]=o.useState(!1),[Je,lt]=o.useState(Qe?.actionId??null),[Bt,It]=o.useState(null),[gt,De]=o.useState(null),[Bn,ct]=o.useState(null),[qn,hn]=o.useState(null),[Un,pn]=o.useState(!1),[gn,Vn]=o.useState(()=>({[M]:F})),[qt,xn]=o.useState(null),[Hn,Ut]=o.useState(!1),[ut,re]=o.useState(""),[bn,xt]=o.useState(!1),{attachmentError:Vt,attachments:Fe,addFiles:bt,removeAttachment:Ye,settleStagedAttachments:Ze,setAttachmentError:Ve,stageAttachmentsForSubmit:sr}=Jc(),vn=o.useRef(0);o.useEffect(()=>{!we||vn.current===we.id||(vn.current=we.id,bt([we.file]))},[bt,we]);const rr=o.useCallback(l=>{const m=qc(l,Fe);return!m||Fe.length>=Dt.maxAttachments||m.size>Dt.maxAttachmentBytes?!1:(bt([m]),!0)},[bt,Fe]),Gn=ec({experience:e,mode:t,surface:n}),Rt=e==="development"||e==="work"&&ge.value!=="none",or=Ia(ee,Me,X),kn="top",js=o.useId(),ar=o.useId(),ws=o.useId(),Cs={"--context-fill":`${Math.round((p.percent??0)/100*360)}deg`,"--context-bar-fill":`${p.percent??0}%`},xe=o.useMemo(()=>z.find(l=>l.id===Je)??null,[z,Je]),vt=o.useMemo(()=>Ra(ee,e),[e,ee]),et=o.useMemo(()=>Rt?w:w.filter(l=>!au.has(l.name)),[e,w]),ye=o.useMemo(()=>vt.find(l=>l.id===Bt)??null,[vt,Bt]),Ht=ru({action:xe,prompt:u,selectedActionMentionText:Bn,selectedInvocationPosition:gt}),Ms=ou({attachmentCount:Fe.length,prompt:u,selectedAction:xe,selectedCommand:ye}),ir=o.useMemo(()=>{const l=Math.max(0,Math.min(gt??0,u.length));return ye?{icon:ye.id==="agent"?"plus":ye.id==="skill"?"skill":"workflow",key:`command:${ye.id}`,label:ye.id==="agent"?"Author Agent":ye.id,position:l,onRemove:()=>{It(null),De(null),ct(null)}}:xe?{icon:xe.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${xe.id}`,label:Lr(xe),position:l,onRemove:()=>{lt(null),De(null),ct(null)}}:null},[u.length,xe,ye,gt]),Gt=qn===M,Es=Gt||!Ms,As=Gt?"Preparing files":C?y?"Steer":"Queue for next turn":"Send",Re=Gt,Ts=Gt;function kt(l=M){const m=rt.current;return m.has(l)?!1:(m.add(l),!0)}function yt(l){rt.current.delete(l)}function Ns(l){return rt.current.has(l)}function Wt(){return Ns(M)}function Is(l){hn(m=>m===l?null:m)}const yn=o.useMemo(()=>{const l=Pa(X,{enabledOnly:!0}).map(G=>({...G,description:void 0})),m=Rt?l:l.filter(G=>G.value!=="codex"),P=te.value==="cloud"&&Rt?m.filter(G=>G.value==="openpond"):m,_=P.some(G=>G.value===ee)?P:[{value:ee,label:_a(ee,X),description:"Current"},...P],K={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[..._,K]},[ee,X,Rt,te.value]),Rs=o.useMemo(()=>jo(ee,X),[ee,X]),Se=o.useMemo(()=>$a(u,Math.min(se,u.length)),[se,u]),Sn=Se?`${u}:${Se.start}:${Math.min(se,u.length)}`:null,tt=o.useMemo(()=>Se?go({actionCatalog:z,connectedAppMentions:g,mentionApps:f,profileSkills:et,query:Se.query,surface:n,teamMentionMembers:i}):[],[z,g,f,Se,et,n,i]),Wn=o.useMemo(()=>n==="team"?[]:go({actionCatalog:z,connectedAppMentions:g,mentionApps:f,profileSkills:et,query:"",surface:n,teamMentionMembers:i}).filter(l=>l.kind!=="skill"),[z,g,f,et,n,i]),jn=!!(!Oe&&!Re&&Se&&Sn&&nr!==Sn&&tt.length>0),ze=o.useMemo(()=>Qi(u,Math.min(se,u.length)),[se,u]),Pt=ze?`${u}:${ze.start}:${ze.end}`:null,nt=o.useMemo(()=>ze?Ks(et,ze.query):[],[ze,et]),_t=!!(!Oe&&!Re&&ze&&Pt&&Ss!==Pt),Z=o.useMemo(()=>Yc(u,Math.min(se,u.length)),[se,u]),wn=Z?`${u}:${Z.start}:${Z.end}`:null,Kn=o.useMemo(()=>Z?ho(z,Z.query):[],[z,Z]),Ps=o.useMemo(()=>Z&&n!=="team"?po(f,Z.query):[],[Z,f,n]),Qn=o.useMemo(()=>Z&&n!=="team"?eu(Z.query,vt):[],[Z,vt,n]),_s=o.useMemo(()=>Z&&n!=="team"?Ks(et,Z.query):[],[Z,et,n]),He=o.useMemo(()=>[...Kn.map(l=>({kind:"action",action:l})),..._s.map(l=>({kind:"skill",skill:l})),...Qn.map(l=>({kind:"command",command:l})),...Ps.map(l=>({kind:"app-context",app:l}))],[Kn,Ps,Qn,_s]),Xn=!!(!Oe&&!Re&&Z&&wn&&fn!==wn),lr=o.useMemo(()=>vt.map(l=>({kind:"command",command:l})),[vt]),Jn=o.useMemo(()=>[...ho(z,"").map(l=>({kind:"action",action:l})),...po(f,"").map(l=>({kind:"app-context",app:l}))],[z,f]),$t=o.useMemo(()=>Ks(et,"").map(l=>({kind:"skill",skill:l})),[et]),Yn=o.useMemo(()=>{const l=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return Jn.length>0&&l.push({id:"slash",items:Jn.map(m=>({kind:"slash",item:m})),label:"Agents and actions",queryScope:"slash"}),$t.length>0&&l.push({id:"skills",items:$t.map(m=>({kind:"slash",item:m})),label:"Skills",queryScopes:["slash","mentions"]}),l.push({id:"openpond",items:lr.map(m=>({kind:"slash",item:m})),label:"OpenPond",grid:!0,queryScope:"slash"}),l.push({emptyLabel:"No mentions available",id:"mentions",items:Wn.map(m=>({kind:"mention",item:m})),label:"@"}),l},[Wn,lr,$t,Jn,e]),Kt=o.useMemo(()=>cc(Yn,_e),[_e,Yn]),Qt=o.useMemo(()=>Kt.flatMap(l=>l.items),[Kt]);o.useEffect(()=>{Oe&&Ft(l=>l<Qt.length?l:0)},[Qt.length,Oe]);const ot=!!k,Xt=ot&&k?.tone==="active",fe=Xt?"Pause goal":"Stop response",cr=Xt?"pause":"stop",ur=e==="work"||ge.value!=="none",dr=Ir(gn,M,F),Zn=qt?.scopeKey===M?qt.draftId:null;function Cn(l,m){Vn(P=>cl(P,l,m,l===M?F:[]))}o.useLayoutEffect(()=>{x.current?.resize()},[Fe.length,Vt,N,k,u,Je,Bt,gt]),o.useEffect(()=>{if(!be){Ie.current=!1;return}if(Ie.current||Re)return;const l=window.requestAnimationFrame(()=>{Ie.current=!0;const m=document.activeElement;m&&m!==document.body&&m!==document.documentElement||x.current?.focusAtPromptIndex(u.length)});return()=>window.cancelAnimationFrame(l)},[be,Re,u.length]),o.useEffect(()=>{!pe||At.current===pe||Re||(At.current=pe,window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(u.length)}))},[pe,Re,u.length]),o.useEffect(()=>{k||pn(!1)},[k]),o.useEffect(()=>{Je&&!z.some(l=>l.id===Je)&&(lt(null),De(null))},[z,Je]),o.useEffect(()=>{if(!I||I.requestId<=Xe.current)return;const l=z.find(m=>m.id===I.actionId);l&&(Xe.current=I.requestId,lt(l.id),It(null),De(0),ct(null),R(""),Ae(0),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[z,R,I]),o.useEffect(()=>{!xe&&!ye||De(l=>l===null?0:Math.max(0,Math.min(l,u.length)))},[u.length,xe,ye]),o.useEffect(()=>{if(!h||!Ke)return;const l=f.find(m=>m.id===h);(!l||!La(u,l))&&Ke(null)},[f,Ke,u,h]);const{actionMenuStyle:fr,addMenuStyle:Lt,mentionMenuStyle:mr,skillMenuStyle:hr}=iu({activeMentionKey:Sn,activeSkillKey:Pt,activeSlashKey:wn,addMenuIndex:ys,addMenuItems:Qt,addMenuOpen:Oe,addMenuPanelRef:Ee,addMenuRef:H,attachmentCount:Fe.length,composerRef:an,createImproveActive:!!N,goalRuntimeActive:!!k,inputRef:x,inputShellRef:ln,mentionQuery:Se?.query,prompt:u,selectedActionId:Je,selectAddMenuItem:Ds,setActionIndex:dn,setActionMenuDismissedPrompt:Te,setAddMenuIndex:Ft,setAddMenuOpen:zt,setAddMenuQuery:Tt,setMentionMenuDismissedPrompt:it,setMentionIndex:cn,setSkillIndex:un,setSkillMenuDismissedPrompt:Nt,skillMatchCount:nt.length,skillQuery:ze?.query,slashMatchCount:He.length,slashQuery:Z?.query,showActionMenu:Xn,showMentionMenu:jn,showSkillMenu:_t});function St(){lt(null),It(null),De(null),ct(null)}function Ot(){St(),R(""),Ae(0)}function es(l){re(l.trim()),Ut(!0)}function pr(){bn||(Ut(!1),St())}async function ts(){return await(Xt&&ht?ht():Pe())}function jt(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=u.slice(0,_),ce=u.slice(K),dt=G&&!/\s$/.test(G)?" ":"",nn=ce&&!/^\s/.test(ce)?" ":"",sn=`${Da(l)} `,ft=`${dt}${sn}${nn}`,rn=`${G}${ft}${ce}`,We=G.length+ft.length;return R(rn),Ke?.(l.id),Ae(We),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(We)}),We}function gr(l){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));jt(l,{start:Se.start,end:m})}function je(l,m,P=null){const _=Math.max(0,Math.min(se,u.length)),K=m?Math.max(0,Math.min(m.start,u.length)):_,G=m?Math.max(K,Math.min(m.end,u.length)):K,ce=`${u.slice(0,K)}${u.slice(G)}`;return lt(l.id),It(null),De(K),ct(P?.startsWith("@")?P:null),Te(null),R(ce),Ae(K),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(K,{afterToken:!0})}),K}function Mn(l){if(!Se)return;const m=Math.max(0,Math.min(se,u.length)),P=Math.max(0,Math.min(Se.start,u.length)),_=Math.max(P,Math.min(m,u.length));je(l,{start:P,end:_},u.slice(P,_).trim())}function $s(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=u.slice(0,_),ce=u.slice(K),dt=G&&!/\s$/.test(G)?" ":"",nn=ce&&!/^\s/.test(ce)?" ":"",sn=`${Fa(l)} `,ft=`${dt}${sn}${nn}`,rn=`${G}${ft}${ce}`,We=G.length+ft.length;return R(rn),Ae(We),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(We)}),We}function xr(l){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));$s(l,{start:Se.start,end:m})}function ns(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=l.handle||$n(l.name),ce=u.slice(0,_),dt=u.slice(K),nn=ce&&!/\s$/.test(ce)?" ":"",sn=dt&&!/^\s/.test(dt)?" ":"",ft=`${nn}@${G} ${sn}`,rn=`${ce}${ft}${dt}`,We=ce.length+ft.length;return R(rn),Ae(We),window.requestAnimationFrame(()=>x.current?.focusAtPromptIndex(We)),We}function Ls(l){if(l.kind==="team-member"){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));ns(l.member,{start:Se.start,end:m});return}if(l.kind==="app"){gr(l.app);return}if(l.kind==="connected-app"){xr(l.app);return}if(l.kind==="skill"){if(!Se)return;const m=Math.max(0,Math.min(se,u.length));Yt(l.skill,{start:Se.start,end:m});return}Mn(l.action)}function wt(l){Z&&(Te(null),jt(l,{start:Z.start,end:Z.end}))}function Os(l){Z&&je(l,Z)}function Jt(l,m){const P=Math.max(0,Math.min(se,u.length)),_=m?Math.max(0,Math.min(m.start,u.length)):P,K=m?Math.max(_,Math.min(m.end,u.length)):_,G=`${u.slice(0,_)}${u.slice(K)}`;return It(l.id),lt(null),De(_),ct(null),Te(null),R(G),Ae(_),l.id==="submit-issue"&&es(G),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(_,{afterToken:!0})}),_}function En(l){Z&&Jt(l,Z)}function Ge(l){if(l.kind==="command"){En(l.command);return}if(l.kind==="app-context"){wt(l.app);return}if(l.kind==="skill"){if(!Z)return;Yt(l.skill,Z);return}Os(l.action)}function Yt(l,m){const P=Xi(u,m,l);return Nt(null),it(null),Te(null),R(P.value),Ae(P.cursor),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(P.cursor)}),P.cursor}function An(l){ze&&Yt(l,ze)}function Tn(){ie.current?.click()}function ss(){ke.current?.click()}function Be(l){le.current=l,Tt(""),Ft(0)}function rs(){const l=Math.max(0,Math.min(se,u.length)),m=Math.max(0,Math.min(le.current,u.length));return l>=m?{start:m,end:l}:{start:l,end:l}}function Ds(l){const m=rs();if(zt(!1),Tt(""),l.kind==="files"||l.kind==="folder"){if(m.start!==m.end){const P=`${u.slice(0,m.start)}${u.slice(m.end)}`;R(P),Ae(m.start)}Be(m.start),l.kind==="folder"?ss():Tn();return}if(l.kind==="slash"){if(l.item.kind==="command"){Be(Jt(l.item.command,m));return}if(l.item.kind==="app-context"){Be(jt(l.item.app,m));return}if(l.item.kind==="skill"){Be(Yt(l.item.skill,m));return}Be(je(l.item.action,m));return}if(l.item.kind==="team-member"){Be(ns(l.item.member,m));return}if(l.item.kind==="app"){Be(jt(l.item.app,m));return}if(l.item.kind==="connected-app"){Be($s(l.item.app,m));return}if(l.item.kind==="skill"){Be(Yt(l.item.skill,m));return}Be(je(l.item.action,m))}const{stageCurrentSteerDraft:Zt,submitImmediateSteer:en}=Ki({running:C,scope:M,inbox:T,getPrompt:()=>x.current?.getPrompt()??u,hasFilesOrActions:!!(Fe.length||xe||ye),provider:ee,model:Me,codexPermissionMode:ne,codexReasoningEffort:me,openPondCommandAccessMode:ae,getCurrentSubmissionScopeKey:O,onSubmit:Et,showToast:at,begin:l=>pt.current.has(l)?!1:(pt.current.add(l),!0),finish:l=>{pt.current.delete(l)},clear:Ot,setError:Ve,stageLocal:l=>{Cn(M,m=>[...m,Io(l)]),window.requestAnimationFrame(()=>x.current?.focusAtPromptIndex(0))}});async function os(l){const m=M;if(qt?.scopeKey===m)return!1;const P=Ir(gn,m,F).find(_=>_.id===l);if(!P)return!1;xn({draftId:l,scopeKey:m}),Ve(null);try{const _=C,K=await Et([],null,null,{preservePrompt:!0,promptOverride:P.prompt,..._?{turnMetadata:{interactionKind:"steer"}}:{}});return Cn(m,G=>ll(G,l,K)),K}catch(_){return Ve(_ instanceof Error?_.message:String(_)),!1}finally{xn(_=>_?.scopeKey===m&&_.draftId===l?null:_)}}function Fs(l){Zn!==l&&Cn(M,m=>Ro(m,l))}function Nn(l){if(Zn!==l.id){if(Fe.length>0||Je||Bt){at("Finish the current composer before editing a queued message.","info");return}Cn(M,m=>il(m,l.id,u)),R(l.prompt),Ae(l.prompt.length),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(l.prompt.length)})}}async function tn(l={}){const m=M;if(!kt(m))return!1;zt(!1),Ve(null);const P=sr();try{hn(P.length>0?m:null);let _;try{_=await Promise.all(P.map(Gc))}finally{Is(m)}const K=xe&&Ht&&!u.trim()?Ht:void 0,G=l.promptOverride??K,ce=await Et(_,xe,ye,Ht||G||l.preservePrompt?{...Ht?{displayPrompt:Ht}:{},...G!==void 0?{promptOverride:G}:{},...l.preservePrompt?{preservePrompt:!0}:{}}:void 0);return Ze(P,ce?"dispose":"restore"),ce&&!za(xe)&&St(),ce}catch(_){return Ze(P,"restore"),Ve(_ instanceof Error?_.message:String(_)),!1}finally{yt(m),Is(m)}}async function In(){if(C){y?await en():await Zt();return}if(Wt())return;const l=xe||ye?null:Co(u);if(ye?.id==="submit-issue"||l?.command==="submit-issue"){es(l?.command==="submit-issue"?l.args:u);return}Es||await tn()}function Rn(){nl(U)||In()}async function zs(l){if(Wt()||bn)return!1;const m=M;if(!kt(m))return!1;xt(!0),zt(!1),Ve(null);try{const P=await Et([],null,cu,{displayPrompt:`/submit-issue ${l.title.trim()}`,promptOverride:Oa(l)});return P&&(Ut(!1),St()),P}catch(P){return Ve(P instanceof Error?P.message:String(P)),!1}finally{yt(m),xt(!1)}}async function as(l,m){const P=x.current?.getPrompt()??u,_=Math.max(0,Math.min(xs.current,P.length)),K=To(P,l,m.submit?P.length:_),G=await Yi({appendToEnd:m.submit,currentScopeKey:O?.()??M,cursorIndex:_,originScopeKey:M,prompt:P,setOriginDraft:ce=>R(ce),submitFromOrigin:ce=>tn({preservePrompt:!0,promptOverride:ce}),transcript:l});if(G==="retained"){at("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(G==="submitted"){at("Voice message sent to the chat where recording started.","success");return}if(m.submit){if(C){y?await en(K.value):await Zt(K.value);return}await tn({promptOverride:K.value});return}Ae(K.cursorIndex),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(K.cursorIndex)})}return s.jsxs("form",{ref:an,className:`composer ${t} ${N?"has-create-runtime":""} ${ot?"has-goal-runtime":""} ${Fe.length>0?"has-attachments":""} ${xe||ye?"has-selected-action":""} ${Vt?"has-attachment-error":""} ${Oe?"has-add-menu":""}`,onSubmit:l=>{l.preventDefault(),In()},children:[s.jsx("input",{webkitdirectory:"",ref:ke,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:l=>{bt(Array.from(l.currentTarget.files??[])),l.currentTarget.value=""}}),jn&&s.jsx(fc,{items:tt,mentionIndex:bs,onSelect:Ls,onSelectIndex:cn,style:mr}),_t&&s.jsx(Ec,{items:nt,onSelect:An,onSelectIndex:un,skillIndex:vs,style:hr}),Xn&&s.jsx(Ac,{actionCatalogCount:z.length,actionIndex:ks,items:He,onSelect:Ge,onSelectIndex:dn,style:fr}),s.jsx(Tc,{busy:bn,initialDescription:ut,open:Hn,onClose:pr,onSubmit:zs}),W&&s.jsxs("div",{className:"composer-footer",children:[W?s.jsx(fl,{busy:v||ge.busy,placement:kn,state:ge,onChange:E}):null,he&&L?s.jsx(Po,{busy:v,placement:kn,state:he,onChange:L}):null,ur?s.jsx(ml,{busy:v,placement:kn,state:te,onChange:D}):null]}),!W&&e==="work"&&s.jsx(hl,{project:ge,workspace:te}),N?s.jsx(o.Suspense,{fallback:null,children:s.jsx(lu,{runtime:N})}):null,T.enabled?s.jsx(ul,{inbox:T,onRestore:l=>{R(u.trim()?`${u}
5
5
 
6
6
  ${l}`:l),x.current?.focusAtPromptIndex(0)}}):s.jsx(xl,{drafts:dr,sendingDraftId:Zn,onDeleteDraft:Fs,onEditDraft:Nn,onSteerDraft:l=>{os(l)}}),ot&&k&&s.jsx(gl,{detailsOpen:Un,goalRuntime:k,objectiveId:ws,subagentRuntime:S,onToggleDetails:()=>pn(l=>!l)}),d&&s.jsx("div",{className:`composer-notice ${d.tone}`,role:"status",children:d.message}),T.enabled&&C&&Ms&&s.jsxs("div",{className:"task-input-actions",children:[s.jsx("button",{type:"button",disabled:!!T.busyId||!T.snapshot?.acceptingInput,onClick:()=>{en()},children:"Steer now"}),s.jsx("button",{type:"button",disabled:!!T.busyId,onClick:()=>{Zt()},children:"Queue for next turn"})]}),s.jsxs("div",{className:"composer-input-shell",ref:ln,children:[Oe&&n!=="team"&&s.jsx(Dr,{id:js,ariaLabel:"Add to message",className:"composer-add-command-menu",menuIndex:ys,menuRef:Ee,sections:Kt,style:Lt,variant:"add",onSelect:Ds,onSelectIndex:Ft}),Fe.length>0&&s.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:Fe.map(l=>s.jsx(Uc,{attachment:l,onRemove:()=>Ye(l.id)},l.id))}),Vt&&s.jsx("div",{className:"composer-attachment-error",role:"status",children:Vt}),s.jsx("div",{className:"composer-textarea-frame",onClick:l=>{l.target===l.currentTarget&&x.current?.focusAtPromptIndex(se)},children:s.jsx(Jl,{ref:x,connectedAppMentions:g,disabled:Re,onCursorChange:Ae,onKeyDown:l=>{if(Oe&&["ArrowDown","ArrowUp","Home","End","Enter","Escape"].includes(l.key)){l.preventDefault();return}if(jn){if(l.key==="ArrowDown"){l.preventDefault(),cn(m=>(m+1)%tt.length);return}if(l.key==="ArrowUp"){l.preventDefault(),cn(m=>(m-1+tt.length)%tt.length);return}if(l.key==="Enter"||l.key==="Tab"){l.preventDefault(),Ls(tt[bs]??tt[0]);return}if(l.key==="Escape"){l.preventDefault(),it(Sn);return}}if(_t){if(nt.length>0&&l.key==="ArrowDown"){l.preventDefault(),un(m=>(m+1)%nt.length);return}if(nt.length>0&&l.key==="ArrowUp"){l.preventDefault(),un(m=>(m-1+nt.length)%nt.length);return}if(nt.length>0&&(l.key==="Enter"||l.key==="Tab")){l.preventDefault(),An(nt[vs]??nt[0]);return}if(l.key==="Escape"){l.preventDefault(),Nt(Pt??u);return}}if(Xn){if(He.length>0&&l.key==="ArrowDown"){l.preventDefault(),dn(m=>(m+1)%He.length);return}if(He.length>0&&l.key==="ArrowUp"){l.preventDefault(),dn(m=>(m-1+He.length)%He.length);return}if(He.length>0&&(l.key==="Enter"||l.key==="Tab")){l.preventDefault(),Ge(He[ks]??He[0]);return}if(l.key==="Escape"){l.preventDefault(),Te(wn??u);return}}if((xe||ye)&&l.key==="Backspace"&&se===(gt??0)){l.preventDefault(),St();return}if(Zl(l.key,l.ctrlKey,l.metaKey,l.shiftKey,e,n,!!Le)){l.preventDefault(),Yl({attachmentsCount:Fe.length,hasSelectedInvocation:!!(xe||ye),onSave:Le,onSaved:St,prompt:u,saving:mn,setSaving:zn,showInfo:m=>at(m,"info")});return}l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),Gt||In())},onPasteFiles:bt,onPasteTextAsAttachment:rr,onPromptChange:(l,m)=>{if(Oe){const _=Math.max(0,Math.min(le.current,l.length));m<_?(le.current=m,Tt("")):Tt(l.slice(_,m))}const P=n==="team"?null:Zc(l,m,vt);if(P){const _=`${l.slice(0,P.start)}${l.slice(P.end)}`,K=P.start;R(l),Ae(m),window.requestAnimationFrame(()=>{It(P.command.id),lt(null),De(K),Te(null),R(_),Ae(K),P.command.id==="submit-issue"&&es(_),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(K,{afterToken:!0})})});return}R(l)},onTokenPositionChange:l=>{if(!(!xe&&!ye)){if(l===null){St();return}De(l)}},placeholder:Gn,prompt:u,token:ir})}),s.jsx(wc,{surface:n,teamUseModel:r,teamUseModelLocked:a,onTeamUseModelChange:c,addFiles:bt,addMenuId:js,addMenuOpen:Oe,addMenuRef:H,busy:v,codexPermissionMode:ne,codexReasoningEffort:me,connection:ve,contextStatusStyle:Cs,contextStatusTooltipId:ar,contextWindowStatus:p,disabled:Ts,dropdownPlacement:kn,fileInputRef:ie,modelValue:or,modelOptions:Rs,openPondCommandAccessMode:ae,showCommandAccess:Rt,profileTarget:W?null:he,onCodexPermissionModeChange:Ne,onCodexReasoningEffortChange:st,onOpenPondCommandAccessModeChange:Ce,onProfileTargetChange:L,onModelChange:Ue,onOpenFilePicker:Tn,onProviderChange:B,onProviderSetupOpen:oe,onSend:Rn,onStop:ts,onToggleAddMenu:()=>{const l=Math.max(0,Math.min(se,u.length));Oe||(le.current=l,Tt(""),Ft(0),zt(!0)),window.requestAnimationFrame(()=>{x.current?.focusAtPromptIndex(l)})},onTranscript:as,voiceInputChannelKey:U,provider:ee,providerSettings:X,providerOptions:yn,running:C,sendDisabled:Es,sendTooltip:As,showToast:at,stopIcon:cr,stopLabel:fe})]})]})}const xo=o.memo(function({draftStore:t,...n}){const r=Ba(t),a=t.getScopeKey(),i=o.useCallback(c=>{t.setForScope(a,c)},[a,t]);return s.jsx(qa,{id:"composer",children:s.jsx(fu,{...n,prompt:r,onPromptChange:i})})});function bo({approval:e,onResolve:t}){const[n,r]=o.useState(null);if(o.useEffect(()=>{r(null)},[e?.id]),!e||e.kind==="create_plan")return null;const a=mu(e.detail),i=e.kind!=="subagent_patch_apply";async function c(u){if(!(!e||n)){r(u);try{await t(e.id,u)}catch{r(null)}}}return s.jsx("div",{className:"approval-request-shell",role:"status","aria-live":"polite",children:s.jsxs("section",{className:"approval-request-card","aria-label":`${vo(e.kind)} approval request`,children:[s.jsxs("div",{className:"approval-request-copy",children:[s.jsx("div",{className:"approval-request-header",children:s.jsx("span",{children:vo(e.kind)})}),s.jsx("code",{className:"approval-request-title",title:e.title,children:e.title}),a&&a!==e.title&&s.jsxs("details",{className:"approval-request-details",children:[s.jsx("summary",{children:"Details"}),s.jsx("pre",{children:a})]})]}),s.jsxs("div",{className:"approval-request-actions",children:[s.jsxs("button",{type:"button",className:"approval-action primary",disabled:!!n,onClick:()=>{c("accept")},children:[s.jsx(Mt,{size:14}),s.jsx("span",{children:n==="accept"?"Approving":"Approve"})]}),i?s.jsxs("button",{type:"button",className:"approval-action",title:"Approve for the rest of this session",disabled:!!n,onClick:()=>{c("acceptForSession")},children:[s.jsx(ji,{size:14}),s.jsx("span",{children:n==="acceptForSession"?"Approving":"Session"})]}):null,s.jsxs("button",{type:"button",className:"approval-action muted",disabled:!!n,onClick:()=>{c("decline")},children:[s.jsx(Ci,{size:14}),s.jsx("span",{children:n==="decline"?"Denying":"Deny"})]}),s.jsx("button",{type:"button",className:"approval-action icon-only",title:"Cancel task","aria-label":"Cancel task",disabled:!!n,onClick:()=>{c("cancel")},children:s.jsx(gs,{size:15})})]})]})})}function vo(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 mu(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const hu=/\.(?:m4v|mov|mp4|webm)$/i;function pu(e){return hu.test(e.trim().split(/[?#]/,1)[0]??"")}function gu(e,t){let n=e.trim();if(!n||!pu(n))return null;if(/^file:\/\//i.test(n))try{n=decodeURIComponent(new URL(n).pathname)}catch{n=n.replace(/^file:\/\//i,"")}if(/^\//.test(n)||/^[A-Za-z]:[\\/]/.test(n))return n;const r=t?.trim().replace(/[\\/]+$/,"");return r?`${r}/${n.replace(/^\.\//,"")}`:null}function xu(e,t={}){const n=bu(e),r=e.map(a=>({id:`message:${a.id}`,type:"message",message:a,showFooter:a.id===n}));return t.showThinkingIndicator&&r.push({id:"thinking",type:"thinking"}),r}function bu(e){for(let t=e.length-1;t>=0;t-=1){const n=e[t];if(n.role==="assistant")return n.id}return null}function Ed(e){const t=new Map;for(const n of e)n.role==="assistant"&&n.turnId&&t.set(n.turnId,n.id);return t}function Ad(e,t){const n=e.turnId;return e.role==="assistant"&&n!==void 0&&t.get(n)===e.id}function vu(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 n=t.activities?.[t.activities.length-1]??null;return n?.state!=="running"&&n?.state!=="pending"}return!0}function ku(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 n=new Set(t.map(a=>a.value));if(e.override&&n.has(e.override))return{source:e.override,options:t};const r=e.workspaceTarget==="local"?"local":"sandbox";return n.has(r)?{source:r,options:t}:{source:t[0].value,options:t}}const yu=new Set(["create","edit","help","list"]);function Su(e,t,n=null){return ju(e)}function ju(e){const t=e.trim();if(!t)return"/skill";const[n=""]=t.split(/\s+/,1);return yu.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function wu(e){const t=e.session?.currentProfile??null,n=e.session?await e.patchSession(e.session.id,e.ref):null;try{return{selected:await e.selectProfile(e.ref),session:n}}catch(r){if(n)try{await e.patchSession(n.id,t)}catch{}throw r}}function Cu(e,t){if(!e||!t)return null;const n=new Set(e.sources.filter(r=>r.sessionId===t).map(r=>r.id));return n.size?e.creations.find(r=>r.request.sourceIds.some(a=>n.has(a)))??null:null}function Mu(e){const[t,n]=o.useState(null),[r,a]=o.useState(null),[i,c]=o.useState(!1),[u,d]=o.useState(null),[f,g]=o.useState(null),w=o.useRef(null),h=o.useRef(0),p=o.useCallback(async(v,C={})=>{if(!e){a(null),d("OpenPond App server is not connected.");return}const j=h.current+1;h.current=j,C.silent||c(!0),d(null);try{const A=await $e.getCreateImproveCandidateDiff(e,v.runId,v.candidateId),y=w.current;if(j!==h.current||y?.runId!==v.runId||y.candidateId!==v.candidateId)return;a(A)}catch(A){if(j!==h.current)return;d(A instanceof Error?A.message:String(A))}finally{j===h.current&&!C.silent&&c(!1)}},[e]),k=o.useCallback(v=>{const C=w.current;if(!(v&&C?.runId===v.runId&&C.candidateId===v.candidateId)){if(w.current=v,n(v),g(null),!v){h.current+=1,a(null),d(null),c(!1);return}a(j=>j?.appId===Eu(v)?j:null),p(v)}},[p]),S=o.useCallback(async(v={})=>{const C=w.current;C&&await p(C,v)},[p]),N=o.useCallback(v=>{g({id:Date.now(),path:v})},[]);return o.useEffect(()=>{e||k(null)},[k,e]),{selection:t,diff:r,loading:i,error:u,openFileRequest:f,activate:k,refresh:S,openFile:N}}function Eu(e){return`candidate:${e.runId}:${e.candidateId}`}function Au(e){const{activeModel:t,activeProvider:n,bootstrap:r,codexPermissionMode:a,codexReasoningEffort:i,connection:c,onOpenRightChatForSession:u,onPayload:d}=e,f=o.useCallback(async h=>{if(!c||!r)throw new Error("OpenPond is still connecting.");const p=r.profile;if(p.mode!=="local"||!p.repoPath)throw new Error("A local Git-backed Profile is required to change an Agent.");const k=h.authoringModel??Ua(n,t,r.providers);if(!k)throw new Error("Choose a model before changing an Agent.");const S=await $e.createSession(c,{provider:k.providerId,modelRef:k,systemKind:"openpond.lab",hiddenFromDefaultSidebar:!0,title:`${h.operation==="create"?"New":"Improve"} Agent · ${h.objective.slice(0,80)}`,cwd:p.repoPath,metadata:{source:h.operation==="create"?"lab_agent_create":"lab_agent_improve",profileId:p.activeProfile??"default",targetAgentId:h.agentId??null}}),N=h.objective.trim();if(!N)throw new Error(h.operation==="create"?"Describe what the Agent should do.":"Describe what the Agent could do better.");if(k.providerId==="codex")throw new Error("Agent authoring uses OpenPond's bundled authoring skill. Choose a hosted model.");const v=h.operation==="create"?`/agent create ${N}`:`/agent improve ${h.agentId??""} ${N}`,C=await $e.sendTurn(c,S.id,{prompt:v,model:k.modelId,modelRef:k,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(c)),u(S.id,S)},[t,n,r,a,i,c,u,d]),g=o.useCallback((h,p,k)=>f({objective:h,operation:"create",authoringRunId:p,authoringModel:k}),[f]),w=o.useCallback((h,p,k,S,N)=>f({agentId:h,agentName:k,objective:p,operation:"improve",authoringRunId:S,authoringModel:N}),[f]);return{createAgentFromLab:g,improveAgentFromLab:w}}const Tu=72,Er=120,Go=24,Nu=280,Iu=460;function _n(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=Tu}const Gs={canGoPrevious:!1,canGoNext:!1};function Wo(e){return Array.from(e.querySelectorAll(".message-row.user")).filter(t=>t.parentElement===e)}function Ru({activeWorkspaceId:e,cloudProjects:t}){const n=t.find(i=>i.id===e),r=t.find(i=>i.organizationSlug||i.teamId),a=n??r??null;return{organizationSlug:a?.organizationSlug??null,teamId:a?.teamId??null}}function tr(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function Ko(e,t){return tr(e,t)+t.getBoundingClientRect().height}function Qo(e){return e.scrollTop+Go}function Xo(e){return e.scrollTop+8}function us(e){const t=Qo(e),n=Xo(e);let r=!1,a=!1;for(const i of Wo(e)){const c=tr(e,i);if(Ko(e,i)<n&&(r=!0),c>t+8&&(a=!0),r&&a)break}return{canGoPrevious:r,canGoNext:a}}function Pu(e,t){const n=Wo(e),r=Qo(e);if(t==="previous"){const a=Xo(e);for(let i=n.length-1;i>=0;i-=1){const c=n[i];if(Ko(e,c)<a)return c}return null}for(const a of n)if(tr(e,a)>r+8)return a;return null}function _u(e){return Math.min(Iu,Math.max(Nu,Math.abs(e)/5))}function $u(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}function Lu(e){const t=Va({messages:e});return t?{run:t}:null}function ko(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
 
8
- `):e.command==="agent"?e.args?`/agent ${e.args}`:"/agent":e.command==="skill"?e.args?`/skill ${e.args}`:"/skill":e.args?`/${e.command} ${e.args}`:`/${e.command}`}function Ar(e,t){return{surface:"chat",workflowKind:"slash_command",commandName:`/${e.command}`,commandSource:t}}function Ou(e){return e.command==="goal"||e.command==="agent"||e.command==="skill"||e.command==="workflow"||e.command==="sync-cloud"}function Du(e){const t=e?.trim()??"";return/^[a-z0-9]{24}$/.test(t)?t:null}function Fu({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){const a=Ha(t),i=t.selectedTaskIndex+1;return s.jsxs("section",{className:"training-chat-handoff","aria-label":"Model chat",children:[s.jsxs("div",{className:"training-chat-handoff-copy",children:[s.jsx("strong",{children:a?"Generated Taskset question":"Model chat"}),s.jsx("span",{children:t.tasksetName}),s.jsx("small",{children:a?`${zu(a.split)} · ${i} of ${t.tasks.length} · New chat per question`:"Ask the imported model directly"})]}),s.jsxs("div",{className:"training-chat-handoff-actions",children:[a?s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button","aria-label":"Previous generated question",title:"Previous question",disabled:e||t.selectedTaskIndex===0,onClick:()=>r(t.selectedTaskIndex-1),children:s.jsx(Ln,{size:14})}),s.jsx("button",{type:"button",className:"training-chat-handoff-load",disabled:e,onClick:()=>r(t.selectedTaskIndex),children:"Load question"}),s.jsx("button",{type:"button","aria-label":"Next generated question",title:"Next question",disabled:e||t.selectedTaskIndex>=t.tasks.length-1,onClick:()=>r(t.selectedTaskIndex+1),children:s.jsx(Mo,{size:14})})]}):null,s.jsx("button",{type:"button","aria-label":"Close generated question handoff",title:"Close",disabled:e,onClick:n,children:s.jsx(gs,{size:14})})]})]})}function zu(e){return e==="frozen_eval"?"Frozen evaluation":e==="validation"?"Validation":"Training"}function Bu({activeModel:e,activeProvider:t,busy:n,handoff:r,onDismiss:a,onSelectTask:i}){return!r||r.model.providerId!==t||r.model.modelId!==e?null:s.jsx(Fu,{busy:n,handoff:r,onDismiss:a,onSelectTask:i})}function qu({canGoNext:e,canGoPrevious:t,onJumpToLatest:n,onNext:r,onPrevious:a}){return s.jsxs("div",{className:"chat-scroll-controls","aria-label":"Message navigation",children:[s.jsx("button",{type:"button",className:"chat-scroll-control-button","data-tooltip":"Go to previous message","aria-label":"Go to previous message","aria-disabled":!t,onClick:a,children:s.jsx(Ln,{size:17})}),s.jsx("button",{type:"button",className:"chat-scroll-control-button primary","data-tooltip":"Jump to latest","aria-label":"Jump to latest",onClick:n,children:s.jsx(bi,{size:18})}),s.jsx("button",{type:"button",className:"chat-scroll-control-button","data-tooltip":"Go to next message","aria-label":"Go to next message","aria-disabled":!e,onClick:r,children:s.jsx(Mo,{size:17})})]})}function Uu({busy:e,onSync:t}){return s.jsxs("button",{type:"button",className:"sync-local-button",disabled:e,onClick:t,children:[s.jsx(Ei,{size:15}),s.jsx("span",{children:e?"Syncing locally":"Sync locally to work on this"})]})}function Jo(e){return e.supportedView&&e.open&&!e.hasContentPanel}function Vu(e,t){return e==="team"?"team-active":e==="community"?"community-active":e==="apps"||e==="get-started"||e==="labs"||e==="outputs"||e==="projects"||e==="scheduled"?"page-active":t?"chat-active":"chat-start"}function Hu(e){const{contentKey:t,threadElement:n=null,enabled:r=!0,onContentChange:a,threadRef:i}=e,c=o.useRef(a),u=o.useRef(null);c.current=a,o.useLayoutEffect(()=>{const d=n??i.current;if(!r||!d||typeof window>"u")return;let f=null,g=0,w=d.scrollHeight;const h=(C=!0)=>{C&&(g=Math.max(g,4)),f===null&&(f=window.requestAnimationFrame(()=>{f=null,i.current===d&&c.current(d);const j=Math.abs(d.scrollHeight-w)>1;w=d.scrollHeight,g-=1,(g>0||j)&&h(!1)}))};u.current=()=>h();const p=typeof MutationObserver>"u"?null:new MutationObserver(()=>{N(),h()}),k=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>h()),S=new Set,N=()=>{if(!k)return;const C=new Set(Array.from(d.children).filter(j=>j instanceof HTMLElement));for(const j of S)C.has(j)||(k.unobserve(j),S.delete(j));for(const j of C)S.has(j)||(k.observe(j),S.add(j))};p?.observe(d,{childList:!0,characterData:!0,subtree:!0}),N();const v=()=>h();return d.addEventListener("load",v,!0),()=>{u.current=null,p?.disconnect(),k?.disconnect(),d.removeEventListener("load",v,!0),f!==null&&window.cancelAnimationFrame(f)}},[r,n,i]),o.useLayoutEffect(()=>{r&&u.current?.()},[t,r])}function Gu({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:a,onLoadMoreChatHistory:i,pendingApproval:c,showChatThread:u,showThinkingIndicator:d,view:f}){const g=o.useRef(null),[w,h]=o.useState(null),p=o.useCallback(x=>{g.current=x,h(T=>T===x?T:x)},[]),k=o.useRef(null),S=o.useRef(!0),N=o.useRef(0),v=o.useRef(0),C=o.useRef(0),j=o.useRef(null),A=o.useRef(null),y=o.useRef(!1),M=o.useRef(!1),O=o.useRef(!1),U=o.useRef(null),F=o.useRef(null),W=o.useRef(null),[be,pe]=o.useState(0),[we,ve]=o.useState(null),[X,ee]=o.useState(!1),[Me,ge]=o.useState(132),[he,z]=o.useState(Gs),I=o.useMemo(()=>xu(a,{showThinkingIndicator:d}),[a,d]),te=o.useMemo(()=>({"--chat-composer-reserve":`${Me}px`}),[Me]),ne=a.at(-1),me=[I.length,ne?.id??"",ne?.content?.length??0,ne?.timestamp??"",d?"thinking":""].join(":"),ae=n,B=e,oe=f==="chat"&&u&&!!B&&we!==B,E=o.useCallback(x=>{ee(T=>T===x?T:x)},[]),L=o.useCallback(x=>{z(T=>T.canGoPrevious===x.canGoPrevious&&T.canGoNext===x.canGoNext?T:x)},[]),D=o.useCallback((x,T={})=>{const ie=T.nearBottom??_n(x);E(!ie),L(us(x))},[E,L]),Ue=o.useCallback(x=>{const T=M.current;M.current=!1,ve(x),E(!1),L(Gs),T&&pe(ie=>ie+1)},[E,L]),Ne=o.useCallback(()=>{W.current===null||typeof window>"u"||(window.cancelAnimationFrame(W.current),W.current=null)},[]),st=o.useCallback((x,T,ie)=>{Ne();const ke=Math.max(0,x.scrollHeight-x.clientHeight),H=()=>{const pt=typeof T=="function"?T():T;return Math.max(0,Math.min(pt,Math.max(0,x.scrollHeight-x.clientHeight)))},Ee=Math.max(0,Math.min(H(),ke)),le=x.scrollTop,Qe=Ee-le;if(typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches===!0||Math.abs(Qe)<1){x.scrollTop=Ee,ie?.();return}const At=_u(Qe),Xe=window.performance.now(),rt=pt=>{if(g.current!==x){W.current=null;return}const se=Math.min(1,(pt-Xe)/At),Ae=H();if(x.scrollTop=le+(Ae-le)*$u(se),se<1){W.current=window.requestAnimationFrame(rt);return}x.scrollTop=H(),W.current=null,ie?.()};W.current=window.requestAnimationFrame(rt)},[Ne]),Ce=o.useCallback(()=>{O.current=!1,!(U.current===null||typeof window>"u")&&(window.cancelAnimationFrame(U.current),U.current=null)},[]),R=o.useCallback(()=>{F.current===null||typeof window>"u"||(window.cancelAnimationFrame(F.current),F.current=null)},[]),Ke=o.useCallback(x=>{if(typeof window>"u"){x.scrollTop=x.scrollHeight;return}if(F.current!==null)return;let T=window.performance.now();const ie=ke=>{if(g.current!==x||!S.current){F.current=null;return}const H=Math.max(0,x.scrollHeight-x.clientHeight),Ee=H-x.scrollTop;if(Math.abs(Ee)<=.75){x.scrollTop=H,F.current=null;return}if(Ee<0||Ee>240)x.scrollTop=H;else{const le=Math.max(.5,Math.min(3,(ke-T)/16.666666666666668)),Qe=1-Math.pow(1-.22,le);x.scrollTop+=Math.min(36*le,Ee*Qe)}T=ke,F.current=window.requestAnimationFrame(ie)};F.current=window.requestAnimationFrame(ie)},[]),Le=o.useCallback((x,T={})=>{if(R(),x.scrollTop=x.scrollHeight,typeof window>"u"){T.finishInitial&&Ue(T.conversationKey??null);return}Ce(),O.current=!0;let ke=0,H=0,Ee=x.scrollHeight;const le=T.settle?12:2,Qe=()=>{const Ie=g.current;if(!Ie){U.current=null,O.current=!1,T.finishInitial&&Ue(T.conversationKey??null);return}Ie.scrollTop=Ie.scrollHeight;const At=Ie.scrollHeight-Ie.scrollTop-Ie.clientHeight,Xe=Math.abs(Ie.scrollHeight-Ee)<=1;if(Ee=Ie.scrollHeight,H=At<=1&&Xe?H+1:0,ke+=1,ke<le&&H<2){U.current=window.requestAnimationFrame(Qe);return}U.current=null,O.current=!1,S.current=!0,E(!1),L(us(Ie)),T.finishInitial&&Ue(T.conversationKey??null)};U.current=window.requestAnimationFrame(Qe)},[Ce,R,Ue,E,L]),at=o.useCallback(()=>{const x=g.current;x&&(Ce(),R(),S.current=!0,E(!1),st(x,()=>x.scrollHeight-x.clientHeight,()=>{g.current===x&&(x.scrollTop=x.scrollHeight,S.current=!0,E(!1),L(us(x)))}))},[Ce,R,E,L,st]),Et=o.useCallback(x=>{const T=g.current;if(!T)return;const ie=Pu(T,x);if(!ie)return;Ce(),R(),st(T,()=>ie.isConnected?Math.max(0,tr(T,ie)-Go):T.scrollTop,()=>{if(g.current!==T)return;const H=_n(T);S.current=H,D(T,{nearBottom:H})})},[Ce,R,st,D]),Pe=o.useCallback(()=>{const x=g.current;x&&(A.current={scrollHeight:x.scrollHeight,scrollTop:x.scrollTop},S.current=!1,R())},[R]),ht=o.useCallback(async()=>{if(ae&&!(!i||r||y.current)){Pe(),y.current=!0;try{await i()}finally{y.current=!1}}},[ae,r,i,Pe]),an=o.useCallback(x=>{if(O.current){S.current=!0,E(!1),L(Gs);return}const T=_n(x),ie=Math.abs(x.scrollHeight-v.current)>1||Math.abs(x.clientHeight-C.current)>1,ke=x.scrollTop<N.current-1;N.current=x.scrollTop,v.current=x.scrollHeight,C.current=x.clientHeight,T?(S.current=!0,D(x,{nearBottom:!0})):ke&&!ie?(S.current=!1,R(),D(x,{nearBottom:!1})):S.current?(E(!1),L(us(x))):D(x,{nearBottom:!1}),!M.current&&x.scrollTop<=Er&&ae&&!r&&ht()},[ae,R,r,ht,E,L,D]),ln=o.useCallback(x=>{!S.current&&!_n(x)||(S.current=!0,Ke(x))},[Ke]);return Hu({contentKey:me,enabled:f==="chat"&&u,onContentChange:ln,threadElement:w,threadRef:g}),o.useLayoutEffect(()=>{if(f!=="chat"||!u||typeof window>"u")return;const x=k.current;if(!x)return;let T=null;const ie=()=>{T=null;const Ee=Math.max(96,Math.ceil(x.getBoundingClientRect().height+20));ge(le=>le===Ee?le:Ee)},ke=()=>{T===null&&(T=window.requestAnimationFrame(ie))};ke();const H=typeof window.ResizeObserver>"u"?null:new window.ResizeObserver(ke);return H?.observe(x),window.addEventListener("resize",ke),()=>{T!==null&&window.cancelAnimationFrame(T),H?.disconnect(),window.removeEventListener("resize",ke)}},[u,f]),o.useLayoutEffect(()=>{const x=g.current;f!=="chat"||!u||!x||M.current||!S.current&&!_n(x)||(S.current=!0,Le(x,{settle:!0}))},[Me,Le,u,f]),o.useLayoutEffect(()=>{if(t===0||f!=="chat"||!u)return;const x=g.current;x&&(S.current=!0,E(!1),Le(x,{settle:!0}))},[t,Le,E,u,f]),o.useLayoutEffect(()=>{A.current=null,y.current=!1,M.current=!0,S.current=!0,N.current=0,v.current=0,C.current=0,R(),Ne(),Ce(),ve(null),E(!1),L(Gs)},[Ce,Ne,R,B,E,L]),o.useEffect(()=>{const x=g.current;f!=="chat"||!x||M.current||!ae||r||x.scrollTop<=Er&&x.scrollHeight<=x.clientHeight+Er&&ht()},[ae,r,be,I.length,ht,f]),o.useLayoutEffect(()=>{const x=A.current,T=g.current;!x||!T||M.current||(A.current=null,T.scrollTop=x.scrollTop+Math.max(0,T.scrollHeight-x.scrollHeight),D(T))},[I.length,D]),o.useLayoutEffect(()=>{const x=g.current;if(f!=="chat"||!B||!x){j.current=B,S.current=!0,Ue(B);return}const T=j.current!==B;if(j.current=B,T||M.current){S.current=!0,Le(x,{conversationKey:B,finishInitial:!0,settle:!0});return}const ie=_n(x);if(S.current||ie){S.current=!0,E(!1),L(us(x)),Le(x,{settle:!0});return}D(x,{nearBottom:ie})},[B,w,Ue,c?.id,Le,E,L,D,f]),o.useEffect(()=>()=>{Ce(),Ne(),R()},[Ce,Ne,R]),{chatColumnStyle:te,chatThreadPreparingInitialScroll:oe,chatThreadRef:p,composerStackRef:k,goToUserMessage:Et,handleChatScroll:an,jumpToLatestChatMessage:at,showScrollToBottomButton:X,userMessageNavigation:he,chatTimelineRows:I}}const Wu=o.lazy(()=>de(()=>import("./WorkspaceDiffPanel-CfvvifJg.js").then(e=>e.a),__vite__mapDeps([8,1,2,3,4,9,5,10,7,11,12,13,14,15,16,17]),import.meta.url).then(e=>({default:e.WorkspaceDiffPanel}))),Ku=o.lazy(()=>de(()=>import("./AppTerminalPanel-CUqrUrkA.js"),__vite__mapDeps([18,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),Qu=o.lazy(()=>de(()=>import("./RightSidebarHomePanel-B--t--OJ.js"),__vite__mapDeps([19,1,2,3,4,16,12,14]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Xu=o.lazy(()=>de(()=>import("./WorkSidebarPanel-B-fDRRRs.js"),__vite__mapDeps([20,1,2,3,4,10,12,14,5,9,21,22,23,24]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),Ju=o.lazy(()=>de(()=>import("./NewExperienceSwitcher-CwlpLsXW.js"),__vite__mapDeps([25,1,2,3,4]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Yu=o.lazy(()=>de(()=>import("./CollaborationTabs-ByC9WJqu.js"),__vite__mapDeps([26,1,2,3,4,27]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),Zu=o.lazy(()=>de(()=>import("./AppsView-5J2RX301.js"),__vite__mapDeps([28,1,2,3,4,29]),import.meta.url).then(e=>({default:e.AppsView}))),ed=o.lazy(()=>de(()=>import("./GetStartedView-1WYkmevY.js"),__vite__mapDeps([30,1,2,6,3,4,31,5,32]),import.meta.url).then(e=>({default:e.GetStartedView}))),td=o.lazy(()=>de(()=>import("./LabsRoute-BO0yEsCR.js").then(e=>e.q),__vite__mapDeps([33,1,2,3,4,31,21,11,7,13,0,5,6,34,35]),import.meta.url).then(e=>({default:e.LabsRoute}))),nd=o.lazy(()=>de(()=>import("./ScheduledWorkPage-JVfMtGMs.js"),__vite__mapDeps([36,1,2,3,4,37,5,6,7,15,14]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),sd=o.lazy(()=>de(()=>import("./OutputsPage-ClNuidPW.js"),__vite__mapDeps([38,1,2,3,4,10,5,12,21,22,23]),import.meta.url).then(e=>({default:e.OutputsPage}))),rd=o.lazy(()=>de(()=>import("./ProjectsPage-Sj83NsdP.js"),__vite__mapDeps([39,1,2,3,4,21,40]),import.meta.url).then(e=>({default:e.ProjectsPage}))),yo=o.lazy(()=>de(()=>import("./LabSkillSidebar-D3g6E0Ap.js"),__vite__mapDeps([41,1,2,3,4,5,14,21,22,23,42]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),od=o.lazy(()=>de(()=>import("./BrowserSidebar-mZ8RjUOr.js"),__vite__mapDeps([43,1,2,3,4,5,7,23,44]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),ad=o.lazy(()=>de(()=>import("./RightChatPanelStack-m5-cI0NL.js"),__vite__mapDeps([45,1,2,12,3,4,46,17,9,5,10,22,6,7,21,23]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),id=o.lazy(()=>de(()=>import("./NativeSkillSidebar-CF1NTAR6.js"),__vite__mapDeps([47,1,2,3,4,14,48]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),ld=o.lazy(()=>de(()=>import("./TeamChatView-D8ilbncz.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamChatView}))),cd=o.lazy(()=>de(()=>import("./TeamChatView-D8ilbncz.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamChatProView}))),ud=o.lazy(()=>de(()=>import("./CommunityView-BmxYkWqC.js"),__vite__mapDeps([52,1,2,53,3,4,7,9,5,10,21,22,23,54]),import.meta.url).then(e=>({default:e.CommunityView}))),dd=o.lazy(()=>de(()=>import("./TeamChatView-D8ilbncz.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),fd=o.lazy(()=>de(()=>import("./TeamChatView-D8ilbncz.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),md=o.lazy(()=>de(()=>import("./TrainingDraftPanel-B_Gh_0yq.js"),__vite__mapDeps([55,1,2,3,4,14,35]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),hd=o.lazy(()=>de(()=>import("./MainChatThread-CKPR_rY0.js"),__vite__mapDeps([56,1,2,46,3,4,17,9,5,10,22,12,6,7,21,23]),import.meta.url).then(e=>({default:e.MainChatThread}))),pd=o.lazy(()=>de(()=>import("./TrainingCreationPanel-CwpnBbuN.js"),__vite__mapDeps([57,1,2,3,4,35]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function gd({experience:e,onNewExperienceChange:t,view:n,teamChat:r,community:a,bootstrap:i,runtimeEvents:c,chatMessages:u,pendingUserMessage:d,contextWindowStatus:f,goalRuntime:g,subagentRuntime:w,selectedSessionId:h,composerDraftStore:p,mainComposerFocusRequestId:k,labCloseDetailRequestId:S,labCloseDetailKind:N,sideChatTrainingLaunchRequest:v,onSideChatTrainingLaunchHandled:C,mentionApps:j,connectedAppMentions:A,profileSkills:y,selectedMentionAppId:M,busy:O,turnRunning:U,activeProvider:F,activeModel:W,codexPermissionMode:be,codexReasoningEffort:pe,openPondCommandAccessMode:we,pendingApproval:ve,activeWorkspaceAppId:X,activeWorkspaceId:ee,activeWorkspaceKind:Me,projectTarget:ge,actionCatalog:he,workspaceTarget:z,connection:I,workspaceName:te,workspaceState:ne,workspaceDiff:me,workspaceBusy:ae,diffBusy:B,forceChatThread:oe=!1,diffPanelOpen:E,diffPanelExpanded:L,rightPanelMode:D,rightPanelTabRequest:Ue,rightChatPanels:Ne,runtimeEventStore:st,nativeSkillSidebar:Ce,extensionSkillSidebar:R,workspaceDiffPanelViewState:Ke,sidebarFileOpenRequest:Le,sidebarFileBookmarks:at,onSetSidebarFileStatus:Et,browserConversationId:Pe,terminalScope:ht,terminalTabs:an,terminalCwd:ln,pendingTerminalCommand:x,terminalOpen:T,onToggleTerminal:ie,onWorkspaceDiffPanelViewStateChange:ke,training:H,trainingSessions:Ee,trainingChatHandoff:le,trainingDetailTasksetId:Qe,onTrainingDetailTasksetIdChange:Ie,onTrainingChatTaskSelect:At,onTrainingChatHandoffDismiss:Xe,onOpenSession:rt,onExperienceHandoff:pt,cloudProjects:se,projects:Ae,projectsAccountBaseUrl:xs,projectsTeamName:bs,projectTaskCounts:cn,onNewCloudProject:vs,onNewProjectTask:un,onToggleProjectPinned:ks,onUploadLocalProject:dn,chatHistoryHasMore:ys=!1,chatHistoryLoading:Ft=!1,onDiffPanelResizeStart:_e,canSyncWorkspace:Tt,startMessage:nr,onPayload:it,onError:fn,setView:Te,onOpenProfileSettings:Ss,onOpenProviderSettings:Nt,onOpenTrainingSettings:Oe,onOpenDatasetStorageSettings:zt,changeDraftProvider:mn,changeProjectTarget:zn,changeWorkspaceTarget:Je,setDraftProvider:lt,setDraftModel:Bt,onBeginNewChatWithModel:It,changeCodexPermissionMode:gt,changeCodexReasoningEffort:De,changeOpenPondCommandAccessMode:Bn,resolveApproval:ct,answerCreateImproveQuestion:qn,approveCreateImproveRun:hn,applyCreateImproveCandidate:Un,cancelCreateImproveRun:pn,openCreateImprovePullRequest:gn,pauseCreateImproveRun:Vn,reconcileCreateImprovePullRequest:qt,rejectCreateImproveCandidate:xn,resumeCreateImproveRun:Hn,reviseCreateImproveRun:Ut,setMentionedAppId:ut,showToast:re,onSaveTaskDraft:bn,sendPrompt:xt,stopTurn:Vt,syncWorkspaceLocally:Fe,refreshWorkspaceDiff:bt,onToggleDiffPanelExpanded:Ye,onShowDiffPanel:Ze,onShowBrowserPanel:Ve,onShowTrainingDraftPanel:sr,onShowFilesPanel:vn,onShowRightChatPanel:rr,onAddRightChat:Gn,onOpenRightChatForSession:Rt,onLabDetailOpenChange:or,scheduledDetailOpen:kn,onScheduledDetailOpenChange:js,onTerminalTabsChange:ar,onCloseRightChatPanel:ws,onCloseNativeSkillSidebar:Cs,onActivateRightChatPanel:xe,onRightChatModelChange:vt,onRightChatPromptChange:et,onRightChatScrollStateChange:ye,onRightChatProviderChange:Ht,onSubmitRightChat:Ms,onStopRightChat:ir,onCloseTerminal:Gt,onLoadMoreChatHistory:Es}){const[As]=o.useState(()=>new Ui),Re=h&&!Kr(h)?h:null,Ts=Wi(st,Re),kt=o.useMemo(()=>Re?Ga(c,Ts.events):c,[Re,Ts.events,c]),yt=o.useMemo(()=>Re?Wa(As.project(kt),d):u,[As,Re,d,kt,u]),[Ns,Wt]=o.useState(null),[Is,yn]=o.useState(0),Rs=o.useRef(""),Se=o.useCallback(()=>Rs.current,[]),[Sn,tt]=o.useState(null),[Wn,jn]=o.useState(null),[ze,Pt]=o.useState(null),[nt,_t]=o.useState(null),[Z,wn]=o.useState(null),[Kn,Ps]=o.useState(null),[Qn,_s]=o.useState(null),[He,Xn]=o.useState([]);o.useEffect(()=>{tt(null)},[Pe]);const Jn=o.useMemo(()=>i?.sessions.find(b=>b.id===h)??null,[i?.sessions,h])?.currentProfile??i?.profileLibrary?.lastUsed??null,$t=Ka(i?.profileLibrary??{profiles:[]},Jn)??i?.profile??null,Yn=o.useMemo(()=>Qa($t,i?.extensionCatalog),[i?.extensionCatalog,$t]),Kt=o.useMemo(()=>Xa($t),[$t]),Qt=o.useCallback(async(b,$=h)=>{if(!I||!i)return;const J=Ja(i.profileLibrary??{profiles:[]},b);if(J)try{const Q=$&&!Kr($)?i.sessions.find(q=>q.id===$)??null:null,V=await wu({ref:J,session:Q,selectProfile:q=>$e.profileSelect(I,q),patchSession:(q,mt)=>$e.patchSession(I,q,{currentProfile:mt})});let ue=i.sessions;V.session&&(ue=ue.map(q=>q.id===V.session.id?V.session:q)),it({...i,profile:V.selected.profile,profileLibrary:V.selected.library,sessions:ue})}catch(Q){const V=Q instanceof Error?Q.message:String(Q);fn(V),re(V,"error")}},[i,I,fn,it,h,re]);o.useEffect(()=>{if(!Ya(Le,Pe))return;const{file:b,id:$}=Le;if(tt({id:$,path:b.path}),!I)return;let J=!1;return(b.workspaceKind==="local"?$e.workspaceFile(I,b.workspaceId,b.path).then(V=>V.content??""):$e.sandboxDownloadFile(I,b.workspaceId,b.path).then(V=>{if(V.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return V.contents})).then(V=>{if(J)return;const ue=b.path.split("/").at(-1)??b.path;Wt({id:$,file:new File([V],ue,{type:xd(b)})})}).catch(V=>{J||re(V instanceof Error?V.message:String(V),"error")}),()=>{J=!0}},[Pe,I,re,Le]);const ot=e==="development"||e==="work"&&ge.value!=="none",Xt=o.useMemo(()=>{if(e==="chat")return Kt;if(!ot)return[];const b=new Map(he.filter($=>!Za($)).map($=>[$.id,$]));for(const $ of Kt)b.set($.id,$);for(const $ of He)b.set($.id,$);return[...b.values()]},[he,e,ot,He,Kt]),fe=Mu(I),cr=o.useCallback(b=>{if(!b){fe.activate(null);return}fe.activate({runId:b.run.id,candidateId:b.candidate.id,title:b.run.objective,fileRootPath:b.fileRootPath,initialPath:b.initialPath})},[fe.activate]),ur=o.useCallback(()=>{fe.selection?.initialPath&&fe.openFile(fe.selection.initialPath),Ze()},[fe.openFile,fe.selection?.initialPath,Ze]),dr=o.useCallback(b=>{Pt(b),b&&Ze()},[Ze]),Zn=o.useCallback(()=>{Pt(null),L&&Ye()},[L,Ye]);o.useEffect(()=>{n!=="labs"&&Pt(null)},[n]);const Cn=o.useCallback((b,$)=>{const J=Date.now(),Q=he.find(ue=>ue.id===b)??null;p.set(""),ut(null),Te("chat");const V=ue=>{if(!(ue.find(Y=>Y.id===b)??null))return!1;const mt=ue.map(Y=>Y.id===b?{...Y,label:$}:Y);return Xn(mt),window.requestAnimationFrame(()=>{_s({actionId:b,requestId:Math.max(Date.now(),J+1)})}),!0};if(!I){Q?V([Q]):re("The Agent action catalog is still loading. Try Use again.","error");return}$e.profileCurrent(I).then(ue=>{const q=ue.actionCatalog.map(mt=>ei(mt));!V(q)&&Q?V([Q]):q.some(mt=>mt.id===b)||re("This Agent is ready, but its default chat action is unavailable.","error")}).catch(ue=>{Q||re(ue instanceof Error?ue.message:String(ue),"error")})},[he,p,I,ut,Te,re]),fr=o.useCallback((b,$)=>{p.set(b),ut(null),$&&mn($),Te("chat")},[mn,p,ut,Te]),Lt=o.useMemo(()=>ti(i?.preferences),[i?.preferences]),mr=Lt.training,{createAgentFromLab:hr,improveAgentFromLab:St}=Au({activeModel:W,activeProvider:F,bootstrap:i,codexPermissionMode:be,codexReasoningEffort:pe,connection:I,onOpenRightChatForSession:Rt,onPayload:it}),Ot=o.useMemo(()=>{const b=H.payload?.tasksets??[];return b.some($=>$.id===Z)?Z:b[0]?.id??null},[Z,H.payload?.tasksets]),es=n==="labs"&&Ot?`profiles/${i?.profile.activeProfile??"default"}/tasksets/${Ot}`:null,pr=o.useMemo(()=>{if(n!=="labs"||!Ot||!H.payload)return null;const b=H.payload.tasksets.find(Y=>Y.id===Ot);if(!b)return null;const $=H.payload.plans.filter(Y=>Y.tasksetId===b.id),J=new Set($.map(Y=>Y.id)),Q=H.payload.jobs.filter(Y=>J.has(Y.planId)).sort((Y,is)=>is.createdAt.localeCompare(Y.createdAt)),V=Q.find(Y=>Y.id===Kn)??Q[0]??null,ue=V?$.find(Y=>Y.id===V.planId)??null:$.sort((Y,is)=>is.createdAt.localeCompare(Y.createdAt))[0]??null,q=V?H.payload.models.find(Y=>Y.jobId===V.id)??null:null,mt=V?H.payload.artifacts.filter(Y=>Y.jobId===V.id):[];return{taskset:b,plan:ue,job:V,lineage:q,artifacts:mt}},[Ot,Kn,H.payload,n]),ts=o.useMemo(()=>Cu(H.payload,h),[h,H.payload]),jt=o.useMemo(()=>Lu(yt),[yt]),gr=!!g||!!jt||!!w,je=n==="labs"&&!!fe.selection,Mn=n==="labs"&&E&&D==="changes"&&!!ze,$s=(n==="chat"||n==="labs")&&!!X,xr=n==="chat"&&E&&D==="chat"&&Ne.length===0,ns=ni(Me)?ee??Du(te):null,Ls=n==="chat"&&!!ns,wt=ns,Os=!!wt||z.value==="cloud"||z.value==="hybrid",Jt=o.useMemo(()=>ku({workspaceTarget:z.value,localWorkspaceId:X,sandboxSourceAvailable:Os,sandboxWorkspaceId:wt,override:Wn}),[X,Os,wt,Wn,z.value]),En=Jt.source,Ge=En==="sandbox",Yt=o.useMemo(()=>En&&Jt.options.length>1?{value:En,options:Jt.options,onChange:jn}:null,[En,Jt.options]);o.useEffect(()=>{jn(null)},[X,Pe,wt,z.value]);const An=!Mn&&(je||$s||Ls)&&E&&(D==="changes"||D==="goal"&&gr||xr),Tn=n==="chat"&&E&&D==="browser",ss=(n==="chat"||n==="labs")&&E&&D==="chat"&&Ne.length>0,Be=n==="chat"&&E&&D==="training",rs=n==="chat"&&E&&!!Ce,Ds=n==="chat"&&E&&!!R,Zt=n==="team"&&E&&D==="chat"&&!!r.aiThread,en=n==="team"&&E&&D==="chat"&&!!r.agentConversation,os=e==="work"&&n==="chat"&&E&&D==="home",Fs=Jo({supportedView:n==="chat"&&ot||n==="labs",open:E,hasContentPanel:An||Mn||Tn||ss||Be||rs||Zt||en||os}),Nn=An||Mn||Tn||ss||Be||rs||Zt||en||os||Fs,tn=Nn&&D!=="chat"&&L,In=i?.account.baseUrl??i?.account.activeProfile?.baseUrl??null,Rn=Ru({activeWorkspaceId:ee,cloudProjects:se}),zs=n==="chat"&&U&&!ve&&vu(yt),as=oe||yt.length>0||zs,l=h??`draft:${n}:${Me??"none"}:${ee??X??"none"}`;Rs.current=l;const m=s.jsx(Bu,{activeModel:W,activeProvider:F,busy:U,handoff:le,onDismiss:Xe,onSelectTask:At}),P=o.useMemo(()=>({onAnswerQuestion:qn,onApprove:hn,onApplyCandidate:Un,onCancel:pn,onOpenPullRequest:gn,onPause:Vn,onReconcilePullRequest:qt,onRejectCandidate:xn,onResume:Hn,onRevise:Ut}),[qn,hn,Un,pn,gn,Vn,qt,xn,Hn,Ut]),_=o.useMemo(()=>jt?{...jt,...P}:null,[P,jt]),K=Vu(n,as),G=o.useCallback(async(b=[],$=null,J=null,Q={})=>{const V=Q.promptOverride??p.getSnapshot(),ue=()=>{Q.preservePrompt||(p.set(""),ut(null))};if(!$){const q=J?{command:J.id,args:V.trim()}:Co(V);if(q){if(!si({id:q.command},e))return re(`/${q.command} isn't available in ${e}.`,"info"),!1;if(q.command==="train")return b.length>0?(re("/train uses the selected chat; add other chats from Models.","error"),!1):h?(ue(),_t({id:Date.now(),objective:q.args.trim()||null,initialSessionIds:[h]}),Te("labs"),!0):(ue(),_t({id:Date.now(),objective:q.args.trim()||null,initialSessionIds:[]}),Te("labs"),!0);if(!q.args&&q.command!=="skill"&&q.command!=="sync-cloud")return re(`Add instructions after /${q.command}.`,"info"),!1;if(b.length>0)return re(`/${q.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(q.command==="submit-issue")return ri(A)?(yn(Y=>Y+1),xt([],null,oi(q.args),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Ar(q,J?"composer_selection":"prompt_parse")})):(re("Connect the GitHub app before using /submit-issue.","error"),!1);if(Ou(q)){const Y=q.command==="skill"?Su(q.args,F,i?.profile.sourcePath??null):ko(q);return yn(is=>is+1),xt([],null,Y,{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Ar(q,J?"composer_selection":"prompt_parse")})}return yn(Y=>Y+1),xt([],null,ko(q),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Ar(q,J?"composer_selection":"prompt_parse")})}}return yn(q=>q+1),xt(b,$,Q.promptOverride,{clearPrompt:Q.preservePrompt?()=>{}:void 0,displayPrompt:Q.displayPrompt,turnMetadata:Q.turnMetadata})},[W,F,Me,i?.profile,A,p,e,xt,h,ut,Te,re,H,n]),ce=o.useCallback(b=>{le&&b!==le.model.modelId&&Xe(),lt(F),Bt(b)},[F,Xe,Bt,lt,le]),dt=o.useCallback(b=>{le&&b!==le.model.providerId&&Xe(),mn(b)},[mn,Xe,le]),{chatColumnStyle:nn,chatThreadPreparingInitialScroll:sn,chatThreadRef:ft,chatTimelineRows:rn,composerStackRef:We,goToUserMessage:Fr,handleChatScroll:Yo,jumpToLatestChatMessage:Zo,showScrollToBottomButton:ea,userMessageNavigation:Bs}=Gu({browserConversationId:Pe,chatSubmissionVersion:Is,chatHistoryHasMore:ys,chatHistoryLoading:Ft,chatMessages:yt,onLoadMoreChatHistory:Es,pendingApproval:ve,showChatThread:as,showThinkingIndicator:zs,view:n}),qs=o.useCallback((b,$)=>{ai({conversationId:Pe,href:b,explicitFile:$?.explicitFile,newTab:$?.newTab}).then(J=>{J&&Ve()})},[Pe,Ve]),Us=pi({projectTargetDetail:ge.detail,projectTargetValue:ge.value,workspaceRepoPath:ne?.repoPath,workspaceTargetValue:z.value}),zr=o.useCallback(b=>{const $=gu(b,Us);if($&&I){$e.signLocalVideoUrl(I,{path:$}).then(({url:Q})=>qs(Q)).catch(Q=>{re(Q instanceof Error?Q.message:"Could not open this video.","error")});return}const J=gi(b,{workspaceRootPath:Us});Ze(),tt({id:Date.now(),path:J?.path??b})},[I,qs,Ze,re,Us]),Br=o.useCallback(async b=>{if(!I||!b.filePreview&&!b.imagePreview){re("File content is not available for this attachment.","error");return}try{const $=b.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",Q=`Attachments/${b.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${$}`,V={path:Q,status:"",additions:0,deletions:0,patch:"",content:null};let ue;if(b.filePreview){const q=await $e.chatAttachmentFile(I,b.filePreview);V.content=q.content}else b.imagePreview&&(ue=(await $e.signChatAttachmentImageUrl(I,b.imagePreview)).url);Ze(),tt({id:Date.now(),path:Q,file:V,...ue?{imageUrl:ue}:{}})}catch($){re($ instanceof Error?$.message:"Could not open this attachment.","error")}},[I,Ze,re]),ta=ae&&!!X&&!ne,qr=fe.selection?`candidate:${fe.selection.runId}:${fe.selection.candidateId}`:null,na=An?s.jsx(Wu,{appId:je?qr:Ge?null:X,workspaceId:je?qr:Ge?wt:X,workspaceKind:je?"local_project":Ge?null:"local_project",connection:I,runtimeEvents:kt,diff:je?fe.diff:Ge?null:me,fileRootPath:je?fe.selection?.fileRootPath??null:Ge?null:es,filesWithPreview:je,editorPreferences:i?.preferences.editor??null,loading:je?fe.loading:Ge?ae:B||ta,openFileRequest:je?fe.openFileRequest:Sn,sidebarFileBookmarks:at,sidebarFileSourceSessionId:h,onSetSidebarFileStatus:Et,readOnly:je,sideChatTabs:Ne.map(b=>({id:b.id,title:b.title,running:b.running})),sourceSwitcher:je?null:Yt,tabRequest:Ue,viewState:Ke,workspaceName:je?fe.selection?.title??"Change":Ge?te??"Sandbox":te,workspaceInitialized:je?!0:Ge?!!wt:!!ne?.initialized,workspaceError:je?fe.error:Ge?null:ne?.error??me?.error??null,expanded:L,onResizeStart:_e,onRefresh:b=>{je?fe.refresh(b):bt(b)},onToggleExpanded:Ye,onOpenBrowser:Ve,onOpenBrowserUrl:qs,onViewStateChange:ke,onCloseSideChat:ws,onOpenSideChat:n==="chat"?Gn:void 0,onSelectSideChat:b=>{xe(b),rr()},goalDetails:{active:D==="goal",createRuntime:_,goalRuntime:g,subagentRuntime:w},sandboxFileSource:Ge?{sandboxId:wt,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:pr}):null,sa=Tn?s.jsx(od,{conversationId:Pe,expanded:L,onResizeStart:_e}):null,ra=Zt?o.createElement(dd,{...r,key:r.aiThread?.conversationId,onResizeStart:_e}):null,oa=en?o.createElement(fd,{...r,key:r.agentConversation?.run.id,onResizeStart:_e}):null,aa=ss?s.jsx(ad,{panels:Ne,runtimeEventStore:st,actionCatalog:Xt,createImproveActions:P,contextCompaction:Lt.contextCompaction,steerActiveResponses:Lt.steerActiveResponses,busy:O,codexPermissionMode:be,codexReasoningEffort:pe,openPondCommandAccessMode:we,connection:I,connectedAppMentions:A,mentionApps:j,codexPersonalSkills:i?.codexPersonalSkills??[],profileSkills:y,profileLibrary:i?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:i?.extensionCatalog??null,projectTarget:ge,providerSettings:i?.providers??null,accountBaseUrl:In,billingOrganizationSlug:Rn.organizationSlug,billingTeamId:Rn.teamId,showToast:re,workspaceTarget:z,onAddChat:Gn,onActivatePanel:xe,onClosePanel:ws,onCodexPermissionModeChange:gt,onCodexReasoningEffortChange:De,onOpenPondCommandAccessModeChange:Bn,onModelChange:vt,onOpenAttachmentInSidebar:Br,onOpenFileInSidebar:zr,onOpenProfileSettings:Ss,onOpenSession:rt,onProviderChange:Ht,onProviderSetupOpen:Nt,onPromptChange:et,onProfileTargetChange:(b,$)=>{Qt($,b)},onScrollStateChange:ye,onProjectTargetChange:zn,onResolveApproval:ct,onResizeStart:_e,onSelectFiles:vn,onShowBrowserPanel:Ve,onStop:ir,onSubmit:Ms,onWorkspaceTargetChange:b=>{Je(b)}}):null,ia=Fs?s.jsx(Qu,{expanded:L,terminalOpen:T,sideChatAvailable:n==="chat"||n==="labs",onOpenBrowser:Ve,onOpenFiles:vn,onOpenReview:Ze,onOpenSideChat:Gn,onOpenTrainingDraft:sr,trainingDraftAvailable:!!h,onResizeStart:_e,onToggleExpanded:Ye,onToggleTerminal:ie}):null,la=os?s.jsx(Xu,{chatMessages:yt,connection:I,contextWindowStatus:f,expanded:L,runtimeEvents:kt,sessionId:h,showToast:re,onResizeStart:_e,onToggleExpanded:Ye,onUseOutput:b=>Wt({id:Date.now(),file:b}),onHandoffOutput:async(b,$,J)=>{await pt({target:b,sourceSessionId:h,output:$,prompt:ii($,b)}),J&&Wt({id:Date.now(),file:J})},onReviseOutput:(b,$,J)=>{Wt({id:Date.now(),file:$}),p.set(`Create revision ${b.revision+1} of "${b.title}" from the attached revision ${b.revision}. Apply only this requested change:
8
+ `):e.command==="agent"?e.args?`/agent ${e.args}`:"/agent":e.command==="skill"?e.args?`/skill ${e.args}`:"/skill":e.args?`/${e.command} ${e.args}`:`/${e.command}`}function Ar(e,t){return{surface:"chat",workflowKind:"slash_command",commandName:`/${e.command}`,commandSource:t}}function Ou(e){return e.command==="goal"||e.command==="agent"||e.command==="skill"||e.command==="workflow"||e.command==="sync-cloud"}function Du(e){const t=e?.trim()??"";return/^[a-z0-9]{24}$/.test(t)?t:null}function Fu({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){const a=Ha(t),i=t.selectedTaskIndex+1;return s.jsxs("section",{className:"training-chat-handoff","aria-label":"Model chat",children:[s.jsxs("div",{className:"training-chat-handoff-copy",children:[s.jsx("strong",{children:a?"Generated Taskset question":"Model chat"}),s.jsx("span",{children:t.tasksetName}),s.jsx("small",{children:a?`${zu(a.split)} · ${i} of ${t.tasks.length} · New chat per question`:"Ask the imported model directly"})]}),s.jsxs("div",{className:"training-chat-handoff-actions",children:[a?s.jsxs(s.Fragment,{children:[s.jsx("button",{type:"button","aria-label":"Previous generated question",title:"Previous question",disabled:e||t.selectedTaskIndex===0,onClick:()=>r(t.selectedTaskIndex-1),children:s.jsx(Ln,{size:14})}),s.jsx("button",{type:"button",className:"training-chat-handoff-load",disabled:e,onClick:()=>r(t.selectedTaskIndex),children:"Load question"}),s.jsx("button",{type:"button","aria-label":"Next generated question",title:"Next question",disabled:e||t.selectedTaskIndex>=t.tasks.length-1,onClick:()=>r(t.selectedTaskIndex+1),children:s.jsx(Mo,{size:14})})]}):null,s.jsx("button",{type:"button","aria-label":"Close generated question handoff",title:"Close",disabled:e,onClick:n,children:s.jsx(gs,{size:14})})]})]})}function zu(e){return e==="frozen_eval"?"Frozen evaluation":e==="validation"?"Validation":"Training"}function Bu({activeModel:e,activeProvider:t,busy:n,handoff:r,onDismiss:a,onSelectTask:i}){return!r||r.model.providerId!==t||r.model.modelId!==e?null:s.jsx(Fu,{busy:n,handoff:r,onDismiss:a,onSelectTask:i})}function qu({canGoNext:e,canGoPrevious:t,onJumpToLatest:n,onNext:r,onPrevious:a}){return s.jsxs("div",{className:"chat-scroll-controls","aria-label":"Message navigation",children:[s.jsx("button",{type:"button",className:"chat-scroll-control-button","data-tooltip":"Go to previous message","aria-label":"Go to previous message","aria-disabled":!t,onClick:a,children:s.jsx(Ln,{size:17})}),s.jsx("button",{type:"button",className:"chat-scroll-control-button primary","data-tooltip":"Jump to latest","aria-label":"Jump to latest",onClick:n,children:s.jsx(bi,{size:18})}),s.jsx("button",{type:"button",className:"chat-scroll-control-button","data-tooltip":"Go to next message","aria-label":"Go to next message","aria-disabled":!e,onClick:r,children:s.jsx(Mo,{size:17})})]})}function Uu({busy:e,onSync:t}){return s.jsxs("button",{type:"button",className:"sync-local-button",disabled:e,onClick:t,children:[s.jsx(Ei,{size:15}),s.jsx("span",{children:e?"Syncing locally":"Sync locally to work on this"})]})}function Jo(e){return e.supportedView&&e.open&&!e.hasContentPanel}function Vu(e,t){return e==="team"?"team-active":e==="community"?"community-active":e==="apps"||e==="get-started"||e==="labs"||e==="outputs"||e==="projects"||e==="scheduled"?"page-active":t?"chat-active":"chat-start"}function Hu(e){const{contentKey:t,threadElement:n=null,enabled:r=!0,onContentChange:a,threadRef:i}=e,c=o.useRef(a),u=o.useRef(null);c.current=a,o.useLayoutEffect(()=>{const d=n??i.current;if(!r||!d||typeof window>"u")return;let f=null,g=0,w=d.scrollHeight;const h=(C=!0)=>{C&&(g=Math.max(g,4)),f===null&&(f=window.requestAnimationFrame(()=>{f=null,i.current===d&&c.current(d);const j=Math.abs(d.scrollHeight-w)>1;w=d.scrollHeight,g-=1,(g>0||j)&&h(!1)}))};u.current=()=>h();const p=typeof MutationObserver>"u"?null:new MutationObserver(()=>{N(),h()}),k=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>h()),S=new Set,N=()=>{if(!k)return;const C=new Set(Array.from(d.children).filter(j=>j instanceof HTMLElement));for(const j of S)C.has(j)||(k.unobserve(j),S.delete(j));for(const j of C)S.has(j)||(k.observe(j),S.add(j))};p?.observe(d,{childList:!0,characterData:!0,subtree:!0}),N();const v=()=>h();return d.addEventListener("load",v,!0),()=>{u.current=null,p?.disconnect(),k?.disconnect(),d.removeEventListener("load",v,!0),f!==null&&window.cancelAnimationFrame(f)}},[r,n,i]),o.useLayoutEffect(()=>{r&&u.current?.()},[t,r])}function Gu({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:a,onLoadMoreChatHistory:i,pendingApproval:c,showChatThread:u,showThinkingIndicator:d,view:f}){const g=o.useRef(null),[w,h]=o.useState(null),p=o.useCallback(x=>{g.current=x,h(T=>T===x?T:x)},[]),k=o.useRef(null),S=o.useRef(!0),N=o.useRef(0),v=o.useRef(0),C=o.useRef(0),j=o.useRef(null),A=o.useRef(null),y=o.useRef(!1),M=o.useRef(!1),O=o.useRef(!1),U=o.useRef(null),F=o.useRef(null),W=o.useRef(null),[be,pe]=o.useState(0),[we,ve]=o.useState(null),[X,ee]=o.useState(!1),[Me,ge]=o.useState(132),[he,z]=o.useState(Gs),I=o.useMemo(()=>xu(a,{showThinkingIndicator:d}),[a,d]),te=o.useMemo(()=>({"--chat-composer-reserve":`${Me}px`}),[Me]),ne=a.at(-1),me=[I.length,ne?.id??"",ne?.content?.length??0,ne?.timestamp??"",d?"thinking":""].join(":"),ae=n,B=e,oe=f==="chat"&&u&&!!B&&we!==B,E=o.useCallback(x=>{ee(T=>T===x?T:x)},[]),L=o.useCallback(x=>{z(T=>T.canGoPrevious===x.canGoPrevious&&T.canGoNext===x.canGoNext?T:x)},[]),D=o.useCallback((x,T={})=>{const ie=T.nearBottom??_n(x);E(!ie),L(us(x))},[E,L]),Ue=o.useCallback(x=>{const T=M.current;M.current=!1,ve(x),E(!1),L(Gs),T&&pe(ie=>ie+1)},[E,L]),Ne=o.useCallback(()=>{W.current===null||typeof window>"u"||(window.cancelAnimationFrame(W.current),W.current=null)},[]),st=o.useCallback((x,T,ie)=>{Ne();const ke=Math.max(0,x.scrollHeight-x.clientHeight),H=()=>{const pt=typeof T=="function"?T():T;return Math.max(0,Math.min(pt,Math.max(0,x.scrollHeight-x.clientHeight)))},Ee=Math.max(0,Math.min(H(),ke)),le=x.scrollTop,Qe=Ee-le;if(typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches===!0||Math.abs(Qe)<1){x.scrollTop=Ee,ie?.();return}const At=_u(Qe),Xe=window.performance.now(),rt=pt=>{if(g.current!==x){W.current=null;return}const se=Math.min(1,(pt-Xe)/At),Ae=H();if(x.scrollTop=le+(Ae-le)*$u(se),se<1){W.current=window.requestAnimationFrame(rt);return}x.scrollTop=H(),W.current=null,ie?.()};W.current=window.requestAnimationFrame(rt)},[Ne]),Ce=o.useCallback(()=>{O.current=!1,!(U.current===null||typeof window>"u")&&(window.cancelAnimationFrame(U.current),U.current=null)},[]),R=o.useCallback(()=>{F.current===null||typeof window>"u"||(window.cancelAnimationFrame(F.current),F.current=null)},[]),Ke=o.useCallback(x=>{if(typeof window>"u"){x.scrollTop=x.scrollHeight;return}if(F.current!==null)return;let T=window.performance.now();const ie=ke=>{if(g.current!==x||!S.current){F.current=null;return}const H=Math.max(0,x.scrollHeight-x.clientHeight),Ee=H-x.scrollTop;if(Math.abs(Ee)<=.75){x.scrollTop=H,F.current=null;return}if(Ee<0||Ee>240)x.scrollTop=H;else{const le=Math.max(.5,Math.min(3,(ke-T)/16.666666666666668)),Qe=1-Math.pow(1-.22,le);x.scrollTop+=Math.min(36*le,Ee*Qe)}T=ke,F.current=window.requestAnimationFrame(ie)};F.current=window.requestAnimationFrame(ie)},[]),Le=o.useCallback((x,T={})=>{if(R(),x.scrollTop=x.scrollHeight,typeof window>"u"){T.finishInitial&&Ue(T.conversationKey??null);return}Ce(),O.current=!0;let ke=0,H=0,Ee=x.scrollHeight;const le=T.settle?12:2,Qe=()=>{const Ie=g.current;if(!Ie){U.current=null,O.current=!1,T.finishInitial&&Ue(T.conversationKey??null);return}Ie.scrollTop=Ie.scrollHeight;const At=Ie.scrollHeight-Ie.scrollTop-Ie.clientHeight,Xe=Math.abs(Ie.scrollHeight-Ee)<=1;if(Ee=Ie.scrollHeight,H=At<=1&&Xe?H+1:0,ke+=1,ke<le&&H<2){U.current=window.requestAnimationFrame(Qe);return}U.current=null,O.current=!1,S.current=!0,E(!1),L(us(Ie)),T.finishInitial&&Ue(T.conversationKey??null)};U.current=window.requestAnimationFrame(Qe)},[Ce,R,Ue,E,L]),at=o.useCallback(()=>{const x=g.current;x&&(Ce(),R(),S.current=!0,E(!1),st(x,()=>x.scrollHeight-x.clientHeight,()=>{g.current===x&&(x.scrollTop=x.scrollHeight,S.current=!0,E(!1),L(us(x)))}))},[Ce,R,E,L,st]),Et=o.useCallback(x=>{const T=g.current;if(!T)return;const ie=Pu(T,x);if(!ie)return;Ce(),R(),st(T,()=>ie.isConnected?Math.max(0,tr(T,ie)-Go):T.scrollTop,()=>{if(g.current!==T)return;const H=_n(T);S.current=H,D(T,{nearBottom:H})})},[Ce,R,st,D]),Pe=o.useCallback(()=>{const x=g.current;x&&(A.current={scrollHeight:x.scrollHeight,scrollTop:x.scrollTop},S.current=!1,R())},[R]),ht=o.useCallback(async()=>{if(ae&&!(!i||r||y.current)){Pe(),y.current=!0;try{await i()}finally{y.current=!1}}},[ae,r,i,Pe]),an=o.useCallback(x=>{if(O.current){S.current=!0,E(!1),L(Gs);return}const T=_n(x),ie=Math.abs(x.scrollHeight-v.current)>1||Math.abs(x.clientHeight-C.current)>1,ke=x.scrollTop<N.current-1;N.current=x.scrollTop,v.current=x.scrollHeight,C.current=x.clientHeight,T?(S.current=!0,D(x,{nearBottom:!0})):ke&&!ie?(S.current=!1,R(),D(x,{nearBottom:!1})):S.current?(E(!1),L(us(x))):D(x,{nearBottom:!1}),!M.current&&x.scrollTop<=Er&&ae&&!r&&ht()},[ae,R,r,ht,E,L,D]),ln=o.useCallback(x=>{!S.current&&!_n(x)||(S.current=!0,Ke(x))},[Ke]);return Hu({contentKey:me,enabled:f==="chat"&&u,onContentChange:ln,threadElement:w,threadRef:g}),o.useLayoutEffect(()=>{if(f!=="chat"||!u||typeof window>"u")return;const x=k.current;if(!x)return;let T=null;const ie=()=>{T=null;const Ee=Math.max(96,Math.ceil(x.getBoundingClientRect().height+20));ge(le=>le===Ee?le:Ee)},ke=()=>{T===null&&(T=window.requestAnimationFrame(ie))};ke();const H=typeof window.ResizeObserver>"u"?null:new window.ResizeObserver(ke);return H?.observe(x),window.addEventListener("resize",ke),()=>{T!==null&&window.cancelAnimationFrame(T),H?.disconnect(),window.removeEventListener("resize",ke)}},[u,f]),o.useLayoutEffect(()=>{const x=g.current;f!=="chat"||!u||!x||M.current||!S.current&&!_n(x)||(S.current=!0,Le(x,{settle:!0}))},[Me,Le,u,f]),o.useLayoutEffect(()=>{if(t===0||f!=="chat"||!u)return;const x=g.current;x&&(S.current=!0,E(!1),Le(x,{settle:!0}))},[t,Le,E,u,f]),o.useLayoutEffect(()=>{A.current=null,y.current=!1,M.current=!0,S.current=!0,N.current=0,v.current=0,C.current=0,R(),Ne(),Ce(),ve(null),E(!1),L(Gs)},[Ce,Ne,R,B,E,L]),o.useEffect(()=>{const x=g.current;f!=="chat"||!x||M.current||!ae||r||x.scrollTop<=Er&&x.scrollHeight<=x.clientHeight+Er&&ht()},[ae,r,be,I.length,ht,f]),o.useLayoutEffect(()=>{const x=A.current,T=g.current;!x||!T||M.current||(A.current=null,T.scrollTop=x.scrollTop+Math.max(0,T.scrollHeight-x.scrollHeight),D(T))},[I.length,D]),o.useLayoutEffect(()=>{const x=g.current;if(f!=="chat"||!B||!x){j.current=B,S.current=!0,Ue(B);return}const T=j.current!==B;if(j.current=B,T||M.current){S.current=!0,Le(x,{conversationKey:B,finishInitial:!0,settle:!0});return}const ie=_n(x);if(S.current||ie){S.current=!0,E(!1),L(us(x)),Le(x,{settle:!0});return}D(x,{nearBottom:ie})},[B,w,Ue,c?.id,Le,E,L,D,f]),o.useEffect(()=>()=>{Ce(),Ne(),R()},[Ce,Ne,R]),{chatColumnStyle:te,chatThreadPreparingInitialScroll:oe,chatThreadRef:p,composerStackRef:k,goToUserMessage:Et,handleChatScroll:an,jumpToLatestChatMessage:at,showScrollToBottomButton:X,userMessageNavigation:he,chatTimelineRows:I}}const Wu=o.lazy(()=>de(()=>import("./WorkspaceDiffPanel-DeHSMDXy.js").then(e=>e.a),__vite__mapDeps([8,1,2,3,4,9,5,10,7,11,12,13,14,15,16,17]),import.meta.url).then(e=>({default:e.WorkspaceDiffPanel}))),Ku=o.lazy(()=>de(()=>import("./AppTerminalPanel-DSaxM9R8.js"),__vite__mapDeps([18,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),Qu=o.lazy(()=>de(()=>import("./RightSidebarHomePanel-jZW_Bepf.js"),__vite__mapDeps([19,1,2,3,4,16,12,14]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Xu=o.lazy(()=>de(()=>import("./WorkSidebarPanel-DoruAoEt.js"),__vite__mapDeps([20,1,2,3,4,10,12,14,5,9,21,22,23,24]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),Ju=o.lazy(()=>de(()=>import("./NewExperienceSwitcher-Cle9jAk2.js"),__vite__mapDeps([25,1,2,3,4]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Yu=o.lazy(()=>de(()=>import("./CollaborationTabs-wT2ymsi7.js"),__vite__mapDeps([26,1,2,3,4,27]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),Zu=o.lazy(()=>de(()=>import("./AppsView-C14dtBI0.js"),__vite__mapDeps([28,1,2,3,4,29]),import.meta.url).then(e=>({default:e.AppsView}))),ed=o.lazy(()=>de(()=>import("./GetStartedView-DhpWR1nb.js"),__vite__mapDeps([30,1,2,6,3,4,31,5,32]),import.meta.url).then(e=>({default:e.GetStartedView}))),td=o.lazy(()=>de(()=>import("./LabsRoute-B5UTYHeh.js").then(e=>e.q),__vite__mapDeps([33,1,2,3,4,31,21,11,7,13,0,5,6,34,35]),import.meta.url).then(e=>({default:e.LabsRoute}))),nd=o.lazy(()=>de(()=>import("./ScheduledWorkPage-DLX-weE0.js"),__vite__mapDeps([36,1,2,3,4,37,5,6,7,15,14]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),sd=o.lazy(()=>de(()=>import("./OutputsPage-BvoFsIeo.js"),__vite__mapDeps([38,1,2,3,4,10,5,12,21,22,23]),import.meta.url).then(e=>({default:e.OutputsPage}))),rd=o.lazy(()=>de(()=>import("./ProjectsPage-DLo3YoMa.js"),__vite__mapDeps([39,1,2,3,4,21,40]),import.meta.url).then(e=>({default:e.ProjectsPage}))),yo=o.lazy(()=>de(()=>import("./LabSkillSidebar-CoHjFsXh.js"),__vite__mapDeps([41,1,2,3,4,5,14,21,22,23,42]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),od=o.lazy(()=>de(()=>import("./BrowserSidebar-BbB0tvuH.js"),__vite__mapDeps([43,1,2,3,4,5,7,23,44]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),ad=o.lazy(()=>de(()=>import("./RightChatPanelStack-B4v_t1S8.js"),__vite__mapDeps([45,1,2,12,3,4,46,17,9,5,10,22,6,7,21,23]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),id=o.lazy(()=>de(()=>import("./NativeSkillSidebar-3yNmqIFw.js"),__vite__mapDeps([47,1,2,3,4,14,48]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),ld=o.lazy(()=>de(()=>import("./TeamChatView-BqhLy7OA.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamChatView}))),cd=o.lazy(()=>de(()=>import("./TeamChatView-BqhLy7OA.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamChatProView}))),ud=o.lazy(()=>de(()=>import("./CommunityView-BoTn5n7e.js"),__vite__mapDeps([52,1,2,53,3,4,7,9,5,10,21,22,23,54]),import.meta.url).then(e=>({default:e.CommunityView}))),dd=o.lazy(()=>de(()=>import("./TeamChatView-BqhLy7OA.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),fd=o.lazy(()=>de(()=>import("./TeamChatView-BqhLy7OA.js"),__vite__mapDeps([49,1,2,3,4,9,5,10,7,21,22,23,50,51]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),md=o.lazy(()=>de(()=>import("./TrainingDraftPanel-B2UKQHN3.js"),__vite__mapDeps([55,1,2,3,4,14,35]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),hd=o.lazy(()=>de(()=>import("./MainChatThread-CcH2yLdM.js"),__vite__mapDeps([56,1,2,46,3,4,17,9,5,10,22,12,6,7,21,23]),import.meta.url).then(e=>({default:e.MainChatThread}))),pd=o.lazy(()=>de(()=>import("./TrainingCreationPanel-smGwEmo9.js"),__vite__mapDeps([57,1,2,3,4,35]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function gd({experience:e,onNewExperienceChange:t,view:n,teamChat:r,community:a,bootstrap:i,runtimeEvents:c,chatMessages:u,pendingUserMessage:d,contextWindowStatus:f,goalRuntime:g,subagentRuntime:w,selectedSessionId:h,composerDraftStore:p,mainComposerFocusRequestId:k,labCloseDetailRequestId:S,labCloseDetailKind:N,sideChatTrainingLaunchRequest:v,onSideChatTrainingLaunchHandled:C,mentionApps:j,connectedAppMentions:A,profileSkills:y,selectedMentionAppId:M,busy:O,turnRunning:U,activeProvider:F,activeModel:W,codexPermissionMode:be,codexReasoningEffort:pe,openPondCommandAccessMode:we,pendingApproval:ve,activeWorkspaceAppId:X,activeWorkspaceId:ee,activeWorkspaceKind:Me,projectTarget:ge,actionCatalog:he,workspaceTarget:z,connection:I,workspaceName:te,workspaceState:ne,workspaceDiff:me,workspaceBusy:ae,diffBusy:B,forceChatThread:oe=!1,diffPanelOpen:E,diffPanelExpanded:L,rightPanelMode:D,rightPanelTabRequest:Ue,rightChatPanels:Ne,runtimeEventStore:st,nativeSkillSidebar:Ce,extensionSkillSidebar:R,workspaceDiffPanelViewState:Ke,sidebarFileOpenRequest:Le,sidebarFileBookmarks:at,onSetSidebarFileStatus:Et,browserConversationId:Pe,terminalScope:ht,terminalTabs:an,terminalCwd:ln,pendingTerminalCommand:x,terminalOpen:T,onToggleTerminal:ie,onWorkspaceDiffPanelViewStateChange:ke,training:H,trainingSessions:Ee,trainingChatHandoff:le,trainingDetailTasksetId:Qe,onTrainingDetailTasksetIdChange:Ie,onTrainingChatTaskSelect:At,onTrainingChatHandoffDismiss:Xe,onOpenSession:rt,onExperienceHandoff:pt,cloudProjects:se,projects:Ae,projectsAccountBaseUrl:xs,projectsTeamName:bs,projectTaskCounts:cn,onNewCloudProject:vs,onNewProjectTask:un,onToggleProjectPinned:ks,onUploadLocalProject:dn,chatHistoryHasMore:ys=!1,chatHistoryLoading:Ft=!1,onDiffPanelResizeStart:_e,canSyncWorkspace:Tt,startMessage:nr,onPayload:it,onError:fn,setView:Te,onOpenProfileSettings:Ss,onOpenProviderSettings:Nt,onOpenTrainingSettings:Oe,onOpenDatasetStorageSettings:zt,changeDraftProvider:mn,changeProjectTarget:zn,changeWorkspaceTarget:Je,setDraftProvider:lt,setDraftModel:Bt,onBeginNewChatWithModel:It,changeCodexPermissionMode:gt,changeCodexReasoningEffort:De,changeOpenPondCommandAccessMode:Bn,resolveApproval:ct,answerCreateImproveQuestion:qn,approveCreateImproveRun:hn,applyCreateImproveCandidate:Un,cancelCreateImproveRun:pn,openCreateImprovePullRequest:gn,pauseCreateImproveRun:Vn,reconcileCreateImprovePullRequest:qt,rejectCreateImproveCandidate:xn,resumeCreateImproveRun:Hn,reviseCreateImproveRun:Ut,setMentionedAppId:ut,showToast:re,onSaveTaskDraft:bn,sendPrompt:xt,stopTurn:Vt,syncWorkspaceLocally:Fe,refreshWorkspaceDiff:bt,onToggleDiffPanelExpanded:Ye,onShowDiffPanel:Ze,onShowBrowserPanel:Ve,onShowTrainingDraftPanel:sr,onShowFilesPanel:vn,onShowRightChatPanel:rr,onAddRightChat:Gn,onOpenRightChatForSession:Rt,onLabDetailOpenChange:or,scheduledDetailOpen:kn,onScheduledDetailOpenChange:js,onTerminalTabsChange:ar,onCloseRightChatPanel:ws,onCloseNativeSkillSidebar:Cs,onActivateRightChatPanel:xe,onRightChatModelChange:vt,onRightChatPromptChange:et,onRightChatScrollStateChange:ye,onRightChatProviderChange:Ht,onSubmitRightChat:Ms,onStopRightChat:ir,onCloseTerminal:Gt,onLoadMoreChatHistory:Es}){const[As]=o.useState(()=>new Ui),Re=h&&!Kr(h)?h:null,Ts=Wi(st,Re),kt=o.useMemo(()=>Re?Ga(c,Ts.events):c,[Re,Ts.events,c]),yt=o.useMemo(()=>Re?Wa(As.project(kt),d):u,[As,Re,d,kt,u]),[Ns,Wt]=o.useState(null),[Is,yn]=o.useState(0),Rs=o.useRef(""),Se=o.useCallback(()=>Rs.current,[]),[Sn,tt]=o.useState(null),[Wn,jn]=o.useState(null),[ze,Pt]=o.useState(null),[nt,_t]=o.useState(null),[Z,wn]=o.useState(null),[Kn,Ps]=o.useState(null),[Qn,_s]=o.useState(null),[He,Xn]=o.useState([]);o.useEffect(()=>{tt(null)},[Pe]);const Jn=o.useMemo(()=>i?.sessions.find(b=>b.id===h)??null,[i?.sessions,h])?.currentProfile??i?.profileLibrary?.lastUsed??null,$t=Ka(i?.profileLibrary??{profiles:[]},Jn)??i?.profile??null,Yn=o.useMemo(()=>Qa($t,i?.extensionCatalog),[i?.extensionCatalog,$t]),Kt=o.useMemo(()=>Xa($t),[$t]),Qt=o.useCallback(async(b,$=h)=>{if(!I||!i)return;const J=Ja(i.profileLibrary??{profiles:[]},b);if(J)try{const Q=$&&!Kr($)?i.sessions.find(q=>q.id===$)??null:null,V=await wu({ref:J,session:Q,selectProfile:q=>$e.profileSelect(I,q),patchSession:(q,mt)=>$e.patchSession(I,q,{currentProfile:mt})});let ue=i.sessions;V.session&&(ue=ue.map(q=>q.id===V.session.id?V.session:q)),it({...i,profile:V.selected.profile,profileLibrary:V.selected.library,sessions:ue})}catch(Q){const V=Q instanceof Error?Q.message:String(Q);fn(V),re(V,"error")}},[i,I,fn,it,h,re]);o.useEffect(()=>{if(!Ya(Le,Pe))return;const{file:b,id:$}=Le;if(tt({id:$,path:b.path}),!I)return;let J=!1;return(b.workspaceKind==="local"?$e.workspaceFile(I,b.workspaceId,b.path).then(V=>V.content??""):$e.sandboxDownloadFile(I,b.workspaceId,b.path).then(V=>{if(V.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return V.contents})).then(V=>{if(J)return;const ue=b.path.split("/").at(-1)??b.path;Wt({id:$,file:new File([V],ue,{type:xd(b)})})}).catch(V=>{J||re(V instanceof Error?V.message:String(V),"error")}),()=>{J=!0}},[Pe,I,re,Le]);const ot=e==="development"||e==="work"&&ge.value!=="none",Xt=o.useMemo(()=>{if(e==="chat")return Kt;if(!ot)return[];const b=new Map(he.filter($=>!Za($)).map($=>[$.id,$]));for(const $ of Kt)b.set($.id,$);for(const $ of He)b.set($.id,$);return[...b.values()]},[he,e,ot,He,Kt]),fe=Mu(I),cr=o.useCallback(b=>{if(!b){fe.activate(null);return}fe.activate({runId:b.run.id,candidateId:b.candidate.id,title:b.run.objective,fileRootPath:b.fileRootPath,initialPath:b.initialPath})},[fe.activate]),ur=o.useCallback(()=>{fe.selection?.initialPath&&fe.openFile(fe.selection.initialPath),Ze()},[fe.openFile,fe.selection?.initialPath,Ze]),dr=o.useCallback(b=>{Pt(b),b&&Ze()},[Ze]),Zn=o.useCallback(()=>{Pt(null),L&&Ye()},[L,Ye]);o.useEffect(()=>{n!=="labs"&&Pt(null)},[n]);const Cn=o.useCallback((b,$)=>{const J=Date.now(),Q=he.find(ue=>ue.id===b)??null;p.set(""),ut(null),Te("chat");const V=ue=>{if(!(ue.find(Y=>Y.id===b)??null))return!1;const mt=ue.map(Y=>Y.id===b?{...Y,label:$}:Y);return Xn(mt),window.requestAnimationFrame(()=>{_s({actionId:b,requestId:Math.max(Date.now(),J+1)})}),!0};if(!I){Q?V([Q]):re("The Agent action catalog is still loading. Try Use again.","error");return}$e.profileCurrent(I).then(ue=>{const q=ue.actionCatalog.map(mt=>ei(mt));!V(q)&&Q?V([Q]):q.some(mt=>mt.id===b)||re("This Agent is ready, but its default chat action is unavailable.","error")}).catch(ue=>{Q||re(ue instanceof Error?ue.message:String(ue),"error")})},[he,p,I,ut,Te,re]),fr=o.useCallback((b,$)=>{p.set(b),ut(null),$&&mn($),Te("chat")},[mn,p,ut,Te]),Lt=o.useMemo(()=>ti(i?.preferences),[i?.preferences]),mr=Lt.training,{createAgentFromLab:hr,improveAgentFromLab:St}=Au({activeModel:W,activeProvider:F,bootstrap:i,codexPermissionMode:be,codexReasoningEffort:pe,connection:I,onOpenRightChatForSession:Rt,onPayload:it}),Ot=o.useMemo(()=>{const b=H.payload?.tasksets??[];return b.some($=>$.id===Z)?Z:b[0]?.id??null},[Z,H.payload?.tasksets]),es=n==="labs"&&Ot?`profiles/${i?.profile.activeProfile??"default"}/tasksets/${Ot}`:null,pr=o.useMemo(()=>{if(n!=="labs"||!Ot||!H.payload)return null;const b=H.payload.tasksets.find(Y=>Y.id===Ot);if(!b)return null;const $=H.payload.plans.filter(Y=>Y.tasksetId===b.id),J=new Set($.map(Y=>Y.id)),Q=H.payload.jobs.filter(Y=>J.has(Y.planId)).sort((Y,is)=>is.createdAt.localeCompare(Y.createdAt)),V=Q.find(Y=>Y.id===Kn)??Q[0]??null,ue=V?$.find(Y=>Y.id===V.planId)??null:$.sort((Y,is)=>is.createdAt.localeCompare(Y.createdAt))[0]??null,q=V?H.payload.models.find(Y=>Y.jobId===V.id)??null:null,mt=V?H.payload.artifacts.filter(Y=>Y.jobId===V.id):[];return{taskset:b,plan:ue,job:V,lineage:q,artifacts:mt}},[Ot,Kn,H.payload,n]),ts=o.useMemo(()=>Cu(H.payload,h),[h,H.payload]),jt=o.useMemo(()=>Lu(yt),[yt]),gr=!!g||!!jt||!!w,je=n==="labs"&&!!fe.selection,Mn=n==="labs"&&E&&D==="changes"&&!!ze,$s=(n==="chat"||n==="labs")&&!!X,xr=n==="chat"&&E&&D==="chat"&&Ne.length===0,ns=ni(Me)?ee??Du(te):null,Ls=n==="chat"&&!!ns,wt=ns,Os=!!wt||z.value==="cloud"||z.value==="hybrid",Jt=o.useMemo(()=>ku({workspaceTarget:z.value,localWorkspaceId:X,sandboxSourceAvailable:Os,sandboxWorkspaceId:wt,override:Wn}),[X,Os,wt,Wn,z.value]),En=Jt.source,Ge=En==="sandbox",Yt=o.useMemo(()=>En&&Jt.options.length>1?{value:En,options:Jt.options,onChange:jn}:null,[En,Jt.options]);o.useEffect(()=>{jn(null)},[X,Pe,wt,z.value]);const An=!Mn&&(je||$s||Ls)&&E&&(D==="changes"||D==="goal"&&gr||xr),Tn=n==="chat"&&E&&D==="browser",ss=(n==="chat"||n==="labs")&&E&&D==="chat"&&Ne.length>0,Be=n==="chat"&&E&&D==="training",rs=n==="chat"&&E&&!!Ce,Ds=n==="chat"&&E&&!!R,Zt=n==="team"&&E&&D==="chat"&&!!r.aiThread,en=n==="team"&&E&&D==="chat"&&!!r.agentConversation,os=e==="work"&&n==="chat"&&E&&D==="home",Fs=Jo({supportedView:n==="chat"&&ot||n==="labs",open:E,hasContentPanel:An||Mn||Tn||ss||Be||rs||Zt||en||os}),Nn=An||Mn||Tn||ss||Be||rs||Zt||en||os||Fs,tn=Nn&&D!=="chat"&&L,In=i?.account.baseUrl??i?.account.activeProfile?.baseUrl??null,Rn=Ru({activeWorkspaceId:ee,cloudProjects:se}),zs=n==="chat"&&U&&!ve&&vu(yt),as=oe||yt.length>0||zs,l=h??`draft:${n}:${Me??"none"}:${ee??X??"none"}`;Rs.current=l;const m=s.jsx(Bu,{activeModel:W,activeProvider:F,busy:U,handoff:le,onDismiss:Xe,onSelectTask:At}),P=o.useMemo(()=>({onAnswerQuestion:qn,onApprove:hn,onApplyCandidate:Un,onCancel:pn,onOpenPullRequest:gn,onPause:Vn,onReconcilePullRequest:qt,onRejectCandidate:xn,onResume:Hn,onRevise:Ut}),[qn,hn,Un,pn,gn,Vn,qt,xn,Hn,Ut]),_=o.useMemo(()=>jt?{...jt,...P}:null,[P,jt]),K=Vu(n,as),G=o.useCallback(async(b=[],$=null,J=null,Q={})=>{const V=Q.promptOverride??p.getSnapshot(),ue=()=>{Q.preservePrompt||(p.set(""),ut(null))};if(!$){const q=J?{command:J.id,args:V.trim()}:Co(V);if(q){if(!si({id:q.command},e))return re(`/${q.command} isn't available in ${e}.`,"info"),!1;if(q.command==="train")return b.length>0?(re("/train uses the selected chat; add other chats from Models.","error"),!1):h?(ue(),_t({id:Date.now(),objective:q.args.trim()||null,initialSessionIds:[h]}),Te("labs"),!0):(ue(),_t({id:Date.now(),objective:q.args.trim()||null,initialSessionIds:[]}),Te("labs"),!0);if(!q.args&&q.command!=="skill"&&q.command!=="sync-cloud")return re(`Add instructions after /${q.command}.`,"info"),!1;if(b.length>0)return re(`/${q.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(q.command==="submit-issue")return ri(A)?(yn(Y=>Y+1),xt([],null,oi(q.args),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Ar(q,J?"composer_selection":"prompt_parse")})):(re("Connect the GitHub app before using /submit-issue.","error"),!1);if(Ou(q)){const Y=q.command==="skill"?Su(q.args,F,i?.profile.sourcePath??null):ko(q);return yn(is=>is+1),xt([],null,Y,{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Ar(q,J?"composer_selection":"prompt_parse")})}return yn(Y=>Y+1),xt([],null,ko(q),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Ar(q,J?"composer_selection":"prompt_parse")})}}return yn(q=>q+1),xt(b,$,Q.promptOverride,{clearPrompt:Q.preservePrompt?()=>{}:void 0,displayPrompt:Q.displayPrompt,turnMetadata:Q.turnMetadata})},[W,F,Me,i?.profile,A,p,e,xt,h,ut,Te,re,H,n]),ce=o.useCallback(b=>{le&&b!==le.model.modelId&&Xe(),lt(F),Bt(b)},[F,Xe,Bt,lt,le]),dt=o.useCallback(b=>{le&&b!==le.model.providerId&&Xe(),mn(b)},[mn,Xe,le]),{chatColumnStyle:nn,chatThreadPreparingInitialScroll:sn,chatThreadRef:ft,chatTimelineRows:rn,composerStackRef:We,goToUserMessage:Fr,handleChatScroll:Yo,jumpToLatestChatMessage:Zo,showScrollToBottomButton:ea,userMessageNavigation:Bs}=Gu({browserConversationId:Pe,chatSubmissionVersion:Is,chatHistoryHasMore:ys,chatHistoryLoading:Ft,chatMessages:yt,onLoadMoreChatHistory:Es,pendingApproval:ve,showChatThread:as,showThinkingIndicator:zs,view:n}),qs=o.useCallback((b,$)=>{ai({conversationId:Pe,href:b,explicitFile:$?.explicitFile,newTab:$?.newTab}).then(J=>{J&&Ve()})},[Pe,Ve]),Us=pi({projectTargetDetail:ge.detail,projectTargetValue:ge.value,workspaceRepoPath:ne?.repoPath,workspaceTargetValue:z.value}),zr=o.useCallback(b=>{const $=gu(b,Us);if($&&I){$e.signLocalVideoUrl(I,{path:$}).then(({url:Q})=>qs(Q)).catch(Q=>{re(Q instanceof Error?Q.message:"Could not open this video.","error")});return}const J=gi(b,{workspaceRootPath:Us});Ze(),tt({id:Date.now(),path:J?.path??b})},[I,qs,Ze,re,Us]),Br=o.useCallback(async b=>{if(!I||!b.filePreview&&!b.imagePreview){re("File content is not available for this attachment.","error");return}try{const $=b.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",Q=`Attachments/${b.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${$}`,V={path:Q,status:"",additions:0,deletions:0,patch:"",content:null};let ue;if(b.filePreview){const q=await $e.chatAttachmentFile(I,b.filePreview);V.content=q.content}else b.imagePreview&&(ue=(await $e.signChatAttachmentImageUrl(I,b.imagePreview)).url);Ze(),tt({id:Date.now(),path:Q,file:V,...ue?{imageUrl:ue}:{}})}catch($){re($ instanceof Error?$.message:"Could not open this attachment.","error")}},[I,Ze,re]),ta=ae&&!!X&&!ne,qr=fe.selection?`candidate:${fe.selection.runId}:${fe.selection.candidateId}`:null,na=An?s.jsx(Wu,{appId:je?qr:Ge?null:X,workspaceId:je?qr:Ge?wt:X,workspaceKind:je?"local_project":Ge?null:"local_project",connection:I,runtimeEvents:kt,diff:je?fe.diff:Ge?null:me,fileRootPath:je?fe.selection?.fileRootPath??null:Ge?null:es,filesWithPreview:je,editorPreferences:i?.preferences.editor??null,loading:je?fe.loading:Ge?ae:B||ta,openFileRequest:je?fe.openFileRequest:Sn,sidebarFileBookmarks:at,sidebarFileSourceSessionId:h,onSetSidebarFileStatus:Et,readOnly:je,sideChatTabs:Ne.map(b=>({id:b.id,title:b.title,running:b.running})),sourceSwitcher:je?null:Yt,tabRequest:Ue,viewState:Ke,workspaceName:je?fe.selection?.title??"Change":Ge?te??"Sandbox":te,workspaceInitialized:je?!0:Ge?!!wt:!!ne?.initialized,workspaceError:je?fe.error:Ge?null:ne?.error??me?.error??null,expanded:L,onResizeStart:_e,onRefresh:b=>{je?fe.refresh(b):bt(b)},onToggleExpanded:Ye,onOpenBrowser:Ve,onOpenBrowserUrl:qs,onViewStateChange:ke,onCloseSideChat:ws,onOpenSideChat:n==="chat"?Gn:void 0,onSelectSideChat:b=>{xe(b),rr()},goalDetails:{active:D==="goal",createRuntime:_,goalRuntime:g,subagentRuntime:w},sandboxFileSource:Ge?{sandboxId:wt,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:pr}):null,sa=Tn?s.jsx(od,{conversationId:Pe,expanded:L,onResizeStart:_e}):null,ra=Zt?o.createElement(dd,{...r,key:r.aiThread?.conversationId,onResizeStart:_e}):null,oa=en?o.createElement(fd,{...r,key:r.agentConversation?.run.id,onResizeStart:_e}):null,aa=ss?s.jsx(ad,{panels:Ne,runtimeEventStore:st,actionCatalog:Xt,createImproveActions:P,contextCompaction:Lt.contextCompaction,steerActiveResponses:Lt.steerActiveResponses,busy:O,codexPermissionMode:be,codexReasoningEffort:pe,openPondCommandAccessMode:we,connection:I,connectedAppMentions:A,mentionApps:j,codexPersonalSkills:i?.codexPersonalSkills??[],profileSkills:y,profileLibrary:i?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:i?.extensionCatalog??null,projectTarget:ge,providerSettings:i?.providers??null,accountBaseUrl:In,billingOrganizationSlug:Rn.organizationSlug,billingTeamId:Rn.teamId,showToast:re,workspaceTarget:z,onAddChat:Gn,onActivatePanel:xe,onClosePanel:ws,onCodexPermissionModeChange:gt,onCodexReasoningEffortChange:De,onOpenPondCommandAccessModeChange:Bn,onModelChange:vt,onOpenAttachmentInSidebar:Br,onOpenFileInSidebar:zr,onOpenProfileSettings:Ss,onOpenSession:rt,onProviderChange:Ht,onProviderSetupOpen:Nt,onPromptChange:et,onProfileTargetChange:(b,$)=>{Qt($,b)},onScrollStateChange:ye,onProjectTargetChange:zn,onResolveApproval:ct,onResizeStart:_e,onSelectFiles:vn,onShowBrowserPanel:Ve,onStop:ir,onSubmit:Ms,onWorkspaceTargetChange:b=>{Je(b)}}):null,ia=Fs?s.jsx(Qu,{expanded:L,terminalOpen:T,sideChatAvailable:n==="chat"||n==="labs",onOpenBrowser:Ve,onOpenFiles:vn,onOpenReview:Ze,onOpenSideChat:Gn,onOpenTrainingDraft:sr,trainingDraftAvailable:!!h,onResizeStart:_e,onToggleExpanded:Ye,onToggleTerminal:ie}):null,la=os?s.jsx(Xu,{chatMessages:yt,connection:I,contextWindowStatus:f,expanded:L,runtimeEvents:kt,sessionId:h,showToast:re,onResizeStart:_e,onToggleExpanded:Ye,onUseOutput:b=>Wt({id:Date.now(),file:b}),onHandoffOutput:async(b,$,J)=>{await pt({target:b,sourceSessionId:h,output:$,prompt:ii($,b)}),J&&Wt({id:Date.now(),file:J})},onReviseOutput:(b,$,J)=>{Wt({id:Date.now(),file:$}),p.set(`Create revision ${b.revision+1} of "${b.title}" from the attached revision ${b.revision}. Apply only this requested change:
9
9
 
10
10
  ${J}`)},onAgentPackageInstalled:async()=>{I&&it(await $e.bootstrap(I))}}):null,ca=Be?s.jsx(o.Suspense,{fallback:null,children:s.jsx(md,{training:H,sessionId:h,expanded:L,onOpenTraining:()=>Te("labs"),onResizeStart:_e,onToggleExpanded:Ye})}):null,Pn=oa??ra??aa??(rs&&Ce?s.jsx(id,{expanded:L,skill:Ce,onClose:Cs,onResizeStart:_e,onToggleExpanded:Ye}):null)??(Ds&&R?s.jsx(yo,{connection:I,expanded:L,selection:R,onClose:Cs,onResizeStart:_e,onToggleExpanded:Ye}):null)??(Mn&&ze?s.jsx(yo,{connection:I,expanded:L,selection:ze,onClose:Zn,onResizeStart:_e,onToggleExpanded:Ye}):null)??na??sa??ca??la??ia,br=s.jsx(o.Suspense,{fallback:null,children:s.jsx(Ku,{open:T,connection:I,scope:ht,tabs:an,onTabsChange:ar,cwd:ln,appId:X,workspaceName:te,queuedCommand:x,onClose:Gt})});return s.jsxs("main",{className:`main-pane ${K} ${T?"terminal-open":""} ${Nn?"diff-open":""} ${tn?"diff-expanded":""}`,children:[n==="team"||n==="community"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Yu,{onSelect:Te,view:n})}):null,n==="apps"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Zu,{account:i?.account??null,connection:I,defaultTeamId:i?.preferences.defaultTeamId??null,onToast:re})}):n==="team"?s.jsxs(o.Suspense,{fallback:null,children:[r.teamId?s.jsx(ld,{...r}):s.jsx(cd,{}),Nn?Pn:null]}):n==="community"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(ud,{...a})}):n==="get-started"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(ed,{})}):n==="scheduled"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(nd,{connection:I,detailOpen:kn,detailExpanded:L,onDetailOpenChange:js,onDetailResizeStart:_e,onToggleDetailExpanded:Ye})}):n==="outputs"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(sd,{connection:I,onViewChat:rt})}):n==="projects"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(rd,{accountBaseUrl:xs,connection:I,onNewCloudProject:vs,onNewTask:un,onTogglePinned:ks,onUploadLocalProject:dn,projects:Ae,taskCountByProjectId:cn,teamName:bs})}):n==="labs"?tn?s.jsx(o.Suspense,{fallback:null,children:Pn}):s.jsxs(s.Fragment,{children:[s.jsx(o.Suspense,{fallback:null,children:s.jsx(td,{account:i?.account??null,closeDetailRequestId:S,closeDetailKind:N,onNewModel:(b,$,J)=>{_t({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:b,learnedPreferenceReward:$,initialModelId:J})},onUseAgent:Cn,onCreateAgent:hr,onImproveAgent:St,onDetailOpenChange:or,onSkillSelectionChange:dr,onOpenRunConversation:Rt,onAnswerQuestion:qn,onApplyCandidate:Un,onApprove:hn,onCancel:pn,candidateReview:{diff:fe.diff,error:fe.error,loading:fe.loading},onCandidateReviewChange:cr,onOpenPullRequest:gn,onOpenCandidateFiles:ur,onPause:Vn,onReconcilePullRequest:qt,onRejectCandidate:xn,onResume:Hn,onRevise:Ut,profileView:{payload:i,connection:I,onPayload:it,onError:fn,onToast:re,onSkillCommand:fr},training:{training:H,sessions:Ee,localProjects:i?.localProjects??[],connection:I,defaultModel:{providerId:F,modelId:W},onError:fn,onToast:re,onSettingsPreferences:b=>{i&&it({...i,preferences:b.preferences})},onOpenTrainingSettings:Oe,onOpenProviderSettings:Nt,onOpenDatasetStorageSettings:zt,onOpenChat:rt,onChatWithModel:It,onOpenTasksetFiles:vn,launchRequest:v??nt,onLaunchHandled:b=>{if(v?.id===b){C(b);return}_t($=>$?.id===b?null:$)},preferences:mr,settingsPreferences:Lt,providerSettings:i?.providers??null,reasoningEffort:pe,selectedTasksetId:Ot,onSelectedTasksetIdChange:wn,onSelectedTrainingJobIdChange:Ps,detailTasksetId:Qe,onDetailTasksetIdChange:Ie}})}),br,Nn?s.jsx(o.Suspense,{fallback:null,children:Pn}):null]}):tn?s.jsx(o.Suspense,{fallback:null,children:Pn}):as?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:`chat-column ${ve?"has-approval":""}`,style:nn,children:[s.jsx(o.Suspense,{fallback:null,children:s.jsx(hd,{accountBaseUrl:In,activeWorkspaceAppId:X,billingOrganizationSlug:Rn.organizationSlug,billingTeamId:Rn.teamId,connection:I,conversationKey:Pe??"draft",creation:ts,onOpenBrowserLink:qs,onOpenAttachmentInSidebar:Br,onOpenFileInSidebar:zr,onOpenProfileSettings:Ss,onResolveUserQuestion:async(b,$)=>{const J=$.action==="answer"?$.text:"Dismiss this question";if(!await xt([],null,J,{displayPrompt:J,turnMetadata:{userQuestionResolution:$}}))throw new Error("The question response could not be sent.")},onOpenSession:rt,onScroll:b=>Yo(b.currentTarget),rows:rn,sessionId:Pe,turnRunning:U,userAttachmentDisplay:F==="codex"?"compact":"full",threadRef:ft,workspaceRootPath:Us})}),s.jsxs("div",{className:`composer-stack dock ${ve?"has-approval":""}`,ref:We,children:[ts?s.jsx(o.Suspense,{fallback:null,children:s.jsx(pd,{compact:!0,creation:ts,training:H,onOpenTraining:()=>Te("labs")})}):null,m,s.jsx(bo,{approval:ve,onResolve:ct}),ea&&!sn?s.jsx(qu,{canGoNext:Bs.canGoNext,canGoPrevious:Bs.canGoPrevious,onJumpToLatest:Zo,onNext:()=>{Bs.canGoNext&&Fr("next")},onPrevious:()=>{Bs.canGoPrevious&&Fr("previous")}}):null,s.jsx(xo,{experience:e,draftStore:p,attachmentRequest:Ns,mode:"dock",focusRequestId:k,mentionApps:ot?j:[],connectedAppMentions:A,profileSkills:F==="codex"?i?.codexPersonalSkills??[]:Yn,selectedMentionAppId:M,contextWindowStatus:f,goalRuntime:e!=="chat"?g:null,subagentRuntime:e!=="chat"?w:null,createImproveRuntime:ot?_:null,busy:U,running:U,steerActiveResponses:Lt.steerActiveResponses,taskSessionId:Re,taskEvents:kt,submissionScopeKey:l,getCurrentSubmissionScopeKey:Se,voiceInputChannelKey:`main-composer:${l}`,showProjectFooter:!1,connection:I,providerSettings:i?.providers??null,provider:F,model:W,projectTarget:ge,profileTarget:null,actionCatalog:Xt,requestedAction:Qn,workspaceTarget:z,codexPermissionMode:be,codexReasoningEffort:pe,openPondCommandAccessMode:we,onProviderChange:dt,onProviderSetupOpen:Nt,onProjectTargetChange:zn,onProfileTargetChange:b=>{Qt(b)},onWorkspaceTargetChange:b=>{Je(b)},onModelChange:ce,onCodexPermissionModeChange:gt,onCodexReasoningEffortChange:De,onOpenPondCommandAccessModeChange:Bn,onMentionAppSelect:ut,onSaveTaskDraft:bn,showToast:re,onSubmit:G,onStop:Vt})]})]}),br,s.jsx(o.Suspense,{fallback:null,children:Pn})]}):s.jsxs(s.Fragment,{children:[s.jsxs("section",{className:"start-panel",children:[s.jsx(o.Suspense,{fallback:null,children:s.jsx(Ju,{value:e==="chat"?"chat":"work",onChange:t})}),s.jsxs("div",{className:"start-welcome",children:[s.jsx("h1",{children:nr}),Tt&&s.jsx(Uu,{busy:ae,onSync:()=>{Fe()}})]}),s.jsxs("div",{className:"composer-stack start",children:[m,s.jsx(bo,{approval:ve,onResolve:ct}),s.jsx(xo,{experience:e,draftStore:p,attachmentRequest:Ns,mode:"start",autoFocus:!0,focusRequestId:k,mentionApps:ot?j:[],connectedAppMentions:A,profileSkills:F==="codex"?i?.codexPersonalSkills??[]:Yn,selectedMentionAppId:M,contextWindowStatus:f,goalRuntime:e!=="chat"?g:null,subagentRuntime:e!=="chat"?w:null,createImproveRuntime:ot?_:null,busy:U,running:U,steerActiveResponses:Lt.steerActiveResponses,taskSessionId:Re,taskEvents:kt,submissionScopeKey:l,getCurrentSubmissionScopeKey:Se,voiceInputChannelKey:`main-composer:${l}`,connection:I,providerSettings:i?.providers??null,provider:F,model:W,showProjectFooter:e!=="chat",projectTarget:ge,profileTarget:null,actionCatalog:Xt,requestedAction:Qn,workspaceTarget:z,codexPermissionMode:be,codexReasoningEffort:pe,openPondCommandAccessMode:we,onProviderChange:dt,onProviderSetupOpen:Nt,onProjectTargetChange:zn,onProfileTargetChange:b=>{Qt(b)},onWorkspaceTargetChange:b=>{Je(b)},onModelChange:ce,onCodexPermissionModeChange:gt,onCodexReasoningEffortChange:De,onOpenPondCommandAccessModeChange:Bn,onMentionAppSelect:ut,onSaveTaskDraft:bn,showToast:re,onSubmit:G,onStop:Vt})]})]}),br,s.jsx(o.Suspense,{fallback:null,children:Pn})]})]})}function xd(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 Td=Object.freeze(Object.defineProperty({__proto__:null,MainPane:gd,shouldShowRightSidebarHomePanel:Jo},Symbol.toStringTag,{value:"Module"}));export{bo as A,Ei as C,Ti as F,$i as I,Td as M,Xr as P,qi as R,zi as a,Ii as b,Pi as c,Ui as d,xu as e,Hu as f,fu as g,Lc as h,Ad as i,Dc as j,Uc as k,Ed as l,Jl as m,ki as n,Vc as o,Gc as r,vu as s,Wi as u};