openpond 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/actions-command-QP3NMDK4.js +2 -0
- package/dist/chunks/app-layer-N7VFRVJ2.js +3 -0
- package/dist/chunks/app-server-runtime-OCLPUI7F.js +2 -0
- package/dist/chunks/apps-AMG75TI4.js +2 -0
- package/dist/chunks/chunk-22UARBPW.js +3 -0
- package/dist/chunks/chunk-3A7HZJNE.js +1 -0
- package/dist/chunks/chunk-3M53YXEI.js +2 -0
- package/dist/chunks/chunk-3NDRIQTI.js +2 -0
- package/dist/chunks/chunk-5BBVEWG3.js +2 -0
- package/dist/chunks/chunk-5O7ZVCMV.js +6 -0
- package/dist/chunks/chunk-6FA3GG5B.js +33 -0
- package/dist/chunks/chunk-6MI4KKWF.js +2 -0
- package/dist/chunks/chunk-BBG546O6.js +6 -0
- package/dist/chunks/chunk-BX4J2VDU.js +2 -0
- package/dist/chunks/chunk-BZMVB3GS.js +2 -0
- package/dist/chunks/chunk-C5LOZSVS.js +2 -0
- package/dist/chunks/chunk-CWQWV2T3.js +2 -0
- package/dist/chunks/chunk-DUA3QP6Y.js +19 -0
- package/dist/chunks/chunk-EAPFMACH.js +10 -0
- package/dist/chunks/chunk-ES2ISFJC.js +66 -0
- package/dist/chunks/chunk-F65NIZLM.js +2199 -0
- package/dist/chunks/chunk-FGJ5LFPL.js +5 -0
- package/dist/chunks/chunk-FTQLQJQV.js +2 -0
- package/dist/chunks/chunk-FY7OQ5RK.js +24 -0
- package/dist/chunks/chunk-FYCJSUFV.js +53 -0
- package/dist/chunks/chunk-GLUWATL5.js +2 -0
- package/dist/chunks/chunk-H7IWJN7L.js +17 -0
- package/dist/chunks/chunk-HZP5U2AA.js +3 -0
- package/dist/chunks/chunk-I5K74TOH.js +3 -0
- package/dist/chunks/chunk-IR3YJWPW.js +7 -0
- package/dist/chunks/chunk-KU7QOHFT.js +2872 -0
- package/dist/chunks/chunk-KV553EWX.js +16 -0
- package/dist/chunks/chunk-MGN6GLNZ.js +2 -0
- package/dist/chunks/chunk-OG5Q6NXK.js +28 -0
- package/dist/chunks/chunk-OGPHXXCD.js +1 -0
- package/dist/chunks/chunk-PI36UHRA.js +18 -0
- package/dist/chunks/chunk-RWSAGQTP.js +2 -0
- package/dist/chunks/chunk-SAE4OIPC.js +2 -0
- package/dist/chunks/chunk-SDO4FC4Q.js +2 -0
- package/dist/chunks/chunk-UKUVMXOW.js +12 -0
- package/dist/chunks/chunk-VCLCFK3O.js +36 -0
- package/dist/chunks/chunk-VYUMTRB3.js +5 -0
- package/dist/chunks/chunk-X37KMV27.js +1 -0
- package/dist/chunks/chunk-XDHAGACI.js +3 -0
- package/dist/chunks/chunk-XEOEKFG6.js +71 -0
- package/dist/chunks/chunk-ZF7TEGY5.js +5 -0
- package/dist/chunks/chunk-ZVOO7FKM.js +2 -0
- package/dist/chunks/cli-M2FG7SSI.js +2 -0
- package/dist/chunks/configuration-command-XBKBIZBO.js +2 -0
- package/dist/chunks/continual-D75WA7E7.js +7 -0
- package/dist/chunks/core-commands-LUZVWXQR.js +2 -0
- package/dist/chunks/database-X2CUV732.js +2 -0
- package/dist/chunks/desktop-test-KGC4JVJ7.js +3 -0
- package/dist/chunks/dist-NKLXFA37.js +2 -0
- package/dist/chunks/extension-NQ7N5LEY.js +5 -0
- package/dist/chunks/help-MWK66XZK.js +8 -0
- package/dist/chunks/module-ES6BEMUI-ZVL3F6NW.js +2 -0
- package/dist/chunks/module-asyncify-2EFITU5U-R7TVXNAE.js +2 -0
- package/dist/chunks/opchat-XJZA3QKZ.js +3 -0
- package/dist/chunks/organizations-UECDFEYE.js +2 -0
- package/dist/chunks/profile-KUMIZURM.js +3 -0
- package/dist/chunks/project-agent-NILMJHLV.js +2 -0
- package/dist/chunks/sandbox-command-QHH65OSE.js +2 -0
- package/dist/chunks/sandbox-template-N7I63PNU.js +10 -0
- package/dist/chunks/src-724HF43W.js +82 -0
- package/dist/chunks/src-VTKTTKQO.js +319 -0
- package/dist/chunks/taskset-PISBOILQ.js +2 -0
- package/dist/chunks/teams-bot-UV4RU53M.js +3 -0
- package/dist/chunks/training-2NDOWH5S.js +2 -0
- package/dist/chunks/workspaces-XXT4KUD3.js +2 -0
- package/dist/cli.js +3 -109
- package/dist/index.js +1 -31230
- package/dist/sandbox-template/manifest.js +1 -18380
- package/dist/web/assets/App-DxecRQUL.js +176 -0
- package/dist/web/assets/AppDialog-B65Eo3gp.js +1 -0
- package/dist/web/assets/AppTerminalPanel-B2EKQM7W.js +2 -0
- package/dist/web/assets/{AppsView-B1NUuAIf.js → AppsView-BBoVe7s2.js} +1 -1
- package/dist/web/assets/{BrowserSidebar-DOvYxXeP.js → BrowserSidebar-CSM1atSJ.js} +1 -1
- package/dist/web/assets/{CartesianChart-pOrYpzBr.js → CartesianChart-CJKfXiEG.js} +1 -1
- package/dist/web/assets/{CollaborationTabs-CgbR-MBJ.js → CollaborationTabs-BMZamWFC.js} +1 -1
- package/dist/web/assets/{CommandMenu-CrIr4qUX.js → CommandMenu-B3U1z2eo.js} +1 -1
- package/dist/web/assets/{CommunityView-CvAVQ_HZ.js → CommunityView-CTyRUcfy.js} +1 -1
- package/dist/web/assets/{ComposerCreateImproveStrip-DybcKwwd.js → ComposerCreateImproveStrip-D7usvRtK.js} +1 -1
- package/dist/web/assets/GetStartedView-Ibu7oKWJ.js +1 -0
- package/dist/web/assets/HostedModelLearningReview-qnzIkT70.js +1 -0
- package/dist/web/assets/HostedModelLearningSettings--PKjpYsy.js +1 -0
- package/dist/web/assets/LabModelVersionDetailPage-s9uUN6fV.js +1 -0
- package/dist/web/assets/{LabSkillSidebar-CuaYrtiu.js → LabSkillSidebar-BKYseMiJ.js} +1 -1
- package/dist/web/assets/LabsRoute-C1FWCoYb.css +1 -0
- package/dist/web/assets/LabsRoute-DoRs0K6v.js +32 -0
- package/dist/web/assets/MainChatThread-DvuyMcMB.js +2 -0
- package/dist/web/assets/MainPane-BWwcxgHD.js +8 -0
- package/dist/web/assets/{MarkdownText-DOlVQR8a.js → MarkdownText-D8XC5UT_.js} +1 -1
- package/dist/web/assets/{Messages-DMubppta.js → Messages-e4A8JUjD.js} +6 -6
- package/dist/web/assets/{NativeSkillSidebar-DSFwZ-od.js → NativeSkillSidebar-D2Joh8XB.js} +1 -1
- package/dist/web/assets/{NewExperienceSwitcher-Dj0ePIJ-.js → NewExperienceSwitcher-CzGebt2E.js} +1 -1
- package/dist/web/assets/{NewProjectDialog-B8NQV-Ji.js → NewProjectDialog-CdMTSxUE.js} +1 -1
- package/dist/web/assets/{OutputsPage-D_LDYTgV.js → OutputsPage-m7cSb8dW.js} +1 -1
- package/dist/web/assets/{ProjectsPage-xjDYPc_W.js → ProjectsPage-C9mz8W1g.js} +1 -1
- package/dist/web/assets/RightChatPanelStack-B4LEqKEj.js +1 -0
- package/dist/web/assets/{RightSidebarHomePanel-j0VckZUu.js → RightSidebarHomePanel-DOeUsH7h.js} +1 -1
- package/dist/web/assets/{ScheduledWorkPage-1aT4bBY-.js → ScheduledWorkPage-UXZSSWgA.js} +1 -1
- package/dist/web/assets/{SettingsView-BSpuMDpv.js → SettingsView-CQm1ai73.js} +7 -7
- package/dist/web/assets/TeamChatView-C4haojB7.js +3 -0
- package/dist/web/assets/{TerminalOverlay-CrSwUk2d.js → TerminalOverlay-p2GZsuyQ.js} +3 -3
- package/dist/web/assets/{TrainingCreationPanel-B4HMRwUg.js → TrainingCreationPanel-BYJSlO8X.js} +1 -1
- package/dist/web/assets/{TrainingDraftPanel-D4r1tN3I.js → TrainingDraftPanel-DR5KlayH.js} +1 -1
- package/dist/web/assets/{UsageSettingsSection-2aymqwIM.js → UsageSettingsSection-BQToNXE4.js} +5 -5
- package/dist/web/assets/{WorkSidebarPanel-B0X0OiR6.js → WorkSidebarPanel--EeytWeg.js} +1 -1
- package/dist/web/assets/WorkspaceDiffPanel-BrovSYhn.js +14 -0
- package/dist/web/assets/{WorkspaceEnvironmentMenu-OAfMEt7L.js → WorkspaceEnvironmentMenu-l-keRgvj.js} +3 -3
- package/dist/web/assets/{WorkspaceGitDialogs-YxcPH2Rq.js → WorkspaceGitDialogs-aicWzaZu.js} +1 -1
- package/dist/web/assets/{WorkspaceMonacoEditor-COKTiQZl.js → WorkspaceMonacoEditor-CO_E74jM.js} +36 -36
- package/dist/web/assets/{arrow-up-right-_TX-awvK.js → arrow-up-right-rwPXNfVn.js} +1 -1
- package/dist/web/assets/chat-file-links-B3jDstSC.js +1 -0
- package/dist/web/assets/chevron-up-D089nvYQ.js +1 -0
- package/dist/web/assets/{clipboard-CyRSS8Sy.js → clipboard-DwEExyU4.js} +1 -1
- package/dist/web/assets/{cloud-upload-uBJBUYTy.js → cloud-upload-D2he0-vQ.js} +1 -1
- package/dist/web/assets/{cssMode-BrXSsZYs.js → cssMode-DS4k0NcI.js} +1 -1
- package/dist/web/assets/{folder-open-DktdZNW7.js → folder-open-CAOLduKD.js} +1 -1
- package/dist/web/assets/{folder-plus-DO06i9Vo.js → folder-plus-D56MrxVT.js} +1 -1
- package/dist/web/assets/{git-commit-horizontal-zFSIkPs7.js → git-commit-horizontal-CeNM0oKJ.js} +1 -1
- package/dist/web/assets/{htmlMode-X9UMFkjt.js → htmlMode-Xkni5erh.js} +1 -1
- package/dist/web/assets/{index-ByQIHpc9.css → index-BGMzUaup.css} +1 -1
- package/dist/web/assets/{index-UOGdfLzi.js → index-KwyAyscP.js} +1 -1
- package/dist/web/assets/{info-BEJXUqCD.js → info-CcrBaEE_.js} +1 -1
- package/dist/web/assets/{jsonMode-DIsB-j2E.js → jsonMode-C4YPbQB7.js} +1 -1
- package/dist/web/assets/{lspLanguageFeatures-CmZ17KpA.js → lspLanguageFeatures-CF5oMTz6.js} +1 -1
- package/dist/web/assets/{minimize-2-DumTpFtE.js → minimize-2-DzHQnInk.js} +1 -1
- package/dist/web/assets/{monaco.contribution-DJ_NmcHu.js → monaco.contribution-0EN4mGCC.js} +2 -2
- package/dist/web/assets/{monaco.contribution-YVDfJcG4.js → monaco.contribution-B4qcTP0w.js} +2 -2
- package/dist/web/assets/{monaco.contribution-LZEujgny.js → monaco.contribution-CJK_NrBm.js} +2 -2
- package/dist/web/assets/{monaco.contribution-D6w5PJji.js → monaco.contribution-CkPGKNd-.js} +2 -2
- package/dist/web/assets/{play-CLFeH7CU.js → play-p3-AMTPL.js} +1 -1
- package/dist/web/assets/{python-Djbda_qZ.js → python-B0kpTxAZ.js} +1 -1
- package/dist/web/assets/{refresh-cw-B4IpQ_7Q.js → refresh-cw-_jbTIzzr.js} +1 -1
- package/dist/web/assets/{save-BbTHztnA.js → save-Cy6hEotx.js} +1 -1
- package/dist/web/assets/{square-BJrVbmz6.js → square-DKQkcrOH.js} +1 -1
- package/dist/web/assets/{toggleHighContrast-BopU5W9S.js → toggleHighContrast-Bnk1VVVq.js} +1 -1
- package/dist/web/assets/{tsMode-CH_0_YDX.js → tsMode-BDrSVy7V.js} +1 -1
- package/dist/web/assets/{upload-UumVeufu.js → upload-COn0my_O.js} +1 -1
- package/dist/web/assets/{useLocalAgentSchedules-BRa23U7O.js → useLocalAgentSchedules-iZNB4Oee.js} +1 -1
- package/dist/web/assets/{wifi-off-BWJWivn6.js → wifi-off-Cqt-ZLXY.js} +1 -1
- package/dist/web/assets/{workers-pTe8RvSI.js → workers-hu0Ym93h.js} +1 -1
- package/dist/web/assets/{yaml-DNLASORn.js → yaml-D-JLDGL6.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +4 -3
- package/dist/chunks/actions-command-6N5XWMR6.js +0 -185
- package/dist/chunks/app-layer-F3CGXB33.js +0 -216
- package/dist/chunks/app-server-runtime-RHO5TFUC.js +0 -23
- package/dist/chunks/apps-L5XCL7QY.js +0 -429
- package/dist/chunks/chunk-26AMV5ZI.js +0 -634
- package/dist/chunks/chunk-3EB7I67T.js +0 -630
- package/dist/chunks/chunk-3ELF4FXY.js +0 -96
- package/dist/chunks/chunk-3VEYNDHN.js +0 -669
- package/dist/chunks/chunk-4KA25HUP.js +0 -5648
- package/dist/chunks/chunk-4L3ZJS2T.js +0 -1207
- package/dist/chunks/chunk-6SMNG6YA.js +0 -1303
- package/dist/chunks/chunk-7RIGZB7N.js +0 -1148
- package/dist/chunks/chunk-A6G3PFA5.js +0 -2164
- package/dist/chunks/chunk-BVY5JYM6.js +0 -512
- package/dist/chunks/chunk-DLQQIWN2.js +0 -648
- package/dist/chunks/chunk-FJ2JGB2N.js +0 -1373
- package/dist/chunks/chunk-FQS2QL5F.js +0 -14522
- package/dist/chunks/chunk-G65WAOJV.js +0 -1643
- package/dist/chunks/chunk-JTHL5XJ2.js +0 -1838
- package/dist/chunks/chunk-K4TZEHAW.js +0 -602
- package/dist/chunks/chunk-KCRCIQPD.js +0 -66
- package/dist/chunks/chunk-KSRWKXRB.js +0 -12
- package/dist/chunks/chunk-MUMPWI4O.js +0 -92
- package/dist/chunks/chunk-NTK22KJD.js +0 -10707
- package/dist/chunks/chunk-OCBRPU2K.js +0 -629
- package/dist/chunks/chunk-PS37DB5F.js +0 -183
- package/dist/chunks/chunk-R3C3MNSI.js +0 -140
- package/dist/chunks/chunk-SMNFI2FU.js +0 -113
- package/dist/chunks/chunk-UACZUFIA.js +0 -47
- package/dist/chunks/chunk-UZMVNKXM.js +0 -1275
- package/dist/chunks/chunk-VT6BLHMB.js +0 -67198
- package/dist/chunks/chunk-W5GKHH77.js +0 -168
- package/dist/chunks/chunk-X6F4LBTQ.js +0 -832
- package/dist/chunks/chunk-X7ZG4TSW.js +0 -3063
- package/dist/chunks/chunk-XA4KBDMY.js +0 -13723
- package/dist/chunks/chunk-YVCYVDNP.js +0 -746
- package/dist/chunks/chunk-ZNQEROWP.js +0 -254
- package/dist/chunks/cli-D2MUUBEX.js +0 -23
- package/dist/chunks/configuration-command-NR6JYIUD.js +0 -187
- package/dist/chunks/continual-37CE4LLJ.js +0 -803
- package/dist/chunks/core-commands-SWGIOZLW.js +0 -50
- package/dist/chunks/database-DEYUZDIM.js +0 -20
- package/dist/chunks/desktop-test-QOS7G5NE.js +0 -148
- package/dist/chunks/dist-AKYCQNNF.js +0 -187
- package/dist/chunks/extension-HJUJBQAD.js +0 -9378
- package/dist/chunks/help-J6PZ23IC.js +0 -67
- package/dist/chunks/opchat-ABX5YBAT.js +0 -169
- package/dist/chunks/organizations-CPNC47DO.js +0 -806
- package/dist/chunks/profile-Q3HB5MIO.js +0 -1136
- package/dist/chunks/project-agent-YHUBX4OR.js +0 -516
- package/dist/chunks/sandbox-command-YFL5QTWX.js +0 -1661
- package/dist/chunks/sandbox-template-Z6P7NTNF.js +0 -1655
- package/dist/chunks/src-7XEENEBI.js +0 -3628
- package/dist/chunks/src-KBBIV4NT.js +0 -56125
- package/dist/chunks/taskset-2TRZBRRT.js +0 -66
- package/dist/chunks/teams-bot-WD33NLH5.js +0 -146
- package/dist/chunks/training-4XH37UZB.js +0 -17
- package/dist/chunks/workspaces-WG2MH2WE.js +0 -99
- package/dist/web/assets/App-C9aGkxVg.js +0 -173
- package/dist/web/assets/AppDialog-CK6_lg8c.js +0 -1
- package/dist/web/assets/AppTerminalPanel-BKqgX4sd.js +0 -2
- package/dist/web/assets/GetStartedView-DVInkexN.js +0 -1
- package/dist/web/assets/LabModelVersionDetailPage-NaaPElmM.js +0 -1
- package/dist/web/assets/LabsRoute-BRR6x3SX.js +0 -2
- package/dist/web/assets/LabsRoute-CGFgymTX.css +0 -1
- package/dist/web/assets/MainChatThread-BfkjCZB9.js +0 -2
- package/dist/web/assets/MainPane-Gw-YK38n.js +0 -8
- package/dist/web/assets/RightChatPanelStack-BktRQ9wg.js +0 -1
- package/dist/web/assets/TeamChatView-BPWJbDf1.js +0 -3
- package/dist/web/assets/WorkspaceDiffPanel-Pg7GL0br.js +0 -14
- package/dist/web/assets/chat-file-links-CWLsRYvW.js +0 -1
- package/dist/web/assets/chevron-up--mNnEqha.js +0 -1
- package/dist/web/assets/index-BEPmTPIA.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./TrainingCreationPanel-BYJSlO8X.js","./index-KwyAyscP.js","./index-BGMzUaup.css","./App-DxecRQUL.js","./training-eg6uFi3M.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r,j as a,_ as v}from"./index-KwyAyscP.js";import{u as A,a as E,T as F,M as b}from"./Messages-e4A8JUjD.js";import{l as B,i as L}from"./MainPane-BWwcxgHD.js";import"./App-DxecRQUL.js";import"./chevron-up-D089nvYQ.js";import"./MarkdownText-D8XC5UT_.js";import"./chat-file-links-B3jDstSC.js";import"./desktop-files-BQj1J-ob.js";import"./arrow-up-right-rwPXNfVn.js";import"./folder-open-CAOLduKD.js";import"./play-p3-AMTPL.js";import"./refresh-cw-_jbTIzzr.js";import"./cloud-upload-D2he0-vQ.js";import"./square-DKQkcrOH.js";const N=r.lazy(()=>v(()=>import("./TrainingCreationPanel-BYJSlO8X.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url).then(t=>({default:t.TrainingStatusReceipt})));function Z({accountBaseUrl:t,activeWorkspaceAppId:e,billingOrganizationSlug:n,billingTeamId:l,connection:o,conversationKey:p,creation:u,onOpenBrowserLink:d,onOpenAttachmentInSidebar:g,onOpenFileInSidebar:c,onOpenProfileSettings:h,onResolveUserQuestion:I,onOpenSession:T,onScroll:f,rows:m,sessionId:M,turnRunning:x,userAttachmentDisplay:_,threadRef:j,workspaceRootPath:y}){const i=r.useMemo(()=>m.flatMap(s=>s.type==="message"?[s.message]:[]),[m]),C=A(i,p),R=P(i),S=r.useMemo(()=>B(i),[i]),k=E({connection:o,latestTurnId:R,sessionId:M,turnRunning:x});return a.jsxs("section",{className:"chat-thread","aria-label":"Conversation",ref:j,onScroll:f,children:[m.map(s=>s.type==="thinking"?a.jsx(F,{},s.id):a.jsx(b,{activeWorkspaceAppId:e,accountBaseUrl:t,billingOrganizationSlug:n,billingTeamId:l,connection:o,animateInitialContent:s.message.role==="assistant"&&C.has(s.message.id),kvCacheSummary:L(s.message,S)&&s.message.turnId?k.get(s.message.turnId)??null:null,message:s.message,onOpenAttachmentInSidebar:g,onOpenFileInSidebar:c,onOpenBrowserLink:d,onOpenProfileSettings:h,onResolveUserQuestion:I,onOpenSession:T,userAttachmentDisplay:_,workspaceRootPath:y,showFooter:s.showFooter},s.id)),u?a.jsx(r.Suspense,{fallback:null,children:a.jsx(N,{creation:u})}):null]})}function P(t){for(let e=t.length-1;e>=0;e-=1){const n=t[e]?.turnId;if(n)return n}return null}export{Z as MainChatThread};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-D7usvRtK.js","./index-KwyAyscP.js","./index-BGMzUaup.css","./App-DxecRQUL.js","./chat-file-links-B3jDstSC.js","./play-p3-AMTPL.js","./refresh-cw-_jbTIzzr.js","./WorkspaceDiffPanel-BrovSYhn.js","./MarkdownText-D8XC5UT_.js","./desktop-files-BQj1J-ob.js","./training-model-data-CKOkpBBL.js","./folder-open-CAOLduKD.js","./info-CcrBaEE_.js","./minimize-2-DzHQnInk.js","./save-Cy6hEotx.js","./clipboard-DwEExyU4.js","./chevron-up-D089nvYQ.js","./AppTerminalPanel-B2EKQM7W.js","./RightSidebarHomePanel-DOeUsH7h.js","./WorkSidebarPanel--EeytWeg.js","./cloud-upload-D2he0-vQ.js","./arrow-up-right-rwPXNfVn.js","./square-DKQkcrOH.js","./WorkSidebarPanel-Bky_Rqcx.css","./NewExperienceSwitcher-CzGebt2E.js","./CollaborationTabs-BMZamWFC.js","./CollaborationTabs-BfVlyLmR.css","./AppsView-BBoVe7s2.js","./AppsView-CzbB5pXp.css","./GetStartedView-Ibu7oKWJ.js","./AppDialog-B65Eo3gp.js","./GetStartedView-yVmnGZPw.css","./LabsRoute-DoRs0K6v.js","./LabsRoute-C1FWCoYb.css","./training-eg6uFi3M.css","./ScheduledWorkPage-UXZSSWgA.js","./useLocalAgentSchedules-iZNB4Oee.js","./OutputsPage-m7cSb8dW.js","./ProjectsPage-C9mz8W1g.js","./ProjectsPage-DdG-U9ZW.css","./LabSkillSidebar-BKYseMiJ.js","./LabSkillSidebar-CVxtS9pd.css","./BrowserSidebar-CSM1atSJ.js","./BrowserSidebar-D9i7gQzw.css","./RightChatPanelStack-B4LEqKEj.js","./Messages-e4A8JUjD.js","./NativeSkillSidebar-D2Joh8XB.js","./NativeSkillSidebar-T8KXjnUH.css","./TeamChatView-C4haojB7.js","./TeamChatView-Br3VdxhD.css","./git-dialogs-BZDqS1eT.css","./CommunityView-CTyRUcfy.js","./wifi-off-Cqt-ZLXY.js","./CommunityView-DaIS0cHw.css","./TrainingDraftPanel-DR5KlayH.js","./MainChatThread-DvuyMcMB.js","./TrainingCreationPanel-BYJSlO8X.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as o,j as s,_ as me}from"./index-KwyAyscP.js";import{c as qe,b as zr,C as ds,P as Ln,a as $s,A as Pn,d as Ct,e as wr,F as Mr,f as hr,g as ca,O as ua,h as Rr,B as da,i as Fs,j as Ir,k as fa,l as ma,m as ha,n as pa,u as ga,o as De,X as fs,p as bo,q as xa,D as Fr,r as Br,S as ba,s as qr,t as ka,v as ko,w as va,G as Sa,x as ya,y as Ft,z as Pr,E as In,H as Ur,I as vo,J as ja,K as Ca,L as wa,M as Ma,N as Ea,Q as Aa,R as Na,T as Ta,U as Ra,V as Hr,W as So,Y as Ia,Z as Pa,_ as _a,$ as $a,a0 as La,a1 as Oa,a2 as Da,a3 as za,a4 as Vr,a5 as Fa,a6 as Ba,a7 as qa,a8 as Ua,a9 as Ha,aa as Va,ab as Ga,ac as Wa,ad as Xa,ae as Ka,af as Qa,ag as Ja,ah as Ya,ai as Za,aj as ei,ak as ti}from"./App-DxecRQUL.js";import{C as ni}from"./cloud-upload-D2he0-vQ.js";import{A as si}from"./arrow-up-right-rwPXNfVn.js";import{T as ri,B as pr,W as gr,P as oi,F as ai,C as ii,A as li,a as yo,r as ci,n as ui}from"./chat-file-links-B3jDstSC.js";import{S as jo}from"./square-DKQkcrOH.js";function Co(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const di=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],fi=qe("arrow-down",di);const mi=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],hi=qe("arrow-up",mi);const pi=[["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"}]],Gr=qe("at-sign",pi);const gi=[["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"}]],xi=qe("badge-check",gi);const bi=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],ki=qe("ban",bi);const vi=[["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"}]],Si=qe("cloud-download",vi);const yi=[["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"}]],ji=qe("file-headphone",yi);const Ci=[["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"}]],wi=qe("file-spreadsheet",Ci);const Mi=[["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"}]],Ei=qe("file-play",Mi);const Ai=[["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"}]],Ni=qe("image",Ai);const Ti=[["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"}]],Ri=qe("mic",Ti);const Ii=[["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"}]],Wr=qe("paperclip",Ii);const Pi=[["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"}]],_i=qe("presentation",Pi);const $i=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Li=qe("reply",$i),Xr=Object.freeze({events:[],messages:[]});class Oi{projection=Xr;project(t){if(t===this.projection.events)return this.projection.messages;if(!Fi(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=Di(this.projection.messages,n);if(r)return this.projection={events:t,messages:r},r;const a=zi(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]:[])),h=[...this.projection.messages.filter(f=>!f.turnId||!c.has(f.turnId)),...zr(i)];return this.projection={events:t,messages:h},h}reset(){this.projection=Xr}snapshot(){return this.projection}replace(t){const n=zr(t);return this.projection={events:t,messages:n},n}}function Di(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 h={...n,...c?{content:r}:{},...u?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),h]}function zi(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 Fi(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 Bi(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 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 qs(e){return`$${e.name}`}function Ui(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)?" ":"",h=c&&/^\s/.test(c)?"":" ",f=`${u}${qs(n)}${h}`;return{cursor:i.length+f.length-(c?h.length:0),value:`${i}${f}${c}`}}function Ls(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 wo(e,t,n){const r=t.trim().replace(/\s+/g," "),a=Hi(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)?" ":"",h=c&&!/^\s/.test(c)?" ":"",f=`${u}${r}${h}`;return{value:`${i}${f}${c}`,cursorIndex:i.length+u.length+r.length+h.length}}function Hi(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Vi({appendToEnd:e=!1,currentScopeKey:t,cursorIndex:n,originScopeKey:r,prompt:a,setOriginDraft:i,submitFromOrigin:c,transcript:u}){const h=wo(a,u,e?a.length:n);return i(h.value),t===r?"drafted":await c(h.value)?(i(""),"submitted"):"retained"}const _n=new Map,Os=new Map,Ds=new Map;function Kr(e){for(const t of Os.get(e)??[])t()}function Gi(e){return _n.has(e)}function Wi(e,t){const n=Os.get(e)??new Set;return n.add(t),Os.set(e,n),()=>{n.delete(t),n.size===0&&Os.delete(e)}}function Mo(e){_n.get(e)?.controller.abort()}function Xi(e,t){const n=Ds.get(e)??new Set;return n.add(t),Ds.set(e,n),()=>{n.delete(t),n.size===0&&Ds.delete(e)}}function Ki(e){const t=_n.get(e);if(t)return t.submitRequested=!0,!0;for(const n of Ds.get(e)??[])if(n())return!0;return!1}function Qi(e,t,n={}){Mo(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(()=>{_n.get(e)===a&&(_n.delete(e),Kr(e))}),_n.set(e,a),Kr(e),a.promise}function Eo({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(""),h=o.useRef(null),f=o.useMemo(()=>{const g=c.trim().toLowerCase();return g?n.options.filter(y=>`${y.label} ${y.detail}`.toLowerCase().includes(g)):n.options},[c,n.options]);return o.useEffect(()=>{if(!a){u("");return}function g(m){h.current?.contains(m.target)||i(!1)}function y(m){m.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",g),document.addEventListener("keydown",y),()=>{document.removeEventListener("pointerdown",g),document.removeEventListener("keydown",y)}},[a]),n.options.length<=1?null:s.jsxs("div",{className:`composer-profile-target ${t==="top"?"open-up":""}`,ref:h,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(ds,{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 y=g.value===n.value;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":y,className:`composer-project-option ${y?"selected":""}`,onClick:()=>{r(g.value),i(!1)},children:[s.jsxs("span",{children:[s.jsx("strong",{children:g.label}),s.jsx("small",{children:g.detail})]}),y?s.jsx(Ct,{size:14}):null]},g.value)})})]}):null]})}function Ji({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(!1),[h,f]=o.useState(""),g=o.useRef(null),m=n.value==="none"?"Select Project":n.label,p=n.options.find(C=>C.value===n.value)?.kind??"local",S=o.useMemo(()=>{const C=h.trim().toLowerCase();return C?n.options.filter(P=>[P.label,P.detail].filter(Boolean).some(b=>b.toLowerCase().includes(C))):n.options},[h,n.options]),v=S.filter(C=>C.kind==="local"||C.kind==="cloud"),N=S.filter(C=>C.kind==="action"),j=S.filter(C=>C.kind==="none");o.useEffect(()=>{if(!a){f(""),u(!1);return}function C(b){g.current?.contains(b.target)||i(!1)}function P(b){b.key==="Escape"&&(c?u(!1):i(!1))}return document.addEventListener("pointerdown",C),document.addEventListener("keydown",P),()=>{document.removeEventListener("pointerdown",C),document.removeEventListener("keydown",P)}},[c,a]);function E(C){const P=C.value===n.value,b=e||C.disabled,_=C.kind==="action";return s.jsxs("button",{type:"button",role:_?"menuitem":"menuitemradio","aria-checked":_?void 0:P,className:`composer-project-option ${P?"selected":""} ${C.kind}`,disabled:b,onClick:()=>{r(C.value),u(!1),i(!1)},children:[s.jsx(Er,{kind:C.kind,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:C.label}),s.jsx("small",{children:C.detail})]}),P&&s.jsx(Ct,{size:14})]},C.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(C=>!C),u(!1)},children:[s.jsx(Er,{kind:p,size:14}),s.jsx("span",{children:m}),s.jsx(ds,{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:h,placeholder:"Search projects",onChange:C=>f(C.target.value)})}),s.jsx("div",{className:"composer-menu-items",children:S.length===0?s.jsx("div",{className:"composer-menu-empty",children:"No projects found"}):v.map(E)}),N.length>0||j.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(C=>!C),children:[s.jsx(Ln,{size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:"New"}),s.jsx("small",{children:"Create or add a project"})]}),s.jsx($s,{size:14})]}):null,j.map(E)]}):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(Pn,{size:14}),s.jsx("span",{children:"New project"})]}),N.map(E)]}):null]})}function Er({kind:e,size:t}){return e==="cloud"?s.jsx(wr,{size:t}):e==="action"?s.jsx(Ln,{size:t}):s.jsx(Mr,{size:t})}function Yi({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",h=`${n.label}: ${n.detail}`,f=n.uploadAction??null,g=f?Qr(f):null,y=f?f.disabled&&f.disabledReason?f.disabledReason:`${f.label}: ${g??f.detail}`:null,m=!!(f&&(e||n.busy||f.disabled));return o.useEffect(()=>{if(!a)return;function p(v){c.current?.contains(v.target)||i(!1)}function S(v){v.key==="Escape"&&i(!1)}return document.addEventListener("pointerdown",p),document.addEventListener("keydown",S),()=>{document.removeEventListener("pointerdown",p),document.removeEventListener("keydown",S)}},[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":h,"aria-label":"Working in","aria-haspopup":"menu","aria-expanded":a,onClick:()=>i(p=>!p),children:[s.jsx(zs,{value:n.value,size:14}),s.jsx("span",{className:"workspace-target-trigger-label",children:n.label}),s.jsx(ds,{size:14})]}),f?s.jsx("button",{type:"button",className:`workspace-upload-trigger ${f.value}`,disabled:m,"data-tooltip":y??void 0,"aria-label":f.label,onClick:()=>{r(f.value),i(!1)},children:s.jsx(zs,{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 S=p.value===n.value,v=e||n.busy||p.disabled,j=Qr(p)??p.detail,E=p.disabled&&p.disabledReason?p.disabledReason:`${p.label}: ${j}`;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":S,className:`workspace-target-option ${S?"selected":""} ${p.value}`,disabled:v,"data-tooltip":E,onClick:()=>{r(p.value),i(!1)},children:[s.jsx(zs,{value:p.value,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:p.label}),s.jsx("small",{children:j})]}),S&&s.jsx(Ct,{size:14})]},p.value)})})]})}function Zi({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(Er,{kind:r,size:14}),s.jsx("span",{children:a})]}),s.jsxs("span",{className:"composer-context-chip","aria-label":`Execution: ${t.label}`,children:[s.jsx(zs,{value:t.value,size:14}),s.jsx("span",{children:t.label})]})]})}function Qr(e){return e.disabled&&e.disabledReason?e.disabledReason:e.stateNote??null}function zs({value:e,size:t}){return e==="cloud"?s.jsx(wr,{size:t}):e==="hybrid"?s.jsxs("span",{className:"workspace-target-hybrid-icon","aria-hidden":"true",children:[s.jsx(Mr,{className:"hybrid-folder",size:t}),s.jsx(wr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?s.jsx(ni,{size:t}):s.jsx(Mr,{size:t})}function Jr({disabled:e,model:t,modelGroups:n,placement:r,provider:a,reasoningEffort:i,showReasoning:c,onModelSelectionChange:u,onProviderSetupOpen:h,onReasoningEffortChange:f}){const[g,y]=o.useState(!1),[m,p]=o.useState("root"),S=o.useRef(null),v=n.find(b=>b.provider===a),N=v?.options.find(b=>b.value===t),j=hr.find(b=>b.value===i)??hr[1],E=el(N?.label??t),C=c?`${E} ${j.shortLabel??j.label}`:E,P=c?"Model and reasoning":"Model";return o.useEffect(()=>{if(!g){p("root");return}function b(z){S.current?.contains(z.target)||y(!1)}function _(z){z.key==="Escape"&&y(!1)}return document.addEventListener("pointerdown",b),document.addEventListener("keydown",_),()=>{document.removeEventListener("pointerdown",b),document.removeEventListener("keydown",_)}},[g]),o.useEffect(()=>{!c&&m==="effort"&&p("root")},[m,c]),s.jsxs("div",{className:`codex-model-reasoning ${r==="top"?"open-up":""}`,"data-tooltip":P,ref:S,children:[s.jsxs("button",{type:"button",className:`codex-model-trigger ${g?"active":""}`,disabled:e,"aria-label":P,"aria-haspopup":"menu","aria-expanded":g,onClick:()=>y(b=>!b),children:[s.jsx("span",{children:C}),s.jsx(ds,{size:14})]}),g&&s.jsx("div",{className:"codex-model-menu",role:"menu","aria-label":P,children:m==="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:v?.label??a}),s.jsx($s,{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($s,{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:j.shortLabel??j.label}),s.jsx($s,{size:14})]}):null]}):m==="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(Pn,{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(b=>{const _=b.provider===a;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":_,className:_?"selected":"",onClick:()=>{const z=b.options.find(V=>V.value===b.defaultModel)??b.options[0];z&&(u(b.provider,z.value),p("root"))},children:[s.jsx("span",{children:b.label}),_?s.jsx(Ct,{size:14}):null]},b.provider)})}),s.jsx("button",{type:"button",className:"codex-model-setup-action",role:"menuitem",onClick:()=>{y(!1),h?.()},children:s.jsxs("span",{className:"codex-model-menu-option-label",children:[s.jsx(Ln,{size:13}),s.jsx("span",{children:"New Model/Provider"})]})})]}):m==="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(Pn,{size:14}),s.jsx("span",{children:"Model"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),s.jsxs("div",{className:"codex-model-menu-options",children:[(v?.options??[]).map(b=>{const _=b.value===t;return s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":_,className:_?"selected":"",onClick:()=>{u(a,b.value),p("root")},children:[s.jsx("span",{children:b.label}),_?s.jsx(Ct,{size:14}):null]},b.value)}),v?.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:()=>{y(!1),h?.()},children:s.jsxs("span",{className:"codex-model-menu-option-label",children:[s.jsx(Ln,{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(Pn,{size:14}),s.jsx("span",{children:"Effort"})]}),s.jsx("div",{className:"codex-model-menu-divider"}),hr.map(b=>s.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":b.value===i,className:b.value===i?"selected":"",onClick:()=>{f(b.value),p("root")},children:[s.jsx("span",{children:b.label}),b.value===i?s.jsx(Ct,{size:14}):null]},b.value))]})})]})}function el(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function tl({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(ds,{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 nl(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():`steer-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,9)}`}function xr(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 Ao(e,t={}){const n=t.now??new Date().toISOString();return{createdAt:n,id:t.id??nl(),prompt:e,updatedAt:n}}function No(e,t){return e.filter(n=>n.id!==t)}function sl(e,t,n){const r=n?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Ao(r)]:[])}function rl(e,t,n){return n?No(e,t):e}function Ar(e,t,n=[]){return e[t]??n}function ol(e,t,n,r=[]){const a=Ar(e,t,r),i=n(a);return Object.is(a,i)?e:{...e,[t]:i}}function al({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=xr(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(Li,{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: ${xr(i.prompt,60)}`,onClick:()=>a(i.id),children:[s.jsx(si,{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(ri,{size:13})}),s.jsx("button",{type:"button",className:"composer-steer-row-action",disabled:c,"aria-label":`Edit: ${xr(i.prompt,60)}`,onClick:()=>r(i),children:s.jsx("span",{children:"Edit"})})]},i.id)})})}const il=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,ll=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,cl=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"]),ul=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function dl(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function fl(e){return e==="github"?cl:ul}function To(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;ml(t);)t=t.slice(0,-1);return t}function ml(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 hl(e){return e.replace(/\.git$/i,"")}function Ro(e){try{return decodeURIComponent(e)}catch{return e}}function pl(e){return hl(Ro(e.trim()))}function Io(e){const t=e.host.toLowerCase().replace(/^www\./,""),n=dl(t);if(!n)return null;const r=Ro(e.owner?.trim()??""),a=pl(e.repo??"");return!r||!a||fl(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 gl(e,t){const n=To(e);if(!n)return null;try{const r=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),a=r.pathname.split("/").filter(Boolean);return Io({end:t+n.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:n})}catch{return null}}function xl(e,t){const n=To(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return Io({end:t+n.length,host:a,owner:i[0],repo:i[1],start:t,url:n})}function Yr(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 bl(e){if(!e)return[];const t=[...Yr(e,il,gl),...Yr(e,ll,xl)].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 kl=10,vl=340,Sl=320,yl=160,jl=56;function jt(e,t=0){const n=Number.parseFloat(e);return Number.isFinite(n)?n:t}function br(e){if(!e)return;e.style.height="auto";const t=window.getComputedStyle(e),n=jt(t.fontSize,16),r=jt(t.lineHeight,n*1.45),a=jt(t.paddingTop)+jt(t.paddingBottom),i=jt(t.borderTopWidth)+jt(t.borderBottomWidth),c=jt(t.minHeight,66),u=Math.max(c,Math.ceil(r*kl+a+i)),h=Math.max(c,Math.min(e.scrollHeight,u));e.style.height=`${h}px`,e.style.overflowY=e.scrollHeight>u?"auto":"hidden"}function kr(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),a=window.getComputedStyle(e),i=jt(a.paddingLeft,14),c=jt(a.paddingTop,15),u=Math.max(0,r.width-16),h=Math.min(vl,u),f=n.left-r.left+i-8,g=Math.max(8,Math.min(f,r.width-h-8)),y=Math.max(8,n.top-r.top+c+2);return{left:g,top:y,width:h}}function Cl(e){const t=e.getBoundingClientRect(),n=Math.floor(t.top-jl);return{maxHeight:Math.max(yl,Math.min(Sl,n))}}const wl="[data-inline-token='true']",Ml="[data-inline-repo-link='true']",El="[data-inline-connected-app-mention='true']";function ls(e){return e instanceof HTMLElement&&e.matches(wl)}function cs(e){return e instanceof HTMLElement&&e.matches(Ml)}function us(e){return e instanceof HTMLElement&&e.matches(El)}function Bs(e,t){return Math.max(0,Math.min(e,t))}function $n(e,t){return e?Bs(e.position,t.length):null}function Al(e,t,n,r=!1){const a=$n(t,n),i=Bs(e,n.length);return a===null?i:i>a||r&&i===a?i+1:i}function Zr(e,t,n){const r=$n(t,n);return Bs(r===null?e:e>r?e-1:e,n.length)}function vr(e){let t="",n=null;function r(a){if(cs(a)){t+=a.dataset.repoUrl??"";return}if(us(a)){t+=a.dataset.connectedMentionText??"";return}if(ls(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(cs(e))return e.dataset.repoUrl?.length??0;if(us(e))return e.dataset.connectedMentionText?.length??0;if(ls(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 eo(e,t,n){if(!t||t!==e&&!e.contains(t))return null;let r=0,a=!1;function i(c){if(!a){if((ls(c)||cs(c)||us(c))&&(c===t||c.contains(t))){(c!==t||n>0)&&(r+=on(c)),a=!0;return}if(ls(c)||cs(c)||us(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 h of u)r+=on(h)}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 Sr(e){const t=window.getSelection();if(!t||t.rangeCount===0)return null;const n=eo(e,t.anchorNode,t.anchorOffset),r=eo(e,t.focusNode,t.focusOffset);return n===null||r===null?null:{anchor:n,focus:r}}function to(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(ls(c)||cs(c)||us(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 h=i(u);if(h)return h}return null}return i(e)??{node:e,offset:e.childNodes.length}}function Po(e,t){const n=window.getSelection();if(!n)return;const r=to(e,t.anchor),a=to(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,h=c?a:r;i.setStart(u.node,u.offset),i.setEnd(h.node,h.offset),n.addRange(i)}function Nl(e,t){Po(e,{anchor:t,focus:t})}function no(e){document.execCommand("insertText",!1,e)}function Tl(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 Rl(){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 so(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=Tl(e.icon),n.append(r),n.insertAdjacentHTML("beforeend",Rl());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(n,a),t}function Il(e){return e.provider==="github"?Rr("github"):ua}function Pl(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=Il(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 _l(e){return Rr(e)}function $l(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=_l(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 Ll(e,t){const n=bl(e);return t===null?n:n.filter(r=>t<=r.start||t>=r.end)}function Ol(e,t,n){const r=ca(e,t);return n===null?r:r.filter(a=>n<=a.start||n>=a.end)}function _o(e,t,n){const r=[...Ll(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),...Ol(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 Dl(e,t,n){return _o(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 zl(e,t,n,r){const a=$n(n,t),i=_o(t,a,r);let c=!1;function u(g){g&&e.append(document.createTextNode(g))}function h(g,y){if(!n||a===null||c||a<g||a>y){u(t.slice(g,y));return}u(t.slice(g,a)),e.append(so(n)),c=!0,u(t.slice(a,y))}e.replaceChildren();let f=0;for(const g of i)h(f,g.start),g.kind==="repo"?e.append(Pl(g.link)):e.append($l(g.mention)),f=g.end;h(f,t.length),n&&!c&&e.append(so(n))}const Fl=o.forwardRef(function({connectedAppMentions:t=[],disabled:n,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:u,onTokenPositionChange:h,placeholder:f,prompt:g,token:y},m){const p=o.useRef(null),v=`${y?`${y.key}:${$n(y,g)??0}`:"none"}|${Dl(g,$n(y,g),t)}`,N=o.useRef(null),j=g.length===0&&!y;o.useImperativeHandle(m,()=>({get element(){return p.current},getPrompt(){const b=p.current;return b?vr(b).text:g},focusAtPromptIndex(b,_){const z=p.current;if(!z)return;const V=Al(b,y,g,_?.afterToken);z.focus(),Nl(z,V),br(z)},resize(){br(p.current)}}),[g,y]),o.useLayoutEffect(()=>{const b=p.current;if(!b)return;const _=N.current!==v;N.current=v;const z=vr(b);if(_||g===""||z.text!==g||z.tokenPosition!==$n(y,g)){const F=document.activeElement===b?Sr(b):null;zl(b,g,y,t),b.dataset.empty=g.length===0&&!y?"true":"false",F&&Po(b,F)}br(b)},[t,g,y,v]);function E(){const b=p.current;if(!b)return;const _=Sr(b)?.focus??on(b),z=vr(b),V=Zr(_,y,z.text);b.dataset.empty=z.text.length===0&&!y?"true":"false",h(z.tokenPosition),r(V),u(z.text,V)}function C(){E(),window.requestAnimationFrame(E)}function P(){const b=p.current;if(!b)return;const _=Sr(b)?.focus??on(b);r(Zr(_,y,g))}return s.jsx("div",{ref:p,className:"composer-inline-input",role:"textbox","aria-multiline":"true",contentEditable:!n,suppressContentEditableWarning:!0,"data-empty":j?"true":"false","data-placeholder":f,onBeforeInput:b=>{b.nativeEvent.inputType==="insertParagraph"&&(b.preventDefault(),no(`
|
|
3
|
+
`),C())},onInput:E,onKeyDown:b=>{a(b)},onKeyUp:P,onMouseUp:P,onPaste:b=>{b.preventDefault();const _=Array.from(b.clipboardData.files);if(_.length>0&&i){i(_);return}const z=b.clipboardData.getData("text/plain");z&&(c?.(z)||(no(z),C()))}})});function Bl(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 ql(e,t,n,r,a,i,c){return e==="Enter"&&(t||n)&&!r&&a==="work"&&i==="chat"&&c}function Ul(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 ro(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 Hl(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 Vl(e){return e.kind==="command"?`${e.command.command} ${e.command.label}`:e.kind==="app-context"?e.app.name:e.kind==="skill"?qs(e.skill):Ir(e.action)}function Gl(e){return e.kind==="command"?ma(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||ha(e.action)}function Wl(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 Xl(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"?qs(e.skill):fa(e.action)}function Kl(e){if(e.kind==="action")return pa(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 Ql(e){return e.kind==="files"?"files":e.kind==="folder"?"folder":e.kind==="slash"?`slash:${Hl(e.item)}`:`mention:${Wl(e.item)}`}function $o(e){return e.kind==="files"?"Files and folders":e.kind==="folder"?"Local folder":e.kind==="slash"?Vl(e.item):Xl(e.item)}function Lo(e){return e.kind==="files"?"Attach images, documents, or other files":e.kind==="folder"?"Share a bounded folder as Work input":e.kind==="slash"?Gl(e.item):Kl(e.item)}function Jl(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0)return!0;const r=`${$o(e)} ${Lo(e)}`.toLowerCase();return n.every(a=>r.includes(a))}function Yl(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(h=>h.id===r||h.queryScope===r||h.queryScopes?.includes(r)):e;if(!a)return i;const c=i.map(h=>({...h,items:h.items.filter(f=>Jl(f,a))})).filter(h=>h.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 Zl(e){if(e.kind==="files")return s.jsx(Wr,{size:14});if(e.kind==="folder")return s.jsx(Wr,{size:14});if(e.kind==="slash"){const n=e.item;return n.kind==="command"?n.command.id==="agent"?s.jsx(pr,{size:14}):n.command.id==="skill"?s.jsx(da,{size:14}):s.jsx(gr,{size:14}):n.kind==="app-context"?s.jsx(Gr,{size:14}):n.kind==="skill"?s.jsx(Fs,{size:14}):ro(n.action)?s.jsx(pr,{size:14}):s.jsx(gr,{size:14})}const t=e.item;return t.kind==="connected-app"?s.jsx("img",{alt:"",className:"composer-provider-mention-icon",draggable:!1,src:Rr(t.app.provider)}):t.kind==="action"?ro(t.action)?s.jsx(pr,{size:14}):s.jsx(gr,{size:14}):t.kind==="skill"?s.jsx(Fs,{size:14}):s.jsx(Gr,{size:14})}function ec(e){if(e.kind==="slash"&&e.item.kind==="app-context"||e.kind==="mention"&&e.item.kind==="app")return e.item.app.id}function _r({ariaLabel:e,className:t="",id:n,menuIndex:r,menuRef:a,onSelect:i,onSelectIndex:c,sections:u,style:h,variant:f}){const g=o.useRef(null),y=u.reduce((p,S)=>p+S.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"})},[y,r,f]);let m=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:h,children:u.map(p=>{const S=m;return m+=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((v,N)=>{const j=S+N,E=j===r;return s.jsxs("button",{type:"button",role:f==="add"?"menuitem":"option",ref:E?g:void 0,"aria-selected":f==="typed"?E:void 0,className:`composer-project-option ${E?"selected":""} composer-command-option`,"data-app-context-id":ec(v),onFocus:()=>c(j),onMouseEnter:()=>c(j),onMouseDown:C=>{C.preventDefault()},onClick:()=>i(v),children:[Zl(v),s.jsxs("span",{children:[s.jsx("strong",{children:$o(v)}),s.jsx("small",{children:Lo(v)})]}),f==="typed"&&E?s.jsx(Ct,{size:14}):s.jsx("span",{"aria-hidden":"true"})]},Ql(v))}):s.jsx("div",{className:"composer-menu-empty",children:p.emptyLabel??"No items available"})]},p.id)})})}function tc({mentionIndex:e,items:t,onSelect:n,onSelectIndex:r,style:a}){return s.jsx(_r,{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 Oo(){return!!(navigator.mediaDevices&&typeof AudioContext<"u")}async function nc(e={}){if(!Oo())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 h=u.inputBuffer.getChannelData(0);c.chunks.push(new Float32Array(h)),c.onAudioLevel?.(sc(h))},r.connect(a),a.connect(i),i.connect(n.destination),{stop:()=>oo(c,!0),cancel:()=>oo(c,!1).then(()=>{})}}function sc(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 oo(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=rc(e.chunks);if(r.length===0)throw new Error("No microphone audio was captured.");return{blob:oc(r,e.audioContext.sampleRate),durationMs:n,sampleRate:e.audioContext.sampleRate}}function rc(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 oc(e,t){const a=e.length*2,i=new ArrayBuffer(44+a),c=new DataView(i);Ps(c,0,"RIFF"),c.setUint32(4,36+a,!0),Ps(c,8,"WAVE"),Ps(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),Ps(c,36,"data"),c.setUint32(40,a,!0);let u=44;for(const h of e){const f=Math.max(-1,Math.min(1,h));c.setInt16(u,f<0?f*32768:f*32767,!0),u+=2}return new Blob([i],{type:"audio/wav"})}function Ps(e,t,n){for(let r=0;r<n.length;r+=1)e.setUint8(t+r,n.charCodeAt(r))}const Nr=96,Do=Array.from({length:Nr},()=>0);function os(){return[...Do]}function ac(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function ic({levels:e}){const t=o.useMemo(()=>e.length>=Nr?e.slice(-Nr):[...Do.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 lc=12e4,zo="openpond.voice.setupNoticeAcknowledged",cc="Voice dictation runs locally with whisper.cpp. OpenPond uses a local whisper-cli binary and downloads the voice model on first use.";function ao({connection:e,buttonClassName:t,wrapperClassName:n="",disabled:r=!1,iconSize:a=16,language:i="en",onActiveChange:c,showToast:u,onTranscript:h,transcriptionChannelKey:f}){const g=o.useRef(null),y=o.useRef(null),m=o.useRef(e),p=o.useRef(r),S=o.useRef("idle"),v=o.useRef(!1),N=o.useRef(io());ga(()=>{N.current=io()}),m.current=e,p.current=r;const[j,E]=o.useState("idle"),[C,P]=o.useState(null),[b,_]=o.useState(os),z=o.useCallback(ae=>Wi(f,ae),[f]),V=o.useCallback(()=>Gi(f),[f]),F=o.useSyncExternalStore(z,V,V),se=F,xe=j==="starting",be=j==="recording",$e=be||F,ce=xe||$e;S.current=j;const X=o.useCallback(()=>{y.current!==null&&(window.clearTimeout(y.current),y.current=null)},[]),we=o.useCallback(async()=>{X();const ae=g.current;g.current=null,v.current=!1,E("idle"),_(os()),ae&&await ae.cancel().catch(()=>{})},[X]),ye=o.useCallback(async(ae,re,ke)=>{const ue=m.current;if(!ue)throw new Error("Voice input is still connecting.");const D=await De.voiceTranscriptionStatus(ue,{signal:re});if(!D.binaryPath)throw new Error(D.installHint??"Install whisper.cpp to use dictation.");const oe=await De.transcribeVoice(ue,{audioBase64:await uc(ae.blob),durationMs:Math.round(ae.durationMs),language:i,mimeType:"audio/wav"},{signal:re});re.aborted||Promise.resolve(h(oe.text,{submit:ke()})).catch(w=>{u(yr(w),"error")})},[i,h,u]),Me=o.useCallback(()=>{Mo(f),P(null),_(os())},[f]),W=o.useCallback(async(ae=!1)=>{X();const re=g.current;g.current=null,re&&(E("idle"),P(null),_(os()),Qi(f,async(ke,ue)=>{const D=await re.stop();ke.aborted||await ye(D,ke,ue)},{submit:ae}).catch(ke=>{ke instanceof DOMException&&ke.name==="AbortError"||u(yr(ke),"error")}))},[X,u,ye,f]),K=o.useCallback(async()=>{if(p.current)return;if(!m.current){P("Voice input is still connecting.");return}if(!Oo()){P("Voice recording is not available in this browser.");return}P(null),E("starting");try{if(await window.openpond?.requestMicrophoneAccess?.()===!1)throw new Error("Microphone access is denied.");const ke=await nc({onAudioLevel:ue=>{_(D=>ac(D,ue))}});if(g.current=ke,_(os()),E("recording"),v.current){v.current=!1,W(!0);return}y.current=window.setTimeout(()=>{W(!1)},lc)}catch(re){P(yr(re)),await we()}},[we,W]),I=o.useCallback(()=>{if(N.current){K();return}u(cc,"info",{actionLabel:"Continue",persistent:!0,onAction:()=>{N.current=!0,dc(),K()}})},[K,u]);return o.useEffect(()=>Xi(f,()=>g.current?(W(!0),!0):S.current==="starting"?(v.current=!0,!0):!1),[W,f]),o.useEffect(()=>{c?.(ce)},[ce,c]),o.useEffect(()=>()=>c?.(!1),[c]),o.useEffect(()=>{if(!C||be||se)return;const ae=window.setTimeout(()=>P(null),7e3);return()=>window.clearTimeout(ae)},[se,C,be]),o.useEffect(()=>()=>{we()},[we]),s.jsxs("span",{className:`voice-input-control ${n} ${xe?"starting":""} ${be?"recording":""} ${F?"transcribing":""}`.trim(),children:[$e?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?Me():we()},children:s.jsx(fs,{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(ic,{levels:b}),s.jsx("button",{type:"button",className:"voice-recording-action stop","aria-label":"Stop and transcribe",onClick:()=>{W(!1)},children:s.jsx(jo,{size:10,fill:"currentColor"})})]})]}):s.jsx("button",{type:"button",className:`voice-input-trigger ${t} ${xe?"starting":""}`.trim(),"aria-label":xe?"Starting dictation":"Dictate",disabled:r||se||xe,onClick:I,children:s.jsx(Ri,{size:a})}),C&&!$e?s.jsx("span",{className:"voice-input-status",role:"status",children:C}):null]})}async function uc(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 yr(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 io(){if(typeof window>"u")return!1;try{return bo.getItem(zo)==="true"}catch{return!1}}function dc(){if(!(typeof window>"u"))try{bo.setItem(zo,"true")}catch{}}const fc=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible","setup-provider"]);function mc({surface:e="chat",teamUseModel:t=!1,teamUseModelLocked:n=!1,onTeamUseModelChange:r,addFiles:a,addMenuId:i,addMenuOpen:c,addMenuRef:u,busy:h,codexPermissionMode:f,codexReasoningEffort:g,connection:y,contextStatusStyle:m,contextStatusTooltipId:p,contextWindowStatus:S,disabled:v,dropdownPlacement:N,fileInputRef:j,modelValue:E,modelOptions:C=[],openPondCommandAccessMode:P,showCommandAccess:b=!0,profileTarget:_,onCodexPermissionModeChange:z,onCodexReasoningEffortChange:V,onOpenPondCommandAccessModeChange:F,onProfileTargetChange:se,onModelChange:xe,onOpenFilePicker:be,onProviderChange:$e,onProviderSetupOpen:ce,onSend:X,onStop:we,onToggleAddMenu:ye,onTranscript:Me,voiceInputChannelKey:W,provider:K,providerSettings:I,providerOptions:ae,running:re,sendDisabled:ke,sendTooltip:ue,showToast:D,stopIcon:oe="stop",stopLabel:w="Stop response"}){const[$,L]=o.useState(!1),Ue=xa(K,E,I),Te=o.useMemo(()=>hc({currentModelOptions:C,currentProvider:K,providerOptions:ae,providerSettings:I}),[C,K,ae,I]),et=o.useMemo(()=>Te.filter(O=>fc.has(O.provider)),[Te]),J=(O,st)=>{if(O===K){xe(st);return}xe(st),$e(O)};return e==="team"?s.jsxs("div",{className:`composer-primary-controls team-chat-composer-controls ${re?"has-running-turn":""}`.trim(),children:[s.jsx("button",{type:"button",className:"composer-icon","aria-label":"Add photos and files",disabled:v,onClick:be,children:s.jsx(Ln,{size:18})}),s.jsx("input",{ref:j,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:O=>{a(Array.from(O.currentTarget.files??[])),O.currentTarget.value=""}}),s.jsxs("label",{className:"team-chat-model-toggle",children:[s.jsx("input",{type:"checkbox",checked:t,disabled:h||n,onChange:O=>r?.(O.currentTarget.checked)}),s.jsx("span",{children:"Use model"})]}),s.jsx("div",{className:"composer-spacer"}),t?s.jsx(Jr,{disabled:h,model:E,modelGroups:et,placement:N,provider:K,reasoningEffort:g,showReasoning:Ue,onModelSelectionChange:J,onProviderSetupOpen:ce,onReasoningEffortChange:V}):null,s.jsx(ao,{buttonClassName:"composer-icon",connection:y,disabled:v,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:L,showToast:D,onTranscript:Me,transcriptionChannelKey:W}),s.jsx(lo,{running:re,sendDisabled:ke,sendTooltip:ue,stopIcon:oe,stopLabel:w,voiceInputActive:$,onSend:X,onStop:we})]}):s.jsxs("div",{className:`composer-primary-controls ${re?"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:v,onMouseDown:O=>O.preventDefault(),onClick:ye,children:s.jsx(Ln,{size:18})}),s.jsx("input",{ref:j,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:O=>{a(Array.from(O.currentTarget.files??[])),O.currentTarget.value=""}})]}),b&&K==="codex"?s.jsx(Fr,{compact:!0,className:"permission-select",icon:s.jsx(ba,{size:14}),placement:N,label:"Codex permissions",tooltip:Br.find(O=>O.value===f)?.label,value:f,options:Br,disabled:h,onChange:O=>z(O)}):b?s.jsx(Fr,{compact:!0,className:"permission-select",icon:s.jsx(ka,{size:14}),placement:N,label:"Command access",tooltip:qr.find(O=>O.value===(P==="disabled"?"ask":P))?.label,value:P==="disabled"?"ask":P,options:qr,disabled:h,onChange:O=>F(O)}):null,_&&se?s.jsx(Eo,{busy:h,placement:N,state:_,onChange:se}):null,s.jsx("div",{className:"composer-spacer"}),s.jsxs("span",{className:`context-status-shell ${S.tone}`,style:m,children:[s.jsx("span",{className:`composer-status ${S.tone}`,role:S.maxTokens===null?"img":"meter","aria-label":S.tooltip,"aria-describedby":p,"aria-valuemin":S.maxTokens===null?void 0:0,"aria-valuemax":S.maxTokens??void 0,"aria-valuenow":S.maxTokens===null?void 0:S.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:S.summary}),s.jsx("span",{children:S.tokensLabel})]}),S.maxTokens!==null&&s.jsx("span",{className:"context-status-tooltip-bar","aria-hidden":"true",children:s.jsx("span",{})}),S.detail?s.jsx("span",{className:"context-status-tooltip-detail",children:S.detail}):null]})]}),s.jsx(Jr,{disabled:h,model:E,modelGroups:Te,placement:N,provider:K,reasoningEffort:g,showReasoning:Ue,onModelSelectionChange:J,onProviderSetupOpen:ce,onReasoningEffortChange:V}),s.jsx(ao,{buttonClassName:"composer-icon",connection:y,disabled:v,iconSize:16,wrapperClassName:"composer-voice-input",onActiveChange:L,showToast:D,onTranscript:Me,transcriptionChannelKey:W}),s.jsx(lo,{running:re,sendDisabled:ke,sendTooltip:ue,stopIcon:oe,stopLabel:w,voiceInputActive:$,onSend:X,onStop:we})]})}function lo({running:e,sendDisabled:t,sendTooltip:n,stopIcon:r,stopLabel:a,voiceInputActive:i,onSend:c,onStop:u}){const h=e?a:n;return s.jsx("button",{type:"button",className:`send-button ${e?"stop-button":""}`.trim(),disabled:!e&&t&&!i,"data-tooltip":h,"aria-label":h,onClick:e?()=>{u()}:c,children:e?r==="pause"?s.jsx(oi,{size:15}):s.jsx(jo,{size:13,fill:"currentColor"}):s.jsx(hi,{size:18})})}function hc({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:ko(i,r);return c.length>0?[{provider:i,label:a.label,defaultModel:va(i,r),options:c}]:[]})}function pc(e){return e.description||e.path}function gc({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 h=u===r;return s.jsxs("button",{type:"button",className:`composer-project-option ${h?"selected":""}`,ref:h?i:void 0,role:"option","aria-selected":h,onMouseEnter:()=>n(u),onMouseDown:f=>{f.preventDefault(),t(c)},children:[s.jsx(Fs,{size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:qs(c)}),s.jsx("small",{children:pc(c)})]}),h?s.jsx(Ct,{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 xc({actionCatalogCount:e,actionIndex:t,items:n,onSelect:r,onSelectIndex:a,style:i}){return s.jsx(_r,{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 bc({busy:e,initialDescription:t,open:n,onClose:r,onSubmit:a}){const[i,c]=o.useState(""),[u,h]=o.useState(()=>t.trim()),f=i.trim(),g=u.trim(),y=e||!f||!g;if(o.useEffect(()=>{n&&(c(""),h(t.trim()))},[t,n]),o.useEffect(()=>{if(!n||e)return;function p(S){S.key==="Escape"&&r()}return document.addEventListener("keydown",p),()=>document.removeEventListener("keydown",p)},[e,r,n]),!n)return null;async function m(){if(y)return;await a({title:f,description:g})&&(c(""),h(""))}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(),m())},children:[s.jsx("button",{className:"git-dialog-close",disabled:e,type:"button",onClick:r,children:s.jsx(fs,{size:16})}),s.jsx("div",{className:"git-dialog-icon",children:s.jsx(Sa,{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:ya})]}),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=>h(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:y,type:"button",onClick:()=>{m()},children:"Submit issue"})]})]})})}const kc=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"]),vc=new Set(["csv","ods","tsv","xls","xlsm","xlsx"]),Sc=new Set(["7z","bz2","gz","rar","tar","tgz","xz","zip"]),yc=new Set(["doc","docx","epub","md","odt","pdf","rtf","txt"]),jc=new Set(["key","odp","ppt","pptx"]);function Fo(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":vc.has(n)||t.includes("spreadsheet")||t.includes("excel")?"spreadsheet":Sc.has(n)||t.includes("zip")||t.includes("compressed")?"archive":jc.has(n)||t.includes("presentation")||t.includes("powerpoint")?"presentation":kc.has(n)?"code":e.kind==="text"||yc.has(n)||t.startsWith("text/")||t==="application/pdf"||t.includes("document")||t.includes("msword")?"document":"file"}function Cc(e){if(e.mediaType.toLowerCase()==="application/pdf")return"PDF";const t=Fo(e);return t==="spreadsheet"?"Spreadsheet":t.charAt(0).toUpperCase()+t.slice(1)}function wc(e){return`${e.toLocaleString()} ${e===1?"line":"lines"}`}const Mc={archive:li,audio:ji,code:ii,document:Fs,file:ai,image:Ni,presentation:_i,spreadsheet:wi,video:Ei};function Ec({attachment:e,...t}){const n=Mc[Fo(e)];return s.jsx(n,{...t})}const Ac=new Set(["csv","css","html","js","json","jsx","log","md","mdx","py","sql","svg","ts","tsx","txt","xml","yaml","yml"]),Nc=2e3,Tc=/^Pasted text(?: (\d+))?\.txt$/;function Rc(e,t){if(e.length<Nc)return null;const n=new Set;for(const i of t){const c=Tc.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 Ic({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(Co(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(Ec,{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?wc(n):Cc(e)})]}):null,s.jsx("button",{type:"button",className:"composer-attachment-remove","aria-label":`Remove ${e.name}`,onClick:t,children:s.jsx(fs,{size:14})})]})}function Pc(){return globalThis.crypto?.randomUUID?.()??`attachment-${Date.now()}-${Math.random().toString(36).slice(2)}`}function _c(e){if(e.type.startsWith("image/"))return"image";if(e.type.startsWith("text/"))return"text";const t=e.name.split(".").pop()?.toLowerCase()??"";return Ac.has(t)?"text":"file"}async function $c(e){const[t,n]=await Promise.all([Oc(e.file),e.kind==="text"?Dc(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:Co(n)}:{},...e.relativePath?{relativePath:e.relativePath}:{},contentsBase64:t,...n?{text:zc(n)}:{}}}function Lc(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 Oc(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 Dc(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 zc(e){if(e.length<=Ft.maxTextChars)return e;const t=`
|
|
4
|
+
[attachment text truncated]`;return`${e.slice(0,Math.max(0,Ft.maxTextChars-t.length))}${t}`}function Fc(){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 m of e.current)as(m);for(const m of t.current)as(m)},[]);const u=o.useCallback(m=>{if(m.length===0)return;const p=Math.max(0,Ft.maxAttachments-r.length),S=[];let v=0,N=0;for(const j of m){if(j.size>Ft.maxAttachmentBytes){v+=1;continue}if(S.length>=p){N+=1;continue}const E="webkitRelativePath"in j&&typeof j.webkitRelativePath=="string"&&j.webkitRelativePath.trim()?j.webkitRelativePath.trim():void 0;S.push({id:Pc(),file:j,name:j.name||"Untitled file",mediaType:j.type||"application/octet-stream",sizeBytes:j.size,kind:_c(j),...E?{relativePath:E}:{},...j.type.startsWith("image/")?{previewUrl:URL.createObjectURL(j)}:{}})}if(S.length>0&&(a([...r,...S]),c(null)),v>0||N>0){const j=[];v>0&&j.push(`${v} file${v===1?"":"s"} exceeded ${Lc(Ft.maxAttachmentBytes)}`),N>0&&j.push(`maximum ${Ft.maxAttachments} attachments`),c(j.join("; "))}},[r]),h=o.useCallback(m=>{a(p=>{const S=p.find(N=>N.id===m);S&&as(S);const v=p.filter(N=>N.id!==m);return v.length===0&&c(null),v})},[]),f=o.useCallback(()=>{for(const m of e.current)as(m);e.current=[],a([]),c(null)},[]),g=o.useCallback(()=>{const m=e.current;return m.length===0||(e.current=[],t.current=m,a([]),c(null)),m},[]),y=o.useCallback((m,p)=>{if(m.length===0)return;const S=new Set(m.map(v=>v.id));if(t.current=t.current.filter(v=>!S.has(v.id)),p==="restore"&&!n.current){a(v=>{const N=new Set(v.map(E=>E.id)),j=[...m.filter(E=>!N.has(E.id)),...v];return e.current=j,j});return}for(const v of m)as(v)},[]);return{attachmentError:i,attachments:r,addFiles:u,clearAttachments:f,removeAttachment:h,settleStagedAttachments:y,setAttachmentError:c,stageAttachmentsForSubmit:g}}function as(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function Bc(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 qc(e,t,n=Pr){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 Uc(e,t=Pr){return Ca({commands:t,prompt:`/${e}`})}function co(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 uo(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name,n.description??"",n.gitRepo??"",vo(n)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function fo({actionCatalog:e,connectedAppMentions:t,mentionApps:n,profileSkills:r,query:a,surface:i,teamMentionMembers:c}){const u=a.toLowerCase();if(i==="team"){const m=c.filter(S=>u?[S.name,S.handle??""].map(In).some(v=>v.includes(u)):!0).map(S=>({kind:"team-member",member:S}));return[...Ur(e,u,e.length).map(S=>({kind:"action",action:S})),...m]}const h=n.filter(m=>u?[In(m.id),In(m.name),m.gitRepo?In(m.gitRepo):"",vo(m)].some(S=>S.includes(u)):!0).map(m=>({kind:"app",app:m})),f=Ur(e,u,e.length).map(m=>({kind:"action",action:m})),g=Ls(r,u).map(m=>({kind:"skill",skill:m})),y=ja(t,u).map(m=>({kind:"connected-app",app:m}));return[...f,...g,...h,...y]}function Hc(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)?" ":"",h=c&&!/^\s/.test(c)?" ":"";return`${i}${u}${r}${h}${c}`.replace(/\s+/g," ").trim()}function Vc(e){const t=In(Ir(e)||e.name||e.id);return t?`@${t}`:null}function Gc(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])=>`${Bo(a)}: ${Tr(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function Bo(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 Tr(e,t){if(Array.isArray(t))return t.map(r=>Tr(e,r)).join(", ");if(t&&typeof t=="object")return Object.entries(t).map(([r,a])=>`${Bo(r)}: ${Tr(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 Wc({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;const a=n?.trim(),i=a?.startsWith("@")?a:Vc(e);return i?Hc(Gc(t),i,r):null}function Xc({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}const Kc=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Qc({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:u,attachmentCount:h,composerRef:f,createImproveActive:g,goalRuntimeActive:y,inputRef:m,inputShellRef:p,mentionQuery:S,prompt:v,selectedActionId:N,selectAddMenuItem:j,setActionIndex:E,setActionMenuDismissedPrompt:C,setAddMenuIndex:P,setAddMenuOpen:b,setAddMenuQuery:_,setMentionMenuDismissedPrompt:z,setMentionIndex:V,setSkillIndex:F,setSkillMenuDismissedPrompt:se,skillMatchCount:xe,skillQuery:be,slashMatchCount:$e,slashQuery:ce,showActionMenu:X,showMentionMenu:we,showSkillMenu:ye}){const[Me,W]=o.useState({}),[K,I]=o.useState({}),[ae,re]=o.useState({}),[ke,ue]=o.useState({});return o.useEffect(()=>{V(0)},[S]),o.useEffect(()=>{F(0)},[xe,be]),o.useEffect(()=>{E(0)},[$e,ce]),o.useEffect(()=>{const D=m.current?.element,oe=D?.parentElement;if(!D||!oe||typeof ResizeObserver>"u")return;const w=new ResizeObserver(()=>m.current?.resize());return w.observe(oe),()=>w.disconnect()},[]),o.useEffect(()=>{if(!i)return;function D(w){const $=w.target,L=m.current?.element?.parentElement;!u.current?.contains($)&&!c.current?.contains($)&&!L?.contains($)&&(b(!1),_(""),z(e),C(n),se(t))}function oe(w){if(w.key==="Escape"){w.preventDefault(),b(!1),_(""),z(e),C(n),se(t);return}if(a.length!==0){if(w.key==="ArrowDown"){w.preventDefault(),P($=>($+1)%a.length);return}if(w.key==="ArrowUp"){w.preventDefault(),P($=>($-1+a.length)%a.length);return}if(w.key==="Home"){w.preventDefault(),P(0);return}if(w.key==="End"){w.preventDefault(),P(a.length-1);return}if(w.key==="Enter"){w.preventDefault();const $=a[r]??a[0];$&&j($)}}}return document.addEventListener("pointerdown",D),document.addEventListener("keydown",oe),()=>{document.removeEventListener("pointerdown",D),document.removeEventListener("keydown",oe)}},[e,t,n,r,a,i]),o.useLayoutEffect(()=>{if(!i)return;const D=p.current;if(!D)return;const oe=D;function w(){ue(Cl(oe))}return w(),window.addEventListener("resize",w),window.addEventListener("scroll",w,!0),()=>{window.removeEventListener("resize",w),window.removeEventListener("scroll",w,!0)}},[i,h,g,y]),o.useLayoutEffect(()=>{if(!X)return;const D=m.current?.element,oe=f.current;if(!D||!oe)return;const w=D,$=oe;function L(){re(kr(w,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,N,X]),o.useLayoutEffect(()=>{if(!ye)return;const D=m.current?.element,oe=f.current;if(!D||!oe)return;const w=D,$=oe;function L(){I(kr(w,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,N,ye]),o.useLayoutEffect(()=>{if(!we)return;const D=m.current?.element,oe=f.current;if(!D||!oe)return;const w=D,$=oe;function L(){W(kr(w,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,N,we]),{actionMenuStyle:ae,addMenuStyle:ke,mentionMenuStyle:Me,skillMenuStyle:K}}const Jc=o.lazy(()=>me(()=>import("./ComposerCreateImproveStrip-D7usvRtK.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),Yc=Pr.find(e=>e.id==="submit-issue"),Zc=[];function eu({experience:e="development",mode:t,surface:n="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:u,composeNotice:h=null,mentionApps:f=[],connectedAppMentions:g=[],profileSkills:y=[],selectedMentionAppId:m=null,contextWindowStatus:p,goalRuntime:S=null,subagentRuntime:v=null,createImproveRuntime:N=null,busy:j,running:E=j,interruptRunningTurnBeforeSteer:C=!0,steerActiveResponses:P=!1,submissionScopeKey:b="default",getCurrentSubmissionScopeKey:_,voiceInputChannelKey:z=b,initialSteerDrafts:V=Zc,showProjectFooter:F=!0,autoFocus:se=!1,focusRequestId:xe=0,attachmentRequest:be=null,connection:$e,providerSettings:ce=null,provider:X,model:we,projectTarget:ye,profileTarget:Me=null,actionCatalog:W=[],requestedAction:K=null,workspaceTarget:I,codexPermissionMode:ae,codexReasoningEffort:re,openPondCommandAccessMode:ke,onProviderChange:ue,onProviderSetupOpen:D,onProjectTargetChange:oe,onProfileTargetChange:w,onWorkspaceTargetChange:$,onModelChange:L,onCodexPermissionModeChange:Ue,onCodexReasoningEffortChange:Te,onOpenPondCommandAccessModeChange:et,onPromptChange:J,onMentionAppSelect:O,onSaveTaskDraft:st,showToast:Ee,onSubmit:wt,onStop:Bt,onPauseGoal:Ie}){const mt=o.useRef(null),an=o.useRef(null),de=o.useRef(null),k=o.useRef(null),T=o.useRef(null),ie=o.useRef(null),Ce=o.useRef(null),q=o.useRef(0),Ne=K&&W.some(l=>l.id===K.actionId)?K:null,pe=o.useRef(!1),Ke=o.useRef(0),Le=o.useRef(Ne?.requestId??0),ht=o.useRef(new Set),[Y,ve]=o.useState(u.length),Mt=o.useRef(Y);Mt.current=Y;const[qt,Et]=o.useState(0),[ms,ln]=o.useState(0),[hs,cn]=o.useState(0),[ps,Ut]=o.useState(0),[gs,At]=o.useState(""),[Hs,Pe]=o.useState(null),[Vs,pt]=o.useState(null),[Nt,Tt]=o.useState(null),[ge,Rt]=o.useState(!1),[un,Gs]=o.useState(!1),[rt,Qe]=o.useState(Ne?.actionId??null),[It,ot]=o.useState(null),[Pt,He]=o.useState(null),[Ws,at]=o.useState(null),[On,dn]=o.useState(null),[Dn,fn]=o.useState(!1),[mn,zn]=o.useState(()=>({[b]:V})),[Ht,hn]=o.useState(null),[Fn,Vt]=o.useState(!1),[Bn,qn]=o.useState(""),[Gt,tt]=o.useState(!1),{attachmentError:Z,attachments:_e,addFiles:ze,removeAttachment:xs,settleStagedAttachments:bs,setAttachmentError:it,stageAttachmentsForSubmit:Je}=Fc(),Ye=o.useRef(0);o.useEffect(()=>{!be||Ye.current===be.id||(Ye.current=be.id,ze([be.file]))},[ze,be]);const Wt=o.useCallback(l=>{const d=Rc(l,_e);return!d||_e.length>=Ft.maxAttachments||d.size>Ft.maxAttachmentBytes?!1:(ze([d]),!0)},[ze,_e]),Xs=Ul({experience:e,mode:t,surface:n}),gt=e==="development"||e==="work"&&ye.value!=="none",Ks=wa(X,we,ce),_t="top",Un=o.useId(),Qs=o.useId(),Js=o.useId(),Ys={"--context-fill":`${Math.round((p.percent??0)/100*360)}deg`,"--context-bar-fill":`${p.percent??0}%`},je=o.useMemo(()=>W.find(l=>l.id===rt)??null,[W,rt]),lt=o.useMemo(()=>Ma(X,e),[e,X]),Ve=o.useMemo(()=>gt?y:y.filter(l=>!Kc.has(l.name)),[e,y]),Se=o.useMemo(()=>lt.find(l=>l.id===It)??null,[lt,It]),Xt=Wc({action:je,prompt:u,selectedActionMentionText:Ws,selectedInvocationPosition:Pt}),Zs=Xc({attachmentCount:_e.length,prompt:u,selectedAction:je,selectedCommand:Se}),er=o.useMemo(()=>{const l=Math.max(0,Math.min(Pt??0,u.length));return Se?{icon:Se.id==="agent"?"plus":Se.id==="skill"?"skill":"workflow",key:`command:${Se.id}`,label:Se.id==="agent"?"Author Agent":Se.id,position:l,onRemove:()=>{ot(null),He(null),at(null)}}:je?{icon:je.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${je.id}`,label:Ir(je),position:l,onRemove:()=>{Qe(null),He(null),at(null)}}:null},[u.length,je,Se,Pt]),Kt=On===b,ks=Kt||!Zs,tr=Kt?"Preparing files":E?"Steer":"Send",ct=Kt,nr=Kt;function pn(l=b){const d=ht.current;return d.has(l)?!1:(d.add(l),!0)}function xt(l){ht.current.delete(l)}function vs(l){return ht.current.has(l)}function Qt(){return vs(b)}function bt(l){dn(d=>d===l?null:d)}const Ss=o.useMemo(()=>{const l=Ea(ce,{enabledOnly:!0}).map(U=>({...U,description:void 0})),d=gt?l:l.filter(U=>U.value!=="codex"),A=I.value==="cloud"&>?d.filter(U=>U.value==="openpond"):d,M=A.some(U=>U.value===X)?A:[{value:X,label:Aa(X,ce),description:"Current"},...A],G={value:"setup-provider",label:"New Model/Provider",icon:"plus",separatorBefore:!0};return[...M,G]},[X,ce,gt,I.value]),gn=o.useMemo(()=>ko(X,ce),[X,ce]),Ae=o.useMemo(()=>Na(u,Math.min(Y,u.length)),[Y,u]),kt=Ae?`${u}:${Ae.start}:${Math.min(Y,u.length)}`:null,ut=o.useMemo(()=>Ae?fo({actionCatalog:W,connectedAppMentions:g,mentionApps:f,profileSkills:Ve,query:Ae.query,surface:n,teamMentionMembers:i}):[],[W,g,f,Ae,Ve,n,i]),Hn=o.useMemo(()=>n==="team"?[]:fo({actionCatalog:W,connectedAppMentions:g,mentionApps:f,profileSkills:Ve,query:"",surface:n,teamMentionMembers:i}).filter(l=>l.kind!=="skill"),[W,g,f,Ve,n,i]),Vn=!!(!ge&&!ct&&Ae&&kt&&Hs!==kt&&ut.length>0),Oe=o.useMemo(()=>qi(u,Math.min(Y,u.length)),[Y,u]),Jt=Oe?`${u}:${Oe.start}:${Oe.end}`:null,Ge=o.useMemo(()=>Oe?Ls(Ve,Oe.query):[],[Oe,Ve]),Yt=!!(!ge&&!ct&&Oe&&Jt&&Nt!==Jt),ne=o.useMemo(()=>Bc(u,Math.min(Y,u.length)),[Y,u]),xn=ne?`${u}:${ne.start}:${ne.end}`:null,Zt=o.useMemo(()=>ne?co(W,ne.query):[],[W,ne]),bn=o.useMemo(()=>ne&&n!=="team"?uo(f,ne.query):[],[ne,f,n]),ys=o.useMemo(()=>ne&&n!=="team"?Uc(ne.query,lt):[],[ne,lt,n]),Gn=o.useMemo(()=>ne&&n!=="team"?Ls(Ve,ne.query):[],[ne,Ve,n]),Ze=o.useMemo(()=>[...Zt.map(l=>({kind:"action",action:l})),...Gn.map(l=>({kind:"skill",skill:l})),...ys.map(l=>({kind:"command",command:l})),...bn.map(l=>({kind:"app-context",app:l}))],[Zt,bn,ys,Gn]),kn=!!(!ge&&!ct&&ne&&xn&&Vs!==xn),js=o.useMemo(()=>lt.map(l=>({kind:"command",command:l})),[lt]),vn=o.useMemo(()=>[...co(W,"").map(l=>({kind:"action",action:l})),...uo(f,"").map(l=>({kind:"app-context",app:l}))],[W,f]),Wn=o.useMemo(()=>Ls(Ve,"").map(l=>({kind:"skill",skill:l})),[Ve]),sr=o.useMemo(()=>{const l=[{id:"add",items:e==="work"?[{kind:"files"},{kind:"folder"}]:[{kind:"files"}],label:"Add"}];return vn.length>0&&l.push({id:"slash",items:vn.map(d=>({kind:"slash",item:d})),label:"Agents and actions",queryScope:"slash"}),Wn.length>0&&l.push({id:"skills",items:Wn.map(d=>({kind:"slash",item:d})),label:"Skills",queryScopes:["slash","mentions"]}),l.push({id:"openpond",items:js.map(d=>({kind:"slash",item:d})),label:"OpenPond",grid:!0,queryScope:"slash"}),l.push({emptyLabel:"No mentions available",id:"mentions",items:Hn.map(d=>({kind:"mention",item:d})),label:"@"}),l},[Hn,js,Wn,vn,e]),Xn=o.useMemo(()=>Yl(sr,gs),[gs,sr]),$t=o.useMemo(()=>Xn.flatMap(l=>l.items),[Xn]);o.useEffect(()=>{ge&&Ut(l=>l<$t.length?l:0)},[$t.length,ge]);const Sn=!!S,en=Sn&&S?.tone==="active",Kn=en?"Pause goal":"Stop response",vt=en?"pause":"stop",Qn=e==="work"||ye.value!=="none",he=Ar(mn,b,V),Jn=Ht?.scopeKey===b?Ht.draftId:null;function yn(l,d){zn(A=>ol(A,l,d,l===b?V:[]))}o.useLayoutEffect(()=>{de.current?.resize()},[_e.length,Z,N,S,u,rt,It,Pt]),o.useEffect(()=>{if(!se){pe.current=!1;return}if(pe.current||ct)return;const l=window.requestAnimationFrame(()=>{pe.current=!0;const d=document.activeElement;d&&d!==document.body&&d!==document.documentElement||de.current?.focusAtPromptIndex(u.length)});return()=>window.cancelAnimationFrame(l)},[se,ct,u.length]),o.useEffect(()=>{!xe||Ke.current===xe||ct||(Ke.current=xe,window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(u.length)}))},[xe,ct,u.length]),o.useEffect(()=>{S||fn(!1)},[S]),o.useEffect(()=>{rt&&!W.some(l=>l.id===rt)&&(Qe(null),He(null))},[W,rt]),o.useEffect(()=>{if(!K||K.requestId<=Le.current)return;const l=W.find(d=>d.id===K.actionId);l&&(Le.current=K.requestId,Qe(l.id),ot(null),He(0),at(null),J(""),ve(0),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(0,{afterToken:!0})}))},[W,J,K]),o.useEffect(()=>{!je&&!Se||He(l=>l===null?0:Math.max(0,Math.min(l,u.length)))},[u.length,je,Se]),o.useEffect(()=>{if(!m||!O)return;const l=f.find(d=>d.id===m);(!l||!Ta(u,l))&&O(null)},[f,O,u,m]);const{actionMenuStyle:rr,addMenuStyle:or,mentionMenuStyle:ar,skillMenuStyle:ir}=Qc({activeMentionKey:kt,activeSkillKey:Jt,activeSlashKey:xn,addMenuIndex:ps,addMenuItems:$t,addMenuOpen:ge,addMenuPanelRef:Ce,addMenuRef:ie,attachmentCount:_e.length,composerRef:mt,createImproveActive:!!N,goalRuntimeActive:!!S,inputRef:de,inputShellRef:an,mentionQuery:Ae?.query,prompt:u,selectedActionId:rt,selectAddMenuItem:wn,setActionIndex:cn,setActionMenuDismissedPrompt:pt,setAddMenuIndex:Ut,setAddMenuOpen:Rt,setAddMenuQuery:At,setMentionMenuDismissedPrompt:Pe,setMentionIndex:Et,setSkillIndex:ln,setSkillMenuDismissedPrompt:Tt,skillMatchCount:Ge.length,skillQuery:Oe?.query,slashMatchCount:Ze.length,slashQuery:ne?.query,showActionMenu:kn,showMentionMenu:Vn,showSkillMenu:Yt});function Fe(){Qe(null),ot(null),He(null),at(null)}function Cs(){Fe(),J(""),ve(0)}function Yn(l){qn(l.trim()),Vt(!0)}function lr(){Gt||(Vt(!1),Fe())}async function Lt(){return await(en&&Ie?Ie():Bt())}function jn(l,d){const A=Math.max(0,Math.min(Y,u.length)),M=d?Math.max(0,Math.min(d.start,u.length)):A,G=d?Math.max(M,Math.min(d.end,u.length)):M,U=u.slice(0,M),le=u.slice(G),yt=U&&!/\s$/.test(U)?" ":"",Dt=le&&!/^\s/.test(le)?" ":"",zt=`${Ia(l)} `,nt=`${yt}${zt}${Dt}`,rn=`${U}${nt}${le}`,Xe=U.length+nt.length;return J(rn),O?.(l.id),ve(Xe),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(Xe)}),Xe}function cr(l){if(!Ae)return;const d=Math.max(0,Math.min(Y,u.length));jn(l,{start:Ae.start,end:d})}function Ot(l,d,A=null){const M=Math.max(0,Math.min(Y,u.length)),G=d?Math.max(0,Math.min(d.start,u.length)):M,U=d?Math.max(G,Math.min(d.end,u.length)):G,le=`${u.slice(0,G)}${u.slice(U)}`;return Qe(l.id),ot(null),He(G),at(A?.startsWith("@")?A:null),pt(null),J(le),ve(G),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(G,{afterToken:!0})}),G}function Cn(l){if(!Ae)return;const d=Math.max(0,Math.min(Y,u.length)),A=Math.max(0,Math.min(Ae.start,u.length)),M=Math.max(A,Math.min(d,u.length));Ot(l,{start:A,end:M},u.slice(A,M).trim())}function ws(l,d){const A=Math.max(0,Math.min(Y,u.length)),M=d?Math.max(0,Math.min(d.start,u.length)):A,G=d?Math.max(M,Math.min(d.end,u.length)):M,U=u.slice(0,M),le=u.slice(G),yt=U&&!/\s$/.test(U)?" ":"",Dt=le&&!/^\s/.test(le)?" ":"",zt=`${Pa(l)} `,nt=`${yt}${zt}${Dt}`,rn=`${U}${nt}${le}`,Xe=U.length+nt.length;return J(rn),ve(Xe),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(Xe)}),Xe}function Re(l){if(!Ae)return;const d=Math.max(0,Math.min(Y,u.length));ws(l,{start:Ae.start,end:d})}function tn(l,d){const A=Math.max(0,Math.min(Y,u.length)),M=d?Math.max(0,Math.min(d.start,u.length)):A,G=d?Math.max(M,Math.min(d.end,u.length)):M,U=l.handle||In(l.name),le=u.slice(0,M),yt=u.slice(G),Dt=le&&!/\s$/.test(le)?" ":"",zt=yt&&!/^\s/.test(yt)?" ":"",nt=`${Dt}@${U} ${zt}`,rn=`${le}${nt}${yt}`,Xe=le.length+nt.length;return J(rn),ve(Xe),window.requestAnimationFrame(()=>de.current?.focusAtPromptIndex(Xe)),Xe}function Ms(l){if(l.kind==="team-member"){if(!Ae)return;const d=Math.max(0,Math.min(Y,u.length));tn(l.member,{start:Ae.start,end:d});return}if(l.kind==="app"){cr(l.app);return}if(l.kind==="connected-app"){Re(l.app);return}if(l.kind==="skill"){if(!Ae)return;const d=Math.max(0,Math.min(Y,u.length));dt(l.skill,{start:Ae.start,end:d});return}Cn(l.action)}function ur(l){ne&&(pt(null),jn(l,{start:ne.start,end:ne.end}))}function Es(l){ne&&Ot(l,ne)}function As(l,d){const A=Math.max(0,Math.min(Y,u.length)),M=d?Math.max(0,Math.min(d.start,u.length)):A,G=d?Math.max(M,Math.min(d.end,u.length)):M,U=`${u.slice(0,M)}${u.slice(G)}`;return ot(l.id),Qe(null),He(M),at(null),pt(null),J(U),ve(M),l.id==="submit-issue"&&Yn(U),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(M,{afterToken:!0})}),M}function St(l){ne&&As(l,ne)}function Zn(l){if(l.kind==="command"){St(l.command);return}if(l.kind==="app-context"){ur(l.app);return}if(l.kind==="skill"){if(!ne)return;dt(l.skill,ne);return}Es(l.action)}function dt(l,d){const A=Ui(u,d,l);return Tt(null),Pe(null),pt(null),J(A.value),ve(A.cursor),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(A.cursor)}),A.cursor}function nn(l){Oe&&dt(l,Oe)}function We(){k.current?.click()}function dr(){T.current?.click()}function Be(l){q.current=l,At(""),Ut(0)}function es(){const l=Math.max(0,Math.min(Y,u.length)),d=Math.max(0,Math.min(q.current,u.length));return l>=d?{start:d,end:l}:{start:l,end:l}}function wn(l){const d=es();if(Rt(!1),At(""),l.kind==="files"||l.kind==="folder"){if(d.start!==d.end){const A=`${u.slice(0,d.start)}${u.slice(d.end)}`;J(A),ve(d.start)}Be(d.start),l.kind==="folder"?dr():We();return}if(l.kind==="slash"){if(l.item.kind==="command"){Be(As(l.item.command,d));return}if(l.item.kind==="app-context"){Be(jn(l.item.app,d));return}if(l.item.kind==="skill"){Be(dt(l.item.skill,d));return}Be(Ot(l.item.action,d));return}if(l.item.kind==="team-member"){Be(tn(l.item.member,d));return}if(l.item.kind==="app"){Be(jn(l.item.app,d));return}if(l.item.kind==="connected-app"){Be(ws(l.item.app,d));return}if(l.item.kind==="skill"){Be(dt(l.item.skill,d));return}Be(Ot(l.item.action,d))}function Mn(l){const d=(l??de.current?.getPrompt()??u).trim();return!E||!d?!1:_e.length>0||je||Se?(Ee("Steering supports a plain-text instruction. Remove files or actions before staging it.","info"),!1):(yn(b,A=>[...A,Ao(d)]),Cs(),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(0)}),!0)}async function ts(l){const d=b;if(Ht?.scopeKey===d)return!1;const A=Ar(mn,d,V).find(M=>M.id===l);if(!A)return!1;hn({draftId:l,scopeKey:d}),it(null);try{const M=E;if(M&&C&&await Bt(Hr)===!1)return!1;const G=await wt([],null,null,{preservePrompt:!0,promptOverride:A.prompt,...M?{turnMetadata:{interactionKind:"steer"}}:{}});return yn(d,U=>rl(U,l,G)),G}catch(M){return it(M instanceof Error?M.message:String(M)),!1}finally{hn(M=>M?.scopeKey===d&&M.draftId===l?null:M)}}function fr(l){Jn!==l&&yn(b,d=>No(d,l))}function ns(l){if(Jn!==l.id){if(_e.length>0||rt||It){Ee("Finish the current composer before editing a queued message.","info");return}yn(b,d=>sl(d,l.id,u)),J(l.prompt),ve(l.prompt.length),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(l.prompt.length)})}}async function En(l){const d=(l??de.current?.getPrompt()??u).trim();if(!E||!d)return!1;if(_e.length>0||je||Se)return Ee("Steering supports a plain-text instruction. Remove files or actions before sending it.","info"),!1;const A=b;if(!pn(A))return!1;it(null);try{if(C&&await Bt(Hr)===!1)return!1;const M=await wt([],null,null,{preservePrompt:!0,promptOverride:d,turnMetadata:{interactionKind:"steer"}});return M&&Cs(),M}catch(M){return it(M instanceof Error?M.message:String(M)),!1}finally{xt(A)}}async function sn(l={}){const d=b;if(!pn(d))return!1;Rt(!1),it(null);const A=Je();try{dn(A.length>0?d:null);let M;try{M=await Promise.all(A.map($c))}finally{bt(d)}const G=je&&Xt&&!u.trim()?Xt:void 0,U=l.promptOverride??G,le=await wt(M,je,Se,Xt||U||l.preservePrompt?{...Xt?{displayPrompt:Xt}:{},...U!==void 0?{promptOverride:U}:{},...l.preservePrompt?{preservePrompt:!0}:{}}:void 0);return bs(A,le?"dispose":"restore"),le&&!_a(je)&&Fe(),le}catch(M){return bs(A,"restore"),it(M instanceof Error?M.message:String(M)),!1}finally{xt(d),bt(d)}}async function An(){if(E){P?await En():Mn();return}if(Qt())return;const l=je||Se?null:So(u);if(Se?.id==="submit-issue"||l?.command==="submit-issue"){Yn(l?.command==="submit-issue"?l.args:u);return}ks||await sn()}function Nn(){Ki(z)||An()}async function ss(l){if(Qt()||Gt)return!1;const d=b;if(!pn(d))return!1;tt(!0),Rt(!1),it(null);try{const A=await wt([],null,Yc,{displayPrompt:`/submit-issue ${l.title.trim()}`,promptOverride:Ra(l)});return A&&(Vt(!1),Fe()),A}catch(A){return it(A instanceof Error?A.message:String(A)),!1}finally{xt(d),tt(!1)}}async function Ns(l,d){const A=de.current?.getPrompt()??u,M=Math.max(0,Math.min(Mt.current,A.length)),G=wo(A,l,d.submit?A.length:M),U=await Vi({appendToEnd:d.submit,currentScopeKey:_?.()??b,cursorIndex:M,originScopeKey:b,prompt:A,setOriginDraft:le=>J(le),submitFromOrigin:le=>sn({preservePrompt:!0,promptOverride:le}),transcript:l});if(U==="retained"){Ee("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(U==="submitted"){Ee("Voice message sent to the chat where recording started.","success");return}if(d.submit){if(E){P?await En(G.value):Mn(G.value);return}await sn({promptOverride:G.value});return}ve(G.cursorIndex),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(G.cursorIndex)})}return s.jsxs("form",{ref:mt,className:`composer ${t} ${N?"has-create-runtime":""} ${Sn?"has-goal-runtime":""} ${_e.length>0?"has-attachments":""} ${je||Se?"has-selected-action":""} ${Z?"has-attachment-error":""} ${ge?"has-add-menu":""}`,onSubmit:l=>{l.preventDefault(),An()},children:[s.jsx("input",{webkitdirectory:"",ref:T,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:l=>{ze(Array.from(l.currentTarget.files??[])),l.currentTarget.value=""}}),Vn&&s.jsx(tc,{items:ut,mentionIndex:qt,onSelect:Ms,onSelectIndex:Et,style:ar}),Yt&&s.jsx(gc,{items:Ge,onSelect:nn,onSelectIndex:ln,skillIndex:ms,style:ir}),kn&&s.jsx(xc,{actionCatalogCount:W.length,actionIndex:hs,items:Ze,onSelect:Zn,onSelectIndex:cn,style:rr}),s.jsx(bc,{busy:Gt,initialDescription:Bn,open:Fn,onClose:lr,onSubmit:ss}),F&&s.jsxs("div",{className:"composer-footer",children:[F?s.jsx(Ji,{busy:j||ye.busy,placement:_t,state:ye,onChange:oe}):null,Me&&w?s.jsx(Eo,{busy:j,placement:_t,state:Me,onChange:w}):null,Qn?s.jsx(Yi,{busy:j,placement:_t,state:I,onChange:$}):null]}),!F&&e==="work"&&s.jsx(Zi,{project:ye,workspace:I}),N?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Jc,{runtime:N})}):null,s.jsx(al,{drafts:he,sendingDraftId:Jn,onDeleteDraft:fr,onEditDraft:ns,onSteerDraft:l=>{ts(l)}}),Sn&&S&&s.jsx(tl,{detailsOpen:Dn,goalRuntime:S,objectiveId:Js,subagentRuntime:v,onToggleDetails:()=>fn(l=>!l)}),h&&s.jsx("div",{className:`composer-notice ${h.tone}`,role:"status",children:h.message}),s.jsxs("div",{className:"composer-input-shell",ref:an,children:[ge&&n!=="team"&&s.jsx(_r,{id:Un,ariaLabel:"Add to message",className:"composer-add-command-menu",menuIndex:ps,menuRef:Ce,sections:Xn,style:or,variant:"add",onSelect:wn,onSelectIndex:Ut}),_e.length>0&&s.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:_e.map(l=>s.jsx(Ic,{attachment:l,onRemove:()=>xs(l.id)},l.id))}),Z&&s.jsx("div",{className:"composer-attachment-error",role:"status",children:Z}),s.jsx("div",{className:"composer-textarea-frame",onClick:l=>{l.target===l.currentTarget&&de.current?.focusAtPromptIndex(Y)},children:s.jsx(Fl,{ref:de,connectedAppMentions:g,disabled:ct,onCursorChange:ve,onKeyDown:l=>{if(ge&&["ArrowDown","ArrowUp","Home","End","Enter","Escape"].includes(l.key)){l.preventDefault();return}if(Vn){if(l.key==="ArrowDown"){l.preventDefault(),Et(d=>(d+1)%ut.length);return}if(l.key==="ArrowUp"){l.preventDefault(),Et(d=>(d-1+ut.length)%ut.length);return}if(l.key==="Enter"||l.key==="Tab"){l.preventDefault(),Ms(ut[qt]??ut[0]);return}if(l.key==="Escape"){l.preventDefault(),Pe(kt);return}}if(Yt){if(Ge.length>0&&l.key==="ArrowDown"){l.preventDefault(),ln(d=>(d+1)%Ge.length);return}if(Ge.length>0&&l.key==="ArrowUp"){l.preventDefault(),ln(d=>(d-1+Ge.length)%Ge.length);return}if(Ge.length>0&&(l.key==="Enter"||l.key==="Tab")){l.preventDefault(),nn(Ge[ms]??Ge[0]);return}if(l.key==="Escape"){l.preventDefault(),Tt(Jt??u);return}}if(kn){if(Ze.length>0&&l.key==="ArrowDown"){l.preventDefault(),cn(d=>(d+1)%Ze.length);return}if(Ze.length>0&&l.key==="ArrowUp"){l.preventDefault(),cn(d=>(d-1+Ze.length)%Ze.length);return}if(Ze.length>0&&(l.key==="Enter"||l.key==="Tab")){l.preventDefault(),Zn(Ze[hs]??Ze[0]);return}if(l.key==="Escape"){l.preventDefault(),pt(xn??u);return}}if((je||Se)&&l.key==="Backspace"&&Y===(Pt??0)){l.preventDefault(),Fe();return}if(ql(l.key,l.ctrlKey,l.metaKey,l.shiftKey,e,n,!!st)){l.preventDefault(),Bl({attachmentsCount:_e.length,hasSelectedInvocation:!!(je||Se),onSave:st,onSaved:Fe,prompt:u,saving:un,setSaving:Gs,showInfo:d=>Ee(d,"info")});return}l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),Kt||An())},onPasteFiles:ze,onPasteTextAsAttachment:Wt,onPromptChange:(l,d)=>{if(ge){const M=Math.max(0,Math.min(q.current,l.length));d<M?(q.current=d,At("")):At(l.slice(M,d))}const A=n==="team"?null:qc(l,d,lt);if(A){const M=`${l.slice(0,A.start)}${l.slice(A.end)}`,G=A.start;J(l),ve(d),window.requestAnimationFrame(()=>{ot(A.command.id),Qe(null),He(G),pt(null),J(M),ve(G),A.command.id==="submit-issue"&&Yn(M),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(G,{afterToken:!0})})});return}J(l)},onTokenPositionChange:l=>{if(!(!je&&!Se)){if(l===null){Fe();return}He(l)}},placeholder:Xs,prompt:u,token:er})}),s.jsx(mc,{surface:n,teamUseModel:r,teamUseModelLocked:a,onTeamUseModelChange:c,addFiles:ze,addMenuId:Un,addMenuOpen:ge,addMenuRef:ie,busy:j,codexPermissionMode:ae,codexReasoningEffort:re,connection:$e,contextStatusStyle:Ys,contextStatusTooltipId:Qs,contextWindowStatus:p,disabled:nr,dropdownPlacement:_t,fileInputRef:k,modelValue:Ks,modelOptions:gn,openPondCommandAccessMode:ke,showCommandAccess:gt,profileTarget:F?null:Me,onCodexPermissionModeChange:Ue,onCodexReasoningEffortChange:Te,onOpenPondCommandAccessModeChange:et,onProfileTargetChange:w,onModelChange:L,onOpenFilePicker:We,onProviderChange:ue,onProviderSetupOpen:D,onSend:Nn,onStop:Lt,onToggleAddMenu:()=>{const l=Math.max(0,Math.min(Y,u.length));ge||(q.current=l,At(""),Ut(0),Rt(!0)),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(l)})},onTranscript:Ns,voiceInputChannelKey:z,provider:X,providerSettings:ce,providerOptions:Ss,running:E,sendDisabled:ks,sendTooltip:tr,showToast:Ee,stopIcon:vt,stopLabel:Kn})]})]})}const mo=o.memo(function({draftStore:t,...n}){const r=$a(t),a=t.getScopeKey(),i=o.useCallback(c=>{t.setForScope(a,c)},[a,t]);return s.jsx(La,{id:"composer",children:s.jsx(eu,{...n,prompt:r,onPromptChange:i})})});function ho({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=tu(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":`${po(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:po(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(Ct,{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(xi,{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(ki,{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(fs,{size:15})})]})]})})}function po(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 tu(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const nu=/\.(?:m4v|mov|mp4|webm)$/i;function su(e){return nu.test(e.trim().split(/[?#]/,1)[0]??"")}function ru(e,t){let n=e.trim();if(!n||!su(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 ou(e,t={}){const n=au(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 au(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 pd(e){const t=new Map;for(const n of e)n.role==="assistant"&&n.turnId&&t.set(n.turnId,n.id);return t}function gd(e,t){const n=e.turnId;return e.role==="assistant"&&n!==void 0&&t.get(n)===e.id}function iu(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 lu(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 cu=new Set(["create","edit","help","list"]);function uu(e,t,n=null){return du(e)}function du(e){const t=e.trim();if(!t)return"/skill";const[n=""]=t.split(/\s+/,1);return cu.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function fu(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 mu(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 hu(e){const[t,n]=o.useState(null),[r,a]=o.useState(null),[i,c]=o.useState(!1),[u,h]=o.useState(null),[f,g]=o.useState(null),y=o.useRef(null),m=o.useRef(0),p=o.useCallback(async(j,E={})=>{if(!e){a(null),h("OpenPond App server is not connected.");return}const C=m.current+1;m.current=C,E.silent||c(!0),h(null);try{const P=await De.getCreateImproveCandidateDiff(e,j.runId,j.candidateId),b=y.current;if(C!==m.current||b?.runId!==j.runId||b.candidateId!==j.candidateId)return;a(P)}catch(P){if(C!==m.current)return;h(P instanceof Error?P.message:String(P))}finally{C===m.current&&!E.silent&&c(!1)}},[e]),S=o.useCallback(j=>{const E=y.current;if(!(j&&E?.runId===j.runId&&E.candidateId===j.candidateId)){if(y.current=j,n(j),g(null),!j){m.current+=1,a(null),h(null),c(!1);return}a(C=>C?.appId===pu(j)?C:null),p(j)}},[p]),v=o.useCallback(async(j={})=>{const E=y.current;E&&await p(E,j)},[p]),N=o.useCallback(j=>{g({id:Date.now(),path:j})},[]);return o.useEffect(()=>{e||S(null)},[S,e]),{selection:t,diff:r,loading:i,error:u,openFileRequest:f,activate:S,refresh:v,openFile:N}}function pu(e){return`candidate:${e.runId}:${e.candidateId}`}function gu(e){const{activeModel:t,activeProvider:n,bootstrap:r,codexPermissionMode:a,codexReasoningEffort:i,connection:c,onOpenRightChatForSession:u,onPayload:h}=e,f=o.useCallback(async m=>{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 S=m.authoringModel??Oa(n,t,r.providers);if(!S)throw new Error("Choose a model before changing an Agent.");const v=await De.createSession(c,{provider:S.providerId,modelRef:S,systemKind:"openpond.lab",hiddenFromDefaultSidebar:!0,title:`${m.operation==="create"?"New":"Improve"} Agent · ${m.objective.slice(0,80)}`,cwd:p.repoPath,metadata:{source:m.operation==="create"?"lab_agent_create":"lab_agent_improve",profileId:p.activeProfile??"default",targetAgentId:m.agentId??null}}),N=m.objective.trim();if(!N)throw new Error(m.operation==="create"?"Describe what the Agent should do.":"Describe what the Agent could do better.");if(S.providerId==="codex")throw new Error("Agent authoring uses OpenPond's bundled authoring skill. Choose a hosted model.");const j=m.operation==="create"?`/agent create ${N}`:`/agent improve ${m.agentId??""} ${N}`,E=await De.sendTurn(c,v.id,{prompt:j,model:S.modelId,modelRef:S,approvalPolicy:"never",sandbox:"workspace-write",codexPermissionMode:"default",codexReasoningEffort:i});if(E.status==="failed")throw new Error(E.error??"OpenPond could not complete the Agent authoring turn.");h(await De.bootstrap(c)),u(v.id,v)},[t,n,r,a,i,c,u,h]),g=o.useCallback((m,p,S)=>f({objective:m,operation:"create",authoringRunId:p,authoringModel:S}),[f]),y=o.useCallback((m,p,S,v,N)=>f({agentId:m,agentName:S,objective:p,operation:"improve",authoringRunId:v,authoringModel:N}),[f]);return{createAgentFromLab:g,improveAgentFromLab:y}}const xu=72,jr=120,qo=24,bu=280,ku=460;function Rn(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=xu}const _s={canGoPrevious:!1,canGoNext:!1};function Uo(e){return Array.from(e.querySelectorAll(".message-row.user")).filter(t=>t.parentElement===e)}function vu({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 Us(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function Ho(e,t){return Us(e,t)+t.getBoundingClientRect().height}function Vo(e){return e.scrollTop+qo}function Go(e){return e.scrollTop+8}function is(e){const t=Vo(e),n=Go(e);let r=!1,a=!1;for(const i of Uo(e)){const c=Us(e,i);if(Ho(e,i)<n&&(r=!0),c>t+8&&(a=!0),r&&a)break}return{canGoPrevious:r,canGoNext:a}}function Su(e,t){const n=Uo(e),r=Vo(e);if(t==="previous"){const a=Go(e);for(let i=n.length-1;i>=0;i-=1){const c=n[i];if(Ho(e,c)<a)return c}return null}for(const a of n)if(Us(e,a)>r+8)return a;return null}function yu(e){return Math.min(ku,Math.max(bu,Math.abs(e)/5))}function ju(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}function Cu(e){const t=Da({messages:e});return t?{run:t}:null}function go(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(`
|
|
5
|
+
|
|
6
|
+
`):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 Cr(e,t){return{surface:"chat",workflowKind:"slash_command",commandName:`/${e.command}`,commandSource:t}}function wu(e){return e.command==="goal"||e.command==="agent"||e.command==="skill"||e.command==="workflow"||e.command==="sync-cloud"}function Mu(e){const t=e?.trim()??"";return/^[a-z0-9]{24}$/.test(t)?t:null}function Eu({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){const a=za(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?`${Au(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(Pn,{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(yo,{size:14})})]}):null,s.jsx("button",{type:"button","aria-label":"Close generated question handoff",title:"Close",disabled:e,onClick:n,children:s.jsx(fs,{size:14})})]})]})}function Au(e){return e==="frozen_eval"?"Frozen evaluation":e==="validation"?"Validation":"Training"}function Nu({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(Eu,{busy:n,handoff:r,onDismiss:a,onSelectTask:i})}function Tu({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(Pn,{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(fi,{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(yo,{size:17})})]})}function Ru({busy:e,onSync:t}){return s.jsxs("button",{type:"button",className:"sync-local-button",disabled:e,onClick:t,children:[s.jsx(Si,{size:15}),s.jsx("span",{children:e?"Syncing locally":"Sync locally to work on this"})]})}function Wo(e){return e.supportedView&&e.open&&!e.hasContentPanel}function Iu(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 Pu(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 h=n??i.current;if(!r||!h||typeof window>"u")return;let f=null,g=0,y=h.scrollHeight;const m=(E=!0)=>{E&&(g=Math.max(g,4)),f===null&&(f=window.requestAnimationFrame(()=>{f=null,i.current===h&&c.current(h);const C=Math.abs(h.scrollHeight-y)>1;y=h.scrollHeight,g-=1,(g>0||C)&&m(!1)}))};u.current=()=>m();const p=typeof MutationObserver>"u"?null:new MutationObserver(()=>{N(),m()}),S=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>m()),v=new Set,N=()=>{if(!S)return;const E=new Set(Array.from(h.children).filter(C=>C instanceof HTMLElement));for(const C of v)E.has(C)||(S.unobserve(C),v.delete(C));for(const C of E)v.has(C)||(S.observe(C),v.add(C))};p?.observe(h,{childList:!0,characterData:!0,subtree:!0}),N();const j=()=>m();return h.addEventListener("load",j,!0),()=>{u.current=null,p?.disconnect(),S?.disconnect(),h.removeEventListener("load",j,!0),f!==null&&window.cancelAnimationFrame(f)}},[r,n,i]),o.useLayoutEffect(()=>{r&&u.current?.()},[t,r])}function _u({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:a,onLoadMoreChatHistory:i,pendingApproval:c,showChatThread:u,showThinkingIndicator:h,view:f}){const g=o.useRef(null),[y,m]=o.useState(null),p=o.useCallback(k=>{g.current=k,m(T=>T===k?T:k)},[]),S=o.useRef(null),v=o.useRef(!0),N=o.useRef(0),j=o.useRef(0),E=o.useRef(0),C=o.useRef(null),P=o.useRef(null),b=o.useRef(!1),_=o.useRef(!1),z=o.useRef(!1),V=o.useRef(null),F=o.useRef(null),se=o.useRef(null),[xe,be]=o.useState(0),[$e,ce]=o.useState(null),[X,we]=o.useState(!1),[ye,Me]=o.useState(132),[W,K]=o.useState(_s),I=o.useMemo(()=>ou(a,{showThinkingIndicator:h}),[a,h]),ae=o.useMemo(()=>({"--chat-composer-reserve":`${ye}px`}),[ye]),re=a.at(-1),ke=[I.length,re?.id??"",re?.content?.length??0,re?.timestamp??"",h?"thinking":""].join(":"),ue=n,D=e,oe=f==="chat"&&u&&!!D&&$e!==D,w=o.useCallback(k=>{we(T=>T===k?T:k)},[]),$=o.useCallback(k=>{K(T=>T.canGoPrevious===k.canGoPrevious&&T.canGoNext===k.canGoNext?T:k)},[]),L=o.useCallback((k,T={})=>{const ie=T.nearBottom??Rn(k);w(!ie),$(is(k))},[w,$]),Ue=o.useCallback(k=>{const T=_.current;_.current=!1,ce(k),w(!1),$(_s),T&&be(ie=>ie+1)},[w,$]),Te=o.useCallback(()=>{se.current===null||typeof window>"u"||(window.cancelAnimationFrame(se.current),se.current=null)},[]),et=o.useCallback((k,T,ie)=>{Te();const Ce=Math.max(0,k.scrollHeight-k.clientHeight),q=()=>{const Mt=typeof T=="function"?T():T;return Math.max(0,Math.min(Mt,Math.max(0,k.scrollHeight-k.clientHeight)))},Ne=Math.max(0,Math.min(q(),Ce)),pe=k.scrollTop,Ke=Ne-pe;if(typeof window>"u"||window.matchMedia?.("(prefers-reduced-motion: reduce)").matches===!0||Math.abs(Ke)<1){k.scrollTop=Ne,ie?.();return}const ht=yu(Ke),Y=window.performance.now(),ve=Mt=>{if(g.current!==k){se.current=null;return}const qt=Math.min(1,(Mt-Y)/ht),Et=q();if(k.scrollTop=pe+(Et-pe)*ju(qt),qt<1){se.current=window.requestAnimationFrame(ve);return}k.scrollTop=q(),se.current=null,ie?.()};se.current=window.requestAnimationFrame(ve)},[Te]),J=o.useCallback(()=>{z.current=!1,!(V.current===null||typeof window>"u")&&(window.cancelAnimationFrame(V.current),V.current=null)},[]),O=o.useCallback(()=>{F.current===null||typeof window>"u"||(window.cancelAnimationFrame(F.current),F.current=null)},[]),st=o.useCallback(k=>{if(typeof window>"u"){k.scrollTop=k.scrollHeight;return}if(F.current!==null)return;let T=window.performance.now();const ie=Ce=>{if(g.current!==k||!v.current){F.current=null;return}const q=Math.max(0,k.scrollHeight-k.clientHeight),Ne=q-k.scrollTop;if(Math.abs(Ne)<=.75){k.scrollTop=q,F.current=null;return}if(Ne<0||Ne>240)k.scrollTop=q;else{const pe=Math.max(.5,Math.min(3,(Ce-T)/16.666666666666668)),Ke=1-Math.pow(1-.22,pe);k.scrollTop+=Math.min(36*pe,Ne*Ke)}T=Ce,F.current=window.requestAnimationFrame(ie)};F.current=window.requestAnimationFrame(ie)},[]),Ee=o.useCallback((k,T={})=>{if(O(),k.scrollTop=k.scrollHeight,typeof window>"u"){T.finishInitial&&Ue(T.conversationKey??null);return}J(),z.current=!0;let Ce=0,q=0,Ne=k.scrollHeight;const pe=T.settle?12:2,Ke=()=>{const Le=g.current;if(!Le){V.current=null,z.current=!1,T.finishInitial&&Ue(T.conversationKey??null);return}Le.scrollTop=Le.scrollHeight;const ht=Le.scrollHeight-Le.scrollTop-Le.clientHeight,Y=Math.abs(Le.scrollHeight-Ne)<=1;if(Ne=Le.scrollHeight,q=ht<=1&&Y?q+1:0,Ce+=1,Ce<pe&&q<2){V.current=window.requestAnimationFrame(Ke);return}V.current=null,z.current=!1,v.current=!0,w(!1),$(is(Le)),T.finishInitial&&Ue(T.conversationKey??null)};V.current=window.requestAnimationFrame(Ke)},[J,O,Ue,w,$]),wt=o.useCallback(()=>{const k=g.current;k&&(J(),O(),v.current=!0,w(!1),et(k,()=>k.scrollHeight-k.clientHeight,()=>{g.current===k&&(k.scrollTop=k.scrollHeight,v.current=!0,w(!1),$(is(k)))}))},[J,O,w,$,et]),Bt=o.useCallback(k=>{const T=g.current;if(!T)return;const ie=Su(T,k);if(!ie)return;J(),O(),et(T,()=>ie.isConnected?Math.max(0,Us(T,ie)-qo):T.scrollTop,()=>{if(g.current!==T)return;const q=Rn(T);v.current=q,L(T,{nearBottom:q})})},[J,O,et,L]),Ie=o.useCallback(()=>{const k=g.current;k&&(P.current={scrollHeight:k.scrollHeight,scrollTop:k.scrollTop},v.current=!1,O())},[O]),mt=o.useCallback(async()=>{if(ue&&!(!i||r||b.current)){Ie(),b.current=!0;try{await i()}finally{b.current=!1}}},[ue,r,i,Ie]),an=o.useCallback(k=>{if(z.current){v.current=!0,w(!1),$(_s);return}const T=Rn(k),ie=Math.abs(k.scrollHeight-j.current)>1||Math.abs(k.clientHeight-E.current)>1,Ce=k.scrollTop<N.current-1;N.current=k.scrollTop,j.current=k.scrollHeight,E.current=k.clientHeight,T?(v.current=!0,L(k,{nearBottom:!0})):Ce&&!ie?(v.current=!1,O(),L(k,{nearBottom:!1})):v.current?(w(!1),$(is(k))):L(k,{nearBottom:!1}),!_.current&&k.scrollTop<=jr&&ue&&!r&&mt()},[ue,O,r,mt,w,$,L]),de=o.useCallback(k=>{!v.current&&!Rn(k)||(v.current=!0,st(k))},[st]);return Pu({contentKey:ke,enabled:f==="chat"&&u,onContentChange:de,threadElement:y,threadRef:g}),o.useLayoutEffect(()=>{if(f!=="chat"||!u||typeof window>"u")return;const k=S.current;if(!k)return;let T=null;const ie=()=>{T=null;const Ne=Math.max(96,Math.ceil(k.getBoundingClientRect().height+20));Me(pe=>pe===Ne?pe:Ne)},Ce=()=>{T===null&&(T=window.requestAnimationFrame(ie))};Ce();const q=typeof window.ResizeObserver>"u"?null:new window.ResizeObserver(Ce);return q?.observe(k),window.addEventListener("resize",Ce),()=>{T!==null&&window.cancelAnimationFrame(T),q?.disconnect(),window.removeEventListener("resize",Ce)}},[u,f]),o.useLayoutEffect(()=>{const k=g.current;f!=="chat"||!u||!k||_.current||!v.current&&!Rn(k)||(v.current=!0,Ee(k,{settle:!0}))},[ye,Ee,u,f]),o.useLayoutEffect(()=>{if(t===0||f!=="chat"||!u)return;const k=g.current;k&&(v.current=!0,w(!1),Ee(k,{settle:!0}))},[t,Ee,w,u,f]),o.useLayoutEffect(()=>{P.current=null,b.current=!1,_.current=!0,v.current=!0,N.current=0,j.current=0,E.current=0,O(),Te(),J(),ce(null),w(!1),$(_s)},[J,Te,O,D,w,$]),o.useEffect(()=>{const k=g.current;f!=="chat"||!k||_.current||!ue||r||k.scrollTop<=jr&&k.scrollHeight<=k.clientHeight+jr&&mt()},[ue,r,xe,I.length,mt,f]),o.useLayoutEffect(()=>{const k=P.current,T=g.current;!k||!T||_.current||(P.current=null,T.scrollTop=k.scrollTop+Math.max(0,T.scrollHeight-k.scrollHeight),L(T))},[I.length,L]),o.useLayoutEffect(()=>{const k=g.current;if(f!=="chat"||!D||!k){C.current=D,v.current=!0,Ue(D);return}const T=C.current!==D;if(C.current=D,T||_.current){v.current=!0,Ee(k,{conversationKey:D,finishInitial:!0,settle:!0});return}const ie=Rn(k);if(v.current||ie){v.current=!0,w(!1),$(is(k)),Ee(k,{settle:!0});return}L(k,{nearBottom:ie})},[D,y,Ue,c?.id,Ee,w,$,L,f]),o.useEffect(()=>()=>{J(),Te(),O()},[J,Te,O]),{chatColumnStyle:ae,chatThreadPreparingInitialScroll:oe,chatThreadRef:p,composerStackRef:S,goToUserMessage:Bt,handleChatScroll:an,jumpToLatestChatMessage:wt,showScrollToBottomButton:X,userMessageNavigation:W,chatTimelineRows:I}}const $u=o.lazy(()=>me(()=>import("./WorkspaceDiffPanel-BrovSYhn.js").then(e=>e.a),__vite__mapDeps([7,1,2,3,8,4,9,6,10,11,12,13,14,15,16]),import.meta.url).then(e=>({default:e.WorkspaceDiffPanel}))),Lu=o.lazy(()=>me(()=>import("./AppTerminalPanel-B2EKQM7W.js"),__vite__mapDeps([17,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),Ou=o.lazy(()=>me(()=>import("./RightSidebarHomePanel-DOeUsH7h.js"),__vite__mapDeps([18,1,2,3,15,11,13]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Du=o.lazy(()=>me(()=>import("./WorkSidebarPanel--EeytWeg.js"),__vite__mapDeps([19,1,2,3,9,11,13,4,8,20,21,22,23]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),zu=o.lazy(()=>me(()=>import("./NewExperienceSwitcher-CzGebt2E.js"),__vite__mapDeps([24,1,2,3]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Fu=o.lazy(()=>me(()=>import("./CollaborationTabs-BMZamWFC.js"),__vite__mapDeps([25,1,2,3,26]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),Bu=o.lazy(()=>me(()=>import("./AppsView-BBoVe7s2.js"),__vite__mapDeps([27,1,2,3,28]),import.meta.url).then(e=>({default:e.AppsView}))),qu=o.lazy(()=>me(()=>import("./GetStartedView-Ibu7oKWJ.js"),__vite__mapDeps([29,1,2,5,3,30,4,31]),import.meta.url).then(e=>({default:e.GetStartedView}))),Uu=o.lazy(()=>me(()=>import("./LabsRoute-DoRs0K6v.js").then(e=>e.q),__vite__mapDeps([32,1,2,3,30,20,10,6,12,0,4,5,33,34]),import.meta.url).then(e=>({default:e.LabsRoute}))),Hu=o.lazy(()=>me(()=>import("./ScheduledWorkPage-UXZSSWgA.js"),__vite__mapDeps([35,1,2,3,36,4,5,6,14,13]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),Vu=o.lazy(()=>me(()=>import("./OutputsPage-m7cSb8dW.js"),__vite__mapDeps([37,1,2,3,9,4,11,20,21,22]),import.meta.url).then(e=>({default:e.OutputsPage}))),Gu=o.lazy(()=>me(()=>import("./ProjectsPage-C9mz8W1g.js"),__vite__mapDeps([38,1,2,3,20,39]),import.meta.url).then(e=>({default:e.ProjectsPage}))),xo=o.lazy(()=>me(()=>import("./LabSkillSidebar-BKYseMiJ.js"),__vite__mapDeps([40,1,2,3,4,13,20,21,22,41]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),Wu=o.lazy(()=>me(()=>import("./BrowserSidebar-CSM1atSJ.js"),__vite__mapDeps([42,1,2,3,4,6,22,43]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),Xu=o.lazy(()=>me(()=>import("./RightChatPanelStack-B4LEqKEj.js"),__vite__mapDeps([44,1,2,11,3,45,16,8,4,9,21,5,6,20,22]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),Ku=o.lazy(()=>me(()=>import("./NativeSkillSidebar-D2Joh8XB.js"),__vite__mapDeps([46,1,2,3,13,47]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),Qu=o.lazy(()=>me(()=>import("./TeamChatView-C4haojB7.js"),__vite__mapDeps([48,1,2,3,8,4,9,6,20,21,22,49,50]),import.meta.url).then(e=>({default:e.TeamChatView}))),Ju=o.lazy(()=>me(()=>import("./TeamChatView-C4haojB7.js"),__vite__mapDeps([48,1,2,3,8,4,9,6,20,21,22,49,50]),import.meta.url).then(e=>({default:e.TeamChatProView}))),Yu=o.lazy(()=>me(()=>import("./CommunityView-CTyRUcfy.js"),__vite__mapDeps([51,1,2,52,3,6,8,4,9,20,21,22,53]),import.meta.url).then(e=>({default:e.CommunityView}))),Zu=o.lazy(()=>me(()=>import("./TeamChatView-C4haojB7.js"),__vite__mapDeps([48,1,2,3,8,4,9,6,20,21,22,49,50]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),ed=o.lazy(()=>me(()=>import("./TeamChatView-C4haojB7.js"),__vite__mapDeps([48,1,2,3,8,4,9,6,20,21,22,49,50]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),td=o.lazy(()=>me(()=>import("./TrainingDraftPanel-DR5KlayH.js"),__vite__mapDeps([54,1,2,3,13,34]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),nd=o.lazy(()=>me(()=>import("./MainChatThread-DvuyMcMB.js"),__vite__mapDeps([55,1,2,45,3,16,8,4,9,21,11,5,6,20,22]),import.meta.url).then(e=>({default:e.MainChatThread}))),sd=o.lazy(()=>me(()=>import("./TrainingCreationPanel-BYJSlO8X.js"),__vite__mapDeps([56,1,2,3,34]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function rd({experience:e,onNewExperienceChange:t,view:n,teamChat:r,community:a,bootstrap:i,runtimeEvents:c,chatMessages:u,pendingUserMessage:h,contextWindowStatus:f,goalRuntime:g,subagentRuntime:y,selectedSessionId:m,composerDraftStore:p,mainComposerFocusRequestId:S,labCloseDetailRequestId:v,labCloseDetailKind:N,sideChatTrainingLaunchRequest:j,onSideChatTrainingLaunchHandled:E,mentionApps:C,connectedAppMentions:P,profileSkills:b,selectedMentionAppId:_,busy:z,turnRunning:V,activeProvider:F,activeModel:se,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,pendingApproval:ce,activeWorkspaceAppId:X,activeWorkspaceId:we,activeWorkspaceKind:ye,projectTarget:Me,actionCatalog:W,workspaceTarget:K,connection:I,workspaceName:ae,workspaceState:re,workspaceDiff:ke,workspaceBusy:ue,diffBusy:D,forceChatThread:oe=!1,diffPanelOpen:w,diffPanelExpanded:$,rightPanelMode:L,rightPanelTabRequest:Ue,rightChatPanels:Te,runtimeEventStore:et,nativeSkillSidebar:J,extensionSkillSidebar:O,workspaceDiffPanelViewState:st,sidebarFileOpenRequest:Ee,sidebarFileBookmarks:wt,onSetSidebarFileStatus:Bt,browserConversationId:Ie,terminalScope:mt,terminalTabs:an,terminalCwd:de,pendingTerminalCommand:k,terminalOpen:T,onToggleTerminal:ie,onWorkspaceDiffPanelViewStateChange:Ce,training:q,trainingSessions:Ne,trainingChatHandoff:pe,trainingDetailTasksetId:Ke,onTrainingDetailTasksetIdChange:Le,onTrainingChatTaskSelect:ht,onTrainingChatHandoffDismiss:Y,onOpenSession:ve,onExperienceHandoff:Mt,cloudProjects:qt,projects:Et,projectsAccountBaseUrl:ms,projectsTeamName:ln,projectTaskCounts:hs,onNewCloudProject:cn,onNewProjectTask:ps,onToggleProjectPinned:Ut,onUploadLocalProject:gs,chatHistoryHasMore:At=!1,chatHistoryLoading:Hs=!1,onDiffPanelResizeStart:Pe,canSyncWorkspace:Vs,startMessage:pt,onPayload:Nt,onError:Tt,setView:ge,onOpenProfileSettings:Rt,onOpenProviderSettings:un,onOpenTrainingSettings:Gs,onOpenDatasetStorageSettings:rt,changeDraftProvider:Qe,changeProjectTarget:It,changeWorkspaceTarget:ot,setDraftProvider:Pt,setDraftModel:He,onBeginNewChatWithModel:Ws,changeCodexPermissionMode:at,changeCodexReasoningEffort:On,changeOpenPondCommandAccessMode:dn,resolveApproval:Dn,answerCreateImproveQuestion:fn,approveCreateImproveRun:mn,applyCreateImproveCandidate:zn,cancelCreateImproveRun:Ht,openCreateImprovePullRequest:hn,pauseCreateImproveRun:Fn,reconcileCreateImprovePullRequest:Vt,rejectCreateImproveCandidate:Bn,resumeCreateImproveRun:qn,reviseCreateImproveRun:Gt,setMentionedAppId:tt,showToast:Z,onSaveTaskDraft:_e,sendPrompt:ze,stopTurn:xs,syncWorkspaceLocally:bs,refreshWorkspaceDiff:it,onToggleDiffPanelExpanded:Je,onShowDiffPanel:Ye,onShowBrowserPanel:Wt,onShowTrainingDraftPanel:Xs,onShowFilesPanel:gt,onShowRightChatPanel:Ks,onAddRightChat:_t,onOpenRightChatForSession:Un,onLabDetailOpenChange:Qs,scheduledDetailOpen:Js,onScheduledDetailOpenChange:Ys,onTerminalTabsChange:je,onCloseRightChatPanel:lt,onCloseNativeSkillSidebar:Ve,onActivateRightChatPanel:Se,onRightChatModelChange:Xt,onRightChatPromptChange:Zs,onRightChatScrollStateChange:er,onRightChatProviderChange:Kt,onSubmitRightChat:ks,onStopRightChat:tr,onCloseTerminal:ct,onLoadMoreChatHistory:nr}){const[pn]=o.useState(()=>new Oi),xt=m&&!Vr(m)?m:null,vs=Bi(et,xt),Qt=o.useMemo(()=>xt?Fa(c,vs.events):c,[xt,vs.events,c]),bt=o.useMemo(()=>xt?Ba(pn.project(Qt),h):u,[pn,xt,h,Qt,u]),[Ss,gn]=o.useState(null),[Ae,kt]=o.useState(0),ut=o.useRef(""),Hn=o.useCallback(()=>ut.current,[]),[Vn,Oe]=o.useState(null),[Jt,Ge]=o.useState(null),[Yt,ne]=o.useState(null),[xn,Zt]=o.useState(null),[bn,ys]=o.useState(null),[Gn,Ze]=o.useState(null),[kn,js]=o.useState(null),[vn,Wn]=o.useState([]);o.useEffect(()=>{Oe(null)},[Ie]);const Xn=o.useMemo(()=>i?.sessions.find(x=>x.id===m)??null,[i?.sessions,m])?.currentProfile??i?.profileLibrary?.lastUsed??null,$t=qa(i?.profileLibrary??{profiles:[]},Xn)??i?.profile??null,Sn=o.useMemo(()=>Ua($t,i?.extensionCatalog),[i?.extensionCatalog,$t]),en=o.useMemo(()=>Ha($t),[$t]),Kn=o.useCallback(async(x,R=m)=>{if(!I||!i)return;const ee=Va(i.profileLibrary??{profiles:[]},x);if(ee)try{const Q=R&&!Vr(R)?i.sessions.find(B=>B.id===R)??null:null,H=await fu({ref:ee,session:Q,selectProfile:B=>De.profileSelect(I,B),patchSession:(B,ft)=>De.patchSession(I,B,{currentProfile:ft})});let fe=i.sessions;H.session&&(fe=fe.map(B=>B.id===H.session.id?H.session:B)),Nt({...i,profile:H.selected.profile,profileLibrary:H.selected.library,sessions:fe})}catch(Q){const H=Q instanceof Error?Q.message:String(Q);Tt(H),Z(H,"error")}},[i,I,Tt,Nt,m,Z]);o.useEffect(()=>{if(!Ga(Ee,Ie))return;const{file:x,id:R}=Ee;if(Oe({id:R,path:x.path}),!I)return;let ee=!1;return(x.workspaceKind==="local"?De.workspaceFile(I,x.workspaceId,x.path).then(H=>H.content??""):De.sandboxDownloadFile(I,x.workspaceId,x.path).then(H=>{if(H.file.isBinary)throw new Error("Binary files cannot be attached to chat.");return H.contents})).then(H=>{if(ee)return;const fe=x.path.split("/").at(-1)??x.path;gn({id:R,file:new File([H],fe,{type:od(x)})})}).catch(H=>{ee||Z(H instanceof Error?H.message:String(H),"error")}),()=>{ee=!0}},[Ie,I,Z,Ee]);const vt=e==="development"||e==="work"&&Me.value!=="none",Qn=o.useMemo(()=>{if(e==="chat")return en;if(!vt)return[];const x=new Map(W.filter(R=>!Wa(R)).map(R=>[R.id,R]));for(const R of en)x.set(R.id,R);for(const R of vn)x.set(R.id,R);return[...x.values()]},[W,e,vt,vn,en]),he=hu(I),Jn=o.useCallback(x=>{if(!x){he.activate(null);return}he.activate({runId:x.run.id,candidateId:x.candidate.id,title:x.run.objective,fileRootPath:x.fileRootPath,initialPath:x.initialPath})},[he.activate]),yn=o.useCallback(()=>{he.selection?.initialPath&&he.openFile(he.selection.initialPath),Ye()},[he.openFile,he.selection?.initialPath,Ye]),rr=o.useCallback(x=>{ne(x),x&&Ye()},[Ye]),or=o.useCallback(()=>{ne(null),$&&Je()},[$,Je]);o.useEffect(()=>{n!=="labs"&&ne(null)},[n]);const ar=o.useCallback((x,R)=>{const ee=Date.now(),Q=W.find(fe=>fe.id===x)??null;p.set(""),tt(null),ge("chat");const H=fe=>{if(!(fe.find(te=>te.id===x)??null))return!1;const ft=fe.map(te=>te.id===x?{...te,label:R}:te);return Wn(ft),window.requestAnimationFrame(()=>{js({actionId:x,requestId:Math.max(Date.now(),ee+1)})}),!0};if(!I){Q?H([Q]):Z("The Agent action catalog is still loading. Try Use again.","error");return}De.profileCurrent(I).then(fe=>{const B=fe.actionCatalog.map(ft=>Xa(ft));!H(B)&&Q?H([Q]):B.some(ft=>ft.id===x)||Z("This Agent is ready, but its default chat action is unavailable.","error")}).catch(fe=>{Q||Z(fe instanceof Error?fe.message:String(fe),"error")})},[W,p,I,tt,ge,Z]),ir=o.useCallback((x,R)=>{p.set(x),tt(null),R&&Qe(R),ge("chat")},[Qe,p,tt,ge]),Fe=o.useMemo(()=>Ka(i?.preferences),[i?.preferences]),Cs=Fe.training,{createAgentFromLab:Yn,improveAgentFromLab:lr}=gu({activeModel:se,activeProvider:F,bootstrap:i,codexPermissionMode:xe,codexReasoningEffort:be,connection:I,onOpenRightChatForSession:Un,onPayload:Nt}),Lt=o.useMemo(()=>{const x=q.payload?.tasksets??[];return x.some(R=>R.id===bn)?bn:x[0]?.id??null},[bn,q.payload?.tasksets]),jn=n==="labs"&&Lt?`profiles/${i?.profile.activeProfile??"default"}/tasksets/${Lt}`:null,cr=o.useMemo(()=>{if(n!=="labs"||!Lt||!q.payload)return null;const x=q.payload.tasksets.find(te=>te.id===Lt);if(!x)return null;const R=q.payload.plans.filter(te=>te.tasksetId===x.id),ee=new Set(R.map(te=>te.id)),Q=q.payload.jobs.filter(te=>ee.has(te.planId)).sort((te,rs)=>rs.createdAt.localeCompare(te.createdAt)),H=Q.find(te=>te.id===Gn)??Q[0]??null,fe=H?R.find(te=>te.id===H.planId)??null:R.sort((te,rs)=>rs.createdAt.localeCompare(te.createdAt))[0]??null,B=H?q.payload.models.find(te=>te.jobId===H.id)??null:null,ft=H?q.payload.artifacts.filter(te=>te.jobId===H.id):[];return{taskset:x,plan:fe,job:H,lineage:B,artifacts:ft}},[Lt,Gn,q.payload,n]),Ot=o.useMemo(()=>mu(q.payload,m),[m,q.payload]),Cn=o.useMemo(()=>Cu(bt),[bt]),ws=!!g||!!Cn||!!y,Re=n==="labs"&&!!he.selection,tn=n==="labs"&&w&&L==="changes"&&!!Yt,Ms=(n==="chat"||n==="labs")&&!!X,ur=n==="chat"&&w&&L==="chat"&&Te.length===0,Es=Qa(ye)?we??Mu(ae):null,As=n==="chat"&&!!Es,St=Es,Zn=!!St||K.value==="cloud"||K.value==="hybrid",dt=o.useMemo(()=>lu({workspaceTarget:K.value,localWorkspaceId:X,sandboxSourceAvailable:Zn,sandboxWorkspaceId:St,override:Jt}),[X,Zn,St,Jt,K.value]),nn=dt.source,We=nn==="sandbox",dr=o.useMemo(()=>nn&&dt.options.length>1?{value:nn,options:dt.options,onChange:Ge}:null,[nn,dt.options]);o.useEffect(()=>{Ge(null)},[X,Ie,St,K.value]);const Be=!tn&&(Re||Ms||As)&&w&&(L==="changes"||L==="goal"&&ws||ur),es=n==="chat"&&w&&L==="browser",wn=(n==="chat"||n==="labs")&&w&&L==="chat"&&Te.length>0,Mn=n==="chat"&&w&&L==="training",ts=n==="chat"&&w&&!!J,fr=n==="chat"&&w&&!!O,ns=n==="team"&&w&&L==="chat"&&!!r.aiThread,En=n==="team"&&w&&L==="chat"&&!!r.agentConversation,sn=e==="work"&&n==="chat"&&w&&L==="home",An=Wo({supportedView:n==="chat"&&vt||n==="labs",open:w,hasContentPanel:Be||tn||es||wn||Mn||ts||ns||En||sn}),Nn=Be||tn||es||wn||Mn||ts||ns||En||sn||An,ss=Nn&&L!=="chat"&&$,Ns=i?.account.baseUrl??i?.account.activeProfile?.baseUrl??null,l=vu({activeWorkspaceId:we,cloudProjects:qt}),d=n==="chat"&&V&&!ce&&iu(bt),A=oe||bt.length>0||d,M=m??`draft:${n}:${ye??"none"}:${we??X??"none"}`;ut.current=M;const G=s.jsx(Nu,{activeModel:se,activeProvider:F,busy:V,handoff:pe,onDismiss:Y,onSelectTask:ht}),U=o.useMemo(()=>({onAnswerQuestion:fn,onApprove:mn,onApplyCandidate:zn,onCancel:Ht,onOpenPullRequest:hn,onPause:Fn,onReconcilePullRequest:Vt,onRejectCandidate:Bn,onResume:qn,onRevise:Gt}),[fn,mn,zn,Ht,hn,Fn,Vt,Bn,qn,Gt]),le=o.useMemo(()=>Cn?{...Cn,...U}:null,[U,Cn]),yt=Iu(n,A),Dt=o.useCallback(async(x=[],R=null,ee=null,Q={})=>{const H=Q.promptOverride??p.getSnapshot(),fe=()=>{Q.preservePrompt||(p.set(""),tt(null))};if(!R){const B=ee?{command:ee.id,args:H.trim()}:So(H);if(B){if(!Ja({id:B.command},e))return Z(`/${B.command} isn't available in ${e}.`,"info"),!1;if(B.command==="train")return x.length>0?(Z("/train uses the selected chat; add other chats from Models.","error"),!1):m?(fe(),Zt({id:Date.now(),objective:B.args.trim()||null,initialSessionIds:[m]}),ge("labs"),!0):(fe(),Zt({id:Date.now(),objective:B.args.trim()||null,initialSessionIds:[]}),ge("labs"),!0);if(!B.args&&B.command!=="skill"&&B.command!=="sync-cloud")return Z(`Add instructions after /${B.command}.`,"info"),!1;if(x.length>0)return Z(`/${B.command} tasks do not accept attachments yet. Add file context in the task thread.`,"error"),!1;if(B.command==="submit-issue")return Ya(P)?(kt(te=>te+1),ze([],null,Za(B.args),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Cr(B,ee?"composer_selection":"prompt_parse")})):(Z("Connect the GitHub app before using /submit-issue.","error"),!1);if(wu(B)){const te=B.command==="skill"?uu(B.args,F,i?.profile.sourcePath??null):go(B);return kt(rs=>rs+1),ze([],null,te,{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Cr(B,ee?"composer_selection":"prompt_parse")})}return kt(te=>te+1),ze([],null,go(B),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:Cr(B,ee?"composer_selection":"prompt_parse")})}}return kt(B=>B+1),ze(x,R,Q.promptOverride,{clearPrompt:Q.preservePrompt?()=>{}:void 0,displayPrompt:Q.displayPrompt,turnMetadata:Q.turnMetadata})},[se,F,ye,i?.profile,P,p,e,ze,m,tt,ge,Z,q,n]),zt=o.useCallback(x=>{pe&&x!==pe.model.modelId&&Y(),Pt(F),He(x)},[F,Y,He,Pt,pe]),nt=o.useCallback(x=>{pe&&x!==pe.model.providerId&&Y(),Qe(x)},[Qe,Y,pe]),{chatColumnStyle:rn,chatThreadPreparingInitialScroll:Xe,chatThreadRef:Xo,chatTimelineRows:Ko,composerStackRef:Qo,goToUserMessage:$r,handleChatScroll:Jo,jumpToLatestChatMessage:Yo,showScrollToBottomButton:Zo,userMessageNavigation:Ts}=_u({browserConversationId:Ie,chatSubmissionVersion:Ae,chatHistoryHasMore:At,chatHistoryLoading:Hs,chatMessages:bt,onLoadMoreChatHistory:nr,pendingApproval:ce,showChatThread:A,showThinkingIndicator:d,view:n}),Rs=o.useCallback((x,R)=>{ei({conversationId:Ie,href:x,explicitFile:R?.explicitFile,newTab:R?.newTab}).then(ee=>{ee&&Wt()})},[Ie,Wt]),Is=ci({projectTargetDetail:Me.detail,projectTargetValue:Me.value,workspaceRepoPath:re?.repoPath,workspaceTargetValue:K.value}),Lr=o.useCallback(x=>{const R=ru(x,Is);if(R&&I){De.signLocalVideoUrl(I,{path:R}).then(({url:Q})=>Rs(Q)).catch(Q=>{Z(Q instanceof Error?Q.message:"Could not open this video.","error")});return}const ee=ui(x,{workspaceRootPath:Is});Ye(),Oe({id:Date.now(),path:ee?.path??x})},[I,Rs,Ye,Z,Is]),Or=o.useCallback(async x=>{if(!I||!x.filePreview&&!x.imagePreview){Z("File content is not available for this attachment.","error");return}try{const R=x.name.trim().replace(/[\\/]+/g,"-")||"attachment.txt",Q=`Attachments/${x.id.replace(/[^a-zA-Z0-9._-]+/g,"-")||"file"}/${R}`,H={path:Q,status:"",additions:0,deletions:0,patch:"",content:null};let fe;if(x.filePreview){const B=await De.chatAttachmentFile(I,x.filePreview);H.content=B.content}else x.imagePreview&&(fe=(await De.signChatAttachmentImageUrl(I,x.imagePreview)).url);Ye(),Oe({id:Date.now(),path:Q,file:H,...fe?{imageUrl:fe}:{}})}catch(R){Z(R instanceof Error?R.message:"Could not open this attachment.","error")}},[I,Ye,Z]),ea=ue&&!!X&&!re,Dr=he.selection?`candidate:${he.selection.runId}:${he.selection.candidateId}`:null,ta=Be?s.jsx($u,{appId:Re?Dr:We?null:X,workspaceId:Re?Dr:We?St:X,workspaceKind:Re?"local_project":We?null:"local_project",connection:I,runtimeEvents:Qt,diff:Re?he.diff:We?null:ke,fileRootPath:Re?he.selection?.fileRootPath??null:We?null:jn,filesWithPreview:Re,editorPreferences:i?.preferences.editor??null,loading:Re?he.loading:We?ue:D||ea,openFileRequest:Re?he.openFileRequest:Vn,sidebarFileBookmarks:wt,sidebarFileSourceSessionId:m,onSetSidebarFileStatus:Bt,readOnly:Re,sideChatTabs:Te.map(x=>({id:x.id,title:x.title,running:x.running})),sourceSwitcher:Re?null:dr,tabRequest:Ue,viewState:st,workspaceName:Re?he.selection?.title??"Change":We?ae??"Sandbox":ae,workspaceInitialized:Re?!0:We?!!St:!!re?.initialized,workspaceError:Re?he.error:We?null:re?.error??ke?.error??null,expanded:$,onResizeStart:Pe,onRefresh:x=>{Re?he.refresh(x):it(x)},onToggleExpanded:Je,onOpenBrowser:Wt,onOpenBrowserUrl:Rs,onViewStateChange:Ce,onCloseSideChat:lt,onOpenSideChat:n==="chat"?_t:void 0,onSelectSideChat:x=>{Se(x),Ks()},goalDetails:{active:L==="goal",createRuntime:le,goalRuntime:g,subagentRuntime:y},sandboxFileSource:We?{sandboxId:St,emptyMessage:"No sandbox filesystem yet."}:null,trainingSummary:cr}):null,na=es?s.jsx(Wu,{conversationId:Ie,expanded:$,onResizeStart:Pe}):null,sa=ns?o.createElement(Zu,{...r,key:r.aiThread?.conversationId,onResizeStart:Pe}):null,ra=En?o.createElement(ed,{...r,key:r.agentConversation?.run.id,onResizeStart:Pe}):null,oa=wn?s.jsx(Xu,{panels:Te,runtimeEventStore:et,actionCatalog:Qn,createImproveActions:U,contextCompaction:Fe.contextCompaction,steerActiveResponses:Fe.steerActiveResponses,busy:z,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,connection:I,connectedAppMentions:P,mentionApps:C,codexPersonalSkills:i?.codexPersonalSkills??[],profileSkills:b,profileLibrary:i?.profileLibrary??{lastUsed:null,profiles:[]},extensionCatalog:i?.extensionCatalog??null,projectTarget:Me,providerSettings:i?.providers??null,accountBaseUrl:Ns,billingOrganizationSlug:l.organizationSlug,billingTeamId:l.teamId,showToast:Z,workspaceTarget:K,onAddChat:_t,onActivatePanel:Se,onClosePanel:lt,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:On,onOpenPondCommandAccessModeChange:dn,onModelChange:Xt,onOpenAttachmentInSidebar:Or,onOpenFileInSidebar:Lr,onOpenProfileSettings:Rt,onOpenSession:ve,onProviderChange:Kt,onProviderSetupOpen:un,onPromptChange:Zs,onProfileTargetChange:(x,R)=>{Kn(R,x)},onScrollStateChange:er,onProjectTargetChange:It,onResolveApproval:Dn,onResizeStart:Pe,onSelectFiles:gt,onShowBrowserPanel:Wt,onStop:tr,onSubmit:ks,onWorkspaceTargetChange:x=>{ot(x)}}):null,aa=An?s.jsx(Ou,{expanded:$,terminalOpen:T,sideChatAvailable:n==="chat"||n==="labs",onOpenBrowser:Wt,onOpenFiles:gt,onOpenReview:Ye,onOpenSideChat:_t,onOpenTrainingDraft:Xs,trainingDraftAvailable:!!m,onResizeStart:Pe,onToggleExpanded:Je,onToggleTerminal:ie}):null,ia=sn?s.jsx(Du,{chatMessages:bt,connection:I,contextWindowStatus:f,expanded:$,runtimeEvents:Qt,sessionId:m,showToast:Z,onResizeStart:Pe,onToggleExpanded:Je,onUseOutput:x=>gn({id:Date.now(),file:x}),onHandoffOutput:async(x,R,ee)=>{await Mt({target:x,sourceSessionId:m,output:R,prompt:ti(R,x)}),ee&&gn({id:Date.now(),file:ee})},onReviseOutput:(x,R,ee)=>{gn({id:Date.now(),file:R}),p.set(`Create revision ${x.revision+1} of "${x.title}" from the attached revision ${x.revision}. Apply only this requested change:
|
|
7
|
+
|
|
8
|
+
${ee}`)},onAgentPackageInstalled:async()=>{I&&Nt(await De.bootstrap(I))}}):null,la=Mn?s.jsx(o.Suspense,{fallback:null,children:s.jsx(td,{training:q,sessionId:m,expanded:$,onOpenTraining:()=>ge("labs"),onResizeStart:Pe,onToggleExpanded:Je})}):null,Tn=ra??sa??oa??(ts&&J?s.jsx(Ku,{expanded:$,skill:J,onClose:Ve,onResizeStart:Pe,onToggleExpanded:Je}):null)??(fr&&O?s.jsx(xo,{connection:I,expanded:$,selection:O,onClose:Ve,onResizeStart:Pe,onToggleExpanded:Je}):null)??(tn&&Yt?s.jsx(xo,{connection:I,expanded:$,selection:Yt,onClose:or,onResizeStart:Pe,onToggleExpanded:Je}):null)??ta??na??la??ia??aa,mr=s.jsx(o.Suspense,{fallback:null,children:s.jsx(Lu,{open:T,connection:I,scope:mt,tabs:an,onTabsChange:je,cwd:de,appId:X,workspaceName:ae,queuedCommand:k,onClose:ct})});return s.jsxs("main",{className:`main-pane ${yt} ${T?"terminal-open":""} ${Nn?"diff-open":""} ${ss?"diff-expanded":""}`,children:[n==="team"||n==="community"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Fu,{onSelect:ge,view:n})}):null,n==="apps"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Bu,{account:i?.account??null,connection:I,defaultTeamId:i?.preferences.defaultTeamId??null,onToast:Z})}):n==="team"?s.jsxs(o.Suspense,{fallback:null,children:[r.teamId?s.jsx(Qu,{...r}):s.jsx(Ju,{}),Nn?Tn:null]}):n==="community"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Yu,{...a})}):n==="get-started"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(qu,{})}):n==="scheduled"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Hu,{connection:I,detailOpen:Js,detailExpanded:$,onDetailOpenChange:Ys,onDetailResizeStart:Pe,onToggleDetailExpanded:Je})}):n==="outputs"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Vu,{connection:I,onViewChat:ve})}):n==="projects"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Gu,{accountBaseUrl:ms,connection:I,onNewCloudProject:cn,onNewTask:ps,onTogglePinned:Ut,onUploadLocalProject:gs,projects:Et,taskCountByProjectId:hs,teamName:ln})}):n==="labs"?ss?s.jsx(o.Suspense,{fallback:null,children:Tn}):s.jsxs(s.Fragment,{children:[s.jsx(o.Suspense,{fallback:null,children:s.jsx(Uu,{account:i?.account??null,closeDetailRequestId:v,closeDetailKind:N,onNewModel:(x,R,ee)=>{Zt({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:x,learnedPreferenceReward:R,initialModelId:ee})},onUseAgent:ar,onCreateAgent:Yn,onImproveAgent:lr,onDetailOpenChange:Qs,onSkillSelectionChange:rr,onOpenRunConversation:Un,onAnswerQuestion:fn,onApplyCandidate:zn,onApprove:mn,onCancel:Ht,candidateReview:{diff:he.diff,error:he.error,loading:he.loading},onCandidateReviewChange:Jn,onOpenPullRequest:hn,onOpenCandidateFiles:yn,onPause:Fn,onReconcilePullRequest:Vt,onRejectCandidate:Bn,onResume:qn,onRevise:Gt,profileView:{payload:i,connection:I,onPayload:Nt,onError:Tt,onToast:Z,onSkillCommand:ir},training:{training:q,sessions:Ne,localProjects:i?.localProjects??[],connection:I,defaultModel:{providerId:F,modelId:se},onError:Tt,onToast:Z,onSettingsPreferences:x=>{i&&Nt({...i,preferences:x.preferences})},onOpenTrainingSettings:Gs,onOpenProviderSettings:un,onOpenDatasetStorageSettings:rt,onOpenChat:ve,onChatWithModel:Ws,onOpenTasksetFiles:gt,launchRequest:j??xn,onLaunchHandled:x=>{if(j?.id===x){E(x);return}Zt(R=>R?.id===x?null:R)},preferences:Cs,settingsPreferences:Fe,providerSettings:i?.providers??null,reasoningEffort:be,selectedTasksetId:Lt,onSelectedTasksetIdChange:ys,onSelectedTrainingJobIdChange:Ze,detailTasksetId:Ke,onDetailTasksetIdChange:Le}})}),mr,Nn?s.jsx(o.Suspense,{fallback:null,children:Tn}):null]}):ss?s.jsx(o.Suspense,{fallback:null,children:Tn}):A?s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:`chat-column ${ce?"has-approval":""}`,style:rn,children:[s.jsx(o.Suspense,{fallback:null,children:s.jsx(nd,{accountBaseUrl:Ns,activeWorkspaceAppId:X,billingOrganizationSlug:l.organizationSlug,billingTeamId:l.teamId,connection:I,conversationKey:Ie??"draft",creation:Ot,onOpenBrowserLink:Rs,onOpenAttachmentInSidebar:Or,onOpenFileInSidebar:Lr,onOpenProfileSettings:Rt,onResolveUserQuestion:async(x,R)=>{const ee=R.action==="answer"?R.text:"Dismiss this question";if(!await ze([],null,ee,{displayPrompt:ee,turnMetadata:{userQuestionResolution:R}}))throw new Error("The question response could not be sent.")},onOpenSession:ve,onScroll:x=>Jo(x.currentTarget),rows:Ko,sessionId:Ie,turnRunning:V,userAttachmentDisplay:F==="codex"?"compact":"full",threadRef:Xo,workspaceRootPath:Is})}),s.jsxs("div",{className:`composer-stack dock ${ce?"has-approval":""}`,ref:Qo,children:[Ot?s.jsx(o.Suspense,{fallback:null,children:s.jsx(sd,{compact:!0,creation:Ot,training:q,onOpenTraining:()=>ge("labs")})}):null,G,s.jsx(ho,{approval:ce,onResolve:Dn}),Zo&&!Xe?s.jsx(Tu,{canGoNext:Ts.canGoNext,canGoPrevious:Ts.canGoPrevious,onJumpToLatest:Yo,onNext:()=>{Ts.canGoNext&&$r("next")},onPrevious:()=>{Ts.canGoPrevious&&$r("previous")}}):null,s.jsx(mo,{experience:e,draftStore:p,attachmentRequest:Ss,mode:"dock",focusRequestId:S,mentionApps:vt?C:[],connectedAppMentions:P,profileSkills:F==="codex"?i?.codexPersonalSkills??[]:Sn,selectedMentionAppId:_,contextWindowStatus:f,goalRuntime:e!=="chat"?g:null,subagentRuntime:e!=="chat"?y:null,createImproveRuntime:vt?le:null,busy:V,running:V,steerActiveResponses:Fe.steerActiveResponses,submissionScopeKey:M,getCurrentSubmissionScopeKey:Hn,voiceInputChannelKey:`main-composer:${M}`,showProjectFooter:!1,connection:I,providerSettings:i?.providers??null,provider:F,model:se,projectTarget:Me,profileTarget:null,actionCatalog:Qn,requestedAction:kn,workspaceTarget:K,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,onProviderChange:nt,onProviderSetupOpen:un,onProjectTargetChange:It,onProfileTargetChange:x=>{Kn(x)},onWorkspaceTargetChange:x=>{ot(x)},onModelChange:zt,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:On,onOpenPondCommandAccessModeChange:dn,onMentionAppSelect:tt,onSaveTaskDraft:_e,showToast:Z,onSubmit:Dt,onStop:xs})]})]}),mr,s.jsx(o.Suspense,{fallback:null,children:Tn})]}):s.jsxs(s.Fragment,{children:[s.jsxs("section",{className:"start-panel",children:[s.jsx(o.Suspense,{fallback:null,children:s.jsx(zu,{value:e==="chat"?"chat":"work",onChange:t})}),s.jsxs("div",{className:"start-welcome",children:[s.jsx("h1",{children:pt}),Vs&&s.jsx(Ru,{busy:ue,onSync:()=>{bs()}})]}),s.jsxs("div",{className:"composer-stack start",children:[G,s.jsx(ho,{approval:ce,onResolve:Dn}),s.jsx(mo,{experience:e,draftStore:p,attachmentRequest:Ss,mode:"start",autoFocus:!0,focusRequestId:S,mentionApps:vt?C:[],connectedAppMentions:P,profileSkills:F==="codex"?i?.codexPersonalSkills??[]:Sn,selectedMentionAppId:_,contextWindowStatus:f,goalRuntime:e!=="chat"?g:null,subagentRuntime:e!=="chat"?y:null,createImproveRuntime:vt?le:null,busy:V,running:V,steerActiveResponses:Fe.steerActiveResponses,submissionScopeKey:M,getCurrentSubmissionScopeKey:Hn,voiceInputChannelKey:`main-composer:${M}`,connection:I,providerSettings:i?.providers??null,provider:F,model:se,showProjectFooter:e!=="chat",projectTarget:Me,profileTarget:null,actionCatalog:Qn,requestedAction:kn,workspaceTarget:K,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,onProviderChange:nt,onProviderSetupOpen:un,onProjectTargetChange:It,onProfileTargetChange:x=>{Kn(x)},onWorkspaceTargetChange:x=>{ot(x)},onModelChange:zt,onCodexPermissionModeChange:at,onCodexReasoningEffortChange:On,onOpenPondCommandAccessModeChange:dn,onMentionAppSelect:tt,onSaveTaskDraft:_e,showToast:Z,onSubmit:Dt,onStop:xs})]})]}),mr,s.jsx(o.Suspense,{fallback:null,children:Tn})]})]})}function od(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 xd=Object.freeze(Object.defineProperty({__proto__:null,MainPane:rd,shouldShowRightSidebarHomePanel:Wo},Symbol.toStringTag,{value:"Module"}));export{ho as A,Si as C,ji as F,Ni as I,xd as M,Wr as P,Li as R,_i as a,wi as b,Ei as c,Oi as d,ou as e,Pu as f,eu as g,wc as h,gd as i,Ec as j,Ic as k,pd as l,Fl as m,hi as n,Pc as o,$c as r,iu as s,Bi as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as $,j as C}from"./index-
|
|
1
|
+
import{r as $,j as C}from"./index-KwyAyscP.js";import{c as ra,dx as U0,dy as Pe,o as aa,aK as f1,X as p1,dC as M0,bu as z0,bG as v1,d as g1,b0 as wt}from"./App-DxecRQUL.js";import{n as jt,m as b1,C as y1}from"./chat-file-links-B3jDstSC.js";import{r as w1}from"./desktop-files-BQj1J-ob.js";const x1=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],k1=ra("copy",x1);const S1=[["path",{d:"m16 16-3 3 3 3",key:"117b85"}],["path",{d:"M3 12h14.5a1 1 0 0 1 0 7H13",key:"18xa6z"}],["path",{d:"M3 19h6",key:"1ygdsz"}],["path",{d:"M3 5h18",key:"1u36vt"}]],M1=ra("text-wrap",S1);function na(r,e,t){const a=ia(r),[n,i]=$.useState(()=>a.getUrl(e,t));return $.useEffect(()=>{let o=!1;return i(a.getUrl(e,t)),a.loadUrl(e,t).then(u=>{o||i(u)}),()=>{o=!0}},[e,t,a]),n}function ia(r){const[,e]=$.useState(0),t=$.useCallback((i,o)=>!r||!i||!o?null:(U0.activateConnection(r),U0.get(Pe(r,"workspace-image",i,o))),[r]),a=$.useCallback(async(i,o)=>{if(!r||!i||!o)return null;U0.activateConnection(r);const u=Pe(r,"workspace-image",i,o);return U0.load(u,()=>aa.signWorkspaceImageUrl(r,{appId:i,path:o})).finally(()=>e(c=>c+1))},[r]),n=$.useCallback((i,o)=>{a(i,o)},[a]);return $.useMemo(()=>({ensureUrl:n,getUrl:t,loadUrl:a}),[n,t,a])}function z1({open:r,src:e,title:t,onClose:a}){const[n,i]=$.useState(!1);if($.useEffect(()=>{if(!r)return;const c=d=>{d.key==="Escape"&&a()};return window.addEventListener("keydown",c),()=>window.removeEventListener("keydown",c)},[a,r]),$.useEffect(()=>{i(!1)},[e]),!r||!e)return null;const o=(()=>{const c=t.split("/").pop()?.trim();if(c&&/\.[A-Za-z0-9]+$/.test(c))return c;try{const v=new URL(e,window.location.href).pathname.split("/").pop()?.trim();if(v&&/\.[A-Za-z0-9]+$/.test(v))return v}catch{}return"image.png"})(),u=()=>{const c=document.createElement("a");c.href=e,c.download=o,c.rel="noopener",document.body.appendChild(c),c.click(),c.remove()};return C.jsx("div",{className:"image-lightbox-backdrop",role:"presentation",onMouseDown:c=>{c.target===c.currentTarget&&a()},children:C.jsxs("section",{"aria-label":t?`Image preview: ${t}`:"Image preview","aria-modal":"true",className:"image-lightbox-dialog",role:"dialog",children:[C.jsxs("header",{className:"image-lightbox-header",children:[C.jsx("span",{title:t,children:t}),C.jsxs("div",{className:"image-lightbox-actions",children:[C.jsx("button",{type:"button","aria-label":"Download image",title:"Download",onClick:u,children:C.jsx(f1,{size:16})}),C.jsx("button",{type:"button","aria-label":"Close image preview",title:"Close",onClick:a,children:C.jsx(p1,{size:16})})]})]}),C.jsx("div",{className:"image-lightbox-frame",children:n?C.jsx("div",{className:"image-lightbox-error",children:"Image preview unavailable"}):C.jsx("img",{alt:t||"Image preview",decoding:"async",draggable:!1,src:e,onError:()=>i(!0)})})]})})}function sa(r,e){const t=la(r),[a,n]=$.useState(()=>t.getUrl(e));return $.useEffect(()=>{let i=!1;return n(t.getUrl(e)),t.loadUrl(e).then(o=>{i||n(o)}),()=>{i=!0}},[e,t]),a}function la(r){const[,e]=$.useState(0),t=$.useCallback(n=>!r||!n?null:(U0.activateConnection(r),U0.get(Pe(r,"local-image",n))),[r]),a=$.useCallback(async n=>{if(!r||!n)return null;U0.activateConnection(r);const i=Pe(r,"local-image",n);return U0.load(i,()=>aa.signLocalImageUrl(r,{path:n})).finally(()=>e(o=>o+1))},[r]);return $.useMemo(()=>({getUrl:t,loadUrl:a}),[t,a])}function Le(r){const e=r.replace(/\r\n/g,`
|
|
2
2
|
`).split(`
|
|
3
3
|
`),t=[];let a=[],n=[],i=[],o=!1,u,c=null,d,v=0,b=null;function y(){a.length!==0&&(t.push({type:"paragraph",content:a.join(`
|
|
4
4
|
`).trim()}),a=[])}function w(){n.length!==0&&(t.push({type:"blockquote",content:n.join(`
|