clay-server 5.2.1-beta.2 → 5.3.0-beta.2

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 (154) hide show
  1. package/lib/clay-control-presentation-binding.js +5 -3
  2. package/lib/clay-product-control-tools.js +3 -3
  3. package/lib/clay-product-control.js +4 -2
  4. package/lib/clay-screen-controls.js +18 -3
  5. package/lib/clay-split-view-awareness.js +35 -0
  6. package/lib/clay-split-view-controls.js +122 -0
  7. package/lib/clay-split-view-input.js +20 -0
  8. package/lib/clay-split-view-render-proof.js +22 -0
  9. package/lib/pane-asset-manifest.js +63 -0
  10. package/lib/project-connection.js +19 -10
  11. package/lib/project-session-actions.js +1 -0
  12. package/lib/project-session-delete.js +2 -2
  13. package/lib/project-session-folders.js +1 -0
  14. package/lib/project-sessions.js +6 -1
  15. package/lib/project-split-view-document.js +33 -0
  16. package/lib/project-split-view-names.js +67 -0
  17. package/lib/project-split-view-organization.js +23 -0
  18. package/lib/project-split-views.js +479 -0
  19. package/lib/project-worker-conversation.js +222 -0
  20. package/lib/project-worker-creation-proposal.js +3 -4
  21. package/lib/project-worker-proposal.js +1 -1
  22. package/lib/project-worker-removal.js +101 -0
  23. package/lib/project.js +28 -1
  24. package/lib/public/app.js +32 -13
  25. package/lib/public/css/base.css +9 -0
  26. package/lib/public/css/filebrowser.css +0 -1
  27. package/lib/public/css/pane-header-controls.css +100 -0
  28. package/lib/public/css/pane.css +24 -41
  29. package/lib/public/css/popup-chat.css +123 -0
  30. package/lib/public/css/right-workbench.css +50 -18
  31. package/lib/public/css/session-folders.css +1 -1
  32. package/lib/public/css/split-view-layout.css +463 -0
  33. package/lib/public/css/split-view-worker-activity.css +97 -0
  34. package/lib/public/css/sticky-notes.css +13 -0
  35. package/lib/public/index.html +3 -3
  36. package/lib/public/modules/app-connection.js +4 -1
  37. package/lib/public/modules/app-favicon.js +1 -1
  38. package/lib/public/modules/app-messages.js +31 -9
  39. package/lib/public/modules/chat-render-runtime.js +54 -0
  40. package/lib/public/modules/clay-control-copy.js +3 -0
  41. package/lib/public/modules/clay-navigation-render.js +1 -1
  42. package/lib/public/modules/clay-owner-navigation.js +15 -5
  43. package/lib/public/modules/clay-split-view-screen.js +74 -0
  44. package/lib/public/modules/clay-tool-activity.js +5 -0
  45. package/lib/public/modules/command-palette.js +30 -28
  46. package/lib/public/modules/contextual-clay-session.js +26 -2
  47. package/lib/public/modules/contextual-clay.js +5 -2
  48. package/lib/public/modules/contextual-mate-sessions.js +2 -0
  49. package/lib/public/modules/filebrowser.js +6 -2
  50. package/lib/public/modules/generation-stop.js +7 -1
  51. package/lib/public/modules/knowledge-workbench-entry.js +43 -0
  52. package/lib/public/modules/markdown-view-mode.js +34 -0
  53. package/lib/public/modules/markdown.js +11 -0
  54. package/lib/public/modules/mate-knowledge-workbench.js +2 -7
  55. package/lib/public/modules/mate-sidebar.js +1 -1
  56. package/lib/public/modules/palette-clay-conversation.js +87 -0
  57. package/lib/public/modules/palette-render-helpers.js +25 -0
  58. package/lib/public/modules/pane-activation.js +46 -7
  59. package/lib/public/modules/pane-binding.js +12 -2
  60. package/lib/public/modules/pane-bridge.js +12 -3
  61. package/lib/public/modules/pane-deferred-bootstrap.js +32 -0
  62. package/lib/public/modules/pane-feature-assets.js +35 -0
  63. package/lib/public/modules/pane-file-bridge.js +8 -3
  64. package/lib/public/modules/pane-search-receipt.js +12 -0
  65. package/lib/public/modules/permission-control.js +6 -6
  66. package/lib/public/modules/popup-chat-rendering.js +244 -0
  67. package/lib/public/modules/project-activation.js +2 -2
  68. package/lib/public/modules/qrcode.js +12 -1
  69. package/lib/public/modules/right-workbench.js +68 -0
  70. package/lib/public/modules/search-hints.js +79 -0
  71. package/lib/public/modules/session-context-menu.js +35 -2
  72. package/lib/public/modules/session-folder-collapse.js +2 -1
  73. package/lib/public/modules/session-folder-context.js +24 -13
  74. package/lib/public/modules/session-folder-delete.js +18 -1
  75. package/lib/public/modules/session-folder-dnd.js +4 -1
  76. package/lib/public/modules/session-folder-layout.js +7 -6
  77. package/lib/public/modules/session-search-pane-state.js +30 -0
  78. package/lib/public/modules/session-search.js +53 -13
  79. package/lib/public/modules/sidebar-mobile.js +3 -3
  80. package/lib/public/modules/sidebar-projects.js +1 -0
  81. package/lib/public/modules/sidebar-session-folders-ui.js +3 -3
  82. package/lib/public/modules/sidebar-sessions.js +57 -24
  83. package/lib/public/modules/sidebar.js +20 -3
  84. package/lib/public/modules/split-group-helpers.js +1 -1
  85. package/lib/public/modules/split-group-restore.js +8 -11
  86. package/lib/public/modules/split-pair-ui.js +18 -0
  87. package/lib/public/modules/split-pane-header-state.js +45 -0
  88. package/lib/public/modules/split-pane-reconciler.js +23 -4
  89. package/lib/public/modules/split-pane-renderer.js +330 -23
  90. package/lib/public/modules/split-pane-retention.js +157 -0
  91. package/lib/public/modules/split-session-boundary.js +21 -0
  92. package/lib/public/modules/split-view-create-action.js +15 -0
  93. package/lib/public/modules/split-view-create-menu.js +83 -0
  94. package/lib/public/modules/split-view-create-request.js +23 -0
  95. package/lib/public/modules/split-view-layout-client.js +198 -0
  96. package/lib/public/modules/split-view-layout-icons.js +37 -0
  97. package/lib/public/modules/split-view-layout-scope.js +38 -0
  98. package/lib/public/modules/split-view-organization.js +73 -0
  99. package/lib/public/modules/split-view-presentation-close.js +35 -0
  100. package/lib/public/modules/split-view-presentation-drag.js +278 -0
  101. package/lib/public/modules/split-view-presentation-drop.js +57 -0
  102. package/lib/public/modules/split-view-presentation-lookup.js +44 -0
  103. package/lib/public/modules/split-view-presentation-renderer.js +494 -0
  104. package/lib/public/modules/split-view-presentations.js +498 -0
  105. package/lib/public/modules/split-view-shell-controls.js +28 -0
  106. package/lib/public/modules/split-view-sidebar-menu.js +42 -0
  107. package/lib/public/modules/split-view-sidebar-renderer.js +30 -0
  108. package/lib/public/modules/split-view-singleton.js +21 -0
  109. package/lib/public/modules/split-view-worker-activity.js +94 -0
  110. package/lib/public/modules/split-view-worker-controls.js +30 -0
  111. package/lib/public/modules/split-view-worker-removal.js +137 -0
  112. package/lib/public/modules/split-view-worker-scroll.js +57 -0
  113. package/lib/public/modules/split-view-worker-transcript.js +46 -0
  114. package/lib/public/modules/split-view-workers.js +418 -0
  115. package/lib/public/modules/split-view.js +61 -22
  116. package/lib/public/modules/sticky-notes.js +9 -2
  117. package/lib/public/modules/tools.js +25 -5
  118. package/lib/public/modules/workbench-layout-preference.js +76 -0
  119. package/lib/public/modules/worker-created-presentation.js +37 -0
  120. package/lib/public/pane-assets/app-2DRBYY3L.js +1 -0
  121. package/lib/public/pane-assets/chunk-4BM7UVNG.js +2 -0
  122. package/lib/public/pane-assets/chunk-6SM2WQJX.js +1 -0
  123. package/lib/public/pane-assets/chunk-7H36SUZA.js +2 -0
  124. package/lib/public/pane-assets/chunk-C4RVVYNT.js +1 -0
  125. package/lib/public/pane-assets/chunk-DGOFGEUK.js +1 -0
  126. package/lib/public/pane-assets/chunk-I57URYSL.js +1 -0
  127. package/lib/public/pane-assets/chunk-O6MQL6MR.js +167 -0
  128. package/lib/public/pane-assets/chunk-PO2JOHHW.js +1 -0
  129. package/lib/public/pane-assets/chunk-UMGHINOT.js +1 -0
  130. package/lib/public/pane-assets/manifest.json +553 -0
  131. package/lib/public/pane-assets/style-63EZCREE.css +1 -0
  132. package/lib/public/style.css +5 -1
  133. package/lib/server-owner-ui.js +6 -2
  134. package/lib/server-owner-view-observation.js +34 -0
  135. package/lib/server-palette.js +1 -0
  136. package/lib/server-pane-bootstrap.js +24 -0
  137. package/lib/server-settings.js +2 -0
  138. package/lib/server-static-assets.js +52 -0
  139. package/lib/server-workbench-layout-settings.js +56 -0
  140. package/lib/server.js +6 -45
  141. package/lib/session-activity-state.js +28 -0
  142. package/lib/session-list-delivery.js +17 -0
  143. package/lib/session-pair-turn-control.js +1 -6
  144. package/lib/session-search.js +3 -0
  145. package/lib/session-split-group-anchors.js +2 -2
  146. package/lib/session-split-group-roles.js +5 -8
  147. package/lib/session-split-group-v2-store.js +0 -3
  148. package/lib/sessions.js +16 -6
  149. package/lib/split-view-layout.js +132 -0
  150. package/lib/users-workbench-layout-preferences.js +33 -0
  151. package/lib/users.js +3 -0
  152. package/lib/workspace-query-service.js +1 -5
  153. package/lib/ws-schema.js +16 -0
  154. package/package.json +6 -3
@@ -0,0 +1,2 @@
1
+ import{Ca as Gt,Pb as $t,vc as Ne,xc as Fe}from"./chunk-O6MQL6MR.js";import{E as ge,F as I,G as Pt,H as Wt,I as Bt}from"./chunk-7H36SUZA.js";import{b as V,c as Oe}from"./chunk-DGOFGEUK.js";var T=null;function ea(e,t){var r=String(e||"").split("/");r.pop();for(var a=String(t||"").replace(/\.md$/i,"").split("/");r.length&&a.length&&r[0]===a[0];)r.shift(),a.shift();return new Array(r.length+1).join("../")+a.join("/")}function Ut(e,t,r){var a=e.getCursor(),n=e.getLine(a.line),o=n.slice(0,a.ch),i=o.lastIndexOf("[[",a.ch);if(i===-1||o.slice(i+2).indexOf("]]")!==-1)return null;var l=o.slice(i+2).split("|")[0].split("#")[0].toLowerCase(),v=(t||[]).filter(function(f){return f.itemType!=="db"&&(!l||f.name.toLowerCase().indexOf(l)!==-1)}).slice(0,30).map(function(f){return{text:ea(r,f.name)+"]]",displayText:f.name}});return{list:v,from:window.CodeMirror.Pos(a.line,i+2),to:a}}function ta(e,t,r,a){if(!(!t||t.origin==="setValue"||t.origin==="complete")){var n=e.getCursor(),o=e.getLine(n.line).slice(0,n.ch);o.lastIndexOf("[[")===-1||o.lastIndexOf("]]")>o.lastIndexOf("[[")||e.showHint({completeSingle:!1,hint:function(i){return Ut(i,r,a)}})}}function Jt(e,t){Le();var r=document.createElement("textarea");if(r.setAttribute("aria-label","Markdown source"),e.appendChild(r),!window.CodeMirror)return r.value=t.value||"",r.className="knowledge-editor-fallback",r.addEventListener("input",function(){t.onChange(r.value,null)}),T={fallback:r},T;var a=window.CodeMirror.fromTextArea(r,{value:t.value||"",mode:{name:"markdown",highlightFormatting:!0},lineWrapping:!0,lineNumbers:!1,indentUnit:2,tabSize:2,indentWithTabs:!1,inputStyle:"contenteditable",spellcheck:!0,extraKeys:{"Ctrl-Space":function(n){n.showHint({completeSingle:!1,hint:function(o){return Ut(o,t.files,t.currentName)}})},Tab:function(n){n.execCommand("indentMore")},"Shift-Tab":function(n){n.execCommand("indentLess")},Enter:"newlineAndIndentContinueMarkdownList"}});if(a.setValue(t.value||""),a.clearHistory(),t.history)try{a.setHistory(t.history)}catch{}if(t.cursor)try{a.setCursor(t.cursor)}catch{}return a.on("change",function(n,o){t.onChange(n.getValue(),n.getCursor()),ta(n,o,t.files,t.currentName)}),a.on("cursorActivity",function(n){t.onCursor&&t.onCursor(n.getCursor())}),T=a,setTimeout(function(){a.refresh(),a.focus()},0),a}function zt(){return T?T.fallback?{content:T.fallback.value,cursor:null,history:null,scroll:T.fallback.scrollTop||0}:{content:T.getValue(),cursor:T.getCursor(),history:T.getHistory(),scroll:T.getScrollInfo().top}:null}function Yt(e){T&&!T.fallback&&T.scrollTo(null,e||0)}function Le(){if(T){if(T.fallback)T.fallback.parentNode&&T.fallback.parentNode.removeChild(T.fallback);else try{T.toTextArea()}catch{}T=null}}function Qt(e,t){t.documentKey?(e.dataset.openDocument=t.documentKey,t.heading&&(e.dataset.openHeading=t.heading)):t.self&&t.heading?e.dataset.outlineHeading=t.heading:t.unresolved&&t.target&&(e.dataset.createLinked=t.target)}function ra(e){try{return decodeURIComponent(e)}catch{return e}}function tt(e){return ra(String(e||"").trim().replace(/^<|>$/g,"")).replace(/\\/g,"/").replace(/^\.\//,"").toLowerCase()}function aa(e){return e.matches("button.clay-file-link")?tt(e.dataset.filePath):tt(e.getAttribute("href"))}function na(e,t,r){var a=aa(e);if(e.matches("a")&&a.charAt(0)!=="#")return null;for(var n=0;n<t.length;n++)if(!(r[n]||tt(t[n].target+(t[n].heading?"#"+t[n].heading:""))!==a&&tt(t[n].target)!==a))return r[n]=!0,t[n];return null}function oa(e,t){for(var r=t.filter(function(l){return l.kind==="markdown"&&!l.external}),a=e.querySelectorAll("a[href], button.clay-file-link"),n=[],o=0;o<a.length;o++){var i=na(a[o],r,n);i&&(a[o].classList.remove("clay-file-link"),delete a[o].dataset.filePath,delete a[o].dataset.fileProjectSlug,delete a[o].dataset.fileSessionId,a[o].removeAttribute("title"),a[o].setAttribute("aria-label","Open Knowledge document "+(i.label||i.target||"link")),Qt(a[o],i),a[o].classList.add("knowledge-inline-link"),(i.documentKey||i.self||i.unresolved)&&a[o].removeAttribute("href"))}}function Xt(e){var t=String(e||"").trim();return/^(?:https?:|mailto:|tel:)/i.test(t)?t:null}function ia(e,t){var r=t.filter(function(R){return R.kind==="wiki"||R.kind==="embed"});if(r.length){for(var a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=[],o;o=a.nextNode();)o.parentElement&&!o.parentElement.closest("code, pre, a, button")&&n.push(o);for(var i=0,l=0;l<n.length&&i<r.length;l++){for(var v=n[l].nodeValue||"",f=document.createDocumentFragment(),d=0,s=!1;i<r.length;){var y=r[i],b=v.indexOf(y.raw,d);if(b===-1)break;f.appendChild(document.createTextNode(v.slice(d,b)));var g;y.external&&Xt(y.target)?(g=document.createElement("a"),g.href=Xt(y.target),g.target="_blank",g.rel="noopener noreferrer"):y.external?g=document.createElement("span"):(g=document.createElement("button"),g.type="button",Qt(g,y)),g.className="knowledge-inline-link",g.textContent=y.label||y.target||y.heading,f.appendChild(g),d=b+y.raw.length,i++,s=!0}s&&(f.appendChild(document.createTextNode(v.slice(d))),n[l].parentNode.replaceChild(f,n[l]))}}}function vt(e,t){e&&(oa(e,t||[]),ia(e,t||[]))}var Pe=[];function rt(e,t){if(e){var r=t&&window.matchMedia("(max-width: 1023px)").matches;if(r&&!Pe.length)for(var a=e;a.parentElement&&a.parentElement!==document.body;)Array.prototype.forEach.call(a.parentElement.children,function(n){n!==a&&(Pe.push({element:n,inert:n.inert,ariaHidden:n.getAttribute("aria-hidden")}),n.inert=!0,n.setAttribute("aria-hidden","true"))}),a=a.parentElement;!r&&Pe.length&&(Pe.forEach(function(n){n.element.inert=n.inert,n.ariaHidden==null?n.element.removeAttribute("aria-hidden"):n.element.setAttribute("aria-hidden",n.ariaHidden)}),Pe=[])}}function bt(e){return!!(e&&!e.schema&&!e.view&&!e.settings&&!e.recover)}function Zt(e,t,r,a){if(e.attempt)return e.attempt;var n=e.creating===!0,o={databaseId:t,values:JSON.parse(JSON.stringify(a)),operationId:e.operationId};return n?o.expectedDatabaseRevision=r:(o.recordId=e.recordId,o.expectedRevision=e.baseVersion),{type:n?"knowledge_db_record_create":"knowledge_db_record_update",payload:o,creating:n,recordId:e.recordId||null,submittedVersion:e.version||0}}function er(e,t){return e.attempt?e.attempt:{operationId:e.operationId,name:t}}function pt(e,t){return!!(e&&e.attempt&&t&&e.attempt.payload.operationId===t.payload.operationId)}function tr(e,t,r,a){if(!pt(e,a))return{edit:e,later:!1,stale:!0};var n=(e.version||0)>a.submittedVersion;return n?{later:!0,edit:Object.assign({},e,{creating:!1,recordId:t.id,baseVersion:t.revision,saving:!1,retryPending:!1,attempt:null,operationId:r,error:""})}:{edit:null,later:!1}}function rr(e,t){var r=Object.assign({},e,{name:t.name,columns:t.columns});return e.filters.length<=1&&(r.filters=t.filters),e.sorts.length<=1&&(r.sorts=t.sorts),r}var at=0,nt={},p=null,We=null,je=null;function ar(e,t){Array.prototype.forEach.call(e.children,function(r){r.classList.contains("knowledge-db-dialog")||(t?(r.dataset.knowledgeDialogWasInert=r.inert?"true":"false",r.dataset.knowledgeDialogAriaHidden=r.getAttribute("aria-hidden")==null?"":r.getAttribute("aria-hidden"),r.inert=!0,r.setAttribute("aria-hidden","true")):r.dataset.knowledgeDialogWasInert!==void 0&&(r.inert=r.dataset.knowledgeDialogWasInert==="true",r.dataset.knowledgeDialogAriaHidden===""?r.removeAttribute("aria-hidden"):r.setAttribute("aria-hidden",r.dataset.knowledgeDialogAriaHidden),delete r.dataset.knowledgeDialogWasInert,delete r.dataset.knowledgeDialogAriaHidden))})}function h(){return V.get("currentSlug")||""}function ir(){return V.get("mateKnowledgeDatabaseWorkspaces")||{}}function L(e){return ir()[e]||{databases:{},createDraft:null,dialog:null,error:""}}function dr(e,t){var r=Object.assign({},ir());r[e]=t,V.set({mateKnowledgeDatabaseWorkspaces:r})}function j(e,t){dr(e,Object.assign({},L(e),t))}function O(e,t){return L(e).databases[t]||{database:null,records:[],nextCursor:null,selectedRecord:null,recordDetail:null,edit:null,loading:!0,error:""}}function sr(e,t,r){var a=L(e),n=Object.assign({},a.databases);n[t]=r,dr(e,Object.assign({},a,{databases:n}))}function k(e,t,r){sr(e,t,Object.assign({},O(e,t),r))}function ye(e){var t=V.get("mateKnowledgeWorkspaces")||{};return t[e]||null}function H(e,t){var r=Object.assign({},V.get("mateKnowledgeWorkspaces")||{});r[e]&&(r[e]=Object.assign({},r[e],t),V.set({mateKnowledgeWorkspaces:r}))}function te(e){var t=ye(e)||{};return{ownerSelection:t.selected||null,ownerSelectionVersion:t.selectionVersion||0}}function He(e,t){var r=ye(e);return!!(r&&r.selected===t.ownerSelection&&(r.selectionVersion||0)===t.ownerSelectionVersion)}function G(e){return at++,e+"_"+Date.now()+"_"+at}function $(e,t,r,a){var n=Oe();if(e!==h()||!n||n.readyState!==1)return null;var o="knowledge-db-"+Date.now()+"-"+ ++at;nt[o]=Object.assign({key:e,type:t,socket:n},a||{});try{return n.send(JSON.stringify(Object.assign({type:t,requestId:o},r||{}))),o}catch{return delete nt[o],null}}function u(e){var t=document.createElement("span");return t.textContent=String(e??""),t.innerHTML.replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function re(e){var t=ye(e);return t&&t.selected&&t.drafts[t.selected]?t.drafts[t.selected].file:null}function da(e){return e&&e.schema.filter(function(t){return t.type==="title"&&!t.archived})[0]}function Ce(e,t){return e.schema.filter(function(r){return r.id===t})[0]||null}function nr(e,t){var r=(e.options||[]).filter(function(a){return a.id===t})[0];return r?r.name:"Missing option"}function lr(e,t,r){if(t==null||t==="")return'<span class="knowledge-db-empty">\u2014</span>';if(e.type==="boolean")return t?"Yes":"No";if(e.type==="select")return u(nr(e,t));if(e.type==="multi-select")return t.map(function(o){return'<span class="knowledge-db-pill">'+u(nr(e,o))+"</span>"}).join(" ");if(e.type==="reference"){var a=(r||[]).filter(function(o){return o.fieldId===e.id})[0]||{status:"missing"},n=a.label||t.id;return a.status!=="available"?'<span class="knowledge-db-reference is-'+u(a.status)+'">'+I("circle-alert")+u(n)+" ("+u(a.status)+")</span>":'<button type="button" class="knowledge-db-reference" data-db-reference="'+u(t.id)+'" data-db-reference-type="'+u(t.type)+'" data-db-reference-database="'+u(t.databaseId||"")+'">'+I(t.type==="text"?"file-text":"link")+u(n)+"</button>"}return u(t)}function me(e,t,r,a){var n=O(e,t),o=n.selectedViewId||n.database&&n.database.views[0]&&n.database.views[0].id||null,i=(n.queryEpoch||0)+1;k(e,t,{loading:!0,queryEpoch:i,error:n.syncPending?n.error:""});var l=$(e,"knowledge_db_query",{databaseId:t,viewId:o,cursor:a||null,limit:50,archived:n.showArchived===!0},{databaseId:t,append:r===!0,queryEpoch:i,viewId:o,archived:n.showArchived===!0});l||k(e,t,{loading:!1,error:"Reconnect to query this database."})}function cr(e){p=typeof e=="function"?e:e.render,We=e.openDocument||null,je=e.documentIdentity||null}function ur(e){var t=h();k(t,e.id,{loading:!0,error:""}),$(t,"knowledge_db_read",{databaseId:e.id},{databaseId:e.id})||k(t,e.id,{loading:!1,error:"Reconnect to open this database."})}function fr(e){var t=e.querySelector(".knowledge-create-menu");if(t){t.remove();return}var r=document.createElement("div");r.className="knowledge-create-menu",r.setAttribute("role","menu"),r.innerHTML='<button type="button" role="menuitem" data-db-create-document>'+I("file-plus-2")+'<span>New document<small>Markdown text</small></span></button><button type="button" role="menuitem" data-db-create-database>'+I("database")+"<span>New database<small>Typed table</small></span></button>",e.querySelector(".knowledge-topbar").appendChild(r),ge(r),r.querySelector("button").focus()}function sa(e){var t=h(),r=te(t),a=L(t).createDraft;j(t,{createDraft:Object.assign({},a||{name:"",saving:!1,error:"",operationId:G("create")},r),error:""}),H(t,{fullscreen:!0}),p&&p({forceDocument:!0}),setTimeout(function(){var n=e.querySelector("[data-db-new-name]");n&&n.focus()},0)}function vr(e,t){var r=h(),a=te(r);j(r,{recoveryDraft:{item:t,operationId:G("recover-database"),saving:!1,error:"",ownerSelection:a.ownerSelection,ownerSelectionVersion:a.ownerSelectionVersion}}),H(r,{fullscreen:!0}),p&&p({forceDocument:!0})}function la(e){var t=h(),r=L(t).createDraft,a=e.querySelector("[data-db-new-name]"),n=a&&a.value.trim();if(!n){j(t,{createDraft:Object.assign({},r,{name:"",saving:!1,error:"Enter a database name."})}),p&&p({forceDocument:!0});return}var o=er(r,n);r=Object.assign({},r,{name:r.attempt?r.name:n,saving:!0,retryPending:!1,attempt:o,error:""}),j(t,{createDraft:r});var i=$(t,"knowledge_db_create",{name:o.name,operationId:o.operationId},Object.assign({create:!0,createOperationId:o.operationId},te(t)));if(!i){j(t,{createDraft:Object.assign({},r,{saving:!1,retryPending:!0,error:"Reconnect to create this database."})}),p&&p({forceDocument:!0});return}a.disabled=!0;var l=e.querySelector("[data-db-create-submit]");l&&(l.textContent="Retry create")}function Be(e,t){var r=O(e,t);return r.recordDetail&&r.recordDetail.record&&r.recordDetail.record.id===r.selectedRecord?r.recordDetail:null}function gt(e,t,r){var a=r||h(),n=O(a,e),o=(n.recordGeneration||0)+1,i=Object.assign({},n.recordDrafts||{});bt(n.edit)&&n.edit.recordId&&(i[n.edit.recordId]=n.edit),k(a,e,{selectedRecord:t,recordDetail:null,recordGeneration:o,recordDrafts:i,edit:i[t]||null}),$(a,"knowledge_db_record_read",{databaseId:e,recordId:t},{databaseId:e,recordId:t,recordGeneration:o})||k(a,e,{error:"Reconnect to open this record."})}function or(e,t){var r=h(),a=O(r,e),n=Be(r,e),o=t?null:n.record.id,i=!t&&(a.recordDrafts||{})[o],l=(a.editGeneration||0)+1,v=i||{id:l,creating:t===!0,recordId:o,values:t?{}:Object.assign({},n.record.values),baseVersion:n&&n.record.revision||null,version:0,saving:!1,retryPending:!1,attempt:null,operationId:G("record"),error:""};k(r,e,{editGeneration:l,edit:Object.assign({},v,{id:l})}),H(r,{fullscreen:!0}),p&&p({forceDocument:!0})}function br(e,t){if(t.type==="boolean")return e.checked;if(t.type==="number")return e.value===""?null:Number(e.value);if(t.type==="multi-select")return Array.prototype.filter.call(e.options,function(a){return a.selected}).map(function(a){return a.value});if(t.type==="reference"){if(!e.value.trim())return null;var r=e.value.trim().split(":");return t.target==="text"?{type:"text",id:e.value.trim()}:{type:"record",databaseId:r[0],id:r.slice(1).join(":")}}return e.value===""?null:e.value}function ca(e,t){var r=h(),a=O(r,t),n={};e.querySelectorAll("[data-db-field]").forEach(function(f){var d=Ce(a.database,f.dataset.dbField);n[d.id]=br(f,d)});var o=Zt(a.edit,t,a.database.revision,n),i=Object.assign({},a.edit,{values:n,saving:!0,retryPending:!1,attempt:o,error:""});k(r,t,{edit:i});var l=Object.assign({databaseId:t,recordId:o.recordId,saveRecord:!0,creating:o.creating,submittedVersion:o.submittedVersion,editId:a.edit.id,attempt:o},te(r));if(!$(r,o.type,o.payload,l)){k(r,t,{edit:Object.assign({},i,{saving:!1,retryPending:!0,error:"Reconnect to save this record."})}),p&&p({forceDocument:!0});return}var v=e.querySelector("[data-db-save-record]");v&&(v.textContent="Retry save")}function pr(e){var t=e.target.closest("[data-db-view-select]");if(t){var r=h();return k(r,t.dataset.dbViewSelect,{selectedViewId:t.value,records:[],nextCursor:null}),me(r,t.dataset.dbViewSelect,!1,null),!0}var a=e.target.closest("[data-db-new-name]");if(a){var n=h(),o=L(n).createDraft;return o&&!o.attempt&&j(n,{createDraft:Object.assign({},o,{name:a.value,error:""})}),!0}var i=e.target.closest("[data-db-settings-name]");if(i){var l=h(),v=re(l),f=O(l,v.id);return k(l,v.id,{edit:Object.assign({},f.edit,{name:i.value,error:""})}),!0}var d=e.target.closest("[data-db-schema-field] input, [data-db-schema-field] select");if(d){var s=h(),y=re(s),b=O(s,y.id),g=d.closest("[data-db-schema-field]"),R=(b.edit.schemaFields||b.database.schema).map(function(P){if(P.id!==g.dataset.dbSchemaField)return P;var D=Object.assign({},P);return d.matches("[data-schema-name]")?D.name=d.value:d.matches("[data-schema-required]")?D.required=d.checked:d.matches("[data-schema-archived]")?D.archived=d.checked:d.matches("[data-schema-type]")?(D.type=d.value,(D.type==="select"||D.type==="multi-select")&&(D.options=D.options||[]),D.type==="reference"&&(D.target=D.target||"text")):d.matches("[data-schema-option-name]")?D.options=(P.options||[]).map(function(F){return F.id===d.dataset.optionId?Object.assign({},F,{name:d.value}):F}):d.matches("[data-schema-option-archived]")?D.options=(P.options||[]).map(function(F){return F.id===d.dataset.optionId?Object.assign({},F,{archived:d.checked}):F}):d.matches("[data-schema-reference-target]")?D.target=d.value:d.matches("[data-schema-reference-db]")&&(d.value.trim()?D.targetDatabaseId=d.value.trim():delete D.targetDatabaseId),D});return k(s,y.id,{edit:Object.assign({},b.edit,{schemaFields:R,error:""})}),d.matches("[data-schema-type]")&&p&&p({forceDocument:!0}),!0}var E=e.target.closest("[data-view-name], [data-view-column], [data-view-filter-field], [data-view-filter-op], [data-view-filter-value], [data-view-sort-field], [data-view-sort-direction]");if(E){var q=h(),Ie=re(q),oe=O(q,Ie.id),M=E.closest("form"),z=Array.prototype.filter.call(M.querySelectorAll("[data-view-column]"),function(P){return P.checked}).map(function(P){return P.value}),ve=M.querySelector("[data-view-filter-field]").value,De=M.querySelector("[data-view-filter-op]").value,Y=M.querySelector("[data-view-filter-value]"),ie=Ce(oe.database,ve),B=E.matches("[data-view-filter-field]")||E.matches("[data-view-filter-op]"),be=B?null:fa(ie,Y,De),X=M.querySelector("[data-view-sort-field]").value,xe=rr(oe.edit.view,{name:M.querySelector("[data-view-name]").value,columns:z,filters:ve?[{fieldId:ve,op:De,value:be}]:[],sorts:X?[{fieldId:X,direction:M.querySelector("[data-view-sort-direction]").value}]:[]});return k(q,Ie.id,{edit:Object.assign({},oe.edit,{view:xe,error:""})}),B&&p&&p({forceDocument:!0}),!0}var N=e.target.closest("[data-db-field]");if(!N)return!1;var de=h(),Q=re(de);if(!Q||Q.itemType!=="db")return!1;var Z=O(de,Q.id);if(!Z.edit)return!1;var se=Ce(Z.database,N.dataset.dbField),ee=Object.assign({},Z.edit.values);return ee[se.id]=br(N,se),k(de,Q.id,{edit:Object.assign({},Z.edit,{values:ee,version:(Z.edit.version||0)+1,error:""})}),!0}function ua(e,t){var r=h(),a=O(r,t),n=JSON.parse(JSON.stringify(a.edit.schemaFields||a.database.schema)),o=Object.assign({},a.edit,{schemaFields:n,saving:!0,error:""});k(r,t,{edit:o}),$(r,"knowledge_db_schema_save",{databaseId:t,schema:n,expectedRevision:a.database.revision,operationId:o.operationId},Object.assign({databaseId:t,schemaSave:!0,editId:o.id},te(r)))||k(r,t,{edit:Object.assign({},o,{saving:!1,error:"Reconnect to save the schema."})})}function fa(e,t,r){if(r==="empty"||r==="not-empty")return null;if(e.type==="number")return t.value===""?null:Number(t.value);if(e.type==="boolean")return t.value==="true";if(e.type==="multi-select"&&r!=="contains")return Array.prototype.filter.call(t.options,function(n){return n.selected}).map(function(n){return n.value});if(e.type==="reference"){var a=t.value.split(":");return e.target==="text"?{type:"text",id:t.value}:{type:"record",databaseId:a[0],id:a.slice(1).join(":")}}return t.value}function va(e,t){var r=h(),a=O(r,t),n=a.edit,o=JSON.parse(JSON.stringify(n.view));o.name=o.name.trim();var i=Object.assign({},n,{view:o,saving:!0,error:""});k(r,t,{edit:i}),$(r,"knowledge_db_view_save",{databaseId:t,view:o,expectedRevision:a.database.revision,operationId:n.operationId},Object.assign({databaseId:t,viewSave:!0,viewId:o.id,editId:n.id},te(r)))||k(r,t,{edit:Object.assign({},i,{saving:!1,error:"Reconnect to save the view."})})}function ba(e){var t=h(),r=Be(t,e);r&&(j(t,{dialog:Object.assign({databaseId:e,recordId:r.record.id,revision:r.record.revision,title:r.title,operationId:G("archive-record")},te(t))}),p&&p({forceDocument:!0}))}function pa(){var e=h(),t=L(e).dialog;if(t){var r=Object.assign({databaseId:t.databaseId},{ownerSelection:t.ownerSelection,ownerSelectionVersion:t.ownerSelectionVersion}),a=t.kind==="database"?$(e,"knowledge_db_archive",{databaseId:t.databaseId,expectedRevision:t.revision,operationId:t.operationId},Object.assign({},r,{archiveDatabase:!0})):$(e,"knowledge_db_record_archive",{databaseId:t.databaseId,recordId:t.recordId,expectedRevision:t.revision,operationId:t.operationId},Object.assign({},r,{recordId:t.recordId,archive:!0}));if(!a){j(e,{dialog:Object.assign({},t,{error:"Reconnect to archive this item. Retry will use the same operation id."})}),p&&p({forceDocument:!0});return}j(e,{dialog:null}),p&&p({forceDocument:!0})}}function gr(e){var t=L(h()).dialog;j(h(),{dialog:null}),p&&p({forceDocument:!0}),setTimeout(function(){var r=t&&t.kind==="database"?"[data-db-archive-database]":"[data-db-archive-record]",a=e.querySelector(r);a&&a.focus()},0)}function mr(e,t){var r=e.target.closest("[data-db-create-document]");if(r)return t.querySelector(".knowledge-create-menu").remove(),"document";if(e.target.closest("[data-db-create-database]"))return t.querySelector(".knowledge-create-menu").remove(),sa(t),!0;if(e.target.closest("[data-db-resume-create]")){var a=h(),n=Object.assign({},L(a).createDraft,te(a));return j(a,{createDraft:n}),H(a,{fullscreen:!0}),p&&p({forceDocument:!0}),!0}if(e.target.closest("[data-db-create-submit]"))return la(t),!0;if(e.target.closest("[data-db-create-cancel]"))return j(h(),{createDraft:null}),H(h(),{fullscreen:!1}),p&&p({forceDocument:!0}),!0;var o=e.target.closest("[data-db-reference]");if(o){var i=h();if(o.dataset.dbReferenceType==="text")We&&We("local:"+o.dataset.dbReference);else{var l=je?je({id:o.dataset.dbReferenceDatabase,itemType:"db",common:!1}):"local:"+o.dataset.dbReferenceDatabase;We&&We(l),gt(o.dataset.dbReferenceDatabase,o.dataset.dbReference,i)}return!0}var v=e.target.closest("tr[data-db-record]");if(v)return gt(v.dataset.dbDatabase,v.dataset.dbRecord),!0;var f=e.target.closest("[data-db-edit-record]");if(f)return or(f.dataset.dbEditRecord,!1),!0;var d=e.target.closest("[data-db-add-record]");if(d)return or(d.dataset.dbAddRecord,!0),!0;var s=e.target.closest("[data-db-save-record]");if(s)return ca(t,s.dataset.dbSaveRecord),!0;if(e.target.closest("[data-db-cancel-edit]")){var y=h(),b=re(y),g=O(y,b.id),R=Object.assign({},g.recordDrafts||{});return bt(g.edit)&&g.edit.recordId&&delete R[g.edit.recordId],k(y,b.id,{edit:null,recordDrafts:R}),H(y,{fullscreen:!1}),p&&p({forceDocument:!0}),!0}var E=e.target.closest("[data-db-edit-schema]");if(E){var q=h(),Ie=O(q,E.dataset.dbEditSchema),oe=(Ie.editGeneration||0)+1;return k(q,E.dataset.dbEditSchema,{editGeneration:oe,edit:{id:oe,schema:!0,schemaFields:JSON.parse(JSON.stringify(Ie.database.schema)),operationId:G("schema"),saving:!1,error:""}}),H(q,{fullscreen:!0}),p&&p({forceDocument:!0}),!0}var M=e.target.closest("[data-db-settings]");if(M){var z=h(),ve=O(z,M.dataset.dbSettings),De=(ve.editGeneration||0)+1;return k(z,M.dataset.dbSettings,{editGeneration:De,edit:{id:De,settings:!0,name:ve.database.name,operationId:G("rename-database"),saving:!1,error:""}}),H(z,{fullscreen:!0}),p&&p({forceDocument:!0}),!0}var Y=e.target.closest("[data-db-save-settings]");if(Y){var ie=h(),B=O(ie,Y.dataset.dbSaveSettings),be=t.querySelector("[data-db-settings-name]").value.trim(),X=Object.assign({},B.edit,{name:be,saving:!0,error:""});return k(ie,Y.dataset.dbSaveSettings,{edit:X}),$(ie,"knowledge_db_rename",{databaseId:Y.dataset.dbSaveSettings,name:be,expectedRevision:B.database.revision,operationId:X.operationId},Object.assign({databaseId:Y.dataset.dbSaveSettings,editId:X.id,renameDatabase:!0},te(ie)))||k(ie,Y.dataset.dbSaveSettings,{edit:Object.assign({},X,{saving:!1,error:"Reconnect to rename this database."})}),!0}var xe=e.target.closest("[data-db-archive-database]");if(xe){var N=h(),de=O(N,xe.dataset.dbArchiveDatabase);return j(N,{dialog:Object.assign({kind:"database",databaseId:de.database.id,revision:de.database.revision,title:de.database.name,operationId:G("archive-database")},te(N))}),p&&p({forceDocument:!0}),!0}var Q=e.target.closest("[data-db-archived-records]");if(Q){var Z=h(),se=Q.dataset.dbArchivedRecords,ee=O(Z,se);return k(Z,se,{showArchived:!ee.showArchived,records:[],selectedRecord:null,recordDetail:null}),me(Z,se,!1,null),!0}var P=e.target.closest("[data-db-begin-recover-record]");if(P){var D=h(),F=O(D,P.dataset.dbBeginRecoverRecord),Re=Be(D,F.database.id),Ke=(F.editGeneration||0)+1;return k(D,F.database.id,{editGeneration:Ke,edit:{id:Ke,recover:!0,recordId:Re.record.id,baseVersion:Re.record.revision,operationId:G("recover-record"),saving:!1,error:""}}),H(D,{fullscreen:!0}),p&&p({forceDocument:!0}),!0}var Te=e.target.closest("[data-db-confirm-recover-record]");if(Te){var le=h(),pe=O(le,Te.dataset.dbConfirmRecoverRecord),ce=Object.assign({},pe.edit,{saving:!0});return k(le,pe.database.id,{edit:ce}),$(le,"knowledge_db_record_recover",{databaseId:pe.database.id,recordId:ce.recordId,expectedRevision:ce.baseVersion,operationId:ce.operationId},Object.assign({databaseId:pe.database.id,recordId:ce.recordId,editId:ce.id,recoverRecord:!0},te(le)))||k(le,pe.database.id,{edit:Object.assign({},ce,{saving:!1,error:"Reconnect to recover this record."})}),!0}var et=e.target.closest("[data-db-add-field]");if(et){var _e=O(h(),et.dataset.dbAddField),S=(_e.edit.schemaFields||_e.database.schema).concat([{id:"fld_ui_"+Date.now(),name:"New field",type:"text",required:!1,archived:!1}]);return k(h(),_e.database.id,{edit:Object.assign({},_e.edit,{schema:!0,schemaFields:S})}),p&&p({forceDocument:!0}),!0}var St=e.target.closest("[data-db-add-option]");if(St){var dt=h(),Tt=re(dt),st=O(dt,Tt.id),Yr=(st.edit.schemaFields||st.database.schema).map(function(fe){return fe.id!==St.dataset.dbAddOption?fe:Object.assign({},fe,{options:(fe.options||[]).concat([{id:"opt_ui_"+Date.now()+"_"+ ++at,name:"New option",archived:!1}])})});return k(dt,Tt.id,{edit:Object.assign({},st.edit,{schemaFields:Yr})}),p&&p({forceDocument:!0}),!0}var _t=e.target.closest("[data-db-save-schema]");if(_t)return ua(t,_t.dataset.dbSaveSchema),!0;var Et=e.target.closest("[data-db-edit-views]");if(Et){var lt=h(),Ee=O(lt,Et.dataset.dbEditViews),Xr=Ee.database.views.filter(function(fe){return fe.id===(Ee.selectedViewId||Ee.database.views[0].id)})[0]||Ee.database.views[0],Lt=(Ee.editGeneration||0)+1;return k(lt,Ee.database.id,{editGeneration:Lt,edit:{id:Lt,view:JSON.parse(JSON.stringify(Xr)),operationId:G("view"),saving:!1,error:""}}),H(lt,{fullscreen:!0}),p&&p({forceDocument:!0}),!0}var Ht=e.target.closest("[data-db-new-view]");if(Ht){var Ct=h(),ct=O(Ct,Ht.dataset.dbNewView),Vt=(ct.editGeneration||0)+1;return k(Ct,ct.database.id,{editGeneration:Vt,edit:{id:Vt,operationId:G("view"),saving:!1,error:"",view:{id:"view_ui_"+Date.now(),name:"New view",columns:ct.database.schema.filter(function(fe){return!fe.archived}).map(function(fe){return fe.id}),filters:[],sorts:[]}}}),p&&p({forceDocument:!0}),!0}var At=e.target.closest("[data-db-save-view]");if(At)return va(t,At.dataset.dbSaveView),!0;var Kt=e.target.closest("[data-db-archive-record]");if(Kt)return ba(Kt.dataset.dbArchiveRecord),!0;if(e.target.closest("[data-db-dialog-cancel]"))return gr(t),!0;if(e.target.closest("[data-db-dialog-confirm]"))return pa(),!0;var Mt=e.target.closest("[data-db-sync]");if(Mt){var ut=Mt.dataset.dbSync;return k(h(),ut,{error:"",syncPending:!0}),$(h(),"knowledge_db_sync",{databaseId:ut},{databaseId:ut,sync:!0}),!0}var ft=e.target.closest("[data-db-more]");if(ft){var Nt=h(),Qr=O(Nt,ft.dataset.dbMore);return me(Nt,ft.dataset.dbMore,!0,Qr.nextCursor),!0}var Ft=e.target.closest("[data-db-record-back]");if(Ft)return k(h(),Ft.dataset.dbRecordBack,{selectedRecord:null,recordDetail:null,edit:null}),p&&p({forceDocument:!0}),!0;if(e.target.closest("[data-db-cancel-recover-database]"))return j(h(),{recoveryDraft:null}),H(h(),{fullscreen:!1}),p&&p({forceDocument:!0}),!0;if(e.target.closest("[data-db-confirm-recover-database]")){var Me=h(),ue=L(Me).recoveryDraft;if(!ue)return!0;ue=Object.assign({},ue,{saving:!0,error:""}),j(Me,{recoveryDraft:ue});var Zr=Object.assign({databaseId:ue.item.id,recoverDatabase:!0,recoveryOperationId:ue.operationId},te(Me));return $(Me,"knowledge_db_recover",{databaseId:ue.item.id,expectedRevision:ue.item.revision,operationId:ue.operationId},Zr)||(j(Me,{recoveryDraft:Object.assign({},ue,{saving:!1,error:"Reconnect to recover this database."})}),p&&p({forceDocument:!0})),!0}return!1}function wr(e,t){var r=e.target.closest&&e.target.closest("tr[data-db-record]");if(r&&(e.key==="Enter"||e.key===" "))return e.preventDefault(),gt(r.dataset.dbDatabase,r.dataset.dbRecord),!0;var a=t&&t.querySelector(".knowledge-db-dialog");if(!a)return!1;if(e.key==="Escape")return e.preventDefault(),gr(t),!0;if(e.key!=="Tab")return!1;var n=a.querySelectorAll("button:not(:disabled)");if(!n.length)return!1;var o=n[0],i=n[n.length-1];return e.shiftKey&&document.activeElement===o?(e.preventDefault(),i.focus(),!0):!e.shiftKey&&document.activeElement===i?(e.preventDefault(),o.focus(),!0):!1}function ga(e,t){var r=' data-db-field="'+u(e.id)+'"'+(e.required?" required":"");if(e.type==="boolean")return'<input type="checkbox"'+r+(t===!0?" checked":"")+">";if(e.type==="select"||e.type==="multi-select")return"<select"+r+(e.type==="multi-select"?" multiple":"")+'><option value="">\u2014</option>'+(e.options||[]).filter(function(o){return!o.archived}).map(function(o){var i=e.type==="multi-select"?Array.isArray(t)&&t.indexOf(o.id)!==-1:t===o.id;return'<option value="'+u(o.id)+'"'+(i?" selected":"")+">"+u(o.name)+"</option>"}).join("")+"</select>";var a=e.type==="number"?"number":e.type==="date"?"date":"text",n=e.type==="reference"&&t?(t.databaseId?t.databaseId+":":"")+t.id:t??"";return'<input type="'+a+'"'+r+' value="'+u(n)+'"'+(e.type==="number"?' step="any"':"")+">"}function ma(e,t,r){var a=!!r.createDraft.attempt;t.innerHTML='<span class="knowledge-preview-name">New database</span><button type="button" data-db-create-cancel>Cancel</button><button type="button" class="primary" data-db-create-submit>'+(a?"Retry create":"Create")+"</button>",e.innerHTML='<form class="knowledge-db-form" onsubmit="return false"><h2>Create database</h2><label>Name<input data-db-new-name value="'+u(r.createDraft.name)+'" maxlength="120" autocomplete="off"'+(a?" disabled":"")+"></label>"+(r.createDraft.error?'<p class="knowledge-inline-error">'+u(r.createDraft.error)+"</p>":"")+"<p>"+(a?"This name is fixed for the pending operation. Retry uses the same request.":"A required title field and Table view will be created. You can refine the schema after creation.")+"</p></form>"}function wa(e,t,r){t.innerHTML='<span class="knowledge-preview-name">Database draft</span><button type="button" class="primary" data-db-resume-create>Resume fullscreen</button>',e.innerHTML='<div class="knowledge-db-form"><h2>Database draft saved</h2><p>'+(r.createDraft.name?u(r.createDraft.name):"Untitled database")+" remains available. Resume fullscreen to create it.</p></div>"}function ya(e,t,r){t.innerHTML='<span class="knowledge-preview-name">Recover database</span><button type="button" data-db-cancel-recover-database>Cancel</button><button type="button" class="primary" data-db-confirm-recover-database>'+(r.saving?"Retry recovery":"Recover")+"</button>",e.innerHTML='<div class="knowledge-db-form"><h2>Recover '+u(r.item.name)+"?</h2><p>Review this mutation in fullscreen. Its schema, records, views, and history will return to this Mate\u2019s Knowledge.</p>"+(r.error?'<p class="knowledge-inline-error">'+u(r.error)+"</p>":"")+"</div>"}function ha(e,t){var r=t.database,a=r.views.filter(function(i){return i.id===t.selectedViewId})[0]||r.views[0]||{columns:r.schema.filter(function(i){return!i.archived}).map(function(i){return i.id})},n=a.columns.map(function(i){return Ce(r,i)}).filter(Boolean),o='<div class="knowledge-db-table-wrap"><table class="knowledge-db-table"><thead><tr>'+n.map(function(i){return'<th scope="col">'+u(i.name)+"</th>"}).join("")+"</tr></thead><tbody>";o+=t.records.map(function(i){return'<tr data-control-runtime="'+u(V.get("controlRuntimeId"))+'" data-control-revision="'+u(i.revision)+'" tabindex="0" data-db-record="'+u(i.id)+'" data-db-database="'+u(r.id)+'">'+n.map(function(l){return"<td>"+lr(l,i.values[l.id],i.references)+"</td>"}).join("")+"</tr>"}).join(""),o+="</tbody></table>"+(!t.records.length&&!t.loading?'<p class="knowledge-empty">No records in this view.</p>':"")+(t.nextCursor?'<button type="button" class="knowledge-search-more" data-db-more="'+u(r.id)+'">Load more</button>':"")+"</div>",e.innerHTML=o}function ka(e,t){var r=Be(h(),t.database.id);if(!r){e.innerHTML='<p class="knowledge-empty">Loading record\u2026</p>';return}var a=(r.history||[]).map(function(n){return"<li><b>"+u(n.action||"update")+"</b><span>Revision "+u(n.revision)+" \xB7 "+new Date(n.at).toLocaleString()+"</span></li>"}).join("");e.innerHTML='<article class="knowledge-db-record" data-control-runtime="'+u(V.get("controlRuntimeId"))+'" data-control-revision="'+u(r.record.revision)+'" data-db-record="'+u(r.record.id)+'" data-db-database="'+u(t.database.id)+'"><button type="button" data-db-record-back="'+u(t.database.id)+'">'+I("arrow-left")+"Table</button><h2>"+u(r.title)+"</h2><dl>"+t.database.schema.filter(function(n){return!n.archived}).map(function(n){return"<dt>"+u(n.name)+"</dt><dd>"+lr(n,r.record.values[n.id],r.record.references)+"</dd>"}).join("")+'</dl><p class="knowledge-db-attribution">Revision '+r.record.revision+" \xB7 updated "+new Date(r.record.updatedAt).toLocaleString()+"</p>"+(a?'<h3>Recent history</h3><ol class="knowledge-db-history">'+a+"</ol>":"")+"</article>"}function Ia(e,t,r){var a=r.edit,n=a.values||{};t.innerHTML='<span class="knowledge-preview-name">'+(a.creating?"New record":"Edit record")+"</span>"+(a.creating?"":'<button type="button" class="danger" data-db-archive-record="'+u(r.database.id)+'">Archive</button>')+'<button type="button" data-db-cancel-edit>Cancel</button><button type="button" class="primary" data-db-save-record="'+u(r.database.id)+'">'+(a.saving?"Retry save":"Save")+"</button>",e.innerHTML='<form class="knowledge-db-form" onsubmit="return false"><h2>'+(a.creating?"New record":"Edit record")+"</h2>"+r.database.schema.filter(function(o){return!o.archived}).map(function(o){return"<label>"+u(o.name)+ga(o,n[o.id])+"</label>"}).join("")+(a.error?'<p class="knowledge-inline-error">'+u(a.error)+"</p>":"")+"</form>"}function Da(e,t,r){var a=r.edit;t.innerHTML='<span class="knowledge-preview-name">Database settings</span><button type="button" data-db-cancel-edit>Cancel</button><button type="button" class="primary" data-db-save-settings="'+u(r.database.id)+'">'+(a.saving?"Retry rename":"Save name")+"</button>",e.innerHTML='<form class="knowledge-db-form" onsubmit="return false"><h2>Database settings</h2><label>Name<input data-db-settings-name value="'+u(a.name)+'" maxlength="120"></label>'+(a.error?'<p class="knowledge-inline-error">'+u(a.error)+"</p>":"")+'<section class="knowledge-danger-zone"><h3>Archive database</h3><p>Records, schema, views, and history remain recoverable.</p><button type="button" class="danger" data-db-archive-database="'+u(r.database.id)+'">Archive database</button></section></form>'}function xa(e,t,r){var a=r.edit;t.innerHTML='<span class="knowledge-preview-name">Recover record</span><button type="button" data-db-cancel-edit>Cancel</button><button type="button" class="primary" data-db-confirm-recover-record="'+u(r.database.id)+'">'+(a.saving?"Retry recovery":"Recover")+"</button>",e.innerHTML='<div class="knowledge-db-form"><h2>Recover archived record?</h2><p>This restores the exact record at revision '+u(a.baseVersion)+".</p>"+(a.error?'<p class="knowledge-inline-error">'+u(a.error)+"</p>":"")+"</div>"}function Ra(e){return'<fieldset class="knowledge-db-options"><legend>Options</legend>'+(e.options||[]).map(function(t){return'<div class="knowledge-db-option"><input aria-label="Option name" data-schema-option-name data-option-id="'+u(t.id)+'" value="'+u(t.name)+'"><label class="knowledge-db-check"><input type="checkbox" data-schema-option-archived data-option-id="'+u(t.id)+'"'+(t.archived?" checked":"")+">Archived</label></div>"}).join("")+'<button type="button" data-db-add-option="'+u(e.id)+'">'+I("plus")+"Add option</button></fieldset>"}function Oa(e,t,r){var a=r.edit.schemaFields||r.database.schema;t.innerHTML='<span class="knowledge-preview-name">Edit schema</span><button type="button" data-db-add-field="'+u(r.database.id)+'">'+I("plus")+'Add field</button><button type="button" data-db-cancel-edit>Cancel</button><button type="button" class="primary" data-db-save-schema="'+u(r.database.id)+'">Save schema</button>',e.innerHTML='<form class="knowledge-db-form knowledge-db-schema" onsubmit="return false"><h2>Schema</h2><p>Field and option ids stay stable. Archive populated fields and options instead of removing them.</p>'+a.map(function(n){var o=!!Ce(r.database,n.id);return'<fieldset data-db-schema-field="'+u(n.id)+'"><label>Name<input data-schema-name value="'+u(n.name)+'"></label><label>Type<select data-schema-type'+(o?" disabled":"")+">"+["title","text","number","boolean","date","select","multi-select","reference"].map(function(i){return"<option"+(n.type===i?" selected":"")+">"+i+"</option>"}).join("")+"</select></label>"+(n.type==="select"||n.type==="multi-select"?Ra(n):"")+(n.type==="reference"?'<label>Target<select data-schema-reference-target><option value="text"'+(n.target==="text"?" selected":"")+'>Text item</option><option value="record"'+(n.target==="record"?" selected":"")+'>Database record</option></select></label><label>Target database id<input data-schema-reference-db value="'+u(n.targetDatabaseId||"")+'"></label>':"")+'<label class="knowledge-db-check"><input type="checkbox" data-schema-required'+(n.required?" checked":"")+'>Required</label><label class="knowledge-db-check"><input type="checkbox" data-schema-archived'+(n.archived?" checked":"")+(n.type==="title"?" disabled":"")+">Archived</label></fieldset>"}).join("")+"</form>"}function ja(e,t){var r=t.value;if(!e)return'<input data-view-filter-value value="">';if(e.type==="boolean")return'<select data-view-filter-value><option value="true"'+(r===!0?" selected":"")+'>True</option><option value="false"'+(r===!1?" selected":"")+">False</option></select>";if(e.type==="select"||e.type==="multi-select"){var a=e.type==="multi-select"&&t.op!=="contains";return"<select data-view-filter-value"+(a?" multiple":"")+">"+(e.options||[]).filter(function(i){return!i.archived}).map(function(i){var l=a?Array.isArray(r)&&r.indexOf(i.id)!==-1:r===i.id;return'<option value="'+u(i.id)+'"'+(l?" selected":"")+">"+u(i.name)+"</option>"}).join("")+"</select>"}var n=e.type==="number"?"number":e.type==="date"?"date":"text",o=e.type==="reference"&&r?(r.databaseId?r.databaseId+":":"")+r.id:r??"";return'<input type="'+n+'" data-view-filter-value value="'+u(o)+'"'+(n==="number"?' step="any"':"")+">"}function qa(e,t,r){var a=r.edit.view,n=a.filters[0]||{},o=a.sorts[0]||{},i=r.database.schema.filter(function(d){return!d.archived}),l=Ce(r.database,n.fieldId),v=a.filters.length>1||a.sorts.length>1,f=v?" disabled":"";t.innerHTML='<span class="knowledge-preview-name">Edit Table view</span><button type="button" data-db-new-view="'+u(r.database.id)+'">New view</button><button type="button" data-db-cancel-edit>Cancel</button><button type="button" class="primary" data-db-save-view="'+u(r.database.id)+'">Save view</button>',e.innerHTML='<form class="knowledge-db-form" onsubmit="return false"><h2>Table view</h2>'+(v?"<p>All existing filters and sorts will be preserved in order. Their controls are locked in this compact editor; the name and columns remain editable.</p>":"")+(r.edit.error?'<p class="knowledge-inline-error">'+u(r.edit.error)+"</p>":"")+'<label>Name<input data-view-name value="'+u(a.name)+'"></label><fieldset><legend>Columns</legend>'+i.map(function(d){return'<label class="knowledge-db-check"><input type="checkbox" data-view-column value="'+u(d.id)+'"'+(a.columns.indexOf(d.id)!==-1?" checked":"")+">"+u(d.name)+"</label>"}).join("")+"</fieldset><label>Filter field<select data-view-filter-field"+f+'><option value="">No filter</option>'+i.map(function(d){return'<option value="'+u(d.id)+'"'+(n.fieldId===d.id?" selected":"")+">"+u(d.name)+"</option>"}).join("")+"</select></label><label>Filter operator<select data-view-filter-op"+f+">"+["eq","neq","contains","gt","gte","lt","lte","empty","not-empty"].map(function(d){return"<option"+(n.op===d?" selected":"")+">"+d+"</option>"}).join("")+'</select></label><label>Filter value<span class="knowledge-db-filter-control">'+ja(l,n).replace(/^(<[^ >]+)/,"$1"+f)+"</span></label><label>Sort field<select data-view-sort-field"+f+'><option value="">No sort</option>'+i.map(function(d){return'<option value="'+u(d.id)+'"'+(o.fieldId===d.id?" selected":"")+">"+u(d.name)+"</option>"}).join("")+"</select></label><label>Direction<select data-view-sort-direction"+f+'><option value="asc"'+(o.direction!=="desc"?" selected":"")+'>Ascending</option><option value="desc"'+(o.direction==="desc"?" selected":"")+">Descending</option></select></label></form>"}function mt(e){var t=e.querySelector(".knowledge-db-dialog");t&&(ar(e,!1),t.remove());var r=h(),a=L(r),n=e.querySelector(".knowledge-document-body"),o=e.querySelector(".knowledge-document-toolbar"),i=ye(r);if(a.createDraft){var l=i&&i.selected===a.createDraft.ownerSelection&&(i.selectionVersion||0)===a.createDraft.ownerSelectionVersion;if(l)return i.fullscreen?ma(n,o,a):wa(n,o,a),!0}if(a.recoveryDraft){var v=i&&i.fullscreen&&i.selected===a.recoveryDraft.ownerSelection&&(i.selectionVersion||0)===a.recoveryDraft.ownerSelectionVersion;if(v)return ya(n,o,a.recoveryDraft),!0}var f=re(r);if(!f||f.itemType!=="db")return!1;var d=O(r,f.id),s=d.database,y=!!(i&&i.fullscreen&&f.writable!==!1);if(e.querySelector(".knowledge-details").hidden=!0,!s)return o.innerHTML='<span class="knowledge-preview-name">'+u(f.name)+"</span>",n.innerHTML='<p class="knowledge-empty">Loading database\u2026</p>',!0;if(y&&d.edit&&d.edit.schema)Oa(n,o,d);else if(y&&d.edit&&d.edit.view)qa(n,o,d);else if(y&&d.edit&&d.edit.settings)Da(n,o,d);else if(y&&d.edit&&d.edit.recover)xa(n,o,d);else if(y&&d.edit)Ia(n,o,d);else{var b=f.writable===!1?"":'<button type="button" data-db-edit-views="'+u(s.id)+'">Views</button><button type="button" data-db-add-record="'+u(s.id)+'">'+I("plus")+'New record</button><button type="button" data-db-edit-schema="'+u(s.id)+'">'+I("settings-2")+'Schema</button><button type="button" data-db-settings="'+u(s.id)+'">Settings</button>';o.innerHTML='<span class="knowledge-preview-name">'+u(s.name)+'</span><select class="knowledge-db-view-select" data-db-view-select="'+u(s.id)+'" aria-label="Table view">'+s.views.map(function(R){return'<option value="'+u(R.id)+'"'+((d.selectedViewId||s.views[0].id)===R.id?" selected":"")+">"+u(R.name)+"</option>"}).join("")+'</select><span class="knowledge-readonly">'+(d.totals?d.totals.count:s.recordCount)+" records</span>"+b,o.innerHTML+='<button type="button" data-db-archived-records="'+u(s.id)+'">'+(d.showArchived?"Active records":"Archived records")+"</button>",d.selectedRecord&&Be(r,s.id)?(f.writable!==!1&&(o.innerHTML+=d.recordDetail&&d.recordDetail.record.archivedAt?'<button type="button" data-db-begin-recover-record="'+u(s.id)+'">Recover fullscreen</button>':'<button type="button" data-db-edit-record="'+u(s.id)+'">'+I("pencil")+"Edit fullscreen</button>"),ka(n,d)):ha(n,d)}if(d.error&&n.insertAdjacentHTML("afterbegin",'<p class="knowledge-inline-error">'+u(d.error)+(d.syncPending?' <button type="button" data-db-sync="'+u(s.id)+'">Retry sync</button>':"")+"</p>"),a.dialog){var g=document.createElement("div");g.className="knowledge-db-dialog",g.setAttribute("role","dialog"),g.setAttribute("aria-modal","true"),g.innerHTML="<div><h2>Archive this "+(a.dialog.kind==="database"?"database":"record")+"?</h2><p>"+u(a.dialog.title||"This item")+" can be recovered later.</p>"+(a.dialog.error?'<p class="knowledge-inline-error">'+u(a.dialog.error)+"</p>":"")+'<div><button type="button" data-db-dialog-cancel>Cancel</button><button type="button" class="danger" data-db-dialog-confirm>Archive</button></div></div>',e.appendChild(g),ar(e,!0),g.querySelector("[data-db-dialog-cancel]").focus()}return ge(e),!0}function yr(e){var t=e.requestId&&nt[e.requestId];if(!t)return!1;delete nt[e.requestId];var r=t.key;if(t.socket!==Oe())return!0;var a=t.databaseId,n=a?O(r,a):null,o=r===h(),i=!1,l=!0;if(e.type==="knowledge_db_created"){var v=e.database,f=L(r).createDraft,d=!!(L(r).databases[v.id]&&L(r).databases[v.id].database),s=!!(f&&f.attempt&&f.attempt.operationId===t.createOperationId),y=s&&He(r,t);l=y,i=!s,s&&j(r,{createDraft:null,error:""});var b=ye(r);if(b){var g=Object.assign({},v,{itemType:"db",writable:!0}),R=je?je(g):"local:"+g.id,E=Object.assign({},b.drafts);E[R]||(E[R]={file:g,content:"",writable:!0,dirty:!1,mode:"read"});var q=b.files.some(function(S){return S.id===g.id})?b.files:b.files.concat([g]),Ie=b.tabs.indexOf(R)===-1?b.tabs.concat([R]):b.tabs,oe={files:q,drafts:E,tabs:Ie};y&&(oe.selected=R,oe.fullscreen=!1),H(r,oe)}d||(sr(r,v.id,{database:v,records:[],nextCursor:null,selectedRecord:null,recordDetail:null,edit:null,loading:!1,error:e.projectionPending?e.projectionError:"",syncPending:e.projectionPending===!0}),o&&me(r,v.id,!1,null))}else if(e.type==="knowledge_db_content")k(r,a,{database:e.database,loading:!1,error:""}),o&&me(r,a,!1,null);else if(e.type==="knowledge_db_query_results"){if(t.queryEpoch!==n.queryEpoch||t.viewId!==(n.selectedViewId||n.database&&n.database.views[0]&&n.database.views[0].id||null))return!0;k(r,a,{records:t.append?n.records.concat(e.records||[]):e.records||[],nextCursor:e.nextCursor||null,loading:!1,totals:e.totals,error:n.syncPending?n.error:""})}else if(e.type==="knowledge_db_record_content"){if(n.selectedRecord!==t.recordId||n.recordGeneration!==t.recordGeneration)return!0;k(r,a,{recordDetail:e,error:""})}else if(e.type==="knowledge_db_record_created"||e.type==="knowledge_db_record_updated"){var M=n.edit&&n.edit.id===t.editId,z=M?tr(n.edit,e.record,G("record"),t.attempt):{edit:n.edit,later:!1,stale:!0};if(z.stale)return!0;var ve=M&&t.creating?e.record.id:n.selectedRecord,De=ve===e.record.id?{database:n.database,record:e.record,title:e.record.values[da(n.database).id],history:n.recordDetail&&n.recordDetail.history||[]}:n.recordDetail,Y=Object.assign({},n.recordDrafts||{});t.recordId&&delete Y[t.recordId],z.later&&(Y[e.record.id]=z.edit),k(r,a,{edit:z.edit,recordDrafts:Y,selectedRecord:ve,recordDetail:De,database:Object.assign({},n.database,{revision:e.databaseRevision}),error:e.projectionPending?e.projectionError:"",syncPending:e.projectionPending===!0}),i=z.later,M&&!z.later&&He(r,t)&&o&&re(r)&&re(r).id===a&&H(r,{fullscreen:!1}),o&&me(r,a,!1,null)}else if(e.type==="knowledge_db_schema_saved"||e.type==="knowledge_db_view_saved"){var ie=n.edit&&n.edit.id===t.editId;k(r,a,{database:e.database,selectedViewId:t.viewId||n.selectedViewId,edit:ie?null:n.edit,error:e.projectionPending?e.projectionError:"",syncPending:e.projectionPending===!0}),ie&&He(r,t)&&o&&re(r)&&re(r).id===a&&H(r,{fullscreen:!1}),o&&me(r,a,!1,null)}else if(e.type==="knowledge_db_record_archived"||e.type==="knowledge_db_record_recovered")n.selectedRecord===t.recordId&&k(r,a,{selectedRecord:null,recordDetail:null,edit:null,database:Object.assign({},n.database,{revision:e.databaseRevision}),error:e.projectionPending?e.projectionError:"",syncPending:e.projectionPending===!0}),o&&me(r,a,!1,null);else if(e.type==="knowledge_db_renamed"){var B=ye(r),be=B&&B.tabs.filter(function(S){return B.drafts[S]&&B.drafts[S].file.id===a})[0];if(B&&be){var X=Object.assign({},B.drafts);X[be]=Object.assign({},X[be],{file:Object.assign({},X[be].file,{name:e.database.name,revision:e.database.revision})});var xe={drafts:X,files:B.files.map(function(S){return S.id===a?Object.assign({},S,{name:e.database.name,revision:e.database.revision}):S})};He(r,t)&&(xe.fullscreen=!1),H(r,xe)}k(r,a,{database:e.database,edit:null,error:e.projectionPending?e.projectionError:"",syncPending:e.projectionPending===!0})}else if(e.type==="knowledge_db_archived"){var N=ye(r);if(N){var de=N.tabs.filter(function(S){return N.drafts[S]&&N.drafts[S].file.id===a})[0],Q=N.tabs.filter(function(S){return S!==de}),Z=Object.assign({},N.drafts);delete Z[de];var se={files:N.files.filter(function(S){return S.id!==a}),tabs:Q,drafts:Z};He(r,t)&&(se.selected=Q.length?Q[Q.length-1]:null,se.fullscreen=!1),H(r,se)}j(r,{dialog:null})}else if(e.type==="knowledge_db_recovered"){var ee=e.database,P=He(r,t)&&L(r).recoveryDraft&&L(r).recoveryDraft.operationId===t.recoveryOperationId,D=ye(r);if(D){var F=Object.assign({},ee,{itemType:"db",writable:!0}),Re=je?je(F):"local:"+ee.id,Ke=Object.assign({},D.drafts);Ke[Re]={file:F,content:"",writable:!0,dirty:!1,mode:"read"};var Te={files:D.files.filter(function(S){return S.id!==ee.id}).concat([F]),drafts:Ke,tabs:D.tabs.indexOf(Re)===-1?D.tabs.concat([Re]):D.tabs,deletedFiles:(D.deletedFiles||[]).filter(function(S){return S.id!==ee.id})};P&&(Te.selected=Re,Te.fullscreen=!1),H(r,Te)}j(r,{recoveryDraft:null}),k(r,ee.id,{database:ee,records:[],loading:!1,error:"",edit:null}),o&&me(r,ee.id,!1,null)}else if(e.type==="knowledge_db_synced")k(r,a,{database:e.database,error:e.projectionPending?e.projectionError:"",syncPending:e.projectionPending===!0});else if(e.type==="knowledge_error")if(t.create){var le=L(r).createDraft;le&&le.attempt&&le.attempt.operationId===t.createOperationId&&j(r,{createDraft:Object.assign({},le,{saving:!1,retryPending:!1,attempt:null,operationId:G("create"),error:e.error})})}else t.recoverDatabase&&L(r).recoveryDraft?j(r,{recoveryDraft:Object.assign({},L(r).recoveryDraft,{saving:!1,error:e.error})}):n&&n.edit&&(!t.editId||n.edit.id===t.editId)&&(!t.saveRecord||pt(n.edit,t.attempt))?k(r,a,{edit:Object.assign({},n.edit,{saving:!1,retryPending:!1,attempt:null,operationId:t.saveRecord?G("record"):n.edit.operationId,error:e.error}),loading:!1,error:""}):a&&!t.saveRecord?k(r,a,{loading:!1,error:e.error}):a||j(r,{error:e.error});else return!1;var pe=o?re(r):null,ce=!a||pe&&pe.itemType==="db"&&pe.id===a,et=document.activeElement&&document.activeElement.closest&&document.activeElement.closest(".knowledge-db-form"),_e=e.type==="knowledge_db_query_results"||e.type==="knowledge_db_synced";return o&&ce&&!i&&!(et&&_e)&&p?p({forceDocument:l}):o&&!ce&&["knowledge_db_created","knowledge_db_renamed","knowledge_db_archived","knowledge_db_recovered"].indexOf(e.type)!==-1&&p&&p({forceDocument:!1}),!0}function hr(e,t){return!t||t.newDocument||!t.file||!t.file.id?null:{documentId:t.file.id,documentKey:e,name:t.file.name,revision:t.revision||null,deleted:!1}}function kr(e,t){return!e||!t?null:{documentId:e,documentKey:null,name:t,revision:null,deleted:!0}}function wt(e,t,r){return Object.assign({},e,{historyRequestId:r,historyView:Object.assign({},t,{versions:[],preview:null,loading:!0})})}function Ir(e,t,r){return!t||e.historyRequestId!==t.requestId?e:Object.assign({},e,{historyRequestId:null,historyView:Object.assign({},t.historyTarget,{versions:r||[],preview:null,loading:!1})})}function Dr(e,t){return e.historyView?Object.assign({},e,{historyPreviewRequestId:t,historyView:Object.assign({},e.historyView,{preview:null,loading:!0})}):e}function xr(e,t,r){return!t||e.historyPreviewRequestId!==t.requestId?e:Object.assign({},e,{historyPreviewRequestId:null,historyView:Object.assign({},t.historyTarget,{versions:e.historyView&&e.historyView.versions||[],preview:r,loading:!1})})}function yt(e){return Object.assign({},e,{historyRequestId:null,historyPreviewRequestId:null,historyView:null})}function Ge(e){var t=document.createElement("span");return t.textContent=String(e||""),t.innerHTML}function Rr(e,t){return'<strong class="knowledge-preview-name">'+Ge(e.name)+'</strong><span class="knowledge-readonly">History preview \xB7 read only</span>'+(t?'<button type="button" data-history-restore="'+Ge(e.preview.version)+'">Restore this version</button>':'<button type="button" data-history-review>Review restore fullscreen</button>')+'<button type="button" data-document-action="history-exit">Exit preview</button>'}function Or(e){return e?e.loading?"<p>Loading history\u2026</p>":!e.versions||!e.versions.length?"":"<small>VERSIONS OF "+Ge(e.name)+"</small>"+e.versions.map(function(t){return'<button type="button" class="knowledge-link-item" data-history-preview="'+Ge(t.version)+'">'+Ge(new Date(Number(t.version.split("-")[0])).toLocaleString())+"</button>"}).join(""):""}function W(e){if(e&&e.clientIdentity)return e.clientIdentity;var t=e&&e.common?"shared:"+encodeURIComponent(e.ownMateId||"unknown"):"local";return t+":"+encodeURIComponent(e&&e.id||e&&e.name||"")}function jr(){return{files:[],searchFiles:[],searchTotal:0,tabs:[],selected:null,drafts:{},query:"",loading:!1,searching:!1,error:"",wide:!1,fullscreen:!1,explorerScroll:0,selectionVersion:0,latestReads:{},syncRetry:null,navigationBack:[],navigationForward:[]}}function we(e,t,r){var a=Object.assign({},e.drafts);return a[t]=r,Object.assign({},e,{drafts:a})}function ht(e,t){if(!e.drafts[t])return e;var r=e.tabs.indexOf(t)===-1?e.tabs.concat([t]):e.tabs.slice();return Object.assign({},e,{tabs:r,selected:t,selectionVersion:(e.selectionVersion||0)+1,error:""})}function kt(e,t,r){var a=e.drafts[t];return a?we(e,t,Object.assign({},a,r,{version:(a.version||0)+1})):e}function It(e,t,r){var a=t&&e.drafts[t];return a?we(e,t,Object.assign({},a,{savingRequest:null,error:r})):Object.assign({},e,{error:r})}function qr(e,t){var r=e.drafts[t];if(r&&r.dirty)return we(e,t,Object.assign({},r,{error:"Save this draft before closing its tab."}));var a=e.tabs.filter(function(n){return n!==t});return Object.assign({},e,{tabs:a,selected:e.selected===t?a[a.length-1]||null:e.selected,selectionVersion:(e.selectionVersion||0)+1})}function Dt(e,t,r,a){var n=W(t),o=(e.selectionVersion||0)+1,i=Object.assign({},e.latestReads);return i[n]=r,{state:Object.assign({},e,{loading:!0,error:"",selectionVersion:o,latestReads:i}),pending:{type:"knowledge_read",requestId:r,documentId:n,file:Object.assign({},t),selectionVersion:o,draftVersion:e.drafts[n]?e.drafts[n].version||0:null,replace:a===!0}}}function Sr(e,t,r){if(!t||e.latestReads[t.documentId]!==t.requestId)return e;var a=Object.assign({},e.latestReads);delete a[t.documentId];var n=e.drafts[t.documentId],o=!n||(n.version||0)===t.draftVersion,i=!n||(!n.dirty&&!n.savingRequest||t.replace)&&o,l=Object.assign({},e,{latestReads:a});if(i){var v=!t.file.common&&r.writable===!0,f=v&&r.recoveredDraft||null,d=Object.assign({},t.file,{id:r.id||t.file.id,name:r.name||t.file.name,itemType:r.itemType||t.file.itemType}),s={file:d,content:f?f.content:r.content||"",savedContent:r.content||"",revision:r.revision||null,dirty:!1,writable:v,newDocument:!1,mode:v?"edit":"read",version:Math.max(n&&n.version||0,f&&f.clientVersion||0),editScroll:n&&n.editScroll||0,readScroll:n&&n.readScroll||0,error:"",conflict:!1,savingRequest:null,syncWarning:"",outline:r.outline||[],outgoing:r.outgoing||[],backlinks:r.backlinks||[],properties:r.properties||{},tags:r.tags||[],propertyErrors:r.propertyErrors||[],cursor:f&&f.cursor||null,draftSavedAt:f&&f.savedAt||null,draftVersion:f&&f.clientVersion||0,indexComplete:r.indexComplete!==!1,indexErrors:r.indexErrors||[],indexWarning:r.indexComplete===!1?"Some workspace documents could not be indexed; links and backlinks may be incomplete.":""};s.mode="read",s.dirty=!!f&&f.content!==s.savedContent,f&&f.baseRevision!==s.revision&&(s.conflict=!0,s.diskRevision=s.revision,s.conflictRevision=f.baseRevision||null,s.error="A recovered draft is based on an older disk version. Keep the draft or reload the disk version."),l=we(l,t.documentId,s)}var y=l.tabs.indexOf(t.documentId)===-1?l.tabs.concat([t.documentId]):l.tabs.slice(),b=l.selectionVersion===t.selectionVersion;return Object.assign({},l,{tabs:y,selected:b?t.documentId:l.selected,loading:b?!1:l.loading,error:b?"":l.error})}function Tr(e,t,r,a){var n=e.drafts[t],o={type:"knowledge_save",requestId:r,documentId:t,submittedContent:n.content,submittedVersion:n.version||0,submittedRevision:n.revision||null,draftVersion:n.draftVersion||n.version||0,name:a};return{state:we(e,t,Object.assign({},n,{savingRequest:r,error:"",conflict:!1})),pending:o}}function _r(e,t,r){var a=e.drafts[t.documentId];if(!a)return e;var n=W({id:r.id||a.file.id,name:r.name,common:!1}),o=(a.version||0)!==t.submittedVersion||a.content!==t.submittedContent,i=Object.assign({},a,{file:{id:r.id||a.file.id,name:r.name,common:!1,itemType:"text"},name:r.name.replace(/\.md$/i,""),revision:r.revision,savedContent:t.submittedContent,dirty:o,newDocument:!1,savingRequest:a.savingRequest===t.requestId?null:a.savingRequest,error:"",conflict:!1,syncWarning:r.indexSyncPending?r.syncError||"Saved on disk; Knowledge index synchronization is pending.":""}),l=Object.assign({},e.drafts);return delete l[t.documentId],l[n]=i,Object.assign({},e,{drafts:l,tabs:e.tabs.map(function(v){return v===t.documentId?n:v}),selected:e.selected===t.documentId?n:e.selected,syncRetry:r.indexSyncPending?{names:r.syncNames||[r.name],documentId:n}:e.syncRetry})}function Er(e,t,r,a){var n=e.drafts[t];return{state:we(e,t,Object.assign({},n,{savingRequest:r,error:""})),pending:{type:"knowledge_rename",requestId:r,documentId:t,name:a,submittedRevision:n.revision||null}}}function Lr(e,t,r){var a=e.drafts[t.documentId];if(!a)return e;var n=W({id:r.id||a.file.id,name:r.name,common:!1}),o=Object.assign({},a,{file:{id:r.id||a.file.id,name:r.name,common:!1,itemType:"text"},name:r.name.replace(/\.md$/i,""),content:r.content||a.content,savedContent:r.content||a.savedContent,dirty:!1,revision:r.revision,savingRequest:a.savingRequest===t.requestId?null:a.savingRequest,error:r.linkUpdateFailures&&r.linkUpdateFailures.length?"Moved, but some linked documents could not be updated.":"",syncWarning:r.indexSyncPending?r.syncError||"Renamed on disk; Knowledge index synchronization is pending.":""}),i=Object.assign({},e.drafts);return delete i[t.documentId],i[n]=o,(r.updatedDocuments||[]).forEach(function(l){var v=W({id:l.id,name:l.name,common:!1}),f=i[v];!f||v===n||(i[v]=f.dirty?Object.assign({},f,{conflict:!0,diskRevision:l.revision,error:"This document was rewritten during the move. Reload it or deliberately keep your newer draft."}):Object.assign({},f,{content:l.content,savedContent:l.content,revision:l.revision,dirty:!1}))}),Object.assign({},e,{drafts:i,tabs:e.tabs.map(function(l){return l===t.documentId?n:l}),selected:e.selected===t.documentId?n:e.selected,syncRetry:r.indexSyncPending?{names:r.syncNames||[r.from,r.name],documentId:n}:e.syncRetry})}function Hr(e,t,r){var a=e.drafts[t.documentId];return a?(a.version||0)!==t.submittedVersion?we(e,t.documentId,Object.assign({},a,{conflict:!0,diskRevision:r.revision,error:"The disk version loaded, but newer local edits were preserved."})):we(e,t.documentId,Object.assign({},a,{content:r.content,savedContent:r.content,revision:r.revision,dirty:!1,conflict:!1,error:"",draftState:"",draftVersion:0,cursor:null})):e}function Cr(e,t,r,a){return{state:e,pending:{type:"knowledge_delete",requestId:r,documentId:t,submittedRevision:a}}}function Vr(e,t,r){var a=Object.assign({},e.drafts);delete a[t.documentId];var n=e.tabs.filter(function(i){return i!==t.documentId}),o=e.selected===t.documentId?n[n.length-1]||null:e.selected;return Object.assign({},e,{drafts:a,tabs:n,selected:o,syncRetry:r.indexSyncPending?{names:r.syncNames||[r.name],documentId:null}:e.syncRetry,error:r.indexSyncPending?r.syncError||"Deleted on disk; Knowledge index synchronization is pending.":e.error})}function xt(e,t,r){if(!t)return Object.assign({},e,{loading:!1,searching:!1,error:r.error||"Knowledge request failed."});if(t.type==="knowledge_read"){var a=Object.assign({},e.latestReads);return a[t.documentId]===t.requestId&&delete a[t.documentId],Object.assign({},e,{latestReads:a,loading:!1,error:r.error||"Knowledge read failed."})}var n=t.documentId&&e.drafts[t.documentId];return n?we(e,t.documentId,Object.assign({},n,{savingRequest:n.savingRequest===t.requestId?null:n.savingRequest,error:r.error||"Knowledge request failed.",conflict:r.code==="STALE"})):Object.assign({},e,{loading:!1,searching:!1,error:r.error||"Knowledge request failed."})}var c=null,Rt=0,ot={},Ue=null,Je=null,$e=null,he=null,Ve={},qe=null;function w(){return V.get("currentSlug")||""}function Nr(){return V.get("mateKnowledgeWorkspaces")||{}}function m(e){return Nr()[e]||jr()}function x(e,t){var r=Object.assign({},Nr());r[e]=t,V.set({mateKnowledgeWorkspaces:r})}function K(e,t){x(e,Object.assign({},m(e),t))}function ne(e,t,r){var a=m(e),n=a.drafts[t];if(n){var o=Object.assign({},a.drafts);o[t]=Object.assign({},n,r),x(e,Object.assign({},a,{drafts:o}))}}function ae(e){return e.selected&&e.drafts[e.selected]||null}function Sa(e,t){for(var r=0;r<e.files.length;r++)if(W(e.files[r])===t)return e.files[r];var a=e.drafts[t];return a?a.file:null}function U(){return Rt+=1,"knowledge-"+Date.now()+"-"+Rt}function Xe(e){if(e!==w())return null;var t=Oe();return t&&t.readyState===1?t:(K(e,{error:"Reconnect to use Knowledge."}),C(),null)}function J(e,t,r,a,n){var o=Xe(e);if(!o)return!1;ot[a.requestId]=Object.assign({key:e,type:t},a),n&&x(e,n);try{o.send(JSON.stringify(Object.assign({type:t,requestId:a.requestId},r||{})))}catch(i){return delete ot[a.requestId],x(e,xt(m(e),a,{error:i.message})),C(),!1}return!0}function it(e,t,r){var a=w(),n=U();return J(a,e,t,Object.assign({requestId:n},r||{}),null)?n:null}function Ta(e,t,r,a,n){var o=U();return J(e,t,r,Object.assign({requestId:o},a||{}),n)?o:null}function Fr(e){var t=String(e||"").trim();return t?(/\.md$/i.test(t)||(t+=".md"),/^(?!\/)(?!.*(?:^|\/)\.\.?\/)(?!.*\/\.\.?$)[^\\\x00-\x1f\x7f]{1,500}\.md$/i.test(t)?t.replace(/^\.\//,""):""):""}function ke(e){if(c){var t=e||w(),r=m(t),a=r.selected;if(a){var n=r.drafts[a];if(n){var o=zt(),i=c.querySelector("[data-knowledge-preview]");ne(t,a,{content:o?o.content:n.content,cursor:o?o.cursor:n.cursor,editorHistory:o?o.history:n.editorHistory,editScroll:o?o.scroll:n.editScroll||0,readScroll:i?i.scrollTop:n.readScroll||0}),K(t,{explorerScroll:c.querySelector(".knowledge-explorer-list").scrollTop})}}}}function _a(e){for(var t=String(e||"").split(`
2
+ `),r=[],a=0;a<t.length;a++){var n=/^(#{1,4})\s+(.+?)\s*$/.exec(t[a]);n&&r.push({depth:n[1].length,text:n[2].replace(/[*_`]/g,"")})}return r}function Pr(){if(!c){var e=document.getElementById("main-panels");if(e){c=document.createElement("section"),c.id="mate-knowledge-workbench",c.className="hidden",c.setAttribute("aria-label","Mate Knowledge"),c.innerHTML='<header class="knowledge-topbar"><span class="knowledge-title">'+I("book-open")+'Knowledge</span><span class="knowledge-subtitle">Documents in this Mate project</span><button type="button" data-knowledge-deleted title="Recover deleted documents" aria-label="Recover deleted documents">'+I("history")+'</button><button type="button" data-knowledge-new title="New document" aria-label="New document">'+I("file-plus-2")+'</button><button type="button" data-knowledge-wide title="Widen Knowledge" aria-label="Widen Knowledge" aria-pressed="false">'+I("chevrons-left-right")+'</button><button type="button" data-knowledge-full title="Toggle fullscreen" aria-label="Toggle Knowledge fullscreen" aria-pressed="false">'+I("maximize-2")+'</button><button type="button" data-knowledge-close title="Close Knowledge" aria-label="Close Knowledge">'+I("x")+'</button></header><div class="knowledge-status" role="status"></div><div class="knowledge-layout"><aside class="knowledge-explorer"><label class="knowledge-search">'+I("search")+'<input type="search" placeholder="Search names and contents" aria-label="Search Knowledge document names and contents"></label><div class="knowledge-explorer-heading"><span>Documents</span><span data-knowledge-count></span></div><div class="knowledge-explorer-list" role="list"></div></aside><main class="knowledge-document"><div class="knowledge-tabs" role="tablist" aria-label="Open Knowledge documents"></div><div class="knowledge-document-toolbar"></div><div class="knowledge-document-body"></div></main><aside class="knowledge-details"><div class="knowledge-detail-section"><button type="button" class="knowledge-detail-heading" aria-expanded="true" data-detail-toggle="outline">Outline'+I("chevron-down")+'</button><div data-detail-content="outline"></div></div><div class="knowledge-detail-section"><button type="button" class="knowledge-detail-heading" aria-expanded="true" data-detail-toggle="links">Links'+I("chevron-down")+'</button><div data-detail-content="links"></div></div><div class="knowledge-detail-section"><button type="button" class="knowledge-detail-heading" aria-expanded="true" data-detail-toggle="history">History'+I("chevron-down")+'</button><div data-detail-content="history"></div></div></aside></div><div class="knowledge-delete-dialog hidden" role="dialog" aria-modal="true" aria-labelledby="knowledge-delete-title"><div><h2 id="knowledge-delete-title">Delete this document?</h2><p>The file will be removed from this Mate project. Existing record history remains available to shared Knowledge.</p><div><button type="button" data-delete-cancel>Cancel</button><button type="button" class="danger" data-delete-confirm>Delete</button></div></div></div>';var t=c.querySelector("[data-knowledge-new]");t.insertAdjacentHTML("beforebegin",'<button type="button" data-knowledge-back title="Back" aria-label="Previous document">'+I("arrow-left")+'</button><button type="button" data-knowledge-forward title="Forward" aria-label="Next document">'+I("arrow-right")+"</button>"),e.appendChild(c),Ea(),ge(c)}}}function Ea(){c.querySelector("[data-knowledge-close]").addEventListener("click",ze),c.querySelector("[data-knowledge-new]").addEventListener("click",function(){fr(c)}),c.querySelector("[data-knowledge-deleted]").addEventListener("click",function(){it("knowledge_deleted_list")}),c.querySelector("[data-knowledge-back]").addEventListener("click",function(){Kr("back")}),c.querySelector("[data-knowledge-forward]").addEventListener("click",function(){Kr("forward")}),c.querySelector(".knowledge-search input").addEventListener("input",Ka),c.querySelector("[data-knowledge-wide]").addEventListener("click",function(){var e=w();K(e,{wide:!m(e).wide}),Jr()}),c.querySelector("[data-knowledge-full]").addEventListener("click",Gr),c.querySelector("[data-delete-cancel]").addEventListener("click",Ye),c.querySelector("[data-delete-confirm]").addEventListener("click",Qa),c.addEventListener("click",La),c.addEventListener("input",function(e){if(!pr(e)){var t=w(),r=m(t),a=r.selected;e.target.matches("[data-document-name]")&&(x(t,kt(r,a,{name:e.target.value})),Ae(t,a))}}),c.addEventListener("keydown",Ha)}function La(e){var t=mr(e,c);if(t!==!0){if(t==="document"){Ar();return}var r=e.target.closest("[data-close-tab]");if(r){Ma(r.dataset.closeTab);return}var a=e.target.closest("[data-select-tab]");if(a){Br(a.dataset.selectTab,!0);return}var n=e.target.closest("[data-open-document]");if(n){qe=n.dataset.openHeading||null,Qe(n.dataset.openDocument),qe&&setTimeout(Ot,0);return}var o=e.target.closest("[data-outline-heading]");if(o){qe=o.dataset.outlineHeading,Ot();return}var i=e.target.closest("[data-document-action]");if(i){Na(i.dataset.documentAction,i);return}var l=e.target.closest("[data-create-linked]");if(l){Ar(l.dataset.createLinked);return}var v=e.target.closest("[data-history-load]");if(v){Fa();return}var f=e.target.closest("[data-history-preview]");if(f){Wa(f.dataset.historyPreview);return}var d=e.target.closest("[data-history-restore]");if(d){Ga(d.dataset.historyRestore);return}var s=e.target.closest("[data-db-recover-database]");if(s){vr(c,{id:s.dataset.dbRecoverDatabase,name:s.dataset.dbRecoverName,revision:Number(s.dataset.dbRecoverRevision)});return}var y=e.target.closest("[data-deleted-history]");if(y){Pa(y.dataset.deletedHistory,y.dataset.deletedName);return}if(e.target.closest("[data-search-more]")){Aa();return}if(e.target.closest("[data-history-review]")){Ba();return}var b=e.target.closest("[data-detail-toggle]");if(b){var g=c.querySelector('[data-detail-content="'+b.dataset.detailToggle+'"]'),R=b.getAttribute("aria-expanded")!=="false";b.setAttribute("aria-expanded",String(!R)),g.hidden=R;return}e.target.closest("[data-sync-retry]")&&Za()}}function Ha(e){if(!wr(e,c)){if(he){Ca(e);return}var t=e.target.closest("[data-select-tab]");if(e.target.matches(".knowledge-search input")&&e.key==="Enter"){var r=m(w()),a=r.query.trim()?r.searchFiles:r.files;a.length&&(e.preventDefault(),Qe(W(a[0])));return}if((e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="p"){e.preventDefault(),c.querySelector(".knowledge-search input").focus();return}if(t&&["ArrowLeft","ArrowRight","Home","End"].indexOf(e.key)!==-1){e.preventDefault(),Va(t.dataset.selectTab,e.key);return}(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()==="s"?(e.preventDefault(),Ur()):e.key==="Escape"&&window.matchMedia("(max-width: 1023px)").matches&&ze()}}function Ca(e){if(e.key==="Escape"){e.preventDefault(),Ye();return}if(e.key==="Tab"){var t=c.querySelectorAll(".knowledge-delete-dialog button:not(:disabled)");if(t.length){var r=t[0],a=t[t.length-1];e.shiftKey&&document.activeElement===r?(e.preventDefault(),a.focus()):!e.shiftKey&&document.activeElement===a&&(e.preventDefault(),r.focus())}}}function Va(e,t){var r=m(w()),a=r.tabs.indexOf(e);a!==-1&&(t==="Home"?a=0:t==="End"?a=r.tabs.length-1:a=(a+(t==="ArrowRight"?1:-1)+r.tabs.length)%r.tabs.length,Br(r.tabs[a],!0))}function Wr(e){if(!(!Ue||e&&Je!==e)){clearTimeout(Ue),Ue=null;var t=Je;Je=null,t&&K(t,{searching:!1})}}function jt(e,t,r,a){if(e!==w()||!c||c.classList.contains("hidden")){K(e,{searching:!1});return}var n=U(),o={requestId:n,query:t,offset:r||0,append:a===!0};J(e,"knowledge_search",{query:t,offset:r||0,limit:50},o,null)||K(e,{searching:!1})}function Aa(){var e=w(),t=m(e);t.searching||!t.query.trim()||t.searchFiles.length>=t.searchTotal||(K(e,{searching:!0}),jt(e,t.query,t.searchFiles.length,!0),qt())}function Ka(e){var t=w(),r=e.target.value;Wr(),K(t,{query:r,searchFiles:r.trim()?m(t).searchFiles:[],searching:!!r.trim()}),qt(),r.trim()&&(Je=t,Ue=setTimeout(function(){if(Ue=null,Je=null,t!==w()||m(t).query!==r){K(t,{searching:!1});return}jt(t,r,0,!1)},160))}function Ar(e){ke();var t=w(),r=m(t),a="draft:"+Date.now()+":"+Rt,n=Object.assign({},r.drafts),o=typeof e=="string"?e.replace(/\.md$/i,""):"";if(o&&r.selected&&r.drafts[r.selected]&&o.indexOf("/")!==0){var i=r.drafts[r.selected].file.name||"",l=i.indexOf("/")===-1?"":i.slice(0,i.lastIndexOf("/")+1);o=new URL(l+o+".md","https://clay.invalid/").pathname.replace(/^\//,"").replace(/\.md$/i,"")}n[a]={file:{id:a,name:"",common:!1,itemType:"text"},content:"",savedContent:"",revision:null,dirty:!0,writable:!0,newDocument:!0,mode:"edit",name:o,version:0,error:""},x(t,Object.assign({},r,{drafts:n,tabs:r.tabs.concat([a]),selected:a,selectionVersion:r.selectionVersion+1,fullscreen:!0,error:""})),C({forceDocument:!0}),setTimeout(function(){var v=c.querySelector("[data-document-name]");v&&v.focus()},0)}function Qe(e,t,r){ke();var a=w(),n=m(a),o=n.navigationBack||[],i=n.navigationForward||[];if(!r&&n.selected&&n.selected!==e&&(o=o.concat([n.selected]).slice(-50),i=[]),n.drafts[e]&&!t){var l=ht(n,e);l.fullscreen=!1,l.drafts[e].mode="read",l.navigationBack=o,l.navigationForward=i,x(a,l),C({forceDocument:!0});return}var v=Sa(n,e);if(v){var f=Xe(a);if(f){if(v.itemType==="db"){var d=Object.assign({},n.drafts);d[e]=d[e]||{file:v,content:"",writable:v.writable!==!1,dirty:!1,mode:"read"};var s=n.tabs.indexOf(e)===-1?n.tabs.concat([e]):n.tabs;x(a,Object.assign({},n,{drafts:d,tabs:s,selected:e,fullscreen:!1,navigationBack:o,navigationForward:i})),ur(v),C({forceDocument:!0});return}var y=U(),b=Dt(n,v,y,t===!0);b.state.fullscreen=!1,b.state.navigationBack=o,b.state.navigationForward=i,J(a,"knowledge_read",{name:v.name,documentId:v.id||null,common:!!v.common,ownMateId:v.ownMateId||null},b.pending,b.state),C()}}}function Kr(e){var t=w(),r=m(t),a=r.navigationBack||[],n=r.navigationForward||[],o=e==="back"?a:n;if(o.length){var i=o[o.length-1];e==="back"?(a=a.slice(0,-1),r.selected&&(n=n.concat([r.selected]))):(n=n.slice(0,-1),r.selected&&(a=a.concat([r.selected]))),x(t,Object.assign({},r,{navigationBack:a,navigationForward:n})),Qe(i,!1,!0)}}function Br(e,t){ke();var r=w();x(r,ht(m(r),e)),C(),t&&setTimeout(function(){var a=c.querySelector('[data-select-tab="'+A(e)+'"]');a&&a.focus()},0)}function Ma(e){var t=w(),r=m(t),a=r.drafts[e],n=document.activeElement&&document.activeElement.closest("[data-close-tab]");r.selected===e&&(!a||!a.dirty)&&ke();var o=qr(r,e);x(t,o),C(),n&&setTimeout(function(){var i=o.selected&&c.querySelector('[data-select-tab="'+A(o.selected)+'"]');i||(i=c.querySelector("[data-open-document], .knowledge-search input")),i&&i.focus()},0)}function Na(e,t){var r=w(),a=m(r),n=ae(a);if(e==="history-exit"){x(r,Object.assign({},yt(a),{fullscreen:!1})),C({forceDocument:!0});return}n&&(e==="edit"?Ja():e==="read"?Gr():e==="save"?Ur():e==="rename"?Ya():e==="delete"?Xa(t):e==="reload"?Ua():e==="keep"&&(ne(r,a.selected,{conflict:!1,revision:n.diskRevision||n.revision,error:""}),Se()))}function Fa(){var e=w(),t=m(e),r=hr(t.selected,ae(t));if(r){var a=U(),n={requestId:a,documentId:r.documentKey,historyTarget:r};J(e,"knowledge_history",{documentId:r.documentId},n,wt(t,r,a)),Ze()}}function Pa(e,t){var r=w(),a=m(r),n=kr(e,t);if(n){var o=U(),i={requestId:o,documentId:null,historyTarget:n};J(r,"knowledge_history",{documentId:n.documentId},i,wt(a,n,o)),Ze()}}function Wa(e){var t=w(),r=m(t),a=r.historyView;if(a){var n=U(),o={requestId:n,documentId:a.documentKey,historyTarget:Object.assign({},a,{preview:null}),historyVersion:e};J(t,"knowledge_history_read",{documentId:a.documentId,version:e},o,Dr(r,n)),Ze()}}function Ba(){var e=w(),t=m(e);!t.historyView||!t.historyView.preview||(K(e,{fullscreen:!0}),C({forceDocument:!0}))}function Ga(e){var t=w(),r=m(t),a=r.historyView;if(!(!r.fullscreen||!a||!a.preview||a.preview.version!==e)){var n=a.documentKey&&r.drafts[a.documentKey];if(n&&n.dirty){K(t,{error:"Save or discard the current draft before restoring its history."}),zr();return}Ta(t,"knowledge_restore",{documentId:a.documentId,version:e,name:a.name,expectedRevision:a.revision},{documentId:a.documentKey,historyRestore:!0,historyTarget:a})}}function $a(e,t){var r=m(e),a=Object.assign({},yt(r),{fullscreen:!1,error:"",deletedFiles:(r.deletedFiles||[]).filter(function(d){return d.id!==t.id})}),n={id:t.id,name:t.name,common:!1,itemType:"text",revision:t.revision},o=W(n),i=a.files.slice(),l=!1;if(i=i.map(function(d){return W(d)!==o?d:(l=!0,Object.assign({},d,n))}),l||i.push(n),a.files=i,e!==w()){x(e,a);return}var v=U(),f=Dt(a,n,v,!0);J(e,"knowledge_read",{name:n.name,documentId:n.id,common:!1,ownMateId:null},f.pending,f.state)}function Ua(){var e=w(),t=m(e),r=ae(t);if(!(!r||r.newDocument)){var a=U();J(e,"knowledge_discard_draft",{documentId:r.file.id,name:r.file.name,expectedRevision:r.diskRevision||r.revision,throughVersion:Math.max(r.version||0,r.draftVersion||0)},{requestId:a,documentId:t.selected,submittedVersion:r.version||0},null)}}function Ja(){var e=w(),t=m(e),r=ae(t);!r||!r.writable||(ke(),ne(e,t.selected,{mode:"edit"}),K(e,{fullscreen:!0}),C({forceDocument:!0}))}function Gr(){var e=w(),t=m(e);t.fullscreen&&(ke(),ne(e,t.selected,{mode:"read"}),K(e,{fullscreen:!1}),Le(),C({forceDocument:!0}))}function Ae(e,t){var r=e+":"+t;clearTimeout(Ve[r]),Ve[r]=setTimeout(function(){delete Ve[r],$r(e,t)},600)}function $r(e,t){var r=m(e),a=r.drafts[t];if(!a||!a.dirty||!a.writable)return!1;if(e!==w()||!Oe()||Oe().readyState!==1)return ne(e,t,{draftState:"retry",error:a.error||"Draft will retry after reconnect."}),!1;var n=U(),o=a.version||0;return ne(e,t,{draftState:"pending"}),J(e,"knowledge_draft_save",{documentId:a.file.id||t,name:a.newDocument?a.name:a.file.name,content:a.content,baseRevision:a.conflictRevision!==void 0?a.conflictRevision:a.revision,cursor:a.cursor||null,clientVersion:o,newDocument:a.newDocument===!0},{requestId:n,documentId:t,submittedVersion:o},null)}function za(e){Object.keys(Ve).forEach(function(t){t.indexOf(e+":")===0&&(clearTimeout(Ve[t]),delete Ve[t])})}function Ur(){var e=w(),t=m(e),r=ae(t);if(!(!r||!r.writable||r.savingRequest||r.conflict)){var a=c.querySelector("[data-document-name]"),n=r.newDocument?Fr(a&&a.value):r.file.name;if(!n){ne(e,t.selected,{error:"Use a valid Markdown path without traversal or control characters."}),Se();return}var o=Xe(e);if(!o){x(e,It(m(e),t.selected,"Reconnect to save this document.")),Se();return}var i=U(),l=Tr(t,t.selected,i,n);J(e,"knowledge_save",{documentId:r.file.id||t.selected,name:n,content:r.content,expectedRevision:r.revision,draftVersion:l.pending.draftVersion},l.pending,l.state),Se()}}function Ya(){var e=w(),t=m(e),r=ae(t),a=c.querySelector("[data-document-name]"),n=Fr(a&&a.value);if(!(!r||!r.writable||r.newDocument||r.savingRequest||r.dirty||!n||n===r.file.name)){if(!Xe(e)){x(e,It(m(e),t.selected,"Reconnect to rename this document.")),Se();return}var o=U(),i=Er(t,t.selected,o,n);J(e,"knowledge_rename",{documentId:r.file.id||null,from:r.file.name,name:n,expectedRevision:r.revision},i.pending,i.state),Se()}}function Xa(e){var t=m(w()),r=ae(t);if(!(!r||!r.writable||r.newDocument)){he={key:w(),documentId:t.selected,name:r.file.name,revision:r.revision,returnFocus:e},c.querySelector(".knowledge-topbar").inert=!0,c.querySelector(".knowledge-status").inert=!0,c.querySelector(".knowledge-layout").inert=!0;var a=c.querySelector(".knowledge-delete-dialog");a.classList.remove("hidden"),a.querySelector("[data-delete-cancel]").focus()}}function Ye(){if(he){var e=he.returnFocus;he=null,c.querySelector(".knowledge-topbar").inert=!1,c.querySelector(".knowledge-status").inert=!1,c.querySelector(".knowledge-layout").inert=!1,c.querySelector(".knowledge-delete-dialog").classList.add("hidden"),e&&e.isConnected&&e.focus()}}function Qa(){if(he){var e=he,t=e.key;if(!Xe(t)){Ye();return}var r=U(),a=Cr(m(t),e.documentId,r,e.revision);Ye(),J(t,"knowledge_delete",{name:e.name,expectedRevision:e.revision},a.pending,a.state)}}function Za(){var e=w(),t=m(e).syncRetry;!t||!t.names||it("knowledge_sync",{names:t.names},{syncRetry:t})}function Jr(){var e=m(w());c.classList.toggle("knowledge-wide",e.wide),c.classList.toggle("panel-fullscreen",e.fullscreen),c.querySelector("[data-knowledge-wide]").setAttribute("aria-pressed",String(e.wide)),c.querySelector("[data-knowledge-full]").setAttribute("aria-pressed",String(e.fullscreen)),c.querySelector("[data-knowledge-full]").hidden=!e.fullscreen,c.querySelector("[data-knowledge-wide]").hidden=e.fullscreen,c.querySelector("[data-knowledge-back]").disabled=!(e.navigationBack||[]).length,c.querySelector("[data-knowledge-forward]").disabled=!(e.navigationForward||[]).length}function zr(){var e=m(w()),t=ae(e),r=e.error||t&&(t.syncWarning||t.indexWarning)||"",a=c.querySelector(".knowledge-status");a.innerHTML=r?_(r)+(e.syncRetry?' <button type="button" data-sync-retry>Retry index sync</button>':""):""}function qt(){if(c){var e=m(w()),t=c.querySelector(".knowledge-explorer-list"),r=e.query.trim()?e.searchFiles:e.files;t.innerHTML="",c.querySelector("[data-knowledge-count]").textContent=e.query.trim()&&e.searchTotal>r.length?r.length+" of "+e.searchTotal:String(r.length),e.loading&&!e.files.length||e.searching?t.innerHTML='<p class="knowledge-empty">'+(e.searching?"Searching document text\u2026":"Reading project documents\u2026")+"</p>":r.length||(t.innerHTML='<p class="knowledge-empty">'+(e.query.trim()?"No matching names or document text":"No documents yet")+"</p>");var a=null;if(r.forEach(function(o){var i=o.name.split("/"),l=i.length>1?i.slice(0,-1).join("/"):"";if(!e.query.trim()&&l!==a){var v=document.createElement("div");v.className="knowledge-folder-row",v.innerHTML=I("folder")+"<span>"+_(l||"Top level")+"</span>",t.appendChild(v),a=l}var f=W(o),d=document.createElement("button");d.type="button",d.className="knowledge-file-row",d.dataset.openDocument=f,d.dataset.controlRevision=String(o.revision||""),d.dataset.controlRuntime=V.get("controlRuntimeId")||"",d.style.setProperty("--knowledge-depth",String(Math.min(i.length-1,6))),f===e.selected&&d.setAttribute("aria-current","true"),d.innerHTML=I(o.itemType==="db"||o.name.endsWith(".jsonl")?"database":"file-text")+"<span>"+_(i[i.length-1].replace(/\.(md|jsonl)$/i,""))+(o.snippet?"<em>"+_(o.snippet)+"</em>":"")+"</span>"+(o.common?"<small>shared</small>":""),t.appendChild(d)}),e.query.trim()&&e.searchFiles.length<e.searchTotal){var n=document.createElement("button");n.type="button",n.className="knowledge-search-more",n.dataset.searchMore="",n.disabled=e.searching,n.textContent=e.searching?"Loading more\u2026":"Load more results",t.appendChild(n)}t.scrollTop=e.explorerScroll||0,ge(t)}}function en(){var e=m(w()),t=c.querySelector(".knowledge-tabs");t.innerHTML="",e.tabs.forEach(function(r){var a=e.drafts[r];if(a){var n=document.createElement("div");n.className="knowledge-tab-shell";var o=a.newDocument?"Untitled":a.file.name.replace(/\.md$/i,"");n.innerHTML='<button type="button" class="knowledge-tab" data-select-tab="'+A(r)+'" role="tab" aria-selected="'+String(r===e.selected)+'" tabindex="'+(r===e.selected?"0":"-1")+'"><span>'+_(o)+(a.dirty?" \u2022":"")+'</span></button><button type="button" class="knowledge-tab-close" data-close-tab="'+A(r)+'" aria-label="Close '+A(o)+' tab">\xD7</button>',t.appendChild(n)}})}function Se(){var e=m(w()),t=ae(e),r=e.historyView,a=c.querySelector(".knowledge-document-toolbar");if(a.innerHTML="",!mt(c)){if(r&&r.preview){a.innerHTML=Rr(r,e.fullscreen);return}if(t){var n=!t.writable,o=t.file.name&&t.file.name.endsWith(".jsonl")?".jsonl":".md",i=t.name!=null?t.name:t.newDocument?"":t.file.name.replace(/\.(md|jsonl)$/i,"");e.fullscreen?a.innerHTML='<label class="knowledge-name"><span class="sr-only">Document path</span><input data-document-name value="'+A(i)+'" '+(n?"readonly":"")+(t.savingRequest?" disabled":"")+"><span>"+o+'</span></label><span class="knowledge-save-state">'+(t.savingRequest?"Saving\u2026":t.draftState==="pending"?"Saving draft\u2026":t.draftState==="retry"?"Draft waiting for reconnect":t.draftState==="saved"?"Draft saved on server":t.dirty?"Unsaved changes":"Saved")+"</span>"+(n?'<span class="knowledge-readonly">Read only</span>':'<button type="button" data-document-action="rename" '+(t.newDocument||t.savingRequest||t.dirty?"disabled":"")+'>Move / rename</button><button type="button" data-document-action="save" class="primary" '+(!t.dirty||t.savingRequest||t.conflict?"disabled":"")+">"+(t.savingRequest?"Saving\u2026":"Save")+'</button><button type="button" data-document-action="delete" class="danger" '+(t.newDocument||t.savingRequest?"disabled":"")+' aria-label="Delete document">'+I("trash-2")+'</button><button type="button" data-document-action="read">Exit editor</button>'):a.innerHTML='<strong class="knowledge-preview-name">'+_(t.file.name||"Untitled")+"</strong>"+(n?'<span class="knowledge-readonly">Read only</span>':'<button type="button" data-document-action="edit">'+I("pencil")+"Edit fullscreen</button>"),t.error&&a.insertAdjacentHTML("beforeend",'<span class="knowledge-inline-error">'+_(t.error)+(t.conflict?' <button type="button" data-document-action="keep">Keep draft</button> <button type="button" data-document-action="reload">Reload disk version</button>':"")+"</span>"),ge(a)}}}function tn(e,t){var r=m(w()),a=ae(r),n=r.historyView&&r.historyView.preview,o=c.querySelector(".knowledge-document-body"),i=!n&&a&&r.fullscreen&&a.writable?"edit":"read";if(!mt(c)){if(n){var l="history:"+r.historyView.documentId+":"+n.version;if(!e&&o.dataset.knowledgeDocumentId===l)return;Le(),o.innerHTML="",o.dataset.knowledgeDocumentId=l,o.dataset.knowledgeDocumentMode="read",o.dataset.knowledgeDocumentWritable="false";var v=document.createElement("article");v.className="knowledge-preview md-content",v.dataset.knowledgePreview="",v.innerHTML=Ne(n.content||""),o.appendChild(v),Fe(v);return}var f=a&&(o.dataset.knowledgeDocumentId===r.selected||o.dataset.knowledgeDocumentId===t);if(!e&&f&&o.dataset.knowledgeDocumentMode===i&&o.dataset.knowledgeDocumentWritable===String(!!a.writable)){o.dataset.knowledgeDocumentId=r.selected;return}if(Le(),o.innerHTML="",o.dataset.knowledgeDocumentId=a?r.selected:"",o.dataset.knowledgeDocumentMode=a?i:"",o.dataset.knowledgeDocumentWritable=a?String(!!a.writable):"",!a){o.innerHTML='<div class="knowledge-welcome"><i data-lucide="book-open"></i><h2>Knowledge</h2><p>Open a document from the explorer or create a new Markdown note.</p></div>',ge(o);return}if(i==="read"){var d=document.createElement("article");d.className="knowledge-preview md-content",d.dataset.knowledgePreview="",d.innerHTML=Ne(a.content||""),o.appendChild(d),vt(d,a.outgoing),Fe(d),d.scrollTop=a.readScroll||0}else{var s=document.createElement("div");s.className="knowledge-editor-split";var y=document.createElement("div");y.className="knowledge-editor-host";var b=document.createElement("article");b.className="knowledge-live-preview md-content",b.innerHTML=Ne(a.content||""),s.appendChild(y),s.appendChild(b),o.appendChild(s),a.dirty||vt(b,a.outgoing),Fe(b),Jt(y,{value:a.content||"",cursor:a.cursor,history:a.editorHistory,files:r.files,currentName:a.file.name||a.name,onCursor:function(g){ne(w(),r.selected,{cursor:g}),Ae(w(),r.selected)},onChange:function(g,R){var E=w(),q=m(E);x(E,kt(q,q.selected,{content:g,cursor:R,dirty:g!==q.drafts[q.selected].savedContent,error:q.drafts[q.selected].conflict?q.drafts[q.selected].error:""})),b.innerHTML=Ne(g||""),Fe(b),Ze(),rn(),Ae(E,q.selected)}}),Yt(a.editScroll||0)}}}function rn(){var e=m(w()),t=ae(e);if(!(!t||!c)){var r=c.querySelector(".knowledge-save-state");r&&(r.textContent=t.draftState==="pending"?"Saving draft\u2026":t.draftState==="retry"?"Draft waiting for reconnect":t.dirty?"Unsaved changes":"Saved");var a=c.querySelector('[data-document-action="save"]');a&&(a.disabled=!t.dirty||!!t.savingRequest||!!t.conflict);var n=c.querySelector('[data-document-action="rename"]');n&&(n.disabled=t.newDocument||!!t.savingRequest||!!t.dirty)}}function Ze(){var e=m(w()),t=ae(e),r=e.historyView,a=c.querySelector('[data-detail-content="outline"]'),n=c.querySelector('[data-detail-content="links"]'),o=c.querySelector('[data-detail-content="history"]');if(a.innerHTML="",n.innerHTML="",o.innerHTML="",c.querySelector(".knowledge-details").hidden=!!(t&&t.file.itemType==="db"),!(t&&t.file.itemType==="db")){if(e.deletedFiles&&e.deletedFiles.length&&(o.innerHTML+="<small>RECOVERABLE KNOWLEDGE</small>"+e.deletedFiles.map(function(s){return s.itemType==="db"?'<button type="button" class="knowledge-link-item" data-db-recover-database="'+A(s.id)+'" data-db-recover-name="'+A(s.name)+'" data-db-recover-revision="'+A(s.revision)+'">'+I("database")+_(s.name)+"</button>":'<button type="button" class="knowledge-link-item" data-deleted-history="'+A(s.id)+'" data-deleted-name="'+A(s.name)+'">'+_(s.name)+"</button>"}).join("")),o.innerHTML+=Or(r),!t){a.innerHTML="<p>Open a document to see its outline.</p>",n.innerHTML="<p>Document links appear here.</p>",o.innerHTML||(o.innerHTML="<p>Load deleted documents from the history button.</p>");return}var i=t.outline&&!t.dirty?t.outline:_a(t.content);a.innerHTML=i.length?i.map(function(s){return'<button type="button" class="knowledge-outline-item depth-'+s.depth+'" data-outline-heading="'+A(s.slug||s.text)+'">'+_(s.text)+"</button>"}).join(""):"<p>No headings</p>";var l=t.outgoing||[],v=t.backlinks||[],f=[];l.length&&f.push("<small>OUTGOING</small>"+l.map(function(s){var y=s.documentKey||s.documentId&&W({id:s.documentId,name:s.name,common:!1});return y?'<button type="button" class="knowledge-link-item'+(s.heading&&!s.headingValid?" unresolved":"")+'" data-open-document="'+A(y)+'" data-open-heading="'+A(s.heading||"")+'">'+I("link-2")+"<span>"+_(s.label)+(s.heading?" \u203A "+_(s.heading)+(s.headingValid?"":" (missing heading)"):"")+"</span></button>":s.external?'<span class="knowledge-link-item">'+_(s.label)+" (external)</span>":'<button type="button" class="knowledge-link-item unresolved" data-create-linked="'+A(s.target)+'">'+I("file-plus-2")+"<span>"+_(s.label||s.target)+" (create)</span></button>"}).join("")),v.length&&f.push("<small>BACKLINKS FROM WORKSPACE</small>"+v.map(function(s){var y=s.documentKey||W({id:s.documentId,name:s.name,common:!1});return'<button type="button" class="knowledge-link-item knowledge-backlink" data-open-document="'+A(y)+'">'+I("corner-up-left")+"<span><b>"+_(s.name)+"</b><em>"+_(s.snippet)+"</em></span></button>"}).join("")),t.tags&&t.tags.length&&f.push('<small>TAGS</small><div class="knowledge-tags">'+t.tags.map(function(s){return"<span>#"+_(s)+"</span>"}).join("")+"</div>");var d=Object.keys(t.properties||{});d.length&&f.push('<small>PROPERTIES</small><dl class="knowledge-properties">'+d.map(function(s){return"<dt>"+_(s)+"</dt><dd>"+_(t.properties[s])+"</dd>"}).join("")+"</dl>"),t.propertyErrors&&t.propertyErrors.length&&f.push('<p class="knowledge-property-error">'+_(t.propertyErrors.join(" "))+"</p>"),n.innerHTML=f.join("")||"<p>No document links</p>",ge(n),t&&!t.newDocument&&(o.innerHTML+='<button type="button" class="knowledge-link-item" data-history-load>Load version history</button>')}}function Mr(e){return String(e||"").trim().toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").replace(/\s+/g,"-").replace(/-+/g,"-")}function Ot(){if(!(!c||!qe)){for(var e=Mr(qe),t=c.querySelectorAll(".knowledge-preview h1, .knowledge-preview h2, .knowledge-preview h3, .knowledge-preview h4, .knowledge-preview h5, .knowledge-preview h6, .knowledge-live-preview h1, .knowledge-live-preview h2, .knowledge-live-preview h3, .knowledge-live-preview h4, .knowledge-live-preview h5, .knowledge-live-preview h6"),r=0;r<t.length;r++)if(Mr(t[r].textContent)===e){t[r].scrollIntoView({block:"start"}),qe=null;return}}}function C(e){if(!(!c||c.classList.contains("hidden"))){var t=m(w()),r=e||{};Jr(),zr(),c.querySelector(".knowledge-search input").value=t.query,qt(),en(),Se(),tn(r.forceDocument===!0,r.preserveFromId),Ze()}}function _(e){var t=document.createElement("span");return t.textContent=String(e||""),t.innerHTML}function A(e){return _(e).replace(/"/g,"&quot;")}function an(){if(Pr(),!(!c||!$t(V.snap()))){$e=document.activeElement,Wt("mate-knowledge"),c.classList.remove("hidden"),rt(c,!0);var e=document.getElementById("knowledge-workbench-btn");e&&e.classList.add("active");var t=w(),r=m(t),a=Object.assign({},r.drafts);r.selected&&a[r.selected]&&(a[r.selected]=Object.assign({},a[r.selected],{mode:"read"})),x(t,Object.assign({},r,{drafts:a,fullscreen:!1,loading:!0,error:""})),it("knowledge_list"),m(t).query.trim()&&(K(t,{searching:!0}),jt(t,m(t).query,0,!1)),C(),setTimeout(function(){var n=c.querySelector(".knowledge-search input");n&&n.focus()},0)}}function ze(e){if(c){var t=document.activeElement,r=e!==!0&&(!t||t===document.body||c.contains(t)),a=w();if(Wr(),he&&Ye(),e!==!0){ke();var n=m(a).selected;n&&$r(a,n)}K(a,{fullscreen:!1}),Le(),c.classList.add("hidden"),rt(c,!1),Bt("mate-knowledge");var o=document.getElementById("knowledge-workbench-btn");o&&o.classList.remove("active"),r&&$e&&$e.isConnected&&$e.focus(),$e=null}}function Sn(){Pr(),cr({render:C,openDocument:Qe,documentIdentity:W}),Pt("mate-knowledge",ze);var e=Gt();e&&e.addEventListener("click",function(){c.classList.contains("hidden")?an():ze()}),V.subscribe(function(t,r){t.currentSlug!==r.currentSlug&&(ke(r.currentSlug),za(r.currentSlug||""),K(r.currentSlug||"",{fullscreen:!1}),ze(!0))}),window.addEventListener("resize",function(){c&&!c.classList.contains("hidden")&&rt(c,!0)})}function Tn(e){if(yr(e))return!0;var t=e.requestId&&ot[e.requestId];if(!t)return!1;delete ot[e.requestId];var r=t.key,a=m(r),n=!1;if(e.type==="knowledge_list"){var o=e.files||[],i=Object.assign({},a.drafts),l=[];return(e.drafts||[]).forEach(function(b){if(!(!b.newDocument||i[b.documentId])){var g={id:b.documentId,clientIdentity:b.documentId,name:b.name||"Recovered draft.md",itemType:"text",writable:!0,draftOnly:!0};o.push(g),i[b.documentId]={file:g,content:b.content,savedContent:"",revision:null,dirty:!0,writable:!0,newDocument:!0,mode:"read",name:String(b.name||"").replace(/\.md$/i,""),version:b.clientVersion||0,draftVersion:b.clientVersion||0,cursor:b.cursor||null,draftState:"saved",recovered:!0,error:""}}}),Object.keys(i).forEach(function(b){var g=i[b];if(!(g.newDocument||g.file.common)){var R=o.filter(function(q){return W(q)===b})[0];if(!R){g.dirty&&(i[b]=Object.assign({},g,{conflict:!0,error:"This document was removed outside Clay. Keep the draft and save it under a new path."}));return}var E=R.revision!==g.revision;i[b]=Object.assign({},g,{file:Object.assign({},g.file,R)}),E&&g.dirty?i[b]=Object.assign({},i[b],{conflict:!0,diskRevision:R.revision,error:"The disk version changed while this draft was open. Keep the draft or reload the disk version."}):E&&l.push(b)}}),x(r,Object.assign({},a,{files:o,drafts:i,loading:!1,error:""})),r===w()&&(C(),l.indexOf(a.selected)!==-1&&Qe(a.selected,!0),Object.keys(i).forEach(function(b){i[b].dirty&&i[b].draftState==="retry"&&Ae(r,b)})),!0}if(e.type==="knowledge_search_results")return a.query===t.query&&(!t.append||t.offset===a.searchFiles.length)&&x(r,Object.assign({},a,{searchFiles:t.append?a.searchFiles.concat(e.files||[]):e.files||[],searchTotal:e.total||0,searching:!1,error:e.complete===!1?"Some workspace documents could not be indexed; search results are incomplete.":""})),r===w()&&C(),!0;if(e.type==="knowledge_content"){var v=a.drafts[t.documentId],f=Sr(a,t,e);n=t.replace===!0&&f.drafts[t.documentId]!==v,x(r,f)}else if(e.type==="knowledge_saved"){var d=_r(a,t,e);x(r,d);var s=d.tabs.filter(function(b){return d.drafts[b]&&d.drafts[b].file.id===e.id})[0];s&&d.drafts[s].dirty&&Ae(r,s)}else if(e.type==="knowledge_renamed")x(r,Lr(a,t,e));else if(e.type==="knowledge_deleted")x(r,Vr(a,t,e));else if(e.type==="knowledge_draft_saved"){var y=m(r).drafts[t.documentId];y&&(y.version||0)===t.submittedVersion?ne(r,t.documentId,{draftState:"saved",draftSavedAt:e.savedAt,draftVersion:e.clientVersion}):y&&(ne(r,t.documentId,{draftState:"pending",draftVersion:e.clientVersion}),Ae(r,t.documentId))}else if(e.type==="knowledge_draft_deleted")ne(r,t.documentId,{draftState:""});else if(e.type==="knowledge_draft_discarded")x(r,Hr(a,t,e)),n=!0;else if(e.type==="knowledge_history")x(r,Ir(a,t,e.versions||[]));else if(e.type==="knowledge_history_version")x(r,xr(a,t,{version:e.version,content:e.content})),n=!0;else if(e.type==="knowledge_deleted_list")x(r,Object.assign({},a,{deletedFiles:e.files||[]}));else{if(e.type==="knowledge_restored")return $a(r,e),!0;if(e.type==="knowledge_synced"){var i=Object.assign({},a.drafts);Object.keys(i).forEach(function(g){i[g].syncWarning&&(i[g]=Object.assign({},i[g],{syncWarning:""}))}),x(r,Object.assign({},a,{drafts:i,syncRetry:null,error:""}))}else if(e.type==="knowledge_error")t.type==="knowledge_sync"?x(r,Object.assign({},a,{error:e.error||"Knowledge index synchronization is still pending."})):x(r,xt(a,t,e));else return!1}return r===w()&&(["knowledge_saved","knowledge_renamed","knowledge_deleted"].indexOf(e.type)!==-1&&it("knowledge_list"),C({forceDocument:n,preserveFromId:["knowledge_saved","knowledge_renamed"].indexOf(e.type)!==-1?t.documentId:null}),qe&&setTimeout(Ot,0)),!0}export{ze as closeKnowledgeWorkbench,Tn as handleKnowledgeWorkbenchMessage,Sn as initMateKnowledgeWorkbench,an as openKnowledgeWorkbench};
@@ -0,0 +1 @@
1
+ import{K as a,L as b,M as c,N as d,O as e,P as f}from"./chunk-7H36SUZA.js";import"./chunk-DGOFGEUK.js";export{e as handleSharedBrowserMessage,d as hideSharedBrowser,f as initSharedBrowser,c as openSharedBrowser,b as openSharedBrowserAt,a as sendBrowserInput};
@@ -0,0 +1,2 @@
1
+ import{b as i,c as h}from"./chunk-DGOFGEUK.js";function S(e,t,n){var r=document.createElement("div");if(r.className="toast",t&&r.classList.add("toast-"+t),r.textContent=e,n){var o=document.createElement("div");o.style.cssText="font-size:11px;opacity:0.7;margin-top:4px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap",o.textContent=n.split(`
2
+ `)[0],r.appendChild(o)}document.body.appendChild(r),requestAnimationFrame(function(){r.classList.add("visible")});var s=t==="warn"?5e3:1500;setTimeout(function(){r.classList.remove("visible"),setTimeout(function(){r.remove()},300)},s)}var je=/iPad|iPhone|iPod/.test(navigator.userAgent)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1;function it(e){var t;if(je){var n=document.createElement("textarea");n.value=e,n.style.cssText="position:fixed;left:-9999px;opacity:0",document.body.appendChild(n),n.focus(),n.setSelectionRange(0,n.value.length),document.execCommand("copy"),document.body.removeChild(n),t=Promise.resolve()}else if(navigator.clipboard&&navigator.clipboard.writeText)t=navigator.clipboard.writeText(e);else{var r=document.createElement("textarea");r.value=e,r.style.cssText="position:fixed;left:-9999px;opacity:0",document.body.appendChild(r),r.focus(),r.setSelectionRange(0,r.value.length),document.execCommand("copy"),document.body.removeChild(r),t=Promise.resolve()}return t.then(function(){S("Copied to clipboard")})}function ge(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(e){var t=i.snap();return e&&t.connected&&e.socket===h()&&e.ownerId===(t.myUserId||null)&&e.slug===t.currentSlug&&e.sessionId===t.activeSessionId&&e.origin===t.sessionOriginId&&e.runtime===t.controlRuntimeId}function pe(e){var t=i.get("studioDocumentSource");t&&clearTimeout(t.timer),t&&j(t)&&t.socket.send(JSON.stringify({type:"fs_unwatch"}));var n=i.snap(),r={token:crypto.randomUUID(),socket:h(),ownerId:n.myUserId||null,slug:n.currentSlug,sessionId:n.activeSessionId,origin:n.sessionOriginId,runtime:n.controlRuntimeId,path:e.path,expires:Date.now()+3e5};return r.timer=setTimeout(function(){i.get("studioDocumentSource")===r&&(j(r)&&r.socket.send(JSON.stringify({type:"fs_unwatch"})),i.set({studioDocumentSource:null}))},3e5),i.set({studioDocumentSource:r}),j(r)&&r.socket.send(JSON.stringify({type:"fs_watch",path:r.path})),Object.assign({},e,{studioDocument:{token:r.token,sourceSlug:r.slug,sourceSessionId:r.sessionId,sourceOrigin:r.origin,runtimeId:r.runtime,expires:r.expires,path:r.path}})}function ct(e,t,n){var r=t.message&&t.message.studioDocument;if(!(!n||!r||r.path!==t.message.path||r.sourceSlug!==t.studioSource.slug||r.sourceSessionId!==t.studioSource.sessionId||r.sourceOrigin!==t.studioSource.origin||r.runtimeId!==t.studioSource.runtime)){fe();var o=h();o&&o.readyState===1&&o.send(JSON.stringify({type:"fs_unwatch"})),i.set({fileReadRequest:null,pendingFileNavigation:null});var s={descriptor:r,frame:n,document:n.contentDocument,source:e.source,owner:i.get("myUserId"),context:i.get("currentSlug")};s.timer=setTimeout(function(){i.get("studioDocumentView")===s&&i.set({studioDocumentView:{descriptor:s.descriptor,invalidated:!0}})},Math.max(0,r.expires-Date.now())),i.set({studioDocumentView:s})}}function We(e){var t=i.get("studioDocumentView");if(!t||t.invalidated||!t.frame||Date.now()>t.descriptor.expires||t.descriptor.path!==e)return null;var n=t.frame.clayStudioSource,r=n&&n.document===t.frame.contentDocument&&n.window===t.source&&n.identity();return r&&r.connected&&r.ownerId===t.owner&&r.slug===t.descriptor.sourceSlug&&r.sessionId===t.descriptor.sourceSessionId&&r.origin===t.descriptor.sourceOrigin&&r.runtime===t.descriptor.runtimeId&&t.document===t.frame.contentDocument&&t.source===t.frame.contentWindow&&t.owner===i.get("myUserId")&&t.context===i.get("currentSlug")?t:null}function ut(e){var t=i.get("studioDocumentView");if(!t||t.descriptor.path!==e)return!1;var n=We(e);return n?(n.source.postMessage({type:"clay-studio-document-refresh",token:n.descriptor.token},location.origin),!0):(S("The source connection changed. Reopen this document from its conversation."),!0)}function fe(){var e=i.get("studioDocumentView");e&&clearTimeout(e.timer),e&&e.frame&&e.source===e.frame.contentWindow&&e.document===e.frame.contentDocument&&e.source.postMessage({type:"clay-studio-document-close",token:e.descriptor.token},location.origin),i.set({studioDocumentView:null})}function lt(e){var t=i.get("studioDocumentSource");return!j(t)||Date.now()>t.expires||e.path!==t.path||e.type!=="fs_file_changed"&&!(e.type==="fs_read_result"&&e.requestId===t.requestId)?!1:(window.parent.postMessage({type:"clay-studio-document-update",token:t.token,message:e},location.origin),!0)}function gt(){window.addEventListener("message",function(t){var n=t.data,r=i.get("studioDocumentSource");t.origin!==location.origin||t.source!==window.parent||!n||!r||n.token!==r.token||!j(r)||(n.type==="clay-studio-document-close"&&(clearTimeout(r.timer),r.socket.send(JSON.stringify({type:"fs_unwatch"})),i.set({studioDocumentSource:null})),n.type==="clay-studio-document-refresh"&&Date.now()<=r.expires&&(r.requestId="studio-document-"+crypto.randomUUID(),r.socket.send(JSON.stringify({type:"fs_read",path:r.path,requestId:r.requestId,projectSlug:r.slug,sessionId:String(r.sessionId),accountId:r.ownerId}))))});function e(){var t=i.get("studioDocumentSource");t&&clearTimeout(t.timer),j(t)&&t.socket.send(JSON.stringify({type:"fs_unwatch"})),i.set({studioDocumentSource:null});var n=i.get("studioDocumentView");fe(),n&&i.set({studioDocumentView:{descriptor:n.descriptor,invalidated:!0}})}i.subscribe(function(t,n){(!t.connected&&n.connected||t.currentSlug!==n.currentSlug||t.activeSessionId!==n.activeSessionId||t.myUserId!==n.myUserId)&&e()}),document.addEventListener("contextual-ask-stopped",e,!0),document.addEventListener("click",function(t){t.target.closest("#generation-stop, #autonomous-run-stop, #send-btn.stop")&&e()},!0)}function Ne(){var e=i.snap();return{projectSlug:e.currentSlug,ownerId:e.myUserId,sessionId:e.activeSessionId,origin:e.sessionOriginId,socket:h(),binding:e.paneCommittedBinding||null,epoch:e.sessionActionEpoch||0}}function _e(e,t){var n=i.snap();return!!e&&e.socket===h()&&n.connected&&e.projectSlug===n.currentSlug&&e.ownerId===n.myUserId&&e.sessionId===n.activeSessionId&&e.origin===n.sessionOriginId&&e.epoch===(n.sessionActionEpoch||0)&&(t||!n.deferredSessionSwitch)&&!n.panePendingBinding&&!n.paneSuspended&&(e.binding?n.paneReady&&G(e.binding,n.paneCommittedBinding):!n.paneCommittedBinding)}function mt(e,t){var n=Ne();return function(){if(_e(n,t)){var r=i.get("paneCallbackBinding");i.set({paneCallbackBinding:n.binding});try{return e.apply(this,arguments)}finally{i.set({paneCallbackBinding:r})}}}}function G(e,t){return!!e&&!!t&&["requestId","generation","projectSlug","viewerId","ownerId","sessionId","sessionOriginId","role","workerGeneration","groupStamp","parentSessionOriginId"].every(function(n){return e[n]===t[n]})}function Fe(e,t){return!!e&&!!t&&["projectSlug","viewerId","ownerId","sessionId","sessionOriginId","role","workerGeneration","groupStamp","parentSessionOriginId"].every(function(n){return e[n]===t[n]})}function ze(e,t,n){var r=(t||[]).find(function(a){return a.id===n});if(!r||r.isMate||!r.sessionOriginId||(r.runtimeMode||r.mode||"gui")!=="gui"||r.tuiSuspended)return null;var o=(e.splitGroups||[]).find(function(a){return a.members.indexOf(n)>=0}),s=r.sessionRole==="worker"&&t.find(function(a){return a.id===r.parentSessionId});return r.sessionRole==="worker"&&(!s||!r.parentAvailable||!Number.isSafeInteger(r.workerGeneration)||!s.sessionOriginId||s.ownerId!==r.ownerId||!o||!o.pair||o.pair.driverId!==s.id)?null:{projectSlug:e.currentSlug,viewerId:e.myUserId||null,ownerId:r.ownerId||null,sessionId:r.id,sessionOriginId:r.sessionOriginId,role:r.sessionRole==="worker"?"worker":"driver",workerGeneration:r.workerGeneration||null,parentSessionOriginId:s?s.sessionOriginId:null,groupStamp:o?JSON.stringify({id:o.id,members:o.members,pair:o.pair||null}):null}}function N(e,t){if(!e||!e.clayPane||e.closest&&e.closest(".split-pane-cached"))return!1;var n=e.clayPane,r=n.identity(),o=i.snap(),s=o.splitPanes;if(!o.connected)return!1;var a=r&&ze(o,o.paneBindingSessions||[],r.sessionId),d=!!(r&&s&&s.panes.some(function(l){return l.slug===r.projectSlug&&l.sessionId===r.sessionId})),c=(o.projectSplitViews||[]).find(function(l){return l.id===o.projectSplitViewActiveId}),u=!!(r&&r.binding&&!s&&c&&c.sessions.some(function(l){return l.id===r.sessionId&&l.sessionOriginId===r.binding.sessionOriginId})),g=!!(r&&r.binding&&!s&&!c&&o.projectSplitViewSingletonOrigin===r.binding.sessionOriginId&&r.sessionId===Number(e.dataset.sessionId)&&r.binding.sessionOriginId===e.dataset.sessionOriginId);return n.source===e.contentWindow&&n.document===e.contentDocument&&r&&r.ready&&Fe(a,r.binding)&&r.ownerId===(o.myUserId||null)&&r.projectSlug===o.currentSlug&&(d||u||g)&&(!t||G(r.binding,t.paneBinding))}function K(){return i.get("paneReady")&&!i.get("paneSuspended")?i.get("paneCommittedBinding"):null}function wt(e){return!e||!e.paneBinding?!0:e.isConnected!==!1&&i.get("paneReady")&&!i.get("paneSuspended")&&G(e.paneBinding,i.get("paneCommittedBinding"))}function vt(e){if(i.get("paneSuspended"))return!1;var t=i.get("panePendingBinding")||i.get("paneCommittedBinding");return t?G(t,e):!e}function Ve(e){var t=(i.get("cachedMatesList")||[]).find(function(o){return o&&o.id===e});if(!t||t.archived||t.contentAccess===!1||t.accessible===!1)return null;var n=i.get("myUserId");if(n&&t.createdBy&&t.createdBy!==n)return null;var r=(i.get("projectsHubList")||[]).find(function(o){return o.slug==="mate-"+e});return r&&r.contentAccess===!1?null:t}function Z(e){return JSON.stringify([e.id,e.createdBy||null,e.createdAt||null,e.builtinKey||null])}function St(e,t){var n=e||(i.get("contextualClay")||{}).mateId,r=i.get("contextualClay")||{};if(!t&&r.mateId===n&&r.startingAsk)return null;var o=t||r.mateId===n&&r.sessionId||(i.get("contextualSessionSelection")||{})[n];return Array.from(document.querySelectorAll("#contextual-clay iframe")).find(function(s){return s.dataset.mateId===n&&(!o||String(o)===s.dataset.sessionId)})||null}function It(e){var t=Ve(e||(i.get("contextualClay")||{}).mateId);return t&&t.builtinKey!=="clay"?document.querySelector('.icon-strip-project-mate[data-mate-id="'+CSS.escape(t.id)+'"]'):document.querySelector(".icon-strip-brand")}function xt(e){if(!e||!e.isConnected||e.closest('[hidden], [inert], [aria-hidden="true"]'))return!1;var t=e.getBoundingClientRect(),n=getComputedStyle(e);if(n.visibility!=="visible"||Number(n.opacity)===0||!t.width||!t.height||t.left<0||t.top<0||t.right>innerWidth||t.bottom>innerHeight)return!1;for(var r=e.parentElement;r;r=r.parentElement)if(Number(getComputedStyle(r).opacity)===0)return!1;return[t.left+2,t.left+t.width/2,t.right-2].every(function(o){var s=document.elementFromPoint(o,t.top+t.height/2);return s&&e.contains(s)})}function X(e){var t=/^[a-f0-9-]{36}$/;return e&&e.version===1&&t.test(e.id)&&t.test(e.token)&&/^activity:[a-f0-9-]{36}$/.test(e.activityId)&&Number.isSafeInteger(e.deadline)&&e.target&&["document","sketch","browser"].indexOf(e.target.surface)>=0&&typeof e.target.key=="string"&&e.target.key.length<=400&&/^[a-f0-9]{64}$/.test(e.target.revision)}function ee(e,t){return X(e)&&e.mateId===t.activeProjectMateId&&e.sourceSlug==="mate-"+e.mateId&&e.ownerId===(t.myUserId||null)&&e.runtimeId===t.controlRuntimeId&&e.sourceSlug===t.currentSlug&&e.sourceSessionId===t.activeSessionId&&e.sourceSessionOriginId===t.sessionOriginId&&(t.cachedMatesList||[]).some(function(n){return n.id===e.mateId&&n.builtinKey==="clay"&&!n.archived&&!n.lifecycleDeletion&&Z(n)===e.sourceMateStamp})}function te(e){var t=i.get("clayControlActivity"),n=i.get("clayControlForwarded"),r=i.get("paneMode")?n:t&&t.message;return r&&r.id===e.activityId&&r.mateId===e.mateId&&r.sourceSlug===e.sourceSlug&&r.sourceSessionId===e.sourceSessionId&&r.sourceSessionOriginId===e.sourceSessionOriginId&&r.sourceMateStamp===e.sourceMateStamp&&r.sourceQueryGeneration===e.sourceQueryGeneration&&r.phase!=="clear"&&!(i.get("clayControlReceipts")||[]).some(function(o){return o.id===e.activityId&&o.stopped})}function Je(){return{window,document,identity:function(){var e=i.snap();return{ownerId:e.myUserId||null,slug:e.currentSlug,sessionId:e.activeSessionId,origin:e.sessionOriginId,connected:e.connected,runtime:e.controlRuntimeId,mateId:e.activeProjectMateId}}}}function Pt(e,t){if(!i.get("paneMode")||window.parent===window)return!1;var n=window.frameElement;if(!n)return!1;n.clayStudioSource=Je();var r=e.controlPresentation;if(r&&(!ee(r,i.snap())||!te(r)))return!0;t==="clay-pane-present-markdown"&&(e=pe(e));var o=Object.assign({},i.get("clayStudioRelays")||{});return Object.keys(o).forEach(function(s){Date.now()>o[s].evidence.deadline&&delete o[s]}),Object.keys(o).length>=100||(r&&(o[r.id]={evidence:r,socket:h()}),i.set({clayStudioRelays:o}),window.parent.postMessage({type:t,message:e,paneBinding:K(),studioSource:n.clayStudioSource.identity()},location.origin)),!0}function he(e,t){if(e.origin!==location.origin||!t||!t.studioSource)return null;var n=Array.from(document.querySelectorAll("#contextual-clay iframe, .split-pane-frame")).find(function(g){return g.contentWindow===e.source}),r=n&&n.clayStudioSource,o=r&&r.window===n.contentWindow&&r.document===n.contentDocument&&r.identity(),s=t.studioSource;if(!o||!o.connected||o.ownerId!==(i.get("myUserId")||null)||o.ownerId!==s.ownerId||o.slug!==s.slug||o.sessionId!==s.sessionId||o.origin!==s.origin||o.runtime!==s.runtime||new URL(n.src,location.href).pathname!=="/p/"+encodeURIComponent(o.slug)+"/")return null;if(n.classList.contains("split-pane-frame")){if(n.clayPane&&!N(n,t))return null;var a=i.get("splitPanes");if(!a||!a.panes.some(function(g){return g.slug===o.slug&&String(g.sessionId)===String(o.sessionId)}))return null}else{var d=n.conversation,c=d&&d.document===n.contentDocument&&d.source===n.contentWindow&&d.identity();if(!c||!c.connected||!c.available||c.ownerId!==o.ownerId||c.sessionId!==o.sessionId||c.sessionOriginId!==o.origin)return null}var u=t.message&&t.message.controlPresentation;return u&&(!X(u)||u.sourceSlug!=="mate-"+u.mateId||u.mateId!==o.mateId||!(i.get("cachedMatesList")||[]).some(function(g){return g.id===u.mateId&&g.builtinKey==="clay"&&!g.archived&&!g.lifecycleDeletion&&Z(g)===u.sourceMateStamp})||u.sourceSlug!==o.slug||u.sourceSessionId!==o.sessionId||u.sourceSessionOriginId!==o.origin||u.ownerId!==o.ownerId||u.runtimeId!==o.runtime)?null:n}function At(e,t){var n=he(e,t),r=t.message&&t.message.controlPresentation;if(!n||!r||!te(r)||Date.now()>r.deadline)return!1;var o=Object.assign({},i.get("clayStudioForwarded")||{});return Object.keys(o).forEach(function(s){Date.now()>o[s].evidence.deadline&&delete o[s]}),Object.keys(o).length>=100?!1:(o[r.id]={frame:n,document:n.contentDocument,window:e.source,data:t,evidence:r},i.set({clayStudioForwarded:o}),!0)}function Ge(e){var t=h(),n=i.get("myUserId"),r=i.get("currentSlug"),o=(i.get("clayStudioForwarded")||{})[e.id];return{valid:function(){return Date.now()>e.deadline||!te(e)||!i.get("connected")||n!==i.get("myUserId")||r!==i.get("currentSlug")||h()!==t?!1:o?o.document===o.frame.contentDocument&&o.window===o.frame.contentWindow&&!!he({origin:location.origin,source:o.window},o.data):ee(e,i.snap())},send:function(s){var a={type:"clay_studio_rendered",id:e.id,token:e.token,sessionOriginId:e.sourceSessionOriginId,revision:e.target.revision,visible:s};o?o.document===o.frame.contentDocument&&o.window.postMessage({type:"clay-studio-receipt",message:a},location.origin):h()===t&&t&&t.readyState===1&&t.send(JSON.stringify(a))}}}async function Ke(e){var t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(JSON.stringify(e)));return Array.from(new Uint8Array(t)).map(function(n){return n.toString(16).padStart(2,"0")}).join("")}function me(e,t,n,r){if(!t)return;delete t.dataset.controlSurface;var o=e.controlPresentation;if(!X(o))return;var s=Ge(o),a=!1,d,c,u=0,g={painted:!1,evidence:o,target:o.target,element:t,valid:s.valid};t.dataset.controlSurface=o.id;var l=Object.assign({},i.get("clayStudioSurfaces")||{});Object.keys(l).forEach(function(f){(!l[f].element.isConnected||l[f].element===t||Date.now()>l[f].evidence.deadline+6e3)&&delete l[f]}),l[o.id]=g,i.set({clayStudioSurfaces:l});function p(f){a||(a=!0,clearTimeout(c),cancelAnimationFrame(d),document.removeEventListener("visibilitychange",m),s.send(f))}g.cancel=function(){p(!1)};function m(){document.hidden&&p(!1)}document.addEventListener("visibilitychange",m),c=setTimeout(function(){p(!1)},Math.max(0,o.deadline-Date.now()));var D=o.target.surface==="document"?{content:e.content,exists:e.exists,size:e.size}:o.target.surface==="sketch"?e.source:e.data;Promise.all([Promise.resolve(n),Ke(D)]).then(function(f){if(f[1]!==o.target.revision){p(!1);return}function k(){if(!a){if(!s.valid()||document.hidden||t.dataset.controlSurface!==o.id){p(!1);return}u=Ye(r||t)?u+1:0,u>=2?(g.painted=!0,p(!0)):d=requestAnimationFrame(k)}}d=requestAnimationFrame(k)}).catch(function(){p(!1)})}function Ye(e){if(!e||!e.isConnected||e.closest('[hidden], [inert], [aria-hidden="true"]'))return!1;var t=e.getBoundingClientRect(),n=getComputedStyle(e);if(n.visibility!=="visible"||Number(n.opacity)===0)return!1;for(var r=e.parentElement;r;r=r.parentElement){var o=getComputedStyle(r);if(o.visibility!=="visible"||Number(o.opacity)===0)return!1}var s=Math.max(0,t.left),a=Math.min(innerWidth,t.right),d=Math.max(0,t.top),c=Math.min(innerHeight,t.bottom);return a<=s||c<=d?!1:[.2,.5,.8].some(function(u){return[.2,.5,.8].some(function(g){var l=document.elementFromPoint(s+(a-s)*u,d+(c-d)*g);return l&&e.contains(l)})})}function Dt(e){var t=i.get("clayStudioSurfaces")||{},n=Object.values(t).find(function(r){return r.painted&&r.target.surface===e.surface&&r.target.key===e.key&&r.target.revision===e.revision&&r.target.runtimeId===e.runtimeId&&r.target.sourceSessionOriginId===e.sourceSessionOriginId&&r.target.sourceSessionId===e.sourceSessionId&&r.target.sourceSlug===e.sourceSlug&&r.element.dataset.controlSurface===r.evidence.id&&r.valid()});return n&&n.element}function Rt(){window.addEventListener("message",function(t){if(!(t.origin!==location.origin||t.source!==window.parent||!t.data||t.data.type!=="clay-studio-receipt")){var n=t.data.message,r=Object.assign({},i.get("clayStudioRelays")||{}),o=n&&r[n.id];!o||o.evidence.token!==n.token||!ee(o.evidence,i.snap())||h()!==o.socket||o.socket.readyState!==1||Date.now()>o.evidence.deadline||(delete r[n.id],i.set({clayStudioRelays:r}),o.socket.send(JSON.stringify(n)))}});function e(){Object.values(i.get("clayStudioSurfaces")||{}).forEach(function(t){delete t.element.dataset.controlSurface,t.cancel&&t.cancel()}),i.set({clayStudioRelays:{},clayStudioForwarded:{},clayStudioSurfaces:{}})}document.addEventListener("contextual-ask-stopped",e,!0),document.addEventListener("click",function(t){t.target.closest("#generation-stop, #autonomous-run-stop, #send-btn.stop")&&e()},!0),i.subscribe(function(t,n){(!t.connected&&n.connected||t.currentSlug!==n.currentSlug||t.activeSessionId!==n.activeSessionId||t.myUserId!==n.myUserId)&&e()})}var re=null;function O(){re||(re=requestAnimationFrame(function(){re=null,lucide.createIcons()}))}function w(e,t){return t?'<span class="'+t+'"><i data-lucide="'+e+'"></i></span>':'<i data-lucide="'+e+'"></i>'}function we(e){return!i.get("paneMode")||window.parent===window?!1:(window.parent.postMessage({type:"clay-pane-open-browser",paneBinding:K(),url:e,projectSlug:i.get("currentSlug"),sessionId:String(i.get("activeSessionId"))},window.location.origin),!0)}function _t(e,t){if(!e||e.origin!==window.location.origin||!t||!e.data||e.data.type!=="clay-pane-open-browser")return!1;var n=e.data,r=i.snap(),o=Array.from(t.querySelectorAll(".split-pane-frame")).find(function(c){return c.contentWindow===e.source}),s=o&&r.splitPanes&&r.splitPanes.panes&&r.splitPanes.panes.find(function(c){return String(c.slug)===o.dataset.projectSlug&&String(c.sessionId)===o.dataset.sessionId});if(!s||n.projectSlug!==r.currentSlug||n.projectSlug!==o.dataset.projectSlug||String(n.sessionId)!==o.dataset.sessionId)return!0;var a=new URL("/p/"+encodeURIComponent(s.slug)+"/?pane=1&session="+encodeURIComponent(s.sessionId),window.location.href).href;if(o.clayPane?!N(o,n):o.src!==a)return!0;var d=o.clayPane&&o.clayPane.identity().binding;return import("./chunk-6SM2WQJX.js").then(function(c){d&&(!N(o,n)||o.clayPane.identity().binding!==d)||c.openSharedBrowserAt(n.url)}).catch(function(c){S(c.message||"Could not open the browser.","warn")}),!0}function _(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Y(e){if(typeof e!="string"||!e.startsWith("browser:")||e.length>8200)return null;var t=e.slice(8);if(!/^https?:\/\//i.test(t)||/[\u0000-\u0020]/.test(t))return null;try{var n=new URL(t);return n.username||n.password||!["http:","https:"].includes(n.protocol)?null:n.href}catch{return null}}function $e(e,t,n){var r=Y(e);if(!r)return null;var o=String(n||"").replace(/<[^>]*>/g,"").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim();return(!o||o===e||o===r)&&(o=new URL(r).host),'<button type="button" class="clay-browser-link clayos-record-link" data-browser-url="'+_(r)+'" data-browser-project="'+_(i.get("currentSlug")||"")+'" title="'+_("Open in Clay Browser \xB7 "+r)+'" aria-label="'+_("Open in Clay Browser: "+o)+'">'+w("globe")+"<span>Browser</span><small>"+_(o)+"</small></button>"}function Kt(e){!e||typeof document>"u"||(e.querySelectorAll("a[href]").forEach(function(t){if(!t.closest("pre, code, button")){var n=$e(t.getAttribute("href"),"",t.textContent);if(n){var r=document.createElement("template");r.innerHTML=n,t.replaceWith(r.content)}}}),ne(),O())}function ne(){i.get("browserLinksBound")||(i.set({browserLinksBound:!0}),document.addEventListener("click",function(e){var t=e.target.closest&&e.target.closest(".clay-browser-link");if(t){e.preventDefault(),e.stopPropagation();var n=Y("browser:"+t.dataset.browserUrl);if(!n){S("This browser link is invalid.","warn");return}if(t.dataset.browserProject&&t.dataset.browserProject!==i.get("currentSlug")){S("Open this link from its original project.","warn");return}we(n)||import("./chunk-6SM2WQJX.js").then(function(r){r.openSharedBrowserAt(n)}).catch(function(r){S(r.message||"Could not open the browser.","warn")})}}))}function b(e){return ge(String(e)).replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function B(){return i.get("sharedBrowserSettings")||{}}function x(e){i.set({sharedBrowserSettings:Object.assign({},B(),e)})}function E(){return document.getElementById("shared-browser-settings")}function T(e,t,n,r){return'<button type="button" data-settings-action="'+t+'" data-target="'+b(n||"")+'" data-label="'+b(r||n||"")+'">'+b(e)+"</button>"}function ie(e,t){var n=h();if(!n||n.readyState!==1){x({error:"Reconnect to manage browser data.",pending:!1}),L();return}var r=crypto.randomUUID();x({pending:!0,requestId:r,error:"",notice:""}),n.send(JSON.stringify({type:"shared_browser_settings",sessionId:i.get("activeSessionId"),requestId:r,operation:e,target:t})),L(),setTimeout(function(){B().requestId===r&&B().pending&&(x({pending:!1,error:"The request timed out. Refresh to check the saved state."}),L())},15e3)}function F(e){var t=!!B().open;x({open:!1,review:null}),L();var n=document.querySelector('[data-action="settings"]');n&&t&&e!==!1&&n.focus()}function ve(){return'<section id="shared-browser-settings" class="shared-browser-settings" aria-label="Browser settings" hidden></section>'}function be(e){e.querySelector('[data-action="settings"]').onclick=function(){x({open:!0,page:"sites",data:null,review:null,filter:""}),ie("list"),E().querySelector('[data-settings-action="back"]').focus()},E().addEventListener("keydown",function(t){t.key==="Escape"&&(t.preventDefault(),t.stopPropagation(),F())}),E().addEventListener("input",function(t){t.target.matches("[data-settings-filter]")&&(x({filter:t.target.value}),ye(),E().dataset.key=JSON.stringify([B(),i.get("connected")]))}),E().addEventListener("click",function(t){var n=t.target.closest("[data-settings-action]");if(!(!n||n.disabled)){var r=n.dataset.settingsAction;if(r==="back"){F();return}if(r==="sites"||r==="history"){x({page:r,filter:"",review:null,notice:"",error:""}),L();return}if(r==="refresh"){ie("list");return}if(r==="cancel"){x({review:null}),L(),E().querySelector('[data-settings-action="refresh"]').focus();return}if(r==="confirm"){var o=B().review;o&&ie(o.action,o.target);return}x({notice:"",error:"",review:{action:r,target:n.dataset.target,label:n.dataset.label||n.dataset.target}}),L(),E().querySelector('[data-settings-action="cancel"]').focus()}})}function ye(){var e=E(),t=B();if(!(!e||!t.open)){var n=e.querySelector(".browser-settings-rows");if(n){var r=(t.filter||"").toLowerCase(),o=t.data||{sites:[],history:[]};t.page==="history"?n.innerHTML=o.history.filter(function(s){return s.url.toLowerCase().includes(r)}).map(function(s){return'<div class="browser-settings-row"><div><span class="browser-settings-url">'+b(s.url)+"</span><small>"+b(new Date(s.at).toLocaleString())+"</small></div>"+T("Remove","delete_history",s.id,s.url)+"</div>"}).join(""):n.innerHTML=o.sites.filter(function(s){return s.host.toLowerCase().includes(r)}).map(function(s){return"<details><summary>"+b(s.host)+"<small>"+s.cookies.length+(s.cookies.length===1?" cookie \xB7 ":" cookies \xB7 ")+s.origins.length+(s.origins.length===1?" storage origin":" storage origins")+'</small></summary><div class="browser-settings-row"><span>Cookies and site storage</span>'+T("Remove site data","delete_site",s.host)+"</div>"+s.origins.map(function(a){return'<p class="browser-settings-origin">'+b(a.origin)+"<small>"+a.localStorage+" localStorage entries \xB7 "+a.databases+" IndexedDB databases</small></p>"}).join("")+s.cookies.map(function(a){var d=a.domain+a.path+" \xB7 "+(a.expires===-1?"Session cookie":"Expires "+new Date(a.expires*1e3).toLocaleDateString())+(a.httpOnly?" \xB7 HttpOnly":"")+(a.secure?" \xB7 Secure":"")+(a.partitioned?" \xB7 Partitioned":"");return'<div class="browser-settings-row"><div><span>'+b(a.name)+"</span><small>"+b(d)+"</small></div>"+T("Remove cookie","delete_cookie",a.id,a.name+" \xB7 "+a.domain+a.path)+"</div>"}).join("")+"</details>"}).join(""),n.innerHTML||(n.innerHTML='<p class="browser-settings-muted">'+(t.pending&&!t.data?"Loading saved data\u2026":r?"No matching entries.":t.page==="history"?"No saved browsing history.":"No saved cookies or site data.")+"</p>"),n.querySelectorAll("button").forEach(function(s){s.disabled=!!t.pending||!i.get("connected")})}}}function L(){var e=E();if(e){var t=B(),n=e.closest(".shared-browser-panel"),r=i.get("sharedBrowser"),o=n.querySelector('[data-action="settings"]');if(o.hidden=!(r&&r.personalCookiesAvailable),o.disabled=!i.get("connected"),o.setAttribute("aria-expanded",String(!!t.open)),e.hidden=!t.open,n.classList.toggle("browser-settings-open",!!t.open),!!t.open){var s=JSON.stringify([t,i.get("connected")]);if(e.dataset.key!==s){e.dataset.key=s;var a=t.page||"sites";e.innerHTML='<div class="browser-settings-heading">'+T("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">'+T("Cookies & site data","sites")+T("History","history")+'</nav><p class="browser-settings-muted">'+(a==="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="'+(a==="sites"?"Find a site":"Find a page")+'" value="'+b(t.filter||"")+'">'+T("Refresh","refresh")+T(a==="sites"?"Clear all site data":"Clear history",a==="sites"?"clear_data":"clear_history")+'</div><p class="browser-settings-feedback" role="status">'+b(t.error||(i.get("connected")?t.pending?"Updating\u2026":t.notice||"":"Disconnected. Reconnect and refresh to see current saved data."))+"</p>"+(t.review?'<div class="browser-settings-review" role="group" aria-label="Confirm removal"><strong>'+(t.review.action.includes("history")?"Remove browsing history?":"Remove saved site data?")+"</strong><p>"+(t.review.action.includes("history")?"This removes "+(t.review.action==="clear_history"?"all saved visits":"this saved visit")+" from your personal history.":t.review.action==="delete_cookie"?"This removes "+b(t.review.label)+" across your personal Mate browsers and may sign you out.":"This removes "+(t.review.action==="clear_data"?"all cookies and site storage":"cookies and storage for "+b(t.review.target))+" across your personal Mate browsers and may sign you out.")+"</p>"+T("Cancel","cancel")+T("Remove","confirm")+"</div>":"")+'<div class="browser-settings-rows"></div>',e.querySelector('[data-settings-action="'+a+'"]').setAttribute("aria-current","page"),e.querySelectorAll("button").forEach(function(d){d.disabled=d.dataset.settingsAction!=="back"&&(!!t.pending||!i.get("connected"))}),ye()}}}}function Se(e){if(!e.requestId||e.requestId!==B().requestId)return!1;if(e.type==="shared_browser_settings"){var t=!!B().review;x({data:e.settings,pending:!1,review:null,error:"",notice:t?"Removed from your saved browser data.":""})}else if(e.type==="shared_browser_error")x({pending:!1,error:e.error});else return!1;return L(),B().open&&t&&E().querySelector('[data-settings-action="refresh"]').focus(),!0}function Ie(e,t,n){var r=e.querySelector(".shared-browser-tabs"),o=i.get("sharedBrowsers")||[],s=i.get("sharedBrowser"),a=JSON.stringify([o.map(function(u){return[u.id,u.url,u.control,u.phase,u.incognito,u.personalCookiesAvailable]}),s&&s.id,i.get("connected")]);if(r.dataset.key!==a){r.dataset.key=a,r.replaceChildren(),o.forEach(function(u,g){var l=document.createElement("div");l.className="shared-browser-tab";var p=document.createElement("button");p.type="button",p.setAttribute("role","tab"),p.setAttribute("aria-selected",String(!!s&&s.id===u.id));var m="Tab "+(g+1);try{u.url&&(m=new URL(u.url).hostname)}catch{}var D=document.createElement("span");D.textContent=m+(u.personalCookiesAvailable&&u.incognito?" \xB7 Incognito":"");var f=document.createElement("small");f.textContent=u.phase==="ended"?"Ended":u.control==="agent"?"Shared":"You only",p.append(D,f),p.title=m+" \xB7 "+(u.incognito===!1?"Personal browser":"Incognito")+" \xB7 "+(u.phase==="ended"?"Ended":u.control==="agent"?"You and Clay can control this tab":"Only you can control this tab. Clay is paused."),p.onclick=function(){t(u.id)},p.onkeydown=function(y){var R=y.key==="ArrowRight"?(g+1)%o.length:y.key==="ArrowLeft"?(g+o.length-1)%o.length:y.key==="Home"?0:y.key==="End"?o.length-1:-1;R<0||(y.preventDefault(),t(o[R].id),r.querySelectorAll('[role="tab"]')[R].focus())};var k=document.createElement("button");k.type="button",k.textContent="\xD7",k.setAttribute("aria-label","Close browser tab "+(g+1)),k.disabled=!i.get("connected"),k.onclick=function(){n("close",{browserId:u.id})},l.append(p,k),r.appendChild(l)});var d=document.createElement("button");if(d.type="button",d.textContent="+",d.setAttribute("aria-label","New browser tab"),d.disabled=!i.get("connected"),d.title=s&&s.personalCookiesAvailable?"New tab \xB7 Personal browser":"New incognito tab",d.onclick=function(){n("open",{newTab:!0})},r.appendChild(d),s&&s.personalCookiesAvailable){var c=document.createElement("button");c.type="button",c.innerHTML=w("glasses"),c.setAttribute("aria-label","New incognito tab"),c.title="New incognito tab \xB7 Site data is not saved",c.disabled=!i.get("connected"),c.onclick=function(){n("open",{newTab:!0,incognito:!0})},r.appendChild(c),O()}}}var oe={},Qe={terminal:"terminal-container",browser:"shared-browser-panel","file-viewer":"file-viewer","project-logs":"project-logs-panel",you:"you-panel",issues:"issues-panel",linear:"linear-panel","notes-browser":"notes-browser","scheduled-tasks":"scheduled-tasks-panel",debates:"debates-workbench","mcp-skills":"mcp-skills-workbench","mate-knowledge":"mate-knowledge-workbench",wireframe:"wireframe-panel"};function ke(){var e=i.get("myUserId"),t=i.get("currentSlug");return import("./chunk-I57URYSL.js").then(function(n){return e!==i.get("myUserId")||t!==i.get("currentSlug")?!1:n.ensureWorkbenchLayoutPreference()}).catch(function(){return e!==i.get("myUserId")||t!==i.get("currentSlug")||i.set({workbenchLayoutPreference:Object.assign({},i.get("workbenchLayoutPreference")||{},{loading:!1,saving:!1,error:"Workbench layout could not be loaded. Try again."})}),!1})}function xe(){if(!(typeof document>"u")){var e=document.getElementById("main-panels");if(e){var t=i.get("workbenchLayoutPreference")||{},n=t.mode==="docked";e.dataset.workbenchMode=n?"docked":"overlay";var r=document.getElementById(Qe[i.get("rightWorkbenchOwner")]);if(r){var o=r.querySelector(":scope > header, :scope > .file-viewer-header .file-viewer-tabbar, :scope > .terminal-header");if(o){var s=r.querySelector(".workbench-layout-toggle");if(!s){var a=o.querySelector('[class*="window-actions"], .terminal-header-actions, .shared-browser-window, :scope.mcp-skills-header > div')||o;s=document.createElement("button"),s.type="button",s.className="workbench-layout-toggle",s.addEventListener("click",function(){var c=i.get("workbenchLayoutPreference")||{};if(!c.ready||c.loading||c.saving){ke();return}var u=i.get("myUserId"),g=i.get("currentSlug");function l(){return s.isConnected&&u===i.get("myUserId")&&g===i.get("currentSlug")}import("./chunk-I57URYSL.js").then(function(p){var m=i.get("workbenchLayoutPreference")||{};return!l()||m.mode!==c.mode||m.revision!==c.revision||m.loading||m.saving||!m.ready?!1:p.saveWorkbenchLayoutMode(c.mode==="docked"?"overlay":"docked")}).then(function(p){p===!1&&l()&&S((i.get("workbenchLayoutPreference")||{}).error||"Workbench layout could not be saved. Try again.","error")}).catch(function(p){l()&&S(p.message||"Workbench layout could not be saved. Try again.","error")})});var d=a===o?o.querySelector("[data-knowledge-wide]"):a.firstElementChild;a.insertBefore(s,d||null)}s.dataset.mode!==(n?"docked":"overlay")&&(s.dataset.mode=n?"docked":"overlay",s.innerHTML=w(n?"layers-2":"panel-right"),O()),s.setAttribute("aria-label",n?"Float workbench over sessions":"Dock workbench beside sessions"),s.title=t.error||s.getAttribute("aria-label"),s.setAttribute("aria-pressed",n?"true":"false"),s.disabled=!!t.loading||!!t.saving,s.setAttribute("aria-busy",t.loading||t.saving?"true":"false")}}}}}function Be(e,t){!e||typeof t!="function"||(oe[e]=t)}function $(e){typeof document<"u"&&ke();var t=i.get("rightWorkbenchRevision")||0,n=t+1;se(e,n);for(var r=Object.keys(oe),o=0;o<r.length;o++)if(r[o]!==e)try{oe[r[o]]()}catch{}return typeof requestAnimationFrame=="function"&&requestAnimationFrame(xe),n}function se(e,t){i.set({rightWorkbenchOwner:e,rightWorkbenchRevision:t})}function ae(e){i.get("rightWorkbenchOwner")===e&&se(null,(i.get("rightWorkbenchRevision")||0)+1)}function sr(e,t){return i.get("rightWorkbenchOwner")===e&&i.get("rightWorkbenchRevision")===t}function Ze(){se(null,(i.get("rightWorkbenchRevision")||0)+1)}i.subscribe(function(e,t){(e.workbenchLayoutPreference!==t.workbenchLayoutPreference||e.rightWorkbenchOwner!==t.rightWorkbenchOwner)&&xe(),!(e.currentSlug===t.currentSlug&&e.myUserId===t.myUserId)&&Ze()});function q(){var e=i.get("sharedBrowser");return e&&!e.handoff&&e.phase==="live"&&i.get("connected")}var Ce=50,Oe=2e3;function M(e){i.set({sharedBrowserUi:Object.assign({},i.get("sharedBrowserUi"),e)})}function z(){var e=i.get("sharedBrowserUi")||{};clearTimeout(e.moveTimer),clearTimeout(e.wheelTimer),M({moveTimer:null,move:null,wheelTimer:null,wheelDelta:0,pointer:null,composing:!1})}function Ee(e,t){function n(a){var d=e.getBoundingClientRect(),c=Math.min(d.width/e.width,d.height/e.height),u=(a.clientX-d.left-(d.width-e.width*c)/2)/c,g=(a.clientY-d.top-(d.height-e.height*c)/2)/c;return{x:Math.max(0,Math.min(e.width-1,u)),y:Math.max(0,Math.min(e.height-1,g))}}function r(){var a=i.get("sharedBrowserUi")||{};clearTimeout(a.moveTimer);var d=a.move;M({move:null,moveTimer:null}),d&&q()&&I(Object.assign({kind:"move"},d))}function o(){var a=i.get("sharedBrowserUi")||{};clearTimeout(a.wheelTimer);var d=a.wheelDelta||0;if(!q()){M({wheelDelta:0,wheelTimer:null});return}var c=Math.max(-Oe,Math.min(Oe,d)),u=d-c;M({wheelDelta:u,wheelTimer:u?setTimeout(o,Ce):null}),c&&I({kind:"wheel",deltaY:c})}e.addEventListener("pointermove",function(a){if(q()){var d=i.get("sharedBrowserUi")||{};M({move:n(a),moveTimer:d.moveTimer||setTimeout(r,40)})}}),e.addEventListener("pointerdown",function(a){!q()||a.button!==0||(a.preventDefault(),r(),o(),e.setPointerCapture(a.pointerId),M({pointer:a.pointerId}),t.focus({preventScroll:!0}),I(Object.assign({kind:"down"},n(a))))});function s(a){var d=i.get("sharedBrowserUi")||{};d.pointer===a.pointerId&&(r(),M({pointer:null}),q()&&I(Object.assign({kind:"up"},n(a))),e.hasPointerCapture(a.pointerId)&&e.releasePointerCapture(a.pointerId))}e.addEventListener("pointerup",s),e.addEventListener("pointercancel",s),e.addEventListener("lostpointercapture",s),e.addEventListener("wheel",function(a){if(q()){a.preventDefault();var d=i.get("sharedBrowserUi")||{};M({wheelDelta:(d.wheelDelta||0)+a.deltaY,wheelTimer:d.wheelTimer||setTimeout(o,Ce)})}},{passive:!1}),e.addEventListener("focus",function(){q()&&t.focus({preventScroll:!0})}),t.addEventListener("compositionstart",function(){M({composing:!0})}),t.addEventListener("compositionend",function(){M({composing:!1}),q()&&t.value&&I({kind:"text",text:t.value}),t.value=""}),t.addEventListener("input",function(){(i.get("sharedBrowserUi")||{}).composing||(q()&&t.value&&I({kind:"text",text:t.value}),t.value="")}),t.addEventListener("keydown",function(a){if(!(!q()||a.isComposing)){var d=a.key;(a.ctrlKey||a.metaKey)&&d.toLowerCase()==="a"?d="ControlOrMeta+A":d==="Tab"&&a.shiftKey&&(d="Shift+Tab"),/^(Tab|Shift\+Tab|Enter|Backspace|Delete|Escape|ArrowLeft|ArrowRight|ArrowUp|ArrowDown|Home|End|ControlOrMeta\+A)$/.test(d)&&(a.preventDefault(),I({kind:"key",key:d}))}})}function Te(){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 de(e){i.set({sharedBrowserUi:Object.assign({},i.get("sharedBrowserUi"),e)})}function Xe(e,t,n){var r=e.querySelector(".shared-browser-activity"),o=e.querySelector(".shared-browser-caption-history"),s=e.querySelector(".shared-browser-caption-latest");o.dataset.bound||(o.dataset.bound="true",o.addEventListener("scroll",function(){var f=o.scrollHeight-o.clientHeight-o.scrollTop<20;de({captionPinned:f}),r.dataset.reviewing=String(!f),s.hidden=f}),s.onclick=function(){o.scrollTop=o.scrollHeight,de({captionPinned:!0}),s.hidden=!0,r.dataset.reviewing="false"});var a=t&&t.activityHistory||[];r.hidden=!a.length;var d=a[a.length-1],c=t&&t.id+":"+a.length+":"+(d?d.id+":"+d.phase+":"+d.text:"empty"),u=i.get("sharedBrowserUi")||{};if(u.captionHistoryKey!==c){var g=u.captionBrowserId!==(t&&t.id),l=g||u.captionPinned!==!1,p=o.scrollTop;o.replaceChildren(),a.forEach(function(f,k){var y=document.createElement("div");y.className="shared-browser-caption-row",y.dataset.age=String(Math.min(a.length-k-1,3));var R=document.createElement("span");if(R.className="shared-browser-activity-text",R.textContent=f.text,y.appendChild(R),f.phase==="failed"||f.phase==="interrupted"){var le=document.createElement("small");le.textContent=f.phase==="failed"?"This step could not be completed.":"This step was interrupted.",y.appendChild(le)}o.appendChild(y)}),de({captionHistoryKey:c,captionBrowserId:t&&t.id,captionPinned:l}),o.scrollTop=l?o.scrollHeight:p,s.hidden=l,r.dataset.reviewing=String(!l);var m=e.querySelector(".shared-browser-caption-announcement"),D=n&&d?d.text+(d.phase==="failed"?" This step could not be completed.":""):"";m.textContent!==D&&(m.textContent=D)}}function Le(e,t,n){var r=t&&t.phase==="live"&&t.control==="agent"&&!t.handoff&&n;Xe(e,t,r);var o=e.querySelector("canvas"),s=r&&t.pointer,a=e.querySelector(".shared-browser-pointer");if(a.hidden=!s||s.width!==o.width||s.height!==o.height,!a.hidden){a.style.left=100*s.x/o.width+"%",a.style.top=100*s.y/o.height+"%";var d=t.id+":"+t.epoch+":"+s.sequence;(i.get("sharedBrowserUi")||{}).pointerAnimationKey!==d&&(i.set({sharedBrowserUi:Object.assign({},i.get("sharedBrowserUi"),{pointerAnimationKey:d})}),s.clicked&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches&&a.querySelector("i").animate([{opacity:.8,transform:"scale(.3)"},{opacity:0,transform:"scale(1.8)"}],{duration:650}))}}var ce=["1280,800","1440,900","1024,768","800,600","375,667","390,844"];function et(){return document.getElementById("shared-browser-resolution")}function qe(e){i.set({sharedBrowserUi:Object.assign({},i.get("sharedBrowserUi"),{viewportMenuOpen:e})});var t=et();t&&(t.querySelector("[data-viewport-trigger]").setAttribute("aria-expanded",String(e)),t.querySelector('[role="menu"]').hidden=!e)}function P(){qe(!1)}function Me(){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>'+w("chevron-up")+'</button><div id="shared-browser-resolutions" class="shared-browser-resolution-menu" role="menu" aria-label="Browser resolutions" hidden></div></div>'}function Pe(e,t,n){var r=e.querySelector(".shared-browser-resolution"),o=r.querySelector("[data-viewport-trigger]");o.disabled=!n,(!n||!i.get("sharedBrowserOpen"))&&P();var s=t?t.width+","+t.height:"1280,800";o.querySelector("span").textContent=s.replace(","," \xD7 ");var a=r.querySelector('[role="menu"]');if(a.dataset.size!==s){a.dataset.size=s;var d=ce.includes(s)?ce:ce.concat([s]);a.replaceChildren(),d.forEach(function(c){var u=document.createElement("button");u.type="button",u.setAttribute("role","menuitemradio"),u.setAttribute("aria-checked",String(c===s)),u.dataset.size=c,u.tabIndex=-1,u.textContent=c.replace(","," \xD7 "),u.setAttribute("aria-label",u.textContent),a.appendChild(u)})}}function Ae(e){var t=e.querySelector(".shared-browser-resolution"),n=t.querySelector("[data-viewport-trigger]"),r=t.querySelector('[role="menu"]');function o(s){if(!n.disabled){qe(!0);var a=r.querySelectorAll("button"),d=r.querySelector('[aria-checked="true"]');(s?a[a.length-1]:d||a[0]).focus()}}n.onclick=function(){(i.get("sharedBrowserUi")||{}).viewportMenuOpen?P():o(!1)},n.onkeydown=function(s){(s.key==="ArrowDown"||s.key==="ArrowUp")&&(s.preventDefault(),o(s.key==="ArrowUp"))},r.onclick=function(s){var a=s.target.closest("[data-size]");if(!(!a||n.disabled)){var d=a.dataset.size.split(",");P(),n.focus(),I({kind:"resize",width:Number(d[0]),height:Number(d[1])})}},t.addEventListener("keydown",function(s){if(s.key==="Escape"){s.preventDefault(),s.stopPropagation(),P(),n.focus();return}if(s.key==="Tab"){P();return}if(!(s.target===n||!["ArrowDown","ArrowUp","Home","End"].includes(s.key))){s.preventDefault();var a=Array.from(r.querySelectorAll("button")),d=a.indexOf(document.activeElement);d=s.key==="Home"?0:s.key==="End"?a.length-1:(d+(s.key==="ArrowDown"?1:-1)+a.length)%a.length,a[d].focus()}}),document.addEventListener("pointerdown",function(s){t.contains(s.target)||P()}),t.addEventListener("focusout",function(s){t.contains(s.relatedTarget)||P()})}function H(){return window.matchMedia("(min-width: 1024px)").matches}function Re(){var e=i.get("permissions");return H()&&!!i.get("currentSlug")&&!i.get("dmMode")&&(!e||e.terminal!==!1)}function J(){return Re()&&!!i.get("activeSessionId")}function W(){return document.getElementById("shared-browser-panel")}function A(e){i.set({sharedBrowserUi:Object.assign({},i.get("sharedBrowserUi"),e)})}function v(e,t){var n=h();if(!n||n.readyState!==1||!i.get("activeSessionId"))return!1;var r=i.get("sharedBrowser");return n.send(JSON.stringify(Object.assign({type:"shared_browser_"+e,sessionId:i.get("activeSessionId"),browserId:r&&r.id,epoch:r&&r.epoch},t||{}))),!0}function I(e){A({error:""}),v("input",{event:e})}function Ue(){var e=W();if(!(!e||!i.get("sharedBrowserOpen"))){var t=e.querySelector(".shared-browser-viewport"),n=e.querySelector("canvas"),r=n.width===800&&n.height===600?"mac":n.width===1024&&n.height===768?"crt":n.width<n.height?"phone":"laptop";t.dataset.skin=r;var o=Math.min((t.clientWidth-96)/n.width,(t.clientHeight-140-e.querySelector(".shared-browser-caption").offsetHeight)/n.height,1);if(!(o<=0)){var s=e.querySelector(".shared-browser-monitor");s.style.width=Math.floor(n.width*o)+"px",s.style.height=Math.floor(n.height*o)+"px",e.querySelector(".shared-browser-monitor-label").textContent=n.width+" \xD7 "+n.height+" \xB7 "+Math.round(o*100)+"%"}}}function U(e,t,n){return'<button type="button" data-action="'+e+'" title="'+n+'" aria-label="'+n+'">'+w(t)+"</button>"}function ue(){if(!W()){var e=document.getElementById("main-panels");if(e){var t=document.createElement("section");t.id="shared-browser-panel",t.className="shared-browser-panel hidden",t.setAttribute("aria-label","Shared browser"),t.innerHTML='<header class="shared-browser-header"><span class="shared-browser-title">'+w("globe")+'Browser</span><span class="shared-browser-phase" role="status">Ready</span><div class="shared-browser-window">'+U("settings","settings-2","Browser settings")+U("wide","chevrons-left-right","Widen browser panel")+U("fullscreen","maximize-2","Toggle browser fullscreen")+U("hide","x","Hide browser panel")+'</div></header><div class="shared-browser-tabs" role="tablist" aria-label="Browser tabs"></div><form class="shared-browser-address">'+U("back","arrow-left","Back")+U("forward","arrow-right","Forward")+U("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">'+w("arrow-right")+"</button></form>"+ve()+'<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">'+w("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>'+Te()+'</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>'+Me()+'<button type="button" data-action="end">End browser</button></div></footer>',e.appendChild(t),t.querySelector('[data-action="hide"]').onclick=V,t.querySelector('[data-action="wide"]').onclick=function(){var r=!(i.get("sharedBrowserUi")||{}).wide;A({wide:r}),C()},t.querySelector('[data-action="fullscreen"]').onclick=function(){var r=!(i.get("sharedBrowserUi")||{}).fullscreen;A({fullscreen:r}),C()},["back","forward","reload"].forEach(function(r){t.querySelector('[data-action="'+r+'"]').onclick=function(){I({kind:r})}}),t.querySelector("form").onsubmit=function(r){r.preventDefault(),I({kind:"navigate",url:t.querySelector("form input").value})},t.querySelector('[data-action="control"]').onclick=function(){var r=i.get("sharedBrowser");r&&v("control",{control:r.control==="user"?"agent":"user"})},t.querySelector('[data-action="end"]').onclick=function(){var r=i.get("sharedBrowser");v(r&&r.phase==="ended"?"open":"end",r&&r.phase==="ended"?{incognito:r.incognito}:void 0)},Ae(t),be(t);var n=new ResizeObserver(Ue);n.observe(t.querySelector(".shared-browser-viewport")),Ee(t.querySelector("canvas"),t.querySelector("textarea")),O()}}}function Q(){var e=i.get("sharedBrowser"),t=!!i.get("connected")&&!!i.get("activeSessionId"),n=i.get("connected")?i.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(r){var o=document.getElementById(r);if(o){var s=r==="shared-browser-toggle-btn"&&t&&i.get("sharedBrowserOpen")?"Hide browser":n;o.classList.toggle("hidden",!Re()),o.title=t&&e?s+" \xB7 "+e.phase:s,o.setAttribute("aria-label",s),o.setAttribute("aria-expanded",String(!!i.get("sharedBrowserOpen"))),o.disabled=!t}})}function tt(e,t,n){return n?t?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 rt(e,t,n,r){var o=e.querySelector(".shared-browser-control-status"),s=tt(t,n,r);o.textContent!==s&&(o.textContent=s);var a=e.querySelector('[data-action="control"]'),d=!!t&&t.control==="user",c=String(d);a.dataset.mode!==c&&(a.dataset.mode=c,a.innerHTML=w(d?"lock":"lock-open")+"<span>"+(d?"Resume shared control":"Pause Clay control")+"</span>",O()),a.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.",a.setAttribute("aria-pressed",String(d))}function C(){Q();var e=W();if(e){Ie(e,nt,v);var t=i.get("sharedBrowser"),n=i.get("sharedBrowserUi")||{},r=i.get("connected"),o=t&&t.phase==="live",s=o&&!t.handoff&&r;e.classList.toggle("hidden",!i.get("sharedBrowserOpen")||!J()),e.classList.toggle("shared-browser-wide",!!n.wide),e.classList.toggle("panel-fullscreen",!!n.fullscreen),e.querySelector('[data-action="wide"]').setAttribute("aria-pressed",n.wide?"true":"false"),e.querySelector('[data-action="fullscreen"]').setAttribute("aria-pressed",n.fullscreen?"true":"false"),e.querySelector(".shared-browser-phase").textContent=r?t?{starting:"Starting\u2026",live:"Live",ended:"Ended \xB7 Last frame"}[t.phase]:"Ready":"Disconnected",e.querySelector(".shared-browser-phase").dataset.live=o&&r?"true":"false",e.querySelector(".shared-browser-monitor").dataset.live=o&&r?"true":"false";var a=e.querySelector("form input");document.activeElement!==a&&(a.value=t?t.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",rt(e,t,o,r),e.querySelector('[data-action="control"]').disabled=!o||!!t.handoff||!r,e.querySelector('[data-action="control"]').hidden=!o,e.querySelector('[data-action="end"]').disabled=!t||!r,e.querySelector('[data-action="end"]').textContent=t&&t.phase==="ended"?"New browser":"End browser";var d=t&&t.incognito===!1;e.querySelector(".shared-browser-cookie-mode").textContent=d?"Personal browser":"Incognito",e.querySelector(".shared-browser-cookie-mode").title=d?"Cookies and site storage are saved for your account across your Mates.":"Cookies and site storage are isolated and discarded when this tab ends.",e.querySelector(".shared-browser-private").textContent=d?"Your cookies and site storage are remembered across your Mates and browser restarts.":"Site data lasts only for this browser session.";var c=n.error||t&&t.error||"";e.querySelector(".shared-browser-error").textContent=c,e.querySelector(".shared-browser-error").classList.toggle("hidden",!c),e.querySelector(".shared-browser-empty").classList.toggle("hidden",!!(t&&t.url&&n.hasFrame)),Pe(e,t,s),L(),Le(e,t,r),Ue()}}function He(e){var t=i.get("sharedBrowser");if(i.set({sharedBrowser:e}),!t||!e||t.id!==e.id){z(),P(),A({hasFrame:!1,error:"",decoding:!1,captionHistoryKey:null});var n=W();n&&n.querySelector("canvas").getContext("2d").clearRect(0,0,1920,1200)}else t.epoch!==e.epoch&&z()}function nt(e){var t=(i.get("sharedBrowsers")||[]).find(function(n){return n.id===e});t&&(He(t),v("view",{visible:H()&&!document.hidden}),C())}function Er(e){var t=Y("browser:"+e);if(!t)throw new Error("Enter a valid HTTP or HTTPS browser address.");if(!H())throw new Error("Clay Browser is available on desktop screens.");if(!J())throw new Error("Browser access is unavailable in this conversation.");if(!i.get("connected"))throw new Error("Reconnect before opening this browser link.");ue(),F(!1),$("browser"),i.set({sharedBrowserOpen:!0}),A({error:""}),v("open",{url:t}),C()}function De(){if(!(!J()||!i.get("connected"))){ue(),$("browser"),i.set({sharedBrowserOpen:!0});var e=i.get("sharedBrowser");e?v("view",{visible:!0}):v("open"),C()}}function V(){P(),F(),z(),i.get("sharedBrowserOpen")&&v("view",{visible:!1}),i.set({sharedBrowserOpen:!1}),ae("browser"),C()}function Tr(e){if(!e.type||e.type.indexOf("shared_browser_")!==0)return!1;if(String(e.sessionId)!==String(i.get("activeSessionId"))||Se(e))return!0;if(e.type==="shared_browser_state"){var t=i.get("sharedBrowser"),n=e.browsers||(e.browser?[e.browser]:[]);i.set({sharedBrowsers:n});var r=!e.focus&&t&&n.find(function(d){return d.id===t.id});r=r||e.browser||n[0]||null,He(r),e.present&&J()&&(ue(),$("browser"),i.set({sharedBrowserOpen:!0})),i.get("sharedBrowserOpen")&&r&&v("view",{visible:H()&&!document.hidden}),C()}else if(e.type==="shared_browser_error")A({error:e.error}),C();else if(e.type==="shared_browser_frame"){var o=i.get("sharedBrowser");if(!H()||!i.get("sharedBrowserOpen")||!o||o.id!==e.browserId||(i.get("sharedBrowserUi")||{}).decoding)return!0;var s=i.get("activeSessionId");A({decoding:!0});var a=new Image;a.onload=function(){var d=i.get("sharedBrowser");if(d&&d.id===e.browserId&&i.get("activeSessionId")===s&&W()){var c=W().querySelector("canvas");c.width=a.naturalWidth,c.height=a.naturalHeight,c.getContext("2d").drawImage(a,0,0),A({decoding:!1,hasFrame:!0}),C(),me(e,c,null,c)}},a.onerror=function(){i.get("activeSessionId")===s&&A({decoding:!1})},a.src="data:image/jpeg;base64,"+e.data}return!0}function Lr(){ne();var e=document.getElementById("shared-browser-btn");e&&(e.onclick=De);var t=document.getElementById("shared-browser-toggle-btn");t&&(t.onclick=function(){i.get("sharedBrowserOpen")?V():De()}),window.matchMedia("(min-width: 1024px)").addEventListener("change",function(){H()||V(),Q()}),document.addEventListener("visibilitychange",function(){i.get("sharedBrowserOpen")&&v("view",{visible:!document.hidden&&H()})}),O(),Q(),i.get("connected")&&v("state_request")}Be("browser",V);i.subscribe(function(e,t){e.currentSlug!==t.currentSlug||e.activeSessionId!==t.activeSessionId||e.myUserId!==t.myUserId?(z(),ae("browser"),i.set({sharedBrowser:null,sharedBrowsers:[],sharedBrowserOpen:!1,sharedBrowserUi:{},sharedBrowserSettings:{}}),e.connected&&v("state_request"),C()):e.connected!==t.connected?(e.connected&&v("state_request"),C()):(e.permissions!==t.permissions||e.dmMode!==t.dmMode)&&(J()||V(),Q())});export{S as a,it as b,ge as c,ct as d,We as e,ut as f,fe as g,lt as h,gt as i,Ne as j,_e as k,mt as l,G as m,Fe as n,ze as o,N as p,K as q,wt as r,vt as s,Ve as t,Z as u,St as v,It as w,xt as x,Pt as y,he as z,At as A,me as B,Dt as C,Rt as D,O as E,w as F,Be as G,$ as H,ae as I,sr as J,I as K,Er as L,De as M,V as N,Tr as O,Lr as P,_t as Q,$e as R,Kt as S};
@@ -0,0 +1 @@
1
+ import{l as a,m as b,n as c,o as d}from"./chunk-O6MQL6MR.js";import"./chunk-7H36SUZA.js";import"./chunk-DGOFGEUK.js";export{a as closeLinear,c as handleLinearResult,d as initLinearPanel,b as openLinear};
@@ -0,0 +1 @@
1
+ var n={},e=[];function c(t){n=Object.assign({},t)}var o={get:function(t){return n[t]},snap:function(){return n},set:function(t){var r=n;n=Object.assign({},n,t);for(var u=0;u<e.length;u++)e[u](n,r)},getState:function(){return n},setState:function(t){o.set(t)},subscribe:function(t){return e.push(t),function(){e=e.filter(function(r){return r!==t})}}};var s=null;function f(){return s}function i(t){s=t}export{c as a,o as b,f as c,i as d};
@@ -0,0 +1 @@
1
+ import{b as n,c}from"./chunk-DGOFGEUK.js";var w="/api/user/workbench-layout";function u(){return n.get("myUserId")||"default"}function k(e){return e==="overlay"||e==="docked"}function t(){return n.get("workbenchLayoutPreference")}function l(e){var r=e&&e.accountId===u();return{mode:r?e.mode:"overlay",accountId:u(),ready:!1,loading:!1,saving:!1,error:"",socket:c(),revision:r?e.revision:0,generation:(e&&e.generation||0)+1,checkedAt:0}}function f(){return(!t()||t().accountId!==u()||t().socket!==c())&&n.set({workbenchLayoutPreference:l(t())}),t()}function s(e){var r=t();return r&&r.receipt===e&&r.accountId===u()&&r.generation===e.generation&&n.get("currentSlug")===e.project&&c()===e.socket&&n.get("connected")===e.connected&&n.get("authIdentityLoaded")===e.identity&&n.get("projectSplitViewSocketGeneration")===e.socketGeneration}function m(e){var r=f(),i=e!==void 0,a={generation:r.generation,project:n.get("currentSlug"),socket:c(),connected:n.get("connected"),identity:n.get("authIdentityLoaded"),socketGeneration:n.get("projectSplitViewSocketGeneration")},g=new AbortController,y=Object.assign({},r,{loading:!i,saving:i,error:"",receipt:a}),h=Promise.resolve().then(async function(){var b=setTimeout(function(){g.abort()},15e3);try{if(!s(a))return!1;var d=await fetch(w,{method:i?"PUT":"GET",credentials:"same-origin",cache:"no-store",signal:g.signal,headers:{"Content-Type":"application/json","X-Clay-Settings":"1","X-Clay-Account-Id":r.accountId},body:i?JSON.stringify({mode:e,revision:r.revision}):void 0}),o=await d.json();if(!s(a))return!1;if(!d.ok)throw new Error(d.status===409?"Workbench layout changed elsewhere. Reload the preference and try again.":i?"Workbench layout could not be saved. Reload the preference before trying again.":"Workbench layout could not be loaded. Try again.");if(!o||o.accountId!==r.accountId||!k(o.mode)||!Number.isSafeInteger(o.revision)||o.revision<r.revision||o.revision===r.revision&&o.mode!==r.mode||i&&(o.mode!==e||o.revision!==r.revision+(e===r.mode?0:1)))throw new Error("Workbench preference response is stale. Reload and try again.");return n.set({workbenchLayoutPreference:Object.assign({},t(),{mode:o.mode,revision:o.revision,ready:!0,loading:!1,saving:!1,error:"",checkedAt:Date.now(),receipt:null,promise:null})}),!0}catch(v){return s(a)&&n.set({workbenchLayoutPreference:Object.assign({},t(),{ready:!1,loading:!1,saving:!1,receipt:null,promise:null,checkedAt:0,error:v.name==="AbortError"?"Workbench preference request timed out. Reload to check the saved layout.":v.message})}),!1}finally{clearTimeout(b),t()&&t().receipt===a&&!s(a)&&n.set({workbenchLayoutPreference:Object.assign(l(t()),{error:"Connection changed. Reload the workbench preference."})})}});return y.promise=h,n.set({workbenchLayoutPreference:y}),h}function L(){var e=f();return e.loading||e.saving?e.promise||Promise.resolve(!1):!n.get("authIdentityLoaded")||!n.get("connected")?Promise.resolve(!1):e.ready&&Date.now()-e.checkedAt<3e4?Promise.resolve(!0):m()}function S(e){var r=f();return!k(e)||!r.ready||r.loading||r.saving||!n.get("connected")||!n.get("authIdentityLoaded")?Promise.resolve(!1):m(e)}n.subscribe(function(e,r){(e.myUserId!==r.myUserId||e.currentSlug!==r.currentSlug||e.connected!==r.connected||e.authIdentityLoaded!==r.authIdentityLoaded||e.projectSplitViewSocketGeneration!==r.projectSplitViewSocketGeneration)&&n.set({workbenchLayoutPreference:l(t())})});export{L as ensureWorkbenchLayoutPreference,S as saveWorkbenchLayoutMode};