clay-server 5.4.0-beta.1 → 5.5.0-beta.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 (69) hide show
  1. package/lib/agent-behavior-gate.js +223 -0
  2. package/lib/agent-behavior-schema.js +184 -0
  3. package/lib/daemon.js +15 -0
  4. package/lib/issues-mcp-server.js +16 -3
  5. package/lib/migrate-single-user.js +2 -0
  6. package/lib/project-issues.js +9 -2
  7. package/lib/project-log-feedback-delivery.js +3 -0
  8. package/lib/project-logs-mcp-server.js +23 -2
  9. package/lib/project-logs.js +40 -6
  10. package/lib/project-session-document.js +9 -1
  11. package/lib/project-session-notes.js +19 -8
  12. package/lib/project-session-pair-prompt.js +5 -4
  13. package/lib/project-user-knowledge.js +21 -3
  14. package/lib/project-worker-proposal.js +8 -2
  15. package/lib/project.js +108 -61
  16. package/lib/public/app.js +1 -0
  17. package/lib/public/css/agent-behavior.css +101 -0
  18. package/lib/public/modules/agent-behavior-nav.js +90 -0
  19. package/lib/public/modules/agent-behavior-view.js +235 -0
  20. package/lib/public/modules/agent-behavior.js +200 -0
  21. package/lib/public/modules/settings-shell-registry.js +1 -1
  22. package/lib/public/modules/settings-shell-view.js +18 -0
  23. package/lib/public/modules/user-settings-layout.js +8 -1
  24. package/lib/public/modules/user-settings.js +5 -2
  25. package/lib/public/pane-assets/{app-BDYH6Y7R.js → app-4IZ6F6ND.js} +1 -1
  26. package/lib/public/pane-assets/{chunk-HWLBH6AL.js → chunk-3E6LDNXF.js} +1 -1
  27. package/lib/public/pane-assets/chunk-6KO36HMU.js +1 -0
  28. package/lib/public/pane-assets/{chunk-N5SIEIOG.js → chunk-6ZF2FJT3.js} +1 -1
  29. package/lib/public/pane-assets/{chunk-TT3NECKK.js → chunk-A4MLSYBJ.js} +1 -1
  30. package/lib/public/pane-assets/{chunk-KF3LZRJK.js → chunk-A7OB7HQS.js} +1 -1
  31. package/lib/public/pane-assets/{chunk-QRVKAVH7.js → chunk-ADGKPVFD.js} +1 -1
  32. package/lib/public/pane-assets/{chunk-UMIYQYGM.js → chunk-DJ5WXQKT.js} +1 -1
  33. package/lib/public/pane-assets/{chunk-KB4T5B2R.js → chunk-ELL4UBGY.js} +1 -1
  34. package/lib/public/pane-assets/{chunk-FQQMXMH7.js → chunk-FILRACQB.js} +97 -97
  35. package/lib/public/pane-assets/chunk-H6MU72QE.js +1 -0
  36. package/lib/public/pane-assets/{chunk-X452YCE5.js → chunk-I6X5J2V5.js} +1 -1
  37. package/lib/public/pane-assets/{chunk-U5GH2UJM.js → chunk-L3FCTD7U.js} +1 -1
  38. package/lib/public/pane-assets/{chunk-VCNLKOVT.js → chunk-OB3KKICE.js} +1 -1
  39. package/lib/public/pane-assets/chunk-PJURCIJQ.js +1 -0
  40. package/lib/public/pane-assets/chunk-Q7RFSS5Q.js +1 -0
  41. package/lib/public/pane-assets/{chunk-42C2CZEP.js → chunk-RRYWV5JT.js} +1 -1
  42. package/lib/public/pane-assets/{chunk-E6NRPGVH.js → chunk-SEELA2D2.js} +1 -1
  43. package/lib/public/pane-assets/chunk-UTLQWAKG.js +1 -0
  44. package/lib/public/pane-assets/chunk-WE4NWXNK.js +1 -0
  45. package/lib/public/pane-assets/{chunk-YE45RR7W.js → chunk-YFUORWA6.js} +1 -1
  46. package/lib/public/pane-assets/{chunk-TMUCEZ7C.js → chunk-YWHBNEB2.js} +1 -1
  47. package/lib/public/pane-assets/{chunk-XI2DJM4H.js → chunk-YXJ7ISEK.js} +1 -1
  48. package/lib/public/pane-assets/chunk-Z2MHS43B.js +1 -0
  49. package/lib/public/pane-assets/manifest.json +428 -424
  50. package/lib/public/pane-assets/{style-VDIGFFLR.css → style-DZX6JAMF.css} +1 -1
  51. package/lib/public/style.css +1 -0
  52. package/lib/sdk-bridge.js +3 -2
  53. package/lib/server-agent-behavior-settings.js +72 -0
  54. package/lib/server-settings.js +2 -0
  55. package/lib/server.js +9 -0
  56. package/lib/session-notes-mcp-server.js +27 -7
  57. package/lib/session-skill-scope.js +2 -2
  58. package/lib/users-agent-behavior-preferences.js +38 -0
  59. package/lib/users.js +6 -0
  60. package/lib/yoke/adapters/claude.js +8 -4
  61. package/lib/yoke/skill-discovery.js +46 -1
  62. package/package.json +1 -1
  63. package/lib/public/pane-assets/chunk-46OOGVHU.js +0 -1
  64. package/lib/public/pane-assets/chunk-4OJW4FF4.js +0 -1
  65. package/lib/public/pane-assets/chunk-F7VIE6FJ.js +0 -1
  66. package/lib/public/pane-assets/chunk-FCJYJLVZ.js +0 -1
  67. package/lib/public/pane-assets/chunk-FEJDEXOW.js +0 -1
  68. package/lib/public/pane-assets/chunk-HEMCIILG.js +0 -1
  69. package/lib/public/pane-assets/chunk-RV5O66TO.js +0 -1
@@ -0,0 +1 @@
1
+ import{l as a,m as b,n as c,o as d}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{a as closeLinear,c as handleLinearResult,d as initLinearPanel,b as openLinear};
@@ -1 +1 @@
1
- import{$d as r,Kd as a,Ld as b,Md as c,Nd as d,Od as e,Pd as f,Qd as g,Rd as h,Sd as i,Td as j,Ud as k,Vd as l,Wd as m,Xd as n,Yd as o,Zd as p,_d as q,ae as s,be as t,ce as u,de as v}from"./chunk-FQQMXMH7.js";import"./chunk-U5GH2UJM.js";import"./chunk-JIV7O5GN.js";import"./chunk-YE45RR7W.js";import"./chunk-42C2CZEP.js";import"./chunk-XI2DJM4H.js";import"./chunk-R7QVVFUG.js";import"./chunk-E6NRPGVH.js";import"./chunk-VZ2OKDAO.js";export{c as closeFileViewer,b as focusFileTree,v as getPendingNavigate,o as handleDirChanged,t as handleFileAt,q as handleFileChanged,r as handleFileHistory,n as handleFsList,p as handleFsRead,m as handleFsSearch,s as handleGitDiff,a as initFileBrowser,j as loadRootDirectory,u as navigateToEdit,f as openFile,h as openWorkingTreeDiff,i as presentMarkdownEdit,l as refreshIfOpen,k as refreshTree,g as reopenFileViewer,e as resetFileBrowser,d as setFileViewerFullscreen};
1
+ import{$d as r,Kd as a,Ld as b,Md as c,Nd as d,Od as e,Pd as f,Qd as g,Rd as h,Sd as i,Td as j,Ud as k,Vd as l,Wd as m,Xd as n,Yd as o,Zd as p,_d as q,ae as s,be as t,ce as u,de as v}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{c as closeFileViewer,b as focusFileTree,v as getPendingNavigate,o as handleDirChanged,t as handleFileAt,q as handleFileChanged,r as handleFileHistory,n as handleFsList,p as handleFsRead,m as handleFsSearch,s as handleGitDiff,a as initFileBrowser,j as loadRootDirectory,u as navigateToEdit,f as openFile,h as openWorkingTreeDiff,i as presentMarkdownEdit,l as refreshIfOpen,k as refreshTree,g as reopenFileViewer,e as resetFileBrowser,d as setFileViewerFullscreen};
@@ -1 +1 @@
1
- import{G as b,I as f,J as p,d as u,e as r}from"./chunk-E6NRPGVH.js";import{b as s}from"./chunk-VZ2OKDAO.js";function c(){return s.get("mcpSkillsWorkbench")||{}}function a(e){s.set({mcpSkillsWorkbench:Object.assign({},c(),e)})}function o(){var e=s.get("permissions");return!e||e.skills!==!1}function g(){var e=document.getElementById("mcp-skills-workbench");if(e)return e;var l=document.getElementById("main-panels");return l?(e=document.createElement("section"),e.id="mcp-skills-workbench",e.className="mcp-skills-workbench hidden",e.setAttribute("aria-label","MCP / Skills"),e.innerHTML='<header class="mcp-skills-header"><strong>'+r("blocks")+'MCP / Skills</strong><div><button type="button" data-workbench="wide" aria-label="Widen MCP / Skills">'+r("chevrons-left-right")+'</button><button type="button" data-workbench="fullscreen" aria-label="Toggle MCP / Skills fullscreen">'+r("maximize-2")+'</button><button type="button" data-workbench="close" aria-label="Close MCP / Skills">'+r("x")+'</button></div></header><div class="mcp-skills-tabs" role="tablist" aria-label="MCP / Skills sections"><button id="mcp-workbench-tab" role="tab" data-section="mcp" aria-controls="mcp-modal">MCP Servers</button><button id="skills-workbench-tab" role="tab" data-section="skills" aria-controls="skills-modal">Skills</button></div>',["mcp","skills"].forEach(function(n){var t=document.getElementById(n+"-modal");if(t){var i=t.querySelector(".confirm-backdrop");i&&i.remove();var k=t.querySelector(".confirm-dialog");k&&k.classList.remove("confirm-dialog"),t.setAttribute("role","tabpanel"),t.setAttribute("aria-labelledby",n+"-workbench-tab"),e.appendChild(t)}}),l.appendChild(e),e.querySelector('[data-workbench="close"]').onclick=m,["wide","fullscreen"].forEach(function(n){e.querySelector('[data-workbench="'+n+'"]').onclick=function(){var t={};t[n]=!c()[n],a(t)}}),e.querySelectorAll("[data-section]").forEach(function(n){n.onclick=function(){d(n.dataset.section)},n.onkeydown=function(t){if(["ArrowLeft","ArrowRight","Home","End"].includes(t.key)){t.preventDefault();var i=n.dataset.section==="mcp"&&o()?"skills":"mcp";t.key==="Home"&&(i="mcp"),t.key==="End"&&o()&&(i="skills"),d(i),e.querySelector('[data-section="'+i+'"]').focus()}}}),["skills-btn","mate-skills-btn"].forEach(function(n){if(!document.getElementById(n)){var t=document.createElement("button");t.id=n,t.hidden=!0,t.onclick=function(){d("skills")},l.appendChild(t)}}),u(e),h(),e):null}function d(e){g()&&(e=e||c().tab||"mcp",e==="skills"&&!o()&&(e="mcp"),f("mcp-skills"),a({open:!0,tab:e}))}function m(){a({open:!1}),p("mcp-skills")}function h(){var e=document.getElementById("mcp-skills-workbench");if(e){var l=c(),n=l.tab||"mcp";e.classList.toggle("hidden",!l.open),e.classList.toggle("workbench-wide",!!l.wide),e.classList.toggle("panel-fullscreen",!!l.fullscreen),["wide","fullscreen"].forEach(function(t){e.querySelector('[data-workbench="'+t+'"]').setAttribute("aria-pressed",String(!!l[t]))}),e.querySelectorAll("[data-section]").forEach(function(t){var i=t.dataset.section===n;t.setAttribute("aria-selected",String(i)),t.tabIndex=i?0:-1,t.hidden=t.dataset.section==="skills"&&!o()}),["mcp","skills"].forEach(function(t){var i=document.getElementById(t+"-modal");i&&i.classList.toggle("hidden",!l.open||t!==n)})}}b("mcp-skills",m);s.subscribe(function(e,l){if(e.currentSlug!==l.currentSlug||e.myUserId!==l.myUserId||e.dmMode!==l.dmMode){m();return}if(e.permissions!==l.permissions&&!o()&&c().tab==="skills"){a({tab:"mcp"});return}(e.mcpSkillsWorkbench!==l.mcpSkillsWorkbench||e.permissions!==l.permissions)&&h()});export{g as a,d as b,m as c};
1
+ import{G as b,I as f,J as p,d as u,e as r}from"./chunk-SEELA2D2.js";import{b as s}from"./chunk-VZ2OKDAO.js";function c(){return s.get("mcpSkillsWorkbench")||{}}function a(e){s.set({mcpSkillsWorkbench:Object.assign({},c(),e)})}function o(){var e=s.get("permissions");return!e||e.skills!==!1}function g(){var e=document.getElementById("mcp-skills-workbench");if(e)return e;var l=document.getElementById("main-panels");return l?(e=document.createElement("section"),e.id="mcp-skills-workbench",e.className="mcp-skills-workbench hidden",e.setAttribute("aria-label","MCP / Skills"),e.innerHTML='<header class="mcp-skills-header"><strong>'+r("blocks")+'MCP / Skills</strong><div><button type="button" data-workbench="wide" aria-label="Widen MCP / Skills">'+r("chevrons-left-right")+'</button><button type="button" data-workbench="fullscreen" aria-label="Toggle MCP / Skills fullscreen">'+r("maximize-2")+'</button><button type="button" data-workbench="close" aria-label="Close MCP / Skills">'+r("x")+'</button></div></header><div class="mcp-skills-tabs" role="tablist" aria-label="MCP / Skills sections"><button id="mcp-workbench-tab" role="tab" data-section="mcp" aria-controls="mcp-modal">MCP Servers</button><button id="skills-workbench-tab" role="tab" data-section="skills" aria-controls="skills-modal">Skills</button></div>',["mcp","skills"].forEach(function(n){var t=document.getElementById(n+"-modal");if(t){var i=t.querySelector(".confirm-backdrop");i&&i.remove();var k=t.querySelector(".confirm-dialog");k&&k.classList.remove("confirm-dialog"),t.setAttribute("role","tabpanel"),t.setAttribute("aria-labelledby",n+"-workbench-tab"),e.appendChild(t)}}),l.appendChild(e),e.querySelector('[data-workbench="close"]').onclick=m,["wide","fullscreen"].forEach(function(n){e.querySelector('[data-workbench="'+n+'"]').onclick=function(){var t={};t[n]=!c()[n],a(t)}}),e.querySelectorAll("[data-section]").forEach(function(n){n.onclick=function(){d(n.dataset.section)},n.onkeydown=function(t){if(["ArrowLeft","ArrowRight","Home","End"].includes(t.key)){t.preventDefault();var i=n.dataset.section==="mcp"&&o()?"skills":"mcp";t.key==="Home"&&(i="mcp"),t.key==="End"&&o()&&(i="skills"),d(i),e.querySelector('[data-section="'+i+'"]').focus()}}}),["skills-btn","mate-skills-btn"].forEach(function(n){if(!document.getElementById(n)){var t=document.createElement("button");t.id=n,t.hidden=!0,t.onclick=function(){d("skills")},l.appendChild(t)}}),u(e),h(),e):null}function d(e){g()&&(e=e||c().tab||"mcp",e==="skills"&&!o()&&(e="mcp"),f("mcp-skills"),a({open:!0,tab:e}))}function m(){a({open:!1}),p("mcp-skills")}function h(){var e=document.getElementById("mcp-skills-workbench");if(e){var l=c(),n=l.tab||"mcp";e.classList.toggle("hidden",!l.open),e.classList.toggle("workbench-wide",!!l.wide),e.classList.toggle("panel-fullscreen",!!l.fullscreen),["wide","fullscreen"].forEach(function(t){e.querySelector('[data-workbench="'+t+'"]').setAttribute("aria-pressed",String(!!l[t]))}),e.querySelectorAll("[data-section]").forEach(function(t){var i=t.dataset.section===n;t.setAttribute("aria-selected",String(i)),t.tabIndex=i?0:-1,t.hidden=t.dataset.section==="skills"&&!o()}),["mcp","skills"].forEach(function(t){var i=document.getElementById(t+"-modal");i&&i.classList.toggle("hidden",!l.open||t!==n)})}}b("mcp-skills",m);s.subscribe(function(e,l){if(e.currentSlug!==l.currentSlug||e.myUserId!==l.myUserId||e.dmMode!==l.dmMode){m();return}if(e.permissions!==l.permissions&&!o()&&c().tab==="skills"){a({tab:"mcp"});return}(e.mcpSkillsWorkbench!==l.mcpSkillsWorkbench||e.permissions!==l.permissions)&&h()});export{g as a,d as b,m as c};
@@ -1 +1 @@
1
- import{na as a,oa as b,pa as c,qa as d,ra as e,sa as f,ta as g,ua as h,va as i,wa as j,xa as k}from"./chunk-FQQMXMH7.js";import"./chunk-U5GH2UJM.js";import"./chunk-JIV7O5GN.js";import"./chunk-YE45RR7W.js";import"./chunk-42C2CZEP.js";import"./chunk-XI2DJM4H.js";import"./chunk-R7QVVFUG.js";import"./chunk-E6NRPGVH.js";import"./chunk-VZ2OKDAO.js";export{g as actOnFilePane,f as closeFilePane,b as filePaneState,a as filePaneStates,h as mountFilePane,i as openIndependentFile,e as repaintFilePane,k as resetFilePanes,j as routeFilePaneMessage,d as sendFilePaneRequest,c as updateFilePaneState};
1
+ import{na as a,oa as b,pa as c,qa as d,ra as e,sa as f,ta as g,ua as h,va as i,wa as j,xa as k}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{g as actOnFilePane,f as closeFilePane,b as filePaneState,a as filePaneStates,h as mountFilePane,i as openIndependentFile,e as repaintFilePane,k as resetFilePanes,j as routeFilePaneMessage,d as sendFilePaneRequest,c as updateFilePaneState};
@@ -0,0 +1 @@
1
+ import{A as c,y as a,z as b}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{a as closeLoginBrowser,c as handleLoginBrowserMessage,b as openLoginBrowser};
@@ -0,0 +1 @@
1
+ import{g as a,h as b,i as c}from"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{a as closeWireframe,b as openWireframe,c as restoreWireframeWorkbench};
@@ -1,3 +1,3 @@
1
- import{v,y as b}from"./chunk-XI2DJM4H.js";import{G as y,I as w,J as S,d as g}from"./chunk-E6NRPGVH.js";import{b as n}from"./chunk-VZ2OKDAO.js";function k(){return'<span class="sketch-mark" aria-hidden="true">\u270E</span><span class="sketch-wordmark">clay<span>sketch</span></span>'}function q(){return'<a class="sketch-credit" href="https://plantuml.com/salt" target="_blank" rel="noopener noreferrer">Built with PlantUML Salt <span aria-hidden="true">\u2197</span></a>'}function C(t,e){return t=String(t||""),e==="salt"&&!/@start\w+/i.test(t)?`@startsalt
1
+ import{v,y as b}from"./chunk-YXJ7ISEK.js";import{G as y,I as w,J as S,d as g}from"./chunk-SEELA2D2.js";import{b as n}from"./chunk-VZ2OKDAO.js";function k(){return'<span class="sketch-mark" aria-hidden="true">\u270E</span><span class="sketch-wordmark">clay<span>sketch</span></span>'}function q(){return'<a class="sketch-credit" href="https://plantuml.com/salt" target="_blank" rel="noopener noreferrer">Built with PlantUML Salt <span aria-hidden="true">\u2197</span></a>'}function C(t,e){return t=String(t||""),e==="salt"&&!/@start\w+/i.test(t)?`@startsalt
2
2
  `+t+`
3
3
  @endsalt`:t}function p(t,e){if(t.length>8*1024*1024||!/<svg[\s>]/i.test(t))throw new Error("The renderer returned an invalid diagram.");var r=document.createElement("img");return r.alt=e||"Wireframe",r.draggable=!1,r.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent(t),r}function h(){if(!n.get("wireframeRenderActive")){var t=(n.get("wireframeRenderQueue")||[]).slice(),e=t.shift();if(e){if(n.set({wireframeRenderQueue:t}),!e.target.isConnected){e.reject(new Error("Preview closed.")),h();return}var r=new AbortController;n.set({wireframeRenderActive:r});var i=setTimeout(function(){r.abort()},2e4);fetch("api/wireframe/render",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:e.source}),signal:r.signal,cache:"no-store"}).then(function(a){return a.text().then(function(o){if(!a.ok)throw new Error(o||"Unable to render this wireframe.");return o})}).then(function(a){if(n.get("wireframeRenderActive")!==r)throw new Error("Conversation changed.");if(p(a),a.length<5e5){var o=(n.get("wireframeRenderCache")||[]).filter(function(c){return c.source!==e.source});o.push({source:e.source,svg:a}),n.set({wireframeRenderCache:o.slice(-12)})}e.resolve(a)}).catch(function(a){e.reject(a)}).finally(function(){clearTimeout(i),n.get("wireframeRenderActive")===r&&n.set({wireframeRenderActive:null}),h()})}}}function R(t,e){if(!t.trim()||new TextEncoder().encode(t).length>1e5)return Promise.reject(new Error("Wireframes must contain between 1 byte and 100 KB of source."));var r=n.get("wireframeRenderCache")||[],i=r.find(function(a){return a.source===t});return i?Promise.resolve(i.svg):new Promise(function(a,o){var c=(n.get("wireframeRenderQueue")||[]).slice();c.push({source:t,target:e,resolve:a,reject:o}),n.set({wireframeRenderQueue:c}),h()})}n.subscribe(function(t,e){t.currentSlug===e.currentSlug&&t.activeSessionId===e.activeSessionId&&t.myUserId===e.myUserId||(e.wireframeRenderActive&&e.wireframeRenderActive.abort(),(e.wireframeRenderQueue||[]).forEach(function(r){r.reject(new Error("Conversation changed."))}),n.set({wireframeRenderActive:null,wireframeRenderQueue:[],wireframeRenderCache:[]}))});function s(){return n.get("wireframeViewports")||new Map}function d(t){var e=t.image;if(!(!e.naturalWidth||!t.viewport.isConnected||s().get(t.viewport)!==t)){var r=getComputedStyle(t.viewport),i=t.viewport.clientWidth-parseFloat(r.paddingLeft)-parseFloat(r.paddingRight);if(!(i<=0)){var a=Math.min(1,i/e.naturalWidth);if(t.viewport.classList.contains("wireframe-workbench-canvas")){var o=t.viewport.clientHeight-parseFloat(r.paddingTop)-parseFloat(r.paddingBottom);o>0&&(a=Math.min(a,o/e.naturalHeight))}var c=t.mode==="manual"?t.zoom:a;e.style.width=e.naturalWidth*c+"px",e.style.maxWidth="none",e.style.height="auto",e.style.margin=e.naturalWidth*c>i?"0":"0 auto",t.scale=c,t.toolbar&&(t.toolbar.querySelector("[data-zoom-value]").textContent=Math.round(c*100)+"%",t.toolbar.querySelector("[data-zoom-fit]").setAttribute("aria-pressed",String(t.mode==="fit")),t.toolbar.querySelector("[data-zoom-out]").disabled=c<=.25,t.toolbar.querySelector("[data-zoom-in]").disabled=c>=4)}}}function W(){var t=new Map(s());if(t.forEach(function(r,i){i.isConnected&&r.image.isConnected||(r.resize.disconnect(),t.delete(i))}),t.size!==s().size&&n.set({wireframeViewports:t}),!t.size){var e=n.get("wireframeViewportCleanup");e&&e.disconnect(),n.set({wireframeViewportCleanup:null})}}function x(t,e,r){var i=s().get(t);i&&i.resize.disconnect();var a={viewport:t,image:e,toolbar:r,mode:i?i.mode:"auto",zoom:i?i.zoom:1,scale:1};a.resize=new ResizeObserver(function(){d(a)});var o=new Map(s());if(o.set(t,a),n.set({wireframeViewports:o}),r){let l=function(m,E){a.mode=m,a.zoom=E,t.scrollLeft=0,t.scrollTop=0,d(a)};r.classList.add("wireframe-zoom"),r.setAttribute("role","group"),r.setAttribute("aria-label","Sketch zoom"),r.innerHTML='<button type="button" data-zoom-out aria-label="Zoom out" title="Zoom out">\u2212</button><button type="button" data-zoom-value aria-label="Reset zoom to 100%" title="Original size">100%</button><button type="button" data-zoom-in aria-label="Zoom in" title="Zoom in">+</button><button type="button" data-zoom-fit aria-pressed="true" title="Fit sketch to available width">Fit</button>',r.querySelector("[data-zoom-out]").onclick=function(){l("manual",Math.max(.25,a.scale/1.25))},r.querySelector("[data-zoom-in]").onclick=function(){l("manual",Math.min(4,Math.max(.25,a.scale*1.25)))},r.querySelector("[data-zoom-value]").onclick=function(){l("manual",1)},r.querySelector("[data-zoom-fit]").onclick=function(){l("fit",1)}}if(e.addEventListener("load",function(){d(a)},{once:!0}),a.resize.observe(t),!n.get("wireframeViewportCleanup")){var c=new MutationObserver(W);c.observe(document.body,{childList:!0,subtree:!0}),n.set({wireframeViewportCleanup:c})}d(a)}function u(){return document.getElementById("wireframe-panel")}function f(){S("wireframe"),u()&&(u().dispatchEvent(new Event("clay-tool-pane-dispose")),u().remove()),n.set({wireframeDraft:null})}function A(){var t=n.get("wireframeDraft");if(t){var e=document.createElement("a");e.href=URL.createObjectURL(new Blob([t.source],{type:"text/plain;charset=utf-8"})),e.download=(t.id||"wireframe")+".puml",e.click(),setTimeout(function(){URL.revokeObjectURL(e.href)},1e3)}}function L(t){t.preventDefault();var e=u(),r=n.get("wireframeDraft"),i=e.querySelector("form"),a=i.querySelector('[type="submit"]'),o=e.querySelector(".wireframe-save-status"),c=i.elements.path.value.trim();a.disabled=!0,o.textContent="Saving\u2026",fetch("api/wireframe/save",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:c,source:r.source})}).then(function(l){return l.ok?l.json():l.text().then(function(m){throw new Error(m)})}).then(function(l){n.get("wireframeDraft")===r&&(o.textContent="Saved to "+l.path,i.hidden=!0)}).catch(function(l){n.get("wireframeDraft")===r&&(o.textContent=l.message||"Unable to save the wireframe.")}).finally(function(){a.disabled=!1})}function z(){var t=document.getElementById("main-panels");if(!t)return null;var e=document.createElement("section");return e.id="wireframe-panel",e.setAttribute("aria-label","clay-sketch viewer"),e.innerHTML='<header class="wireframe-topbar"><div class="sketch-brand">'+k()+'</div><strong class="sketch-title">Sketch viewer</strong><div class="wireframe-window-actions"><button type="button" data-wide title="Widen panel" aria-label="Widen panel" aria-pressed="false"><i data-lucide="chevrons-left-right"></i></button><button type="button" data-full title="Toggle fullscreen" aria-label="Toggle fullscreen" aria-pressed="false"><i data-lucide="maximize-2"></i></button><button type="button" data-close title="Close clay-sketch" aria-label="Close clay-sketch"><i data-lucide="x"></i></button></div></header><div class="wireframe-toolbar"><div class="wireframe-zoom"></div><button type="button" data-save>Save to project</button><button type="button" data-download title="Download sketch source" aria-label="Download sketch source"><i data-lucide="download"></i></button></div><form hidden class="wireframe-save-form"><label>Project file path<input name="path" aria-label="Project file path" required pattern=".*\\.puml" placeholder="wireframe.puml"></label><button type="submit">Save</button><button type="button" data-cancel>Cancel</button></form><p class="wireframe-save-status" role="status"></p><div class="wireframe-workbench-canvas"></div><footer class="sketch-footer">'+q()+"<span>Revise through conversation</span></footer>",t.appendChild(e),e.querySelector("[data-close]").onclick=f,e.querySelector("[data-download]").onclick=A,e.querySelector("[data-save]").onclick=function(){var r=e.querySelector("form");r.hidden=!1;var i=n.get("wireframeDraft");r.elements.path.value=(i.id||"wireframe")+".puml",r.elements.path.focus()},e.querySelector("[data-cancel]").onclick=function(){e.querySelector("form").hidden=!0,e.querySelector("[data-save]").focus()},e.querySelector("form").onsubmit=L,e.addEventListener("keydown",function(r){r.key==="Escape"&&(r.stopPropagation(),e.querySelector("form").hidden?f():e.querySelector("[data-cancel]").click())}),["wide","full"].forEach(function(r){e.querySelector("[data-"+r+"]").onclick=function(){var i=e.classList.toggle(r==="wide"?"wireframe-wide":"panel-fullscreen");this.setAttribute("aria-pressed",String(i))}}),g(),e}function T(t){if(!(!t||typeof t.source!="string"||new TextEncoder().encode(t.source).length>1e5)){if(n.get("paneMode")&&window.parent!==window){v(t,"clay-pane-present-wireframe");return}w("wireframe");var e=u()||z();if(e){var r={source:C(t.source,t.language),title:String(t.title||"clay-sketch").slice(0,100),id:/^[a-zA-Z0-9_-]{1,80}$/.test(t.id||"")?t.id:"wireframe"};n.set({wireframeDraft:r}),e.querySelector("[data-save]").disabled=!1,e.querySelector("[data-download]").disabled=!1,e.querySelector("header strong").textContent=r.title,e.querySelector(".wireframe-save-status").textContent="",e.querySelector("form").hidden=!0;var i=j(r,e);b(Object.assign({},t,{source:r.source}),e.querySelector("header"),i,e.querySelector(".wireframe-workbench-canvas")),i.catch(function(){})}}}function j(t,e){var r=e.querySelector(".wireframe-workbench-canvas"),i=n.get("wireframeDraft"),a=document.createElement("p");return a.setAttribute("role","status"),a.textContent="Rendering sketch\u2026",r.replaceChildren(a),R(t.source,r).then(function(o){if(n.get("wireframeDraft")!==i||!r.isConnected)throw new DOMException("Sketch changed.","AbortError");var c=p(o,t.title);return r.replaceChildren(c),x(r,c,e.querySelector(".wireframe-zoom")),c.decode?c.decode():void 0}).catch(function(o){throw n.get("wireframeDraft")!==i||(a.textContent=o.name==="AbortError"?"Rendering was interrupted. Reopen the wireframe to retry.":o.message),o})}y("wireframe",f);n.subscribe(function(t,e){(t.currentSlug!==e.currentSlug||t.myUserId!==e.myUserId)&&f()});function J(){var t=n.get("wireframeDraft");if(t){T(t);return}var e=u()||z();e&&(w("wireframe"),e.classList.remove("hidden"),e.querySelector("[data-save]").disabled=!0,e.querySelector("[data-download]").disabled=!0,e.querySelector(".wireframe-workbench-canvas").textContent="Open a sketch to view it here.")}export{k as a,q as b,C as c,p as d,R as e,x as f,f as g,T as h,J as i};
@@ -1,2 +1,2 @@
1
- import{b as u}from"./chunk-VZ2OKDAO.js";var w={"project-logs":{id:"project-logs-panel",label:"Logs",icon:"notebook-text",open:"openProjectLogs",load:function(){return import("./chunk-N5SIEIOG.js")}},you:{id:"you-panel",label:"Me",icon:"user",open:"openYou",load:function(){return import("./chunk-FCJYJLVZ.js")}},issues:{id:"issues-panel",label:"Issues",icon:"circle-dot",open:"openIssues",load:function(){return import("./chunk-FEJDEXOW.js")}},linear:{id:"linear-panel",label:"Linear",icon:"list-todo",open:"openLinear",load:function(){return import("./chunk-4OJW4FF4.js")}},"notes-browser":{id:"notes-browser",label:"Sticky Notes",icon:"sticky-note",open:"openNotesBrowser",load:function(){return import("./chunk-RV5O66TO.js")}},"scheduled-tasks":{id:"scheduled-tasks-panel",label:"Scheduled Tasks",icon:"calendar-clock",open:"openScheduledTasks",load:function(){return import("./chunk-KF3LZRJK.js")}},debates:{id:"debates-workbench",label:"Debates",icon:"messages-square",open:"openDebatesWorkbench",load:function(){return import("./chunk-46OOGVHU.js")}},"mcp-skills":{id:"mcp-skills-workbench",label:"MCP / Skills",icon:"blocks",open:"openMcpSkillsWorkbench",load:function(){return import("./chunk-QRVKAVH7.js")}},"mate-knowledge":{id:"mate-knowledge-workbench",label:"Knowledge",icon:"book-open",open:"openKnowledgeWorkbench",load:function(){return import("./chunk-UMIYQYGM.js")}},wireframe:{id:"wireframe-panel",label:"Sketch",icon:"panels-top-left",open:"restoreWireframeWorkbench",load:function(){return import("./chunk-F7VIE6FJ.js")}}};function X(e,r){var i=w[e],t=i&&document.getElementById(i.id);if(!(!t||t.classList.contains("panel-fullscreen")===r)){var n=t.querySelector('header button[aria-label*="fullscreen"], header button[title*="fullscreen"]');n?n.click():t.classList.toggle("panel-fullscreen",r)}}var N=8,H=.05,_=.95,ue=["balanced","columns","rows","grid","main-left","main-right"];function p(e){return!e||typeof e!="object"?[]:Object.prototype.hasOwnProperty.call(e,"id")?[e.id]:p(e.left).concat(p(e.right))}function ye(e,r){var i=p(e),t=!0;function n(o,a){return!o||typeof o!="object"||a>N?!1:Object.prototype.hasOwnProperty.call(o,"id")?Object.keys(o).length===1&&W(o.id):Object.keys(o).sort().join(",")!=="axis,left,ratio,right"||["horizontal","vertical"].indexOf(o.axis)===-1||typeof o.ratio!="number"||!Number.isFinite(o.ratio)||o.ratio<H||o.ratio>_?!1:n(o.left,a+1)&&n(o.right,a+1)}return t=(e===null||n(e,0))&&i.length>=0&&i.length<=N&&new Set(i).size===i.length,t&&r&&(t=Array.isArray(r)&&r.length===i.length&&r.every(function(o){return i.indexOf(o)!==-1})),{ok:t,ids:i}}function W(e){return typeof e=="string"&&e.length>0&&e.length<=128&&/^[A-Za-z0-9_-]+$/.test(e)}function h(e){return{id:e}}function Y(e,r,i){if(!W(e)||!W(r)||["left","right","top","bottom"].indexOf(i)===-1||e===r)throw new TypeError("Pair layout requires two distinct session origins and a valid position");var t=i==="left"||i==="top";return{axis:i==="top"||i==="bottom"?"vertical":"horizontal",ratio:.5,left:h(t?r:e),right:h(t?e:r)}}function S(e,r){return e.length===1?h(e[0]):{axis:r,ratio:1/e.length,left:h(e[0]),right:S(e.slice(1),r)}}function A(e){if(e.length<=2)return S(e,"horizontal");var r=Math.ceil(e.length/2);return{axis:"vertical",ratio:r/e.length,left:S(e.slice(0,r),"horizontal"),right:S(e.slice(r),"horizontal")}}function Q(e,r){if(!Array.isArray(e)||e.length>N||e.some(function(t){return!W(t)})||new Set(e).size!==e.length)throw new TypeError("Preset input must contain zero to eight unique session origins");if(ue.indexOf(r)===-1)throw new TypeError("Unknown Split view preset");if(!e.length)return null;if(e.length===1)return h(e[0]);if(r==="columns")return S(e,"horizontal");if(r==="rows")return S(e,"vertical");if(r==="grid")return A(e);if(r==="main-left"||r==="main-right"){var i=e.length===2?.5:.6666666666666666;return r==="main-left"?{axis:"horizontal",ratio:i,left:h(e[0]),right:A(e.slice(1))}:{axis:"horizontal",ratio:1-i,left:A(e.slice(1)),right:h(e[0])}}return e.length<=3?{axis:"horizontal",ratio:.55,left:h(e[0]),right:S(e.slice(1),"vertical")}:A(e)}function C(e,r){if(!e||typeof e!="object")return e;if(Object.prototype.hasOwnProperty.call(e,"id"))return e.id===r?null:e;var i=C(e.left,r),t=C(e.right,r);return i?t?i===e.left&&t===e.right?e:{axis:e.axis,ratio:e.ratio,left:i,right:t}:i:t}function D(e,r,i,t,n){if(!e||typeof e!="object")return{tree:e,found:!1};if(Object.prototype.hasOwnProperty.call(e,"id")){if(e.id!==i)return{tree:e,found:!1};var o=t==="left"||t==="right",a=t==="left"||t==="top",l={axis:o?"horizontal":"vertical",ratio:a?n:1-n,left:a?h(r):e,right:a?e:h(r)};return{tree:l,found:!0}}var f=D(e.left,r,i,t,n);if(f.found)return{tree:{axis:e.axis,ratio:e.ratio,left:f.tree,right:e.right},found:!0};var s=D(e.right,r,i,t,n);return s.found?{tree:{axis:e.axis,ratio:e.ratio,left:e.left,right:s.tree},found:!0}:{tree:e,found:!1}}function Oe(e,r,i,t,n){var o=["left","right","top","bottom"],a=n===void 0?.5:n;if(!W(r)||!W(i))return{ok:!1,tree:e,reason:"invalid-id"};if(o.indexOf(t)===-1)return{ok:!1,tree:e,reason:"invalid-position"};if(typeof a!="number"||!Number.isFinite(a)||a<H||a>_)return{ok:!1,tree:e,reason:"invalid-share"};if(r===i)return{ok:!0,tree:e,changed:!1};if(!e)return{ok:!1,tree:e,reason:"unknown-target"};var l=p(e);if(l.indexOf(i)===-1)return{ok:!1,tree:e,reason:"unknown-target"};var f=l.indexOf(r)!==-1;if(!f&&l.length>=N)return{ok:!1,tree:e,reason:"limit"};var s=f?C(e,r):e,d=D(s,r,i,t,a);return d.found?{ok:!0,tree:d.tree,changed:!0}:{ok:!1,tree:e,reason:"unknown-target"}}function ee(e,r,i){var t=p(e);if(r===i)return{ok:t.indexOf(r)!==-1,tree:e,changed:!1,reason:t.indexOf(r)===-1?"unknown-id":null};if(t.indexOf(r)===-1||t.indexOf(i)===-1)return{ok:!1,tree:e,changed:!1,reason:"unknown-id"};function n(o){return Object.prototype.hasOwnProperty.call(o,"id")?h(o.id===r?i:o.id===i?r:o.id):{axis:o.axis,ratio:o.ratio,left:n(o.left),right:n(o.right)}}return{ok:!0,tree:n(e),changed:!0}}function Se(e,r,i){if(typeof i!="number"||!Number.isFinite(i)||i<H||i>_||!Array.isArray(r))return null;function t(n,o){if(!n||Object.prototype.hasOwnProperty.call(n,"id"))return null;if(o===r.length)return{axis:n.axis,ratio:i,left:n.left,right:n.right};var a=r[o];if(a!=="left"&&a!=="right")return null;var l=t(n[a],o+1);return l?{axis:n.axis,ratio:n.ratio,left:a==="left"?l:n.left,right:a==="right"?l:n.right}:null}return t(e,0)}function We(e,r,i){var t=["left","right","top","bottom","top-left","top-right","bottom-left","bottom-right","left-third","right-third"];if(t.indexOf(i)===-1)return{ok:!1,tree:e,reason:"invalid-position"};var n=p(e),o=n.filter(function(x){return x!==r});if(!W(r)||n.indexOf(r)===-1)return{ok:!1,tree:e,reason:"unknown-source"};if(!o.length)return{ok:!1,tree:e,reason:"insufficient-windows"};var a=Q(o,"balanced");if(i==="left-third"||i==="right-third"){var l=i==="left-third";return{ok:!0,tree:l?{axis:"horizontal",ratio:1/3,left:h(r),right:a}:{axis:"horizontal",ratio:2/3,left:a,right:h(r)}}}if(i.indexOf("-")!==-1){if(o.length<2)return{ok:!1,tree:e,reason:"quarter-requires-three"};var f=i.indexOf("top-")===0,s=i.slice(-4)==="left",d=o[0],c=Q(o.slice(1),"balanced"),g=f?{axis:"vertical",ratio:.5,left:h(r),right:h(d)}:{axis:"vertical",ratio:.5,left:h(d),right:h(r)};return{ok:!0,tree:s?{axis:"horizontal",ratio:.5,left:g,right:c}:{axis:"horizontal",ratio:.5,left:c,right:g}}}var b=i==="left"||i==="right",v=i==="left"||i==="top";return{ok:!0,tree:{axis:b?"horizontal":"vertical",ratio:.5,left:v?h(r):a,right:v?a:h(r)}}}function Pe(e,r,i,t){var n={},o=[],a=Number.isFinite(t)&&t>=0?t:7;function l(f,s,d){if(f){if(Object.prototype.hasOwnProperty.call(f,"id")){n[f.id]=s;return}var c=f.axis==="horizontal",g=Math.max(0,(c?s.width:s.height)-a),b=g*f.ratio,v=c?s.x+b:s.y+b,x=c?{x:v,y:s.y,width:a,height:s.height}:{x:s.x,y:v,width:s.width,height:a};o.push({path:d.slice(),axis:f.axis,rect:x,branchRect:s,ratio:f.ratio,available:g});var j=c?{x:s.x,y:s.y,width:b,height:s.height}:{x:s.x,y:s.y,width:s.width,height:b},m=c?{x:v+a,y:s.y,width:g-b,height:s.height}:{x:s.x,y:v+a,width:s.width,height:g-b};l(f.left,j,d.concat("left")),l(f.right,m,d.concat("right"))}}return l(e,{x:0,y:0,width:r,height:i},[]),{panes:n,dividers:o}}function L(){return(u.get("projectSplitViews")||[]).find(function(e){return e.id===u.get("projectSplitViewActiveId")})||null}function ie(e){return e&&JSON.stringify([u.get("myUserId")||null,u.get("currentSlug"),u.get("currentProjectOwnerId"),u.get("projectSplitViewSocketGeneration"),e.id])}function fe(e){return JSON.parse(JSON.stringify(e))}function P(e,r){if(!e)return null;if(e.id)return r[e.id]?{id:r[e.id]}:null;var i=P(e.left,r),t=P(e.right,r);return i?t?{axis:e.axis,ratio:e.ratio,left:i,right:t}:i:t}function I(e){return e.kind==="workbench"?e.resource.name:e.kind==="file"?"file-"+e.instanceId:e.kind}function ge(e){var r=Object.create(null);return e.panes.forEach(function(i){r[i.instanceId]=i.kind==="session"?i.resource.originId:"tool-"+I(i)}),P(e.tree,r)}function re(e){var r=Object.create(null);return e.panes.forEach(function(i){i.kind==="session"&&(r[i.instanceId]=i.resource.originId)}),P(e.tree,r)}function de(e,r){var i=Object.create(null);return e.panes.forEach(function(t){i[t.kind==="session"?t.resource.originId:"tool-"+I(t)]=t.instanceId}),P(r,i)}function Te(e,r){var i=r.instanceId,t=ne(),n=Object.create(null);e.panes.forEach(function(o){n[o.instanceId]=o.instanceId===i?t:o.instanceId}),e.tree=P(e.tree,n),e.activePaneId===i&&(e.activePaneId=t),r.instanceId=t}function ne(){return"pane-"+crypto.randomUUID()}function te(e,r,i){var t=fe(e||{version:1,panes:[],tree:null,activePaneId:null}),n=p(r),o=ge(t);t.panes=t.panes.filter(function(c){return c.kind!=="session"||n.indexOf(c.resource.originId)>=0}),n.forEach(function(c){t.panes.some(function(g){return g.kind==="session"&&g.resource.originId===c})||t.panes.push({instanceId:ne(),kind:"session",open:!0,placement:"docked",resource:{originId:c}})}),t.linkedPair&&(n.indexOf(t.linkedPair.driverOriginId)<0||n.length+t.linkedPair.workerOrigins.length>8)&&delete t.linkedPair;var a=[];function l(c){!c||c.id||(c.left.id&&c.left.id.indexOf("tool-")===0?a.push({id:c.left.id,target:p(c.right)[0],axis:c.axis,ratio:c.ratio,before:!0}):c.right.id&&c.right.id.indexOf("tool-")===0&&a.push({id:c.right.id,target:p(c.left)[0],axis:c.axis,ratio:c.ratio,before:!1}),l(c.left),l(c.right))}l(o);var f=r;function s(c,g){return c&&(c.id?c.id===g.target?{axis:g.axis,ratio:g.ratio,left:g.before?{id:g.id}:c,right:g.before?c:{id:g.id}}:c:{axis:c.axis,ratio:c.ratio,left:s(c.left,g),right:s(c.right,g)})}a.reverse().forEach(function(c){f=s(f,c)}),t.panes.filter(function(c){return c.kind!=="session"&&c.open&&c.placement==="docked"}).forEach(function(c){var g="tool-"+I(c);p(f).indexOf(g)<0&&(f=f?{axis:"horizontal",ratio:.66,left:f,right:{id:g}}:{id:g})}),t.tree=de(t,f);var d=t.panes.find(function(c){return c.kind==="session"&&c.resource.originId===i})||t.panes.find(function(c){return c.open});return t.activePaneId=d?d.instanceId:null,t.presentation&&(n.indexOf(t.presentation.focusedSessionOriginId)<0&&(t.presentation.focusedSessionOriginId=null),t.panes.some(function(c){return c.open&&c.instanceId===t.presentation.expandedPaneId})||(t.presentation.expandedPaneId=null)),t}function je(e,r){var i=u.snap(),t=i.projectSplitViews||[],n=t.find(function(s){return s.id===(r.id||r.sourceViewId)});if(r.accountId=i.myUserId||null,r.projectSlug=i.currentSlug,n&&(r.expectedViewRevision=n.revision),(e==="project_split_view_create"||e==="project_split_view_update")&&(r.workspace||(r.workspace=te(n&&n.workspace,r.tree,r.activeSessionOriginId)),r.tree=re(r.workspace),r.active=!0),e==="project_split_view_move"){var o=t.find(function(s){return s.id===r.targetViewId});r.expectedTargetViewRevision=o&&o.revision,r.targetWorkspace=te(o&&o.workspace,r.tree,r.activeSessionOriginId);var a=n&&n.workspace.panes.find(function(s){return s.kind==="session"&&s.resource.originId===r.sourceSessionOriginId}),l=r.targetWorkspace.panes.find(function(s){return s.kind==="session"&&s.resource.originId===r.sourceSessionOriginId});if(a&&l){var f=Object.create(null);r.targetWorkspace.panes.forEach(function(s){f[s.instanceId]=s===l?a.instanceId:s.instanceId}),r.targetWorkspace.tree=P(r.targetWorkspace.tree,f),r.targetWorkspace.activePaneId===l.instanceId&&(r.targetWorkspace.activePaneId=a.instanceId),l.instanceId=a.instanceId}r.tree=re(r.targetWorkspace),r.active=!0}return r}function R(){document.dispatchEvent(new CustomEvent("clay-workspace-changed"))}var U=null;function B(){U||(U=requestAnimationFrame(function(){U=null,lucide.createIcons()}))}function T(e,r){return r?'<span class="'+r+'"><i data-lucide="'+e+'"></i></span>':'<i data-lucide="'+e+'"></i>'}function oe(e,r,i){var t=w[r];if(!t||!i)return;function n(o,a,l,f){var s=i.querySelector(a);if(!s){s=document.createElement("button"),s.type="button",s.setAttribute("aria-label",l),s.setAttribute("data-tip",l),s.setAttribute("aria-pressed",String(o==="wide"&&!!((u.get("workbenchWindowStates")||{})[r]||{}).wide)),s.innerHTML=T(f);var d=i.querySelector('button[aria-label^="Close"]');i.insertBefore(s,d||null),s.addEventListener("click",function(){if(o==="fullscreen")e.classList.toggle("panel-fullscreen");else{var c=u.get("workbenchWindowStates")||{},g=c[r]||{},b=!g.wide;u.set({workbenchWindowStates:Object.assign({},c,{[r]:Object.assign({},g,{wide:b})})}),s.setAttribute("aria-pressed",String(b))}})}return s.dataset.workbenchWindow=o,s}n("wide",'button[aria-label^="Widen"]',"Widen "+t.label,"chevrons-left-right"),n("fullscreen",'button[aria-label*="fullscreen"]',"Toggle "+t.label+" fullscreen","maximize-2"),K(e,i)}function K(e,r){var i=e.classList.contains("panel-fullscreen"),t=r.querySelector('[data-workbench-window="fullscreen"]');t&&t.setAttribute("aria-pressed",String(i))}function he(e){return e.presentation||{focusedSessionOriginId:null,expandedPaneId:null}}function Ve(e){var r=u.get("projectSplitViewFocusedOrigin")||null,i=u.get("savedViewExpandedOwner"),t=e.panes.find(function(n){return n.open&&n.kind!=="session"&&I(n)===i});e.presentation={focusedSessionOriginId:e.panes.some(function(n){return n.kind==="session"&&n.resource.originId===r})?r:null,expandedPaneId:t?t.instanceId:null}}function ae(e,r){u.get("savedWorkspaceApplying")||!r&&u.get("savedViewExpandedOwner")!==e||(u.set({savedViewExpandedOwner:r?e:null}),R())}async function De(e,r){var i=await Promise.all([import("./chunk-TMUCEZ7C.js"),import("./chunk-KB4T5B2R.js"),import("./chunk-VCNLKOVT.js"),import("./chunk-HWLBH6AL.js")]),t=L();if(!u.get("connected")||u.get("savedWorkspaceLeaving")||ie(t)!==r||t.revision!==e.revision)return!1;var n=u.get("savedWorkspaceRuntime");n&&n.key===r&&(n.presentationApplied=!0);var o=he(e.workspace),a=e.workspace.panes.find(function(l){return l.instanceId===o.expandedPaneId&&l.open});u.set({savedWorkspaceApplying:!0});try{u.set({projectSplitViewFocusedOrigin:o.focusedSessionOriginId,savedViewExpandedOwner:a?I(a):null}),i[0].setTerminalExpanded(!!a&&a.kind==="terminal"),i[1].setBrowserExpanded(!!a&&a.kind==="browser"),Object.keys(i[2].filePaneStates()).forEach(function(l){i[2].filePaneState(l)&&(i[2].updateFilePaneState(l,{expanded:!!a&&a.instanceId===l}),i[2].repaintFilePane(l))}),Object.keys(w).forEach(function(l){X(l,!!a&&a.kind==="workbench"&&a.resource.name===l)}),i[3].renderPresentationSplitView()}finally{u.set({savedWorkspaceApplying:!1})}return!0}var q={terminal:{id:"terminal-container",label:"Terminal",icon:"terminal"},browser:{id:"shared-browser-panel",label:"Browser",icon:"globe"},"file-viewer":{id:"file-viewer",label:"Files",icon:"file-text"}};Object.assign(q,w);function le(e){return"tool-"+e}function F(e){return/^tool-file-[A-Za-z0-9_-]+$/.test(e)||Object.keys(q).some(function(r){return le(r)===e})}function pe(e,r,i,t,n){if(r===i)return e;if(t==="center"&&F(r)&&F(i))return ee(e,r,i).tree;t=t==="center"?"right":t;var o=C(e,r),a=!1;function l(s){if(!s)return s;if(s.id){if(s.id!==i)return s;a=!0;var d=Y(i,r,t);return d.ratio=n||.5,d}return{axis:s.axis,ratio:s.ratio,left:l(s.left),right:l(s.right)}}var f=l(o);return a&&p(f).length<=24?f:e}function be(e,r){var i=e;return p(e).forEach(function(t){r.indexOf(t)<0&&(i=C(i,t))}),i}function G(e,r){if(!(!e||e.id)){var i=p(e.left),t=p(e.right);e.left.id&&F(e.left.id)?r.push({id:e.left.id,target:t[0],side:e.axis==="horizontal"?"left":"top",ratio:e.ratio}):e.right.id&&F(e.right.id)&&r.push({id:e.right.id,target:i[0],side:e.axis==="horizontal"?"right":"bottom",ratio:e.ratio}),G(e.left,r),G(e.right,r)}}function Ke(e,r,i){var t=p(e),n=i.map(le),o=t.concat(n),a=e;if(r&&r.tree&&JSON.stringify(r.base)===JSON.stringify(e))a=be(r.tree,o);else if(r&&r.tree){var l=[];G(r.tree,l),l.reverse().forEach(function(f){n.indexOf(f.id)>=0&&p(a).indexOf(f.target)>=0&&(a=pe(a,f.id,f.target,f.side,f.ratio))})}return n.forEach(function(f){p(a).indexOf(f)<0&&(a=a?{axis:"horizontal",ratio:.66,left:a,right:{id:f}}:{id:f})}),a}function ve(e,r){if(r==="terminal"){var i=u.snap(),t=(i.projectsHubList||[]).find(function(l){return l&&l.slug===i.currentSlug}),n=t&&(t.title||t.project||t.name)||i.projectName||i.currentSlug;return n?n+" \xB7 Terminal":"Terminal"}if(r==="file-viewer"){var o=e.querySelector(".file-viewer-tab.active .file-viewer-tab-label");return o&&o.textContent||"Files"}var a=u.get("sharedBrowser");try{return a&&a.url?new URL(a.url).hostname:"Browser"}catch{return"Browser"}}function J(e,r){if(e.dataset.fileInstance)return;if(w[r]){we(e,r);return}var i=q[r];if(!i)return;var t=e.querySelector(":scope > .tool-pane-header");if(!t){var n=e.querySelector(r==="terminal"?".terminal-header":r==="browser"?".shared-browser-header":".file-viewer-tabbar");if(!n)return;t=document.createElement("header"),t.className="tool-pane-header split-pane-header",t.dataset.toolPane=r;var o=document.createElement("span");o.className="tool-pane-kind"+(r==="terminal"?"":" split-view-runtime"),o.innerHTML=T(i.icon)+(r==="terminal"?"":'<span class="split-view-model">'+i.label+"</span>");var a=document.createElement("span");a.className="tool-pane-title split-pane-title";var l=document.createElement("span");l.className="split-pane-drag-space",l.title="Drag to rearrange panes",l.setAttribute("aria-hidden","true");var f=n.querySelector(".terminal-header-actions, .shared-browser-window, .file-viewer-window-actions");if(t.append(o,a,l),f&&t.appendChild(f),e.insertBefore(t,e.firstChild),r==="browser"){t.classList.add("browser-pane-header");var s=e.querySelector(".shared-browser-tabs");s&&t.insertBefore(s,l),o.setAttribute("aria-label","Browser"),o.setAttribute("data-tip","Browser"),n.hidden=!0;var d=t.querySelector('[data-action="hide"]');d&&(d.title="Close browser pane",d.setAttribute("aria-label","Close browser pane"))}else n.classList.add("tool-pane-tab-row");var c=new MutationObserver(function(){g()});c.observe(e,{childList:!0,characterData:!0,subtree:!0,attributes:!0,attributeFilter:["aria-selected"]}),e.addEventListener("clay-tool-pane-dispose",function(){c.disconnect()},{once:!0}),B()}function g(){var b=ve(e,r),v=t.querySelector(".tool-pane-title");v.textContent!==b&&(v.textContent=b,v.title=b)}g()}u.subscribe(function(e,r){if(!(e.projectName===r.projectName&&e.projectsHubList===r.projectsHubList&&e.currentSlug===r.currentSlug)){var i=document.getElementById("terminal-container");i&&i.querySelector(":scope > .tool-pane-header")&&J(i,"terminal")}});function we(e,r){e.classList.add("workbench-pane-shell");var i=e.querySelector(":scope > header");if(!(!i||i.dataset.toolPane===r)){i.dataset.toolPane=r,i.classList.add("tool-pane-header","split-pane-header");var t=i.querySelector('[class*="window-actions"], :scope > div:last-child');t||(t=document.createElement("div"),Array.from(i.querySelectorAll(":scope > button")).forEach(function(f){var s=f.getAttribute("aria-label")||"";/^(Widen|Close)|fullscreen/i.test(s)&&t.appendChild(f)}),i.appendChild(t)),t.classList.add("workbench-pane-actions"),oe(e,r,t);var n=i.querySelector('strong, [class$="-title"]');n&&n.classList.add("tool-pane-title");var o=document.createElement("span");o.className="split-pane-drag-space",o.title="Drag to rearrange panes",o.setAttribute("aria-hidden","true"),i.insertBefore(o,t);var a=e.classList.contains("panel-fullscreen"),l=new MutationObserver(function(){K(e,t);var f=e.classList.contains("panel-fullscreen");f!==a&&(a=f,ae(r,f))});l.observe(e,{attributes:!0,attributeFilter:["class"]}),e.addEventListener("clay-tool-pane-dispose",function(){l.disconnect()},{once:!0})}}function M(e,r,i){var t=document.createElement("div");if(t.className="toast",r&&t.classList.add("toast-"+r),t.textContent=e,i){var n=document.createElement("div");n.style.cssText="font-size:11px;opacity:0.7;margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap",n.textContent=i.split(`
1
+ import{b as u}from"./chunk-VZ2OKDAO.js";var w={"project-logs":{id:"project-logs-panel",label:"Logs",icon:"notebook-text",open:"openProjectLogs",load:function(){return import("./chunk-6ZF2FJT3.js")}},you:{id:"you-panel",label:"Me",icon:"user",open:"openYou",load:function(){return import("./chunk-UTLQWAKG.js")}},issues:{id:"issues-panel",label:"Issues",icon:"circle-dot",open:"openIssues",load:function(){return import("./chunk-WE4NWXNK.js")}},linear:{id:"linear-panel",label:"Linear",icon:"list-todo",open:"openLinear",load:function(){return import("./chunk-H6MU72QE.js")}},"notes-browser":{id:"notes-browser",label:"Sticky Notes",icon:"sticky-note",open:"openNotesBrowser",load:function(){return import("./chunk-Z2MHS43B.js")}},"scheduled-tasks":{id:"scheduled-tasks-panel",label:"Scheduled Tasks",icon:"calendar-clock",open:"openScheduledTasks",load:function(){return import("./chunk-A7OB7HQS.js")}},debates:{id:"debates-workbench",label:"Debates",icon:"messages-square",open:"openDebatesWorkbench",load:function(){return import("./chunk-6KO36HMU.js")}},"mcp-skills":{id:"mcp-skills-workbench",label:"MCP / Skills",icon:"blocks",open:"openMcpSkillsWorkbench",load:function(){return import("./chunk-ADGKPVFD.js")}},"mate-knowledge":{id:"mate-knowledge-workbench",label:"Knowledge",icon:"book-open",open:"openKnowledgeWorkbench",load:function(){return import("./chunk-DJ5WXQKT.js")}},wireframe:{id:"wireframe-panel",label:"Sketch",icon:"panels-top-left",open:"restoreWireframeWorkbench",load:function(){return import("./chunk-Q7RFSS5Q.js")}}};function X(e,r){var i=w[e],t=i&&document.getElementById(i.id);if(!(!t||t.classList.contains("panel-fullscreen")===r)){var n=t.querySelector('header button[aria-label*="fullscreen"], header button[title*="fullscreen"]');n?n.click():t.classList.toggle("panel-fullscreen",r)}}var N=8,H=.05,_=.95,ue=["balanced","columns","rows","grid","main-left","main-right"];function p(e){return!e||typeof e!="object"?[]:Object.prototype.hasOwnProperty.call(e,"id")?[e.id]:p(e.left).concat(p(e.right))}function ye(e,r){var i=p(e),t=!0;function n(o,a){return!o||typeof o!="object"||a>N?!1:Object.prototype.hasOwnProperty.call(o,"id")?Object.keys(o).length===1&&W(o.id):Object.keys(o).sort().join(",")!=="axis,left,ratio,right"||["horizontal","vertical"].indexOf(o.axis)===-1||typeof o.ratio!="number"||!Number.isFinite(o.ratio)||o.ratio<H||o.ratio>_?!1:n(o.left,a+1)&&n(o.right,a+1)}return t=(e===null||n(e,0))&&i.length>=0&&i.length<=N&&new Set(i).size===i.length,t&&r&&(t=Array.isArray(r)&&r.length===i.length&&r.every(function(o){return i.indexOf(o)!==-1})),{ok:t,ids:i}}function W(e){return typeof e=="string"&&e.length>0&&e.length<=128&&/^[A-Za-z0-9_-]+$/.test(e)}function h(e){return{id:e}}function Y(e,r,i){if(!W(e)||!W(r)||["left","right","top","bottom"].indexOf(i)===-1||e===r)throw new TypeError("Pair layout requires two distinct session origins and a valid position");var t=i==="left"||i==="top";return{axis:i==="top"||i==="bottom"?"vertical":"horizontal",ratio:.5,left:h(t?r:e),right:h(t?e:r)}}function S(e,r){return e.length===1?h(e[0]):{axis:r,ratio:1/e.length,left:h(e[0]),right:S(e.slice(1),r)}}function A(e){if(e.length<=2)return S(e,"horizontal");var r=Math.ceil(e.length/2);return{axis:"vertical",ratio:r/e.length,left:S(e.slice(0,r),"horizontal"),right:S(e.slice(r),"horizontal")}}function Q(e,r){if(!Array.isArray(e)||e.length>N||e.some(function(t){return!W(t)})||new Set(e).size!==e.length)throw new TypeError("Preset input must contain zero to eight unique session origins");if(ue.indexOf(r)===-1)throw new TypeError("Unknown Split view preset");if(!e.length)return null;if(e.length===1)return h(e[0]);if(r==="columns")return S(e,"horizontal");if(r==="rows")return S(e,"vertical");if(r==="grid")return A(e);if(r==="main-left"||r==="main-right"){var i=e.length===2?.5:.6666666666666666;return r==="main-left"?{axis:"horizontal",ratio:i,left:h(e[0]),right:A(e.slice(1))}:{axis:"horizontal",ratio:1-i,left:A(e.slice(1)),right:h(e[0])}}return e.length<=3?{axis:"horizontal",ratio:.55,left:h(e[0]),right:S(e.slice(1),"vertical")}:A(e)}function C(e,r){if(!e||typeof e!="object")return e;if(Object.prototype.hasOwnProperty.call(e,"id"))return e.id===r?null:e;var i=C(e.left,r),t=C(e.right,r);return i?t?i===e.left&&t===e.right?e:{axis:e.axis,ratio:e.ratio,left:i,right:t}:i:t}function D(e,r,i,t,n){if(!e||typeof e!="object")return{tree:e,found:!1};if(Object.prototype.hasOwnProperty.call(e,"id")){if(e.id!==i)return{tree:e,found:!1};var o=t==="left"||t==="right",a=t==="left"||t==="top",l={axis:o?"horizontal":"vertical",ratio:a?n:1-n,left:a?h(r):e,right:a?e:h(r)};return{tree:l,found:!0}}var f=D(e.left,r,i,t,n);if(f.found)return{tree:{axis:e.axis,ratio:e.ratio,left:f.tree,right:e.right},found:!0};var s=D(e.right,r,i,t,n);return s.found?{tree:{axis:e.axis,ratio:e.ratio,left:e.left,right:s.tree},found:!0}:{tree:e,found:!1}}function Oe(e,r,i,t,n){var o=["left","right","top","bottom"],a=n===void 0?.5:n;if(!W(r)||!W(i))return{ok:!1,tree:e,reason:"invalid-id"};if(o.indexOf(t)===-1)return{ok:!1,tree:e,reason:"invalid-position"};if(typeof a!="number"||!Number.isFinite(a)||a<H||a>_)return{ok:!1,tree:e,reason:"invalid-share"};if(r===i)return{ok:!0,tree:e,changed:!1};if(!e)return{ok:!1,tree:e,reason:"unknown-target"};var l=p(e);if(l.indexOf(i)===-1)return{ok:!1,tree:e,reason:"unknown-target"};var f=l.indexOf(r)!==-1;if(!f&&l.length>=N)return{ok:!1,tree:e,reason:"limit"};var s=f?C(e,r):e,d=D(s,r,i,t,a);return d.found?{ok:!0,tree:d.tree,changed:!0}:{ok:!1,tree:e,reason:"unknown-target"}}function ee(e,r,i){var t=p(e);if(r===i)return{ok:t.indexOf(r)!==-1,tree:e,changed:!1,reason:t.indexOf(r)===-1?"unknown-id":null};if(t.indexOf(r)===-1||t.indexOf(i)===-1)return{ok:!1,tree:e,changed:!1,reason:"unknown-id"};function n(o){return Object.prototype.hasOwnProperty.call(o,"id")?h(o.id===r?i:o.id===i?r:o.id):{axis:o.axis,ratio:o.ratio,left:n(o.left),right:n(o.right)}}return{ok:!0,tree:n(e),changed:!0}}function Se(e,r,i){if(typeof i!="number"||!Number.isFinite(i)||i<H||i>_||!Array.isArray(r))return null;function t(n,o){if(!n||Object.prototype.hasOwnProperty.call(n,"id"))return null;if(o===r.length)return{axis:n.axis,ratio:i,left:n.left,right:n.right};var a=r[o];if(a!=="left"&&a!=="right")return null;var l=t(n[a],o+1);return l?{axis:n.axis,ratio:n.ratio,left:a==="left"?l:n.left,right:a==="right"?l:n.right}:null}return t(e,0)}function We(e,r,i){var t=["left","right","top","bottom","top-left","top-right","bottom-left","bottom-right","left-third","right-third"];if(t.indexOf(i)===-1)return{ok:!1,tree:e,reason:"invalid-position"};var n=p(e),o=n.filter(function(x){return x!==r});if(!W(r)||n.indexOf(r)===-1)return{ok:!1,tree:e,reason:"unknown-source"};if(!o.length)return{ok:!1,tree:e,reason:"insufficient-windows"};var a=Q(o,"balanced");if(i==="left-third"||i==="right-third"){var l=i==="left-third";return{ok:!0,tree:l?{axis:"horizontal",ratio:1/3,left:h(r),right:a}:{axis:"horizontal",ratio:2/3,left:a,right:h(r)}}}if(i.indexOf("-")!==-1){if(o.length<2)return{ok:!1,tree:e,reason:"quarter-requires-three"};var f=i.indexOf("top-")===0,s=i.slice(-4)==="left",d=o[0],c=Q(o.slice(1),"balanced"),g=f?{axis:"vertical",ratio:.5,left:h(r),right:h(d)}:{axis:"vertical",ratio:.5,left:h(d),right:h(r)};return{ok:!0,tree:s?{axis:"horizontal",ratio:.5,left:g,right:c}:{axis:"horizontal",ratio:.5,left:c,right:g}}}var b=i==="left"||i==="right",v=i==="left"||i==="top";return{ok:!0,tree:{axis:b?"horizontal":"vertical",ratio:.5,left:v?h(r):a,right:v?a:h(r)}}}function Pe(e,r,i,t){var n={},o=[],a=Number.isFinite(t)&&t>=0?t:7;function l(f,s,d){if(f){if(Object.prototype.hasOwnProperty.call(f,"id")){n[f.id]=s;return}var c=f.axis==="horizontal",g=Math.max(0,(c?s.width:s.height)-a),b=g*f.ratio,v=c?s.x+b:s.y+b,x=c?{x:v,y:s.y,width:a,height:s.height}:{x:s.x,y:v,width:s.width,height:a};o.push({path:d.slice(),axis:f.axis,rect:x,branchRect:s,ratio:f.ratio,available:g});var j=c?{x:s.x,y:s.y,width:b,height:s.height}:{x:s.x,y:s.y,width:s.width,height:b},m=c?{x:v+a,y:s.y,width:g-b,height:s.height}:{x:s.x,y:v+a,width:s.width,height:g-b};l(f.left,j,d.concat("left")),l(f.right,m,d.concat("right"))}}return l(e,{x:0,y:0,width:r,height:i},[]),{panes:n,dividers:o}}function L(){return(u.get("projectSplitViews")||[]).find(function(e){return e.id===u.get("projectSplitViewActiveId")})||null}function ie(e){return e&&JSON.stringify([u.get("myUserId")||null,u.get("currentSlug"),u.get("currentProjectOwnerId"),u.get("projectSplitViewSocketGeneration"),e.id])}function fe(e){return JSON.parse(JSON.stringify(e))}function P(e,r){if(!e)return null;if(e.id)return r[e.id]?{id:r[e.id]}:null;var i=P(e.left,r),t=P(e.right,r);return i?t?{axis:e.axis,ratio:e.ratio,left:i,right:t}:i:t}function I(e){return e.kind==="workbench"?e.resource.name:e.kind==="file"?"file-"+e.instanceId:e.kind}function ge(e){var r=Object.create(null);return e.panes.forEach(function(i){r[i.instanceId]=i.kind==="session"?i.resource.originId:"tool-"+I(i)}),P(e.tree,r)}function re(e){var r=Object.create(null);return e.panes.forEach(function(i){i.kind==="session"&&(r[i.instanceId]=i.resource.originId)}),P(e.tree,r)}function de(e,r){var i=Object.create(null);return e.panes.forEach(function(t){i[t.kind==="session"?t.resource.originId:"tool-"+I(t)]=t.instanceId}),P(r,i)}function Te(e,r){var i=r.instanceId,t=ne(),n=Object.create(null);e.panes.forEach(function(o){n[o.instanceId]=o.instanceId===i?t:o.instanceId}),e.tree=P(e.tree,n),e.activePaneId===i&&(e.activePaneId=t),r.instanceId=t}function ne(){return"pane-"+crypto.randomUUID()}function te(e,r,i){var t=fe(e||{version:1,panes:[],tree:null,activePaneId:null}),n=p(r),o=ge(t);t.panes=t.panes.filter(function(c){return c.kind!=="session"||n.indexOf(c.resource.originId)>=0}),n.forEach(function(c){t.panes.some(function(g){return g.kind==="session"&&g.resource.originId===c})||t.panes.push({instanceId:ne(),kind:"session",open:!0,placement:"docked",resource:{originId:c}})}),t.linkedPair&&(n.indexOf(t.linkedPair.driverOriginId)<0||n.length+t.linkedPair.workerOrigins.length>8)&&delete t.linkedPair;var a=[];function l(c){!c||c.id||(c.left.id&&c.left.id.indexOf("tool-")===0?a.push({id:c.left.id,target:p(c.right)[0],axis:c.axis,ratio:c.ratio,before:!0}):c.right.id&&c.right.id.indexOf("tool-")===0&&a.push({id:c.right.id,target:p(c.left)[0],axis:c.axis,ratio:c.ratio,before:!1}),l(c.left),l(c.right))}l(o);var f=r;function s(c,g){return c&&(c.id?c.id===g.target?{axis:g.axis,ratio:g.ratio,left:g.before?{id:g.id}:c,right:g.before?c:{id:g.id}}:c:{axis:c.axis,ratio:c.ratio,left:s(c.left,g),right:s(c.right,g)})}a.reverse().forEach(function(c){f=s(f,c)}),t.panes.filter(function(c){return c.kind!=="session"&&c.open&&c.placement==="docked"}).forEach(function(c){var g="tool-"+I(c);p(f).indexOf(g)<0&&(f=f?{axis:"horizontal",ratio:.66,left:f,right:{id:g}}:{id:g})}),t.tree=de(t,f);var d=t.panes.find(function(c){return c.kind==="session"&&c.resource.originId===i})||t.panes.find(function(c){return c.open});return t.activePaneId=d?d.instanceId:null,t.presentation&&(n.indexOf(t.presentation.focusedSessionOriginId)<0&&(t.presentation.focusedSessionOriginId=null),t.panes.some(function(c){return c.open&&c.instanceId===t.presentation.expandedPaneId})||(t.presentation.expandedPaneId=null)),t}function je(e,r){var i=u.snap(),t=i.projectSplitViews||[],n=t.find(function(s){return s.id===(r.id||r.sourceViewId)});if(r.accountId=i.myUserId||null,r.projectSlug=i.currentSlug,n&&(r.expectedViewRevision=n.revision),(e==="project_split_view_create"||e==="project_split_view_update")&&(r.workspace||(r.workspace=te(n&&n.workspace,r.tree,r.activeSessionOriginId)),r.tree=re(r.workspace),r.active=!0),e==="project_split_view_move"){var o=t.find(function(s){return s.id===r.targetViewId});r.expectedTargetViewRevision=o&&o.revision,r.targetWorkspace=te(o&&o.workspace,r.tree,r.activeSessionOriginId);var a=n&&n.workspace.panes.find(function(s){return s.kind==="session"&&s.resource.originId===r.sourceSessionOriginId}),l=r.targetWorkspace.panes.find(function(s){return s.kind==="session"&&s.resource.originId===r.sourceSessionOriginId});if(a&&l){var f=Object.create(null);r.targetWorkspace.panes.forEach(function(s){f[s.instanceId]=s===l?a.instanceId:s.instanceId}),r.targetWorkspace.tree=P(r.targetWorkspace.tree,f),r.targetWorkspace.activePaneId===l.instanceId&&(r.targetWorkspace.activePaneId=a.instanceId),l.instanceId=a.instanceId}r.tree=re(r.targetWorkspace),r.active=!0}return r}function R(){document.dispatchEvent(new CustomEvent("clay-workspace-changed"))}var U=null;function B(){U||(U=requestAnimationFrame(function(){U=null,lucide.createIcons()}))}function T(e,r){return r?'<span class="'+r+'"><i data-lucide="'+e+'"></i></span>':'<i data-lucide="'+e+'"></i>'}function oe(e,r,i){var t=w[r];if(!t||!i)return;function n(o,a,l,f){var s=i.querySelector(a);if(!s){s=document.createElement("button"),s.type="button",s.setAttribute("aria-label",l),s.setAttribute("data-tip",l),s.setAttribute("aria-pressed",String(o==="wide"&&!!((u.get("workbenchWindowStates")||{})[r]||{}).wide)),s.innerHTML=T(f);var d=i.querySelector('button[aria-label^="Close"]');i.insertBefore(s,d||null),s.addEventListener("click",function(){if(o==="fullscreen")e.classList.toggle("panel-fullscreen");else{var c=u.get("workbenchWindowStates")||{},g=c[r]||{},b=!g.wide;u.set({workbenchWindowStates:Object.assign({},c,{[r]:Object.assign({},g,{wide:b})})}),s.setAttribute("aria-pressed",String(b))}})}return s.dataset.workbenchWindow=o,s}n("wide",'button[aria-label^="Widen"]',"Widen "+t.label,"chevrons-left-right"),n("fullscreen",'button[aria-label*="fullscreen"]',"Toggle "+t.label+" fullscreen","maximize-2"),K(e,i)}function K(e,r){var i=e.classList.contains("panel-fullscreen"),t=r.querySelector('[data-workbench-window="fullscreen"]');t&&t.setAttribute("aria-pressed",String(i))}function he(e){return e.presentation||{focusedSessionOriginId:null,expandedPaneId:null}}function Ve(e){var r=u.get("projectSplitViewFocusedOrigin")||null,i=u.get("savedViewExpandedOwner"),t=e.panes.find(function(n){return n.open&&n.kind!=="session"&&I(n)===i});e.presentation={focusedSessionOriginId:e.panes.some(function(n){return n.kind==="session"&&n.resource.originId===r})?r:null,expandedPaneId:t?t.instanceId:null}}function ae(e,r){u.get("savedWorkspaceApplying")||!r&&u.get("savedViewExpandedOwner")!==e||(u.set({savedViewExpandedOwner:r?e:null}),R())}async function De(e,r){var i=await Promise.all([import("./chunk-YWHBNEB2.js"),import("./chunk-ELL4UBGY.js"),import("./chunk-OB3KKICE.js"),import("./chunk-3E6LDNXF.js")]),t=L();if(!u.get("connected")||u.get("savedWorkspaceLeaving")||ie(t)!==r||t.revision!==e.revision)return!1;var n=u.get("savedWorkspaceRuntime");n&&n.key===r&&(n.presentationApplied=!0);var o=he(e.workspace),a=e.workspace.panes.find(function(l){return l.instanceId===o.expandedPaneId&&l.open});u.set({savedWorkspaceApplying:!0});try{u.set({projectSplitViewFocusedOrigin:o.focusedSessionOriginId,savedViewExpandedOwner:a?I(a):null}),i[0].setTerminalExpanded(!!a&&a.kind==="terminal"),i[1].setBrowserExpanded(!!a&&a.kind==="browser"),Object.keys(i[2].filePaneStates()).forEach(function(l){i[2].filePaneState(l)&&(i[2].updateFilePaneState(l,{expanded:!!a&&a.instanceId===l}),i[2].repaintFilePane(l))}),Object.keys(w).forEach(function(l){X(l,!!a&&a.kind==="workbench"&&a.resource.name===l)}),i[3].renderPresentationSplitView()}finally{u.set({savedWorkspaceApplying:!1})}return!0}var q={terminal:{id:"terminal-container",label:"Terminal",icon:"terminal"},browser:{id:"shared-browser-panel",label:"Browser",icon:"globe"},"file-viewer":{id:"file-viewer",label:"Files",icon:"file-text"}};Object.assign(q,w);function le(e){return"tool-"+e}function F(e){return/^tool-file-[A-Za-z0-9_-]+$/.test(e)||Object.keys(q).some(function(r){return le(r)===e})}function pe(e,r,i,t,n){if(r===i)return e;if(t==="center"&&F(r)&&F(i))return ee(e,r,i).tree;t=t==="center"?"right":t;var o=C(e,r),a=!1;function l(s){if(!s)return s;if(s.id){if(s.id!==i)return s;a=!0;var d=Y(i,r,t);return d.ratio=n||.5,d}return{axis:s.axis,ratio:s.ratio,left:l(s.left),right:l(s.right)}}var f=l(o);return a&&p(f).length<=24?f:e}function be(e,r){var i=e;return p(e).forEach(function(t){r.indexOf(t)<0&&(i=C(i,t))}),i}function G(e,r){if(!(!e||e.id)){var i=p(e.left),t=p(e.right);e.left.id&&F(e.left.id)?r.push({id:e.left.id,target:t[0],side:e.axis==="horizontal"?"left":"top",ratio:e.ratio}):e.right.id&&F(e.right.id)&&r.push({id:e.right.id,target:i[0],side:e.axis==="horizontal"?"right":"bottom",ratio:e.ratio}),G(e.left,r),G(e.right,r)}}function Ke(e,r,i){var t=p(e),n=i.map(le),o=t.concat(n),a=e;if(r&&r.tree&&JSON.stringify(r.base)===JSON.stringify(e))a=be(r.tree,o);else if(r&&r.tree){var l=[];G(r.tree,l),l.reverse().forEach(function(f){n.indexOf(f.id)>=0&&p(a).indexOf(f.target)>=0&&(a=pe(a,f.id,f.target,f.side,f.ratio))})}return n.forEach(function(f){p(a).indexOf(f)<0&&(a=a?{axis:"horizontal",ratio:.66,left:a,right:{id:f}}:{id:f})}),a}function ve(e,r){if(r==="terminal"){var i=u.snap(),t=(i.projectsHubList||[]).find(function(l){return l&&l.slug===i.currentSlug}),n=t&&(t.title||t.project||t.name)||i.projectName||i.currentSlug;return n?n+" \xB7 Terminal":"Terminal"}if(r==="file-viewer"){var o=e.querySelector(".file-viewer-tab.active .file-viewer-tab-label");return o&&o.textContent||"Files"}var a=u.get("sharedBrowser");try{return a&&a.url?new URL(a.url).hostname:"Browser"}catch{return"Browser"}}function J(e,r){if(e.dataset.fileInstance)return;if(w[r]){we(e,r);return}var i=q[r];if(!i)return;var t=e.querySelector(":scope > .tool-pane-header");if(!t){var n=e.querySelector(r==="terminal"?".terminal-header":r==="browser"?".shared-browser-header":".file-viewer-tabbar");if(!n)return;t=document.createElement("header"),t.className="tool-pane-header split-pane-header",t.dataset.toolPane=r;var o=document.createElement("span");o.className="tool-pane-kind"+(r==="terminal"?"":" split-view-runtime"),o.innerHTML=T(i.icon)+(r==="terminal"?"":'<span class="split-view-model">'+i.label+"</span>");var a=document.createElement("span");a.className="tool-pane-title split-pane-title";var l=document.createElement("span");l.className="split-pane-drag-space",l.title="Drag to rearrange panes",l.setAttribute("aria-hidden","true");var f=n.querySelector(".terminal-header-actions, .shared-browser-window, .file-viewer-window-actions");if(t.append(o,a,l),f&&t.appendChild(f),e.insertBefore(t,e.firstChild),r==="browser"){t.classList.add("browser-pane-header");var s=e.querySelector(".shared-browser-tabs");s&&t.insertBefore(s,l),o.setAttribute("aria-label","Browser"),o.setAttribute("data-tip","Browser"),n.hidden=!0;var d=t.querySelector('[data-action="hide"]');d&&(d.title="Close browser pane",d.setAttribute("aria-label","Close browser pane"))}else n.classList.add("tool-pane-tab-row");var c=new MutationObserver(function(){g()});c.observe(e,{childList:!0,characterData:!0,subtree:!0,attributes:!0,attributeFilter:["aria-selected"]}),e.addEventListener("clay-tool-pane-dispose",function(){c.disconnect()},{once:!0}),B()}function g(){var b=ve(e,r),v=t.querySelector(".tool-pane-title");v.textContent!==b&&(v.textContent=b,v.title=b)}g()}u.subscribe(function(e,r){if(!(e.projectName===r.projectName&&e.projectsHubList===r.projectsHubList&&e.currentSlug===r.currentSlug)){var i=document.getElementById("terminal-container");i&&i.querySelector(":scope > .tool-pane-header")&&J(i,"terminal")}});function we(e,r){e.classList.add("workbench-pane-shell");var i=e.querySelector(":scope > header");if(!(!i||i.dataset.toolPane===r)){i.dataset.toolPane=r,i.classList.add("tool-pane-header","split-pane-header");var t=i.querySelector('[class*="window-actions"], :scope > div:last-child');t||(t=document.createElement("div"),Array.from(i.querySelectorAll(":scope > button")).forEach(function(f){var s=f.getAttribute("aria-label")||"";/^(Widen|Close)|fullscreen/i.test(s)&&t.appendChild(f)}),i.appendChild(t)),t.classList.add("workbench-pane-actions"),oe(e,r,t);var n=i.querySelector('strong, [class$="-title"]');n&&n.classList.add("tool-pane-title");var o=document.createElement("span");o.className="split-pane-drag-space",o.title="Drag to rearrange panes",o.setAttribute("aria-hidden","true"),i.insertBefore(o,t);var a=e.classList.contains("panel-fullscreen"),l=new MutationObserver(function(){K(e,t);var f=e.classList.contains("panel-fullscreen");f!==a&&(a=f,ae(r,f))});l.observe(e,{attributes:!0,attributeFilter:["class"]}),e.addEventListener("clay-tool-pane-dispose",function(){l.disconnect()},{once:!0})}}function M(e,r,i){var t=document.createElement("div");if(t.className="toast",r&&t.classList.add("toast-"+r),t.textContent=e,i){var n=document.createElement("div");n.style.cssText="font-size:11px;opacity:0.7;margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap",n.textContent=i.split(`
2
2
  `)[0],t.appendChild(n)}document.body.appendChild(t),requestAnimationFrame(function(){t.classList.add("visible")});var o=r==="warn"?5e3:1500;setTimeout(function(){t.classList.remove("visible"),setTimeout(function(){t.remove()},300)},o)}var ke=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;function rr(e){var r;if(ke){var i=document.createElement("textarea");i.value=e,i.style.cssText="position:fixed;left:-9999px;opacity:0",document.body.appendChild(i),i.focus(),i.setSelectionRange(0,i.value.length),document.execCommand("copy"),document.body.removeChild(i),r=Promise.resolve()}else if(navigator.clipboard&&navigator.clipboard.writeText)r=navigator.clipboard.writeText(e);else{var t=document.createElement("textarea");t.value=e,t.style.cssText="position:fixed;left:-9999px;opacity:0",document.body.appendChild(t),t.focus(),t.setSelectionRange(0,t.value.length),document.execCommand("copy"),document.body.removeChild(t),r=Promise.resolve()}return r.then(function(){M("Copied to clipboard")})}function tr(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}var O={},E={terminal:"terminal-container",browser:"shared-browser-panel","file-viewer":"file-viewer"};Object.keys(w).forEach(function(e){E[e]=w[e].id});function se(){var e=u.get("myUserId"),r=u.get("currentSlug");return import("./chunk-6QFLYOVY.js").then(function(i){return e!==u.get("myUserId")||r!==u.get("currentSlug")?!1:i.ensureWorkbenchLayoutPreference()}).catch(function(){return e!==u.get("myUserId")||r!==u.get("currentSlug")||u.set({workbenchLayoutPreference:Object.assign({},u.get("workbenchLayoutPreference")||{},{loading:!1,saving:!1,error:"Workbench layout could not be loaded. Try again."})}),!1})}function y(){return u.get("rightWorkbenchDockedOwners")||[]}function z(e){return u.get("rightWorkbenchOwner")===e||y().indexOf(e)!==-1}function Z(e){var r=u.get("rightWorkbenchPanelRevisions")||{};return r[e]==null?u.get("rightWorkbenchRevision")||0:r[e]}function V(e,r,i){u.set({rightWorkbenchOwner:e,rightWorkbenchDockedOwners:r,rightWorkbenchPanelRevisions:i,rightWorkbenchRevision:(u.get("rightWorkbenchRevision")||0)+1}),R()}function $(e,r){if(z(e)){var i=y().filter(function(n){return n!==e}),t=u.get("rightWorkbenchOwner");r&&i.push(e),V(r?t:e,i,u.get("rightWorkbenchPanelRevisions")||{}),!r&&t&&t!==e&&i.indexOf(t)===-1&&O[t]&&O[t]()}}function ce(){if(!(typeof document>"u")){var e=document.getElementById("main-panels");if(e){var r=y(),i=u.get("workbenchLayoutPreference")||{};e.dataset.workbenchMode=r.length?"docked":"overlay",e.dataset.workbenchDocks=String(r.length),Object.keys(E).forEach(function(t){var n=document.getElementById(E[t]);if(n){var o=r.indexOf(t)!==-1;if(J(n,t),n.dataset.workbenchPlacement=o?"docked":"overlay",n.dataset.workbenchActive=u.get("rightWorkbenchOwner")===t?"true":"false",!!z(t)){var a=n.querySelector(":scope > .tool-pane-header, :scope > header, :scope > .file-viewer-header .file-viewer-tabbar, :scope > .terminal-header");if(a){var l=n.querySelector(".workbench-layout-toggle");if(!l){var f=a.querySelector('[class*="window-actions"], .terminal-header-actions, .shared-browser-window, .file-viewer-window-actions, .workbench-pane-actions, :scope.mcp-skills-header > div')||a;l=document.createElement("button"),l.type="button",l.className="workbench-layout-toggle",l.addEventListener("click",function(){if(L()){$(t,y().indexOf(t)<0);return}var c=u.get("workbenchLayoutPreference")||{};if(!c.ready||c.loading||c.saving){se();return}var g=u.get("myUserId"),b=u.get("currentSlug"),v=Z(t),x=y().indexOf(t)!==-1;function j(){return l.isConnected&&z(t)&&g===u.get("myUserId")&&b===u.get("currentSlug")&&v===Z(t)&&x===(y().indexOf(t)!==-1)}import("./chunk-6QFLYOVY.js").then(function(m){var k=u.get("workbenchLayoutPreference")||{};return!j()||k.mode!==c.mode||k.revision!==c.revision||k.loading||k.saving||!k.ready?!1:m.saveWorkbenchLayoutMode(x?"overlay":"docked")}).then(function(m){if(j()){var k=u.get("workbenchLayoutPreference")||{};m===!0&&k.ready&&k.mode===(x?"overlay":"docked")?$(t,!x):m===!1&&M(k.error||"Workbench layout could not be saved. Try again.","error")}}).catch(function(m){j()&&M(m.message||"Workbench layout could not be saved. Try again.","error")})});var s=f===a?a.querySelector("[data-knowledge-wide]"):f.firstElementChild;if(n.dataset.fileInstance){var d=f.querySelector('[data-action="pin"]');s=d&&d.nextSibling}f.insertBefore(l,s||null)}l.dataset.mode!==(o?"docked":"overlay")&&(l.dataset.mode=o?"docked":"overlay",l.innerHTML=T(o?"layers-2":"panel-right"),B()),l.setAttribute("aria-label",o?"Float workbench over sessions":"Dock workbench beside sessions"),l.title=i.error||l.getAttribute("aria-label"),l.setAttribute("aria-pressed",o?"true":"false"),l.disabled=L()?!1:!!i.loading||!!i.saving,l.setAttribute("aria-busy",i.loading||i.saving?"true":"false")}}}})}}}function ur(e,r,i){i&&(E[e]=i),!(!e||typeof r!="function")&&(O[e]=r)}function fr(e){delete O[e],e.indexOf("file-")===0&&e!=="file-viewer"&&delete E[e]}function gr(e){typeof document<"u"&&se();var r=u.get("rightWorkbenchOwner"),i=y().slice(),t=i.indexOf(e)!==-1&&r&&i.indexOf(r)===-1?r:e,n=(u.get("rightWorkbenchRevision")||0)+1,o=Object.assign({},u.get("rightWorkbenchPanelRevisions")||{});return Object.keys(o).forEach(function(a){a!==t&&i.indexOf(a)===-1&&delete o[a]}),o[e]=n,V(t,i,o),Object.keys(O).forEach(function(a){if(!(a===e||a===t||i.indexOf(a)!==-1))try{O[a]()}catch{}}),typeof requestAnimationFrame=="function"&&requestAnimationFrame(ce),n}function dr(e){if(z(e)){var r=y().filter(function(t){return t!==e}),i=Object.assign({},u.get("rightWorkbenchPanelRevisions")||{});delete i[e],V(u.get("rightWorkbenchOwner")===e?r[r.length-1]||null:u.get("rightWorkbenchOwner"),r,i)}}function hr(e,r){return z(e)&&Z(e)===r}function xe(){V(null,[],{}),Object.keys(O).forEach(function(e){try{O[e]()}catch{}})}u.subscribe(function(e,r){if(e.currentSlug!==r.currentSlug||e.myUserId!==r.myUserId){xe();return}(e.projectSplitViewPending!==r.projectSplitViewPending||e.workbenchLayoutPreference!==r.workbenchLayoutPreference||e.rightWorkbenchOwner!==r.rightWorkbenchOwner||e.rightWorkbenchDockedOwners!==r.rightWorkbenchDockedOwners)&&ce()});function pr(e){$(e,!0)}function br(e,r){if(r.defaultPrevented)return!1;var i=r.target,t=Object.keys(E).find(function(n){var o=document.getElementById(E[n]);return o&&i&&o.contains(i)});return(t||u.get("rightWorkbenchOwner"))===e}export{M as a,rr as b,tr as c,B as d,T as e,p as f,ye as g,Y as h,Q as i,C as j,Oe as k,ee as l,Se as m,We as n,Pe as o,L as p,ie as q,fe as r,P as s,I as t,ge as u,re as v,de as w,Te as x,ne as y,je as z,R as A,q as B,le as C,pe as D,Ke as E,Z as F,ur as G,fr as H,gr as I,dr as J,hr as K,xe as L,pr as M,br as N,w as O,Ve as P,ae as Q,De as R};
@@ -0,0 +1 @@
1
+ import{Ra as a,Sa as b,Ta as c,Ua as d,Va as e}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{c as closeYou,d as handleYouMessage,e as initYou,b as openYou,a as sendYou};
@@ -0,0 +1 @@
1
+ import{p as a,q as b,r as c,s as d,t as e,u as f}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{c as closeIssues,f as handleIssuesMessage,e as initIssues,d as openIssues,b as refreshGithubIssue,a as requestIssue};
@@ -1 +1 @@
1
- import{j as Y,l as Oe,m as D,n as X,y as Ce}from"./chunk-XI2DJM4H.js";import{a as q}from"./chunk-R7QVVFUG.js";import{G as Ae,I as Z,J as be,Q as me,a as z,c as Le,d as R,e as v}from"./chunk-E6NRPGVH.js";import{b as n}from"./chunk-VZ2OKDAO.js";function M(){return n.get("paneBrowserSource")||null}function $(){var e=n.get("projectSplitViewFocusedOrigin")||n.get("projectSplitViewSingletonOrigin");if(e)return e;var r=(n.get("projectSplitViews")||[]).find(function(t){return t.id===n.get("projectSplitViewActiveId")});return r&&r.activeSessionOriginId||n.get("sessionOriginId")||null}var Te=null,ee=null,ye={state_request:[],open:["url","newTab","incognito"],view:["browserId","visible"],control:["browserId","control"],close:["browserId"],end:["browserId"],input:["browserId","epoch","event"]};function re(){return Array.from(document.querySelectorAll("#split-host .split-pane:not(.split-pane-cached) .split-pane-frame"))}function Se(){return!n.get("paneMode")&&re().some(function(e){return!!e.clayPane||!!Oe(n.snap(),n.get("paneBindingSessions")||[],Number(e.dataset.sessionId))})}function P(){var e=M();if(!e||e.socket!==q()||e.owner!==n.get("myUserId")||e.project!==n.get("currentSlug"))return!1;var r=e.frame;return re().includes(r)&&r.contentWindow===e.window&&r.contentDocument===e.document&&!r.dataset.requestedSessionId&&D(r,{paneBinding:e.binding})}function Be(){return P()?M().binding.sessionId:null}function ae(){var e=M();return P()?e.binding.requestId+":"+e.binding.generation:null}function Pe(){return!!M()}function ie(e,r){var t=M();if(!e||!r||!re().includes(e)||e.dataset.requestedSessionId||!D(e,{paneBinding:r}))return!1;if(P()&&t.frame===e&&Y(t.binding,r))return t.focusedOrigin!==$()&&n.set({paneBrowserSource:Object.assign({},t,{focusedOrigin:$()})}),!0;var o=n.get("sharedBrowser");return P()&&o&&de("view",{browserId:o.id,visible:!1}),n.set({paneBrowserSource:{frame:e,window:e.contentWindow,document:e.contentDocument,binding:r,socket:q(),owner:n.get("myUserId"),project:n.get("currentSlug"),focusedOrigin:$()},paneBrowserTarget:r}),ee&&ee(!0),!0}function F(){if(P()&&M().focusedOrigin===$())return!0;var e=re(),r=$(),t=e.find(function(a){return r&&a.dataset.sessionOriginId===r})||e.find(function(a){var s=a.closest(".split-pane");return s&&s.dataset.active==="true"})||e[0],o=t&&t.clayPane&&t.clayPane.identity();return!!o&&ie(t,o.binding)}function de(e,r){var t=M();return Object.prototype.hasOwnProperty.call(ye,e)?!t&&!Se()?null:!P()||!t.frame.clayPane||typeof t.frame.clayPane.browserCommand!="function"?!1:t.frame.clayPane.browserCommand(e,r||{},t.binding):!1}function gr(e,r,t){var o=Object.prototype.hasOwnProperty.call(ye,e)&&ye[e],a=q();if(!o||!a||a.readyState!==1||!Y(t,X())||!n.get("connected")||n.get("panePendingBinding")||n.get("activeSessionId")!==t.sessionId)return!1;var s={type:"shared_browser_"+e,sessionId:t.sessionId,paneBinding:t};return o.forEach(function(i){Object.prototype.hasOwnProperty.call(r,i)&&(s[i]=r[i])}),a.send(JSON.stringify(s)),!0}function Me(e){var r=window.frameElement;if(!n.get("paneMode")||!r||!r.clayPane||["shared_browser_state","shared_browser_frame","shared_browser_error"].indexOf(e.type)<0)return!1;var t=X();return t&&Y(t,e.paneActivation)&&window.parent.postMessage({type:"clay-pane-browser-update",paneBinding:t,message:e},location.origin),!0}function He(e,r){n.get("paneMode")||(Te=e,ee=r,window.addEventListener("message",function(t){var o=t.data;if(!(t.origin!==location.origin||!o||o.type!=="clay-pane-browser-update"||!o.message)){var a=re().find(function(d){return d.contentWindow===t.source}),s=o.message,i=M();!a||!D(a,o)||!Y(o.paneBinding,s.paneActivation)||s.sessionId!==o.paneBinding.sessionId||["shared_browser_state","shared_browser_frame","shared_browser_error"].indexOf(s.type)<0||(!P()||i.frame!==a||!Y(i.binding,o.paneBinding))&&(s.type!=="shared_browser_state"||!s.present||!ie(a,o.paneBinding))||Te(s,!0)}}),document.addEventListener("clay-pane-ready",function(){queueMicrotask(function(){!P()&&F()&&de("state_request",{})})},!0),n.subscribe(function(){var t=M();t&&!P()&&(n.set({paneBrowserSource:null,paneBrowserTarget:null}),ee&&ee(!1))}))}function Ue(e){return!n.get("paneMode")||window.parent===window?!1:(window.parent.postMessage({type:"clay-pane-open-browser",paneBinding:X(),url:e,projectSlug:n.get("currentSlug"),sessionId:String(n.get("activeSessionId"))},window.location.origin),!0)}function Sr(e,r){if(!e||e.origin!==window.location.origin||!r||!e.data||e.data.type!=="clay-pane-open-browser")return!1;var t=e.data,o=Object.assign({},n.snap()),a=Array.from(r.querySelectorAll(".split-pane-frame")).find(function(p){return p.contentWindow===e.source}),s=a&&a.clayPane?{slug:a.dataset.projectSlug,sessionId:a.dataset.sessionId}:a&&o.splitPanes&&o.splitPanes.panes&&o.splitPanes.panes.find(function(p){return String(p.slug)===a.dataset.projectSlug&&String(p.sessionId)===a.dataset.sessionId});if(!o.connected||!s||t.projectSlug!==o.currentSlug||t.projectSlug!==a.dataset.projectSlug||String(t.sessionId)!==a.dataset.sessionId)return!0;var i=new URL("/p/"+encodeURIComponent(s.slug)+"/?pane=1&session="+encodeURIComponent(s.sessionId),window.location.href).href;if(a.clayPane?!D(a,t):a.src!==i)return!0;var d=a.clayPane&&a.clayPane.identity().binding,c=a.contentDocument;function u(){var p=n.snap();return!p.connected||p.currentSlug!==o.currentSlug||p.myUserId!==o.myUserId||p.currentProjectOwnerId!==o.currentProjectOwnerId||p.projectSplitViewSocketGeneration!==o.projectSplitViewSocketGeneration||a.contentWindow!==e.source||a.contentDocument!==c||a.dataset.projectSlug!==t.projectSlug||String(a.dataset.sessionId)!==String(t.sessionId)||!Array.from(r.querySelectorAll(".split-pane-frame")).includes(a)?!1:d?!!a.clayPane&&D(a,t)&&a.clayPane.identity().binding===d:a.src===i&&!!(p.splitPanes&&p.splitPanes.panes.some(function(I){return String(I.slug)===s.slug&&String(I.sessionId)===String(s.sessionId)}))}return import("./chunk-KB4T5B2R.js").then(function(p){!u()||d&&!ie(a,d)||p.openSharedBrowserAt(t.url)}).catch(function(p){z(p.message||"Could not open the browser.","warn")}),!0}function te(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function le(e){if(typeof e!="string"||!e.startsWith("browser:")||e.length>8200)return null;var r=e.slice(8);if(!/^https?:\/\//i.test(r)||/[\u0000-\u0020]/.test(r))return null;try{var t=new URL(r);return t.username||t.password||!["http:","https:"].includes(t.protocol)?null:t.href}catch{return null}}function or(e,r,t){var o=le(e);if(!o)return null;var a=String(t||"").replace(/<[^>]*>/g,"").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim();return(!a||a===e||a===o)&&(a=new URL(o).host),'<button type="button" class="clay-browser-link clayos-record-link" data-browser-url="'+te(o)+'" data-browser-project="'+te(n.get("currentSlug")||"")+'" title="'+te("Open in Clay Browser \xB7 "+o)+'" aria-label="'+te("Open in Clay Browser: "+a)+'">'+v("globe")+"<span>Browser</span><small>"+te(a)+"</small></button>"}function Er(e){!e||typeof document>"u"||(e.querySelectorAll("a[href]").forEach(function(r){if(!r.closest("pre, code, button")){var t=or(r.getAttribute("href"),"",r.textContent);if(t){var o=document.createElement("template");o.innerHTML=t,r.replaceWith(o.content)}}}),ke(),R())}function ke(){n.get("browserLinksBound")||(n.set({browserLinksBound:!0}),document.addEventListener("click",function(e){var r=e.target.closest&&e.target.closest(".clay-browser-link");if(r){e.preventDefault(),e.stopPropagation();var t=le("browser:"+r.dataset.browserUrl);if(!t){z("This browser link is invalid.","warn");return}if(r.dataset.browserProject&&r.dataset.browserProject!==n.get("currentSlug")){z("Open this link from its original project.","warn");return}Ue(t)||import("./chunk-KB4T5B2R.js").then(function(o){o.openSharedBrowserAt(t)}).catch(function(o){z(o.message||"Could not open the browser.","warn")})}}))}function b(e){return Le(String(e)).replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function B(){return n.get("sharedBrowserSettings")||{}}function S(e){n.set({sharedBrowserSettings:Object.assign({},B(),e)})}function E(){return document.getElementById("shared-browser-settings")}function L(e,r,t,o){return'<button type="button" data-settings-action="'+r+'" data-target="'+b(t||"")+'" data-label="'+b(o||t||"")+'">'+b(e)+"</button>"}function Ie(e,r){var t=q();if(!t||t.readyState!==1){S({error:"Reconnect to manage browser data.",pending:!1}),O();return}var o=crypto.randomUUID();S({pending:!0,requestId:o,error:"",notice:""}),t.send(JSON.stringify({type:"shared_browser_settings",sessionId:n.get("activeSessionId"),requestId:o,operation:e,target:r})),O(),setTimeout(function(){B().requestId===o&&B().pending&&(S({pending:!1,error:"The request timed out. Refresh to check the saved state."}),O())},15e3)}function ne(e){var r=!!B().open;S({open:!1,review:null}),O();var t=document.querySelector('[data-action="settings"]');t&&r&&e!==!1&&t.focus()}function _e(){return'<section id="shared-browser-settings" class="shared-browser-settings" aria-label="Browser settings" hidden></section>'}function je(e){e.querySelector('[data-action="settings"]').onclick=function(){S({open:!0,page:"sites",data:null,review:null,filter:""}),Ie("list"),E().querySelector('[data-settings-action="back"]').focus()},E().addEventListener("keydown",function(r){r.key==="Escape"&&(r.preventDefault(),r.stopPropagation(),ne())}),E().addEventListener("input",function(r){r.target.matches("[data-settings-filter]")&&(S({filter:r.target.value}),Re(),E().dataset.key=JSON.stringify([B(),n.get("connected")]))}),E().addEventListener("click",function(r){var t=r.target.closest("[data-settings-action]");if(!(!t||t.disabled)){var o=t.dataset.settingsAction;if(o==="back"){ne();return}if(o==="sites"||o==="history"){S({page:o,filter:"",review:null,notice:"",error:""}),O();return}if(o==="refresh"){Ie("list");return}if(o==="cancel"){S({review:null}),O(),E().querySelector('[data-settings-action="refresh"]').focus();return}if(o==="confirm"){var a=B().review;a&&Ie(a.action,a.target);return}S({notice:"",error:"",review:{action:o,target:t.dataset.target,label:t.dataset.label||t.dataset.target}}),O(),E().querySelector('[data-settings-action="cancel"]').focus()}})}function Re(){var e=E(),r=B();if(!(!e||!r.open)){var t=e.querySelector(".browser-settings-rows");if(t){var o=(r.filter||"").toLowerCase(),a=r.data||{sites:[],history:[]};r.page==="history"?t.innerHTML=a.history.filter(function(s){return s.url.toLowerCase().includes(o)}).map(function(s){return'<div class="browser-settings-row"><div><span class="browser-settings-url">'+b(s.url)+"</span><small>"+b(new Date(s.at).toLocaleString())+"</small></div>"+L("Remove","delete_history",s.id,s.url)+"</div>"}).join(""):t.innerHTML=a.sites.filter(function(s){return s.host.toLowerCase().includes(o)}).map(function(s){return"<details><summary>"+b(s.host)+"<small>"+s.cookies.length+(s.cookies.length===1?" cookie \xB7 ":" cookies \xB7 ")+s.origins.length+(s.origins.length===1?" storage origin":" storage origins")+'</small></summary><div class="browser-settings-row"><span>Cookies and site storage</span>'+L("Remove site data","delete_site",s.host)+"</div>"+s.origins.map(function(i){return'<p class="browser-settings-origin">'+b(i.origin)+"<small>"+i.localStorage+" localStorage entries \xB7 "+i.databases+" IndexedDB databases</small></p>"}).join("")+s.cookies.map(function(i){var d=i.domain+i.path+" \xB7 "+(i.expires===-1?"Session cookie":"Expires "+new Date(i.expires*1e3).toLocaleDateString())+(i.httpOnly?" \xB7 HttpOnly":"")+(i.secure?" \xB7 Secure":"")+(i.partitioned?" \xB7 Partitioned":"");return'<div class="browser-settings-row"><div><span>'+b(i.name)+"</span><small>"+b(d)+"</small></div>"+L("Remove cookie","delete_cookie",i.id,i.name+" \xB7 "+i.domain+i.path)+"</div>"}).join("")+"</details>"}).join(""),t.innerHTML||(t.innerHTML='<p class="browser-settings-muted">'+(r.pending&&!r.data?"Loading saved data\u2026":o?"No matching entries.":r.page==="history"?"No saved browsing history.":"No saved cookies or site data.")+"</p>"),t.querySelectorAll("button").forEach(function(s){s.disabled=!!r.pending||!n.get("connected")})}}}function O(){var e=E();if(e){var r=B(),t=e.closest(".shared-browser-panel"),o=n.get("sharedBrowser"),a=t.querySelector('[data-action="settings"]');if(a.hidden=!(o&&o.personalCookiesAvailable),a.disabled=!n.get("connected"),a.setAttribute("aria-expanded",String(!!r.open)),e.hidden=!r.open,t.classList.toggle("browser-settings-open",!!r.open),!!r.open){var s=JSON.stringify([r,n.get("connected")]);if(e.dataset.key!==s){e.dataset.key=s;var i=r.page||"sites";e.innerHTML='<div class="browser-settings-heading">'+L("Back to browser","back")+'<h3>Browser settings</h3></div><p class="browser-settings-muted">Personal \xB7 Shared across your Mates. Incognito tabs do not save data here.</p><nav aria-label="Browser settings sections">'+L("Cookies & site data","sites")+L("History","history")+'</nav><p class="browser-settings-muted">'+(i==="sites"?"Cookies, localStorage and IndexedDB are saved for your account. New personal tabs restore saved site storage. Removing data may sign you out. Removals also apply to open personal tabs. Sites may create new data afterwards.":"Your latest 500 page visits. Clearing this list leaves open tabs, their Back/Forward navigation and conversation activity unchanged.")+'</p><div class="browser-settings-tools"><input data-settings-filter aria-label="Filter saved browser data" placeholder="'+(i==="sites"?"Find a site":"Find a page")+'" value="'+b(r.filter||"")+'">'+L("Refresh","refresh")+L(i==="sites"?"Clear all site data":"Clear history",i==="sites"?"clear_data":"clear_history")+'</div><p class="browser-settings-feedback" role="status">'+b(r.error||(n.get("connected")?r.pending?"Updating\u2026":r.notice||"":"Disconnected. Reconnect and refresh to see current saved data."))+"</p>"+(r.review?'<div class="browser-settings-review" role="group" aria-label="Confirm removal"><strong>'+(r.review.action.includes("history")?"Remove browsing history?":"Remove saved site data?")+"</strong><p>"+(r.review.action.includes("history")?"This removes "+(r.review.action==="clear_history"?"all saved visits":"this saved visit")+" from your personal history.":r.review.action==="delete_cookie"?"This removes "+b(r.review.label)+" across your personal Mate browsers and may sign you out.":"This removes "+(r.review.action==="clear_data"?"all cookies and site storage":"cookies and storage for "+b(r.review.target))+" across your personal Mate browsers and may sign you out.")+"</p>"+L("Cancel","cancel")+L("Remove","confirm")+"</div>":"")+'<div class="browser-settings-rows"></div>',e.querySelector('[data-settings-action="'+i+'"]').setAttribute("aria-current","page"),e.querySelectorAll("button").forEach(function(d){d.disabled=d.dataset.settingsAction!=="back"&&(!!r.pending||!n.get("connected"))}),Re()}}}}function De(e){if(!e.requestId||e.requestId!==B().requestId)return!1;if(e.type==="shared_browser_settings"){var r=!!B().review;S({data:e.settings,pending:!1,review:null,error:"",notice:r?"Removed from your saved browser data.":""})}else if(e.type==="shared_browser_error")S({pending:!1,error:e.error});else return!1;return O(),B().open&&r&&E().querySelector('[data-settings-action="refresh"]').focus(),!0}function Ne(e,r,t){var o=e.querySelector(".shared-browser-tabs"),a=n.get("sharedBrowsers")||[],s=n.get("sharedBrowser"),i=JSON.stringify([a.map(function(l){return[l.id,l.url,l.control,l.phase,l.incognito,l.personalCookiesAvailable,l.sourceSessionId,l.sourceRole,l.sourceTitle,l.sourceGeneration]}),s&&s.id,n.get("connected")]);if(o.dataset.key===i)return;var d=o.contains(document.activeElement)?document.activeElement:null,c=d&&d.dataset.browserId,u=d&&d.dataset.tabAction,p=o.dataset.selected,I=o.querySelector(".shared-browser-tab-list"),fe=I?I.scrollLeft:0;o.dataset.key=i,o.dataset.selected=s&&s.id||"",o.replaceChildren();var H=document.createElement("div");H.className="shared-browser-tab-list",H.setAttribute("role","presentation"),o.appendChild(H),a.forEach(function(l,_){var j=document.createElement("div");j.className="shared-browser-tab",j.setAttribute("role","presentation");var se=!!s&&s.id===l.id,w=document.createElement("button");w.type="button",w.setAttribute("role","tab"),w.dataset.browserId=l.id,w.dataset.tabAction="select",w.setAttribute("aria-selected",String(se)),w.tabIndex=se?0:-1;var g="New tab";try{l.url&&(g=new URL(l.url).hostname||"New tab")}catch{}var ge=l.sourceRole==="worker"?"Worker #"+l.sourceSessionId:"";ge&&(g=ge+" \xB7 "+g);var nr=l.phase==="ended"?"Ended":l.phase==="starting"?"Starting":l.control==="agent"?"You and Clay can control this tab":"Only you can control this tab. Clay is paused.",Ee=g+(ge?" \xB7 "+l.sourceTitle+" \xB7 Gen "+l.sourceGeneration:"")+" \xB7 "+(l.incognito===!1?"Personal browser":"Incognito")+" \xB7 "+nr,he=document.createElement("span");he.className="shared-browser-tab-label",he.textContent=g,w.innerHTML=v(l.personalCookiesAvailable&&l.incognito?"glasses":"globe"),w.appendChild(he),w.setAttribute("aria-label",Ee),w.setAttribute("data-tip",Ee),j.dataset.phase=l.phase,j.dataset.control=l.control,w.onclick=function(){r(l.id)},w.onkeydown=function(V){var ve=V.key==="ArrowRight"?(_+1)%a.length:V.key==="ArrowLeft"?(_+a.length-1)%a.length:V.key==="Home"?0:V.key==="End"?a.length-1:-1;ve<0||(V.preventDefault(),r(a[ve].id),o.querySelectorAll('[role="tab"]')[ve].focus())};var x=document.createElement("button");x.type="button",x.className="shared-browser-tab-close",x.innerHTML=v("x"),x.dataset.browserId=l.id,x.dataset.tabAction="close",x.setAttribute("aria-label","Close browser tab "+(_+1)),x.setAttribute("data-tip","Close tab"),x.disabled=!n.get("connected"),x.onclick=function(){t("close",{browserId:l.id})},j.append(w,x),H.appendChild(j)});function Q(l,_,j,se,w){var g=document.createElement("button");g.type="button",g.className="shared-browser-new-tab",g.innerHTML=v(l),g.dataset.tabAction=w,g.setAttribute("aria-label",_),g.setAttribute("data-tip",j),g.disabled=!n.get("connected"),g.onclick=function(){t("open",se)},o.appendChild(g)}Q("plus","New browser tab",s&&s.personalCookiesAvailable?"New tab \xB7 Personal browser":"New incognito tab",{newTab:!0},"new"),s&&s.personalCookiesAvailable&&Q("glasses","New incognito tab","New incognito tab \xB7 Site data is not saved",{newTab:!0,incognito:!0},"incognito"),R(),H.scrollLeft=fe;var y=Array.from(o.querySelectorAll("button")),we=d&&y.find(function(l){return l.dataset.browserId===c&&l.dataset.tabAction===u});d&&(we||o.querySelector('[aria-selected="true"]')||y[0]).focus({preventScroll:!0});var U=o.querySelector('[aria-selected="true"]');U&&p!==o.dataset.selected&&U.scrollIntoView({block:"nearest",inline:"nearest"})}function C(){var e=n.get("sharedBrowser");return e&&!e.handoff&&e.phase==="live"&&n.get("connected")}var We=50,Ve=2e3;function A(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function K(){var e=n.get("sharedBrowserUi")||{};clearTimeout(e.moveTimer),clearTimeout(e.wheelTimer),A({moveTimer:null,move:null,wheelTimer:null,wheelDelta:0,pointer:null,composing:!1})}function ze(e,r){function t(i){var d=e.getBoundingClientRect(),c=Math.min(d.width/e.width,d.height/e.height),u=(i.clientX-d.left-(d.width-e.width*c)/2)/c,p=(i.clientY-d.top-(d.height-e.height*c)/2)/c;return{x:Math.max(0,Math.min(e.width-1,u)),y:Math.max(0,Math.min(e.height-1,p))}}function o(){var i=n.get("sharedBrowserUi")||{};clearTimeout(i.moveTimer);var d=i.move;A({move:null,moveTimer:null}),d&&C()&&m(Object.assign({kind:"move"},d))}function a(){var i=n.get("sharedBrowserUi")||{};clearTimeout(i.wheelTimer);var d=i.wheelDelta||0;if(!C()){A({wheelDelta:0,wheelTimer:null});return}var c=Math.max(-Ve,Math.min(Ve,d)),u=d-c;A({wheelDelta:u,wheelTimer:u?setTimeout(a,We):null}),c&&m({kind:"wheel",deltaY:c})}e.addEventListener("pointermove",function(i){if(C()){var d=n.get("sharedBrowserUi")||{};A({move:t(i),moveTimer:d.moveTimer||setTimeout(o,40)})}}),e.addEventListener("pointerdown",function(i){!C()||i.button!==0||(i.preventDefault(),o(),a(),e.setPointerCapture(i.pointerId),A({pointer:i.pointerId}),r.focus({preventScroll:!0}),m(Object.assign({kind:"down"},t(i))))});function s(i){var d=n.get("sharedBrowserUi")||{};d.pointer===i.pointerId&&(o(),A({pointer:null}),C()&&m(Object.assign({kind:"up"},t(i))),e.hasPointerCapture(i.pointerId)&&e.releasePointerCapture(i.pointerId))}e.addEventListener("pointerup",s),e.addEventListener("pointercancel",s),e.addEventListener("lostpointercapture",s),e.addEventListener("wheel",function(i){if(C()){i.preventDefault();var d=n.get("sharedBrowserUi")||{};A({wheelDelta:(d.wheelDelta||0)+i.deltaY,wheelTimer:d.wheelTimer||setTimeout(a,We)})}},{passive:!1}),e.addEventListener("focus",function(){C()&&r.focus({preventScroll:!0})}),r.addEventListener("compositionstart",function(){A({composing:!0})}),r.addEventListener("compositionend",function(){A({composing:!1}),C()&&r.value&&m({kind:"text",text:r.value}),r.value=""}),r.addEventListener("input",function(){(n.get("sharedBrowserUi")||{}).composing||(C()&&r.value&&m({kind:"text",text:r.value}),r.value="")}),r.addEventListener("keydown",function(i){if(!(!C()||i.isComposing)){var d=i.key;(i.ctrlKey||i.metaKey)&&d.toLowerCase()==="a"?d="ControlOrMeta+A":d==="Tab"&&i.shiftKey&&(d="Shift+Tab"),/^(Tab|Shift\+Tab|Enter|Backspace|Delete|Escape|ArrowLeft|ArrowRight|ArrowUp|ArrowDown|Home|End|ControlOrMeta\+A)$/.test(d)&&(i.preventDefault(),m({kind:"key",key:d}))}})}function Ye(){return'<div class="shared-browser-activity"><div class="shared-browser-caption-history" role="log" aria-live="off" aria-label="Browser caption history" tabindex="0"></div><button type="button" class="shared-browser-caption-latest" hidden>Back to live \u2193</button><span class="shared-browser-caption-announcement" role="status" aria-live="polite"></span></div>'}function xe(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function sr(e,r,t){var o=e.querySelector(".shared-browser-activity"),a=e.querySelector(".shared-browser-caption-history"),s=e.querySelector(".shared-browser-caption-latest");a.dataset.bound||(a.dataset.bound="true",a.addEventListener("scroll",function(){var y=a.scrollHeight-a.clientHeight-a.scrollTop<20;xe({captionPinned:y}),o.dataset.reviewing=String(!y),s.hidden=y}),s.onclick=function(){a.scrollTop=a.scrollHeight,xe({captionPinned:!0}),s.hidden=!0,o.dataset.reviewing="false"});var i=r&&r.activityHistory||[];o.hidden=!i.length;var d=i[i.length-1],c=r&&r.id+":"+i.length+":"+(d?d.id+":"+d.phase+":"+d.text:"empty"),u=n.get("sharedBrowserUi")||{};if(u.captionHistoryKey!==c){var p=u.captionBrowserId!==(r&&r.id),I=p||u.captionPinned!==!1,fe=a.scrollTop;a.replaceChildren(),i.forEach(function(y,we){var U=document.createElement("div");U.className="shared-browser-caption-row",U.dataset.age=String(Math.min(i.length-we-1,3));var l=document.createElement("span");if(l.className="shared-browser-activity-text",l.textContent=y.text,U.appendChild(l),y.phase==="failed"||y.phase==="interrupted"){var _=document.createElement("small");_.textContent=y.phase==="failed"?"This step could not be completed.":"This step was interrupted.",U.appendChild(_)}a.appendChild(U)}),xe({captionHistoryKey:c,captionBrowserId:r&&r.id,captionPinned:I}),a.scrollTop=I?a.scrollHeight:fe,s.hidden=I,o.dataset.reviewing=String(!I);var H=e.querySelector(".shared-browser-caption-announcement"),Q=t&&d?d.text+(d.phase==="failed"?" This step could not be completed.":""):"";H.textContent!==Q&&(H.textContent=Q)}}function Fe(e,r,t){var o=r&&r.phase==="live"&&r.control==="agent"&&!r.handoff&&t;sr(e,r,o);var a=e.querySelector("canvas"),s=o&&r.pointer,i=e.querySelector(".shared-browser-pointer");if(i.hidden=!s||s.width!==a.width||s.height!==a.height,!i.hidden){i.style.left=100*s.x/a.width+"%",i.style.top=100*s.y/a.height+"%";var d=r.id+":"+r.epoch+":"+s.sequence;(n.get("sharedBrowserUi")||{}).pointerAnimationKey!==d&&(n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),{pointerAnimationKey:d})}),s.clicked&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&i.querySelector("i").animate([{opacity:.8,transform:"scale(.3)"},{opacity:0,transform:"scale(1.8)"}],{duration:650}))}}var qe=["1280,800","1440,900","1024,768","800,600","375,667","390,844"];function ar(){return document.getElementById("shared-browser-resolution")}function Ke(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),{viewportMenuOpen:e})});var r=ar();r&&(r.querySelector("[data-viewport-trigger]").setAttribute("aria-expanded",String(e)),r.querySelector('[role="menu"]').hidden=!e)}function T(){Ke(!1)}function Je(){return'<div id="shared-browser-resolution" class="shared-browser-resolution"><button type="button" data-viewport-trigger aria-label="Browser viewport" aria-haspopup="menu" aria-expanded="false" aria-controls="shared-browser-resolutions"><span>1280 \xD7 800</span>'+v("chevron-up")+'</button><div id="shared-browser-resolutions" class="shared-browser-resolution-menu" role="menu" aria-label="Browser resolutions" hidden></div></div>'}function Ge(e,r,t){var o=e.querySelector(".shared-browser-resolution"),a=o.querySelector("[data-viewport-trigger]");a.disabled=!t,(!t||!n.get("sharedBrowserOpen"))&&T();var s=r?r.width+","+r.height:"1280,800";a.querySelector("span").textContent=s.replace(","," \xD7 ");var i=o.querySelector('[role="menu"]');if(i.dataset.size!==s){i.dataset.size=s;var d=qe.includes(s)?qe:qe.concat([s]);i.replaceChildren(),d.forEach(function(c){var u=document.createElement("button");u.type="button",u.setAttribute("role","menuitemradio"),u.setAttribute("aria-checked",String(c===s)),u.dataset.size=c,u.tabIndex=-1,u.textContent=c.replace(","," \xD7 "),u.setAttribute("aria-label",u.textContent),i.appendChild(u)})}}function Qe(e){var r=e.querySelector(".shared-browser-resolution"),t=r.querySelector("[data-viewport-trigger]"),o=r.querySelector('[role="menu"]');function a(s){if(!t.disabled){Ke(!0);var i=o.querySelectorAll("button"),d=o.querySelector('[aria-checked="true"]');(s?i[i.length-1]:d||i[0]).focus()}}t.onclick=function(){(n.get("sharedBrowserUi")||{}).viewportMenuOpen?T():a(!1)},t.onkeydown=function(s){(s.key==="ArrowDown"||s.key==="ArrowUp")&&(s.preventDefault(),a(s.key==="ArrowUp"))},o.onclick=function(s){var i=s.target.closest("[data-size]");if(!(!i||t.disabled)){var d=i.dataset.size.split(",");T(),t.focus(),m({kind:"resize",width:Number(d[0]),height:Number(d[1])})}},r.addEventListener("keydown",function(s){if(s.key==="Escape"){s.preventDefault(),s.stopPropagation(),T(),t.focus();return}if(s.key==="Tab"){T();return}if(!(s.target===t||!["ArrowDown","ArrowUp","Home","End"].includes(s.key))){s.preventDefault();var i=Array.from(o.querySelectorAll("button")),d=i.indexOf(document.activeElement);d=s.key==="Home"?0:s.key==="End"?i.length-1:(d+(s.key==="ArrowDown"?1:-1)+i.length)%i.length,i[d].focus()}}),document.addEventListener("pointerdown",function(s){r.contains(s.target)||T()}),r.addEventListener("focusout",function(s){r.contains(s.relatedTarget)||T()})}function W(){return window.matchMedia("(min-width: 1024px)").matches}function Ze(){var e=n.get("permissions");return W()&&!!n.get("currentSlug")&&!n.get("dmMode")&&(!e||e.terminal!==!1)}function oe(){return Ze()&&!!n.get("activeSessionId")}function G(){return document.getElementById("shared-browser-panel")}function k(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function f(e,r){var t=n.get("sharedBrowser"),o=de(e,Object.assign({browserId:t&&t.id,epoch:t&&t.epoch},r||{}));if(o!==null)return o;var a=q();return!a||a.readyState!==1||!n.get("activeSessionId")?!1:(a.send(JSON.stringify(Object.assign({type:"shared_browser_"+e,sessionId:n.get("activeSessionId"),browserId:t&&t.id,epoch:t&&t.epoch},r||{}))),!0)}function m(e){k({error:""}),f("input",{event:e})}function $e(){var e=G();if(!(!e||!n.get("sharedBrowserOpen"))){var r=e.querySelector(".shared-browser-viewport"),t=e.querySelector("canvas"),o=t.width===800&&t.height===600?"mac":t.width===1024&&t.height===768?"crt":t.width<t.height?"phone":"laptop";r.dataset.skin=o;var a=Math.min((r.clientWidth-96)/t.width,(r.clientHeight-140-e.querySelector(".shared-browser-caption").offsetHeight)/t.height,1);if(!(a<=0)){var s=e.querySelector(".shared-browser-monitor");s.style.width=Math.floor(t.width*a)+"px",s.style.height=Math.floor(t.height*a)+"px",e.querySelector(".shared-browser-monitor-label").textContent=t.width+" \xD7 "+t.height+" \xB7 "+Math.round(a*100)+"%"}}}function N(e,r,t){return'<button type="button" data-action="'+e+'" title="'+t+'" aria-label="'+t+'">'+v(r)+"</button>"}function ue(){if(!G()){var e=document.getElementById("main-panels");if(e){var r=document.createElement("section");r.id="shared-browser-panel",r.className="shared-browser-panel hidden",r.setAttribute("aria-label","Shared browser"),r.innerHTML='<header class="shared-browser-header"><span class="shared-browser-title">'+v("globe")+'Browser</span><span class="shared-browser-phase" role="status">Ready</span><div class="shared-browser-window">'+N("settings","settings-2","Browser settings")+N("wide","chevrons-left-right","Widen browser panel")+N("fullscreen","maximize-2","Toggle browser fullscreen")+N("hide","x","Hide browser panel")+'</div></header><div class="shared-browser-tabs" role="tablist" aria-label="Browser tabs"></div><form class="shared-browser-address">'+N("back","arrow-left","Back")+N("forward","arrow-right","Forward")+N("reload","rotate-cw","Reload")+'<input aria-label="Browser address" placeholder="Enter a URL" type="text" autocomplete="off" spellcheck="false"><button type="submit" aria-label="Open address">'+v("arrow-right")+"</button></form>"+_e()+'<div class="shared-browser-viewport"><div class="shared-browser-monitor"><div class="shared-browser-pointer-layer" aria-hidden="true"><div class="shared-browser-pointer" hidden><svg viewBox="0 0 24 28"><path d="M3 2 L3 22 L8 17 L12 26 L16 24 L12 15 L20 15 Z"/></svg><i></i></div></div><canvas width="1280" height="800" tabindex="0" aria-label="Shared browser page"></canvas><div class="shared-browser-empty">'+v("globe")+'<h3>A browser you can use with Clay</h3><p>Enter an address to browse together.<br>Localhost connects to the Clay host.</p><p class="shared-browser-private">Site data lasts only for this browser session.</p></div><textarea class="shared-browser-keyboard" aria-label="Type into shared browser" autocomplete="off" autocapitalize="off" spellcheck="false"></textarea><span class="shared-browser-monitor-brand" aria-hidden="true">Clay Studio</span><span class="shared-browser-monitor-detail" aria-hidden="true"></span><span class="shared-browser-monitor-stand" aria-hidden="true"></span></div><div class="shared-browser-caption"><span class="shared-browser-monitor-label"></span>'+Ye()+'</div></div><p class="shared-browser-error hidden" role="status"></p><footer class="shared-browser-footer"><div class="shared-browser-control"><span class="shared-browser-control-status" role="status" aria-live="polite">You and Clay can control this browser</span><button type="button" data-action="control" aria-pressed="false"></button></div><div class="shared-browser-details"><span class="shared-browser-cookie-mode"></span>'+Je()+'<button type="button" data-action="end">End browser</button></div></footer>',e.appendChild(r),r.querySelector('[data-action="hide"]').onclick=J,r.querySelector('[data-action="wide"]').onclick=function(){var o=!(n.get("sharedBrowserUi")||{}).wide;k({wide:o}),h()},r.querySelector('[data-action="fullscreen"]').onclick=function(){var o=!(n.get("sharedBrowserUi")||{}).fullscreen;tr(o),me("browser",o)},["back","forward","reload"].forEach(function(o){r.querySelector('[data-action="'+o+'"]').onclick=function(){m({kind:o})}}),r.querySelector("form").onsubmit=function(o){o.preventDefault(),m({kind:"navigate",url:r.querySelector("form input").value})},r.querySelector('[data-action="control"]').onclick=function(){var o=n.get("sharedBrowser");o&&f("control",{control:o.control==="user"?"agent":"user"})},r.querySelector('[data-action="end"]').onclick=function(){var o=n.get("sharedBrowser");f(o&&o.phase==="ended"?"open":"end",o&&o.phase==="ended"?{incognito:o.incognito}:void 0)},Qe(r),je(r);var t=new ResizeObserver($e);t.observe(r.querySelector(".shared-browser-viewport")),ze(r.querySelector("canvas"),r.querySelector("textarea")),R()}}}function ce(){var e=n.get("sharedBrowser"),r=(n.get("sharedBrowsers")||[]).length,t=!!n.get("connected")&&!!n.get("activeSessionId"),o=n.get("connected")?n.get("activeSessionId")?e?"View browser":"Open browser":"Browser \xB7 Loading session\u2026":"Browser \xB7 Connecting\u2026";["shared-browser-btn","shared-browser-toggle-btn"].forEach(function(a){var s=document.getElementById(a);if(s){var i=a==="shared-browser-toggle-btn"&&t&&n.get("sharedBrowserOpen")?"Hide browser":o;if(a==="shared-browser-toggle-btn"){var d=s.querySelector(".shared-browser-count");d&&(d.textContent=String(r),d.classList.toggle("hidden",r===0)),r&&(i+=" \xB7 "+r+(r===1?" tab":" tabs"))}s.classList.toggle("hidden",!Ze()),s.title=t&&e?i+" \xB7 "+e.phase:i,s.setAttribute("aria-label",i),s.setAttribute("aria-expanded",String(!!n.get("sharedBrowserOpen"))),s.disabled=!t}})}function ir(e,r,t){return t?r?e.handoff?"Switching control\u2026":e.control==="user"?"Only you can control this browser. Clay is paused.":e.activity&&e.activity.phase==="running"?"Clay is working. You can also use this browser":"You and Clay can control this browser":e&&e.phase==="starting"?"Starting\u2026":"Ended":"Disconnected. Status returns on reconnect."}function dr(e,r,t,o){var a=e.querySelector(".shared-browser-control-status"),s=ir(r,t,o);a.textContent!==s&&(a.textContent=s);var i=e.querySelector('[data-action="control"]'),d=!!r&&r.control==="user",c=String(d);i.dataset.mode!==c&&(i.dataset.mode=c,i.innerHTML=v(d?"lock":"lock-open")+"<span>"+(d?"Resume shared control":"Pause Clay control")+"</span>",R()),i.title=d?"Let Clay act in this browser again. You keep control too.":"Make this browser exclusively yours until you resume shared control. You can use it either way.",i.setAttribute("aria-pressed",String(d))}function h(){ce();var e=G();if(e){Ne(e,lr,f);var r=n.get("sharedBrowser"),t=n.get("sharedBrowserUi")||{},o=n.get("connected"),a=r&&r.phase==="live",s=a&&!r.handoff&&o;e.classList.toggle("hidden",!n.get("sharedBrowserOpen")||!oe()),e.classList.toggle("shared-browser-wide",!!t.wide),e.classList.toggle("panel-fullscreen",!!t.fullscreen),e.querySelector('[data-action="wide"]').setAttribute("aria-pressed",t.wide?"true":"false"),e.querySelector('[data-action="fullscreen"]').setAttribute("aria-pressed",t.fullscreen?"true":"false"),e.querySelector(".shared-browser-phase").textContent=o?r?{starting:"Starting\u2026",live:"Live",ended:"Ended \xB7 Last frame"}[r.phase]:"Ready":"Disconnected",e.querySelector(".shared-browser-phase").dataset.live=a&&o?"true":"false",e.querySelector(".shared-browser-monitor").dataset.live=a&&o?"true":"false";var i=e.querySelector("form input");document.activeElement!==i&&(i.value=r?r.url:""),e.querySelectorAll("form input, form button").forEach(function(u){u.disabled=!s}),e.querySelector("textarea").disabled=!s,e.querySelector("canvas").style.cursor=s?"default":"not-allowed",dr(e,r,a,o),e.querySelector('[data-action="control"]').disabled=!a||!!r.handoff||!o,e.querySelector('[data-action="control"]').hidden=!a,e.querySelector('[data-action="end"]').disabled=!r||!o,e.querySelector('[data-action="end"]').textContent=r&&r.phase==="ended"?"New browser":"End browser";var d=r&&r.incognito===!1;e.querySelector(".shared-browser-cookie-mode").textContent=d?"Personal browser":"Incognito",e.querySelector(".shared-browser-cookie-mode").title=d?"Cookies and site storage are saved for your account across your Mates.":"Cookies and site storage are isolated and discarded when this tab ends.",e.querySelector(".shared-browser-private").textContent=d?"Your cookies and site storage are remembered across your Mates and browser restarts.":"Site data lasts only for this browser session.";var c=t.error||r&&r.error||"";e.querySelector(".shared-browser-error").textContent=c,e.querySelector(".shared-browser-error").classList.toggle("hidden",!c),e.querySelector(".shared-browser-empty").classList.toggle("hidden",!!(r&&r.url&&t.hasFrame)),Ge(e,r,s),O(),Fe(e,r,o),$e()}}function pe(e){var r=n.get("sharedBrowser");if(n.set({sharedBrowser:e}),!r||!e||r.id!==e.id){K(),T(),k({hasFrame:!1,error:"",decoding:!1,captionHistoryKey:null});var t=G();t&&t.querySelector("canvas").getContext("2d").clearRect(0,0,1920,1200)}else r.epoch!==e.epoch&&K()}function lr(e){var r=(n.get("sharedBrowsers")||[]).find(function(t){return t.id===e});r&&(pe(r),f("view",{visible:W()&&!document.hidden}),h())}function er(){return JSON.stringify([n.get("myUserId"),n.get("currentSlug"),n.get("projectSplitViewActiveId"),n.get("sessionOriginId"),n.get("projectSplitViewSocketGeneration")])}function rr(e){n.set({pendingBrowserOpen:null}),!f("open",e)&&n.set({pendingBrowserOpen:{context:er(),socket:q(),fields:e||{},expires:Date.now()+15e3}})}function cr(){var e=n.get("pendingBrowserOpen");if(e){if(e.context!==er()||e.socket!==q()||e.expires<Date.now()||!n.get("connected")||!n.get("sharedBrowserOpen")){n.set({pendingBrowserOpen:null});return}F()&&(n.set({pendingBrowserOpen:null}),f("open",e.fields)||n.set({pendingBrowserOpen:e}))}}function ot(e){F();var r=le("browser:"+e);if(!r)throw new Error("Enter a valid HTTP or HTTPS browser address.");if(!W())throw new Error("Clay Browser is available on desktop screens.");if(!oe())throw new Error("Browser access is unavailable in this conversation.");if(!n.get("connected"))throw new Error("Reconnect before opening this browser link.");ue(),ne(!1),Z("browser"),n.set({sharedBrowserOpen:!0}),k({error:""}),rr({url:r}),h()}function Xe(){if(F(),!(!oe()||!n.get("connected"))){ue(),Z("browser"),n.set({sharedBrowserOpen:!0});var e=n.get("sharedBrowser");e?f("view",{visible:!0}):rr(),h()}}function J(){tr(!1),me("browser",!1),n.get("savedWorkspaceApplying")||n.set({pendingBrowserOpen:null}),T(),ne(),K(),n.get("sharedBrowserOpen")&&f("view",{visible:!1}),n.set({sharedBrowserOpen:!1}),be("browser"),h()}function ur(e,r){if(!e.type||e.type.indexOf("shared_browser_")!==0)return!1;if(Me(e)||Pe()&&!r||String(e.sessionId)!==String(Be()||n.get("activeSessionId"))||De(e))return!0;if(e.type==="shared_browser_state"){var t=n.get("sharedBrowser"),o=e.browsers||(e.browser?[e.browser]:[]);n.set({sharedBrowsers:o});var a=!e.focus&&t&&o.find(function(u){return u.id===t.id});a=a||e.browser||o[0]||null,pe(a),n.set({savedViewBrowserListReady:!0}),e.present&&oe()&&(ue(),Z("browser"),n.set({sharedBrowserOpen:!0})),n.get("sharedBrowserOpen")&&a&&f("view",{visible:W()&&!document.hidden}),h()}else if(e.type==="shared_browser_error")k({error:e.error}),h();else if(e.type==="shared_browser_frame"){var s=n.get("sharedBrowser");if(!W()||!n.get("sharedBrowserOpen")||!s||s.id!==e.browserId||(n.get("sharedBrowserUi")||{}).decoding)return!0;var i=n.get("activeSessionId"),d=ae();k({decoding:!0});var c=new Image;c.onload=function(){var u=n.get("sharedBrowser");if(u&&u.id===e.browserId&&ae()===d&&n.get("activeSessionId")===i&&G()){var p=G().querySelector("canvas");p.width=c.naturalWidth,p.height=c.naturalHeight,p.getContext("2d").drawImage(c,0,0),k({decoding:!1,hasFrame:!0}),h(),Ce(e,p,null,p)}},c.onerror=function(){ae()===d&&n.get("activeSessionId")===i&&k({decoding:!1})},c.src="data:image/jpeg;base64,"+e.data}return!0}function st(){He(ur,function(t){var o=n.get("savedWorkspaceApplying");n.set({savedWorkspaceApplying:!0,savedViewBrowserListReady:!1});try{K(),pe(null),n.set({sharedBrowsers:[],sharedBrowserUi:{},sharedBrowserSettings:{}}),t||J(),h()}finally{n.set({savedWorkspaceApplying:o})}}),document.addEventListener("clay-pane-ready",function(){queueMicrotask(cr)},!0),ke();var e=document.getElementById("shared-browser-btn");e&&(e.onclick=Xe);var r=document.getElementById("shared-browser-toggle-btn");r&&(r.onclick=function(){n.get("sharedBrowserOpen")?J():Xe()}),window.matchMedia("(min-width: 1024px)").addEventListener("change",function(){W()||J(),ce()}),document.addEventListener("visibilitychange",function(){n.get("sharedBrowserOpen")&&f("view",{visible:!document.hidden&&W()})}),R(),ce(),n.get("connected")&&f("state_request")}Ae("browser",J);n.subscribe(function(e,r){if(e.currentSlug!==r.currentSlug||e.activeSessionId!==r.activeSessionId||e.myUserId!==r.myUserId){if(Be()!==null){h();return}K(),be("browser"),n.set({sharedBrowser:null,sharedBrowsers:[],savedViewBrowserListReady:!1,sharedBrowserOpen:!1,sharedBrowserUi:{},sharedBrowserSettings:{}}),e.connected&&f("state_request"),h()}else e.connected!==r.connected?(n.set({savedViewBrowserListReady:!1}),e.connected&&f("state_request"),h()):(e.permissions!==r.permissions||e.dmMode!==r.dmMode)&&(oe()||J(),ce())});function at(e){if(Se()&&!F())return"pending";if(!n.get("savedViewBrowserListReady"))return f("state_request"),"pending";if(!n.get("connected")||!n.get("controlRuntimeId"))return"pending";ue();var r=(n.get("sharedBrowsers")||[]).find(function(o){return o.id===e.id&&o.phase!=="ended"}),t=r&&e.runtimeId===n.get("controlRuntimeId")&&e.sessionOriginId===n.get("sessionOriginId");return Z("browser"),n.set({sharedBrowserOpen:!0}),t?(pe(r),f("view",{visible:!0}),k({error:""}),h(),"restored"):(k({error:"This saved browser is unavailable in the current conversation. No replacement browser was opened."}),h(),"unavailable")}function tr(e){k({fullscreen:!!e}),document.getElementById("shared-browser-panel")&&h()}export{gr as a,m as b,ot as c,Xe as d,J as e,ur as f,st as g,at as h,tr as i,Sr as j,or as k,Er as l};
1
+ import{j as Y,l as Oe,m as D,n as X,y as Ce}from"./chunk-YXJ7ISEK.js";import{a as q}from"./chunk-R7QVVFUG.js";import{G as Ae,I as Z,J as be,Q as me,a as z,c as Le,d as R,e as v}from"./chunk-SEELA2D2.js";import{b as n}from"./chunk-VZ2OKDAO.js";function M(){return n.get("paneBrowserSource")||null}function $(){var e=n.get("projectSplitViewFocusedOrigin")||n.get("projectSplitViewSingletonOrigin");if(e)return e;var r=(n.get("projectSplitViews")||[]).find(function(t){return t.id===n.get("projectSplitViewActiveId")});return r&&r.activeSessionOriginId||n.get("sessionOriginId")||null}var Te=null,ee=null,ye={state_request:[],open:["url","newTab","incognito"],view:["browserId","visible"],control:["browserId","control"],close:["browserId"],end:["browserId"],input:["browserId","epoch","event"]};function re(){return Array.from(document.querySelectorAll("#split-host .split-pane:not(.split-pane-cached) .split-pane-frame"))}function Se(){return!n.get("paneMode")&&re().some(function(e){return!!e.clayPane||!!Oe(n.snap(),n.get("paneBindingSessions")||[],Number(e.dataset.sessionId))})}function P(){var e=M();if(!e||e.socket!==q()||e.owner!==n.get("myUserId")||e.project!==n.get("currentSlug"))return!1;var r=e.frame;return re().includes(r)&&r.contentWindow===e.window&&r.contentDocument===e.document&&!r.dataset.requestedSessionId&&D(r,{paneBinding:e.binding})}function Be(){return P()?M().binding.sessionId:null}function ae(){var e=M();return P()?e.binding.requestId+":"+e.binding.generation:null}function Pe(){return!!M()}function ie(e,r){var t=M();if(!e||!r||!re().includes(e)||e.dataset.requestedSessionId||!D(e,{paneBinding:r}))return!1;if(P()&&t.frame===e&&Y(t.binding,r))return t.focusedOrigin!==$()&&n.set({paneBrowserSource:Object.assign({},t,{focusedOrigin:$()})}),!0;var o=n.get("sharedBrowser");return P()&&o&&de("view",{browserId:o.id,visible:!1}),n.set({paneBrowserSource:{frame:e,window:e.contentWindow,document:e.contentDocument,binding:r,socket:q(),owner:n.get("myUserId"),project:n.get("currentSlug"),focusedOrigin:$()},paneBrowserTarget:r}),ee&&ee(!0),!0}function F(){if(P()&&M().focusedOrigin===$())return!0;var e=re(),r=$(),t=e.find(function(a){return r&&a.dataset.sessionOriginId===r})||e.find(function(a){var s=a.closest(".split-pane");return s&&s.dataset.active==="true"})||e[0],o=t&&t.clayPane&&t.clayPane.identity();return!!o&&ie(t,o.binding)}function de(e,r){var t=M();return Object.prototype.hasOwnProperty.call(ye,e)?!t&&!Se()?null:!P()||!t.frame.clayPane||typeof t.frame.clayPane.browserCommand!="function"?!1:t.frame.clayPane.browserCommand(e,r||{},t.binding):!1}function gr(e,r,t){var o=Object.prototype.hasOwnProperty.call(ye,e)&&ye[e],a=q();if(!o||!a||a.readyState!==1||!Y(t,X())||!n.get("connected")||n.get("panePendingBinding")||n.get("activeSessionId")!==t.sessionId)return!1;var s={type:"shared_browser_"+e,sessionId:t.sessionId,paneBinding:t};return o.forEach(function(i){Object.prototype.hasOwnProperty.call(r,i)&&(s[i]=r[i])}),a.send(JSON.stringify(s)),!0}function Me(e){var r=window.frameElement;if(!n.get("paneMode")||!r||!r.clayPane||["shared_browser_state","shared_browser_frame","shared_browser_error"].indexOf(e.type)<0)return!1;var t=X();return t&&Y(t,e.paneActivation)&&window.parent.postMessage({type:"clay-pane-browser-update",paneBinding:t,message:e},location.origin),!0}function He(e,r){n.get("paneMode")||(Te=e,ee=r,window.addEventListener("message",function(t){var o=t.data;if(!(t.origin!==location.origin||!o||o.type!=="clay-pane-browser-update"||!o.message)){var a=re().find(function(d){return d.contentWindow===t.source}),s=o.message,i=M();!a||!D(a,o)||!Y(o.paneBinding,s.paneActivation)||s.sessionId!==o.paneBinding.sessionId||["shared_browser_state","shared_browser_frame","shared_browser_error"].indexOf(s.type)<0||(!P()||i.frame!==a||!Y(i.binding,o.paneBinding))&&(s.type!=="shared_browser_state"||!s.present||!ie(a,o.paneBinding))||Te(s,!0)}}),document.addEventListener("clay-pane-ready",function(){queueMicrotask(function(){!P()&&F()&&de("state_request",{})})},!0),n.subscribe(function(){var t=M();t&&!P()&&(n.set({paneBrowserSource:null,paneBrowserTarget:null}),ee&&ee(!1))}))}function Ue(e){return!n.get("paneMode")||window.parent===window?!1:(window.parent.postMessage({type:"clay-pane-open-browser",paneBinding:X(),url:e,projectSlug:n.get("currentSlug"),sessionId:String(n.get("activeSessionId"))},window.location.origin),!0)}function Sr(e,r){if(!e||e.origin!==window.location.origin||!r||!e.data||e.data.type!=="clay-pane-open-browser")return!1;var t=e.data,o=Object.assign({},n.snap()),a=Array.from(r.querySelectorAll(".split-pane-frame")).find(function(p){return p.contentWindow===e.source}),s=a&&a.clayPane?{slug:a.dataset.projectSlug,sessionId:a.dataset.sessionId}:a&&o.splitPanes&&o.splitPanes.panes&&o.splitPanes.panes.find(function(p){return String(p.slug)===a.dataset.projectSlug&&String(p.sessionId)===a.dataset.sessionId});if(!o.connected||!s||t.projectSlug!==o.currentSlug||t.projectSlug!==a.dataset.projectSlug||String(t.sessionId)!==a.dataset.sessionId)return!0;var i=new URL("/p/"+encodeURIComponent(s.slug)+"/?pane=1&session="+encodeURIComponent(s.sessionId),window.location.href).href;if(a.clayPane?!D(a,t):a.src!==i)return!0;var d=a.clayPane&&a.clayPane.identity().binding,c=a.contentDocument;function u(){var p=n.snap();return!p.connected||p.currentSlug!==o.currentSlug||p.myUserId!==o.myUserId||p.currentProjectOwnerId!==o.currentProjectOwnerId||p.projectSplitViewSocketGeneration!==o.projectSplitViewSocketGeneration||a.contentWindow!==e.source||a.contentDocument!==c||a.dataset.projectSlug!==t.projectSlug||String(a.dataset.sessionId)!==String(t.sessionId)||!Array.from(r.querySelectorAll(".split-pane-frame")).includes(a)?!1:d?!!a.clayPane&&D(a,t)&&a.clayPane.identity().binding===d:a.src===i&&!!(p.splitPanes&&p.splitPanes.panes.some(function(I){return String(I.slug)===s.slug&&String(I.sessionId)===String(s.sessionId)}))}return import("./chunk-ELL4UBGY.js").then(function(p){!u()||d&&!ie(a,d)||p.openSharedBrowserAt(t.url)}).catch(function(p){z(p.message||"Could not open the browser.","warn")}),!0}function te(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function le(e){if(typeof e!="string"||!e.startsWith("browser:")||e.length>8200)return null;var r=e.slice(8);if(!/^https?:\/\//i.test(r)||/[\u0000-\u0020]/.test(r))return null;try{var t=new URL(r);return t.username||t.password||!["http:","https:"].includes(t.protocol)?null:t.href}catch{return null}}function or(e,r,t){var o=le(e);if(!o)return null;var a=String(t||"").replace(/<[^>]*>/g,"").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim();return(!a||a===e||a===o)&&(a=new URL(o).host),'<button type="button" class="clay-browser-link clayos-record-link" data-browser-url="'+te(o)+'" data-browser-project="'+te(n.get("currentSlug")||"")+'" title="'+te("Open in Clay Browser \xB7 "+o)+'" aria-label="'+te("Open in Clay Browser: "+a)+'">'+v("globe")+"<span>Browser</span><small>"+te(a)+"</small></button>"}function Er(e){!e||typeof document>"u"||(e.querySelectorAll("a[href]").forEach(function(r){if(!r.closest("pre, code, button")){var t=or(r.getAttribute("href"),"",r.textContent);if(t){var o=document.createElement("template");o.innerHTML=t,r.replaceWith(o.content)}}}),ke(),R())}function ke(){n.get("browserLinksBound")||(n.set({browserLinksBound:!0}),document.addEventListener("click",function(e){var r=e.target.closest&&e.target.closest(".clay-browser-link");if(r){e.preventDefault(),e.stopPropagation();var t=le("browser:"+r.dataset.browserUrl);if(!t){z("This browser link is invalid.","warn");return}if(r.dataset.browserProject&&r.dataset.browserProject!==n.get("currentSlug")){z("Open this link from its original project.","warn");return}Ue(t)||import("./chunk-ELL4UBGY.js").then(function(o){o.openSharedBrowserAt(t)}).catch(function(o){z(o.message||"Could not open the browser.","warn")})}}))}function b(e){return Le(String(e)).replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function B(){return n.get("sharedBrowserSettings")||{}}function S(e){n.set({sharedBrowserSettings:Object.assign({},B(),e)})}function E(){return document.getElementById("shared-browser-settings")}function L(e,r,t,o){return'<button type="button" data-settings-action="'+r+'" data-target="'+b(t||"")+'" data-label="'+b(o||t||"")+'">'+b(e)+"</button>"}function Ie(e,r){var t=q();if(!t||t.readyState!==1){S({error:"Reconnect to manage browser data.",pending:!1}),O();return}var o=crypto.randomUUID();S({pending:!0,requestId:o,error:"",notice:""}),t.send(JSON.stringify({type:"shared_browser_settings",sessionId:n.get("activeSessionId"),requestId:o,operation:e,target:r})),O(),setTimeout(function(){B().requestId===o&&B().pending&&(S({pending:!1,error:"The request timed out. Refresh to check the saved state."}),O())},15e3)}function ne(e){var r=!!B().open;S({open:!1,review:null}),O();var t=document.querySelector('[data-action="settings"]');t&&r&&e!==!1&&t.focus()}function _e(){return'<section id="shared-browser-settings" class="shared-browser-settings" aria-label="Browser settings" hidden></section>'}function je(e){e.querySelector('[data-action="settings"]').onclick=function(){S({open:!0,page:"sites",data:null,review:null,filter:""}),Ie("list"),E().querySelector('[data-settings-action="back"]').focus()},E().addEventListener("keydown",function(r){r.key==="Escape"&&(r.preventDefault(),r.stopPropagation(),ne())}),E().addEventListener("input",function(r){r.target.matches("[data-settings-filter]")&&(S({filter:r.target.value}),Re(),E().dataset.key=JSON.stringify([B(),n.get("connected")]))}),E().addEventListener("click",function(r){var t=r.target.closest("[data-settings-action]");if(!(!t||t.disabled)){var o=t.dataset.settingsAction;if(o==="back"){ne();return}if(o==="sites"||o==="history"){S({page:o,filter:"",review:null,notice:"",error:""}),O();return}if(o==="refresh"){Ie("list");return}if(o==="cancel"){S({review:null}),O(),E().querySelector('[data-settings-action="refresh"]').focus();return}if(o==="confirm"){var a=B().review;a&&Ie(a.action,a.target);return}S({notice:"",error:"",review:{action:o,target:t.dataset.target,label:t.dataset.label||t.dataset.target}}),O(),E().querySelector('[data-settings-action="cancel"]').focus()}})}function Re(){var e=E(),r=B();if(!(!e||!r.open)){var t=e.querySelector(".browser-settings-rows");if(t){var o=(r.filter||"").toLowerCase(),a=r.data||{sites:[],history:[]};r.page==="history"?t.innerHTML=a.history.filter(function(s){return s.url.toLowerCase().includes(o)}).map(function(s){return'<div class="browser-settings-row"><div><span class="browser-settings-url">'+b(s.url)+"</span><small>"+b(new Date(s.at).toLocaleString())+"</small></div>"+L("Remove","delete_history",s.id,s.url)+"</div>"}).join(""):t.innerHTML=a.sites.filter(function(s){return s.host.toLowerCase().includes(o)}).map(function(s){return"<details><summary>"+b(s.host)+"<small>"+s.cookies.length+(s.cookies.length===1?" cookie \xB7 ":" cookies \xB7 ")+s.origins.length+(s.origins.length===1?" storage origin":" storage origins")+'</small></summary><div class="browser-settings-row"><span>Cookies and site storage</span>'+L("Remove site data","delete_site",s.host)+"</div>"+s.origins.map(function(i){return'<p class="browser-settings-origin">'+b(i.origin)+"<small>"+i.localStorage+" localStorage entries \xB7 "+i.databases+" IndexedDB databases</small></p>"}).join("")+s.cookies.map(function(i){var d=i.domain+i.path+" \xB7 "+(i.expires===-1?"Session cookie":"Expires "+new Date(i.expires*1e3).toLocaleDateString())+(i.httpOnly?" \xB7 HttpOnly":"")+(i.secure?" \xB7 Secure":"")+(i.partitioned?" \xB7 Partitioned":"");return'<div class="browser-settings-row"><div><span>'+b(i.name)+"</span><small>"+b(d)+"</small></div>"+L("Remove cookie","delete_cookie",i.id,i.name+" \xB7 "+i.domain+i.path)+"</div>"}).join("")+"</details>"}).join(""),t.innerHTML||(t.innerHTML='<p class="browser-settings-muted">'+(r.pending&&!r.data?"Loading saved data\u2026":o?"No matching entries.":r.page==="history"?"No saved browsing history.":"No saved cookies or site data.")+"</p>"),t.querySelectorAll("button").forEach(function(s){s.disabled=!!r.pending||!n.get("connected")})}}}function O(){var e=E();if(e){var r=B(),t=e.closest(".shared-browser-panel"),o=n.get("sharedBrowser"),a=t.querySelector('[data-action="settings"]');if(a.hidden=!(o&&o.personalCookiesAvailable),a.disabled=!n.get("connected"),a.setAttribute("aria-expanded",String(!!r.open)),e.hidden=!r.open,t.classList.toggle("browser-settings-open",!!r.open),!!r.open){var s=JSON.stringify([r,n.get("connected")]);if(e.dataset.key!==s){e.dataset.key=s;var i=r.page||"sites";e.innerHTML='<div class="browser-settings-heading">'+L("Back to browser","back")+'<h3>Browser settings</h3></div><p class="browser-settings-muted">Personal \xB7 Shared across your Mates. Incognito tabs do not save data here.</p><nav aria-label="Browser settings sections">'+L("Cookies & site data","sites")+L("History","history")+'</nav><p class="browser-settings-muted">'+(i==="sites"?"Cookies, localStorage and IndexedDB are saved for your account. New personal tabs restore saved site storage. Removing data may sign you out. Removals also apply to open personal tabs. Sites may create new data afterwards.":"Your latest 500 page visits. Clearing this list leaves open tabs, their Back/Forward navigation and conversation activity unchanged.")+'</p><div class="browser-settings-tools"><input data-settings-filter aria-label="Filter saved browser data" placeholder="'+(i==="sites"?"Find a site":"Find a page")+'" value="'+b(r.filter||"")+'">'+L("Refresh","refresh")+L(i==="sites"?"Clear all site data":"Clear history",i==="sites"?"clear_data":"clear_history")+'</div><p class="browser-settings-feedback" role="status">'+b(r.error||(n.get("connected")?r.pending?"Updating\u2026":r.notice||"":"Disconnected. Reconnect and refresh to see current saved data."))+"</p>"+(r.review?'<div class="browser-settings-review" role="group" aria-label="Confirm removal"><strong>'+(r.review.action.includes("history")?"Remove browsing history?":"Remove saved site data?")+"</strong><p>"+(r.review.action.includes("history")?"This removes "+(r.review.action==="clear_history"?"all saved visits":"this saved visit")+" from your personal history.":r.review.action==="delete_cookie"?"This removes "+b(r.review.label)+" across your personal Mate browsers and may sign you out.":"This removes "+(r.review.action==="clear_data"?"all cookies and site storage":"cookies and storage for "+b(r.review.target))+" across your personal Mate browsers and may sign you out.")+"</p>"+L("Cancel","cancel")+L("Remove","confirm")+"</div>":"")+'<div class="browser-settings-rows"></div>',e.querySelector('[data-settings-action="'+i+'"]').setAttribute("aria-current","page"),e.querySelectorAll("button").forEach(function(d){d.disabled=d.dataset.settingsAction!=="back"&&(!!r.pending||!n.get("connected"))}),Re()}}}}function De(e){if(!e.requestId||e.requestId!==B().requestId)return!1;if(e.type==="shared_browser_settings"){var r=!!B().review;S({data:e.settings,pending:!1,review:null,error:"",notice:r?"Removed from your saved browser data.":""})}else if(e.type==="shared_browser_error")S({pending:!1,error:e.error});else return!1;return O(),B().open&&r&&E().querySelector('[data-settings-action="refresh"]').focus(),!0}function Ne(e,r,t){var o=e.querySelector(".shared-browser-tabs"),a=n.get("sharedBrowsers")||[],s=n.get("sharedBrowser"),i=JSON.stringify([a.map(function(l){return[l.id,l.url,l.control,l.phase,l.incognito,l.personalCookiesAvailable,l.sourceSessionId,l.sourceRole,l.sourceTitle,l.sourceGeneration]}),s&&s.id,n.get("connected")]);if(o.dataset.key===i)return;var d=o.contains(document.activeElement)?document.activeElement:null,c=d&&d.dataset.browserId,u=d&&d.dataset.tabAction,p=o.dataset.selected,I=o.querySelector(".shared-browser-tab-list"),fe=I?I.scrollLeft:0;o.dataset.key=i,o.dataset.selected=s&&s.id||"",o.replaceChildren();var H=document.createElement("div");H.className="shared-browser-tab-list",H.setAttribute("role","presentation"),o.appendChild(H),a.forEach(function(l,_){var j=document.createElement("div");j.className="shared-browser-tab",j.setAttribute("role","presentation");var se=!!s&&s.id===l.id,w=document.createElement("button");w.type="button",w.setAttribute("role","tab"),w.dataset.browserId=l.id,w.dataset.tabAction="select",w.setAttribute("aria-selected",String(se)),w.tabIndex=se?0:-1;var g="New tab";try{l.url&&(g=new URL(l.url).hostname||"New tab")}catch{}var ge=l.sourceRole==="worker"?"Worker #"+l.sourceSessionId:"";ge&&(g=ge+" \xB7 "+g);var nr=l.phase==="ended"?"Ended":l.phase==="starting"?"Starting":l.control==="agent"?"You and Clay can control this tab":"Only you can control this tab. Clay is paused.",Ee=g+(ge?" \xB7 "+l.sourceTitle+" \xB7 Gen "+l.sourceGeneration:"")+" \xB7 "+(l.incognito===!1?"Personal browser":"Incognito")+" \xB7 "+nr,he=document.createElement("span");he.className="shared-browser-tab-label",he.textContent=g,w.innerHTML=v(l.personalCookiesAvailable&&l.incognito?"glasses":"globe"),w.appendChild(he),w.setAttribute("aria-label",Ee),w.setAttribute("data-tip",Ee),j.dataset.phase=l.phase,j.dataset.control=l.control,w.onclick=function(){r(l.id)},w.onkeydown=function(V){var ve=V.key==="ArrowRight"?(_+1)%a.length:V.key==="ArrowLeft"?(_+a.length-1)%a.length:V.key==="Home"?0:V.key==="End"?a.length-1:-1;ve<0||(V.preventDefault(),r(a[ve].id),o.querySelectorAll('[role="tab"]')[ve].focus())};var x=document.createElement("button");x.type="button",x.className="shared-browser-tab-close",x.innerHTML=v("x"),x.dataset.browserId=l.id,x.dataset.tabAction="close",x.setAttribute("aria-label","Close browser tab "+(_+1)),x.setAttribute("data-tip","Close tab"),x.disabled=!n.get("connected"),x.onclick=function(){t("close",{browserId:l.id})},j.append(w,x),H.appendChild(j)});function Q(l,_,j,se,w){var g=document.createElement("button");g.type="button",g.className="shared-browser-new-tab",g.innerHTML=v(l),g.dataset.tabAction=w,g.setAttribute("aria-label",_),g.setAttribute("data-tip",j),g.disabled=!n.get("connected"),g.onclick=function(){t("open",se)},o.appendChild(g)}Q("plus","New browser tab",s&&s.personalCookiesAvailable?"New tab \xB7 Personal browser":"New incognito tab",{newTab:!0},"new"),s&&s.personalCookiesAvailable&&Q("glasses","New incognito tab","New incognito tab \xB7 Site data is not saved",{newTab:!0,incognito:!0},"incognito"),R(),H.scrollLeft=fe;var y=Array.from(o.querySelectorAll("button")),we=d&&y.find(function(l){return l.dataset.browserId===c&&l.dataset.tabAction===u});d&&(we||o.querySelector('[aria-selected="true"]')||y[0]).focus({preventScroll:!0});var U=o.querySelector('[aria-selected="true"]');U&&p!==o.dataset.selected&&U.scrollIntoView({block:"nearest",inline:"nearest"})}function C(){var e=n.get("sharedBrowser");return e&&!e.handoff&&e.phase==="live"&&n.get("connected")}var We=50,Ve=2e3;function A(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function K(){var e=n.get("sharedBrowserUi")||{};clearTimeout(e.moveTimer),clearTimeout(e.wheelTimer),A({moveTimer:null,move:null,wheelTimer:null,wheelDelta:0,pointer:null,composing:!1})}function ze(e,r){function t(i){var d=e.getBoundingClientRect(),c=Math.min(d.width/e.width,d.height/e.height),u=(i.clientX-d.left-(d.width-e.width*c)/2)/c,p=(i.clientY-d.top-(d.height-e.height*c)/2)/c;return{x:Math.max(0,Math.min(e.width-1,u)),y:Math.max(0,Math.min(e.height-1,p))}}function o(){var i=n.get("sharedBrowserUi")||{};clearTimeout(i.moveTimer);var d=i.move;A({move:null,moveTimer:null}),d&&C()&&m(Object.assign({kind:"move"},d))}function a(){var i=n.get("sharedBrowserUi")||{};clearTimeout(i.wheelTimer);var d=i.wheelDelta||0;if(!C()){A({wheelDelta:0,wheelTimer:null});return}var c=Math.max(-Ve,Math.min(Ve,d)),u=d-c;A({wheelDelta:u,wheelTimer:u?setTimeout(a,We):null}),c&&m({kind:"wheel",deltaY:c})}e.addEventListener("pointermove",function(i){if(C()){var d=n.get("sharedBrowserUi")||{};A({move:t(i),moveTimer:d.moveTimer||setTimeout(o,40)})}}),e.addEventListener("pointerdown",function(i){!C()||i.button!==0||(i.preventDefault(),o(),a(),e.setPointerCapture(i.pointerId),A({pointer:i.pointerId}),r.focus({preventScroll:!0}),m(Object.assign({kind:"down"},t(i))))});function s(i){var d=n.get("sharedBrowserUi")||{};d.pointer===i.pointerId&&(o(),A({pointer:null}),C()&&m(Object.assign({kind:"up"},t(i))),e.hasPointerCapture(i.pointerId)&&e.releasePointerCapture(i.pointerId))}e.addEventListener("pointerup",s),e.addEventListener("pointercancel",s),e.addEventListener("lostpointercapture",s),e.addEventListener("wheel",function(i){if(C()){i.preventDefault();var d=n.get("sharedBrowserUi")||{};A({wheelDelta:(d.wheelDelta||0)+i.deltaY,wheelTimer:d.wheelTimer||setTimeout(a,We)})}},{passive:!1}),e.addEventListener("focus",function(){C()&&r.focus({preventScroll:!0})}),r.addEventListener("compositionstart",function(){A({composing:!0})}),r.addEventListener("compositionend",function(){A({composing:!1}),C()&&r.value&&m({kind:"text",text:r.value}),r.value=""}),r.addEventListener("input",function(){(n.get("sharedBrowserUi")||{}).composing||(C()&&r.value&&m({kind:"text",text:r.value}),r.value="")}),r.addEventListener("keydown",function(i){if(!(!C()||i.isComposing)){var d=i.key;(i.ctrlKey||i.metaKey)&&d.toLowerCase()==="a"?d="ControlOrMeta+A":d==="Tab"&&i.shiftKey&&(d="Shift+Tab"),/^(Tab|Shift\+Tab|Enter|Backspace|Delete|Escape|ArrowLeft|ArrowRight|ArrowUp|ArrowDown|Home|End|ControlOrMeta\+A)$/.test(d)&&(i.preventDefault(),m({kind:"key",key:d}))}})}function Ye(){return'<div class="shared-browser-activity"><div class="shared-browser-caption-history" role="log" aria-live="off" aria-label="Browser caption history" tabindex="0"></div><button type="button" class="shared-browser-caption-latest" hidden>Back to live \u2193</button><span class="shared-browser-caption-announcement" role="status" aria-live="polite"></span></div>'}function xe(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function sr(e,r,t){var o=e.querySelector(".shared-browser-activity"),a=e.querySelector(".shared-browser-caption-history"),s=e.querySelector(".shared-browser-caption-latest");a.dataset.bound||(a.dataset.bound="true",a.addEventListener("scroll",function(){var y=a.scrollHeight-a.clientHeight-a.scrollTop<20;xe({captionPinned:y}),o.dataset.reviewing=String(!y),s.hidden=y}),s.onclick=function(){a.scrollTop=a.scrollHeight,xe({captionPinned:!0}),s.hidden=!0,o.dataset.reviewing="false"});var i=r&&r.activityHistory||[];o.hidden=!i.length;var d=i[i.length-1],c=r&&r.id+":"+i.length+":"+(d?d.id+":"+d.phase+":"+d.text:"empty"),u=n.get("sharedBrowserUi")||{};if(u.captionHistoryKey!==c){var p=u.captionBrowserId!==(r&&r.id),I=p||u.captionPinned!==!1,fe=a.scrollTop;a.replaceChildren(),i.forEach(function(y,we){var U=document.createElement("div");U.className="shared-browser-caption-row",U.dataset.age=String(Math.min(i.length-we-1,3));var l=document.createElement("span");if(l.className="shared-browser-activity-text",l.textContent=y.text,U.appendChild(l),y.phase==="failed"||y.phase==="interrupted"){var _=document.createElement("small");_.textContent=y.phase==="failed"?"This step could not be completed.":"This step was interrupted.",U.appendChild(_)}a.appendChild(U)}),xe({captionHistoryKey:c,captionBrowserId:r&&r.id,captionPinned:I}),a.scrollTop=I?a.scrollHeight:fe,s.hidden=I,o.dataset.reviewing=String(!I);var H=e.querySelector(".shared-browser-caption-announcement"),Q=t&&d?d.text+(d.phase==="failed"?" This step could not be completed.":""):"";H.textContent!==Q&&(H.textContent=Q)}}function Fe(e,r,t){var o=r&&r.phase==="live"&&r.control==="agent"&&!r.handoff&&t;sr(e,r,o);var a=e.querySelector("canvas"),s=o&&r.pointer,i=e.querySelector(".shared-browser-pointer");if(i.hidden=!s||s.width!==a.width||s.height!==a.height,!i.hidden){i.style.left=100*s.x/a.width+"%",i.style.top=100*s.y/a.height+"%";var d=r.id+":"+r.epoch+":"+s.sequence;(n.get("sharedBrowserUi")||{}).pointerAnimationKey!==d&&(n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),{pointerAnimationKey:d})}),s.clicked&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&i.querySelector("i").animate([{opacity:.8,transform:"scale(.3)"},{opacity:0,transform:"scale(1.8)"}],{duration:650}))}}var qe=["1280,800","1440,900","1024,768","800,600","375,667","390,844"];function ar(){return document.getElementById("shared-browser-resolution")}function Ke(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),{viewportMenuOpen:e})});var r=ar();r&&(r.querySelector("[data-viewport-trigger]").setAttribute("aria-expanded",String(e)),r.querySelector('[role="menu"]').hidden=!e)}function T(){Ke(!1)}function Je(){return'<div id="shared-browser-resolution" class="shared-browser-resolution"><button type="button" data-viewport-trigger aria-label="Browser viewport" aria-haspopup="menu" aria-expanded="false" aria-controls="shared-browser-resolutions"><span>1280 \xD7 800</span>'+v("chevron-up")+'</button><div id="shared-browser-resolutions" class="shared-browser-resolution-menu" role="menu" aria-label="Browser resolutions" hidden></div></div>'}function Ge(e,r,t){var o=e.querySelector(".shared-browser-resolution"),a=o.querySelector("[data-viewport-trigger]");a.disabled=!t,(!t||!n.get("sharedBrowserOpen"))&&T();var s=r?r.width+","+r.height:"1280,800";a.querySelector("span").textContent=s.replace(","," \xD7 ");var i=o.querySelector('[role="menu"]');if(i.dataset.size!==s){i.dataset.size=s;var d=qe.includes(s)?qe:qe.concat([s]);i.replaceChildren(),d.forEach(function(c){var u=document.createElement("button");u.type="button",u.setAttribute("role","menuitemradio"),u.setAttribute("aria-checked",String(c===s)),u.dataset.size=c,u.tabIndex=-1,u.textContent=c.replace(","," \xD7 "),u.setAttribute("aria-label",u.textContent),i.appendChild(u)})}}function Qe(e){var r=e.querySelector(".shared-browser-resolution"),t=r.querySelector("[data-viewport-trigger]"),o=r.querySelector('[role="menu"]');function a(s){if(!t.disabled){Ke(!0);var i=o.querySelectorAll("button"),d=o.querySelector('[aria-checked="true"]');(s?i[i.length-1]:d||i[0]).focus()}}t.onclick=function(){(n.get("sharedBrowserUi")||{}).viewportMenuOpen?T():a(!1)},t.onkeydown=function(s){(s.key==="ArrowDown"||s.key==="ArrowUp")&&(s.preventDefault(),a(s.key==="ArrowUp"))},o.onclick=function(s){var i=s.target.closest("[data-size]");if(!(!i||t.disabled)){var d=i.dataset.size.split(",");T(),t.focus(),m({kind:"resize",width:Number(d[0]),height:Number(d[1])})}},r.addEventListener("keydown",function(s){if(s.key==="Escape"){s.preventDefault(),s.stopPropagation(),T(),t.focus();return}if(s.key==="Tab"){T();return}if(!(s.target===t||!["ArrowDown","ArrowUp","Home","End"].includes(s.key))){s.preventDefault();var i=Array.from(o.querySelectorAll("button")),d=i.indexOf(document.activeElement);d=s.key==="Home"?0:s.key==="End"?i.length-1:(d+(s.key==="ArrowDown"?1:-1)+i.length)%i.length,i[d].focus()}}),document.addEventListener("pointerdown",function(s){r.contains(s.target)||T()}),r.addEventListener("focusout",function(s){r.contains(s.relatedTarget)||T()})}function W(){return window.matchMedia("(min-width: 1024px)").matches}function Ze(){var e=n.get("permissions");return W()&&!!n.get("currentSlug")&&!n.get("dmMode")&&(!e||e.terminal!==!1)}function oe(){return Ze()&&!!n.get("activeSessionId")}function G(){return document.getElementById("shared-browser-panel")}function k(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function f(e,r){var t=n.get("sharedBrowser"),o=de(e,Object.assign({browserId:t&&t.id,epoch:t&&t.epoch},r||{}));if(o!==null)return o;var a=q();return!a||a.readyState!==1||!n.get("activeSessionId")?!1:(a.send(JSON.stringify(Object.assign({type:"shared_browser_"+e,sessionId:n.get("activeSessionId"),browserId:t&&t.id,epoch:t&&t.epoch},r||{}))),!0)}function m(e){k({error:""}),f("input",{event:e})}function $e(){var e=G();if(!(!e||!n.get("sharedBrowserOpen"))){var r=e.querySelector(".shared-browser-viewport"),t=e.querySelector("canvas"),o=t.width===800&&t.height===600?"mac":t.width===1024&&t.height===768?"crt":t.width<t.height?"phone":"laptop";r.dataset.skin=o;var a=Math.min((r.clientWidth-96)/t.width,(r.clientHeight-140-e.querySelector(".shared-browser-caption").offsetHeight)/t.height,1);if(!(a<=0)){var s=e.querySelector(".shared-browser-monitor");s.style.width=Math.floor(t.width*a)+"px",s.style.height=Math.floor(t.height*a)+"px",e.querySelector(".shared-browser-monitor-label").textContent=t.width+" \xD7 "+t.height+" \xB7 "+Math.round(a*100)+"%"}}}function N(e,r,t){return'<button type="button" data-action="'+e+'" title="'+t+'" aria-label="'+t+'">'+v(r)+"</button>"}function ue(){if(!G()){var e=document.getElementById("main-panels");if(e){var r=document.createElement("section");r.id="shared-browser-panel",r.className="shared-browser-panel hidden",r.setAttribute("aria-label","Shared browser"),r.innerHTML='<header class="shared-browser-header"><span class="shared-browser-title">'+v("globe")+'Browser</span><span class="shared-browser-phase" role="status">Ready</span><div class="shared-browser-window">'+N("settings","settings-2","Browser settings")+N("wide","chevrons-left-right","Widen browser panel")+N("fullscreen","maximize-2","Toggle browser fullscreen")+N("hide","x","Hide browser panel")+'</div></header><div class="shared-browser-tabs" role="tablist" aria-label="Browser tabs"></div><form class="shared-browser-address">'+N("back","arrow-left","Back")+N("forward","arrow-right","Forward")+N("reload","rotate-cw","Reload")+'<input aria-label="Browser address" placeholder="Enter a URL" type="text" autocomplete="off" spellcheck="false"><button type="submit" aria-label="Open address">'+v("arrow-right")+"</button></form>"+_e()+'<div class="shared-browser-viewport"><div class="shared-browser-monitor"><div class="shared-browser-pointer-layer" aria-hidden="true"><div class="shared-browser-pointer" hidden><svg viewBox="0 0 24 28"><path d="M3 2 L3 22 L8 17 L12 26 L16 24 L12 15 L20 15 Z"/></svg><i></i></div></div><canvas width="1280" height="800" tabindex="0" aria-label="Shared browser page"></canvas><div class="shared-browser-empty">'+v("globe")+'<h3>A browser you can use with Clay</h3><p>Enter an address to browse together.<br>Localhost connects to the Clay host.</p><p class="shared-browser-private">Site data lasts only for this browser session.</p></div><textarea class="shared-browser-keyboard" aria-label="Type into shared browser" autocomplete="off" autocapitalize="off" spellcheck="false"></textarea><span class="shared-browser-monitor-brand" aria-hidden="true">Clay Studio</span><span class="shared-browser-monitor-detail" aria-hidden="true"></span><span class="shared-browser-monitor-stand" aria-hidden="true"></span></div><div class="shared-browser-caption"><span class="shared-browser-monitor-label"></span>'+Ye()+'</div></div><p class="shared-browser-error hidden" role="status"></p><footer class="shared-browser-footer"><div class="shared-browser-control"><span class="shared-browser-control-status" role="status" aria-live="polite">You and Clay can control this browser</span><button type="button" data-action="control" aria-pressed="false"></button></div><div class="shared-browser-details"><span class="shared-browser-cookie-mode"></span>'+Je()+'<button type="button" data-action="end">End browser</button></div></footer>',e.appendChild(r),r.querySelector('[data-action="hide"]').onclick=J,r.querySelector('[data-action="wide"]').onclick=function(){var o=!(n.get("sharedBrowserUi")||{}).wide;k({wide:o}),h()},r.querySelector('[data-action="fullscreen"]').onclick=function(){var o=!(n.get("sharedBrowserUi")||{}).fullscreen;tr(o),me("browser",o)},["back","forward","reload"].forEach(function(o){r.querySelector('[data-action="'+o+'"]').onclick=function(){m({kind:o})}}),r.querySelector("form").onsubmit=function(o){o.preventDefault(),m({kind:"navigate",url:r.querySelector("form input").value})},r.querySelector('[data-action="control"]').onclick=function(){var o=n.get("sharedBrowser");o&&f("control",{control:o.control==="user"?"agent":"user"})},r.querySelector('[data-action="end"]').onclick=function(){var o=n.get("sharedBrowser");f(o&&o.phase==="ended"?"open":"end",o&&o.phase==="ended"?{incognito:o.incognito}:void 0)},Qe(r),je(r);var t=new ResizeObserver($e);t.observe(r.querySelector(".shared-browser-viewport")),ze(r.querySelector("canvas"),r.querySelector("textarea")),R()}}}function ce(){var e=n.get("sharedBrowser"),r=(n.get("sharedBrowsers")||[]).length,t=!!n.get("connected")&&!!n.get("activeSessionId"),o=n.get("connected")?n.get("activeSessionId")?e?"View browser":"Open browser":"Browser \xB7 Loading session\u2026":"Browser \xB7 Connecting\u2026";["shared-browser-btn","shared-browser-toggle-btn"].forEach(function(a){var s=document.getElementById(a);if(s){var i=a==="shared-browser-toggle-btn"&&t&&n.get("sharedBrowserOpen")?"Hide browser":o;if(a==="shared-browser-toggle-btn"){var d=s.querySelector(".shared-browser-count");d&&(d.textContent=String(r),d.classList.toggle("hidden",r===0)),r&&(i+=" \xB7 "+r+(r===1?" tab":" tabs"))}s.classList.toggle("hidden",!Ze()),s.title=t&&e?i+" \xB7 "+e.phase:i,s.setAttribute("aria-label",i),s.setAttribute("aria-expanded",String(!!n.get("sharedBrowserOpen"))),s.disabled=!t}})}function ir(e,r,t){return t?r?e.handoff?"Switching control\u2026":e.control==="user"?"Only you can control this browser. Clay is paused.":e.activity&&e.activity.phase==="running"?"Clay is working. You can also use this browser":"You and Clay can control this browser":e&&e.phase==="starting"?"Starting\u2026":"Ended":"Disconnected. Status returns on reconnect."}function dr(e,r,t,o){var a=e.querySelector(".shared-browser-control-status"),s=ir(r,t,o);a.textContent!==s&&(a.textContent=s);var i=e.querySelector('[data-action="control"]'),d=!!r&&r.control==="user",c=String(d);i.dataset.mode!==c&&(i.dataset.mode=c,i.innerHTML=v(d?"lock":"lock-open")+"<span>"+(d?"Resume shared control":"Pause Clay control")+"</span>",R()),i.title=d?"Let Clay act in this browser again. You keep control too.":"Make this browser exclusively yours until you resume shared control. You can use it either way.",i.setAttribute("aria-pressed",String(d))}function h(){ce();var e=G();if(e){Ne(e,lr,f);var r=n.get("sharedBrowser"),t=n.get("sharedBrowserUi")||{},o=n.get("connected"),a=r&&r.phase==="live",s=a&&!r.handoff&&o;e.classList.toggle("hidden",!n.get("sharedBrowserOpen")||!oe()),e.classList.toggle("shared-browser-wide",!!t.wide),e.classList.toggle("panel-fullscreen",!!t.fullscreen),e.querySelector('[data-action="wide"]').setAttribute("aria-pressed",t.wide?"true":"false"),e.querySelector('[data-action="fullscreen"]').setAttribute("aria-pressed",t.fullscreen?"true":"false"),e.querySelector(".shared-browser-phase").textContent=o?r?{starting:"Starting\u2026",live:"Live",ended:"Ended \xB7 Last frame"}[r.phase]:"Ready":"Disconnected",e.querySelector(".shared-browser-phase").dataset.live=a&&o?"true":"false",e.querySelector(".shared-browser-monitor").dataset.live=a&&o?"true":"false";var i=e.querySelector("form input");document.activeElement!==i&&(i.value=r?r.url:""),e.querySelectorAll("form input, form button").forEach(function(u){u.disabled=!s}),e.querySelector("textarea").disabled=!s,e.querySelector("canvas").style.cursor=s?"default":"not-allowed",dr(e,r,a,o),e.querySelector('[data-action="control"]').disabled=!a||!!r.handoff||!o,e.querySelector('[data-action="control"]').hidden=!a,e.querySelector('[data-action="end"]').disabled=!r||!o,e.querySelector('[data-action="end"]').textContent=r&&r.phase==="ended"?"New browser":"End browser";var d=r&&r.incognito===!1;e.querySelector(".shared-browser-cookie-mode").textContent=d?"Personal browser":"Incognito",e.querySelector(".shared-browser-cookie-mode").title=d?"Cookies and site storage are saved for your account across your Mates.":"Cookies and site storage are isolated and discarded when this tab ends.",e.querySelector(".shared-browser-private").textContent=d?"Your cookies and site storage are remembered across your Mates and browser restarts.":"Site data lasts only for this browser session.";var c=t.error||r&&r.error||"";e.querySelector(".shared-browser-error").textContent=c,e.querySelector(".shared-browser-error").classList.toggle("hidden",!c),e.querySelector(".shared-browser-empty").classList.toggle("hidden",!!(r&&r.url&&t.hasFrame)),Ge(e,r,s),O(),Fe(e,r,o),$e()}}function pe(e){var r=n.get("sharedBrowser");if(n.set({sharedBrowser:e}),!r||!e||r.id!==e.id){K(),T(),k({hasFrame:!1,error:"",decoding:!1,captionHistoryKey:null});var t=G();t&&t.querySelector("canvas").getContext("2d").clearRect(0,0,1920,1200)}else r.epoch!==e.epoch&&K()}function lr(e){var r=(n.get("sharedBrowsers")||[]).find(function(t){return t.id===e});r&&(pe(r),f("view",{visible:W()&&!document.hidden}),h())}function er(){return JSON.stringify([n.get("myUserId"),n.get("currentSlug"),n.get("projectSplitViewActiveId"),n.get("sessionOriginId"),n.get("projectSplitViewSocketGeneration")])}function rr(e){n.set({pendingBrowserOpen:null}),!f("open",e)&&n.set({pendingBrowserOpen:{context:er(),socket:q(),fields:e||{},expires:Date.now()+15e3}})}function cr(){var e=n.get("pendingBrowserOpen");if(e){if(e.context!==er()||e.socket!==q()||e.expires<Date.now()||!n.get("connected")||!n.get("sharedBrowserOpen")){n.set({pendingBrowserOpen:null});return}F()&&(n.set({pendingBrowserOpen:null}),f("open",e.fields)||n.set({pendingBrowserOpen:e}))}}function ot(e){F();var r=le("browser:"+e);if(!r)throw new Error("Enter a valid HTTP or HTTPS browser address.");if(!W())throw new Error("Clay Browser is available on desktop screens.");if(!oe())throw new Error("Browser access is unavailable in this conversation.");if(!n.get("connected"))throw new Error("Reconnect before opening this browser link.");ue(),ne(!1),Z("browser"),n.set({sharedBrowserOpen:!0}),k({error:""}),rr({url:r}),h()}function Xe(){if(F(),!(!oe()||!n.get("connected"))){ue(),Z("browser"),n.set({sharedBrowserOpen:!0});var e=n.get("sharedBrowser");e?f("view",{visible:!0}):rr(),h()}}function J(){tr(!1),me("browser",!1),n.get("savedWorkspaceApplying")||n.set({pendingBrowserOpen:null}),T(),ne(),K(),n.get("sharedBrowserOpen")&&f("view",{visible:!1}),n.set({sharedBrowserOpen:!1}),be("browser"),h()}function ur(e,r){if(!e.type||e.type.indexOf("shared_browser_")!==0)return!1;if(Me(e)||Pe()&&!r||String(e.sessionId)!==String(Be()||n.get("activeSessionId"))||De(e))return!0;if(e.type==="shared_browser_state"){var t=n.get("sharedBrowser"),o=e.browsers||(e.browser?[e.browser]:[]);n.set({sharedBrowsers:o});var a=!e.focus&&t&&o.find(function(u){return u.id===t.id});a=a||e.browser||o[0]||null,pe(a),n.set({savedViewBrowserListReady:!0}),e.present&&oe()&&(ue(),Z("browser"),n.set({sharedBrowserOpen:!0})),n.get("sharedBrowserOpen")&&a&&f("view",{visible:W()&&!document.hidden}),h()}else if(e.type==="shared_browser_error")k({error:e.error}),h();else if(e.type==="shared_browser_frame"){var s=n.get("sharedBrowser");if(!W()||!n.get("sharedBrowserOpen")||!s||s.id!==e.browserId||(n.get("sharedBrowserUi")||{}).decoding)return!0;var i=n.get("activeSessionId"),d=ae();k({decoding:!0});var c=new Image;c.onload=function(){var u=n.get("sharedBrowser");if(u&&u.id===e.browserId&&ae()===d&&n.get("activeSessionId")===i&&G()){var p=G().querySelector("canvas");p.width=c.naturalWidth,p.height=c.naturalHeight,p.getContext("2d").drawImage(c,0,0),k({decoding:!1,hasFrame:!0}),h(),Ce(e,p,null,p)}},c.onerror=function(){ae()===d&&n.get("activeSessionId")===i&&k({decoding:!1})},c.src="data:image/jpeg;base64,"+e.data}return!0}function st(){He(ur,function(t){var o=n.get("savedWorkspaceApplying");n.set({savedWorkspaceApplying:!0,savedViewBrowserListReady:!1});try{K(),pe(null),n.set({sharedBrowsers:[],sharedBrowserUi:{},sharedBrowserSettings:{}}),t||J(),h()}finally{n.set({savedWorkspaceApplying:o})}}),document.addEventListener("clay-pane-ready",function(){queueMicrotask(cr)},!0),ke();var e=document.getElementById("shared-browser-btn");e&&(e.onclick=Xe);var r=document.getElementById("shared-browser-toggle-btn");r&&(r.onclick=function(){n.get("sharedBrowserOpen")?J():Xe()}),window.matchMedia("(min-width: 1024px)").addEventListener("change",function(){W()||J(),ce()}),document.addEventListener("visibilitychange",function(){n.get("sharedBrowserOpen")&&f("view",{visible:!document.hidden&&W()})}),R(),ce(),n.get("connected")&&f("state_request")}Ae("browser",J);n.subscribe(function(e,r){if(e.currentSlug!==r.currentSlug||e.activeSessionId!==r.activeSessionId||e.myUserId!==r.myUserId){if(Be()!==null){h();return}K(),be("browser"),n.set({sharedBrowser:null,sharedBrowsers:[],savedViewBrowserListReady:!1,sharedBrowserOpen:!1,sharedBrowserUi:{},sharedBrowserSettings:{}}),e.connected&&f("state_request"),h()}else e.connected!==r.connected?(n.set({savedViewBrowserListReady:!1}),e.connected&&f("state_request"),h()):(e.permissions!==r.permissions||e.dmMode!==r.dmMode)&&(oe()||J(),ce())});function at(e){if(Se()&&!F())return"pending";if(!n.get("savedViewBrowserListReady"))return f("state_request"),"pending";if(!n.get("connected")||!n.get("controlRuntimeId"))return"pending";ue();var r=(n.get("sharedBrowsers")||[]).find(function(o){return o.id===e.id&&o.phase!=="ended"}),t=r&&e.runtimeId===n.get("controlRuntimeId")&&e.sessionOriginId===n.get("sessionOriginId");return Z("browser"),n.set({sharedBrowserOpen:!0}),t?(pe(r),f("view",{visible:!0}),k({error:""}),h(),"restored"):(k({error:"This saved browser is unavailable in the current conversation. No replacement browser was opened."}),h(),"unavailable")}function tr(e){k({fullscreen:!!e}),document.getElementById("shared-browser-panel")&&h()}export{gr as a,m as b,ot as c,Xe as d,J as e,ur as f,st as g,at as h,tr as i,Sr as j,or as k,Er as l};
@@ -1 +1 @@
1
- import{$c as a,ad as b,bd as c,cd as d,dd as e,ed as f,fd as g,gd as h,hd as i,id as j,jd as k,kd as l,ld as m,md as n,nd as o}from"./chunk-FQQMXMH7.js";import"./chunk-U5GH2UJM.js";import"./chunk-JIV7O5GN.js";import"./chunk-YE45RR7W.js";import"./chunk-42C2CZEP.js";import"./chunk-XI2DJM4H.js";import"./chunk-R7QVVFUG.js";import"./chunk-E6NRPGVH.js";import"./chunk-VZ2OKDAO.js";export{c as closeTerminal,j as handleTermClosed,e as handleTermCreated,i as handleTermExited,d as handleTermList,g as handleTermOutput,h as handleTermResized,f as handleTerminalProjection,a as initTerminal,b as openTerminal,k as resetTerminals,n as restoreExistingTerminal,l as sendTerminalCommand,o as setTerminalExpanded,m as setTerminalTheme};
1
+ import{$c as a,ad as b,bd as c,cd as d,dd as e,ed as f,fd as g,gd as h,hd as i,id as j,jd as k,kd as l,ld as m,md as n,nd as o}from"./chunk-FILRACQB.js";import"./chunk-L3FCTD7U.js";import"./chunk-JIV7O5GN.js";import"./chunk-YFUORWA6.js";import"./chunk-RRYWV5JT.js";import"./chunk-YXJ7ISEK.js";import"./chunk-R7QVVFUG.js";import"./chunk-SEELA2D2.js";import"./chunk-VZ2OKDAO.js";export{c as closeTerminal,j as handleTermClosed,e as handleTermCreated,i as handleTermExited,d as handleTermList,g as handleTermOutput,h as handleTermResized,f as handleTerminalProjection,a as initTerminal,b as openTerminal,k as resetTerminals,n as restoreExistingTerminal,l as sendTerminalCommand,o as setTerminalExpanded,m as setTerminalTheme};