openpond 0.0.67 → 0.0.69

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 (183) hide show
  1. package/dist/chunks/{actions-command-DZ6D7JTO.js → actions-command-6N5XWMR6.js} +4 -3
  2. package/dist/chunks/{app-layer-MAATABDM.js → app-layer-EXXOWJ5H.js} +7 -6
  3. package/dist/chunks/app-server-runtime-7FBQBE3C.js +20 -0
  4. package/dist/chunks/{apps-L23POEUT.js → apps-RZSDOFAG.js} +7 -6
  5. package/dist/chunks/{chunk-EJURKADM.js → chunk-47EIAYI7.js} +3 -3
  6. package/dist/chunks/{chunk-K4JEWEJQ.js → chunk-4L3ZJS2T.js} +426 -1
  7. package/dist/chunks/{chunk-CWCMYSX2.js → chunk-5TKZBMQM.js} +19 -3
  8. package/dist/chunks/{chunk-Z3SXHGOC.js → chunk-7C4OIFOC.js} +1 -1
  9. package/dist/chunks/{chunk-RN7MVPC6.js → chunk-BLFIIAWZ.js} +2865 -410
  10. package/dist/chunks/{chunk-3KLQ52B2.js → chunk-BVY5JYM6.js} +4 -9
  11. package/dist/chunks/{chunk-DBHSOTYZ.js → chunk-D7BO5Y5J.js} +3 -24
  12. package/dist/chunks/chunk-DLQQIWN2.js +648 -0
  13. package/dist/chunks/{chunk-T55IL3GI.js → chunk-DNXBJZAU.js} +1 -1
  14. package/dist/chunks/{chunk-2N57HMVR.js → chunk-F36ZVO6U.js} +3 -3
  15. package/dist/chunks/{chunk-42WUHGKD.js → chunk-FEOLMLYU.js} +21 -14
  16. package/dist/chunks/{chunk-QETF6ILG.js → chunk-FQS2QL5F.js} +359 -841
  17. package/dist/chunks/{chunk-J2REM7LE.js → chunk-HFPUR4CQ.js} +5 -116
  18. package/dist/chunks/{chunk-JIEUB6OS.js → chunk-J3YDKJFD.js} +1 -1
  19. package/dist/chunks/{chunk-JGOP4GCK.js → chunk-JTHL5XJ2.js} +5 -25
  20. package/dist/chunks/{chunk-BPII37IS.js → chunk-MMRJNSWY.js} +578 -118
  21. package/dist/chunks/{chunk-DEEQG5MY.js → chunk-NPNIL6SQ.js} +1 -1
  22. package/dist/chunks/{chunk-7OQFWODA.js → chunk-OOM2PHBE.js} +10377 -8267
  23. package/dist/chunks/{chunk-J3PSR6F6.js → chunk-QTN6HXOR.js} +3 -3
  24. package/dist/chunks/{chunk-MHUN6LXO.js → chunk-SFMNGWNO.js} +1 -1
  25. package/dist/chunks/{chunk-PLDCQVNW.js → chunk-WBAZFKC7.js} +4 -4
  26. package/dist/chunks/chunk-X7ZG4TSW.js +3063 -0
  27. package/dist/chunks/{chunk-XIFRFL4T.js → chunk-Y57RTLVV.js} +33 -33
  28. package/dist/chunks/{chunk-BYAPLT37.js → chunk-YVCYVDNP.js} +4 -2
  29. package/dist/chunks/{cli-6N2QZCOF.js → cli-HIXVXM72.js} +9 -8
  30. package/dist/chunks/{core-commands-5TW5I3Z6.js → core-commands-34SVH6ZQ.js} +8 -7
  31. package/dist/chunks/{desktop-test-JG6XDUTT.js → desktop-test-66DPBNJX.js} +7 -6
  32. package/dist/chunks/{extension-UUM4ELAF.js → extension-ZMRHCDO3.js} +544 -111
  33. package/dist/chunks/{help-JFQVVETR.js → help-COHCZEP2.js} +1 -1
  34. package/dist/chunks/{opchat-3772JCGJ.js → opchat-2PGW2GNN.js} +10 -17
  35. package/dist/chunks/{organizations-USWBONDO.js → organizations-NZ4OY56V.js} +10 -9
  36. package/dist/chunks/{profile-2MYIXRUK.js → profile-GEMTRPUG.js} +12 -11
  37. package/dist/chunks/{project-agent-VDKGFG5V.js → project-agent-NX6YBGWC.js} +11 -10
  38. package/dist/chunks/{sandbox-command-M5W3VWVP.js → sandbox-command-UEY53OJO.js} +8 -7
  39. package/dist/chunks/{sandbox-template-25SKARVM.js → sandbox-template-YKYRB645.js} +11 -10
  40. package/dist/chunks/{src-7RDE5SYD.js → src-IXYDKOBI.js} +4409 -1474
  41. package/dist/chunks/{src-KYP4COYD.js → src-LKJBD5AM.js} +6 -5
  42. package/dist/chunks/{teams-bot-BJJISVOG.js → teams-bot-K6KZHZJV.js} +7 -6
  43. package/dist/chunks/{workspaces-EQTHCFVV.js → workspaces-WXM72UZF.js} +2 -2
  44. package/dist/cli.js +13 -13
  45. package/dist/client.d.ts +1 -1
  46. package/dist/hosted-chat.d.ts +5 -0
  47. package/dist/index.js +14554 -14173
  48. package/dist/skills/openpond-refiner-authoring/SKILL.md +29 -0
  49. package/dist/skills/openpond-refiner-authoring/references/core-boundary.md +5 -0
  50. package/dist/skills/openpond-refiner-authoring/references/review-profile.md +7 -0
  51. package/dist/skills/openpond-refiner-authoring/references/validation-and-activation.md +5 -0
  52. package/dist/web/assets/App-BF9L0JUv.js +171 -0
  53. package/dist/web/assets/{AppDialog-B8HYaM0m.js → AppDialog-DX-xs3KA.js} +1 -1
  54. package/dist/web/assets/AppTerminalPanel-CYVj_ITT.js +2 -0
  55. package/dist/web/assets/AppsView-ByjyGog7.js +1 -0
  56. package/dist/web/assets/AppsView-CzbB5pXp.css +1 -0
  57. package/dist/web/assets/BrowserSidebar-BDwtMAZl.js +1 -0
  58. package/dist/web/assets/CartesianChart-Dv6jJfPR.js +53 -0
  59. package/dist/web/assets/CollaborationTabs-BfVlyLmR.css +1 -0
  60. package/dist/web/assets/CollaborationTabs-CC5AIhMh.js +1 -0
  61. package/dist/web/assets/CommandMenu-Ct0Sx7yP.js +1 -0
  62. package/dist/web/assets/CommunityView-C_zVE0jg.js +1 -0
  63. package/dist/web/assets/ComposerCreateImproveStrip-CNn4OywM.js +1 -0
  64. package/dist/web/assets/GetStartedView-DRFpHDLd.js +1 -0
  65. package/dist/web/assets/LabModelVersionDetailPage-BzF-IVXQ.js +1 -0
  66. package/dist/web/assets/LabSkillSidebar-B9jY4AgE.js +1 -0
  67. package/dist/web/assets/LabsRoute-CS_orT9s.css +1 -0
  68. package/dist/web/assets/LabsRoute-Di1Zs4gZ.js +2 -0
  69. package/dist/web/assets/MainChatThread-8VzlD8Hi.js +2 -0
  70. package/dist/web/assets/MainPane-StAOFINE.js +6 -0
  71. package/dist/web/assets/MarkdownText-B8D_ftSJ.js +9 -0
  72. package/dist/web/assets/{Messages-CWoU5OZ2.js → Messages-TY62tiDp.js} +6 -6
  73. package/dist/web/assets/NativeSkillSidebar-DjebFRoi.js +1 -0
  74. package/dist/web/assets/NewExperienceSwitcher-C-bJxHxY.js +1 -0
  75. package/dist/web/assets/NewProjectDialog-Cx8QcZm7.js +1 -0
  76. package/dist/web/assets/OutputsPage-Y9HM-SHX.js +1 -0
  77. package/dist/web/assets/ProjectsPage-BBr58yKT.js +1 -0
  78. package/dist/web/assets/ProjectsPage-DdG-U9ZW.css +1 -0
  79. package/dist/web/assets/RightChatPanelStack-DzUbDKwp.js +1 -0
  80. package/dist/web/assets/RightSidebarHomePanel-Dx-1elSI.js +1 -0
  81. package/dist/web/assets/ScheduledWorkPage-BuXw_W8b.js +1 -0
  82. package/dist/web/assets/SettingsView-DB_zPHYY.js +6 -0
  83. package/dist/web/assets/{TeamChatView-Cst9bXqE.js → TeamChatView-Bkyhu40R.js} +2 -2
  84. package/dist/web/assets/{TerminalOverlay-72oJPCbi.js → TerminalOverlay-CaCkZDzO.js} +3 -3
  85. package/dist/web/assets/TrainingCreationPanel-Vvi41WNT.js +1 -0
  86. package/dist/web/assets/TrainingDraftPanel-C2C3hffI.js +1 -0
  87. package/dist/web/assets/UsageSettingsSection-Csg3diiE.css +1 -0
  88. package/dist/web/assets/UsageSettingsSection-DpPBd-ra.js +7 -0
  89. package/dist/web/assets/{MainPane-BfVDe9f7.css → WorkSidebarPanel-Bky_Rqcx.css} +1 -1
  90. package/dist/web/assets/WorkSidebarPanel-CeWGboTh.js +1 -0
  91. package/dist/web/assets/WorkspaceDiffPanel-D_zKOW4K.js +14 -0
  92. package/dist/web/assets/WorkspaceEnvironmentMenu-BTz9FISP.js +32 -0
  93. package/dist/web/assets/WorkspaceGitDialogs-BnBRUYpS.js +1 -0
  94. package/dist/web/assets/{WorkspaceMonacoEditor-CxD40rNT.js → WorkspaceMonacoEditor--GOVrHFp.js} +3 -3
  95. package/dist/web/assets/activity-DA5DNQwD.js +1 -0
  96. package/dist/web/assets/arrow-up-right-BRZWXpqJ.js +1 -0
  97. package/dist/web/assets/chat-file-links-CgFHK89C.js +1 -0
  98. package/dist/web/assets/chevron-up-DSv2auz_.js +1 -0
  99. package/dist/web/assets/clipboard-dPd_3lpG.js +1 -0
  100. package/dist/web/assets/cloud-upload-DOwvN4hp.js +1 -0
  101. package/dist/web/assets/{cssMode-CJPZShEy.js → cssMode-BM4j9M0D.js} +1 -1
  102. package/dist/web/assets/desktop-files-BQj1J-ob.js +1 -0
  103. package/dist/web/assets/figtree-latin-CEHu_veL.woff2 +0 -0
  104. package/dist/web/assets/folder-open-DavjPCw4.js +1 -0
  105. package/dist/web/assets/folder-plus-Dyqast6G.js +1 -0
  106. package/dist/web/assets/git-branch-zKnZdQiX.js +1 -0
  107. package/dist/web/assets/git-commit-horizontal-s3X0cQlz.js +1 -0
  108. package/dist/web/assets/{htmlMode-fp60PdLB.js → htmlMode-Nlx7ckXa.js} +1 -1
  109. package/dist/web/assets/index-5-B6FIuE.js +9 -0
  110. package/dist/web/assets/index-CQ3CPVHZ.css +1 -0
  111. package/dist/web/assets/index-CuoGlf-W.js +1 -0
  112. package/dist/web/assets/info-CVvrNOHr.js +1 -0
  113. package/dist/web/assets/{jsonMode-9tQDt87U.js → jsonMode-B7monA6g.js} +1 -1
  114. package/dist/web/assets/{lspLanguageFeatures-DhOXsUmI.js → lspLanguageFeatures-CcJ9GDtK.js} +1 -1
  115. package/dist/web/assets/minimize-2-O1DnznGK.js +1 -0
  116. package/dist/web/assets/{monaco.contribution-BPct5K1-.js → monaco.contribution-2PozfA9g.js} +2 -2
  117. package/dist/web/assets/{monaco.contribution-D3sQBkAF.js → monaco.contribution-BMAF2bmO.js} +2 -2
  118. package/dist/web/assets/{monaco.contribution-DRNDpuUQ.js → monaco.contribution-BSJ2jQTi.js} +2 -2
  119. package/dist/web/assets/{monaco.contribution-BCc7daQX.js → monaco.contribution-QOOCizYq.js} +2 -2
  120. package/dist/web/assets/play-BpCc5ZbR.js +1 -0
  121. package/dist/web/assets/{python-CO5ats2F.js → python-BK41iew-.js} +1 -1
  122. package/dist/web/assets/refresh-cw-Csoy1ev1.js +1 -0
  123. package/dist/web/assets/save-Dbztj0W7.js +1 -0
  124. package/dist/web/assets/square-ju7fWa0W.js +1 -0
  125. package/dist/web/assets/{toggleHighContrast-7mdj7cLQ.js → toggleHighContrast-DrmwDpyz.js} +1 -1
  126. package/dist/web/assets/{training-BQVNUTZA.css → training-daZlCtKV.css} +1 -1
  127. package/dist/web/assets/{training-model-data-V8276E5q.js → training-model-data-CKOkpBBL.js} +1 -1
  128. package/dist/web/assets/{tsMode-qx-y8781.js → tsMode-CFgCMr7d.js} +1 -1
  129. package/dist/web/assets/upload-C5nhiSMq.js +1 -0
  130. package/dist/web/assets/useLocalAgentSchedules-LAsobERb.js +1 -0
  131. package/dist/web/assets/wifi-off-BHxh2UbA.js +1 -0
  132. package/dist/web/assets/{workers-DC-vdMwa.js → workers-FKb-NyBI.js} +1 -1
  133. package/dist/web/assets/{yaml-Bu611qJb.js → yaml-C5DbF9S6.js} +1 -1
  134. package/dist/web/index.html +2 -2
  135. package/package.json +1 -1
  136. package/dist/api/vercel-protection.d.ts +0 -1
  137. package/dist/chunks/app-server-runtime-CJFOO54B.js +0 -19
  138. package/dist/chunks/chunk-WYDVQOBL.js +0 -17581
  139. package/dist/web/assets/AppsView-DIhprTIC.css +0 -1
  140. package/dist/web/assets/AppsView-DzVZTM0y.js +0 -1
  141. package/dist/web/assets/BrowserSidebar-BobBdHTm.js +0 -1
  142. package/dist/web/assets/CommandMenu-pp69WTbf.js +0 -1
  143. package/dist/web/assets/CommunityView-D1V7y3l5.js +0 -1
  144. package/dist/web/assets/ComposerCreateImproveStrip-Dv5RKQaG.js +0 -1
  145. package/dist/web/assets/GetStartedView-DXmHN_BA.js +0 -1
  146. package/dist/web/assets/LabModelVersionDetailPage-BDN4AQVt.js +0 -1
  147. package/dist/web/assets/LabSkillSidebar-DYR_pq0Q.js +0 -1
  148. package/dist/web/assets/LabsRoute-CFXaPC-i.js +0 -3
  149. package/dist/web/assets/LabsRoute-DDTgtCul.css +0 -1
  150. package/dist/web/assets/MainChatThread-C1XrdeAC.js +0 -2
  151. package/dist/web/assets/MainPane-D8Mu6Nf3.js +0 -6
  152. package/dist/web/assets/MarkdownText-D5-tAHVZ.js +0 -9
  153. package/dist/web/assets/NativeSkillSidebar-cKgCM5s9.js +0 -1
  154. package/dist/web/assets/NewProjectDialog-B4wrkUrZ.js +0 -1
  155. package/dist/web/assets/OutputsPage-DoJz_FcJ.js +0 -1
  156. package/dist/web/assets/RightChatPanelStack-goxULcZy.js +0 -1
  157. package/dist/web/assets/ScheduledWorkPage-DLtJnU9O.js +0 -1
  158. package/dist/web/assets/SettingsView-M-_wJvH1.js +0 -6
  159. package/dist/web/assets/TrainingCreationPanel-BK8T_q3X.js +0 -1
  160. package/dist/web/assets/TrainingDraftPanel-DSZ8e9ve.js +0 -1
  161. package/dist/web/assets/UsageSettingsSection-Co0UH4EJ.js +0 -59
  162. package/dist/web/assets/UsageSettingsSection-O8VK0qBL.css +0 -1
  163. package/dist/web/assets/WorkspaceDiffPanel-OcpOQdEE.js +0 -14
  164. package/dist/web/assets/WorkspaceEnvironmentMenu-Cg_VY5XS.js +0 -32
  165. package/dist/web/assets/WorkspaceGitDialogs-ApPWIEpT.js +0 -1
  166. package/dist/web/assets/arrow-up-right-DtR75sMi.js +0 -1
  167. package/dist/web/assets/chevron-up-DH33C_vT.js +0 -1
  168. package/dist/web/assets/cloud-upload-Cp4pi0X7.js +0 -1
  169. package/dist/web/assets/folder-open-hEq-0bAV.js +0 -1
  170. package/dist/web/assets/folder-plus-ClgoqsjW.js +0 -1
  171. package/dist/web/assets/git-branch-CLBU2IM9.js +0 -1
  172. package/dist/web/assets/git-commit-horizontal-CpOgDvCh.js +0 -1
  173. package/dist/web/assets/index-2rbiOiLR.js +0 -179
  174. package/dist/web/assets/index-BWqDWo3b.js +0 -1
  175. package/dist/web/assets/index-CHqMtVfF.css +0 -1
  176. package/dist/web/assets/info-D3L7JgSo.js +0 -1
  177. package/dist/web/assets/play-DUBpqm-k.js +0 -1
  178. package/dist/web/assets/refresh-cw-D7OfmCic.js +0 -1
  179. package/dist/web/assets/save-CJN-WmnU.js +0 -1
  180. package/dist/web/assets/square-Bx9UTvNe.js +0 -1
  181. package/dist/web/assets/upload-Bp6EKIYv.js +0 -1
  182. package/dist/web/assets/useLocalAgentSchedules-CZ1tgG1x.js +0 -1
  183. package/dist/web/assets/wifi-off-DovWnIF6.js +0 -1
@@ -1 +1 @@
1
- import{r as s,j as w}from"./index-2rbiOiLR.js";const d=[],v=["button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])","[contenteditable='true']"].join(",");function T({ariaLabel:r,backdropClassName:o="training-dialog-backdrop",children:a,className:i,contained:t=!1,dismissDisabled:e=!1,initialFocusKey:u,inertExclusionSelector:p,onClose:m}){const f=s.useRef(null),A=s.useRef(Symbol("app-dialog")),b=s.useRef(null),h=s.useRef(e),g=s.useRef(m);h.current=e,g.current=m,s.useEffect(()=>{const n=A.current;b.current=document.activeElement instanceof HTMLElement?document.activeElement:null,d.push(n);const l=t?f.current?.closest(".main-pane")??null:null,E=I(f.current,l,p);function y(c){if(d.at(-1)===n){if(c.key==="Escape"){c.preventDefault(),c.stopPropagation(),h.current||g.current();return}c.key!=="Tab"||t||F(c,f.current)}}return document.addEventListener("keydown",y,!0),()=>{document.removeEventListener("keydown",y,!0);const c=d.lastIndexOf(n);c>=0&&d.splice(c,1),E();const x=b.current;x?.isConnected&&x.focus()}},[t,p]),s.useEffect(()=>{const n=window.requestAnimationFrame(()=>{const l=f.current;(l?.querySelector("[data-autofocus]")??l)?.focus()});return()=>window.cancelAnimationFrame(n)},[u]);function R(n){n.target===n.currentTarget&&!e&&m()}function k(n){n.key==="Escape"&&n.stopPropagation()}return w.jsx("div",{className:o,role:"presentation",onMouseDown:R,children:w.jsx("section",{ref:f,"aria-busy":e||void 0,"aria-label":r,"aria-modal":t?void 0:"true",className:i,role:"dialog",tabIndex:-1,onKeyDown:k,onMouseDown:n=>n.stopPropagation(),children:a})})}function D(r){return r?Array.from(r.querySelectorAll(v)).filter(o=>!o.hidden&&o.getAttribute("aria-hidden")!=="true"):[]}function F(r,o){if(!o)return;const a=D(o);if(a.length===0){r.preventDefault(),o.focus();return}const i=a.indexOf(document.activeElement),t=r.shiftKey?i<=0?a.length-1:i-1:i<0||i===a.length-1?0:i+1;r.preventDefault(),a[t]?.focus()}function I(r,o=null,a){if(!r)return()=>{};const i=[];let t=r.parentElement??r;for(;t.parentElement&&t!==document.body;){const e=t.parentElement;for(const u of Array.from(e.children))u===t||!(u instanceof HTMLElement)||a&&u.matches(a)||(i.push({element:u,ariaHidden:u.getAttribute("aria-hidden"),inert:u.inert}),u.inert=!0,u.setAttribute("aria-hidden","true"));if(t=e,o&&t===o)break}return()=>{for(const e of i.reverse())e.element.inert=e.inert,e.ariaHidden===null?e.element.removeAttribute("aria-hidden"):e.element.setAttribute("aria-hidden",e.ariaHidden)}}export{T as A};
1
+ import{r as s,j as w}from"./index-5-B6FIuE.js";const d=[],v=["button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])","[tabindex]:not([tabindex='-1'])","[contenteditable='true']"].join(",");function T({ariaLabel:r,backdropClassName:o="training-dialog-backdrop",children:a,className:i,contained:t=!1,dismissDisabled:e=!1,initialFocusKey:u,inertExclusionSelector:p,onClose:m}){const f=s.useRef(null),A=s.useRef(Symbol("app-dialog")),b=s.useRef(null),h=s.useRef(e),g=s.useRef(m);h.current=e,g.current=m,s.useEffect(()=>{const n=A.current;b.current=document.activeElement instanceof HTMLElement?document.activeElement:null,d.push(n);const l=t?f.current?.closest(".main-pane")??null:null,E=I(f.current,l,p);function y(c){if(d.at(-1)===n){if(c.key==="Escape"){c.preventDefault(),c.stopPropagation(),h.current||g.current();return}c.key!=="Tab"||t||F(c,f.current)}}return document.addEventListener("keydown",y,!0),()=>{document.removeEventListener("keydown",y,!0);const c=d.lastIndexOf(n);c>=0&&d.splice(c,1),E();const x=b.current;x?.isConnected&&x.focus()}},[t,p]),s.useEffect(()=>{const n=window.requestAnimationFrame(()=>{const l=f.current;(l?.querySelector("[data-autofocus]")??l)?.focus()});return()=>window.cancelAnimationFrame(n)},[u]);function R(n){n.target===n.currentTarget&&!e&&m()}function k(n){n.key==="Escape"&&n.stopPropagation()}return w.jsx("div",{className:o,role:"presentation",onMouseDown:R,children:w.jsx("section",{ref:f,"aria-busy":e||void 0,"aria-label":r,"aria-modal":t?void 0:"true",className:i,role:"dialog",tabIndex:-1,onKeyDown:k,onMouseDown:n=>n.stopPropagation(),children:a})})}function D(r){return r?Array.from(r.querySelectorAll(v)).filter(o=>!o.hidden&&o.getAttribute("aria-hidden")!=="true"):[]}function F(r,o){if(!o)return;const a=D(o);if(a.length===0){r.preventDefault(),o.focus();return}const i=a.indexOf(document.activeElement),t=r.shiftKey?i<=0?a.length-1:i-1:i<0||i===a.length-1?0:i+1;r.preventDefault(),a[t]?.focus()}function I(r,o=null,a){if(!r)return()=>{};const i=[];let t=r.parentElement??r;for(;t.parentElement&&t!==document.body;){const e=t.parentElement;for(const u of Array.from(e.children))u===t||!(u instanceof HTMLElement)||a&&u.matches(a)||(i.push({element:u,ariaHidden:u.getAttribute("aria-hidden"),inert:u.inert}),u.inert=!0,u.setAttribute("aria-hidden","true"));if(t=e,o&&t===o)break}return()=>{for(const e of i.reverse())e.element.inert=e.inert,e.ariaHidden===null?e.element.removeAttribute("aria-hidden"):e.element.setAttribute("aria-hidden",e.ariaHidden)}}export{T as A};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./TerminalOverlay-CaCkZDzO.js","./index-5-B6FIuE.js","./index-CQ3CPVHZ.css","./App-BF9L0JUv.js","./chat-file-links-CgFHK89C.js","./TerminalOverlay-DwBiZLwk.css"])))=>i.map(i=>d[i]);
2
+ import{r,j as t,_ as c}from"./index-5-B6FIuE.js";const p=r.lazy(()=>c(()=>import("./TerminalOverlay-CaCkZDzO.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url).then(e=>({default:e.TerminalOverlay})));function E({open:e,connection:a,scope:l,tabs:s,onTabsChange:n,cwd:i,appId:u,workspaceName:o,queuedCommand:f,onClose:m}){const[d,_]=r.useState(!1);return r.useEffect(()=>{e&&_(!0)},[e]),d?t.jsx(r.Suspense,{fallback:null,children:t.jsx(p,{open:e,connection:a,scope:l,tabs:s,onTabsChange:n,cwd:i,appId:u,workspaceName:o,queuedCommand:f,onClose:m})}):null}export{E as AppTerminalPanel};
@@ -0,0 +1 @@
1
+ import{r as l,j as e}from"./index-5-B6FIuE.js";import{bq as x,o as A,ae as C,a as L,X as I,O as k,aL as P,a_ as E,br as F,h as U}from"./App-BF9L0JUv.js";const T=["For agents","Featured","Productivity","Developer tools"],R=new Set(["slack","google","github","mcp"]);function X({account:s,connection:n,defaultTeamId:t,onToast:o}){const[c,m]=l.useState(null),[d,g]=l.useState(""),[i,N]=l.useState("For agents"),[b,p]=l.useState(()=>x()),[v,u]=l.useState(null),w=s?.baseUrl??s?.activeProfile?.baseUrl??null,y=O(t,v),f=l.useMemo(()=>b.filter(a=>_(a,i)).filter(a=>z(a,d)),[i,d,b]);l.useEffect(()=>{let a=!0;return n?(A.connectedAppStatus(n,{status:"all"}).then(r=>{a&&(p(r.apps),u(r.teamId?.trim()||null))}).catch(r=>{a&&(console.warn("Unable to load connected app status.",r),p(x()),u(null))}),()=>{a=!1}):(p(x()),u(null),()=>{a=!1})},[n]);function S(a){const r=F({appId:a.id,baseUrl:w,teamId:y});q(r).catch(h=>{o?.(h instanceof Error?h.message:String(h),"error")})}return e.jsxs("section",{className:"connected-apps-view","aria-label":"Apps",children:[e.jsxs("div",{className:"connected-apps-header",children:[e.jsxs("div",{children:[e.jsx("h1",{children:"Apps"}),e.jsx("p",{children:"Connect apps that agents can use for chat, knowledge, files, and workflow actions."})]}),e.jsxs("label",{className:"connected-apps-search",children:[e.jsx(C,{size:15}),e.jsx("input",{"aria-label":"Search apps",onChange:a=>g(a.target.value),placeholder:"Search apps",type:"search",value:d})]})]}),e.jsxs("section",{className:"connected-apps-hero","aria-label":"App context",children:[e.jsxs("div",{className:"connected-apps-hero-copy",children:[e.jsx("span",{className:"connected-apps-hero-icon",children:e.jsx(j,{appId:"github"})}),e.jsx("h2",{children:"Work with your apps"}),e.jsx("p",{children:"Bring repositories, documents, chat, calendars, and custom MCP tools into OpenPond."})]}),e.jsxs("div",{className:"connected-apps-context-card","aria-hidden":"true",children:[e.jsx("strong",{children:"Agent context"}),e.jsxs("div",{children:[e.jsx("span",{className:"files",children:"Files"}),e.jsx("span",{className:"chat",children:"Chat"}),e.jsx("span",{className:"oauth",children:"OAuth"}),e.jsx("span",{className:"mcp",children:"MCP"})]})]})]}),e.jsx("div",{className:"connected-apps-filters",role:"tablist","aria-label":"App categories",children:T.map(a=>e.jsx("button",{"aria-selected":i===a,className:i===a?"active":"",onClick:()=>N(a),role:"tab",type:"button",children:a},a))}),e.jsxs("div",{className:"connected-apps-list",children:[f.map(a=>e.jsx(D,{app:a,onSelect:()=>m(a)},a.id)),f.length===0?e.jsx("div",{className:"connected-apps-empty",children:"No apps match the current search."}):null]}),c?e.jsx(M,{app:c,onClose:()=>m(null),onInstall:()=>S(c)}):null]})}function O(s,n){const t=s?.trim();return t||n?.trim()||null}function D({app:s,onSelect:n}){return e.jsxs("button",{className:"connected-app-row",onClick:n,type:"button",children:[e.jsxs("span",{className:"connected-app-row-main",children:[e.jsx(j,{appId:s.id}),e.jsxs("span",{className:"connected-app-copy",children:[e.jsxs("span",{className:"connected-app-title",children:[e.jsx("strong",{children:s.label}),e.jsxs("span",{children:[s.shortLabel!==s.label?s.shortLabel:s.category," / ",s.setupSurfaceLabel]})]}),e.jsx("span",{children:s.description}),e.jsxs("span",{className:"connected-app-capability-row",children:[s.capabilityLabels.slice(0,2).map(t=>e.jsx("span",{children:t},t)),s.capabilityLabels.length>2?e.jsxs("span",{children:["+",s.capabilityLabels.length-2]}):null]})]})]}),e.jsx("span",{className:`connected-app-status-pill ${s.status}`,children:s.statusLabel}),e.jsx(L,{size:16})]})}function M({app:s,onClose:n,onInstall:t}){const o=s.connections.filter(c=>c.status==="active");return e.jsx("div",{className:"connected-app-dialog-backdrop",role:"presentation",onMouseDown:c=>{c.target===c.currentTarget&&n()},children:e.jsxs("section",{className:"connected-app-dialog",role:"dialog","aria-modal":"true","aria-labelledby":"connected-app-dialog-title",children:[e.jsx("button",{className:"connected-app-dialog-close",type:"button","aria-label":"Close app details",onClick:n,children:e.jsx(I,{size:17})}),e.jsxs("div",{className:"connected-app-dialog-identity",children:[e.jsx("span",{className:"openpond-mark",children:e.jsx("img",{alt:"",src:k})}),e.jsxs("span",{className:"connection-dots","aria-hidden":"true",children:[e.jsx("span",{}),e.jsx("span",{}),e.jsx("span",{})]}),e.jsx(j,{appId:s.id})]}),e.jsxs("h2",{id:"connected-app-dialog-title",children:["Connect ",s.label]}),e.jsxs("div",{className:"connected-app-approval",children:[e.jsx(P,{size:16}),e.jsx("span",{children:s.statusLabel})]}),e.jsxs("div",{className:"connected-app-dialog-body",children:[e.jsxs("section",{children:[e.jsx("h3",{children:s.setupSurfaceLabel}),e.jsx("p",{children:"The web flow shows the provider account, workspace, and requested access before anything is connected."})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Connected account"}),e.jsx("p",{children:B(o)})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Available capabilities"}),e.jsx("div",{className:"connected-app-dialog-capabilities",children:s.capabilities.map(c=>e.jsx("span",{children:c.label},c.id))})]}),e.jsxs("section",{children:[e.jsx("h3",{children:"Sandbox lease policy"}),e.jsx("p",{children:s.leasePolicy.leaseable?`Leaseable for ${s.leasePolicy.defaultTtlSeconds??0} seconds with scoped proxy access.`:"Managed as setup or tool discovery; no OAuth lease is required."})]})]}),e.jsxs("button",{className:"connected-app-dialog-primary",type:"button",onClick:t,children:[e.jsx("span",{children:s.installLabel}),e.jsx(E,{size:15})]})]})})}function j({appId:s}){return e.jsx("span",{className:`connected-app-icon app-${s}`,children:e.jsx("img",{alt:"",src:$(s)})})}function _(s,n){return n==="For agents"?!0:n==="Featured"?R.has(s.id):n==="Productivity"?s.category==="Productivity"||s.category==="Chat":s.category==="Developer tools"||s.id==="mcp"}function z(s,n){const t=n.trim().toLowerCase();return t?[s.id,s.label,s.shortLabel,s.category,s.description,s.providerFamily,s.setupSurface].some(o=>o.toLowerCase().includes(t)):!0}function $(s){return U(s)}async function q(s){const n=window.openpond?.browser;if(n){const t=await n.openExternal({conversationId:"connected-apps",url:s});if(!t.ok)throw new Error(t.error??"Unable to open app setup.");return}window.open(s,"_blank","noopener,noreferrer")}function B(s){return s.length===0?"No active OAuth connection for this setup surface.":s.map(n=>{const t=n.accountLabel??"Connected account";return n.workspaceLabel?`${t} / ${n.workspaceLabel}`:t}).join(", ")}export{X as AppsView,D as ConnectedAppRow,O as connectedAppSetupTeamId};
@@ -0,0 +1 @@
1
+ .connected-apps-view{display:grid;align-content:start;gap:20px;width:min(960px,calc(100% - 72px));min-width:0;justify-self:center;padding:42px 0 40px}.connected-apps-header{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:start;gap:24px;min-width:0}.connected-apps-header h1,.connected-apps-hero h2{margin:0;color:#f4f4f5;letter-spacing:0}.connected-apps-header h1{font-size:24px;line-height:1.15;font-weight:650}.connected-apps-header p{margin:6px 0 0;color:#9b9b9b;font-size:14px;line-height:1.45}.connected-apps-search{position:relative;display:grid;min-width:0}.connected-apps-search svg{position:absolute;left:13px;top:50%;color:#6f6f6f;transform:translateY(-50%);pointer-events:none}.connected-apps-search input{width:100%;height:38px;min-width:0;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:#050505;color:#f3f3f3;padding:0 14px 0 38px;font-size:13px;outline:none}.connected-apps-search input:focus{border-color:#ffffff3d}.connected-apps-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;min-width:0;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#a76b42,#8fb7d9 48%,#38a39d);padding:28px 32px}.connected-apps-hero-copy{display:grid;align-content:start;gap:0;max-width:390px;color:#fff}.connected-apps-hero-icon,.connected-apps-context-card,.connected-app-icon{display:grid;place-items:center}.connected-apps-hero-icon{width:44px;height:44px;border-radius:999px;background:#fff}.connected-apps-hero-icon .connected-app-icon{background:transparent}.connected-apps-hero h2{margin-top:46px;font-size:24px;line-height:1.2;font-weight:560}.connected-apps-hero p{margin:12px 0 0;color:#ffffffe6;font-size:14px;line-height:1.45}.connected-apps-context-card{align-content:start;justify-items:stretch;min-height:190px;border-radius:18px;background:#ffffffe6;color:#111;padding:18px;box-shadow:0 20px 42px #0000002e}.connected-apps-context-card strong{font-size:14px;line-height:1.2}.connected-apps-context-card div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;font-size:12px}.connected-apps-context-card span{min-width:0;border-radius:7px;padding:8px 11px;color:#111}.connected-apps-context-card .files{background:#dff0fb}.connected-apps-context-card .chat{background:#cef8df}.connected-apps-context-card .oauth{background:#fff2bd}.connected-apps-context-card .mcp{background:#ece6fb}.connected-apps-filters{display:flex;flex-wrap:wrap;gap:10px}.connected-apps-filters button{height:36px;border:0;border-radius:999px;background:transparent;color:#d1d1d1;padding:0 17px;font-size:14px}.connected-apps-filters button:hover{background:#ffffff0f}.connected-apps-filters button.active{background:#ffffff1a;color:#fff}.connected-apps-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;row-gap:2px;min-width:0}.connected-app-row{display:grid;grid-template-columns:minmax(0,1fr) max-content 20px;align-items:center;gap:14px;min-height:88px;min-width:0;border:0;border-radius:8px;background:transparent;color:inherit;padding:8px 6px;text-align:left;transition:background-color .14s ease}.connected-app-row:hover,.connected-app-row:focus-visible{background:#ffffff0e;outline:none}.connected-app-row>svg{color:#686868}.connected-app-row-main{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:16px;min-width:0}.connected-app-icon{width:44px;height:44px;border-radius:999px;background:#050505}.connected-app-icon img{display:block;width:18px;height:18px;object-fit:contain}.connected-app-icon.app-google img,.connected-app-icon.app-slack img,.connected-app-icon.app-slack_oauth img,.connected-app-icon.app-microsoft_teams img,.connected-app-icon.app-microsoft_teams_oauth img{width:19px;height:19px}.connected-app-icon.app-mcp{background:#0f172a}.connected-app-icon.app-mcp img{width:22px;height:22px}.connected-app-copy,.connected-app-title{display:block;min-width:0}.connected-app-title{color:#f4f4f5;font-size:14px;line-height:1.25;font-weight:520}.connected-app-title strong,.connected-app-title span,.connected-app-copy>span:nth-child(2){display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connected-app-title span{margin-top:1px;color:#777;font-size:11px;font-weight:450}.connected-app-copy>span:nth-child(2){margin-top:3px;color:#777;font-size:13px;line-height:1.25}.connected-app-capability-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.connected-app-capability-row span,.connected-app-dialog-capabilities span{max-width:100%;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;color:#a7a7a7;padding:3px 7px;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.2}.connected-app-status-pill{min-width:86px;border-radius:999px;background:#ffffff0d;color:#a9a9a9;padding:5px 9px;text-align:center;white-space:nowrap;font-size:11px;line-height:1.2}.connected-app-status-pill.connected{background:#40c97821;color:#72df9b}.connected-app-status-pill.disconnected{background:#ffffff0a;color:#9d9d9d}.connected-apps-empty{grid-column:1 / -1;min-height:80px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#888;font-size:13px}.connected-app-dialog-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#000000ad;padding:20px}.connected-app-dialog{position:relative;display:grid;gap:18px;width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#292929;color:#f5f5f5;padding:32px 24px 24px;box-shadow:0 26px 70px #00000073}.connected-app-dialog-close{position:absolute;top:14px;right:14px;display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.1);border-radius:7px;background:#ffffff08;color:#b8b8b8;padding:0}.connected-app-dialog-close:hover{background:#ffffff0f;color:#fff}.connected-app-dialog-close:focus-visible{outline:2px solid rgba(255,255,255,.24);outline-offset:2px}.connected-app-dialog-identity,.connection-dots,.connected-app-approval,.connected-app-dialog-primary{display:flex;align-items:center;justify-content:center}.connected-app-dialog-identity{gap:14px;padding-top:2px}.openpond-mark{display:grid;place-items:center;width:56px;height:56px;border-radius:10px;background:#050505}.openpond-mark img{width:34px;height:34px;object-fit:contain}.connected-app-dialog-identity .connected-app-icon{width:56px;height:56px;border-radius:10px}.connected-app-dialog-identity .connected-app-icon img{width:25px;height:25px}.connection-dots{gap:5px}.connection-dots span{width:5px;height:5px;border-radius:999px;background:#ffffff29}.connected-app-dialog h2{margin:0;text-align:center;color:#fff;font-size:20px;line-height:1.2;letter-spacing:0}.connected-app-approval{gap:7px;color:#35d680;font-size:14px}.connected-app-dialog-body{overflow:hidden;border:1px solid rgba(255,255,255,.09);border-radius:14px}.connected-app-dialog-body section{padding:14px 16px}.connected-app-dialog-body section+section{border-top:1px solid rgba(255,255,255,.08)}.connected-app-dialog-body h3{margin:0 0 6px;color:#f0f0f0;font-size:13px;font-weight:650}.connected-app-dialog-body p{margin:0;color:#b8b8b8;font-size:12px;line-height:1.45}.connected-app-dialog-capabilities{display:flex;flex-wrap:wrap;gap:6px}.connected-app-dialog-primary{gap:7px;height:38px;border:0;border-radius:999px;background:#f5f5f5;color:#222;font-size:14px}.connected-app-dialog-primary:hover{background:#dedede}@media(max-width:840px){.connected-apps-view{width:min(100% - 28px,680px);padding-top:24px}.connected-apps-header,.connected-apps-hero,.connected-apps-list{grid-template-columns:minmax(0,1fr)}.connected-app-row{grid-template-columns:minmax(0,1fr) 20px}.connected-app-status-pill{grid-column:1 / -1;width:fit-content;margin-left:60px}.connected-apps-context-card{display:none}.connected-apps-hero h2{margin-top:30px}}
@@ -0,0 +1 @@
1
+ import{r as c,j as a}from"./index-5-B6FIuE.js";import{bU as v,aG as f,X as k,A as j,a_ as C,b7 as g}from"./App-BF9L0JUv.js";import{P as B,b as y}from"./chat-file-links-CgFHK89C.js";import{R as N}from"./refresh-cw-Csoy1ev1.js";import{S as T}from"./square-ju7fWa0W.js";const x=[];function P(r){const e=window.openpond?.browser,[b,t]=c.useState(()=>({conversationId:r,activeTabId:null,tabs:x}));c.useEffect(()=>{if(t({conversationId:r,activeTabId:null,tabs:x}),!e)return;let s=!1;e.getState({conversationId:r}).then(o=>{s||t(o)});const i=e.onState(o=>{o.conversationId===r&&t(o)});return()=>{s=!0,i()}},[e,r]);const u=c.useMemo(()=>b.tabs.find(s=>s.id===b.activeTabId)??null,[b.activeTabId,b.tabs]),l=c.useCallback(async(s,i={})=>{if(!e)return!1;const o=v(s,{explicitFile:i.explicitFile});return o?(i.newTab?await e.newTab({conversationId:r,url:o,explicitFile:i.explicitFile}):await e.open({conversationId:r,url:o,explicitFile:i.explicitFile}),!0):!1},[e,r]),n=u?{conversationId:r,tabId:u.id}:null;return{activeTab:u,available:!!e,bridge:e,state:b,back:()=>e&&n?e.back(n):Promise.resolve({ok:!1}),clearData:()=>e?e.clearData({conversationId:r}):Promise.resolve({ok:!1}),closeTab:s=>e?e.closeTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),forward:()=>e&&n?e.forward(n):Promise.resolve({ok:!1}),newTab:s=>e?e.newTab({conversationId:r,url:s}):Promise.resolve({ok:!1}),open:l,openExternal:()=>e&&n?e.openExternal(n):Promise.resolve({ok:!1}),reload:()=>e&&n?e.reload(n):Promise.resolve({ok:!1}),snapshot:(s={})=>e?e.snapshot({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),moveCursor:s=>e?e.moveCursor({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),click:s=>e?e.click({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),typeText:s=>e?e.typeText({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),key:s=>e?e.key({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),scroll:s=>e?e.scroll({conversationId:r,...s}):Promise.resolve({ok:!1,output:"Desktop browser bridge unavailable."}),selectTab:s=>e?e.selectTab({conversationId:r,tabId:s}):Promise.resolve({ok:!1}),setBounds:s=>e?e.setBounds({conversationId:r,bounds:s}):Promise.resolve({ok:!1}),stop:()=>e&&n?e.stop(n):Promise.resolve({ok:!1})}}function R({activeTabId:r,tabs:e,onCloseTab:b,onNewTab:t,onSelectTab:u}){return a.jsxs("div",{className:"browser-tabs",role:"tablist","aria-label":"Browser tabs",children:[e.map(l=>a.jsxs("div",{className:`browser-tab ${l.id===r?"active":""}`,children:[a.jsx("span",{className:"browser-tab-favicon","aria-hidden":"true",children:l.faviconUrl?a.jsx("img",{alt:"",referrerPolicy:"no-referrer",src:l.faviconUrl}):a.jsx(f,{size:13})}),a.jsx("button",{type:"button",className:"browser-tab-main",role:"tab","aria-selected":l.id===r,title:l.url,onClick:()=>u(l.id),children:E(l)}),a.jsx("button",{type:"button",className:"browser-tab-close",title:"Close tab","aria-label":"Close tab",onClick:()=>b(l.id),children:a.jsx(k,{size:12})})]},l.id)),a.jsx("button",{type:"button",className:"browser-tab-add",title:"New tab","aria-label":"New tab",onClick:t,children:a.jsx(B,{size:14})})]})}function E(r){if(r.title?.trim())return r.title.trim();try{return new URL(r.url).host||r.url}catch{return r.url||"New tab"}}function z({activeTab:r,available:e,onBack:b,onClearData:t,onForward:u,onNavigate:l,onOpenExternal:n,onReload:s,onStop:i}){const[o,d]=c.useState(""),[p,m]=c.useState(!1);c.useEffect(()=>{d(r?.url??"")},[r?.url]);function h(w){w.preventDefault(),l(o)}return a.jsxs("div",{className:"browser-toolbar",children:[a.jsxs("div",{className:"browser-nav-actions",children:[a.jsx("button",{type:"button",title:"Back","aria-label":"Back",disabled:!r?.canGoBack,onClick:b,children:a.jsx(j,{size:15})}),a.jsx("button",{type:"button",title:"Forward","aria-label":"Forward",disabled:!r?.canGoForward,onClick:u,children:a.jsx(y,{size:15})}),a.jsx("button",{type:"button",title:r?.loading?"Stop":"Reload","aria-label":r?.loading?"Stop":"Reload",disabled:!r,onClick:r?.loading?i:s,children:r?.loading?a.jsx(T,{size:13}):a.jsx(N,{size:14})})]}),a.jsx("form",{className:"browser-address-form",onSubmit:h,children:a.jsx("input",{"aria-label":"Browser address",disabled:!e,placeholder:e?"Search or enter address":"Desktop browser unavailable",spellCheck:!1,value:o,onChange:w=>d(w.target.value)})}),a.jsxs("div",{className:"browser-panel-actions",children:[a.jsx("button",{type:"button",title:"Open external","aria-label":"Open external",disabled:!r,onClick:n,children:a.jsx(C,{size:14})}),a.jsxs("div",{className:"browser-menu-anchor",children:[a.jsx("button",{type:"button",title:"Browser actions","aria-label":"Browser actions",onClick:()=>m(w=>!w),children:a.jsx(g,{size:15})}),p&&a.jsx("div",{className:"browser-options-menu",role:"menu",children:a.jsx("button",{type:"button",role:"menuitem",onClick:()=>{m(!1),t()},children:"Clear Browser Data..."})})]})]})]})}function D({active:r,onBounds:e}){const b=c.useRef(null),t=c.useRef(null),u=c.useRef(null),l=c.useCallback(i=>{const o=i?`${i.x}:${i.y}:${i.width}:${i.height}`:"null";t.current!==o&&(t.current=o,e(i))},[e]),n=c.useCallback(()=>{const i=b.current;if(!r||!i){l(null);return}const o=i.getBoundingClientRect(),d=Math.max(0,Math.round(o.width)),p=Math.max(0,Math.round(o.height));if(d===0||p===0){l(null);return}l({x:Math.round(o.left),y:Math.round(o.top),width:d,height:p})},[r,l]),s=c.useCallback(()=>{u.current===null&&(u.current=window.requestAnimationFrame(()=>{u.current=null,n()}))},[n]);return c.useLayoutEffect(()=>{t.current=null,n();const i=b.current;if(!r||!i)return l(null),()=>l(null);const o=new ResizeObserver(s);return o.observe(i),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0),()=>{u.current!==null&&(window.cancelAnimationFrame(u.current),u.current=null),o.disconnect(),window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),l(null)}},[r,l,n,s]),a.jsx("div",{className:"browser-viewport",ref:b})}function A({conversationId:r,expanded:e,onResizeStart:b}){const t=P(r),u=c.useCallback(s=>{window.openpond?.browser?.setBounds({conversationId:r,bounds:s})},[r]),l=c.useCallback(s=>{t.open(s,{explicitFile:!0})},[t]),n=c.useCallback(()=>{window.confirm("Clear browser data for this conversation? Tabs, cookies, cache, and local storage for this conversation will be removed.")&&t.clearData()},[t]);return a.jsxs("aside",{className:`workspace-diff-panel browser-sidebar-panel ${e?"expanded":""}`,"aria-label":"Browser",children:[!e&&a.jsx("div",{className:"workspace-diff-resize-handle",role:"separator","aria-orientation":"vertical","aria-label":"Resize browser panel",onPointerDown:b}),a.jsx(R,{activeTabId:t.state.activeTabId,tabs:t.state.tabs,onCloseTab:s=>{t.closeTab(s)},onNewTab:()=>{t.newTab()},onSelectTab:s=>{t.selectTab(s)}}),a.jsx(z,{activeTab:t.activeTab,available:t.available,onBack:()=>{t.back()},onClearData:n,onForward:()=>{t.forward()},onNavigate:l,onOpenExternal:()=>{t.openExternal()},onReload:()=>{t.reload()},onStop:()=>{t.stop()}}),a.jsxs("div",{className:"browser-content",children:[t.available?t.state.tabs.length===0?a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Enter a URL to open a browser tab for this conversation."})]}):null:a.jsxs("div",{className:"browser-empty-state",children:[a.jsx(f,{size:18}),a.jsx("span",{children:"Desktop browser bridge unavailable."})]}),a.jsx(D,{active:t.available&&t.state.tabs.length>0,onBounds:u})]})]})}export{A as BrowserSidebar};