openpond 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/README.md +4 -4
  2. package/dist/cache.d.ts +7 -10
  3. package/dist/chunks/actions-command-QP3NMDK4.js +2 -0
  4. package/dist/chunks/app-layer-N7VFRVJ2.js +3 -0
  5. package/dist/chunks/app-server-runtime-OCLPUI7F.js +2 -0
  6. package/dist/chunks/apps-AMG75TI4.js +2 -0
  7. package/dist/chunks/chunk-22UARBPW.js +3 -0
  8. package/dist/chunks/chunk-3A7HZJNE.js +1 -0
  9. package/dist/chunks/chunk-3M53YXEI.js +2 -0
  10. package/dist/chunks/chunk-3NDRIQTI.js +2 -0
  11. package/dist/chunks/chunk-5BBVEWG3.js +2 -0
  12. package/dist/chunks/chunk-5O7ZVCMV.js +6 -0
  13. package/dist/chunks/chunk-6FA3GG5B.js +33 -0
  14. package/dist/chunks/chunk-6MI4KKWF.js +2 -0
  15. package/dist/chunks/chunk-BBG546O6.js +6 -0
  16. package/dist/chunks/chunk-BX4J2VDU.js +2 -0
  17. package/dist/chunks/chunk-BZMVB3GS.js +2 -0
  18. package/dist/chunks/chunk-C5LOZSVS.js +2 -0
  19. package/dist/chunks/chunk-CWQWV2T3.js +2 -0
  20. package/dist/chunks/chunk-DUA3QP6Y.js +19 -0
  21. package/dist/chunks/chunk-EAPFMACH.js +10 -0
  22. package/dist/chunks/chunk-ES2ISFJC.js +66 -0
  23. package/dist/chunks/chunk-F65NIZLM.js +2199 -0
  24. package/dist/chunks/chunk-FGJ5LFPL.js +5 -0
  25. package/dist/chunks/chunk-FTQLQJQV.js +2 -0
  26. package/dist/chunks/chunk-FY7OQ5RK.js +24 -0
  27. package/dist/chunks/chunk-FYCJSUFV.js +53 -0
  28. package/dist/chunks/chunk-GLUWATL5.js +2 -0
  29. package/dist/chunks/chunk-H7IWJN7L.js +17 -0
  30. package/dist/chunks/chunk-HZP5U2AA.js +3 -0
  31. package/dist/chunks/chunk-I5K74TOH.js +3 -0
  32. package/dist/chunks/chunk-IR3YJWPW.js +7 -0
  33. package/dist/chunks/chunk-KU7QOHFT.js +2872 -0
  34. package/dist/chunks/chunk-KV553EWX.js +16 -0
  35. package/dist/chunks/chunk-MGN6GLNZ.js +2 -0
  36. package/dist/chunks/chunk-OG5Q6NXK.js +28 -0
  37. package/dist/chunks/chunk-OGPHXXCD.js +1 -0
  38. package/dist/chunks/chunk-PI36UHRA.js +18 -0
  39. package/dist/chunks/chunk-RWSAGQTP.js +2 -0
  40. package/dist/chunks/chunk-SAE4OIPC.js +2 -0
  41. package/dist/chunks/chunk-SDO4FC4Q.js +2 -0
  42. package/dist/chunks/chunk-UKUVMXOW.js +12 -0
  43. package/dist/chunks/chunk-VCLCFK3O.js +36 -0
  44. package/dist/chunks/chunk-VYUMTRB3.js +5 -0
  45. package/dist/chunks/chunk-X37KMV27.js +1 -0
  46. package/dist/chunks/chunk-XDHAGACI.js +3 -0
  47. package/dist/chunks/chunk-XEOEKFG6.js +71 -0
  48. package/dist/chunks/chunk-ZF7TEGY5.js +5 -0
  49. package/dist/chunks/chunk-ZVOO7FKM.js +2 -0
  50. package/dist/chunks/cli-M2FG7SSI.js +2 -0
  51. package/dist/chunks/configuration-command-XBKBIZBO.js +2 -0
  52. package/dist/chunks/continual-D75WA7E7.js +7 -0
  53. package/dist/chunks/core-commands-LUZVWXQR.js +2 -0
  54. package/dist/chunks/database-X2CUV732.js +2 -0
  55. package/dist/chunks/desktop-test-KGC4JVJ7.js +3 -0
  56. package/dist/chunks/dist-NKLXFA37.js +2 -0
  57. package/dist/chunks/extension-NQ7N5LEY.js +5 -0
  58. package/dist/chunks/help-MWK66XZK.js +8 -0
  59. package/dist/chunks/module-ES6BEMUI-ZVL3F6NW.js +2 -0
  60. package/dist/chunks/module-asyncify-2EFITU5U-R7TVXNAE.js +2 -0
  61. package/dist/chunks/opchat-XJZA3QKZ.js +3 -0
  62. package/dist/chunks/organizations-UECDFEYE.js +2 -0
  63. package/dist/chunks/profile-KUMIZURM.js +3 -0
  64. package/dist/chunks/project-agent-NILMJHLV.js +2 -0
  65. package/dist/chunks/sandbox-command-QHH65OSE.js +2 -0
  66. package/dist/chunks/sandbox-template-N7I63PNU.js +10 -0
  67. package/dist/chunks/src-724HF43W.js +82 -0
  68. package/dist/chunks/src-VTKTTKQO.js +319 -0
  69. package/dist/chunks/taskset-PISBOILQ.js +2 -0
  70. package/dist/chunks/teams-bot-UV4RU53M.js +3 -0
  71. package/dist/chunks/training-2NDOWH5S.js +2 -0
  72. package/dist/chunks/workspaces-XXT4KUD3.js +2 -0
  73. package/dist/cli.js +3 -101
  74. package/dist/client.d.ts +1 -1
  75. package/dist/config.d.ts +1 -0
  76. package/dist/index.js +1 -26305
  77. package/dist/private-json-file.d.ts +1 -2
  78. package/dist/sandbox-template/manifest.js +1 -18380
  79. package/dist/web/assets/App-DxecRQUL.js +176 -0
  80. package/dist/web/assets/AppDialog-B65Eo3gp.js +1 -0
  81. package/dist/web/assets/AppTerminalPanel-B2EKQM7W.js +2 -0
  82. package/dist/web/assets/{AppsView-Ck_OzQWf.js → AppsView-BBoVe7s2.js} +1 -1
  83. package/dist/web/assets/{BrowserSidebar-CqciX8aL.js → BrowserSidebar-CSM1atSJ.js} +1 -1
  84. package/dist/web/assets/{CartesianChart-Y0lsL4vC.js → CartesianChart-CJKfXiEG.js} +1 -1
  85. package/dist/web/assets/{CollaborationTabs-BOb9PjvS.js → CollaborationTabs-BMZamWFC.js} +1 -1
  86. package/dist/web/assets/{CommandMenu-Co6JnmTu.js → CommandMenu-B3U1z2eo.js} +1 -1
  87. package/dist/web/assets/{CommunityView-BbTSeL7h.js → CommunityView-CTyRUcfy.js} +1 -1
  88. package/dist/web/assets/{ComposerCreateImproveStrip-BGzCWVFp.js → ComposerCreateImproveStrip-D7usvRtK.js} +1 -1
  89. package/dist/web/assets/GetStartedView-Ibu7oKWJ.js +1 -0
  90. package/dist/web/assets/HostedModelLearningReview-qnzIkT70.js +1 -0
  91. package/dist/web/assets/HostedModelLearningSettings--PKjpYsy.js +1 -0
  92. package/dist/web/assets/LabModelVersionDetailPage-s9uUN6fV.js +1 -0
  93. package/dist/web/assets/{LabSkillSidebar-C5oS6UmH.js → LabSkillSidebar-BKYseMiJ.js} +1 -1
  94. package/dist/web/assets/LabsRoute-C1FWCoYb.css +1 -0
  95. package/dist/web/assets/LabsRoute-DoRs0K6v.js +32 -0
  96. package/dist/web/assets/MainChatThread-DvuyMcMB.js +2 -0
  97. package/dist/web/assets/MainPane-BWwcxgHD.js +8 -0
  98. package/dist/web/assets/{MarkdownText-DqJarmTh.js → MarkdownText-D8XC5UT_.js} +1 -1
  99. package/dist/web/assets/{Messages-BaT7HOzB.js → Messages-e4A8JUjD.js} +6 -6
  100. package/dist/web/assets/{NativeSkillSidebar-DXp8snN5.js → NativeSkillSidebar-D2Joh8XB.js} +1 -1
  101. package/dist/web/assets/{NewExperienceSwitcher-CLHuGUN5.js → NewExperienceSwitcher-CzGebt2E.js} +1 -1
  102. package/dist/web/assets/{NewProjectDialog-CzpHCAaC.js → NewProjectDialog-CdMTSxUE.js} +1 -1
  103. package/dist/web/assets/{OutputsPage-DIzx-Ge6.js → OutputsPage-m7cSb8dW.js} +1 -1
  104. package/dist/web/assets/{ProjectsPage-DojwrhOy.js → ProjectsPage-C9mz8W1g.js} +1 -1
  105. package/dist/web/assets/RightChatPanelStack-B4LEqKEj.js +1 -0
  106. package/dist/web/assets/{RightSidebarHomePanel-DTzfuEX3.js → RightSidebarHomePanel-DOeUsH7h.js} +1 -1
  107. package/dist/web/assets/ScheduledWorkPage-UXZSSWgA.js +1 -0
  108. package/dist/web/assets/SettingsView-CAH0vreE.css +1 -0
  109. package/dist/web/assets/SettingsView-CQm1ai73.js +9 -0
  110. package/dist/web/assets/TeamChatView-C4haojB7.js +3 -0
  111. package/dist/web/assets/{TerminalOverlay-DnNVrCtu.js → TerminalOverlay-p2GZsuyQ.js} +3 -3
  112. package/dist/web/assets/{TrainingCreationPanel-CDwwyucO.js → TrainingCreationPanel-BYJSlO8X.js} +1 -1
  113. package/dist/web/assets/{TrainingDraftPanel-BijDnV_0.js → TrainingDraftPanel-DR5KlayH.js} +1 -1
  114. package/dist/web/assets/{UsageSettingsSection-Y5BFAu1p.js → UsageSettingsSection-BQToNXE4.js} +5 -5
  115. package/dist/web/assets/{WorkSidebarPanel-CkJlvZKm.js → WorkSidebarPanel--EeytWeg.js} +1 -1
  116. package/dist/web/assets/WorkspaceDiffPanel-BrovSYhn.js +14 -0
  117. package/dist/web/assets/{WorkspaceEnvironmentMenu-D8knAy1q.js → WorkspaceEnvironmentMenu-l-keRgvj.js} +3 -3
  118. package/dist/web/assets/{WorkspaceGitDialogs-_LHTrvh6.js → WorkspaceGitDialogs-aicWzaZu.js} +1 -1
  119. package/dist/web/assets/{WorkspaceMonacoEditor-B2B7OM_L.js → WorkspaceMonacoEditor-CO_E74jM.js} +36 -36
  120. package/dist/web/assets/{arrow-up-right-4nAzMtjW.js → arrow-up-right-rwPXNfVn.js} +1 -1
  121. package/dist/web/assets/chat-file-links-B3jDstSC.js +1 -0
  122. package/dist/web/assets/chevron-up-D089nvYQ.js +1 -0
  123. package/dist/web/assets/{clipboard-BzjUoZFo.js → clipboard-DwEExyU4.js} +1 -1
  124. package/dist/web/assets/{cloud-upload-CsrrwS-b.js → cloud-upload-D2he0-vQ.js} +1 -1
  125. package/dist/web/assets/{cssMode-CIbSSHKJ.js → cssMode-DS4k0NcI.js} +1 -1
  126. package/dist/web/assets/{folder-open-vRTuLzpS.js → folder-open-CAOLduKD.js} +1 -1
  127. package/dist/web/assets/{folder-plus-hyqwgUnx.js → folder-plus-D56MrxVT.js} +1 -1
  128. package/dist/web/assets/{git-commit-horizontal-CaxKfeYa.js → git-commit-horizontal-CeNM0oKJ.js} +1 -1
  129. package/dist/web/assets/{htmlMode-C3MGQGam.js → htmlMode-Xkni5erh.js} +1 -1
  130. package/dist/web/assets/{index-ByQIHpc9.css → index-BGMzUaup.css} +1 -1
  131. package/dist/web/assets/{index-Dvq7bpBG.js → index-KwyAyscP.js} +1 -1
  132. package/dist/web/assets/{info-aYWeE1Iw.js → info-CcrBaEE_.js} +1 -1
  133. package/dist/web/assets/{jsonMode-CpD6UkT7.js → jsonMode-C4YPbQB7.js} +1 -1
  134. package/dist/web/assets/{lspLanguageFeatures-DpcK8ZI6.js → lspLanguageFeatures-CF5oMTz6.js} +1 -1
  135. package/dist/web/assets/{minimize-2-DeYg7XqB.js → minimize-2-DzHQnInk.js} +1 -1
  136. package/dist/web/assets/{monaco.contribution-CrrdDQgP.js → monaco.contribution-0EN4mGCC.js} +2 -2
  137. package/dist/web/assets/{monaco.contribution-JWFq0HzV.js → monaco.contribution-B4qcTP0w.js} +2 -2
  138. package/dist/web/assets/{monaco.contribution-BDTM0ZJq.js → monaco.contribution-CJK_NrBm.js} +2 -2
  139. package/dist/web/assets/{monaco.contribution-C-_ekTxy.js → monaco.contribution-CkPGKNd-.js} +2 -2
  140. package/dist/web/assets/{play-BqgRTddV.js → play-p3-AMTPL.js} +1 -1
  141. package/dist/web/assets/{python-B67wope9.js → python-B0kpTxAZ.js} +1 -1
  142. package/dist/web/assets/{refresh-cw-DwMA_2On.js → refresh-cw-_jbTIzzr.js} +1 -1
  143. package/dist/web/assets/{save-B0BKh5oQ.js → save-Cy6hEotx.js} +1 -1
  144. package/dist/web/assets/{square-LY3oz82L.js → square-DKQkcrOH.js} +1 -1
  145. package/dist/web/assets/{toggleHighContrast-B2jka5B1.js → toggleHighContrast-Bnk1VVVq.js} +1 -1
  146. package/dist/web/assets/{tsMode-1MUwluYD.js → tsMode-BDrSVy7V.js} +1 -1
  147. package/dist/web/assets/{upload-bSKSkFVa.js → upload-COn0my_O.js} +1 -1
  148. package/dist/web/assets/{useLocalAgentSchedules--jnnM4Fz.js → useLocalAgentSchedules-iZNB4Oee.js} +1 -1
  149. package/dist/web/assets/{wifi-off-DA34iPmr.js → wifi-off-Cqt-ZLXY.js} +1 -1
  150. package/dist/web/assets/{workers-CczIcRcl.js → workers-hu0Ym93h.js} +1 -1
  151. package/dist/web/assets/{yaml-DwEGoHA9.js → yaml-D-JLDGL6.js} +1 -1
  152. package/dist/web/index.html +2 -2
  153. package/docs/command-reference.md +28 -2
  154. package/package.json +10 -7
  155. package/dist/chunks/actions-command-6N5XWMR6.js +0 -185
  156. package/dist/chunks/app-layer-XEYHFJHI.js +0 -214
  157. package/dist/chunks/app-server-runtime-FJM2EQPH.js +0 -21
  158. package/dist/chunks/apps-GSXUDK6V.js +0 -427
  159. package/dist/chunks/chunk-2JABRRNR.js +0 -183
  160. package/dist/chunks/chunk-47EIAYI7.js +0 -2162
  161. package/dist/chunks/chunk-4L3ZJS2T.js +0 -1207
  162. package/dist/chunks/chunk-5TKZBMQM.js +0 -731
  163. package/dist/chunks/chunk-6G6MDZLM.js +0 -14509
  164. package/dist/chunks/chunk-BVY5JYM6.js +0 -512
  165. package/dist/chunks/chunk-C5TKGE5Y.js +0 -1275
  166. package/dist/chunks/chunk-CNTM26OW.js +0 -602
  167. package/dist/chunks/chunk-D7BO5Y5J.js +0 -1531
  168. package/dist/chunks/chunk-DJL4TJYG.js +0 -70
  169. package/dist/chunks/chunk-DLQQIWN2.js +0 -648
  170. package/dist/chunks/chunk-DNXBJZAU.js +0 -630
  171. package/dist/chunks/chunk-EFET7LB7.js +0 -1331
  172. package/dist/chunks/chunk-FQS2QL5F.js +0 -14522
  173. package/dist/chunks/chunk-HFPUR4CQ.js +0 -669
  174. package/dist/chunks/chunk-J3YDKJFD.js +0 -88
  175. package/dist/chunks/chunk-J7PYGDRY.js +0 -634
  176. package/dist/chunks/chunk-JTHL5XJ2.js +0 -1838
  177. package/dist/chunks/chunk-KSRWKXRB.js +0 -12
  178. package/dist/chunks/chunk-KWDOAJJI.js +0 -238
  179. package/dist/chunks/chunk-MUMPWI4O.js +0 -92
  180. package/dist/chunks/chunk-N3TGCM7J.js +0 -1135
  181. package/dist/chunks/chunk-NTK22KJD.js +0 -10707
  182. package/dist/chunks/chunk-O6B6YCMI.js +0 -57688
  183. package/dist/chunks/chunk-R3C3MNSI.js +0 -140
  184. package/dist/chunks/chunk-SMNFI2FU.js +0 -113
  185. package/dist/chunks/chunk-UACZUFIA.js +0 -47
  186. package/dist/chunks/chunk-W5GKHH77.js +0 -168
  187. package/dist/chunks/chunk-WBAZFKC7.js +0 -1643
  188. package/dist/chunks/chunk-X7ZG4TSW.js +0 -3063
  189. package/dist/chunks/chunk-YVCYVDNP.js +0 -746
  190. package/dist/chunks/cli-6PFRZ2WV.js +0 -21
  191. package/dist/chunks/continual-FYDKLCO7.js +0 -803
  192. package/dist/chunks/core-commands-MAN3CSJQ.js +0 -48
  193. package/dist/chunks/desktop-test-OE5SST2W.js +0 -146
  194. package/dist/chunks/extension-J3CIEDP4.js +0 -10041
  195. package/dist/chunks/help-JNGJJFU5.js +0 -67
  196. package/dist/chunks/opchat-6HEQJFLL.js +0 -167
  197. package/dist/chunks/organizations-MWAPNOCK.js +0 -804
  198. package/dist/chunks/profile-P7HMONTZ.js +0 -1134
  199. package/dist/chunks/project-agent-2RAK7GAZ.js +0 -514
  200. package/dist/chunks/sandbox-command-G22CPFNK.js +0 -1659
  201. package/dist/chunks/sandbox-template-S4WRUWJ6.js +0 -1653
  202. package/dist/chunks/src-BKBZ7WLO.js +0 -3624
  203. package/dist/chunks/src-RTGN2O4H.js +0 -65745
  204. package/dist/chunks/taskset-BMI7KOWP.js +0 -66
  205. package/dist/chunks/teams-bot-5VBYEN7M.js +0 -144
  206. package/dist/chunks/training-UPVSGDTB.js +0 -17
  207. package/dist/chunks/workspaces-IJQPWX3H.js +0 -99
  208. package/dist/web/assets/App-BOkhmdHu.js +0 -173
  209. package/dist/web/assets/AppDialog-BCjKFUBn.js +0 -1
  210. package/dist/web/assets/AppTerminalPanel-DRU8GIfy.js +0 -2
  211. package/dist/web/assets/GetStartedView-jEogFjxP.js +0 -1
  212. package/dist/web/assets/LabModelVersionDetailPage-CrudId_1.js +0 -1
  213. package/dist/web/assets/LabsRoute-9v8qwEBc.js +0 -2
  214. package/dist/web/assets/LabsRoute-CGFgymTX.css +0 -1
  215. package/dist/web/assets/MainChatThread-VtMpAxlP.js +0 -2
  216. package/dist/web/assets/MainPane-BbknUzp3.js +0 -8
  217. package/dist/web/assets/RightChatPanelStack-CIE5bgmO.js +0 -1
  218. package/dist/web/assets/ScheduledWorkPage-DdbcQGSv.js +0 -1
  219. package/dist/web/assets/SettingsView-CC5GXaE1.css +0 -1
  220. package/dist/web/assets/SettingsView-QT_OLmDh.js +0 -6
  221. package/dist/web/assets/TeamChatView-C4-nG1tC.js +0 -3
  222. package/dist/web/assets/WorkspaceDiffPanel-CBgzmBk8.js +0 -14
  223. package/dist/web/assets/chat-file-links-Bned0MT7.js +0 -1
  224. package/dist/web/assets/chevron-up-DK7ejCfk.js +0 -1
  225. package/dist/web/assets/index-66-ohHD5.js +0 -1
@@ -1,3 +0,0 @@
1
- import{j as t,r as o}from"./index-Dvq7bpBG.js";/* empty css */import{cj as X,X as R,ck as le,cl as Y,ai as re,am as E,o as ce,ap as de,ar as me,cm as ue,cn as ge,co as he,az as fe,cp as xe,cq as ve}from"./App-BOkhmdHu.js";import{R as L,g as U}from"./MainPane-BbknUzp3.js";import{M as N}from"./MarkdownText-DqJarmTh.js";import{T as Ce,B as T}from"./chat-file-links-Bned0MT7.js";import{R as G}from"./refresh-cw-DwMA_2On.js";import{r as ye}from"./index-66-ohHD5.js";import"./cloud-upload-CsrrwS-b.js";import"./arrow-up-right-4nAzMtjW.js";import"./square-LY3oz82L.js";import"./desktop-files-BQj1J-ob.js";function be(e,l){const s=new Set(Array.from(e.matchAll(/(?:^|\s)@([a-zA-Z0-9_-]+)/g),n=>(n[1]??"").toLowerCase()));return l.filter(n=>{const c=n.handle?.toLowerCase(),r=n.name.toLowerCase().replace(/[^a-z0-9_-]+/g,"-");return c&&s.has(c)||s.has(r)}).map(n=>n.userId)}function je(e){return t.jsxs("div",{className:"team-chat-composer-reply",role:"status",children:[t.jsx(L,{size:15,"aria-hidden":"true"}),t.jsxs("button",{type:"button",className:"team-chat-composer-reply-target","aria-label":`Jump to message from ${e.authorLabel}`,onClick:e.onJump,children:[t.jsxs("strong",{children:["Replying to ",e.authorLabel]}),t.jsx("span",{children:X(e.target)})]}),t.jsx("button",{type:"button",className:"team-chat-icon-button","aria-label":"Cancel reply","data-tooltip":"Cancel reply",onClick:e.onCancel,children:t.jsx(R,{size:14})})]})}function we(e){return t.jsxs("button",{type:"button",className:"team-chat-message-reply-quote","aria-label":`Jump to replied message from ${e.authorLabel}`,onClick:e.onJump,children:[t.jsx("strong",{children:e.authorLabel}),t.jsx("span",{children:X(e.target)})]})}function Te(e){const l=o.useRef(null);if(o.useEffect(()=>{if(!e.menu)return;l.current?.focus();const n=()=>e.onClose(),c=r=>{r.key==="Escape"&&n()};return window.addEventListener("click",n),window.addEventListener("blur",n),window.addEventListener("keydown",c),window.addEventListener("scroll",n,!0),()=>{window.removeEventListener("click",n),window.removeEventListener("blur",n),window.removeEventListener("keydown",c),window.removeEventListener("scroll",n,!0)}},[e.menu,e.onClose]),!e.menu||typeof document>"u")return null;const s=t.jsx("div",{className:"team-chat-message-context-menu",role:"menu","aria-label":"Message actions",style:{left:e.menu.x,top:e.menu.y},onClick:n=>n.stopPropagation(),children:t.jsxs("button",{ref:l,type:"button",role:"menuitem",onClick:()=>{e.onReply(e.menu.message),e.onClose()},children:[t.jsx(L,{size:14}),"Reply"]})});return ye.createPortal(s,document.body)}function Me(e){const c=e.clientX||e.fallbackX,r=e.clientY||e.fallbackY;return{x:Math.max(8,Math.min(c,e.viewportWidth-150-8)),y:Math.max(8,Math.min(r,e.viewportHeight-42-8))}}function V(e){return`team-chat-message-${encodeURIComponent(e)}`}function Re(e){const[l,s]=o.useState(!1),[n,c]=o.useState(e.message.body),r=e.message.refs.find(a=>a.refType==="hosted_ai_thread"),m=e.message.refs.find(a=>a.refType==="agent_run"),C=typeof r?.preview.status=="string"?r.preview.status:null,h=typeof e.message.metadata.deliveryStatus=="string"?e.message.metadata.deliveryStatus:null,b=typeof e.message.metadata.uploadProgress=="string"?e.message.metadata.uploadProgress:null,d=!e.message.deletedAt&&!h,g=le(e.message,e.messagesById),y=g?Y(g,e.membersById):null;return t.jsxs("article",{id:V(e.message.id),className:`team-chat-message${e.own?" own":""}`,tabIndex:-1,onContextMenu:a=>{if(!d)return;a.preventDefault();const x=a.currentTarget.getBoundingClientRect();e.onOpenReplyMenu(e.message,{clientX:a.clientX,clientY:a.clientY,fallbackX:x.right-12,fallbackY:x.top+24})},children:[t.jsx(Ie,{member:e.author}),t.jsxs("div",{className:"team-chat-message-content",children:[t.jsxs("header",{children:[t.jsx("strong",{children:e.author?.name??"Team member"}),t.jsx("time",{children:Se(e.message.createdAt)}),e.message.editedAt?t.jsx("span",{children:"edited"}):null,h==="sending"?t.jsx("span",{children:"sending"}):null,h==="sending"&&b?t.jsxs("span",{children:["uploaded ",b]}):null,h==="failed"?t.jsx("span",{className:"failed",children:"not sent"}):null,h==="failed"?t.jsxs("div",{className:"team-chat-message-actions visible",children:[t.jsx("button",{type:"button","data-tooltip":"Retry message","aria-label":"Retry message",onClick:()=>{e.onRetry(e.message)},children:t.jsx(G,{size:13})}),t.jsx("button",{type:"button","data-tooltip":"Remove failed message","aria-label":"Remove failed message",onClick:()=>e.onDismissFailed(e.message),children:t.jsx(R,{size:13})})]}):d||e.own&&!e.message.deletedAt?t.jsxs("div",{className:"team-chat-message-actions",children:[d?t.jsx("button",{type:"button","data-tooltip":"Reply","aria-label":"Reply to message",onClick:()=>e.onReply(e.message),children:t.jsx(L,{size:13})}):null,e.own&&!r?t.jsx("button",{type:"button","data-tooltip":"Edit message","aria-label":"Edit message",onClick:()=>s(!0),children:t.jsx(re,{size:13})}):null,e.own?t.jsx("button",{type:"button","data-tooltip":"Delete message","aria-label":"Delete message",onClick:()=>{e.onDelete(e.message)},children:t.jsx(Ce,{size:13})}):null]}):null]}),g&&y?t.jsx(we,{authorLabel:y,target:g,onJump:()=>e.onJumpToMessage(g.id)}):null,l?t.jsxs("form",{className:"team-chat-message-edit",onSubmit:a=>{a.preventDefault(),e.onEdit(e.message,n).then(x=>{x&&s(!1)})},children:[t.jsx("textarea",{autoFocus:!0,value:n,onChange:a=>c(a.currentTarget.value),onKeyDown:a=>{a.key==="Escape"&&(a.preventDefault(),s(!1),c(e.message.body))}}),t.jsxs("div",{children:[t.jsx("button",{type:"button",onClick:()=>s(!1),children:"Cancel"}),t.jsx("button",{type:"submit",disabled:!n.trim(),children:"Save"})]})]}):t.jsx("div",{className:e.message.deletedAt?"deleted":"",children:e.message.deletedAt?"Message deleted":e.message.body}),!e.message.deletedAt&&e.message.attachments.length>0?t.jsx(Ae,{message:e.message,connection:e.connection}):null,r?t.jsxs("button",{type:"button",className:"team-chat-thread-link",onClick:()=>{e.onOpenAiThread(r.refId)},children:[t.jsx(E,{size:14}),t.jsx("span",{children:"Thread"}),C&&C!=="completed"?t.jsx("small",{children:K(C)}):null,t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null,m?t.jsxs("button",{type:"button",className:"team-chat-thread-link",onClick:()=>{e.onOpenAgentConversation(m.refId)},children:[t.jsx(T,{size:14}),t.jsx("span",{children:"Agent run"}),t.jsx("small",{children:K(String(m.preview.status??"queued"))}),t.jsx("span",{"aria-hidden":"true",children:"›"})]}):null]})]})}function Ae(e){const l=new Map(Array.isArray(e.message.metadata.localAttachmentPreviews)?e.message.metadata.localAttachmentPreviews.flatMap(s=>{if(!s||typeof s!="object")return[];const n=s;return typeof n.id=="string"&&typeof n.url=="string"?[[n.id,n.url]]:[]}):[]);return t.jsx("div",{className:"team-chat-message-images",children:e.message.attachments.map(s=>t.jsx(Pe,{attachmentId:s.id,alt:s.name,teamId:e.message.teamId,connection:e.connection,localUrl:l.get(s.clientAttachmentId)??null},s.id))})}function Pe(e){const[l,s]=o.useState(e.localUrl),[n,c]=o.useState(!1),r=o.useRef(0);async function m(){if(!e.connection||e.localUrl){e.localUrl||c(!0);return}c(!1);try{const C=await ce.teamChatAttachmentDownload(e.connection,e.teamId,e.attachmentId);s(C.url)}catch{s(null),c(!0)}}return o.useEffect(()=>{s(e.localUrl),c(!1),r.current=0,e.localUrl||m()},[e.attachmentId,e.connection,e.localUrl,e.teamId]),l?t.jsx("a",{href:l,target:"_blank",rel:"noreferrer","aria-label":`Open ${e.alt}`,children:t.jsx("img",{src:l,alt:e.alt,loading:"lazy",onError:()=>{if(!e.localUrl&&r.current<1){r.current+=1,m();return}s(null),c(!0)}})}):n?t.jsx("button",{type:"button",className:"team-chat-message-image-retry","aria-label":`Retry ${e.alt}`,"data-tooltip":"Retry image",onClick:()=>{r.current=0,e.localUrl?(c(!1),s(e.localUrl)):m()},children:t.jsx(G,{size:18})}):t.jsx("div",{className:"team-chat-message-image-loading",role:"status","aria-label":`Loading ${e.alt}`})}function K(e){return e==="pending"?"Starting":e==="running"?"Responding":e==="failed"?"Failed":e==="interrupted"?"Interrupted":e==="cancelled"?"Cancelled":e}function Ie({member:e}){if(e?.image)return t.jsx("img",{className:"team-chat-avatar",src:e.image,alt:""});const l=(e?.name??"T").split(/\s+/).slice(0,2).map(s=>s[0]?.toUpperCase()??"").join("");return t.jsx("span",{className:"team-chat-avatar fallback",children:l})}function Se(e){const l=new Date(e);return Number.isFinite(l.getTime())?l.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"}):""}const z={value:"none",label:"No project",detail:"Team conversation",options:[],busy:!1},D={value:"local",label:"Local",detail:"Local execution",options:[],action:{value:"local",label:"Local",detail:"Local execution",disabled:!1},busy:!1},Q=new Set(["codex","openai","xai","openrouter","deepseek","zai","moonshot","together","groq","custom-openai-compatible"]);function ke(e,l){return!l||e===l?e:e?`${l}
2
-
3
- ${e}`:l}function We(){return t.jsx("section",{className:"team-chat-view team-chat-pro-view","aria-label":"Team Chat",children:t.jsxs("div",{className:"team-chat-pro-content",children:[t.jsx("span",{className:"team-chat-pro-icon","aria-hidden":"true",children:t.jsx(E,{size:22})}),t.jsx("h1",{children:"Team Chat"}),t.jsx("p",{children:"Team Chat is available with Pro mode."}),t.jsx("small",{children:"Create or join a Pro team to chat with teammates, coordinate work, and share agents."})]})})}function Je(e){de(e.error);const[l,s]=o.useState(""),[n,c]=o.useState(!1),[r,m]=o.useState(null),[C,h]=o.useState(null),[b,d]=o.useState(0),g=o.useRef(null),y=o.useRef(!0),a=o.useRef(e.detail?.thread.id??null);a.current=e.detail?.thread.id??null;const{confirmAction:x,confirmDialog:O,resolveConfirmDialog:A}=me(),P=o.useMemo(()=>new Map(e.members.map(i=>[i.userId,i])),[e.members]),q=o.useMemo(()=>new Map((e.detail?.messages??[]).map(i=>[i.id,i])),[e.detail?.messages]),Z=e.detail?.thread.id??null,B=r?.threadId===Z?q.get(r.message.id)??r.message:null,M=B?.deletedAt?null:B,j=M?ue(M):null,$=j?Y(j,P):null,p=e.detail?ge(e.detail.thread,e.currentUserId):"Team",I=Q.has(e.provider)?e.provider:"codex",_=I===e.provider?e.model:"gpt-5.6-sol",ee=o.useMemo(()=>he({hostedActions:e.agents,profile:e.profile,teamId:e.teamId}),[e.agents,e.profile,e.teamId]),te=e.detail?.messages.at(-1)?.sequence??0;o.useEffect(()=>{if(!y.current)return;const i=g.current;i&&(i.scrollTop=i.scrollHeight)},[te,e.detail?.thread.id]);const F=o.useCallback(i=>{i.deletedAt||i.id.startsWith("pending:")||typeof i.metadata.deliveryStatus=="string"||(m({threadId:i.threadId,message:i}),c(!1),h(null),d(f=>f+1))},[]),ne=o.useCallback(()=>h(null),[]),ae=o.useCallback((i,f)=>{const v=Me({...f,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h({message:i,...v})},[]),W=o.useCallback(i=>{const f=document.getElementById(V(i));f&&(f.scrollIntoView({behavior:"smooth",block:"center"}),f.focus({preventScroll:!0}))},[]);async function se(i=[],f=null){if(i.some(u=>u.kind!=="image"||!["image/png","image/jpeg","image/webp","image/gif"].includes(u.mediaType)))return e.showToast("Team chat supports PNG, JPEG, WebP, and GIF images.","error"),!1;let v=f;if(M&&v)return e.showToast("Remove the agent action before replying to a message.","error"),!1;if(xe(v)){const u=ve(v);if(!u)throw new Error("The selected profile agent is missing its profile id.");if(!await x({title:`Publish ${v.label??v.name??"agent"} to Team?`,body:`This will upload the committed agent source to ${e.teamName??"this Team"}, create its hosted runtime, and then send your message.`,confirmLabel:"Publish and send",tone:"default"}))return!1;v=await e.onPublishProfileAgent(u)}const S=v?.approvalPolicy?.risk;let J=null;if(v?.approvalPolicy?.required&&S&&S!=="read"){const u=S==="destructive";if(!await x({title:u?"Approve destructive action?":"Approve external write?",body:`${v.label??v.name??"This agent action"} will use the workspace connection to ${u?"perform a destructive operation":"write external data"}. Approve this run only?`,confirmLabel:u?"Approve destructive action":"Approve write",tone:u?"danger":"default"}))return!1;J=crypto.randomUUID()}const k=l,oe=e.detail?.thread.id??null,w=M,H=()=>{a.current===oe&&(s(u=>ke(u,k)),w&&m(u=>u??{threadId:w.threadId,message:w}))};s(""),w&&m(null);try{const u=await e.onSendMessage({body:k,useModel:n,providerId:I,modelId:_,mentionUserIds:be(k,e.members),attachments:i,replyToMessage:w,selectedActionKey:v?.id??null,approvalId:J});return u?n&&c(!1):H(),u}catch(u){throw H(),u}}return t.jsxs("section",{className:"team-chat-view",children:[t.jsxs("div",{className:"team-chat-main conversation-surface-main",children:[t.jsxs("div",{className:"team-chat-messages conversation-message-scroll",role:"log","aria-live":"polite","aria-relevant":"additions text","aria-busy":e.loading,"aria-label":p,tabIndex:0,ref:g,onScroll:i=>{const f=i.currentTarget;y.current=f.scrollHeight-f.scrollTop-f.clientHeight<72},children:[e.detail?.hasMoreBefore?t.jsx("button",{type:"button",className:"team-chat-load-older",disabled:e.loading,onClick:()=>{e.onLoadMoreMessages()},children:e.loading?"Loading...":"Load older messages"}):null,e.loading&&!e.detail?t.jsx("div",{className:"team-chat-empty",children:"Loading messages..."}):e.detail?.messages.length?e.detail.messages.map(i=>t.jsx(Re,{message:i,author:i.authorUserId?P.get(i.authorUserId)??null:null,own:i.authorUserId===e.currentUserId,onOpenAiThread:e.onOpenAiThread,onOpenAgentConversation:e.onOpenAgentConversation,onEdit:e.onEditMessage,onDelete:e.onDeleteMessage,onRetry:e.onRetryMessage,onDismissFailed:e.onDismissFailedMessage,membersById:P,messagesById:q,onReply:F,onOpenReplyMenu:ae,onJumpToMessage:W,connection:e.connection},i.id)):t.jsx("div",{className:"team-chat-empty",children:"No messages yet"})]}),t.jsxs("div",{className:"team-chat-composer-shell conversation-composer-shell",children:[j&&$?t.jsx(je,{authorLabel:$,target:j,onCancel:()=>m(null),onJump:()=>W(j.id)}):null,t.jsx(U,{mode:"dock",surface:"team",teamUseModel:n,teamUseModelLocked:!!j,teamMentionMembers:e.members.filter(i=>i.userId!==e.currentUserId),actionCatalog:ee,onTeamUseModelChange:c,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy,running:!1,focusRequestId:b,submissionScopeKey:`team:${e.detail?.thread.id??"none"}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:I,model:_,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(i,f)=>se(i??[],f??null),onStop:()=>!1})]})]}),t.jsx(Te,{menu:C,onClose:ne,onReply:F}),t.jsx(fe,{state:O,onResolve:A})]})}function He(e){const[l,s]=o.useState(""),n=e.agentConversation,c=o.useRef(null),r=o.useRef(null),m=o.useRef(null),C=n.messages.at(-1)?.sequence??0,h=["pending","queued","running"].includes(n.run.status);o.useEffect(()=>{const d=c.current;d&&(d.scrollTop=d.scrollHeight)},[C,n.run.status]),o.useEffect(()=>{r.current?.focus();const d=g=>{g.key==="Escape"&&(g.preventDefault(),e.onCloseAgentConversation())};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[e.onCloseAgentConversation]);async function b(d){const g=m.current??crypto.randomUUID();m.current=g;const y=await e.onSendAgentTurn({body:d??l,clientRequestId:g});return y&&(m.current=null,s("")),y}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":`${n.agent.name} run`,children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize agent run panel",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(T,{size:15}),t.jsx("strong",{children:n.agent.name}),t.jsx("span",{children:n.run.status})]}),t.jsx("button",{ref:r,type:"button",className:"team-chat-icon-button","aria-label":"Close agent run",onClick:e.onCloseAgentConversation,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:c,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(d=>t.jsxs("article",{className:`team-ai-message ${d.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[d.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:d.role==="user"?"Team member":n.agent.name})]}),t.jsx(N,{connection:e.connection,content:d.body})]},d.id)),n.messages.length===0?t.jsx("div",{className:"team-chat-empty",children:"The agent run is starting."}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(U,{mode:"dock",surface:"team",teamUseModel:!1,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:e.busy||h,running:h,interruptRunningTurnBeforeSteer:!1,submissionScopeKey:`team-agent:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:e.provider,model:e.model,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:d=>{m.current=null,s(d)},showToast:e.showToast,onSubmit:async(d,g,y,a)=>b(a?.promptOverride),onStop:()=>!1})})]})}function Ke(e){const[l,s]=o.useState(""),n=e.aiThread,c=new Map(e.members.map(a=>[a.userId,a])),r=n.turns.at(-1)??null,m=o.useRef(null),C=n.messages.at(-1)?.sequence??0,h=o.useRef(null),b=Q.has(e.provider)?e.provider:"codex",d=b===e.provider?e.model:"gpt-5.6-sol",g=!!(n.activeTurn&&(n.activeTurn.status==="pending"||n.activeTurn.status==="running"));o.useEffect(()=>{const a=m.current;a&&(a.scrollTop=a.scrollHeight)},[C,n.activeTurn?.partialBody]),o.useEffect(()=>{h.current?.focus();const a=x=>{x.key==="Escape"&&(x.preventDefault(),e.onCloseAiThread())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[e.onCloseAiThread]);async function y(a){const x=await e.onSendAiTurn({body:a??l,providerId:b,modelId:d});return x&&s(""),x}return t.jsxs("aside",{className:"workspace-diff-panel team-ai-thread-panel","aria-label":"AI thread",children:[e.onResizeStart?t.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-label":"Resize AI thread panel","aria-orientation":"vertical",onPointerDown:e.onResizeStart}):null,t.jsxs("header",{children:[t.jsxs("div",{children:[t.jsx(E,{size:15}),t.jsx("strong",{children:"AI thread"}),t.jsxs("span",{children:[n.messages.length," messages"]})]}),t.jsx("button",{ref:h,type:"button",className:"team-chat-icon-button","data-tooltip":"Close thread","aria-label":"Close thread",onClick:e.onCloseAiThread,children:t.jsx(R,{size:16})})]}),t.jsxs("div",{className:"team-ai-thread-messages",ref:m,role:"log","aria-live":"polite","aria-relevant":"additions text",tabIndex:0,children:[n.messages.map(a=>t.jsxs("article",{className:`team-ai-message ${a.role}`,children:[t.jsxs("div",{className:"team-ai-message-author",children:[a.role==="assistant"?t.jsx(T,{size:14}):null,t.jsx("strong",{children:a.role==="assistant"?"Model":a.createdByUserId?c.get(a.createdByUserId)?.name??"Team member":"Team member"})]}),t.jsx(N,{connection:e.connection,content:a.body})]},a.id)),n.activeTurn?.partialBody?t.jsxs("article",{className:"team-ai-message assistant streaming",children:[t.jsxs("div",{className:"team-ai-message-author",children:[t.jsx(T,{size:14}),t.jsx("strong",{children:"Model"}),t.jsx("span",{children:n.activeTurn.status})]}),t.jsx(N,{connection:e.connection,content:n.activeTurn.partialBody})]}):n.activeTurn?t.jsx("div",{className:"team-ai-running",children:n.activeTurn.status==="pending"?"Starting model...":"Model is responding..."}):r&&["failed","interrupted","cancelled"].includes(r.status)?t.jsx("div",{className:`team-ai-turn-state ${r.status}`,children:r.status==="failed"?"Model response failed":r.status==="interrupted"?"Model response was interrupted":"Model response was cancelled"}):null]}),t.jsx("div",{className:"team-ai-thread-composer",children:t.jsx(U,{mode:"dock",surface:"team",teamUseModel:!0,teamUseModelLocked:!0,prompt:l,contextWindowStatus:e.contextWindowStatus,busy:g,running:g,submissionScopeKey:`team-ai:${n.conversationId}`,showProjectFooter:!1,connection:e.connection,providerSettings:e.providerSettings,provider:b,model:d,projectTarget:z,workspaceTarget:D,codexPermissionMode:e.codexPermissionMode,codexReasoningEffort:e.codexReasoningEffort,openPondCommandAccessMode:e.openPondCommandAccessMode,onProviderChange:e.onProviderChange,onProviderSetupOpen:e.onOpenProviderSettings,onProjectTargetChange:()=>{},onWorkspaceTargetChange:()=>{},onModelChange:e.onModelChange,onCodexPermissionModeChange:e.onCodexPermissionModeChange,onCodexReasoningEffortChange:e.onCodexReasoningEffortChange,onOpenPondCommandAccessModeChange:e.onOpenPondCommandAccessModeChange,onPromptChange:s,showToast:e.showToast,onSubmit:async(a,x,O,A)=>y(A?.promptOverride),onStop:e.onStopAiTurn})})]})}export{He as TeamAgentConversationPanel,Ke as TeamAiThreadPanel,We as TeamChatProView,Je as TeamChatView,ke as restoreFailedTeamChatPrompt};
@@ -1,14 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./WorkspaceMonacoEditor-B2B7OM_L.js","./index-Dvq7bpBG.js","./index-ByQIHpc9.css","./WorkspaceMonacoEditor-BwKcXIZw.css"])))=>i.map(i=>d[i]);
2
- import{j as e,r,_ as da}from"./index-Dvq7bpBG.js";import{c as be,i as rt,b9 as zs,aC as tn,ap as Ee,o as I,ba as $t,aT as Ft,aL as Oe,bb as ua,ak as fa,bc as pa,al as ha,F as ma,B as sn,d as xa,X as Is,am as ba,ah as ga,aK as ja,b8 as va,bd as ka,aP as Ws,be as wa,bf as ts,bg as ya,bh as ss,bi as Sa,a as Na,bj as Qt,bk as Ca,bl as ns,bm as Ce,bn as Ra,bo as Bs,bp as $a,bq as Fa,br as Os,bs as Ea,bt as Aa}from"./App-BOkhmdHu.js";import{M as Pa,u as Us,I as La}from"./MarkdownText-DqJarmTh.js";import{R as as}from"./refresh-cw-DwMA_2On.js";import{T as Da,F as Ta,b as _a,P as Ma}from"./chat-file-links-Bned0MT7.js";import{t as za,a as Ia,b as Wa,m as Ba,s as Oa,d as Ua,f as Ha,c as Va}from"./training-model-data-CKOkpBBL.js";import{F as yt}from"./folder-open-vRTuLzpS.js";import{I as Hs}from"./info-aYWeE1Iw.js";import{M as Ka}from"./minimize-2-DeYg7XqB.js";import{S as Ga}from"./save-B0BKh5oQ.js";import{C as qa}from"./clipboard-BzjUoZFo.js";import{C as Xa}from"./chevron-up-DK7ejCfk.js";const Za=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]],Qa=be("text-align-start",Za);const Ya=[["path",{d:"m17 11-5-5-5 5",key:"e8nh98"}],["path",{d:"m17 18-5-5-5 5",key:"2avn1x"}]],Ja=be("chevrons-up",Ya);const ei=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],ti=be("columns-2",ei);const si=[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]],ni=be("eye-off",si);const ai=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}]],ii=be("panel-top",ai);const li=[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]],ri=be("plug",li);const oi=[["path",{d:"m15 14 5-5-5-5",key:"12vg1m"}],["path",{d:"M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",key:"6uklza"}]],ci=be("redo-2",oi);const di=[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]],ui=be("undo-2",di);function fi({createRuntime:t,goalRuntime:s,subagentRuntime:n=null,onRunSubagentLifecycleAction:a}){const i=t?"Create/Improve Details":"Goal Details",u=t?Z(t.run.state):n?.activeCount?n.label:s?.actionLabel??"No active goal";return e.jsxs("div",{className:"goal-details-view","aria-label":i,children:[e.jsxs("div",{className:"goal-details-header",children:[e.jsxs("div",{className:"goal-details-title",children:[e.jsx(rt,{size:15,"aria-hidden":"true"}),e.jsx("span",{children:i})]}),e.jsx("span",{className:`goal-details-state ${Ai(t?.run.state??null)}`,children:u})]}),e.jsx("div",{className:"goal-details-body",children:t?e.jsx(pi,{runtime:t}):s||n?e.jsx(mi,{goalRuntime:s,subagentRuntime:n,onRunSubagentLifecycleAction:a}):e.jsx(Ei,{})})]})}function pi({runtime:t}){const s=t.run,n=s.plan,a=zs(n?.metadata)??zs(s.metadata),i=s.questions,u=i.filter(o=>o.status==="pending"),c=s.sourceRefs,f=s.checkRefs,h=s.state,m=s.target.kind==="agent"?s.target.defaultActionKey:null;return e.jsxs(e.Fragment,{children:[e.jsx(V,{title:"Current Work",children:e.jsx(it,{rows:[["State",Z(h)],["Operation",s.operation],["Target",Z(s.target.kind)],["Name",s.target.displayName??s.target.id??"Pending"],["Target ID",s.target.id??"Pending"],["Default action",m??n?.defaultChatAction.key??"Pending"],["Adapter",Z(s.adapter.kind)],["Run",s.id],["Revision",String(s.revision)]]})}),e.jsx(V,{title:"Plan",children:n?e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"goal-details-summary",children:n.summary}),e.jsx(it,{rows:[["Objective",n.objective],["Context",n.capturedContextSummary],["Status",Z(n.status)],["Plan ID",n.id],["Run ID",n.runId],["Approval",n.approvalId??"Pending"],["Approved",n.approvedAt??"Not approved"]]})]}):u.length?e.jsx("p",{className:"goal-details-summary",children:"Waiting for answers before the model finalizes the Create plan."}):e.jsx("p",{className:"goal-details-summary",children:"The model is preparing the Create plan."})}),a?e.jsxs(V,{title:"Action Shape",children:[e.jsx(it,{rows:[["Mode",a.label],["Default action",a.defaultActionKey??"None"],["Direct action",a.directActionHint??"None planned"],["Artifacts",a.artifactPolicy]]}),e.jsx("p",{className:"goal-details-note",children:a.detail})]}):null,i.length?e.jsx(V,{title:"Questions",children:e.jsx("div",{className:"goal-details-list",children:i.map(o=>e.jsxs("article",{className:"goal-details-list-item",children:[e.jsxs("div",{children:[e.jsx("strong",{children:o.title}),e.jsx("span",{className:`goal-details-inline-state ${o.status}`,children:Z(o.status)})]}),e.jsx("p",{children:o.prompt}),o.answer?e.jsxs("small",{children:["Answer: ",o.answer.label??o.answer.value]}):o.options.length?e.jsxs("small",{children:["Options: ",o.options.map(x=>x.label).join(", ")]}):null]},o.id))})}):null,n?.requirements.length?e.jsx(V,{title:"Setup Requirements",children:e.jsx("div",{className:"goal-details-list",children:n.requirements.map(o=>e.jsxs("article",{className:"goal-details-list-item",children:[e.jsxs("div",{children:[e.jsx("strong",{children:o.name}),e.jsx("span",{className:`goal-details-inline-state ${o.status}`,children:Z(o.status)})]}),e.jsxs("small",{children:[Z(o.kind),o.detail?`: ${o.detail}`:""]})]},`${o.kind}:${o.name}`))})}):null,n?.sourcePlan.length?e.jsx(V,{title:"Source Plan",children:e.jsx(wt,{refs:n.sourcePlan.map(o=>({id:`${o.operation}:${o.path}`,primary:o.path,secondary:`${Z(o.operation)}: ${o.reason}`}))})}):null,n?.checks.length?e.jsx(V,{title:"Checks",children:e.jsx(wt,{refs:n.checks.map(o=>({id:o.name,primary:o.name,secondary:`${o.required?"Required":"Optional"}: ${o.command}`}))})}):null,c.length||f.length?e.jsx(V,{title:"Run Refs",children:e.jsx(wt,{refs:[...c.map(o=>({id:`source:${o}`,primary:o,secondary:"Source ref"})),...f.map(o=>({id:`check:${o}`,primary:o,secondary:"Check ref"}))]})}):null,e.jsx(hi,{run:s}),s.blockedReason?e.jsx(V,{title:"Blocked",children:e.jsxs("div",{className:"goal-details-alert",children:[e.jsx(tn,{size:15}),e.jsx("span",{children:s.blockedReason})]})}):null,e.jsx(V,{title:"Raw State",children:e.jsxs("details",{className:"goal-details-raw",children:[e.jsx("summary",{children:"Show structured payload"}),e.jsx("pre",{children:JSON.stringify(s,null,2)})]})})]})}function hi({run:t}){const s=[...t.context.attachments.map(i=>({id:`attachment:${i.id??i.name}`,primary:i.name,secondary:i.ref??i.mediaType??"Attachment"})),...t.context.apps.map(i=>({id:`app:${i.id}`,primary:i.name,secondary:i.required?"Required app context":"Optional app context"})),...t.context.tools.map(i=>({id:`tool:${i.name}`,primary:i.name,secondary:i.outputSummary??i.inputSummary??"Tool context"})),...t.context.targetRepoAssumptions.map(i=>({id:`target:${i}`,primary:i,secondary:"Target assumption"}))],n=t.workflowCapture,a=n?[...n.files.map(i=>({id:`workflow-file:${i}`,primary:i,secondary:"Captured file"})),...n.outputArtifacts.map(i=>({id:`workflow-artifact:${i}`,primary:i,secondary:"Output artifact"})),...n.traceRefs.map(i=>({id:`workflow-trace:${i}`,primary:i,secondary:"Trace"}))]:[];return!s.length&&!a.length?null:e.jsx(V,{title:"Context",children:e.jsx(wt,{refs:[...s,...a]})})}function mi({goalRuntime:t,subagentRuntime:s,onRunSubagentLifecycleAction:n}){return e.jsxs(e.Fragment,{children:[t?e.jsxs(V,{title:"Goal",children:[e.jsx("p",{className:"goal-details-summary",children:t.objective}),e.jsx(it,{rows:[["Status",t.actionLabel],["Runtime",t.timeLabel],["Detail",t.detail]]})]}):null,s?e.jsx(xi,{runtime:s,onRunSubagentLifecycleAction:n}):null,e.jsx(V,{title:"Raw State",children:e.jsxs("details",{className:"goal-details-raw",children:[e.jsx("summary",{children:"Show structured payload"}),e.jsx("pre",{children:JSON.stringify({goalRuntime:t,subagentRuntime:s},null,2)})]})})]})}function xi({runtime:t,onRunSubagentLifecycleAction:s}){const[n,a]=r.useState(null),[i,u]=r.useState(null);Ee(i);const c=async(f,h)=>{if(!s)return;const m=`${f}:${h}`;a(m),u(null);try{await s({runId:f,action:h})}catch(o){u(o instanceof Error?o.message:String(o))}finally{a(o=>o===m?null:o)}};return e.jsxs(e.Fragment,{children:[e.jsxs(V,{title:"Subagents",children:[e.jsx(it,{rows:[["Latest update",yi(t)],["Active",String(t.activeCount)],["Completed",String(t.completedCount)],["Failed",String(t.failedCount)],["Cancelled",String(t.cancelledCount)],["Paused",String(t.needsResumeCount)],["Terminal",String(t.terminalCount)],["Usage",Si(t.usage.totalTokens,t.usage.requestCount)],["Evidence",String(t.evidenceRefs.length)],["Checks",String(t.testsRunCount)]]}),t.blockers.length>0?e.jsx("ul",{className:"goal-details-list compact",children:t.blockers.slice(0,4).map(f=>e.jsxs("li",{className:"goal-details-list-item",children:[e.jsx("span",{className:`goal-details-inline-state ${f.status}`,children:f.status}),e.jsxs("div",{children:[e.jsx("strong",{children:St(f.roleId)}),e.jsx("p",{children:f.message})]})]},`${f.runId}:${f.message}`))}):null,e.jsx("ul",{className:"goal-details-list",children:t.runs.slice(0,8).map(f=>e.jsxs("li",{className:"goal-details-list-item",children:[e.jsx("span",{className:`goal-details-inline-state ${f.status}`,children:f.status}),e.jsxs("div",{children:[e.jsx("strong",{children:St(f.roleId)}),e.jsx("p",{children:f.objective}),f.report?.summary?e.jsx("small",{children:f.report.summary}):null,s?e.jsx(gi,{pendingAction:n,run:f,onRun:c}):null]})]},f.id))})]}),t.finalResults.length>0?e.jsx(bi,{results:t.finalResults}):null]})}function bi({results:t}){return e.jsx(V,{title:"Child Results",children:e.jsx("ol",{className:"goal-details-task-graph",children:t.slice(0,6).map(s=>e.jsxs("li",{className:"goal-details-task-node",children:[e.jsxs("div",{className:"goal-details-task-node-header",children:[e.jsx("span",{className:`goal-details-inline-state ${s.status}`,children:s.status}),e.jsxs("div",{children:[e.jsx("strong",{children:St(s.roleId)}),e.jsx("small",{children:s.objective})]})]}),e.jsx("p",{children:s.summary}),e.jsxs("div",{className:"goal-details-task-node-meta",children:[e.jsxs("span",{children:[s.refs.length," refs"]}),e.jsxs("span",{children:[s.testsRun.length+s.validationAttempts.length," checks"]}),e.jsxs("span",{children:[s.blockers.length," blockers"]}),e.jsx("span",{children:s.confidence?`${Z(s.confidence)} confidence`:"Confidence unknown"})]}),s.findings.length>0?e.jsxs("small",{children:["Findings: ",Re(s.findings,3)]}):null,s.changedFiles.length>0?e.jsxs("small",{children:["Files: ",Re(s.changedFiles,4)]}):null,s.testsRun.length>0?e.jsxs("small",{children:["Tests: ",Re(s.testsRun,3)]}):null,s.validationAttempts.length>0?e.jsxs("small",{children:["Validation: ",Re(s.validationAttempts,2)]}):null,s.refs.length>0?e.jsxs("small",{children:["Refs: ",Re(s.refs.map(Ni),4)]}):null,s.blockers.length>0?e.jsxs("small",{children:["Blockers: ",Re(s.blockers,3)]}):null,s.workspaceRetention?e.jsxs("small",{children:["Workspace: ",Ri(s.workspaceRetention)]}):null,s.importantMessages.length>0?e.jsxs("small",{children:["Messages: ",Re(s.importantMessages.map(Ci),2)]}):null]},s.runId))})})}function gi({pendingAction:t,run:s,onRun:n}){const a=ji(s);return a.length===0?null:e.jsx("div",{className:"goal-details-actions",children:a.map(i=>{const u=`${s.id}:${i}`,c=t===u;return e.jsx("button",{type:"button",disabled:!!t,onClick:()=>{n(s.id,i)},children:c?"Working...":vi(i)},i)})})}function ji(t){const s=[],n=ki(t),a=wi(t);return n&&s.push("cleanup"),a&&s.push("archive"),s}function vi(t){return t==="cleanup"?"Clean":t==="archive"?"Archive":"Clean + archive"}function ki(t){if(!nn(t))return!1;const s=lt(t.metadata);if(!s?.subagentWorkspace&&!s?.workspaceHandoff)return!1;const n=lt(s.lifecycleCleanup),a=lt(n?.workspaceCleanup),i=an(a?.status);return i!=="removed"&&i!=="deleted"&&i!=="retained"&&i!=="skipped"}function wi(t){if(!t.childSessionId||!nn(t))return!1;const s=lt(lt(t.metadata)?.childSessionArchive),n=an(s?.status);return n!=="archived"&&n!=="already_archived"}function nn(t){return t.status==="completed"||t.status==="failed"||t.status==="cancelled"}function yi(t){const s=t.latestMeaningfulUpdate;return s?`${St(s.roleId)} ${s.status}: ${s.message}`:"No structured update"}function Si(t,s){if(t<=0&&s<=0)return"0 tokens";const n=`${s} ${s===1?"request":"requests"}`;return`${$i(t)} tokens · ${n}`}function St(t){return t.slice(0,1).toUpperCase()+t.slice(1).replace(/[-_]+/g," ")}function Ni(t){return`${t.kind}: ${t.label}`}function Ci(t){return`${Z(t.kind)}: ${t.body}`}function Ri(t){const s=t.expiresAt?`until ${Fi(t.expiresAt)}`:"for inspection",n=t.trigger?` · ${Z(t.trigger)}`:"";return`retained ${s}${n}`}function Re(t,s){const n=t.slice(0,s),a=t.length-n.length;return a>0?`${n.join(", ")} +${a}`:n.join(", ")}function $i(t){if(t<1e3)return String(t);if(t>=1e6){const n=t/1e6;return`${Vs(n,n<10?2:1)}M`}const s=t/1e3;return`${Vs(s,s<10?1:0)}k`}function Fi(t){const s=new Date(t);return Number.isNaN(s.getTime())?t:s.toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}function Vs(t,s){return t.toFixed(s).replace(/\.0+$/,"").replace(/(\.\d*?)0+$/,"$1")}function Ei(){return e.jsxs("div",{className:"goal-details-empty",children:[e.jsx(rt,{size:18}),e.jsx("span",{children:"No active Goal or Create workflow."})]})}function V({children:t,title:s}){return e.jsxs("section",{className:"goal-details-section",children:[e.jsx("h2",{children:s}),t]})}function it({rows:t}){return e.jsx("dl",{className:"goal-details-grid",children:t.map(([s,n])=>e.jsxs("div",{children:[e.jsx("dt",{children:s}),e.jsx("dd",{children:n})]},s))})}function wt({refs:t}){return e.jsx("ul",{className:"goal-details-ref-list",children:t.map(s=>e.jsxs("li",{children:[e.jsx("code",{title:s.primary,children:s.primary}),e.jsx("span",{children:s.secondary})]},s.id))})}function lt(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function an(t){return typeof t=="string"&&t.trim()?t.trim():null}function Z(t){return t.split(/[_-]/g).filter(Boolean).map(s=>s.charAt(0).toUpperCase()+s.slice(1)).join(" ")}function Ai(t){return t==="ready_local"||t==="published_hosted"?"success":t==="blocked"||t==="failed"||t==="cancelled"?"danger":t==="awaiting_questions"||t==="awaiting_plan_approval"?"warning":"active"}function Pi({sandboxId:t,connection:s}){const[n,a]=r.useState(null),[i,u]=r.useState([]),[c,f]=r.useState(null),[h,m]=r.useState(null),[o,x]=r.useState(null),[S,k]=r.useState(null);Ee(o,{prefix:"Sandbox"}),Ee(S,{prefix:"Sandbox integrations"});const N=n?.integrationLeases??[],E=r.useMemo(()=>i.filter(j=>j.status==="active"),[i]),_=r.useMemo(()=>Di(n),[n]),W=r.useCallback(async()=>{if(!s){x("OpenPond App server is not connected.");return}if(!t){a(null),u([]),x(null);return}f("summary"),x(null);try{const j=await I.sandbox(s,t),R=await I.integrationConnections(s,Ks(j.sandbox));a(j.sandbox),u(R.connections),k(null)}catch(j){x(j instanceof Error?j.message:String(j))}finally{f(null)}},[s,t]),K=r.useCallback(async()=>{if(!(!s||!n)){m("load"),k(null);try{const[j,R]=await Promise.all([I.integrationConnections(s,Ks(n)),I.sandboxIntegrationLeases(s,n.id)]);u(j.connections),a(R.sandbox)}catch(j){k(j instanceof Error?j.message:String(j))}finally{m(null)}}},[s,n]),U=r.useCallback(async j=>{if(!s||!n)return;const R=$t(j.provider),T=R?Ft(R):null,M=T?.leasePolicy.allowedCapabilityIds??[];if(!R||!T?.leasePolicy.leaseable||M.length===0){k(`${ae(j.provider)} cannot be attached to this sandbox.`);return}m(`attach:${j.id}`),k(null);try{const A=await I.attachSandboxIntegrationConnection(s,n.id,{connectionId:j.id,provider:j.provider,capabilities:M,...j.scopes.length>0?{scopes:j.scopes}:{},...T.leasePolicy.defaultTtlSeconds?{ttlSeconds:T.leasePolicy.defaultTtlSeconds}:{},required:!1});a(A.sandbox)}catch(A){k(A instanceof Error?A.message:String(A))}finally{m(null)}},[s,n]),B=r.useCallback(async j=>{if(!(!s||!n)){m(`remove:${j}`),k(null);try{const R=await I.removeSandboxIntegrationLease(s,n.id,j);a(R.sandbox)}catch(R){k(R instanceof Error?R.message:String(R))}finally{m(null)}}},[s,n]);return r.useEffect(()=>{W()},[W]),t?e.jsxs("div",{className:"sandbox-summary-tab",children:[e.jsxs("section",{className:"sandbox-workspace-section",children:[e.jsxs("div",{className:"sandbox-workspace-heading",children:[e.jsx("h3",{children:"Sandbox"}),e.jsxs("div",{className:"sandbox-workspace-heading-actions",children:[n?e.jsx("span",{children:n.state}):null,e.jsx("button",{type:"button",className:"diff-icon-button",title:"Refresh summary","aria-label":"Refresh summary",disabled:c!==null,onClick:()=>{W()},children:c==="summary"?e.jsx(Oe,{className:"spinning",size:14}):e.jsx(as,{size:14})})]})]}),n?e.jsxs("dl",{className:"sandbox-workspace-kv",children:[e.jsxs("div",{children:[e.jsx("dt",{children:"Sandbox"}),e.jsx("dd",{children:Gs(n.id)})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Spend"}),e.jsxs("dd",{children:[Yt(n.reservation.capturedUsd)," / ",Yt(n.budget.maxUsd)]})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Reservation"}),e.jsx("dd",{children:n.reservation.status})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Idle cleanup"}),e.jsx("dd",{children:n.quotas?.idleTimeoutSeconds?`${Math.round(n.quotas.idleTimeoutSeconds/60)} min`:"-"})]}),e.jsxs("div",{children:[e.jsx("dt",{children:"Updated"}),e.jsx("dd",{children:ln(n.updatedAt)})]}),_?e.jsxs("div",{children:[e.jsx("dt",{children:"Receipt"}),e.jsxs("dd",{children:[Gs(_.id)," / ",Yt(_.totalUsd)]})]}):null]}):e.jsxs("div",{className:"sandbox-workspace-loading",children:[c==="summary"?e.jsx(Oe,{className:"spinning",size:16}):null,e.jsx("span",{children:c==="summary"?"Loading sandbox":"Sandbox unavailable"})]})]}),e.jsxs("section",{className:"sandbox-workspace-section",children:[e.jsxs("div",{className:"sandbox-workspace-heading",children:[e.jsx("h3",{children:"Integrations"}),e.jsxs("div",{className:"sandbox-workspace-heading-actions",children:[e.jsx("span",{children:N.length}),e.jsx("button",{type:"button",className:"diff-icon-button",title:"Refresh integrations","aria-label":"Refresh integrations",disabled:h!==null||!n,onClick:()=>{K()},children:h==="load"?e.jsx(Oe,{className:"spinning",size:14}):e.jsx(as,{size:14})})]})]}),N.length>0?e.jsx("div",{className:"sandbox-workspace-integration-list",children:N.map(j=>e.jsxs("div",{className:"sandbox-workspace-integration-row",children:[e.jsxs("div",{className:"sandbox-workspace-integration-main",children:[e.jsx("span",{children:ae(j.provider)}),e.jsxs("small",{children:[j.required?"required":"optional"," / ",Mi(j)," / ",Li(j)]})]}),e.jsx("button",{type:"button",className:"diff-icon-button",title:`Revoke ${ae(j.provider)} lease`,"aria-label":`Revoke ${ae(j.provider)} lease`,disabled:h!==null,onClick:()=>{B(j.leaseId)},children:h===`remove:${j.leaseId}`?e.jsx(Oe,{className:"spinning",size:14}):e.jsx(Da,{size:14})}),e.jsxs("div",{className:"sandbox-workspace-chip-row",children:[j.capabilities.slice(0,5).map(R=>e.jsx("span",{children:_i(j.provider,R)},R)),j.capabilities.length>5?e.jsxs("span",{children:["+",j.capabilities.length-5]}):null]})]},j.leaseId))}):e.jsx("p",{className:"sandbox-workspace-empty",children:"No active integration leases."}),E.length>0?e.jsx("div",{className:"sandbox-workspace-integration-list",children:E.map(j=>{const R=N.some(A=>A.provider===j.provider),M=Ti(j)?.leasePolicy.allowedCapabilityIds.length??0;return e.jsxs("div",{className:"sandbox-workspace-integration-row compact",children:[e.jsxs("div",{className:"sandbox-workspace-integration-main",children:[e.jsx("span",{children:zi(j)}),e.jsx("small",{children:Ii(j,M)})]}),e.jsx("button",{type:"button",className:"diff-icon-button",title:R?`${ae(j.provider)} already attached`:`Attach ${ae(j.provider)}`,"aria-label":R?`${ae(j.provider)} already attached`:`Attach ${ae(j.provider)}`,disabled:R||h!==null||M===0,onClick:()=>{U(j)},children:h===`attach:${j.id}`?e.jsx(Oe,{className:"spinning",size:14}):e.jsx(ri,{size:14})})]},j.id)})}):e.jsx("p",{className:"sandbox-workspace-empty",children:"No connected accounts available."})]})]}):e.jsx("div",{className:"sandbox-summary-tab",children:e.jsx("p",{className:"sandbox-workspace-empty",children:"No sandbox is attached yet."})})}function Ks(t){return{status:"active"}}function Li(t){return t.proxyUrl?"runtime proxy available":"metadata only, no runtime proxy"}function Di(t){return t?.receipts?.at(-1)??null}function Ti(t){const s=$t(t.provider);return s?Ft(s):null}function ae(t){const s=$t(t),n=s?Ft(s):null;return n?n.label:t==="microsoft_teams"?"Microsoft Teams":t?t.replace(/_/g," "):"Integration"}function _i(t,s){const n=$t(t);return(n?Ft(n):null)?.capabilities.find(i=>i.id===s)?.label??s}function Mi(t){return t.expiresAt?`expires ${ln(t.expiresAt)}`:"active"}function zi(t){const s=t.providerAccountName?.trim();return s?`${ae(t.provider)} / ${s}`:ae(t.provider)}function Ii(t,s){const n=[];return t.providerWorkspaceName&&n.push(t.providerWorkspaceName),n.push(`${s} lease ${s===1?"capability":"capabilities"}`),t.scopes.length>0&&n.push(`${t.scopes.length} ${t.scopes.length===1?"scope":"scopes"}`),n.join(" / ")}function Gs(t){return t.length>10?`${t.slice(0,8)}...`:t}function ln(t){if(!t)return"-";const s=new Date(t);return Number.isNaN(s.valueOf())?"-":new Intl.DateTimeFormat(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"}).format(s)}function Yt(t){const s=Number(t??0);return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:s>=10?2:4}).format(Number.isFinite(s)?s:0)}function Wi({summary:t}){const s=za(t.taskset),n=t.taskset.learningSignals.demonstrations.filter(f=>f.approved).length,a=t.taskset.tasks.filter(f=>f.split==="frozen_eval").length,i=t.plan?.recipe.method==="sft"||t.plan?.recipe.method==="grpo"?t.plan.recipe:null,u=Ia(t.taskset,t.plan),c=t.job?Wa(t.job.status,t.job.completedAt,t.job.updatedAt):null;return e.jsxs("div",{className:"training-sidebar-summary",children:[e.jsxs("header",{children:[e.jsx("h2",{children:Ba(t.taskset.name)}),e.jsx("span",{children:t.job?Oa(t.job.status):t.taskset.readiness?.ready?"Ready to train":"Needs review"})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Run"}),e.jsxs("dl",{children:[e.jsx(O,{label:"Primary recommendation",value:s.toUpperCase()}),e.jsx(O,{label:"Training stage",value:u}),e.jsx(O,{label:"Base model",value:i?.baseModel.id??"Not selected"}),e.jsx(O,{label:"Compute",value:t.plan?Ua(t.plan.destinationId):"Not selected"}),e.jsx(O,{label:"Started",value:Ha(t.job?.startedAt??null)}),e.jsx(O,{label:"Duration",value:Va(t.job?.startedAt??null,c)})]})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Data"}),e.jsxs("dl",{children:[e.jsx(O,{label:"Training examples",value:String(n)}),e.jsx(O,{label:"Test examples",value:String(a)}),e.jsx(O,{label:"Dataset sources",value:String(t.taskset.sourceRefs.length)})]})]}),i?e.jsxs("section",{children:[e.jsx("h3",{children:"Recipe"}),e.jsxs("dl",{children:[i.method==="grpo"?e.jsx(O,{label:"RL loss",value:i.loss.method==="gspo-token"?"GSPO-token":i.loss.method.toUpperCase()}):null,e.jsx(O,{label:"LoRA rank",value:String(i.lora.rank)}),e.jsx(O,{label:"Learning rate",value:String(i.optimizer.learningRate)}),e.jsx(O,{label:"Optimizer steps",value:String(i.optimizer.maxSteps)}),e.jsx(O,{label:i.method==="grpo"?"Prompt length":"Sequence length",value:String(i.method==="grpo"?i.dataset.maxPromptTokens:i.dataset.maxSequenceLength)})]})]}):null,e.jsxs("section",{children:[e.jsx("h3",{children:"Result"}),e.jsxs("dl",{children:[e.jsx(O,{label:"Adapter",value:t.lineage?`${u} ready`:"Not created"}),e.jsx(O,{label:"Evaluation",value:t.lineage?.frozenEvaluationArtifactId?"Completed":"Not completed"}),e.jsx(O,{label:"Artifacts",value:String(t.artifacts.length)})]})]})]})}function O({label:t,value:s}){return e.jsxs("div",{children:[e.jsx("dt",{children:t}),e.jsx("dd",{children:s})]})}function Bi(t){const s=qs("","","folder");for(const n of t){const a=n.endsWith("/"),i=n.split("/").filter(Boolean);if(i.length===0)continue;let u=s,c="";for(let f=0;f<i.length;f+=1){const h=i[f];c=c?`${c}/${h}`:h;const m=!a&&f===i.length-1?"file":"folder",o=`${m}:${h}`;let x=u.childMap.get(o);x||(x=qs(h,c,m),u.childMap.set(o,x),u.children.push(x)),u=x}}return rn(s.children)}function qs(t,s,n){return{name:t,path:s,type:n,children:[],childMap:new Map}}function rn(t){return t.sort((s,n)=>s.type!==n.type?s.type==="folder"?-1:1:s.name.localeCompare(n.name)).map(s=>({name:s.name,path:s.path,type:s.type,children:rn(s.children)}))}function is({className:t,currentStatus:s,onSetStatus:n}){const a=s==="pinned",i=s==="saved_for_later";return e.jsxs("span",{className:`workspace-file-bookmark-actions ${t??"workspace-file-heading-actions"}`,children:[e.jsx("button",{type:"button",className:a?"active":void 0,"data-tooltip":a?"Unpin file":"Pin file","aria-label":a?"Unpin file":"Pin file","aria-pressed":a,onClick:()=>n(a?"none":"pinned"),children:a?e.jsx(ua,{size:14}):e.jsx(fa,{size:14})}),e.jsx("button",{type:"button",className:i?"active":void 0,"data-tooltip":i?"Remove from Save for later":"Save file for later","aria-label":i?"Remove from Save for later":"Save file for later","aria-pressed":i,onClick:()=>n(i?"none":"saved_for_later"),children:i?e.jsx(pa,{size:14}):e.jsx(ha,{size:14})})]})}function Oi({changedByPath:t,expandedFolderPaths:s,rootPath:n,repoFiles:a,selectedPath:i,getFileBookmarkStatus:u,onOpenFile:c,onSetFileBookmarkStatus:f,onToggleFolder:h}){const m=r.useMemo(()=>Bi(a),[a]);return e.jsxs("div",{className:"workspace-file-tree-view",children:[e.jsxs("div",{className:"workspace-file-tree-header",children:[e.jsx(yt,{size:14}),e.jsx("strong",{title:n??void 0,children:n?n.split("/").at(-1):"Files"}),e.jsx("span",{children:a.length})]}),e.jsx("div",{className:"workspace-file-tree",children:m.map(o=>e.jsx(on,{changedByPath:t,expandedFolderPaths:s,node:o,rootPath:n,selectedPath:i,getFileBookmarkStatus:u,onOpenFile:c,onSetFileBookmarkStatus:f,onToggleFolder:h},`${o.type}:${o.path}`))})]})}function on({changedByPath:t,depth:s=0,expandedFolderPaths:n,node:a,rootPath:i,selectedPath:u,getFileBookmarkStatus:c,onOpenFile:f,onSetFileBookmarkStatus:h,onToggleFolder:m}){const o=i?`${i}/${a.path}`:a.path,x=a.type==="folder"&&n.has(o),S=t.get(o),k=2+s*11;return a.type==="folder"?e.jsxs("div",{className:"workspace-file-tree-node",children:[e.jsxs("button",{type:"button",className:"workspace-file-tree-row folder","aria-expanded":x,style:{paddingLeft:k},onClick:()=>m(o),children:[x?e.jsx(yt,{size:14}):e.jsx(ma,{size:14}),e.jsx("span",{children:a.name})]}),x&&a.children.map(N=>e.jsx(on,{changedByPath:t,depth:s+1,expandedFolderPaths:n,node:N,rootPath:i,selectedPath:u,getFileBookmarkStatus:c,onOpenFile:f,onSetFileBookmarkStatus:h,onToggleFolder:m},`${N.type}:${N.path}`))]}):e.jsxs("div",{className:`workspace-file-tree-row file ${S?"changed":""} ${u===o?"selected":""}`,style:{paddingLeft:k},children:[e.jsxs("button",{type:"button",className:"workspace-file-tree-row-main",title:o,onClick:()=>f(o),children:[e.jsx(Ta,{size:13}),e.jsx("span",{children:a.name}),S&&e.jsxs("small",{children:[e.jsxs("span",{className:"diff-addition",children:["+",S.additions]}),e.jsxs("span",{className:"diff-deletion",children:["-",S.deletions]})]})]}),h?e.jsx(is,{className:"workspace-file-tree-bookmark-actions",currentStatus:c?.(o)??null,onSetStatus:N=>h(o,N)}):null]})}function Xs({diff:t,expandedFolderPaths:s,rootPath:n,repoFiles:a,selectedPath:i,getFileBookmarkStatus:u,onOpenFile:c,onSetFileBookmarkStatus:f,onToggleFolder:h}){const m=t?.files??[],o=r.useMemo(()=>new Map(m.map(k=>[k.path,k])),[m]),x=n?.replace(/^\/+|\/+$/g,"")||null,S=r.useMemo(()=>{if(!x)return a;const k=`${x}/`;return a.filter(N=>N.startsWith(k)).map(N=>N.slice(k.length)).filter(Boolean)},[x,a]);return e.jsx("div",{className:"workspace-diff-files-view",children:e.jsx(Oi,{changedByPath:o,expandedFolderPaths:s,rootPath:x,repoFiles:S,selectedPath:i,getFileBookmarkStatus:u,onOpenFile:c,onSetFileBookmarkStatus:f,onToggleFolder:h})})}function Ui({collapsed:t,editorControlsVisible:s,hideWhiteSpace:n,loadFullFiles:a,renderMarkdown:i,wordDiffs:u,wordWrap:c,onClose:f,onCopyGitApply:h,onRefresh:m,onToggleCollapsed:o,onToggleEditorControlsVisible:x,onToggleHideWhiteSpace:S,onToggleLoadFullFiles:k,onToggleRenderMarkdown:N,onToggleWordDiffs:E,onToggleWordWrap:_}){return e.jsxs("div",{className:"workspace-diff-options-menu",role:"menu",children:[e.jsx(ce,{icon:e.jsx(as,{size:14}),label:"Refresh",onClick:m,onClose:f}),e.jsx(ce,{checked:c,icon:e.jsx(_a,{size:14}),label:"Enable word wrap",onClick:_,onClose:f}),e.jsx(ce,{checked:t,icon:e.jsx(Ja,{size:14}),label:"Collapse all diffs",onClick:o,onClose:f}),e.jsx("div",{className:"workspace-diff-menu-divider"}),e.jsx(ce,{checked:s,icon:e.jsx(ii,{size:14}),label:"Show editor controls",onClick:x,onClose:f}),e.jsx(ce,{checked:i,icon:e.jsx(sn,{size:14}),label:"Render Markdown",onClick:N,onClose:f}),e.jsx(ce,{checked:!a,icon:e.jsx(rt,{size:14}),label:"Show diffs first",onClick:k,onClose:f}),e.jsx(ce,{checked:u,icon:e.jsx(Qa,{size:14}),label:"Enable word diffs",onClick:E,onClose:f}),e.jsx(ce,{checked:n,icon:e.jsx(ni,{size:14}),label:"Hide white space",onClick:S,onClose:f}),e.jsx(ce,{icon:e.jsx(qa,{size:14}),label:"Copy git apply command",onClick:h,onClose:f})]})}function ce({checked:t,icon:s,label:n,onClick:a,onClose:i}){return e.jsxs("button",{type:"button",role:"menuitem",onClick:()=>{a?.(),i()},children:[s,e.jsx("span",{children:n}),t&&e.jsx(xa,{size:14})]})}function Hi({addMenuOpen:t,expanded:s,filteredFiles:n,dirtyFilePaths:a,openFiles:i,goalDetailsAvailable:u,searchOpen:c,searchQuery:f,selectedPath:h,sideChatTabs:m=[],summaryAvailable:o,sourceStatus:x,sourceSwitcher:S,visibleTab:k,getFileBookmarkStatus:N,onCloseFileTab:E,onCloseSideChat:_,onCloseSearch:W,onOpenFile:K,onOpenBrowser:U,onOpenSearch:B,onOpenSideChat:j,onSearchQueryChange:R,onSetFileBookmarkStatus:T,onSelectFile:M,onSelectFiles:A,onSelectGoal:Q,onSelectSummary:q,onSelectSideChat:z,onToggleAddMenu:H,onToggleExpanded:le}){const re=r.useRef(null);r.useEffect(()=>{if(!t&&!c)return;function w(){t&&H(),c&&W()}function F(de){re.current?.contains(de.target)||w()}function D(de){de.key==="Escape"&&w()}return document.addEventListener("pointerdown",F),document.addEventListener("keydown",D),()=>{document.removeEventListener("pointerdown",F),document.removeEventListener("keydown",D)}},[t,W,H,c]);function Y(w){if(w.key==="Escape"){W();return}w.key==="Enter"&&n[0]&&K(n[0])}function J(w){if(!["ArrowRight","ArrowLeft","Home","End"].includes(w.key))return;const F=w.target;if(!(F instanceof HTMLButtonElement)||F.getAttribute("role")!=="tab")return;const D=Array.from(w.currentTarget.querySelectorAll('button[role="tab"]')),de=D.indexOf(F);if(de<0||D.length===0)return;w.preventDefault();const Et=wa(de,D.length,w.key),Ae=D[Et];if(!Ae)return;Ae.focus(),Ae.click();const X=Ae.id;X&&window.requestAnimationFrame(()=>document.getElementById(X)?.focus())}return e.jsxs("div",{className:"workspace-diff-topbar",children:[e.jsxs("div",{className:"workspace-diff-tabs",role:"tablist","aria-label":"Right sidebar views",onKeyDown:J,children:[u?e.jsxs("button",{type:"button",className:`workspace-diff-tab ${k==="goal"?"active":""}`,role:"tab","aria-selected":k==="goal",onClick:Q,children:[e.jsx(rt,{size:14}),e.jsx("span",{children:"Goal"})]}):null,o&&q?e.jsxs("button",{type:"button",className:`workspace-diff-tab ${k==="summary"?"active":""}`,role:"tab","aria-selected":k==="summary",onClick:q,children:[e.jsx(Hs,{size:14}),e.jsx("span",{children:"Summary"})]}):null,e.jsxs("button",{type:"button",className:`workspace-diff-tab ${k==="files"?"active":""}`,role:"tab",id:"right-sidebar-files-tab","aria-controls":"right-sidebar-files-panel","aria-selected":k==="files",tabIndex:k==="files"?0:-1,onClick:A,children:[e.jsx(yt,{size:14}),e.jsx("span",{children:"Files"})]}),i.map(w=>e.jsxs("div",{className:`workspace-diff-tab file ${k==="file"&&h===w.path?"active":""}`,children:[e.jsxs("button",{type:"button",className:"workspace-diff-tab-main",role:"tab","aria-selected":k==="file"&&h===w.path,title:w.path,onClick:()=>M(w.path),children:[e.jsx(rt,{className:"workspace-diff-tab-icon",size:13}),a.has(w.path)&&e.jsx("span",{className:"workspace-diff-tab-dirty","aria-hidden":"true"}),e.jsx("span",{children:w.path.split("/").pop()})]}),T?e.jsx(is,{className:"workspace-diff-tab-bookmark-actions",currentStatus:N?.(w.path)??null,onSetStatus:F=>T(w.path,F)}):null,e.jsx("button",{type:"button",className:"workspace-diff-tab-close",title:`Close ${w.path}`,onClick:F=>E(w.path,F),children:e.jsx(Is,{size:12})})]},w.path)),m.map(w=>e.jsxs("div",{className:"workspace-diff-tab right-chat-tab",children:[e.jsxs("button",{type:"button",className:"workspace-diff-tab-main",role:"tab",id:`right-chat-tab-${w.id}`,"aria-controls":`right-chat-panel-${w.id}`,"aria-selected":!1,tabIndex:-1,title:w.title,onClick:()=>z?.(w.id),children:[w.running?e.jsx("span",{className:"right-chat-status-dot","aria-label":"Running"}):null,e.jsx("span",{children:w.title})]}),_?e.jsx("button",{type:"button",className:"workspace-diff-tab-close",title:`Close ${w.title}`,"aria-label":`Close ${w.title}`,onClick:F=>{F.stopPropagation(),_(w.id)},children:e.jsx(Is,{size:12})}):null]},w.id)),e.jsxs("div",{className:"workspace-diff-add-anchor",ref:re,children:[e.jsx("button",{type:"button",className:`workspace-diff-add-tab ${t||c?"active":""}`,title:"Add","aria-label":"Add to right sidebar",onClick:H,children:e.jsx(Ma,{size:15})}),t&&e.jsxs("div",{className:"workspace-diff-add-menu",role:"menu",children:[j?e.jsxs("button",{type:"button",role:"menuitem",onClick:j,children:[e.jsx(ba,{size:14}),e.jsx("span",{children:"New task"}),e.jsx("kbd",{})]}):null,e.jsxs("button",{type:"button",role:"menuitem",onClick:A,children:[e.jsx(yt,{size:14}),e.jsx("span",{children:"Files"}),e.jsx("kbd",{})]}),o&&q?e.jsxs("button",{type:"button",role:"menuitem",onClick:q,children:[e.jsx(Hs,{size:14}),e.jsx("span",{children:"Summary"}),e.jsx("kbd",{})]}):null,e.jsxs("button",{type:"button",role:"menuitem",onClick:B,children:[e.jsx(ga,{size:14}),e.jsx("span",{children:"Open file"}),e.jsx("kbd",{children:"Ctrl+P"})]}),U?e.jsxs("button",{type:"button",role:"menuitem",onClick:U,children:[e.jsx(ja,{size:14}),e.jsx("span",{children:"Browser"}),e.jsx("kbd",{children:"Ctrl+I"})]}):null]}),c&&e.jsxs("div",{className:"workspace-file-search-popover",children:[e.jsx("input",{autoFocus:!0,placeholder:"Search files",value:f,onChange:w=>R(w.target.value),onKeyDown:Y}),e.jsx("span",{children:"Files"}),e.jsx("div",{className:"workspace-file-search-results",children:n.length===0?e.jsx("small",{children:"Type to search for files"}):n.map(w=>e.jsx("button",{type:"button",onClick:()=>K(w),children:w},w))})]})]})]}),S||x?e.jsxs("div",{className:"workspace-diff-source-bar","aria-label":"Workspace source",children:[S?e.jsx("div",{className:"workspace-diff-source-toggle",role:"group","aria-label":"File source",children:S.options.map(w=>e.jsx("button",{type:"button",className:S.value===w.value?"active":"","aria-pressed":S.value===w.value,onClick:()=>S.onChange(w.value),children:w.label},w.value))}):null,x?e.jsx("span",{className:`workspace-diff-source-status ${x.tone}`,children:x.label}):null]}):null,e.jsx("button",{type:"button",className:"diff-icon-button",title:s?"Restore files panel":"Expand files panel","aria-label":s?"Restore files panel":"Expand files panel",onClick:le,children:s?e.jsx(Ka,{size:14}):e.jsx(va,{size:14})})]})}function Vi({canCheckActiveFile:t,canSaveActiveFile:s,collapsed:n,editorControlsVisible:a,editorDiagnosticStatus:i,editorDiagnosticsChecking:u,hideWhiteSpace:c,loadFullFiles:f,menuOpen:h,renderMarkdown:m,showEditorCommandBar:o,showRenderMarkdownToggle:x,splitView:S,wordDiffs:k,wordWrap:N,onCopyGitApply:E,onEditorCheck:_,onEditorRedo:W,onEditorSave:K,onEditorUndo:U,onRefresh:B,onToggleCollapsed:j,onToggleEditorControlsVisible:R,onToggleHideWhiteSpace:T,onToggleLoadFullFiles:M,onToggleMenu:A,onToggleRenderMarkdown:Q,onToggleSplitView:q,onToggleWordDiffs:z,onToggleWordWrap:H}){return e.jsx("div",{className:"workspace-diff-toolbar",children:e.jsxs("div",{className:"workspace-diff-toolbar-actions",children:[e.jsxs("div",{className:"workspace-diff-menu-anchor",children:[e.jsx("button",{type:"button",className:"diff-icon-button",title:"Diff options","aria-haspopup":"menu","aria-expanded":h,onClick:()=>A(),children:e.jsx(ka,{size:15})}),h&&e.jsx(Ui,{collapsed:n,editorControlsVisible:a,hideWhiteSpace:c,loadFullFiles:f,renderMarkdown:m,wordDiffs:k,wordWrap:N,onClose:()=>A(!1),onCopyGitApply:E,onRefresh:B,onToggleCollapsed:j,onToggleEditorControlsVisible:R,onToggleHideWhiteSpace:T,onToggleLoadFullFiles:M,onToggleRenderMarkdown:Q,onToggleWordDiffs:z,onToggleWordWrap:H})]}),o&&e.jsxs("div",{className:"workspace-editor-command-bar","aria-label":"Editor controls",children:[e.jsx("button",{type:"button",className:"diff-icon-button",title:"Save file","aria-label":"Save file",disabled:!s,onClick:K,children:e.jsx(Ga,{size:14})}),e.jsx("button",{type:"button",className:"diff-icon-button",title:"Undo","aria-label":"Undo",onClick:U,children:e.jsx(ui,{size:14})}),e.jsx("button",{type:"button",className:"diff-icon-button",title:"Redo","aria-label":"Redo",onClick:W,children:e.jsx(ci,{size:14})}),e.jsx("button",{type:"button",className:"diff-icon-button",title:"Check file","aria-label":"Check file",disabled:!t,onClick:_,children:u?e.jsx(Oe,{className:"spinning",size:14}):e.jsx(Ws,{size:14})}),i&&e.jsxs("span",{className:`workspace-editor-diagnostic-chip ${i.severity}`,children:[i.severity==="error"||i.severity==="warning"||i.severity==="unavailable"?e.jsx(tn,{size:13}):e.jsx(Ws,{size:13}),e.jsx("span",{children:i.label})]})]}),x&&e.jsx("button",{type:"button",className:`diff-icon-button ${m?"active":""}`,title:m?"Show Markdown source":"Render Markdown","aria-label":m?"Show Markdown source":"Render Markdown","aria-pressed":m,onClick:Q,children:e.jsx(sn,{size:14})}),e.jsx("button",{type:"button",className:`diff-icon-button ${S?"active":""}`,title:S?"Show unified diff":"Show split diff","aria-label":S?"Show unified diff":"Show split diff","aria-pressed":S,onClick:q,children:e.jsx(ti,{size:14})})]})})}const Ki={cjs:"typescript",css:"css",html:"html",js:"typescript",json:"json",jsx:"typescript",md:"markdown",mjs:"typescript",py:"python",sh:"shell",ts:"typescript",tsx:"typescript",yaml:"yaml",yml:"yaml"};function ls(t){const s=t.split("/").pop()?.toLowerCase()??"";if(s==="dockerfile")return"shell";if(s==="readme"||s==="readme.md")return"markdown";const n=s.includes(".")?s.split(".").pop()??"":"";return Ki[n]??"text"}function Gi(t,s){return t?s==="markdown"?qi(t):s==="json"?Fe(t,/("(?:\\.|[^"\\])*"(?=\s*:)|"(?:\\.|[^"\\])*"|[-]?\b\d+(?:\.\d+)?\b|\btrue\b|\bfalse\b|\bnull\b|[{}[\]:,])/g):s==="css"?Fe(t,/(\/\*.*?\*\/|#[\da-fA-F]{3,8}\b|--[\w-]+|[.#]?[\w-]+(?=\s*:)|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b\d+(?:\.\d+)?(?:px|rem|em|%|vh|vw)?\b|[{}():;,])/g):s==="html"?Fe(t,/(<!--.*?-->|<\/?[\w-]+|[\w:-]+(?==)|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|[<>/=])/g):s==="shell"?Fe(t,/(#.*$|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b(?:cd|cp|export|git|npm|pnpm|bun|yarn|rm|mkdir|test|if|then|fi|for|do|done|echo)\b|\$[\w_]+|&&|\|\||[|&;=])/g):s==="python"?Fe(t,/(#.*$|"""[\s\S]*?"""|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b(?:class|def|return|if|elif|else|for|while|try|except|finally|with|as|import|from|None|True|False|async|await|lambda|yield)\b|\b[A-Z][\w]*\b|\b\d+(?:\.\d+)?\b|[+\-*/%=<>!&|.:,()[\]{}]+)/g):Fe(t,/(\/\/.*$|\/\*.*?\*\/|`(?:\\.|[^`\\])*`|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\b(?:abstract|as|async|await|boolean|break|case|catch|class|const|continue|default|else|enum|export|extends|false|finally|for|from|function|if|import|in|interface|let|new|null|number|of|return|string|switch|throw|true|try|type|undefined|void|while)\b|\b[A-Z][\w]*\b|\b\d+(?:\.\d+)?\b|[+\-*/%=<>!&|?:.,()[\]{}]+)/g):[{text:" ",kind:"plain"}]}function qi(t){return/^\s{0,3}#{1,6}\s/.test(t)?[{text:t,kind:"keyword"}]:/^\s*[-*+]\s/.test(t)?[{text:t,kind:"property"}]:Fe(t,/(`[^`]+`|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\)|https?:\/\/\S+)/g)}function Xi(t){return/^(\/\/|#|\/\*|<!--)/.test(t)?"comment":/^["'`]/.test(t)?"string":/^[-]?\d/.test(t)||/^#[\da-fA-F]{3,8}\b/.test(t)?"number":/^\b[A-Z]/.test(t)?"type":/^[.#]?[\w-]+$/.test(t)&&t.includes("-")?"property":/^(?:[{}()[\],.:;<>/=+\-*&|!?%]+)$/.test(t)?"operator":/^(?:--|\$)/.test(t)?"property":"keyword"}function Fe(t,s){const n=[];let a=0;for(const i of t.matchAll(s)){const u=i.index??0;u>a&&n.push({text:t.slice(a,u),kind:"plain"});const c=i[0];if(n.push({text:c,kind:Xi(c)}),a=u+c.length,/^(\/\/|#|<!--)/.test(c))break}return a<t.length&&n.push({text:t.slice(a),kind:"plain"}),n.length>0?n:[{text:t,kind:"plain"}]}function Nt({language:t,text:s}){return e.jsx(e.Fragment,{children:Gi(s,t).map((n,a)=>e.jsx("span",{className:`syntax-token ${n.kind}`,children:n.text},`${a}-${n.text}`))})}const Zi=`
3
-
4
- [file truncated]`,Qi=r.lazy(()=>da(()=>import("./WorkspaceMonacoEditor-B2B7OM_L.js").then(t=>t.jc),__vite__mapDeps([0,1,2,3]),import.meta.url)),Jt=6,Yi=18,$e=22,Zs=44,Ji=160,Qs=12;function Ct({path:t,workspaceName:s,workspaceRootPath:n,onSelectPath:a}){const i=ss(t,n),u=Sa(i),c=u?el(i):s?.trim()||"Workspace",h=(u&&c!=="/"&&i.startsWith(`${c}/`)?i.slice(c.length+1):i).split("/").filter(Boolean),m=!!(a&&!u);return e.jsxs("span",{className:"workspace-file-breadcrumbs",title:u?i:`${c} > ${i}`,children:[a&&!u?e.jsx("button",{type:"button",onClick:()=>a(null),children:c}):e.jsx("span",{children:c}),h.map((o,x)=>{const S=x===h.length-1,k=h.slice(0,x+1).join("/");return e.jsxs("span",{className:"workspace-file-breadcrumb-segment",children:[e.jsx(Na,{size:13}),a&&m&&!S?e.jsx("button",{type:"button",onClick:()=>a(k),children:o}):e.jsx("span",{children:o})]},`${x}-${o}`)})]})}function el(t){const s=/^[A-Za-z]:\//.exec(t);return s?s[0].slice(0,-1):"/"}function tl({collapsed:t=!1,diagnostics:s=[],draftContent:n,editable:a=!1,editorRef:i,error:u,file:c,hideWhiteSpace:f=!1,headerActions:h,imageSrc:m,loading:o,loadFullFiles:x,onOpenImage:S,onSelectBreadcrumbPath:k,onDraftContentChange:N,onLspAction:E,onSave:_,renderMarkdown:W,saveError:K,saving:U=!1,splitView:B=!1,wordDiffs:j=!1,wordWrap:R,workspaceName:T,workspaceRootPath:M}){Ee(u,{prefix:"File preview"}),Ee(K,{prefix:"Save failed"});const A=n??c.content??"",Q=r.useMemo(()=>A.split(`
5
- `).slice(0,800),[A]),q=ls(c.path),z=n!=null||c.content!=null,H=A.endsWith(Zi),le=W&&z&&ts(c.path),re=z&&ya(c.path)&&ll(A);return m?e.jsxs("div",{className:"workspace-file-preview",children:[e.jsxs("div",{className:"workspace-diff-file-heading",children:[e.jsxs("div",{children:[e.jsx(Ct,{path:c.path,workspaceName:T,workspaceRootPath:M,onSelectPath:k}),e.jsxs("span",{className:"diff-addition",children:["+",c.additions]}),e.jsxs("span",{className:"diff-deletion",children:["-",c.deletions]})]}),h]}),e.jsx("div",{className:"workspace-file-image-stage",children:e.jsx("button",{type:"button",className:"workspace-file-image-button","aria-label":`Open image preview for ${c.path}`,onClick:S,children:e.jsx("img",{alt:c.path,decoding:"async",src:m})})})]}):!x&&c.patch||!z&&c.patch?B?e.jsx(nl,{collapsed:t,file:c,hideWhiteSpace:f,onSelectBreadcrumbPath:k,wordDiffs:j,wordWrap:R,headerActions:h,workspaceName:T,workspaceRootPath:M}):e.jsx(sl,{collapsed:t,file:c,hideWhiteSpace:f,wordWrap:R,workspaceName:T,workspaceRootPath:M,onSelectBreadcrumbPath:k,headerActions:h}):e.jsxs("div",{className:`workspace-file-preview ${R?"wrap":""}`,children:[e.jsxs("div",{className:"workspace-diff-file-heading",children:[e.jsxs("div",{children:[e.jsx(Ct,{path:c.path,workspaceName:T,workspaceRootPath:M,onSelectPath:k}),e.jsxs("span",{className:"diff-addition",children:["+",c.additions]}),e.jsxs("span",{className:"diff-deletion",children:["-",c.deletions]})]}),e.jsxs("span",{className:"workspace-file-heading-end",children:[U?e.jsx("span",{className:"workspace-file-save-state",children:"Saving"}):null,h]})]}),z?le?e.jsx("div",{className:"workspace-markdown-preview",children:e.jsx(Pa,{content:A})}):re?e.jsx(al,{file:c,contentBase64:A}):a&&!H?e.jsx(r.Suspense,{fallback:e.jsx("div",{className:"workspace-diff-code-empty",children:"Loading editor"}),children:e.jsx(Qi,{diagnostics:s,filePath:c.path,onChange:Y=>N?.(Y),onLspAction:E,onSave:()=>_?.(),ref:i,value:A,wordWrap:R})}):e.jsx("div",{className:"workspace-file-code",children:Q.map((Y,J)=>e.jsxs("div",{className:"workspace-file-code-row",children:[e.jsx("span",{children:J+1}),e.jsx("code",{children:e.jsx(Nt,{language:q,text:Y||" "})})]},`${J}-${Y}`))}):e.jsx("div",{className:"workspace-diff-code-empty",children:o?"Loading file content":"No file content available."})]})}function sl({collapsed:t=!1,file:s,hideWhiteSpace:n=!1,wordWrap:a,workspaceName:i,workspaceRootPath:u,onSelectBreadcrumbPath:c,headerActions:f}){const h=r.useMemo(()=>dn(s.patch,n),[s.patch,n]),m=ls(s.path);return e.jsxs("div",{className:`workspace-diff-preview ${a?"wrap":""}`,children:[e.jsxs("div",{className:"workspace-diff-file-heading",children:[e.jsxs("div",{children:[e.jsx(Ct,{path:s.path,workspaceName:i??null,workspaceRootPath:u,onSelectPath:c}),e.jsxs("span",{className:"diff-addition",children:["+",s.additions]}),e.jsxs("span",{className:"diff-deletion",children:["-",s.deletions]})]}),f]}),t?e.jsx("div",{className:"workspace-diff-code-empty",children:"Diff collapsed"}):e.jsx(cn,{ariaLabel:`${s.path} diff`,className:"workspace-diff-code",emptyMessage:"No patch available.",rows:h,renderRow:(o,x)=>o.kind==="spacer"?e.jsx("div",{className:"workspace-diff-spacer",role:"row",children:o.label},`${o.label}-${x}`):e.jsxs("div",{className:`workspace-diff-code-row ${o.kind}`,role:"row",children:[e.jsx("span",{className:"workspace-diff-line-number",role:"cell",children:o.newLine||o.oldLine}),e.jsx("code",{role:"cell",children:e.jsx(Nt,{language:m,text:o.newContent||o.oldContent||" "})})]},`${o.oldLine}-${o.newLine}-${x}`),wordWrap:a})]})}function nl({collapsed:t,file:s,hideWhiteSpace:n,wordDiffs:a,wordWrap:i,workspaceName:u,workspaceRootPath:c,onSelectBreadcrumbPath:f,headerActions:h}){const m=r.useMemo(()=>dn(s.patch,n),[s.patch,n]),o=ls(s.path);return e.jsxs("div",{className:`workspace-diff-preview split ${i?"wrap":""} ${a?"word-diffs":""}`,children:[e.jsxs("div",{className:"workspace-diff-file-heading",children:[e.jsxs("div",{children:[e.jsx(Ct,{path:s.path,workspaceName:u,workspaceRootPath:c,onSelectPath:f}),e.jsxs("span",{className:"diff-addition",children:["+",s.additions]}),e.jsxs("span",{className:"diff-deletion",children:["-",s.deletions]})]}),e.jsxs("span",{className:"workspace-file-heading-end",children:[h,e.jsx(Xa,{size:14})]})]}),t?e.jsx("div",{className:"workspace-diff-code-empty",children:"Diff collapsed"}):e.jsx(cn,{ariaLabel:`${s.path} split diff`,className:"workspace-split-code",emptyMessage:"No patch available.",rows:m,renderRow:(x,S)=>x.kind==="spacer"?e.jsx("div",{className:"workspace-diff-spacer split",role:"row",children:x.label},`${x.label}-${S}`):e.jsxs("div",{className:`workspace-split-row ${x.kind}`,role:"row",children:[e.jsx("span",{className:"workspace-diff-line-number old",role:"cell",children:x.oldLine}),e.jsx("code",{className:"old",role:"cell",children:e.jsx(Nt,{language:o,text:x.oldContent||" "})}),e.jsx("span",{className:"workspace-diff-line-number new",role:"cell",children:x.newLine}),e.jsx("code",{className:"new",role:"cell",children:e.jsx(Nt,{language:o,text:x.newContent||" "})})]},`${x.oldLine}-${x.newLine}-${S}`),wordWrap:i})]})}function al({file:t,contentBase64:s}){const n=r.useMemo(()=>{const a=rl(s);if(!a)return null;const i=new Blob([new Uint8Array(a)],{type:il(t.path)});return URL.createObjectURL(i)},[s,t.path]);return r.useEffect(()=>()=>{n&&URL.revokeObjectURL(n)},[n]),n?e.jsxs("div",{className:"workspace-document-preview",children:[e.jsxs("div",{className:"workspace-document-preview-card",children:[e.jsx("strong",{children:t.path.split("/").pop()}),e.jsx("span",{children:/\.pdf$/i.test(t.path)?"PDF document":"Word document"}),e.jsx("a",{href:n,download:t.path.split("/").pop()||"document",children:"Download document"})]}),e.jsx("iframe",{src:n,title:`${t.path} preview`})]}):e.jsx("div",{className:"workspace-diff-code-empty",children:"Document preview unavailable."})}function il(t){return/\.pdf$/i.test(t)?"application/pdf":/\.docx$/i.test(t)?"application/vnd.openxmlformats-officedocument.wordprocessingml.document":"application/msword"}function ll(t){return t.length>0&&/^[A-Za-z0-9+/=\s]+$/.test(t)}function rl(t){try{const s=atob(t.replace(/\s/g,"")),n=new Uint8Array(s.length);for(let a=0;a<s.length;a+=1)n[a]=s.charCodeAt(a);return n}catch{return null}}function cn({ariaLabel:t,className:s,emptyMessage:n,rows:a,renderRow:i,wordWrap:u}){const c=!u&&a.length>Ji,{endIndex:f,offsetTop:h,scrollRef:m,startIndex:o,totalHeight:x}=ol(a.length,c);return a.length===0?e.jsx("div",{className:s,role:"table","aria-label":t,children:e.jsx("div",{className:"workspace-diff-code-empty",children:n})}):c?e.jsx("div",{className:`${s} virtualized`,ref:m,role:"table","aria-label":t,"aria-rowcount":a.length,children:e.jsx("div",{className:"workspace-diff-virtual-spacer",style:{height:x},children:e.jsx("div",{className:"workspace-diff-virtual-window",style:{transform:`translateY(${h}px)`},children:a.slice(o,f).map((S,k)=>i(S,o+k))})})}):e.jsx("div",{className:s,role:"table","aria-label":t,children:a.map(i)})}function ol(t,s){const n=r.useRef(null),[a,i]=r.useState({height:$e*Zs,scrollTop:0}),u=r.useCallback(()=>{const m=n.current;m&&i({height:m.clientHeight||$e*Zs,scrollTop:m.scrollTop})},[]);if(r.useEffect(()=>{if(!s)return;const m=n.current;if(!m)return;u();let o=0;const x=()=>{if(typeof window>"u"){u();return}window.cancelAnimationFrame(o),o=window.requestAnimationFrame(u)};m.addEventListener("scroll",x,{passive:!0});const S=typeof ResizeObserver>"u"?null:new ResizeObserver(()=>x());return S?.observe(m),()=>{m.removeEventListener("scroll",x),S?.disconnect(),typeof window<"u"&&window.cancelAnimationFrame(o)}},[s,u]),!s)return{endIndex:t,offsetTop:0,scrollRef:n,startIndex:0,totalHeight:t*$e};const c=Math.ceil(a.height/$e),f=Math.max(0,Math.floor(a.scrollTop/$e)-Qs);return{endIndex:Math.min(t,f+c+Qs*2),offsetTop:f*$e,scrollRef:n,startIndex:f,totalHeight:t*$e}}function dn(t,s){if(!t.trim())return[];const n=[];let a=0,i=0,u=null,c=null,f=!1,h=[];function m(){n.push(...cl(h)),h=[]}function o(){f&&(m(),u=a,c=i,f=!1)}for(const x of t.split(`
6
- `)){const S=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(x);if(S){o();const E=Number(S[1]),_=Number(S[2]);if(u!==null&&c!==null){const W=Math.max(E-u,_-c,0);W>0&&n.push({kind:"spacer",label:un(W)})}a=E,i=_,f=!0;continue}if(x.startsWith("diff --git")||x.startsWith("index ")||x.startsWith("--- ")||x.startsWith("+++ ")||!f||x.startsWith("\\ No newline"))continue;const k=x.slice(1)||" ";if(s&&!k.trim())continue;if(x.startsWith("+")){m(),n.push({kind:"addition",oldLine:"",newLine:String(i||""),oldContent:"",newContent:k}),i+=1;continue}if(x.startsWith("-")){m(),n.push({kind:"deletion",oldLine:String(a||""),newLine:"",oldContent:k,newContent:""}),a+=1;continue}const N=x.startsWith(" ")?x.slice(1)||" ":x||" ";s&&!N.trim()||(h.push({kind:"context",oldLine:String(a||""),newLine:String(i||""),oldContent:N,newContent:N}),a+=1,i+=1)}return o(),n}function cl(t){if(t.length<Yi)return t;const s=t.length-Jt*2;return s<=0?t:[...t.slice(0,Jt),{kind:"spacer",label:un(s)},...t.slice(-Jt)]}function un(t){return`${t} unmodified ${t===1?"line":"lines"}`}const Rt=`
7
-
8
- [file truncated]`,dl="openpond.sandboxSourceReadback.v1";async function ul(t,s,n,a=[]){let i;try{i=await I.sandboxDownloadFile(t,s,n,{maxBytes:256*1024})}catch(c){const f=c instanceof Error?c.message:String(c);if(!fl(f))throw c;const h=ml(a,s,n);if(h)return h;const m=!!rs(a,s)?.artifact,o=await I.sandbox(t,s).catch(()=>null);throw new Error(pl(n,o?.sandbox??null,f,{hasReadbackArtifact:m}))}const u=i.file.isBinary?i.file.contentsBase64||null:`${i.contents}${i.file.truncated?Rt:""}`;return{path:i.file.path,status:"",additions:0,deletions:0,patch:"",content:u}}function fl(t){return t.includes("sandbox_not_ready")&&t.includes("placement_stale")||t.includes("sandbox_not_running")}function pl(t,s,n="sandbox_not_ready:placement_stale",a={}){const i=s?xl(s):null,u=t||"this file";if(a.hasReadbackArtifact)return`Sandbox file content is unavailable because the stopped runtime placement is stale. The latest source checkpoint has a saved readback artifact, but ${u} was not captured as text. Resume the sandbox to inspect it. ${n}`;if(!i)return`Sandbox file content is unavailable because the stopped runtime placement is stale. Resume the sandbox to inspect ${u}. ${n}`;const c=i.preservedSha?i.preservedSha.slice(0,12):null,f=i.sourceRef?` (${i.sourceRef})`:"";return`Sandbox file content is unavailable because the stopped runtime placement is stale. The latest source checkpoint is saved${c?` at ${c}`:""}${f}, but this Desktop app cannot read file bodies from preserved source refs yet. Resume the sandbox to inspect ${u}.`}function hl(t,s){if(!s)return null;const n=rs(t,s);if(!n)return null;const a=pn(n.artifact),i=new Map;for(const f of os(a))i.set(f.path,f);for(const f of hn(n.artifact)){const h=fn(n.artifact,f.path);h&&i.set(f.path,h)}const u=[...i.values()].sort((f,h)=>f.path.localeCompare(h.path)),c=[...new Set(u.map(f=>f.path))].sort((f,h)=>f.localeCompare(h));return{appId:s,repoPath:"",initialized:!0,dirty:!1,filesChanged:u.length,additions:u.reduce((f,h)=>f+h.additions,0),deletions:u.reduce((f,h)=>f+h.deletions,0),repoFiles:c,files:u,error:null,updatedAt:Ue(ie(n.artifact)?.createdAt)??n.event.timestamp}}function ml(t,s,n){if(!s)return null;const a=rs(t,s);return a?fn(a.artifact,n):null}function rs(t,s){for(let n=t.length-1;n>=0;n-=1){const a=t[n];if(a?.name!=="workspace_action_result")continue;const i=ie(a.data),u=ie(i?.sourcePreservation),c=ie(u?.sourceReadbackArtifact);if(c&&c.schemaVersion===dl&&c.sandboxId===s)return{artifact:c,event:a}}return null}function fn(t,s){const n=os(pn(t)).find(u=>u.path===s),a=hn(t).find(u=>u.path===s);if(!n&&!a)return null;const i=typeof a?.content=="string"?`${a.content}${a.truncated?Rt:""}`:null;return{path:a?.path??n?.path??s,status:n?.status??"M",additions:n?.additions??0,deletions:n?.deletions??0,patch:n?.patch??"",content:i}}function pn(t){const s=ie(t.patch);return typeof s?.text=="string"?s.text:""}function hn(t){return(Array.isArray(t.files)?t.files:[]).map(n=>{const a=ie(n),i=Ue(a?.path);return i?{path:i,...typeof a?.content=="string"?{content:a.content}:{},...a?.truncated===!0?{truncated:!0}:{}}:null}).filter(n=>!!n)}function xl(t){const s=ie(t.metadata)??{},n=ie(s.sourcePreservation)??ie(s.sourcePreserve),a=ie(s.sourceChangeDetection),i=Ue(n?.preservedSha)??Ue(a?.preservedSha)??null,u=Ue(n?.sourceRef)??Ue(a?.sourceRef)??(typeof t.repoRef=="string"?t.repoRef:null);return!i&&!u?null:{preservedSha:i,sourceRef:u}}function ie(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:null}function Ue(t){return typeof t=="string"&&t.trim()?t.trim():null}async function bl(t,s,n,a){const i=await I.sandboxUploadFile(t,s,{path:n,contents:a});return await I.preserveSandboxSource(t,s,{message:"Auto-preserve source after right sidebar save"}),{path:i.file.path,status:"M",additions:0,deletions:0,patch:"",content:a}}function gl(t){return t.filter(s=>s.type==="file").map(s=>s.path).sort((s,n)=>s.localeCompare(n))}function jl(t,s){const n=new Map;for(const a of os(t?.diff??""))n.set(a.path,a);for(const a of vl(s?.porcelain??""))n.has(a.path)||n.set(a.path,a);return[...n.values()].sort((a,i)=>a.path.localeCompare(i.path))}function os(t){const s=[];let n=null;const a=()=>{n&&(s.push({path:n.path,status:n.status,additions:n.additions,deletions:n.deletions,patch:n.patchLines.join(`
9
- `),content:null}),n=null)};for(const i of t.split(`
10
- `)){if(i.startsWith("diff --git ")){a(),n={path:wl(i)??"changed-file",status:"M",additions:0,deletions:0,patchLines:[i]};continue}if(n){if(n.patchLines.push(i),i.startsWith("+++ ")){const u=Ys(i.slice(4));u&&(n.path=u);continue}if(i.startsWith("--- ")){const u=Ys(i.slice(4));u&&n.path==="changed-file"&&(n.path=u);continue}i.startsWith("new file mode ")&&(n.status="A"),i.startsWith("deleted file mode ")&&(n.status="D"),i.startsWith("rename to ")&&(n.status="R",n.path=i.slice(10).trim()||n.path),i.startsWith("+")&&!i.startsWith("+++")&&(n.additions+=1),i.startsWith("-")&&!i.startsWith("---")&&(n.deletions+=1)}}return a(),s}function vl(t){const s=[];for(const n of t.split(`
11
- `)){if(!n.trim())continue;const a=kl(n);a&&s.push({path:a,status:n.slice(0,2).trim()||"M",additions:0,deletions:0,patch:"",content:null})}return s}function kl(t){const s=t.slice(3).trim();return s?s.split(" -> ").pop()?.trim()||s:null}function wl(t){const s=/^diff --git a\/(.+) b\/(.+)$/.exec(t.trim());return s?.[2]??s?.[1]??null}function Ys(t){const s=t.trim();return!s||s==="/dev/null"?null:s.startsWith("a/")||s.startsWith("b/")?s.slice(2):s}const mn="openpond.workspace.editorControlsVisible";function yl(){try{return window.localStorage.getItem(mn)==="true"}catch{return!1}}function Sl(t){try{window.localStorage.setItem(mn,String(t))}catch{}}function Nl({activeDiagnostics:t,activeServers:s,editorDiagnosticsChecking:n,editorLspEnabled:a,showEditorCommandBar:i}){if(!i)return null;if(!a)return{label:"LSP off",severity:"unavailable"};if(n)return{label:"Checking",severity:"info"};const u=t.filter(m=>m.severity==="error").length;if(u>0)return{label:`${u} error${u===1?"":"s"}`,severity:"error"};const c=t.filter(m=>m.severity==="warning").length;if(c>0)return{label:`${c} warning${c===1?"":"s"}`,severity:"warning"};const f=t.length;if(f>0)return{label:`${f} note${f===1?"":"s"}`,severity:"info"};if(!s)return null;const h=s.find(m=>m.status!=="connected");return h?{label:h.id==="none"?"No LSP":`${h.id} unavailable`,severity:"unavailable"}:{label:"No issues",severity:"none"}}const Js=3e3,Cl=2e3,en=[],Rl=[];function $l({appId:t,workspaceId:s,workspaceKind:n,connection:a,runtimeEvents:i,diff:u,editorPreferences:c,loading:f,workspaceName:h,workspaceInitialized:m,workspaceError:o,expanded:x,fileRootPath:S,filesWithPreview:k=!1,openFileRequest:N,readOnly:E=!1,sideChatTabs:_,sourceSwitcher:W,tabRequest:K,viewState:U,onRefresh:B,onResizeStart:j,onToggleExpanded:R,onOpenBrowser:T,onViewStateChange:M,onCloseSideChat:A,onOpenSideChat:Q,onSelectSideChat:q,goalDetails:z,sandboxFileSource:H,trainingSummary:le,sidebarFileBookmarks:re=[],sidebarFileSourceSessionId:Y=null,onSetSidebarFileStatus:J}){return e.jsx(Ll,{appId:t,workspaceId:s,workspaceKind:n,connection:a,runtimeEvents:i??[],diff:u,editorPreferences:c??null,loading:f,workspaceName:h,workspaceInitialized:m,workspaceError:o,expanded:x,fileRootPath:S??null,filesWithPreview:k,openFileRequest:N,readOnly:E,sideChatTabs:_??[],sourceSwitcher:W??null,tabRequest:K??null,viewState:U??null,onRefresh:B,onResizeStart:j,onToggleExpanded:R,onOpenBrowser:T,onViewStateChange:M,onCloseSideChat:A,onOpenSideChat:Q,onSelectSideChat:q,goalDetails:z??null,sandboxFileSource:H??null,trainingSummary:le??null,sidebarFileBookmarks:re,sidebarFileSourceSessionId:Y,onSetSidebarFileStatus:J})}function Fl(t,s,n,a){return t&&s?.content!=null?{...t,content:s.content}:s&&!t&&es(s)?s:t&&es(t)?t:s&&es(s)?s:t??s??n??ns(a)}function es(t){return!!(t.patch||t.content!=null)}function El({changedFiles:t,checkpointStatus:s,dirty:n,error:a,loading:i,preservedReadback:u,sandboxMode:c,sourcePending:f}){if(f)return{label:"sandbox pending",tone:"loading"};if(i)return{label:"refreshing",tone:"loading"};if(c&&u&&s)return s;if(a)return{label:"status unavailable",tone:"error"};if(c&&s?.tone==="error"||c&&s&&!n&&t===0)return s;if(n||t>0){const h=Math.max(1,t),m=h===1?"change":"changes";return{label:c?`${h} unpreserved ${m}`:`${h} local ${m}`,tone:"dirty"}}return{label:c?"sandbox clean":"local clean",tone:"clean"}}function Al(t,s){if(!s)return null;for(let n=t.length-1;n>=0;n-=1){const a=t[n];if(a?.name!=="workspace_action_result")continue;const i=a.data&&typeof a.data=="object"&&!Array.isArray(a.data)?a.data:null,u=i?.sourcePreservation&&typeof i.sourcePreservation=="object"&&!Array.isArray(i.sourcePreservation)?i.sourcePreservation:null;if(u?.attempted===!0&&u.sandboxId===s)return u.ok!==!0?{label:"checkpoint failed",tone:"error"}:u.preserved===!0?{label:"checkpoint saved",tone:"clean"}:{label:"checkpoint clean",tone:"clean"}}return null}function Pl(t){const s=t.split("/").filter(Boolean);return s.map((n,a)=>s.slice(0,a+1).join("/"))}function Ll({appId:t,workspaceId:s,workspaceKind:n,connection:a,runtimeEvents:i,diff:u,editorPreferences:c,loading:f,workspaceName:h,workspaceInitialized:m,workspaceError:o,expanded:x,fileRootPath:S,filesWithPreview:k,openFileRequest:N,readOnly:E,sideChatTabs:_,sourceSwitcher:W,tabRequest:K,viewState:U,onRefresh:B,onResizeStart:j,onToggleExpanded:R,onOpenBrowser:T,onViewStateChange:M,onCloseSideChat:A,onOpenSideChat:Q,onSelectSideChat:q,goalDetails:z,sandboxFileSource:H,trainingSummary:le,sidebarFileBookmarks:re,sidebarFileSourceSessionId:Y,onSetSidebarFileStatus:J}){const w=U??Aa(),[F,D]=r.useState(w.activeTab),[de,Et]=r.useState(!1),[Ae,X]=r.useState(!1),[xn,se]=r.useState(!1),[At,Pt]=r.useState(""),[ee,He]=r.useState(()=>[...w.openFilePaths]),[b,ge]=r.useState(w.selectedPath),[cs,bn]=r.useState(!1),[ds,gn]=r.useState(!1),[Pe,jn]=r.useState(!1),[Lt,vn]=r.useState(!0),[us,kn]=r.useState(yl),[fs,wn]=r.useState(!1),[ps,yn]=r.useState(!1),[hs,Sn]=r.useState(!1),[ne,Le]=r.useState({}),[ot,ct]=r.useState(()=>new Set),[ms,dt]=r.useState({}),[ue,Ve]=r.useState({}),[xs,Dt]=r.useState(()=>new Set),[Ke,Ge]=r.useState(null),[Nn,Tt]=r.useState(!1),[bs,qe]=r.useState(null),[gs,_t]=r.useState({}),[Cn,Mt]=r.useState({}),[Rn,zt]=r.useState(null),[$n,je]=r.useState(null),[Fn,ve]=r.useState(null);Ee(o,{prefix:"Workspace"}),Ee(bs,{prefix:"Sandbox files"});const[It,ut]=r.useState(null),[En,Xe]=r.useState({}),[ft,Wt]=r.useState(null),[De,pt]=r.useState(null),[ht,mt]=r.useState(null),te=c??Fa.editor,js=r.useRef(ne),Bt=r.useRef(Qt(w)),Ot=r.useRef(Qt(w)),vs=r.useRef(null),Ut=r.useRef(B),oe=r.useRef(!1),Ze=r.useRef(null),Qe=r.useRef(0),fe=r.useRef(null),Ye=r.useRef(null),P=H?.sandboxId?.trim()||null,C=!!H,Te=!!le||C&&!!P,xt=C?`sandbox:${P??"pending"}`:`workspace:${t??"none"}`,ks=C?!!P:!!t,ws=r.useRef(xt),pe=!!(z?.createRuntime||z?.goalRuntime||z?.subagentRuntime),_e=r.useCallback(async(l={})=>{if(C){if(!a){Ge(null),qe("OpenPond App server is not connected.");return}if(!P){Ge(null),qe(null);return}l.silent||Tt(!0);try{const[p,d,v]=await Promise.allSettled([I.sandboxFiles(a,P,{recursive:!0,maxEntries:Cl}),I.sandboxGitStatus(a,P),I.sandboxGitDiff(a,P,{})]);if(p.status==="rejected")throw p.reason;const y=gl(p.value.files),g=d.status==="fulfilled"?d.value.status:null,$=v.status==="fulfilled"?v.value.diff:null,L=jl($,g),at=L.reduce((Xt,Zt)=>Xt+Zt.additions,0),ca=L.reduce((Xt,Zt)=>Xt+Zt.deletions,0);Ge({appId:P,repoPath:"",initialized:!0,dirty:g?!g.clean:L.length>0,filesChanged:L.length,additions:at,deletions:ca,repoFiles:y,files:L,error:null,updatedAt:new Date().toISOString()}),qe(null)}catch(p){Ge(null),qe(p instanceof Error?p.message:String(p))}finally{l.silent||Tt(!1)}}},[a,P,C]),ys=r.useMemo(()=>hl(i,P),[i,P]),Ss=!!(Ke&&((Ke.files?.length??0)>0||(Ke.repoFiles?.length??0)>0)),An=C&&!Ss&&!!ys,he=C?Ss?Ke:ys??Ke:u,Je=he?.repoPath??null,Pn=r.useMemo(()=>Al(i,P),[i,P]),Me=he?.files??en,Ns=he?.files??en,ke=r.useMemo(()=>new Map(Ns.map(l=>[l.path,l])),[Ns]),we=r.useMemo(()=>new Map(Me.map(l=>[l.path,l])),[Me]),ze=he?.repoFiles??(Me.length>0?Me.map(l=>l.path):Rl),Ie=r.useMemo(()=>Me.filter(l=>!Ca(l,ze)),[ze,Me]),ye=r.useMemo(()=>ht&&!ze.includes(ht)?[ht,...ze]:ze,[ze,ht]),Cs=r.useMemo(()=>ee.map(l=>ke.get(l)??ne[l]??we.get(l)??ns(l)),[ke,we,ne,ee]),bt=r.useMemo(()=>{const l={};for(const p of ee){if(Ce(p))continue;const d=ke.get(p)??ne[p]??we.get(p)??ns(p);d.content!=null&&(l[p]=d.content)}return l},[ke,we,ne,ee]),We=r.useMemo(()=>{const l=new Set;for(const[p,d]of Object.entries(ue))d.content!==d.savedContent&&l.add(p);return l},[ue]),Ln=r.useMemo(()=>{const l=At.trim().toLowerCase(),p=ye;return l?p.filter(d=>d.toLowerCase().includes(l)):p},[ye,At]),Ht=r.useMemo(()=>({activeTab:F,openFilePaths:ee,selectedPath:b}),[F,ee,b]);r.useEffect(()=>{js.current=ne},[ne]),r.useEffect(()=>{Ze.current=ft},[ft]),r.useEffect(()=>{Ve(l=>{let p=!1;const d={...l},v=new Set(ee),y=u?.updatedAt?Date.parse(u.updatedAt):null;for(const[g,$]of Object.entries(d))v.has(g)||$.content!==$.savedContent||(delete d[g],p=!0);for(const[g,$]of Object.entries(bt)){const L=d[g];if(!L){d[g]={content:$,savedContent:$},p=!0;continue}if(L.content===L.savedContent&&L.savedContent!==$){if(L.savedAt&&(y===null||y<L.savedAt))continue;d[g]={content:$,savedContent:$},p=!0}}return p?d:l})},[u?.updatedAt,bt,ee]),r.useEffect(()=>{Ut.current=B},[B]),r.useEffect(()=>{if(!U)return;const l=Ra(U,Je);Bs(Bt.current,l)||(Bt.current=l,Ot.current=l,D(l.activeTab),He(l.openFilePaths),ge(l.selectedPath))},[U,Je]),r.useEffect(()=>{if(ot.size>0||Bs(Ot.current,Ht))return;const l=Qt(Ht);Ot.current=l,Bt.current=l,M?.(l)},[Ht,M,ot]),r.useEffect(()=>{E||C||!a||!t||!m||u||o||oe.current||(oe.current=!0,Promise.resolve(Ut.current({silent:!0})).catch(()=>{}).finally(()=>{oe.current=!1}))},[t,a,u,E,C,o,m]),r.useEffect(()=>(ws.current!==xt&&(ws.current=xt,fe.current?.abort(new Error("lsp_diagnostics_source_changed")),fe.current=null,He([]),ge(null),Le({}),ct(new Set),dt({}),Ve({}),Dt(new Set),Ge(null),qe(null),Tt(!1),_t({}),Mt({}),zt(null),je(null),ve(null),ut(null),Xe({}),Wt(null),pt(null),mt(null)),()=>{fe.current?.abort(new Error("lsp_diagnostics_unmounted")),fe.current=null}),[xt]),r.useEffect(()=>{if(!(!N||vs.current===N.id)&&!(!N.file&&!ks)){if(vs.current=N.id,N.file){Dn(N.file,N.imageUrl);return}gt(N.path)}},[ks,N]),r.useEffect(()=>{if(!C||(_e(),!a||!P))return;let l=!1;async function p(){if(!(l||oe.current)&&!(typeof document<"u"&&document.visibilityState==="hidden")){oe.current=!0;try{await _e({silent:!0})}finally{oe.current=!1}}}const d=window.setInterval(()=>{p()},Js),v=()=>{p()};return window.addEventListener("focus",v),()=>{l=!0,window.clearInterval(d),window.removeEventListener("focus",v)}},[a,_e,P,C]),r.useEffect(()=>{if(E||C||!a||!t||!m)return;let l=!1;async function p(){if(!(l||oe.current)&&!(typeof document<"u"&&document.visibilityState==="hidden")){oe.current=!0;try{await Ut.current({silent:!0})}catch{}finally{oe.current=!1}}}const d=window.setInterval(()=>{p()},Js),v=()=>{p()};return window.addEventListener("focus",v),()=>{l=!0,window.clearInterval(d),window.removeEventListener("focus",v)}},[t,a,E,C,m]),r.useEffect(()=>{if(C||!a||!t||n==="local_project"){mt(null);return}let l=!1;return I.workspaceTemplateConfig(a,t).then(p=>{l||mt(p.exists?p.configPath??$a:null)}).catch(()=>{l||mt(null)}),()=>{l=!0}},[t,a,C,n]),r.useEffect(()=>{!b||ye.includes(b)||ee.includes(b)||ge(Ie[0]?.path??null)},[Ie,ee,ye,b]),r.useEffect(()=>{z?.active&&pe&&D("goal")},[z?.active,pe]),r.useEffect(()=>{K&&D(K.tab)},[K]),r.useEffect(()=>{!pe&&F==="goal"&&D("files")},[F,pe]),r.useEffect(()=>{!Te&&F==="summary"&&D("files")},[F,Te]);const G=F==="file"||k&&F==="files"?b:null;r.useEffect(()=>{if(!a||!G)return;if(Ce(G)){ve(null),je(g=>g===G?null:g);return}const l=It?.path===G,p=et(G);if(E&&(p?.content!=null||p?.patch)){ve(null),je(g=>g===G?null:g);return}if(!l&&(p?.content!=null||p?.patch&&!Pe)){ve(null),je(g=>g===G?null:g);return}let d=!1;const v=js.current[G];return v?.content==null&&(Pe||!v?.patch)&&je(G),ve(null),(C?P?ul(a,P,G,i):Promise.reject(new Error(H?.emptyMessage??"No sandbox filesystem is available.")):t?I.workspaceFile(a,t,G):Promise.reject(new Error("Workspace files are unavailable."))).then(g=>{d||Le($=>{const L=$[g.path];return L?.content===g.content&&L.patch===g.patch&&L.status===g.status?$:{...$,[g.path]:g}})}).catch(g=>{d||ve(g instanceof Error?g.message:String(g))}).finally(()=>{d||(je(g=>g===G?null:g),ut(g=>g&&g.id===It?.id&&g.path===G?null:g))}),()=>{d=!0}},[F,t,a,It,Pe,E,i,H?.emptyMessage,P,C,G]);function gt(l){const p=ss(l,Je);p&&(ct(d=>{if(!d.has(p))return d;const v=new Set(d);return v.delete(p),v}),Le(d=>{if(!(p in d))return d;const v={...d};return delete v[p],v}),dt(d=>{if(!(p in d))return d;const v={...d};return delete v[p],v}),ut({id:Date.now(),path:p}),k||He(d=>d.includes(p)?d:[...d,p]),ge(p),D(k?"files":"file"),!C&&a&&t&&Ce(p)&&pt(p),X(!1),se(!1),Pt(""))}function Dn(l,p){const d=ss(l.path,Je);if(!d)return;const v={...l,path:d};Le(y=>({...y,[d]:v})),ct(y=>{const g=new Set(y);return g.add(d),g}),dt(y=>{if(!p){if(!(d in y))return y;const g={...y};return delete g[d],g}return y[d]===p?y:{...y,[d]:p}}),ut(null),ve(null),je(null),k||He(y=>y.includes(d)?y:[...y,d]),ge(d),D(k?"files":"file"),X(!1),se(!1),Pt("")}const Tn=r.useCallback(()=>{kn(l=>{const p=!l;return Sl(p),p})},[]),et=l=>Fl(ke.get(l),ne[l],we.get(l),l),_n=r.useCallback((l,p)=>{Ve(d=>{const v=d[l],y=v?.savedContent??bt[l]??et(l).content??"";return{...d,[l]:{content:p,savedContent:y,savedAt:v?.savedAt}}}),Xe(d=>{if(!(l in d))return d;const v={...d};return delete v[l],v})},[ke,we,ne,bt]),Be=r.useCallback(async(l,p={})=>{if(C||!a||!t||Ce(l))return;const d=et(l),v=p.content??ue[l]?.content??d.content??void 0;if(v?.endsWith(Rt))return;const y=Qe.current+1;Qe.current=y,fe.current?.abort(new Error("lsp_diagnostics_superseded"));const g=new AbortController;fe.current=g,zt(l);try{const $=await I.workspaceLspTouch(a,t,{path:l,content:v,waitForDiagnostics:p.waitForDiagnostics??!0},{signal:g.signal});if(y!==Qe.current)return;_t(L=>({...L,[$.path]:$.diagnostics})),Mt(L=>({...L,[$.path]:$.servers}))}catch($){if(g.signal.aborted||y!==Qe.current)return;const L=$ instanceof Error?$.message:String($);_t(at=>({...at,[l]:[]})),Mt(at=>({...at,[l]:[{id:"lsp",root:"",status:"error",message:L}]}))}finally{if(fe.current===g&&(fe.current=null),g.signal.aborted)return;y===Qe.current&&zt($=>$===l?null:$)}},[t,a,ke,we,ue,ne,C]),Mn=r.useCallback(async l=>{if(C||!a||!t)throw new Error("Workspace LSP is unavailable.");return I.workspaceLspAction(a,t,l)},[t,a,C]),tt=r.useCallback(async l=>{if(!a||!t&&!P||Ze.current===l)return;const p=ue[l];if(!p||p.content===p.savedContent)return;const d=p.content,v=Date.now();Ze.current=l,Wt(l),Xe(y=>{if(!(l in y))return y;const g={...y};return delete g[l],g});try{const y=C?await bl(a,P,l,d):await I.saveWorkspaceFile(a,t,{path:l,content:d});Le(g=>({...g,[y.path]:y})),Ve(g=>{const $=g[l];return $?{...g,[l]:{content:$.content,savedContent:d,savedAt:v}}:g}),te.languageServers!=="off"&&te.checkOnSave&&await Be(l,{content:d,waitForDiagnostics:!0}),C?await _e({silent:!0}):await B({silent:!0})}catch(y){Xe(g=>({...g,[l]:y instanceof Error?y.message:String(y)}))}finally{Ze.current===l&&(Ze.current=null),Wt(y=>y===l?null:y)}},[te.checkOnSave,te.languageServers,t,a,ue,B,Be,_e,P,C]),Rs=b?et(b):null,st=!!(b&&ot.has(b)),Se=b?ue[b]?.content??Rs?.content??null:null,zn=!!(Rs?.patch&&!Pe),Vt=!!(!E&&!st&&F==="file"&&!zn&&b&&Se!=null&&!Ce(b)&&!(Lt&&ts(b))&&!Se.endsWith(Rt));r.useEffect(()=>{if(te.languageServers==="off"||!te.diagnosticsWhileEditing||!b||!Vt||Se==null)return;const l=window.setTimeout(()=>{Be(b,{content:Se,waitForDiagnostics:!0})},700);return()=>window.clearTimeout(l)},[te.diagnosticsWhileEditing,te.languageServers,Be,Se,Vt,b]),r.useEffect(()=>{function l(p){!(p.ctrlKey||p.metaKey)||p.key.toLowerCase()!=="s"||F!=="file"||!b||(p.preventDefault(),We.has(b)&&tt(b))}return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[F,We,tt,b]);const In=r.useCallback(()=>{b&&(Ye.current?Ye.current.save():tt(b))},[tt,b]),Wn=r.useCallback(()=>{Ye.current?.undo()},[]),Bn=r.useCallback(()=>{Ye.current?.redo()},[]),On=r.useCallback(()=>{b&&te.languageServers!=="off"&&Be(b,{content:Se??void 0,waitForDiagnostics:!0})},[te.languageServers,Be,Se,b]);function Un(l,p){if(p.stopPropagation(),!(We.has(l)&&!window.confirm(`Discard unsaved changes to ${l}?`))&&(We.has(l)&&(Ve(d=>{if(!(l in d))return d;const v={...d};return delete v[l],v}),Xe(d=>{if(!(l in d))return d;const v={...d};return delete v[l],v})),He(d=>d.filter(v=>v!==l)),ot.has(l)&&Le(d=>{if(!(l in d))return d;const v={...d};return delete v[l],v}),dt(d=>{if(!(l in d))return d;const v={...d};return delete v[l],v}),ct(d=>{if(!d.has(l))return d;const v=new Set(d);return v.delete(l),v}),b===l)){const d=Cs.find(v=>v.path!==l)??null;ge(d?.path??Ie[0]?.path??null),d||D("files")}}function Hn(){D("files"),X(!1),se(!1)}function $s(l){Dt(p=>{const d=new Set(p);return d.has(l)?d.delete(l):d.add(l),d})}function Vn(l){l&&Dt(p=>{const d=new Set(p);for(const v of Pl(l))d.add(v);return d}),D("files"),X(!1),se(!1)}function Kn(){const p=`git apply <<'PATCH'
12
- ${Ie.map(d=>d.patch).filter(Boolean).join(`
13
- `)}
14
- PATCH`;navigator.clipboard?.writeText(p)}const Gn=Ie.length>0,qn=ye.length>0,Xn=ee.length>0,Zn=pe||Te||Gn||qn||Xn,me=F==="goal"&&pe?"goal":F==="summary"&&Te?"summary":F==="file"&&b?"file":"files",Qn=me==="files"?"No files to show":"No local changes",Yn=n==="local_project"&&!m&&!o,Fs=C?Nn:f,Es=C?bs:o,Jn=El({changedFiles:he?.filesChanged??Ie.length,checkpointStatus:Pn,dirty:!!he?.dirty,error:Es,loading:Fs,preservedReadback:An,sandboxMode:C,sourcePending:C&&!P}),ea=Fs?"Loading workspace files":Es?"Workspace files are unavailable":C&&!P?H?.emptyMessage??"No sandbox filesystem is available.":Yn?"Loading workspace files":m?Qn:"No local files to show",As=b?ms[b]??null:null,ta=!As&&!C&&b&&Ce(b)?b:null,Ps=De?ms[De]??null:null,sa=!Ps&&!C&&De&&Ce(De)?De:null,na=Us(a,t,ta),aa=Us(a,t,sa),Kt=As??na,Ls=Ps??aa,Ds=me==="file"||k&&me==="files"?b:null,ia=!!(Ds&&ts(Ds)),Ts=b?gs[b]??[]:[],_s=b?Cn[b]??null:null,Gt=!!(b&&Rn===b),qt=us&&Vt,nt=!E&&!st&&!C&&te.languageServers!=="off",la=r.useMemo(()=>Nl({activeDiagnostics:Ts,activeServers:_s,editorDiagnosticsChecking:Gt,editorLspEnabled:nt,showEditorCommandBar:qt}),[Ts,_s,Gt,nt,qt]),ra=r.useCallback(async l=>{if(!a)throw new Error("OpenPond server connection is unavailable.");await I.runSubagentLifecycleAction(a,l.runId,{action:l.action,reason:"User requested from Goal details."}),await B({silent:!0})},[a,B]),xe=C?"sandbox":n==="local_project"?"local":null,jt=r.useMemo(()=>{const l=new Map;if(!xe||!s)return l;for(const p of re)p.workspaceKind!==xe||p.workspaceId!==s||l.set(p.path,p);return l},[re,xe,s]),vt=r.useCallback(l=>{try{return jt.get(Os(l))?.status??null}catch{return null}},[jt]),kt=r.useCallback((l,p)=>{if(!xe||!s||!h||!J)return;let d;try{d=Os(l)}catch{return}const v=jt.get(d),y=new Date().toISOString(),g=v??{id:Ea({workspaceKind:xe,workspaceId:s,path:d}),workspaceKind:xe,workspaceId:s,workspaceName:h,path:d,status:"pinned",order:null,sourceSessionId:Y,available:!0,createdAt:y,updatedAt:y};J(g,p)},[J,jt,Y,xe,s,h]),Ne=!!(xe&&s&&h&&J),oa=b&&Ne&&!st?e.jsx(is,{currentStatus:vt(b),onSetStatus:l=>kt(b,l)}):null,Ms=b?e.jsx(tl,{diagnostics:nt?gs[b]??[]:[],draftContent:ue[b]?.content,editorRef:Ye,editable:!E&&!st&&!Kt,error:Fn,file:et(b),collapsed:ds,hideWhiteSpace:ps,headerActions:oa,imageSrc:Kt,loading:$n===b,loadFullFiles:Pe,saveError:En[b]??null,saving:ft===b,onOpenImage:()=>{Kt&&pt(b)},onDraftContentChange:l=>_n(b,l),onLspAction:nt?Mn:void 0,onSave:()=>{tt(b)},onSelectBreadcrumbPath:Vn,renderMarkdown:Lt,splitView:hs,wordDiffs:fs,wordWrap:cs,workspaceName:h,workspaceRootPath:Je}):null;return e.jsxs(e.Fragment,{children:[e.jsxs("aside",{className:`workspace-diff-panel ${x?"expanded":""}`,id:"right-sidebar-files-panel",role:"tabpanel","aria-label":"Workspace diffs",children:[!x&&e.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize diff panel",onPointerDown:j}),e.jsx(Hi,{addMenuOpen:Ae,expanded:x,filteredFiles:Ln,openFiles:Cs,dirtyFilePaths:We,goalDetailsAvailable:pe,searchOpen:xn,searchQuery:At,selectedPath:b,sideChatTabs:_,summaryAvailable:Te,sourceStatus:Jn,sourceSwitcher:W,visibleTab:me,getFileBookmarkStatus:Ne?vt:void 0,onCloseFileTab:Un,onCloseSideChat:A,onCloseSearch:()=>se(!1),onOpenFile:gt,onOpenBrowser:T?()=>{X(!1),se(!1),T()}:void 0,onOpenSearch:()=>{X(!1),se(!0)},onOpenSideChat:Q?()=>{X(!1),se(!1),Q()}:void 0,onSearchQueryChange:Pt,onSetFileBookmarkStatus:Ne?kt:void 0,onSelectFile:l=>{ge(l),D("file")},onSelectFiles:Hn,onSelectGoal:()=>D("goal"),onSelectSummary:()=>{D("summary"),X(!1),se(!1)},onSelectSideChat:q,onToggleAddMenu:()=>{X(l=>!l),se(!1)},onToggleExpanded:R}),me==="goal"&&pe?e.jsx(fi,{createRuntime:z?.createRuntime??null,goalRuntime:z?.goalRuntime??null,subagentRuntime:z?.subagentRuntime??null,onRunSubagentLifecycleAction:a?ra:void 0}):me==="summary"&&Te?le?e.jsx(Wi,{summary:le}):e.jsx(Pi,{sandboxId:P,connection:a}):Zn?e.jsxs(e.Fragment,{children:[e.jsx(Vi,{canSaveActiveFile:!!(!E&&!st&&b&&We.has(b)&&ft!==b),canCheckActiveFile:nt,collapsed:ds,editorControlsVisible:us,editorDiagnosticStatus:la,editorDiagnosticsChecking:Gt,hideWhiteSpace:ps,loadFullFiles:Pe,menuOpen:de,renderMarkdown:Lt,showEditorCommandBar:qt,showRenderMarkdownToggle:ia,splitView:hs,wordDiffs:fs,wordWrap:cs,onCopyGitApply:Kn,onEditorCheck:On,onEditorRedo:Bn,onEditorSave:In,onEditorUndo:Wn,onRefresh:()=>{C?_e():B()},onToggleCollapsed:()=>gn(l=>!l),onToggleEditorControlsVisible:Tn,onToggleHideWhiteSpace:()=>yn(l=>!l),onToggleLoadFullFiles:()=>jn(l=>!l),onToggleMenu:l=>Et(p=>l??!p),onToggleRenderMarkdown:()=>vn(l=>!l),onToggleSplitView:()=>Sn(l=>!l),onToggleWordDiffs:()=>wn(l=>!l),onToggleWordWrap:()=>bn(l=>!l)}),me==="files"&&(k?e.jsxs("div",{className:"workspace-diff-files-preview-layout",children:[e.jsx(Xs,{diff:he,expandedFolderPaths:xs,rootPath:S,repoFiles:ye,selectedPath:b,getFileBookmarkStatus:Ne?vt:void 0,onOpenFile:gt,onSetFileBookmarkStatus:Ne?kt:void 0,onToggleFolder:$s}),Ms??e.jsx("div",{className:"workspace-diff-files-preview-empty",children:"Select a file to review its changes."})]}):e.jsx(Xs,{diff:he,expandedFolderPaths:xs,rootPath:S,repoFiles:ye,selectedPath:b,getFileBookmarkStatus:Ne?vt:void 0,onOpenFile:gt,onSetFileBookmarkStatus:Ne?kt:void 0,onToggleFolder:$s})),me==="file"&&b&&Ms]}):e.jsx("div",{className:"workspace-diff-empty",children:e.jsx("span",{children:ea})})]}),e.jsx(La,{open:!!Ls,src:Ls,title:De??"",onClose:()=>pt(null)})]})}const Kl=Object.freeze(Object.defineProperty({__proto__:null,WorkspaceDiffPanel:$l},Symbol.toStringTag,{value:"Module"}));export{ti as C,$l as W,Kl as a};
@@ -1 +0,0 @@
1
- import{c,C as M}from"./App-BOkhmdHu.js";import{r as m,j as o}from"./index-Dvq7bpBG.js";const $=[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]],K=c("archive",$);const L=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]],J=c("arrow-right",L);const S=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],Y=c("bot",S);const R=[["path",{d:"m18 16 4-4-4-4",key:"1inbqp"}],["path",{d:"m6 8-4 4 4 4",key:"15zrgr"}],["path",{d:"m14.5 4-5 16",key:"e7oirm"}]],ee=c("code-xml",R);const C=[["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"}]],te=c("file",C);const P=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],ne=c("pause",P);const z=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],F=c("plus",z);const W=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ae=c("trash-2",W);const A=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],se=c("workflow",A);function re({value:e,options:n,disabled:a,compact:s,className:r,icon:h,placement:f="bottom",label:i,tooltip:d,searchable:N=!1,onChange:_}){const[l,u]=m.useState(!1),[x,y]=m.useState(""),g=m.useRef(null),v=n.find(t=>t.value===e)??n[0],E=x.trim().toLowerCase(),j=E?n.filter(t=>[t.label,t.shortLabel,t.description].some(p=>p?.toLowerCase().includes(E))):n;return m.useEffect(()=>{if(!l){y("");return}function t(k){g.current?.contains(k.target)||u(!1)}function p(k){k.key==="Escape"&&u(!1)}return document.addEventListener("pointerdown",t),document.addEventListener("keydown",p),()=>{document.removeEventListener("pointerdown",t),document.removeEventListener("keydown",p)}},[l]),o.jsxs("div",{className:`dropdown-select ${r??""} ${s?"compact":""} ${f==="top"?"open-up":""}`,"data-tooltip":d,ref:g,children:[o.jsxs("button",{type:"button",className:`dropdown-trigger ${l?"active":""}`,disabled:a,"aria-label":i,"aria-haspopup":"menu","aria-expanded":l,onClick:()=>u(t=>!t),children:[h,o.jsx("span",{children:v?.shortLabel??v?.label??e}),o.jsx(M,{size:14})]}),l&&o.jsxs("div",{className:"dropdown-menu",role:"menu",children:[N?o.jsxs("label",{className:"dropdown-search",onClick:t=>t.stopPropagation(),children:[o.jsxs("span",{className:"sr-only",children:["Search ",i]}),o.jsx("input",{autoFocus:!0,placeholder:`Search ${i.toLowerCase()}`,value:x,onChange:t=>y(t.target.value)})]}):null,j.map(t=>o.jsxs("button",{type:"button",role:"menuitemradio","aria-checked":t.value===e,disabled:t.disabled,className:[t.value===e?"selected":"",t.separatorBefore?"separator-before":"",t.icon?"with-icon":""].filter(Boolean).join(" "),onClick:()=>{t.disabled||(_(t.value),y(""),u(!1))},children:[o.jsxs("span",{children:[t.icon==="plus"?o.jsx(F,{size:13}):null,o.jsx("span",{children:t.label})]}),t.description&&o.jsx("small",{children:t.description})]},t.value)),j.length?null:o.jsx("div",{className:"dropdown-empty",children:"No matches"})]})]})}const I=new Set(["bash","c","cc","cjs","cpp","css","csv","env","gif","go","graphql","h","hpp","html","ico","java","jpeg","jpg","js","json","jsx","lock","lockb","md","mdx","m4v","mjs","mov","mp4","png","py","rs","scss","sh","sql","svg","toml","ts","tsx","txt","webp","webm","yaml","yml","zsh"]),T=new Set(["AGENTS.md","Dockerfile","LICENSE","Makefile","README"]),w=String.raw`[A-Za-z0-9_.@+-]+`,B=new RegExp(String.raw`^(?:(?:\.{1,2}|~)?[\\/]|[A-Za-z]:[\\/])?(?:${w}[\\/])+${w}(?::\d+(?::\d+)?)?`),D=new RegExp(String.raw`^${w}(?::\d+(?::\d+)?)?`),q=/^(?:workspace|sandbox):file:[^\s<>()]+/;function oe({projectTargetDetail:e,projectTargetValue:n,workspaceRepoPath:a,workspaceTargetValue:s}){const r=a?.trim();return r||(s!=="local"||!n.startsWith("local:")?null:e.trim()||null)}function ce(e,n,a={}){if(!X(e[n-1]))return null;const s=e.slice(n),r=q.exec(s),h=r?null:B.exec(s),f=r||h?null:D.exec(s),i=b((r??h??f)?.[0]??"");if(!i)return null;const d=H(i,a);return d?{...d,end:n+i.length}:null}function H(e,n={}){const a=b(e.trim().replace(/^['"`]+|['"`]+$/g,""));if(!a||/^https?:\/\//i.test(a))return null;const r=V(O(a)).replace(/:\d+(?::\d+)?$/,"");return G(r)?{displayPath:a,path:U(r,n.workspaceRootPath)}:null}function O(e){const n=/^(workspace|sandbox):file:(.*)$/i.exec(e);if(!n)return e;const a=n[1]?.toLowerCase();let s=n[2]??"";return a==="sandbox"&&(s=s.replace(/^\/workspace\/app\//,"").replace(/^\/workspace\//,"")),s}function V(e){if(!/^file:\/\//i.test(e))return e;try{return decodeURIComponent(new URL(e).pathname)}catch{return e.replace(/^file:\/\//i,"")}}function U(e,n){let a=e.replace(/\\/g,"/").replace(/^\.\/+/,"");const s=n?.trim().replace(/\\/g,"/").replace(/\/+$/,"");if(!s)return a;a.startsWith(`${s}/`)&&(a=a.slice(s.length+1));const r=s.split("/").filter(Boolean).at(-1);return r&&a.startsWith(`${r}/`)&&(a=a.slice(r.length+1)),a}function G(e){const n=e.replace(/\\/g,"/").split("/").filter(Boolean).at(-1)??e;if(T.has(n)||n.startsWith(".")&&n.length>1)return!0;const a=n.includes(".")?n.split(".").at(-1)?.toLowerCase():null;return!!(a&&I.has(a))}function X(e){return!e||/[\s([{<"'`]/.test(e)}function b(e){return e.replace(/[.,;!?]+$/,"").replace(/[\])}]+$/,"")}export{K as A,Y as B,ee as C,re as D,te as F,F as P,ae as T,se as W,ne as a,J as b,ce as m,H as n,oe as r};
@@ -1 +0,0 @@
1
- import{c as o}from"./App-BOkhmdHu.js";const c=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],n=o("chevron-up",c);export{n as C};
@@ -1 +0,0 @@
1
- import{a as r}from"./index-Dvq7bpBG.js";var o=r();export{o as r};