@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.
Files changed (103) hide show
  1. package/dist/assets/{AboutDialog-Dz_8z7Rq.js → AboutDialog-C8mAGhnz.js} +1 -1
  2. package/dist/assets/{ArchiveView-BoMjLD0N.js → ArchiveView-4-LVDLmf.js} +1 -1
  3. package/dist/assets/{ChangedPathLabel-BirEUxH2.js → ChangedPathLabel-BCiU4QDF.js} +1 -1
  4. package/dist/assets/{CommandPalette-DkLX-AKB.js → CommandPalette-DEcmPHdC.js} +1 -1
  5. package/dist/assets/{DiffView-DwyXDHsF.js → DiffView-CaDZ4gTk.js} +3 -3
  6. package/dist/assets/{FilesView-BFi9HBg1.js → FilesView-Csrs_BGv.js} +1 -1
  7. package/dist/assets/{GitView-BzWRNg_F.js → GitView-DvxCZgCW.js} +3 -3
  8. package/dist/assets/{GuestSurfacePane-zDcKyz78.js → GuestSurfacePane-DNg0xBTD.js} +1 -1
  9. package/dist/assets/{HelpDialog-DZVlv3x2.js → HelpDialog-CLyz3_xd.js} +1 -1
  10. package/dist/assets/{InProgressOperationBanner-BiEntIfh.js → InProgressOperationBanner-BVDKUDqn.js} +2 -2
  11. package/dist/assets/{IntegrationsCatalogView-CCHFMcZP.js → IntegrationsCatalogView-u1gS0Vk8.js} +1 -1
  12. package/dist/assets/{JsonTreeView-BwELoub1.js → JsonTreeView-BpJU14WJ.js} +1 -1
  13. package/dist/assets/{MarkdownRendererImpl-DxBYkSKd.js → MarkdownRendererImpl-t3OoYn_0.js} +1 -1
  14. package/dist/assets/{MemoryDebugPanel-C9zpPXVo.js → MemoryDebugPanel-9z1jGWze.js} +1 -1
  15. package/dist/assets/{OnboardingScreen-Cnzzs_TQ.js → OnboardingScreen-xzT7ckY0.js} +1 -1
  16. package/dist/assets/{OpenCodeStatusDialog-DizE9xAy.js → OpenCodeStatusDialog-skpJZSjK.js} +1 -1
  17. package/dist/assets/{PatchDiff-Cz_UxB-k.js → PatchDiff-BWW_8bob.js} +1 -1
  18. package/dist/assets/{PierreDiffViewer-BT3MrXwN.js → PierreDiffViewer-BZDNV4Uj.js} +1 -1
  19. package/dist/assets/{PlanView-B-SCCd7M.js → PlanView-D7wshtfZ.js} +1 -1
  20. package/dist/assets/{ProjectActionsDialog-4OSNuzpG.js → ProjectActionsDialog-BPh74BCt.js} +1 -1
  21. package/dist/assets/{PullRequestComparisonSelector-lp98DrYm.js → PullRequestComparisonSelector-BBdU2rL1.js} +3 -3
  22. package/dist/assets/{RunOverview-DJhjR9uR.js → RunOverview-Cngm2OOp.js} +2 -2
  23. package/dist/assets/{ScheduledTasksDialog-Dwil7zsx.js → ScheduledTasksDialog-DUjDdkw2.js} +1 -1
  24. package/dist/assets/{SettingsView-DVcV2Rk9.js → SettingsView-CCZOw018.js} +2 -2
  25. package/dist/assets/{SettingsWindow-DbbAS4Se.js → SettingsWindow-Cndsj5Vu.js} +1 -1
  26. package/dist/assets/{SourceBoardView-BVcmYpvE.js → SourceBoardView-8Wp0oUvB.js} +1 -1
  27. package/dist/assets/{SpaceAccessDialog-DxjFUcHZ.js → SpaceAccessDialog-CxfCzTpe.js} +1 -1
  28. package/dist/assets/{SpaceApplyDialog-Dbrbh-j4.js → SpaceApplyDialog-CYp0A76N.js} +1 -1
  29. package/dist/assets/{SpaceRow-Cwam4mHh.js → SpaceRow-CQp4PkPJ.js} +1 -1
  30. package/dist/assets/{SpaceSetupOutput-B_w02jDi.js → SpaceSetupOutput-RNo0mWrR.js} +1 -1
  31. package/dist/assets/{SpacesView-CGrFWnO-.js → SpacesView-BwcDCv3D.js} +1 -1
  32. package/dist/assets/{SubmoduleDiffSummary-DFL-m_eu.js → SubmoduleDiffSummary-BQduif5s.js} +1 -1
  33. package/dist/assets/{ToolOutputDialog-Co0VXa0y.js → ToolOutputDialog-BVCvqYsK.js} +1 -1
  34. package/dist/assets/{ToolPartDiffPreview-CBSzwkat.js → ToolPartDiffPreview-BXpCHBW9.js} +1 -1
  35. package/dist/assets/{UsageStatsView-BjtTNSt8.js → UsageStatsView-CsC_RzAH.js} +1 -1
  36. package/dist/assets/{Virtualizer-Cmng0Q1E.js → Virtualizer-nenVQKi3.js} +1 -1
  37. package/dist/assets/{WalkthroughView-C7AkVuHQ.js → WalkthroughView-CdIYpttA.js} +1 -1
  38. package/dist/assets/{WorktreesView-CYU2KJ6E.js → WorktreesView-D102xE1o.js} +1 -1
  39. package/dist/assets/{appThemeRegistry-CDGE1wtP.js → appThemeRegistry-BWap7OfW.js} +1 -1
  40. package/dist/assets/{ar-BlEU--PN.js → ar-9CiK5cuu.js} +3 -3
  41. package/dist/assets/{computeVirtualFileMetrics-BgqasG86.js → computeVirtualFileMetrics-DDyA16hp.js} +1 -1
  42. package/dist/assets/{de-DWs4Mcjc.js → de-Drq6oIkP.js} +3 -3
  43. package/dist/assets/{decorate-CpxLqoVw.js → decorate-CemSwkUs.js} +1 -1
  44. package/dist/assets/{es-k5T7CE97.js → es-0bkFr34F.js} +3 -3
  45. package/dist/assets/{flexokiTheme-BG4cSAMb.js → flexokiTheme-PoX6Vqyn.js} +1 -1
  46. package/dist/assets/{fr-CzmypgZ8.js → fr-CjgWVupK.js} +3 -3
  47. package/dist/assets/{he-DdkxJnUn.js → he-BrJa9oPB.js} +4 -4
  48. package/dist/assets/{index-BrL960j-.js → index-B2WHEal3.js} +1 -1
  49. package/dist/assets/{initializeSharedPreferences-CrnmmfFs.js → initializeSharedPreferences-1Vo6G7CM.js} +1 -1
  50. package/dist/assets/{install-DvRQsTjX.js → install-FletzeYD.js} +1 -1
  51. package/dist/assets/{isDiffPlainText-KGYbp86N.js → isDiffPlainText-yXcpftjI.js} +1 -1
  52. package/dist/assets/{isFilePlainText-D7rclQrA.js → isFilePlainText-Dpm-_Qu8.js} +1 -1
  53. package/dist/assets/{ja-Qqkyglaf.js → ja-cfyrqWPa.js} +3 -3
  54. package/dist/assets/katex.min-F4TD1ekM.js +69 -0
  55. package/dist/assets/{ko-B8idPK2d.js → ko-herKAlGO.js} +3 -3
  56. package/dist/assets/{main-D4-y6PQ0.js → main-CO7wKNtS.js} +2 -2
  57. package/dist/assets/{main-Cmc8m6dZ.js → main-DN47yDMe.js} +19 -19
  58. package/dist/assets/markdownCore-BY21GJ_M.js +10 -0
  59. package/dist/assets/{miniChat-CjJ77DDL.js → miniChat-BmFJFQph.js} +2 -2
  60. package/dist/assets/{mobile-DlFdLxjR.js → mobile-DTi98S93.js} +2 -2
  61. package/dist/assets/{moveWorkspacePath-CVdEBQ6v.js → moveWorkspacePath-CENAo75W.js} +1 -1
  62. package/dist/assets/{nl-CFXZKHp7.js → nl-mZ4VCoiQ.js} +3 -3
  63. package/dist/assets/{parseDiffFromFile-DWemyyqU.js → parseDiffFromFile-BSmRvd3V.js} +1 -1
  64. package/dist/assets/{pierreDiffTint-B7qPTZmL.js → pierreDiffTint-cyYFR1bm.js} +1 -1
  65. package/dist/assets/{pl-slLgZWDu.js → pl-C98lvkcZ.js} +4 -4
  66. package/dist/assets/{pt-BR-C319g_nn.js → pt-BR-CB63WPLS.js} +3 -3
  67. package/dist/assets/{relocateRestoredSession-cOuWlgWB.js → relocateRestoredSession-D8Sf_FG_.js} +1 -1
  68. package/dist/assets/{renderElectronMiniChatApp-DFnEi5Tr.js → renderElectronMiniChatApp-DmQ8i5jp.js} +2 -2
  69. package/dist/assets/{renderMobileApp-C2TYqVOV.js → renderMobileApp-CND9CafV.js} +3 -3
  70. package/dist/assets/{restartOpenCode-Dvk4CWW7.js → restartOpenCode-D8ExMl55.js} +1 -1
  71. package/dist/assets/{runtimeEndpointReset-D7viEboD.js → runtimeEndpointReset-lg1O2gVX.js} +3 -3
  72. package/dist/assets/{scheduledTasksApi-FZ9stPNl.js → scheduledTasksApi-CJBNpwgy.js} +1 -1
  73. package/dist/assets/{selectionMarkdown-CCursbAw.js → selectionMarkdown-B_3WTOUr.js} +1 -1
  74. package/dist/assets/{shikiHighlight-CLj7Oan9.js → shikiHighlight-DBj_a_TN.js} +1 -1
  75. package/dist/assets/{space-apply-DdhqZWNy.js → space-apply-COMscpEL.js} +1 -1
  76. package/dist/assets/{space-close-KXdazynX.js → space-close-DDLvYCUc.js} +1 -1
  77. package/dist/assets/{spaceNetwork-DzU3SK9K.js → spaceNetwork-CNxs51y4.js} +1 -1
  78. package/dist/assets/{textMateThemeFromAppTheme-C-jxkZJj.js → textMateThemeFromAppTheme-tYpAceV3.js} +1 -1
  79. package/dist/assets/{tr-DNnJ5oqk.js → tr-C5KUa-8X.js} +3 -3
  80. package/dist/assets/{uk-Bw0BJwHw.js → uk-D44Grdmc.js} +3 -3
  81. package/dist/assets/{useAppFontEffects-DAUhSLPu.js → useAppFontEffects-Dm6zEvrf.js} +200 -199
  82. package/dist/assets/{useCallableModelProviders-B-UCRuyn.js → useCallableModelProviders-BK3j8Sde.js} +1 -1
  83. package/dist/assets/{useDiffFindSurface-CU_63uoI.js → useDiffFindSurface-CaCh-qt2.js} +1 -1
  84. package/dist/assets/{useInlineCommentController-bYCeqE6r.js → useInlineCommentController-a2JepiF3.js} +1 -1
  85. package/dist/assets/{useMarkdownLocalAssets-CnMxnDdI.js → useMarkdownLocalAssets-BEApAshz.js} +2 -2
  86. package/dist/assets/{useRootScrollLock-DNYaZ34X.js → useRootScrollLock-mqVhK2HB.js} +2 -2
  87. package/dist/assets/{useWalkthroughReview-DGPyQ634.js → useWalkthroughReview-BspAr9Aa.js} +1 -1
  88. package/dist/assets/{vendor-codemirror-language-data-KulAIuMz.js → vendor-codemirror-language-data-VzNDjH03.js} +2 -2
  89. package/dist/assets/{zh-CN-Brx5Btej.js → zh-CN-DwBC4Qtd.js} +3 -3
  90. package/dist/assets/{zh-TW-WokiutLA.js → zh-TW-DXEqDBAm.js} +3 -3
  91. package/dist/index.html +2 -2
  92. package/dist/mini-chat.html +2 -2
  93. package/dist/mobile.html +2 -2
  94. package/package.json +2 -2
  95. package/server/lib/git/service.test.js +1 -1
  96. package/server/lib/opencode/openchamber-routes.test.js +1 -0
  97. package/server/lib/opencode/settings-helpers.js +2 -2
  98. package/server/lib/opencode/settings-helpers.test.js +1 -1
  99. package/server/lib/opencode/settings-registry.json +1 -1
  100. package/server/lib/outbound-proxy.test.js +2 -2
  101. package/server/lib/spaces/tools.test.js +2 -2
  102. package/dist/assets/katex.min-u4DtE8E5.js +0 -69
  103. package/dist/assets/markdownCore-D_5e0Wl7.js +0 -10
@@ -1,10 +0,0 @@
1
- import{B as fe}from"./vendor-marked-CkSbCoiw.js";import{m as me}from"./vendor-marked-linkify-it-CXI_LHIE.js";import{O as N}from"./vendor-remend-DcBOpbSu.js";import{k as ge}from"./vendor-katex-CBXxfSPY.js";import{p as m}from"./vendor-dompurify-r8glNMJW.js";import{bw as k,bx as _e,by as X,bz as Ee,bA as Ae,bB as j,bC as ke,bD as Ie,bE as Te,bF as Le,bG as Se,bH as we,bI as H,bJ as be,bK as $e,bL as ye}from"./useAppFontEffects-DAUhSLPu.js";import{ac as Ce,l as q}from"./katex.min-u4DtE8E5.js";import{c as Me}from"./openFenceIncremental-7wgnc2ZL.js";const Z=e=>e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),v=["script","style"],Re=["a","abbr","b","blockquote","br","code","dd","del","details","div","dl","dt","em","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","li","mark","ol","p","picture","pre","q","s","samp","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","tr","tt","ul","var","video"],xe=["align","alt","checked","class","colspan","controls","disabled","height","href","media","open","playsinline","preload","rel","rowspan","src","srcset","start","target","title","type","width","data-md-details","data-oc-math","data-openchamber-agent-mention","data-skill-name"],Oe=/^(?:external-link|text-primary hover:underline|language-[\w#+.-]+)$/,Ne=e=>Oe.test(e.trim()),He=e=>e.split(",").every(t=>{const n=t.trim().split(/\s+/,1)[0]??"";return n?/^https?:\/\//i.test(n)||!/^[a-z][a-z\d+.-]*:/i.test(n):!1}),ve=e=>{try{const t=new URL(e);return t.protocol==="file:"&&(!t.hostname||t.hostname==="localhost")}catch{return!1}},ze=/\.(?:mp4|m4v|mov|webm)$/i,Y="oc_url_token",De=/^https:\/\/github\.com\/user-attachments\/assets\/[\w-]+$/i,J=e=>{const n=(e.split(/[?#]/,1)[0]?.replace(/\\/g,"/")??"").split("/").filter(Boolean).at(-1)??"";try{return decodeURIComponent(n)}catch{return n}},z=e=>ze.test(e.trim()),Q=(e,t="")=>z(t)||z(J(e)),Fe=e=>/^https?:\/\//i.test(e)&&(De.test(e)||Q(e)),Pe="data-openchamber-markdown-local-video",D=e=>e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),w=({href:e,title:t},n)=>{const r=t?` title="${D(t)}"`:"";return`<video src="${D(e)}"${r} controls preload="${n}" playsinline></video>`},Be=1e4,F=new WeakMap,Ge=e=>{const t=Date.now();return t-(F.get(e)??0)<Be?!1:(F.set(e,t),!0)},Ue=(e,t)=>{const n=e.currentTime,r=!e.paused;e.addEventListener("loadedmetadata",()=>{e.currentTime=n,r&&e.play().catch(()=>{})},{once:!0}),e.src=t},ee=e=>{try{return new URL(e).searchParams.has(Y)}catch{return!1}},P=(e,t)=>{const n=e.title||J(t)||t;if(!/^https?:\/\//i.test(t)||ee(t)){e.replaceWith(document.createTextNode(n));return}const r=document.createElement("a");r.href=t,r.className="external-link",r.target="_blank",r.rel="noopener noreferrer",r.textContent=n,e.replaceWith(r)},on=e=>{const t=n=>{const r=n.target;if(!(r instanceof HTMLVideoElement)||!e.contains(r)||r.hasAttribute(Pe))return;const s=r.getAttribute("src")??"";if(!ee(s)||!Ge(r)){P(r,s);return}Ce().then(a=>{const i=new URL(s);i.searchParams.set(Y,a),r.isConnected&&Ue(r,i.toString())},()=>{r.isConnected&&P(r,s)})};return e.addEventListener("error",t,!0),()=>e.removeEventListener("error",t,!0)},h=e=>e.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),Ve=/\.(?:png|jpe?g|gif|webp|mp4|m4v|mov|webm)(?:[?#].*)?$/i,We=/^[A-Za-z]:[\\/]/,Ke=/^[A-Za-z][A-Za-z\d+.-]*:/,te=e=>/^(?:https?:)?\/\//i.test(e),Xe=e=>/^\/\//.test(e)||!Ve.test(e)?!1:We.test(e)||/^file:\/\//i.test(e)||!Ke.test(e),je=e=>/^(?:https?:)?\/\//i.test(e)||/^data:image\/(?:png|jpeg|gif|webp);base64,/i.test(e)||Xe(e),qe=(e,t)=>{if(/^data:image\/(png|jpeg|gif|webp)/i.test(e)){const s=/^data:image\/([^;,]+)/i.exec(e)?.[1]?.replace("jpeg","jpg")??"png";return t.trim()||`image.${s}`}const r=(e.split(/[?#]/,1)[0]?.replace(/\\/g,"/")??"").split("/").filter(Boolean).at(-1)??"";if(!r)return t.trim();try{return decodeURIComponent(r)}catch{return r}};let E=0;const B=({href:e,title:t,text:n})=>{const r=ne({href:e,title:t??null,text:n});if(r)return w(r,"none");const s=qe(e??"",n),a=t?` title="${h(t)}"`:"",i=te(e??""),l=!i&&E===0&&je(e??"")?` data-openchamber-markdown-image-source="${h(e)}"`:"",o=`<span${a} class="inline-flex items-center gap-1 align-text-bottom text-muted-foreground" data-openchamber-markdown-image-label="true"${l}>${h(s)}</span>`;return!i||E>0?o:`<a href="${h(e)}" class="external-link" target="_blank" rel="noopener noreferrer">${o}</a>`},ne=({href:e,title:t,text:n})=>E===0&&/^https?:\/\//i.test(e)&&Q(e,n)?{href:e,title:t||n.trim()}:null,Ze=({raw:e,tokens:t})=>{const n=e.trim().replace(/^<(.*)>$/,"$1");return t.length===1&&t[0]?.type==="link"&&Fe(n)?{href:n}:null},re=e=>/^\[[^\]]+\]:\s+\S+/m.test(e)||/^\[\^[^\]]+\]:\s+/m.test(e),Ye=e=>{const t=e.match(/^[ \t]{0,3}(`{3,}|~{3,})/);if(!t)return!1;const n=t[1];if(!n)return!1;const r=n[0],s=n.length,a=e.trimEnd().split(`
2
- `).at(-1)?.trim()??"";return!new RegExp(`^[\\t ]{0,3}${r}{${s},}[\\t ]*$`).test(a)},Je=300,G={linkMode:"text-only",singleTilde:!1},Qe="](streamdown:incomplete-image)",et=4,U=e=>{try{let t=e,n=N(t,G);for(let r=0;n.includes(Qe);r+=1){const s=t.lastIndexOf("![");if(s<0||r===et)return e;t=t.slice(0,s),n=N(t,G)}return n}catch{return e}},tt=4;let b=[];const nt=256,V=4*1024*1024,p=new Map;let L=0;const g={lexedChars:0,parsedChars:0,hashedChars:0,sanitizeCalls:0,sanitizedChars:0},rt=e=>{if(!Ye(e))return null;const t=e.match(/^[ \t]{0,3}(`{3,}|~{3,})/)?.[1];return t?{char:t[0]??"`",size:t.length}:null},se=(e,t=0)=>{let n=0;for(let r=e.indexOf(`
3
- `,t);r!==-1;r=e.indexOf(`
4
- `,r+1))n+=1;return n},st=/\\\]|<\/summary/i,ae=(e,t,n)=>{if(t===0&&re(e))return{text:e,kind:"whole",plainText:!1};const r=t===0?e:e.slice(t);let s;try{g.lexedChars+=r.length,s=le.lexer(r)}catch{return t===0?{text:e,kind:"whole",plainText:!0}:null}const a=n.slice();let i=t,l="";for(const d of s){const u=d.raw?.length??0;d.type!=="space"&&(a.push({start:i,end:i+u}),l=d.type),i+=u}if(i!==e.length)return t===0?{text:e,kind:"whole",plainText:!1}:null;if(a.length===0)return{text:e,kind:"whole",plainText:!1};const o=a.at(-1),c=o&&l==="code"&&o.end===e.length?rt(e.slice(o.start)):null;return o&&c&&(a[a.length-1]={...o,fence:{...c,lines:se(e,o.start)}}),{text:e,kind:"blocks",segments:a}},at=(e,t)=>{const n=t.slice(e.text.lastIndexOf(`
5
- `)+1);if(re(n)||st.test(n))return null;const r=e.segments,s=r.at(-1),a=s?.fence;if(s&&a&&!new RegExp(`^[\\t ]{0,3}${a.char}{${a.size},}[\\t ]*$`,"m").test(n)){const c={start:s.start,end:t.length,fence:{...a,lines:a.lines+se(t,e.text.length)},fingerprint:s.fingerprint?X(s.fingerprint,t,e.text.length):void 0};return{text:t,kind:"blocks",segments:[...r.slice(0,-1),c]}}const i=Math.max(0,r.length-2);return ae(t,r[i]?.start??0,r.slice(0,i))},it=e=>{e.kind==="blocks"&&(b=[e,...b.filter(t=>t.text!==e.text)].slice(0,tt))},ie=(e,t)=>{let n;if(ke.reuseLiveSplit())for(const s of b)s.text.length>e.length||n&&n.text.length>=s.text.length||e.startsWith(s.text)&&(n=s);if(n?.text.length===e.length)return n;let r=n?at(n,e):null;return r||(r=ae(e,0,[])??{text:e,kind:"whole",plainText:!1}),t&&it(r),r},ot=e=>{const t=p.get(e);if(t)return p.delete(e),p.set(e,t),t;const n=ie(e,!1);if(e.length<=V/4){for(;p.size>=nt||L+e.length>V;){const r=p.keys().next().value;if(r===void 0)break;p.delete(r),L-=r.length}p.set(e,n),L+=e.length}return n},M=(e,t,n="escape")=>{if(!t&&n==="sanitize")return[{raw:e,src:e,mode:"full",highlight:!0}];const r=t?ie(e,!0):ot(e);if(r.kind==="whole")return r.plainText?[{raw:e,src:e,mode:t?"live":"full",highlight:!0,plainText:!0}]:[{raw:e,src:t?U(e):e,mode:t?"live":"full",highlight:!0}];const s=r.segments.length-1;return r.segments.map((a,i)=>{const l=e.slice(a.start,a.end),o=i===s,c=o&&a.fence!==void 0;if(!t)return{raw:l,src:l,mode:"full",highlight:!0,segment:a};const d={raw:l,src:c||!o?l:U(l),mode:o?"live":"full",highlight:!c||(a.fence?.lines??0)+1<=Je,segment:a};return c&&(d.openFence=!0),d})},R=e=>{const t=e.segment;return t?(t.fingerprint||(g.hashedChars+=e.raw.length,t.fingerprint=X(Ee,e.raw)),Ae(t.fingerprint)):(g.hashedChars+=e.raw.length,_e(e.raw))},I=(e,t,n)=>{try{return ge.renderToString(e,{displayMode:n,throwOnError:!1})}catch{return t}},lt=/<span data-oc-math="(inline|display)">([^<]*)<\/span>/g,ct=(e,t,n)=>`<span data-oc-math="${n?"display":"inline"}">${h(e)}</span>`,dt=e=>e.replace(lt,(t,n,r)=>{const s=_(r);return I(s,h(s),n==="display")}),ht=e=>({name:"inlineMath",level:"inline",tokenizer(t){const n=/^\\\(([\s\S]+?)\\\)/.exec(t);if(n)return{type:"inlineMath",raw:n[0],text:n[1]??""}},renderer(t){const n=t;return e(n.text,n.raw,!1)}}),ut=/^[ \t]*\\\[([\s\S]+?)\\\][ \t]*(?:\n|$)/,pt=/(?:^|\n)[ \t]*\\\[/,$={linkify:0,blockStart:0},oe=e=>{const t=/\n *\n/.exec(e),n=t?e.slice(0,t.index+1):e;return $.blockStart+=n.length,n},ft=e=>({name:"blockMath",level:"block",start(t){const n=pt.exec(oe(t));return n?n.index+n[0].length-2:void 0},tokenizer(t){const n=ut.exec(t);if(n)return{type:"blockMath",raw:n[0],text:n[1]??""}},renderer(t){const n=t;return e(n.text,n.raw,!0)}}),mt={name:"disclosure",level:"block",start(e){const t=/(?:^|\n) {0,3}<details(?:\s|>)/i.exec(oe(e));return t?t.index+(t[0].startsWith(`
6
- `)?1:0):void 0},tokenizer(e){const t=/^ {0,3}<details(?:\s+(open(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+))?))?\s*>\s*<summary\s*>([\s\S]*?)<\/summary\s*>/i.exec(e);if(!t)return;const n=t[0].length,r=e.slice(n),s=/(^ {0,3}(`{3,}|~{3,})[^\n]*(?:\n|$))|(`+)|(<\/?details\b[^>]*>)/gim;let a=1,i=r.length,l=e.length,o;for(;o=s.exec(r);)if(o[2]){const c=o[2],d=new RegExp(`^ {0,3}${c[0]}{${c.length},}[\\t ]*(?:\\n|$)`,"gm");if(d.lastIndex=s.lastIndex,!d.exec(r))break;s.lastIndex=d.lastIndex}else if(o[3]){const c=o[3],d=/`+/g;d.lastIndex=s.lastIndex;let u;for(;u=d.exec(r);)if(u[0].length===c.length){s.lastIndex=d.lastIndex;break}}else if(o[4]){const c=r.lastIndexOf(`
7
- `,o.index-1)+1,d=r.slice(c,o.index);if(/^(?: {4}|\t| {0,3}>)/.test(d)||/(?:^|[^\\])(?:\\\\)*\\$/.test(d))continue;if(a+=/^<\//.test(o[4])?-1:1,a===0){i=o.index,l=n+s.lastIndex;break}}return{type:"disclosure",raw:e.slice(0,l),open:!!t[1],summary:this.lexer.inlineTokens(t[2]??""),tokens:this.lexer.blockTokens(r.slice(0,i))}},renderer(e){return`<details data-md-details${e.open?" open":""}><summary>${this.parser.parseInline(e.summary)}</summary>${this.parser.parse(e.tokens??[])}</details>`},childTokens:["summary","tokens"]},y=5e3,gt=/^\/\/session\/[A-Za-z0-9_-]{1,128}(?:\?message=[A-Za-z0-9_-]{1,128})?/,_t={validate:(e,t)=>gt.exec(e.slice(t))?.[0].length??0},W=/[:/@]/,Et=()=>({extensions:(me({fuzzyLink:!1,schemas:{"openchamber:":_t}}).extensions??[]).map(e=>{if(!("tokenizer"in e))return e;const{start:t,tokenizer:n}=e;return{...e,start(r){if(!(r.length>y||!W.test(r)))return $.linkify+=r.length,t?.call(this,r)},tokenizer(r,s){if(!(r.length>y||!W.test(r)))return $.linkify+=r.length,n.call(this,r,s)}}})}),T=(e,t)=>{const n=t==="sanitize"?ct:I;return new fe().use(Et(),{gfm:!0,breaks:!1,extensions:[ht(n),ft(n),mt],renderer:{html({text:r}){return t==="sanitize"?r:Z(r)},link({href:r,title:s,tokens:a}){E+=1;let i;try{i=this.parser.parseInline(a)}finally{E-=1}const l=r??"",o=Se(l);if(o)return`<a href="${h(ye(o))}" data-openchamber-agent-mention="true" class="text-primary hover:underline" target="_blank" rel="noopener noreferrer">${i}</a>`;const c=we(l);if(c){const f=h(c.filename);return`<span ${c.openable?`class="${H}" role="button" tabindex="0" data-attachment-open="${f}"`:`class="${be}"`} data-attachment-citation="${h(c.iconId)}" title="${f}">${f}</span>`}const d=$e(l);if(d)return`<a href="${h(l)}" data-skill-name="${h(d)}" class="${H}" title="$${h(d)}">${h(d)}</a>`;const u=s?` title="${h(s)}"`:"";return`<a href="${h(l)}"${u} class="external-link" target="_blank" rel="noopener noreferrer">${i}</a>`},image(r){if(e==="label"||e==="local"&&te(r.href??""))return B(r);const s=t==="sanitize"?ne(r):null;return s?w(s,"metadata"):!1},paragraph(r){const s=t==="sanitize"?Ze(r):null;return s?`${w(s,"metadata")}
8
- `:!1}}})},le=T("inline","escape"),At=T("label","escape"),kt=T("local","escape"),It=T("inline","sanitize"),Tt=(e,t)=>t==="sanitize"?It:e==="label"?At:e==="local"?kt:le,_=e=>e.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&amp;/g,"&"),Lt=/\$\$([\s\S]*?)\$\$|\$(?![\s$])([^\s$<>"](?:[^$<>"]*?[^\s$<>"])?)\$(?!\d)/g,St=/^[\d.,\s]+$/,wt=e=>e.replace(Lt,(t,n,r)=>n!==void 0?I(_(n),t,!0):r!==void 0&&!_(r).includes('"')&&!St.test(r)?I(_(r),t,!1):t),bt=/(<[^>]*>)/,$t=e=>e.split(bt).map((t,n)=>n%2===1?t:wt(t)).join(""),ce=e=>{if(e.indexOf("$")===-1)return e;const t=/(<(?:pre|code|kbd)[^>]*>[\s\S]*?<\/(?:pre|code|kbd)>)/gi;return e.split(t).map((n,r)=>r%2===1?n:$t(n)).join("")},de=/<pre><code(?:\s+class="language-([^"]*)")?>([\s\S]*?)<\/code><\/pre>/g,yt=1200,Ct=200,Mt=(e,t)=>{let n=1;for(let r=0;r<e.length;r+=1)if(e.charCodeAt(r)===10&&++n>t)return!0;return!1},Rt=async(e,t=!1)=>{const n=[...e.matchAll(de)];if(n.length===0)return e;const r=q()?Ct:yt,s=await Promise.all(n.map(async i=>{const[l,o,c]=i,d=(o||"text").toLowerCase();if(d==="mermaid")return null;const u=_(c??"");if(Mt(u,r))return{full:l,next:l.replace("<pre",`<pre data-md-lang="${d}"`)};const f=await Ie(u,d,{transient:t});return f?{full:l,next:f.replace(/^<pre/,`<pre data-md-lang="${d}"`)}:null}));let a=e;for(const i of s)i&&(a=a.replace(i.full,()=>i.next));return a},xt={USE_PROFILES:{html:!0,mathMl:!0,svg:!0},ADD_TAGS:["svg","path","g","rect","line","polygon","polyline","circle","ellipse","text","tspan","defs","marker"],ADD_ATTR:["d","viewBox","preserveAspectRatio","xmlns","target","fill","stroke","stroke-width","transform","points","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","style"],FORBID_TAGS:[...v],FORBID_CONTENTS:[...v]};let K=!1;const he=e=>{e.addHook("uponSanitizeAttribute",(t,n)=>{if(!(t instanceof HTMLAnchorElement)||n.attrName!=="href")return;const r=Te(n.attrValue)&&!q();(ve(n.attrValue)||Le(n.attrValue)||r)&&(n.forceKeepAttr=!0)}),e.addHook("afterSanitizeAttributes",t=>{t instanceof HTMLAnchorElement&&t.target==="_blank"&&t.setAttribute("rel","noopener noreferrer")})},Ot=()=>{K||typeof window>"u"||!m.isSupported||(K=!0,he(m))},A=e=>m.isSupported?(g.sanitizeCalls+=1,g.sanitizedChars+=e.length,Ot(),m.sanitize(e,xt)):"",Nt={ALLOWED_TAGS:[...Re],ALLOWED_ATTR:[...xe],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!1};let S=null;const Ht=()=>{if(S)return S;if(!m.isSupported)return null;const e=m(window);return e.isSupported?(he(e),e.addHook("uponSanitizeAttribute",(t,n)=>{n.attrName==="class"&&!Ne(n.attrValue)&&(n.keepAttr=!1),n.attrName==="srcset"&&!He(n.attrValue)&&(n.keepAttr=!1)}),e.addHook("afterSanitizeAttributes",t=>{if(t.tagName==="INPUT"){if(t.getAttribute("type")!=="checkbox"){t.remove();return}t.setAttribute("disabled","")}t.tagName==="VIDEO"&&(t.setAttribute("controls",""),t.setAttribute("preload","metadata"));const n=t.tagName==="IMG"?t.getAttribute("height")?.trim():void 0,r=t.tagName==="IMG"?t.getAttribute("width")?.trim():void 0;n&&/^\d+$/.test(n)&&t.setAttribute("style",r&&/^\d+$/.test(r)&&Number(n)>0?`aspect-ratio:${r}/${n}`:`height:${n}px`)}),S=e,e):null},vt=e=>{const t=Ht();return t?dt(t.sanitize(e,Nt)):""},ue=(e,t,n)=>{g.parsedChars+=e.length;const r=Tt(t,n).parse(e,{async:!1});return n==="sanitize"?vt(r):r},zt=2e3,Dt=24*1024*1024,Ft=32,Pt=2*1024*1024,Bt=new j({maxEntries:zt,maxBytes:Dt}),Gt=new j({maxEntries:Ft,maxBytes:Pt}),x=e=>e.mode==="live"?Gt:Bt,O=(e,t,n,r,s)=>`${e}:${t}:${n?1:0}:${r}${s==="sanitize"?":html":""}`,Ut=(e,t="inline",n="escape")=>{if(!e)return[];const r=M(e,!1,n),s=[];for(const a of r){const i=R(a),l=O(i,a.mode,a.highlight,t,n),o=x(a).get(l);if(o===void 0)return null;s.push({id:l,html:o})}return s},C=e=>`<div class="whitespace-pre-wrap break-words">${Z(e)}</div>`,Vt=e=>{for(const t of e.matchAll(de))if((t[1]||"text").toLowerCase()!=="mermaid")return!0;return!1},pe=(e,t,n)=>{if(e.plainText)return{html:C(e.raw),pendingHighlight:!1};let r;try{r=ue(e.src,t,n)}catch{return{html:C(e.raw),pendingHighlight:!1}}const s=ce(r);return e.highlight&&Vt(s)?{html:s,pendingHighlight:!0}:{html:A(s),pendingHighlight:!1}},Wt=Me(A),Kt=async(e,t,n,r)=>{const s=pe(e,n,r);if(!s.pendingHighlight)return{html:s.html};const a=await Rt(s.html,e.openFence===!0);if(!e.openFence)return{html:A(a)};const i=!e.raw.endsWith(`
9
- `)||e.raw.indexOf(`
10
- `)===e.raw.length-1;return Wt.render(a,t,i)},Xt=":unhighlighted",jt=(e,t,n="inline",r="escape")=>e?M(e,t,r).map(s=>{const a=R(s),i=O(a,s.mode,s.highlight,n,r),l=x(s),o=l.get(i);if(o!==void 0)return{id:i,html:o};const c=pe(s,n,r);return c.pendingHighlight?{id:`${i}${Xt}`,html:A(c.html)}:(l.set(i,c.html,k(i)+k(c.html)),{id:i,html:c.html})}):[],qt=(e,t="inline",n="escape")=>{if(!e)return"";let r;try{r=ue(e,t,n)}catch{return C(e)}const s=ce(r);return A(s)},Zt=async(e,t,n="inline",r="escape")=>{if(!e)return[];const s=M(e,t,r);return Promise.all(s.map(async a=>{const i=R(a),l=O(i,a.mode,a.highlight,n,r),o=x(a),c=o.get(l);if(c!==void 0)return{id:l,html:c};const d=await Kt(a,l,n,r);return o.set(l,d.html,k(l)+k(d.html)),{id:l,...d}}))},ln=Object.freeze(Object.defineProperty({__proto__:null,LINKIFY_SOURCE_LIMIT:y,getCachedMarkdownBlocks:Ut,renderMarkdownBlocks:Zt,renderMarkdownBlocksSync:jt,renderMarkdownSync:qt},Symbol.toStringTag,{value:"Module"}));export{Pe as L,Zt as a,on as b,Ge as c,Ut as g,Q as i,ln as m,jt as r,Ue as s};