markstream-vue 1.0.1 → 1.0.3-beta.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/README.md +153 -33
- package/README.zh-CN.md +153 -29
- package/dist/CodeBlockNode.js +1 -1
- package/dist/CodeBlockShell.vue_vue_type_style_index_0_lang.js +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/exports.js +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +1 -1
- package/dist/index.px.css +1 -1
- package/dist/index.tailwind.css +1 -1
- package/dist/index10.js +1 -1
- package/dist/index11.js +1 -1
- package/dist/index5.js +1 -1
- package/dist/index6.js +1 -1
- package/dist/index7.js +1 -1
- package/dist/index8.js +1 -1
- package/dist/index9.js +1 -1
- package/dist/tailwind.js +0 -0
- package/dist/workers/katexWorkerClient.js +1 -1
- package/dist/workers-katexWorkerClient.js +1 -1
- package/package.json +44 -45
package/dist/index9.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,i=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&l(e,n,t[n]);if(r)for(var n of r(t))a.call(t,n)&&l(e,n,t[n]);return e},u=(e,r)=>t(e,n(r)),s=(e,t,n)=>l(e,"symbol"!=typeof t?t+"":t,n);import{defineComponent as c,ref as d,reactive as m,provide as f,computed as v,shallowRef as h,watch as g,nextTick as y,onMounted as k,onUpdated as p,onBeforeUnmount as b,openBlock as w,createElementBlock as S,normalizeClass as M,createElementVNode as x,normalizeStyle as B,Fragment as K,renderList as T,renderSlot as H,mergeProps as q,createBlock as F,unref as C,resolveDynamicComponent as A,toDisplayString as _,createCommentVNode as N,createTextVNode as R}from"vue";import{c as P,d as j,e as I,f as z,j as O,k as $,l as E,m as L,n as D,o as V,_ as W}from"./exports.js";const Y=["data-markstream-item-key","data-markstream-item-kind"],G={key:0,class:"markstream-virtual-timeline__status"},J=/* @__PURE__ */W(/* @__PURE__ */c(u(i({},{name:"MarkstreamVirtualTimeline"}),{__name:"MarkstreamVirtualTimeline",props:{items:{},threadKey:{},layoutRevision:{},getKey:{},getKind:{},getContent:{},getFinal:{},getRevision:{},estimateItemHeight:{},overscan:{default:4},overscanPx:{default:1200},stickToBottom:{type:[Boolean,String],default:"auto"},measurementKey:{},markdownMode:{default:"docs"},markdownCodeRenderer:{},initialThreadState:{},markdownFade:{type:Boolean,default:!1},restoreMaxLoadingMs:{type:[Number,Boolean],default:!1},debug:{type:Boolean}},emits:["height-change","virtual-state-change","range-change","thread-state-change"],setup(e,{expose:t,emit:n}){const r=e,o=n;function a(e){o("thread-state-change",e)}const l=/* @__PURE__ */new Map;function c(e){var t;!0===r.debug&&l.set(e,(null!=(t=l.get(e))?t:0)+1)}const W=d(null),J=d(0),Q=d(0),U=d(0),X=d(!0),Z=d(!0),ee=m(/* @__PURE__ */new Map),te=/* @__PURE__ */new Map,ne=/* @__PURE__ */new Map,re=/* @__PURE__ */new Map,oe=m(/* @__PURE__ */new Map),ae=m(/* @__PURE__ */new Map),le=/* @__PURE__ */new Map,ie=/* @__PURE__ */new Map,ue=/* @__PURE__ */new Map,se=/* @__PURE__ */new Map,ce=d(!1),de=d(!0),me=d(!0);f("markstreamHostScrollManaged",me);const fe=[0,80,180,360,640];let ve,he,ge=null,ye=0,ke=null,pe=[],be=null,we=null,Se=-1,Me=0,xe=null,Be=!1,Ke=!1,Te=null,He=0,qe=0,Fe={top:0,bottom:0},Ce=!1;const Ae=v(()=>null==r.threadKey?void 0:String(r.threadKey));let _e=Ae.value;function Ne(e){return"chat"===e||"minimal"===e||"docs"===e?e:"docs"}const Re=v(()=>Ne(r.markdownMode)),Pe=v(()=>function(e,t=Ne(r.markdownMode)){return"pre"===e||"shiki"===e||"monaco"===e?e:"docs"===t?"monaco":"pre"}(r.markdownCodeRenderer,Re.value)),je=v(()=>[null==r.measurementKey?"":String(r.measurementKey),U.value].join(":")),Ie=v(()=>`${je.value}${Re.value}${Pe.value}`);class ze{constructor(e){s(this,"tree"),s(this,"total"),this.tree=Array.from({length:e.length+1},()=>0),this.total=0,e.forEach((e,t)=>this.add(t,e))}add(e,t){if(Number.isFinite(t)&&0!==t){this.total+=t;for(let n=e+1;n<this.tree.length;n+=n&-n)this.tree[n]+=t}}prefixSum(e){let t=Math.max(0,Math.min(e,this.tree.length-1)),n=0;for(;t>0;)n+=this.tree[t],t-=t&-t;return n}lowerBound(e,t="gte"){const n=this.tree.length-1;if(n<=0)return 0;if(e<=0)return 0;if(e>=this.total)return n-1;let r=0,o=1;for(;o<<1<this.tree.length;)o<<=1;let a=0;for(;o>0;o>>=1){const n=r+o;if(n<this.tree.length){const o=a+this.tree[n];("gt"===t?o<=e:o<e)&&(r=n,a=o)}}return Math.min(r,n-1)}}const Oe=h([]),$e=/* @__PURE__ */new Map,Ee=h(new ze([])),Le=d(0);let De=[];const Ve=v(()=>(Le.value,{records:Oe.value,totalHeight:Ee.value.total}));function We(){var e;const t=[],n=[],o=function(){var e;return null!=(e=Ae.value)?e:"timeline"}();$e.clear();for(let a=0;a<r.items.length;a++){const l=r.items[a],s=et(l,a),c={item:l,index:a,key:s,kind:I(l,a,r),markdown:j(l,a,r)};let d=vt(c);null==d&&(d=null!=(e=De[a])?e:z(l,a,r));const m=u(i({},c),{renderKey:`${o}:${s}`,offset:0,size:d,component:null==l?void 0:l.component});t.push(m),n.push(d),$e.has(s)||$e.set(s,m)}Oe.value=t,Ee.value=new ze(n),De=[],Le.value+=1}function Ye(e){return Le.value,Ee.value.prefixSum(e.index)}function Ge(e){return u(i({},e),{offset:Ye(e)})}function Je(e,t){const n=$e.get(e);if(!n)return;const r=Math.ceil(t),o=r-n.size;0!==o&&(n.size=r,Ee.value.add(n.index,o),Le.value+=1)}function Qe(e,t="gte"){return Le.value,Ee.value.lowerBound(e,t)}const Ue=v(()=>{var e;return Math.max(0,null!=(e=r.overscan)?e:4)}),Xe=v(()=>{var e;const t=Math.max(0,null!=(e=r.overscanPx)?e:1200);return de.value?t:Math.min(t,160)}),Ze=v(()=>{var e,t,n;const r=Ve.value.records;if(0===r.length)return{start:0,end:0,records:[],topSpacerHeight:0,bottomSpacerHeight:0};const o=Ue.value,a=Xe.value,l=Tt(),i=l+Math.max(1,Q.value);let u=Qe(Math.max(0,l-a),"gt"),s=Qe(Math.min(Ve.value.totalHeight,i+a))+1;u=Math.max(0,u-o),s=Math.min(r.length,Math.max(s+o,u+1));const c=r.slice(u,s).map(Ge),d=c[0],m=c[c.length-1],f=null!=(e=null==d?void 0:d.offset)?e:0,v=null!=(t=null==m?void 0:m.offset)?t:0;return{start:u,end:s,records:c,topSpacerHeight:f,bottomSpacerHeight:Math.max(0,Ve.value.totalHeight-(v+(null!=(n=null==m?void 0:m.size)?n:0)))}});function et(e,t){return O(e,t,r)}const tt=/* @__PURE__ */new WeakMap;let nt=1;function rt(e){if("object"!=typeof e&&"function"!=typeof e||null===e)return String(null!=e?e:"");const t=e;let n=tt.get(t);return n||(n=nt++,tt.set(t,n)),String(n)}function ot(e,t,n){var o;if(n)return"";const a="string"==typeof(null==e?void 0:e.text)?e.text:"string"==typeof(null==e?void 0:e.message)?e.message:"string"==typeof(null==e?void 0:e.label)?e.label:String(null!=(o=E(e,t,r))?o:"");return a?`${a.length}:${function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)}(a)}`:""}function at(e,t){if("function"!=typeof r.estimateItemHeight)return"";const n=r.estimateItemHeight(e,t);if(!Number.isFinite(n)||n<=0)return"";const o=Math.ceil(n);return De[t]=o,String(o)}function lt(e){var t;return null!=(t=r.items[e.index])?t:e.item}function it(e){return e.item}function ut(e){var t;const n=lt(e);return null!=(t=null==n?void 0:n.component)?t:e.component}function st(e,t=Ae.value){const n=it(e),o=L(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function ct(e,t=Ae.value){if(e.markdown)return st(e,t);const n=it(e),o=L(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function dt(e){return{sourceKey:ct(e),measurementKey:e.markdown?Ie.value:je.value,widthBucket:U.value}}function mt(e,t){var n,r,o,a,l,i;return(null!=(n=null==e?void 0:e.sourceKey)?n:"")===(null!=(r=null==t?void 0:t.sourceKey)?r:"")&&(null!=(o=null==e?void 0:e.measurementKey)?o:"")===(null!=(a=null==t?void 0:t.measurementKey)?a:"")&&(null!=(l=null==e?void 0:e.widthBucket)?l:0)===(null!=(i=null==t?void 0:t.widthBucket)?i:0)}function ft(e,t,n=Ae.value){var r;return!(!e||!t)&&t.sourceKey===ct(e,n)&&t.measurementKey===(e.markdown?Ie.value:je.value)&&(null!=(r=t.widthBucket)?r:0)===U.value}function vt(e,t=Ae.value){const n=ee.get(e.key);return ft(e,te.get(e.key),t)&&Number.isFinite(n)&&n>0?n:null}function ht(e){return Ve.value,$e.get(e)}function gt(e,t){var n,r;return!!(e&&e.markdown&&t)&&t.sessionKey===st(e)&&(null!=(n=t.threadKey)?n:"")===(null!=(r=Ae.value)?r:"")&&!!function(e){const t=Ie.value,n=null!=e?e:"";return n===t||n.startsWith(`${t}\0`)}(t.measurementKey)}function yt(e,t){return gt(e,t)}function kt(e,t,n){!Number.isFinite(t)||t<=0||(ae.set(e,Math.ceil(t)),le.set(e,n))}function pt(e,t=oe.get(e)){const n=function(e,t=oe.get(e)){var n;if(!yt(ht(e),t))return 0;const r=Number(null==(n=null==t?void 0:t.metrics)?void 0:n.totalHeight);return Number.isFinite(r)&&r>0?Math.ceil(r):0}(e,t);return n>0&&kt(e,n,t),n}function bt(e){return e===ye&&Me===e&&!de.value}function wt(){if(null!=ke&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(ke),ke=null,null!=be&&"undefined"!=typeof window&&window.clearTimeout(be),be=null,"undefined"!=typeof window)for(const e of pe)window.clearTimeout(e);pe=[]}function St(){var e;return Math.max(0,Q.value||(null==(e=W.value)?void 0:e.clientHeight)||0)}function Mt(){const e=W.value;if(!e||"function"!=typeof getComputedStyle)return void(Fe={top:0,bottom:0});const t=getComputedStyle(e),n=Number.parseFloat(t.paddingTop)||0,r=Number.parseFloat(t.paddingBottom)||0;Fe={top:n,bottom:r}}function xt(){return Fe.top}function Bt(){const e=Fe;return Math.max(0,Ve.value.totalHeight+e.top+e.bottom)}function Kt(){var e,t;return Math.max(Bt(),null!=(t=null==(e=W.value)?void 0:e.scrollHeight)?t:0)}function Tt(){return Math.max(0,J.value-xt())}function Ht(){return Math.max(0,Kt()-St())}function qt(e){const t=Number(e);return Number.isFinite(t)?Math.max(0,Math.min(t,Ht())):0}function Ft(){return Math.max(0,Ht()-J.value)}function Ct(){const e=Ft();Z.value=e<=2,!0!==r.stickToBottom?!1!==r.stickToBottom?X.value=e<=48:X.value=!1:X.value=!0}function At(){var e,t;const n=null!=(t=null==(e=W.value)?void 0:e.clientWidth)?t:0;U.value=Number.isFinite(n)&&n>0?32*Math.round(n/32):0}function _t(e={}){const t=W.value;t&&(J.value=Math.max(0,t.scrollTop||0),Q.value=t.clientHeight||0),At(),Ct(),(!0===e.remember||!1!==e.remember&&!ce.value)&&ln()}function Nt(e,t={}){const n=qt(e),r=W.value;J.value=n,r&&(Q.value=r.clientHeight||Q.value||0,!1!==t.writeDom&&Math.abs((r.scrollTop||0)-n)>.5&&(r.scrollTop=n)),At(),!1!==t.updatePinned&&Ct(),(!0===t.remember||!1!==t.remember&&!ce.value)&&ln()}function Rt(){if(!de.value){const e=W.value,t=xe;return e&&null!=t&&Math.abs((e.scrollTop||0)-t)>.5&&(e.scrollTop=t),void mn(Me,he)}_t()}function Pt(e){Nt(e,{writeDom:!0,remember:!0})}function jt(){Pt(Ht())}function It(e,t){const n=ne.get(e);if(!Number.isFinite(n)||null==n||n<=0)return 0;const r=re.get(e);return t&&r&&!zt(r,t)?0:Math.ceil(n)}function zt(e,t){var n,r,o,a;return e.sourceKey===t.sourceKey&&(0===(null!=(n=t.widthBucket)?n:0)||0===(null!=(r=e.widthBucket)?r:0)||(null!=(o=t.widthBucket)?o:0)===(null!=(a=e.widthBucket)?a:0))&&(Ot(t.measurementKey)||Ot(e.measurementKey)||t.measurementKey===e.measurementKey)}function Ot(e){return":0"===e||!0===(null==e?void 0:e.startsWith(":0"))}function $t(e){ne.delete(e),re.delete(e)}function Et(e,t,n,o={}){if(!Number.isFinite(t)||t<=0)return;const a=ee.get(e),l=n&&!mt(te.get(e),n);!function(e,t){if(!t)return;const n=re.get(e);n&&!zt(n,t)&&(ne.delete(e),re.delete(e))}(e,n);const i=It(e,n),u=i>0?i:Math.ceil(t);if(null!=a&&Math.abs(a-u)<=1&&!l)return;if(!1===o.updateLayout)return n&&te.set(e,n),ee.set(e,u),void sn(o.rememberThreadKey);if(ce.value)return n&&te.set(e,n),ee.set(e,u),Je(e,u),void function(e=Me,t=he){t&&y(()=>{mn(e,t),null==ke&&"function"==typeof requestAnimationFrame&&(ke=requestAnimationFrame(()=>{ke=null,mn(e,t)}))})}();const s=(c=on(),d=Ft(),!0===r.stickToBottom?{type:"bottom",distanceFromBottomPx:0}:"auto"===r.stickToBottom&&X.value?{type:"bottom",distanceFromBottomPx:Z.value?0:Math.max(0,d)}:c);var c,d;n&&te.set(e,n),ee.set(e,u),Je(e,u),sn(o.rememberThreadKey),function(e){if(!Lt.scheduled)return Lt.anchor=e,Lt.scheduled=!0,void(Lt.raf=Yt(Jt));!Lt.anchor&&e&&(Lt.anchor=e)}(s)}g([()=>function(){const e=r.layoutRevision;return null!=e?["explicit",String(e),r.items.length].join(""):r.items.map((e,t)=>{var n;const o=et(e,t),a=j(e,t,r);return[o,I(e,t,r),a?1:0,null!=(n=L(e,t,r))?n:"",at(e,t),ot(e,t,a),(l=null==e?void 0:e.component,l?"string"==typeof l?`s:${l}`:`o:${rt(l)}`:"")].join("");var l}).join("\0")}(),je,Ie,Ae,()=>rt(r.estimateItemHeight),()=>rt(r.getKey),()=>rt(r.getKind),()=>rt(r.getContent),()=>rt(r.getFinal),()=>rt(r.getRevision)],()=>We(),{immediate:!0,flush:"sync"});const Lt={scheduled:!1,raf:null,anchor:void 0},Dt=/* @__PURE__ */new Map;let Vt=!1,Wt=null;function Yt(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(e):(y(e),null)}function Gt(e){null!=e&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(e)}function Jt(){if(!Lt.scheduled)return;Lt.scheduled=!1,Lt.raf=null;const e=Lt.anchor;Lt.anchor=void 0,e&&dn(e),_t({remember:!1})}function Qt(){var e,t;if(!Vt)return;Vt=!1,Wt=null;const n=Array.from(Dt.entries());Dt.clear();for(const[r,o]of n){if(ae.get(r)!==o.logicalHeight)continue;const n=$e.get(r);if(!n)continue;const a=(null!=(e=o.threadKey)?e:"")===(null!=(t=Ae.value)?t:"");Zt(n,{allowMarkdownShrink:o.allowMarkdownShrink,markdownLogicalHeight:o.logicalHeight,rememberThreadKey:o.threadKey,source:o.itemSizeSource,updateLayout:a})}Jt()}function Ut(){Qt(),Jt()}function Xt(e){var t;null==(t=ue.get(e))||t.disconnect(),ue.delete(e),ie.delete(e)}function Zt(e,t={}){var n,o,a;const i=(u=e.key,D(ie.get(u),c));var u;const s=null!=(n=t.source)?n:dt(e);let d=!1;const m=()=>{d||(d=!0,function(e,t){const n=function(){if(!0!==r.debug||0===l.size)return null;let e=0;for(const n of l.values())e+=n;const t={total:e,byLabel:Object.fromEntries(Array.from(l.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])))};return l.clear(),t}();n&&console.info("[markstream-vue][timeline][perf] layout-reads",{label:e,itemKey:t,layoutReads:n})}("reconcileRecordSize",e.key))};if(!e.markdown)return i>0&&Et(e.key,i,s,t),void m();const f=mt(te.get(e.key),s)&&null!=(o=ee.get(e.key))?o:0,v=null!=(a=t.markdownLogicalHeight)?a:function(e){var t;return gt(ht(e),le.get(e))?null!=(t=ae.get(e))?t:0:pt(e)}(e.key),h=function(e,t){return V(ie.get(e),c,t)}(e.key,i);if(v>0){let n=Math.max(i,v+h);(!t.allowMarkdownShrink||ce.value)&&f>0&&(n=Math.max(n,f));const r=It(e.key,s);return(r>0&&v>r+1&&!ce.value||t.allowMarkdownShrink&&!ce.value)&&$t(e.key),n>0&&Et(e.key,n,s,t),void m()}return String(E(lt(e),e.index,r)).trim()?f>0?(i>f+1&&Et(e.key,i,s,t),void m()):(i>0&&Et(e.key,i,s,t),void m()):(i>0&&($t(e.key),Et(e.key,i,s,t)),void m())}function en(e){return t=>{!function(e,t){const n=function(e){const t=e&&"$el"in e?e.$el:e;return t instanceof HTMLElement?t:null}(t),r=ie.get(e.key);if(!n)return void Xt(e.key);if(r===n)return void Zt(e);if(Xt(e.key),ie.set(e.key,n),Zt(e),"undefined"==typeof ResizeObserver)return;const o=new ResizeObserver(()=>{Zt(e)});o.observe(n),ue.set(e.key,o)}(e,t)}}function tn(e){const t=lt(e),n=$(t,e.index,r),a=oe.get(e.key),l=Re.value,i=Pe.value,u={enabled:!0,sessionKey:st(e),threadKey:Ae.value,scrollRoot:()=>W.value,restoreState:yt(e,a)?a:null,restoreAnchor:!1,measurementKey:Ie.value,settleMode:"manual",settledToken:n,emitIntervalMs:96,heightDiffThresholdPx:4};return{content:E(t,e.index,r),final:n,mode:l,codeRenderer:i,nodeVirtual:!1,fade:!0===r.markdownFade,indexKey:st(e),virtualScroll:u,onHeightChange(t){if(t.sessionKey!==st(e))return;kt(e.key,t.totalHeight,{sessionKey:t.sessionKey,threadKey:Ae.value,measurementKey:Ie.value});const n=function(e){return"final"===e.phase||!!e.stable&&("measured"===e.confidence||"final"===e.confidence)}(t),r=Math.ceil(t.totalHeight);var a;!function(e,t){Dt.set(e.key,t),Vt||(Vt=!0,Wt=Yt(Qt))}(e,{allowMarkdownShrink:n,itemSizeSource:dt(e),logicalHeight:r,threadKey:Ae.value}),a={itemKey:e.key,metrics:t},o("height-change",a)},onVirtualStateChange(t){var n;t.sessionKey===st(e)&&(oe.set(e.key,t),pt(e.key,t),sn(),n={itemKey:e.key,state:t},o("virtual-state-change",n))}}}function nn(e){return{item:lt(e),index:e.index,itemKey:e.key,kind:e.kind,measureRef:en(e),markdownProps:tn(e)}}function rn(e){var t;const n=null!=(t=lt(e))?t:{};return"string"==typeof n.text?n.text:"string"==typeof n.message?n.message:"string"==typeof n.label?n.label:E(n,e.index,r)}function on(){const e=Ft();if(e<=2)return{type:"bottom",distanceFromBottomPx:Math.max(0,e)};const t=Tt(),n=Qe(t,"gt"),r=Ve.value.records[n];if(r){const e=Ye(r);if(t>=e&&t<e+r.size)return{type:"item",itemKey:r.key,offsetWithinItemPx:t-e}}const o=Ze.value.records[0];return o?{type:"item",itemKey:o.key,offsetWithinItemPx:0}:void 0}function an(e=Ae.value){Ut();const t={},n={};for(const r of Ve.value.records){const o=vt(r,e),a=te.get(r.key);null!=o&&ft(r,a,e)&&(t[r.key]=o,n[r.key]=a)}return{threadKey:e,measurementKey:je.value,widthBucket:U.value,outerAnchor:on(),itemHeights:t,itemSizeSources:n,markdownStates:Object.fromEntries(oe.entries())}}function ln(e=Ae.value){if(!e)return;const t=an(e);return se.set(e,t),e===Ae.value&&(Te=t),a(t),t}function un(){const e=ve;return null!=we&&"undefined"!=typeof window&&window.clearTimeout(we),we=null,ve=void 0,e?ln(e):void 0}function sn(e=Ae.value){e&&(ve=e,null==we&&("undefined"!=typeof window?we=window.setTimeout(()=>{we=null,un()},80):un()))}function cn(e){if(!e)return null;if("bottom"===e.type)return(de.value?Kt():Bt())-St()-Math.max(0,e.distanceFromBottomPx);const t=ht(e.itemKey);return t?xt()+Ye(t)+Math.max(0,e.offsetWithinItemPx):null}function dn(e,t={}){const n=cn(e);return null!=n&&(Nt(n,{writeDom:!0,remember:!0===t.remember}),!0)}function mn(e,t){if(e===ye){if(t){const e=dn(t,{remember:!1});xe=e?J.value:null}_t({remember:!1})}}function fn(e,t){const n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>t.top&&n.top<t.bottom}function vn(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.bottom>r.top&&n.top<r.bottom}function hn(e){if(e.closest(".code-editor-container.is-hidden"))return!1;let t=e;for(;t;){const e=window.getComputedStyle(t);if("none"===e.display||"hidden"===e.visibility||Number.parseFloat(e.opacity||"1")<=.01)return!1;t=t.parentElement}const n=e.getBoundingClientRect();return n.width>0&&n.height>0}function gn(e){return Boolean(e.querySelector(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(",")))}function yn(e){var t;if(e.querySelector(":scope > .node-placeholder"))return!1;const n=e.querySelector(":scope > .node-content");return!!n&&(!gn(n)&&(!!function(e){const t=Array.from(e.querySelectorAll("[data-markstream-math]"));return!t.length||t.every(e=>{const t=e.dataset.markstreamMode;return!("true"===e.dataset.markstreamPending||"loading"===t||"katex"!==t&&"fallback"!==t)})}(n)&&("code_block"===(null!=(t=e.dataset.nodeType)?t:"")?function(e){if(e.querySelector('[data-markstream-code-loading="1"]'))return!1;const t=e.querySelector('[data-markstream-code-block="1"]');if(t){const e="true"===t.dataset.markstreamEnhanced,r=function(e){if(!e)return!1;if(e.classList.contains("is-fading-out"))return!1;const t=window.getComputedStyle(e);if("none"===t.display||Number.parseFloat(t.opacity||"1")<=.01)return!1;const n=e.getBoundingClientRect();return n.width>0&&n.height>0}(t.querySelector("pre.code-pre-fallback"));return e||r||(n=t,Array.from(n.querySelectorAll(".monaco-editor, .monaco-diff-editor")).some(hn))}var n;return function(e){var t,n;const r=e.querySelector("[data-markstream-mermaid], .mermaid-block-container");if(r){if("true"===r.dataset.markstreamPending)return!1;const e=r.dataset.markstreamMode;return"preview"===e?Boolean(r.querySelector("svg")||r.querySelector('[data-mermaid-svg-layer="1"] svg')):"fallback"===e&&Boolean(null==(n=null==(t=r.querySelector(".mermaid-source-code"))?void 0:t.textContent)?void 0:n.trim())}const o=e.querySelector("[data-markstream-infographic], .infographic-block-container");if(o)return"true"!==o.dataset.markstreamPending;const a=e.querySelector("[data-markstream-d2], .d2-block-container");return a?"true"!==a.dataset.markstreamPending:Boolean(e.querySelector('pre[data-markstream-pre="1"]'))}(e)}(n):function(e){var t;return(null!=(t=e.textContent)?t:"").trim().length>0||Boolean(e.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","select","textarea","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]'].join(",")))}(n))))}function kn(e,t){var n;if(!e.markdown)return!0;const o=E(lt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;if(t.querySelector("[data-node-index]"))return!0;const a=t.querySelector(".markdown-renderer"),l=null!=a?a:t;return!gn(l)&&(!!(null!=(n=l.textContent)?n:"").trim()||Boolean(l.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]','[data-markstream-code-block="1"]'].join(","))))}function pn(e,t,n){if(!e.markdown)return!0;const o=E(lt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;const a=n.getBoundingClientRect(),l=Array.from(t.querySelectorAll("[data-node-index]")).filter(e=>fn(e,a));if(l.length>0)return l.every(e=>yn(e));const i=t.querySelector(".markdown-renderer"),u=null!=i?i:t;return u.querySelector("[data-node-index], .node-placeholder")?!!function(e,t,n,r){if("bottom"!==(null==he?void 0:he.type))return!1;if(!bn(e))return!1;const o=n.getBoundingClientRect(),a=t.getBoundingClientRect();return o.width>0&&o.height>0&&o.bottom<=r.top+1&&a.bottom>r.top}(e,t,u,a)&&kn(e,t):kn(e,t)}function bn(e){const t=te.get(e.key);return It(e.key,t)>0}function wn(e,t){var n,o,a,l;if(!e.markdown)return!0;if(!Be&&!Ke)return!0;if(bn(e))return!0;const i=E(lt(e),e.index,r);if(!String(null!=i?i:"").trim())return!0;if(!t.querySelector(".markdown-renderer"))return!1;const u=oe.get(e.key);if(!yt(e,u))return!1;const s=null==u?void 0:u.metrics,c=Number(null!=(n=null==s?void 0:s.totalHeight)?n:0);if(!Number.isFinite(c)||c<=0)return!1;const d=Number(null!=(o=null==s?void 0:s.measuredCount)?o:0),m=Number(null!=(a=null==s?void 0:s.estimatedCount)?a:0),f=Number(null!=(l=null==s?void 0:s.nodeCount)?l:0),v=f<=0||d>=f&&m<=0,h="measured"===(null==s?void 0:s.confidence)||"final"===(null==s?void 0:s.confidence),g=!0===(null==s?void 0:s.stable)||h;return Ke?v&&!0===(null==s?void 0:s.final)&&h:g||!0===(null==s?void 0:s.final)}function Sn(){const e=W.value;if(!e)return!1;const t=cn(he);if(null!=t&&Math.abs((e.scrollTop||0)-qt(t))>.5)return!1;const n=Ze.value.records;if(!n.length)return 0===Ve.value.records.length;const r=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),o=[];for(const i of n){const t=r.get(i.key);t&&vn(t,e)&&o.push({record:i,el:t})}if(!o.length)return!1;for(const{record:i,el:u}of o){if(u.offsetHeight+1<i.size)return!1;if(!pn(i,u,e))return!1;if(!wn(i,u))return!1}const a=e.getBoundingClientRect();if(Array.from(e.querySelectorAll(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(","))).some(e=>fn(e,a)))return!1;const l=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>fn(e,a));for(const i of l)if(!yn(i))return!1;return!0}function Mn(){const e=W.value;if(!e)return"";const t=e.getBoundingClientRect(),n=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),r=Ze.value.records.map(e=>{var t,r,o,a,l,i,u,s,c;const d=n.get(e.key),m=null==d?void 0:d.querySelector(".markdown-renderer"),f=null==(t=oe.get(e.key))?void 0:t.metrics;return[e.key,e.size,null!=(r=null==d?void 0:d.offsetHeight)?r:0,null!=(o=null==d?void 0:d.scrollHeight)?o:0,null!=(a=null==m?void 0:m.offsetHeight)?a:0,null!=(l=null==m?void 0:m.scrollHeight)?l:0,f?Math.round(Number(f.totalHeight||0)):"",null!=(i=null==f?void 0:f.measuredCount)?i:"",null!=(u=null==f?void 0:f.estimatedCount)?u:"",null!=(s=null==f?void 0:f.nodeCount)?s:"",!0===(null==f?void 0:f.final)?1:0,!0===(null==f?void 0:f.stable)?1:0,null!=(c=null==f?void 0:f.confidence)?c:""].join(":")}).join("|"),o=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>fn(e,t)).map(e=>{var t,n,r,o,a;const l=e.getBoundingClientRect(),i=e.querySelector(":scope > .node-content"),u=null==i?void 0:i.querySelector('[data-markstream-code-block="1"]'),s=null==i?void 0:i.querySelector("pre.code-pre-fallback"),c=null==i?void 0:i.querySelector(".monaco-editor, .monaco-diff-editor");return[null!=(t=e.dataset.nodeIndex)?t:"",null!=(n=e.dataset.nodeType)?n:"",Math.round(l.height),null!=(r=null==i?void 0:i.offsetHeight)?r:0,null!=(o=null==i?void 0:i.scrollHeight)?o:0,null!=(a=null==u?void 0:u.dataset.markstreamEnhanced)?a:"",u?Math.round(u.getBoundingClientRect().height):0,s?Math.round(s.getBoundingClientRect().height):0,c?Math.round(c.getBoundingClientRect().height):0].join(":")}).join("|");return[Math.round(e.scrollTop||0),Math.round(e.scrollHeight||0),Math.round(Ve.value.totalHeight||0),r,o].join("\n")}function xn(){return"undefined"!=typeof performance?performance.now():Date.now()}function Bn(){return Ke?24:2}function Kn(e){bt(e)&&He!==e&&(He=e,function(e){return t=this,n=function*(){const t=xn();let n=0,r="";for(let o=0;o<40;o++){if(yield y(),yield new Promise(e=>{"function"!=typeof requestAnimationFrame?e():requestAnimationFrame(()=>e())}),!bt(e))return!1;mn(e,he);const o=xn(),a=Sn(),l=a?Mn():"";if(a&&l===r&&l){if(n+=1,n>=Bn()&&o-t>=96)return!0}else n=0,r=l}return!1},new Promise((e,r)=>{var o=e=>{try{l(n.next(e))}catch(t){r(t)}},a=e=>{try{l(n.throw(e))}catch(t){r(t)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,a);l((n=n.apply(t,null)).next())});var t,n}(e).then(t=>{if(He===e&&(He=0),bt(e))return t?void Cn(e):function(){if(Se<0)return!1;const e=function(){if(!1===r.restoreMaxLoadingMs)return Number.POSITIVE_INFINITY;const e=Number(r.restoreMaxLoadingMs);return Number.isFinite(e)&&e>0?e:Number.POSITIVE_INFINITY}();return Number.isFinite(e)&&xn()-Se>=e}()?(!0===r.debug&&import.meta,void Cn(e)):(function(e){qe!==e&&(qe=e,!0===r.debug&&import.meta)}(e),void function(e){bt(e)&&"undefined"!=typeof window&&(null!=be&&window.clearTimeout(be),be=window.setTimeout(()=>{be=null,bt(e)&&Kn(e)},120))}(e))}))}function Tn(){de.value=!0,Se=-1,He=0,qe=0,Be=!1,Ke=!1,null!=be&&"undefined"!=typeof window&&window.clearTimeout(be),be=null}function Hn(){Ce=!0}function qn(e){var t,n;const r=[];if(!function(e){var t,n;return!!e&&(null!=(t=e.measurementKey)?t:"")===je.value&&(null!=(n=e.widthBucket)?n:0)===U.value}(e))return r;for(const[o,a]of Object.entries(null!=(t=null==e?void 0:e.itemHeights)?t:{})){if(!Number.isFinite(a)||a<=0)continue;const t=ht(o),l=null==(n=null==e?void 0:e.itemSizeSources)?void 0:n[o];ft(t,l)&&r.push([o,Math.ceil(a),l])}return r}function Fn(e){var t;for(const[n,r]of Object.entries(null!=(t=null==e?void 0:e.markdownStates)?t:{}))if(yt(ht(n),r))return!0;return!1}function Cn(e){if(e===ye){wt(),mn(e,he),ce.value=!1,Se=-1,he=void 0,xe=null,Me=0;for(const e of Ve.value.records)e.markdown||$t(e.key);_t({remember:!1}),Tn(),Hn()}}function An(e,t={}){var n;const o=++ye;(null==e?void 0:e.widthBucket)&&0===U.value&&(U.value=e.widthBucket);const a=null==e?void 0:e.outerAnchor,l=function(e){return Boolean((null==e?void 0:e.outerAnchor)||qn(e).length>0||Fn(e))}(e),i=Fn(e),u=!(!Ce&&!0!==t.threadSwitch||l),s=l||u,c=null!=a?a:s?function(){if(!1!==r.stickToBottom)return{type:"bottom",distanceFromBottomPx:0};const e=Ve.value.records[0];return e?{type:"item",itemKey:e.key,offsetWithinItemPx:0}:void 0}():void 0;wt(),He=0,qe=0,de.value=!s,ce.value=s&&Boolean(c),Me=o,he=c,Be=s&&i,Ke=s&&u,Se=ce.value?xn():-1,_n(),ee.clear(),te.clear(),ne.clear(),re.clear(),oe.clear(),ae.clear(),le.clear();for(const[r,m,f]of qn(e)){const e=Math.ceil(m);te.set(r,f),ee.set(r,e),ne.set(r,e),re.set(r,f)}for(const[r,m]of Object.entries(null!=(n=null==e?void 0:e.markdownStates)?n:{}))oe.set(r,m),pt(r,m);We(),!0===r.stickToBottom?(X.value=!0,Z.value=!0):!1===r.stickToBottom?(X.value=!1,Z.value=!1):(X.value="bottom"===(null==c?void 0:c.type),Z.value="bottom"===(null==c?void 0:c.type)&&c.distanceFromBottomPx<=2);const d=cn(c);return xe=null==d?null:qt(d),null!=d&&Nt(d,{writeDom:!0,remember:!1,updatePinned:!1}),Te=(null==e?void 0:e.threadKey)===Ae.value?e:null,s?c?void y(()=>{mn(o,c),"undefined"!=typeof window?(fe.forEach(e=>{const t=window.setTimeout(()=>{mn(o,c)},e);pe.push(t)}),Kn(o)):Cn(o)}):(ce.value=!1,he=void 0,xe=null,Me=0,_t({remember:!1}),Tn(),void Hn()):(ce.value=!1,he=void 0,xe=null,Me=0,_t({remember:!1}),Tn(),Hn(),void(!1!==r.stickToBottom&&(X.value=!0,Z.value=!0,y(()=>{ce.value||jt()}))))}function _n(){for(const e of ue.values())e.disconnect();ue.clear(),ie.clear()}return g(Ae,(e,t)=>{const n=null!=_e?_e:t,o=Boolean(n&&n!==e);o&&function(e){var t;Ut(),(null==(t=un())?void 0:t.threadKey)!==e&&((null==Te?void 0:Te.threadKey)===e?(se.set(e,Te),a(Te)):se.has(e)||ln(e))}(n),_e=e,An(function(e){return(e?se.get(e):null)||function(e){var t;const n=r.initialThreadState;return n?(null!=(t=n.threadKey)?t:"")!==(null!=e?e:"")?null:n:null}(e)}(e),{threadSwitch:o})},{immediate:!0,flush:"sync"}),g(()=>Ze.value.records.map(e=>e.key).join("\0"),()=>{var e;e={start:Ze.value.start,end:Ze.value.end},o("range-change",e)},{immediate:!0}),g(()=>[r.items.length,Ve.value.totalHeight],()=>{ce.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||Z.value)&&y(()=>{ce.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||Z.value)&&jt()})},{flush:"post"}),k(()=>{Mt(),At(),he?(mn(Me,he),_t({remember:!1}),ln()):!1===r.stickToBottom?(_t({remember:!1}),ln()):(X.value=!0,Nt(Ht(),{writeDom:!0,remember:!1,updatePinned:!1}),_t({remember:!1}),ln()),W.value&&"undefined"!=typeof ResizeObserver&&(ge=new ResizeObserver(()=>{Mt(),_t()}),ge.observe(W.value))}),p(()=>{de.value||Kn(Me)}),b(()=>{un()||ln(),wt(),null!=we&&"undefined"!=typeof window&&window.clearTimeout(we),we=null,ve=void 0,Gt(Lt.raf),Lt.scheduled=!1,Lt.raf=null,Lt.anchor=void 0,Gt(Wt),Vt=!1,Wt=null,Dt.clear(),_n(),te.clear(),ne.clear(),re.clear(),ae.clear(),le.clear(),null==ge||ge.disconnect(),ge=null}),t({captureThreadState:function(){return an(Ae.value)},restoreThreadState:An,scrollToBottom:jt,scrollToIndex:function(e,t="start"){const n=Ve.value.records[e];if(!n)return;let r=xt()+Ye(n);"center"===t?r-=(Q.value-n.size)/2:"end"===t&&(r-=Q.value-n.size),Pt(r)},scrollToOffset:Pt,getItemSize:e=>{var t;const n=ht(e);return n&&null!=(t=vt(n))?t:void 0},getTotalHeight:()=>Ve.value.totalHeight,getVisibleRange:()=>({start:Ze.value.start,end:Ze.value.end})}),(e,t)=>(w(),S("div",{ref_key:"scrollRoot",ref:W,class:M(["markstream-virtual-timeline",{"is-restoring-thread":!de.value}]),"data-markstream-virtual-timeline":"1","data-testid":"markstream-virtual-timeline",onScroll:Rt},[x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${Ze.value.topSpacerHeight}px`}),"aria-hidden":"true"},null,4),(w(!0),S(K,null,T(Ze.value.records,t=>(w(),S("div",{key:t.renderKey,class:"markstream-virtual-timeline__item","data-markstream-item-key":t.key,"data-markstream-item-kind":t.kind,style:B({minHeight:`${t.size}px`})},[H(e.$slots,"default",q({ref_for:!0},nn(t)),()=>{var e,n;return[t.markdown?(w(),F(C(P),q({key:0,ref_for:!0},tn(t)),null,16)):ut(t)?(w(),F(A(ut(t)),{key:1,ref_for:!0,ref:en(t),item:lt(t)},null,8,["item"])):(w(),S("div",{key:2,ref_for:!0,ref:en(t),class:M(["markstream-virtual-timeline__default-item",`markstream-virtual-timeline__default-item--${t.kind||"item"}`])},["tool-call"===t.kind&&(null==(e=lt(t))?void 0:e.status)?(w(),S("span",G,_(null==(n=lt(t))?void 0:n.status),1)):N("",!0),R(" "+_(rn(t)),1)],2))]},!0)],12,Y))),128)),x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${Ze.value.bottomSpacerHeight}px`}),"aria-hidden":"true"},null,4),de.value?N("",!0):(w(),S("div",{key:0,class:"markstream-virtual-timeline__restore-loading",style:B({height:`${Math.max(1,St())}px`,transform:`translateY(${J.value}px)`}),"aria-live":"polite","aria-busy":"true"},[H(e.$slots,"restore-loading",{threadKey:Ae.value,visibleRecords:Ze.value.records},()=>[t[0]||(t[0]=x("div",{class:"markstream-virtual-timeline__restore-loading-card"},[x("span",{class:"markstream-virtual-timeline__restore-spinner","aria-hidden":"true"}),x("span",null,"Loading thread…")],-1))],!0)],4))],34))}})),[["__scopeId","data-v-dff004bf"]]),Q=J;Q.install=e=>{var t,n;const r=null!=(n=null!=(t=Q.__name)?t:Q.name)?n:"MarkstreamVirtualTimeline";e.component(r,J)};export{Q as default};
|
|
1
|
+
var e=Object.defineProperty,t=Object.defineProperties,n=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,i=(e,t)=>{for(var n in t||(t={}))o.call(t,n)&&l(e,n,t[n]);if(r)for(var n of r(t))a.call(t,n)&&l(e,n,t[n]);return e},u=(e,r)=>t(e,n(r)),s=(e,t,n)=>l(e,"symbol"!=typeof t?t+"":t,n);import{defineComponent as c,ref as d,reactive as m,provide as f,computed as v,shallowRef as h,watch as g,nextTick as y,onMounted as k,onUpdated as p,onBeforeUnmount as b,openBlock as w,createElementBlock as S,normalizeClass as M,createElementVNode as x,normalizeStyle as B,Fragment as K,renderList as T,renderSlot as H,mergeProps as q,createBlock as F,unref as C,resolveDynamicComponent as A,toDisplayString as N,createCommentVNode as R,createTextVNode as _}from"vue";import{x as P,ad as j,a6 as I,Y as z,a5 as O,a4 as $,a3 as E,a7 as L,af as D,a2 as V,y as W}from"./exports.js";const Y=["data-markstream-item-key","data-markstream-item-kind"],G={key:0,class:"markstream-virtual-timeline__status"},J=/* @__PURE__ */W(/* @__PURE__ */c(u(i({},{name:"MarkstreamVirtualTimeline"}),{__name:"MarkstreamVirtualTimeline",props:{items:{},threadKey:{},layoutRevision:{},getKey:{},getKind:{},getContent:{},getFinal:{},getRevision:{},estimateItemHeight:{},overscan:{default:4},overscanPx:{default:1200},stickToBottom:{type:[Boolean,String],default:"auto"},measurementKey:{},markdownMode:{default:"docs"},markdownCodeRenderer:{},initialThreadState:{},markdownFade:{type:Boolean,default:!1},restoreMaxLoadingMs:{type:[Number,Boolean],default:!1},debug:{type:Boolean}},emits:["height-change","virtual-state-change","range-change","thread-state-change"],setup(e,{expose:t,emit:n}){const r=e,o=n;function a(e){o("thread-state-change",e)}const l=/* @__PURE__ */new Map;function c(e){var t;!0===r.debug&&l.set(e,(null!=(t=l.get(e))?t:0)+1)}const W=d(null),J=d(0),Q=d(0),U=d(0),X=d(!0),Z=d(!0),ee=m(/* @__PURE__ */new Map),te=/* @__PURE__ */new Map,ne=/* @__PURE__ */new Map,re=/* @__PURE__ */new Map,oe=m(/* @__PURE__ */new Map),ae=m(/* @__PURE__ */new Map),le=/* @__PURE__ */new Map,ie=/* @__PURE__ */new Map,ue=/* @__PURE__ */new Map,se=/* @__PURE__ */new Map,ce=d(!1),de=d(!0),me=d(!0);f("markstreamHostScrollManaged",me);const fe=[0,80,180,360,640];let ve,he,ge=null,ye=0,ke=null,pe=[],be=null,we=null,Se=-1,Me=0,xe=null,Be=!1,Ke=!1,Te=null,He=0,qe=0,Fe={top:0,bottom:0},Ce=!1;const Ae=v(()=>null==r.threadKey?void 0:String(r.threadKey));let Ne=Ae.value;function Re(e){return"chat"===e||"minimal"===e||"docs"===e?e:"docs"}const _e=v(()=>Re(r.markdownMode)),Pe=v(()=>function(e,t=Re(r.markdownMode)){return"pre"===e||"shiki"===e||"monaco"===e?e:"docs"===t?"monaco":"pre"}(r.markdownCodeRenderer,_e.value)),je=v(()=>[null==r.measurementKey?"":String(r.measurementKey),U.value].join(":")),Ie=v(()=>`${je.value}${_e.value}${Pe.value}`);class ze{constructor(e){s(this,"tree"),s(this,"total"),this.tree=Array.from({length:e.length+1},()=>0),this.total=0,e.forEach((e,t)=>this.add(t,e))}add(e,t){if(Number.isFinite(t)&&0!==t){this.total+=t;for(let n=e+1;n<this.tree.length;n+=n&-n)this.tree[n]+=t}}prefixSum(e){let t=Math.max(0,Math.min(e,this.tree.length-1)),n=0;for(;t>0;)n+=this.tree[t],t-=t&-t;return n}lowerBound(e,t="gte"){const n=this.tree.length-1;if(n<=0)return 0;if(e<=0)return 0;if(e>=this.total)return n-1;let r=0,o=1;for(;o<<1<this.tree.length;)o<<=1;let a=0;for(;o>0;o>>=1){const n=r+o;if(n<this.tree.length){const o=a+this.tree[n];("gt"===t?o<=e:o<e)&&(r=n,a=o)}}return Math.min(r,n-1)}}const Oe=h([]),$e=/* @__PURE__ */new Map,Ee=h(new ze([])),Le=d(0);let De=[];const Ve=v(()=>(Le.value,{records:Oe.value,totalHeight:Ee.value.total}));function We(){var e;const t=[],n=[],o=function(){var e;return null!=(e=Ae.value)?e:"timeline"}();$e.clear();for(let a=0;a<r.items.length;a++){const l=r.items[a],s=et(l,a),c={item:l,index:a,key:s,kind:I(l,a,r),markdown:j(l,a,r)};let d=vt(c);null==d&&(d=null!=(e=De[a])?e:z(l,a,r));const m=u(i({},c),{renderKey:`${o}:${s}`,offset:0,size:d,component:null==l?void 0:l.component});t.push(m),n.push(d),$e.has(s)||$e.set(s,m)}Oe.value=t,Ee.value=new ze(n),De=[],Le.value+=1}function Ye(e){return Le.value,Ee.value.prefixSum(e.index)}function Ge(e){return u(i({},e),{offset:Ye(e)})}function Je(e,t){const n=$e.get(e);if(!n)return;const r=Math.ceil(t),o=r-n.size;0!==o&&(n.size=r,Ee.value.add(n.index,o),Le.value+=1)}function Qe(e,t="gte"){return Le.value,Ee.value.lowerBound(e,t)}const Ue=v(()=>{var e;return Math.max(0,null!=(e=r.overscan)?e:4)}),Xe=v(()=>{var e;const t=Math.max(0,null!=(e=r.overscanPx)?e:1200);return de.value?t:Math.min(t,160)}),Ze=v(()=>{var e,t,n;const r=Ve.value.records;if(0===r.length)return{start:0,end:0,records:[],topSpacerHeight:0,bottomSpacerHeight:0};const o=Ue.value,a=Xe.value,l=Tt(),i=l+Math.max(1,Q.value);let u=Qe(Math.max(0,l-a),"gt"),s=Qe(Math.min(Ve.value.totalHeight,i+a))+1;u=Math.max(0,u-o),s=Math.min(r.length,Math.max(s+o,u+1));const c=r.slice(u,s).map(Ge),d=c[0],m=c[c.length-1],f=null!=(e=null==d?void 0:d.offset)?e:0,v=null!=(t=null==m?void 0:m.offset)?t:0;return{start:u,end:s,records:c,topSpacerHeight:f,bottomSpacerHeight:Math.max(0,Ve.value.totalHeight-(v+(null!=(n=null==m?void 0:m.size)?n:0)))}});function et(e,t){return O(e,t,r)}const tt=/* @__PURE__ */new WeakMap;let nt=1;function rt(e){if("object"!=typeof e&&"function"!=typeof e||null===e)return String(null!=e?e:"");const t=e;let n=tt.get(t);return n||(n=nt++,tt.set(t,n)),String(n)}function ot(e,t,n){var o;if(n)return"";const a="string"==typeof(null==e?void 0:e.text)?e.text:"string"==typeof(null==e?void 0:e.message)?e.message:"string"==typeof(null==e?void 0:e.label)?e.label:String(null!=(o=E(e,t,r))?o:"");return a?`${a.length}:${function(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return(t>>>0).toString(36)}(a)}`:""}function at(e,t){if("function"!=typeof r.estimateItemHeight)return"";const n=r.estimateItemHeight(e,t);if(!Number.isFinite(n)||n<=0)return"";const o=Math.ceil(n);return De[t]=o,String(o)}function lt(e){var t;return null!=(t=r.items[e.index])?t:e.item}function it(e){return e.item}function ut(e){var t;const n=lt(e);return null!=(t=null==n?void 0:n.component)?t:e.component}function st(e,t=Ae.value){const n=it(e),o=L(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function ct(e,t=Ae.value){if(e.markdown)return st(e,t);const n=it(e),o=L(n,e.index,r);return[null!=t?t:"timeline",e.key,null==o?"":String(o)].join(":")}function dt(e){return{sourceKey:ct(e),measurementKey:e.markdown?Ie.value:je.value,widthBucket:U.value}}function mt(e,t){var n,r,o,a,l,i;return(null!=(n=null==e?void 0:e.sourceKey)?n:"")===(null!=(r=null==t?void 0:t.sourceKey)?r:"")&&(null!=(o=null==e?void 0:e.measurementKey)?o:"")===(null!=(a=null==t?void 0:t.measurementKey)?a:"")&&(null!=(l=null==e?void 0:e.widthBucket)?l:0)===(null!=(i=null==t?void 0:t.widthBucket)?i:0)}function ft(e,t,n=Ae.value){var r;return!(!e||!t)&&t.sourceKey===ct(e,n)&&t.measurementKey===(e.markdown?Ie.value:je.value)&&(null!=(r=t.widthBucket)?r:0)===U.value}function vt(e,t=Ae.value){const n=ee.get(e.key);return ft(e,te.get(e.key),t)&&Number.isFinite(n)&&n>0?n:null}function ht(e){return Ve.value,$e.get(e)}function gt(e,t){var n,r;return!!(e&&e.markdown&&t)&&t.sessionKey===st(e)&&(null!=(n=t.threadKey)?n:"")===(null!=(r=Ae.value)?r:"")&&!!function(e){const t=Ie.value,n=null!=e?e:"";return n===t||n.startsWith(`${t}\0`)}(t.measurementKey)}function yt(e,t){return gt(e,t)}function kt(e,t,n){!Number.isFinite(t)||t<=0||(ae.set(e,Math.ceil(t)),le.set(e,n))}function pt(e,t=oe.get(e)){const n=function(e,t=oe.get(e)){var n;if(!yt(ht(e),t))return 0;const r=Number(null==(n=null==t?void 0:t.metrics)?void 0:n.totalHeight);return Number.isFinite(r)&&r>0?Math.ceil(r):0}(e,t);return n>0&&kt(e,n,t),n}function bt(e){return e===ye&&Me===e&&!de.value}function wt(){if(null!=ke&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(ke),ke=null,null!=be&&"undefined"!=typeof window&&window.clearTimeout(be),be=null,"undefined"!=typeof window)for(const e of pe)window.clearTimeout(e);pe=[]}function St(){var e;return Math.max(0,Q.value||(null==(e=W.value)?void 0:e.clientHeight)||0)}function Mt(){const e=W.value;if(!e||"function"!=typeof getComputedStyle)return void(Fe={top:0,bottom:0});const t=getComputedStyle(e),n=Number.parseFloat(t.paddingTop)||0,r=Number.parseFloat(t.paddingBottom)||0;Fe={top:n,bottom:r}}function xt(){return Fe.top}function Bt(){const e=Fe;return Math.max(0,Ve.value.totalHeight+e.top+e.bottom)}function Kt(){var e,t;return Math.max(Bt(),null!=(t=null==(e=W.value)?void 0:e.scrollHeight)?t:0)}function Tt(){return Math.max(0,J.value-xt())}function Ht(){return Math.max(0,Kt()-St())}function qt(e){const t=Number(e);return Number.isFinite(t)?Math.max(0,Math.min(t,Ht())):0}function Ft(){return Math.max(0,Ht()-J.value)}function Ct(){const e=Ft();Z.value=e<=2,!0!==r.stickToBottom?!1!==r.stickToBottom?X.value=e<=48:X.value=!1:X.value=!0}function At(){var e,t;const n=null!=(t=null==(e=W.value)?void 0:e.clientWidth)?t:0;U.value=Number.isFinite(n)&&n>0?32*Math.round(n/32):0}function Nt(e={}){const t=W.value;t&&(J.value=Math.max(0,t.scrollTop||0),Q.value=t.clientHeight||0),At(),Ct(),(!0===e.remember||!1!==e.remember&&!ce.value)&&ln()}function Rt(e,t={}){const n=qt(e),r=W.value;J.value=n,r&&(Q.value=r.clientHeight||Q.value||0,!1!==t.writeDom&&Math.abs((r.scrollTop||0)-n)>.5&&(r.scrollTop=n)),At(),!1!==t.updatePinned&&Ct(),(!0===t.remember||!1!==t.remember&&!ce.value)&&ln()}function _t(){if(!de.value){const e=W.value,t=xe;return e&&null!=t&&Math.abs((e.scrollTop||0)-t)>.5&&(e.scrollTop=t),void mn(Me,he)}Nt()}function Pt(e){Rt(e,{writeDom:!0,remember:!0})}function jt(){Pt(Ht())}function It(e,t){const n=ne.get(e);if(!Number.isFinite(n)||null==n||n<=0)return 0;const r=re.get(e);return t&&r&&!zt(r,t)?0:Math.ceil(n)}function zt(e,t){var n,r,o,a;return e.sourceKey===t.sourceKey&&(0===(null!=(n=t.widthBucket)?n:0)||0===(null!=(r=e.widthBucket)?r:0)||(null!=(o=t.widthBucket)?o:0)===(null!=(a=e.widthBucket)?a:0))&&(Ot(t.measurementKey)||Ot(e.measurementKey)||t.measurementKey===e.measurementKey)}function Ot(e){return":0"===e||!0===(null==e?void 0:e.startsWith(":0"))}function $t(e){ne.delete(e),re.delete(e)}function Et(e,t,n,o={}){if(!Number.isFinite(t)||t<=0)return;const a=ee.get(e),l=n&&!mt(te.get(e),n);!function(e,t){if(!t)return;const n=re.get(e);n&&!zt(n,t)&&(ne.delete(e),re.delete(e))}(e,n);const i=It(e,n),u=i>0?i:Math.ceil(t);if(null!=a&&Math.abs(a-u)<=1&&!l)return;if(!1===o.updateLayout)return n&&te.set(e,n),ee.set(e,u),void sn(o.rememberThreadKey);if(ce.value)return n&&te.set(e,n),ee.set(e,u),Je(e,u),void function(e=Me,t=he){t&&y(()=>{mn(e,t),null==ke&&"function"==typeof requestAnimationFrame&&(ke=requestAnimationFrame(()=>{ke=null,mn(e,t)}))})}();const s=(c=on(),d=Ft(),!0===r.stickToBottom?{type:"bottom",distanceFromBottomPx:0}:"auto"===r.stickToBottom&&X.value?{type:"bottom",distanceFromBottomPx:Z.value?0:Math.max(0,d)}:c);var c,d;n&&te.set(e,n),ee.set(e,u),Je(e,u),sn(o.rememberThreadKey),function(e){if(!Lt.scheduled)return Lt.anchor=e,Lt.scheduled=!0,void(Lt.raf=Yt(Jt));!Lt.anchor&&e&&(Lt.anchor=e)}(s)}g([()=>function(){const e=r.layoutRevision;return null!=e?["explicit",String(e),r.items.length].join(""):r.items.map((e,t)=>{var n;const o=et(e,t),a=j(e,t,r);return[o,I(e,t,r),a?1:0,null!=(n=L(e,t,r))?n:"",at(e,t),ot(e,t,a),(l=null==e?void 0:e.component,l?"string"==typeof l?`s:${l}`:`o:${rt(l)}`:"")].join("");var l}).join("\0")}(),je,Ie,Ae,()=>rt(r.estimateItemHeight),()=>rt(r.getKey),()=>rt(r.getKind),()=>rt(r.getContent),()=>rt(r.getFinal),()=>rt(r.getRevision)],()=>We(),{immediate:!0,flush:"sync"});const Lt={scheduled:!1,raf:null,anchor:void 0},Dt=/* @__PURE__ */new Map;let Vt=!1,Wt=null;function Yt(e){return"function"==typeof requestAnimationFrame?requestAnimationFrame(e):(y(e),null)}function Gt(e){null!=e&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(e)}function Jt(){if(!Lt.scheduled)return;Lt.scheduled=!1,Lt.raf=null;const e=Lt.anchor;Lt.anchor=void 0,e&&dn(e),Nt({remember:!1})}function Qt(){var e,t;if(!Vt)return;Vt=!1,Wt=null;const n=Array.from(Dt.entries());Dt.clear();for(const[r,o]of n){if(ae.get(r)!==o.logicalHeight)continue;const n=$e.get(r);if(!n)continue;const a=(null!=(e=o.threadKey)?e:"")===(null!=(t=Ae.value)?t:"");Zt(n,{allowMarkdownShrink:o.allowMarkdownShrink,markdownLogicalHeight:o.logicalHeight,rememberThreadKey:o.threadKey,source:o.itemSizeSource,updateLayout:a})}Jt()}function Ut(){Qt(),Jt()}function Xt(e){var t;null==(t=ue.get(e))||t.disconnect(),ue.delete(e),ie.delete(e)}function Zt(e,t={}){var n,o,a;const i=(u=e.key,D(ie.get(u),c));var u;const s=null!=(n=t.source)?n:dt(e);let d=!1;const m=()=>{d||(d=!0,function(e,t){const n=function(){if(!0!==r.debug||0===l.size)return null;let e=0;for(const n of l.values())e+=n;const t={total:e,byLabel:Object.fromEntries(Array.from(l.entries()).sort((e,t)=>t[1]-e[1]||e[0].localeCompare(t[0])))};return l.clear(),t}();n&&console.info("[markstream-vue][timeline][perf] layout-reads",{label:e,itemKey:t,layoutReads:n})}("reconcileRecordSize",e.key))};if(!e.markdown)return i>0&&Et(e.key,i,s,t),void m();const f=mt(te.get(e.key),s)&&null!=(o=ee.get(e.key))?o:0,v=null!=(a=t.markdownLogicalHeight)?a:function(e){var t;return gt(ht(e),le.get(e))?null!=(t=ae.get(e))?t:0:pt(e)}(e.key),h=function(e,t){return V(ie.get(e),c,t)}(e.key,i);if(v>0){let n=Math.max(i,v+h);(!t.allowMarkdownShrink||ce.value)&&f>0&&(n=Math.max(n,f));const r=It(e.key,s);return(r>0&&v>r+1&&!ce.value||t.allowMarkdownShrink&&!ce.value)&&$t(e.key),n>0&&Et(e.key,n,s,t),void m()}return String(E(lt(e),e.index,r)).trim()?f>0?(i>f+1&&Et(e.key,i,s,t),void m()):(i>0&&Et(e.key,i,s,t),void m()):(i>0&&($t(e.key),Et(e.key,i,s,t)),void m())}function en(e){return t=>{!function(e,t){const n=function(e){const t=e&&"$el"in e?e.$el:e;return t instanceof HTMLElement?t:null}(t),r=ie.get(e.key);if(!n)return void Xt(e.key);if(r===n)return void Zt(e);if(Xt(e.key),ie.set(e.key,n),Zt(e),"undefined"==typeof ResizeObserver)return;const o=new ResizeObserver(()=>{Zt(e)});o.observe(n),ue.set(e.key,o)}(e,t)}}function tn(e){const t=lt(e),n=$(t,e.index,r),a=oe.get(e.key),l=_e.value,i=Pe.value,u={enabled:!0,sessionKey:st(e),threadKey:Ae.value,scrollRoot:()=>W.value,restoreState:yt(e,a)?a:null,restoreAnchor:!1,measurementKey:Ie.value,settleMode:"manual",settledToken:n,emitIntervalMs:96,heightDiffThresholdPx:4};return{content:E(t,e.index,r),final:n,mode:l,codeRenderer:i,nodeVirtual:!1,fade:!0===r.markdownFade,indexKey:st(e),virtualScroll:u,onHeightChange(t){if(t.sessionKey!==st(e))return;kt(e.key,t.totalHeight,{sessionKey:t.sessionKey,threadKey:Ae.value,measurementKey:Ie.value});const n=function(e){return"final"===e.phase||!!e.stable&&("measured"===e.confidence||"final"===e.confidence)}(t),r=Math.ceil(t.totalHeight);var a;!function(e,t){Dt.set(e.key,t),Vt||(Vt=!0,Wt=Yt(Qt))}(e,{allowMarkdownShrink:n,itemSizeSource:dt(e),logicalHeight:r,threadKey:Ae.value}),a={itemKey:e.key,metrics:t},o("height-change",a)},onVirtualStateChange(t){var n;t.sessionKey===st(e)&&(oe.set(e.key,t),pt(e.key,t),sn(),n={itemKey:e.key,state:t},o("virtual-state-change",n))}}}function nn(e){return{item:lt(e),index:e.index,itemKey:e.key,kind:e.kind,measureRef:en(e),markdownProps:tn(e)}}function rn(e){var t;const n=null!=(t=lt(e))?t:{};return"string"==typeof n.text?n.text:"string"==typeof n.message?n.message:"string"==typeof n.label?n.label:E(n,e.index,r)}function on(){const e=Ft();if(e<=2)return{type:"bottom",distanceFromBottomPx:Math.max(0,e)};const t=Tt(),n=Qe(t,"gt"),r=Ve.value.records[n];if(r){const e=Ye(r);if(t>=e&&t<e+r.size)return{type:"item",itemKey:r.key,offsetWithinItemPx:t-e}}const o=Ze.value.records[0];return o?{type:"item",itemKey:o.key,offsetWithinItemPx:0}:void 0}function an(e=Ae.value){Ut();const t={},n={};for(const r of Ve.value.records){const o=vt(r,e),a=te.get(r.key);null!=o&&ft(r,a,e)&&(t[r.key]=o,n[r.key]=a)}return{threadKey:e,measurementKey:je.value,widthBucket:U.value,outerAnchor:on(),itemHeights:t,itemSizeSources:n,markdownStates:Object.fromEntries(oe.entries())}}function ln(e=Ae.value){if(!e)return;const t=an(e);return se.set(e,t),e===Ae.value&&(Te=t),a(t),t}function un(){const e=ve;return null!=we&&"undefined"!=typeof window&&window.clearTimeout(we),we=null,ve=void 0,e?ln(e):void 0}function sn(e=Ae.value){e&&(ve=e,null==we&&("undefined"!=typeof window?we=window.setTimeout(()=>{we=null,un()},80):un()))}function cn(e){if(!e)return null;if("bottom"===e.type)return(de.value?Kt():Bt())-St()-Math.max(0,e.distanceFromBottomPx);const t=ht(e.itemKey);return t?xt()+Ye(t)+Math.max(0,e.offsetWithinItemPx):null}function dn(e,t={}){const n=cn(e);return null!=n&&(Rt(n,{writeDom:!0,remember:!0===t.remember}),!0)}function mn(e,t){if(e===ye){if(t){const e=dn(t,{remember:!1});xe=e?J.value:null}Nt({remember:!1})}}function fn(e,t){const n=e.getBoundingClientRect();return n.width>0&&n.height>0&&n.bottom>t.top&&n.top<t.bottom}function vn(e,t){const n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.bottom>r.top&&n.top<r.bottom}function hn(e){if(e.closest(".code-editor-container.is-hidden"))return!1;let t=e;for(;t;){const e=window.getComputedStyle(t);if("none"===e.display||"hidden"===e.visibility||Number.parseFloat(e.opacity||"1")<=.01)return!1;t=t.parentElement}const n=e.getBoundingClientRect();return n.width>0&&n.height>0}function gn(e){return Boolean(e.querySelector(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(",")))}function yn(e){var t;if(e.querySelector(":scope > .node-placeholder"))return!1;const n=e.querySelector(":scope > .node-content");return!!n&&(!gn(n)&&(!!function(e){const t=Array.from(e.querySelectorAll("[data-markstream-math]"));return!t.length||t.every(e=>{const t=e.dataset.markstreamMode;return!("true"===e.dataset.markstreamPending||"loading"===t||"katex"!==t&&"fallback"!==t)})}(n)&&("code_block"===(null!=(t=e.dataset.nodeType)?t:"")?function(e){if(e.querySelector('[data-markstream-code-loading="1"]'))return!1;const t=e.querySelector('[data-markstream-code-block="1"]');if(t){const e="true"===t.dataset.markstreamEnhanced,r=function(e){if(!e)return!1;if(e.classList.contains("is-fading-out"))return!1;const t=window.getComputedStyle(e);if("none"===t.display||Number.parseFloat(t.opacity||"1")<=.01)return!1;const n=e.getBoundingClientRect();return n.width>0&&n.height>0}(t.querySelector("pre.code-pre-fallback"));return e||r||(n=t,Array.from(n.querySelectorAll(".monaco-editor, .monaco-diff-editor")).some(hn))}var n;return function(e){var t,n;const r=e.querySelector("[data-markstream-mermaid], .mermaid-block-container");if(r){if("true"===r.dataset.markstreamPending)return!1;const e=r.dataset.markstreamMode;return"preview"===e?Boolean(r.querySelector("svg")||r.querySelector('[data-mermaid-svg-layer="1"] svg')):"fallback"===e&&Boolean(null==(n=null==(t=r.querySelector(".mermaid-source-code"))?void 0:t.textContent)?void 0:n.trim())}const o=e.querySelector("[data-markstream-infographic], .infographic-block-container");if(o)return"true"!==o.dataset.markstreamPending;const a=e.querySelector("[data-markstream-d2], .d2-block-container");return a?"true"!==a.dataset.markstreamPending:Boolean(e.querySelector('pre[data-markstream-pre="1"]'))}(e)}(n):function(e){var t;return(null!=(t=e.textContent)?t:"").trim().length>0||Boolean(e.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","select","textarea","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]'].join(",")))}(n))))}function kn(e,t){var n;if(!e.markdown)return!0;const o=E(lt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;if(t.querySelector("[data-node-index]"))return!0;const a=t.querySelector(".markdown-renderer"),l=null!=a?a:t;return!gn(l)&&(!!(null!=(n=l.textContent)?n:"").trim()||Boolean(l.querySelector(["hr","br","table","blockquote","img","svg","canvas","input","button","[role]","[aria-label]","[data-markstream-math]","[data-markstream-mermaid]","[data-markstream-infographic]","[data-markstream-d2]",'[data-markstream-pre="1"]','[data-markstream-code-block="1"]'].join(","))))}function pn(e,t,n){if(!e.markdown)return!0;const o=E(lt(e),e.index,r);if(!String(null!=o?o:"").trim())return!0;const a=n.getBoundingClientRect(),l=Array.from(t.querySelectorAll("[data-node-index]")).filter(e=>fn(e,a));if(l.length>0)return l.every(e=>yn(e));const i=t.querySelector(".markdown-renderer"),u=null!=i?i:t;return u.querySelector("[data-node-index], .node-placeholder")?!!function(e,t,n,r){if("bottom"!==(null==he?void 0:he.type))return!1;if(!bn(e))return!1;const o=n.getBoundingClientRect(),a=t.getBoundingClientRect();return o.width>0&&o.height>0&&o.bottom<=r.top+1&&a.bottom>r.top}(e,t,u,a)&&kn(e,t):kn(e,t)}function bn(e){const t=te.get(e.key);return It(e.key,t)>0}function wn(e,t){var n,o,a,l;if(!e.markdown)return!0;if(!Be&&!Ke)return!0;if(bn(e))return!0;const i=E(lt(e),e.index,r);if(!String(null!=i?i:"").trim())return!0;if(!t.querySelector(".markdown-renderer"))return!1;const u=oe.get(e.key);if(!yt(e,u))return!1;const s=null==u?void 0:u.metrics,c=Number(null!=(n=null==s?void 0:s.totalHeight)?n:0);if(!Number.isFinite(c)||c<=0)return!1;const d=Number(null!=(o=null==s?void 0:s.measuredCount)?o:0),m=Number(null!=(a=null==s?void 0:s.estimatedCount)?a:0),f=Number(null!=(l=null==s?void 0:s.nodeCount)?l:0),v=f<=0||d>=f&&m<=0,h="measured"===(null==s?void 0:s.confidence)||"final"===(null==s?void 0:s.confidence),g=!0===(null==s?void 0:s.stable)||h;return Ke?v&&!0===(null==s?void 0:s.final)&&h:g||!0===(null==s?void 0:s.final)}function Sn(){const e=W.value;if(!e)return!1;const t=cn(he);if(null!=t&&Math.abs((e.scrollTop||0)-qt(t))>.5)return!1;const n=Ze.value.records;if(!n.length)return 0===Ve.value.records.length;const r=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),o=[];for(const i of n){const t=r.get(i.key);t&&vn(t,e)&&o.push({record:i,el:t})}if(!o.length)return!1;for(const{record:i,el:u}of o){if(u.offsetHeight+1<i.size)return!1;if(!pn(i,u,e))return!1;if(!wn(i,u))return!1}const a=e.getBoundingClientRect();if(Array.from(e.querySelectorAll(['[data-markstream-pending="true"]','[data-markstream-mermaid][data-markstream-mode="pending"]','.mermaid-block-container[data-markstream-mode="pending"]','[data-markstream-code-loading="1"]'].join(","))).some(e=>fn(e,a)))return!1;const l=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>fn(e,a));for(const i of l)if(!yn(i))return!1;return!0}function Mn(){const e=W.value;if(!e)return"";const t=e.getBoundingClientRect(),n=new Map(Array.from(e.querySelectorAll("[data-markstream-item-key]")).map(e=>{var t;return[null!=(t=e.dataset.markstreamItemKey)?t:"",e]})),r=Ze.value.records.map(e=>{var t,r,o,a,l,i,u,s,c;const d=n.get(e.key),m=null==d?void 0:d.querySelector(".markdown-renderer"),f=null==(t=oe.get(e.key))?void 0:t.metrics;return[e.key,e.size,null!=(r=null==d?void 0:d.offsetHeight)?r:0,null!=(o=null==d?void 0:d.scrollHeight)?o:0,null!=(a=null==m?void 0:m.offsetHeight)?a:0,null!=(l=null==m?void 0:m.scrollHeight)?l:0,f?Math.round(Number(f.totalHeight||0)):"",null!=(i=null==f?void 0:f.measuredCount)?i:"",null!=(u=null==f?void 0:f.estimatedCount)?u:"",null!=(s=null==f?void 0:f.nodeCount)?s:"",!0===(null==f?void 0:f.final)?1:0,!0===(null==f?void 0:f.stable)?1:0,null!=(c=null==f?void 0:f.confidence)?c:""].join(":")}).join("|"),o=Array.from(e.querySelectorAll("[data-node-index]")).filter(e=>fn(e,t)).map(e=>{var t,n,r,o,a;const l=e.getBoundingClientRect(),i=e.querySelector(":scope > .node-content"),u=null==i?void 0:i.querySelector('[data-markstream-code-block="1"]'),s=null==i?void 0:i.querySelector("pre.code-pre-fallback"),c=null==i?void 0:i.querySelector(".monaco-editor, .monaco-diff-editor");return[null!=(t=e.dataset.nodeIndex)?t:"",null!=(n=e.dataset.nodeType)?n:"",Math.round(l.height),null!=(r=null==i?void 0:i.offsetHeight)?r:0,null!=(o=null==i?void 0:i.scrollHeight)?o:0,null!=(a=null==u?void 0:u.dataset.markstreamEnhanced)?a:"",u?Math.round(u.getBoundingClientRect().height):0,s?Math.round(s.getBoundingClientRect().height):0,c?Math.round(c.getBoundingClientRect().height):0].join(":")}).join("|");return[Math.round(e.scrollTop||0),Math.round(e.scrollHeight||0),Math.round(Ve.value.totalHeight||0),r,o].join("\n")}function xn(){return"undefined"!=typeof performance?performance.now():Date.now()}function Bn(){return Ke?24:2}function Kn(e){bt(e)&&He!==e&&(He=e,function(e){return t=this,n=function*(){const t=xn();let n=0,r="";for(let o=0;o<40;o++){if(yield y(),yield new Promise(e=>{"function"!=typeof requestAnimationFrame?e():requestAnimationFrame(()=>e())}),!bt(e))return!1;mn(e,he);const o=xn(),a=Sn(),l=a?Mn():"";if(a&&l===r&&l){if(n+=1,n>=Bn()&&o-t>=96)return!0}else n=0,r=l}return!1},new Promise((e,r)=>{var o=e=>{try{l(n.next(e))}catch(t){r(t)}},a=e=>{try{l(n.throw(e))}catch(t){r(t)}},l=t=>t.done?e(t.value):Promise.resolve(t.value).then(o,a);l((n=n.apply(t,null)).next())});var t,n}(e).then(t=>{if(He===e&&(He=0),bt(e))return t?void Cn(e):function(){if(Se<0)return!1;const e=function(){if(!1===r.restoreMaxLoadingMs)return Number.POSITIVE_INFINITY;const e=Number(r.restoreMaxLoadingMs);return Number.isFinite(e)&&e>0?e:Number.POSITIVE_INFINITY}();return Number.isFinite(e)&&xn()-Se>=e}()?(!0===r.debug&&import.meta,void Cn(e)):(function(e){qe!==e&&(qe=e,!0===r.debug&&import.meta)}(e),void function(e){bt(e)&&"undefined"!=typeof window&&(null!=be&&window.clearTimeout(be),be=window.setTimeout(()=>{be=null,bt(e)&&Kn(e)},120))}(e))}))}function Tn(){de.value=!0,Se=-1,He=0,qe=0,Be=!1,Ke=!1,null!=be&&"undefined"!=typeof window&&window.clearTimeout(be),be=null}function Hn(){Ce=!0}function qn(e){var t,n;const r=[];if(!function(e){var t,n;return!!e&&(null!=(t=e.measurementKey)?t:"")===je.value&&(null!=(n=e.widthBucket)?n:0)===U.value}(e))return r;for(const[o,a]of Object.entries(null!=(t=null==e?void 0:e.itemHeights)?t:{})){if(!Number.isFinite(a)||a<=0)continue;const t=ht(o),l=null==(n=null==e?void 0:e.itemSizeSources)?void 0:n[o];ft(t,l)&&r.push([o,Math.ceil(a),l])}return r}function Fn(e){var t;for(const[n,r]of Object.entries(null!=(t=null==e?void 0:e.markdownStates)?t:{}))if(yt(ht(n),r))return!0;return!1}function Cn(e){if(e===ye){wt(),mn(e,he),ce.value=!1,Se=-1,he=void 0,xe=null,Me=0;for(const e of Ve.value.records)e.markdown||$t(e.key);Nt({remember:!1}),Tn(),Hn()}}function An(e,t={}){var n;const o=++ye;(null==e?void 0:e.widthBucket)&&0===U.value&&(U.value=e.widthBucket);const a=null==e?void 0:e.outerAnchor,l=function(e){return Boolean((null==e?void 0:e.outerAnchor)||qn(e).length>0||Fn(e))}(e),i=Fn(e),u=!(!Ce&&!0!==t.threadSwitch||l),s=l||u,c=null!=a?a:s?function(){if(!1!==r.stickToBottom)return{type:"bottom",distanceFromBottomPx:0};const e=Ve.value.records[0];return e?{type:"item",itemKey:e.key,offsetWithinItemPx:0}:void 0}():void 0;wt(),He=0,qe=0,de.value=!s,ce.value=s&&Boolean(c),Me=o,he=c,Be=s&&i,Ke=s&&u,Se=ce.value?xn():-1,Nn(),ee.clear(),te.clear(),ne.clear(),re.clear(),oe.clear(),ae.clear(),le.clear();for(const[r,m,f]of qn(e)){const e=Math.ceil(m);te.set(r,f),ee.set(r,e),ne.set(r,e),re.set(r,f)}for(const[r,m]of Object.entries(null!=(n=null==e?void 0:e.markdownStates)?n:{}))oe.set(r,m),pt(r,m);We(),!0===r.stickToBottom?(X.value=!0,Z.value=!0):!1===r.stickToBottom?(X.value=!1,Z.value=!1):(X.value="bottom"===(null==c?void 0:c.type),Z.value="bottom"===(null==c?void 0:c.type)&&c.distanceFromBottomPx<=2);const d=cn(c);return xe=null==d?null:qt(d),null!=d&&Rt(d,{writeDom:!0,remember:!1,updatePinned:!1}),Te=(null==e?void 0:e.threadKey)===Ae.value?e:null,s?c?void y(()=>{mn(o,c),"undefined"!=typeof window?(fe.forEach(e=>{const t=window.setTimeout(()=>{mn(o,c)},e);pe.push(t)}),Kn(o)):Cn(o)}):(ce.value=!1,he=void 0,xe=null,Me=0,Nt({remember:!1}),Tn(),void Hn()):(ce.value=!1,he=void 0,xe=null,Me=0,Nt({remember:!1}),Tn(),Hn(),void(!1!==r.stickToBottom&&(X.value=!0,Z.value=!0,y(()=>{ce.value||jt()}))))}function Nn(){for(const e of ue.values())e.disconnect();ue.clear(),ie.clear()}return g(Ae,(e,t)=>{const n=null!=Ne?Ne:t,o=Boolean(n&&n!==e);o&&function(e){var t;Ut(),(null==(t=un())?void 0:t.threadKey)!==e&&((null==Te?void 0:Te.threadKey)===e?(se.set(e,Te),a(Te)):se.has(e)||ln(e))}(n),Ne=e,An(function(e){return(e?se.get(e):null)||function(e){var t;const n=r.initialThreadState;return n?(null!=(t=n.threadKey)?t:"")!==(null!=e?e:"")?null:n:null}(e)}(e),{threadSwitch:o})},{immediate:!0,flush:"sync"}),g(()=>Ze.value.records.map(e=>e.key).join("\0"),()=>{var e;e={start:Ze.value.start,end:Ze.value.end},o("range-change",e)},{immediate:!0}),g(()=>[r.items.length,Ve.value.totalHeight],()=>{ce.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||Z.value)&&y(()=>{ce.value||!1!==r.stickToBottom&&("auto"!==r.stickToBottom||Z.value)&&jt()})},{flush:"post"}),k(()=>{Mt(),At(),he?(mn(Me,he),Nt({remember:!1}),ln()):!1===r.stickToBottom?(Nt({remember:!1}),ln()):(X.value=!0,Rt(Ht(),{writeDom:!0,remember:!1,updatePinned:!1}),Nt({remember:!1}),ln()),W.value&&"undefined"!=typeof ResizeObserver&&(ge=new ResizeObserver(()=>{Mt(),Nt()}),ge.observe(W.value))}),p(()=>{de.value||Kn(Me)}),b(()=>{un()||ln(),wt(),null!=we&&"undefined"!=typeof window&&window.clearTimeout(we),we=null,ve=void 0,Gt(Lt.raf),Lt.scheduled=!1,Lt.raf=null,Lt.anchor=void 0,Gt(Wt),Vt=!1,Wt=null,Dt.clear(),Nn(),te.clear(),ne.clear(),re.clear(),ae.clear(),le.clear(),null==ge||ge.disconnect(),ge=null}),t({captureThreadState:function(){return an(Ae.value)},restoreThreadState:An,scrollToBottom:jt,scrollToIndex:function(e,t="start"){const n=Ve.value.records[e];if(!n)return;let r=xt()+Ye(n);"center"===t?r-=(Q.value-n.size)/2:"end"===t&&(r-=Q.value-n.size),Pt(r)},scrollToOffset:Pt,getItemSize:e=>{var t;const n=ht(e);return n&&null!=(t=vt(n))?t:void 0},getTotalHeight:()=>Ve.value.totalHeight,getVisibleRange:()=>({start:Ze.value.start,end:Ze.value.end})}),(e,t)=>(w(),S("div",{ref_key:"scrollRoot",ref:W,class:M(["markstream-virtual-timeline",{"is-restoring-thread":!de.value}]),"data-markstream-virtual-timeline":"1","data-testid":"markstream-virtual-timeline",onScroll:_t},[x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${Ze.value.topSpacerHeight}px`}),"aria-hidden":"true"},null,4),(w(!0),S(K,null,T(Ze.value.records,t=>(w(),S("div",{key:t.renderKey,class:"markstream-virtual-timeline__item","data-markstream-item-key":t.key,"data-markstream-item-kind":t.kind,style:B({minHeight:`${t.size}px`})},[H(e.$slots,"default",q({ref_for:!0},nn(t)),()=>{var e,n;return[t.markdown?(w(),F(C(P),q({key:0,ref_for:!0},tn(t)),null,16)):ut(t)?(w(),F(A(ut(t)),{key:1,ref_for:!0,ref:en(t),item:lt(t)},null,8,["item"])):(w(),S("div",{key:2,ref_for:!0,ref:en(t),class:M(["markstream-virtual-timeline__default-item",`markstream-virtual-timeline__default-item--${t.kind||"item"}`])},["tool-call"===t.kind&&(null==(e=lt(t))?void 0:e.status)?(w(),S("span",G,N(null==(n=lt(t))?void 0:n.status),1)):R("",!0),_(" "+N(rn(t)),1)],2))]},!0)],12,Y))),128)),x("div",{class:"markstream-virtual-timeline__spacer",style:B({height:`${Ze.value.bottomSpacerHeight}px`}),"aria-hidden":"true"},null,4),de.value?R("",!0):(w(),S("div",{key:0,class:"markstream-virtual-timeline__restore-loading",style:B({height:`${Math.max(1,St())}px`,transform:`translateY(${J.value}px)`}),"aria-live":"polite","aria-busy":"true"},[H(e.$slots,"restore-loading",{threadKey:Ae.value,visibleRecords:Ze.value.records},()=>[t[0]||(t[0]=x("div",{class:"markstream-virtual-timeline__restore-loading-card"},[x("span",{class:"markstream-virtual-timeline__restore-spinner","aria-hidden":"true"}),x("span",null,"Loading thread…")],-1))],!0)],4))],34))}})),[["__scopeId","data-v-dff004bf"]]),Q=J;Q.install=e=>{var t,n;const r=null!=(n=null!=(t=Q.__name)?t:Q.name)?n:"MarkstreamVirtualTimeline";e.component(r,J)};export{Q as default};
|
package/dist/tailwind.js
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{W as e,c as r,
|
|
1
|
+
import{W as e,c as r,g as a,a as s,i as o,r as t,j as k,s as K,k as T,l as X,m as W,o as u,w as c}from"../workers-katexWorkerClient.js";export{e as WORKER_BUSY_CODE,r as clearKaTeXWorker,a as getKaTeXBackpressureDefaults,s as getKaTeXWorkerLoad,o as isKaTeXWorkerBusy,t as renderKaTeXInWorker,k as renderKaTeXWithBackpressure,K as setKaTeXBackpressureDefaults,T as setKaTeXCache,X as setKaTeXWorker,W as setKaTeXWorkerDebug,u as setKaTeXWorkerMaxConcurrency,c as waitForKaTeXWorkerSlot};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=Object.defineProperty,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,r,n)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n,i=(e,t,r)=>new Promise((n,o)=>{var i=e=>{try{a(r.next(e))}catch(t){o(t)}},l=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,l);a((r=r.apply(e,t)).next())});let l=null,a=!1,s=f;function u(e){var t;const r=null!=(t=null==e?void 0:e.default)?t:e;return r&&"function"==typeof r.renderToString?r:null}function c(){try{const e=globalThis;return u(null==e?void 0:e.katex)}catch(e){return null}}function f(){return i(null,null,function*(){const e=c();if(e)return e;const t=yield import("katex");try{yield import("katex/dist/contrib/mhchem")}catch(r){}return u(t)})}function m(e){s=e,l=null,a=!1}function d(e){m(null!=e?e:f)}function b(){m(null)}function h(){return"function"==typeof s}function w(){var e;const t=s;if(!t||t===f)return null;if(l)return l;const r=c();if(r)return l=r,l;try{const r=t();return r&&"function"!=typeof(null==r?void 0:r.then)?(l=null!=(e=u(r))?e:r,l):null}catch(n){return null}}function T(){return i(this,null,function*(){var e;const t=c();if(t)return l=t,l;if(l)return l;if(a)return null;const r=s;if(!r)return a=!0,null;try{const t=yield r();if(t)return l=null!=(e=u(t))?e:t,l}catch(n){}return a=!0,null})}function y(e){return e?e.replace(/·/g,"⋅").replace(/℃/g,"°C"):""}let E=null,v=null,k=!1;const p=/* @__PURE__ */new Map,M=/* @__PURE__ */new Map;let g=5;const x=/* @__PURE__ */new Set;function R(){if(p.size<g&&x.size){const t=Array.from(x);x.clear();for(const r of t)try{r()}catch(e){}}}function W(e){E=e,v=null,E.onmessage=e=>{const{id:t,html:r,error:n}=e.data,o=p.get(t);if(o)if(p.delete(t),clearTimeout(o.timeoutId),R(),n)o.reject(new Error(n));else{const{content:t,displayMode:n}=e.data;if(t){const e=`${n?"d":"i"}:${t}`;if(M.set(e,r),M.size>200){const e=M.keys().next().value;M.delete(e)}}o.resolve(r)}},E.onerror=e=>{console.error("[katexWorkerClient] Worker error:",e);for(const[t,r]of p.entries())clearTimeout(r.timeoutId),r.reject(new Error(`Worker error: ${e.message}`));p.clear(),R()}}function A(){var e;E&&(null==(e=E.terminate)||e.call(E)),E=null,v=null}function P(e){k=!!e,E&&E.postMessage({type:"init",debug:k})}function O(e,t=!0,r=2e3,n){return i(this,null,function*(){performance.now();const o=y(e);if(!h()){const e=new Error("KaTeX rendering disabled");return e.name="KaTeXDisabled",e.code="KATEX_DISABLED",Promise.reject(e)}if(v)return Promise.reject(v);const i=`${t?"d":"i"}:${o}`,l=M.get(i);if(l)return Promise.resolve(l);const a=E||(v=new Error("[katexWorkerClient] No worker instance set. Please inject a Worker via setKaTeXWorker()."),v.name="WorkerInitError",v.code="WORKER_INIT_ERROR",null);if(!a)return Promise.reject(v);if(p.size>=g){const e=new Error("Worker busy");return e.name="WorkerBusy",e.code="WORKER_BUSY",e.busy=!0,e.inFlight=p.size,e.max=g,Promise.reject(e)}return new Promise((e,i)=>{if(null==n?void 0:n.aborted){const e=new Error("Aborted");return e.name="AbortError",void i(e)}const l=Math.random().toString(36).slice(2),s=globalThis.setTimeout(()=>{p.delete(l);const e=new Error("Worker render timed out");e.name="WorkerTimeout",e.code="WORKER_TIMEOUT",i(e),R()},r);n&&n.addEventListener("abort",()=>{globalThis.clearTimeout(s),p.has(l)&&p.delete(l);const e=new Error("Aborted");e.name="AbortError",i(e),R()},{once:!0});const u=e,c=i;p.set(l,{resolve:e=>{u(e)},reject:e=>{c(e)},timeoutId:s}),a.postMessage({id:l,content:o,displayMode:t})})})}function j(e,t=!0,r){const n=`${t?"d":"i"}:${y(e)}`;if(M.set(n,r),M.size>200){const e=M.keys().next().value;M.delete(e)}}function K(){return{inFlight:p.size,max:g}}function I(e){Number.isFinite(e)&&e>0&&(g=Math.floor(e))}const z="WORKER_BUSY";function S(){return p.size>=g}function _(e=2e3,t){return p.size<g?Promise.resolve():new Promise((r,n)=>{let o,i=!1;const l=()=>{i||(i=!0,o&&globalThis.clearTimeout(o),x.delete(l),r())};if(x.add(l),o=globalThis.setTimeout(()=>{if(i)return;i=!0,x.delete(l);const e=new Error("Wait for worker slot timed out");e.name="WorkerBusyTimeout",e.code="WORKER_BUSY_TIMEOUT",n(e)},e),queueMicrotask(()=>R()),t){const e=()=>{if(i)return;i=!0,o&&globalThis.clearTimeout(o),x.delete(l);const e=new Error("Aborted");e.name="AbortError",n(e)};t.aborted?e():t.addEventListener("abort",e,{once:!0})}})}const B={timeout:2e3,waitTimeout:1500,backoffMs:30,maxRetries:1};function X(e){null!=e.timeout&&(B.timeout=Math.max(0,Math.floor(e.timeout))),null!=e.waitTimeout&&(B.waitTimeout=Math.max(0,Math.floor(e.waitTimeout))),null!=e.backoffMs&&(B.backoffMs=Math.max(0,Math.floor(e.backoffMs))),null!=e.maxRetries&&(B.maxRetries=Math.max(0,Math.floor(e.maxRetries)))}function $(){return((e,i)=>{for(var l in i||(i={}))r.call(i,l)&&o(e,l,i[l]);if(t)for(var l of t(i))n.call(i,l)&&o(e,l,i[l]);return e})({},B)}function D(e){return i(this,arguments,function*(e,t=!0,r={}){var n,o,i,l;if(!h()){const e=new Error("KaTeX rendering disabled");throw e.name="KaTeXDisabled",e.code="KATEX_DISABLED",e}const a=null!=(n=r.timeout)?n:B.timeout,s=null!=(o=r.waitTimeout)?o:B.waitTimeout,u=null!=(i=r.backoffMs)?i:B.backoffMs,c=null!=(l=r.maxRetries)?l:B.maxRetries,f=Number.isFinite(c)?Math.max(0,Math.min(Math.floor(c),8)):B.maxRetries,m=r.signal;let d=0;for(;;){if(null==m?void 0:m.aborted){const e=new Error("Aborted");throw e.name="AbortError",e}try{return yield O(e,t,a,m)}catch(b){if((null==b?void 0:b.code)!==z||d>=f)throw b;if(d++,yield _(s,m).catch(()=>{}),null==m?void 0:m.aborted){const e=new Error("Aborted");throw e.name="AbortError",e}u>0&&(yield new Promise(e=>globalThis.setTimeout(e,u*d)))}}})}export{z as W,
|
|
1
|
+
var e=Object.defineProperty,t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable,o=(t,r,n)=>r in t?e(t,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[r]=n,i=(e,t,r)=>new Promise((n,o)=>{var i=e=>{try{a(r.next(e))}catch(t){o(t)}},l=e=>{try{a(r.throw(e))}catch(t){o(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,l);a((r=r.apply(e,t)).next())});let l=null,a=!1,s=f;function u(e){var t;const r=null!=(t=null==e?void 0:e.default)?t:e;return r&&"function"==typeof r.renderToString?r:null}function c(){try{const e=globalThis;return u(null==e?void 0:e.katex)}catch(e){return null}}function f(){return i(null,null,function*(){const e=c();if(e)return e;const t=yield import("katex");try{yield import("katex/dist/contrib/mhchem")}catch(r){}return u(t)})}function m(e){s=e,l=null,a=!1}function d(e){m(null!=e?e:f)}function b(){m(null)}function h(){return"function"==typeof s}function w(){var e;const t=s;if(!t||t===f)return null;if(l)return l;const r=c();if(r)return l=r,l;try{const r=t();return r&&"function"!=typeof(null==r?void 0:r.then)?(l=null!=(e=u(r))?e:r,l):null}catch(n){return null}}function T(){return i(this,null,function*(){var e;const t=c();if(t)return l=t,l;if(l)return l;if(a)return null;const r=s;if(!r)return a=!0,null;try{const t=yield r();if(t)return l=null!=(e=u(t))?e:t,l}catch(n){}return a=!0,null})}function y(e){return e?e.replace(/·/g,"⋅").replace(/℃/g,"°C"):""}let E=null,v=null,k=!1;const p=/* @__PURE__ */new Map,M=/* @__PURE__ */new Map;let g=5;const x=/* @__PURE__ */new Set;function R(){if(p.size<g&&x.size){const t=Array.from(x);x.clear();for(const r of t)try{r()}catch(e){}}}function W(e){E=e,v=null,E.onmessage=e=>{const{id:t,html:r,error:n}=e.data,o=p.get(t);if(o)if(p.delete(t),clearTimeout(o.timeoutId),R(),n)o.reject(new Error(n));else{const{content:t,displayMode:n}=e.data;if(t){const e=`${n?"d":"i"}:${t}`;if(M.set(e,r),M.size>200){const e=M.keys().next().value;M.delete(e)}}o.resolve(r)}},E.onerror=e=>{console.error("[katexWorkerClient] Worker error:",e);for(const[t,r]of p.entries())clearTimeout(r.timeoutId),r.reject(new Error(`Worker error: ${e.message}`));p.clear(),R()}}function A(){var e;E&&(null==(e=E.terminate)||e.call(E)),E=null,v=null}function P(e){k=!!e,E&&E.postMessage({type:"init",debug:k})}function O(e,t=!0,r=2e3,n){return i(this,null,function*(){performance.now();const o=y(e);if(!h()){const e=new Error("KaTeX rendering disabled");return e.name="KaTeXDisabled",e.code="KATEX_DISABLED",Promise.reject(e)}if(v)return Promise.reject(v);const i=`${t?"d":"i"}:${o}`,l=M.get(i);if(l)return Promise.resolve(l);const a=E||(v=new Error("[katexWorkerClient] No worker instance set. Please inject a Worker via setKaTeXWorker()."),v.name="WorkerInitError",v.code="WORKER_INIT_ERROR",null);if(!a)return Promise.reject(v);if(p.size>=g){const e=new Error("Worker busy");return e.name="WorkerBusy",e.code="WORKER_BUSY",e.busy=!0,e.inFlight=p.size,e.max=g,Promise.reject(e)}return new Promise((e,i)=>{if(null==n?void 0:n.aborted){const e=new Error("Aborted");return e.name="AbortError",void i(e)}const l=Math.random().toString(36).slice(2),s=globalThis.setTimeout(()=>{p.delete(l);const e=new Error("Worker render timed out");e.name="WorkerTimeout",e.code="WORKER_TIMEOUT",i(e),R()},r);n&&n.addEventListener("abort",()=>{globalThis.clearTimeout(s),p.has(l)&&p.delete(l);const e=new Error("Aborted");e.name="AbortError",i(e),R()},{once:!0});const u=e,c=i;p.set(l,{resolve:e=>{u(e)},reject:e=>{c(e)},timeoutId:s}),a.postMessage({id:l,content:o,displayMode:t})})})}function j(e,t=!0,r){const n=`${t?"d":"i"}:${y(e)}`;if(M.set(n,r),M.size>200){const e=M.keys().next().value;M.delete(e)}}function K(){return{inFlight:p.size,max:g}}function I(e){Number.isFinite(e)&&e>0&&(g=Math.floor(e))}const z="WORKER_BUSY";function S(){return p.size>=g}function _(e=2e3,t){return p.size<g?Promise.resolve():new Promise((r,n)=>{let o,i=!1;const l=()=>{i||(i=!0,o&&globalThis.clearTimeout(o),x.delete(l),r())};if(x.add(l),o=globalThis.setTimeout(()=>{if(i)return;i=!0,x.delete(l);const e=new Error("Wait for worker slot timed out");e.name="WorkerBusyTimeout",e.code="WORKER_BUSY_TIMEOUT",n(e)},e),queueMicrotask(()=>R()),t){const e=()=>{if(i)return;i=!0,o&&globalThis.clearTimeout(o),x.delete(l);const e=new Error("Aborted");e.name="AbortError",n(e)};t.aborted?e():t.addEventListener("abort",e,{once:!0})}})}const B={timeout:2e3,waitTimeout:1500,backoffMs:30,maxRetries:1};function X(e){null!=e.timeout&&(B.timeout=Math.max(0,Math.floor(e.timeout))),null!=e.waitTimeout&&(B.waitTimeout=Math.max(0,Math.floor(e.waitTimeout))),null!=e.backoffMs&&(B.backoffMs=Math.max(0,Math.floor(e.backoffMs))),null!=e.maxRetries&&(B.maxRetries=Math.max(0,Math.floor(e.maxRetries)))}function $(){return((e,i)=>{for(var l in i||(i={}))r.call(i,l)&&o(e,l,i[l]);if(t)for(var l of t(i))n.call(i,l)&&o(e,l,i[l]);return e})({},B)}function D(e){return i(this,arguments,function*(e,t=!0,r={}){var n,o,i,l;if(!h()){const e=new Error("KaTeX rendering disabled");throw e.name="KaTeXDisabled",e.code="KATEX_DISABLED",e}const a=null!=(n=r.timeout)?n:B.timeout,s=null!=(o=r.waitTimeout)?o:B.waitTimeout,u=null!=(i=r.backoffMs)?i:B.backoffMs,c=null!=(l=r.maxRetries)?l:B.maxRetries,f=Number.isFinite(c)?Math.max(0,Math.min(Math.floor(c),8)):B.maxRetries,m=r.signal;let d=0;for(;;){if(null==m?void 0:m.aborted){const e=new Error("Aborted");throw e.name="AbortError",e}try{return yield O(e,t,a,m)}catch(b){if((null==b?void 0:b.code)!==z||d>=f)throw b;if(d++,yield _(s,m).catch(()=>{}),null==m?void 0:m.aborted){const e=new Error("Aborted");throw e.name="AbortError",e}u>0&&(yield new Promise(e=>globalThis.setTimeout(e,u*d)))}}})}export{z as W,K as a,T as b,A as c,b as d,d as e,w as f,$ as g,h,S as i,D as j,j as k,W as l,P as m,y as n,I as o,m as p,O as r,X as s,_ as w};
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markstream-vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
5
|
-
"description": "
|
|
4
|
+
"version": "1.0.3-beta.0",
|
|
5
|
+
"description": "Vue/Nuxt streaming Markdown renderer for AI chat, SSE/WebSocket output, mobile WebView, docs sites, long documents, and optional Mermaid, KaTeX, Shiki, Monaco.",
|
|
6
6
|
"author": "Simon He",
|
|
7
7
|
"license": "MIT",
|
|
8
|
-
"homepage": "https://markstream
|
|
8
|
+
"homepage": "https://markstream.simonhe.me/frameworks/vue/",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "git+https://github.com/Simon-He95/markstream-vue.git"
|
|
@@ -14,44 +14,27 @@
|
|
|
14
14
|
"url": "https://github.com/Simon-He95/markstream-vue/issues"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
|
-
"vue",
|
|
18
|
-
"vue3",
|
|
19
17
|
"markdown",
|
|
20
|
-
"markdown-to-html",
|
|
21
18
|
"markdown-renderer",
|
|
22
19
|
"streaming-markdown",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"vue-component",
|
|
20
|
+
"ai-chat",
|
|
21
|
+
"llm",
|
|
22
|
+
"sse",
|
|
23
|
+
"websocket",
|
|
24
|
+
"vue",
|
|
25
|
+
"vue3",
|
|
30
26
|
"nuxt",
|
|
31
27
|
"vitepress",
|
|
32
|
-
"
|
|
33
|
-
"sse",
|
|
34
|
-
"sse-markdown",
|
|
35
|
-
"ai",
|
|
36
|
-
"ai-chat",
|
|
37
|
-
"chat-ui",
|
|
38
|
-
"docs-site",
|
|
39
|
-
"knowledge-base",
|
|
40
|
-
"html",
|
|
41
|
-
"renderer",
|
|
42
|
-
"custom-component",
|
|
28
|
+
"vue-markdown",
|
|
43
29
|
"mermaid",
|
|
44
|
-
"mermaid-diagram",
|
|
45
30
|
"katex",
|
|
46
31
|
"shiki",
|
|
47
32
|
"monaco-editor",
|
|
48
|
-
"progressive-mermaid",
|
|
49
|
-
"streaming-diff",
|
|
50
|
-
"diff-codeblock",
|
|
51
33
|
"large-documents",
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"markstream-vue"
|
|
34
|
+
"safe-html",
|
|
35
|
+
"mobile-webview",
|
|
36
|
+
"markstream-vue",
|
|
37
|
+
"markstream"
|
|
55
38
|
],
|
|
56
39
|
"sideEffects": [
|
|
57
40
|
"**/*.css"
|
|
@@ -150,47 +133,47 @@
|
|
|
150
133
|
},
|
|
151
134
|
"devDependencies": {
|
|
152
135
|
"@antfu/eslint-config": "^5.4.1",
|
|
153
|
-
"@shikijs/vitepress-twoslash": "^4.0
|
|
136
|
+
"@shikijs/vitepress-twoslash": "^4.2.0",
|
|
154
137
|
"@types/markdown-it-emoji": "^3.0.1",
|
|
155
138
|
"@types/node": "^18.19.130",
|
|
156
|
-
"@types/react": "^19.2.
|
|
139
|
+
"@types/react": "^19.2.17",
|
|
157
140
|
"@types/react-dom": "^19.2.3",
|
|
158
141
|
"@vitejs/plugin-vue": "^5.2.4",
|
|
159
|
-
"@vitest/ui": "^4.1.
|
|
160
|
-
"@vue/test-utils": "^2.4.
|
|
142
|
+
"@vitest/ui": "^4.1.8",
|
|
143
|
+
"@vue/test-utils": "^2.4.11",
|
|
161
144
|
"autoprefixer": "^10.5.0",
|
|
162
145
|
"brotli-compress": "^1.3.3",
|
|
163
146
|
"bumpp": "^8.2.1",
|
|
164
147
|
"conventional-changelog-cli": "^5.0.0",
|
|
165
148
|
"eslint": "^9.39.4",
|
|
166
|
-
"fflate": "^0.8.
|
|
149
|
+
"fflate": "^0.8.3",
|
|
167
150
|
"lint-staged": "^13.3.0",
|
|
168
151
|
"lz-string": "^1.5.0",
|
|
169
152
|
"markdown-it-emoji": "^3.0.0",
|
|
170
|
-
"material-icon-theme": "^5.
|
|
153
|
+
"material-icon-theme": "^5.35.0",
|
|
171
154
|
"picocolors": "^1.1.1",
|
|
172
155
|
"playwright-core": "^1.60.0",
|
|
173
156
|
"postcss-cli": "^11.0.1",
|
|
174
|
-
"react": "^19.2.
|
|
175
|
-
"react-dom": "^19.2.
|
|
157
|
+
"react": "^19.2.7",
|
|
158
|
+
"react-dom": "^19.2.7",
|
|
176
159
|
"rollup": "^3.30.0",
|
|
177
160
|
"rollup-plugin-dts": "^5.3.1",
|
|
178
161
|
"rollup-plugin-visualizer": "^6.0.11",
|
|
179
162
|
"stream-markdown": "latest",
|
|
180
163
|
"streamdown": "2.5.0",
|
|
181
164
|
"tailwindcss": "^3.4.19",
|
|
182
|
-
"terser": "^5.
|
|
183
|
-
"tsx": "^4.22.
|
|
165
|
+
"terser": "^5.48.0",
|
|
166
|
+
"tsx": "^4.22.4",
|
|
184
167
|
"typescript": "^5.9.3",
|
|
185
168
|
"unplugin-class-extractor": "^0.0.22",
|
|
186
169
|
"unplugin-vue-components": "^28.8.0",
|
|
187
|
-
"vite": "^7.3.
|
|
170
|
+
"vite": "^7.3.5",
|
|
188
171
|
"vite-plugin-dts": "^4.5.4",
|
|
189
172
|
"vite-plugin-pages": "^0.33.3",
|
|
190
173
|
"vite-svg-loader": "^5.1.1",
|
|
191
174
|
"vitepress": "^1.6.4",
|
|
192
|
-
"vitest": "^4.1.
|
|
193
|
-
"vue": "^3.5.
|
|
175
|
+
"vitest": "^4.1.8",
|
|
176
|
+
"vue": "^3.5.38",
|
|
194
177
|
"vue-tsc": "^2.2.12"
|
|
195
178
|
},
|
|
196
179
|
"lint-staged": {
|
|
@@ -268,8 +251,13 @@
|
|
|
268
251
|
"docs:dev": "vitepress dev docs",
|
|
269
252
|
"docs:sync-zh": "node scripts/sync-zh-docs.mjs",
|
|
270
253
|
"docs:check-zh": "node scripts/check-zh-parity.mjs",
|
|
254
|
+
"docs:llms:generate": "node scripts/generate-llms-full.mjs",
|
|
255
|
+
"docs:llms:check": "pnpm run docs:llms:generate && git diff --exit-code -- docs/public/llms.txt docs/public/llms.zh-CN.txt docs/public/llms-full.txt docs/public/llms-full.zh-CN.txt",
|
|
256
|
+
"docs:generate-llms": "pnpm run docs:llms:generate",
|
|
257
|
+
"docs:check-llms": "pnpm run docs:llms:check",
|
|
271
258
|
"docs:build": "vitepress build docs",
|
|
272
|
-
"docs:
|
|
259
|
+
"docs:seo:check": "pnpm docs:build && node scripts/check-docs-seo-output.mjs",
|
|
260
|
+
"docs:build:ci": "pnpm run build:parser && pnpm run build && pnpm docs:seo:check",
|
|
273
261
|
"docs:build:netlify": "VITEPRESS_BASE=/ pnpm docs:build",
|
|
274
262
|
"docs:build:gh": "VITEPRESS_BASE=/markstream-vue/ pnpm docs:build",
|
|
275
263
|
"docs:build:gh:ci": "pnpm run build:parser && pnpm run build && pnpm docs:build:gh",
|
|
@@ -290,16 +278,26 @@
|
|
|
290
278
|
"changelog": "conventional-changelog -p angular --tag-prefix markstream-vue@ -i CHANGELOG.md -s -r 1",
|
|
291
279
|
"release": "bumpp --all --commit --no-tag --no-push --execute 'conventional-changelog -p angular --tag-prefix markstream-vue@ -i CHANGELOG.md -s -r 1' && pnpm run check:workspace-deps-published && pnpm publish && node scripts/tag-package.mjs --package-json package.json --push",
|
|
292
280
|
"release:angular": "pnpm run -C packages/markstream-angular release",
|
|
281
|
+
"release:react": "pnpm run -C packages/markstream-react release",
|
|
282
|
+
"release:svelte": "pnpm run -C packages/markstream-svelte release",
|
|
293
283
|
"release:parser": "pnpm run -C packages/markdown-parser release",
|
|
294
284
|
"release:gate:1.0": "pnpm run release:verify && pnpm run docs:build:ci && pnpm run size:check && pnpm run check:packed-workspace-deps && MARKSTREAM_RELEASE_GATE=1 MARKSTREAM_BENCHMARK_OUTPUT_DIR=.tmp/benchmark pnpm run benchmark:1.0",
|
|
295
285
|
"publish:parser:current": "node scripts/publish-current-package.mjs --package-json packages/markdown-parser/package.json",
|
|
296
286
|
"publish:core:current": "node scripts/publish-current-package.mjs --package-json packages/markstream-core/package.json",
|
|
297
287
|
"publish:vue3:current": "pnpm run check:workspace-deps-published && pnpm run check:packed-workspace-deps && node scripts/publish-current-package.mjs --package-json package.json",
|
|
288
|
+
"publish:react:current": "node scripts/check-workspace-deps-published.mjs --package-json packages/markstream-react/package.json && node scripts/check-packed-workspace-deps.mjs --package-json packages/markstream-react/package.json && node scripts/publish-current-package.mjs --package-json packages/markstream-react/package.json",
|
|
289
|
+
"publish:svelte:current": "node scripts/check-workspace-deps-published.mjs --package-json packages/markstream-svelte/package.json && node scripts/check-packed-workspace-deps.mjs --package-json packages/markstream-svelte/package.json && node scripts/publish-current-package.mjs --package-json packages/markstream-svelte/package.json",
|
|
290
|
+
"publish:angular:current": "node scripts/check-workspace-deps-published.mjs --package-json packages/markstream-angular/package.json && node scripts/check-packed-workspace-deps.mjs --package-json packages/markstream-angular/package.json && node scripts/publish-current-package.mjs --package-json packages/markstream-angular/package.json",
|
|
298
291
|
"publish:parser:dry-run": "node scripts/publish-current-package.mjs --package-json packages/markdown-parser/package.json --dry-run",
|
|
299
292
|
"publish:core:dry-run": "node scripts/publish-current-package.mjs --package-json packages/markstream-core/package.json --dry-run",
|
|
300
293
|
"publish:vue3:dry-run": "pnpm run check:workspace-deps-local && pnpm run check:packed-workspace-deps && node scripts/publish-current-package.mjs --package-json package.json --dry-run",
|
|
294
|
+
"publish:react:dry-run": "node scripts/check-workspace-deps-local.mjs --package-json packages/markstream-react/package.json && node scripts/check-packed-workspace-deps.mjs --package-json packages/markstream-react/package.json && node scripts/publish-current-package.mjs --package-json packages/markstream-react/package.json --dry-run",
|
|
295
|
+
"publish:svelte:dry-run": "node scripts/check-workspace-deps-local.mjs --package-json packages/markstream-svelte/package.json && node scripts/check-packed-workspace-deps.mjs --package-json packages/markstream-svelte/package.json && node scripts/publish-current-package.mjs --package-json packages/markstream-svelte/package.json --dry-run",
|
|
296
|
+
"publish:angular:dry-run": "node scripts/check-workspace-deps-local.mjs --package-json packages/markstream-angular/package.json && node scripts/check-packed-workspace-deps.mjs --package-json packages/markstream-angular/package.json && node scripts/publish-current-package.mjs --package-json packages/markstream-angular/package.json --dry-run",
|
|
301
297
|
"release:dry-run:1.0": "pnpm run release:gate:1.0 && pnpm run publish:parser:dry-run && pnpm run publish:core:dry-run && pnpm run publish:vue3:dry-run",
|
|
302
298
|
"release:1.0": "pnpm run release:gate:1.0 && pnpm run publish:parser:current && pnpm run publish:core:current && pnpm run publish:vue3:current",
|
|
299
|
+
"release:family:dry-run": "pnpm run docs:check-llms && pnpm run docs:build:ci && pnpm run publish:vue3:dry-run && pnpm run publish:react:dry-run && pnpm run publish:svelte:dry-run && pnpm run publish:angular:dry-run",
|
|
300
|
+
"release:family": "pnpm run docs:check-llms && pnpm run release:gate:1.0 && pnpm run publish:parser:current && pnpm run publish:core:current && pnpm run publish:vue3:current && pnpm run publish:react:current && pnpm run publish:svelte:current && pnpm run publish:angular:current",
|
|
303
301
|
"tag": "node scripts/tag-package.mjs",
|
|
304
302
|
"tag:vue3": "node scripts/tag-package.mjs --package-json package.json",
|
|
305
303
|
"tag:vue3:push": "node scripts/tag-package.mjs --package-json package.json --push",
|
|
@@ -329,6 +327,7 @@
|
|
|
329
327
|
"test:smoke:minimal": "node scripts/smoke-minimal-install.mjs",
|
|
330
328
|
"test:smoke:pack": "node scripts/smoke-packed-package.mjs",
|
|
331
329
|
"test:smoke:pack:optional": "MARKSTREAM_SMOKE_WITH_OPTIONAL_PEERS=1 node scripts/smoke-packed-package.mjs",
|
|
330
|
+
"test:smoke:react": "pnpm run build:parser && pnpm --filter markstream-react build && pnpm --filter markstream-react check:exports && node scripts/smoke-react-packed-package.mjs",
|
|
332
331
|
"test:smoke:vue2-cjs": "pnpm run -C packages/markdown-parser build && pnpm run -C packages/markstream-core build && pnpm run -C packages/markstream-vue2 build && node scripts/smoke-vue2-cjs.cjs",
|
|
333
332
|
"test:e2e:vue2-cli-smoke": "node scripts/e2e-vue2-cli-smoke.mjs",
|
|
334
333
|
"test:e2e:math-streaming-stability": "node scripts/e2e-math-streaming-stability.mjs",
|