@vantran-se/openchamber-web 2.4.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{AboutDialog-Dz_8z7Rq.js → AboutDialog-C8mAGhnz.js} +1 -1
- package/dist/assets/{ArchiveView-BoMjLD0N.js → ArchiveView-4-LVDLmf.js} +1 -1
- package/dist/assets/{ChangedPathLabel-BirEUxH2.js → ChangedPathLabel-BCiU4QDF.js} +1 -1
- package/dist/assets/{CommandPalette-DkLX-AKB.js → CommandPalette-DEcmPHdC.js} +1 -1
- package/dist/assets/{DiffView-DwyXDHsF.js → DiffView-CaDZ4gTk.js} +3 -3
- package/dist/assets/{FilesView-BFi9HBg1.js → FilesView-Csrs_BGv.js} +1 -1
- package/dist/assets/{GitView-BzWRNg_F.js → GitView-DvxCZgCW.js} +3 -3
- package/dist/assets/{GuestSurfacePane-zDcKyz78.js → GuestSurfacePane-DNg0xBTD.js} +1 -1
- package/dist/assets/{HelpDialog-DZVlv3x2.js → HelpDialog-CLyz3_xd.js} +1 -1
- package/dist/assets/{InProgressOperationBanner-BiEntIfh.js → InProgressOperationBanner-BVDKUDqn.js} +2 -2
- package/dist/assets/{IntegrationsCatalogView-CCHFMcZP.js → IntegrationsCatalogView-u1gS0Vk8.js} +1 -1
- package/dist/assets/{JsonTreeView-BwELoub1.js → JsonTreeView-BpJU14WJ.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-DxBYkSKd.js → MarkdownRendererImpl-t3OoYn_0.js} +1 -1
- package/dist/assets/{MemoryDebugPanel-C9zpPXVo.js → MemoryDebugPanel-9z1jGWze.js} +1 -1
- package/dist/assets/{OnboardingScreen-Cnzzs_TQ.js → OnboardingScreen-xzT7ckY0.js} +1 -1
- package/dist/assets/{OpenCodeStatusDialog-DizE9xAy.js → OpenCodeStatusDialog-skpJZSjK.js} +1 -1
- package/dist/assets/{PatchDiff-Cz_UxB-k.js → PatchDiff-BWW_8bob.js} +1 -1
- package/dist/assets/{PierreDiffViewer-BT3MrXwN.js → PierreDiffViewer-BZDNV4Uj.js} +1 -1
- package/dist/assets/{PlanView-B-SCCd7M.js → PlanView-D7wshtfZ.js} +1 -1
- package/dist/assets/{ProjectActionsDialog-4OSNuzpG.js → ProjectActionsDialog-BPh74BCt.js} +1 -1
- package/dist/assets/{PullRequestComparisonSelector-lp98DrYm.js → PullRequestComparisonSelector-BBdU2rL1.js} +3 -3
- package/dist/assets/{RunOverview-DJhjR9uR.js → RunOverview-Cngm2OOp.js} +2 -2
- package/dist/assets/{ScheduledTasksDialog-Dwil7zsx.js → ScheduledTasksDialog-DUjDdkw2.js} +1 -1
- package/dist/assets/{SettingsView-DVcV2Rk9.js → SettingsView-CCZOw018.js} +2 -2
- package/dist/assets/{SettingsWindow-DbbAS4Se.js → SettingsWindow-Cndsj5Vu.js} +1 -1
- package/dist/assets/{SourceBoardView-BVcmYpvE.js → SourceBoardView-8Wp0oUvB.js} +1 -1
- package/dist/assets/{SpaceAccessDialog-DxjFUcHZ.js → SpaceAccessDialog-CxfCzTpe.js} +1 -1
- package/dist/assets/{SpaceApplyDialog-Dbrbh-j4.js → SpaceApplyDialog-CYp0A76N.js} +1 -1
- package/dist/assets/{SpaceRow-Cwam4mHh.js → SpaceRow-CQp4PkPJ.js} +1 -1
- package/dist/assets/{SpaceSetupOutput-B_w02jDi.js → SpaceSetupOutput-RNo0mWrR.js} +1 -1
- package/dist/assets/{SpacesView-CGrFWnO-.js → SpacesView-BwcDCv3D.js} +1 -1
- package/dist/assets/{SubmoduleDiffSummary-DFL-m_eu.js → SubmoduleDiffSummary-BQduif5s.js} +1 -1
- package/dist/assets/{ToolOutputDialog-Co0VXa0y.js → ToolOutputDialog-BVCvqYsK.js} +1 -1
- package/dist/assets/{ToolPartDiffPreview-CBSzwkat.js → ToolPartDiffPreview-BXpCHBW9.js} +1 -1
- package/dist/assets/{UsageStatsView-BjtTNSt8.js → UsageStatsView-CsC_RzAH.js} +1 -1
- package/dist/assets/{Virtualizer-Cmng0Q1E.js → Virtualizer-nenVQKi3.js} +1 -1
- package/dist/assets/{WalkthroughView-C7AkVuHQ.js → WalkthroughView-CdIYpttA.js} +1 -1
- package/dist/assets/{WorktreesView-CYU2KJ6E.js → WorktreesView-D102xE1o.js} +1 -1
- package/dist/assets/{appThemeRegistry-CDGE1wtP.js → appThemeRegistry-BWap7OfW.js} +1 -1
- package/dist/assets/{ar-BlEU--PN.js → ar-9CiK5cuu.js} +3 -3
- package/dist/assets/{computeVirtualFileMetrics-BgqasG86.js → computeVirtualFileMetrics-DDyA16hp.js} +1 -1
- package/dist/assets/{de-DWs4Mcjc.js → de-Drq6oIkP.js} +3 -3
- package/dist/assets/{decorate-CpxLqoVw.js → decorate-CemSwkUs.js} +1 -1
- package/dist/assets/{es-k5T7CE97.js → es-0bkFr34F.js} +3 -3
- package/dist/assets/{flexokiTheme-BG4cSAMb.js → flexokiTheme-PoX6Vqyn.js} +1 -1
- package/dist/assets/{fr-CzmypgZ8.js → fr-CjgWVupK.js} +3 -3
- package/dist/assets/{he-DdkxJnUn.js → he-BrJa9oPB.js} +4 -4
- package/dist/assets/{index-BrL960j-.js → index-B2WHEal3.js} +1 -1
- package/dist/assets/{initializeSharedPreferences-CrnmmfFs.js → initializeSharedPreferences-1Vo6G7CM.js} +1 -1
- package/dist/assets/{install-DvRQsTjX.js → install-FletzeYD.js} +1 -1
- package/dist/assets/{isDiffPlainText-KGYbp86N.js → isDiffPlainText-yXcpftjI.js} +1 -1
- package/dist/assets/{isFilePlainText-D7rclQrA.js → isFilePlainText-Dpm-_Qu8.js} +1 -1
- package/dist/assets/{ja-Qqkyglaf.js → ja-cfyrqWPa.js} +3 -3
- package/dist/assets/katex.min-F4TD1ekM.js +69 -0
- package/dist/assets/{ko-B8idPK2d.js → ko-herKAlGO.js} +3 -3
- package/dist/assets/{main-D4-y6PQ0.js → main-CO7wKNtS.js} +2 -2
- package/dist/assets/{main-Cmc8m6dZ.js → main-DN47yDMe.js} +19 -19
- package/dist/assets/markdownCore-BY21GJ_M.js +10 -0
- package/dist/assets/{miniChat-CjJ77DDL.js → miniChat-BmFJFQph.js} +2 -2
- package/dist/assets/{mobile-DlFdLxjR.js → mobile-DTi98S93.js} +2 -2
- package/dist/assets/{moveWorkspacePath-CVdEBQ6v.js → moveWorkspacePath-CENAo75W.js} +1 -1
- package/dist/assets/{nl-CFXZKHp7.js → nl-mZ4VCoiQ.js} +3 -3
- package/dist/assets/{parseDiffFromFile-DWemyyqU.js → parseDiffFromFile-BSmRvd3V.js} +1 -1
- package/dist/assets/{pierreDiffTint-B7qPTZmL.js → pierreDiffTint-cyYFR1bm.js} +1 -1
- package/dist/assets/{pl-slLgZWDu.js → pl-C98lvkcZ.js} +4 -4
- package/dist/assets/{pt-BR-C319g_nn.js → pt-BR-CB63WPLS.js} +3 -3
- package/dist/assets/{relocateRestoredSession-cOuWlgWB.js → relocateRestoredSession-D8Sf_FG_.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-DFnEi5Tr.js → renderElectronMiniChatApp-DmQ8i5jp.js} +2 -2
- package/dist/assets/{renderMobileApp-C2TYqVOV.js → renderMobileApp-CND9CafV.js} +3 -3
- package/dist/assets/{restartOpenCode-Dvk4CWW7.js → restartOpenCode-D8ExMl55.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-D7viEboD.js → runtimeEndpointReset-lg1O2gVX.js} +3 -3
- package/dist/assets/{scheduledTasksApi-FZ9stPNl.js → scheduledTasksApi-CJBNpwgy.js} +1 -1
- package/dist/assets/{selectionMarkdown-CCursbAw.js → selectionMarkdown-B_3WTOUr.js} +1 -1
- package/dist/assets/{shikiHighlight-CLj7Oan9.js → shikiHighlight-DBj_a_TN.js} +1 -1
- package/dist/assets/{space-apply-DdhqZWNy.js → space-apply-COMscpEL.js} +1 -1
- package/dist/assets/{space-close-KXdazynX.js → space-close-DDLvYCUc.js} +1 -1
- package/dist/assets/{spaceNetwork-DzU3SK9K.js → spaceNetwork-CNxs51y4.js} +1 -1
- package/dist/assets/{textMateThemeFromAppTheme-C-jxkZJj.js → textMateThemeFromAppTheme-tYpAceV3.js} +1 -1
- package/dist/assets/{tr-DNnJ5oqk.js → tr-C5KUa-8X.js} +3 -3
- package/dist/assets/{uk-Bw0BJwHw.js → uk-D44Grdmc.js} +3 -3
- package/dist/assets/{useAppFontEffects-DAUhSLPu.js → useAppFontEffects-Dm6zEvrf.js} +200 -199
- package/dist/assets/{useCallableModelProviders-B-UCRuyn.js → useCallableModelProviders-BK3j8Sde.js} +1 -1
- package/dist/assets/{useDiffFindSurface-CU_63uoI.js → useDiffFindSurface-CaCh-qt2.js} +1 -1
- package/dist/assets/{useInlineCommentController-bYCeqE6r.js → useInlineCommentController-a2JepiF3.js} +1 -1
- package/dist/assets/{useMarkdownLocalAssets-CnMxnDdI.js → useMarkdownLocalAssets-BEApAshz.js} +2 -2
- package/dist/assets/{useRootScrollLock-DNYaZ34X.js → useRootScrollLock-mqVhK2HB.js} +2 -2
- package/dist/assets/{useWalkthroughReview-DGPyQ634.js → useWalkthroughReview-BspAr9Aa.js} +1 -1
- package/dist/assets/{vendor-codemirror-language-data-KulAIuMz.js → vendor-codemirror-language-data-VzNDjH03.js} +2 -2
- package/dist/assets/{zh-CN-Brx5Btej.js → zh-CN-DwBC4Qtd.js} +3 -3
- package/dist/assets/{zh-TW-WokiutLA.js → zh-TW-DXEqDBAm.js} +3 -3
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +2 -2
- package/server/lib/git/service.test.js +1 -1
- package/server/lib/opencode/openchamber-routes.test.js +1 -0
- package/server/lib/opencode/settings-helpers.js +2 -2
- package/server/lib/opencode/settings-helpers.test.js +1 -1
- package/server/lib/opencode/settings-registry.json +1 -1
- package/server/lib/outbound-proxy.test.js +2 -2
- package/server/lib/spaces/tools.test.js +2 -2
- package/dist/assets/katex.min-u4DtE8E5.js +0 -69
- package/dist/assets/markdownCore-D_5e0Wl7.js +0 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a3 as de,aZ as Ee,a_ as ke,a$ as Le,aA as z,b0 as xe,b1 as Me,b2 as Te}from"./useAppFontEffects-DAUhSLPu.js";import{e as Ne}from"./openFenceIncremental-7wgnc2ZL.js";import{getMarkdownSelectionText as De}from"./selectionMarkdown-CCursbAw.js";const b=e=>Number.isFinite(e)&&e>0,X=e=>{if(e==null)return null;const t=String(e).trim().match(/^([+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?)(?:px)?$/);if(!t)return null;const r=Number(t[1]);return b(r)?r:null},H=(e,t,r)=>Math.min(r,Math.max(t,e)),qe=6,Y=1.25,Re=1.0015,We=.5,Ie=12,K=3,_e=400,me='[data-markdown="mermaid-block"]',xt=e=>e.querySelector(me)!==null,Pe=e=>[e.x,e.y,e.width,e.height].map(t=>{const r=Number(t.toFixed(qe));return Object.is(r,-0)?"0":String(r)}).join(" "),ze=e=>{const t=e.viewBox?.trim().split(/[\s,]+/).map(n=>Number.parseFloat(n));if(t?.length===4){const[n,s,i,a]=t;if(Number.isFinite(n)&&Number.isFinite(s)&&b(i)&&b(a))return{x:n,y:s,width:i,height:a}}const r=X(e.width),o=X(e.height);return r===null||o===null?null:{x:0,y:0,width:r,height:o}},Oe=e=>{let t=2166136261;for(let r=0;r<e.length;r+=1)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(36)},He=e=>{const t=e.renderMode||"unknown",r=e.svgMarkup??"";if(!r){const o=[e.viewBox??"",e.width??"",e.height??""];return o.some(n=>n!=="")?`${t}:bounds:${o.join(":")}`:`${t}:no-svg`}return[t,Oe(r)].join(":")},ue=(e,t)=>{if(!b(t.width)||!b(t.height))return e;const r=e.width/e.height,o=t.width/t.height;if(r>o){const s=e.width/o;return{x:e.x,y:e.y-(s-e.height)/2,width:e.width,height:s}}const n=e.height*o;return{x:e.x-(n-e.width)/2,y:e.y,width:n,height:e.height}},Ve=({currentBox:e,viewport:t,delta:r})=>!b(t.width)||!b(t.height)||!b(e.width)||!b(e.height)?e:{x:e.x-r.x/t.width*e.width,y:e.y-r.y/t.height*e.height,width:e.width,height:e.height},$e=(e,t)=>{const r=t.x-e.x,o=t.y-e.y;return r*r+o*o>K*K},V=e=>{const[t,r]=e;return!t||!r?null:{distance:Math.hypot(r.x-t.x,r.y-t.y),center:{x:(t.x+r.x)/2,y:(t.y+r.y)/2}}},Be=({currentBox:e,contentBox:t,viewport:r,pointer:o,zoomFactor:n,minScale:s,maxScale:i})=>{if(!b(r.width)||!b(r.height)||!b(n)||!b(e.width)||!b(e.height)||!b(t.width)||!b(t.height)||!b(s)||!b(i))return e;const a=Math.min(s,i),c=Math.max(s,i),l=ue(t,r),u=l.width/e.width,h=H(u*n,a,c),p=l.width/h,g=p/(e.width/e.height),E=H(o.x/r.width,0,1),m=H(o.y/r.height,0,1),f=e.x+E*e.width,w=e.y+m*e.height;return{x:f-E*p,y:w-m*g,width:p,height:g}},O=new WeakMap,F=new WeakMap,T=new Set,I=new Set;let M=null,R=null,D=null;const Fe=e=>e.querySelector('[data-markdown="mermaid-viewport"]')??e.querySelector('[data-markdown="mermaid"]'),pe=e=>{const t=e.querySelector('[data-markdown="mermaid"] svg'),r=e.querySelector('[data-markdown="mermaid"]');return He({renderMode:e.getAttribute("data-mermaid-render"),svgMarkup:r?.getAttribute("data-md-original-svg")??t?.outerHTML??null,viewBox:t?.getAttribute("viewBox"),width:t?.getAttribute("width"),height:t?.getAttribute("height")})},N=e=>{const t=e.getBoundingClientRect();return{width:t.width,height:t.height}},G=(e,t)=>{const r=t.getBoundingClientRect();return{x:e.clientX-r.left,y:e.clientY-r.top}},je=e=>e instanceof Element&&!!e.closest('button, a, [role="button"]'),fe=e=>{const t=e.map(r=>N(r.viewport));e.forEach((r,o)=>{const n=t[o];n&&r.fitToViewport(n)})},he=()=>{D!==null||T.size===0||(D=window.requestAnimationFrame(()=>{D=null,fe(Array.from(T))}))},Ue=()=>{if(M)return M;const e=globalThis.ResizeObserver;return e?(M=new e(t=>{for(const r of t)r.target instanceof HTMLElement&&F.get(r.target)?.fitToViewport({width:r.contentRect.width,height:r.contentRect.height})}),M):null},Xe=e=>{if(T.has(e))return;const t=T.size===0;T.add(e),F.set(e.viewport,e),Ue()?.observe(e.viewport),t&&window.addEventListener("resize",he)},Ye=e=>{T.delete(e)&&(M?.unobserve(e.viewport),F.delete(e.viewport),!(T.size>0)&&(M?.disconnect(),M=null,window.removeEventListener("resize",he),D!==null&&(window.cancelAnimationFrame(D),D=null)))},Ke=e=>{const t=Fe(e),r=e.querySelector('[data-markdown="mermaid"] svg');if(!t||!r)return null;const o=ze({viewBox:r.getAttribute("viewBox"),width:r.getAttribute("width"),height:r.getAttribute("height")});if(!o)return null;let n=o,s=null,i=null,a=null,c=null;const l=new Map;let u=null;const h=d=>{n=d,r.setAttribute("viewBox",Pe(d)),r.removeAttribute("width"),r.removeAttribute("height")},p=d=>{h(ue(o,d))},g=()=>{p(N(t))},E=(d,S)=>{h(Be({currentBox:n,contentBox:o,viewport:N(t),pointer:d,zoomFactor:S,minScale:We,maxScale:Ie}))},m=()=>{const d=N(t);E({x:d.width/2,y:d.height/2},Y)},f=()=>{const d=N(t);E({x:d.width/2,y:d.height/2},1/Y)},w=d=>{!d.ctrlKey&&!d.metaKey||(d.preventDefault(),d.stopPropagation(),E(G(d,t),Math.pow(Re,-d.deltaY)))},A=d=>{if(!(d.button!==0||je(d.target))){if(d.isPrimary&&(l.clear(),u=null),l.set(d.pointerId,{x:d.clientX,y:d.clientY}),l.size>1){s=null,u=V(Array.from(l.values()))?.distance??null,t.setPointerCapture?.(d.pointerId),e.setAttribute("data-mermaid-suppress-click","true"),d.preventDefault();return}s=d.pointerId,i={x:d.clientX,y:d.clientY},a=i,c!==null&&(window.clearTimeout(c),c=null),e.removeAttribute("data-mermaid-suppress-click"),t.setPointerCapture?.(d.pointerId),e.setAttribute("data-mermaid-panning","true"),d.preventDefault()}},k=d=>{const S={x:d.clientX,y:d.clientY};if(u!==null&&l.has(d.pointerId)){l.set(d.pointerId,S);const L=V(Array.from(l.values()));if(L){const _=G({clientX:L.center.x,clientY:L.center.y},t);E(_,L.distance/u),u=L.distance}d.preventDefault();return}s!==d.pointerId||!a||(h(Ve({currentBox:n,viewport:N(t),delta:{x:S.x-a.x,y:S.y-a.y}})),a=S,i&&$e(i,S)&&e.setAttribute("data-mermaid-suppress-click","true"),d.preventDefault())},C=d=>{if(l.delete(d.pointerId)){if(t.releasePointerCapture?.(d.pointerId),l.size>0){s=null,u=l.size>1?V(Array.from(l.values()))?.distance??null:null;return}u=null,s=null,i=null,a=null,e.removeAttribute("data-mermaid-panning"),e.hasAttribute("data-mermaid-suppress-click")&&(c=window.setTimeout(()=>{e.removeAttribute("data-mermaid-suppress-click"),c=null},_e))}};t.addEventListener("wheel",w,{passive:!1}),t.addEventListener("pointerdown",A),t.addEventListener("pointermove",k),t.addEventListener("pointerup",C),t.addEventListener("pointercancel",C);const y={viewport:t,zoomIn:m,zoomOut:f,fit:g,fitToViewport:p,cleanup:()=>{Ye(y),t.removeEventListener("wheel",w),t.removeEventListener("pointerdown",A),t.removeEventListener("pointermove",k),t.removeEventListener("pointerup",C),t.removeEventListener("pointercancel",C),c!==null&&window.clearTimeout(c),l.clear(),e.removeAttribute("data-mermaid-panning"),e.removeAttribute("data-mermaid-suppress-click"),O.delete(e)}};return y},ge=e=>{for(const[t,r]of e.controllers){const o=pe(t);(!e.container.contains(t)||o!==e.signatures.get(t))&&(r.cleanup(),e.controllers.delete(t),e.signatures.delete(t))}},Ge=e=>{if(e.disposed)return[];const t=[];for(const r of Array.from(e.container.querySelectorAll(me))){if(e.controllers.has(r)||r.querySelector('[data-markdown="mermaid"] svg')===null)continue;const o=Ke(r);o&&(e.controllers.set(r,o),e.signatures.set(r,pe(r)),O.set(r,o),t.push(o))}return t},we=()=>{const e=Array.from(I);I.clear();const t=[];for(const r of e)r.disposed||(ge(r),t.push(...Ge(r)));fe(t);for(const r of t)Xe(r)},Ze=()=>{R===null&&(R=window.requestAnimationFrame(()=>{R=null,R=window.requestAnimationFrame(()=>{R=null,we()})}))},Je=e=>{e.disposed||(ge(e),I.add(e),Ze())},Qe=e=>{if(!(e instanceof HTMLElement))return null;const t=O.get(e);if(t)return t;for(const r of I)if(r.container.contains(e))return we(),O.get(e)??null;return null},Mt=e=>{const t={container:e,controllers:new Map,signatures:new Map,disposed:!1},r=()=>Je(t),o=()=>{t.disposed=!0,I.delete(t);for(const n of t.controllers.values())n.cleanup();t.controllers.clear(),t.signatures.clear()};return r(),{refresh:r,cleanup:o}},et={copy:"file-copy",check:"check",download:"download",zoomIn:"add",zoomOut:"subtract",fit:"refresh",textWrap:"text-wrap",image:"file-image",disclosure:"arrow-right-s",browser:"global"},be="p-1 rounded hover:bg-interactive-hover/60 text-muted-foreground hover:text-foreground transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--interactive-focus-ring)]",q=(e,t)=>{const r=et[t],o=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("class","remixicon size-3.5"),o.setAttribute("viewBox","0 0 24 24"),o.setAttribute("aria-hidden","true");const n=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","use");n.setAttribute("href",`#oc-${r}`),o.appendChild(n),e.replaceChildren(o)},tt=e=>{for(const t of Array.from(e.querySelectorAll('[data-openchamber-markdown-image-label="true"]'))){if(t.querySelector("[data-openchamber-markdown-image-label-icon]"))continue;const r=document.createElement("span");r.className="inline-flex shrink-0",r.setAttribute("aria-hidden","true"),r.setAttribute("data-openchamber-markdown-image-label-icon","true"),q(r,"image"),t.prepend(r)}},Z=(e,t)=>{if(e.querySelector("svg"))return;const r=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("class","block size-[1.1em] shrink-0"),r.setAttribute("aria-hidden","true"),r.setAttribute("focusable","false");const o=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","use");o.setAttribute("href",t),r.appendChild(o),e.prepend(r)},rt=e=>{for(const t of Array.from(e.querySelectorAll("[data-attachment-citation]"))){const r=t.getAttribute("data-attachment-citation")??"";r&&Z(t,`#${r}`)}for(const t of Array.from(e.querySelectorAll("a[data-skill-name]")))Z(t,Te)},ot=e=>{for(const t of e.querySelectorAll("details[data-md-details] > summary")){if(t.querySelector("[data-md-disclosure-icon]"))continue;const r=document.createElement("span");r.append(...Array.from(t.childNodes));const o=document.createElement("span");o.setAttribute("data-md-disclosure-icon",""),o.setAttribute("aria-hidden","true"),q(o,"disclosure"),t.append(o,r)}},v=(e,t,r)=>{const o=document.createElement("button");return o.type="button",o.className=be,o.setAttribute("data-md-action",r),o.setAttribute("title",t),o.setAttribute("aria-label",t),q(o,e),o},ye=(e,t,r,o)=>{const n=t?o:r;e.setAttribute("title",n),e.setAttribute("aria-label",n),e.classList.toggle("text-foreground",t),e.classList.toggle("opacity-100",t),e.classList.toggle("text-muted-foreground",!t),e.classList.toggle("opacity-65",!t),e.setAttribute("aria-pressed",t?"true":"false")},Ae=(e,t,r)=>{const o=e.querySelector("[data-md-code-body]"),n=e.querySelector("pre"),s=e.querySelector("pre code"),i=e.querySelector('[data-md-action="toggle-code-wrap"]');e.setAttribute("data-code-wrap",t?"true":"false"),o?.classList.toggle("overflow-x-auto",!t),o?.classList.toggle("overflow-x-hidden",t),n?.classList.toggle("whitespace-pre-wrap",t),n?.classList.toggle("break-words",t),s?.classList.toggle("whitespace-pre-wrap",t),s?.classList.toggle("break-words",t),n&&(n.style.whiteSpace=t?"pre-wrap":"pre",n.style.overflowWrap=t?"anywhere":"normal"),s&&(s.style.whiteSpace=t?"pre-wrap":"pre",s.style.overflowWrap=t?"anywhere":"normal"),i&&ye(i,t,r.enableCodeWrap,r.disableCodeWrap)},$="data-md-code-lines",nt=e=>{const t=Array.from(e.children).find(n=>n.tagName==="CODE");if(!t||t.hasAttribute($))return;if(t.setAttribute($,""),Array.from(t.children).some(n=>n.classList.contains("line"))){Ne(t);return}const r=t.ownerDocument,o=r.createDocumentFragment();(t.textContent??"").split(`
|
|
1
|
+
import{a3 as de,aZ as Ee,a_ as ke,a$ as Le,aA as z,b0 as xe,b1 as Me,b2 as Te}from"./useAppFontEffects-Dm6zEvrf.js";import{e as Ne}from"./openFenceIncremental-7wgnc2ZL.js";import{getMarkdownSelectionText as De}from"./selectionMarkdown-B_3WTOUr.js";const b=e=>Number.isFinite(e)&&e>0,X=e=>{if(e==null)return null;const t=String(e).trim().match(/^([+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?)(?:px)?$/);if(!t)return null;const r=Number(t[1]);return b(r)?r:null},H=(e,t,r)=>Math.min(r,Math.max(t,e)),qe=6,Y=1.25,Re=1.0015,We=.5,Ie=12,K=3,_e=400,me='[data-markdown="mermaid-block"]',xt=e=>e.querySelector(me)!==null,Pe=e=>[e.x,e.y,e.width,e.height].map(t=>{const r=Number(t.toFixed(qe));return Object.is(r,-0)?"0":String(r)}).join(" "),ze=e=>{const t=e.viewBox?.trim().split(/[\s,]+/).map(n=>Number.parseFloat(n));if(t?.length===4){const[n,s,i,a]=t;if(Number.isFinite(n)&&Number.isFinite(s)&&b(i)&&b(a))return{x:n,y:s,width:i,height:a}}const r=X(e.width),o=X(e.height);return r===null||o===null?null:{x:0,y:0,width:r,height:o}},Oe=e=>{let t=2166136261;for(let r=0;r<e.length;r+=1)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(36)},He=e=>{const t=e.renderMode||"unknown",r=e.svgMarkup??"";if(!r){const o=[e.viewBox??"",e.width??"",e.height??""];return o.some(n=>n!=="")?`${t}:bounds:${o.join(":")}`:`${t}:no-svg`}return[t,Oe(r)].join(":")},ue=(e,t)=>{if(!b(t.width)||!b(t.height))return e;const r=e.width/e.height,o=t.width/t.height;if(r>o){const s=e.width/o;return{x:e.x,y:e.y-(s-e.height)/2,width:e.width,height:s}}const n=e.height*o;return{x:e.x-(n-e.width)/2,y:e.y,width:n,height:e.height}},Ve=({currentBox:e,viewport:t,delta:r})=>!b(t.width)||!b(t.height)||!b(e.width)||!b(e.height)?e:{x:e.x-r.x/t.width*e.width,y:e.y-r.y/t.height*e.height,width:e.width,height:e.height},$e=(e,t)=>{const r=t.x-e.x,o=t.y-e.y;return r*r+o*o>K*K},V=e=>{const[t,r]=e;return!t||!r?null:{distance:Math.hypot(r.x-t.x,r.y-t.y),center:{x:(t.x+r.x)/2,y:(t.y+r.y)/2}}},Be=({currentBox:e,contentBox:t,viewport:r,pointer:o,zoomFactor:n,minScale:s,maxScale:i})=>{if(!b(r.width)||!b(r.height)||!b(n)||!b(e.width)||!b(e.height)||!b(t.width)||!b(t.height)||!b(s)||!b(i))return e;const a=Math.min(s,i),c=Math.max(s,i),l=ue(t,r),u=l.width/e.width,h=H(u*n,a,c),p=l.width/h,g=p/(e.width/e.height),E=H(o.x/r.width,0,1),m=H(o.y/r.height,0,1),f=e.x+E*e.width,w=e.y+m*e.height;return{x:f-E*p,y:w-m*g,width:p,height:g}},O=new WeakMap,F=new WeakMap,T=new Set,I=new Set;let M=null,R=null,D=null;const Fe=e=>e.querySelector('[data-markdown="mermaid-viewport"]')??e.querySelector('[data-markdown="mermaid"]'),pe=e=>{const t=e.querySelector('[data-markdown="mermaid"] svg'),r=e.querySelector('[data-markdown="mermaid"]');return He({renderMode:e.getAttribute("data-mermaid-render"),svgMarkup:r?.getAttribute("data-md-original-svg")??t?.outerHTML??null,viewBox:t?.getAttribute("viewBox"),width:t?.getAttribute("width"),height:t?.getAttribute("height")})},N=e=>{const t=e.getBoundingClientRect();return{width:t.width,height:t.height}},G=(e,t)=>{const r=t.getBoundingClientRect();return{x:e.clientX-r.left,y:e.clientY-r.top}},je=e=>e instanceof Element&&!!e.closest('button, a, [role="button"]'),fe=e=>{const t=e.map(r=>N(r.viewport));e.forEach((r,o)=>{const n=t[o];n&&r.fitToViewport(n)})},he=()=>{D!==null||T.size===0||(D=window.requestAnimationFrame(()=>{D=null,fe(Array.from(T))}))},Ue=()=>{if(M)return M;const e=globalThis.ResizeObserver;return e?(M=new e(t=>{for(const r of t)r.target instanceof HTMLElement&&F.get(r.target)?.fitToViewport({width:r.contentRect.width,height:r.contentRect.height})}),M):null},Xe=e=>{if(T.has(e))return;const t=T.size===0;T.add(e),F.set(e.viewport,e),Ue()?.observe(e.viewport),t&&window.addEventListener("resize",he)},Ye=e=>{T.delete(e)&&(M?.unobserve(e.viewport),F.delete(e.viewport),!(T.size>0)&&(M?.disconnect(),M=null,window.removeEventListener("resize",he),D!==null&&(window.cancelAnimationFrame(D),D=null)))},Ke=e=>{const t=Fe(e),r=e.querySelector('[data-markdown="mermaid"] svg');if(!t||!r)return null;const o=ze({viewBox:r.getAttribute("viewBox"),width:r.getAttribute("width"),height:r.getAttribute("height")});if(!o)return null;let n=o,s=null,i=null,a=null,c=null;const l=new Map;let u=null;const h=d=>{n=d,r.setAttribute("viewBox",Pe(d)),r.removeAttribute("width"),r.removeAttribute("height")},p=d=>{h(ue(o,d))},g=()=>{p(N(t))},E=(d,S)=>{h(Be({currentBox:n,contentBox:o,viewport:N(t),pointer:d,zoomFactor:S,minScale:We,maxScale:Ie}))},m=()=>{const d=N(t);E({x:d.width/2,y:d.height/2},Y)},f=()=>{const d=N(t);E({x:d.width/2,y:d.height/2},1/Y)},w=d=>{!d.ctrlKey&&!d.metaKey||(d.preventDefault(),d.stopPropagation(),E(G(d,t),Math.pow(Re,-d.deltaY)))},A=d=>{if(!(d.button!==0||je(d.target))){if(d.isPrimary&&(l.clear(),u=null),l.set(d.pointerId,{x:d.clientX,y:d.clientY}),l.size>1){s=null,u=V(Array.from(l.values()))?.distance??null,t.setPointerCapture?.(d.pointerId),e.setAttribute("data-mermaid-suppress-click","true"),d.preventDefault();return}s=d.pointerId,i={x:d.clientX,y:d.clientY},a=i,c!==null&&(window.clearTimeout(c),c=null),e.removeAttribute("data-mermaid-suppress-click"),t.setPointerCapture?.(d.pointerId),e.setAttribute("data-mermaid-panning","true"),d.preventDefault()}},k=d=>{const S={x:d.clientX,y:d.clientY};if(u!==null&&l.has(d.pointerId)){l.set(d.pointerId,S);const L=V(Array.from(l.values()));if(L){const _=G({clientX:L.center.x,clientY:L.center.y},t);E(_,L.distance/u),u=L.distance}d.preventDefault();return}s!==d.pointerId||!a||(h(Ve({currentBox:n,viewport:N(t),delta:{x:S.x-a.x,y:S.y-a.y}})),a=S,i&&$e(i,S)&&e.setAttribute("data-mermaid-suppress-click","true"),d.preventDefault())},C=d=>{if(l.delete(d.pointerId)){if(t.releasePointerCapture?.(d.pointerId),l.size>0){s=null,u=l.size>1?V(Array.from(l.values()))?.distance??null:null;return}u=null,s=null,i=null,a=null,e.removeAttribute("data-mermaid-panning"),e.hasAttribute("data-mermaid-suppress-click")&&(c=window.setTimeout(()=>{e.removeAttribute("data-mermaid-suppress-click"),c=null},_e))}};t.addEventListener("wheel",w,{passive:!1}),t.addEventListener("pointerdown",A),t.addEventListener("pointermove",k),t.addEventListener("pointerup",C),t.addEventListener("pointercancel",C);const y={viewport:t,zoomIn:m,zoomOut:f,fit:g,fitToViewport:p,cleanup:()=>{Ye(y),t.removeEventListener("wheel",w),t.removeEventListener("pointerdown",A),t.removeEventListener("pointermove",k),t.removeEventListener("pointerup",C),t.removeEventListener("pointercancel",C),c!==null&&window.clearTimeout(c),l.clear(),e.removeAttribute("data-mermaid-panning"),e.removeAttribute("data-mermaid-suppress-click"),O.delete(e)}};return y},ge=e=>{for(const[t,r]of e.controllers){const o=pe(t);(!e.container.contains(t)||o!==e.signatures.get(t))&&(r.cleanup(),e.controllers.delete(t),e.signatures.delete(t))}},Ge=e=>{if(e.disposed)return[];const t=[];for(const r of Array.from(e.container.querySelectorAll(me))){if(e.controllers.has(r)||r.querySelector('[data-markdown="mermaid"] svg')===null)continue;const o=Ke(r);o&&(e.controllers.set(r,o),e.signatures.set(r,pe(r)),O.set(r,o),t.push(o))}return t},we=()=>{const e=Array.from(I);I.clear();const t=[];for(const r of e)r.disposed||(ge(r),t.push(...Ge(r)));fe(t);for(const r of t)Xe(r)},Ze=()=>{R===null&&(R=window.requestAnimationFrame(()=>{R=null,R=window.requestAnimationFrame(()=>{R=null,we()})}))},Je=e=>{e.disposed||(ge(e),I.add(e),Ze())},Qe=e=>{if(!(e instanceof HTMLElement))return null;const t=O.get(e);if(t)return t;for(const r of I)if(r.container.contains(e))return we(),O.get(e)??null;return null},Mt=e=>{const t={container:e,controllers:new Map,signatures:new Map,disposed:!1},r=()=>Je(t),o=()=>{t.disposed=!0,I.delete(t);for(const n of t.controllers.values())n.cleanup();t.controllers.clear(),t.signatures.clear()};return r(),{refresh:r,cleanup:o}},et={copy:"file-copy",check:"check",download:"download",zoomIn:"add",zoomOut:"subtract",fit:"refresh",textWrap:"text-wrap",image:"file-image",disclosure:"arrow-right-s",browser:"global"},be="p-1 rounded hover:bg-interactive-hover/60 text-muted-foreground hover:text-foreground transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--interactive-focus-ring)]",q=(e,t)=>{const r=et[t],o=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","svg");o.setAttribute("class","remixicon size-3.5"),o.setAttribute("viewBox","0 0 24 24"),o.setAttribute("aria-hidden","true");const n=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","use");n.setAttribute("href",`#oc-${r}`),o.appendChild(n),e.replaceChildren(o)},tt=e=>{for(const t of Array.from(e.querySelectorAll('[data-openchamber-markdown-image-label="true"]'))){if(t.querySelector("[data-openchamber-markdown-image-label-icon]"))continue;const r=document.createElement("span");r.className="inline-flex shrink-0",r.setAttribute("aria-hidden","true"),r.setAttribute("data-openchamber-markdown-image-label-icon","true"),q(r,"image"),t.prepend(r)}},Z=(e,t)=>{if(e.querySelector("svg"))return;const r=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("class","block size-[1.1em] shrink-0"),r.setAttribute("aria-hidden","true"),r.setAttribute("focusable","false");const o=e.ownerDocument.createElementNS("http://www.w3.org/2000/svg","use");o.setAttribute("href",t),r.appendChild(o),e.prepend(r)},rt=e=>{for(const t of Array.from(e.querySelectorAll("[data-attachment-citation]"))){const r=t.getAttribute("data-attachment-citation")??"";r&&Z(t,`#${r}`)}for(const t of Array.from(e.querySelectorAll("a[data-skill-name]")))Z(t,Te)},ot=e=>{for(const t of e.querySelectorAll("details[data-md-details] > summary")){if(t.querySelector("[data-md-disclosure-icon]"))continue;const r=document.createElement("span");r.append(...Array.from(t.childNodes));const o=document.createElement("span");o.setAttribute("data-md-disclosure-icon",""),o.setAttribute("aria-hidden","true"),q(o,"disclosure"),t.append(o,r)}},v=(e,t,r)=>{const o=document.createElement("button");return o.type="button",o.className=be,o.setAttribute("data-md-action",r),o.setAttribute("title",t),o.setAttribute("aria-label",t),q(o,e),o},ye=(e,t,r,o)=>{const n=t?o:r;e.setAttribute("title",n),e.setAttribute("aria-label",n),e.classList.toggle("text-foreground",t),e.classList.toggle("opacity-100",t),e.classList.toggle("text-muted-foreground",!t),e.classList.toggle("opacity-65",!t),e.setAttribute("aria-pressed",t?"true":"false")},Ae=(e,t,r)=>{const o=e.querySelector("[data-md-code-body]"),n=e.querySelector("pre"),s=e.querySelector("pre code"),i=e.querySelector('[data-md-action="toggle-code-wrap"]');e.setAttribute("data-code-wrap",t?"true":"false"),o?.classList.toggle("overflow-x-auto",!t),o?.classList.toggle("overflow-x-hidden",t),n?.classList.toggle("whitespace-pre-wrap",t),n?.classList.toggle("break-words",t),s?.classList.toggle("whitespace-pre-wrap",t),s?.classList.toggle("break-words",t),n&&(n.style.whiteSpace=t?"pre-wrap":"pre",n.style.overflowWrap=t?"anywhere":"normal"),s&&(s.style.whiteSpace=t?"pre-wrap":"pre",s.style.overflowWrap=t?"anywhere":"normal"),i&&ye(i,t,r.enableCodeWrap,r.disableCodeWrap)},$="data-md-code-lines",nt=e=>{const t=Array.from(e.children).find(n=>n.tagName==="CODE");if(!t||t.hasAttribute($))return;if(t.setAttribute($,""),Array.from(t.children).some(n=>n.classList.contains("line"))){Ne(t);return}const r=t.ownerDocument,o=r.createDocumentFragment();(t.textContent??"").split(`
|
|
2
2
|
`).forEach((n,s)=>{s>0&&o.appendChild(r.createTextNode(`
|
|
3
3
|
`));const i=r.createElement("span");i.className="line",n&&(i.textContent=n),o.appendChild(i)}),t.replaceChildren(o)},at=(e,t,r)=>{const o=e.querySelectorAll('[data-component="markdown-code"]');for(const n of Array.from(o))Ae(n,t,r)},J=(e,t,r,o)=>{q(e,"check"),e.setAttribute("title",t),e.setAttribute("aria-label",t),window.setTimeout(()=>{q(e,r),e.setAttribute("title",o),e.setAttribute("aria-label",o)},2e3)},it=e=>{const t=e.querySelectorAll(":not(pre) > code");for(const r of Array.from(t))r.getAttribute("data-markdown")!=="inline-code"&&r.setAttribute("data-markdown","inline-code"),r.getAttribute("dir")!=="ltr"&&r.setAttribute("dir","ltr"),r.closest("table")&&r.classList.add("whitespace-nowrap")},st=(e,t)=>{const r=e.querySelectorAll("pre");for(const o of Array.from(r)){if(o.querySelector("code.language-mermaid"))continue;const n=o.parentElement;if(!n||n.closest('[data-component="markdown-code"]'))continue;const s=o.querySelector("code")?.className.match(/language-([\w+#.-]+)/)?.[1]?.toLowerCase(),i=o.getAttribute("data-md-lang")??s??"text",a=document.createElement("div");a.setAttribute("data-component","markdown-code"),a.setAttribute("dir","ltr"),a.className="my-4 group overflow-hidden rounded-2xl border border-border/80 bg-[var(--surface-elevated)]";const c=document.createElement("div");c.className="flex items-center justify-between border-b border-border/70 px-3 py-1.5";const l=document.createElement("span");l.className="font-mono text-[13px] text-muted-foreground",l.textContent=i;const u=v("copy",t.labels.copy,"copy-code"),h=v("textWrap",t.codeBlockLineWrap?t.labels.disableCodeWrap:t.labels.enableCodeWrap,"toggle-code-wrap");c.appendChild(l);const p=document.createElement("div");p.className="flex items-center gap-1",p.setAttribute("data-md-code-actions",""),p.appendChild(h),p.appendChild(u),c.appendChild(p);const g=document.createElement("div");g.setAttribute("data-md-code-body",""),g.className="px-3 py-2.5 overflow-x-auto",n.replaceChild(a,o),o.style.margin="0",o.style.background="transparent",o.classList.add("min-w-0","w-full","flex-1"),nt(o),g.appendChild(o),a.appendChild(c),a.appendChild(g),Ae(a,t.codeBlockLineWrap,t.labels)}},Q=e=>e.replace(/\\/g,"\\\\").replace(/\|/g,"\\|"),lt=(e,t)=>{const r=o=>{if(!(o instanceof Element)){const n=o.textContent??"";return t?Q(n):n}if(o.tagName==="A"){const n=o.getAttribute("href");if(n){const s=n.replace(/ /g,"%20");if(!t)return s;const i=Q(o.textContent??"").replace(/\[/g,"\\[").replace(/\]/g,"\\]"),a=s.replace(/\|/g,"%7C"),c=/[()]/.test(a)?`<${a.replace(/</g,"%3C").replace(/>/g,"%3E")}>`:a;return`[${i}](${c})`}}return Array.from(o.childNodes).map(r).join("")};return Array.from(e.childNodes).map(r).join("")},ee=(e,t)=>{const r=t==="markdown",o=c=>lt(c,r).trim(),n=[],s=[],i=e.querySelectorAll("thead th");for(const c of Array.from(i))n.push(o(c));const a=e.querySelectorAll("tbody tr");for(const c of Array.from(a)){const l=Array.from(c.querySelectorAll("td")).map(o);l.length>0&&s.push(l)}return{headers:n,rows:s}},ct=e=>/[",\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e,te=({headers:e,rows:t})=>[e,...t].map(r=>r.map(ct).join(",")).join(`
|
|
4
4
|
`),dt=({headers:e,rows:t})=>[e,...t].map(r=>r.join(" ")).join(`
|