clay-server 5.3.0-beta.6 → 5.3.0

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 (111) hide show
  1. package/lib/project-admin-overview.js +22 -11
  2. package/lib/project-background-tasks.js +76 -0
  3. package/lib/project-connection.js +1 -1
  4. package/lib/project-sessions.js +12 -5
  5. package/lib/project-split-views.js +12 -3
  6. package/lib/project-view-store.js +7 -5
  7. package/lib/project-worker-conversation.js +5 -0
  8. package/lib/public/app.js +7 -0
  9. package/lib/public/css/contextual-clay.css +2 -1
  10. package/lib/public/css/mate-conversation.css +1 -1
  11. package/lib/public/css/pending-message-queue.css +24 -19
  12. package/lib/public/css/project-admin-overview.css +42 -13
  13. package/lib/public/css/shared-browser.css +31 -8
  14. package/lib/public/css/split-view-layout.css +92 -7
  15. package/lib/public/css/tool-pane.css +4 -7
  16. package/lib/public/index.html +5 -5
  17. package/lib/public/modules/agent-message-bubbles.js +96 -0
  18. package/lib/public/modules/app-header.js +6 -0
  19. package/lib/public/modules/app-messages.js +26 -9
  20. package/lib/public/modules/background-task-previews.js +8 -0
  21. package/lib/public/modules/background-task-viewer.js +97 -0
  22. package/lib/public/modules/background-tasks-ui.js +34 -125
  23. package/lib/public/modules/chat-bubble-renderer.js +11 -5
  24. package/lib/public/modules/contextual-clay-geometry.js +7 -3
  25. package/lib/public/modules/pane-activation.js +5 -3
  26. package/lib/public/modules/pane-header-tooltips.js +32 -0
  27. package/lib/public/modules/pending-message-queue-drag.js +69 -0
  28. package/lib/public/modules/pending-message-queue.js +3 -33
  29. package/lib/public/modules/permission-control.js +6 -5
  30. package/lib/public/modules/project-admin-overview.js +125 -10
  31. package/lib/public/modules/project-grouping.js +9 -0
  32. package/lib/public/modules/server-settings-controls.js +33 -4
  33. package/lib/public/modules/session-folder-toolbar.js +1 -1
  34. package/lib/public/modules/session-tool-item.js +86 -0
  35. package/lib/public/modules/settings-select.js +2 -1
  36. package/lib/public/modules/shared-browser-tabs.js +37 -21
  37. package/lib/public/modules/sidebar-projects.js +1 -10
  38. package/lib/public/modules/split-session-empty-pane.js +47 -0
  39. package/lib/public/modules/split-view-create-menu.js +74 -65
  40. package/lib/public/modules/split-view-layout-scope.js +4 -0
  41. package/lib/public/modules/split-view-picker-actions.js +71 -0
  42. package/lib/public/modules/split-view-picker-render.js +81 -0
  43. package/lib/public/modules/split-view-presentation-renderer.js +8 -8
  44. package/lib/public/modules/split-view-worker-activity.js +2 -2
  45. package/lib/public/modules/split-view-worker-transcript.js +70 -33
  46. package/lib/public/modules/split-view-workers.js +6 -4
  47. package/lib/public/modules/terminal-viewport.js +14 -0
  48. package/lib/public/modules/terminal.js +3 -4
  49. package/lib/public/modules/theme-palette.js +177 -0
  50. package/lib/public/modules/theme.js +1 -174
  51. package/lib/public/modules/tool-pane-chrome.js +7 -1
  52. package/lib/public/modules/tools.js +5 -89
  53. package/lib/public/modules/tooltip.js +32 -6
  54. package/lib/public/modules/wireframe-workbench.js +2 -2
  55. package/lib/public/modules/worker-message-previews.js +39 -0
  56. package/lib/public/pane-assets/app-5W6KJXK5.js +1 -0
  57. package/lib/public/pane-assets/chunk-2IJUTAB6.js +2 -0
  58. package/lib/public/pane-assets/{chunk-BMHTBRMO.js → chunk-7OVNC5HT.js} +1 -1
  59. package/lib/public/pane-assets/chunk-BQN7B62H.js +3 -0
  60. package/lib/public/pane-assets/{chunk-2AIWCI6Y.js → chunk-EMLN2Y7L.js} +1 -1
  61. package/lib/public/pane-assets/{chunk-VKYBAVWT.js → chunk-ENPAHXLB.js} +1 -1
  62. package/lib/public/pane-assets/chunk-EPBGGZRT.js +1 -0
  63. package/lib/public/pane-assets/chunk-EYTE56IA.js +1 -0
  64. package/lib/public/pane-assets/{chunk-6NYCNWVF.js → chunk-FQTNR4ZS.js} +1 -1
  65. package/lib/public/pane-assets/chunk-L6LSA5WI.js +1 -0
  66. package/lib/public/pane-assets/chunk-M57UIGZV.js +1 -0
  67. package/lib/public/pane-assets/chunk-MGTFTEJP.js +1 -0
  68. package/lib/public/pane-assets/chunk-MMG6MYCN.js +1 -0
  69. package/lib/public/pane-assets/chunk-MZLMEXMW.js +1 -0
  70. package/lib/public/pane-assets/chunk-OG3E5SVA.js +166 -0
  71. package/lib/public/pane-assets/chunk-RGAFZ3T2.js +1 -0
  72. package/lib/public/pane-assets/chunk-RNDRURMF.js +1 -0
  73. package/lib/public/pane-assets/{chunk-PV4PCH2V.js → chunk-SJOT74VW.js} +1 -1
  74. package/lib/public/pane-assets/{chunk-LDIZLKB2.js → chunk-SJTGHIN5.js} +1 -1
  75. package/lib/public/pane-assets/chunk-SLMAFKI2.js +1 -0
  76. package/lib/public/pane-assets/chunk-U3I5KY3B.js +1 -0
  77. package/lib/public/pane-assets/{chunk-VNAV23CM.js → chunk-UPXU2IPC.js} +1 -1
  78. package/lib/public/pane-assets/{chunk-TMGSDFJI.js → chunk-VEBYD7TL.js} +1 -1
  79. package/lib/public/pane-assets/chunk-XBHYNXXT.js +1 -0
  80. package/lib/public/pane-assets/manifest.json +411 -399
  81. package/lib/public/pane-assets/style-BSKKK54Q.css +1 -0
  82. package/lib/sdk-message-processor.js +5 -2
  83. package/lib/server-storage.js +27 -3
  84. package/lib/server.js +4 -2
  85. package/lib/sessions.js +1 -1
  86. package/lib/storage-usage.js +29 -7
  87. package/lib/terminal-manager.js +2 -2
  88. package/lib/worker-message-previews.js +50 -0
  89. package/lib/ws-schema.js +1 -1
  90. package/lib/yoke/adapters/claude-worker.js +8 -0
  91. package/lib/yoke/adapters/claude.js +17 -2
  92. package/lib/yoke/claude-task-reader.js +94 -0
  93. package/lib/yoke/interface.js +1 -0
  94. package/package.json +1 -1
  95. package/lib/public/pane-assets/app-7UZ727NA.js +0 -1
  96. package/lib/public/pane-assets/chunk-6MIHIQ2W.js +0 -1
  97. package/lib/public/pane-assets/chunk-6UJ2ALOB.js +0 -1
  98. package/lib/public/pane-assets/chunk-6XK2OATZ.js +0 -1
  99. package/lib/public/pane-assets/chunk-BKIDR2ME.js +0 -1
  100. package/lib/public/pane-assets/chunk-GEFCFZEN.js +0 -1
  101. package/lib/public/pane-assets/chunk-GN2NQEVC.js +0 -2
  102. package/lib/public/pane-assets/chunk-IMLMBPT4.js +0 -166
  103. package/lib/public/pane-assets/chunk-K5S6AILM.js +0 -1
  104. package/lib/public/pane-assets/chunk-OWNNLZ36.js +0 -1
  105. package/lib/public/pane-assets/chunk-P2C3LOWL.js +0 -3
  106. package/lib/public/pane-assets/chunk-R4LMPTKU.js +0 -1
  107. package/lib/public/pane-assets/chunk-VWTHIQCE.js +0 -1
  108. package/lib/public/pane-assets/chunk-WM3K5AFH.js +0 -1
  109. package/lib/public/pane-assets/chunk-XOB3O327.js +0 -1
  110. package/lib/public/pane-assets/chunk-XOOUCFYT.js +0 -1
  111. package/lib/public/pane-assets/style-ZM7OOU3M.css +0 -1
@@ -9,7 +9,7 @@ import { mountWireframeViewport } from './wireframe-viewport.js';
9
9
  function panel() { return document.getElementById('wireframe-panel'); }
10
10
  export function closeWireframe() {
11
11
  releaseRightWorkbench('wireframe');
12
- if (panel()) panel().remove();
12
+ if (panel()) { panel().dispatchEvent(new Event('clay-tool-pane-dispose')); panel().remove(); }
13
13
  store.set({ wireframeDraft: null });
14
14
  }
15
15
 
@@ -116,7 +116,7 @@ function draw(draft, el) {
116
116
  }
117
117
  registerRightWorkbench('wireframe', closeWireframe);
118
118
  store.subscribe(function (state, previous) {
119
- if (state.currentSlug !== previous.currentSlug || state.activeSessionId !== previous.activeSessionId || state.myUserId !== previous.myUserId) closeWireframe();
119
+ if (state.currentSlug !== previous.currentSlug || state.myUserId !== previous.myUserId) closeWireframe();
120
120
  });
121
121
 
122
122
  export function restoreWireframeWorkbench() {
@@ -0,0 +1,39 @@
1
+ import { store } from './store.js';
2
+ import { getWs } from './ws-ref.js';
3
+ import { bindAgentMessageBubble, messagePreviewKey, rememberAgentMessage } from './agent-message-bubbles.js';
4
+
5
+ var scheduled = false;
6
+ function targets() {
7
+ var found = [];
8
+ document.querySelectorAll('.split-view-worker-chip[data-worker-parent]').forEach(function (chip) {
9
+ if (!chip.getClientRects().length || chip.closest('[hidden], .split-pane-cached')) return;
10
+ var target = { parentSessionOriginId: chip.dataset.workerParent, workerSessionOriginId: chip.dataset.workerOrigin, generation: Number(chip.dataset.workerGeneration) };
11
+ bindAgentMessageBubble(chip, messagePreviewKey('worker', [target.parentSessionOriginId, target.workerSessionOriginId, target.generation]));
12
+ found.push(target);
13
+ });
14
+ return found.slice(0, 32);
15
+ }
16
+ export function syncWorkerMessagePreviews() {
17
+ if (scheduled || store.get('paneMode')) return;
18
+ scheduled = true;
19
+ requestAnimationFrame(function () {
20
+ scheduled = false; var socket = getWs(); if (!store.get('connected') || !socket || socket.readyState !== 1) return;
21
+ var list = targets(), signature = JSON.stringify([store.get('currentSlug'), store.get('myUserId'), store.get('projectSplitViewSocketGeneration'), list]);
22
+ var previous = store.get('workerMessagePreviewSubscription'); if (previous && previous.signature === signature) return;
23
+ var requestId = crypto.randomUUID(); store.set({ workerMessagePreviewSubscription: { requestId: requestId, signature: signature, targets: list } });
24
+ socket.send(JSON.stringify({ type: 'split_worker_preview_request', requestId: requestId, targets: list }));
25
+ });
26
+ }
27
+ export function handleWorkerMessagePreview(message) {
28
+ var state = store.get('workerMessagePreviewSubscription'); if (!state || !store.get('connected') || message.requestId !== state.requestId) return;
29
+ if (!state.targets.some(function (target) { return target.parentSessionOriginId === message.parentSessionOriginId && target.workerSessionOriginId === message.workerSessionOriginId && target.generation === message.generation; })) return;
30
+ var chip = Array.from(document.querySelectorAll('.split-view-worker-chip[data-worker-parent]')).find(function (chip) { return chip.dataset.workerParent === message.parentSessionOriginId && chip.dataset.workerOrigin === message.workerSessionOriginId && Number(chip.dataset.workerGeneration) === message.generation; });
31
+ if (!chip || !chip.getClientRects().length) return;
32
+ rememberAgentMessage(messagePreviewKey('worker', [message.parentSessionOriginId, message.workerSessionOriginId, message.generation]), message.preview, message.live === true);
33
+ }
34
+ store.subscribe(function (state, previous) {
35
+ if (state.splitPanes !== previous.splitPanes || state.projectSplitViewActiveId !== previous.projectSplitViewActiveId || state.paneBindingSessions !== previous.paneBindingSessions || state.connected !== previous.connected || state.projectSplitViewSocketGeneration !== previous.projectSplitViewSocketGeneration) syncWorkerMessagePreviews();
36
+ });
37
+ var observer = new MutationObserver(syncWorkerMessagePreviews);
38
+ function observe() { var root = document.getElementById('split-host'); if (root) observer.observe(root, { childList: true, subtree: true, attributes: true, attributeFilter: ['hidden'] }); }
39
+ if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', observe); else observe();
@@ -0,0 +1 @@
1
+ import{$ as $e,$a as Xn,$b as _r,$c as Io,Ab as me,Ac as ao,B as tn,Bc as io,C as nn,Cc as so,D as rn,Dc as lo,E as on,Ea as jn,Eb as vr,Ec as co,F as an,Fb as br,Fc as uo,G as sn,Gb as yr,Gc as fo,H as ln,Hb as Sr,Hc as po,I as dn,Ib as wr,Ic as mo,J as F,Ja as Un,Jb as kr,Jc as go,K as cn,Ka as _n,Kb as Be,Kc as ho,Kd as jo,L as un,La as Nn,Lb as Cr,Lc as vo,M as H,Ma as On,Mb as Mr,Mc as bo,N as fn,Na as Fn,Nb as Er,Nc as yo,O as pn,Oa as Hn,Ob as Pr,Oc as So,Od as Uo,P as mn,Pa as qn,Pb as xr,Pc as wo,Q as gn,Qa as Vn,Qb as Ir,Qc as ko,Qd as _o,R as hn,Ra as Xe,Rb as Lr,S as vn,Sa as Wn,Sb as Tr,Sd as No,T as bn,Ta as zn,Tb as ge,Td as Oo,U as yn,Ua as te,Ub as Rr,Uc as Co,V as Sn,Va as Gn,Vb as je,Vc as Mo,W as wn,Wa as Kn,Wb as Dr,Wc as ne,X as kn,Xa as Yn,Xb as Ar,Xc as re,Y as Cn,Ya as Qn,Yb as Br,Yc as Eo,Z as Mn,Za as Jn,Zb as jr,Zc as Po,_ as En,_a as $n,_b as Ur,_c as xo,_d as Fo,a as Nt,aa as Pn,ab as Zn,ac as Nr,ad as Lo,b as Ot,bb as er,bc as Or,c as Ft,cb as tr,cc as Fr,d as Ht,db as Ze,dc as Hr,e as qt,eb as nr,ec as qr,f as Vt,fc as Vr,g as Wt,gb as rr,gc as Wr,h as zt,hb as or,hc as zr,i as Gt,ib as ar,j as Kt,jb as ir,k as Yt,kb as sr,lb as et,lc as Gr,ma as xn,mb as lr,mc as Kr,na as In,nb as De,nc as Yr,oa as Ln,ob as Ae,oc as Qr,od as To,pa as Tn,pb as dr,pc as Jr,pd as Ro,qa as Rn,qb as cr,qc as $r,qd as Do,r as Je,ra as Dn,rb as ur,rc as Xr,rd as Ao,sa as An,sb as fr,sc as Zr,t as Qt,ta as Bn,tb as pr,tc as eo,td as Ue,ub as mr,uc as to,v as Jt,vb as gr,vc as no,vd as nt,w as Zt,wb as hr,wd as Bo,x as en,xc as tt,yc as ro,zc as oo,zd as he}from"./chunk-OG3E5SVA.js";import"./chunk-FQTNR4ZS.js";import"./chunk-JIV7O5GN.js";import{g as $t}from"./chunk-MZLMEXMW.js";import{h as Xt}from"./chunk-BQN7B62H.js";import{A as _t,a as At,b as Bt,f as jt,w as Qe,x as Ut}from"./chunk-VEBYD7TL.js";import{a as w}from"./chunk-R7QVVFUG.js";import{d as D,e as ee}from"./chunk-2IJUTAB6.js";import{a as Dt,b as o}from"./chunk-VZ2OKDAO.js";var ve=[];function rt(){var e=o.snap(),t=e.paneDeferredBootstrap;!t||t.scheduled||!t.jobs.length||!e.connected||!e.paneReady||e.paneSuspended||(o.set({paneDeferredBootstrap:Object.assign({},t,{scheduled:!0})}),setTimeout(function(){var n=o.snap(),r=n.paneDeferredBootstrap;if(r){var a=r.jobs.slice(),s=n.connected&&n.paneReady&&!n.paneSuspended?a.shift():null;o.set({paneDeferredBootstrap:Object.assign({},r,{scheduled:!1,jobs:a})});try{if(s!==null&&ve[s]){var i=ve[s];ve[s]=null,i()}}finally{rt()}}},0))}function _e(e){if(!o.get("paneMode")){e.forEach(function(n){n()});return}var t=o.get("paneDeferredBootstrap");t||(t={jobs:[],scheduled:!1},o.subscribe(function(n,r){(n.paneReady!==r.paneReady||n.connected!==r.connected||n.paneSuspended!==r.paneSuspended)&&rt()})),o.set({paneDeferredBootstrap:Object.assign({},t,{jobs:t.jobs.concat(e.map(function(n){var r=ve.length;return ve.push(n),r}))})}),rt()}function Ho(){_t(),jt(),window.addEventListener("message",function(e){var t=e.data;if(e.origin===location.origin&&t&&t.type==="clay-studio-document-update"&&t.message){var n=Bt(t.message.path);n&&n.source===e.source&&n.descriptor.token===t.token&&Fo(t.message,n);return}!t||["clay-pane-present-markdown","clay-pane-present-wireframe"].indexOf(t.type)<0||!t.message||!t.message.controlPresentation||!Qe(e,t)||!Ut(e,t)||(t.type==="clay-pane-present-markdown"?(At(e,t,Qe(e,t)),No(t.message)):Xt(t.message))})}var ai="(max-width: 768px)",ii=["sticky-notes-toggle-btn","shared-browser-toggle-btn","terminal-toggle-btn"],si=["shared-browser-toggle-btn","terminal-toggle-btn","sticky-notes-toggle-btn"];function qo(e){var t=document.querySelector("#main-column > .title-bar-content .status"),n=document.querySelector("#top-bar .top-bar-actions"),r=document.getElementById("notif-center-btn");if(!(!t||!n))for(var a=e?ii:si,s=0;s<a.length;s++){var i=document.getElementById(a[s]);i&&(e?t.appendChild(i):n.insertBefore(i,r))}}var li=150,oe=24,be=12,Vo=null;function Wo(e,t,n){return Math.round(e.offsetWidth)+"|"+Math.round(t.offsetWidth)+"|"+Math.round(n.offsetWidth)}function zo(e){var t=document.getElementById("top-bar"),n=t&&t.querySelector(".top-bar-left-pills"),r=t&&t.querySelector(".top-bar-actions"),a=document.getElementById("cmd-palette-btn");if(!(!t||!n||!r||!a)&&t.offsetWidth&&!(!e&&Vo===Wo(t,n,r))&&getComputedStyle(a).display!=="none"){for(var s=[[],["usage-compact"],["usage-compact","usage-compact-link"]],i=null,l=0;l<s.length&&!i;l++){t.classList.remove("usage-compact","usage-compact-link","search-icon"),s[l].forEach(function(P){t.classList.add(P)}),t.style.removeProperty("--top-bar-search-width"),t.style.removeProperty("--top-bar-search-left");var c=t.getBoundingClientRect().width,d=c/2,u=t.getBoundingClientRect().left,p=n.getBoundingClientRect().right-u,m=r.getBoundingClientRect().left-u,v=Math.min(d-p,m-d)-be,y=Math.min(520,c*.4);if(2*v>=li)i={mode:"full",width:Math.min(y,2*v),left:null,level:l};else if(m-p>=oe+2*be){var M=p+be+oe/2,E=m-be-oe/2;i={mode:"icon",width:oe,left:Math.min(Math.max(d,M),E),level:l}}}i||(i={mode:"icon",width:oe,left:Math.max(n.getBoundingClientRect().right-t.getBoundingClientRect().left+be+oe/2,0),level:s.length-1}),t.classList.toggle("search-icon",i.mode==="icon"),i.mode==="full"?t.style.setProperty("--top-bar-search-width",Math.round(i.width)+"px"):t.style.setProperty("--top-bar-search-left",Math.round(i.left)+"px"),Vo=Wo(t,n,r)}}function di(){var e=document.getElementById("top-bar");if(!(!e||typeof ResizeObserver>"u")){var t=!1,n=function(a){t||(t=!0,requestAnimationFrame(function(){t=!1,zo(a===!0)}))},r=new ResizeObserver(function(){n(!1)});r.observe(e),[".top-bar-left-pills",".top-bar-actions"].forEach(function(a){var s=e.querySelector(a);s&&r.observe(s)}),new MutationObserver(function(){n(!0)}).observe(e.querySelector(".top-bar-actions"),{childList:!0,subtree:!0,characterData:!0}),zo(!0)}}function ci(){var e=document.querySelector("#main-column > .title-bar-content"),t=document.getElementById("top-bar");if(!(!e||!t)){var n=function(){t.classList.toggle("title-bar-hidden",e.classList.contains("hidden"))};n(),new MutationObserver(n).observe(e,{attributes:!0,attributeFilter:["class"]})}}function Go(){var e=window.matchMedia(ai);qo(e.matches),e.addEventListener("change",function(){qo(e.matches)}),ci(),di()}var Qo={},at={},x=null,B=null,j=null,Jo=0,$o=[],Ne={},it=null;function Ko(e){Qo[e.id]=e}function ot(e,t){at[e]=t}function Xo(e,t){var n=Qo[e];n&&(j=n,Jo=0,$o=[],it=t||null,ui(),Oe(n.steps[0].id),B.classList.remove("hidden"),x.classList.remove("hidden"),setTimeout(function(){x.focus()},50))}function ye(){B&&B.classList.add("hidden"),x&&x.classList.add("hidden");var e=it;j=null,it=null,e&&e()}function Zo(){pi(),mi()}function ui(){x||(B=document.createElement("div"),B.className="playbook-overlay hidden",B.addEventListener("click",function(e){e.target===B&&ye()}),x=document.createElement("div"),x.className="playbook-modal hidden",x.setAttribute("tabindex","-1"),x.addEventListener("keydown",function(e){e.key==="Escape"&&ye()}),B.appendChild(x),document.body.appendChild(B))}function Oe(e){if(j){for(var t=null,n=0,r=0;r<j.steps.length;r++)if(j.steps[r].id===e){t=j.steps[r],n=r;break}if(t){if(Jo=n,$o.push(e),t.condition&&t.branches){var a=t.condition(),s=t.branches[a]||t.branches.default;if(s){Oe(s);return}}fi(t)}}}function fi(e){for(var t=j,n=t.steps.filter(function(k){return!k.condition}).length,r=0,a=0,s=0;s<t.steps.length;s++)t.steps[s].condition||(a++,t.steps[s].id===e.id&&(r=a));var i="";i+='<div class="playbook-header">',i+='<div class="playbook-header-left">',i+='<span class="playbook-icon">'+(t.icon||"\u{1F4D6}")+"</span>",i+='<span class="playbook-title">'+ae(t.title)+"</span>",i+="</div>",i+='<button class="playbook-close" title="Close">&times;</button>',i+="</div>",i+='<div class="playbook-progress">';for(var l=0;l<n;l++){var c="playbook-progress-dot";l+1<r?c+=" done":l+1===r&&(c+=" active"),i+='<span class="'+c+'"></span>'}i+="</div>",i+='<div class="playbook-body">',i+='<h2 class="playbook-step-title">'+ae(e.title)+"</h2>";var d=typeof e.body=="function"?e.body():e.body||"";if(i+='<div class="playbook-step-body">'+d+"</div>",e.note&&(i+='<div class="playbook-step-note">'+ae(e.note)+"</div>"),i+="</div>",e.actions&&e.actions.length>0){i+='<div class="playbook-actions">';for(var u=0;u<e.actions.length;u++){var p=e.actions[u],m="playbook-btn";u===0?m+=" playbook-btn-primary":m+=" playbook-btn-secondary",i+='<button class="'+m+'" data-action="'+(p.action||"")+'" data-next="'+(p.next||"")+'">'+ae(p.label)+"</button>"}i+="</div>"}x.innerHTML=i,D();var v=x.querySelector(".playbook-close");v&&v.addEventListener("click",ye);for(var y=x.querySelectorAll(".playbook-btn"),M=0;M<y.length;M++)(function(k){k.addEventListener("click",function(){var A=k.dataset.action,h=k.dataset.next;A&&at[A]?(k.disabled=!0,k.textContent+="...",at[A](function(){h?Oe(h):(Yo(j.id),ye())})):h?Oe(h):(Yo(j.id),ye())})})(y[M]);for(var E=x.querySelectorAll("[data-copy-url]"),P=0;P<E.length;P++)(function(k){k.addEventListener("click",function(A){A.stopPropagation();var h=k.dataset.copyUrl;navigator.clipboard.writeText(h).then(function(){k.textContent="Copied!",setTimeout(function(){k.textContent="Copy"},1500)})})})(E[P])}function Yo(e){Ne[e]=!0;try{localStorage.setItem("clay-playbooks-done",JSON.stringify(Ne))}catch{}}function pi(){try{var e=JSON.parse(localStorage.getItem("clay-playbooks-done")||"{}");Ne=e||{}}catch{Ne={}}}function mi(){if(Ko({id:"push-notifications",title:"Push Notifications",icon:"\u{1F514}",description:"Get notified when Claude finishes a long task",tipMatch:function(t){return t.indexOf("Push notification")!==-1},steps:[{id:"intro",title:"Never miss a response",body:"When Claude is working on a long task, you can walk away and get a push notification the moment it's done. Works even when Clay is in the background.",actions:[{label:"Enable notifications",action:"notif_request",next:"check_perm"},{label:"Not now",next:""}]},{id:"check_perm",condition:function(){return typeof Notification>"u"?"unsupported":Notification.permission},branches:{granted:"test",denied:"denied",default:"denied",unsupported:"unsupported"}},{id:"test",title:"Let's test it!",body:"Click below to send a test notification. You should see it pop up from your system.",actions:[{label:"Send test notification",action:"notif_test",next:"check_test"},{label:"Skip",next:"done"}]},{id:"check_test",title:"Did you see it?",body:"A notification should have appeared from your system just now.",actions:[{label:"Yes, it worked!",next:"done"},{label:"No, nothing appeared",next:"troubleshoot"}]},{id:"troubleshoot",title:"Troubleshooting",body:function(){var t=navigator.platform&&navigator.platform.indexOf("Mac")!==-1,n="your browser",r=navigator.userAgent||"";r.indexOf("Arc")!==-1?n="Arc":r.indexOf("Edg/")!==-1?n="Edge":r.indexOf("Firefox")!==-1?n="Firefox":r.indexOf("Chrome")!==-1?n="Chrome":r.indexOf("Safari")!==-1&&(n="Safari");var a=location.protocol==="https:"&&location.hostname!=="localhost"&&location.hostname!=="127.0.0.1",s="The browser says permission is granted, but the notification didn't show.<br><br>";return a&&(s+="\u{1F512} <strong>Untrusted certificate?</strong><br>If you're using a self-signed or untrusted TLS certificate, some browsers silently block notifications even on HTTPS.<br>Run <strong>mkcert -install</strong> on the server to trust the root CA, or add the certificate to your system keychain as trusted.<br><br>"),s+="<strong>Also check your OS notification settings:</strong><br>",t?s+="<strong>1.</strong> Open <strong>System Settings \u2192 Notifications</strong><br><strong>2.</strong> Find <strong>"+n+"</strong> in the list<br><strong>3.</strong> Make sure <strong>Allow Notifications</strong> is turned on<br><strong>4.</strong> Check that <strong>Do Not Disturb</strong> / Focus mode is off<br>":s+="<strong>1.</strong> Make sure notifications are enabled for <strong>"+n+"</strong><br><strong>2.</strong> Check that Do Not Disturb / Focus mode is off<br>",s+="<br>After adjusting, come back and try again.",s},actions:[{label:"Try again",action:"notif_test",next:"check_test"},{label:"I'll fix it later",next:"done"}]},{id:"denied",title:"Permission needed",body:function(){var t=!window.isSecureContext||location.protocol==="http:"&&location.hostname!=="localhost"&&location.hostname!=="127.0.0.1"&&location.hostname!=="[::1]";if(t)return"\u26A0\uFE0F <strong>Insecure context detected.</strong><br><br>Notifications require a <strong>secure context</strong> (HTTPS or localhost). You're accessing Clay over <strong>"+location.protocol+"//"+location.hostname+"</strong>, so the browser automatically blocks notifications.<br><br><strong>How to fix:</strong><br><strong>1.</strong> Access Clay via <strong>https://</strong> (set up a TLS certificate)<br><strong>2.</strong> Or access via <strong>localhost:"+location.port+"</strong> instead of an IP address<br>";var n="chrome://settings/content/notifications",r=navigator.userAgent||"";return r.indexOf("Firefox")!==-1?n="about:preferences#privacy":r.indexOf("Edg/")!==-1?n="edge://settings/content/notifications":r.indexOf("Arc")!==-1&&(n="arc://settings/content/notifications"),'Your browser blocked the notification permission.<br><br><strong>1.</strong> Click the lock icon in the address bar<br><strong>2.</strong> Find "Notifications" and set it to "Allow"<br><strong>3.</strong> Reload the page<br><br>Or paste this into your address bar:<br><div style="display:flex;align-items:center;gap:6px;margin-top:6px"><code style="font-size:12px;color:var(--accent);flex:1;user-select:all">'+n+'</code><button class="playbook-btn-secondary" style="padding:3px 8px;font-size:11px" data-copy-url="'+n+'">Copy</button></div>'},actions:[{label:"Got it",next:""}]},{id:"unsupported",title:"Not supported",body:"Your browser doesn't support notifications. Try Chrome, Edge, or Firefox for the best experience.",actions:[{label:"Got it",next:""}]},{id:"done",title:"All set! \u{1F389}",body:"You'll now get a notification whenever Claude finishes processing. This works even when Clay is minimized or in another tab.",note:"You can toggle notifications anytime from the header bar.",actions:[{label:"Done",next:""}]}]}),ot("notif_request",function(t){if(typeof Notification>"u"){t();return}Notification.requestPermission().then(function(n){if(n==="granted")try{localStorage.setItem("notif-alert","1");var r=document.getElementById("notif-toggle-alert");r&&(r.checked=!0)}catch{}t()}).catch(function(){t()})}),ot("notif_test",function(t){if(typeof Notification>"u"){t();return}if(Notification.permission!=="granted"){Notification.requestPermission().then(function(n){n==="granted"?e(t):t()}).catch(function(){t()});return}e(t)}),location.protocol==="https:"){let t=function(){var a=navigator.userAgent||"",s=navigator.platform||"";return s.indexOf("Mac")!==-1||a.indexOf("Mac")!==-1?"mac":s.indexOf("Win")!==-1||a.indexOf("Windows")!==-1?"windows":"linux"},n=function(){var a=t(),s="The certificate has been downloaded as <strong>clay-ca.pem</strong>.<br><br>";return a==="mac"?(s+="<strong>macOS \u2014 run in Terminal:</strong><br>",s+=r("sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Downloads/clay-ca.pem")):a==="windows"?(s+="<strong>Windows \u2014 run in PowerShell (Admin):</strong><br>",s+=r('certutil -addstore -f "Root" %USERPROFILE%\\Downloads\\clay-ca.pem')):(s+="<strong>Linux \u2014 run in terminal:</strong><br>",s+=r("sudo cp ~/Downloads/clay-ca.pem /usr/local/share/ca-certificates/clay-ca.crt && sudo update-ca-certificates")),s+='<br><div style="padding:8px 10px;background:var(--bg-deeper);border-radius:6px;border-left:3px solid var(--accent)"><strong style="font-size:11px">Or ask Claude Code:</strong><br><code style="font-family:monospace;font-size:12px;line-height:1.5;color:var(--text-secondary)">Install ~/Downloads/clay-ca.pem as a trusted root certificate</code></div>',s+="<br>Then <strong>restart your browser</strong> to apply the change.",s},r=function(a){return'<div style="margin-top:8px;position:relative;background:var(--bg-deeper);border-radius:6px;padding:8px 10px"><code style="display:block;font-family:monospace;font-size:12px;word-break:break-all;line-height:1.5;padding-right:50px">'+ae(a)+'</code><button class="playbook-btn-secondary" style="position:absolute;top:8px;right:8px;padding:2px 8px;font-size:11px;white-space:nowrap" data-copy-url="'+ae(a)+'">Copy</button></div>'};Ko({id:"trust-certificate",title:"Trust Certificate",icon:"\u{1F512}",description:"Getting certificate warnings? Fix them here",tipMatch:function(a){return a.indexOf("certificate")!==-1||a.indexOf("Certificate")!==-1},steps:[{id:"intro",title:"Getting certificate warnings?",body:"Clay generates a local CA certificate for secure HTTPS connections. Your browser may show warnings until you install and trust this certificate on your device.",actions:[{label:"Download certificate",action:"cert_download",next:"install"},{label:"Not now",next:""}]},{id:"install",title:"Install the certificate",body:n,actions:[{label:"Done, I installed it",next:"done"},{label:"I'll do it later",next:""}]},{id:"done",title:"All set! \u{1F389}",body:"After restarting your browser, certificate warnings should disappear. If you still see them, make sure you ran the terminal command with admin privileges.",actions:[{label:"Done",next:""}]}]}),ot("cert_download",function(a){var s=document.createElement("a");s.href="/ca/download",s.download="clay-ca.pem",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout(a,500)})}function e(t){try{var n=new Notification("Clay",{body:"Notifications are working! \u{1F389}",tag:"clay-test-"+Date.now()});n.onclick=function(){window.focus(),n.close()},setTimeout(function(){try{n.close()}catch{}},5e3)}catch(r){console.warn("[Playbook] Notification failed:",r)}setTimeout(t,800)}}function ae(e){var t=document.createElement("div");return t.textContent=e||"",t.innerHTML}function ea(e){var t=document.createElement("span");t.className="stt-meter",t.setAttribute("aria-hidden","true");var n=document.createElement("canvas");t.appendChild(n);var r=n.getContext("2d"),a=null,s=0,i=[],l=window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function c(d){a=null;var u=o.get("speechActive");if(!(!u||u.id!==e||!t.isConnected||!r)&&(a=requestAnimationFrame(c),!(d-s<(l?100:32)))){s=d;var p=t.clientWidth,m=t.clientHeight,v=Math.min(window.devicePixelRatio||1,2);(n.width!==Math.round(p*v)||n.height!==Math.round(m*v))&&(n.width=Math.round(p*v),n.height=Math.round(m*v)),r.setTransform(v,0,0,v,0,0),r.clearRect(0,0,p,m);var y=getComputedStyle(t),M=r.createLinearGradient(0,0,p,0);M.addColorStop(0,y.getPropertyValue("--brand-green").trim()||y.color),M.addColorStop(.5,y.getPropertyValue("--brand-blue").trim()||y.color),M.addColorStop(1,y.getPropertyValue("--brand-green").trim()||y.color),r.fillStyle=M;for(var E=u.audioSignal,P=E?E.levels:[],k=E?Date.now()-E.updatedAt:0,A=Math.max(0,1-Math.max(0,k-250)/900),h=Math.max(2,Math.floor(p/4)),b=Math.round(Math.min(160,Math.max(80,h))*1.25),R=l?0:Math.min(1,k/20),S=0;S<h;S++){var _=P.length-b+S/(h-1)*(b-1)+R,N=Math.floor(_),Le=_-N,J=P[N]||0,Te=P[Math.min(N+1,P.length-1)]||0,$=(J+(Te-J)*Le)*A,O=i[S]||0,X=l?$:O+($-O)*($>O?.5:.24);i[S]=X;for(var G=1+X*(m*.46-1),Re=Math.min(1,(S+1)/8,(h-S)/8),Z=0;Z<=m*.48;Z+=3.2){var Ye=Math.exp(-Math.pow(Z/G,2)*1.7);if(!(Ye<.035)){var Rt=.35+Ye*.65;r.globalAlpha=(.12+Ye*.78)*Re,r.beginPath(),r.arc((S+.5)*p/h,m/2+Z,Rt,0,Math.PI*2),r.fill(),Z&&(r.beginPath(),r.arc((S+.5)*p/h,m/2-Z,Rt,0,Math.PI*2),r.fill())}}}r.globalAlpha=1}}return{element:t,update:function(d){t.hidden=!d,d&&a===null&&(a=requestAnimationFrame(c)),!d&&a!==null&&(cancelAnimationFrame(a),a=null,i=[])}}}function ta(e,t,n){var r=document.getElementById(e),a=document.getElementById(t),s=document.getElementById(n);if(!r||!a||!s||r.dataset.speechBound)return;var i=document.getElementById(e==="stt-btn"?"input-row":"home-mate-chat-composer")||s,l=document.getElementById(e==="stt-btn"?"input-bottom":"home-mate-chat-composer")||i;r.addEventListener("click",Fe),r.dataset.speechBound="true",r.classList.add("stt-button");var c=document.createElement("span");c.className="stt-controls",r.before(c),c.appendChild(r);var d=document.createElement("button");d.type="button",d.id=e+"-picker",d.className="stt-picker-toggle",d.innerHTML=ee("chevron-down"),d.setAttribute("aria-label","Choose voice model"),d.setAttribute("aria-haspopup","dialog"),d.setAttribute("aria-expanded","false"),d.title="Choose voice model",c.appendChild(d),d.addEventListener("click",function(){Fe(),Ae(d)});var u=document.createElement("div");u.className="stt-progress",u.hidden=!0;var p=document.createElement("span");p.id=e+"-status",p.className="stt-status",p.setAttribute("role","status");var m=document.createElement("span");m.className="stt-timer",m.setAttribute("aria-hidden","true");var v=document.createElement("button");v.type="button",v.innerHTML=ee("x"),v.className="stt-cancel",v.title="Cancel voice input",v.setAttribute("aria-label","Cancel voice input"),v.addEventListener("click",function(){te(),o.set({speechRetry:null})});var y=ea(e),M=document.createElement("button");M.type="button",M.textContent="Retry",M.addEventListener("click",Jn);var E=document.createElement("a");E.textContent="Provider account",E.target="_blank",E.rel="noopener noreferrer";var P=document.createElement("button");P.type="button",P.textContent="Dismiss",P.addEventListener("click",function(){zn(e,"")}),u.append(v,y.element,m,p,M,E,P),i.prepend(u),r.setAttribute("aria-describedby",p.id),r.addEventListener("click",function(){var h=o.get("speechActive");if(h&&h.id===e){h.model&&h.phase==="recording"?Qn():te();return}var b=et(),R=o.get("speechSettings");if(b.provider==="browser"&&!Xe().available){Ae(d);return}if(b.provider!=="browser"&&(!R||R.configured.indexOf(b.provider)<0)){Ae(d);return}b.provider==="browser"?Gn(e,a):Yn(e,a,b)}),a.addEventListener("beforeinput",function(){var h=o.get("speechActive");h&&h.id===e&&te("Voice input stopped so you can edit your draft."),o.set({speechRetry:null})}),a.addEventListener("input",function(){var h=o.get("speechActive");h&&h.id===e&&!h.writing&&te()});function k(){var h=o.get("speechActive"),b=!!h&&h.id===e,R=et(),S=lr(R.provider),_=R.provider==="browser"?o.get("speechBrowserIdentity"):null,N=b&&h.model&&h.phase!=="recording",Le=b&&!!h.autoSend;i.classList.toggle("stt-recording",b),u.classList.toggle("stt-auto-send",Le),u.classList.toggle("stt-progress-active",b),u.classList.toggle("stt-progress-pending",!!N);var J=b?l:i;(u.parentElement!==J||u!==J.firstElementChild)&&J.prepend(u),y.update(b?h:null),d.hidden=b,r.disabled=a.disabled||a.readOnly||!o.get("speechSettings"),d.disabled=a.disabled||a.readOnly||b,r.classList.toggle("stt-active",b),r.setAttribute("aria-pressed",String(b));var Te=b?Le?"Cancel pending voice send":N?"Cancel voice input":R.mode==="recorded"?"Stop and transcribe":"Stop voice input":"Start voice input";r.setAttribute("aria-label",Te+" \xB7 "+(S?S.name+" \xB7 ":"")+R.name),r.title=Te+" \xB7 "+R.name;var $=[b,N,S&&S.id,_&&_.id].join(":");if(r.dataset.speechIcon!==$){if(r.dataset.speechIcon=$,r.innerHTML=ee(b?N?"x":"square":"mic"),!b&&(S||_&&_.icon)){var O=document.createElement("img");O.className="stt-vendor-badge",O.src=S?S.icon:_.icon,O.alt="",r.appendChild(O)}D()}var X=(o.get("speechStatuses")||{})[e]||"",G=(o.get("speechErrors")||{})[e];u.classList.toggle("stt-progress-error",!!G),p.setAttribute("role",G?"alert":"status"),P.hidden=!G,E.hidden=!G||!S,S&&(E.href=S.url),R.provider==="browser"&&!Wn()&&(X="Browser voice input is unavailable. Choose a connected speech provider or type your message."),window.isSecureContext||(X="Voice input requires a secure HTTPS connection."),p.textContent=X,m.textContent=b&&h.startTime?Math.floor((Date.now()-h.startTime)/6e4)+":"+String(Math.floor((Date.now()-h.startTime)/1e3)%60).padStart(2,"0"):"",v.hidden=!b;var Re=o.get("speechRetry");M.hidden=!Re||Re.id!==e,u.hidden=!b&&!G&&M.hidden}o.subscribe(k);var A=new MutationObserver(k);A.observe(a,{attributes:!0,attributeFilter:["disabled","readonly"]}),k()}function Fe(){o.set({speechBrowserIdentity:Xe()})}function na(){Fe(),window.addEventListener("focus",Fe),Kn(),dr(),ta("stt-btn","input","input-wrapper"),ta("home-stt-btn","home-mate-chat-input","home-mate-chat-composer-frame"),De(),window.addEventListener("focus",De);try{window.top.document.addEventListener("clay:speech-settings-saved",De)}catch{}}var g=null,T=null,Se=null;function we(){return document.body.dataset.myDisplayName||"Clay user"}function se(e){if(g){var t=g.querySelector("#account-ai-section");t&&ur(t),g.remove(),g=null,T.setAttribute("aria-expanded","false"),T.setAttribute("aria-label","Open account menu for "+we()),document.removeEventListener("pointerdown",ra),document.removeEventListener("focusin",oa),document.removeEventListener("keydown",aa),window.removeEventListener("resize",ie),o.set({defaultAiInlineEditing:!1}),e&&Se&&document.contains(Se)&&Se.focus({preventScroll:!0}),Se=null}}function dt(e){return e&&e.closest&&e.closest(".avatar-positioner-overlay")}function ra(e){!g||g.contains(e.target)||T.contains(e.target)||dt(e.target)||se(!1)}function oa(e){!g||g.contains(e.target)||T.contains(e.target)||dt(e.target)||se(!1)}function aa(e){e.key==="Escape"&&(dt(e.target)||document.querySelector(".avatar-positioner-overlay")||(e.preventDefault(),e.stopPropagation(),se(!0)))}function ie(){if(!(!g||!T)){var e=T.getBoundingClientRect(),t=Math.min(280,window.innerWidth-24),n=Math.max(12,Math.min(window.innerWidth-t-12,e.left));g.style.width=t+"px",g.style.left=n+"px",g.style.top=Math.max(12,e.top-g.offsetHeight-8)+"px"}}function st(e){var t=g&&g.querySelector(".account-identity-copy");t&&(t.innerHTML='<button type="button" id="account-name-edit" class="account-name-display"><span></span><i data-lucide="pencil" aria-hidden="true"></i></button><small>Personal account</small>',t.querySelector("span").textContent=we(),t.querySelector("#account-name-edit").addEventListener("click",gi),window.lucide&&window.lucide.createIcons({nodes:[t]}),e&&t.querySelector("#account-name-edit").focus())}function gi(){var e=g&&g.querySelector(".account-identity-copy");if(e){var t=document.createElement("input");t.id="account-profile-name",t.setAttribute("aria-label","Display name"),t.className="account-name-input",t.type="text",t.maxLength=50,t.autocomplete="name",t.value=o.get("accountNameDraft")===void 0?Ze().name||"":o.get("accountNameDraft"),t.addEventListener("input",function(){o.set({accountNameDraft:t.value})}),e.innerHTML="",e.appendChild(t);var n=document.createElement("small");n.textContent="Enter to save \xB7 Escape to cancel",e.appendChild(n),t.addEventListener("keydown",function(r){r.key==="Enter"?(r.preventDefault(),t.disabled=!0,n.textContent="Saving\u2026",$n({name:t.value.trim()}).then(function(){o.set({accountNameDraft:void 0}),st(!0)}).catch(function(a){t.disabled=!1,n.textContent=a.message,t.focus()})):r.key==="Escape"&&(r.preventDefault(),o.set({accountNameDraft:void 0}),st(!0)),r.stopPropagation()}),t.focus(),t.select()}}function hi(){var e=g&&g.querySelector("#account-avatar-editor");e&&(e.hidden=!e.hidden,e.hidden||e.querySelector("#account-avatar-upload").focus(),ie())}function vi(){var e=g.querySelector("#account-avatar-edit"),t=g.querySelector("#account-avatar-editor"),n=t.querySelector("#account-avatar-upload"),r=t.querySelector("#account-avatar-file"),a=t.querySelector("#account-avatar-generate");e.addEventListener("click",function(s){s.stopPropagation(),hi()}),t.addEventListener("click",function(s){s.stopPropagation()}),n.addEventListener("click",function(){r.click()}),r.addEventListener("change",function(){var s=r.files&&r.files[0];if(s){var i=new Image,l=URL.createObjectURL(s);i.onload=function(){er(i,l,function(c){URL.revokeObjectURL(l),Zn(c).then(function(){t.hidden=!0}).catch(function(){t.dataset.error="true"})})},i.src=l}}),a.addEventListener("click",function(){Xn(),t.hidden=!0})}function bi(){g=document.createElement("div"),g.id="account-popover",g.className="account-popover",g.setAttribute("role","dialog"),g.setAttribute("aria-label","Account");var e=Ze(),t=document.createElement("div");t.className="account-menu-identity",t.innerHTML='<button type="button" id="account-avatar-edit" class="account-avatar-edit" aria-label="Edit avatar"><img src="'+(document.body.dataset.myAvatarUrl||"")+'" alt=""></button><div class="account-identity-copy"></div><button type="button" class="account-settings-button" aria-label="User Settings" title="User Settings"><i data-lucide="settings" aria-hidden="true"></i></button>',t.querySelector("#account-avatar-edit img").alt=e.name||"Clay user";var n=document.createElement("div");n.id="account-avatar-editor",n.className="account-avatar-editor",n.hidden=!0,n.innerHTML='<button type="button" id="account-avatar-upload">Upload photo</button><button type="button" id="account-avatar-generate">Generate avatar</button><input id="account-avatar-file" type="file" accept="image/*">',g.appendChild(t),g.appendChild(n);var r=document.createElement("section");r.id="account-ai-section",r.className="account-inline-section account-ai-section",r.setAttribute("aria-label","Default AI"),g.appendChild(r),cr(r),t.querySelector(".account-settings-button").addEventListener("click",yi),document.body.appendChild(g),st(),vi(),lt(),window.lucide&&window.lucide.createIcons({nodes:[g]}),ie()}function lt(){var e=document.getElementById("cursor-share-toggle");if(e){var t=o.get("cursorSharingHydrated")===!0,n=t&&o.get("cursorSharingEnabled")===!0,r=o.get("cursorSharingPending")!==null&&o.get("cursorSharingPending")!==void 0,a=o.get("connected")!==!1,s=o.get("cursorSharingError"),i=!!s&&!t&&a,l=t&&!n&&!r&&!s&&a;e.hidden=o.get("isMultiUserMode")!==!0,e.removeAttribute("role"),e.removeAttribute("aria-checked"),e.setAttribute("aria-pressed",n?"true":"false"),e.classList.toggle("on",n),e.classList.toggle("off",l),e.classList.toggle("pending",r),e.disabled=r||!a||!t&&!i;var c=r?"waiting":a?s?i?"error; activate to retry":"error":t?n?"on":"off":"unavailable":"offline";e.setAttribute("aria-label","Cursor sharing "+c);var d=r?"Cursor sharing is waiting for confirmation.":a?s?i?"Cursor sharing is unavailable. Click to retry.":"Cursor sharing is unavailable.":t?n?"Your cursor is visible to others. Click to stop sharing.":"Cursor sharing is off. Click to share your cursor.":"Cursor sharing is unavailable.":"Cursor sharing is offline.";Cn(e,d)}}function yi(e){e.stopPropagation(),se(!0),pr()}function Si(e){if(e.stopPropagation(),!e.currentTarget.disabled){if(o.get("cursorSharingError")&&o.get("cursorSharingHydrated")!==!0){Br();return}Ar(o.get("cursorSharingEnabled")!==!0)}}function wi(){var e=g&&g.querySelector("#account-ai-section select");e&&e.focus({preventScroll:!0})}function ki(){g||ia(),o.set({defaultAiInlineEditing:!0}),wi()}function ia(){if(g){se(!0);return}Se=document.activeElement,bi(),T.setAttribute("aria-expanded","true"),T.setAttribute("aria-label","Close account menu for "+we()),document.addEventListener("pointerdown",ra),document.addEventListener("focusin",oa),document.addEventListener("keydown",aa),window.addEventListener("resize",ie)}function sa(){if(T=document.getElementById("user-account-trigger"),!!T){T.addEventListener("click",ia),document.addEventListener("clay:open-account-default-ai",ki);var e=document.getElementById("cursor-share-toggle");e&&e.addEventListener("click",Si),lt(),T.setAttribute("aria-label","Open account menu for "+we()),o.subscribe(function(t,n){t.myUserId!==n.myUserId&&t.accountNameDraft!==void 0&&o.set({accountNameDraft:void 0}),(t.myUserId!==n.myUserId||t.connected===!1&&n.connected!==!1)&&se(!1),lt(),g&&ie()}),document.addEventListener("clay:profile-updated",function(){if(g){var t=g.querySelector(".account-name-display span");t&&(t.textContent=we());var n=g.querySelector("#account-avatar-edit img");n&&(n.src=document.body.dataset.myAvatarUrl||n.src)}}),window.addEventListener("resize",ie)}}var Ci=[{id:"file-browser-btn",icon:"folder-tree",label:"File browser"},{id:"terminal-sidebar-btn",icon:"square-terminal",label:"Terminal",countId:"terminal-sidebar-count"},{id:"sticky-notes-sidebar-btn",icon:"sticky-note",label:"Sticky Notes",countId:"sticky-notes-sidebar-count"},{id:"project-logs-btn",icon:"notebook-tabs",label:"Logs",countId:"project-logs-count"},{id:"mcp-btn",icon:"cable",label:"MCP / Skills",countId:"mcp-sidebar-count"},{id:"scheduler-btn",icon:"calendar-clock",label:"Scheduled"},{id:"issues-btn",icon:"circle-dot",label:"Issues"},{id:"shared-browser-btn",icon:"globe",label:"Browser"}],Mi=[{id:"mate-memory-btn",icon:"brain",label:"Memory",countId:"mate-memory-count"},{id:"mate-knowledge-btn",icon:"book-open",label:"Knowledge",countId:"mate-knowledge-count"},{id:"mate-sticky-notes-btn",icon:"sticky-note",label:"Sticky Notes"},{id:"mate-debates-btn",icon:"messages-square",label:"Debates"},{id:"mate-mcp-btn",icon:"cable",label:"MCP / Skills",countId:"mate-mcp-sidebar-count"}],de={session:{tools:Ci,fixedTools:[{id:"you-button",icon:"user-round",label:"Me",countId:"me-unread-badge",fixed:!0,scope:"clay"}],activeContainerId:"session-actions",hiddenSectionId:"session-actions-hidden"},mate:{tools:Mi,activeContainerId:"mate-sidebar-tools",hiddenSectionId:"mate-sidebar-tools-hidden"}},Ei={"skills-btn":"mcp-btn"},Pi={"mate-skills-btn":"mate-mcp-btn","mate-debate-btn":"mate-debates-btn"},la=["git-sidebar-btn","loop-tool-btn","debates-btn"];function le(e,t){for(var n=0;n<e.length;n++)if(e[n]===t)return n;return-1}function ua(e,t){var n=t&&t.order||[],r=t&&t.hidden||[],a={order:n.slice(),hidden:r.slice(),migrated:!1};if(e!=="session"&&e!=="mate")return a;for(var s=e==="mate"?Pi:Ei,i=Object.keys(s),l=0;l<i.length;l++){var c=i[l],d=s[c],u=le(a.order,c)!==-1,p=le(a.hidden,c)!==-1;if(!(!u&&!p)){var m=le(a.order,d)!==-1||le(a.hidden,d)!==-1;a.order=ca(a.order,c,d,m),a.hidden=ca(a.hidden,c,d,m),a.migrated=!0}}if(e!=="session")return a;for(var v=0;v<la.length;v++){var y=la[v];le(a.order,y)===-1&&le(a.hidden,y)===-1||(a.order=da(a.order,y),a.hidden=da(a.hidden,y),a.migrated=!0)}return a}function da(e,t){for(var n=[],r=0;r<e.length;r++)e[r]!==t&&n.push(e[r]);return n}function ca(e,t,n,r){for(var a=[],s={},i=0;i<e.length;i++){var l=e[i];if(l===t){if(r)continue;l=n}s[l]||(s[l]=!0,a.push(l))}return a}var He={},q=null,ce=null;function ma(){for(var e in de)xi(e);Li(),D()}function xi(e){var t=de[e],n=document.getElementById(t.activeContainerId);if(n){(t.fixedTools||[]).forEach(function(a){n.appendChild(fa(a,e))});for(var r=0;r<t.tools.length;r++)n.appendChild(fa(t.tools[r],e));n.addEventListener("dragover",function(a){if(!(ce!==e||!q)){a.preventDefault(),a.dataTransfer&&(a.dataTransfer.dropEffect="move");var s=Ii(n,a.clientX,a.clientY);s==null?(q.parentNode!==n||q.nextSibling)&&n.appendChild(q):s!==q&&n.insertBefore(q,s)}}),n.addEventListener("drop",function(a){ce===e&&a.preventDefault()})}}function fa(e,t){var n=document.createElement("button");n.id=e.id,n.type="button",n.className="palette-tile",n.title=e.label,n.setAttribute("aria-label",e.label),n.dataset.toolId=e.id,n.dataset.palette=t,n.draggable=!0,e.fixed&&(n.draggable=!1,n.dataset.fixed="true"),e.scope&&(n.dataset.scope=e.scope),e.id==="you-button"&&(n.classList.add("you-button"),n.setAttribute("aria-pressed","false"));var r=document.createElement("i");r.setAttribute("data-lucide",e.icon),n.appendChild(r);var a=document.createElement("span");if(a.className="tool-btn-label",a.textContent=e.label,n.appendChild(a),e.countId){var s=document.createElement("span");s.id=e.countId,s.className="sidebar-badge hidden",e.id==="you-button"&&(s.className="sidebar-badge me-unread-badge",s.hidden=!0),n.appendChild(s)}return n.addEventListener("dragstart",function(i){if(e.fixed){i.preventDefault();return}var l=n.parentNode;if(!l||l.id!==de[t].activeContainerId){i.preventDefault();return}q=n,ce=t,i.dataTransfer.effectAllowed="move";try{i.dataTransfer.setData("text/plain",e.id)}catch{}n.classList.add("dragging")}),n.addEventListener("dragend",function(){n.classList.remove("dragging"),ce&&Ti(ce),q=null,ce=null}),n}function Ii(e,t,n){for(var r=Array.prototype.slice.call(e.querySelectorAll("[data-tool-id]:not(.dragging)")),a=null,s=Number.POSITIVE_INFINITY,i=0;i<r.length;i++)if(r[i].dataset.fixed!=="true"){var l=r[i].getBoundingClientRect(),c=n-(l.top+l.height/2),d=t-(l.left+l.width/2),u=Math.abs(c)*2+Math.abs(d),p=c<-l.height/2||Math.abs(c)<=l.height/2&&d<0;p&&u<s&&(s=u,a=r[i])}return a}function Li(){fetch("/api/user/tool-palettes",{credentials:"same-origin"}).then(function(e){return e.ok?e.json():null}).then(function(e){e&&(pa("session",e.session||null),pa("mate",e.mate||null))}).catch(function(){})}function pa(e,t){if(!t)return;var n=de[e];if(!n)return;var r=document.getElementById(n.activeContainerId);if(!r)return;var a=ua(e,t),s={};function i(v){if(!s[v]){var y=document.getElementById(v);!y||y.dataset.fixed==="true"||(r.appendChild(y),s[v]=!0)}}for(var l={},c=0;c<a.hidden.length;c++)l[a.hidden[c]]=!0;for(var d=0;d<a.order.length;d++)l[a.order[d]]||i(a.order[d]);for(var u=0;u<n.tools.length;u++)l[n.tools[u].id]||i(n.tools[u].id);for(var p=0;p<a.hidden.length;p++)i(a.hidden[p]);for(var m=0;m<n.tools.length;m++)i(n.tools[m].id)}function Ti(e){He[e]&&clearTimeout(He[e]),He[e]=setTimeout(function(){He[e]=null,Ri(e)},250)}function Ri(e){var t=de[e];if(t){var n=document.getElementById(t.activeContainerId);if(n){for(var r=[],a=n.querySelectorAll("[data-tool-id]"),s=0;s<a.length;s++)a[s].dataset.fixed!=="true"&&r.push(a[s].dataset.toolId);fetch("/api/user/tool-palettes",{method:"PUT",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify({palette:e,order:r,hidden:[]})}).catch(function(){})}}}var ke=[],ct=[],I=null,K=null,ut=null,U=!1,Ce="project",V=0,C=[];function ga(e){e!=="project"&&e!=="mate"||(U&&W(!1),ft(e))}function ba(){Di(),K=I.querySelector(".cmd-palette-results"),ut=I.querySelector(".project-switcher-header");var e=o.get("currentSlug");e&&(ke=[e]);var t=o.get("dmTargetUser");t&&t.isMate&&t.id&&(ct=[t.id]),o.subscribe(function(d,u){d.currentSlug&&d.currentSlug!==u.currentSlug&&(va(ke,d.currentSlug),ke=ke);var p=ha(d.dmTargetUser),m=ha(u.dmTargetUser);p&&p!==m&&va(ct,p)});var n=I.querySelector(".cmd-palette-backdrop");n&&n.addEventListener("click",function(){W(!1)}),document.addEventListener("keydown",Ai,!0),document.addEventListener("keyup",Bi,!0),window.addEventListener("blur",function(){U&&W(!1)});var r=/Mac|iPhone|iPod|iPad/i.test(navigator.platform),a=r?"\u2318E":"Ctrl+E",s=r?"\u2318M":"Ctrl+M",i=document.getElementById("icon-strip-hint-project"),l=document.getElementById("icon-strip-hint-mate");i&&(i.textContent=a,i.title="Switch project ("+a+")",i.addEventListener("click",function(){ga("project")})),l&&(l.textContent=s,l.title="Switch mate ("+s+")",l.addEventListener("click",function(){ga("mate")}));function c(){if(l){var d=o.get("cachedMatesList")||[];l.classList.toggle("hidden",d.length===0)}}c(),o.subscribe(function(d,u){(d.cachedMatesList!==u.cachedMatesList||d.projectMateDmsEnabled!==u.projectMateDmsEnabled)&&c()})}function Di(){if(I=document.getElementById("project-switcher"),!I){var e=/Mac|iPhone|iPod|iPad/i.test(navigator.platform),t=e?"<kbd>\u2318</kbd>":"<kbd>Ctrl</kbd>";I=document.createElement("div"),I.id="project-switcher",I.className="cmd-palette hidden project-switcher",I.innerHTML='<div class="cmd-palette-backdrop"></div><div class="cmd-palette-dialog project-switcher-dialog"><div class="project-switcher-header">Switch project</div><div class="cmd-palette-results"></div><div class="cmd-palette-footer project-switcher-footer"><span class="project-switcher-shortcuts">'+t+'<kbd class="proj-next-key">E</kbd> next \xB7 <kbd>\u21E7</kbd>'+t+'<kbd class="proj-prev-key">E</kbd> prev \xB7 <kbd>\u23CE</kbd> select \xB7 <kbd>Esc</kbd> cancel</span></div></div>',document.body.appendChild(I)}}function ha(e){return e&&e.isMate&&e.id?e.id:null}function va(e,t){var n=e.indexOf(t);n!==-1&&e.splice(n,1),e.unshift(t)}function Ai(e){if(e.key){var t=(e.metaKey||e.ctrlKey)&&!e.altKey,n=e.key.toLowerCase();if(t&&(n==="e"||n==="m")){var r=n==="e"?"project":"mate";e.preventDefault(),e.stopPropagation(),U?Ce!==r?ft(r):e.shiftKey?qe(-1):qe(1):ft(r);return}if(U){if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),W(!1);return}if(e.key==="Enter"){e.preventDefault(),e.stopPropagation(),W(!0);return}if(e.key==="ArrowRight"||e.key==="ArrowDown"){e.preventDefault(),qe(1);return}if(e.key==="ArrowLeft"||e.key==="ArrowUp"){e.preventDefault(),qe(-1);return}}}}function Bi(e){U&&(e.key==="Meta"||e.key==="Control")&&W(!0)}function ft(e){if(Ce=e,C=_i(e),C.length===0){U&&W(!1);return}ut&&(ut.textContent=e==="mate"?"Switch mate":"Switch project"),ji(e),Fi(),V=Ui(),pt(),I.classList.remove("hidden"),U=!0,D(),Ue(K)}function ji(e){var t=I.querySelector(".proj-next-key"),n=I.querySelector(".proj-prev-key"),r=e==="mate"?"M":"E";t&&(t.textContent=r),n&&(n.textContent=r)}function Ui(){if(C.length===0)return 0;for(var e=Ce==="mate"?ct:ke,t=ya(),n=0;n<e.length;n++){var r=e[n];if(r!==t){for(var a=0;a<C.length;a++)if(C[a].key===r&&!C[a].disabled)return a}}for(var s=0;s<C.length;s++)if(!C[s].disabled&&C[s].key!==t)return s;for(var i=0;i<C.length;i++)if(!C[i].disabled)return i;return 0}function ya(){if(Ce==="mate"){var e=tt(o.snap());return e?e.id:null}return o.get("currentSlug")}function _i(e){return e==="mate"?Oi():Ni()}function Ni(){var e=(ge()||[]).filter(function(t){return!t.isMate});return e.map(function(t){var n=Zr(t);return{key:t.slug,title:t.title||t.project||t.slug,icon:t.icon||null,fallbackIcon:"folder",isCurrent:t.slug===o.get("currentSlug"),external:n,disabled:!1,disabledReason:null}})}function Oi(){var e=o.get("cachedMatesList")||[],t=tt(o.snap()),n=t?t.id:null;return e.map(function(r){return{key:r.id,title:r.displayName||r.name||r.id,icon:null,avatarUrl:Nt(r,88),fallbackIcon:"user",isCurrent:r.id===n,disabled:!1,disabledReason:null}})}function W(e){if(U&&(U=!1,I.classList.add("hidden"),!!e)){var t=C[V];!t||t.disabled||(Ce==="mate"?t.key!==ya()&&ro(t.key):t.key!==o.get("currentSlug")&&je(t.key))}}function qe(e){if(C.length!==0){for(var t=e>0?1:-1,n=V,r=0;r<C.length;r++)if(n=(n+t+C.length)%C.length,!C[n].disabled){V=n,pt();return}}}function Fi(){if(K){K.innerHTML="";for(var e=0;e<C.length;e++)K.appendChild(Hi(C[e],e))}}function Hi(e,t){var n=document.createElement("button");n.type="button",n.className="cmd-palette-item project-switcher-item",e.disabled&&n.classList.add("disabled"),e.disabled&&e.disabledReason&&(n.title=e.disabledReason),e.external&&(n.title=eo(e.title)),n.dataset.index=String(t);var r=document.createElement("div");if(r.className="cmd-palette-item-icon",e.icon)r.textContent=e.icon;else if(e.avatarUrl){var a=document.createElement("img");a.src=e.avatarUrl,a.alt="",a.className="project-switcher-avatar",r.appendChild(a)}else{var s=document.createElement("i");s.setAttribute("data-lucide",e.fallbackIcon||"folder"),r.appendChild(s)}e.external&&to(r,"project-switcher-external-badge"),n.appendChild(r);var i=document.createElement("div");i.className="cmd-palette-item-body";var l=document.createElement("div");l.className="cmd-palette-item-title-row";var c=document.createElement("span");if(c.className="cmd-palette-item-title",c.textContent=e.title,l.appendChild(c),e.isCurrent){var d=document.createElement("span");d.className="project-switcher-current",d.textContent="current",l.appendChild(d)}if(e.disabled&&e.disabledReason){var u=document.createElement("span");u.className="project-switcher-disabled-reason",u.textContent=e.disabledReason,l.appendChild(u)}return i.appendChild(l),n.appendChild(i),n.addEventListener("mouseenter",function(){e.disabled||(V=t,pt())}),n.addEventListener("click",function(){e.disabled||(V=t,W(!0))}),n}function pt(){if(K){for(var e=K.querySelectorAll(".cmd-palette-item"),t=0;t<e.length;t++)e[t].classList.toggle("active",t===V);var n=e[V];n&&n.scrollIntoView&&n.scrollIntoView({block:"nearest"})}}var qi=/^[a-zA-Z0-9_-]{1,120}$/;function mt(){return Array.prototype.filter.call(document.querySelectorAll("iframe"),function(e){try{var t=new URL(e.src,window.location.href);return t.origin===window.location.origin&&t.searchParams.get("pane")==="1"}catch{return!1}})}function gt(e){var t=Ro();try{e.contentWindow&&e.contentWindow.postMessage({type:"clay-appearance",snapshot:t},window.location.origin)}catch{}}function Sa(e){return typeof e=="string"&&qi.test(e)}function ht(e){return e===null||Sa(e)}function Vi(e){var t=e&&typeof e=="object"?e.preference:null;return!t||typeof t!="object"||!Sa(e.themeId)||e.userId!==null&&(typeof e.userId!="string"||!e.userId||e.userId.length>200)||typeof t.configured!="boolean"||t.mode!==null&&t.mode!=="light"&&t.mode!=="dark"?!1:ht(t.theme)&&ht(t.lightTheme)&&ht(t.darkTheme)}function wa(){if(o.get("paneMode")){if(window.parent===window)return;window.addEventListener("message",function(e){if(!(e.origin!==window.location.origin||e.source!==window.parent)){var t=e.data;if(!(!t||t.type!=="clay-appearance"||!Vi(t.snapshot))){var n=o.get("myUserId")||null;n!==null&&t.snapshot.userId!==n||Do(t.snapshot)}}});return}To(function(){mt().forEach(gt)}),o.subscribe(function(e,t){e.myUserId!==t.myUserId&&mt().forEach(gt)}),document.addEventListener("load",function(e){e.target&&e.target.tagName==="IFRAME"&&mt().indexOf(e.target)>=0&&gt(e.target)},!0)}var Wi=500,ka=10,ue=null,vt=0,bt=0,Me=!1,Ca=null;function Ve(){ue&&(clearTimeout(ue),ue=null)}function Ma(){"ontouchstart"in window&&(document.addEventListener("touchstart",function(e){if(e.touches.length!==1){Ve();return}var t=e.touches[0];vt=t.clientX,bt=t.clientY,Me=!1,Ca=e.target,ue=setTimeout(function(){ue=null,Me=!0,navigator.vibrate&&navigator.vibrate(30);var n=new MouseEvent("contextmenu",{bubbles:!0,cancelable:!0,clientX:vt,clientY:bt});Ca.dispatchEvent(n)},Wi)},{passive:!0}),document.addEventListener("touchmove",function(e){if(ue){var t=e.touches[0],n=t.clientX-vt,r=t.clientY-bt;n*n+r*r>ka*ka&&Ve()}},{passive:!0}),document.addEventListener("touchend",function(e){Ve(),Me&&(Me=!1,e.preventDefault())},{passive:!1}),document.addEventListener("touchcancel",function(){Ve(),Me=!1},{passive:!0}))}var Ea=!1,Pa=!1;function yt(e){return/^\/p\/[a-z0-9_-]+(?:\/|$)/.test(e||"")}function zi(e){return e?e.paneMode||yt(e.pathname)||e.currentSlug?"project":e.projectsLoaded!==!0?"wait":"projects":"wait"}function xa(){document.body.classList.remove("home-surface-boot-pending");var e=document.getElementById("connect-overlay");e&&o.get("connected")&&e.classList.add("hidden")}function Gi(e){return e?"/p/"+e+"/":null}function Ia(e){if(!Pa){var t=zi({surfaceLoaded:e.homeSurfaceLoaded,projectsLoaded:e.projectListLoaded,dockLoaded:e.homeDockPreferenceLoaded,surface:e.homePrimarySurface,currentSlug:e.currentSlug,pathname:location.pathname,paneMode:e.paneMode});if(t!=="wait"){if(Pa=!0,t==="project"){if(!yt(location.pathname)){var n=Gi(e.currentSlug);n&&history.replaceState(null,"",n)}o.set({homeSurfaceBootResolved:!0}),xa();var r=document.getElementById("input");r&&!r.disabled&&r.focus({preventScroll:!0});return}o.set({homeSurfaceBootResolved:!0,projectsHubRestoreRequested:!0}),xa()}}}function La(){if(!Ea){if(Ea=!0,!yt(location.pathname)&&!o.get("paneMode")){document.body.classList.add("home-surface-boot-pending");var e=document.getElementById("connect-overlay-msg");e&&(e.textContent="Restoring your workspace\u2026")}o.subscribe(function(t){Ia(t)}),Ia(o.snap())}}var Ki=3600*1e3,Yi="(max-width: 768px)",St=null,wt=!1;function Qi(e){if(typeof e!="number"||!isFinite(e)||e<0)return"";if(e=Math.floor(e),e<1e3)return String(e);for(var t=[[1e6,"m"],[1e3,"k"]],n=0;n<t.length;n++)if(e>=t[n][0]){var r=Math.floor(e/t[n][0]*10)/10;return(r%1===0?String(r):r.toFixed(1))+t[n][1]}return String(e)}function Ra(){var e=o.get("githubStarCount"),t=document.getElementById("github-star-count"),n=document.getElementById("github-star-link");if(!(!t||!n)){var r=typeof e=="number"?Qi(e):"";t.textContent=r,t.classList.toggle("hidden",!r),n.setAttribute("aria-label",r?"Star Clay on GitHub, "+e+" stars":"Star Clay on GitHub")}}function Ji(){return!!(window.matchMedia&&window.matchMedia(Yi).matches)}function Ta(){return wt||Ji()?Promise.resolve():(wt=!0,fetch("/api/github-stars",{credentials:"same-origin"}).then(function(e){return e.ok?e.json():null}).then(function(e){e&&typeof e.stars=="number"&&(o.set({githubStarCount:e.stars}),Ra())}).catch(function(){}).then(function(){wt=!1}))}function Da(){document.getElementById("github-star")&&(Ra(),Ta(),St&&clearInterval(St),St=setInterval(Ta,Ki))}function ja(){o.subscribe(function(e,t){if(e.sessionOriginId!==t.sessionOriginId||e.currentSlug!==t.currentSlug){o.set({activeBackgroundTasks:[],backgroundTaskCatalog:[]});return}e.backgroundTaskViewer!==t.backgroundTaskViewer&&document.querySelectorAll("[data-background-task]").forEach(function(n){var r=e.backgroundTaskViewer;n.setAttribute("aria-expanded",String(!!r&&n.dataset.backgroundTask===r.taskId))}),(e.activeBackgroundTasks!==t.activeBackgroundTasks||e.backgroundTaskCatalog!==t.backgroundTaskCatalog)&&Ba()}),Ba()}function $i(e,t){if(typeof e!="number"||!isFinite(e)||e<=0)return"";var n=typeof t=="number"?t:Date.now(),r=Math.floor((n-e)/1e3);if(r<0&&(r=0),r<60)return r+"s";var a=Math.floor(r/60),s=r%60;if(a<60)return a+"m "+Aa(s)+"s";var i=Math.floor(a/60);return i+"h "+Aa(a%60)+"m"}function Aa(e){return e<10?"0"+e:String(e)}function Xi(e){return!!(e&&e.ambient===!0)}function Zi(e){for(var t=[],n=[],r=Array.isArray(e)?e:[],a=0;a<r.length;a++)r[a]&&(Xi(r[a])?n.push(r[a]):t.push(r[a]));return{user:t,ambient:n}}function Ba(){var e=document.getElementById("background-tasks-bar");e&&e.remove();var t=Zi(o.get("backgroundTaskCatalog")||o.get("activeBackgroundTasks")||[]),n=t.user.length?t.user.concat(t.ambient):[],r=document.getElementById("background-task-tabs");if(!n.length){r&&r.remove();return}var a=document.getElementById("messages");if(a){r||(r=document.createElement("div"),r.id="background-task-tabs",r.className="split-view-workers background-task-tabs",r.setAttribute("aria-label","Background tasks"),a.parentNode.insertBefore(r,a));var s=JSON.stringify(n.map(function(i){return[i.task_id,i.run_id,i.active,i.description]}));r.dataset.signature!==s&&(r.dataset.signature=s,r.textContent="",n.forEach(function(i){var l=document.createElement("span");l.className="split-view-worker-pill"+(i.ambient?" background-task-ambient":"");var c=document.createElement("button");c.type="button",c.className="split-view-worker-chip",c.dataset.backgroundTask=i.task_id,En(c,$e(i)),i.preview&&Mn($e(i),i.preview,!1),c.title=(i.ambient?"Housekeeping \xB7 ":"")+(i.description||"Background task")+(i.started_at?" \xB7 "+$i(i.started_at):"")+(i.active===!1?" \xB7 Finished":" \xB7 Running"),c.setAttribute("aria-haspopup","dialog");var d=o.get("backgroundTaskViewer");c.setAttribute("aria-expanded",String(!!d&&d.taskId===i.task_id));var u=document.createElement("span");u.className="split-view-worker-dot",u.dataset.state=i.active===!1?"ready":"working";var p=document.createElement("span");if(p.className="split-view-worker-name",p.textContent=i.description||"Background task",u.setAttribute("aria-label",i.active===!1?"Finished":"Running"),c.append(u,p),c.addEventListener("click",function(){Pn(i)}),l.appendChild(c),i.active!==!1){var m=document.createElement("button");m.type="button",m.className="split-view-worker-remove",m.setAttribute("aria-label","Stop "+(i.description||"background task")),m.title="Stop task",m.innerHTML=ee("square"),m.addEventListener("click",function(){var v=w();v&&v.readyState===1&&v.send(JSON.stringify({type:"background_task_stop",requestId:crypto.randomUUID(),taskId:i.task_id,runId:i.run_id||null,sessionOriginId:o.get("sessionOriginId")}))}),l.appendChild(m)}r.appendChild(l)}),D())}}var Pt=new URLSearchParams(location.search),pe=Pt.get("pane")==="1";pe&&typeof performance<"u"&&performance.mark&&performance.mark("clay:app-evaluated");var Q=Number(Pt.get("session"));(!Number.isSafeInteger(Q)||Q<1)&&(Q=null);pe&&document.body.classList.add("pane-mode");var ze=location.pathname.match(/^\/p\/([a-z0-9_-]+)/),es=document.body.dataset.homeProjectSlug||null,xe=ze?ze[1]:es,z=xe?"/p/"+xe+"/":"/",fe=xe?"/p/"+xe+"/ws":"/ws";pe&&(fe+="?pane=1",Q&&(fe+="&session="+Q),Pt.get("contextual")==="1"&&(fe+="&contextual=1"));var f=function(e){return document.getElementById(e)},L=f("messages"),Ke=f("input"),ts=f("send-btn");var Mt=f("header-title"),fh=f("header-rename-btn"),ns=f("slash-menu"),ph=f("suggestion-chips"),rs=f("sidebar"),os=f("sidebar-overlay"),za=f("session-list"),as=f("new-session-btn"),is=f("hamburger-btn"),ss=f("sidebar-toggle-btn"),ls=f("sidebar-expand-btn"),ds=f("image-preview-bar"),mh=f("connect-overlay");var cs="/claude-code-avatar.png";function Ga(e){Be(e)}function us(){return!1}function Ka(){var e=document.getElementById("icon-strip-add");e&&e.click()}function Ya(e){$r(e)}function fs(){Xr()}var gh=f("project-list-section"),hh=f("project-list"),vh=f("project-list-add"),ps=f("project-hint"),Ua=f("project-hint-dismiss"),Ge=xe||null;document.addEventListener("keydown",function(e){if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="z"){var t=document.activeElement,n=t&&t.tagName;(n==="TEXTAREA"||n==="INPUT"||t&&t.isContentEditable)&&(e.preventDefault(),e.stopPropagation(),e.shiftKey?document.execCommand("redo",!1,null):document.execCommand("undo",!1,null))}},!0);document.addEventListener("keydown",function(e){e.key==="Escape"&&It()});Ua&&Ua.addEventListener("click",function(){ps.classList.add("hidden");try{localStorage.setItem("clay-project-hint-dismissed","1")}catch{}});f("mermaid-modal").querySelector(".confirm-backdrop").addEventListener("click",nt);f("mermaid-modal").querySelector(".mermaid-modal-btn[title='Close']").addEventListener("click",nt);f("image-modal").querySelector(".confirm-backdrop").addEventListener("click",It);f("image-modal").querySelector(".image-modal-close").addEventListener("click",It);function xt(e){on(e)}function It(){an()}var Qa="";try{Ee=localStorage.getItem("clay-project-name-"+(Ge||"default")),Ee&&(Qa=Ee,Mt&&(Mt.textContent=Ee),kt=f("title-bar-project-name"),kt&&(kt.textContent=Ee)),Ct=localStorage.getItem("clay-project-icon-"+(Ge||"default")),Ct&&(Pe=f("title-bar-project-icon"),Pe&&(Pe.textContent=Ct,Ue(Pe),Pe.classList.add("has-icon")))}catch{}var Ee,kt,Ct,Pe;function Ja(e,t,n,r){sn(e,t,n,r)}Dt({networkSettings:{loaded:!1,busy:!1,confirming:!1,draft:"",saved:"",status:"",errorKind:"",requestId:0},vendorLoginBrowser:null,githubStarCount:null,sharedBrowser:null,sharedBrowsers:[],mcpSkillsWorkbench:{},mateKnowledgeWorkspaces:{},mateColorSave:null,mcpConnections:{screen:"list",servers:[],search:"",loaded:!1},sharedBrowserOpen:!1,sharedBrowserUi:{},sharedBrowserSettings:{},browserLinksBound:!1,basePath:z,wsPath:fe,paneMode:pe,paneSessionId:Q,panePinPending:pe&&!!Q,paneCommittedBinding:null,panePendingBinding:null,paneReady:!1,paneSuspended:!1,paneActivationGeneration:0,paneActivationTimer:null,panePointerBinding:null,paneRichDrafts:{},paneLayoutScrollLock:null,paneLastUserScrollTop:null,paneUserScrollIntent:null,paneUserScrollRevision:0,sessionRichDrafts:{},sessionActionEpoch:0,composerUploadingCount:0,deferredSessionSwitch:null,paneCallbackBinding:null,paneActionEvents:[],paneHeldKeys:{},rewindAction:null,handoffAction:null,authIdentityLoaded:!1,splitIdentityBlockedSocket:null,splitIdentityHydrated:!1,paneActivationUnsupported:!1,paneBindingSessions:[],splitPanes:null,splitGroups:[],splitViewWorkerConversation:null,splitViewWorkerRemoval:null,projectSplitViews:[],projectSplitViewRevision:0,projectSplitViewContextKey:null,projectSplitViewHydrated:!1,projectSplitViewPending:null,projectSplitViewError:"",projectSplitViewActiveId:null,projectSplitViewFocusedOrigin:null,projectSplitViewPreviewTree:null,projectSplitViewDrag:null,splitViewOrganizationDrag:null,projectSplitViewDividerDrag:null,projectSplitViewTranscriptScroll:{},projectSplitViewSuppressClick:null,projectSplitViewSocketGeneration:0,projectSplitViewRequestSocket:null,projectSplitViewRequestGeneration:null,projectSplitViewRequestOwnerId:null,projectSplitViewRequestSlug:null,sessionFolders:null,sessionFoldersSlug:null,sessionFolderCreate:null,sidebarCreationEffects:[],sessionSearch:null,sessionFolderViewMenu:null,sessionFolderLayouts:{},sessionFolderDrag:null,sessionFolderMenu:null,sessionFolderContext:null,sessionFolderModal:null,sessionContextMenu:null,sessionInlineRename:null,splitDelegations:{},pairResultStatus:[],notesTemporarilyHidden:!1,pairResultTrayOpen:!1,dmMode:!1,historyFrom:0,loadingMore:!1,historyTotal:0,replayingHistory:!1,historyReplayBatch:null,pendingSessionEntryNavigation:null,sessionEntryHighlight:null,sessionNavigationRequestId:null,projectName:Qa,cwd:"",currentSlug:Ge,githubWorkPopoverBound:!1,githubWorkSessions:[],githubWorkProject:null,githubWorkRefresh:null,workPrimaryPending:null,activeProjectSlug:null,activeProjectMateId:null,activeProjectMateName:"",clayReturnTarget:null,contextualPrepared:null,contextualSubmitted:{},contextualClay:{mode:"closed",mateId:null},contextualConversationHistory:null,contextualConversationRequest:null,clayControlActivity:null,clayControlOrder:0,clayControlReceipts:[],clayControlForwarded:null,controlRuntimeId:null,studioDocumentSource:null,studioDocumentView:null,clayStudioRelays:{},clayStudioForwarded:{},clayStudioSurfaces:{},clayControlNotifications:[],clayControlFileView:null,clayControlTerminalViews:[],clayControlGitView:null,clayNavigationRendering:null,clayControlViewerRef:null,contextualSessionReady:!1,contextualSessionReceived:!1,contextualSessionUnavailable:!1,clayReturnPendingProjectSlug:null,activeSessionMateId:null,activeSessionMateName:"",sessionActivatedProjectSlug:null,sessionListProjectSlug:null,splitGroupsProjectSlug:null,socketPath:null,pendingHomeProjectSlug:null,homeProjectEmptyVisible:!1,homeShellVisible:!1,projectMateFilterMode:"all",projectMateFilterTurns:0,projectMateFilterActivated:!1,projectMateCreationActive:!1,projectMateCreationMateId:null,projectMateCreationSessionId:null,projectMateCreationRequestId:null,projectMateCreationPendingStart:!1,projectMateCreationAwaitingHistory:!1,projectMateCreationAwaitingMateList:!1,projectMateCreationHistoryReady:!1,projectMateCreationLocalId:null,projectMateCreationMessages:[],projectMateCreationPendingMateId:null,projectDebatePlanningActive:!1,projectDebatePlanningMateId:null,projectDebatePlanningSessionId:null,projectDebatePlanningLocalId:null,projectDebatePlanningRequestId:null,projectDebatePlanningPendingStart:!1,projectDebatePlanningAwaitingHistory:!1,projectDebatePlanningAwaitingMateList:!1,projectDebatePlanningHistoryReady:!1,projectDebatePlanningTopic:"",projectDebatePlanningMessages:[],projectDebatePlanningError:"",projectDebatePlanningRetryable:!1,debatesWorkbenchStatus:"idle",debatesWorkbenchRequestId:null,debatesWorkbenchItems:[],debatesWorkbenchError:"",debatesWorkbenchFilter:"all",debatesWorkbenchCreating:!1,debatesWorkbenchWide:!1,debatesWorkbenchFullscreen:!1,debatesWorkbenchScrollTop:0,pendingDebateNavigation:null,pendingProjectSessionNavigation:null,projectsHubVisible:!1,projectsHubMarkup:null,projectsHubList:[],projectListLoaded:!1,projectsAccessLoaded:!1,projectsHubRestoreRequested:!1,projectStart:br(),projectStartFolder:yr(),onboardingStep:"welcome",onboardingIntent:null,currentProjectOwnerId:null,isOsUsers:!1,skipPermsEnabled:!1,autonomousSelectedMode:"normal",autonomousArming:!1,autonomousArmToken:null,autonomousArmRequestId:null,autonomousArmSessionId:null,autonomousActionRequestId:null,autonomousActionSessionId:null,autonomousCriteria:"",autonomousMaxContinuations:10,autonomousMaxMinutes:60,autonomousRun:null,autonomousExpanded:!1,loopInterviewBrief:null,loopInterviewEditing:!1,loopInterviewRunRequestId:null,loopInterviewRunSessionId:null,loopInterviewStarting:!1,loopInterviewRequestId:null,loopInterviewSessionId:null,slashCommands:[],processing:!1,scheduledMessageCorrelation:null,activeSessionId:null,speechActive:null,speechSettings:null,speechSettingsRequest:0,speechSettingsSaving:!1,speechSettingsError:"",speechPopup:null,speechRetry:null,speechLang:"en-US",speechStatuses:{},speechErrors:{},speechLanguageSaving:!1,speechLifecycleBound:!1,askUserRequests:{},activeBackgroundTasks:[],backgroundTaskCatalog:[],backgroundTaskViewer:null,splitSessionPicker:null,splitSessionCreation:null,agentMessagePreviews:{},agentMessageBubble:null,workerMessagePreviewSubscription:null,sessionVendorBound:!1,cliSessionId:null,isHeadlessMode:!1,savedMainSlug:null,connected:!1,fileReadRequest:null,filePaneInstances:{},activeFilePaneId:null,fileViewerIsPlantUml:!1,plantUmlPreviewJob:null,wireframeDraft:null,wireframeRenderQueue:[],wireframeRenderActive:null,wireframeRenderCache:[],pendingFileNavigation:null,rightWorkbenchOwner:null,rightWorkbenchRevision:0,fileViewerOpenRevision:0,cursorSharingEnabled:!1,cursorSharingHydrated:!1,cursorSharingPending:null,pendingOutboundMessages:[],pendingMessageQueue:{projectSlug:null,sessionId:null,revision:0,paused:!1,items:[],loading:!1,error:""},pendingMessageQueueRecovery:!1,pendingMessageQueueRequests:{},pendingMessageQueueEdit:null,pendingMessageQueueDrag:null,pendingMessageQueueFocusReturn:null,searchClayChatState:null,homeChatMateId:null,homeChatSessionId:null,homeChatSessionModel:null,homeChatSessionVendor:null,homeChatSessionModelLoading:!1,homeMateSessions:{},homeActiveSessionByMate:{},homePreferredMateId:null,homeSidebarCollapsed:!1,homeMatesCollapsed:!1,homeChatScope:"all",homeSubSurface:"chat",homeDebatesStatus:"idle",homeDebates:[],homeDebatesRequestId:null,homeDebatesError:"",homeSurfaceLoaded:!1,homePrimarySurface:null,homeSurfaceProjectSlug:null,homeSurfaceIntent:null,homeSurfaceBootResolved:!1,homeSurfaceRestoreRequested:!1,dockActiveToolId:null,dockOpen:!1,homeDockPreferenceLoaded:!1,dockFocus:!1,dockLibraryOpen:!1,dockBackstageOpen:!1,dockWidth:null,dockHasActivity:!1,dockActivityToolId:null,you:{},youActivity:{},youSequence:0,projectLogsOpen:!1,projectLogsWide:!1,projectLogsFullscreen:!1,projectLogsEntries:[],projectLogsSelectedRef:null,projectLogsView:"list",projectLogsCategory:"",projectLogsContextMode:"",projectLogsIsWorktree:!1,projectLogsListScroll:0,projectLogsListRequestId:null,projectLogsReadRequestId:null,projectLogsCommentRequestId:null,projectLogsCommentStatusEl:null,projectLogsDeleteRequestId:null,projectLogsCanDelete:!1,projectLogsUnread:0,projectLogsSeenRevisions:{},scheduledResultUnread:0,scheduledResultAutoFocusHandled:!1,scheduledResultFocusRef:null,scheduledResultPendingReadRef:null,scheduledResultSeenRefs:{},scheduledResultSessionRequestId:null,issuesOpen:!1,issuesView:"list",issuesSelected:null,issuesRows:[],issuesRequests:{},issueGithub:null,issuesViewRequest:null,issuesViewGeneration:0,issuesUpdateAvailable:null,issuesCache:{},issuesEpoch:0,issuesSearchTimer:null,issueLinkRequests:{},issueLinkOpenRef:null,scheduledTasksOpen:!1,scheduledTasksWide:!1,scheduledTasksFullscreen:!1,scheduledTaskRecords:[],scheduledTaskDraft:null,scheduledTaskEditingId:null,scheduledTaskNewSessionPending:!1,scheduledTaskInterviewRequestId:null,scheduledTaskActionRequestId:null,scheduledTaskListRequest:null,scheduledTaskInterviewId:null,scheduledTaskExpandedId:null,scheduledTaskDeleteId:null,scheduledTaskDraftForm:null,scheduledTaskEditForm:null,scheduledTaskCreateMenuOpen:!1,scheduledTaskManualRequest:null,installedTools:[],capsulesEnabled:!1,capsulesPreferenceLoaded:!1,homeToolRegistryLoaded:!1,toolScanErrors:[],defaultAiState:{loading:!1,saving:!1,refreshRequestId:null,saveRequestId:null,catalogRequestIds:{},catalogs:{},preference:null,selection:null,installedVendors:[],accountAvailable:!0,accountId:null,serverEpoch:null,canonicalRevision:0,error:""},defaultAiDraft:{vendor:"",model:"",effort:""},defaultAiDraftDirty:!1,defaultVendorState:{loading:!1,saving:!1,getRequestId:null,saveRequestId:null,preference:null,preferencePresent:!1,installedVendors:[],accountId:null,projectSlug:null,serverEpoch:null,canonicalRevision:0,error:""},projectSessionVisibilityState:{active:null,pending:null},dmTargetUser:null,dmKey:null,cachedMatesList:[],cachedDmFavorites:[],cachedAvailableBuiltins:[],projectMateDmsEnabled:!0,returningFromMateDm:!1,pendingMateInterview:null,pendingTermCommand:null,shellCommandMode:!1,shellCommandRunning:!1,pendingShellCommandId:null,mateProjectSlug:null,myUserId:null,contextViewPreferenceState:{mode:"off",canonicalMode:"off",preferencePresent:!1,loading:!1,saving:!1,requestId:null,saveRequestId:null,pendingSaves:[],accountId:null,serverEpoch:null,rejectedEpoch:null,canonicalRevision:0,error:""},contextViewOverride:null,isMultiUserMode:!1,dmUnread:{},dmRemovedUsers:{},cachedAllUsers:[],cachedOnlineIds:[],cachedDmConversations:[],sessionDrafts:{},messageUuidMap:[],currentMsgTs:null,richContextUsage:null,contextMeasurement:"unavailable",currentMsgEl:null,currentFullText:"",matePreThinkingEl:null,thinkingState:null,fileViewerFullscreen:!1,markdownSlidesActive:!1,markdownSlideIndex:0,markdownSlideCount:0,markdownSlideLevel:1,markdownSlidePreferredLevel:1,markdownSlideLevelExplicit:!1,currentModel:"",currentModels:[],modelListVendor:"",modelListStatus:"idle",modelListError:"",modelRequestId:"",modelSelectionPending:null,modelSelectionError:"",lastVendor:"",vendorInfo:{},rateLimitState:{},vendorUsageOverview:null,vendorUsageOpen:null,currentMode:"default",effectivePermissionMode:null,permissionCapabilities:{auto:!1,mcpOverride:!1},permissionModePendingByTarget:{},mcpPermissionModePendingByTarget:{},mcpPermissionModeOverrides:{},currentEffort:"medium",currentBetas:[],currentThinking:"adaptive",currentThinkingBudget:1e4,sessionFullAccess:!1,codexApproval:null,codexSandbox:null,codexWebSearch:null,ctxPopoverVisible:!1,headerContextEl:null,loopActive:!1,loopAvailable:!1,loopIteration:0,loopMaxIterations:0,loopBannerName:null,ralphPhase:"idle",ralphCraftingSessionId:null,ralphCraftingSource:null,ralphFilesReady:{promptReady:!1,judgeReady:!1,bothReady:!1},ralphPreviewContent:{prompt:"",judge:""},execModalShown:!1,debateStickyState:null,debateFloorMode:!1,debateConcludeMode:!1,debateEndedMode:!1,knownInstalledSkills:{},permissions:null,wizardData:{name:"",task:"",maxIterations:null,cron:null}});gr({$:f,get ws(){return w()},get connected(){return o.get("connected")},get processing(){return o.get("processing")},messagesEl:L,addSystemMessage:ni});Ao();wa();kn();Ma();var ms={$:f,get ws(){return w()},get connected(){return o.get("connected")},get projectName(){return o.get("projectName")},messagesEl:L,sessionListEl:za,sidebar:rs,sidebarOverlay:os,sidebarToggleBtn:ss,sidebarExpandBtn:ls,hamburgerBtn:is,newSessionBtn:as,headerTitleEl:Mt,showConfirm:Ja,onFilesTabOpen:function(){_o(),Oo(),H()&&F()},requestKnowledgeList:function(){qn()},switchProject:function(e){ri(e)},openTerminal:function(){Lo()},showHomeHub:function(){Ga()},getUpcomingSchedules:fn,get multiUser(){return o.get("isMultiUserMode")},get myUserId(){return o.get("myUserId")},get projectOwnerId(){return o.get("currentProjectOwnerId")},get ownerLocked(){return o.get("ownerLocked")},openDm:function(e){Ya(e)},openMateWizard:function(){Ka()},openAddProjectModal:function(){Sr()},sendWs:function(e){var t=w();t&&t.readyState===1&&t.send(JSON.stringify(e))},onDmRemoveUser:function(e){var t=Object.assign({},o.get("dmRemovedUsers"));t[e]=!0,o.set({dmRemovedUsers:t})},getHistoryFrom:function(){return o.get("historyFrom")},get permissions(){return o.get("permissions")},get projectList(){return ge()||[]},availableBuiltins:function(){return o.get("cachedAvailableBuiltins")||[]}};ma();_e([Bo,Un,_n,Qt,Nn,Jt,vr,Gr]);xo(ms);var Lt=function(){return w()};Vn(Lt);Fn(Lt);_e([rr]);On(Lt,{onShow:function(){Hn(),wo()}});ao({switchProject:function(e){ri(e)},currentSlug:function(){return o.get("currentSlug")},matesList:function(){return o.get("cachedMatesList")||[]},availableBuiltins:function(){return o.get("cachedAvailableBuiltins")||[]},allUsers:function(){return o.get("cachedAllUsers")||[]},dmConversations:function(){return o.get("cachedDmConversations")||[]},myUserId:function(){return o.get("myUserId")},selectSession:function(e){H()&&F();var t=document.getElementById("sticky-notes-panel");if(t&&!t.classList.contains("hidden")){var n=document.getElementById("sticky-notes-sidebar-btn");n&&n.click()}var r=w();r&&r.readyState===1&&r.send(JSON.stringify({type:"switch_session",id:e}))},openDm:function(e){Ya(e)},runAction:function(e){switch(e){case"createMate":Ka();break;case"openSettings":pn();break;case"showHome":Ga();break}}});ba();Bn();Yt();function gs(e){yn(e)}function hs(){Sn()}function vs(e){wn(e)}function bs(){po()}function ys(){mo()}function $a(){Ln()}function Xa(){Tn()}function Ss(){Rn()}function ws(){Dn()}function Tt(e){Vt(e)}var Y=f("new-msg-btn"),_a="\u2193 Latest";function Et(){var e=f("input-area");e&&(Y.style.bottom=e.offsetHeight+12+"px")}var Na=f("input-area");Na&&window.ResizeObserver?new ResizeObserver(Et).observe(Na):window.addEventListener("resize",Et);Et();L.addEventListener("scroll",function(){if(!Ot()){var e=L.scrollHeight-L.scrollTop-L.clientHeight,t=e>150;qt(t),t?(Y.classList.contains("hidden")&&(Y.textContent=_a),Y.classList.remove("hidden")):(Y.classList.add("hidden"),Y.textContent=_a)}});Y.addEventListener("click",function(){Za()});document.addEventListener("visibilitychange",function(){document.hidden||Ie()});L.addEventListener("click",function(e){var t=e.target.closest(".msg-action-fork");if(t){var n=t.closest("[data-uuid]");if(!(!n||!n.dataset.uuid)){var r=n.dataset.uuid;Ja("Fork session from this message?",function(){var a=w();a&&a.readyState===1&&a.send(JSON.stringify({type:"fork_session",uuid:r}))},"Fork",!1)}}});function Ie(){Wt()}function Za(){zt()}rn();bn();Pr();or();Fr();Ur();ja();Kr();Nr();Or();Vr();io();In();An();Ft();Zt({$:f,get ws(){return w()},get connected(){return o.get("connected")},get turnCounter(){return Ht()},messagesEl:L,inputEl:Ke,finalizeAssistantBlock:function(){ks()},addToMessages:function(e){Tt(e)},scrollToBottom:function(){Ie()},setActivity:function(e){vs(e)},stopUrgentBlink:function(){hs()},showImageModal:xt,getContextPercent:function(){var e=xn();return e.contextWindow>0?Math.round(e.input/e.contextWindow*100):0},isMateDm:function(){return o.get("dmMode")&&o.get("dmTargetUser")&&o.get("dmTargetUser").isMate},getMateName:function(){return o.get("dmTargetUser")&&o.get("dmTargetUser").displayName||"Mate"},getMateAvatarUrl:function(){return document.body.dataset.mateAvatarUrl||""},getClaudeAvatar:function(){return cs},getMateById:function(e){var t=o.get("cachedMatesList");if(!e||!t)return null;for(var n=0;n<t.length;n++)if(t[n].id===e)return t[n];return null}});function ei(e,t,n,r,a){lo(e,t,n,r,a)}function ti(e,t){uo(e,t)}function ks(){fo()}function ni(e,t){co(e,t)}function Cs(){ho()}function Ms(){Rr()}function ri(e){je(e)}window.addEventListener("popstate",function(){if(/^\/projects\/?$/.test(location.pathname)){Be(!0);return}Cr();var e=location.pathname.match(/^\/p\/([a-z0-9_-]+)/),t=e?e[1]:null;if(!t){Be(!0);return}nr("project",t),us()&&void 0,t&&t!==o.get("currentSlug")&&(Uo(),ne(),H()&&F(),cn(t),o.set({currentSlug:t}),z="/p/"+t+"/",fe="/p/"+t+"/ws",o.set({basePath:z,wsPath:fe}),Ms(),oi())});function oi(){Qr()}so({get ws(){return w()},get connected(){return o.get("connected")},get processing(){return o.get("processing")},get basePath(){return z},inputEl:Ke,sendBtn:ts,slashMenu:ns,messagesEl:L,imagePreviewBar:ds,slashCommands:function(){return o.get("slashCommands")},messageUuidMap:function(){return o.get("messageUuidMap")},addUserMessage:ei,addSystemMessage:ni,toggleUsagePanel:$a,toggleStatusPanel:Xa,toggleContextPanel:ws,resetContextData:Ss,showImageModal:xt,hideSuggestionChips:Cs,getGhostSuggestion:function(){return go()},setSendBtnMode:gs,isDmMode:function(){return o.get("dmMode")&&!(o.get("dmTargetUser")&&o.get("dmTargetUser").isMate)},getDmKey:function(){return o.get("dmKey")},handleDmSend:function(){fs()},isDebateEndedMode:function(){return o.get("debateEndedMode")},handleDebateEndedSend:function(){handleDebateEndedSend()},isDebateConcludeMode:function(){return o.get("debateConcludeMode")},handleDebateConcludeSend:function(){xs()},isDebateFloorMode:function(){return o.get("debateFloorMode")},handleDebateFloorSend:function(){Ls()},isMateDm:function(){return o.get("dmMode")&&o.get("dmTargetUser")&&o.get("dmTargetUser").isMate},getDmMateId:function(){var e=o.get("dmTargetUser");return o.get("dmMode")&&e&&e.isMate?e.id:null},getMateName:function(){return o.get("dmTargetUser")&&o.get("dmTargetUser").displayName||"Mate"},getMateAvatarUrl:function(){return document.body.dataset.mateAvatarUrl||""},showMatePreThinking:function(){ys()},showClaudePreThinking:function(){bs()},myUserId:function(){return o.get("myUserId")},myDisplayName:function(){var e=null;try{e=JSON.parse(localStorage.getItem("clay_my_user")||"null")}catch{}return e&&(e.displayName||e.username)||document.body.dataset.myDisplayName||"Me"}});hr();Wr({get ws(){return w()},get connected(){return o.get("connected")},inputEl:Ke,messagesEl:L,matesList:function(){return o.get("cachedMatesList")||[]},availableBuiltins:function(){return o.get("cachedAvailableBuiltins")||[]},allUsers:function(){return o.get("cachedAllUsers")||[]},myUserId:function(){return o.get("myUserId")},scrollToBottom:Ie,addUserMessage:ei,addCopyHandler:ti,addToMessages:Tt,showImageModal:xt,showPasteModal:nn});xr({get ws(){return w()},sendWs:function(e){var t=w();t&&t.readyState===1&&t.send(JSON.stringify(e))},messagesEl:L,addToMessages:function(e){Tt(e)},scrollToBottom:Ie,addCopyHandler:ti,matesList:function(){return o.get("cachedMatesList")||[]},availableBuiltins:function(){return o.get("cachedAvailableBuiltins")||[]},currentMateId:function(){return o.get("dmTargetUser")&&o.get("dmTargetUser").isMate?o.get("dmTargetUser").id:o.get("homeChatMateId")||null},requireSkills:Ps,showDebateEndedMode:function(e){Is(e)}});na();tr({basePath:z});mn();fr({basePath:z});function Es(){ln()}fetch("/api/me").then(function(e){return e.json()}).then(function(e){if(e.multiUser&&(o.set({isMultiUserMode:!0}),document.body&&document.body.classList.add("is-multi-user")),e.user&&e.user.id&&(o.set({myUserId:e.user.id}),gn()),o.set({authIdentityLoaded:!0}),o.set({permissions:e.permissions||null,projectsAccessLoaded:!0}),e.mustChangePin&&Es(),!o.get("isMultiUserMode")){var t=document.getElementById("icon-strip-users");t&&(t.innerHTML="",t.classList.add("hidden"))}sa();var n=o.get("permissions");if(n){if(!n.terminal){var r=document.getElementById("terminal-toggle-btn");r&&(r.style.display="none");var a=document.getElementById("terminal-sidebar-btn");a&&(a.style.display="none");var s=document.getElementById("shell-command-btn");s&&(s.style.display="none");var i=document.getElementById("input-more-shell");i&&(i.style.display="none")}if(!n.fileBrowser){var l=document.getElementById("file-browser-btn");l&&(l.style.display="none");var c=document.getElementById("git-placard");c&&(c.style.display="none")}if(!n.skills){var d=document.getElementById("skills-btn");d&&(d.style.display="none");var u=document.getElementById("mate-skills-btn");u&&(u.style.display="none")}if(!n.scheduledTasks){var p=document.getElementById("scheduler-btn");p&&(p.style.display="none")}if(!n.createProject){var m=document.getElementById("icon-strip-add");m&&(m.style.display="none")}}}).catch(function(){});ir().then(function(e){if(o.get("isMultiUserMode")&&!e){var t=document.getElementById("update-pill-wrap");t&&(t.style.display="none")}});ar({$:f,get ws(){return w()},get connected(){return o.get("connected")},messagesEl:L,sessionListEl:za,scrollToBottom:Ie,forceScrollToBottom:Za,basePath:z,toggleUsagePanel:$a,toggleStatusPanel:Xa});sr();hn(no());vn();jo({get ws(){return w()},get connected(){return o.get("connected")},get activeSessionId(){return o.get("activeSessionId")},get cwd(){return o.get("cwd")},messagesEl:L,fileTreeEl:f("file-tree"),fileViewerEl:f("file-viewer")});_e([Po,Go,$t]);Ho();_r();jn();Io({get ws(){return w()},get connected(){return o.get("connected")},terminalContainerEl:f("terminal-container"),terminalBodyEl:f("terminal-body"),fileViewerEl:f("file-viewer")});en({get ws(){return w()},get connected(){return o.get("connected")}});Zo();(function(){var e=new URLSearchParams(window.location.search),t=e.get("playbook");if(t){setTimeout(function(){Xo(t)},300),e.delete("playbook");var n=e.toString(),r=window.location.pathname+(n?"?"+n:"")+window.location.hash;window.history.replaceState(null,"",r)}})();Gt({messagesEl:L,get ws(){return w()},getHistoryFrom:function(){return o.get("historyFrom")}});var Oa=f("find-in-session-btn");Oa&&Oa.addEventListener("click",function(){Kt()});yo();Eo();vo(function(){re()&&Co()});var Fa=f("sticky-notes-sidebar-btn");Fa&&Fa.addEventListener("click",function(){he(),me(),H()&&F(),re()&&ne(),So(),ko()});var Ha=document.querySelectorAll("#sticky-notes-toggle-btn");for(We=0;We<Ha.length;We++)Ha[We].addEventListener("click",function(){bo()});var We,qa=f("sticky-notes-sidebar-count");qa&&qa.addEventListener("click",function(e){e.stopPropagation(),he(),me(),H()&&F(),re()?ne():Mo()});var Va=f("git-placard-more"),Wa=f("terminal-sidebar-btn");Va&&Va.addEventListener("click",function(){Je(),he(),me(),re()&&ne(),H()&&F()});Wa&&Wa.addEventListener("click",function(){Je(),he(),me(),re()&&ne(),H()&&F()});function Ps(e,t){Hr(e,t)}function xs(){Ir()}function Is(e){Lr(e)}function Ls(){Tr()}tn();mr();dn({get ws(){return w()},get connected(){return o.get("connected")},get activeSessionId(){return o.get("activeSessionId")},basePath:z,currentSlug:Ge,getProjects:function(){return ge()}});jr();Er();Dr();Da();wr();oo();qr();kr();zr();Mr();La();Jr();Yr();lucide.createIcons();pe&&typeof performance<"u"&&performance.mark&&performance.mark("clay:bootstrap-complete");oi();ze&&location.hash==="#scheduler"?setTimeout(function(){un("calendar")},500):ze&&Ke.focus();
@@ -0,0 +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-UPXU2IPC.js")}},you:{id:"you-panel",label:"Me",icon:"user",open:"openYou",load:function(){return import("./chunk-U3I5KY3B.js")}},issues:{id:"issues-panel",label:"Issues",icon:"circle-dot",open:"openIssues",load:function(){return import("./chunk-EYTE56IA.js")}},linear:{id:"linear-panel",label:"Linear",icon:"list-todo",open:"openLinear",load:function(){return import("./chunk-RNDRURMF.js")}},"notes-browser":{id:"notes-browser",label:"Sticky Notes",icon:"sticky-note",open:"openNotesBrowser",load:function(){return import("./chunk-RGAFZ3T2.js")}},"scheduled-tasks":{id:"scheduled-tasks-panel",label:"Scheduled Tasks",icon:"calendar-clock",open:"openScheduledTasks",load:function(){return import("./chunk-MGTFTEJP.js")}},debates:{id:"debates-workbench",label:"Debates",icon:"messages-square",open:"openDebatesWorkbench",load:function(){return import("./chunk-MMG6MYCN.js")}},"mcp-skills":{id:"mcp-skills-workbench",label:"MCP / Skills",icon:"blocks",open:"openMcpSkillsWorkbench",load:function(){return import("./chunk-EMLN2Y7L.js")}},"mate-knowledge":{id:"mate-knowledge-workbench",label:"Knowledge",icon:"book-open",open:"openKnowledgeWorkbench",load:function(){return import("./chunk-SJOT74VW.js")}},wireframe:{id:"wireframe-panel",label:"Sketch",icon:"panels-top-left",open:"restoreWireframeWorkbench",load:function(){return import("./chunk-M57UIGZV.js")}}};function $(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 A=8,_=.05,H=.95,se=["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 xe(e,r){var i=p(e),t=!0;function n(o,a){return!o||typeof o!="object"||a>A?!1:Object.prototype.hasOwnProperty.call(o,"id")?Object.keys(o).length===1&&P(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<_||o.ratio>H?!1:n(o.left,a+1)&&n(o.right,a+1)}return t=(e===null||n(e,0))&&i.length>=0&&i.length<=A&&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 P(e){return typeof e=="string"&&e.length>0&&e.length<=128&&/^[A-Za-z0-9_-]+$/.test(e)}function h(e){return{id:e}}function Q(e,r,i){if(!P(e)||!P(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 L(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 X(e,r){if(!Array.isArray(e)||e.length>A||e.some(function(t){return!P(t)})||new Set(e).size!==e.length)throw new TypeError("Preset input must contain zero to eight unique session origins");if(se.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 L(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:L(e.slice(1))}:{axis:"horizontal",ratio:1-i,left:L(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")}:L(e)}function I(e,r){if(!e||typeof e!="object")return e;if(Object.prototype.hasOwnProperty.call(e,"id"))return e.id===r?null:e;var i=I(e.left,r),t=I(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 c=D(e.right,r,i,t,n);return c.found?{tree:{axis:e.axis,ratio:e.ratio,left:e.left,right:c.tree},found:!0}:{tree:e,found:!1}}function me(e,r,i,t,n){var o=["left","right","top","bottom"],a=n===void 0?.5:n;if(!P(r)||!P(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<_||a>H)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>=A)return{ok:!1,tree:e,reason:"limit"};var c=f?I(e,r):e,d=D(c,r,i,t,a);return d.found?{ok:!0,tree:d.tree,changed:!0}:{ok:!1,tree:e,reason:"unknown-target"}}function Y(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 ye(e,r,i){if(typeof i!="number"||!Number.isFinite(i)||i<_||i>H||!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 Oe(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(!P(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=X(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,c=i.slice(-4)==="left",d=o[0],s=X(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:c?{axis:"horizontal",ratio:.5,left:g,right:s}:{axis:"horizontal",ratio:.5,left:s,right:g}}}var v=i==="left"||i==="right",b=i==="left"||i==="top";return{ok:!0,tree:{axis:v?"horizontal":"vertical",ratio:.5,left:b?h(r):a,right:b?a:h(r)}}}function Se(e,r,i,t){var n={},o=[],a=Number.isFinite(t)&&t>=0?t:7;function l(f,c,d){if(f){if(Object.prototype.hasOwnProperty.call(f,"id")){n[f.id]=c;return}var s=f.axis==="horizontal",g=Math.max(0,(s?c.width:c.height)-a),v=g*f.ratio,b=s?c.x+v:c.y+v,x=s?{x:b,y:c.y,width:a,height:c.height}:{x:c.x,y:b,width:c.width,height:a};o.push({path:d.slice(),axis:f.axis,rect:x,branchRect:c,ratio:f.ratio,available:g});var T=s?{x:c.x,y:c.y,width:v,height:c.height}:{x:c.x,y:c.y,width:c.width,height:v},m=s?{x:b+a,y:c.y,width:g-v,height:c.height}:{x:c.x,y:b+a,width:c.width,height:g-v};l(f.left,T,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 j(){return(u.get("projectSplitViews")||[]).find(function(e){return e.id===u.get("projectSplitViewActiveId")})||null}function te(e){return e&&JSON.stringify([u.get("myUserId")||null,u.get("currentSlug"),u.get("currentProjectOwnerId"),u.get("projectSplitViewSocketGeneration"),e.id])}function ce(e){return JSON.parse(JSON.stringify(e))}function W(e,r){if(!e)return null;if(e.id)return r[e.id]?{id:r[e.id]}:null;var i=W(e.left,r),t=W(e.right,r);return i?t?{axis:e.axis,ratio:e.ratio,left:i,right:t}:i:t}function C(e){return e.kind==="workbench"?e.resource.name:e.kind==="file"?"file-"+e.instanceId:e.kind}function ue(e){var r=Object.create(null);return e.panes.forEach(function(i){r[i.instanceId]=i.kind==="session"?i.resource.originId:"tool-"+C(i)}),W(e.tree,r)}function ee(e){var r=Object.create(null);return e.panes.forEach(function(i){i.kind==="session"&&(r[i.instanceId]=i.resource.originId)}),W(e.tree,r)}function fe(e,r){var i=Object.create(null);return e.panes.forEach(function(t){i[t.kind==="session"?t.resource.originId:"tool-"+C(t)]=t.instanceId}),W(r,i)}function Ie(e,r){var i=r.instanceId,t=ie(),n=Object.create(null);e.panes.forEach(function(o){n[o.instanceId]=o.instanceId===i?t:o.instanceId}),e.tree=W(e.tree,n),e.activePaneId===i&&(e.activePaneId=t),r.instanceId=t}function ie(){return"pane-"+crypto.randomUUID()}function re(e,r,i){var t=ce(e||{version:1,panes:[],tree:null,activePaneId:null}),n=p(r),o=ue(t);t.panes=t.panes.filter(function(s){return s.kind!=="session"||n.indexOf(s.resource.originId)>=0}),n.forEach(function(s){t.panes.some(function(g){return g.kind==="session"&&g.resource.originId===s})||t.panes.push({instanceId:ie(),kind:"session",open:!0,placement:"docked",resource:{originId:s}})}),t.linkedPair&&(n.indexOf(t.linkedPair.driverOriginId)<0||n.length+t.linkedPair.workerOrigins.length>8)&&delete t.linkedPair;var a=[];function l(s){!s||s.id||(s.left.id&&s.left.id.indexOf("tool-")===0?a.push({id:s.left.id,target:p(s.right)[0],axis:s.axis,ratio:s.ratio,before:!0}):s.right.id&&s.right.id.indexOf("tool-")===0&&a.push({id:s.right.id,target:p(s.left)[0],axis:s.axis,ratio:s.ratio,before:!1}),l(s.left),l(s.right))}l(o);var f=r;function c(s,g){return s&&(s.id?s.id===g.target?{axis:g.axis,ratio:g.ratio,left:g.before?{id:g.id}:s,right:g.before?s:{id:g.id}}:s:{axis:s.axis,ratio:s.ratio,left:c(s.left,g),right:c(s.right,g)})}a.reverse().forEach(function(s){f=c(f,s)}),t.panes.filter(function(s){return s.kind!=="session"&&s.open&&s.placement==="docked"}).forEach(function(s){var g="tool-"+C(s);p(f).indexOf(g)<0&&(f=f?{axis:"horizontal",ratio:.66,left:f,right:{id:g}}:{id:g})}),t.tree=fe(t,f);var d=t.panes.find(function(s){return s.kind==="session"&&s.resource.originId===i})||t.panes.find(function(s){return s.open});return t.activePaneId=d?d.instanceId:null,t.presentation&&(n.indexOf(t.presentation.focusedSessionOriginId)<0&&(t.presentation.focusedSessionOriginId=null),t.panes.some(function(s){return s.open&&s.instanceId===t.presentation.expandedPaneId})||(t.presentation.expandedPaneId=null)),t}function Ce(e,r){var i=u.snap(),t=i.projectSplitViews||[],n=t.find(function(c){return c.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=re(n&&n.workspace,r.tree,r.activeSessionOriginId)),r.tree=ee(r.workspace),r.active=!0),e==="project_split_view_move"){var o=t.find(function(c){return c.id===r.targetViewId});r.expectedTargetViewRevision=o&&o.revision,r.targetWorkspace=re(o&&o.workspace,r.tree,r.activeSessionOriginId);var a=n&&n.workspace.panes.find(function(c){return c.kind==="session"&&c.resource.originId===r.sourceSessionOriginId}),l=r.targetWorkspace.panes.find(function(c){return c.kind==="session"&&c.resource.originId===r.sourceSessionOriginId});if(a&&l){var f=Object.create(null);r.targetWorkspace.panes.forEach(function(c){f[c.instanceId]=c===l?a.instanceId:c.instanceId}),r.targetWorkspace.tree=W(r.targetWorkspace.tree,f),r.targetWorkspace.activePaneId===l.instanceId&&(r.targetWorkspace.activePaneId=a.instanceId),l.instanceId=a.instanceId}r.tree=ee(r.targetWorkspace),r.active=!0}return r}function N(){document.dispatchEvent(new CustomEvent("clay-workspace-changed"))}function ge(e){return e.presentation||{focusedSessionOriginId:null,expandedPaneId:null}}function Ae(e){var r=u.get("projectSplitViewFocusedOrigin")||null,i=u.get("savedViewExpandedOwner"),t=e.panes.find(function(n){return n.open&&n.kind!=="session"&&C(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 ne(e,r){u.get("savedWorkspaceApplying")||!r&&u.get("savedViewExpandedOwner")!==e||(u.set({savedViewExpandedOwner:r?e:null}),N())}async function Ne(e,r){var i=await Promise.all([import("./chunk-SLMAFKI2.js"),import("./chunk-ENPAHXLB.js"),import("./chunk-XBHYNXXT.js"),import("./chunk-EPBGGZRT.js")]),t=j();if(!u.get("connected")||u.get("savedWorkspaceLeaving")||te(t)!==r||t.revision!==e.revision)return!1;var n=u.get("savedWorkspaceRuntime");n&&n.key===r&&(n.presentationApplied=!0);var o=ge(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?C(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){$(l,!!a&&a.kind==="workbench"&&a.resource.name===l)}),i[3].renderPresentationSplitView()}finally{u.set({savedWorkspaceApplying:!1})}return!0}var U=null;function R(){U||(U=requestAnimationFrame(function(){U=null,lucide.createIcons()}))}function B(e,r){return r?'<span class="'+r+'"><i data-lucide="'+e+'"></i></span>':'<i data-lucide="'+e+'"></i>'}var M={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(M,w);function oe(e){return"tool-"+e}function F(e){return/^tool-file-[A-Za-z0-9_-]+$/.test(e)||Object.keys(M).some(function(r){return oe(r)===e})}function de(e,r,i,t,n){if(r===i)return e;if(t==="center"&&F(r)&&F(i))return Y(e,r,i).tree;t=t==="center"?"right":t;var o=I(e,r),a=!1;function l(c){if(!c)return c;if(c.id){if(c.id!==i)return c;a=!0;var d=Q(i,r,t);return d.ratio=n||.5,d}return{axis:c.axis,ratio:c.ratio,left:l(c.left),right:l(c.right)}}var f=l(o);return a&&p(f).length<=24?f:e}function he(e,r){var i=e;return p(e).forEach(function(t){r.indexOf(t)<0&&(i=I(i,t))}),i}function K(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}),K(e.left,r),K(e.right,r)}}function qe(e,r,i){var t=p(e),n=i.map(oe),o=t.concat(n),a=e;if(r&&r.tree&&JSON.stringify(r.base)===JSON.stringify(e))a=he(r.tree,o);else if(r&&r.tree){var l=[];K(r.tree,l),l.reverse().forEach(function(f){n.indexOf(f.id)>=0&&p(a).indexOf(f.target)>=0&&(a=de(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 pe(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 G(e,r){if(e.dataset.fileInstance)return;if(w[r]){ve(e,r);return}var i=M[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=B(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 c=e.querySelector(".shared-browser-tabs");c&&t.insertBefore(c,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 s=new MutationObserver(function(){g()});s.observe(e,{childList:!0,characterData:!0,subtree:!0,attributes:!0,attributeFilter:["aria-selected"]}),e.addEventListener("clay-tool-pane-dispose",function(){s.disconnect()},{once:!0}),R()}function g(){var v=pe(e,r),b=t.querySelector(".tool-pane-title");b.textContent!==v&&(b.textContent=v,b.title=v)}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")&&G(i,"terminal")}});function ve(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 c=f.getAttribute("aria-label")||"";/^(Widen|Close)|fullscreen/i.test(c)&&t.appendChild(f)}),i.appendChild(t)),t.classList.add("workbench-pane-actions");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(){var f=e.classList.contains("panel-fullscreen");f!==a&&(a=f,ne(r,f))});l.observe(e,{attributes:!0,attributeFilter:["class"]}),e.addEventListener("clay-tool-pane-dispose",function(){l.disconnect()},{once:!0})}}function q(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
+ `)[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 be=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;function Je(e){var r;if(be){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(){q("Copied to clipboard")})}function Ze(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 ae(){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 J(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}),N()}function Z(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 le(){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(G(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(j()){Z(t,y().indexOf(t)<0);return}var s=u.get("workbenchLayoutPreference")||{};if(!s.ready||s.loading||s.saving){ae();return}var g=u.get("myUserId"),v=u.get("currentSlug"),b=J(t),x=y().indexOf(t)!==-1;function T(){return l.isConnected&&z(t)&&g===u.get("myUserId")&&v===u.get("currentSlug")&&b===J(t)&&x===(y().indexOf(t)!==-1)}import("./chunk-6QFLYOVY.js").then(function(m){var k=u.get("workbenchLayoutPreference")||{};return!T()||k.mode!==s.mode||k.revision!==s.revision||k.loading||k.saving||!k.ready?!1:m.saveWorkbenchLayoutMode(x?"overlay":"docked")}).then(function(m){if(T()){var k=u.get("workbenchLayoutPreference")||{};m===!0&&k.ready&&k.mode===(x?"overlay":"docked")?Z(t,!x):m===!1&&q(k.error||"Workbench layout could not be saved. Try again.","error")}}).catch(function(m){T()&&q(m.message||"Workbench layout could not be saved. Try again.","error")})});var c=f===a?a.querySelector("[data-knowledge-wide]"):f.firstElementChild;if(n.dataset.fileInstance){var d=f.querySelector('[data-action="pin"]');c=d&&d.nextSibling}f.insertBefore(l,c||null)}l.dataset.mode!==(o?"docked":"overlay")&&(l.dataset.mode=o?"docked":"overlay",l.innerHTML=B(o?"layers-2":"panel-right"),R()),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=j()?!1:!!i.loading||!!i.saving,l.setAttribute("aria-busy",i.loading||i.saving?"true":"false")}}}})}}}function ir(e,r,i){i&&(E[e]=i),!(!e||typeof r!="function")&&(O[e]=r)}function nr(e){delete O[e],e.indexOf("file-")===0&&e!=="file-viewer"&&delete E[e]}function or(e){typeof document<"u"&&ae();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(le),n}function ar(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 lr(e,r){return z(e)&&J(e)===r}function we(){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){we();return}(e.projectSplitViewPending!==r.projectSplitViewPending||e.workbenchLayoutPreference!==r.workbenchLayoutPreference||e.rightWorkbenchOwner!==r.rightWorkbenchOwner||e.rightWorkbenchDockedOwners!==r.rightWorkbenchDockedOwners)&&le()});function sr(e){Z(e,!0)}function cr(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{q as a,Je as b,Ze as c,R as d,B as e,p as f,xe as g,Q as h,X as i,I as j,me as k,Y as l,ye as m,Oe as n,Se as o,j as p,te as q,ce as r,W as s,C as t,ue as u,ee as v,fe as w,Ie as x,ie as y,Ce as z,N as A,M as B,oe as C,de as D,qe as E,J as F,ir as G,nr as H,or as I,ar as J,lr as K,we as L,sr as M,cr as N,w as O,Ae as P,ne as Q,Ne as R};
@@ -1 +1 @@
1
- import{F as a,G as b,H as c,I as d,J as e,K as f,L as g,M as h,N as i}from"./chunk-GN2NQEVC.js";import"./chunk-VZ2OKDAO.js";export{d as claimRightWorkbench,i as handlesWorkbenchKey,f as isRightWorkbenchCurrent,b as registerRightWorkbench,e as releaseRightWorkbench,g as resetRightWorkbench,h as restoreWorkbenchDock,a as rightWorkbenchRevisionFor,c as unregisterRightWorkbench};
1
+ import{F as a,G as b,H as c,I as d,J as e,K as f,L as g,M as h,N as i}from"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{d as claimRightWorkbench,i as handlesWorkbenchKey,f as isRightWorkbenchCurrent,b as registerRightWorkbench,e as releaseRightWorkbench,g as resetRightWorkbench,h as restoreWorkbenchDock,a as rightWorkbenchRevisionFor,c as unregisterRightWorkbench};
@@ -0,0 +1,3 @@
1
+ import{v,y as b}from"./chunk-VEBYD7TL.js";import{G as y,I as w,J as S,d as g}from"./chunk-2IJUTAB6.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
+ `+t+`
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 +1 @@
1
- import{a,b,c}from"./chunk-6NYCNWVF.js";import"./chunk-GN2NQEVC.js";import"./chunk-VZ2OKDAO.js";export{c as closeMcpSkillsWorkbench,a as ensureMcpSkillsWorkbench,b as openMcpSkillsWorkbench};
1
+ import{a,b,c}from"./chunk-FQTNR4ZS.js";import"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{c as closeMcpSkillsWorkbench,a as ensureMcpSkillsWorkbench,b as openMcpSkillsWorkbench};
@@ -1 +1 @@
1
- import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h}from"./chunk-R4LMPTKU.js";import"./chunk-TMGSDFJI.js";import"./chunk-R7QVVFUG.js";import"./chunk-GN2NQEVC.js";import"./chunk-VZ2OKDAO.js";export{e as handleSharedBrowserMessage,d as hideSharedBrowser,f as initSharedBrowser,c as openSharedBrowser,b as openSharedBrowserAt,g as restoreExistingBrowser,a as sendBrowserInput,h as setBrowserExpanded};
1
+ import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h}from"./chunk-MZLMEXMW.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{e as handleSharedBrowserMessage,d as hideSharedBrowser,f as initSharedBrowser,c as openSharedBrowser,b as openSharedBrowserAt,g as restoreExistingBrowser,a as sendBrowserInput,h as setBrowserExpanded};
@@ -0,0 +1 @@
1
+ import{Aa as g,Ba as h,Ca as i,Da as j,ua as a,va as b,wa as c,xa as d,ya as e,za as f}from"./chunk-OG3E5SVA.js";import"./chunk-FQTNR4ZS.js";import"./chunk-JIV7O5GN.js";import"./chunk-MZLMEXMW.js";import"./chunk-BQN7B62H.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{j as applyReviewedSplitView,c as handleProjectSplitViewResult,b as handleProjectSplitViews,g as initSplitViewPresentations,d as organizePresentationView,i as presentationViewForSidebar,h as renderPresentationSplitView,a as requestProjectSplitViews,e as setActiveView,f as switchToStandalone};
@@ -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-OG3E5SVA.js";import"./chunk-FQTNR4ZS.js";import"./chunk-JIV7O5GN.js";import"./chunk-MZLMEXMW.js";import"./chunk-BQN7B62H.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.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{G as b,I as f,J as p,d as u,e as r}from"./chunk-GN2NQEVC.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-2IJUTAB6.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};
@@ -0,0 +1 @@
1
+ import{A as c,y as a,z as b}from"./chunk-OG3E5SVA.js";import"./chunk-FQTNR4ZS.js";import"./chunk-JIV7O5GN.js";import"./chunk-MZLMEXMW.js";import"./chunk-BQN7B62H.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.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-BQN7B62H.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{a as closeWireframe,b as openWireframe,c as restoreWireframeWorkbench};
@@ -0,0 +1 @@
1
+ import{Ab as d,Bb as e,Cb as f,Db as g,Eb as h,xb as a,yb as b,zb as c}from"./chunk-OG3E5SVA.js";import"./chunk-FQTNR4ZS.js";import"./chunk-JIV7O5GN.js";import"./chunk-MZLMEXMW.js";import"./chunk-BQN7B62H.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{d as closeScheduledTasks,f as handleScheduledTaskMessage,g as handleScheduledTaskSessionSwitched,b as humanRecurrence,h as initScheduledTasks,e as isScheduledTasksOpen,a as isStrictCron,c as openScheduledTasks};
@@ -0,0 +1 @@
1
+ import{ic as a,jc as b,kc as c,lc as d}from"./chunk-OG3E5SVA.js";import"./chunk-FQTNR4ZS.js";import"./chunk-JIV7O5GN.js";import"./chunk-MZLMEXMW.js";import"./chunk-BQN7B62H.js";import"./chunk-VEBYD7TL.js";import"./chunk-R7QVVFUG.js";import"./chunk-2IJUTAB6.js";import"./chunk-VZ2OKDAO.js";export{c as closeDebatesWorkbench,a as handleDebatesWorkbenchState,d as initDebatesWorkbench,b as openDebatesWorkbench};
@@ -0,0 +1 @@
1
+ import{j as Y,l as Le,m as D,n as X,y as Oe}from"./chunk-VEBYD7TL.js";import{a as q}from"./chunk-R7QVVFUG.js";import{G as Ce,I as Z,J as be,Q as ve,a as z,c as Ee,d as R,e as h}from"./chunk-2IJUTAB6.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 Ae=null,ee=null,me={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 ye(){return!n.get("paneMode")&&re().some(function(e){return!!e.clayPane||!!Le(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 Se(){return P()?M().binding.sessionId:null}function ae(){var e=M();return P()?e.binding.requestId+":"+e.binding.generation:null}function Te(){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(me,e)?!t&&!ye()?null:!P()||!t.frame.clayPane||typeof t.frame.clayPane.browserCommand!="function"?!1:t.frame.clayPane.browserCommand(e,r||{},t.binding):!1}function wr(e,r,t){var o=Object.prototype.hasOwnProperty.call(me,e)&&me[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 Pe(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 Me(e,r){n.get("paneMode")||(Ae=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))||Ae(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 He(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 yr(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,l=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!==l||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-ENPAHXLB.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 nr(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)+'">'+h("globe")+"<span>Browser</span><small>"+te(a)+"</small></button>"}function qr(e){!e||typeof document>"u"||(e.querySelectorAll("a[href]").forEach(function(r){if(!r.closest("pre, code, button")){var t=nr(r.getAttribute("href"),"",r.textContent);if(t){var o=document.createElement("template");o.innerHTML=t,r.replaceWith(o.content)}}}),Be(),R())}function Be(){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}He(t)||import("./chunk-ENPAHXLB.js").then(function(o){o.openSharedBrowserAt(t)}).catch(function(o){z(o.message||"Could not open the browser.","warn")})}}))}function v(e){return Ee(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="'+v(t||"")+'" data-label="'+v(o||t||"")+'">'+v(e)+"</button>"}function ke(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 Ue(){return'<section id="shared-browser-settings" class="shared-browser-settings" aria-label="Browser settings" hidden></section>'}function _e(e){e.querySelector('[data-action="settings"]').onclick=function(){S({open:!0,page:"sites",data:null,review:null,filter:""}),ke("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}),je(),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"){ke("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&&ke(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 je(){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">'+v(s.url)+"</span><small>"+v(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>"+v(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">'+v(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>'+v(i.name)+"</span><small>"+v(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="'+v(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">'+v(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 "+v(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 "+v(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"))}),je()}}}}function Re(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 De(e,r,t){var o=e.querySelector(".shared-browser-tabs"),a=n.get("sharedBrowsers")||[],s=n.get("sharedBrowser"),i=JSON.stringify([a.map(function(c){return[c.id,c.url,c.control,c.phase,c.incognito,c.personalCookiesAvailable]}),s&&s.id,n.get("connected")]);if(o.dataset.key===i)return;var d=o.contains(document.activeElement)?document.activeElement:null,l=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(c,_){var j=document.createElement("div");j.className="shared-browser-tab",j.setAttribute("role","presentation");var se=!!s&&s.id===c.id,w=document.createElement("button");w.type="button",w.setAttribute("role","tab"),w.dataset.browserId=c.id,w.dataset.tabAction="select",w.setAttribute("aria-selected",String(se)),w.tabIndex=se?0:-1;var b="New tab";try{c.url&&(b=new URL(c.url).hostname||"New tab")}catch{}var tr=c.phase==="ended"?"Ended":c.phase==="starting"?"Starting":c.control==="agent"?"You and Clay can control this tab":"Only you can control this tab. Clay is paused.",qe=b+" \xB7 "+(c.incognito===!1?"Personal browser":"Incognito")+" \xB7 "+tr,ge=document.createElement("span");ge.className="shared-browser-tab-label",ge.textContent=b,w.innerHTML=h(c.personalCookiesAvailable&&c.incognito?"glasses":"globe"),w.appendChild(ge),w.setAttribute("aria-label",qe),w.setAttribute("data-tip",qe),j.dataset.phase=c.phase,j.dataset.control=c.control,w.onclick=function(){r(c.id)},w.onkeydown=function(V){var he=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;he<0||(V.preventDefault(),r(a[he].id),o.querySelectorAll('[role="tab"]')[he].focus())};var x=document.createElement("button");x.type="button",x.className="shared-browser-tab-close",x.innerHTML=h("x"),x.dataset.browserId=c.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:c.id})},j.append(w,x),H.appendChild(j)});function Q(c,_,j,se,w){var b=document.createElement("button");b.type="button",b.className="shared-browser-new-tab",b.innerHTML=h(c),b.dataset.tabAction=w,b.setAttribute("aria-label",_),b.setAttribute("data-tip",j),b.disabled=!n.get("connected"),b.onclick=function(){t("open",se)},o.appendChild(b)}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(c){return c.dataset.browserId===l&&c.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 Ne=50,We=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 Ve(e,r){function t(i){var d=e.getBoundingClientRect(),l=Math.min(d.width/e.width,d.height/e.height),u=(i.clientX-d.left-(d.width-e.width*l)/2)/l,p=(i.clientY-d.top-(d.height-e.height*l)/2)/l;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 l=Math.max(-We,Math.min(We,d)),u=d-l;A({wheelDelta:u,wheelTimer:u?setTimeout(a,Ne):null}),l&&m({kind:"wheel",deltaY:l})}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,Ne)})}},{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 ze(){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 Ie(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),e)})}function or(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;Ie({captionPinned:y}),o.dataset.reviewing=String(!y),s.hidden=y}),s.onclick=function(){a.scrollTop=a.scrollHeight,Ie({captionPinned:!0}),s.hidden=!0,o.dataset.reviewing="false"});var i=r&&r.activityHistory||[];o.hidden=!i.length;var d=i[i.length-1],l=r&&r.id+":"+i.length+":"+(d?d.id+":"+d.phase+":"+d.text:"empty"),u=n.get("sharedBrowserUi")||{};if(u.captionHistoryKey!==l){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 c=document.createElement("span");if(c.className="shared-browser-activity-text",c.textContent=y.text,U.appendChild(c),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)}),Ie({captionHistoryKey:l,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 Ye(e,r,t){var o=r&&r.phase==="live"&&r.control==="agent"&&!r.handoff&&t;or(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 xe=["1280,800","1440,900","1024,768","800,600","375,667","390,844"];function sr(){return document.getElementById("shared-browser-resolution")}function Fe(e){n.set({sharedBrowserUi:Object.assign({},n.get("sharedBrowserUi"),{viewportMenuOpen:e})});var r=sr();r&&(r.querySelector("[data-viewport-trigger]").setAttribute("aria-expanded",String(e)),r.querySelector('[role="menu"]').hidden=!e)}function T(){Fe(!1)}function Ke(){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>'+h("chevron-up")+'</button><div id="shared-browser-resolutions" class="shared-browser-resolution-menu" role="menu" aria-label="Browser resolutions" hidden></div></div>'}function Je(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=xe.includes(s)?xe:xe.concat([s]);i.replaceChildren(),d.forEach(function(l){var u=document.createElement("button");u.type="button",u.setAttribute("role","menuitemradio"),u.setAttribute("aria-checked",String(l===s)),u.dataset.size=l,u.tabIndex=-1,u.textContent=l.replace(","," \xD7 "),u.setAttribute("aria-label",u.textContent),i.appendChild(u)})}}function Ge(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){Fe(!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 Xe(){var e=n.get("permissions");return W()&&!!n.get("currentSlug")&&!n.get("dmMode")&&(!e||e.terminal!==!1)}function oe(){return Xe()&&!!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 Ze(){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+'">'+h(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">'+h("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">'+h("arrow-right")+"</button></form>"+Ue()+'<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">'+h("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>'+ze()+'</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>'+Ke()+'<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}),g()},r.querySelector('[data-action="fullscreen"]').onclick=function(){var o=!(n.get("sharedBrowserUi")||{}).fullscreen;rr(o),ve("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)},Ge(r),_e(r);var t=new ResizeObserver(Ze);t.observe(r.querySelector(".shared-browser-viewport")),Ve(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",!Xe()),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 ar(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 ir(e,r,t,o){var a=e.querySelector(".shared-browser-control-status"),s=ar(r,t,o);a.textContent!==s&&(a.textContent=s);var i=e.querySelector('[data-action="control"]'),d=!!r&&r.control==="user",l=String(d);i.dataset.mode!==l&&(i.dataset.mode=l,i.innerHTML=h(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 g(){ce();var e=G();if(e){De(e,dr,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",ir(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 l=t.error||r&&r.error||"";e.querySelector(".shared-browser-error").textContent=l,e.querySelector(".shared-browser-error").classList.toggle("hidden",!l),e.querySelector(".shared-browser-empty").classList.toggle("hidden",!!(r&&r.url&&t.hasFrame)),Je(e,r,s),O(),Ye(e,r,o),Ze()}}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 dr(e){var r=(n.get("sharedBrowsers")||[]).find(function(t){return t.id===e});r&&(pe(r),f("view",{visible:W()&&!document.hidden}),g())}function $e(){return JSON.stringify([n.get("myUserId"),n.get("currentSlug"),n.get("projectSplitViewActiveId"),n.get("sessionOriginId"),n.get("projectSplitViewSocketGeneration")])}function er(e){n.set({pendingBrowserOpen:null}),!f("open",e)&&n.set({pendingBrowserOpen:{context:$e(),socket:q(),fields:e||{},expires:Date.now()+15e3}})}function lr(){var e=n.get("pendingBrowserOpen");if(e){if(e.context!==$e()||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 nt(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:""}),er({url:r}),g()}function Qe(){if(F(),!(!oe()||!n.get("connected"))){ue(),Z("browser"),n.set({sharedBrowserOpen:!0});var e=n.get("sharedBrowser");e?f("view",{visible:!0}):er(),g()}}function J(){rr(!1),ve("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"),g()}function cr(e,r){if(!e.type||e.type.indexOf("shared_browser_")!==0)return!1;if(Pe(e)||Te()&&!r||String(e.sessionId)!==String(Se()||n.get("activeSessionId"))||Re(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}),g()}else if(e.type==="shared_browser_error")k({error:e.error}),g();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 l=new Image;l.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=l.naturalWidth,p.height=l.naturalHeight,p.getContext("2d").drawImage(l,0,0),k({decoding:!1,hasFrame:!0}),g(),Oe(e,p,null,p)}},l.onerror=function(){ae()===d&&n.get("activeSessionId")===i&&k({decoding:!1})},l.src="data:image/jpeg;base64,"+e.data}return!0}function ot(){Me(cr,function(t){var o=n.get("savedWorkspaceApplying");n.set({savedWorkspaceApplying:!0,savedViewBrowserListReady:!1});try{K(),pe(null),n.set({sharedBrowsers:[],sharedBrowserUi:{},sharedBrowserSettings:{}}),t||J(),g()}finally{n.set({savedWorkspaceApplying:o})}}),document.addEventListener("clay-pane-ready",function(){queueMicrotask(lr)},!0),Be();var e=document.getElementById("shared-browser-btn");e&&(e.onclick=Qe);var r=document.getElementById("shared-browser-toggle-btn");r&&(r.onclick=function(){n.get("sharedBrowserOpen")?J():Qe()}),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")}Ce("browser",J);n.subscribe(function(e,r){if(e.currentSlug!==r.currentSlug||e.activeSessionId!==r.activeSessionId||e.myUserId!==r.myUserId){if(Se()!==null){g();return}K(),be("browser"),n.set({sharedBrowser:null,sharedBrowsers:[],savedViewBrowserListReady:!1,sharedBrowserOpen:!1,sharedBrowserUi:{},sharedBrowserSettings:{}}),e.connected&&f("state_request"),g()}else e.connected!==r.connected?(n.set({savedViewBrowserListReady:!1}),e.connected&&f("state_request"),g()):(e.permissions!==r.permissions||e.dmMode!==r.dmMode)&&(oe()||J(),ce())});function st(e){if(ye()&&!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:""}),g(),"restored"):(k({error:"This saved browser is unavailable in the current conversation. No replacement browser was opened."}),g(),"unavailable")}function rr(e){k({fullscreen:!!e}),document.getElementById("shared-browser-panel")&&g()}export{wr as a,m as b,nt as c,Qe as d,J as e,cr as f,ot as g,st as h,rr as i,yr as j,nr as k,qr as l};