openpond 0.1.0 → 0.1.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.
Files changed (87) hide show
  1. package/dist/chunks/{app-server-runtime-Y6MW4XCG.js → app-server-runtime-FJM2EQPH.js} +3 -3
  2. package/dist/chunks/{chunk-TGM5IPYO.js → chunk-C5TKGE5Y.js} +1 -1
  3. package/dist/chunks/{chunk-AN2EYCN3.js → chunk-DJL4TJYG.js} +1 -1
  4. package/dist/chunks/{chunk-P6JLLWMI.js → chunk-KWDOAJJI.js} +1 -1
  5. package/dist/chunks/{chunk-TZWAUV2L.js → chunk-O6B6YCMI.js} +3 -3
  6. package/dist/chunks/{cli-L5VPOV6I.js → cli-6PFRZ2WV.js} +2 -2
  7. package/dist/chunks/{src-A6O6ZGIL.js → src-RTGN2O4H.js} +22 -33
  8. package/dist/chunks/{workspaces-XM5BY3MO.js → workspaces-IJQPWX3H.js} +2 -2
  9. package/dist/cli.js +5 -5
  10. package/dist/skills/openpond-desktop-harness/SKILL.md +1 -1
  11. package/dist/web/assets/{App-DfiCmBv6.js → App-BOkhmdHu.js} +17 -17
  12. package/dist/web/assets/{AppDialog-CSXu5wRu.js → AppDialog-BCjKFUBn.js} +1 -1
  13. package/dist/web/assets/{AppTerminalPanel-y2bVL2RV.js → AppTerminalPanel-DRU8GIfy.js} +2 -2
  14. package/dist/web/assets/{AppsView-Bs9pwD2H.js → AppsView-Ck_OzQWf.js} +1 -1
  15. package/dist/web/assets/{BrowserSidebar-CUgT5V1m.js → BrowserSidebar-CqciX8aL.js} +1 -1
  16. package/dist/web/assets/{CartesianChart-DA85hfrP.js → CartesianChart-Y0lsL4vC.js} +1 -1
  17. package/dist/web/assets/{CollaborationTabs-B8mlPhM3.js → CollaborationTabs-BOb9PjvS.js} +1 -1
  18. package/dist/web/assets/{CommandMenu-EwUGCeC_.js → CommandMenu-Co6JnmTu.js} +1 -1
  19. package/dist/web/assets/{CommunityView-IHNq-YJz.js → CommunityView-BbTSeL7h.js} +1 -1
  20. package/dist/web/assets/{ComposerCreateImproveStrip-qOL2zA26.js → ComposerCreateImproveStrip-BGzCWVFp.js} +1 -1
  21. package/dist/web/assets/{GetStartedView-C2ypO0v7.js → GetStartedView-jEogFjxP.js} +1 -1
  22. package/dist/web/assets/{LabModelVersionDetailPage-BK0eoUlW.js → LabModelVersionDetailPage-CrudId_1.js} +1 -1
  23. package/dist/web/assets/{LabSkillSidebar-CRPb4qBn.js → LabSkillSidebar-C5oS6UmH.js} +1 -1
  24. package/dist/web/assets/{LabsRoute-Bw-HD6QC.js → LabsRoute-9v8qwEBc.js} +2 -2
  25. package/dist/web/assets/{MainChatThread-Cu6_UnNE.js → MainChatThread-VtMpAxlP.js} +2 -2
  26. package/dist/web/assets/{MainPane-k1iII9e9.js → MainPane-BbknUzp3.js} +4 -4
  27. package/dist/web/assets/{MarkdownText-N60tvLug.js → MarkdownText-DqJarmTh.js} +1 -1
  28. package/dist/web/assets/{Messages-CYQFLElK.js → Messages-BaT7HOzB.js} +4 -4
  29. package/dist/web/assets/{NativeSkillSidebar-zbx7WmOk.js → NativeSkillSidebar-DXp8snN5.js} +1 -1
  30. package/dist/web/assets/{NewExperienceSwitcher-B0zev5Sx.js → NewExperienceSwitcher-CLHuGUN5.js} +1 -1
  31. package/dist/web/assets/{NewProjectDialog-lZlzrp-R.js → NewProjectDialog-CzpHCAaC.js} +1 -1
  32. package/dist/web/assets/{OutputsPage-B4zYYUT5.js → OutputsPage-DIzx-Ge6.js} +1 -1
  33. package/dist/web/assets/{ProjectsPage-97wgc84s.js → ProjectsPage-DojwrhOy.js} +1 -1
  34. package/dist/web/assets/{RightChatPanelStack-I2znDCc7.js → RightChatPanelStack-CIE5bgmO.js} +1 -1
  35. package/dist/web/assets/{RightSidebarHomePanel-BUcWVJi-.js → RightSidebarHomePanel-DTzfuEX3.js} +1 -1
  36. package/dist/web/assets/{ScheduledWorkPage-Bp-t0eVj.js → ScheduledWorkPage-DdbcQGSv.js} +1 -1
  37. package/dist/web/assets/SettingsView-CC5GXaE1.css +1 -0
  38. package/dist/web/assets/SettingsView-QT_OLmDh.js +6 -0
  39. package/dist/web/assets/{TeamChatView-Fj5_yjVE.js → TeamChatView-C4-nG1tC.js} +2 -2
  40. package/dist/web/assets/{TerminalOverlay-D2WBeJvp.js → TerminalOverlay-DnNVrCtu.js} +1 -1
  41. package/dist/web/assets/{TrainingCreationPanel-dYW_dh3M.js → TrainingCreationPanel-CDwwyucO.js} +1 -1
  42. package/dist/web/assets/{TrainingDraftPanel-zeJWmmW6.js → TrainingDraftPanel-BijDnV_0.js} +1 -1
  43. package/dist/web/assets/{UsageSettingsSection-B6SBqYuB.js → UsageSettingsSection-Y5BFAu1p.js} +1 -1
  44. package/dist/web/assets/{WorkSidebarPanel-BwbWKpOZ.js → WorkSidebarPanel-CkJlvZKm.js} +1 -1
  45. package/dist/web/assets/{WorkspaceDiffPanel-D9Kp0vFw.js → WorkspaceDiffPanel-CBgzmBk8.js} +3 -3
  46. package/dist/web/assets/{WorkspaceEnvironmentMenu-D-3YGp06.js → WorkspaceEnvironmentMenu-D8knAy1q.js} +3 -3
  47. package/dist/web/assets/{WorkspaceGitDialogs-BUbzUN4m.js → WorkspaceGitDialogs-_LHTrvh6.js} +1 -1
  48. package/dist/web/assets/{WorkspaceMonacoEditor-CXPY7bBI.js → WorkspaceMonacoEditor-B2B7OM_L.js} +3 -3
  49. package/dist/web/assets/{arrow-up-right-C7VWgGQP.js → arrow-up-right-4nAzMtjW.js} +1 -1
  50. package/dist/web/assets/{chat-file-links-CqfMdhHQ.js → chat-file-links-Bned0MT7.js} +1 -1
  51. package/dist/web/assets/chevron-up-DK7ejCfk.js +1 -0
  52. package/dist/web/assets/{clipboard-B-8k7mlT.js → clipboard-BzjUoZFo.js} +1 -1
  53. package/dist/web/assets/{cloud-upload-CUVFzURz.js → cloud-upload-CsrrwS-b.js} +1 -1
  54. package/dist/web/assets/{cssMode-DYvfmqoL.js → cssMode-CIbSSHKJ.js} +1 -1
  55. package/dist/web/assets/{folder-open-CnbcQIy8.js → folder-open-vRTuLzpS.js} +1 -1
  56. package/dist/web/assets/{folder-plus-BOaLAKy4.js → folder-plus-hyqwgUnx.js} +1 -1
  57. package/dist/web/assets/{git-commit-horizontal-DQeHsooT.js → git-commit-horizontal-CaxKfeYa.js} +1 -1
  58. package/dist/web/assets/{htmlMode-BXEI-BVY.js → htmlMode-C3MGQGam.js} +1 -1
  59. package/dist/web/assets/index-66-ohHD5.js +1 -0
  60. package/dist/web/assets/{index-CGMb_VXm.css → index-ByQIHpc9.css} +1 -1
  61. package/dist/web/assets/{index-D-VK8mST.js → index-Dvq7bpBG.js} +1 -1
  62. package/dist/web/assets/{info-DtzDuGLn.js → info-aYWeE1Iw.js} +1 -1
  63. package/dist/web/assets/{jsonMode-Dosjh_hK.js → jsonMode-CpD6UkT7.js} +1 -1
  64. package/dist/web/assets/{lspLanguageFeatures-BNe-6FJA.js → lspLanguageFeatures-DpcK8ZI6.js} +1 -1
  65. package/dist/web/assets/{minimize-2-DnxKN5oK.js → minimize-2-DeYg7XqB.js} +1 -1
  66. package/dist/web/assets/{monaco.contribution-CnkROzNv.js → monaco.contribution-BDTM0ZJq.js} +2 -2
  67. package/dist/web/assets/{monaco.contribution-CfF-ajhi.js → monaco.contribution-C-_ekTxy.js} +2 -2
  68. package/dist/web/assets/{monaco.contribution-ytyanGyj.js → monaco.contribution-CrrdDQgP.js} +2 -2
  69. package/dist/web/assets/{monaco.contribution-Dyns81H2.js → monaco.contribution-JWFq0HzV.js} +2 -2
  70. package/dist/web/assets/{play-B3o6IAQd.js → play-BqgRTddV.js} +1 -1
  71. package/dist/web/assets/{python-B7zZ_9Z_.js → python-B67wope9.js} +1 -1
  72. package/dist/web/assets/{refresh-cw-DSJZXa8S.js → refresh-cw-DwMA_2On.js} +1 -1
  73. package/dist/web/assets/{save-iC-AXHN6.js → save-B0BKh5oQ.js} +1 -1
  74. package/dist/web/assets/{square-B2roZTxf.js → square-LY3oz82L.js} +1 -1
  75. package/dist/web/assets/{toggleHighContrast-CjlV4YHK.js → toggleHighContrast-B2jka5B1.js} +1 -1
  76. package/dist/web/assets/{tsMode-XmKmSq0B.js → tsMode-1MUwluYD.js} +1 -1
  77. package/dist/web/assets/{upload-BgHXNjfJ.js → upload-bSKSkFVa.js} +1 -1
  78. package/dist/web/assets/{useLocalAgentSchedules-CVJz0AMr.js → useLocalAgentSchedules--jnnM4Fz.js} +1 -1
  79. package/dist/web/assets/{wifi-off-CneL8bDZ.js → wifi-off-DA34iPmr.js} +1 -1
  80. package/dist/web/assets/{workers-CT7VYBR5.js → workers-CczIcRcl.js} +1 -1
  81. package/dist/web/assets/{yaml-CF8jchCz.js → yaml-DwEGoHA9.js} +1 -1
  82. package/dist/web/index.html +2 -2
  83. package/package.json +1 -1
  84. package/dist/web/assets/SettingsView-BRPrJuP5.css +0 -1
  85. package/dist/web/assets/SettingsView-C1xyn1Y4.js +0 -6
  86. package/dist/web/assets/chevron-up-DD9Tei-Q.js +0 -1
  87. package/dist/web/assets/index-D-WCyNdJ.js +0 -1
@@ -1,8 +1,8 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-qOL2zA26.js","./index-D-VK8mST.js","./index-CGMb_VXm.css","./App-DfiCmBv6.js","./chat-file-links-CqfMdhHQ.js","./play-B3o6IAQd.js","./refresh-cw-DSJZXa8S.js","./WorkspaceDiffPanel-D9Kp0vFw.js","./MarkdownText-N60tvLug.js","./desktop-files-BQj1J-ob.js","./training-model-data-CKOkpBBL.js","./folder-open-CnbcQIy8.js","./info-DtzDuGLn.js","./minimize-2-DnxKN5oK.js","./save-iC-AXHN6.js","./clipboard-B-8k7mlT.js","./chevron-up-DD9Tei-Q.js","./AppTerminalPanel-y2bVL2RV.js","./RightSidebarHomePanel-BUcWVJi-.js","./WorkSidebarPanel-BwbWKpOZ.js","./cloud-upload-CUVFzURz.js","./arrow-up-right-C7VWgGQP.js","./square-B2roZTxf.js","./WorkSidebarPanel-Bky_Rqcx.css","./NewExperienceSwitcher-B0zev5Sx.js","./CollaborationTabs-B8mlPhM3.js","./CollaborationTabs-BfVlyLmR.css","./AppsView-Bs9pwD2H.js","./AppsView-CzbB5pXp.css","./GetStartedView-C2ypO0v7.js","./index-D-WCyNdJ.js","./AppDialog-CSXu5wRu.js","./GetStartedView-yVmnGZPw.css","./LabsRoute-Bw-HD6QC.js","./LabsRoute-CGFgymTX.css","./training-eg6uFi3M.css","./ScheduledWorkPage-Bp-t0eVj.js","./useLocalAgentSchedules-CVJz0AMr.js","./OutputsPage-B4zYYUT5.js","./ProjectsPage-97wgc84s.js","./ProjectsPage-DdG-U9ZW.css","./LabSkillSidebar-CRPb4qBn.js","./LabSkillSidebar-CVxtS9pd.css","./BrowserSidebar-CUgT5V1m.js","./BrowserSidebar-D9i7gQzw.css","./RightChatPanelStack-I2znDCc7.js","./Messages-CYQFLElK.js","./NativeSkillSidebar-zbx7WmOk.js","./NativeSkillSidebar-T8KXjnUH.css","./TeamChatView-Fj5_yjVE.js","./TeamChatView-Br3VdxhD.css","./git-dialogs-BZDqS1eT.css","./CommunityView-IHNq-YJz.js","./wifi-off-CneL8bDZ.js","./CommunityView-DaIS0cHw.css","./TrainingDraftPanel-zeJWmmW6.js","./MainChatThread-Cu6_UnNE.js","./TrainingCreationPanel-dYW_dh3M.js"])))=>i.map(i=>d[i]);
2
- import{r as o,j as s,_ as me}from"./index-D-VK8mST.js";import{c as Ue,b as zr,C as ds,a as $s,A as Pn,d as jt,e as Cr,F as Mr,f as hr,g as ia,O as la,h as Rr,B as ca,i as Fs,j as Ir,k as ua,l as da,m as fa,n as ma,o as De,X as fs,p as ha,q as Fr,S as pa,r as Br,s as ga,t as xo,u as xa,G as ba,v as ka,w as Ft,x as Pr,y as In,z as Ur,D as bo,E as va,H as Sa,I as ya,J as wa,K as ja,L as Ca,M as Ma,N as Ea,P as Aa,Q as qr,R as ko,T as Na,U as Ta,V as Ra,W as Ia,Y as Pa,Z as _a,_ as $a,$ as La,a0 as Hr,a1 as Oa,a2 as Da,a3 as za,a4 as Fa,a5 as Ba,a6 as Ua,a7 as qa,a8 as Ha,a9 as Va,aa as Ga,ab as Wa,ac as Xa,ad as Ka,ae as Qa,af as Ja,ag as Ya}from"./App-DfiCmBv6.js";import{C as Za}from"./cloud-upload-CUVFzURz.js";import{P as Ln,T as ei,B as pr,W as gr,D as Vr,a as ti,F as ni,C as si,A as ri,b as vo,r as oi,n as ai}from"./chat-file-links-CqfMdhHQ.js";import{A as ii}from"./arrow-up-right-C7VWgGQP.js";import{S as So}from"./square-B2roZTxf.js";function yo(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const li=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ci=Ue("arrow-down",li);const ui=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],di=Ue("arrow-up",ui);const fi=[["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=Ue("at-sign",fi);const mi=[["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"}]],hi=Ue("badge-check",mi);const pi=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],gi=Ue("ban",pi);const xi=[["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"}]],bi=Ue("cloud-download",xi);const ki=[["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"}]],vi=Ue("file-headphone",ki);const Si=[["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"}]],yi=Ue("file-spreadsheet",Si);const wi=[["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"}]],ji=Ue("file-play",wi);const Ci=[["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"}]],Mi=Ue("image",Ci);const Ei=[["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"}]],Ai=Ue("mic",Ei);const Ni=[["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=Ue("paperclip",Ni);const Ti=[["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"}]],Ri=Ue("presentation",Ti);const Ii=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Pi=Ue("reply",Ii),Xr=Object.freeze({events:[],messages:[]});class _i{projection=Xr;project(t){if(t===this.projection.events)return this.projection.messages;if(!Oi(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=$i(this.projection.messages,n);if(r)return this.projection={events:t,messages:r},r;const a=Li(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),c=new Set(i.flatMap(d=>d.turnId?[d.turnId]:[])),h=[...this.projection.messages.filter(d=>!d.turnId||!c.has(d.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 $i(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(d=>d.name!=="assistant.delta"&&d.name!=="assistant.reasoning.delta"||d.turnId!==n.turnId||!d.output))return null;let r=n.content,a=n.reasoningContent,i=n.timestamp,c=!1,u=!1;for(const d of t)d.name==="assistant.delta"?(r=`${r??""}${d.output}`,c=!0):(a=`${a??""}${d.output}`,u=!0),i=d.timestamp;const h={...n,...c?{content:r}:{},...u?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),h]}function Li(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 Oi(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 Di(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 zi(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 Us(e){return`$${e.name}`}function Fi(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)?"":" ",d=`${u}${Us(n)}${h}`;return{cursor:i.length+d.length-(c?h.length:0),value:`${i}${d}${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=Bi(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)?" ":"",d=`${u}${r}${h}`;return{value:`${i}${d}${c}`,cursorIndex:i.length+u.length+r.length+h.length}}function Bi(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Ui({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 qi(e){return _n.has(e)}function Hi(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 jo(e){_n.get(e)?.controller.abort()}function Vi(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 Gi(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 Wi(e,t,n={}){jo(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 Co({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(""),h=o.useRef(null),d=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:d.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(jt,{size:14}):null]},g.value)})})]}):null]})}function Xi({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(!1),[h,d]=o.useState(""),g=o.useRef(null),m=n.value==="none"?"Select Project":n.label,p=n.options.find(j=>j.value===n.value)?.kind??"local",S=o.useMemo(()=>{const j=h.trim().toLowerCase();return j?n.options.filter(P=>[P.label,P.detail].filter(Boolean).some(b=>b.toLowerCase().includes(j))):n.options},[h,n.options]),v=S.filter(j=>j.kind==="local"||j.kind==="cloud"),T=S.filter(j=>j.kind==="action"),w=S.filter(j=>j.kind==="none");o.useEffect(()=>{if(!a){d(""),u(!1);return}function j(b){g.current?.contains(b.target)||i(!1)}function P(b){b.key==="Escape"&&(c?u(!1):i(!1))}return document.addEventListener("pointerdown",j),document.addEventListener("keydown",P),()=>{document.removeEventListener("pointerdown",j),document.removeEventListener("keydown",P)}},[c,a]);function E(j){const P=j.value===n.value,b=e||j.disabled,_=j.kind==="action";return s.jsxs("button",{type:"button",role:_?"menuitem":"menuitemradio","aria-checked":_?void 0:P,className:`composer-project-option ${P?"selected":""} ${j.kind}`,disabled:b,onClick:()=>{r(j.value),u(!1),i(!1)},children:[s.jsx(Er,{kind:j.kind,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:j.label}),s.jsx("small",{children:j.detail})]}),P&&s.jsx(jt,{size:14})]},j.value)}return s.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:g,children:[s.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${p}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(j=>!j),u(!1)},children:[s.jsx(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:j=>d(j.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)}),T.length>0||w.length>0?s.jsxs("div",{className:"composer-project-actions",children:[T.length>0?s.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${c?"selected":""}`,"aria-haspopup":"menu","aria-expanded":c,onClick:()=>u(j=>!j),children:[s.jsx(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,w.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"})]}),T.map(E)]}):null]})}function Er({kind:e,size:t}){return e==="cloud"?s.jsx(Cr,{size:t}):e==="action"?s.jsx(Ln,{size:t}):s.jsx(Mr,{size:t})}function Ki({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}`,d=n.uploadAction??null,g=d?Qr(d):null,y=d?d.disabled&&d.disabledReason?d.disabledReason:`${d.label}: ${g??d.detail}`:null,m=!!(d&&(e||n.busy||d.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})]}),d?s.jsx("button",{type:"button",className:`workspace-upload-trigger ${d.value}`,disabled:m,"data-tooltip":y??void 0,"aria-label":d.label,onClick:()=>{r(d.value),i(!1)},children:s.jsx(zs,{value:d.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,w=Qr(p)??p.detail,E=p.disabled&&p.disabledReason?p.disabledReason:`${p.label}: ${w}`;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:w})]}),S&&s.jsx(jt,{size:14})]},p.value)})})]})}function Qi({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(Cr,{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(Cr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?s.jsx(Za,{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:d}){const[g,y]=o.useState(!1),[m,p]=o.useState("root"),S=o.useRef(null),v=n.find(b=>b.provider===a),T=v?.options.find(b=>b.value===t),w=hr.find(b=>b.value===i)??hr[1],E=Ji(T?.label??t),j=c?`${E} ${w.shortLabel??w.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:j}),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:T?.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:w.shortLabel??w.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(jt,{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(jt,{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:()=>{d(b.value),p("root")},children:[s.jsx("span",{children:b.label}),b.value===i?s.jsx(jt,{size:14}):null]},b.value))]})})]})}function Ji(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function Yi({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 Zi(){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 Mo(e,t={}){const n=t.now??new Date().toISOString();return{createdAt:n,id:t.id??Zi(),prompt:e,updatedAt:n}}function Eo(e,t){return e.filter(n=>n.id!==t)}function el(e,t,n){const r=n?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Mo(r)]:[])}function tl(e,t,n){return n?Eo(e,t):e}function Ar(e,t,n=[]){return e[t]??n}function nl(e,t,n,r=[]){const a=Ar(e,t,r),i=n(a);return Object.is(a,i)?e:{...e,[t]:i}}function sl({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(Pi,{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(ii,{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(ei,{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 rl=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,ol=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,al=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"]),il=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function ll(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function cl(e){return e==="github"?al:il}function Ao(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;ul(t);)t=t.slice(0,-1);return t}function ul(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 dl(e){return e.replace(/\.git$/i,"")}function No(e){try{return decodeURIComponent(e)}catch{return e}}function fl(e){return dl(No(e.trim()))}function To(e){const t=e.host.toLowerCase().replace(/^www\./,""),n=ll(t);if(!n)return null;const r=No(e.owner?.trim()??""),a=fl(e.repo??"");return!r||!a||cl(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 ml(e,t){const n=Ao(e);if(!n)return null;try{const r=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),a=r.pathname.split("/").filter(Boolean);return To({end:t+n.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:n})}catch{return null}}function hl(e,t){const n=Ao(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return To({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 pl(e){if(!e)return[];const t=[...Yr(e,rl,ml),...Yr(e,ol,hl)].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 gl=10,xl=340,bl=320,kl=160,vl=56;function wt(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=wt(t.fontSize,16),r=wt(t.lineHeight,n*1.45),a=wt(t.paddingTop)+wt(t.paddingBottom),i=wt(t.borderTopWidth)+wt(t.borderBottomWidth),c=wt(t.minHeight,66),u=Math.max(c,Math.ceil(r*gl+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=wt(a.paddingLeft,14),c=wt(a.paddingTop,15),u=Math.max(0,r.width-16),h=Math.min(xl,u),d=n.left-r.left+i-8,g=Math.max(8,Math.min(d,r.width-h-8)),y=Math.max(8,n.top-r.top+c+2);return{left:g,top:y,width:h}}function Sl(e){const t=e.getBoundingClientRect(),n=Math.floor(t.top-vl);return{maxHeight:Math.max(kl,Math.min(bl,n))}}const yl="[data-inline-token='true']",wl="[data-inline-repo-link='true']",jl="[data-inline-connected-app-mention='true']";function ls(e){return e instanceof HTMLElement&&e.matches(yl)}function cs(e){return e instanceof HTMLElement&&e.matches(wl)}function us(e){return e instanceof HTMLElement&&e.matches(jl)}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 Cl(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 Ro(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 Ml(e,t){Ro(e,{anchor:t,focus:t})}function no(e){document.execCommand("insertText",!1,e)}function El(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 Al(){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=El(e.icon),n.append(r),n.insertAdjacentHTML("beforeend",Al());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(n,a),t}function Nl(e){return e.provider==="github"?Rr("github"):la}function Tl(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=Nl(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 Rl(e){return Rr(e)}function Il(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=Rl(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 Pl(e,t){const n=pl(e);return t===null?n:n.filter(r=>t<=r.start||t>=r.end)}function _l(e,t,n){const r=ia(e,t);return n===null?r:r.filter(a=>n<=a.start||n>=a.end)}function Io(e,t,n){const r=[...Pl(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),..._l(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 $l(e,t,n){return Io(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 Ll(e,t,n,r){const a=$n(n,t),i=Io(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 d=0;for(const g of i)h(d,g.start),g.kind==="repo"?e.append(Tl(g.link)):e.append(Il(g.mention)),d=g.end;h(d,t.length),n&&!c&&e.append(so(n))}const Ol=o.forwardRef(function({connectedAppMentions:t=[],disabled:n,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:u,onTokenPositionChange:h,placeholder:d,prompt:g,token:y},m){const p=o.useRef(null),v=`${y?`${y.key}:${$n(y,g)??0}`:"none"}|${$l(g,$n(y,g),t)}`,T=o.useRef(null),w=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=Cl(b,y,g,_?.afterToken);z.focus(),Ml(z,V),br(z)},resize(){br(p.current)}}),[g,y]),o.useLayoutEffect(()=>{const b=p.current;if(!b)return;const _=T.current!==v;T.current=v;const z=vr(b);if(_||g===""||z.text!==g||z.tokenPosition!==$n(y,g)){const F=document.activeElement===b?Sr(b):null;Ll(b,g,y,t),b.dataset.empty=g.length===0&&!y?"true":"false",F&&Ro(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 j(){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":w?"true":"false","data-placeholder":d,onBeforeInput:b=>{b.nativeEvent.inputType==="insertParagraph"&&(b.preventDefault(),no(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ComposerCreateImproveStrip-BGzCWVFp.js","./index-Dvq7bpBG.js","./index-ByQIHpc9.css","./App-BOkhmdHu.js","./chat-file-links-Bned0MT7.js","./play-BqgRTddV.js","./refresh-cw-DwMA_2On.js","./WorkspaceDiffPanel-CBgzmBk8.js","./MarkdownText-DqJarmTh.js","./desktop-files-BQj1J-ob.js","./training-model-data-CKOkpBBL.js","./folder-open-vRTuLzpS.js","./info-aYWeE1Iw.js","./minimize-2-DeYg7XqB.js","./save-B0BKh5oQ.js","./clipboard-BzjUoZFo.js","./chevron-up-DK7ejCfk.js","./AppTerminalPanel-DRU8GIfy.js","./RightSidebarHomePanel-DTzfuEX3.js","./WorkSidebarPanel-CkJlvZKm.js","./cloud-upload-CsrrwS-b.js","./arrow-up-right-4nAzMtjW.js","./square-LY3oz82L.js","./WorkSidebarPanel-Bky_Rqcx.css","./NewExperienceSwitcher-CLHuGUN5.js","./CollaborationTabs-BOb9PjvS.js","./CollaborationTabs-BfVlyLmR.css","./AppsView-Ck_OzQWf.js","./AppsView-CzbB5pXp.css","./GetStartedView-jEogFjxP.js","./index-66-ohHD5.js","./AppDialog-BCjKFUBn.js","./GetStartedView-yVmnGZPw.css","./LabsRoute-9v8qwEBc.js","./LabsRoute-CGFgymTX.css","./training-eg6uFi3M.css","./ScheduledWorkPage-DdbcQGSv.js","./useLocalAgentSchedules--jnnM4Fz.js","./OutputsPage-DIzx-Ge6.js","./ProjectsPage-DojwrhOy.js","./ProjectsPage-DdG-U9ZW.css","./LabSkillSidebar-C5oS6UmH.js","./LabSkillSidebar-CVxtS9pd.css","./BrowserSidebar-CqciX8aL.js","./BrowserSidebar-D9i7gQzw.css","./RightChatPanelStack-CIE5bgmO.js","./Messages-BaT7HOzB.js","./NativeSkillSidebar-DXp8snN5.js","./NativeSkillSidebar-T8KXjnUH.css","./TeamChatView-C4-nG1tC.js","./TeamChatView-Br3VdxhD.css","./git-dialogs-BZDqS1eT.css","./CommunityView-BbTSeL7h.js","./wifi-off-DA34iPmr.js","./CommunityView-DaIS0cHw.css","./TrainingDraftPanel-BijDnV_0.js","./MainChatThread-VtMpAxlP.js","./TrainingCreationPanel-CDwwyucO.js"])))=>i.map(i=>d[i]);
2
+ import{r as o,j as s,_ as me}from"./index-Dvq7bpBG.js";import{c as Ue,b as zr,C as ds,a as $s,A as Pn,d as jt,e as Cr,F as Mr,f as hr,g as ia,O as la,h as Rr,B as ca,i as Fs,j as Ir,k as ua,l as da,m as fa,n as ma,o as De,X as fs,p as ha,q as Fr,S as pa,r as Br,s as ga,t as xo,u as xa,G as ba,v as ka,w as Ft,x as Pr,y as In,z as Ur,D as bo,E as va,H as Sa,I as ya,J as wa,K as ja,L as Ca,M as Ma,N as Ea,P as Aa,Q as qr,R as ko,T as Na,U as Ta,V as Ra,W as Ia,Y as Pa,Z as _a,_ as $a,$ as La,a0 as Hr,a1 as Oa,a2 as Da,a3 as za,a4 as Fa,a5 as Ba,a6 as Ua,a7 as qa,a8 as Ha,a9 as Va,aa as Ga,ab as Wa,ac as Xa,ad as Ka,ae as Qa,af as Ja,ag as Ya}from"./App-BOkhmdHu.js";import{C as Za}from"./cloud-upload-CsrrwS-b.js";import{P as Ln,T as ei,B as pr,W as gr,D as Vr,a as ti,F as ni,C as si,A as ri,b as vo,r as oi,n as ai}from"./chat-file-links-Bned0MT7.js";import{A as ii}from"./arrow-up-right-4nAzMtjW.js";import{S as So}from"./square-LY3oz82L.js";function yo(e){return e?(e.match(/\r\n|\r|\n/g)?.length??0)+(/(?:\r\n|\r|\n)$/.test(e)?0:1):0}const li=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],ci=Ue("arrow-down",li);const ui=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],di=Ue("arrow-up",ui);const fi=[["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=Ue("at-sign",fi);const mi=[["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"}]],hi=Ue("badge-check",mi);const pi=[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],gi=Ue("ban",pi);const xi=[["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"}]],bi=Ue("cloud-download",xi);const ki=[["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"}]],vi=Ue("file-headphone",ki);const Si=[["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"}]],yi=Ue("file-spreadsheet",Si);const wi=[["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"}]],ji=Ue("file-play",wi);const Ci=[["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"}]],Mi=Ue("image",Ci);const Ei=[["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"}]],Ai=Ue("mic",Ei);const Ni=[["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=Ue("paperclip",Ni);const Ti=[["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"}]],Ri=Ue("presentation",Ti);const Ii=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Pi=Ue("reply",Ii),Xr=Object.freeze({events:[],messages:[]});class _i{projection=Xr;project(t){if(t===this.projection.events)return this.projection.messages;if(!Oi(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=$i(this.projection.messages,n);if(r)return this.projection={events:t,messages:r},r;const a=Li(t,this.projection.events.length);if(!a)return this.replace(t);const i=t.slice(a.eventIndex),c=new Set(i.flatMap(d=>d.turnId?[d.turnId]:[])),h=[...this.projection.messages.filter(d=>!d.turnId||!c.has(d.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 $i(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(d=>d.name!=="assistant.delta"&&d.name!=="assistant.reasoning.delta"||d.turnId!==n.turnId||!d.output))return null;let r=n.content,a=n.reasoningContent,i=n.timestamp,c=!1,u=!1;for(const d of t)d.name==="assistant.delta"?(r=`${r??""}${d.output}`,c=!0):(a=`${a??""}${d.output}`,u=!0),i=d.timestamp;const h={...n,...c?{content:r}:{},...u?{reasoningContent:a}:{},timestamp:i};return[...e.slice(0,-1),h]}function Li(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 Oi(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 Di(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 zi(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 Us(e){return`$${e.name}`}function Fi(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)?"":" ",d=`${u}${Us(n)}${h}`;return{cursor:i.length+d.length-(c?h.length:0),value:`${i}${d}${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=Bi(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)?" ":"",d=`${u}${r}${h}`;return{value:`${i}${d}${c}`,cursorIndex:i.length+u.length+r.length+h.length}}function Bi(e,t){return Number.isFinite(e)?Math.max(0,Math.min(t,Math.round(e))):t}async function Ui({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 qi(e){return _n.has(e)}function Hi(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 jo(e){_n.get(e)?.controller.abort()}function Vi(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 Gi(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 Wi(e,t,n={}){jo(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 Co({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(""),h=o.useRef(null),d=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:d.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(jt,{size:14}):null]},g.value)})})]}):null]})}function Xi({busy:e,placement:t,state:n,onChange:r}){const[a,i]=o.useState(!1),[c,u]=o.useState(!1),[h,d]=o.useState(""),g=o.useRef(null),m=n.value==="none"?"Select Project":n.label,p=n.options.find(j=>j.value===n.value)?.kind??"local",S=o.useMemo(()=>{const j=h.trim().toLowerCase();return j?n.options.filter(P=>[P.label,P.detail].filter(Boolean).some(b=>b.toLowerCase().includes(j))):n.options},[h,n.options]),v=S.filter(j=>j.kind==="local"||j.kind==="cloud"),T=S.filter(j=>j.kind==="action"),w=S.filter(j=>j.kind==="none");o.useEffect(()=>{if(!a){d(""),u(!1);return}function j(b){g.current?.contains(b.target)||i(!1)}function P(b){b.key==="Escape"&&(c?u(!1):i(!1))}return document.addEventListener("pointerdown",j),document.addEventListener("keydown",P),()=>{document.removeEventListener("pointerdown",j),document.removeEventListener("keydown",P)}},[c,a]);function E(j){const P=j.value===n.value,b=e||j.disabled,_=j.kind==="action";return s.jsxs("button",{type:"button",role:_?"menuitem":"menuitemradio","aria-checked":_?void 0:P,className:`composer-project-option ${P?"selected":""} ${j.kind}`,disabled:b,onClick:()=>{r(j.value),u(!1),i(!1)},children:[s.jsx(Er,{kind:j.kind,size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:j.label}),s.jsx("small",{children:j.detail})]}),P&&s.jsx(jt,{size:14})]},j.value)}return s.jsxs("div",{className:`composer-project-target ${t==="top"?"open-up":""}`,ref:g,children:[s.jsxs("button",{type:"button",className:`composer-project-trigger ${a?"active":""} ${p}`,disabled:e,"aria-label":"Project","aria-haspopup":"menu","aria-expanded":a,onClick:()=>{i(j=>!j),u(!1)},children:[s.jsx(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:j=>d(j.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)}),T.length>0||w.length>0?s.jsxs("div",{className:"composer-project-actions",children:[T.length>0?s.jsxs("button",{type:"button",role:"menuitem",className:`composer-project-option action composer-project-new-trigger ${c?"selected":""}`,"aria-haspopup":"menu","aria-expanded":c,onClick:()=>u(j=>!j),children:[s.jsx(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,w.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"})]}),T.map(E)]}):null]})}function Er({kind:e,size:t}){return e==="cloud"?s.jsx(Cr,{size:t}):e==="action"?s.jsx(Ln,{size:t}):s.jsx(Mr,{size:t})}function Ki({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}`,d=n.uploadAction??null,g=d?Qr(d):null,y=d?d.disabled&&d.disabledReason?d.disabledReason:`${d.label}: ${g??d.detail}`:null,m=!!(d&&(e||n.busy||d.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})]}),d?s.jsx("button",{type:"button",className:`workspace-upload-trigger ${d.value}`,disabled:m,"data-tooltip":y??void 0,"aria-label":d.label,onClick:()=>{r(d.value),i(!1)},children:s.jsx(zs,{value:d.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,w=Qr(p)??p.detail,E=p.disabled&&p.disabledReason?p.disabledReason:`${p.label}: ${w}`;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:w})]}),S&&s.jsx(jt,{size:14})]},p.value)})})]})}function Qi({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(Cr,{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(Cr,{className:"hybrid-cloud",size:Math.max(7,Math.round(t*.62))})]}):e==="upload_cloud"?s.jsx(Za,{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:d}){const[g,y]=o.useState(!1),[m,p]=o.useState("root"),S=o.useRef(null),v=n.find(b=>b.provider===a),T=v?.options.find(b=>b.value===t),w=hr.find(b=>b.value===i)??hr[1],E=Ji(T?.label??t),j=c?`${E} ${w.shortLabel??w.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:j}),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:T?.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:w.shortLabel??w.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(jt,{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(jt,{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:()=>{d(b.value),p("root")},children:[s.jsx("span",{children:b.label}),b.value===i?s.jsx(jt,{size:14}):null]},b.value))]})})]})}function Ji(e){return e.replace(/^GPT-/,"").replace(/\s+Codex Spark$/," Spark").replace(/\s+Codex$/," Codex")}function Yi({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 Zi(){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 Mo(e,t={}){const n=t.now??new Date().toISOString();return{createdAt:n,id:t.id??Zi(),prompt:e,updatedAt:n}}function Eo(e,t){return e.filter(n=>n.id!==t)}function el(e,t,n){const r=n?.trim();return e.flatMap(a=>a.id!==t?[a]:r?[Mo(r)]:[])}function tl(e,t,n){return n?Eo(e,t):e}function Ar(e,t,n=[]){return e[t]??n}function nl(e,t,n,r=[]){const a=Ar(e,t,r),i=n(a);return Object.is(a,i)?e:{...e,[t]:i}}function sl({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(Pi,{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(ii,{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(ei,{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 rl=/\b(?:https?:\/\/)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai)\/[^\s<>"'`]+/gi,ol=/\b(?:git@)?(?:github\.com|(?:[a-z0-9-]+\.)*openpond\.ai):[^\s<>"'`]+/gi,al=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"]),il=new Set(["account","api","dashboard","docs","install.sh","login","logout","opchat","sandboxes","settings"]);function ll(e){const t=e.toLowerCase().replace(/^www\./,"");return t==="github.com"?"github":t==="openpond.ai"||t.endsWith(".openpond.ai")?"openpond":null}function cl(e){return e==="github"?al:il}function Ao(e){let t=e;for(;/[.,;!?]$/.test(t);)t=t.slice(0,-1);for(;ul(t);)t=t.slice(0,-1);return t}function ul(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 dl(e){return e.replace(/\.git$/i,"")}function No(e){try{return decodeURIComponent(e)}catch{return e}}function fl(e){return dl(No(e.trim()))}function To(e){const t=e.host.toLowerCase().replace(/^www\./,""),n=ll(t);if(!n)return null;const r=No(e.owner?.trim()??""),a=fl(e.repo??"");return!r||!a||cl(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 ml(e,t){const n=Ao(e);if(!n)return null;try{const r=new URL(/^https?:\/\//i.test(n)?n:`https://${n}`),a=r.pathname.split("/").filter(Boolean);return To({end:t+n.length,host:r.hostname,owner:a[0],repo:a[1],start:t,url:n})}catch{return null}}function hl(e,t){const n=Ao(e),r=/^(?:git@)?([^:]+):(.+)$/i.exec(n);if(!r)return null;const a=r[1]?.trim()??"",i=(r[2]??"").split("/").filter(Boolean);return To({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 pl(e){if(!e)return[];const t=[...Yr(e,rl,ml),...Yr(e,ol,hl)].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 gl=10,xl=340,bl=320,kl=160,vl=56;function wt(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=wt(t.fontSize,16),r=wt(t.lineHeight,n*1.45),a=wt(t.paddingTop)+wt(t.paddingBottom),i=wt(t.borderTopWidth)+wt(t.borderBottomWidth),c=wt(t.minHeight,66),u=Math.max(c,Math.ceil(r*gl+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=wt(a.paddingLeft,14),c=wt(a.paddingTop,15),u=Math.max(0,r.width-16),h=Math.min(xl,u),d=n.left-r.left+i-8,g=Math.max(8,Math.min(d,r.width-h-8)),y=Math.max(8,n.top-r.top+c+2);return{left:g,top:y,width:h}}function Sl(e){const t=e.getBoundingClientRect(),n=Math.floor(t.top-vl);return{maxHeight:Math.max(kl,Math.min(bl,n))}}const yl="[data-inline-token='true']",wl="[data-inline-repo-link='true']",jl="[data-inline-connected-app-mention='true']";function ls(e){return e instanceof HTMLElement&&e.matches(yl)}function cs(e){return e instanceof HTMLElement&&e.matches(wl)}function us(e){return e instanceof HTMLElement&&e.matches(jl)}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 Cl(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 Ro(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 Ml(e,t){Ro(e,{anchor:t,focus:t})}function no(e){document.execCommand("insertText",!1,e)}function El(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 Al(){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=El(e.icon),n.append(r),n.insertAdjacentHTML("beforeend",Al());const a=document.createElement("span");return a.className="composer-invocation-label",a.textContent=e.label,t.append(n,a),t}function Nl(e){return e.provider==="github"?Rr("github"):la}function Tl(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=Nl(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 Rl(e){return Rr(e)}function Il(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=Rl(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 Pl(e,t){const n=pl(e);return t===null?n:n.filter(r=>t<=r.start||t>=r.end)}function _l(e,t,n){const r=ia(e,t);return n===null?r:r.filter(a=>n<=a.start||n>=a.end)}function Io(e,t,n){const r=[...Pl(e,t).map(c=>({end:c.end,kind:"repo",link:c,start:c.start})),..._l(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 $l(e,t,n){return Io(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 Ll(e,t,n,r){const a=$n(n,t),i=Io(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 d=0;for(const g of i)h(d,g.start),g.kind==="repo"?e.append(Tl(g.link)):e.append(Il(g.mention)),d=g.end;h(d,t.length),n&&!c&&e.append(so(n))}const Ol=o.forwardRef(function({connectedAppMentions:t=[],disabled:n,onCursorChange:r,onKeyDown:a,onPasteFiles:i,onPasteTextAsAttachment:c,onPromptChange:u,onTokenPositionChange:h,placeholder:d,prompt:g,token:y},m){const p=o.useRef(null),v=`${y?`${y.key}:${$n(y,g)??0}`:"none"}|${$l(g,$n(y,g),t)}`,T=o.useRef(null),w=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=Cl(b,y,g,_?.afterToken);z.focus(),Ml(z,V),br(z)},resize(){br(p.current)}}),[g,y]),o.useLayoutEffect(()=>{const b=p.current;if(!b)return;const _=T.current!==v;T.current=v;const z=vr(b);if(_||g===""||z.text!==g||z.tokenPosition!==$n(y,g)){const F=document.activeElement===b?Sr(b):null;Ll(b,g,y,t),b.dataset.empty=g.length===0&&!y?"true":"false",F&&Ro(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 j(){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":w?"true":"false","data-placeholder":d,onBeforeInput:b=>{b.nativeEvent.inputType==="insertParagraph"&&(b.preventDefault(),no(`
3
3
  `),j())},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),j()))}})});function Dl(e){if(!e.saving){if(!e.prompt.trim()){e.showInfo("Add task instructions before saving a draft.");return}if(e.attachmentsCount>0){e.showInfo("Task drafts currently save instructions only. Remove attachments before saving.");return}if(e.hasSelectedInvocation){e.showInfo("Finish or remove the selected command before saving this task draft.");return}e.setSaving(!0),e.onSave(e.prompt).then(t=>{t&&e.onSaved()}).finally(()=>e.setSaving(!1))}}function zl(e,t,n,r,a,i,c){return e==="Enter"&&(t||n)&&!r&&a==="work"&&i==="chat"&&c}function Fl(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 Bl(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 Ul(e){return e.kind==="command"?`${e.command.command} ${e.command.label}`:e.kind==="app-context"?e.app.name:e.kind==="skill"?Us(e.skill):Ir(e.action)}function ql(e){return e.kind==="command"?da(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||fa(e.action)}function Hl(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 Vl(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"?Us(e.skill):ua(e.action)}function Gl(e){if(e.kind==="action")return ma(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 Wl(e){return e.kind==="files"?"files":e.kind==="folder"?"folder":e.kind==="slash"?`slash:${Bl(e.item)}`:`mention:${Hl(e.item)}`}function Po(e){return e.kind==="files"?"Files and folders":e.kind==="folder"?"Local folder":e.kind==="slash"?Ul(e.item):Vl(e.item)}function _o(e){return e.kind==="files"?"Attach images, documents, or other files":e.kind==="folder"?"Share a bounded folder as Work input":e.kind==="slash"?ql(e.item):Gl(e.item)}function Xl(e,t){const n=t.toLowerCase().split(/\s+/).filter(Boolean);if(n.length===0)return!0;const r=`${Po(e)} ${_o(e)}`.toLowerCase();return n.every(a=>r.includes(a))}function Kl(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(d=>Xl(d,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 Ql(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(ca,{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 Jl(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:d}){const g=o.useRef(null),y=u.reduce((p,S)=>p+S.items.length,0);o.useEffect(()=>{if(d==="add"&&r===0){const p=g.current?.closest(".composer-command-menu");p&&(p.scrollTop=0);return}g.current?.scrollIntoView({block:"nearest"})},[y,r,d]);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-${d}`.trim(),role:d==="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,T)=>{const w=S+T,E=w===r;return s.jsxs("button",{type:"button",role:d==="add"?"menuitem":"option",ref:E?g:void 0,"aria-selected":d==="typed"?E:void 0,className:`composer-project-option ${E?"selected":""} composer-command-option`,"data-app-context-id":Jl(v),onFocus:()=>c(w),onMouseEnter:()=>c(w),onMouseDown:j=>{j.preventDefault()},onClick:()=>i(v),children:[Ql(v),s.jsxs("span",{children:[s.jsx("strong",{children:Po(v)}),s.jsx("small",{children:_o(v)})]}),d==="typed"&&E?s.jsx(jt,{size:14}):s.jsx("span",{"aria-hidden":"true"})]},Wl(v))}):s.jsx("div",{className:"composer-menu-empty",children:p.emptyLabel??"No items available"})]},p.id)})})}function Yl({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 $o(){return!!(navigator.mediaDevices&&typeof AudioContext<"u")}async function Zl(e={}){if(!$o())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?.(ec(h))},r.connect(a),a.connect(i),i.connect(n.destination),{stop:()=>oo(c,!0),cancel:()=>oo(c,!1).then(()=>{})}}function ec(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=tc(e.chunks);if(r.length===0)throw new Error("No microphone audio was captured.");return{blob:nc(r,e.audioContext.sampleRate),durationMs:n,sampleRate:e.audioContext.sampleRate}}function tc(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 nc(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 d=Math.max(-1,Math.min(1,h));c.setInt16(u,d<0?d*32768:d*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,Lo=Array.from({length:Nr},()=>0);function os(){return[...Lo]}function sc(e,t){return[...e.slice(-95),Math.max(0,Math.min(1,t))]}function rc({levels:e}){const t=o.useMemo(()=>e.length>=Nr?e.slice(-Nr):[...Lo.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 oc=12e4,Oo="openpond.voice.setupNoticeAcknowledged",ac="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:d}){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),T=o.useRef(lc());m.current=e,p.current=r;const[w,E]=o.useState("idle"),[j,P]=o.useState(null),[b,_]=o.useState(os),z=o.useCallback(ae=>Hi(d,ae),[d]),V=o.useCallback(()=>qi(d),[d]),F=o.useSyncExternalStore(z,V,V),se=F,xe=w==="starting",be=w==="recording",$e=be||F,ce=xe||$e;S.current=w;const X=o.useCallback(()=>{y.current!==null&&(window.clearTimeout(y.current),y.current=null)},[]),Ce=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 ic(ae.blob),durationMs:Math.round(ae.durationMs),language:i,mimeType:"audio/wav"},{signal:re});re.aborted||Promise.resolve(h(oe.text,{submit:ke()})).catch(C=>{u(yr(C),"error")})},[i,h,u]),Me=o.useCallback(()=>{jo(d),P(null),_(os())},[d]),W=o.useCallback(async(ae=!1)=>{X();const re=g.current;g.current=null,re&&(E("idle"),P(null),_(os()),Wi(d,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,d]),K=o.useCallback(async()=>{if(p.current)return;if(!m.current){P("Voice input is still connecting.");return}if(!$o()){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 Zl({onAudioLevel:ue=>{_(D=>sc(D,ue))}});if(g.current=ke,_(os()),E("recording"),v.current){v.current=!1,W(!0);return}y.current=window.setTimeout(()=>{W(!1)},oc)}catch(re){P(yr(re)),await Ce()}},[Ce,W]),I=o.useCallback(()=>{if(T.current){K();return}u(ac,"info",{actionLabel:"Continue",persistent:!0,onAction:()=>{T.current=!0,cc(),K()}})},[K,u]);return o.useEffect(()=>Vi(d,()=>g.current?(W(!0),!0):S.current==="starting"?(v.current=!0,!0):!1),[W,d]),o.useEffect(()=>{c?.(ce)},[ce,c]),o.useEffect(()=>()=>c?.(!1),[c]),o.useEffect(()=>{if(!j||be||se)return;const ae=window.setTimeout(()=>P(null),7e3);return()=>window.clearTimeout(ae)},[se,j,be]),o.useEffect(()=>()=>{Ce()},[Ce]),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():Ce()},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(rc,{levels:b}),s.jsx("button",{type:"button",className:"voice-recording-action stop","aria-label":"Stop and transcribe",onClick:()=>{W(!1)},children:s.jsx(So,{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(Ai,{size:a})}),j&&!$e?s.jsx("span",{className:"voice-input-status",role:"status",children:j}):null]})}async function ic(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 lc(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(Oo)==="true"}catch{return!1}}function cc(){if(!(typeof window>"u"))try{window.localStorage.setItem(Oo,"true")}catch{}}const uc=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible","setup-provider"]);function dc({surface:e="chat",teamUseModel:t=!1,teamUseModelLocked:n=!1,onTeamUseModelChange:r,addFiles:a,addMenuId:i,addMenuOpen:c,addMenuRef:u,busy:h,codexPermissionMode:d,codexReasoningEffort:g,connection:y,contextStatusStyle:m,contextStatusTooltipId:p,contextWindowStatus:S,disabled:v,dropdownPlacement:T,fileInputRef:w,modelValue:E,modelOptions:j=[],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:Ce,onToggleAddMenu:ye,onTranscript:Me,voiceInputChannelKey:W,provider:K,providerSettings:I,providerOptions:ae,running:re,sendDisabled:ke,sendTooltip:ue,showToast:D,stopIcon:oe="stop",stopLabel:C="Stop response"}){const[$,L]=o.useState(!1),qe=ha(K,E,I),Te=o.useMemo(()=>fc({currentModelOptions:j,currentProvider:K,providerOptions:ae,providerSettings:I}),[j,K,ae,I]),et=o.useMemo(()=>Te.filter(O=>uc.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:w,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:T,provider:K,reasoningEffort:g,showReasoning:qe,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(io,{running:re,sendDisabled:ke,sendTooltip:ue,stopIcon:oe,stopLabel:C,voiceInputActive:$,onSend:X,onStop:Ce})]}):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:w,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(Vr,{compact:!0,className:"permission-select",icon:s.jsx(pa,{size:14}),placement:T,label:"Codex permissions",tooltip:Fr.find(O=>O.value===d)?.label,value:d,options:Fr,disabled:h,onChange:O=>z(O)}):b?s.jsx(Vr,{compact:!0,className:"permission-select",icon:s.jsx(ga,{size:14}),placement:T,label:"Command access",tooltip:Br.find(O=>O.value===(P==="disabled"?"ask":P))?.label,value:P==="disabled"?"ask":P,options:Br,disabled:h,onChange:O=>F(O)}):null,_&&se?s.jsx(Co,{busy:h,placement:T,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:T,provider:K,reasoningEffort:g,showReasoning:qe,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(io,{running:re,sendDisabled:ke,sendTooltip:ue,stopIcon:oe,stopLabel:C,voiceInputActive:$,onSend:X,onStop:Ce})]})}function io({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(ti,{size:15}):s.jsx(So,{size:13,fill:"currentColor"}):s.jsx(di,{size:18})})}function fc({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:xo(i,r);return c.length>0?[{provider:i,label:a.label,defaultModel:xa(i,r),options:c}]:[]})}function mc(e){return e.description||e.path}function hc({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:d=>{d.preventDefault(),t(c)},children:[s.jsx(Fs,{size:14}),s.jsxs("span",{children:[s.jsx("strong",{children:Us(c)}),s.jsx("small",{children:mc(c)})]}),h?s.jsx(jt,{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 pc({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 gc({busy:e,initialDescription:t,open:n,onClose:r,onSubmit:a}){const[i,c]=o.useState(""),[u,h]=o.useState(()=>t.trim()),d=i.trim(),g=u.trim(),y=e||!d||!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:d,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(ba,{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:ka})]}),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 xc=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"]),bc=new Set(["csv","ods","tsv","xls","xlsm","xlsx"]),kc=new Set(["7z","bz2","gz","rar","tar","tgz","xz","zip"]),vc=new Set(["doc","docx","epub","md","odt","pdf","rtf","txt"]),Sc=new Set(["key","odp","ppt","pptx"]);function Do(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":bc.has(n)||t.includes("spreadsheet")||t.includes("excel")?"spreadsheet":kc.has(n)||t.includes("zip")||t.includes("compressed")?"archive":Sc.has(n)||t.includes("presentation")||t.includes("powerpoint")?"presentation":xc.has(n)?"code":e.kind==="text"||vc.has(n)||t.startsWith("text/")||t==="application/pdf"||t.includes("document")||t.includes("msword")?"document":"file"}function yc(e){if(e.mediaType.toLowerCase()==="application/pdf")return"PDF";const t=Do(e);return t==="spreadsheet"?"Spreadsheet":t.charAt(0).toUpperCase()+t.slice(1)}function wc(e){return`${e.toLocaleString()} ${e===1?"line":"lines"}`}const jc={archive:ri,audio:vi,code:si,document:Fs,file:ni,image:Mi,presentation:Ri,spreadsheet:yi,video:ji};function Cc({attachment:e,...t}){const n=jc[Do(e)];return s.jsx(n,{...t})}const Mc=new Set(["csv","css","html","js","json","jsx","log","md","mdx","py","sql","svg","ts","tsx","txt","xml","yaml","yml"]),Ec=2e3,Ac=/^Pasted text(?: (\d+))?\.txt$/;function Nc(e,t){if(e.length<Ec)return null;const n=new Set;for(const i of t){const c=Ac.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 Tc({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(yo(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(Cc,{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):yc(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 Rc(){return globalThis.crypto?.randomUUID?.()??`attachment-${Date.now()}-${Math.random().toString(36).slice(2)}`}function Ic(e){if(e.type.startsWith("image/"))return"image";if(e.type.startsWith("text/"))return"text";const t=e.name.split(".").pop()?.toLowerCase()??"";return Mc.has(t)?"text":"file"}async function Pc(e){const[t,n]=await Promise.all([$c(e.file),e.kind==="text"?Lc(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:yo(n)}:{},...e.relativePath?{relativePath:e.relativePath}:{},contentsBase64:t,...n?{text:Oc(n)}:{}}}function _c(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 $c(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 Lc(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 Oc(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 Dc(){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,T=0;for(const w of m){if(w.size>Ft.maxAttachmentBytes){v+=1;continue}if(S.length>=p){T+=1;continue}const E="webkitRelativePath"in w&&typeof w.webkitRelativePath=="string"&&w.webkitRelativePath.trim()?w.webkitRelativePath.trim():void 0;S.push({id:Rc(),file:w,name:w.name||"Untitled file",mediaType:w.type||"application/octet-stream",sizeBytes:w.size,kind:Ic(w),...E?{relativePath:E}:{},...w.type.startsWith("image/")?{previewUrl:URL.createObjectURL(w)}:{}})}if(S.length>0&&(a([...r,...S]),c(null)),v>0||T>0){const w=[];v>0&&w.push(`${v} file${v===1?"":"s"} exceeded ${_c(Ft.maxAttachmentBytes)}`),T>0&&w.push(`maximum ${Ft.maxAttachments} attachments`),c(w.join("; "))}},[r]),h=o.useCallback(m=>{a(p=>{const S=p.find(T=>T.id===m);S&&as(S);const v=p.filter(T=>T.id!==m);return v.length===0&&c(null),v})},[]),d=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 T=new Set(v.map(E=>E.id)),w=[...m.filter(E=>!T.has(E.id)),...v];return e.current=w,w});return}for(const v of m)as(v)},[]);return{attachmentError:i,attachments:r,addFiles:u,clearAttachments:d,removeAttachment:h,settleStagedAttachments:y,setAttachmentError:c,stageAttachmentsForSubmit:g}}function as(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function zc(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 Fc(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 Bc(e,t=Pr){return Sa({commands:t,prompt:`/${e}`})}function lo(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 co(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name,n.description??"",n.gitRepo??"",bo(n)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function uo({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):"",bo(m)].some(S=>S.includes(u)):!0).map(m=>({kind:"app",app:m})),d=Ur(e,u,e.length).map(m=>({kind:"action",action:m})),g=Ls(r,u).map(m=>({kind:"skill",skill:m})),y=va(t,u).map(m=>({kind:"connected-app",app:m}));return[...d,...g,...h,...y]}function Uc(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 qc(e){const t=In(Ir(e)||e.name||e.id);return t?`@${t}`:null}function Hc(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])=>`${zo(a)}: ${Tr(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function zo(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])=>`${zo(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 Vc({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;const a=n?.trim(),i=a?.startsWith("@")?a:qc(e);return i?Uc(Hc(t),i,r):null}function Gc({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}const Wc=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Xc({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:u,attachmentCount:h,composerRef:d,createImproveActive:g,goalRuntimeActive:y,inputRef:m,inputShellRef:p,mentionQuery:S,prompt:v,selectedActionId:T,selectAddMenuItem:w,setActionIndex:E,setActionMenuDismissedPrompt:j,setAddMenuIndex:P,setAddMenuOpen:b,setAddMenuQuery:_,setMentionMenuDismissedPrompt:z,setMentionIndex:V,setSkillIndex:F,setSkillMenuDismissedPrompt:se,skillMatchCount:xe,skillQuery:be,slashMatchCount:$e,slashQuery:ce,showActionMenu:X,showMentionMenu:Ce,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 C=new ResizeObserver(()=>m.current?.resize());return C.observe(oe),()=>C.disconnect()},[]),o.useEffect(()=>{if(!i)return;function D(C){const $=C.target,L=m.current?.element?.parentElement;!u.current?.contains($)&&!c.current?.contains($)&&!L?.contains($)&&(b(!1),_(""),z(e),j(n),se(t))}function oe(C){if(C.key==="Escape"){C.preventDefault(),b(!1),_(""),z(e),j(n),se(t);return}if(a.length!==0){if(C.key==="ArrowDown"){C.preventDefault(),P($=>($+1)%a.length);return}if(C.key==="ArrowUp"){C.preventDefault(),P($=>($-1+a.length)%a.length);return}if(C.key==="Home"){C.preventDefault(),P(0);return}if(C.key==="End"){C.preventDefault(),P(a.length-1);return}if(C.key==="Enter"){C.preventDefault();const $=a[r]??a[0];$&&w($)}}}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 C(){ue(Sl(oe))}return C(),window.addEventListener("resize",C),window.addEventListener("scroll",C,!0),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}},[i,h,g,y]),o.useLayoutEffect(()=>{if(!X)return;const D=m.current?.element,oe=d.current;if(!D||!oe)return;const C=D,$=oe;function L(){re(kr(C,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,T,X]),o.useLayoutEffect(()=>{if(!ye)return;const D=m.current?.element,oe=d.current;if(!D||!oe)return;const C=D,$=oe;function L(){I(kr(C,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,T,ye]),o.useLayoutEffect(()=>{if(!Ce)return;const D=m.current?.element,oe=d.current;if(!D||!oe)return;const C=D,$=oe;function L(){W(kr(C,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,T,Ce]),{actionMenuStyle:ae,addMenuStyle:ke,mentionMenuStyle:Me,skillMenuStyle:K}}const Kc=o.lazy(()=>me(()=>import("./ComposerCreateImproveStrip-qOL2zA26.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),Qc=Pr.find(e=>e.id==="submit-issue"),Jc=[];function Yc({experience:e="development",mode:t,surface:n="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:u,composeNotice:h=null,mentionApps:d=[],connectedAppMentions:g=[],profileSkills:y=[],selectedMentionAppId:m=null,contextWindowStatus:p,goalRuntime:S=null,subagentRuntime:v=null,createImproveRuntime:T=null,busy:w,running:E=w,interruptRunningTurnBeforeSteer:j=!0,steerActiveResponses:P=!1,submissionScopeKey:b="default",getCurrentSubmissionScopeKey:_,voiceInputChannelKey:z=b,initialSteerDrafts:V=Jc,showProjectFooter:F=!0,autoFocus:se=!1,focusRequestId:xe=0,attachmentRequest:be=null,connection:$e,providerSettings:ce=null,provider:X,model:Ce,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:C,onWorkspaceTargetChange:$,onModelChange:L,onCodexPermissionModeChange:qe,onCodexReasoningEffortChange:Te,onOpenPondCommandAccessModeChange:et,onPromptChange:J,onMentionAppSelect:O,onSaveTaskDraft:st,showToast:Ee,onSubmit:Ct,onStop:Bt,onPauseGoal:Ie}){const mt=o.useRef(null),an=o.useRef(null),de=o.useRef(null),k=o.useRef(null),N=o.useRef(null),ie=o.useRef(null),je=o.useRef(null),U=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[Ut,Et]=o.useState(0),[ms,ln]=o.useState(0),[hs,cn]=o.useState(0),[ps,qt]=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,Un]=o.useState(""),[Gt,tt]=o.useState(!1),{attachmentError:Z,attachments:_e,addFiles:ze,removeAttachment:xs,settleStagedAttachments:bs,setAttachmentError:it,stageAttachmentsForSubmit:Je}=Dc(),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 f=Nc(l,_e);return!f||_e.length>=Ft.maxAttachments||f.size>Ft.maxAttachmentBytes?!1:(ze([f]),!0)},[ze,_e]),Xs=Fl({experience:e,mode:t,surface:n}),gt=e==="development"||e==="work"&&ye.value!=="none",Ks=ya(X,Ce,ce),_t="top",qn=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}%`},we=o.useMemo(()=>W.find(l=>l.id===rt)??null,[W,rt]),lt=o.useMemo(()=>wa(X,e),[e,X]),Ve=o.useMemo(()=>gt?y:y.filter(l=>!Wc.has(l.name)),[e,y]),Se=o.useMemo(()=>lt.find(l=>l.id===It)??null,[lt,It]),Xt=Vc({action:we,prompt:u,selectedActionMentionText:Ws,selectedInvocationPosition:Pt}),Zs=Gc({attachmentCount:_e.length,prompt:u,selectedAction:we,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)}}:we?{icon:we.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${we.id}`,label:Ir(we),position:l,onRemove:()=>{Qe(null),He(null),at(null)}}:null},[u.length,we,Se,Pt]),Kt=On===b,ks=Kt||!Zs,tr=Kt?"Preparing files":E?"Steer":"Send",ct=Kt,nr=Kt;function pn(l=b){const f=ht.current;return f.has(l)?!1:(f.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(f=>f===l?null:f)}const Ss=o.useMemo(()=>{const l=ja(ce,{enabledOnly:!0}).map(q=>({...q,description:void 0})),f=gt?l:l.filter(q=>q.value!=="codex"),A=I.value==="cloud"&&gt?f.filter(q=>q.value==="openpond"):f,M=A.some(q=>q.value===X)?A:[{value:X,label:Ca(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(()=>xo(X,ce),[X,ce]),Ae=o.useMemo(()=>Ma(u,Math.min(Y,u.length)),[Y,u]),kt=Ae?`${u}:${Ae.start}:${Math.min(Y,u.length)}`:null,ut=o.useMemo(()=>Ae?uo({actionCatalog:W,connectedAppMentions:g,mentionApps:d,profileSkills:Ve,query:Ae.query,surface:n,teamMentionMembers:i}):[],[W,g,d,Ae,Ve,n,i]),Hn=o.useMemo(()=>n==="team"?[]:uo({actionCatalog:W,connectedAppMentions:g,mentionApps:d,profileSkills:Ve,query:"",surface:n,teamMentionMembers:i}).filter(l=>l.kind!=="skill"),[W,g,d,Ve,n,i]),Vn=!!(!ge&&!ct&&Ae&&kt&&Hs!==kt&&ut.length>0),Oe=o.useMemo(()=>zi(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),te=o.useMemo(()=>zc(u,Math.min(Y,u.length)),[Y,u]),xn=te?`${u}:${te.start}:${te.end}`:null,Zt=o.useMemo(()=>te?lo(W,te.query):[],[W,te]),bn=o.useMemo(()=>te&&n!=="team"?co(d,te.query):[],[te,d,n]),ys=o.useMemo(()=>te&&n!=="team"?Bc(te.query,lt):[],[te,lt,n]),Gn=o.useMemo(()=>te&&n!=="team"?Ls(Ve,te.query):[],[te,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&&te&&xn&&Vs!==xn),ws=o.useMemo(()=>lt.map(l=>({kind:"command",command:l})),[lt]),vn=o.useMemo(()=>[...lo(W,"").map(l=>({kind:"action",action:l})),...co(d,"").map(l=>({kind:"app-context",app:l}))],[W,d]),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(f=>({kind:"slash",item:f})),label:"Agents and actions",queryScope:"slash"}),Wn.length>0&&l.push({id:"skills",items:Wn.map(f=>({kind:"slash",item:f})),label:"Skills",queryScopes:["slash","mentions"]}),l.push({id:"openpond",items:ws.map(f=>({kind:"slash",item:f})),label:"OpenPond",grid:!0,queryScope:"slash"}),l.push({emptyLabel:"No mentions available",id:"mentions",items:Hn.map(f=>({kind:"mention",item:f})),label:"@"}),l},[Hn,ws,Wn,vn,e]),Xn=o.useMemo(()=>Kl(sr,gs),[gs,sr]),$t=o.useMemo(()=>Xn.flatMap(l=>l.items),[Xn]);o.useEffect(()=>{ge&&qt(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,f){zn(A=>nl(A,l,f,l===b?V:[]))}o.useLayoutEffect(()=>{de.current?.resize()},[_e.length,Z,T,S,u,rt,It,Pt]),o.useEffect(()=>{if(!se){pe.current=!1;return}pe.current||ct||(pe.current=!0,window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(u.length)}))},[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(f=>f.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(()=>{!we&&!Se||He(l=>l===null?0:Math.max(0,Math.min(l,u.length)))},[u.length,we,Se]),o.useEffect(()=>{if(!m||!O)return;const l=d.find(f=>f.id===m);(!l||!Ea(u,l))&&O(null)},[d,O,u,m]);const{actionMenuStyle:rr,addMenuStyle:or,mentionMenuStyle:ar,skillMenuStyle:ir}=Xc({activeMentionKey:kt,activeSkillKey:Jt,activeSlashKey:xn,addMenuIndex:ps,addMenuItems:$t,addMenuOpen:ge,addMenuPanelRef:je,addMenuRef:ie,attachmentCount:_e.length,composerRef:mt,createImproveActive:!!T,goalRuntimeActive:!!S,inputRef:de,inputShellRef:an,mentionQuery:Ae?.query,prompt:u,selectedActionId:rt,selectAddMenuItem:Cn,setActionIndex:cn,setActionMenuDismissedPrompt:pt,setAddMenuIndex:qt,setAddMenuOpen:Rt,setAddMenuQuery:At,setMentionMenuDismissedPrompt:Pe,setMentionIndex:Et,setSkillIndex:ln,setSkillMenuDismissedPrompt:Tt,skillMatchCount:Ge.length,skillQuery:Oe?.query,slashMatchCount:Ze.length,slashQuery:te?.query,showActionMenu:kn,showMentionMenu:Vn,showSkillMenu:Yt});function Fe(){Qe(null),ot(null),He(null),at(null)}function js(){Fe(),J(""),ve(0)}function Yn(l){Un(l.trim()),Vt(!0)}function lr(){Gt||(Vt(!1),Fe())}async function Lt(){return await(en&&Ie?Ie():Bt())}function wn(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=u.slice(0,M),le=u.slice(G),yt=q&&!/\s$/.test(q)?" ":"",Dt=le&&!/^\s/.test(le)?" ":"",zt=`${Na(l)} `,nt=`${yt}${zt}${Dt}`,rn=`${q}${nt}${le}`,Xe=q.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 f=Math.max(0,Math.min(Y,u.length));wn(l,{start:Ae.start,end:f})}function Ot(l,f,A=null){const M=Math.max(0,Math.min(Y,u.length)),G=f?Math.max(0,Math.min(f.start,u.length)):M,q=f?Math.max(G,Math.min(f.end,u.length)):G,le=`${u.slice(0,G)}${u.slice(q)}`;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 jn(l){if(!Ae)return;const f=Math.max(0,Math.min(Y,u.length)),A=Math.max(0,Math.min(Ae.start,u.length)),M=Math.max(A,Math.min(f,u.length));Ot(l,{start:A,end:M},u.slice(A,M).trim())}function Cs(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=u.slice(0,M),le=u.slice(G),yt=q&&!/\s$/.test(q)?" ":"",Dt=le&&!/^\s/.test(le)?" ":"",zt=`${Ta(l)} `,nt=`${yt}${zt}${Dt}`,rn=`${q}${nt}${le}`,Xe=q.length+nt.length;return J(rn),ve(Xe),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(Xe)}),Xe}function Re(l){if(!Ae)return;const f=Math.max(0,Math.min(Y,u.length));Cs(l,{start:Ae.start,end:f})}function tn(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=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}@${q} ${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 f=Math.max(0,Math.min(Y,u.length));tn(l.member,{start:Ae.start,end:f});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 f=Math.max(0,Math.min(Y,u.length));dt(l.skill,{start:Ae.start,end:f});return}jn(l.action)}function ur(l){te&&(pt(null),wn(l,{start:te.start,end:te.end}))}function Es(l){te&&Ot(l,te)}function As(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=`${u.slice(0,M)}${u.slice(G)}`;return ot(l.id),Qe(null),He(M),at(null),pt(null),J(q),ve(M),l.id==="submit-issue"&&Yn(q),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(M,{afterToken:!0})}),M}function St(l){te&&As(l,te)}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(!te)return;dt(l.skill,te);return}Es(l.action)}function dt(l,f){const A=Fi(u,f,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(){N.current?.click()}function Be(l){U.current=l,At(""),qt(0)}function es(){const l=Math.max(0,Math.min(Y,u.length)),f=Math.max(0,Math.min(U.current,u.length));return l>=f?{start:f,end:l}:{start:l,end:l}}function Cn(l){const f=es();if(Rt(!1),At(""),l.kind==="files"||l.kind==="folder"){if(f.start!==f.end){const A=`${u.slice(0,f.start)}${u.slice(f.end)}`;J(A),ve(f.start)}Be(f.start),l.kind==="folder"?dr():We();return}if(l.kind==="slash"){if(l.item.kind==="command"){Be(As(l.item.command,f));return}if(l.item.kind==="app-context"){Be(wn(l.item.app,f));return}if(l.item.kind==="skill"){Be(dt(l.item.skill,f));return}Be(Ot(l.item.action,f));return}if(l.item.kind==="team-member"){Be(tn(l.item.member,f));return}if(l.item.kind==="app"){Be(wn(l.item.app,f));return}if(l.item.kind==="connected-app"){Be(Cs(l.item.app,f));return}if(l.item.kind==="skill"){Be(dt(l.item.skill,f));return}Be(Ot(l.item.action,f))}function Mn(l){const f=(l??de.current?.getPrompt()??u).trim();return!E||!f?!1:_e.length>0||we||Se?(Ee("Steering supports a plain-text instruction. Remove files or actions before staging it.","info"),!1):(yn(b,A=>[...A,Mo(f)]),js(),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(0)}),!0)}async function ts(l){const f=b;if(Ht?.scopeKey===f)return!1;const A=Ar(mn,f,V).find(M=>M.id===l);if(!A)return!1;hn({draftId:l,scopeKey:f}),it(null);try{const M=E;if(M&&j&&await Bt(qr)===!1)return!1;const G=await Ct([],null,null,{preservePrompt:!0,promptOverride:A.prompt,...M?{turnMetadata:{interactionKind:"steer"}}:{}});return yn(f,q=>tl(q,l,G)),G}catch(M){return it(M instanceof Error?M.message:String(M)),!1}finally{hn(M=>M?.scopeKey===f&&M.draftId===l?null:M)}}function fr(l){Jn!==l&&yn(b,f=>Eo(f,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,f=>el(f,l.id,u)),J(l.prompt),ve(l.prompt.length),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(l.prompt.length)})}}async function En(l){const f=(l??de.current?.getPrompt()??u).trim();if(!E||!f)return!1;if(_e.length>0||we||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(j&&await Bt(qr)===!1)return!1;const M=await Ct([],null,null,{preservePrompt:!0,promptOverride:f,turnMetadata:{interactionKind:"steer"}});return M&&js(),M}catch(M){return it(M instanceof Error?M.message:String(M)),!1}finally{xt(A)}}async function sn(l={}){const f=b;if(!pn(f))return!1;Rt(!1),it(null);const A=Je();try{dn(A.length>0?f:null);let M;try{M=await Promise.all(A.map(Pc))}finally{bt(f)}const G=we&&Xt&&!u.trim()?Xt:void 0,q=l.promptOverride??G,le=await Ct(M,we,Se,Xt||q||l.preservePrompt?{...Xt?{displayPrompt:Xt}:{},...q!==void 0?{promptOverride:q}:{},...l.preservePrompt?{preservePrompt:!0}:{}}:void 0);return bs(A,le?"dispose":"restore"),le&&!Ra(we)&&Fe(),le}catch(M){return bs(A,"restore"),it(M instanceof Error?M.message:String(M)),!1}finally{xt(f),bt(f)}}async function An(){if(E){P?await En():Mn();return}if(Qt())return;const l=we||Se?null:ko(u);if(Se?.id==="submit-issue"||l?.command==="submit-issue"){Yn(l?.command==="submit-issue"?l.args:u);return}ks||await sn()}function Nn(){Gi(z)||An()}async function ss(l){if(Qt()||Gt)return!1;const f=b;if(!pn(f))return!1;tt(!0),Rt(!1),it(null);try{const A=await Ct([],null,Qc,{displayPrompt:`/submit-issue ${l.title.trim()}`,promptOverride:Aa(l)});return A&&(Vt(!1),Fe()),A}catch(A){return it(A instanceof Error?A.message:String(A)),!1}finally{xt(f),tt(!1)}}async function Ns(l,f){const A=de.current?.getPrompt()??u,M=Math.max(0,Math.min(Mt.current,A.length)),G=wo(A,l,f.submit?A.length:M),q=await Ui({appendToEnd:f.submit,currentScopeKey:_?.()??b,cursorIndex:M,originScopeKey:b,prompt:A,setOriginDraft:le=>J(le),submitFromOrigin:le=>sn({preservePrompt:!0,promptOverride:le}),transcript:l});if(q==="retained"){Ee("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(q==="submitted"){Ee("Voice message sent to the chat where recording started.","success");return}if(f.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} ${T?"has-create-runtime":""} ${Sn?"has-goal-runtime":""} ${_e.length>0?"has-attachments":""} ${we||Se?"has-selected-action":""} ${Z?"has-attachment-error":""} ${ge?"has-add-menu":""}`,onSubmit:l=>{l.preventDefault(),An()},children:[s.jsx("input",{webkitdirectory:"",ref:N,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:l=>{ze(Array.from(l.currentTarget.files??[])),l.currentTarget.value=""}}),Vn&&s.jsx(Yl,{items:ut,mentionIndex:Ut,onSelect:Ms,onSelectIndex:Et,style:ar}),Yt&&s.jsx(hc,{items:Ge,onSelect:nn,onSelectIndex:ln,skillIndex:ms,style:ir}),kn&&s.jsx(pc,{actionCatalogCount:W.length,actionIndex:hs,items:Ze,onSelect:Zn,onSelectIndex:cn,style:rr}),s.jsx(gc,{busy:Gt,initialDescription:Bn,open:Fn,onClose:lr,onSubmit:ss}),F&&s.jsxs("div",{className:"composer-footer",children:[F?s.jsx(Xi,{busy:w||ye.busy,placement:_t,state:ye,onChange:oe}):null,Me&&C?s.jsx(Co,{busy:w,placement:_t,state:Me,onChange:C}):null,Qn?s.jsx(Ki,{busy:w,placement:_t,state:I,onChange:$}):null]}),!F&&e==="work"&&s.jsx(Qi,{project:ye,workspace:I}),T?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Kc,{runtime:T})}):null,s.jsx(sl,{drafts:he,sendingDraftId:Jn,onDeleteDraft:fr,onEditDraft:ns,onSteerDraft:l=>{ts(l)}}),Sn&&S&&s.jsx(Yi,{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:qn,ariaLabel:"Add to message",className:"composer-add-command-menu",menuIndex:ps,menuRef:je,sections:Xn,style:or,variant:"add",onSelect:Cn,onSelectIndex:qt}),_e.length>0&&s.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:_e.map(l=>s.jsx(Tc,{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(Ol,{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(f=>(f+1)%ut.length);return}if(l.key==="ArrowUp"){l.preventDefault(),Et(f=>(f-1+ut.length)%ut.length);return}if(l.key==="Enter"||l.key==="Tab"){l.preventDefault(),Ms(ut[Ut]??ut[0]);return}if(l.key==="Escape"){l.preventDefault(),Pe(kt);return}}if(Yt){if(Ge.length>0&&l.key==="ArrowDown"){l.preventDefault(),ln(f=>(f+1)%Ge.length);return}if(Ge.length>0&&l.key==="ArrowUp"){l.preventDefault(),ln(f=>(f-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(f=>(f+1)%Ze.length);return}if(Ze.length>0&&l.key==="ArrowUp"){l.preventDefault(),cn(f=>(f-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((we||Se)&&l.key==="Backspace"&&Y===(Pt??0)){l.preventDefault(),Fe();return}if(zl(l.key,l.ctrlKey,l.metaKey,l.shiftKey,e,n,!!st)){l.preventDefault(),Dl({attachmentsCount:_e.length,hasSelectedInvocation:!!(we||Se),onSave:st,onSaved:Fe,prompt:u,saving:un,setSaving:Gs,showInfo:f=>Ee(f,"info")});return}l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),Kt||An())},onPasteFiles:ze,onPasteTextAsAttachment:Wt,onPromptChange:(l,f)=>{if(ge){const M=Math.max(0,Math.min(U.current,l.length));f<M?(U.current=f,At("")):At(l.slice(M,f))}const A=n==="team"?null:Fc(l,f,lt);if(A){const M=`${l.slice(0,A.start)}${l.slice(A.end)}`,G=A.start;J(l),ve(f),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(!(!we&&!Se)){if(l===null){Fe();return}He(l)}},placeholder:Xs,prompt:u,token:er})}),s.jsx(dc,{surface:n,teamUseModel:r,teamUseModelLocked:a,onTeamUseModelChange:c,addFiles:ze,addMenuId:qn,addMenuOpen:ge,addMenuRef:ie,busy:w,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:qe,onCodexReasoningEffortChange:Te,onOpenPondCommandAccessModeChange:et,onProfileTargetChange:C,onModelChange:L,onOpenFilePicker:We,onProviderChange:ue,onProviderSetupOpen:D,onSend:Nn,onStop:Lt,onToggleAddMenu:()=>{const l=Math.max(0,Math.min(Y,u.length));ge||(U.current=l,At(""),qt(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 fo=o.memo(function({draftStore:t,...n}){const r=Ia(t),a=t.getScopeKey(),i=o.useCallback(c=>{t.setForScope(a,c)},[a,t]);return s.jsx(Pa,{id:"composer",children:s.jsx(Yc,{...n,prompt:r,onPromptChange:i})})});function mo({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=Zc(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":`${ho(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:ho(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(jt,{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(hi,{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(gi,{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 ho(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 Zc(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const eu=/\.(?:m4v|mov|mp4|webm)$/i;function tu(e){return eu.test(e.trim().split(/[?#]/,1)[0]??"")}function nu(e,t){let n=e.trim();if(!n||!tu(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 su(e,t={}){const n=ru(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 ru(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 md(e){const t=new Map;for(const n of e)n.role==="assistant"&&n.turnId&&t.set(n.turnId,n.id);return t}function hd(e,t){const n=e.turnId;return e.role==="assistant"&&n!==void 0&&t.get(n)===e.id}function ou(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 au(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 iu=new Set(["create","edit","help","list"]);function lu(e,t,n=null){return cu(e)}function cu(e){const t=e.trim();if(!t)return"/skill";const[n=""]=t.split(/\s+/,1);return iu.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function uu(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 du(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 fu(e){const[t,n]=o.useState(null),[r,a]=o.useState(null),[i,c]=o.useState(!1),[u,h]=o.useState(null),[d,g]=o.useState(null),y=o.useRef(null),m=o.useRef(0),p=o.useCallback(async(w,E={})=>{if(!e){a(null),h("OpenPond App server is not connected.");return}const j=m.current+1;m.current=j,E.silent||c(!0),h(null);try{const P=await De.getCreateImproveCandidateDiff(e,w.runId,w.candidateId),b=y.current;if(j!==m.current||b?.runId!==w.runId||b.candidateId!==w.candidateId)return;a(P)}catch(P){if(j!==m.current)return;h(P instanceof Error?P.message:String(P))}finally{j===m.current&&!E.silent&&c(!1)}},[e]),S=o.useCallback(w=>{const E=y.current;if(!(w&&E?.runId===w.runId&&E.candidateId===w.candidateId)){if(y.current=w,n(w),g(null),!w){m.current+=1,a(null),h(null),c(!1);return}a(j=>j?.appId===mu(w)?j:null),p(w)}},[p]),v=o.useCallback(async(w={})=>{const E=y.current;E&&await p(E,w)},[p]),T=o.useCallback(w=>{g({id:Date.now(),path:w})},[]);return o.useEffect(()=>{e||S(null)},[S,e]),{selection:t,diff:r,loading:i,error:u,openFileRequest:d,activate:S,refresh:v,openFile:T}}function mu(e){return`candidate:${e.runId}:${e.candidateId}`}function hu(e){const{activeModel:t,activeProvider:n,bootstrap:r,codexPermissionMode:a,codexReasoningEffort:i,connection:c,onOpenRightChatForSession:u,onPayload:h}=e,d=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??_a(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}}),T=m.objective.trim();if(!T)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 w=m.operation==="create"?`/agent create ${T}`:`/agent improve ${m.agentId??""} ${T}`,E=await De.sendTurn(c,v.id,{prompt:w,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)=>d({objective:m,operation:"create",authoringRunId:p,authoringModel:S}),[d]),y=o.useCallback((m,p,S,v,T)=>d({agentId:m,agentName:S,objective:p,operation:"improve",authoringRunId:v,authoringModel:T}),[d]);return{createAgentFromLab:g,improveAgentFromLab:y}}const pu=72,wr=120,Fo=24,gu=280,xu=460;function Rn(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=pu}const _s={canGoPrevious:!1,canGoNext:!1};function Bo(e){return Array.from(e.querySelectorAll(".message-row.user")).filter(t=>t.parentElement===e)}function bu({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 qs(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function Uo(e,t){return qs(e,t)+t.getBoundingClientRect().height}function qo(e){return e.scrollTop+Fo}function Ho(e){return e.scrollTop+8}function is(e){const t=qo(e),n=Ho(e);let r=!1,a=!1;for(const i of Bo(e)){const c=qs(e,i);if(Uo(e,i)<n&&(r=!0),c>t+8&&(a=!0),r&&a)break}return{canGoPrevious:r,canGoNext:a}}function ku(e,t){const n=Bo(e),r=qo(e);if(t==="previous"){const a=Ho(e);for(let i=n.length-1;i>=0;i-=1){const c=n[i];if(Uo(e,c)<a)return c}return null}for(const a of n)if(qs(e,a)>r+8)return a;return null}function vu(e){return Math.min(xu,Math.max(gu,Math.abs(e)/5))}function Su(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}function yu(e){const t=$a({messages:e});return t?{run:t}:null}function po(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(`
4
+ [attachment text truncated]`;return`${e.slice(0,Math.max(0,Ft.maxTextChars-t.length))}${t}`}function Dc(){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,T=0;for(const w of m){if(w.size>Ft.maxAttachmentBytes){v+=1;continue}if(S.length>=p){T+=1;continue}const E="webkitRelativePath"in w&&typeof w.webkitRelativePath=="string"&&w.webkitRelativePath.trim()?w.webkitRelativePath.trim():void 0;S.push({id:Rc(),file:w,name:w.name||"Untitled file",mediaType:w.type||"application/octet-stream",sizeBytes:w.size,kind:Ic(w),...E?{relativePath:E}:{},...w.type.startsWith("image/")?{previewUrl:URL.createObjectURL(w)}:{}})}if(S.length>0&&(a([...r,...S]),c(null)),v>0||T>0){const w=[];v>0&&w.push(`${v} file${v===1?"":"s"} exceeded ${_c(Ft.maxAttachmentBytes)}`),T>0&&w.push(`maximum ${Ft.maxAttachments} attachments`),c(w.join("; "))}},[r]),h=o.useCallback(m=>{a(p=>{const S=p.find(T=>T.id===m);S&&as(S);const v=p.filter(T=>T.id!==m);return v.length===0&&c(null),v})},[]),d=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 T=new Set(v.map(E=>E.id)),w=[...m.filter(E=>!T.has(E.id)),...v];return e.current=w,w});return}for(const v of m)as(v)},[]);return{attachmentError:i,attachments:r,addFiles:u,clearAttachments:d,removeAttachment:h,settleStagedAttachments:y,setAttachmentError:c,stageAttachmentsForSubmit:g}}function as(e){e.previewUrl&&URL.revokeObjectURL(e.previewUrl)}function zc(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 Fc(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 Bc(e,t=Pr){return Sa({commands:t,prompt:`/${e}`})}function lo(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 co(e,t){return e.length===0?[]:e.filter(n=>t?[n.id,n.name,n.description??"",n.gitRepo??"",bo(n)].join(" ").toLowerCase().includes(t):!0).slice(0,8)}function uo({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):"",bo(m)].some(S=>S.includes(u)):!0).map(m=>({kind:"app",app:m})),d=Ur(e,u,e.length).map(m=>({kind:"action",action:m})),g=Ls(r,u).map(m=>({kind:"skill",skill:m})),y=va(t,u).map(m=>({kind:"connected-app",app:m}));return[...d,...g,...h,...y]}function Uc(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 qc(e){const t=In(Ir(e)||e.name||e.id);return t?`@${t}`:null}function Hc(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])=>`${zo(a)}: ${Tr(a,i)}`);return r.length?r.join(" · "):e}catch{return e}}function zo(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])=>`${zo(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 Vc({action:e,prompt:t,selectedActionMentionText:n,selectedInvocationPosition:r}){if(!e)return null;const a=n?.trim(),i=a?.startsWith("@")?a:qc(e);return i?Uc(Hc(t),i,r):null}function Gc({attachmentCount:e,prompt:t,selectedAction:n,selectedCommand:r}){return!!(t.trim()||e>0||n||r)}const Wc=new Set(["openpond-agent-authoring","openpond-skill-authoring","openpond-taskset-authoring","openpond-refiner-authoring"]);function Xc({activeMentionKey:e,activeSkillKey:t,activeSlashKey:n,addMenuIndex:r,addMenuItems:a,addMenuOpen:i,addMenuPanelRef:c,addMenuRef:u,attachmentCount:h,composerRef:d,createImproveActive:g,goalRuntimeActive:y,inputRef:m,inputShellRef:p,mentionQuery:S,prompt:v,selectedActionId:T,selectAddMenuItem:w,setActionIndex:E,setActionMenuDismissedPrompt:j,setAddMenuIndex:P,setAddMenuOpen:b,setAddMenuQuery:_,setMentionMenuDismissedPrompt:z,setMentionIndex:V,setSkillIndex:F,setSkillMenuDismissedPrompt:se,skillMatchCount:xe,skillQuery:be,slashMatchCount:$e,slashQuery:ce,showActionMenu:X,showMentionMenu:Ce,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 C=new ResizeObserver(()=>m.current?.resize());return C.observe(oe),()=>C.disconnect()},[]),o.useEffect(()=>{if(!i)return;function D(C){const $=C.target,L=m.current?.element?.parentElement;!u.current?.contains($)&&!c.current?.contains($)&&!L?.contains($)&&(b(!1),_(""),z(e),j(n),se(t))}function oe(C){if(C.key==="Escape"){C.preventDefault(),b(!1),_(""),z(e),j(n),se(t);return}if(a.length!==0){if(C.key==="ArrowDown"){C.preventDefault(),P($=>($+1)%a.length);return}if(C.key==="ArrowUp"){C.preventDefault(),P($=>($-1+a.length)%a.length);return}if(C.key==="Home"){C.preventDefault(),P(0);return}if(C.key==="End"){C.preventDefault(),P(a.length-1);return}if(C.key==="Enter"){C.preventDefault();const $=a[r]??a[0];$&&w($)}}}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 C(){ue(Sl(oe))}return C(),window.addEventListener("resize",C),window.addEventListener("scroll",C,!0),()=>{window.removeEventListener("resize",C),window.removeEventListener("scroll",C,!0)}},[i,h,g,y]),o.useLayoutEffect(()=>{if(!X)return;const D=m.current?.element,oe=d.current;if(!D||!oe)return;const C=D,$=oe;function L(){re(kr(C,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,T,X]),o.useLayoutEffect(()=>{if(!ye)return;const D=m.current?.element,oe=d.current;if(!D||!oe)return;const C=D,$=oe;function L(){I(kr(C,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,T,ye]),o.useLayoutEffect(()=>{if(!Ce)return;const D=m.current?.element,oe=d.current;if(!D||!oe)return;const C=D,$=oe;function L(){W(kr(C,$))}return L(),window.addEventListener("resize",L),window.addEventListener("scroll",L,!0),()=>{window.removeEventListener("resize",L),window.removeEventListener("scroll",L,!0)}},[h,g,y,v,T,Ce]),{actionMenuStyle:ae,addMenuStyle:ke,mentionMenuStyle:Me,skillMenuStyle:K}}const Kc=o.lazy(()=>me(()=>import("./ComposerCreateImproveStrip-BGzCWVFp.js"),__vite__mapDeps([0,1,2,3,4,5,6]),import.meta.url).then(e=>({default:e.ComposerCreateImproveStrip}))),Qc=Pr.find(e=>e.id==="submit-issue"),Jc=[];function Yc({experience:e="development",mode:t,surface:n="chat",teamUseModel:r=!1,teamUseModelLocked:a=!1,teamMentionMembers:i=[],onTeamUseModelChange:c,prompt:u,composeNotice:h=null,mentionApps:d=[],connectedAppMentions:g=[],profileSkills:y=[],selectedMentionAppId:m=null,contextWindowStatus:p,goalRuntime:S=null,subagentRuntime:v=null,createImproveRuntime:T=null,busy:w,running:E=w,interruptRunningTurnBeforeSteer:j=!0,steerActiveResponses:P=!1,submissionScopeKey:b="default",getCurrentSubmissionScopeKey:_,voiceInputChannelKey:z=b,initialSteerDrafts:V=Jc,showProjectFooter:F=!0,autoFocus:se=!1,focusRequestId:xe=0,attachmentRequest:be=null,connection:$e,providerSettings:ce=null,provider:X,model:Ce,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:C,onWorkspaceTargetChange:$,onModelChange:L,onCodexPermissionModeChange:qe,onCodexReasoningEffortChange:Te,onOpenPondCommandAccessModeChange:et,onPromptChange:J,onMentionAppSelect:O,onSaveTaskDraft:st,showToast:Ee,onSubmit:Ct,onStop:Bt,onPauseGoal:Ie}){const mt=o.useRef(null),an=o.useRef(null),de=o.useRef(null),k=o.useRef(null),N=o.useRef(null),ie=o.useRef(null),je=o.useRef(null),U=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[Ut,Et]=o.useState(0),[ms,ln]=o.useState(0),[hs,cn]=o.useState(0),[ps,qt]=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,Un]=o.useState(""),[Gt,tt]=o.useState(!1),{attachmentError:Z,attachments:_e,addFiles:ze,removeAttachment:xs,settleStagedAttachments:bs,setAttachmentError:it,stageAttachmentsForSubmit:Je}=Dc(),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 f=Nc(l,_e);return!f||_e.length>=Ft.maxAttachments||f.size>Ft.maxAttachmentBytes?!1:(ze([f]),!0)},[ze,_e]),Xs=Fl({experience:e,mode:t,surface:n}),gt=e==="development"||e==="work"&&ye.value!=="none",Ks=ya(X,Ce,ce),_t="top",qn=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}%`},we=o.useMemo(()=>W.find(l=>l.id===rt)??null,[W,rt]),lt=o.useMemo(()=>wa(X,e),[e,X]),Ve=o.useMemo(()=>gt?y:y.filter(l=>!Wc.has(l.name)),[e,y]),Se=o.useMemo(()=>lt.find(l=>l.id===It)??null,[lt,It]),Xt=Vc({action:we,prompt:u,selectedActionMentionText:Ws,selectedInvocationPosition:Pt}),Zs=Gc({attachmentCount:_e.length,prompt:u,selectedAction:we,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)}}:we?{icon:we.implementation?.type==="openpond-agent"?"bot":"workflow",key:`action:${we.id}`,label:Ir(we),position:l,onRemove:()=>{Qe(null),He(null),at(null)}}:null},[u.length,we,Se,Pt]),Kt=On===b,ks=Kt||!Zs,tr=Kt?"Preparing files":E?"Steer":"Send",ct=Kt,nr=Kt;function pn(l=b){const f=ht.current;return f.has(l)?!1:(f.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(f=>f===l?null:f)}const Ss=o.useMemo(()=>{const l=ja(ce,{enabledOnly:!0}).map(q=>({...q,description:void 0})),f=gt?l:l.filter(q=>q.value!=="codex"),A=I.value==="cloud"&&gt?f.filter(q=>q.value==="openpond"):f,M=A.some(q=>q.value===X)?A:[{value:X,label:Ca(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(()=>xo(X,ce),[X,ce]),Ae=o.useMemo(()=>Ma(u,Math.min(Y,u.length)),[Y,u]),kt=Ae?`${u}:${Ae.start}:${Math.min(Y,u.length)}`:null,ut=o.useMemo(()=>Ae?uo({actionCatalog:W,connectedAppMentions:g,mentionApps:d,profileSkills:Ve,query:Ae.query,surface:n,teamMentionMembers:i}):[],[W,g,d,Ae,Ve,n,i]),Hn=o.useMemo(()=>n==="team"?[]:uo({actionCatalog:W,connectedAppMentions:g,mentionApps:d,profileSkills:Ve,query:"",surface:n,teamMentionMembers:i}).filter(l=>l.kind!=="skill"),[W,g,d,Ve,n,i]),Vn=!!(!ge&&!ct&&Ae&&kt&&Hs!==kt&&ut.length>0),Oe=o.useMemo(()=>zi(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),te=o.useMemo(()=>zc(u,Math.min(Y,u.length)),[Y,u]),xn=te?`${u}:${te.start}:${te.end}`:null,Zt=o.useMemo(()=>te?lo(W,te.query):[],[W,te]),bn=o.useMemo(()=>te&&n!=="team"?co(d,te.query):[],[te,d,n]),ys=o.useMemo(()=>te&&n!=="team"?Bc(te.query,lt):[],[te,lt,n]),Gn=o.useMemo(()=>te&&n!=="team"?Ls(Ve,te.query):[],[te,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&&te&&xn&&Vs!==xn),ws=o.useMemo(()=>lt.map(l=>({kind:"command",command:l})),[lt]),vn=o.useMemo(()=>[...lo(W,"").map(l=>({kind:"action",action:l})),...co(d,"").map(l=>({kind:"app-context",app:l}))],[W,d]),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(f=>({kind:"slash",item:f})),label:"Agents and actions",queryScope:"slash"}),Wn.length>0&&l.push({id:"skills",items:Wn.map(f=>({kind:"slash",item:f})),label:"Skills",queryScopes:["slash","mentions"]}),l.push({id:"openpond",items:ws.map(f=>({kind:"slash",item:f})),label:"OpenPond",grid:!0,queryScope:"slash"}),l.push({emptyLabel:"No mentions available",id:"mentions",items:Hn.map(f=>({kind:"mention",item:f})),label:"@"}),l},[Hn,ws,Wn,vn,e]),Xn=o.useMemo(()=>Kl(sr,gs),[gs,sr]),$t=o.useMemo(()=>Xn.flatMap(l=>l.items),[Xn]);o.useEffect(()=>{ge&&qt(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,f){zn(A=>nl(A,l,f,l===b?V:[]))}o.useLayoutEffect(()=>{de.current?.resize()},[_e.length,Z,T,S,u,rt,It,Pt]),o.useEffect(()=>{if(!se){pe.current=!1;return}pe.current||ct||(pe.current=!0,window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(u.length)}))},[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(f=>f.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(()=>{!we&&!Se||He(l=>l===null?0:Math.max(0,Math.min(l,u.length)))},[u.length,we,Se]),o.useEffect(()=>{if(!m||!O)return;const l=d.find(f=>f.id===m);(!l||!Ea(u,l))&&O(null)},[d,O,u,m]);const{actionMenuStyle:rr,addMenuStyle:or,mentionMenuStyle:ar,skillMenuStyle:ir}=Xc({activeMentionKey:kt,activeSkillKey:Jt,activeSlashKey:xn,addMenuIndex:ps,addMenuItems:$t,addMenuOpen:ge,addMenuPanelRef:je,addMenuRef:ie,attachmentCount:_e.length,composerRef:mt,createImproveActive:!!T,goalRuntimeActive:!!S,inputRef:de,inputShellRef:an,mentionQuery:Ae?.query,prompt:u,selectedActionId:rt,selectAddMenuItem:Cn,setActionIndex:cn,setActionMenuDismissedPrompt:pt,setAddMenuIndex:qt,setAddMenuOpen:Rt,setAddMenuQuery:At,setMentionMenuDismissedPrompt:Pe,setMentionIndex:Et,setSkillIndex:ln,setSkillMenuDismissedPrompt:Tt,skillMatchCount:Ge.length,skillQuery:Oe?.query,slashMatchCount:Ze.length,slashQuery:te?.query,showActionMenu:kn,showMentionMenu:Vn,showSkillMenu:Yt});function Fe(){Qe(null),ot(null),He(null),at(null)}function js(){Fe(),J(""),ve(0)}function Yn(l){Un(l.trim()),Vt(!0)}function lr(){Gt||(Vt(!1),Fe())}async function Lt(){return await(en&&Ie?Ie():Bt())}function wn(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=u.slice(0,M),le=u.slice(G),yt=q&&!/\s$/.test(q)?" ":"",Dt=le&&!/^\s/.test(le)?" ":"",zt=`${Na(l)} `,nt=`${yt}${zt}${Dt}`,rn=`${q}${nt}${le}`,Xe=q.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 f=Math.max(0,Math.min(Y,u.length));wn(l,{start:Ae.start,end:f})}function Ot(l,f,A=null){const M=Math.max(0,Math.min(Y,u.length)),G=f?Math.max(0,Math.min(f.start,u.length)):M,q=f?Math.max(G,Math.min(f.end,u.length)):G,le=`${u.slice(0,G)}${u.slice(q)}`;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 jn(l){if(!Ae)return;const f=Math.max(0,Math.min(Y,u.length)),A=Math.max(0,Math.min(Ae.start,u.length)),M=Math.max(A,Math.min(f,u.length));Ot(l,{start:A,end:M},u.slice(A,M).trim())}function Cs(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=u.slice(0,M),le=u.slice(G),yt=q&&!/\s$/.test(q)?" ":"",Dt=le&&!/^\s/.test(le)?" ":"",zt=`${Ta(l)} `,nt=`${yt}${zt}${Dt}`,rn=`${q}${nt}${le}`,Xe=q.length+nt.length;return J(rn),ve(Xe),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(Xe)}),Xe}function Re(l){if(!Ae)return;const f=Math.max(0,Math.min(Y,u.length));Cs(l,{start:Ae.start,end:f})}function tn(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=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}@${q} ${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 f=Math.max(0,Math.min(Y,u.length));tn(l.member,{start:Ae.start,end:f});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 f=Math.max(0,Math.min(Y,u.length));dt(l.skill,{start:Ae.start,end:f});return}jn(l.action)}function ur(l){te&&(pt(null),wn(l,{start:te.start,end:te.end}))}function Es(l){te&&Ot(l,te)}function As(l,f){const A=Math.max(0,Math.min(Y,u.length)),M=f?Math.max(0,Math.min(f.start,u.length)):A,G=f?Math.max(M,Math.min(f.end,u.length)):M,q=`${u.slice(0,M)}${u.slice(G)}`;return ot(l.id),Qe(null),He(M),at(null),pt(null),J(q),ve(M),l.id==="submit-issue"&&Yn(q),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(M,{afterToken:!0})}),M}function St(l){te&&As(l,te)}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(!te)return;dt(l.skill,te);return}Es(l.action)}function dt(l,f){const A=Fi(u,f,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(){N.current?.click()}function Be(l){U.current=l,At(""),qt(0)}function es(){const l=Math.max(0,Math.min(Y,u.length)),f=Math.max(0,Math.min(U.current,u.length));return l>=f?{start:f,end:l}:{start:l,end:l}}function Cn(l){const f=es();if(Rt(!1),At(""),l.kind==="files"||l.kind==="folder"){if(f.start!==f.end){const A=`${u.slice(0,f.start)}${u.slice(f.end)}`;J(A),ve(f.start)}Be(f.start),l.kind==="folder"?dr():We();return}if(l.kind==="slash"){if(l.item.kind==="command"){Be(As(l.item.command,f));return}if(l.item.kind==="app-context"){Be(wn(l.item.app,f));return}if(l.item.kind==="skill"){Be(dt(l.item.skill,f));return}Be(Ot(l.item.action,f));return}if(l.item.kind==="team-member"){Be(tn(l.item.member,f));return}if(l.item.kind==="app"){Be(wn(l.item.app,f));return}if(l.item.kind==="connected-app"){Be(Cs(l.item.app,f));return}if(l.item.kind==="skill"){Be(dt(l.item.skill,f));return}Be(Ot(l.item.action,f))}function Mn(l){const f=(l??de.current?.getPrompt()??u).trim();return!E||!f?!1:_e.length>0||we||Se?(Ee("Steering supports a plain-text instruction. Remove files or actions before staging it.","info"),!1):(yn(b,A=>[...A,Mo(f)]),js(),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(0)}),!0)}async function ts(l){const f=b;if(Ht?.scopeKey===f)return!1;const A=Ar(mn,f,V).find(M=>M.id===l);if(!A)return!1;hn({draftId:l,scopeKey:f}),it(null);try{const M=E;if(M&&j&&await Bt(qr)===!1)return!1;const G=await Ct([],null,null,{preservePrompt:!0,promptOverride:A.prompt,...M?{turnMetadata:{interactionKind:"steer"}}:{}});return yn(f,q=>tl(q,l,G)),G}catch(M){return it(M instanceof Error?M.message:String(M)),!1}finally{hn(M=>M?.scopeKey===f&&M.draftId===l?null:M)}}function fr(l){Jn!==l&&yn(b,f=>Eo(f,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,f=>el(f,l.id,u)),J(l.prompt),ve(l.prompt.length),window.requestAnimationFrame(()=>{de.current?.focusAtPromptIndex(l.prompt.length)})}}async function En(l){const f=(l??de.current?.getPrompt()??u).trim();if(!E||!f)return!1;if(_e.length>0||we||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(j&&await Bt(qr)===!1)return!1;const M=await Ct([],null,null,{preservePrompt:!0,promptOverride:f,turnMetadata:{interactionKind:"steer"}});return M&&js(),M}catch(M){return it(M instanceof Error?M.message:String(M)),!1}finally{xt(A)}}async function sn(l={}){const f=b;if(!pn(f))return!1;Rt(!1),it(null);const A=Je();try{dn(A.length>0?f:null);let M;try{M=await Promise.all(A.map(Pc))}finally{bt(f)}const G=we&&Xt&&!u.trim()?Xt:void 0,q=l.promptOverride??G,le=await Ct(M,we,Se,Xt||q||l.preservePrompt?{...Xt?{displayPrompt:Xt}:{},...q!==void 0?{promptOverride:q}:{},...l.preservePrompt?{preservePrompt:!0}:{}}:void 0);return bs(A,le?"dispose":"restore"),le&&!Ra(we)&&Fe(),le}catch(M){return bs(A,"restore"),it(M instanceof Error?M.message:String(M)),!1}finally{xt(f),bt(f)}}async function An(){if(E){P?await En():Mn();return}if(Qt())return;const l=we||Se?null:ko(u);if(Se?.id==="submit-issue"||l?.command==="submit-issue"){Yn(l?.command==="submit-issue"?l.args:u);return}ks||await sn()}function Nn(){Gi(z)||An()}async function ss(l){if(Qt()||Gt)return!1;const f=b;if(!pn(f))return!1;tt(!0),Rt(!1),it(null);try{const A=await Ct([],null,Qc,{displayPrompt:`/submit-issue ${l.title.trim()}`,promptOverride:Aa(l)});return A&&(Vt(!1),Fe()),A}catch(A){return it(A instanceof Error?A.message:String(A)),!1}finally{xt(f),tt(!1)}}async function Ns(l,f){const A=de.current?.getPrompt()??u,M=Math.max(0,Math.min(Mt.current,A.length)),G=wo(A,l,f.submit?A.length:M),q=await Ui({appendToEnd:f.submit,currentScopeKey:_?.()??b,cursorIndex:M,originScopeKey:b,prompt:A,setOriginDraft:le=>J(le),submitFromOrigin:le=>sn({preservePrompt:!0,promptOverride:le}),transcript:l});if(q==="retained"){Ee("The voice message couldn't be sent. It is saved in the original chat draft.","error");return}if(q==="submitted"){Ee("Voice message sent to the chat where recording started.","success");return}if(f.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} ${T?"has-create-runtime":""} ${Sn?"has-goal-runtime":""} ${_e.length>0?"has-attachments":""} ${we||Se?"has-selected-action":""} ${Z?"has-attachment-error":""} ${ge?"has-add-menu":""}`,onSubmit:l=>{l.preventDefault(),An()},children:[s.jsx("input",{webkitdirectory:"",ref:N,className:"composer-file-input",type:"file",multiple:!0,tabIndex:-1,onChange:l=>{ze(Array.from(l.currentTarget.files??[])),l.currentTarget.value=""}}),Vn&&s.jsx(Yl,{items:ut,mentionIndex:Ut,onSelect:Ms,onSelectIndex:Et,style:ar}),Yt&&s.jsx(hc,{items:Ge,onSelect:nn,onSelectIndex:ln,skillIndex:ms,style:ir}),kn&&s.jsx(pc,{actionCatalogCount:W.length,actionIndex:hs,items:Ze,onSelect:Zn,onSelectIndex:cn,style:rr}),s.jsx(gc,{busy:Gt,initialDescription:Bn,open:Fn,onClose:lr,onSubmit:ss}),F&&s.jsxs("div",{className:"composer-footer",children:[F?s.jsx(Xi,{busy:w||ye.busy,placement:_t,state:ye,onChange:oe}):null,Me&&C?s.jsx(Co,{busy:w,placement:_t,state:Me,onChange:C}):null,Qn?s.jsx(Ki,{busy:w,placement:_t,state:I,onChange:$}):null]}),!F&&e==="work"&&s.jsx(Qi,{project:ye,workspace:I}),T?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Kc,{runtime:T})}):null,s.jsx(sl,{drafts:he,sendingDraftId:Jn,onDeleteDraft:fr,onEditDraft:ns,onSteerDraft:l=>{ts(l)}}),Sn&&S&&s.jsx(Yi,{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:qn,ariaLabel:"Add to message",className:"composer-add-command-menu",menuIndex:ps,menuRef:je,sections:Xn,style:or,variant:"add",onSelect:Cn,onSelectIndex:qt}),_e.length>0&&s.jsx("div",{className:"composer-attachments","aria-label":"Selected attachments",children:_e.map(l=>s.jsx(Tc,{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(Ol,{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(f=>(f+1)%ut.length);return}if(l.key==="ArrowUp"){l.preventDefault(),Et(f=>(f-1+ut.length)%ut.length);return}if(l.key==="Enter"||l.key==="Tab"){l.preventDefault(),Ms(ut[Ut]??ut[0]);return}if(l.key==="Escape"){l.preventDefault(),Pe(kt);return}}if(Yt){if(Ge.length>0&&l.key==="ArrowDown"){l.preventDefault(),ln(f=>(f+1)%Ge.length);return}if(Ge.length>0&&l.key==="ArrowUp"){l.preventDefault(),ln(f=>(f-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(f=>(f+1)%Ze.length);return}if(Ze.length>0&&l.key==="ArrowUp"){l.preventDefault(),cn(f=>(f-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((we||Se)&&l.key==="Backspace"&&Y===(Pt??0)){l.preventDefault(),Fe();return}if(zl(l.key,l.ctrlKey,l.metaKey,l.shiftKey,e,n,!!st)){l.preventDefault(),Dl({attachmentsCount:_e.length,hasSelectedInvocation:!!(we||Se),onSave:st,onSaved:Fe,prompt:u,saving:un,setSaving:Gs,showInfo:f=>Ee(f,"info")});return}l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),Kt||An())},onPasteFiles:ze,onPasteTextAsAttachment:Wt,onPromptChange:(l,f)=>{if(ge){const M=Math.max(0,Math.min(U.current,l.length));f<M?(U.current=f,At("")):At(l.slice(M,f))}const A=n==="team"?null:Fc(l,f,lt);if(A){const M=`${l.slice(0,A.start)}${l.slice(A.end)}`,G=A.start;J(l),ve(f),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(!(!we&&!Se)){if(l===null){Fe();return}He(l)}},placeholder:Xs,prompt:u,token:er})}),s.jsx(dc,{surface:n,teamUseModel:r,teamUseModelLocked:a,onTeamUseModelChange:c,addFiles:ze,addMenuId:qn,addMenuOpen:ge,addMenuRef:ie,busy:w,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:qe,onCodexReasoningEffortChange:Te,onOpenPondCommandAccessModeChange:et,onProfileTargetChange:C,onModelChange:L,onOpenFilePicker:We,onProviderChange:ue,onProviderSetupOpen:D,onSend:Nn,onStop:Lt,onToggleAddMenu:()=>{const l=Math.max(0,Math.min(Y,u.length));ge||(U.current=l,At(""),qt(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 fo=o.memo(function({draftStore:t,...n}){const r=Ia(t),a=t.getScopeKey(),i=o.useCallback(c=>{t.setForScope(a,c)},[a,t]);return s.jsx(Pa,{id:"composer",children:s.jsx(Yc,{...n,prompt:r,onPromptChange:i})})});function mo({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=Zc(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":`${ho(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:ho(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(jt,{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(hi,{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(gi,{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 ho(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 Zc(e){const t=e.trim();if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}const eu=/\.(?:m4v|mov|mp4|webm)$/i;function tu(e){return eu.test(e.trim().split(/[?#]/,1)[0]??"")}function nu(e,t){let n=e.trim();if(!n||!tu(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 su(e,t={}){const n=ru(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 ru(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 md(e){const t=new Map;for(const n of e)n.role==="assistant"&&n.turnId&&t.set(n.turnId,n.id);return t}function hd(e,t){const n=e.turnId;return e.role==="assistant"&&n!==void 0&&t.get(n)===e.id}function ou(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 au(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 iu=new Set(["create","edit","help","list"]);function lu(e,t,n=null){return cu(e)}function cu(e){const t=e.trim();if(!t)return"/skill";const[n=""]=t.split(/\s+/,1);return iu.has(n.toLowerCase())?`/skill ${t}`:`/skill create ${t}`}async function uu(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 du(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 fu(e){const[t,n]=o.useState(null),[r,a]=o.useState(null),[i,c]=o.useState(!1),[u,h]=o.useState(null),[d,g]=o.useState(null),y=o.useRef(null),m=o.useRef(0),p=o.useCallback(async(w,E={})=>{if(!e){a(null),h("OpenPond App server is not connected.");return}const j=m.current+1;m.current=j,E.silent||c(!0),h(null);try{const P=await De.getCreateImproveCandidateDiff(e,w.runId,w.candidateId),b=y.current;if(j!==m.current||b?.runId!==w.runId||b.candidateId!==w.candidateId)return;a(P)}catch(P){if(j!==m.current)return;h(P instanceof Error?P.message:String(P))}finally{j===m.current&&!E.silent&&c(!1)}},[e]),S=o.useCallback(w=>{const E=y.current;if(!(w&&E?.runId===w.runId&&E.candidateId===w.candidateId)){if(y.current=w,n(w),g(null),!w){m.current+=1,a(null),h(null),c(!1);return}a(j=>j?.appId===mu(w)?j:null),p(w)}},[p]),v=o.useCallback(async(w={})=>{const E=y.current;E&&await p(E,w)},[p]),T=o.useCallback(w=>{g({id:Date.now(),path:w})},[]);return o.useEffect(()=>{e||S(null)},[S,e]),{selection:t,diff:r,loading:i,error:u,openFileRequest:d,activate:S,refresh:v,openFile:T}}function mu(e){return`candidate:${e.runId}:${e.candidateId}`}function hu(e){const{activeModel:t,activeProvider:n,bootstrap:r,codexPermissionMode:a,codexReasoningEffort:i,connection:c,onOpenRightChatForSession:u,onPayload:h}=e,d=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??_a(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}}),T=m.objective.trim();if(!T)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 w=m.operation==="create"?`/agent create ${T}`:`/agent improve ${m.agentId??""} ${T}`,E=await De.sendTurn(c,v.id,{prompt:w,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)=>d({objective:m,operation:"create",authoringRunId:p,authoringModel:S}),[d]),y=o.useCallback((m,p,S,v,T)=>d({agentId:m,agentName:S,objective:p,operation:"improve",authoringRunId:v,authoringModel:T}),[d]);return{createAgentFromLab:g,improveAgentFromLab:y}}const pu=72,wr=120,Fo=24,gu=280,xu=460;function Rn(e){return e.scrollHeight-e.scrollTop-e.clientHeight<=pu}const _s={canGoPrevious:!1,canGoNext:!1};function Bo(e){return Array.from(e.querySelectorAll(".message-row.user")).filter(t=>t.parentElement===e)}function bu({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 qs(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top+e.scrollTop}function Uo(e,t){return qs(e,t)+t.getBoundingClientRect().height}function qo(e){return e.scrollTop+Fo}function Ho(e){return e.scrollTop+8}function is(e){const t=qo(e),n=Ho(e);let r=!1,a=!1;for(const i of Bo(e)){const c=qs(e,i);if(Uo(e,i)<n&&(r=!0),c>t+8&&(a=!0),r&&a)break}return{canGoPrevious:r,canGoNext:a}}function ku(e,t){const n=Bo(e),r=qo(e);if(t==="previous"){const a=Ho(e);for(let i=n.length-1;i>=0;i-=1){const c=n[i];if(Uo(e,c)<a)return c}return null}for(const a of n)if(qs(e,a)>r+8)return a;return null}function vu(e){return Math.min(xu,Math.max(gu,Math.abs(e)/5))}function Su(e){return e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2}function yu(e){const t=$a({messages:e});return t?{run:t}:null}function po(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
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 jr(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 ju(e){const t=e?.trim()??"";return/^[a-z0-9]{24}$/.test(t)?t:null}function Cu({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){const a=La(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?`${Mu(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(vo,{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 Mu(e){return e==="frozen_eval"?"Frozen evaluation":e==="validation"?"Validation":"Training"}function Eu({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(Cu,{busy:n,handoff:r,onDismiss:a,onSelectTask:i})}function Au({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(ci,{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(vo,{size:17})})]})}function Nu({busy:e,onSync:t}){return s.jsxs("button",{type:"button",className:"sync-local-button",disabled:e,onClick:t,children:[s.jsx(bi,{size:15}),s.jsx("span",{children:e?"Syncing locally":"Sync locally to work on this"})]})}function Vo(e){return e.supportedView&&e.open&&!e.hasContentPanel}function Tu(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 Ru(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 d=null,g=0,y=h.scrollHeight;const m=(E=!0)=>{E&&(g=Math.max(g,4)),d===null&&(d=window.requestAnimationFrame(()=>{d=null,i.current===h&&c.current(h);const j=Math.abs(h.scrollHeight-y)>1;y=h.scrollHeight,g-=1,(g>0||j)&&m(!1)}))};u.current=()=>m();const p=typeof MutationObserver>"u"?null:new MutationObserver(()=>{T(),m()}),S=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>m()),v=new Set,T=()=>{if(!S)return;const E=new Set(Array.from(h.children).filter(j=>j instanceof HTMLElement));for(const j of v)E.has(j)||(S.unobserve(j),v.delete(j));for(const j of E)v.has(j)||(S.observe(j),v.add(j))};p?.observe(h,{childList:!0,characterData:!0,subtree:!0}),T();const w=()=>m();return h.addEventListener("load",w,!0),()=>{u.current=null,p?.disconnect(),S?.disconnect(),h.removeEventListener("load",w,!0),d!==null&&window.cancelAnimationFrame(d)}},[r,n,i]),o.useLayoutEffect(()=>{r&&u.current?.()},[t,r])}function Iu({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:a,onLoadMoreChatHistory:i,pendingApproval:c,showChatThread:u,showThinkingIndicator:h,view:d}){const g=o.useRef(null),[y,m]=o.useState(null),p=o.useCallback(k=>{g.current=k,m(N=>N===k?N:k)},[]),S=o.useRef(null),v=o.useRef(!0),T=o.useRef(0),w=o.useRef(0),E=o.useRef(0),j=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,Ce]=o.useState(!1),[ye,Me]=o.useState(132),[W,K]=o.useState(_s),I=o.useMemo(()=>su(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=d==="chat"&&u&&!!D&&$e!==D,C=o.useCallback(k=>{Ce(N=>N===k?N:k)},[]),$=o.useCallback(k=>{K(N=>N.canGoPrevious===k.canGoPrevious&&N.canGoNext===k.canGoNext?N:k)},[]),L=o.useCallback((k,N={})=>{const ie=N.nearBottom??Rn(k);C(!ie),$(is(k))},[C,$]),qe=o.useCallback(k=>{const N=_.current;_.current=!1,ce(k),C(!1),$(_s),N&&be(ie=>ie+1)},[C,$]),Te=o.useCallback(()=>{se.current===null||typeof window>"u"||(window.cancelAnimationFrame(se.current),se.current=null)},[]),et=o.useCallback((k,N,ie)=>{Te();const je=Math.max(0,k.scrollHeight-k.clientHeight),U=()=>{const Mt=typeof N=="function"?N():N;return Math.max(0,Math.min(Mt,Math.max(0,k.scrollHeight-k.clientHeight)))},Ne=Math.max(0,Math.min(U(),je)),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=vu(Ke),Y=window.performance.now(),ve=Mt=>{if(g.current!==k){se.current=null;return}const Ut=Math.min(1,(Mt-Y)/ht),Et=U();if(k.scrollTop=pe+(Et-pe)*Su(Ut),Ut<1){se.current=window.requestAnimationFrame(ve);return}k.scrollTop=U(),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 N=window.performance.now();const ie=je=>{if(g.current!==k||!v.current){F.current=null;return}const U=Math.max(0,k.scrollHeight-k.clientHeight),Ne=U-k.scrollTop;if(Math.abs(Ne)<=.75){k.scrollTop=U,F.current=null;return}if(Ne<0||Ne>240)k.scrollTop=U;else{const pe=Math.max(.5,Math.min(3,(je-N)/16.666666666666668)),Ke=1-Math.pow(1-.22,pe);k.scrollTop+=Math.min(36*pe,Ne*Ke)}N=je,F.current=window.requestAnimationFrame(ie)};F.current=window.requestAnimationFrame(ie)},[]),Ee=o.useCallback((k,N={})=>{if(O(),k.scrollTop=k.scrollHeight,typeof window>"u"){N.finishInitial&&qe(N.conversationKey??null);return}J(),z.current=!0;let je=0,U=0,Ne=k.scrollHeight;const pe=N.settle?12:2,Ke=()=>{const Le=g.current;if(!Le){V.current=null,z.current=!1,N.finishInitial&&qe(N.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,U=ht<=1&&Y?U+1:0,je+=1,je<pe&&U<2){V.current=window.requestAnimationFrame(Ke);return}V.current=null,z.current=!1,v.current=!0,C(!1),$(is(Le)),N.finishInitial&&qe(N.conversationKey??null)};V.current=window.requestAnimationFrame(Ke)},[J,O,qe,C,$]),Ct=o.useCallback(()=>{const k=g.current;k&&(J(),O(),v.current=!0,C(!1),et(k,()=>k.scrollHeight-k.clientHeight,()=>{g.current===k&&(k.scrollTop=k.scrollHeight,v.current=!0,C(!1),$(is(k)))}))},[J,O,C,$,et]),Bt=o.useCallback(k=>{const N=g.current;if(!N)return;const ie=ku(N,k);if(!ie)return;J(),O(),et(N,()=>ie.isConnected?Math.max(0,qs(N,ie)-Fo):N.scrollTop,()=>{if(g.current!==N)return;const U=Rn(N);v.current=U,L(N,{nearBottom:U})})},[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,C(!1),$(_s);return}const N=Rn(k),ie=Math.abs(k.scrollHeight-w.current)>1||Math.abs(k.clientHeight-E.current)>1,je=k.scrollTop<T.current-1;T.current=k.scrollTop,w.current=k.scrollHeight,E.current=k.clientHeight,N?(v.current=!0,L(k,{nearBottom:!0})):je&&!ie?(v.current=!1,O(),L(k,{nearBottom:!1})):v.current?(C(!1),$(is(k))):L(k,{nearBottom:!1}),!_.current&&k.scrollTop<=wr&&ue&&!r&&mt()},[ue,O,r,mt,C,$,L]),de=o.useCallback(k=>{!v.current&&!Rn(k)||(v.current=!0,st(k))},[st]);return Ru({contentKey:ke,enabled:d==="chat"&&u,onContentChange:de,threadElement:y,threadRef:g}),o.useLayoutEffect(()=>{if(d!=="chat"||!u||typeof window>"u")return;const k=S.current;if(!k)return;let N=null;const ie=()=>{N=null;const Ne=Math.max(96,Math.ceil(k.getBoundingClientRect().height+20));Me(pe=>pe===Ne?pe:Ne)},je=()=>{N===null&&(N=window.requestAnimationFrame(ie))};je();const U=typeof window.ResizeObserver>"u"?null:new window.ResizeObserver(je);return U?.observe(k),window.addEventListener("resize",je),()=>{N!==null&&window.cancelAnimationFrame(N),U?.disconnect(),window.removeEventListener("resize",je)}},[u,d]),o.useLayoutEffect(()=>{const k=g.current;d!=="chat"||!u||!k||_.current||!v.current&&!Rn(k)||(v.current=!0,Ee(k,{settle:!0}))},[ye,Ee,u,d]),o.useLayoutEffect(()=>{if(t===0||d!=="chat"||!u)return;const k=g.current;k&&(v.current=!0,C(!1),Ee(k,{settle:!0}))},[t,Ee,C,u,d]),o.useLayoutEffect(()=>{P.current=null,b.current=!1,_.current=!0,v.current=!0,T.current=0,w.current=0,E.current=0,O(),Te(),J(),ce(null),C(!1),$(_s)},[J,Te,O,D,C,$]),o.useEffect(()=>{const k=g.current;d!=="chat"||!k||_.current||!ue||r||k.scrollTop<=wr&&k.scrollHeight<=k.clientHeight+wr&&mt()},[ue,r,xe,I.length,mt,d]),o.useLayoutEffect(()=>{const k=P.current,N=g.current;!k||!N||_.current||(P.current=null,N.scrollTop=k.scrollTop+Math.max(0,N.scrollHeight-k.scrollHeight),L(N))},[I.length,L]),o.useLayoutEffect(()=>{const k=g.current;if(d!=="chat"||!D||!k){j.current=D,v.current=!0,qe(D);return}const N=j.current!==D;if(j.current=D,N||_.current){v.current=!0,Ee(k,{conversationKey:D,finishInitial:!0,settle:!0});return}const ie=Rn(k);if(v.current||ie){v.current=!0,C(!1),$(is(k)),Ee(k,{settle:!0});return}L(k,{nearBottom:ie})},[D,y,qe,c?.id,Ee,C,$,L,d]),o.useEffect(()=>()=>{J(),Te(),O()},[J,Te,O]),{chatColumnStyle:ae,chatThreadPreparingInitialScroll:oe,chatThreadRef:p,composerStackRef:S,goToUserMessage:Bt,handleChatScroll:an,jumpToLatestChatMessage:Ct,showScrollToBottomButton:X,userMessageNavigation:W,chatTimelineRows:I}}const Pu=o.lazy(()=>me(()=>import("./WorkspaceDiffPanel-D9Kp0vFw.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}))),_u=o.lazy(()=>me(()=>import("./AppTerminalPanel-y2bVL2RV.js"),__vite__mapDeps([17,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),$u=o.lazy(()=>me(()=>import("./RightSidebarHomePanel-BUcWVJi-.js"),__vite__mapDeps([18,1,2,3,15,11,13]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Lu=o.lazy(()=>me(()=>import("./WorkSidebarPanel-BwbWKpOZ.js"),__vite__mapDeps([19,1,2,3,9,11,13,4,8,20,21,22,23]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),Ou=o.lazy(()=>me(()=>import("./NewExperienceSwitcher-B0zev5Sx.js"),__vite__mapDeps([24,1,2,3]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Du=o.lazy(()=>me(()=>import("./CollaborationTabs-B8mlPhM3.js"),__vite__mapDeps([25,1,2,3,26]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),zu=o.lazy(()=>me(()=>import("./AppsView-Bs9pwD2H.js"),__vite__mapDeps([27,1,2,3,28]),import.meta.url).then(e=>({default:e.AppsView}))),Fu=o.lazy(()=>me(()=>import("./GetStartedView-C2ypO0v7.js"),__vite__mapDeps([29,1,2,5,3,30,31,4,32]),import.meta.url).then(e=>({default:e.GetStartedView}))),Bu=o.lazy(()=>me(()=>import("./LabsRoute-Bw-HD6QC.js").then(e=>e.n),__vite__mapDeps([33,1,2,3,20,31,10,4,0,5,6,12,34,35]),import.meta.url).then(e=>({default:e.LabsRoute}))),Uu=o.lazy(()=>me(()=>import("./ScheduledWorkPage-Bp-t0eVj.js"),__vite__mapDeps([36,1,2,3,37,4,5,6,14,13]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),qu=o.lazy(()=>me(()=>import("./OutputsPage-B4zYYUT5.js"),__vite__mapDeps([38,1,2,3,9,4,11,20,21,22]),import.meta.url).then(e=>({default:e.OutputsPage}))),Hu=o.lazy(()=>me(()=>import("./ProjectsPage-97wgc84s.js"),__vite__mapDeps([39,1,2,3,20,40]),import.meta.url).then(e=>({default:e.ProjectsPage}))),go=o.lazy(()=>me(()=>import("./LabSkillSidebar-CRPb4qBn.js"),__vite__mapDeps([41,1,2,3,4,13,20,21,22,42]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),Vu=o.lazy(()=>me(()=>import("./BrowserSidebar-CUgT5V1m.js"),__vite__mapDeps([43,1,2,3,4,6,22,44]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),Gu=o.lazy(()=>me(()=>import("./RightChatPanelStack-I2znDCc7.js"),__vite__mapDeps([45,1,2,11,3,4,46,16,8,9,21,5,6,30,20,22]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),Wu=o.lazy(()=>me(()=>import("./NativeSkillSidebar-zbx7WmOk.js"),__vite__mapDeps([47,1,2,3,13,48]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),Xu=o.lazy(()=>me(()=>import("./TeamChatView-Fj5_yjVE.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamChatView}))),Ku=o.lazy(()=>me(()=>import("./TeamChatView-Fj5_yjVE.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamChatProView}))),Qu=o.lazy(()=>me(()=>import("./CommunityView-IHNq-YJz.js"),__vite__mapDeps([52,1,2,53,3,6,8,4,9,20,21,22,54]),import.meta.url).then(e=>({default:e.CommunityView}))),Ju=o.lazy(()=>me(()=>import("./TeamChatView-Fj5_yjVE.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),Yu=o.lazy(()=>me(()=>import("./TeamChatView-Fj5_yjVE.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),Zu=o.lazy(()=>me(()=>import("./TrainingDraftPanel-zeJWmmW6.js"),__vite__mapDeps([55,1,2,3,13,35]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),ed=o.lazy(()=>me(()=>import("./MainChatThread-Cu6_UnNE.js"),__vite__mapDeps([56,1,2,46,3,16,8,4,9,21,11,5,6,30,20,22]),import.meta.url).then(e=>({default:e.MainChatThread}))),td=o.lazy(()=>me(()=>import("./TrainingCreationPanel-dYW_dh3M.js"),__vite__mapDeps([57,1,2,3,35]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function nd({experience:e,onNewExperienceChange:t,view:n,teamChat:r,community:a,bootstrap:i,runtimeEvents:c,chatMessages:u,pendingUserMessage:h,contextWindowStatus:d,goalRuntime:g,subagentRuntime:y,selectedSessionId:m,composerDraftStore:p,mainComposerFocusRequestId:S,labCloseDetailRequestId:v,labCloseDetailKind:T,sideChatTrainingLaunchRequest:w,onSideChatTrainingLaunchHandled:E,mentionApps:j,connectedAppMentions:P,profileSkills:b,selectedMentionAppId:_,busy:z,turnRunning:V,activeProvider:F,activeModel:se,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,pendingApproval:ce,activeWorkspaceAppId:X,activeWorkspaceId:Ce,activeWorkspaceKind:ye,projectTarget:Me,actionCatalog:W,workspaceTarget:K,connection:I,workspaceName:ae,workspaceState:re,workspaceDiff:ke,workspaceBusy:ue,diffBusy:D,forceChatThread:oe=!1,diffPanelOpen:C,diffPanelExpanded:$,rightPanelMode:L,rightPanelTabRequest:qe,rightChatPanels:Te,runtimeEventStore:et,nativeSkillSidebar:J,extensionSkillSidebar:O,workspaceDiffPanelViewState:st,sidebarFileOpenRequest:Ee,sidebarFileBookmarks:Ct,onSetSidebarFileStatus:Bt,browserConversationId:Ie,terminalScope:mt,terminalTabs:an,terminalCwd:de,pendingTerminalCommand:k,terminalOpen:N,onToggleTerminal:ie,onWorkspaceDiffPanelViewStateChange:je,training:U,trainingSessions:Ne,trainingChatHandoff:pe,trainingDetailTasksetId:Ke,onTrainingDetailTasksetIdChange:Le,onTrainingChatTaskSelect:ht,onTrainingChatHandoffDismiss:Y,onOpenSession:ve,onExperienceHandoff:Mt,cloudProjects:Ut,projects:Et,projectsAccountBaseUrl:ms,projectsTeamName:ln,projectTaskCounts:hs,onNewCloudProject:cn,onNewProjectTask:ps,onToggleProjectPinned:qt,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:Un,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:qn,onLabDetailOpenChange:Qs,scheduledDetailOpen:Js,onScheduledDetailOpenChange:Ys,onTerminalTabsChange:we,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 _i),xt=m&&!Hr(m)?m:null,vs=Di(et,xt),Qt=o.useMemo(()=>xt?Oa(c,vs.events):c,[xt,vs.events,c]),bt=o.useMemo(()=>xt?Da(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,te]=o.useState(null),[xn,Zt]=o.useState(null),[bn,ys]=o.useState(null),[Gn,Ze]=o.useState(null),[kn,ws]=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=za(i?.profileLibrary??{profiles:[]},Xn)??i?.profile??null,Sn=o.useMemo(()=>Fa($t,i?.extensionCatalog),[i?.extensionCatalog,$t]),en=o.useMemo(()=>Ba($t),[$t]),Kn=o.useCallback(async(x,R=m)=>{if(!I||!i)return;const ne=Ua(i.profileLibrary??{profiles:[]},x);if(ne)try{const Q=R&&!Hr(R)?i.sessions.find(B=>B.id===R)??null:null,H=await uu({ref:ne,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(!qa(Ee,Ie))return;const{file:x,id:R}=Ee;if(Oe({id:R,path:x.path}),!I)return;let ne=!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(ne)return;const fe=x.path.split("/").at(-1)??x.path;gn({id:R,file:new File([H],fe,{type:sd(x)})})}).catch(H=>{ne||Z(H instanceof Error?H.message:String(H),"error")}),()=>{ne=!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=>!Ha(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=fu(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=>{te(x),x&&Ye()},[Ye]),or=o.useCallback(()=>{te(null),$&&Je()},[$,Je]);o.useEffect(()=>{n!=="labs"&&te(null)},[n]);const ar=o.useCallback((x,R)=>{const ne=Date.now(),Q=W.find(fe=>fe.id===x)??null;p.set(""),tt(null),ge("chat");const H=fe=>{if(!(fe.find(ee=>ee.id===x)??null))return!1;const ft=fe.map(ee=>ee.id===x?{...ee,label:R}:ee);return Wn(ft),window.requestAnimationFrame(()=>{ws({actionId:x,requestId:Math.max(Date.now(),ne+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=>Va(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(()=>Ga(i?.preferences),[i?.preferences]),js=Fe.training,{createAgentFromLab:Yn,improveAgentFromLab:lr}=hu({activeModel:se,activeProvider:F,bootstrap:i,codexPermissionMode:xe,codexReasoningEffort:be,connection:I,onOpenRightChatForSession:qn,onPayload:Nt}),Lt=o.useMemo(()=>{const x=U.payload?.tasksets??[];return x.some(R=>R.id===bn)?bn:x[0]?.id??null},[bn,U.payload?.tasksets]),wn=n==="labs"&&Lt?`profiles/${i?.profile.activeProfile??"default"}/tasksets/${Lt}`:null,cr=o.useMemo(()=>{if(n!=="labs"||!Lt||!U.payload)return null;const x=U.payload.tasksets.find(ee=>ee.id===Lt);if(!x)return null;const R=U.payload.plans.filter(ee=>ee.tasksetId===x.id),ne=new Set(R.map(ee=>ee.id)),Q=U.payload.jobs.filter(ee=>ne.has(ee.planId)).sort((ee,rs)=>rs.createdAt.localeCompare(ee.createdAt)),H=Q.find(ee=>ee.id===Gn)??Q[0]??null,fe=H?R.find(ee=>ee.id===H.planId)??null:R.sort((ee,rs)=>rs.createdAt.localeCompare(ee.createdAt))[0]??null,B=H?U.payload.models.find(ee=>ee.jobId===H.id)??null:null,ft=H?U.payload.artifacts.filter(ee=>ee.jobId===H.id):[];return{taskset:x,plan:fe,job:H,lineage:B,artifacts:ft}},[Lt,Gn,U.payload,n]),Ot=o.useMemo(()=>du(U.payload,m),[m,U.payload]),jn=o.useMemo(()=>yu(bt),[bt]),Cs=!!g||!!jn||!!y,Re=n==="labs"&&!!he.selection,tn=n==="labs"&&C&&L==="changes"&&!!Yt,Ms=(n==="chat"||n==="labs")&&!!X,ur=n==="chat"&&C&&L==="chat"&&Te.length===0,Es=Wa(ye)?Ce??ju(ae):null,As=n==="chat"&&!!Es,St=Es,Zn=!!St||K.value==="cloud"||K.value==="hybrid",dt=o.useMemo(()=>au({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)&&C&&(L==="changes"||L==="goal"&&Cs||ur),es=n==="chat"&&C&&L==="browser",Cn=(n==="chat"||n==="labs")&&C&&L==="chat"&&Te.length>0,Mn=n==="chat"&&C&&L==="training",ts=n==="chat"&&C&&!!J,fr=n==="chat"&&C&&!!O,ns=n==="team"&&C&&L==="chat"&&!!r.aiThread,En=n==="team"&&C&&L==="chat"&&!!r.agentConversation,sn=e==="work"&&n==="chat"&&C&&L==="home",An=Vo({supportedView:n==="chat"&&vt||n==="labs",open:C,hasContentPanel:Be||tn||es||Cn||Mn||ts||ns||En||sn}),Nn=Be||tn||es||Cn||Mn||ts||ns||En||sn||An,ss=Nn&&L!=="chat"&&$,Ns=i?.account.baseUrl??i?.account.activeProfile?.baseUrl??null,l=bu({activeWorkspaceId:Ce,cloudProjects:Ut}),f=n==="chat"&&V&&!ce&&ou(bt),A=oe||bt.length>0||f,M=m??`draft:${n}:${ye??"none"}:${Ce??X??"none"}`;ut.current=M;const G=s.jsx(Eu,{activeModel:se,activeProvider:F,busy:V,handoff:pe,onDismiss:Y,onSelectTask:ht}),q=o.useMemo(()=>({onAnswerQuestion:fn,onApprove:mn,onApplyCandidate:zn,onCancel:Ht,onOpenPullRequest:hn,onPause:Fn,onReconcilePullRequest:Vt,onRejectCandidate:Bn,onResume:Un,onRevise:Gt}),[fn,mn,zn,Ht,hn,Fn,Vt,Bn,Un,Gt]),le=o.useMemo(()=>jn?{...jn,...q}:null,[q,jn]),yt=Tu(n,A),Dt=o.useCallback(async(x=[],R=null,ne=null,Q={})=>{const H=Q.promptOverride??p.getSnapshot(),fe=()=>{Q.preservePrompt||(p.set(""),tt(null))};if(!R){const B=ne?{command:ne.id,args:H.trim()}:ko(H);if(B){if(!Xa({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 Ka(P)?(kt(ee=>ee+1),ze([],null,Qa(B.args),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:jr(B,ne?"composer_selection":"prompt_parse")})):(Z("Connect the GitHub app before using /submit-issue.","error"),!1);if(wu(B)){const ee=B.command==="skill"?lu(B.args,F,i?.profile.sourcePath??null):po(B);return kt(rs=>rs+1),ze([],null,ee,{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:jr(B,ne?"composer_selection":"prompt_parse")})}return kt(ee=>ee+1),ze([],null,po(B),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:jr(B,ne?"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,U,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:Go,chatTimelineRows:Wo,composerStackRef:Xo,goToUserMessage:$r,handleChatScroll:Ko,jumpToLatestChatMessage:Qo,showScrollToBottomButton:Jo,userMessageNavigation:Ts}=Iu({browserConversationId:Ie,chatSubmissionVersion:Ae,chatHistoryHasMore:At,chatHistoryLoading:Hs,chatMessages:bt,onLoadMoreChatHistory:nr,pendingApproval:ce,showChatThread:A,showThinkingIndicator:f,view:n}),Rs=o.useCallback((x,R)=>{Ja({conversationId:Ie,href:x,explicitFile:R?.explicitFile,newTab:R?.newTab}).then(ne=>{ne&&Wt()})},[Ie,Wt]),Is=oi({projectTargetDetail:Me.detail,projectTargetValue:Me.value,workspaceRepoPath:re?.repoPath,workspaceTargetValue:K.value}),Lr=o.useCallback(x=>{const R=nu(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 ne=ai(x,{workspaceRootPath:Is});Ye(),Oe({id:Date.now(),path:ne?.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]),Yo=ue&&!!X&&!re,Dr=he.selection?`candidate:${he.selection.runId}:${he.selection.candidateId}`:null,Zo=Be?s.jsx(Pu,{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:wn,filesWithPreview:Re,editorPreferences:i?.preferences.editor??null,loading:Re?he.loading:We?ue:D||Yo,openFileRequest:Re?he.openFileRequest:Vn,sidebarFileBookmarks:Ct,sidebarFileSourceSessionId:m,onSetSidebarFileStatus:Bt,readOnly:Re,sideChatTabs:Te.map(x=>({id:x.id,title:x.title,running:x.running})),sourceSwitcher:Re?null:dr,tabRequest:qe,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:je,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,ea=es?s.jsx(Vu,{conversationId:Ie,expanded:$,onResizeStart:Pe}):null,ta=ns?o.createElement(Ju,{...r,key:r.aiThread?.conversationId,onResizeStart:Pe}):null,na=En?o.createElement(Yu,{...r,key:r.agentConversation?.run.id,onResizeStart:Pe}):null,sa=Cn?s.jsx(Gu,{panels:Te,runtimeEventStore:et,actionCatalog:Qn,createImproveActions:q,contextCompaction:Fe.contextCompaction,steerActiveResponses:Fe.steerActiveResponses,busy:z,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,connection:I,connectedAppMentions:P,mentionApps:j,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,ra=An?s.jsx($u,{expanded:$,terminalOpen:N,sideChatAvailable:n==="chat"||n==="labs",onOpenBrowser:Wt,onOpenFiles:gt,onOpenReview:Ye,onOpenSideChat:_t,onOpenTrainingDraft:Xs,trainingDraftAvailable:!!m,onResizeStart:Pe,onToggleExpanded:Je,onToggleTerminal:ie}):null,oa=sn?s.jsx(Lu,{chatMessages:bt,connection:I,contextWindowStatus:d,expanded:$,runtimeEvents:Qt,sessionId:m,showToast:Z,onResizeStart:Pe,onToggleExpanded:Je,onUseOutput:x=>gn({id:Date.now(),file:x}),onHandoffOutput:async(x,R,ne)=>{await Mt({target:x,sourceSessionId:m,output:R,prompt:Ya(R,x)}),ne&&gn({id:Date.now(),file:ne})},onReviseOutput:(x,R,ne)=>{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:
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 jr(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 ju(e){const t=e?.trim()??"";return/^[a-z0-9]{24}$/.test(t)?t:null}function Cu({busy:e,handoff:t,onDismiss:n,onSelectTask:r}){const a=La(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?`${Mu(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(vo,{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 Mu(e){return e==="frozen_eval"?"Frozen evaluation":e==="validation"?"Validation":"Training"}function Eu({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(Cu,{busy:n,handoff:r,onDismiss:a,onSelectTask:i})}function Au({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(ci,{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(vo,{size:17})})]})}function Nu({busy:e,onSync:t}){return s.jsxs("button",{type:"button",className:"sync-local-button",disabled:e,onClick:t,children:[s.jsx(bi,{size:15}),s.jsx("span",{children:e?"Syncing locally":"Sync locally to work on this"})]})}function Vo(e){return e.supportedView&&e.open&&!e.hasContentPanel}function Tu(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 Ru(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 d=null,g=0,y=h.scrollHeight;const m=(E=!0)=>{E&&(g=Math.max(g,4)),d===null&&(d=window.requestAnimationFrame(()=>{d=null,i.current===h&&c.current(h);const j=Math.abs(h.scrollHeight-y)>1;y=h.scrollHeight,g-=1,(g>0||j)&&m(!1)}))};u.current=()=>m();const p=typeof MutationObserver>"u"?null:new MutationObserver(()=>{T(),m()}),S=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>m()),v=new Set,T=()=>{if(!S)return;const E=new Set(Array.from(h.children).filter(j=>j instanceof HTMLElement));for(const j of v)E.has(j)||(S.unobserve(j),v.delete(j));for(const j of E)v.has(j)||(S.observe(j),v.add(j))};p?.observe(h,{childList:!0,characterData:!0,subtree:!0}),T();const w=()=>m();return h.addEventListener("load",w,!0),()=>{u.current=null,p?.disconnect(),S?.disconnect(),h.removeEventListener("load",w,!0),d!==null&&window.cancelAnimationFrame(d)}},[r,n,i]),o.useLayoutEffect(()=>{r&&u.current?.()},[t,r])}function Iu({browserConversationId:e,chatSubmissionVersion:t,chatHistoryHasMore:n,chatHistoryLoading:r,chatMessages:a,onLoadMoreChatHistory:i,pendingApproval:c,showChatThread:u,showThinkingIndicator:h,view:d}){const g=o.useRef(null),[y,m]=o.useState(null),p=o.useCallback(k=>{g.current=k,m(N=>N===k?N:k)},[]),S=o.useRef(null),v=o.useRef(!0),T=o.useRef(0),w=o.useRef(0),E=o.useRef(0),j=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,Ce]=o.useState(!1),[ye,Me]=o.useState(132),[W,K]=o.useState(_s),I=o.useMemo(()=>su(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=d==="chat"&&u&&!!D&&$e!==D,C=o.useCallback(k=>{Ce(N=>N===k?N:k)},[]),$=o.useCallback(k=>{K(N=>N.canGoPrevious===k.canGoPrevious&&N.canGoNext===k.canGoNext?N:k)},[]),L=o.useCallback((k,N={})=>{const ie=N.nearBottom??Rn(k);C(!ie),$(is(k))},[C,$]),qe=o.useCallback(k=>{const N=_.current;_.current=!1,ce(k),C(!1),$(_s),N&&be(ie=>ie+1)},[C,$]),Te=o.useCallback(()=>{se.current===null||typeof window>"u"||(window.cancelAnimationFrame(se.current),se.current=null)},[]),et=o.useCallback((k,N,ie)=>{Te();const je=Math.max(0,k.scrollHeight-k.clientHeight),U=()=>{const Mt=typeof N=="function"?N():N;return Math.max(0,Math.min(Mt,Math.max(0,k.scrollHeight-k.clientHeight)))},Ne=Math.max(0,Math.min(U(),je)),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=vu(Ke),Y=window.performance.now(),ve=Mt=>{if(g.current!==k){se.current=null;return}const Ut=Math.min(1,(Mt-Y)/ht),Et=U();if(k.scrollTop=pe+(Et-pe)*Su(Ut),Ut<1){se.current=window.requestAnimationFrame(ve);return}k.scrollTop=U(),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 N=window.performance.now();const ie=je=>{if(g.current!==k||!v.current){F.current=null;return}const U=Math.max(0,k.scrollHeight-k.clientHeight),Ne=U-k.scrollTop;if(Math.abs(Ne)<=.75){k.scrollTop=U,F.current=null;return}if(Ne<0||Ne>240)k.scrollTop=U;else{const pe=Math.max(.5,Math.min(3,(je-N)/16.666666666666668)),Ke=1-Math.pow(1-.22,pe);k.scrollTop+=Math.min(36*pe,Ne*Ke)}N=je,F.current=window.requestAnimationFrame(ie)};F.current=window.requestAnimationFrame(ie)},[]),Ee=o.useCallback((k,N={})=>{if(O(),k.scrollTop=k.scrollHeight,typeof window>"u"){N.finishInitial&&qe(N.conversationKey??null);return}J(),z.current=!0;let je=0,U=0,Ne=k.scrollHeight;const pe=N.settle?12:2,Ke=()=>{const Le=g.current;if(!Le){V.current=null,z.current=!1,N.finishInitial&&qe(N.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,U=ht<=1&&Y?U+1:0,je+=1,je<pe&&U<2){V.current=window.requestAnimationFrame(Ke);return}V.current=null,z.current=!1,v.current=!0,C(!1),$(is(Le)),N.finishInitial&&qe(N.conversationKey??null)};V.current=window.requestAnimationFrame(Ke)},[J,O,qe,C,$]),Ct=o.useCallback(()=>{const k=g.current;k&&(J(),O(),v.current=!0,C(!1),et(k,()=>k.scrollHeight-k.clientHeight,()=>{g.current===k&&(k.scrollTop=k.scrollHeight,v.current=!0,C(!1),$(is(k)))}))},[J,O,C,$,et]),Bt=o.useCallback(k=>{const N=g.current;if(!N)return;const ie=ku(N,k);if(!ie)return;J(),O(),et(N,()=>ie.isConnected?Math.max(0,qs(N,ie)-Fo):N.scrollTop,()=>{if(g.current!==N)return;const U=Rn(N);v.current=U,L(N,{nearBottom:U})})},[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,C(!1),$(_s);return}const N=Rn(k),ie=Math.abs(k.scrollHeight-w.current)>1||Math.abs(k.clientHeight-E.current)>1,je=k.scrollTop<T.current-1;T.current=k.scrollTop,w.current=k.scrollHeight,E.current=k.clientHeight,N?(v.current=!0,L(k,{nearBottom:!0})):je&&!ie?(v.current=!1,O(),L(k,{nearBottom:!1})):v.current?(C(!1),$(is(k))):L(k,{nearBottom:!1}),!_.current&&k.scrollTop<=wr&&ue&&!r&&mt()},[ue,O,r,mt,C,$,L]),de=o.useCallback(k=>{!v.current&&!Rn(k)||(v.current=!0,st(k))},[st]);return Ru({contentKey:ke,enabled:d==="chat"&&u,onContentChange:de,threadElement:y,threadRef:g}),o.useLayoutEffect(()=>{if(d!=="chat"||!u||typeof window>"u")return;const k=S.current;if(!k)return;let N=null;const ie=()=>{N=null;const Ne=Math.max(96,Math.ceil(k.getBoundingClientRect().height+20));Me(pe=>pe===Ne?pe:Ne)},je=()=>{N===null&&(N=window.requestAnimationFrame(ie))};je();const U=typeof window.ResizeObserver>"u"?null:new window.ResizeObserver(je);return U?.observe(k),window.addEventListener("resize",je),()=>{N!==null&&window.cancelAnimationFrame(N),U?.disconnect(),window.removeEventListener("resize",je)}},[u,d]),o.useLayoutEffect(()=>{const k=g.current;d!=="chat"||!u||!k||_.current||!v.current&&!Rn(k)||(v.current=!0,Ee(k,{settle:!0}))},[ye,Ee,u,d]),o.useLayoutEffect(()=>{if(t===0||d!=="chat"||!u)return;const k=g.current;k&&(v.current=!0,C(!1),Ee(k,{settle:!0}))},[t,Ee,C,u,d]),o.useLayoutEffect(()=>{P.current=null,b.current=!1,_.current=!0,v.current=!0,T.current=0,w.current=0,E.current=0,O(),Te(),J(),ce(null),C(!1),$(_s)},[J,Te,O,D,C,$]),o.useEffect(()=>{const k=g.current;d!=="chat"||!k||_.current||!ue||r||k.scrollTop<=wr&&k.scrollHeight<=k.clientHeight+wr&&mt()},[ue,r,xe,I.length,mt,d]),o.useLayoutEffect(()=>{const k=P.current,N=g.current;!k||!N||_.current||(P.current=null,N.scrollTop=k.scrollTop+Math.max(0,N.scrollHeight-k.scrollHeight),L(N))},[I.length,L]),o.useLayoutEffect(()=>{const k=g.current;if(d!=="chat"||!D||!k){j.current=D,v.current=!0,qe(D);return}const N=j.current!==D;if(j.current=D,N||_.current){v.current=!0,Ee(k,{conversationKey:D,finishInitial:!0,settle:!0});return}const ie=Rn(k);if(v.current||ie){v.current=!0,C(!1),$(is(k)),Ee(k,{settle:!0});return}L(k,{nearBottom:ie})},[D,y,qe,c?.id,Ee,C,$,L,d]),o.useEffect(()=>()=>{J(),Te(),O()},[J,Te,O]),{chatColumnStyle:ae,chatThreadPreparingInitialScroll:oe,chatThreadRef:p,composerStackRef:S,goToUserMessage:Bt,handleChatScroll:an,jumpToLatestChatMessage:Ct,showScrollToBottomButton:X,userMessageNavigation:W,chatTimelineRows:I}}const Pu=o.lazy(()=>me(()=>import("./WorkspaceDiffPanel-CBgzmBk8.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}))),_u=o.lazy(()=>me(()=>import("./AppTerminalPanel-DRU8GIfy.js"),__vite__mapDeps([17,1,2]),import.meta.url).then(e=>({default:e.AppTerminalPanel}))),$u=o.lazy(()=>me(()=>import("./RightSidebarHomePanel-DTzfuEX3.js"),__vite__mapDeps([18,1,2,3,15,11,13]),import.meta.url).then(e=>({default:e.RightSidebarHomePanel}))),Lu=o.lazy(()=>me(()=>import("./WorkSidebarPanel-CkJlvZKm.js"),__vite__mapDeps([19,1,2,3,9,11,13,4,8,20,21,22,23]),import.meta.url).then(e=>({default:e.WorkSidebarPanel}))),Ou=o.lazy(()=>me(()=>import("./NewExperienceSwitcher-CLHuGUN5.js"),__vite__mapDeps([24,1,2,3]),import.meta.url).then(e=>({default:e.NewExperienceSwitcher}))),Du=o.lazy(()=>me(()=>import("./CollaborationTabs-BOb9PjvS.js"),__vite__mapDeps([25,1,2,3,26]),import.meta.url).then(e=>({default:e.CollaborationTabs}))),zu=o.lazy(()=>me(()=>import("./AppsView-Ck_OzQWf.js"),__vite__mapDeps([27,1,2,3,28]),import.meta.url).then(e=>({default:e.AppsView}))),Fu=o.lazy(()=>me(()=>import("./GetStartedView-jEogFjxP.js"),__vite__mapDeps([29,1,2,5,3,30,31,4,32]),import.meta.url).then(e=>({default:e.GetStartedView}))),Bu=o.lazy(()=>me(()=>import("./LabsRoute-9v8qwEBc.js").then(e=>e.n),__vite__mapDeps([33,1,2,3,20,31,10,4,0,5,6,12,34,35]),import.meta.url).then(e=>({default:e.LabsRoute}))),Uu=o.lazy(()=>me(()=>import("./ScheduledWorkPage-DdbcQGSv.js"),__vite__mapDeps([36,1,2,3,37,4,5,6,14,13]),import.meta.url).then(e=>({default:e.ScheduledWorkPage}))),qu=o.lazy(()=>me(()=>import("./OutputsPage-DIzx-Ge6.js"),__vite__mapDeps([38,1,2,3,9,4,11,20,21,22]),import.meta.url).then(e=>({default:e.OutputsPage}))),Hu=o.lazy(()=>me(()=>import("./ProjectsPage-DojwrhOy.js"),__vite__mapDeps([39,1,2,3,20,40]),import.meta.url).then(e=>({default:e.ProjectsPage}))),go=o.lazy(()=>me(()=>import("./LabSkillSidebar-C5oS6UmH.js"),__vite__mapDeps([41,1,2,3,4,13,20,21,22,42]),import.meta.url).then(e=>({default:e.LabSkillSidebar}))),Vu=o.lazy(()=>me(()=>import("./BrowserSidebar-CqciX8aL.js"),__vite__mapDeps([43,1,2,3,4,6,22,44]),import.meta.url).then(e=>({default:e.BrowserSidebar}))),Gu=o.lazy(()=>me(()=>import("./RightChatPanelStack-CIE5bgmO.js"),__vite__mapDeps([45,1,2,11,3,4,46,16,8,9,21,5,6,30,20,22]),import.meta.url).then(e=>({default:e.RightChatPanelStack}))),Wu=o.lazy(()=>me(()=>import("./NativeSkillSidebar-DXp8snN5.js"),__vite__mapDeps([47,1,2,3,13,48]),import.meta.url).then(e=>({default:e.NativeSkillSidebar}))),Xu=o.lazy(()=>me(()=>import("./TeamChatView-C4-nG1tC.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamChatView}))),Ku=o.lazy(()=>me(()=>import("./TeamChatView-C4-nG1tC.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamChatProView}))),Qu=o.lazy(()=>me(()=>import("./CommunityView-BbTSeL7h.js"),__vite__mapDeps([52,1,2,53,3,6,8,4,9,20,21,22,54]),import.meta.url).then(e=>({default:e.CommunityView}))),Ju=o.lazy(()=>me(()=>import("./TeamChatView-C4-nG1tC.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamAiThreadPanel}))),Yu=o.lazy(()=>me(()=>import("./TeamChatView-C4-nG1tC.js"),__vite__mapDeps([49,1,2,3,8,4,9,6,30,20,21,22,50,51]),import.meta.url).then(e=>({default:e.TeamAgentConversationPanel}))),Zu=o.lazy(()=>me(()=>import("./TrainingDraftPanel-BijDnV_0.js"),__vite__mapDeps([55,1,2,3,13,35]),import.meta.url).then(e=>({default:e.TrainingDraftPanel}))),ed=o.lazy(()=>me(()=>import("./MainChatThread-VtMpAxlP.js"),__vite__mapDeps([56,1,2,46,3,16,8,4,9,21,11,5,6,30,20,22]),import.meta.url).then(e=>({default:e.MainChatThread}))),td=o.lazy(()=>me(()=>import("./TrainingCreationPanel-CDwwyucO.js"),__vite__mapDeps([57,1,2,3,35]),import.meta.url).then(e=>({default:e.TrainingCreationPanel})));function nd({experience:e,onNewExperienceChange:t,view:n,teamChat:r,community:a,bootstrap:i,runtimeEvents:c,chatMessages:u,pendingUserMessage:h,contextWindowStatus:d,goalRuntime:g,subagentRuntime:y,selectedSessionId:m,composerDraftStore:p,mainComposerFocusRequestId:S,labCloseDetailRequestId:v,labCloseDetailKind:T,sideChatTrainingLaunchRequest:w,onSideChatTrainingLaunchHandled:E,mentionApps:j,connectedAppMentions:P,profileSkills:b,selectedMentionAppId:_,busy:z,turnRunning:V,activeProvider:F,activeModel:se,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,pendingApproval:ce,activeWorkspaceAppId:X,activeWorkspaceId:Ce,activeWorkspaceKind:ye,projectTarget:Me,actionCatalog:W,workspaceTarget:K,connection:I,workspaceName:ae,workspaceState:re,workspaceDiff:ke,workspaceBusy:ue,diffBusy:D,forceChatThread:oe=!1,diffPanelOpen:C,diffPanelExpanded:$,rightPanelMode:L,rightPanelTabRequest:qe,rightChatPanels:Te,runtimeEventStore:et,nativeSkillSidebar:J,extensionSkillSidebar:O,workspaceDiffPanelViewState:st,sidebarFileOpenRequest:Ee,sidebarFileBookmarks:Ct,onSetSidebarFileStatus:Bt,browserConversationId:Ie,terminalScope:mt,terminalTabs:an,terminalCwd:de,pendingTerminalCommand:k,terminalOpen:N,onToggleTerminal:ie,onWorkspaceDiffPanelViewStateChange:je,training:U,trainingSessions:Ne,trainingChatHandoff:pe,trainingDetailTasksetId:Ke,onTrainingDetailTasksetIdChange:Le,onTrainingChatTaskSelect:ht,onTrainingChatHandoffDismiss:Y,onOpenSession:ve,onExperienceHandoff:Mt,cloudProjects:Ut,projects:Et,projectsAccountBaseUrl:ms,projectsTeamName:ln,projectTaskCounts:hs,onNewCloudProject:cn,onNewProjectTask:ps,onToggleProjectPinned:qt,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:Un,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:qn,onLabDetailOpenChange:Qs,scheduledDetailOpen:Js,onScheduledDetailOpenChange:Ys,onTerminalTabsChange:we,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 _i),xt=m&&!Hr(m)?m:null,vs=Di(et,xt),Qt=o.useMemo(()=>xt?Oa(c,vs.events):c,[xt,vs.events,c]),bt=o.useMemo(()=>xt?Da(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,te]=o.useState(null),[xn,Zt]=o.useState(null),[bn,ys]=o.useState(null),[Gn,Ze]=o.useState(null),[kn,ws]=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=za(i?.profileLibrary??{profiles:[]},Xn)??i?.profile??null,Sn=o.useMemo(()=>Fa($t,i?.extensionCatalog),[i?.extensionCatalog,$t]),en=o.useMemo(()=>Ba($t),[$t]),Kn=o.useCallback(async(x,R=m)=>{if(!I||!i)return;const ne=Ua(i.profileLibrary??{profiles:[]},x);if(ne)try{const Q=R&&!Hr(R)?i.sessions.find(B=>B.id===R)??null:null,H=await uu({ref:ne,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(!qa(Ee,Ie))return;const{file:x,id:R}=Ee;if(Oe({id:R,path:x.path}),!I)return;let ne=!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(ne)return;const fe=x.path.split("/").at(-1)??x.path;gn({id:R,file:new File([H],fe,{type:sd(x)})})}).catch(H=>{ne||Z(H instanceof Error?H.message:String(H),"error")}),()=>{ne=!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=>!Ha(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=fu(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=>{te(x),x&&Ye()},[Ye]),or=o.useCallback(()=>{te(null),$&&Je()},[$,Je]);o.useEffect(()=>{n!=="labs"&&te(null)},[n]);const ar=o.useCallback((x,R)=>{const ne=Date.now(),Q=W.find(fe=>fe.id===x)??null;p.set(""),tt(null),ge("chat");const H=fe=>{if(!(fe.find(ee=>ee.id===x)??null))return!1;const ft=fe.map(ee=>ee.id===x?{...ee,label:R}:ee);return Wn(ft),window.requestAnimationFrame(()=>{ws({actionId:x,requestId:Math.max(Date.now(),ne+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=>Va(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(()=>Ga(i?.preferences),[i?.preferences]),js=Fe.training,{createAgentFromLab:Yn,improveAgentFromLab:lr}=hu({activeModel:se,activeProvider:F,bootstrap:i,codexPermissionMode:xe,codexReasoningEffort:be,connection:I,onOpenRightChatForSession:qn,onPayload:Nt}),Lt=o.useMemo(()=>{const x=U.payload?.tasksets??[];return x.some(R=>R.id===bn)?bn:x[0]?.id??null},[bn,U.payload?.tasksets]),wn=n==="labs"&&Lt?`profiles/${i?.profile.activeProfile??"default"}/tasksets/${Lt}`:null,cr=o.useMemo(()=>{if(n!=="labs"||!Lt||!U.payload)return null;const x=U.payload.tasksets.find(ee=>ee.id===Lt);if(!x)return null;const R=U.payload.plans.filter(ee=>ee.tasksetId===x.id),ne=new Set(R.map(ee=>ee.id)),Q=U.payload.jobs.filter(ee=>ne.has(ee.planId)).sort((ee,rs)=>rs.createdAt.localeCompare(ee.createdAt)),H=Q.find(ee=>ee.id===Gn)??Q[0]??null,fe=H?R.find(ee=>ee.id===H.planId)??null:R.sort((ee,rs)=>rs.createdAt.localeCompare(ee.createdAt))[0]??null,B=H?U.payload.models.find(ee=>ee.jobId===H.id)??null:null,ft=H?U.payload.artifacts.filter(ee=>ee.jobId===H.id):[];return{taskset:x,plan:fe,job:H,lineage:B,artifacts:ft}},[Lt,Gn,U.payload,n]),Ot=o.useMemo(()=>du(U.payload,m),[m,U.payload]),jn=o.useMemo(()=>yu(bt),[bt]),Cs=!!g||!!jn||!!y,Re=n==="labs"&&!!he.selection,tn=n==="labs"&&C&&L==="changes"&&!!Yt,Ms=(n==="chat"||n==="labs")&&!!X,ur=n==="chat"&&C&&L==="chat"&&Te.length===0,Es=Wa(ye)?Ce??ju(ae):null,As=n==="chat"&&!!Es,St=Es,Zn=!!St||K.value==="cloud"||K.value==="hybrid",dt=o.useMemo(()=>au({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)&&C&&(L==="changes"||L==="goal"&&Cs||ur),es=n==="chat"&&C&&L==="browser",Cn=(n==="chat"||n==="labs")&&C&&L==="chat"&&Te.length>0,Mn=n==="chat"&&C&&L==="training",ts=n==="chat"&&C&&!!J,fr=n==="chat"&&C&&!!O,ns=n==="team"&&C&&L==="chat"&&!!r.aiThread,En=n==="team"&&C&&L==="chat"&&!!r.agentConversation,sn=e==="work"&&n==="chat"&&C&&L==="home",An=Vo({supportedView:n==="chat"&&vt||n==="labs",open:C,hasContentPanel:Be||tn||es||Cn||Mn||ts||ns||En||sn}),Nn=Be||tn||es||Cn||Mn||ts||ns||En||sn||An,ss=Nn&&L!=="chat"&&$,Ns=i?.account.baseUrl??i?.account.activeProfile?.baseUrl??null,l=bu({activeWorkspaceId:Ce,cloudProjects:Ut}),f=n==="chat"&&V&&!ce&&ou(bt),A=oe||bt.length>0||f,M=m??`draft:${n}:${ye??"none"}:${Ce??X??"none"}`;ut.current=M;const G=s.jsx(Eu,{activeModel:se,activeProvider:F,busy:V,handoff:pe,onDismiss:Y,onSelectTask:ht}),q=o.useMemo(()=>({onAnswerQuestion:fn,onApprove:mn,onApplyCandidate:zn,onCancel:Ht,onOpenPullRequest:hn,onPause:Fn,onReconcilePullRequest:Vt,onRejectCandidate:Bn,onResume:Un,onRevise:Gt}),[fn,mn,zn,Ht,hn,Fn,Vt,Bn,Un,Gt]),le=o.useMemo(()=>jn?{...jn,...q}:null,[q,jn]),yt=Tu(n,A),Dt=o.useCallback(async(x=[],R=null,ne=null,Q={})=>{const H=Q.promptOverride??p.getSnapshot(),fe=()=>{Q.preservePrompt||(p.set(""),tt(null))};if(!R){const B=ne?{command:ne.id,args:H.trim()}:ko(H);if(B){if(!Xa({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 Ka(P)?(kt(ee=>ee+1),ze([],null,Qa(B.args),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:jr(B,ne?"composer_selection":"prompt_parse")})):(Z("Connect the GitHub app before using /submit-issue.","error"),!1);if(wu(B)){const ee=B.command==="skill"?lu(B.args,F,i?.profile.sourcePath??null):po(B);return kt(rs=>rs+1),ze([],null,ee,{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:jr(B,ne?"composer_selection":"prompt_parse")})}return kt(ee=>ee+1),ze([],null,po(B),{clearPrompt:Q.preservePrompt?()=>{}:void 0,usageAttribution:jr(B,ne?"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,U,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:Go,chatTimelineRows:Wo,composerStackRef:Xo,goToUserMessage:$r,handleChatScroll:Ko,jumpToLatestChatMessage:Qo,showScrollToBottomButton:Jo,userMessageNavigation:Ts}=Iu({browserConversationId:Ie,chatSubmissionVersion:Ae,chatHistoryHasMore:At,chatHistoryLoading:Hs,chatMessages:bt,onLoadMoreChatHistory:nr,pendingApproval:ce,showChatThread:A,showThinkingIndicator:f,view:n}),Rs=o.useCallback((x,R)=>{Ja({conversationId:Ie,href:x,explicitFile:R?.explicitFile,newTab:R?.newTab}).then(ne=>{ne&&Wt()})},[Ie,Wt]),Is=oi({projectTargetDetail:Me.detail,projectTargetValue:Me.value,workspaceRepoPath:re?.repoPath,workspaceTargetValue:K.value}),Lr=o.useCallback(x=>{const R=nu(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 ne=ai(x,{workspaceRootPath:Is});Ye(),Oe({id:Date.now(),path:ne?.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]),Yo=ue&&!!X&&!re,Dr=he.selection?`candidate:${he.selection.runId}:${he.selection.candidateId}`:null,Zo=Be?s.jsx(Pu,{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:wn,filesWithPreview:Re,editorPreferences:i?.preferences.editor??null,loading:Re?he.loading:We?ue:D||Yo,openFileRequest:Re?he.openFileRequest:Vn,sidebarFileBookmarks:Ct,sidebarFileSourceSessionId:m,onSetSidebarFileStatus:Bt,readOnly:Re,sideChatTabs:Te.map(x=>({id:x.id,title:x.title,running:x.running})),sourceSwitcher:Re?null:dr,tabRequest:qe,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:je,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,ea=es?s.jsx(Vu,{conversationId:Ie,expanded:$,onResizeStart:Pe}):null,ta=ns?o.createElement(Ju,{...r,key:r.aiThread?.conversationId,onResizeStart:Pe}):null,na=En?o.createElement(Yu,{...r,key:r.agentConversation?.run.id,onResizeStart:Pe}):null,sa=Cn?s.jsx(Gu,{panels:Te,runtimeEventStore:et,actionCatalog:Qn,createImproveActions:q,contextCompaction:Fe.contextCompaction,steerActiveResponses:Fe.steerActiveResponses,busy:z,codexPermissionMode:xe,codexReasoningEffort:be,openPondCommandAccessMode:$e,connection:I,connectedAppMentions:P,mentionApps:j,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,ra=An?s.jsx($u,{expanded:$,terminalOpen:N,sideChatAvailable:n==="chat"||n==="labs",onOpenBrowser:Wt,onOpenFiles:gt,onOpenReview:Ye,onOpenSideChat:_t,onOpenTrainingDraft:Xs,trainingDraftAvailable:!!m,onResizeStart:Pe,onToggleExpanded:Je,onToggleTerminal:ie}):null,oa=sn?s.jsx(Lu,{chatMessages:bt,connection:I,contextWindowStatus:d,expanded:$,runtimeEvents:Qt,sessionId:m,showToast:Z,onResizeStart:Pe,onToggleExpanded:Je,onUseOutput:x=>gn({id:Date.now(),file:x}),onHandoffOutput:async(x,R,ne)=>{await Mt({target:x,sourceSessionId:m,output:R,prompt:Ya(R,x)}),ne&&gn({id:Date.now(),file:ne})},onReviseOutput:(x,R,ne)=>{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
7
 
8
8
  ${ne}`)},onAgentPackageInstalled:async()=>{I&&Nt(await De.bootstrap(I))}}):null,aa=Mn?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Zu,{training:U,sessionId:m,expanded:$,onOpenTraining:()=>ge("labs"),onResizeStart:Pe,onToggleExpanded:Je})}):null,Tn=na??ta??sa??(ts&&J?s.jsx(Wu,{expanded:$,skill:J,onClose:Ve,onResizeStart:Pe,onToggleExpanded:Je}):null)??(fr&&O?s.jsx(go,{connection:I,expanded:$,selection:O,onClose:Ve,onResizeStart:Pe,onToggleExpanded:Je}):null)??(tn&&Yt?s.jsx(go,{connection:I,expanded:$,selection:Yt,onClose:or,onResizeStart:Pe,onToggleExpanded:Je}):null)??Zo??ea??aa??oa??ra,mr=s.jsx(o.Suspense,{fallback:null,children:s.jsx(_u,{open:N,connection:I,scope:mt,tabs:an,onTabsChange:we,cwd:de,appId:X,workspaceName:ae,queuedCommand:k,onClose:ct})});return s.jsxs("main",{className:`main-pane ${yt} ${N?"terminal-open":""} ${Nn?"diff-open":""} ${ss?"diff-expanded":""}`,children:[n==="team"||n==="community"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Du,{onSelect:ge,view:n})}):null,n==="apps"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(zu,{account:i?.account??null,connection:I,defaultTeamId:i?.preferences.defaultTeamId??null,onToast:Z})}):n==="team"?s.jsxs(o.Suspense,{fallback:null,children:[r.teamId?s.jsx(Xu,{...r}):s.jsx(Ku,{}),Nn?Tn:null]}):n==="community"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Qu,{...a})}):n==="get-started"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Fu,{})}):n==="scheduled"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Uu,{connection:I,detailOpen:Js,detailExpanded:$,onDetailOpenChange:Ys,onDetailResizeStart:Pe,onToggleDetailExpanded:Je})}):n==="outputs"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(qu,{connection:I,onViewChat:ve})}):n==="projects"?s.jsx(o.Suspense,{fallback:null,children:s.jsx(Hu,{accountBaseUrl:ms,connection:I,onNewCloudProject:cn,onNewTask:ps,onTogglePinned:qt,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(Bu,{account:i?.account??null,closeDetailRequestId:v,closeDetailKind:T,onNewModel:(x,R)=>{Zt({id:Date.now(),objective:null,initialSessionIds:[],initialTasksetId:x,learnedPreferenceReward:R})},onUseAgent:ar,onCreateAgent:Yn,onImproveAgent:lr,onDetailOpenChange:Qs,onSkillSelectionChange:rr,onOpenRunConversation:qn,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:Un,onRevise:Gt,profileView:{payload:i,connection:I,onPayload:Nt,onError:Tt,onToast:Z,onSkillCommand:ir},training:{training:U,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:w??xn,onLaunchHandled:x=>{if(w?.id===x){E(x);return}Zt(R=>R?.id===x?null:R)},preferences:js,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(ed,{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 ne=R.action==="answer"?R.text:"Dismiss this question";if(!await ze([],null,ne,{displayPrompt:ne,turnMetadata:{userQuestionResolution:R}}))throw new Error("The question response could not be sent.")},onOpenSession:ve,onScroll:x=>Ko(x.currentTarget),rows:Wo,sessionId:Ie,turnRunning:V,userAttachmentDisplay:F==="codex"?"compact":"full",threadRef:Go,workspaceRootPath:Is})}),s.jsxs("div",{className:`composer-stack dock ${ce?"has-approval":""}`,ref:Xo,children:[Ot?s.jsx(o.Suspense,{fallback:null,children:s.jsx(td,{compact:!0,creation:Ot,training:U,onOpenTraining:()=>ge("labs")})}):null,G,s.jsx(mo,{approval:ce,onResolve:Dn}),Jo&&!Xe?s.jsx(Au,{canGoNext:Ts.canGoNext,canGoPrevious:Ts.canGoPrevious,onJumpToLatest:Qo,onNext:()=>{Ts.canGoNext&&$r("next")},onPrevious:()=>{Ts.canGoPrevious&&$r("previous")}}):null,s.jsx(fo,{experience:e,draftStore:p,attachmentRequest:Ss,mode:"dock",focusRequestId:S,mentionApps:vt?j:[],connectedAppMentions:P,profileSkills:F==="codex"?i?.codexPersonalSkills??[]:Sn,selectedMentionAppId:_,contextWindowStatus:d,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(Ou,{value:e==="chat"?"chat":"work",onChange:t})}),s.jsxs("div",{className:"start-welcome",children:[s.jsx("h1",{children:pt}),Vs&&s.jsx(Nu,{busy:ue,onSync:()=>{bs()}})]}),s.jsxs("div",{className:"composer-stack start",children:[G,s.jsx(mo,{approval:ce,onResolve:Dn}),s.jsx(fo,{experience:e,draftStore:p,attachmentRequest:Ss,mode:"start",autoFocus:!0,focusRequestId:S,mentionApps:vt?j:[],connectedAppMentions:P,profileSkills:F==="codex"?i?.codexPersonalSkills??[]:Sn,selectedMentionAppId:_,contextWindowStatus:d,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 sd(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 pd=Object.freeze(Object.defineProperty({__proto__:null,MainPane:nd,shouldShowRightSidebarHomePanel:Vo},Symbol.toStringTag,{value:"Module"}));export{mo as A,bi as C,vi as F,Mi as I,pd as M,Wr as P,Pi as R,Ri as a,yi as b,ji as c,_i as d,su as e,Ru as f,Yc as g,wc as h,hd as i,Cc as j,Tc as k,md as l,Ol as m,di as n,Rc as o,Pc as r,ou as s,Di as u};