studiograph 1.3.13 → 1.3.15

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 (42) hide show
  1. package/dist/agent/orchestrator.d.ts +2 -0
  2. package/dist/agent/orchestrator.js +7 -3
  3. package/dist/agent/orchestrator.js.map +1 -1
  4. package/dist/agent/tools/fs-tools.d.ts +2 -1
  5. package/dist/agent/tools/fs-tools.js +7 -2
  6. package/dist/agent/tools/fs-tools.js.map +1 -1
  7. package/dist/agent/tools/graph-tools.js +13 -1
  8. package/dist/agent/tools/graph-tools.js.map +1 -1
  9. package/dist/agent/tools/permission-tools.d.ts +2 -2
  10. package/dist/agent/tools/permission-tools.js +26 -5
  11. package/dist/agent/tools/permission-tools.js.map +1 -1
  12. package/dist/agent/tools/sync-tools.d.ts +2 -1
  13. package/dist/agent/tools/sync-tools.js +30 -9
  14. package/dist/agent/tools/sync-tools.js.map +1 -1
  15. package/dist/mcp/connector-manager.js +1 -1
  16. package/dist/mcp/connector-manager.js.map +1 -1
  17. package/dist/server/routes/chat.js +38 -3
  18. package/dist/server/routes/chat.js.map +1 -1
  19. package/dist/server/ws-hub.js +13 -2
  20. package/dist/server/ws-hub.js.map +1 -1
  21. package/dist/web/_app/immutable/chunks/{B4YIjwRZ.js → C7OMGY7C.js} +1 -1
  22. package/dist/web/_app/immutable/chunks/CCso8YCJ.js +1 -0
  23. package/dist/web/_app/immutable/chunks/{68V4fsEX.js → CG8Yxrb8.js} +2 -2
  24. package/dist/web/_app/immutable/chunks/{D5oi1UZe.js → CRJX8CU6.js} +1 -1
  25. package/dist/web/_app/immutable/chunks/{eSVI58v2.js → D1U4kU-D.js} +5 -5
  26. package/dist/web/_app/immutable/chunks/{CGBoDumJ.js → DNDUUFGV.js} +1 -1
  27. package/dist/web/_app/immutable/entry/{app.O5r4S5p7.js → app.C_0-Wmzc.js} +2 -2
  28. package/dist/web/_app/immutable/entry/start.B1ZCxsoD.js +1 -0
  29. package/dist/web/_app/immutable/nodes/{0.BQ9t9LJn.js → 0.DCUsl6Uv.js} +1 -1
  30. package/dist/web/_app/immutable/nodes/{1.CJmEoW6v.js → 1.CzPUYLZX.js} +1 -1
  31. package/dist/web/_app/immutable/nodes/{2.BDJ2IxCo.js → 2.N3pkdL5K.js} +1 -1
  32. package/dist/web/_app/immutable/nodes/{3.ClIigRdk.js → 3.ChWSPZZx.js} +3 -3
  33. package/dist/web/_app/immutable/nodes/{4.DyMTuURq.js → 4.DeVmoWsp.js} +1 -1
  34. package/dist/web/_app/immutable/nodes/{5.k1m5i1Sy.js → 5.CvUCgHfR.js} +1 -1
  35. package/dist/web/_app/immutable/nodes/{6.BxgaPzKl.js → 6.BWUz16oH.js} +1 -1
  36. package/dist/web/_app/immutable/nodes/{7.C2OY96DA.js → 7.ClIxLwPU.js} +1 -1
  37. package/dist/web/_app/immutable/nodes/{8.BgiimkO8.js → 8.BcmpHU8z.js} +1 -1
  38. package/dist/web/_app/version.json +1 -1
  39. package/dist/web/index.html +6 -6
  40. package/package.json +1 -1
  41. package/dist/web/_app/immutable/chunks/ChzCRlOh.js +0 -1
  42. package/dist/web/_app/immutable/entry/start.CPYeqN41.js +0 -1
@@ -1,4 +1,4 @@
1
- import{b as ut,c as V,a as v,f as I,j as es,e as ts,g as ss,s as $e,t as rs}from"./Cs_ROD7H.js";import{I as ie,h as dt,a as gt,a9 as ns,bk as as,e as ft,C as is,w as ls,b6 as os,b3 as cs,c as hs,aA as ps,aB as us,bl as ds,x as Ge,f as X,y as St,z as Rt,A as Tt,D as j,B as R,G as _,F as ze,L as te,a7 as Fe,m as p,K as S,aj as Ue,R as gs,S as Ve,j as fs,bm as ks,T as Pe}from"./BeBar3OL.js";import{g as zt,e as xs,w as ms}from"./DP09rP34.js";import{l as xe,s as me,p as bs,i as D,b as ws}from"./xBRYfpah.js";import{n as C,e as _e,i as Se}from"./CGBoDumJ.js";import{B as ee,b as vs}from"./BuOTIbJu.js";import"./CQCkXCml.js";import{I as be,s as we,X as ys,T as $s,a as _s}from"./eSVI58v2.js";import{i as Ss,g as Rs}from"./ChzCRlOh.js";function kt(r,e,s=!1,n=!1,t=!1){var i=r,a="";ie(()=>{var o=ns;if(a===(a=e()??"")){dt&&gt();return}if(o.nodes!==null&&(as(o.nodes.start,o.nodes.end),o.nodes=null),a!==""){if(dt){ft.data;for(var l=gt(),h=l;l!==null&&(l.nodeType!==is||l.data!=="");)h=l,l=ls(l);if(l===null)throw os(),cs;ut(ft,h),i=hs(l);return}var c=s?us:n?ds:void 0,d=ps(s?"svg":n?"math":"template",c);d.innerHTML=a;var g=s||n?d:d.content;if(ut(Ge(g),g.lastChild),s||n)for(;Ge(g);)i.before(Ge(g));else i.before(g)}})}function xt(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["path",{d:"M3 5h.01"}],["path",{d:"M3 12h.01"}],["path",{d:"M3 19h.01"}],["path",{d:"M8 5h13"}],["path",{d:"M8 12h13"}],["path",{d:"M8 19h13"}]];be(r,me({name:"list"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function mt(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["circle",{cx:"18",cy:"5",r:"3"}],["circle",{cx:"6",cy:"12",r:"3"}],["circle",{cx:"18",cy:"19",r:"3"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}]];be(r,me({name:"share-2"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function Ts(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"}]];be(r,me({name:"message-square"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}var zs=I('<span class="toggle-btn active svelte-r6dy5f" aria-current="page"><!><span class="toggle-label">Details</span></span>'),As=I('<a class="toggle-btn svelte-r6dy5f"><!><span class="toggle-label">Details</span></a>'),Is=I('<span class="toggle-btn active svelte-r6dy5f" aria-current="page"><!><span class="toggle-label">Graph</span></span>'),Ps=I('<a class="toggle-btn svelte-r6dy5f" href="/graph"><!><span class="toggle-label">Graph</span></a>'),Cs=I('<div class="view-toolbar svelte-r6dy5f"><div></div> <div class="view-toggles svelte-r6dy5f"><!> <!></div> <div class="toolbar-right svelte-r6dy5f"><!> <!></div></div>');function Jr(r,e){St(e,!0);let s=bs(e,"activeView",3,"entity");const n=Rt("chat");var t=Cs(),i=j(R(t),2),a=R(i);{var o=b=>{var w=zs(),u=R(w);xt(u,{size:14}),ze(),_(w),v(b,w)},l=b=>{var w=As(),u=R(w);xt(u,{size:14}),ze(),_(w),ie(()=>zt(w,"href",C.entityPath??"/")),v(b,w)};D(a,b=>{s()==="entity"?b(o):b(l,!1)})}var h=j(a,2);{var c=b=>{var w=Is(),u=R(w);mt(u,{size:14}),ze(),_(w),v(b,w)},d=b=>{var w=Ps(),u=R(w);mt(u,{size:14}),ze(),_(w),v(b,w)};D(h,b=>{s()==="graph"?b(c):b(d,!1)})}_(i);var g=j(i,2),T=R(g);{var m=b=>{var w=V(),u=X(w);xs(u,()=>e.right),v(b,w)};D(T,b=>{e.right&&b(m)})}var L=j(T,2);{var O=b=>{ee(b,{variant:"accent",size:"icon",class:"chat-toggle",title:"Open Agent",get onclick(){return n.toggle},children:(w,u)=>{Ts(w,{size:14})},$$slots:{default:!0}})};D(L,b=>{n.open||b(O)})}_(g),_(t),v(r,t),Tt()}function Es(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["circle",{cx:"12",cy:"12",r:"10"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"}]];be(r,me({name:"circle-stop"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function Ls(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"}]];be(r,me({name:"square-pen"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function Bs(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 6v6l4 2"}]];be(r,me({name:"clock"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function tt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ue=tt();function At(r){ue=r}var he={exec:()=>null};function x(r,e=""){let s=typeof r=="string"?r:r.source,n={replace:(t,i)=>{let a=typeof i=="string"?i:i.source;return a=a.replace(B.caret,"$1"),s=s.replace(t,a),n},getRegex:()=>new RegExp(s,e)};return n}var qs=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),B={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}#`),htmlBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}>`)},Ms=/^(?:[ \t]*(?:\n|$))+/,Ns=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,js=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ie=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ds=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,st=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,It=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Pt=x(It).replace(/bull/g,st).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Os=x(It).replace(/bull/g,st).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),rt=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Zs=/^[^\n]+/,nt=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Hs=x(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",nt).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Qs=x(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,st).getRegex(),Ne="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",at=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ws=x("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",at).replace("tag",Ne).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ct=x(rt).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ne).getRegex(),Gs=x(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Ct).getRegex(),it={blockquote:Gs,code:Ns,def:Hs,fences:js,heading:Ds,hr:Ie,html:Ws,lheading:Pt,list:Qs,newline:Ms,paragraph:Ct,table:he,text:Zs},bt=x("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ne).getRegex(),Fs={...it,lheading:Os,table:bt,paragraph:x(rt).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",bt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ne).getRegex()},Us={...it,html:x(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",at).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:he,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:x(rt).replace("hr",Ie).replace("heading",` *#{1,6} *[^
1
+ import{b as ut,c as V,a as v,f as I,j as es,e as ts,g as ss,s as $e,t as rs}from"./Cs_ROD7H.js";import{I as ie,h as dt,a as gt,a9 as ns,bk as as,e as ft,C as is,w as ls,b6 as os,b3 as cs,c as hs,aA as ps,aB as us,bl as ds,x as Ge,f as X,y as St,z as Rt,A as Tt,D as j,B as R,G as _,F as ze,L as te,a7 as Fe,m as p,K as S,aj as Ue,R as gs,S as Ve,j as fs,bm as ks,T as Pe}from"./BeBar3OL.js";import{g as zt,e as xs,w as ms}from"./DP09rP34.js";import{l as xe,s as me,p as bs,i as D,b as ws}from"./xBRYfpah.js";import{n as C,e as _e,i as Se}from"./DNDUUFGV.js";import{B as ee,b as vs}from"./BuOTIbJu.js";import"./CQCkXCml.js";import{I as be,s as we,X as ys,T as $s,a as _s}from"./D1U4kU-D.js";import{i as Ss,g as Rs}from"./CCso8YCJ.js";function kt(r,e,s=!1,n=!1,t=!1){var i=r,a="";ie(()=>{var o=ns;if(a===(a=e()??"")){dt&&gt();return}if(o.nodes!==null&&(as(o.nodes.start,o.nodes.end),o.nodes=null),a!==""){if(dt){ft.data;for(var l=gt(),h=l;l!==null&&(l.nodeType!==is||l.data!=="");)h=l,l=ls(l);if(l===null)throw os(),cs;ut(ft,h),i=hs(l);return}var c=s?us:n?ds:void 0,d=ps(s?"svg":n?"math":"template",c);d.innerHTML=a;var g=s||n?d:d.content;if(ut(Ge(g),g.lastChild),s||n)for(;Ge(g);)i.before(Ge(g));else i.before(g)}})}function xt(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["path",{d:"M3 5h.01"}],["path",{d:"M3 12h.01"}],["path",{d:"M3 19h.01"}],["path",{d:"M8 5h13"}],["path",{d:"M8 12h13"}],["path",{d:"M8 19h13"}]];be(r,me({name:"list"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function mt(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["circle",{cx:"18",cy:"5",r:"3"}],["circle",{cx:"6",cy:"12",r:"3"}],["circle",{cx:"18",cy:"19",r:"3"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}]];be(r,me({name:"share-2"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function Ts(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"}]];be(r,me({name:"message-square"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}var zs=I('<span class="toggle-btn active svelte-r6dy5f" aria-current="page"><!><span class="toggle-label">Details</span></span>'),As=I('<a class="toggle-btn svelte-r6dy5f"><!><span class="toggle-label">Details</span></a>'),Is=I('<span class="toggle-btn active svelte-r6dy5f" aria-current="page"><!><span class="toggle-label">Graph</span></span>'),Ps=I('<a class="toggle-btn svelte-r6dy5f" href="/graph"><!><span class="toggle-label">Graph</span></a>'),Cs=I('<div class="view-toolbar svelte-r6dy5f"><div></div> <div class="view-toggles svelte-r6dy5f"><!> <!></div> <div class="toolbar-right svelte-r6dy5f"><!> <!></div></div>');function Jr(r,e){St(e,!0);let s=bs(e,"activeView",3,"entity");const n=Rt("chat");var t=Cs(),i=j(R(t),2),a=R(i);{var o=b=>{var w=zs(),u=R(w);xt(u,{size:14}),ze(),_(w),v(b,w)},l=b=>{var w=As(),u=R(w);xt(u,{size:14}),ze(),_(w),ie(()=>zt(w,"href",C.entityPath??"/")),v(b,w)};D(a,b=>{s()==="entity"?b(o):b(l,!1)})}var h=j(a,2);{var c=b=>{var w=Is(),u=R(w);mt(u,{size:14}),ze(),_(w),v(b,w)},d=b=>{var w=Ps(),u=R(w);mt(u,{size:14}),ze(),_(w),v(b,w)};D(h,b=>{s()==="graph"?b(c):b(d,!1)})}_(i);var g=j(i,2),T=R(g);{var m=b=>{var w=V(),u=X(w);xs(u,()=>e.right),v(b,w)};D(T,b=>{e.right&&b(m)})}var L=j(T,2);{var O=b=>{ee(b,{variant:"accent",size:"icon",class:"chat-toggle",title:"Open Agent",get onclick(){return n.toggle},children:(w,u)=>{Ts(w,{size:14})},$$slots:{default:!0}})};D(L,b=>{n.open||b(O)})}_(g),_(t),v(r,t),Tt()}function Es(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["circle",{cx:"12",cy:"12",r:"10"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1"}]];be(r,me({name:"circle-stop"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function Ls(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"}]];be(r,me({name:"square-pen"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function Bs(r,e){const s=xe(e,["children","$$slots","$$events","$$legacy"]);const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 6v6l4 2"}]];be(r,me({name:"clock"},()=>s,{get iconNode(){return n},children:(t,i)=>{var a=V(),o=X(a);we(o,e,"default",{}),v(t,a)},$$slots:{default:!0}}))}function tt(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ue=tt();function At(r){ue=r}var he={exec:()=>null};function x(r,e=""){let s=typeof r=="string"?r:r.source,n={replace:(t,i)=>{let a=typeof i=="string"?i:i.source;return a=a.replace(B.caret,"$1"),s=s.replace(t,a),n},getRegex:()=>new RegExp(s,e)};return n}var qs=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),B={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}#`),htmlBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:r=>new RegExp(`^ {0,${Math.min(3,r-1)}}>`)},Ms=/^(?:[ \t]*(?:\n|$))+/,Ns=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,js=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ie=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ds=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,st=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,It=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Pt=x(It).replace(/bull/g,st).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Os=x(It).replace(/bull/g,st).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),rt=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Zs=/^[^\n]+/,nt=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Hs=x(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",nt).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Qs=x(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,st).getRegex(),Ne="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",at=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ws=x("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",at).replace("tag",Ne).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ct=x(rt).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ne).getRegex(),Gs=x(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Ct).getRegex(),it={blockquote:Gs,code:Ns,def:Hs,fences:js,heading:Ds,hr:Ie,html:Ws,lheading:Pt,list:Qs,newline:Ms,paragraph:Ct,table:he,text:Zs},bt=x("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ne).getRegex(),Fs={...it,lheading:Os,table:bt,paragraph:x(rt).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",bt).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ne).getRegex()},Us={...it,html:x(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",at).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:he,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:x(rt).replace("hr",Ie).replace("heading",` *#{1,6} *[^
2
2
  ]`).replace("lheading",Pt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Vs=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Xs=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Et=/^( {2,}|\\)\n(?!\s*$)/,Js=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,je=/[\p{P}\p{S}]/u,lt=/[\s\p{P}\p{S}]/u,Lt=/[^\s\p{P}\p{S}]/u,Ks=x(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,lt).getRegex(),Bt=/(?!~)[\p{P}\p{S}]/u,Ys=/(?!~)[\s\p{P}\p{S}]/u,er=/(?:[^\s\p{P}\p{S}]|~)/u,qt=/(?![*_])[\p{P}\p{S}]/u,tr=/(?![*_])[\s\p{P}\p{S}]/u,sr=/(?:[^\s\p{P}\p{S}]|[*_])/u,rr=x(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",qs?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Mt=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,nr=x(Mt,"u").replace(/punct/g,je).getRegex(),ar=x(Mt,"u").replace(/punct/g,Bt).getRegex(),Nt="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",ir=x(Nt,"gu").replace(/notPunctSpace/g,Lt).replace(/punctSpace/g,lt).replace(/punct/g,je).getRegex(),lr=x(Nt,"gu").replace(/notPunctSpace/g,er).replace(/punctSpace/g,Ys).replace(/punct/g,Bt).getRegex(),or=x("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Lt).replace(/punctSpace/g,lt).replace(/punct/g,je).getRegex(),cr=x(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,qt).getRegex(),hr="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",pr=x(hr,"gu").replace(/notPunctSpace/g,sr).replace(/punctSpace/g,tr).replace(/punct/g,qt).getRegex(),ur=x(/\\(punct)/,"gu").replace(/punct/g,je).getRegex(),dr=x(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),gr=x(at).replace("(?:-->|$)","-->").getRegex(),fr=x("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",gr).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Be=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,kr=x(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Be).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),jt=x(/^!?\[(label)\]\[(ref)\]/).replace("label",Be).replace("ref",nt).getRegex(),Dt=x(/^!?\[(ref)\](?:\[\])?/).replace("ref",nt).getRegex(),xr=x("reflink|nolink(?!\\()","g").replace("reflink",jt).replace("nolink",Dt).getRegex(),wt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ot={_backpedal:he,anyPunctuation:ur,autolink:dr,blockSkip:rr,br:Et,code:Xs,del:he,delLDelim:he,delRDelim:he,emStrongLDelim:nr,emStrongRDelimAst:ir,emStrongRDelimUnd:or,escape:Vs,link:kr,nolink:Dt,punctuation:Ks,reflink:jt,reflinkSearch:xr,tag:fr,text:Js,url:he},mr={...ot,link:x(/^!?\[(label)\]\((.*?)\)/).replace("label",Be).getRegex(),reflink:x(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Be).getRegex()},Xe={...ot,emStrongRDelimAst:lr,emStrongLDelim:ar,delLDelim:cr,delRDelim:pr,url:x(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",wt).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:x(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",wt).getRegex()},br={...Xe,br:x(Et).replace("{2,}","*").getRegex(),text:x(Xe.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Ce={normal:it,gfm:Fs,pedantic:Us},Re={normal:ot,gfm:Xe,breaks:br,pedantic:mr},wr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},vt=r=>wr[r];function U(r,e){if(e){if(B.escapeTest.test(r))return r.replace(B.escapeReplace,vt)}else if(B.escapeTestNoEncode.test(r))return r.replace(B.escapeReplaceNoEncode,vt);return r}function yt(r){try{r=encodeURI(r).replace(B.percentDecode,"%")}catch{return null}return r}function $t(r,e){let s=r.replace(B.findPipe,(i,a,o)=>{let l=!1,h=a;for(;--h>=0&&o[h]==="\\";)l=!l;return l?"|":" |"}),n=s.split(B.splitPipe),t=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;t<n.length;t++)n[t]=n[t].trim().replace(B.slashPipe,"|");return n}function Te(r,e,s){let n=r.length;if(n===0)return"";let t=0;for(;t<n&&r.charAt(n-t-1)===e;)t++;return r.slice(0,n-t)}function vr(r,e){if(r.indexOf(e[1])===-1)return-1;let s=0;for(let n=0;n<r.length;n++)if(r[n]==="\\")n++;else if(r[n]===e[0])s++;else if(r[n]===e[1]&&(s--,s<0))return n;return s>0?-2:-1}function yr(r,e=0){let s=e,n="";for(let t of r)if(t===" "){let i=4-s%4;n+=" ".repeat(i),s+=i}else n+=t,s++;return n}function _t(r,e,s,n,t){let i=e.href,a=e.title||null,o=r[1].replace(t.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:r[0].charAt(0)==="!"?"image":"link",raw:s,href:i,title:a,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function $r(r,e,s){let n=r.match(s.other.indentCodeCompensation);if(n===null)return e;let t=n[1];return e.split(`
3
3
  `).map(i=>{let a=i.match(s.other.beginningSpace);if(a===null)return i;let[o]=a;return o.length>=t.length?i.slice(t.length):i}).join(`
4
4
  `)}var qe=class{options;rules;lexer;constructor(r){this.options=r||ue}space(r){let e=this.rules.block.newline.exec(r);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(r){let e=this.rules.block.code.exec(r);if(e){let s=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?s:Te(s,`
@@ -59,6 +59,6 @@ ${r}</tr>
59
59
  Please report this to https://github.com/markedjs/marked.`,r){let n="<p>An error occurred:</p><pre>"+U(s.message+"",!0)+"</pre>";return e?Promise.resolve(n):n}if(e)return Promise.reject(s);throw s}}},pe=new _r;function y(r,e){return pe.parse(r,e)}y.options=y.setOptions=function(r){return pe.setOptions(r),y.defaults=pe.defaults,At(y.defaults),y};y.getDefaults=tt;y.defaults=ue;y.use=function(...r){return pe.use(...r),y.defaults=pe.defaults,At(y.defaults),y};y.walkTokens=function(r,e){return pe.walkTokens(r,e)};y.parseInline=pe.parseInline;y.Parser=W;y.parser=W.parse;y.Renderer=Me;y.TextRenderer=ct;y.Lexer=Q;y.lexer=Q.lex;y.Tokenizer=qe;y.Hooks=Ae;y.parse=y;y.options;y.setOptions;y.use;y.walkTokens;y.parseInline;W.parse;Q.lex;function Sr(r,e,s){fetch("/api/chat/stream",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),signal:s}).then(async n=>{if(!n.ok){e({type:"error",message:`HTTP ${n.status}`});return}const t=n.body?.getReader();if(!t){e({type:"error",message:"No response body"});return}const i=new TextDecoder;let a="";for(;;){const{done:o,value:l}=await t.read();if(o)break;a+=i.decode(l,{stream:!0});const h=a.split(`
60
60
  `);a=h.pop()??"";for(const c of h)if(c.startsWith("data: "))try{const d=JSON.parse(c.slice(6));e(d)}catch{}}}).catch(n=>{n.name!=="AbortError"&&e({type:"error",message:n.message})})}const Ye="sg-chat-sessions",et="sg-chat-version",Rr=14;function ce(){try{const r=localStorage.getItem(Ye);if(!r)return[];if(localStorage.getItem(et)==="2")return JSON.parse(r);const n=JSON.parse(r).map(t=>({id:crypto.randomUUID(),createdAt:t.date+"T00:00:00.000Z",updatedAt:t.date+"T00:00:00.000Z",title:t.messages.find(i=>i.role==="user")?.content.slice(0,50)||"New chat",messages:t.messages}));return localStorage.setItem(Ye,JSON.stringify(n)),localStorage.setItem(et,"2"),n}catch{return[]}}function Le(r){const s=[...r].sort((n,t)=>t.updatedAt.localeCompare(n.updatedAt)).slice(0,Rr);try{localStorage.setItem(Ye,JSON.stringify(s)),localStorage.setItem(et,"2")}catch{}}function Ee(r,e){const s=ce(),n=e.map(({streaming:i,...a})=>a),t=s.findIndex(i=>i.id===r);t>=0&&(s[t].messages=n,s[t].updatedAt=new Date().toISOString()),Le(s)}function Tr(){const e=ce().sort((u,z)=>z.updatedAt.localeCompare(u.updatedAt))[0];let s=te(Fe(e?e.messages.map(u=>({...u,streaming:!1})):[])),n=te(Fe(e?.id??null)),t=te(!1),i=te(0),a=te(0),o=te(null),l=null,h=te(Fe(!!e));const c=new Set(["create_entity","update_entity","delete_entity","move_entity"]);function d(){m();const u=crypto.randomUUID();S(n,u,!0),S(s,[],!0),S(h,!1)}function g(){if(p(n)&&p(h))return p(n);const u=p(n)||crypto.randomUUID();S(n,u,!0);const z=new Date().toISOString(),P=ce();return P.push({id:u,createdAt:z,updatedAt:z,title:"New chat",messages:[]}),Le(P),S(h,!0),u}function T(u){if(!u.trim()||p(t))return;S(o,null);const z=g();p(s).push({role:"user",content:u}),p(s).push({role:"agent",content:"",segments:[],streaming:!0}),S(t,!0);const P=ce(),A=P.find(k=>k.id===z);A&&A.title==="New chat"&&(A.title=u.slice(0,50),Le(P)),Ee(z,p(s));let G=!1,J=null;l=new AbortController;const De=C.selectedSubPath?`${C.selectedRepo}/${C.selectedType}/${C.selectedId}/${C.selectedSubPath}`:C.selectedId?`${C.selectedRepo}/${C.selectedType}/${C.selectedId}`:null,se=p(s).slice(0,-2).map(k=>({role:k.role==="agent"?"assistant":k.role,content:k.content})),Oe={message:u,context:De??void 0,sessionId:z,history:se.length>0?se:void 0};Sr(Oe,k=>{const q=p(s)[p(s).length-1];if(!q||q.role!=="agent")return;const Z=q.segments;switch(k.type){case"token":{q.content+=k.text??"";const H=Z[Z.length-1];H&&H.type==="text"?H.content+=k.text??"":Z.push({type:"text",content:k.text??""}),q.segments=Z,Ue(a);break}case"tool_start":if(k.name){c.has(k.name)&&(G=!0);const H=Z[Z.length-1];H&&H.type==="tools"?H.names=[...H.names,k.name]:Z.push({type:"tools",names:[k.name]}),q.segments=Z,Ue(a)}break;case"mutation":G=!0,k.action==="created"&&k.repo&&k.entityType&&k.entityId&&(J={repo:k.repo,entityType:k.entityType,entityId:k.entityId}),window.StudioChrome?.emitMutation?.({action:k.action,repo:k.repo,entityType:k.entityType,entityId:k.entityId});break;case"highlight":S(o,k.entityIds&&k.entityIds.length>0?new Set(k.entityIds):null,!0);break;case"done":k.message&&!q.content&&(q.content=k.message,q.segments=[{type:"text",content:k.message}]),q.streaming=!1,S(t,!1),Ee(z,p(s)),G&&(Ss().then(()=>{Ue(i)}),ms.refreshAll().then(()=>{J&&Rs(`/${J.repo}/${J.entityType}/${J.entityId}`)}));break;case"error":q.content+=`
61
61
 
62
- Error: ${k.message}`,q.streaming=!1,S(t,!1),Ee(z,p(s));break}},l.signal)}function m(){l?.abort(),S(t,!1);const u=p(s)[p(s).length-1];u?.streaming&&(u.streaming=!1)}function L(){m(),S(s,[],!0),p(n)&&p(h)&&Ee(p(n),p(s))}function O(u){const P=ce().filter(A=>A.id!==u);if(Le(P),p(n)===u){const A=P.sort((G,J)=>J.updatedAt.localeCompare(G.updatedAt));A.length>0?(S(n,A[0].id,!0),S(s,A[0].messages.map(G=>({...G,streaming:!1})),!0),S(h,!0)):(S(n,null),S(s,[],!0),S(h,!1))}}function b(u){const P=ce().find(A=>A.id===u);P&&(m(),S(n,P.id,!0),S(s,P.messages.map(A=>({...A,streaming:!1})),!0),S(h,!0))}function w(){return ce().sort((u,z)=>z.updatedAt.localeCompare(u.updatedAt)).map(u=>({id:u.id,title:u.title,createdAt:u.createdAt,updatedAt:u.updatedAt,preview:u.messages.find(z=>z.role==="user")?.content.slice(0,80)||"",count:u.messages.length,active:u.id===p(n)}))}return{get messages(){return p(s)},get streaming(){return p(t)},get mutationCount(){return p(i)},get scrollTick(){return p(a)},get highlightedIds(){return p(o)},get activeSessionId(){return p(n)},send:T,stop:m,clear:L,newSession:d,deleteSession:O,getSessions:w,loadSession:b}}const M=Tr();var zr=I('<span class="session-title svelte-1xwj6s7"> </span>'),Ar=I('<div class="session-row svelte-1xwj6s7"><!> <!></div>'),Ir=I('<div class="session-dropdown svelte-1xwj6s7"><div class="session-list svelte-1xwj6s7"></div></div>'),Pr=I('<div class="empty-state svelte-1xwj6s7"><div class="seed-prompts svelte-1xwj6s7"></div></div>'),Cr=I('<div class="user-bubble svelte-1xwj6s7"> </div>'),Er=I('<span class="tool-call svelte-1xwj6s7"> </span>'),Lr=I('<div class="tool-calls svelte-1xwj6s7"></div>'),Br=I('<div class="agent-text prose svelte-1xwj6s7"><!></div>'),qr=I('<div class="agent-text prose svelte-1xwj6s7"><!></div>'),Mr=I('<span class="streaming-dot svelte-1xwj6s7"></span>'),Nr=I('<div class="agent-content svelte-1xwj6s7"><!> <!></div>'),jr=I('<div class="message-group svelte-1xwj6s7"><!></div>'),Dr=I('<div class="context-chip svelte-1xwj6s7"> </div>'),Or=I('<aside class="chat-panel svelte-1xwj6s7"><div class="chat-header svelte-1xwj6s7"><div class="chat-header-left svelte-1xwj6s7"><!> <!></div> <!> <!></div> <div class="chat-messages svelte-1xwj6s7"><!></div> <div class="chat-input-area svelte-1xwj6s7"><!> <div class="text-input svelte-1xwj6s7"><textarea class="input-field svelte-1xwj6s7" rows="1"></textarea> <!></div></div></aside>');function Kr(r,e){St(e,!0);const s=/[\p{Emoji_Presentation}\p{Extended_Pictographic}]\uFE0F?/gu,n=/^\|[\s:|-]+\|$/,t=/^[ ]{0,3}([-*_])\s*(\1\s*){2,}$/;function i(f){return f.replace(s,"").replace(/^ +/gm,$=>$.replace(/ +/," ")).split(`
62
+ Error: ${k.message}`,q.streaming=!1,S(t,!1),Ee(z,p(s));break}},l.signal)}function m(){l?.abort(),S(t,!1);const u=p(s)[p(s).length-1];u?.streaming&&(u.streaming=!1),fetch("/api/chat/abort",{method:"POST",credentials:"include"}).catch(()=>{})}function L(){m(),S(s,[],!0),p(n)&&p(h)&&Ee(p(n),p(s))}function O(u){const P=ce().filter(A=>A.id!==u);if(Le(P),p(n)===u){const A=P.sort((G,J)=>J.updatedAt.localeCompare(G.updatedAt));A.length>0?(S(n,A[0].id,!0),S(s,A[0].messages.map(G=>({...G,streaming:!1})),!0),S(h,!0)):(S(n,null),S(s,[],!0),S(h,!1))}}function b(u){const P=ce().find(A=>A.id===u);P&&(m(),S(n,P.id,!0),S(s,P.messages.map(A=>({...A,streaming:!1})),!0),S(h,!0))}function w(){return ce().sort((u,z)=>z.updatedAt.localeCompare(u.updatedAt)).map(u=>({id:u.id,title:u.title,createdAt:u.createdAt,updatedAt:u.updatedAt,preview:u.messages.find(z=>z.role==="user")?.content.slice(0,80)||"",count:u.messages.length,active:u.id===p(n)}))}return{get messages(){return p(s)},get streaming(){return p(t)},get mutationCount(){return p(i)},get scrollTick(){return p(a)},get highlightedIds(){return p(o)},get activeSessionId(){return p(n)},send:T,stop:m,clear:L,newSession:d,deleteSession:O,getSessions:w,loadSession:b}}const M=Tr();var zr=I('<span class="session-title svelte-1xwj6s7"> </span>'),Ar=I('<div class="session-row svelte-1xwj6s7"><!> <!></div>'),Ir=I('<div class="session-dropdown svelte-1xwj6s7"><div class="session-list svelte-1xwj6s7"></div></div>'),Pr=I('<div class="empty-state svelte-1xwj6s7"><div class="seed-prompts svelte-1xwj6s7"></div></div>'),Cr=I('<div class="user-bubble svelte-1xwj6s7"> </div>'),Er=I('<span class="tool-call svelte-1xwj6s7"> </span>'),Lr=I('<div class="tool-calls svelte-1xwj6s7"></div>'),Br=I('<div class="agent-text prose svelte-1xwj6s7"><!></div>'),qr=I('<div class="agent-text prose svelte-1xwj6s7"><!></div>'),Mr=I('<span class="streaming-dot svelte-1xwj6s7"></span>'),Nr=I('<div class="agent-content svelte-1xwj6s7"><!> <!></div>'),jr=I('<div class="message-group svelte-1xwj6s7"><!></div>'),Dr=I('<div class="context-chip svelte-1xwj6s7"> </div>'),Or=I('<aside class="chat-panel svelte-1xwj6s7"><div class="chat-header svelte-1xwj6s7"><div class="chat-header-left svelte-1xwj6s7"><!> <!></div> <!> <!></div> <div class="chat-messages svelte-1xwj6s7"><!></div> <div class="chat-input-area svelte-1xwj6s7"><!> <div class="text-input svelte-1xwj6s7"><textarea class="input-field svelte-1xwj6s7" rows="1"></textarea> <!></div></div></aside>');function Kr(r,e){St(e,!0);const s=/[\p{Emoji_Presentation}\p{Extended_Pictographic}]\uFE0F?/gu,n=/^\|[\s:|-]+\|$/,t=/^[ ]{0,3}([-*_])\s*(\1\s*){2,}$/;function i(f){return f.replace(s,"").replace(/^ +/gm,$=>$.replace(/ +/," ")).split(`
63
63
  `).map($=>n.test($)||t.test($)?$:$.replace(/--/g,"—")).join(`
64
64
  `)}const a=Rt("chat");let o=te(""),l=te(!1);const h=Pe(()=>(M.activeSessionId,M.getSessions().length>0));let c,d=!0;function g(){c&&(d=c.scrollHeight-c.scrollTop-c.clientHeight<40)}const T=Pe(()=>{if(C.selectedSubPath)return["Summarize this document","Extract key points","What actions are here?","What decisions were made?"];if(C.selectedId){const f=C.selectedType??"entity";return[`Summarize this ${f}`,`What's related to this ${f}?`,"What actions should I take?","What decisions were made?"]}return C.activeView==="graph"?["What are the key relationships?","Which entities are most connected?","Find gaps in my graph","What decisions have been made recently?"]:["What's in my graph?","Summarize recent meetings","Who's working on what?","What decisions have been made recently?"]});async function m(){const f=p(o).trim();f&&(S(o,""),d=!0,M.send(f),await Ve(),O())}function L(f){f.key==="Enter"&&!f.shiftKey&&(f.preventDefault(),m())}function O(){c&&(c.scrollTop=c.scrollHeight)}gs(()=>{Ve().then(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>O())})})}),fs(()=>{M.scrollTick,d&&O()});var b=Or(),w=R(b),u=R(w),z=R(u);ee(z,{variant:"ghost",size:"icon",class:"size-6",onclick:()=>M.newSession(),children:(f,$)=>{Ls(f,{size:14})},$$slots:{default:!0}});var P=j(z,2);{var A=f=>{{let $=Pe(()=>p(l)?"history-active":"");ee(f,{variant:"ghost",size:"icon",get class(){return`size-6 ${p($)??""}`},onclick:()=>S(l,!p(l)),children:(N,ge)=>{Bs(N,{size:14})},$$slots:{default:!0}})}};D(P,f=>{p(h)&&f(A)})}_(u);var G=j(u,2);ee(G,{variant:"ghost",size:"icon",class:"size-6",get onclick(){return a.close},children:(f,$)=>{ys(f,{size:14})},$$slots:{default:!0}});var J=j(G,2);{var De=f=>{var $=Ir(),N=R($);_e(N,21,()=>M.getSessions(),Se,(ge,E)=>{var K=Ar(),ve=R(K);{let le=Pe(()=>p(E).active?"active":"");ee(ve,{variant:"ghost",get class(){return`session-item ${p(le)??""}`},onclick:()=>{M.loadSession(p(E).id),S(l,!1)},children:(Y,re)=>{var ne=zr(),Ze=R(ne,!0);_(ne),ie(()=>$e(Ze,p(E).title)),v(Y,ne)},$$slots:{default:!0}})}var fe=j(ve,2);ee(fe,{variant:"ghost",size:"icon",class:"session-delete-btn",title:"Delete session",onclick:le=>{le.stopPropagation(),M.deleteSession(p(E).id)},children:(le,Y)=>{$s(le,{size:12})},$$slots:{default:!0}}),_(K),v(ge,K)}),_(N),_($),v(f,$)};D(J,f=>{p(l)&&f(De)})}_(w);var se=j(w,2),Oe=R(se);{var k=f=>{var $=Pr(),N=R($);_e(N,21,()=>p(T),Se,(ge,E)=>{ee(ge,{variant:"outline",class:"seed-prompt",onclick:()=>{d=!0,M.send(p(E)),Ve().then(()=>O())},children:(K,ve)=>{ze();var fe=rs();ie(()=>$e(fe,p(E))),v(K,fe)},$$slots:{default:!0}})}),_(N),_($),v(f,$)},q=f=>{var $=V(),N=X($);_e(N,17,()=>M.messages,Se,(ge,E)=>{var K=jr(),ve=R(K);{var fe=Y=>{var re=Cr(),ne=R(re,!0);_(re),ie(()=>$e(ne,p(E).content)),v(Y,re)},le=Y=>{var re=Nr(),ne=R(re);{var Ze=F=>{var ae=V(),He=X(ae);_e(He,17,()=>p(E).segments,Se,(Ut,ye)=>{var pt=V(),Vt=X(pt);{var Xt=ke=>{var oe=Lr();_e(oe,21,()=>p(ye).names,Se,(Qe,Kt)=>{var We=Er(),Yt=R(We,!0);_(We),ie(()=>$e(Yt,p(Kt))),v(Qe,We)}),_(oe),v(ke,oe)},Jt=ke=>{var oe=Br(),Qe=R(oe);kt(Qe,()=>y.parse(i(p(ye).content))),_(oe),v(ke,oe)};D(Vt,ke=>{p(ye).type==="tools"?ke(Xt):p(ye).type==="text"&&p(ye).content&&ke(Jt,1)})}v(Ut,pt)}),v(F,ae)},Wt=F=>{var ae=qr(),He=R(ae);kt(He,()=>y.parse(i(p(E).content))),_(ae),v(F,ae)};D(ne,F=>{p(E).segments&&p(E).segments.length>0?F(Ze):p(E).content&&F(Wt,1)})}var Gt=j(ne,2);{var Ft=F=>{var ae=Mr();v(F,ae)};D(Gt,F=>{p(E).streaming&&F(Ft)})}_(re),v(Y,re)};D(ve,Y=>{p(E).role==="user"?Y(fe):Y(le,!1)})}_(K),v(ge,K)}),v(f,$)};D(Oe,f=>{M.messages.length===0?f(k):f(q,!1)})}_(se),ws(se,f=>c=f,()=>c);var Z=j(se,2),H=R(Z);{var Ot=f=>{var $=Dr(),N=R($);_($),ie(()=>$e(N,`${C.selectedType??""}/${C.selectedId??""}`)),v(f,$)};D(H,f=>{C.selectedId&&f(Ot)})}var ht=j(H,2),de=R(ht);ks(de);var Zt=j(de,2);{var Ht=f=>{ee(f,{variant:"ghost",size:"icon",class:"size-7 stop-btn send-btn",onclick:()=>M.stop(),children:($,N)=>{Es($,{size:16})},$$slots:{default:!0}})},Qt=f=>{ee(f,{variant:"ghost",size:"icon",class:"size-7 send-btn",onclick:m,children:($,N)=>{_s($,{size:14})},$$slots:{default:!0}})};D(Zt,f=>{M.streaming?f(Ht):f(Qt,!1)})}_(ht),_(Z),_(b),ie(()=>{zt(de,"placeholder",C.selectedId?"Ask about this entity...":"Ask about your workspace..."),de.disabled=M.streaming}),ts("scroll",se,g),ss("keydown",de,L),vs(de,()=>p(o),f=>S(o,f)),v(r,b),Tt()}es(["keydown"]);export{Kr as C,Jr as V,M as c};
@@ -1 +1 @@
1
- import{O as B,f as F,g as A,e as V,w as S,a as J,t as v,c as D,r as L,b as _,d as N,h as E,i as P,j as G,k as O,l as q,D as R,m as z}from"./CLFba8FK.js";import{r as M}from"./CGBoDumJ.js";const b=3e4;class K extends B{constructor(n){super(),this.doc=n,this.clientID=n.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{const e=A();this.getLocalState()!==null&&b/2<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const s=[];this.meta.forEach((a,c)=>{c!==this.clientID&&b<=e-a.lastUpdated&&this.states.has(c)&&s.push(c)}),s.length>0&&x(this,s,"timeout")},F(b/10)),n.on("destroy",()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(n){const e=this.clientID,s=this.meta.get(e),a=s===void 0?0:s.clock+1,c=this.states.get(e);n===null?this.states.delete(e):this.states.set(e,n),this.meta.set(e,{clock:a,lastUpdated:A()});const l=[],u=[],r=[],p=[];n===null?p.push(e):c==null?n!=null&&l.push(e):(u.push(e),V(c,n)||r.push(e)),(l.length>0||r.length>0||p.length>0)&&this.emit("change",[{added:l,updated:r,removed:p},"local"]),this.emit("update",[{added:l,updated:u,removed:p},"local"])}setLocalStateField(n,e){const s=this.getLocalState();s!==null&&this.setLocalState({...s,[n]:e})}getStates(){return this.states}}const x=(t,n,e)=>{const s=[];for(let a=0;a<n.length;a++){const c=n[a];if(t.states.has(c)){if(t.states.delete(c),c===t.clientID){const l=t.meta.get(c);t.meta.set(c,{clock:l.clock+1,lastUpdated:A()})}s.push(c)}}s.length>0&&(t.emit("change",[{added:[],updated:[],removed:s},e]),t.emit("update",[{added:[],updated:[],removed:s},e]))},Q=(t,n,e=t.states)=>{const s=n.length,a=D();S(a,s);for(let c=0;c<s;c++){const l=n[c],u=e.get(l)||null,r=t.meta.get(l).clock;S(a,l),S(a,r),J(a,JSON.stringify(u))}return v(a)},X=(t,n,e)=>{const s=N(n),a=A(),c=[],l=[],u=[],r=[],p=L(s);for(let m=0;m<p;m++){const d=L(s);let g=L(s);const h=JSON.parse(_(s)),y=t.meta.get(d),k=t.states.get(d),o=y===void 0?0:y.clock;(o<g||o===g&&h===null&&t.states.has(d))&&(h===null?d===t.clientID&&t.getLocalState()!=null?g++:t.states.delete(d):t.states.set(d,h),t.meta.set(d,{clock:g,lastUpdated:a}),y===void 0&&h!==null?c.push(d):y!==void 0&&h===null?r.push(d):h!==null&&(V(h,k)||u.push(d),l.push(d)))}(c.length>0||u.length>0||r.length>0)&&t.emit("change",[{added:c,updated:u,removed:r},e]),(c.length>0||l.length>0||r.length>0)&&t.emit("update",[{added:c,updated:l,removed:r},e])},W=0,j=1,C=2,Z=(t,n)=>{S(t,W);const e=P(n);E(t,e)},$=(t,n,e)=>{S(t,j),E(t,q(n,e))},H=(t,n,e)=>$(n,e,O(t)),Y=(t,n,e,s)=>{try{G(n,O(t),e)}catch(a){s?.(a),console.error("Caught error while handling a Yjs update",a)}},tt=(t,n)=>{S(t,C),E(t,n)},et=Y,nt=(t,n,e,s,a)=>{const c=L(t);switch(c){case W:H(t,n,e);break;case j:Y(t,e,s,a);break;case C:et(t,e,s,a);break;default:throw new Error("Unknown message type")}return c},U=0,T=1;function st(t,n,e){const s=new TextEncoder().encode(t),a=new ArrayBuffer(2+s.length+1+e.length);return new DataView(a).setUint16(0,s.length),new Uint8Array(a,2,s.length).set(s),new Uint8Array(a)[2+s.length]=n,new Uint8Array(a,2+s.length+1).set(e),a}function at(t){if(t.byteLength<3)return null;const e=new DataView(t).getUint16(0);if(t.byteLength<2+e+1)return null;const s=new TextDecoder().decode(new Uint8Array(t,2,e)),a=new Uint8Array(t)[2+e],c=new Uint8Array(t,2+e+1);return{docName:s,msgType:a,payload:c}}function lt(t,n){const e=new R,s=e.getText("content"),a=new K(e);a.setLocalStateField("user",{name:n.name,color:n.color,colorLight:n.colorLight??n.color+"33"});let c=null,l=!1;function u(){return M.ws??null}function r(o,f){const i=u();!i||i.readyState!==WebSocket.OPEN||i.send(st(t,o,f))}function p(){const o=D();Z(o,e),r(U,v(o))}function m(o){const f=o??[e.clientID],i=Q(a,f);r(T,i)}function d(o){if(l||typeof o.data=="string")return;const f=o.data instanceof ArrayBuffer?o.data:null;if(!f)return;const i=at(f);if(!(!i||i.docName!==t))if(i.msgType===U){const I=N(i.payload),w=D();nt(I,w,e,"ws-server"),z(w)>0&&r(U,v(w))}else i.msgType===T&&X(a,i.payload,"ws-server")}function g(o,f){if(l||f==="ws-server")return;const i=D();tt(i,o),r(U,v(i))}function h({added:o,updated:f,removed:i},I){if(l||I==="ws-server")return;const w=o.concat(f,i);m(w)}function y(){if(l)return;const o=u();!o||o.readyState!==WebSocket.OPEN||(o.send(JSON.stringify({type:"collab:join",docName:t})),c&&o.removeEventListener("message",c),c=d,o.addEventListener("message",c),p(),m())}e.on("update",g),a.on("update",h),y(),M.addConnectHandler(y);function k(){if(l)return;l=!0,x(a,[e.clientID],"local"),m([e.clientID]);const o=u();o&&o.readyState===WebSocket.OPEN&&o.send(JSON.stringify({type:"collab:leave",docName:t})),c&&o&&(o.removeEventListener("message",c),c=null),e.off("update",g),a.off("update",h),a.destroy(),e.destroy()}return{ydoc:e,ytext:s,awareness:a,destroy:k}}export{lt as createCollabSession};
1
+ import{O as B,f as F,g as A,e as V,w as S,a as J,t as v,c as D,r as L,b as _,d as N,h as E,i as P,j as G,k as O,l as q,D as R,m as z}from"./CLFba8FK.js";import{r as M}from"./DNDUUFGV.js";const b=3e4;class K extends B{constructor(n){super(),this.doc=n,this.clientID=n.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{const e=A();this.getLocalState()!==null&&b/2<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const s=[];this.meta.forEach((a,c)=>{c!==this.clientID&&b<=e-a.lastUpdated&&this.states.has(c)&&s.push(c)}),s.length>0&&x(this,s,"timeout")},F(b/10)),n.on("destroy",()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(n){const e=this.clientID,s=this.meta.get(e),a=s===void 0?0:s.clock+1,c=this.states.get(e);n===null?this.states.delete(e):this.states.set(e,n),this.meta.set(e,{clock:a,lastUpdated:A()});const l=[],u=[],r=[],p=[];n===null?p.push(e):c==null?n!=null&&l.push(e):(u.push(e),V(c,n)||r.push(e)),(l.length>0||r.length>0||p.length>0)&&this.emit("change",[{added:l,updated:r,removed:p},"local"]),this.emit("update",[{added:l,updated:u,removed:p},"local"])}setLocalStateField(n,e){const s=this.getLocalState();s!==null&&this.setLocalState({...s,[n]:e})}getStates(){return this.states}}const x=(t,n,e)=>{const s=[];for(let a=0;a<n.length;a++){const c=n[a];if(t.states.has(c)){if(t.states.delete(c),c===t.clientID){const l=t.meta.get(c);t.meta.set(c,{clock:l.clock+1,lastUpdated:A()})}s.push(c)}}s.length>0&&(t.emit("change",[{added:[],updated:[],removed:s},e]),t.emit("update",[{added:[],updated:[],removed:s},e]))},Q=(t,n,e=t.states)=>{const s=n.length,a=D();S(a,s);for(let c=0;c<s;c++){const l=n[c],u=e.get(l)||null,r=t.meta.get(l).clock;S(a,l),S(a,r),J(a,JSON.stringify(u))}return v(a)},X=(t,n,e)=>{const s=N(n),a=A(),c=[],l=[],u=[],r=[],p=L(s);for(let m=0;m<p;m++){const d=L(s);let g=L(s);const h=JSON.parse(_(s)),y=t.meta.get(d),k=t.states.get(d),o=y===void 0?0:y.clock;(o<g||o===g&&h===null&&t.states.has(d))&&(h===null?d===t.clientID&&t.getLocalState()!=null?g++:t.states.delete(d):t.states.set(d,h),t.meta.set(d,{clock:g,lastUpdated:a}),y===void 0&&h!==null?c.push(d):y!==void 0&&h===null?r.push(d):h!==null&&(V(h,k)||u.push(d),l.push(d)))}(c.length>0||u.length>0||r.length>0)&&t.emit("change",[{added:c,updated:u,removed:r},e]),(c.length>0||l.length>0||r.length>0)&&t.emit("update",[{added:c,updated:l,removed:r},e])},W=0,j=1,C=2,Z=(t,n)=>{S(t,W);const e=P(n);E(t,e)},$=(t,n,e)=>{S(t,j),E(t,q(n,e))},H=(t,n,e)=>$(n,e,O(t)),Y=(t,n,e,s)=>{try{G(n,O(t),e)}catch(a){s?.(a),console.error("Caught error while handling a Yjs update",a)}},tt=(t,n)=>{S(t,C),E(t,n)},et=Y,nt=(t,n,e,s,a)=>{const c=L(t);switch(c){case W:H(t,n,e);break;case j:Y(t,e,s,a);break;case C:et(t,e,s,a);break;default:throw new Error("Unknown message type")}return c},U=0,T=1;function st(t,n,e){const s=new TextEncoder().encode(t),a=new ArrayBuffer(2+s.length+1+e.length);return new DataView(a).setUint16(0,s.length),new Uint8Array(a,2,s.length).set(s),new Uint8Array(a)[2+s.length]=n,new Uint8Array(a,2+s.length+1).set(e),a}function at(t){if(t.byteLength<3)return null;const e=new DataView(t).getUint16(0);if(t.byteLength<2+e+1)return null;const s=new TextDecoder().decode(new Uint8Array(t,2,e)),a=new Uint8Array(t)[2+e],c=new Uint8Array(t,2+e+1);return{docName:s,msgType:a,payload:c}}function lt(t,n){const e=new R,s=e.getText("content"),a=new K(e);a.setLocalStateField("user",{name:n.name,color:n.color,colorLight:n.colorLight??n.color+"33"});let c=null,l=!1;function u(){return M.ws??null}function r(o,f){const i=u();!i||i.readyState!==WebSocket.OPEN||i.send(st(t,o,f))}function p(){const o=D();Z(o,e),r(U,v(o))}function m(o){const f=o??[e.clientID],i=Q(a,f);r(T,i)}function d(o){if(l||typeof o.data=="string")return;const f=o.data instanceof ArrayBuffer?o.data:null;if(!f)return;const i=at(f);if(!(!i||i.docName!==t))if(i.msgType===U){const I=N(i.payload),w=D();nt(I,w,e,"ws-server"),z(w)>0&&r(U,v(w))}else i.msgType===T&&X(a,i.payload,"ws-server")}function g(o,f){if(l||f==="ws-server")return;const i=D();tt(i,o),r(U,v(i))}function h({added:o,updated:f,removed:i},I){if(l||I==="ws-server")return;const w=o.concat(f,i);m(w)}function y(){if(l)return;const o=u();!o||o.readyState!==WebSocket.OPEN||(o.send(JSON.stringify({type:"collab:join",docName:t})),c&&o.removeEventListener("message",c),c=d,o.addEventListener("message",c),p(),m())}e.on("update",g),a.on("update",h),y(),M.addConnectHandler(y);function k(){if(l)return;l=!0,x(a,[e.clientID],"local"),m([e.clientID]);const o=u();o&&o.readyState===WebSocket.OPEN&&o.send(JSON.stringify({type:"collab:leave",docName:t})),c&&o&&(o.removeEventListener("message",c),c=null),e.off("update",g),a.off("update",h),a.destroy(),e.destroy()}return{ydoc:e,ytext:s,awareness:a,destroy:k}}export{lt as createCollabSession};