@bkm016/basalt 0.1.6 → 0.1.8
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 +3 -3
- package/{chunk-n981vx1t.js → chunk-0d51ggzj.js} +6 -6
- package/chunk-12trygzx.js +25 -0
- package/{chunk-s6dejhfj.js → chunk-26cz8et8.js} +1 -1
- package/{chunk-zxkq9m8e.js → chunk-2ek3wq4b.js} +2 -2
- package/chunk-2gcp3xdc.js +2 -0
- package/{chunk-x4874m8e.js → chunk-2ks2tnac.js} +2 -2
- package/{chunk-0javrjcm.js → chunk-2nrkqq45.js} +22 -22
- package/chunk-320174qe.js +2 -0
- package/{chunk-ey15ye2h.js → chunk-3hg7yn1t.js} +1 -1
- package/{chunk-benrzwea.js → chunk-3j2kkgsc.js} +1 -1
- package/{chunk-8x21n7y9.js → chunk-47vf66t6.js} +1 -1
- package/chunk-4n49ptbz.js +3 -0
- package/{chunk-7hr6zw2m.js → chunk-5gxj9560.js} +1 -1
- package/{chunk-g0t9c3gv.js → chunk-6vnjg5x9.js} +1 -1
- package/{chunk-dnx91jrd.js → chunk-7kjr9gdx.js} +2 -2
- package/{chunk-y8dkfpmj.js → chunk-7p6e2f5s.js} +3 -3
- package/{chunk-053vb71h.js → chunk-86xhmz7k.js} +1 -1
- package/{chunk-ebpyvs1d.js → chunk-91r5nvth.js} +2 -2
- package/{chunk-c7rcw9fb.js → chunk-adys4qq4.js} +4 -4
- package/{chunk-npez1492.js → chunk-ckjw3b61.js} +2 -2
- package/{chunk-f156y565.js → chunk-d37gemt2.js} +3 -3
- package/{chunk-j7yvh0ae.js → chunk-dcwdmpw2.js} +1 -1
- package/chunk-dvb5nd2x.js +2 -0
- package/{chunk-063vbmtp.js → chunk-e6c2mzxc.js} +2 -2
- package/{chunk-s7skpgm2.js → chunk-ef9yhnk3.js} +1 -1
- package/{chunk-ecf896fz.js → chunk-fpxc6qjr.js} +2 -2
- package/chunk-frt9k18g.js +480 -0
- package/{chunk-bdy4jksd.js → chunk-fzcmzbsq.js} +1 -1
- package/{chunk-q9dd6fhj.js → chunk-g3ed130w.js} +3 -3
- package/{chunk-d48bfd2e.js → chunk-h1kb8b49.js} +2 -2
- package/{chunk-arcqjt91.js → chunk-hd3x1w46.js} +1 -1
- package/{chunk-dpz4hwqb.js → chunk-j781n7ca.js} +2 -2
- package/{chunk-z02sj1je.js → chunk-jp5afrwm.js} +2 -2
- package/{chunk-r8vvcp6c.js → chunk-jyv9cae6.js} +1 -1
- package/{chunk-whj87h4r.js → chunk-k3q5jqjj.js} +3 -3
- package/{chunk-75434aay.js → chunk-k3rmjrf1.js} +1 -1
- package/{chunk-peja51xv.js → chunk-kgkrccr1.js} +2 -2
- package/{chunk-pg5nkf1y.js → chunk-kpvaqb7c.js} +2 -2
- package/{chunk-hksqjts3.js → chunk-ky55taar.js} +332 -289
- package/{chunk-10p3mb40.js → chunk-mr807v9n.js} +1 -1
- package/chunk-n015c8nx.js +2 -0
- package/chunk-ndt6rjt9.js +2 -0
- package/{chunk-gv7wqkey.js → chunk-nmtk9xra.js} +2 -2
- package/{chunk-d6p2hgxh.js → chunk-pehyqj8k.js} +1 -1
- package/{chunk-ca982n62.js → chunk-pkpj7s2k.js} +1 -1
- package/{chunk-fx7f4m3c.js → chunk-pn413hjw.js} +1 -1
- package/{chunk-6ptv4g5e.js → chunk-ppxv5q7y.js} +3 -3
- package/{chunk-8wj32837.js → chunk-qmdpgbg3.js} +1 -1
- package/{chunk-8wv5t0w6.js → chunk-rnt1ckk9.js} +6 -6
- package/{chunk-prgm07j4.js → chunk-t40fag3z.js} +2 -2
- package/{chunk-w67dvqtb.js → chunk-t66jqz12.js} +2 -2
- package/{chunk-39vwrg8n.js → chunk-v2srrqcv.js} +2 -2
- package/{chunk-n85qs7cs.js → chunk-x496kg3v.js} +1 -1
- package/{chunk-6kdgk70p.js → chunk-xjw78yey.js} +4 -4
- package/chunk-xy2bxwq8.js +2 -0
- package/{chunk-y69ewdn2.js → chunk-ypqjfv3a.js} +2 -2
- package/{chunk-f544p9rh.js → chunk-yyy2yp6f.js} +10 -10
- package/{chunk-8gw5bvh3.js → chunk-yzevjkms.js} +5 -5
- package/chunk-z3ch1wg6.js +16 -0
- package/chunk-zdyd8hbn.js +2 -0
- package/compiled.js +6 -6
- package/package.json +1 -1
- package/ui-test-worker.js +19 -19
- package/web/{chunk-rf9dt6bg.js → chunk-0j9a7811.js} +6 -6
- package/web/chunk-0jfda4jw.js +2 -0
- package/web/{chunk-z1geewdf.js → chunk-0zwc2rvh.js} +2 -2
- package/web/{chunk-ht1dzftc.js → chunk-1gx0zpmp.js} +7 -7
- package/web/{chunk-0gg00f86.js → chunk-1s8zg6fb.js} +51 -51
- package/web/chunk-2axwda8c.js +89 -0
- package/web/chunk-2p3fkhy8.js +1 -0
- package/web/{chunk-xvcfp1zh.js → chunk-33w36n91.js} +2 -2
- package/web/{chunk-5v44qv67.js → chunk-3q0v8w45.js} +81 -81
- package/web/chunk-3sz5qcwj.js +1 -0
- package/web/chunk-433c80pc.js +1 -0
- package/web/chunk-48cnmhvd.js +106 -0
- package/web/{chunk-da7m1kva.js → chunk-4anjs6yp.js} +2 -2
- package/web/chunk-5r37rwq1.js +4 -0
- package/web/{chunk-g81h1e6n.js → chunk-6e38yf3a.js} +23 -23
- package/web/{chunk-zp3qrrkb.js → chunk-7a4xk6j9.js} +72 -72
- package/web/chunk-7f1t7z72.js +2 -0
- package/web/chunk-7qq1ypvj.js +1 -0
- package/web/{chunk-h6k1x096.js → chunk-7tkgbbf9.js} +2 -2
- package/web/chunk-7x35g67d.js +78 -0
- package/web/{chunk-n1jpg57t.js → chunk-823b7866.js} +15 -15
- package/web/chunk-85gdsmt4.js +1 -0
- package/web/{chunk-gyp6v7jd.js → chunk-8773nwdc.js} +2 -2
- package/web/{chunk-cktmyc13.js → chunk-8dp7h6w8.js} +24 -24
- package/web/{chunk-czq1yz51.js → chunk-8nv7q5ac.js} +9 -9
- package/web/chunk-8pzg8qw4.js +1 -0
- package/web/chunk-8wg44w91.js +2 -0
- package/web/chunk-9p5dfvav.js +1 -0
- package/web/chunk-9q9w9pay.js +1 -0
- package/web/chunk-a3teqvz2.js +39 -0
- package/web/chunk-bd8ftfxn.js +3 -0
- package/web/chunk-c03bt2pz.js +1 -0
- package/web/chunk-c1ha2xg6.js +8 -0
- package/web/chunk-cez1k71m.js +1 -0
- package/web/chunk-cgng31df.js +1 -0
- package/web/chunk-cn0tmwjs.js +2 -0
- package/web/{chunk-jve1zc80.js → chunk-cn1xpg3q.js} +2 -2
- package/web/chunk-cvd4f51j.js +1 -0
- package/web/chunk-cybvxssy.js +1 -0
- package/web/{chunk-a7gtb4kg.js → chunk-cyjnert7.js} +19 -19
- package/web/{chunk-twdy2f67.js → chunk-d0m0h0eb.js} +1 -1
- package/web/{chunk-hy4m34qp.js → chunk-dgwkqcz6.js} +37 -37
- package/web/{chunk-kyawkpv2.js → chunk-dtg5yhhs.js} +1 -1
- package/web/chunk-dynajx8x.js +2 -0
- package/web/{chunk-t851gdjh.js → chunk-et8q775x.js} +4 -4
- package/web/chunk-f3vv7n52.js +1 -0
- package/web/{chunk-3de552rg.js → chunk-f93pe4kb.js} +15 -15
- package/web/{chunk-5nda24gv.js → chunk-fe31sv6t.js} +1 -1
- package/web/chunk-fpa81dv7.js +62 -0
- package/web/{chunk-nyn9tghz.js → chunk-fx4mackk.js} +9 -9
- package/web/chunk-g17n6asp.js +1 -0
- package/web/chunk-g9dzaw9e.js +30 -0
- package/web/chunk-gcwhx3av.js +1139 -0
- package/web/chunk-gf8vm6b5.js +1 -0
- package/web/chunk-gnmeyy4h.js +1 -0
- package/web/chunk-h5cfg3vv.js +2 -0
- package/web/{chunk-d6tbw8br.js → chunk-hbkasy6c.js} +46 -46
- package/web/chunk-hn7mhsbg.js +1 -0
- package/web/{chunk-12xxh71x.js → chunk-hstbgb83.js} +26 -26
- package/web/chunk-jjjtv2r1.js +2 -0
- package/web/chunk-jzte2phh.js +2 -0
- package/web/chunk-k8h8zx6r.js +24 -0
- package/web/chunk-m3ajw575.js +1 -0
- package/web/chunk-m5y2d4zv.js +1 -0
- package/web/chunk-mbwwj216.js +1 -0
- package/web/chunk-mf6xng5b.js +2 -0
- package/web/chunk-nky3bqfg.js +1 -0
- package/web/chunk-np33kmn4.js +1 -0
- package/web/chunk-nvk8mazs.js +1 -0
- package/web/chunk-nyw5ewgv.js +1 -0
- package/web/{chunk-dwajwrpk.js → chunk-p0cjvjdx.js} +1 -1
- package/web/chunk-p56dcqpr.js +1 -0
- package/web/chunk-pdn4r8x4.js +1 -0
- package/web/chunk-q1xxs319.js +41 -0
- package/web/chunk-qpt34d8d.js +1 -0
- package/web/{chunk-96v2avmw.js → chunk-qq2v8h6d.js} +7 -7
- package/web/chunk-qskt3tqa.js +1 -0
- package/web/chunk-qt3n897m.js +4 -0
- package/web/chunk-r1rt48h9.js +1 -0
- package/web/{chunk-ck8rr0sr.js → chunk-r4ffr96e.js} +1 -1
- package/web/chunk-r7tgd2fm.js +7 -0
- package/web/{chunk-x5s7zr5f.js → chunk-rbdvc8x7.js} +7 -7
- package/web/{chunk-v4yqrx5y.js → chunk-rkjkynm3.js} +33 -33
- package/web/chunk-rznszqmy.js +1 -0
- package/web/chunk-s1pefd34.js +1 -0
- package/web/chunk-s38s9ff9.js +370 -0
- package/web/{chunk-vw1pbv1x.js → chunk-s7e93552.js} +8 -8
- package/web/chunk-sc29azev.js +1 -0
- package/web/{chunk-9c1yt2ex.js → chunk-sda7cyrt.js} +52 -52
- package/web/chunk-svh2gkx8.js +2 -0
- package/web/chunk-t4jc4nac.js +1 -0
- package/web/chunk-t7g366a5.js +24 -0
- package/web/chunk-tj1fn8v2.js +1 -0
- package/web/{chunk-sy7e4dmq.js → chunk-tkp72r9b.js} +1 -1
- package/web/{chunk-xc2sq3t5.js → chunk-v14s4vgc.js} +1 -1
- package/web/chunk-v94v68xg.js +36 -0
- package/web/{chunk-0whceqes.js → chunk-vvvd3grf.js} +2 -2
- package/web/chunk-w37n09px.js +21 -0
- package/web/chunk-wcphswcx.js +2 -0
- package/web/{chunk-fxs4nb93.js → chunk-wj3ymejj.js} +38 -38
- package/web/chunk-wwcnvyjh.css +1 -0
- package/web/{chunk-s2920f21.js → chunk-xabcx3ry.js} +6 -6
- package/web/chunk-xb9m0092.js +1 -0
- package/web/chunk-xfd3b01q.js +1 -0
- package/web/{chunk-03dmzvaq.js → chunk-xqyazzm7.js} +17 -17
- package/web/{chunk-prvh9syp.js → chunk-xsz1dfm2.js} +23 -23
- package/web/chunk-z0zrp8n8.js +1 -0
- package/web/index.html +1 -1
- package/worker.js +1 -1
- package/chunk-8saewt61.js +0 -3
- package/chunk-a0c989ky.js +0 -2
- package/chunk-a5apjjcn.js +0 -16
- package/chunk-a81p46j7.js +0 -2
- package/chunk-agsfy9w7.js +0 -2
- package/chunk-d20p02ny.js +0 -2
- package/chunk-ejsneb6f.js +0 -2
- package/chunk-fmq3zwzk.js +0 -2
- package/chunk-rfb85nj7.js +0 -2
- package/chunk-rfdt992v.js +0 -25
- package/chunk-tgfbtehh.js +0 -480
- package/web/chunk-0fgaepwm.js +0 -3
- package/web/chunk-0pecj6d7.js +0 -1
- package/web/chunk-0wt1dgny.js +0 -1
- package/web/chunk-1ves7sq5.js +0 -1
- package/web/chunk-1yj79b48.js +0 -1
- package/web/chunk-296hgy6k.js +0 -370
- package/web/chunk-2bmq1whf.js +0 -1
- package/web/chunk-2wqxhqr9.js +0 -1
- package/web/chunk-30zfw7zg.js +0 -1
- package/web/chunk-39ng8zwx.css +0 -1
- package/web/chunk-3nbzj48p.js +0 -36
- package/web/chunk-3zebd9fq.js +0 -7
- package/web/chunk-4r1n98zx.js +0 -2
- package/web/chunk-59678wmg.js +0 -1
- package/web/chunk-5wdk97mk.js +0 -4
- package/web/chunk-64rafq66.js +0 -78
- package/web/chunk-6kkw9ptc.js +0 -1
- package/web/chunk-718mr5gc.js +0 -2
- package/web/chunk-7hs57qdr.js +0 -1
- package/web/chunk-7kp237t3.js +0 -106
- package/web/chunk-86p42kym.js +0 -1
- package/web/chunk-8n79cqyd.js +0 -1
- package/web/chunk-9an6wcnr.js +0 -1
- package/web/chunk-9w5tf22s.js +0 -1
- package/web/chunk-b985y17w.js +0 -2
- package/web/chunk-bz2v64xe.js +0 -1
- package/web/chunk-c3nn0vvc.js +0 -1
- package/web/chunk-cb2rxtq9.js +0 -2
- package/web/chunk-cm92fyr3.js +0 -2
- package/web/chunk-cwtn2kdm.js +0 -1
- package/web/chunk-d4z2rgpx.js +0 -1
- package/web/chunk-dpkyygej.js +0 -1
- package/web/chunk-et5ess72.js +0 -1
- package/web/chunk-ez8b6neq.js +0 -1
- package/web/chunk-f5txt81n.js +0 -2
- package/web/chunk-fd1kqwe3.js +0 -1
- package/web/chunk-fp48zz2e.js +0 -2
- package/web/chunk-fx0n2g22.js +0 -89
- package/web/chunk-g6k9z8zt.js +0 -1
- package/web/chunk-gsh80797.js +0 -41
- package/web/chunk-hs5x78fb.js +0 -1
- package/web/chunk-hyd5hzpa.js +0 -1
- package/web/chunk-hyt1nkaw.js +0 -1
- package/web/chunk-j6a4z530.js +0 -1139
- package/web/chunk-kegv14sg.js +0 -2
- package/web/chunk-kw9emsqw.js +0 -1
- package/web/chunk-m2prjwk3.js +0 -4
- package/web/chunk-m9bzz9m0.js +0 -19
- package/web/chunk-mqsyzzgt.js +0 -30
- package/web/chunk-nywdeb4m.js +0 -2
- package/web/chunk-pxkhm40r.js +0 -2
- package/web/chunk-q9ekgjh6.js +0 -62
- package/web/chunk-r3mj50zs.js +0 -1
- package/web/chunk-sc0ghp25.js +0 -24
- package/web/chunk-t74r2n8h.js +0 -1
- package/web/chunk-t9mvsgt9.js +0 -1
- package/web/chunk-vf4vkcf9.js +0 -24
- package/web/chunk-vnt34mkb.js +0 -1
- package/web/chunk-vtxw9rmr.js +0 -1
- package/web/chunk-x19v2sxv.js +0 -1
- package/web/chunk-y21zy3eh.js +0 -1
- package/web/chunk-ya3ghn3n.js +0 -2
- package/web/chunk-yd74yxzt.js +0 -8
- package/web/chunk-z4ha8181.js +0 -1
- package/web/chunk-z8rarqe6.js +0 -1
- package/web/chunk-zsxw5fj7.js +0 -39
package/web/chunk-3nbzj48p.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import{G}from"./chunk-ya3ghn3n.js";import{e,a,D,b,O,ht,C,S,E,T,A,R,L,l,p,V,Fi,Dn,nt,U,ze,Ie}from"./chunk-5v44qv67.js";import{X}from"./chunk-cktmyc13.js";import{ut,lr}from"./chunk-x5s7zr5f.js";import{Se,Te}from"./chunk-j6a4z530.js";var ft=Te(function(rt,st){(function(i,s){if(typeof rt==="object"&&typeof st==="object")st.exports=s(lr());else if(typeof define==="function"&&define.amd)define(["cose-base"],s);else if(typeof rt==="object")rt.cytoscapeFcose=s(lr());else i.cytoscapeFcose=s(i.coseBase)})(rt,function(t){return(()=>{var i={658:(N)=>{N.exports=Object.assign!=null?Object.assign.bind(Object):function(B){for(var v=arguments.length,I=Array(v>1?v-1:0),c=1;c<v;c++)I[c-1]=arguments[c];return I.forEach(function(y){Object.keys(y).forEach(function(d){return B[d]=y[d]})}),B}},548:(N,B,v)=>{var I=function(){function d(f,u){var g=[],r=!0,_=!1,F=void 0;try{for(var o=f[Symbol.iterator](),h;!(r=(h=o.next()).done);r=!0)if(g.push(h.value),u&&g.length===u)break}catch(k){_=!0,F=k}finally{try{if(!r&&o.return)o.return()}finally{if(_)throw F}}return g}return function(f,u){if(Array.isArray(f))return f;else if(Symbol.iterator in Object(f))return d(f,u);else throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),c=v(140).layoutBase.LinkedList,y={};y.getTopMostNodes=function(d){var f={};for(var u=0;u<d.length;u++)f[d[u].id()]=!0;var g=d.filter(function(r,_){if(typeof r==="number")r=_;var F=r.parent()[0];while(F!=null){if(f[F.id()])return!1;F=F.parent()[0]}return!0});return g},y.connectComponents=function(d,f,u,g){var r=new c,_=new Set,F=[],o=void 0,h=void 0,k=void 0,n=!1,P=1,j=[],M=[],q=function(){var x=d.collection();M.push(x);var H=u[0],Z=d.collection();Z.merge(H).merge(H.descendants().intersection(f)),F.push(H),Z.forEach(function(re){r.push(re),_.add(re),x.merge(re)});var Q=function(){H=r.shift();var ue=d.collection();H.neighborhood().nodes().forEach(function(W){if(f.intersection(H.edgesWith(W)).length>0)ue.merge(W)});for(var Le=0;Le<ue.length;Le++){var $e=ue[Le];if(o=u.intersection($e.union($e.ancestors())),o!=null&&!_.has(o[0])){var de=o.union(o.descendants());de.forEach(function(W){if(r.push(W),_.add(W),x.merge(W),u.has(W))F.push(W)})}}};while(r.length!=0)Q();if(x.forEach(function(re){f.intersection(re.connectedEdges()).forEach(function(ue){if(x.has(ue.source())&&x.has(ue.target()))x.merge(ue)})}),F.length==u.length)n=!0;if(!n||n&&P>1){h=F[0],k=h.connectedEdges().length,F.forEach(function(re){if(re.connectedEdges().length<k)k=re.connectedEdges().length,h=re}),j.push(h.id());var se=d.collection();se.merge(F[0]),F.forEach(function(re){se.merge(re)}),F=[],u=u.difference(se),P++}};do q();while(!n);if(g){if(j.length>0)g.set("dummy"+(g.size+1),j)}return M},y.relocateComponent=function(d,f,u){if(!u.fixedNodeConstraint){var{POSITIVE_INFINITY:g,NEGATIVE_INFINITY:r,POSITIVE_INFINITY:_,NEGATIVE_INFINITY:F}=Number;if(u.quality=="draft"){var o=!0,h=!1,k=void 0;try{for(var n=f.nodeIndexes[Symbol.iterator](),P;!(o=(P=n.next()).done);o=!0){var j=P.value,M=I(j,2),q=M[0],Y=M[1],x=u.cy.getElementById(q);if(x){var H=x.boundingBox(),Z=f.xCoords[Y]-H.w/2,Q=f.xCoords[Y]+H.w/2,se=f.yCoords[Y]-H.h/2,re=f.yCoords[Y]+H.h/2;if(Z<g)g=Z;if(Q>r)r=Q;if(se<_)_=se;if(re>F)F=re}}}catch(W){h=!0,k=W}finally{try{if(!o&&n.return)n.return()}finally{if(h)throw k}}var ue=d.x-(r+g)/2,Le=d.y-(F+_)/2;f.xCoords=f.xCoords.map(function(W){return W+ue}),f.yCoords=f.yCoords.map(function(W){return W+Le})}else{Object.keys(f).forEach(function(W){var oe=f[W],Ne=oe.getRect().x,ke=oe.getRect().x+oe.getRect().width,De=oe.getRect().y,xe=oe.getRect().y+oe.getRect().height;if(Ne<g)g=Ne;if(ke>r)r=ke;if(De<_)_=De;if(xe>F)F=xe});var $e=d.x-(r+g)/2,de=d.y-(F+_)/2;Object.keys(f).forEach(function(W){var oe=f[W];oe.setCenter(oe.getCenterX()+$e,oe.getCenterY()+de)})}}},y.calcBoundingBox=function(d,f,u,g){var{MAX_SAFE_INTEGER:r,MIN_SAFE_INTEGER:_,MAX_SAFE_INTEGER:F,MIN_SAFE_INTEGER:o}=Number,h=void 0,k=void 0,n=void 0,P=void 0,j=d.descendants().not(":parent"),M=j.length;for(var q=0;q<M;q++){var Y=j[q];if(h=f[g.get(Y.id())]-Y.width()/2,k=f[g.get(Y.id())]+Y.width()/2,n=u[g.get(Y.id())]-Y.height()/2,P=u[g.get(Y.id())]+Y.height()/2,r>h)r=h;if(_<k)_=k;if(F>n)F=n;if(o<P)o=P}var x={};return x.topLeftX=r,x.topLeftY=F,x.width=_-r,x.height=o-F,x},y.calcParentsWithoutChildren=function(d,f){var u=d.collection();return f.nodes(":parent").forEach(function(g){var r=!1;if(g.children().forEach(function(_){if(_.css("display")!="none")r=!0}),!r)u.merge(g)}),u},N.exports=y},816:(N,B,v)=>{var I=v(548),c=v(140).CoSELayout,y=v(140).CoSENode,d=v(140).layoutBase.PointD,f=v(140).layoutBase.DimensionD,u=v(140).layoutBase.LayoutConstants,g=v(140).layoutBase.FDLayoutConstants,r=v(140).CoSEConstants,_=function(o,h){var{cy:k,eles:n}=o,P=n.nodes(),j=n.edges(),M=void 0,q=void 0,Y=void 0,x={};if(o.randomize)M=h.nodeIndexes,q=h.xCoords,Y=h.yCoords;var H=function(W){return typeof W==="function"},Z=function(W,oe){if(H(W))return W(oe);else return W},Q=I.calcParentsWithoutChildren(k,n),se=function de(W,oe,Ne,ke){var De=oe.length;for(var xe=0;xe<De;xe++){var J=oe[xe],Ae=null;if(J.intersection(Q).length==0)Ae=J.children();var ie=void 0,ve=J.layoutDimensions({nodeDimensionsIncludeLabels:ke.nodeDimensionsIncludeLabels});if(J.outerWidth()!=null&&J.outerHeight()!=null)if(ke.randomize)if(!J.isParent())ie=W.add(new y(Ne.graphManager,new d(q[M.get(J.id())]-ve.w/2,Y[M.get(J.id())]-ve.h/2),new f(parseFloat(ve.w),parseFloat(ve.h))));else{var Me=I.calcBoundingBox(J,q,Y,M);if(J.intersection(Q).length==0)ie=W.add(new y(Ne.graphManager,new d(Me.topLeftX,Me.topLeftY),new f(Me.width,Me.height)));else ie=W.add(new y(Ne.graphManager,new d(Me.topLeftX,Me.topLeftY),new f(parseFloat(ve.w),parseFloat(ve.h))))}else ie=W.add(new y(Ne.graphManager,new d(J.position("x")-ve.w/2,J.position("y")-ve.h/2),new f(parseFloat(ve.w),parseFloat(ve.h))));else ie=W.add(new y(this.graphManager));if(ie.id=J.data("id"),ie.nodeRepulsion=Z(ke.nodeRepulsion,J),ie.paddingLeft=parseInt(J.css("padding")),ie.paddingTop=parseInt(J.css("padding")),ie.paddingRight=parseInt(J.css("padding")),ie.paddingBottom=parseInt(J.css("padding")),ke.nodeDimensionsIncludeLabels)ie.labelWidth=J.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,ie.labelHeight=J.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,ie.labelPosVertical=J.css("text-valign"),ie.labelPosHorizontal=J.css("text-halign");if(x[J.data("id")]=ie,isNaN(ie.rect.x))ie.rect.x=0;if(isNaN(ie.rect.y))ie.rect.y=0;if(Ae!=null&&Ae.length>0){var Ge=void 0;Ge=Ne.getGraphManager().add(Ne.newGraph(),ie),de(Ge,Ae,Ne,ke)}}},re=function(W,oe,Ne){var ke=0,De=0;for(var xe=0;xe<Ne.length;xe++){var J=Ne[xe],Ae=x[J.data("source")],ie=x[J.data("target")];if(Ae&&ie&&Ae!==ie&&Ae.getEdgesBetween(ie).length==0){var ve=oe.add(W.newEdge(),Ae,ie);ve.id=J.id(),ve.idealLength=Z(o.idealEdgeLength,J),ve.edgeElasticity=Z(o.edgeElasticity,J),ke+=ve.idealLength,De++}}if(o.idealEdgeLength!=null){if(De>0)r.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=ke/De;else if(!H(o.idealEdgeLength))r.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=o.idealEdgeLength;else r.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50;r.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,r.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH}},ue=function(W,oe){if(oe.fixedNodeConstraint)W.constraints.fixedNodeConstraint=oe.fixedNodeConstraint;if(oe.alignmentConstraint)W.constraints.alignmentConstraint=oe.alignmentConstraint;if(oe.relativePlacementConstraint)W.constraints.relativePlacementConstraint=oe.relativePlacementConstraint};if(o.nestingFactor!=null)r.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=o.nestingFactor;if(o.gravity!=null)r.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=o.gravity;if(o.numIter!=null)r.MAX_ITERATIONS=g.MAX_ITERATIONS=o.numIter;if(o.gravityRange!=null)r.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=o.gravityRange;if(o.gravityCompound!=null)r.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=o.gravityCompound;if(o.gravityRangeCompound!=null)r.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=o.gravityRangeCompound;if(o.initialEnergyOnIncremental!=null)r.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=o.initialEnergyOnIncremental;if(o.tilingCompareBy!=null)r.TILING_COMPARE_BY=o.tilingCompareBy;if(o.quality=="proof")u.QUALITY=2;else u.QUALITY=0;if(r.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=u.NODE_DIMENSIONS_INCLUDE_LABELS=o.nodeDimensionsIncludeLabels,r.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=!o.randomize,r.ANIMATE=g.ANIMATE=u.ANIMATE=o.animate,r.TILE=o.tile,r.TILING_PADDING_VERTICAL=typeof o.tilingPaddingVertical==="function"?o.tilingPaddingVertical.call():o.tilingPaddingVertical,r.TILING_PADDING_HORIZONTAL=typeof o.tilingPaddingHorizontal==="function"?o.tilingPaddingHorizontal.call():o.tilingPaddingHorizontal,r.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=u.DEFAULT_INCREMENTAL=!0,r.PURE_INCREMENTAL=!o.randomize,u.DEFAULT_UNIFORM_LEAF_NODE_SIZES=o.uniformNodeDimensions,o.step=="transformed")r.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,r.ENFORCE_CONSTRAINTS=!1,r.APPLY_LAYOUT=!1;if(o.step=="enforced")r.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,r.ENFORCE_CONSTRAINTS=!0,r.APPLY_LAYOUT=!1;if(o.step=="cose")r.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,r.ENFORCE_CONSTRAINTS=!1,r.APPLY_LAYOUT=!0;if(o.step=="all"){if(o.randomize)r.TRANSFORM_ON_CONSTRAINT_HANDLING=!0;else r.TRANSFORM_ON_CONSTRAINT_HANDLING=!1;r.ENFORCE_CONSTRAINTS=!0,r.APPLY_LAYOUT=!0}if(o.fixedNodeConstraint||o.alignmentConstraint||o.relativePlacementConstraint)r.TREE_REDUCTION_ON_INCREMENTAL=!1;else r.TREE_REDUCTION_ON_INCREMENTAL=!0;var Le=new c,$e=Le.newGraphManager();return se($e.addRoot(),I.getTopMostNodes(P),Le,o),re(Le,$e,j),ue(Le,o),Le.runLayout(),x};N.exports={coseLayout:_}},212:(N,B,v)=>{var I=function(){function o(h,k){for(var n=0;n<k.length;n++){var P=k[n];if(P.enumerable=P.enumerable||!1,P.configurable=!0,"value"in P)P.writable=!0;Object.defineProperty(h,P.key,P)}}return function(h,k,n){if(k)o(h.prototype,k);if(n)o(h,n);return h}}();function c(o,h){if(!(o instanceof h))throw TypeError("Cannot call a class as a function")}var y=v(658),d=v(548),f=v(657),u=f.spectralLayout,g=v(816),r=g.coseLayout,_=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1000,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:0.0000001,nodeRepulsion:function(h){return 4500},idealEdgeLength:function(h){return 50},edgeElasticity:function(h){return 0.45},nestingFactor:0.1,gravity:0.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:0.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),F=function(){function o(h){c(this,o),this.options=y({},_,h)}return I(o,[{key:"run",value:function(){var k=this,n=this.options,{cy:P,eles:j}=n,M=[],q=void 0,Y=void 0,x=[],H=void 0,Z=[];if(n.fixedNodeConstraint&&(!Array.isArray(n.fixedNodeConstraint)||n.fixedNodeConstraint.length==0))n.fixedNodeConstraint=void 0;if(n.alignmentConstraint){if(n.alignmentConstraint.vertical&&(!Array.isArray(n.alignmentConstraint.vertical)||n.alignmentConstraint.vertical.length==0))n.alignmentConstraint.vertical=void 0;if(n.alignmentConstraint.horizontal&&(!Array.isArray(n.alignmentConstraint.horizontal)||n.alignmentConstraint.horizontal.length==0))n.alignmentConstraint.horizontal=void 0}if(n.relativePlacementConstraint&&(!Array.isArray(n.relativePlacementConstraint)||n.relativePlacementConstraint.length==0))n.relativePlacementConstraint=void 0;var Q=n.fixedNodeConstraint||n.alignmentConstraint||n.relativePlacementConstraint;if(Q)n.tile=!1,n.packComponents=!1;var se=void 0,re=!1;if(P.layoutUtilities&&n.packComponents){if(se=P.layoutUtilities("get"),!se)se=P.layoutUtilities();re=!0}if(j.nodes().length>0)if(!re){var ue=n.eles.boundingBox();if(Z.push({x:ue.x1+ue.w/2,y:ue.y1+ue.h/2}),n.randomize){var Le=u(n);M.push(Le)}if(n.quality=="default"||n.quality=="proof")x.push(r(n,M[0])),d.relocateComponent(Z[0],x[0],n);else d.relocateComponent(Z[0],M[0],n)}else{var $e=d.getTopMostNodes(n.eles.nodes());if(H=d.connectComponents(P,n.eles,$e),H.forEach(function(K){var z=K.boundingBox();Z.push({x:z.x1+z.w/2,y:z.y1+z.h/2})}),n.randomize)H.forEach(function(K){n.eles=K,M.push(u(n))});if(n.quality=="default"||n.quality=="proof"){var de=P.collection();if(n.tile){var W=new Map,oe=[],Ne=[],ke=0,De={nodeIndexes:W,xCoords:oe,yCoords:Ne},xe=[];if(H.forEach(function(K,z){if(K.edges().length==0)K.nodes().forEach(function(pe,le){if(de.merge(K.nodes()[le]),!pe.isParent())De.nodeIndexes.set(K.nodes()[le].id(),ke++),De.xCoords.push(K.nodes()[0].position().x),De.yCoords.push(K.nodes()[0].position().y)}),xe.push(z)}),de.length>1){var J=de.boundingBox();Z.push({x:J.x1+J.w/2,y:J.y1+J.h/2}),H.push(de),M.push(De);for(var Ae=xe.length-1;Ae>=0;Ae--)H.splice(xe[Ae],1),M.splice(xe[Ae],1),Z.splice(xe[Ae],1)}}H.forEach(function(K,z){n.eles=K,x.push(r(n,M[z])),d.relocateComponent(Z[z],x[z],n)})}else H.forEach(function(K,z){d.relocateComponent(Z[z],M[z],n)});var ie=new Set;if(H.length>1){var ve=[],Me=j.filter(function(K){return K.css("display")=="none"});H.forEach(function(K,z){var pe=void 0;if(n.quality=="draft")pe=M[z].nodeIndexes;if(K.nodes().not(Me).length>0){var le={};le.edges=[],le.nodes=[];var me=void 0;if(K.nodes().not(Me).forEach(function(fe){if(n.quality=="draft")if(!fe.isParent())me=pe.get(fe.id()),le.nodes.push({x:M[z].xCoords[me]-fe.boundingbox().w/2,y:M[z].yCoords[me]-fe.boundingbox().h/2,width:fe.boundingbox().w,height:fe.boundingbox().h});else{var he=d.calcBoundingBox(fe,M[z].xCoords,M[z].yCoords,pe);le.nodes.push({x:he.topLeftX,y:he.topLeftY,width:he.width,height:he.height})}else if(x[z][fe.id()])le.nodes.push({x:x[z][fe.id()].getLeft(),y:x[z][fe.id()].getTop(),width:x[z][fe.id()].getWidth(),height:x[z][fe.id()].getHeight()})}),K.edges().forEach(function(fe){var he=fe.source(),Ee=fe.target();if(he.css("display")!="none"&&Ee.css("display")!="none"){if(n.quality=="draft"){var Be=pe.get(he.id()),et=pe.get(Ee.id()),Pe=[],Ye=[];if(he.isParent()){var We=d.calcBoundingBox(he,M[z].xCoords,M[z].yCoords,pe);Pe.push(We.topLeftX+We.width/2),Pe.push(We.topLeftY+We.height/2)}else Pe.push(M[z].xCoords[Be]),Pe.push(M[z].yCoords[Be]);if(Ee.isParent()){var Je=d.calcBoundingBox(Ee,M[z].xCoords,M[z].yCoords,pe);Ye.push(Je.topLeftX+Je.width/2),Ye.push(Je.topLeftY+Je.height/2)}else Ye.push(M[z].xCoords[et]),Ye.push(M[z].yCoords[et]);le.edges.push({startX:Pe[0],startY:Pe[1],endX:Ye[0],endY:Ye[1]})}else if(x[z][he.id()]&&x[z][Ee.id()])le.edges.push({startX:x[z][he.id()].getCenterX(),startY:x[z][he.id()].getCenterY(),endX:x[z][Ee.id()].getCenterX(),endY:x[z][Ee.id()].getCenterY()})}}),le.nodes.length>0)ve.push(le),ie.add(z)}});var Ge=se.packComponents(ve,n.randomize).shifts;if(n.quality=="draft")M.forEach(function(K,z){var pe=K.xCoords.map(function(me){return me+Ge[z].dx}),le=K.yCoords.map(function(me){return me+Ge[z].dy});K.xCoords=pe,K.yCoords=le});else{var Ke=0;ie.forEach(function(K){Object.keys(x[K]).forEach(function(z){var pe=x[K][z];pe.setCenter(pe.getCenterX()+Ge[Ke].dx,pe.getCenterY()+Ge[Ke].dy)}),Ke++})}}}var je=function(z,pe){if(n.quality=="default"||n.quality=="proof"){if(typeof z==="number")z=pe;var le=void 0,me=void 0,fe=z.data("id");if(x.forEach(function(Ee){if(fe in Ee)le={x:Ee[fe].getRect().getCenterX(),y:Ee[fe].getRect().getCenterY()},me=Ee[fe]}),n.nodeDimensionsIncludeLabels){if(me.labelWidth){if(me.labelPosHorizontal=="left")le.x+=me.labelWidth/2;else if(me.labelPosHorizontal=="right")le.x-=me.labelWidth/2}if(me.labelHeight){if(me.labelPosVertical=="top")le.y+=me.labelHeight/2;else if(me.labelPosVertical=="bottom")le.y-=me.labelHeight/2}}if(le==null)le={x:z.position("x"),y:z.position("y")};return{x:le.x,y:le.y}}else{var he=void 0;if(M.forEach(function(Ee){var Be=Ee.nodeIndexes.get(z.id());if(Be!=null)he={x:Ee.xCoords[Be],y:Ee.yCoords[Be]}}),he==null)he={x:z.position("x"),y:z.position("y")};return{x:he.x,y:he.y}}};if(n.quality=="default"||n.quality=="proof"||n.randomize){var at=d.calcParentsWithoutChildren(P,j),qe=j.filter(function(K){return K.css("display")=="none"});if(n.eles=j.not(qe),j.nodes().not(":parent").not(qe).layoutPositions(k,n,je),at.length>0)at.forEach(function(K){K.position(je(K))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),o}();N.exports=F},657:(N,B,v)=>{var I=v(548),c=v(140).layoutBase.Matrix,y=v(140).layoutBase.SVD,d=function(u){var{cy:g,eles:r}=u,_=r.nodes(),F=r.nodes(":parent"),o=new Map,h=new Map,k=new Map,n=[],P=[],j=[],M=[],q=[],Y=[],x=[],H=[],Z=void 0,Q=void 0,se=1e8,re=0.000000001,{piTol:ue,samplingType:Le,nodeSeparation:$e}=u,de=void 0,W=function(){var ee=0,te=0,ne=!1;while(te<de){ee=Math.floor(Math.random()*Q),ne=!1;for(var ae=0;ae<te;ae++)if(M[ae]==ee){ne=!0;break}if(!ne)M[te]=ee,te++;else continue}},oe=function(ee,te,ne){var ae=[],we=0,ge=0,ce=0,Ce=void 0,be=[],Fe=0,_e=1;for(var Ue=0;Ue<Q;Ue++)be[Ue]=se;ae[ge]=ee,be[ee]=0;while(ge>=we){ce=ae[we++];var Xe=n[ce];for(var He=0;He<Xe.length;He++)if(Ce=h.get(Xe[He]),be[Ce]==se)be[Ce]=be[ce]+1,ae[++ge]=Ce;Y[ce][te]=be[ce]*$e}if(ne){for(var Oe=0;Oe<Q;Oe++)if(Y[Oe][te]<q[Oe])q[Oe]=Y[Oe][te];for(var tt=0;tt<Q;tt++)if(q[tt]>Fe)Fe=q[tt],_e=tt}return _e},Ne=function(ee){var te=void 0;if(!ee){W();for(var ne=0;ne<de;ne++)oe(M[ne],ne,ee,!1)}else{te=Math.floor(Math.random()*Q),Z=te;for(var ae=0;ae<Q;ae++)q[ae]=se;for(var we=0;we<de;we++)M[we]=te,te=oe(te,we,ee)}for(var ge=0;ge<Q;ge++)for(var ce=0;ce<de;ce++)Y[ge][ce]*=Y[ge][ce];for(var Ce=0;Ce<de;Ce++)x[Ce]=[];for(var be=0;be<de;be++)for(var Fe=0;Fe<de;Fe++)x[be][Fe]=Y[M[Fe]][be]},ke=function(){var ee=y.svd(x),{S:te,U:ne,V:ae}=ee,we=te[0]*te[0]*te[0],ge=[];for(var ce=0;ce<de;ce++){ge[ce]=[];for(var Ce=0;Ce<de;Ce++)if(ge[ce][Ce]=0,ce==Ce)ge[ce][Ce]=te[ce]/(te[ce]*te[ce]+we/(te[ce]*te[ce]))}H=c.multMat(c.multMat(ae,ge),c.transpose(ne))},De=function(){var ee=void 0,te=void 0,ne=[],ae=[],we=[],ge=[];for(var ce=0;ce<Q;ce++)ne[ce]=Math.random(),ae[ce]=Math.random();ne=c.normalize(ne),ae=c.normalize(ae);var Ce=0,be=re,Fe=re,_e=void 0;while(!0){Ce++;for(var Ue=0;Ue<Q;Ue++)we[Ue]=ne[Ue];if(ne=c.multGamma(c.multL(c.multGamma(we),Y,H)),ee=c.dotProduct(we,ne),ne=c.normalize(ne),be=c.dotProduct(we,ne),_e=Math.abs(be/Fe),_e<=1+ue&&_e>=1)break;Fe=be}for(var Xe=0;Xe<Q;Xe++)we[Xe]=ne[Xe];Ce=0,Fe=re;while(!0){Ce++;for(var He=0;He<Q;He++)ge[He]=ae[He];if(ge=c.minusOp(ge,c.multCons(we,c.dotProduct(we,ge))),ae=c.multGamma(c.multL(c.multGamma(ge),Y,H)),te=c.dotProduct(ge,ae),ae=c.normalize(ae),be=c.dotProduct(ge,ae),_e=Math.abs(be/Fe),_e<=1+ue&&_e>=1)break;Fe=be}for(var Oe=0;Oe<Q;Oe++)ge[Oe]=ae[Oe];P=c.multCons(we,Math.sqrt(Math.abs(ee))),j=c.multCons(ge,Math.sqrt(Math.abs(te)))};I.connectComponents(g,r,I.getTopMostNodes(_),o),F.forEach(function(ye){I.connectComponents(g,r,I.getTopMostNodes(ye.descendants().intersection(r)),o)});var xe=0;for(var J=0;J<_.length;J++)if(!_[J].isParent())h.set(_[J].id(),xe++);var Ae=!0,ie=!1,ve=void 0;try{for(var Me=o.keys()[Symbol.iterator](),Ge;!(Ae=(Ge=Me.next()).done);Ae=!0){var Ke=Ge.value;h.set(Ke,xe++)}}catch(ye){ie=!0,ve=ye}finally{try{if(!Ae&&Me.return)Me.return()}finally{if(ie)throw ve}}for(var je=0;je<h.size;je++)n[je]=[];F.forEach(function(ye){var ee=ye.children().intersection(r);while(ee.nodes(":childless").length==0)ee=ee.nodes()[0].children().intersection(r);var te=0,ne=ee.nodes(":childless")[0].connectedEdges().length;ee.nodes(":childless").forEach(function(ae,we){if(ae.connectedEdges().length<ne)ne=ae.connectedEdges().length,te=we}),k.set(ye.id(),ee.nodes(":childless")[te].id())}),_.forEach(function(ye){var ee=void 0;if(ye.isParent())ee=h.get(k.get(ye.id()));else ee=h.get(ye.id());ye.neighborhood().nodes().forEach(function(te){if(r.intersection(ye.edgesWith(te)).length>0)if(te.isParent())n[ee].push(k.get(te.id()));else n[ee].push(te.id())})});var at=function(ee){var te=h.get(ee),ne=void 0;o.get(ee).forEach(function(ae){if(g.getElementById(ae).isParent())ne=k.get(ae);else ne=ae;n[te].push(ne),n[h.get(ne)].push(ee)})},qe=!0,K=!1,z=void 0;try{for(var pe=o.keys()[Symbol.iterator](),le;!(qe=(le=pe.next()).done);qe=!0){var me=le.value;at(me)}}catch(ye){K=!0,z=ye}finally{try{if(!qe&&pe.return)pe.return()}finally{if(K)throw z}}Q=h.size;var fe=void 0;if(Q>2){de=Q<u.sampleSize?Q:u.sampleSize;for(var he=0;he<Q;he++)Y[he]=[];for(var Ee=0;Ee<de;Ee++)H[Ee]=[];if(u.quality=="draft"||u.step=="all")Ne(Le),ke(),De(),fe={nodeIndexes:h,xCoords:P,yCoords:j};else h.forEach(function(ye,ee){P.push(g.getElementById(ee).position("x")),j.push(g.getElementById(ee).position("y"))}),fe={nodeIndexes:h,xCoords:P,yCoords:j};return fe}else{var Be=h.keys(),et=g.getElementById(Be.next().value),Pe=et.position(),Ye=et.outerWidth();if(P.push(Pe.x),j.push(Pe.y),Q==2){var We=g.getElementById(Be.next().value),Je=We.outerWidth();P.push(Pe.x+Ye/2+Je/2+u.idealEdgeLength),j.push(Pe.y)}return fe={nodeIndexes:h,xCoords:P,yCoords:j},fe}};N.exports={spectralLayout:d}},579:(N,B,v)=>{var I=v(212),c=function(d){if(!d)return;d("layout","fcose",I)};if(typeof cytoscape<"u")c(cytoscape);N.exports=c},140:(N)=>{N.exports=t}},s={};function w(N){var B=s[N];if(B!==void 0)return B.exports;var v=s[N]={exports:{}};return i[N](v,v.exports,w),v.exports}var m=w(579);return m})()})});var xt=Se(ft(),1);var gt={L:"left",R:"right",T:"top",B:"bottom"},vt={L:e((t)=>`${t},${t/2} 0,${t} 0,0`,"L"),R:e((t)=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:e((t)=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:e((t)=>`${t/2},0 ${t},${t} 0,${t}`,"B")},ot={L:e((t,i)=>t-i+2,"L"),R:e((t,i)=>t-2,"R"),T:e((t,i)=>t-i+2,"T"),B:e((t,i)=>t-2,"B")},kt=e(function(t){if(Re(t))return t==="L"?"R":"L";else return t==="T"?"B":"T"},"getOppositeArchitectureDirection"),pt=e(function(t){let i=t;return i==="L"||i==="R"||i==="T"||i==="B"},"isArchitectureDirection"),Re=e(function(t){let i=t;return i==="L"||i==="R"},"isArchitectureDirectionX"),Ve=e(function(t){let i=t;return i==="T"||i==="B"},"isArchitectureDirectionY"),dt=e(function(t,i){let s=Re(t)&&Ve(i),w=Ve(t)&&Re(i);return s||w},"isArchitectureDirectionXY"),Dt=e(function(t){let i=t[0],s=t[1],w=Re(i)&&Ve(s),m=Ve(i)&&Re(s);return w||m},"isArchitecturePairXY"),Rt=e(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),lt=e(function(t,i){let s=`${t}${i}`;return Rt(s)?s:void 0},"getArchitectureDirectionPair"),Mt=e(function([t,i],s){let w=s[0],m=s[1];if(Re(w))if(Ve(m))return[t+(w==="L"?-1:1),i+(m==="T"?1:-1)];else return[t+(w==="L"?-1:1),i];else if(Re(m))return[t+(m==="L"?1:-1),i+(w==="T"?1:-1)];else return[t,i+(w==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Ft=e(function(t){if(t==="LT"||t==="TL")return[1,1];else if(t==="BL"||t==="LB")return[1,-1];else if(t==="BR"||t==="RB")return[-1,-1];else return[-1,1]},"getArchitectureDirectionXYFactors"),$t=e(function(t,i){if(dt(t,i))return"bend";else if(Re(t))return"horizontal";return"vertical"},"getArchitectureDirectionAlignment"),Pt=e(function(t){return t.type==="service"},"isArchitectureService"),Ot=e(function(t){return t.type==="junction"},"isArchitectureJunction"),mt=e((t,i)=>{let[s,w]=[t,i].sort();return`${JSON.stringify(s)}-${JSON.stringify(w)}`},"architectureGroupAlignmentKey"),yt=e((t)=>t.data(),"edgeData"),Qe=e((t)=>t.data(),"nodeData"),Gt=D.architecture,Et=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=S,this.getAccTitle=E,this.setDiagramTitle=R,this.getDiagramTitle=L,this.getAccDescription=A,this.setAccDescription=T,this.clear()}static{e(this,"ArchitectureDB")}setDiagramId(t){this.diagramId=t}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",C()}addService({id:t,icon:i,in:s,title:w,iconText:m}){if(this.registeredIds.has(t))throw Error(`The service id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(s!==void 0){if(t===s)throw Error(`The service [${t}] cannot be placed within itself`);if(!this.registeredIds.has(s))throw Error(`The service [${t}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(s)==="node")throw Error(`The service [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"service",icon:i,iconText:m,title:w,edges:[],in:s})}getServices(){return[...this.nodes.values()].filter(Pt)}addJunction({id:t,in:i}){if(this.registeredIds.has(t))throw Error(`The junction id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(i!==void 0){if(t===i)throw Error(`The junction [${t}] cannot be placed within itself`);if(!this.registeredIds.has(i))throw Error(`The junction [${t}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(i)==="node")throw Error(`The junction [${t}]'s parent is not a group`)}this.registeredIds.set(t,"node"),this.nodes.set(t,{id:t,type:"junction",edges:[],in:i})}getJunctions(){return[...this.nodes.values()].filter(Ot)}getNodes(){return[...this.nodes.values()]}getNode(t){return this.nodes.get(t)??null}addGroup({id:t,icon:i,in:s,title:w}){if(this.registeredIds.has(t))throw Error(`The group id [${t}] is already in use by another ${this.registeredIds.get(t)}`);if(s!==void 0){if(t===s)throw Error(`The group [${t}] cannot be placed within itself`);if(!this.registeredIds.has(s))throw Error(`The group [${t}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(s)==="node")throw Error(`The group [${t}]'s parent is not a group`)}this.registeredIds.set(t,"group"),this.groups.set(t,{id:t,icon:i,title:w,in:s})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:t,rhsId:i,lhsDir:s,rhsDir:w,lhsInto:m,rhsInto:N,lhsGroup:B,rhsGroup:v,title:I}){if(!pt(s))throw Error(`Invalid direction given for left hand side of edge ${t}--${i}. Expected (L,R,T,B) got ${String(s)}`);if(!pt(w))throw Error(`Invalid direction given for right hand side of edge ${t}--${i}. Expected (L,R,T,B) got ${String(w)}`);if(!this.nodes.has(t)&&!this.groups.has(t))throw Error(`The left-hand id [${t}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(i)&&!this.groups.has(i))throw Error(`The right-hand id [${i}] does not yet exist. Please create the service/group before declaring an edge to it.`);let c=this.nodes.get(t).in,y=this.nodes.get(i).in;if(B&&c&&y&&c==y)throw Error(`The left-hand id [${t}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(v&&c&&y&&c==y)throw Error(`The right-hand id [${i}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let d={lhsId:t,lhsDir:s,lhsInto:m,lhsGroup:B,rhsId:i,rhsDir:w,rhsInto:N,rhsGroup:v,title:I};this.edges.push(d);let f=this.nodes.get(t),u=this.nodes.get(i);if(f&&u)f.edges.push(this.edges[this.edges.length-1]),u.edges.push(this.edges[this.edges.length-1])}getEdges(){return this.edges}addLayoutHint(t){if(t.members.length<2)throw Error(`An align directive requires at least two members; got ${t.members.length}`);let i=new Set;t.members.forEach((s)=>{if(this.registeredIds.get(s)!=="node")throw Error(`align ${t.direction} references [${s}], which is not a service or junction`);if(i.has(s))throw Error(`align ${t.direction} lists [${s}] more than once`);i.add(s)}),this.layoutHints.push(t)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(this.dataStructures===void 0){let t=new Map,i=new Map;for(let[B,v]of this.nodes.entries()){let I=new Map;for(let c of v.edges){let y=this.getNode(c.lhsId)?.in,d=this.getNode(c.rhsId)?.in;if(y&&d&&y!==d){let f=$t(c.lhsDir,c.rhsDir);if(f!=="bend")t.set(mt(y,d),f)}if(c.lhsId===B){let f=lt(c.lhsDir,c.rhsDir);if(f)I.set(f,c.rhsId)}else{let f=lt(c.rhsDir,c.lhsDir);if(f)I.set(f,c.lhsId)}}i.set(B,I)}let s=new Set,w=new Set(i.keys()),m=e((B)=>{let v=new Map([[B,[0,0]]]),I=[B];while(I.length>0){let c=I.shift();if(c){s.add(c),w.delete(c);let y=i.get(c);if(!y)throw Error(`BFS error: adjacency list for id ${c} not found. Please report this as a bug.`);let d=v.get(c);if(!d)throw Error(`BFS error: position for id ${c} not found in spatial map. Please report this as a bug.`);let[f,u]=d;y.forEach((g,r)=>{if(!s.has(g))v.set(g,Mt([f,u],r)),I.push(g)})}}return v},"BFS"),N=[];while(w.size>0){let B=w.values().next().value;N.push(m(B))}this.dataStructures={adjList:i,spatialMaps:N,groupAlignments:t}}return this.dataStructures}setElementForId(t,i){this.elements.set(t,i)}getElementById(t){return this.elements.get(t)}getConfig(){return U({...Gt,...b().architecture})}getConfigField(t){return this.getConfig()[t]}},zt=e((t,i)=>{G(t,i),t.groups.map((s)=>i.addGroup(s)),t.services.map((s)=>i.addService({...s,type:"service"})),t.junctions.map((s)=>i.addJunction({...s,type:"junction"})),t.edges.map((s)=>i.addEdge(s)),t.alignments?.map((s)=>i.addLayoutHint({direction:s.direction,members:[...s.members]}))},"populateDb"),wt={parser:{yy:void 0},parse:e(async(t)=>{let i=await X("architecture",t);a.debug(i);let s=wt.parser?.yy;if(!(s instanceof Et))throw Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");zt(i,s)},"parse")},Bt=e((t)=>`
|
|
2
|
-
.edge {
|
|
3
|
-
stroke-width: ${t.archEdgeWidth};
|
|
4
|
-
stroke: ${t.archEdgeColor};
|
|
5
|
-
fill: none;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
.arrow {
|
|
9
|
-
fill: ${t.archEdgeArrowColor};
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.node-bkg {
|
|
13
|
-
fill: none;
|
|
14
|
-
stroke: ${t.archGroupBorderColor};
|
|
15
|
-
stroke-width: ${t.archGroupBorderWidth};
|
|
16
|
-
stroke-dasharray: 8;
|
|
17
|
-
}
|
|
18
|
-
.node-icon-text {
|
|
19
|
-
display: flex;
|
|
20
|
-
align-items: center;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.node-icon-text > div {
|
|
24
|
-
color: #fff;
|
|
25
|
-
margin: 1px;
|
|
26
|
-
height: fit-content;
|
|
27
|
-
text-align: center;
|
|
28
|
-
overflow: hidden;
|
|
29
|
-
display: -webkit-box;
|
|
30
|
-
-webkit-box-orient: vertical;
|
|
31
|
-
}
|
|
32
|
-
`,"getStyles"),_t=Bt;function ct(t,i){if(t===0)return i();let s=Math.random,w=t>>>0;Math.random=function(){w=w+1831565813>>>0;let m=w;return m=Math.imul(m^m>>>15,m|1),m^=m+Math.imul(m^m>>>7,m|61),((m^m>>>14)>>>0)/4294967296};try{return i()}finally{Math.random=s}}e(ct,"withSeededRandom");var Ze=e((t)=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),it={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Ze('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Ze('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Ze('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Ze('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Ze('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:Fi,blank:{body:Ze("")}}},Yt=e(async function(t,i,s,w){let m=s.getConfigField("padding"),N=s.getConfigField("iconSize"),B=N/2,v=N/6,I=v/2;await Promise.all(i.edges().map(async(c)=>{let{source:y,sourceDir:d,sourceArrow:f,sourceGroup:u,target:g,targetDir:r,targetArrow:_,targetGroup:F,label:o}=yt(c),{x:h,y:k}=c[0].sourceEndpoint(),{x:n,y:P}=c[0].midpoint(),{x:j,y:M}=c[0].targetEndpoint(),q=m+4;if(u)if(Re(d))h+=d==="L"?-q:q;else k+=d==="T"?-q:q+18;if(F)if(Re(r))j+=r==="L"?-q:q;else M+=r==="T"?-q:q+18;if(!u&&s.getNode(y)?.type==="junction")if(Re(d))h+=d==="L"?B:-B;else k+=d==="T"?B:-B;if(!F&&s.getNode(g)?.type==="junction")if(Re(r))j+=r==="L"?B:-B;else M+=r==="T"?B:-B;if(c[0]._private.rscratch){let Y=t.insert("g");if(Y.insert("path").attr("d",`M ${h},${k} L ${n},${P} L${j},${M} `).attr("class","edge").attr("id",`${w}-${ze(y,g,{prefix:"L"})}`),f){let x=Re(d)?ot[d](h,v):h-I,H=Ve(d)?ot[d](k,v):k-I;Y.insert("polygon").attr("points",vt[d](v)).attr("transform",`translate(${x},${H})`).attr("class","arrow")}if(_){let x=Re(r)?ot[r](j,v):j-I,H=Ve(r)?ot[r](M,v):M-I;Y.insert("polygon").attr("points",vt[r](v)).attr("transform",`translate(${x},${H})`).attr("class","arrow")}if(o){let x=!dt(d,r)?Re(d)?"X":"Y":"XY",H=0;if(x==="X")H=Math.abs(h-j);else if(x==="Y")H=Math.abs(k-M)/1.5;else H=Math.abs(h-j)/2;let Z=Y.append("g");if(await Ie(Z,o,{useHtmlLabels:!1,width:H,classes:"architecture-service-label"},l()),Z.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),x==="X")Z.attr("transform","translate("+n+", "+P+")");else if(x==="Y")Z.attr("transform","translate("+n+", "+P+") rotate(-90)");else if(x==="XY"){let Q=lt(d,r);if(Q&&Dt(Q)){let se=Z.node().getBoundingClientRect(),[re,ue]=Ft(Q);Z.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*re*ue*45})`);let Le=Z.node().getBoundingClientRect();Z.attr("transform",`
|
|
33
|
-
translate(${n}, ${P-se.height/2})
|
|
34
|
-
translate(${re*Le.width/2}, ${ue*Le.height/2})
|
|
35
|
-
rotate(${-1*re*ue*45}, 0, ${se.height/2})
|
|
36
|
-
`)}}}}}))},"drawEdges"),Ut=e(async function(t,i,s,w){let N=s.getConfigField("padding")*0.75,B=s.getConfigField("fontSize"),I=s.getConfigField("iconSize")/2;await Promise.all(i.nodes().map(async(c)=>{let y=Qe(c);if(y.type==="group"){let{h:d,w:f,x1:u,y1:g}=c.boundingBox(),r=t.append("rect");r.attr("id",`${w}-group-${y.id}`).attr("x",u+I).attr("y",g+I).attr("width",f).attr("height",d).attr("class","node-bkg");let _=t.append("g"),F=u,o=g;if(y.icon){let h=_.append("g");h.html(`<g>${await nt(y.icon,{height:N,width:N,fallbackPrefix:it.prefix})}</g>`),h.attr("transform","translate("+(F+I+1)+", "+(o+I+1)+")"),F+=N,o+=B/2-1-2}if(y.label){let h=_.append("g");await Ie(h,y.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},l()),h.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),h.attr("transform","translate("+(F+I+4)+", "+(o+I+2)+")")}s.setElementForId(y.id,r)}}))},"drawGroups"),Ht=e(async function(t,i,s,w){let m=l();for(let N of s){let B=i.append("g"),v=t.getConfigField("iconSize");if(N.title){let d=B.append("g");await Ie(d,N.title,{useHtmlLabels:!1,width:v*1.5,classes:"architecture-service-label"},m),d.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),d.attr("transform","translate("+v/2+", "+v+")")}let I=B.append("g");if(N.icon)I.html(`<g>${await nt(N.icon,{height:v,width:v,fallbackPrefix:it.prefix})}</g>`);else if(N.iconText){I.html(`<g>${await nt("blank",{height:v,width:v,fallbackPrefix:it.prefix})}</g>`);let u=I.append("g").append("foreignObject").attr("width",v).attr("height",v).append("div").attr("class","node-icon-text").attr("style",`height: ${v}px;`).append("div").html(O(N.iconText,m)),g=parseInt(window.getComputedStyle(u.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;u.attr("style",`-webkit-line-clamp: ${Math.floor((v-2)/g)};`)}else I.append("path").attr("class","node-bkg").attr("id",`${w}-node-${N.id}`).attr("d",`M0,${v} V5 Q0,0 5,0 H${v-5} Q${v},0 ${v},5 V${v} Z`);B.attr("id",`${w}-service-${N.id}`).attr("class","architecture-service");let{width:c,height:y}=B.node().getBBox();N.width=c,N.height=y,t.setElementForId(N.id,B)}return 0},"drawServices"),Vt=e(function(t,i,s,w){s.forEach((m)=>{let N=i.append("g"),B=t.getConfigField("iconSize");N.append("g").append("rect").attr("id",`${w}-node-${m.id}`).attr("fill-opacity","0").attr("width",B).attr("height",B),N.attr("class","architecture-junction");let{width:I,height:c}=N._groups[0][0].getBBox();N.width=I,N.height=c,t.setElementForId(m.id,N)})},"drawJunctions");Dn([{name:it.prefix,icons:it}]);ut.use(xt.default);function Tt(t,i,s){t.forEach((w)=>{i.add({group:"nodes",data:{type:"service",id:w.id,icon:w.icon,label:w.title,parent:w.in,width:s.getConfigField("iconSize"),height:s.getConfigField("iconSize")},classes:"node-service"})})}e(Tt,"addServices");function At(t,i,s){t.forEach((w)=>{i.add({group:"nodes",data:{type:"junction",id:w.id,parent:w.in,width:s.getConfigField("iconSize"),height:s.getConfigField("iconSize")},classes:"node-junction"})})}e(At,"addJunctions");function Lt(t,i){i.nodes().map((s)=>{let w=Qe(s);if(w.type==="group")return;w.x=s.position().x,w.y=s.position().y,t.getElementById(w.id).attr("transform","translate("+(w.x||0)+","+(w.y||0)+")")})}e(Lt,"positionNodes");function Ct(t,i){t.forEach((s)=>{i.add({group:"nodes",data:{type:"group",id:s.id,icon:s.icon,label:s.title,parent:s.in},classes:"node-group"})})}e(Ct,"addGroups");function It(t,i){t.forEach((s)=>{let{lhsId:w,rhsId:m,lhsInto:N,lhsGroup:B,rhsInto:v,lhsDir:I,rhsDir:c,rhsGroup:y,title:d}=s,f=dt(s.lhsDir,s.rhsDir)?"segments":"straight",u={id:`${w}-${m}`,label:d,source:w,sourceDir:I,sourceArrow:N,sourceGroup:B,sourceEndpoint:I==="L"?"0 50%":I==="R"?"100% 50%":I==="T"?"50% 0":"50% 100%",target:m,targetDir:c,targetArrow:v,targetGroup:y,targetEndpoint:c==="L"?"0 50%":c==="R"?"100% 50%":c==="T"?"50% 0":"50% 100%"};i.add({group:"edges",data:u,classes:f})})}e(It,"addEdges");function bt(t,i,s,w=[]){let m=e((f,u)=>{let g=new Map;for(let[r,_]of f.entries()){let F=`${r}`,o=0,h=[..._.entries()];if(h.length===1){g.set(F,h[0][1]);continue}for(let k=0;k<h.length-1;k++)for(let n=k+1;n<h.length;n++){let[P,j]=h[k],[M,q]=h[n];if(s.get(mt(P,M))===u)g.set(F,[...g.get(F)??[],...j,...q]);else if(P==="default"||M==="default")g.set(F,[...g.get(F)??[],...j,...q]);else{let x=`${F}-${o++}`;g.set(x,j);let H=`${F}-${o++}`;g.set(H,q)}}}return g},"flattenAlignments"),N=i.map((f)=>{let u=new Map,g=new Map;return f.forEach(([r,_],F)=>{let o=t.getNode(F)?.in??"default",h=u.get(_)??new Map;if(!u.has(_))u.set(_,h);let k=g.get(r)??new Map;if(!g.has(r))g.set(r,k);for(let n of[h,k]){let P=n.get(o)??[];if(!n.has(o))n.set(o,P);P.push(F)}}),{horiz:[...m(u,"horizontal").values()].filter((r)=>r.length>1),vert:[...m(g,"vertical").values()].filter((r)=>r.length>1)}}),[B,v]=N.reduce(([f,u],{horiz:g,vert:r})=>[[...f,...g],[...u,...r]],[[],[]]),I=new Set;w.forEach((f)=>f.members.forEach((u)=>I.add(u)));let c=e((f)=>f.filter((u)=>!u.some((g)=>I.has(g))),"dropOverlapping"),y=c(B),d=c(v);return w.forEach((f)=>{if(f.members.length<2)return;if(f.direction==="row")y.push([...f.members]);else d.push([...f.members])}),{horizontal:y,vertical:d}}e(bt,"getAlignments");function Nt(t,i,s=[]){let w=[],m=i.getConfigField("iconSize"),N=i.getConfigField("idealEdgeLengthMultiplier"),B=N*m,v=new Set;s.forEach((y)=>{for(let d=0;d<y.members.length-1;d++){let f=y.members[d],u=y.members[d+1];if(v.add(`${f}|${u}`),v.add(`${u}|${f}`),y.direction==="row")w.push({left:f,right:u,gap:B});else w.push({top:f,bottom:u,gap:B})}});let I=e((y)=>`${y[0]},${y[1]}`,"posToStr"),c=e((y)=>y.split(",").map((d)=>parseInt(d)),"strToPos");return t.forEach((y)=>{let d=new Map([...y.entries()].map(([r,_])=>[I(_),r])),f=[I([0,0])],u={},g={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};while(f.length>0){let r=f.shift();if(r){u[r]=1;let _=d.get(r);if(_){let F=c(r);Object.entries(g).forEach(([o,h])=>{let k=I([F[0]+h[0],F[1]+h[1]]),n=d.get(k);if(n&&!u[k]){if(f.push(k),v.has(`${_}|${n}`))return;w.push({[gt[o]]:n,[gt[kt(o)]]:_,gap:N*m})}})}}}}),w}e(Nt,"getRelativeConstraints");function St(t,i,s,w,m,{spatialMaps:N,groupAlignments:B}){return new Promise((v)=>{let I=p("body").append("div").attr("id","cy").attr("style","display:none"),c=ut({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[0.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${m.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${m.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});I.remove(),Ct(s,c),Tt(t,c,m),At(i,c,m),It(w,c);let y=m.getLayoutHints(),d=bt(m,N,B,y),f=Nt(N,m,y),u=m.getConfigField("iconSize"),g=m.getConfigField("idealEdgeLengthMultiplier")*u,r=0.5*u,_=m.getConfigField("edgeElasticity"),F=m.getConfigField("seed"),o=c.layout({name:"fcose",quality:"proof",randomize:m.getConfigField("randomize"),nodeSeparation:m.getConfigField("nodeSeparation"),numIter:m.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(h){let[k,n]=h.connectedNodes(),{parent:P}=Qe(k),{parent:j}=Qe(n);return P===j?g:r},edgeElasticity(h){let[k,n]=h.connectedNodes(),{parent:P}=Qe(k),{parent:j}=Qe(n);return P===j?_:0.001},alignmentConstraint:d,relativePlacementConstraint:f});o.one("layoutstop",()=>{function h(k,n,P,j){let M,q,{x:Y,y:x}=k,{x:H,y:Z}=n;q=(j-x+(Y-P)*(x-Z)/(Y-H))/Math.sqrt(1+Math.pow((x-Z)/(Y-H),2)),M=Math.sqrt(Math.pow(j-x,2)+Math.pow(P-Y,2)-Math.pow(q,2));let Q=Math.sqrt(Math.pow(H-Y,2)+Math.pow(Z-x,2));M=M/Q;let se=(H-Y)*(j-x)-(Z-x)*(P-Y);switch(!0){case se>=0:se=1;break;case se<0:se=-1;break}let re=(H-Y)*(P-Y)+(Z-x)*(j-x);switch(!0){case re>=0:re=1;break;case re<0:re=-1;break}return q=Math.abs(q)*se,M=M*re,{distances:q,weights:M}}e(h,"getSegmentWeights"),c.startBatch();for(let k of Object.values(c.edges()))if(k.data?.()){let{x:n,y:P}=k.source().position(),{x:j,y:M}=k.target().position();if(n!==j&&P!==M){let q=k.sourceEndpoint(),Y=k.targetEndpoint(),{sourceDir:x}=yt(k),[H,Z]=Ve(x)?[q.x,Y.y]:[Y.x,q.y],{weights:Q,distances:se}=h(q,Y,H,Z);k.style("segment-distances",se),k.style("segment-weights",Q)}}c.endBatch(),ct(F,()=>o.run())});try{ct(F,()=>o.run())}catch(h){if(h instanceof RangeError&&h.message.includes("Invalid array length"))throw Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis.");throw h}c.ready((h)=>{a.info("Ready",h),v(c)})})}e(St,"layoutArchitecture");var Xt=e(async(t,i,s,w)=>{let m=w.db;m.setDiagramId(i);let N=m.getServices(),B=m.getJunctions(),v=m.getGroups(),I=m.getEdges(),c=m.getDataStructures(),y=V(i),d=y.append("g");d.attr("class","architecture-edges");let f=y.append("g");f.attr("class","architecture-services");let u=y.append("g");u.attr("class","architecture-groups"),await Ht(m,f,N,i),Vt(m,f,B,i);let g=await St(N,B,v,I,m,c);await Yt(d,g,m,i),await Ut(u,g,m,i),Lt(m,g),ht(void 0,y,m.getConfigField("padding"),m.getConfigField("useMaxWidth"))},"draw"),jt={draw:Xt},ar={parser:wt,get db(){return new Et},renderer:jt,styles:_t};export{ar as diagram};
|
package/web/chunk-3zebd9fq.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{h,o,g,i,r,y,t,n,_,rt}from"./chunk-j6a4z530.js";var U="__chat__";function N(a){if(!Number.isFinite(a)||a<=0)return"0";if(a<1000)return Math.round(a).toString();if(a<1e6)return`${(a/1000).toFixed(1)}K`;if(a<1e9)return`${(a/1e6).toFixed(2)}M`;return`${(a/1e9).toFixed(2)}B`}function B(a){let c=Number.isFinite(a)?Math.max(0,a):0;return Math.round(c).toLocaleString("en-US")}function P(a){if(!Number.isFinite(a)||a<=0)return"0s";if(a<1000)return"<1s";if(a<60000)return`${Math.floor(a/1000)}s`;if(a<3600000){let u=Math.floor(a/1000),e=Math.floor(u/60),d=u%60;return d>0?`${e}m ${d}s`:`${e}m`}if(a<259200000){let u=Math.floor(a/60000),e=Math.floor(u/60),d=u%60;return d>0?`${e}h ${d}m`:`${e}h`}let c=Math.floor(a/3600000),x=Math.floor(c/24),p=c%24;return p>0?`${x}d ${p}h`:`${x}d`}function X(a){if(!Number.isFinite(a)||a<=0)return"0s";if(a<1000)return"<1s";if(a<60000)return`${Math.round(a/1000)}s`;if(a<3600000)return`${Math.round(a/60000)}m`;if(a<86400000){let p=a/3600000;return`${p>=10?Math.round(p).toString():p.toFixed(1).replace(/\.0$/,"")}h`}let c=a/86400000;return`${c>=10?Math.round(c).toString():c.toFixed(1).replace(/\.0$/,"")}d`}function L(a,c=1){if(!Number.isFinite(a)||a<=0)return"0%";let x=10**-c/100;if(a<x)return`<${(x*100).toFixed(c)}%`;return`${(a*100).toFixed(c)}%`}function K(a){if(!Number.isFinite(a)||a<=0)return"0 B";if(a<1024)return`${Math.round(a)} B`;if(a<1048576)return`${(a/1024).toFixed(1)} KB`;if(a<1073741824)return`${(a/1048576).toFixed(2)} MB`;return`${(a/1073741824).toFixed(2)} GB`}function G(a){let c=a.split("-"),x=c[1],p=c[2];if(x!==void 0&&p!==void 0)return`${x}/${p}`;return a}function Y(a){let c=a.split("-"),x=c[0],p=c[1],u=c[2];if(x===void 0||p===void 0||u===void 0)return a;let e=Number(x),d=Number(p)-1,v=Number(u),w=new Date(Date.UTC(e,d,v)),R=["周日","周一","周二","周三","周四","周五","周六"],M=w.getUTCDay(),F=R[M]??"";return`${a} ${F}`}function ee(a,c=Date.now()){if(a===null||a===void 0||!Number.isFinite(a)||a<=0)return"从未";let x=Math.max(0,c-a);if(x<60000)return"刚刚";if(x<3600000)return`${Math.max(1,Math.floor(x/60000))} 分钟前`;if(x<86400000)return`${Math.max(1,Math.floor(x/3600000))} 小时前`;if(x<2592000000)return`${Math.max(1,Math.floor(x/86400000))} 天前`;let p=new Date(a),u=p.getFullYear(),e=String(p.getMonth()+1).padStart(2,"0"),d=String(p.getDate()).padStart(2,"0");return`${u}-${e}-${d}`}function te(a){let{projects:c,selectedProjectID:x,onSelectProject:p}=a,{style:u}=_();if(c.length===0)return t("div",{className:u("surface.empty"),children:"暂无项目统计数据"});return t("div",{className:"divide-y divide-line",children:c.map((e)=>{let d=e.projectID??U,v=x===d,w=Math.max(e.tokenShare>0?1:0,e.tokenShare*100);return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[t("span",{className:"font-medium text-sm text-ink truncate",children:e.name}),t("span",{className:u("control.badge","font-mono truncate max-w-[240px]"),title:e.directory||"未绑定项目目录",children:e.directory||"独立会话"}),t("button",{type:"button",onClick:()=>p(v?null:d),className:"rounded px-1.5 py-0.5 text-[11px] text-accent hover:bg-accent/10 transition-colors cursor-pointer shrink-0",children:v?"取消筛选":"筛选"})]}),n("div",{className:"flex items-baseline gap-1.5 font-mono tabular-nums shrink-0",children:[t("span",{className:"text-xs font-medium text-ink",title:B(e.totalTokens),children:N(e.totalTokens)}),n("span",{className:"text-[11px] text-faint",children:["(",L(e.tokenShare),")"]})]})]}),t("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-raised",children:t("div",{className:"h-full rounded-full bg-accent transition-all duration-300",style:{width:`${w}%`}})}),n("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:["输入 ",t("span",{className:"text-ink",children:N(e.inputTokens)})]}),n("span",{children:["输出 ",t("span",{className:"text-ink",children:N(e.outputTokens)})]}),n("span",{children:["缓存读 ",t("span",{className:"text-ink",children:N(e.cacheReadTokens)}),n("span",{className:"text-faint",children:[" (",L(e.cacheHitRate),")"]})]})]}),n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:["耗时 ",t("span",{className:"text-ink",children:P(e.activeDurationMs)})]}),n("span",{children:[t("span",{className:"text-ink",children:e.sessionCount.toLocaleString()})," 会话"]}),n("span",{children:["工具 ",t("span",{className:"text-ink",children:e.toolCalls.toLocaleString()})," 次"]})]})]})]},d)})})}function ae(a){let{models:c}=a,{ModelIcon:x,style:p}=_();if(c.length===0)return t("div",{className:p("surface.empty"),children:"暂无模型调用数据"});return t("div",{className:"divide-y divide-line",children:c.map((u)=>{let e=Math.max(u.share>0?1:0,u.share*100);return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[t(x,{modelID:u.model,className:"size-4 shrink-0"}),t("span",{className:"font-mono text-sm font-medium text-ink truncate",children:u.shortName}),t("span",{className:p("control.badge","font-mono shrink-0"),children:u.provider})]}),n("div",{className:"flex items-baseline gap-2.5 font-mono tabular-nums shrink-0",children:[u.avgTps!==null&&n("span",{className:"text-[11px] text-dim",children:[u.avgTps.toFixed(1)," tok/s"]}),n("span",{className:"text-xs font-medium text-ink",title:B(u.totalTokens),children:[N(u.totalTokens)," ",n("span",{className:"text-[11px] font-normal text-faint",children:["(",L(u.share),")"]})]})]})]}),t("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-raised",children:t("div",{className:"h-full rounded-full bg-accent transition-all duration-300",style:{width:`${e}%`}})}),n("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:["输入 ",t("span",{className:"text-ink",children:N(u.inputTokens)})]}),n("span",{children:["输出 ",t("span",{className:"text-ink",children:N(u.outputTokens)})]}),n("span",{children:["缓存读 ",t("span",{className:"text-ink",children:N(u.cacheReadTokens)}),n("span",{className:"text-faint",children:[" (",L(u.cacheHitRate),")"]})]})]}),n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:[t("span",{className:"text-ink",children:u.turns.toLocaleString()})," 轮",u.errors>0?n("span",{className:"text-danger",children:[" (",u.errors," 错)"]}):null]}),n("span",{children:["工具 ",t("span",{className:"text-ink",children:u.toolCalls.toLocaleString()})," 次"]}),u.generationMs>0&&n("span",{children:["推理 ",t("span",{className:"text-ink",children:X(u.generationMs)})]})]})]})]},u.model)})})}function ne(a){let{tools:c}=a,{StatusChip:x,style:p}=_();if(c.length===0)return t("div",{className:p("surface.empty"),children:"暂无工具调用数据"});return t("div",{className:"divide-y divide-line",children:c.map((u)=>{let e=Math.max(u.share>0?1:0,u.share*100),d=u.successRate>=0.95?"success":u.successRate>=0.8?"warning":"danger",v=Math.max(0,u.calls-u.errors),w=u.calls>0?Math.round(u.outputBytes/u.calls):0;return n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 items-center gap-2",children:[t("span",{className:"font-mono text-sm font-medium text-ink truncate",children:u.name}),n(x,{tone:d,children:["成功率 ",L(u.successRate)]})]}),n("div",{className:"flex items-baseline gap-1.5 font-mono tabular-nums shrink-0",children:[n("span",{className:"text-xs font-medium text-ink",children:[u.calls.toLocaleString()," 次"]}),n("span",{className:"text-[11px] text-faint",children:["(",L(u.share),")"]})]})]}),t("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-raised",children:t("div",{className:"h-full rounded-full bg-accent transition-all duration-300",style:{width:`${e}%`}})}),n("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:["成功 ",t("span",{className:"text-ink",children:v.toLocaleString()})," 次"]}),n("span",{children:["失败 ",t("span",{className:u.errors>0?"text-danger":"text-ink",children:u.errors.toLocaleString()})," 次"]})]}),n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:["累计输出 ",t("span",{className:"text-ink",children:K(u.outputBytes)})]}),n("span",{children:["单次均值 ",t("span",{className:"text-ink",children:K(w)})]})]})]})]},u.name)})})}function se(a){let{sessions:c,onOpenSession:x}=a,{style:p}=_();if(c.length===0)return t("div",{className:p("surface.empty"),children:"暂无高消耗会话记录"});let u=Math.max(1,...c.map((e)=>e.totalTokens));return t("div",{className:"divide-y divide-line",children:c.map((e)=>{let d=u>0?Math.max(1,e.totalTokens/u*100):0,v=e.model.split("/").pop()??e.model;return n("button",{type:"button",onClick:()=>x(e.id),className:"group block w-full p-4 text-left space-y-2.5 hover:bg-raised/40 transition-colors cursor-pointer",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:[t("span",{className:"font-medium text-sm text-ink truncate group-hover:text-accent transition-colors",children:e.title.trim()||"新会话"}),t("span",{className:p("control.badge","font-mono truncate max-w-[140px] shrink-0"),title:e.projectName,children:e.projectName}),e.kind==="sub"&&t("span",{className:"rounded bg-accent/15 px-1.5 py-0.5 text-[10.5px] text-accent shrink-0",children:"子代理"}),e.archivedAt!==null&&t("span",{className:p("control.badge","shrink-0"),children:"已归档"})]}),n("div",{className:"flex items-center gap-1.5 font-mono tabular-nums shrink-0",children:[t("span",{className:"text-xs font-medium text-ink",title:B(e.totalTokens),children:N(e.totalTokens)}),t(rt,{className:"size-3.5 text-faint group-hover:text-ink group-hover:translate-x-0.5 transition-all"})]})]}),t("div",{className:"h-1.5 w-full overflow-hidden rounded-full bg-raised",children:t("div",{className:"h-full rounded-full bg-accent transition-all duration-300",style:{width:`${d}%`}})}),n("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[n("span",{children:["输入 ",t("span",{className:"text-ink",children:N(e.inputTokens)})]}),n("span",{children:["输出 ",t("span",{className:"text-ink",children:N(e.outputTokens)})]}),n("span",{children:["缓存读 ",t("span",{className:"text-ink",children:N(e.cacheReadTokens)})]})]}),n("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[t("span",{className:"text-ink",children:v}),n("span",{children:["耗时 ",t("span",{className:"text-ink",children:P(e.activeDurationMs)})]}),n("span",{children:[t("span",{className:"text-ink",children:e.assistantTurns})," 轮"]}),t("span",{className:"text-faint",children:ee(e.updated)})]})]})]},e.id)})})}var oe=[{value:"tokens",label:"Token 用量"},{value:"duration",label:"活跃耗时"},{value:"activity",label:"交互轮次"}];function re(a){let{cn:c,Segmented:x,SettingGroup:p,style:u}=_(),{daily:e}=a,[d,v]=r("tokens"),[w,R]=r(null),M=g(()=>e.some((s)=>s.totalTokens>0||s.activeDurationMs>0||s.runs>0),[e]),F=g(()=>{if(e.length===0)return{totalText:"0",avgText:"0",peakDate:"—",peakValueText:"0"};if(d==="tokens"){let S=e.reduce((C,I)=>C+I.totalTokens,0),j=e.filter((C)=>C.totalTokens>0).length,T=e[0];for(let C of e)if(!T||C.totalTokens>T.totalTokens)T=C;return{totalText:N(S),totalFullText:B(S),avgText:j>0?N(Math.round(S/j)):"0",peakDate:T&&T.totalTokens>0?G(T.date):"—",peakValueText:T&&T.totalTokens>0?N(T.totalTokens):"0"}}if(d==="duration"){let S=e.reduce((C,I)=>C+I.activeDurationMs,0),j=e.filter((C)=>C.activeDurationMs>0).length,T=e[0];for(let C of e)if(!T||C.activeDurationMs>T.activeDurationMs)T=C;return{totalText:P(S),totalFullText:P(S),avgText:j>0?P(Math.round(S/j)):"0s",peakDate:T&&T.activeDurationMs>0?G(T.date):"—",peakValueText:T&&T.activeDurationMs>0?P(T.activeDurationMs):"0s"}}let s=e.reduce((S,j)=>S+j.assistantTurns,0),l=e.reduce((S,j)=>S+j.userMessages,0),f=s+l,k=e.filter((S)=>S.assistantTurns>0||S.userMessages>0).length,b=e[0];for(let S of e){let j=b?b.assistantTurns+b.userMessages:0;if(!b||S.assistantTurns+S.userMessages>j)b=S}let A=b?b.assistantTurns+b.userMessages:0;return{totalText:`${f.toLocaleString()} 轮`,totalFullText:`助手 ${s.toLocaleString()} 轮 · 用户 ${l.toLocaleString()} 问`,avgText:k>0?`${(f/k).toFixed(1)} 轮/天`:"0 轮/天",peakDate:b&&A>0?G(b.date):"—",peakValueText:b&&A>0?`${A.toLocaleString()} 轮`:"0 轮"}},[e,d]),D=g(()=>{if(w){let s=e.find((l)=>l.date===w);if(s)return s}for(let s=e.length-1;s>=0;s--){let l=e[s];if(l&&(l.totalTokens>0||l.activeDurationMs>0||l.runs>0))return l}return e[e.length-1]},[e,w]),z=g(()=>{if(d==="tokens")return Math.max(1,...e.map((s)=>s.totalTokens));if(d==="duration")return Math.max(1000,...e.map((s)=>s.activeDurationMs));return Math.max(1,...e.map((s)=>s.assistantTurns+s.userMessages))},[e,d]),m=g(()=>{if(e.length<=7)return e.map((f)=>f.date);let s=6,l=[];for(let f=0;f<s;f++){let k=Math.round(f*(e.length-1)/(s-1)),b=e[k];if(b)l.push(b.date)}return l},[e]);if(!M)return t(p,{title:"每日趋势",action:t(x,{value:d,onChange:(s)=>v(s),options:oe}),children:t("div",{className:u("surface.empty"),children:"当前时间范围内暂无活跃数据"})});return t(p,{title:"每日趋势",action:t(x,{value:d,onChange:(s)=>v(s),options:oe}),children:n("div",{className:"p-4 space-y-4",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[n("div",{className:"flex flex-wrap items-center gap-x-3.5 gap-y-1 font-mono text-dim tabular-nums",children:[n("span",{children:["汇总 ",t("span",{className:"text-ink",children:F.totalText})]}),n("span",{children:["日均 ",t("span",{className:"text-ink",children:F.avgText})]}),n("span",{children:["峰值 ",t("span",{className:"text-ink",children:F.peakValueText}),F.peakDate!=="—"?n("span",{className:"text-faint",children:[" (",F.peakDate,")"]}):null]})]}),n("div",{className:"flex items-center gap-3 text-[11px] text-dim",children:[d==="tokens"&&n(y,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-accent/40"}),"缓存读"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-accent"}),"输入"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-success"}),"输出"]})]}),d==="duration"&&n(y,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-accent"}),"工作调度"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-success"}),"模型推理"]})]}),d==="activity"&&n(y,{children:[n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-accent"}),"助手回复"]}),n("span",{className:"inline-flex items-center gap-1.5",children:[t("span",{className:"size-2 rounded-full bg-success"}),"用户提问"]})]})]})]}),n("div",{className:"relative h-44 w-full pt-1",children:[n("div",{className:"absolute inset-0 flex flex-col justify-between pointer-events-none pb-5 text-[10px] text-faint/60",children:[t("div",{className:"border-b border-line/40 w-full"}),t("div",{className:"border-b border-line/30 w-full"}),t("div",{className:"border-b border-line/40 w-full"})]}),n("section",{"aria-label":"每日趋势柱状序列",className:"relative h-full flex flex-col justify-between",onMouseLeave:()=>R(null),children:[t("div",{className:"flex-1 flex items-end gap-1 sm:gap-1.5 pb-2",children:e.map((s)=>{let l=s.totalTokens;if(d==="duration")l=s.activeDurationMs;else if(d==="activity")l=s.assistantTurns+s.userMessages;let f=l<=0,k=f?0:Math.max(3,Math.min(100,l/z*100)),b=D?.date===s.date;return n("button",{type:"button","aria-label":`${s.date} 统计数据`,className:"flex-1 h-full flex flex-col justify-end items-center group cursor-pointer relative min-w-0 bg-transparent p-0 border-0 focus:outline-hidden",onMouseEnter:()=>R(s.date),onFocus:()=>R(s.date),onClick:()=>R(s.date),children:[t("div",{className:c("absolute inset-y-0 w-full rounded-xs transition-colors pointer-events-none",b?"bg-accent/10":"group-hover:bg-raised/60")}),f?t("div",{className:"h-1 w-full max-w-[24px] rounded-full bg-raised group-hover:bg-dim/30"}):n("div",{className:"w-full max-w-[24px] rounded-t-xs overflow-hidden flex flex-col justify-end transition-all duration-150",style:{height:`${k}%`},children:[d==="tokens"&&n(y,{children:[s.outputTokens>0&&t("div",{className:"bg-success transition-all duration-200",style:{height:`${s.outputTokens/s.totalTokens*100}%`}}),s.inputTokens+s.cacheWriteTokens>0&&t("div",{className:"bg-accent transition-all duration-200",style:{height:`${(s.inputTokens+s.cacheWriteTokens)/s.totalTokens*100}%`}}),s.cacheReadTokens>0&&t("div",{className:"bg-accent/40 transition-all duration-200",style:{height:`${s.cacheReadTokens/s.totalTokens*100}%`}})]}),d==="duration"&&n(y,{children:[s.generationMs>0&&t("div",{className:"bg-success transition-all duration-200",style:{height:`${Math.min(100,s.generationMs/Math.max(1,s.activeDurationMs)*100)}%`}}),t("div",{className:"bg-accent flex-1 transition-all duration-200"})]}),d==="activity"&&n(y,{children:[s.userMessages>0&&t("div",{className:"bg-success transition-all duration-200",style:{height:`${s.userMessages/Math.max(1,s.assistantTurns+s.userMessages)*100}%`}}),t("div",{className:"bg-accent flex-1 transition-all duration-200"})]})]}),b&&t("div",{className:"absolute -bottom-1 size-1 rounded-full bg-accent"})]},s.date)})}),t("div",{className:c("flex items-center pt-1.5 text-[10px] text-faint font-mono tabular-nums",e.length<=7?"gap-1 sm:gap-1.5":"justify-between"),children:m.map((s)=>t("div",{className:c("whitespace-nowrap",e.length<=7&&"flex-1 text-center"),children:G(s)},s))})]})]}),t("div",{className:"flex flex-wrap items-center justify-between gap-2 border-t border-line pt-3 font-mono text-xs tabular-nums",children:D?n(y,{children:[t("span",{className:"text-ink",children:Y(D.date)}),n("div",{className:"flex flex-wrap items-center gap-x-3.5 gap-y-1 text-dim",children:[n("span",{children:["Token ",t("span",{className:"text-ink",children:N(D.totalTokens)})]}),n("span",{children:["耗时 ",t("span",{className:"text-ink",children:P(D.activeDurationMs)})]}),n("span",{children:["交互 ",n("span",{className:"text-ink",children:[D.assistantTurns+D.userMessages," 轮"]})]}),n("span",{children:["工具 ",n("span",{className:"text-ink",children:[D.toolCalls," 次"]})]})]})]}):t("span",{className:"font-sans text-faint",children:"悬停柱状图查看单日明细"})})]})})}function ie(a){let{cn:c,SettingGroup:x}=_(),{daily:p,hourly:u}=a,[e,d]=r(null),v=g(()=>{let l=new Map;for(let k of u)l.set(k.hour,k);let f=[];for(let k=0;k<24;k++){let b=l.get(k);if(b)f.push(b);else f.push({hour:k,totalTokens:0,activeDurationMs:0,userMessages:0,assistantTurns:0,runs:0})}return f},[u]),w=g(()=>{let l=v[0];for(let f of v)if(!l||f.totalTokens>l.totalTokens)l=f;return l&&l.totalTokens>0?l:null},[v]),R=g(()=>v.reduce((l,f)=>l+f.totalTokens,0),[v]),M=g(()=>Math.max(1,...v.map((l)=>l.totalTokens)),[v]),F=g(()=>{if(R<=0)return 0;return v.filter((f)=>f.hour>=8&&f.hour<20).reduce((f,k)=>f+k.totalTokens,0)/R},[v,R]),D=g(()=>Math.max(1,...p.map((l)=>l.totalTokens)),[p]),z=g(()=>{let l=0,f=0;for(let k of p)if(k.totalTokens>0||k.activeDurationMs>0||k.runs>0){if(f++,f>l)l=f}else f=0;return l},[p]),m=g(()=>p.filter((l)=>l.totalTokens>0||l.activeDurationMs>0||l.runs>0).length,[p]),s=e!==null?v[e]:w;return n(x,{title:"活跃时段与热力",action:n("div",{className:"flex items-center gap-3 font-mono text-xs text-faint tabular-nums",children:[n("span",{children:["日间占比 ",L(F)]}),n("span",{children:["连续活跃 ",z," 天"]}),n("span",{children:["活跃 ",m,"/",p.length," 天"]})]}),children:[n("div",{className:"p-4 space-y-3",children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2 text-xs",children:[t("span",{className:"text-dim",children:"24 小时分布"}),s?n("div",{className:"flex items-center gap-3 font-mono text-dim tabular-nums",children:[n("span",{className:"text-ink",children:[e!==null?"时段 ":"高峰 ",String(s.hour).padStart(2,"0"),":00 -"," ",String((s.hour+1)%24).padStart(2,"0"),":00"]}),t("span",{className:"text-ink",children:N(s.totalTokens)}),s.activeDurationMs>0&&t("span",{children:P(s.activeDurationMs)})]}):t("span",{className:"text-faint",children:"暂无时段分布"})]}),n("section",{"aria-label":"24 小时活跃分布序列",className:"h-28 w-full flex flex-col justify-between pt-1",onMouseLeave:()=>d(null),children:[t("div",{className:"flex-1 flex items-end gap-1.5 pb-1.5",children:v.map((l)=>{let f=w?.hour===l.hour,k=e===l.hour,b=l.totalTokens>0?Math.max(6,l.totalTokens/M*100):0,A=`${String(l.hour).padStart(2,"0")}:00 - ${String((l.hour+1)%24).padStart(2,"0")}:00
|
|
2
|
-
消耗: ${B(l.totalTokens)} Token
|
|
3
|
-
耗时: ${P(l.activeDurationMs)}
|
|
4
|
-
助手轮次: ${l.assistantTurns} 轮`;return t("button",{type:"button","aria-label":`${String(l.hour).padStart(2,"0")}:00 时段统计`,className:"flex-1 h-full flex flex-col justify-end items-center group relative cursor-pointer bg-transparent p-0 border-0 focus:outline-hidden",title:A,onMouseEnter:()=>d(l.hour),onFocus:()=>d(l.hour),onClick:()=>d(l.hour),children:b>0?t("div",{className:c("w-full max-w-[20px] rounded-t-xs transition-all duration-200",f||k?"bg-accent":"bg-accent/55 group-hover:bg-accent"),style:{height:`${b}%`}}):t("div",{className:"h-1 w-full max-w-[20px] rounded-full bg-raised group-hover:bg-dim/30"})},l.hour)})}),n("div",{className:"flex justify-between items-center text-[10px] text-faint font-mono pt-1.5 border-t border-line/40",children:[t("span",{children:"00:00"}),t("span",{children:"04:00"}),t("span",{children:"08:00"}),t("span",{children:"12:00"}),t("span",{children:"16:00"}),t("span",{children:"20:00"}),t("span",{children:"23:00"})]})]})]}),n("div",{className:"p-4 space-y-2.5",children:[n("div",{className:"text-xs text-dim",children:["自然日热力 (",p.length," 天)"]}),t("div",{className:"flex flex-wrap items-center gap-1.5",children:p.map((l)=>{let f="bg-raised";if(l.totalTokens>0){let b=l.totalTokens/D;if(b<=0.33)f="bg-accent/30";else if(b<=0.66)f="bg-accent/60";else f="bg-accent"}let k=`${Y(l.date)}
|
|
5
|
-
消耗: ${B(l.totalTokens)} Token
|
|
6
|
-
耗时: ${P(l.activeDurationMs)}
|
|
7
|
-
助手轮次: ${l.assistantTurns} 轮`;return t("div",{className:c("size-3.5 rounded-xs transition-transform hover:scale-125 cursor-pointer",f),title:k},l.date)})})]})]})}var pe=[{value:"7d",label:"近 7 天"},{value:"30d",label:"近 30 天"},{value:"90d",label:"近 90 天"},{value:"all",label:"全部"}],V=new Map,le=[];function q(a,c){return`${a}:${c??"all"}`}function _e(a){let{connection:c,onOpen:x}=a,{Button:p,PageLayout:u,Segmented:e,SettingGroup:d,style:v}=_(),[w,R]=r("30d"),[M,F]=r(null),[D,z]=r("projects"),[m,s]=r(()=>V.get(q("30d",null))??null),[l,f]=r(()=>!V.has(q("30d",null))),[k,b]=r(null),[A,S]=r(()=>le),j=i(0),T=h(async()=>{let I=++j.current,O=q(w,M),Q=V.get(O);if(Q)s(Q);f(!0);try{let E=new URLSearchParams({range:w,tzOffset:String(new Date().getTimezoneOffset())});if(M)E.set("projectID",M);let W=await c.request(`/api/stats?${E.toString()}`);if(I!==j.current)return;if(V.set(O,W),s(W),b(null),W.projects)S((ue)=>{let Z=new Map(ue.map((H)=>[H.id,H.name]));for(let H of W.projects)if(H.projectID)Z.set(H.projectID,H.name);let J=Array.from(Z.entries()).map(([H,ce])=>({id:H,name:ce}));return le=J,J})}catch(E){if(I===j.current)b(E instanceof Error?E.message:"加载统计数据失败")}finally{if(I===j.current)f(!1)}},[c,w,M]);o(()=>(T(),()=>{j.current++}),[T]);let C=g(()=>{if(!M)return null;if(M===U)return"独立聊天";return(A.find((O)=>O.id===M)??m?.projects.find((O)=>O.projectID===M))?.name??"指定项目"},[M,A,m]);return n(u,{title:C?n(y,{children:["统计 ",n("span",{className:"text-dim",children:["· ",C]})]}):"统计",description:"按项目、模型与工具统计活跃耗时与 Token 消耗。",actions:n(y,{children:[M&&t(p,{size:"sm",variant:"ghost",onClick:()=>F(null),children:"返回全部"}),t(e,{value:w,onChange:R,options:pe})]}),children:[k&&n("div",{className:"mb-4 flex items-center justify-between rounded-lg bg-danger/10 px-3 py-2 text-xs text-danger",children:[t("span",{children:k}),t(p,{size:"sm",variant:"ghost",onClick:()=>{T()},className:"text-danger hover:text-danger",children:"重试"})]}),l&&!m?t("div",{className:"flex justify-center py-12 text-xs text-faint",children:"正在加载统计…"}):!m?t("div",{className:v("surface.card","p-12 text-center text-sm text-dim"),children:"暂无统计数据"}):n("div",{className:"space-y-8",children:[t(d,{title:"核心总览",unboxed:!0,children:n("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[n("div",{className:v("surface.card","p-4"),children:[n("div",{className:"flex items-center justify-between gap-2 text-xs text-faint",children:[t("span",{children:"总 Token 消耗"}),n("span",{className:"font-mono tabular-nums",children:["缓存命中 ",L(m.overview.cacheHitRate)]})]}),t("div",{className:"mt-1.5 font-mono text-xl font-semibold tracking-tight text-ink tabular-nums",title:`${B(m.overview.totalTokens)} Token`,children:N(m.overview.totalTokens)}),n("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("span",{children:["输入 ",N(m.overview.inputTokens)]}),n("span",{children:["输出 ",N(m.overview.outputTokens)]}),n("span",{children:["缓存读 ",N(m.overview.cacheReadTokens)]})]})]}),n("div",{className:v("surface.card","p-4"),children:[n("div",{className:"flex items-center justify-between gap-2 text-xs text-faint",children:[t("span",{children:"活跃工作耗时"}),n("span",{className:"font-mono tabular-nums",children:["日均"," ",m.overview.activeDays>0?P(m.overview.activeDurationMs/m.overview.activeDays):"0s"]})]}),t("div",{className:"mt-1.5 font-mono text-xl font-semibold tracking-tight text-ink tabular-nums",children:P(m.overview.activeDurationMs)}),n("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("span",{children:["模型推理 ",P(m.overview.generationMs)]}),n("span",{children:["并发累计 ",P(m.overview.cumulativeRunDurationMs)]})]})]}),n("div",{className:v("surface.card","p-4"),children:[n("div",{className:"flex items-center justify-between gap-2 text-xs text-faint",children:[t("span",{children:"会话与工作流"}),n("span",{className:"font-mono tabular-nums",children:[m.overview.activeProjects,"/",m.overview.totalProjects," 活跃项目"]})]}),n("div",{className:"mt-1.5 font-mono text-xl font-semibold tracking-tight text-ink tabular-nums",children:[m.overview.sessionCount.toLocaleString()," 个会话"]}),n("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("span",{children:[m.overview.mainSessionCount," 主会话 / ",m.overview.subSessionCount," 子代理"]}),n("span",{children:[m.overview.userMessages," 提问 / ",m.overview.assistantTurns," 回复"]})]})]}),n("div",{className:v("surface.card","p-4"),children:[n("div",{className:"flex items-center justify-between gap-2 text-xs text-faint",children:[t("span",{children:"吞吐效率与调用"}),n("span",{className:"font-mono tabular-nums",children:[m.overview.compactions," 次折叠"]})]}),t("div",{className:"mt-1.5 font-mono text-xl font-semibold tracking-tight text-ink tabular-nums",children:m.overview.avgTps!==null?`${m.overview.avgTps.toFixed(1)} tok/s`:`${m.overview.toolCalls.toLocaleString()} 次调用`}),n("div",{className:"mt-1 flex flex-wrap items-center gap-x-3 gap-y-1 font-mono text-[11px] text-dim tabular-nums",children:[n("span",{children:[m.overview.toolCalls.toLocaleString()," 次工具调用"]}),n("span",{children:[m.overview.runCount.toLocaleString()," 次运行"]})]})]})]})}),t(re,{daily:m.daily}),t(ie,{daily:m.daily,hourly:m.hourly}),t(d,{title:"分类明细",action:t(e,{value:D,onChange:z,options:[{value:"projects",label:`项目消耗 (${m.projects.length})`},{value:"models",label:`模型分析 (${m.models.length})`},{value:"tools",label:`工具调用 (${m.tools.length})`},{value:"sessions",label:`高消耗会话 (${m.topSessions.length})`}]}),children:n("div",{className:"animate-fade",children:[D==="projects"&&t(te,{projects:m.projects,selectedProjectID:M,onSelectProject:F,onOpenSession:x}),D==="models"&&t(ae,{models:m.models}),D==="tools"&&t(ne,{tools:m.tools}),D==="sessions"&&t(se,{sessions:m.topSessions,onOpenSession:x})]},D)})]})]})}export{_e as StatsPage};
|
package/web/chunk-4r1n98zx.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{o,r,y,t,n,_,rn,qt,ve,Le}from"./chunk-j6a4z530.js";var L={running:"运行中",waiting:"等待回答",context_exhausted:"上下文耗尽",done:"完成",error:"失败",failed:"失败",aborted:"已取消",cancelled:"已取消",interrupted:"已中断"},W={running:"warning",waiting:"warning",context_exhausted:"warning",done:"success",error:"danger",failed:"danger",aborted:"neutral",cancelled:"neutral",interrupted:"warning"},N=(a)=>a>=1000?`${(a/1000).toFixed(a>=1e4?0:1)}k`:String(a),H=(a)=>a>=60000?`${Math.floor(a/60000)} 分 ${Math.round(a%60000/1000)} 秒`:`${Math.round(a/1000)} 秒`;function X(a){let{Button:I,Panel:R,StatusChip:T,Markdown:z,ModelIcon:M,cn:c,style:B,useTheme:U}=_();U();let{connection:h,sessionID:x,payload:A,onOpen:E}=a,e=A,[s,Q]=r(),[f,k]=r(),[S,C]=r(!1),[d,q]=r(!1),[F,O]=r(!1),p=F||e.state==="aborted"||e.state==="cancelled",m=p?"aborted":e.state,u=(e.state==="running"||e.state==="waiting")&&!p;o(()=>{let i,v=!1,D=()=>{h.request(`/api/sessions/${encodeURIComponent(x)}/tasks/${encodeURIComponent(e.childSessionID)}`).then((g)=>{if(!v)Q(g),k(void 0)}).catch((g)=>{if(!v)k(g instanceof Error?g.message:"任务详情加载失败")})};if(D(),u)i=setInterval(D,1500);return()=>{if(v=!0,i)clearInterval(i)}},[h,x,e.childSessionID,u]);let j=async()=>{if(S)return;C(!0);try{await h.request(`/api/sessions/${encodeURIComponent(x)}/tasks/${encodeURIComponent(e.childSessionID)}/kill`,{method:"POST"}),O(!0)}catch(i){k(i instanceof Error?i.message:"取消任务失败")}finally{C(!1)}},l=e.summary?.trim()||e.handoff?.conclusion.trim()||"",b=l.length>360||l.split(`
|
|
2
|
-
`).length>8,w=[s&&u&&s.lastTool&&`最近 ${s.lastTool}`,s&&H(s.elapsedMs),s&&`输入 ${N(s.usage.input)}`,s&&`输出 ${N(s.usage.output)}`,s&&s.usage.cacheRead>0&&`缓存 ${N(s.usage.cacheRead)}`,s&&s.usage.cost>0&&`$${s.usage.cost.toFixed(4)}`].filter(Boolean),G=Boolean(l||e.state==="waiting"&&!p||f),P=e.model||s?.session.model;return t(R,{className:"my-2 animate-fade",header:n(y,{children:[P?t(M,{modelID:P,className:"size-3.5 shrink-0",size:14}):t(Le,{className:c("size-3.5 shrink-0",u?"text-warning":"text-faint")}),t("h4",{className:"truncate font-medium text-ink",title:e.description,children:e.description}),w.length>0&&n("span",{className:"min-w-0 truncate text-faint tabular-nums",title:w.join(" · "),children:["· ",w.join(" · ")]})]}),actions:n(y,{children:[t(T,{tone:W[m]??"neutral",pulse:m==="running",children:L[m]??m}),u&&t(I,{size:"sm",variant:"danger-ghost",className:"h-6 rounded-md px-2 text-xs",disabled:S,onClick:()=>{j()},children:"取消"}),n(I,{size:"sm",variant:"ghost",className:"h-6 gap-1 rounded-md px-2 text-xs text-faint hover:text-ink",onClick:()=>E(e.childSessionID),children:["进入子会话",t(qt,{className:"size-3.5"})]})]}),children:G&&n(y,{children:[e.state==="waiting"&&!p&&n("div",{className:c("px-4 py-3",l&&"border-b border-line"),children:[n("p",{className:"flex items-center gap-1.5 text-xs font-medium text-warning",children:[t(rn,{className:"size-3.5"}),"子任务向主代理提问,等待回答"]}),e.pendingQuestions&&e.pendingQuestions.length>0&&t("ul",{className:"mt-1.5 flex flex-col gap-1 text-[13px] leading-relaxed text-ink",children:e.pendingQuestions.map((i)=>t("li",{className:"break-words",children:i.text},i.askedAt))})]}),l&&n("div",{className:"px-4 py-3",children:[n("div",{className:c("relative text-[13.5px] leading-[1.65] break-words text-ink/90 overflow-hidden transition-[max-height] duration-300 ease-out-quint [&_p]:my-1.5 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",b&&!d?"max-h-40":"max-h-[1800px]"),children:[t(z,{text:l}),b&&t("div",{className:c("pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-gradient-to-t from-panel via-panel/70 to-transparent transition-opacity duration-300",d?"opacity-0":"opacity-100")})]}),b&&n("button",{type:"button",className:B("chat.timelineRow","cursor-pointer select-none"),onClick:()=>q(!d),children:[t("span",{children:d?"收起":"展开全部"}),t(ve,{className:c("size-3.5 transition-transform duration-300 ease-out-quint",d&&"rotate-180")})]})]}),f&&t("p",{role:"status",className:"px-4 py-2.5 text-xs text-danger",children:f})]})})}export{X as TaskCard};
|
package/web/chunk-59678wmg.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Qn}from"./chunk-z1geewdf.js";export{Qn as default};
|
package/web/chunk-5wdk97mk.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{e,a,l,I,Tt,go,yt,tn,At,Zn,nn}from"./chunk-5v44qv67.js";import{xe,Oe,Qe,Ee,dt,Gt,H,me,it,Ht,ot,ur,da,pa,ma,bn,Ct,fa,xn,$e,_n,Ft,St,wn,Yt,kn,ha,ga,dr,_e,ya,Cn,Zt,Sn,pr,mr,Xt,va,fr,ba,Ur,pt,hr,xa,_a,wa,Ge,gr,yr,Tn,ka,vr,f,Je,mt,we,Kt,te}from"./chunk-xvcfp1zh.js";import{la,ca,W,Fn,to,ua,cr}from"./chunk-b985y17w.js";import{Rt}from"./chunk-j6a4z530.js";var br={};Rt(br,{default:()=>rr});var co=/\s/;function po(r){var t=r.length;while(t--&&co.test(r.charAt(t)));return t}var ee=po;var lo=/^\s+/;function mo(r){return r?r.slice(0,ee(r)+1).replace(lo,""):r}var ne=mo;var oe=NaN,ho=/^[-+]0x[0-9a-f]+$/i,vo=/^0b[01]+$/i,bo=/^0o[0-7]+$/i,yo=parseInt;function wo(r){if(typeof r=="number")return r;if(dt(r))return oe;if(me(r)){var t=typeof r.valueOf=="function"?r.valueOf():r;r=me(t)?t+"":t}if(typeof r!="string")return r===0?r:+r;r=ne(r);var n=vo.test(r);return n||bo.test(r)?yo(r.slice(2),n?2:8):ho.test(r)?oe:+r}var ie=wo;var ae=1/0,_o=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;function xo(r){if(!r)return r===0?r:0;if(r=ie(r),r===ae||r===-ae){var t=r<0?-1:1;return t*_o}return r===r?r:0}var V=xo;function Oo(r){var t=V(r),n=t%1;return t===t?n?t-n:t:0}var fe=Oo;var se=Object.create,Lo=function(){function r(){}return function(t){if(!me(t))return{};if(se)return se(t);r.prototype=t;var n=new r;return r.prototype=void 0,n}}(),ue=Lo;function Io(r,t){var n=-1,o=r.length;t||(t=Array(o));while(++n<o)t[n]=r[n];return t}var sr=Io;function No(r,t,n){if(t=="__proto__"&&ur)ur(r,t,{configurable:!0,enumerable:!0,value:n,writable:!0});else r[t]=n}var M=No;var Po=Object.prototype,ko=Po.hasOwnProperty;function Co(r,t,n){var o=r[t];if(!(ko.call(r,t)&&Ct(o,n))||n===void 0&&!(t in r))M(r,t,n)}var j=Co;function Ao(r,t,n,o){var i=!n;n||(n={});var s=-1,u=t.length;while(++s<u){var d=t[s],c=o?o(n[d],r[d],d,n,r):void 0;if(c===void 0)c=r[d];if(i)M(n,d,c);else j(n,d,c)}return n}var k=Ao;function Ro(r,t,n){if(!me(n))return!1;var o=typeof t;if(o=="number"?$e(n)&&bn(t,n.length):o=="string"&&(t in n))return Ct(n[t],r);return!1}var C=Ro;function Mo(r){return xn(function(t,n){var o=-1,i=n.length,s=i>1?n[i-1]:void 0,u=i>2?n[2]:void 0;if(s=r.length>3&&typeof s=="function"?(i--,s):void 0,u&&C(n[0],n[1],u))s=i<3?void 0:s,i=1;t=Object(t);while(++o<i){var d=n[o];if(d)r(t,d,o,s)}return t})}var de=Mo;function jo(r){var t=[];if(r!=null)for(var n in Object(r))t.push(n);return t}var ce=jo;var Bo=Object.prototype,Do=Bo.hasOwnProperty;function Fo(r){if(!me(r))return ce(r);var t=_n(r),n=[];for(var o in r)if(!(o=="constructor"&&(t||!Do.call(r,o))))n.push(o);return n}var pe=Fo;function Go(r){return $e(r)?ha(r,!0):pe(r)}var L=Go;function Xo(r){var t=r==null?0:r.length;return t?mr(r,1):[]}var N=Xo;function Uo(r){return da(fa(r,void 0,N),r+"")}var le=Uo;var Vo=ga(Object.getPrototypeOf,Object),Y=Vo;var Yo="[object Object]",zo=Function.prototype,Wo=Object.prototype,he=zo.toString,qo=Wo.hasOwnProperty,Ho=he.call(Object);function Ko(r){if(!Ee(r)||Qe(r)!=Yo)return!1;var t=Y(r);if(t===null)return!0;var n=qo.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&he.call(n)==Ho}var ge=Ko;var Jo="\\ud800-\\udfff",Zo="\\u0300-\\u036f",$o="\\ufe20-\\ufe2f",Qo="\\u20d0-\\u20ff",ri=Zo+$o+Qo,ei="\\ufe0e\\ufe0f",ti="\\u200d",ni=RegExp("["+ti+Jo+ri+ei+"]");function oi(r){return ni.test(r)}var ve=oi;function ii(r,t){return r&&k(t,_e(t),r)}var be=ii;function ai(r,t){return r&&k(t,L(t),r)}var ye=ai;var Ne=typeof br=="object"&&br&&!br.nodeType&&br,Le=Ne&&typeof lr=="object"&&lr&&!lr.nodeType&&lr,fi=Le&&Le.exports===Ne,Ie=fi?xe.Buffer:void 0,Se=Ie?Ie.allocUnsafe:void 0;function si(r,t){if(t)return r.slice();var n=r.length,o=Se?Se(n):new r.constructor(n);return r.copy(o),o}var rr=si;function ui(r,t){return k(r,fr(r),t)}var Pe=ui;var di=Object.getOwnPropertySymbols,ci=!di?va:function(r){var t=[];while(r)pr(t,fr(r)),r=Y(r);return t},wr=ci;function pi(r,t){return k(r,wr(r),t)}var ke=pi;function li(r){return ba(r,L,wr)}var Te=li;var mi=Object.prototype,hi=mi.hasOwnProperty;function gi(r){var t=r.length,n=new r.constructor(t);if(t&&typeof r[0]=="string"&&hi.call(r,"index"))n.index=r.index,n.input=r.input;return n}var Ce=gi;function vi(r){var t=new r.constructor(r.byteLength);return new hr(t).set(new hr(r)),t}var z=vi;function bi(r,t){var n=t?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.byteLength)}var Ae=bi;var yi=/\w*$/;function wi(r){var t=new r.constructor(r.source,yi.exec(r));return t.lastIndex=r.lastIndex,t}var Re=wi;var Me=Oe?Oe.prototype:void 0,je=Me?Me.valueOf:void 0;function _i(r){return je?Object(je.call(r)):{}}var Be=_i;function Ei(r,t){var n=t?z(r.buffer):r.buffer;return new r.constructor(n,r.byteOffset,r.length)}var _r=Ei;var xi="[object Boolean]",Oi="[object Date]",Li="[object Map]",Ii="[object Number]",Si="[object RegExp]",Ni="[object Set]",Pi="[object String]",ki="[object Symbol]",Ti="[object ArrayBuffer]",Ci="[object DataView]",Ai="[object Float32Array]",Ri="[object Float64Array]",Mi="[object Int8Array]",ji="[object Int16Array]",Bi="[object Int32Array]",Di="[object Uint8Array]",Fi="[object Uint8ClampedArray]",Gi="[object Uint16Array]",Xi="[object Uint32Array]";function Ui(r,t,n){var o=r.constructor;switch(t){case Ti:return z(r);case xi:case Oi:return new o(+r);case Ci:return Ae(r,n);case Ai:case Ri:case Mi:case ji:case Bi:case Di:case Fi:case Gi:case Xi:return _r(r,n);case Li:return new o;case Ii:case Pi:return new o(r);case Si:return Re(r);case Ni:return new o;case ki:return Be(r)}}var De=Ui;function Vi(r){return typeof r.constructor=="function"&&!_n(r)?ue(Y(r)):{}}var Er=Vi;var Yi="[object Map]";function zi(r){return Ee(r)&&pt(r)==Yi}var Fe=zi;var Xe=Yt&&Yt.isMap,Wi=Xe?wn(Xe):Fe,Ue=Wi;var qi="[object Set]";function Hi(r){return Ee(r)&&pt(r)==qi}var Ve=Hi;var Ye=Yt&&Yt.isSet,Ki=Ye?wn(Ye):Ve,ze=Ki;var Zi=1,$i=2,ra=4,We="[object Arguments]",ea="[object Array]",ta="[object Boolean]",na="[object Date]",oa="[object Error]",qe="[object Function]",ia="[object GeneratorFunction]",aa="[object Map]",sa="[object Number]",He="[object Object]",Ea="[object RegExp]",Oa="[object Set]",La="[object String]",Ia="[object Symbol]",Sa="[object WeakMap]",Na="[object ArrayBuffer]",Pa="[object DataView]",Ta="[object Float32Array]",Ca="[object Float64Array]",Aa="[object Int8Array]",Ra="[object Int16Array]",Ma="[object Int32Array]",ja="[object Uint8Array]",Ba="[object Uint8ClampedArray]",Da="[object Uint16Array]",Fa="[object Uint32Array]",x={};x[We]=x[ea]=x[Na]=x[Pa]=x[ta]=x[na]=x[Ta]=x[Ca]=x[Aa]=x[Ra]=x[Ma]=x[aa]=x[sa]=x[He]=x[Ea]=x[Oa]=x[La]=x[Ia]=x[ja]=x[Ba]=x[Da]=x[Fa]=!0;x[oa]=x[qe]=x[Sa]=!1;function xr(r,t,n,o,i,s){var u,d=t&Zi,c=t&$i,p=t&ra;if(n)u=i?n(r,o,i,s):n(r);if(u!==void 0)return u;if(!me(r))return r;var m=H(r);if(m){if(u=Ce(r),!d)return sr(r,u)}else{var h=pt(r),g=h==qe||h==ia;if(St(r))return rr(r,d);if(h==He||h==We||g&&!i){if(u=c||g?{}:Er(r),!d)return c?ke(r,ye(u,r)):Pe(r,be(u,r))}else{if(!x[h])return i?r:{};u=De(r,h,d)}}s||(s=new Xt);var b=s.get(r);if(b)return b;if(s.set(r,u),ze(r))r.forEach(function(v){u.add(xr(v,t,n,v,r,s))});else if(Ue(r))r.forEach(function(v,_){u.set(_,xr(v,t,n,_,r,s))});var w=p?c?Te:Ur:c?L:_e,y=m?void 0:w(r);return pa(y||r,function(v,_){if(y)_=v,v=r[_];j(u,_,xr(v,t,n,_,r,s))}),u}var Ke=xr;var Ga=1,Xa=4;function Ua(r){return Ke(r,Ga|Xa)}var Ze=Ua;var Va=function(){return xe.Date.now()},kr=Va;var rt=Object.prototype,Ya=rt.hasOwnProperty,za=xn(function(r,t){r=Object(r);var n=-1,o=t.length,i=o>2?t[2]:void 0;if(i&&C(t[0],t[1],i))o=1;while(++n<o){var s=t[n],u=L(s),d=-1,c=u.length;while(++d<c){var p=u[d],m=r[p];if(m===void 0||Ct(m,rt[p])&&!Ya.call(r,p))r[p]=s[p]}}return r}),et=za;function Wa(r,t,n){if(n!==void 0&&!Ct(r[t],n)||n===void 0&&!(t in r))M(r,t,n)}var er=Wa;function qa(r,t){if(t==="constructor"&&typeof r[t]==="function")return;if(t=="__proto__")return;return r[t]}var tr=qa;function Ha(r){return k(r,L(r))}var tt=Ha;function Ka(r,t,n,o,i,s,u){var d=tr(r,n),c=tr(t,n),p=u.get(c);if(p){er(r,n,p);return}var m=s?s(d,c,n+"",r,t,u):void 0,h=m===void 0;if(h){var g=H(c),b=!g&&St(c),w=!g&&!b&&kn(c);if(m=c,g||b||w)if(H(d))m=d;else if(ka(d))m=sr(d);else if(b)h=!1,m=rr(c,!0);else if(w)h=!1,m=_r(c,!0);else m=[];else if(ge(c)||Ft(c)){if(m=d,Ft(d))m=tt(d);else if(!me(d)||Ht(d))m=Er(c)}else h=!1}if(h)u.set(c,m),i(m,c,o,s,u),u.delete(c);er(r,n,m)}var nt=Ka;function at(r,t,n,o,i){if(r===t)return;gr(t,function(s,u){if(i||(i=new Xt),me(s))nt(r,t,u,n,at,o,i);else{var d=o?o(tr(r,u),s,u+"",r,t,i):void 0;if(d===void 0)d=s;er(r,u,d)}},L)}var ft=at;function Ja(r){var t=r==null?0:r.length;return t?r[t-1]:void 0}var X=Ja;function Za(r){return function(t,n,o){var i=Object(t);if(!$e(t)){var s=Ge(n,3);t=_e(t),n=function(d){return s(i[d],d,i)}}var u=r(t,n,o);return u>-1?i[s?t[u]:u]:void 0}}var st=Za;var $a=Math.max;function Qa(r,t,n){var o=r==null?0:r.length;if(!o)return-1;var i=n==null?0:fe(n);if(i<0)i=$a(o+i,0);return ma(r,Ge(t,3),i)}var ut=Qa;var rf=st(ut),nr=rf;function ef(r,t){var n=-1,o=$e(r)?Array(r.length):[];return Tn(r,function(i,s,u){o[++n]=t(i,s,u)}),o}var Or=ef;function tf(r,t){var n=H(r)?Gt:Or;return n(r,Ge(t,3))}var E=tf;function nf(r,t){return r==null?r:gr(r,vr(t),L)}var ct=nf;function of(r,t){return r&&yr(r,vr(t))}var lt=of;function af(r,t){return r>t}var ht=af;var ff=Object.prototype,sf=ff.hasOwnProperty;function uf(r,t){return r!=null&&sf.call(r,t)}var gt=uf;function df(r,t){return r!=null&&xa(r,t,gt)}var Lr=df;var cf="[object String]";function pf(r){return typeof r=="string"||!H(r)&&Ee(r)&&Qe(r)==cf}var vt=pf;function lf(r,t){return r<t}var Ir=lf;function mf(r,t){var n={};return t=Ge(t,3),yr(r,function(o,i,s){M(n,i,t(o,i,s))}),n}var q=mf;function hf(r,t,n){var o=-1,i=r.length;while(++o<i){var s=r[o],u=t(s);if(u!=null&&(d===void 0?u===u&&!dt(u):n(u,d)))var d=u,c=s}return c}var K=hf;function gf(r){return r&&r.length?K(r,it,ht):void 0}var S=gf;var vf=de(function(r,t,n){ft(r,t,n)}),or=vf;function bf(r){return r&&r.length?K(r,it,Ir):void 0}var B=bf;function yf(r,t){return r&&r.length?K(r,Ge(t,2),Ir):void 0}var J=yf;function wf(r,t,n,o){if(!me(r))return r;t=Cn(t,r);var i=-1,s=t.length,u=s-1,d=r;while(d!=null&&++i<s){var c=Zt(t[i]),p=n;if(c==="__proto__"||c==="constructor"||c==="prototype")return r;if(i!=u){var m=d[c];if(p=o?o(m,c,d):void 0,p===void 0)p=me(m)?m:bn(t[i+1])?[]:{}}j(d,c,p),d=d[c]}return r}var bt=wf;function _f(r,t,n){var o=-1,i=t.length,s={};while(++o<i){var u=t[o],d=Sn(r,u);if(n(d,u))bt(s,Cn(u,r),d)}return s}var wt=_f;function Ef(r,t){var n=r.length;r.sort(t);while(n--)r[n]=r[n].value;return r}var _t=Ef;function xf(r,t){if(r!==t){var n=r!==void 0,o=r===null,i=r===r,s=dt(r),u=t!==void 0,d=t===null,c=t===t,p=dt(t);if(!d&&!p&&!s&&r>t||s&&u&&c&&!d&&!p||o&&u&&c||!n&&c||!i)return 1;if(!o&&!s&&!p&&r<t||p&&n&&i&&!o&&!s||d&&n&&i||!u&&i||!c)return-1}return 0}var Et=xf;function Of(r,t,n){var o=-1,i=r.criteria,s=t.criteria,u=i.length,d=n.length;while(++o<u){var c=Et(i[o],s[o]);if(c){if(o>=d)return c;var p=n[o];return c*(p=="desc"?-1:1)}}return r.index-t.index}var xt=Of;function Lf(r,t,n){if(t.length)t=Gt(t,function(s){if(H(s))return function(u){return Sn(u,s.length===1?s[0]:s)};return s});else t=[it];var o=-1;t=Gt(t,wn(Ge));var i=Or(r,function(s,u,d){var c=Gt(t,function(p){return p(s)});return{criteria:c,index:++o,value:s}});return _t(i,function(s,u){return xt(s,u,n)})}var Ot=Lf;var If=wa("length"),Lt=If;var Nt="\\ud800-\\udfff",Sf="\\u0300-\\u036f",Nf="\\ufe20-\\ufe2f",Pf="\\u20d0-\\u20ff",kf=Sf+Nf+Pf,Tf="\\ufe0e\\ufe0f",Cf="["+Nt+"]",Tr="["+kf+"]",Cr="\\ud83c[\\udffb-\\udfff]",Af="(?:"+Tr+"|"+Cr+")",Pt="[^"+Nt+"]",kt="(?:\\ud83c[\\udde6-\\uddff]){2}",Mt="[\\ud800-\\udbff][\\udc00-\\udfff]",Rf="\\u200d",jt=Af+"?",Bt="["+Tf+"]?",Mf="(?:"+Rf+"(?:"+[Pt,kt,Mt].join("|")+")"+Bt+jt+")*",jf=Bt+jt+Mf,Bf="(?:"+[Pt+Tr+"?",Tr,kt,Mt,Cf].join("|")+")",It=RegExp(Cr+"(?="+Cr+")|"+Bf+jf,"g");function Df(r){var t=It.lastIndex=0;while(It.test(r))++t;return t}var Dt=Df;function Ff(r){return ve(r)?Dt(r):Lt(r)}var Ut=Ff;function Gf(r,t){return wt(r,t,function(n,o){return _a(r,o)})}var Vt=Gf;var Xf=le(function(r,t){return r==null?{}:Vt(r,t)}),Z=Xf;var{ceil:Uf,max:Vf}=Math;function Yf(r,t,n,o){var i=-1,s=Vf(Uf((t-r)/(n||1)),0),u=Array(s);while(s--)u[o?s:++i]=r,r+=n;return u}var zt=Yf;function zf(r){return function(t,n,o){if(o&&typeof o!="number"&&C(t,n,o))n=o=void 0;if(t=V(t),n===void 0)n=t,t=0;else n=V(n);return o=o===void 0?t<n?1:-1:V(o),zt(t,n,o,r)}}var Wt=zf;var Wf=Wt(),P=Wf;var qf="[object Map]",Hf="[object Set]";function Kf(r){if(r==null)return 0;if($e(r))return vt(r)?Ut(r):r.length;var t=pt(r);if(t==qf||t==Hf)return r.size;return dr(r).length}var qt=Kf;var Jf=xn(function(r,t){if(r==null)return[];var n=t.length;if(n>1&&C(r,t[0],t[1]))t=[];else if(n>2&&C(t[0],t[1],t[2]))t=[t[0]];return Ot(r,mr(t,1),[])}),A=Jf;var Zf=0;function $f(r){var t=++Zf;return ya(r)+t}var Q=$f;function Qf(r,t,n){var o=-1,i=r.length,s=t.length,u={};while(++o<i){var d=o<s?t[o]:void 0;n(u,r[o],d)}return u}var Jt=Qf;function rs(r,t){return Jt(r||[],t||[],j)}var Ar=rs;class Rr{constructor(){var r={};r._next=r._prev=r,this._sentinel=r}dequeue(){var r=this._sentinel,t=r._prev;if(t!==r)return $t(t),t}enqueue(r){var t=this._sentinel;if(r._prev&&r._next)$t(r);r._next=t._next,t._next._prev=r,t._next=r,r._prev=t}toString(){var r=[],t=this._sentinel,n=t._prev;while(n!==t)r.push(JSON.stringify(n,es)),n=n._prev;return"["+r.join(", ")+"]"}}function $t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function es(r,t){if(r!=="_next"&&r!=="_prev")return t}var ts=ot(1);function Qt(r,t){if(r.nodeCount()<=1)return[];var n=os(r,t||ts),o=ns(n.graph,n.buckets,n.zeroIdx);return N(E(o,function(i){return r.outEdges(i.v,i.w)}))}function ns(r,t,n){var o=[],i=t[t.length-1],s=t[0],u;while(r.nodeCount()){while(u=s.dequeue())Mr(r,t,n,u);while(u=i.dequeue())Mr(r,t,n,u);if(r.nodeCount()){for(var d=t.length-2;d>0;--d)if(u=t[d].dequeue(),u){o=o.concat(Mr(r,t,n,u,!0));break}}}return o}function Mr(r,t,n,o,i){var s=i?[]:void 0;return f(r.inEdges(o.v),function(u){var d=r.edge(u),c=r.node(u.v);if(i)s.push({v:u.v,w:u.w});c.out-=d,jr(t,n,c)}),f(r.outEdges(o.v),function(u){var d=r.edge(u),c=u.w,p=r.node(c);p.in-=d,jr(t,n,p)}),r.removeNode(o.v),s}function os(r,t){var n=new te,o=0,i=0;f(r.nodes(),function(d){n.setNode(d,{v:d,in:0,out:0})}),f(r.edges(),function(d){var c=n.edge(d.v,d.w)||0,p=t(d),m=c+p;n.setEdge(d.v,d.w,m),i=Math.max(i,n.node(d.v).out+=p),o=Math.max(o,n.node(d.w).in+=p)});var s=P(i+o+3).map(function(){return new Rr}),u=o+1;return f(n.nodes(),function(d){jr(s,u,n.node(d))}),{graph:n,buckets:s,zeroIdx:u}}function jr(r,t,n){if(!n.out)r[0].enqueue(n);else if(!n.in)r[r.length-1].enqueue(n);else r[n.out-n.in+t].enqueue(n)}function rn(r){var t=r.graph().acyclicer==="greedy"?Qt(r,n(r)):is(r);f(t,function(o){var i=r.edge(o);r.removeEdge(o),i.forwardName=o.name,i.reversed=!0,r.setEdge(o.w,o.v,i,Q("rev"))});function n(o){return function(i){return o.edge(i).weight}}}function is(r){var t=[],n={},o={};function i(s){if(Object.prototype.hasOwnProperty.call(o,s))return;o[s]=!0,n[s]=!0,f(r.outEdges(s),function(u){if(Object.prototype.hasOwnProperty.call(n,u.w))t.push(u);else i(u.w)}),delete n[s]}return f(r.nodes(),i),t}function en(r){f(r.edges(),function(t){var n=r.edge(t);if(n.reversed){r.removeEdge(t);var o=n.forwardName;delete n.reversed,delete n.forwardName,r.setEdge(t.w,t.v,n,o)}})}function T(r,t,n,o){var i;do i=Q(o);while(r.hasNode(i));return n.dummy=t,r.setNode(i,n),i}function an(r){var t=new te().setGraph(r.graph());return f(r.nodes(),function(n){t.setNode(n,r.node(n))}),f(r.edges(),function(n){var o=t.edge(n.v,n.w)||{weight:0,minlen:1},i=r.edge(n);t.setEdge(n.v,n.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),t}function Sr(r){var t=new te({multigraph:r.isMultigraph()}).setGraph(r.graph());return f(r.nodes(),function(n){if(!r.children(n).length)t.setNode(n,r.node(n))}),f(r.edges(),function(n){t.setEdge(n,r.edge(n))}),t}function Br(r,t){var{x:n,y:o}=r,i=t.x-n,s=t.y-o,u=r.width/2,d=r.height/2;if(!i&&!s)throw Error("Not possible to find intersection inside of the rectangle");var c,p;if(Math.abs(s)*u>Math.abs(i)*d){if(s<0)d=-d;c=d*i/s,p=d}else{if(i<0)u=-u;c=u,p=u*s/i}return{x:n+c,y:o+p}}function D(r){var t=E(P(Fr(r)+1),function(){return[]});return f(r.nodes(),function(n){var o=r.node(n),i=o.rank;if(!we(i))t[i][o.order]=n}),t}function fn(r){var t=B(E(r.nodes(),function(n){return r.node(n).rank}));f(r.nodes(),function(n){var o=r.node(n);if(Lr(o,"rank"))o.rank-=t})}function sn(r){var t=B(E(r.nodes(),function(s){return r.node(s).rank})),n=[];f(r.nodes(),function(s){var u=r.node(s).rank-t;if(!n[u])n[u]=[];n[u].push(s)});var o=0,i=r.graph().nodeRankFactor;f(n,function(s,u){if(we(s)&&u%i!==0)--o;else if(o)f(s,function(d){r.node(d).rank+=o})})}function Dr(r,t,n,o){var i={width:0,height:0};if(arguments.length>=4)i.rank=n,i.order=o;return T(r,"border",i,t)}function Fr(r){return S(E(r.nodes(),function(t){var n=r.node(t).rank;if(!we(n))return n}))}function un(r,t){var n={lhs:[],rhs:[]};return f(r,function(o){if(t(o))n.lhs.push(o);else n.rhs.push(o)}),n}function dn(r,t){var n=kr();try{return t()}finally{console.log(r+" time: "+(kr()-n)+"ms")}}function cn(r,t){return t()}function ln(r){function t(n){var o=r.children(n),i=r.node(n);if(o.length)f(o,t);if(Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var s=i.minRank,u=i.maxRank+1;s<u;++s)pn(r,"borderLeft","_bl",n,i,s),pn(r,"borderRight","_br",n,i,s)}}f(r.children(),t)}function pn(r,t,n,o,i,s){var u={width:0,height:0,rank:s,borderType:t},d=i[t][s-1],c=T(r,"border",u,n);if(i[t][s]=c,r.setParent(c,o),d)r.setEdge(d,c,{weight:1})}function hn(r){var t=r.graph().rankdir.toLowerCase();if(t==="lr"||t==="rl")vn(r)}function gn(r){var t=r.graph().rankdir.toLowerCase();if(t==="bt"||t==="rl")as(r);if(t==="lr"||t==="rl")fs(r),vn(r)}function vn(r){f(r.nodes(),function(t){mn(r.node(t))}),f(r.edges(),function(t){mn(r.edge(t))})}function mn(r){var t=r.width;r.width=r.height,r.height=t}function as(r){f(r.nodes(),function(t){Gr(r.node(t))}),f(r.edges(),function(t){var n=r.edge(t);if(f(n.points,Gr),Object.prototype.hasOwnProperty.call(n,"y"))Gr(n)})}function Gr(r){r.y=-r.y}function fs(r){f(r.nodes(),function(t){Xr(r.node(t))}),f(r.edges(),function(t){var n=r.edge(t);if(f(n.points,Xr),Object.prototype.hasOwnProperty.call(n,"x"))Xr(n)})}function Xr(r){var t=r.x;r.x=r.y,r.y=t}function yn(r){r.graph().dummyChains=[],f(r.edges(),function(t){us(r,t)})}function us(r,t){var n=t.v,o=r.node(n).rank,i=t.w,s=r.node(i).rank,u=t.name,d=r.edge(t),c=d.labelRank;if(s===o+1)return;r.removeEdge(t);var p=void 0,m,h;for(h=0,++o;o<s;++h,++o){if(d.points=[],p={width:0,height:0,edgeLabel:d,edgeObj:t,rank:o},m=T(r,"edge",p,"_d"),o===c)p.width=d.width,p.height=d.height,p.dummy="edge-label",p.labelpos=d.labelpos;if(r.setEdge(n,m,{weight:d.weight},u),h===0)r.graph().dummyChains.push(m);n=m}r.setEdge(n,i,{weight:d.weight},u)}function En(r){f(r.graph().dummyChains,function(t){var n=r.node(t),o=n.edgeLabel,i;r.setEdge(n.edgeObj,o);while(n.dummy){if(i=r.successors(t)[0],r.removeNode(t),o.points.push({x:n.x,y:n.y}),n.dummy==="edge-label")o.x=n.x,o.y=n.y,o.width=n.width,o.height=n.height;t=i,n=r.node(t)}})}function ir(r){var t={};function n(o){var i=r.node(o);if(Object.prototype.hasOwnProperty.call(t,o))return i.rank;t[o]=!0;var s=B(E(r.outEdges(o),function(u){return n(u.w)-r.edge(u).minlen}));if(s===Number.POSITIVE_INFINITY||s===void 0||s===null)s=0;return i.rank=s}f(r.sources(),n)}function U(r,t){return r.node(t.w).rank-r.node(t.v).rank-r.edge(t).minlen}function Nr(r){var t=new te({directed:!1}),n=r.nodes()[0],o=r.nodeCount();t.setNode(n,{});var i,s;while(ds(t,r)<o)i=cs(t,r),s=t.hasNode(i.v)?U(r,i):-U(r,i),ps(t,r,s);return t}function ds(r,t){function n(o){f(t.nodeEdges(o),function(i){var s=i.v,u=o===s?i.w:s;if(!r.hasNode(u)&&!U(t,i))r.setNode(u,{}),r.setEdge(o,u,{}),n(u)})}return f(r.nodes(),n),r.nodeCount()}function cs(r,t){return J(t.edges(),function(n){if(r.hasNode(n.v)!==r.hasNode(n.w))return U(t,n)})}function ps(r,t,n){f(r.nodes(),function(o){t.node(o).rank+=n})}var dh=ot(1);var vh=ot(1);Vr.CycleException=ar;function Vr(r){var t={},n={},o=[];function i(s){if(Object.prototype.hasOwnProperty.call(n,s))throw new ar;if(!Object.prototype.hasOwnProperty.call(t,s))n[s]=!0,t[s]=!0,f(r.predecessors(s),i),delete n[s],o.push(s)}if(f(r.sinks(),i),qt(t)!==r.nodeCount())throw new ar;return o}function ar(){}ar.prototype=Error();function Pr(r,t,n){if(!H(t))t=[t];var o=(r.isDirected()?r.successors:r.neighbors).bind(r),i=[],s={};return f(t,function(u){if(!r.hasNode(u))throw Error("Graph does not have node: "+u);Ln(r,u,n==="post",s,o,i)}),i}function Ln(r,t,n,o,i,s){if(!Object.prototype.hasOwnProperty.call(o,t)){if(o[t]=!0,!n)s.push(t);if(f(i(t),function(u){Ln(r,u,n,o,i,s)}),n)s.push(t)}}function Yr(r,t){return Pr(r,t,"post")}function zr(r,t){return Pr(r,t,"pre")}G.initLowLimValues=qr;G.initCutValues=Wr;G.calcCutValue=Nn;G.leaveEdge=An;G.enterEdge=Rn;G.exchangeEdges=Mn;function G(r){r=an(r),ir(r);var t=Nr(r);qr(t),Wr(t,r);var n,o;while(n=An(t))o=Rn(t,r,n),Mn(t,r,n,o)}function Wr(r,t){var n=Yr(r,r.nodes());n=n.slice(0,n.length-1),f(n,function(o){vs(r,t,o)})}function vs(r,t,n){var o=r.node(n),i=o.parent;r.edge(n,i).cutvalue=Nn(r,t,n)}function Nn(r,t,n){var o=r.node(n),i=o.parent,s=!0,u=t.edge(n,i),d=0;if(!u)s=!1,u=t.edge(i,n);return d=u.weight,f(t.nodeEdges(n),function(c){var p=c.v===n,m=p?c.w:c.v;if(m!==i){var h=p===s,g=t.edge(c).weight;if(d+=h?g:-g,ys(r,n,m)){var b=r.edge(n,m).cutvalue;d+=h?-b:b}}}),d}function qr(r,t){if(arguments.length<2)t=r.nodes()[0];Pn(r,{},1,t)}function Pn(r,t,n,o,i){var s=n,u=r.node(o);if(t[o]=!0,f(r.neighbors(o),function(d){if(!Object.prototype.hasOwnProperty.call(t,d))n=Pn(r,t,n,d,o)}),u.low=s,u.lim=n++,i)u.parent=i;else delete u.parent;return n}function An(r){return nr(r.edges(),function(t){return r.edge(t).cutvalue<0})}function Rn(r,t,n){var{v:o,w:i}=n;if(!t.hasEdge(o,i))o=n.w,i=n.v;var s=r.node(o),u=r.node(i),d=s,c=!1;if(s.lim>u.lim)d=u,c=!0;var p=Je(t.edges(),function(m){return c===In(r,r.node(m.v),d)&&c!==In(r,r.node(m.w),d)});return J(p,function(m){return U(t,m)})}function Mn(r,t,n,o){var{v:i,w:s}=n;r.removeEdge(i,s),r.setEdge(o.v,o.w,{}),qr(r),Wr(r,t),bs(r,t)}function bs(r,t){var n=nr(r.nodes(),function(i){return!t.node(i).parent}),o=zr(r,n);o=o.slice(1),f(o,function(i){var s=r.node(i).parent,u=t.edge(i,s),d=!1;if(!u)u=t.edge(s,i),d=!0;t.node(i).rank=t.node(s).rank+(d?u.minlen:-u.minlen)})}function ys(r,t,n){return r.hasEdge(t,n)}function In(r,t,n){return n.low<=t.lim&&t.lim<=n.lim}function Hr(r){switch(r.graph().ranker){case"network-simplex":jn(r);break;case"tight-tree":_s(r);break;case"longest-path":ws(r);break;default:jn(r)}}var ws=ir;function _s(r){ir(r),Nr(r)}function jn(r){G(r)}function Bn(r){var t=T(r,"root",{},"_root"),n=Es(r),o=S(mt(n))-1,i=2*o+1;r.graph().nestingRoot=t,f(r.edges(),function(u){r.edge(u).minlen*=i});var s=xs(r)+1;f(r.children(),function(u){Dn(r,t,i,s,o,n,u)}),r.graph().nodeRankFactor=i}function Dn(r,t,n,o,i,s,u){var d=r.children(u);if(!d.length){if(u!==t)r.setEdge(t,u,{weight:0,minlen:n});return}var c=Dr(r,"_bt"),p=Dr(r,"_bb"),m=r.node(u);if(r.setParent(c,u),m.borderTop=c,r.setParent(p,u),m.borderBottom=p,f(d,function(h){Dn(r,t,n,o,i,s,h);var g=r.node(h),b=g.borderTop?g.borderTop:h,w=g.borderBottom?g.borderBottom:h,y=g.borderTop?o:2*o,v=b!==w?1:i-s[u]+1;r.setEdge(c,b,{weight:y,minlen:v,nestingEdge:!0}),r.setEdge(w,p,{weight:y,minlen:v,nestingEdge:!0})}),!r.parent(u))r.setEdge(t,c,{weight:0,minlen:i+s[u]})}function Es(r){var t={};function n(o,i){var s=r.children(o);if(s&&s.length)f(s,function(u){n(u,i+1)});t[o]=i}return f(r.children(),function(o){n(o,1)}),t}function xs(r){return Kt(r.edges(),function(t,n){return t+r.edge(n).weight},0)}function Gn(r){var t=r.graph();r.removeNode(t.nestingRoot),delete t.nestingRoot,f(r.edges(),function(n){var o=r.edge(n);if(o.nestingEdge)r.removeEdge(n)})}function Xn(r,t,n){var o={},i;f(n,function(s){var u=r.parent(s),d,c;while(u){if(d=r.parent(u),d)c=o[d],o[d]=u;else c=i,i=u;if(c&&c!==u){t.setEdge(c,u);return}u=d}})}function Un(r,t,n){var o=Ls(r),i=new te({compound:!0}).setGraph({root:o}).setDefaultNodeLabel(function(s){return r.node(s)});return f(r.nodes(),function(s){var u=r.node(s),d=r.parent(s);if(u.rank===t||u.minRank<=t&&t<=u.maxRank){if(i.setNode(s),i.setParent(s,d||o),f(r[n](s),function(c){var p=c.v===s?c.w:c.v,m=i.edge(p,s),h=!we(m)?m.weight:0;i.setEdge(p,s,{weight:r.edge(c).weight+h})}),Object.prototype.hasOwnProperty.call(u,"minRank"))i.setNode(s,{borderLeft:u.borderLeft[t],borderRight:u.borderRight[t]})}}),i}function Ls(r){var t;while(r.hasNode(t=Q("_root")));return t}function Vn(r,t){var n=0;for(var o=1;o<t.length;++o)n+=Is(r,t[o-1],t[o]);return n}function Is(r,t,n){var o=Ar(n,E(n,function(p,m){return m})),i=N(E(t,function(p){return A(E(r.outEdges(p),function(m){return{pos:o[m.w],weight:r.edge(m).weight}}),"pos")})),s=1;while(s<n.length)s<<=1;var u=2*s-1;s-=1;var d=E(Array(u),function(){return 0}),c=0;return f(i.forEach(function(p){var m=p.pos+s;d[m]+=p.weight;var h=0;while(m>0){if(m%2)h+=d[m+1];m=m-1>>1,d[m]+=p.weight}c+=p.weight*h})),c}function Yn(r){var t={},n=Je(r.nodes(),function(d){return!r.children(d).length}),o=S(E(n,function(d){return r.node(d).rank})),i=E(P(o+1),function(){return[]});function s(d){if(Lr(t,d))return;t[d]=!0;var c=r.node(d);i[c.rank].push(d),f(r.successors(d),s)}var u=A(n,function(d){return r.node(d).rank});return f(u,s),i}function zn(r,t){return E(t,function(n){var o=r.inEdges(n);if(!o.length)return{v:n};else{var i=Kt(o,function(s,u){var d=r.edge(u),c=r.node(u.v);return{sum:s.sum+d.weight*c.order,weight:s.weight+d.weight}},{sum:0,weight:0});return{v:n,barycenter:i.sum/i.weight,weight:i.weight}}})}function Wn(r,t){var n={};f(r,function(i,s){var u=n[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:s};if(!we(i.barycenter))u.barycenter=i.barycenter,u.weight=i.weight}),f(t.edges(),function(i){var s=n[i.v],u=n[i.w];if(!we(s)&&!we(u))u.indegree++,s.out.push(n[i.w])});var o=Je(n,function(i){return!i.indegree});return Ss(o)}function Ss(r){var t=[];function n(s){return function(u){if(u.merged)return;if(we(u.barycenter)||we(s.barycenter)||u.barycenter>=s.barycenter)Ns(s,u)}}function o(s){return function(u){if(u.in.push(s),--u.indegree===0)r.push(u)}}while(r.length){var i=r.pop();t.push(i),f(i.in.reverse(),n(i)),f(i.out,o(i))}return E(Je(t,function(s){return!s.merged}),function(s){return Z(s,["vs","i","barycenter","weight"])})}function Ns(r,t){var n=0,o=0;if(r.weight)n+=r.barycenter*r.weight,o+=r.weight;if(t.weight)n+=t.barycenter*t.weight,o+=t.weight;r.vs=t.vs.concat(r.vs),r.barycenter=n/o,r.weight=o,r.i=Math.min(t.i,r.i),t.merged=!0}function Hn(r,t){var n=un(r,function(m){return Object.prototype.hasOwnProperty.call(m,"barycenter")}),o=n.lhs,i=A(n.rhs,function(m){return-m.i}),s=[],u=0,d=0,c=0;o.sort(Ps(!!t)),c=qn(s,i,c),f(o,function(m){c+=m.vs.length,s.push(m.vs),u+=m.barycenter*m.weight,d+=m.weight,c=qn(s,i,c)});var p={vs:N(s)};if(d)p.barycenter=u/d,p.weight=d;return p}function qn(r,t,n){var o;while(t.length&&(o=X(t)).i<=n)t.pop(),r.push(o.vs),n++;return n}function Ps(r){return function(t,n){if(t.barycenter<n.barycenter)return-1;else if(t.barycenter>n.barycenter)return 1;return!r?t.i-n.i:n.i-t.i}}function Kr(r,t,n,o){var i=r.children(t),s=r.node(t),u=s?s.borderLeft:void 0,d=s?s.borderRight:void 0,c={};if(u)i=Je(i,function(w){return w!==u&&w!==d});var p=zn(r,i);f(p,function(w){if(r.children(w.v).length){var y=Kr(r,w.v,n,o);if(c[w.v]=y,Object.prototype.hasOwnProperty.call(y,"barycenter"))Ts(w,y)}});var m=Wn(p,n);ks(m,c);var h=Hn(m,o);if(u){if(h.vs=N([u,h.vs,d]),r.predecessors(u).length){var g=r.node(r.predecessors(u)[0]),b=r.node(r.predecessors(d)[0]);if(!Object.prototype.hasOwnProperty.call(h,"barycenter"))h.barycenter=0,h.weight=0;h.barycenter=(h.barycenter*h.weight+g.order+b.order)/(h.weight+2),h.weight+=2}}return h}function ks(r,t){f(r,function(n){n.vs=N(n.vs.map(function(o){if(t[o])return t[o].vs;return o}))})}function Ts(r,t){if(!we(r.barycenter))r.barycenter=(r.barycenter*r.weight+t.barycenter*t.weight)/(r.weight+t.weight),r.weight+=t.weight;else r.barycenter=t.barycenter,r.weight=t.weight}function $n(r){var t=Fr(r),n=Kn(r,P(1,t+1),"inEdges"),o=Kn(r,P(t-1,-1,-1),"outEdges"),i=Yn(r);Jn(r,i);var s=Number.POSITIVE_INFINITY,u;for(var d=0,c=0;c<4;++d,++c){Cs(d%2?n:o,d%4>=2),i=D(r);var p=Vn(r,i);if(p<s)c=0,u=Ze(i),s=p}Jn(r,u)}function Kn(r,t,n){return E(t,function(o){return Un(r,o,n)})}function Cs(r,t){var n=new te;f(r,function(o){var i=o.graph().root,s=Kr(o,i,n,t);f(s.vs,function(u,d){o.node(u).order=d}),Xn(o,n,s.vs)})}function Jn(r,t){f(t,function(n){f(n,function(o,i){r.node(o).order=i})})}function Qn(r){var t=Rs(r);f(r.graph().dummyChains,function(n){var o=r.node(n),i=o.edgeObj,s=As(r,t,i.v,i.w),{path:u,lca:d}=s,c=0,p=u[c],m=!0;while(n!==i.w){if(o=r.node(n),m){while((p=u[c])!==d&&r.node(p).maxRank<o.rank)c++;if(p===d)m=!1}if(!m){while(c<u.length-1&&r.node(p=u[c+1]).minRank<=o.rank)c++;p=u[c]}r.setParent(n,p),n=r.successors(n)[0]}})}function As(r,t,n,o){var i=[],s=[],u=Math.min(t[n].low,t[o].low),d=Math.max(t[n].lim,t[o].lim),c,p;c=n;do c=r.parent(c),i.push(c);while(c&&(t[c].low>u||d>t[c].lim));p=c,c=o;while((c=r.parent(c))!==p)s.push(c);return{path:i.concat(s.reverse()),lca:p}}function Rs(r){var t={},n=0;function o(i){var s=n;f(r.children(i),o),t[i]={low:s,lim:n++}}return f(r.children(),o),t}function Ms(r,t){var n={};function o(i,s){var u=0,d=0,c=i.length,p=X(s);return f(s,function(m,h){var g=Bs(r,m),b=g?r.node(g).order:c;if(g||m===p)f(s.slice(d,h+1),function(w){f(r.predecessors(w),function(y){var v=r.node(y),_=v.order;if((_<u||b<_)&&!(v.dummy&&r.node(w).dummy))ro(n,y,w)})}),d=h+1,u=b}),s}return Kt(t,o),n}function js(r,t){var n={};function o(s,u,d,c,p){var m;f(P(u,d),function(h){if(m=s[h],r.node(m).dummy)f(r.predecessors(m),function(g){var b=r.node(g);if(b.dummy&&(b.order<c||b.order>p))ro(n,g,m)})})}function i(s,u){var d=-1,c,p=0;return f(u,function(m,h){if(r.node(m).dummy==="border"){var g=r.predecessors(m);if(g.length)c=r.node(g[0]).order,o(u,p,h,d,c),p=h,d=c}o(u,p,u.length,c,s.length)}),u}return Kt(t,i),n}function Bs(r,t){if(r.node(t).dummy)return nr(r.predecessors(t),function(n){return r.node(n).dummy})}function ro(r,t,n){if(t>n){var o=t;t=n,n=o}if(!Object.prototype.hasOwnProperty.call(r,t))Object.defineProperty(r,t,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=r[t];Object.defineProperty(i,n,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function Ds(r,t,n){if(t>n){var o=t;t=n,n=o}return!!r[t]&&Object.prototype.hasOwnProperty.call(r[t],n)}function Fs(r,t,n,o){var i={},s={},u={};return f(t,function(d){f(d,function(c,p){i[c]=c,s[c]=c,u[c]=p})}),f(t,function(d){var c=-1;f(d,function(p){var m=o(p);if(m.length){m=A(m,function(y){return u[y]});var h=(m.length-1)/2;for(var g=Math.floor(h),b=Math.ceil(h);g<=b;++g){var w=m[g];if(s[p]===p&&c<u[w]&&!Ds(n,p,w))s[w]=p,s[p]=i[p]=i[w],c=u[w]}}})}),{root:i,align:s}}function Gs(r,t,n,o,i){var s={},u=Xs(r,t,n,i),d=i?"borderLeft":"borderRight";function c(h,g){var b=u.nodes(),w=b.pop(),y={};while(w){if(y[w])h(w);else y[w]=!0,b.push(w),b=b.concat(g(w));w=b.pop()}}function p(h){s[h]=u.inEdges(h).reduce(function(g,b){return Math.max(g,s[b.v]+u.edge(b))},0)}function m(h){var g=u.outEdges(h).reduce(function(w,y){return Math.min(w,s[y.w]-u.edge(y))},Number.POSITIVE_INFINITY),b=r.node(h);if(g!==Number.POSITIVE_INFINITY&&b.borderType!==d)s[h]=Math.max(s[h],g)}return c(p,u.predecessors.bind(u)),c(m,u.successors.bind(u)),f(o,function(h){s[h]=s[n[h]]}),s}function Xs(r,t,n,o){var i=new te,s=r.graph(),u=zs(s.nodesep,s.edgesep,o);return f(t,function(d){var c;f(d,function(p){var m=n[p];if(i.setNode(m),c){var h=n[c],g=i.edge(h,m);i.setEdge(h,m,Math.max(u(r,p,c),g||0))}c=p})}),i}function Us(r,t){return J(mt(t),function(n){var{NEGATIVE_INFINITY:o,POSITIVE_INFINITY:i}=Number;return ct(n,function(s,u){var d=Ws(r,u)/2;o=Math.max(s+d,o),i=Math.min(s-d,i)}),o-i})}function Vs(r,t){var n=mt(t),o=B(n),i=S(n);f(["u","d"],function(s){f(["l","r"],function(u){var d=s+u,c=r[d],p;if(c===t)return;var m=mt(c);if(p=u==="l"?o-B(m):i-S(m),p)r[d]=q(c,function(h){return h+p})})})}function Ys(r,t){return q(r.ul,function(n,o){if(t)return r[t.toLowerCase()][o];else{var i=A(E(r,o));return(i[1]+i[2])/2}})}function no(r){var t=D(r),n=or(Ms(r,t),js(r,t)),o={},i;f(["u","d"],function(u){i=u==="u"?t:mt(t).reverse(),f(["l","r"],function(d){if(d==="r")i=E(i,function(h){return mt(h).reverse()});var c=(u==="u"?r.predecessors:r.successors).bind(r),p=Fs(r,i,n,c),m=Gs(r,i,p.root,p.align,d==="r");if(d==="r")m=q(m,function(h){return-h});o[u+d]=m})});var s=Us(r,o);return Vs(o,s),Ys(o,r.graph().align)}function zs(r,t,n){return function(o,i,s){var u=o.node(i),d=o.node(s),c=0,p;if(c+=u.width/2,Object.prototype.hasOwnProperty.call(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":p=-u.width/2;break;case"r":p=u.width/2;break}if(p)c+=n?p:-p;if(p=0,c+=(u.dummy?t:r)/2,c+=(d.dummy?t:r)/2,c+=d.width/2,Object.prototype.hasOwnProperty.call(d,"labelpos"))switch(d.labelpos.toLowerCase()){case"l":p=d.width/2;break;case"r":p=-d.width/2;break}if(p)c+=n?p:-p;return p=0,c}}function Ws(r,t){return r.node(t).width}function oo(r){r=Sr(r),qs(r),lt(no(r),function(t,n){r.node(n).x=t})}function qs(r){var t=D(r),n=r.graph().ranksep,o=0;f(t,function(i){var s=S(E(i,function(u){return r.node(u).height}));f(i,function(u){r.node(u).y=o+s/2}),o+=s+n})}function $r(r,t){var n=t&&t.debugTiming?dn:cn;n("layout",()=>{var o=n(" buildLayoutGraph",()=>ou(r));n(" runLayout",()=>Hs(o,n)),n(" updateInputGraph",()=>Ks(r,o))})}function Hs(r,t){t(" makeSpaceForEdgeLabels",()=>iu(r)),t(" removeSelfEdges",()=>mu(r)),t(" acyclic",()=>rn(r)),t(" nestingGraph.run",()=>Bn(r)),t(" rank",()=>Hr(Sr(r))),t(" injectEdgeLabelProxies",()=>au(r)),t(" removeEmptyRanks",()=>sn(r)),t(" nestingGraph.cleanup",()=>Gn(r)),t(" normalizeRanks",()=>fn(r)),t(" assignRankMinMax",()=>fu(r)),t(" removeEdgeLabelProxies",()=>su(r)),t(" normalize.run",()=>yn(r)),t(" parentDummyChains",()=>Qn(r)),t(" addBorderSegments",()=>ln(r)),t(" order",()=>$n(r)),t(" insertSelfEdges",()=>hu(r)),t(" adjustCoordinateSystem",()=>hn(r)),t(" position",()=>oo(r)),t(" positionSelfEdges",()=>gu(r)),t(" removeBorderNodes",()=>lu(r)),t(" normalize.undo",()=>En(r)),t(" fixupEdgeLabelCoords",()=>cu(r)),t(" undoCoordinateSystem",()=>gn(r)),t(" translateGraph",()=>uu(r)),t(" assignNodeIntersects",()=>du(r)),t(" reversePoints",()=>pu(r)),t(" acyclic.undo",()=>en(r))}function Ks(r,t){f(r.nodes(),function(n){var o=r.node(n),i=t.node(n);if(o){if(o.x=i.x,o.y=i.y,t.children(n).length)o.width=i.width,o.height=i.height}}),f(r.edges(),function(n){var o=r.edge(n),i=t.edge(n);if(o.points=i.points,Object.prototype.hasOwnProperty.call(i,"x"))o.x=i.x,o.y=i.y}),r.graph().width=t.graph().width,r.graph().height=t.graph().height}var Js=["nodesep","edgesep","ranksep","marginx","marginy"],Zs={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},$s=["acyclicer","ranker","rankdir","align"],Qs=["width","height"],ru={width:0,height:0},eu=["minlen","weight","width","height","labeloffset"],tu={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},nu=["labelpos"];function ou(r){var t=new te({multigraph:!0,compound:!0}),n=Zr(r.graph());return t.setGraph(or({},Zs,Jr(n,Js),Z(n,$s))),f(r.nodes(),function(o){var i=Zr(r.node(o));t.setNode(o,et(Jr(i,Qs),ru)),t.setParent(o,r.parent(o))}),f(r.edges(),function(o){var i=Zr(r.edge(o));t.setEdge(o,or({},tu,Jr(i,eu),Z(i,nu)))}),t}function iu(r){var t=r.graph();t.ranksep/=2,f(r.edges(),function(n){var o=r.edge(n);if(o.minlen*=2,o.labelpos.toLowerCase()!=="c")if(t.rankdir==="TB"||t.rankdir==="BT")o.width+=o.labeloffset;else o.height+=o.labeloffset})}function au(r){f(r.edges(),function(t){var n=r.edge(t);if(n.width&&n.height){var o=r.node(t.v),i=r.node(t.w),s={rank:(i.rank-o.rank)/2+o.rank,e:t};T(r,"edge-proxy",s,"_ep")}})}function fu(r){var t=0;f(r.nodes(),function(n){var o=r.node(n);if(o.borderTop)o.minRank=r.node(o.borderTop).rank,o.maxRank=r.node(o.borderBottom).rank,t=S(t,o.maxRank)}),r.graph().maxRank=t}function su(r){f(r.nodes(),function(t){var n=r.node(t);if(n.dummy==="edge-proxy")r.edge(n.e).labelRank=n.rank,r.removeNode(t)})}function uu(r){var t=Number.POSITIVE_INFINITY,n=0,o=Number.POSITIVE_INFINITY,i=0,s=r.graph(),u=s.marginx||0,d=s.marginy||0;function c(p){var{x:m,y:h,width:g,height:b}=p;t=Math.min(t,m-g/2),n=Math.max(n,m+g/2),o=Math.min(o,h-b/2),i=Math.max(i,h+b/2)}f(r.nodes(),function(p){c(r.node(p))}),f(r.edges(),function(p){var m=r.edge(p);if(Object.prototype.hasOwnProperty.call(m,"x"))c(m)}),t-=u,o-=d,f(r.nodes(),function(p){var m=r.node(p);m.x-=t,m.y-=o}),f(r.edges(),function(p){var m=r.edge(p);if(f(m.points,function(h){h.x-=t,h.y-=o}),Object.prototype.hasOwnProperty.call(m,"x"))m.x-=t;if(Object.prototype.hasOwnProperty.call(m,"y"))m.y-=o}),s.width=n-t+u,s.height=i-o+d}function du(r){f(r.edges(),function(t){var n=r.edge(t),o=r.node(t.v),i=r.node(t.w),s,u;if(!n.points)n.points=[],s=i,u=o;else s=n.points[0],u=n.points[n.points.length-1];n.points.unshift(Br(o,s)),n.points.push(Br(i,u))})}function cu(r){f(r.edges(),function(t){var n=r.edge(t);if(Object.prototype.hasOwnProperty.call(n,"x")){if(n.labelpos==="l"||n.labelpos==="r")n.width-=n.labeloffset;switch(n.labelpos){case"l":n.x-=n.width/2+n.labeloffset;break;case"r":n.x+=n.width/2+n.labeloffset;break}}})}function pu(r){f(r.edges(),function(t){var n=r.edge(t);if(n.reversed)n.points.reverse()})}function lu(r){f(r.nodes(),function(t){if(r.children(t).length){var n=r.node(t),o=r.node(n.borderTop),i=r.node(n.borderBottom),s=r.node(X(n.borderLeft)),u=r.node(X(n.borderRight));n.width=Math.abs(u.x-s.x),n.height=Math.abs(i.y-o.y),n.x=s.x+n.width/2,n.y=o.y+n.height/2}}),f(r.nodes(),function(t){if(r.node(t).dummy==="border")r.removeNode(t)})}function mu(r){f(r.edges(),function(t){if(t.v===t.w){var n=r.node(t.v);if(!n.selfEdges)n.selfEdges=[];n.selfEdges.push({e:t,label:r.edge(t)}),r.removeEdge(t)}})}function hu(r){var t=D(r);f(t,function(n){var o=0;f(n,function(i,s){var u=r.node(i);u.order=s+o,f(u.selfEdges,function(d){T(r,"selfedge",{width:d.label.width,height:d.label.height,rank:u.rank,order:s+ ++o,e:d.e,label:d.label},"_se")}),delete u.selfEdges})})}function gu(r){f(r.nodes(),function(t){var n=r.node(t);if(n.dummy==="selfedge"){var o=r.node(n.e.v),i=o.x+o.width/2,s=o.y,u=n.x-i,d=o.height/2;r.setEdge(n.e,n.label),r.removeNode(t),n.label.points=[{x:i+2*u/3,y:s-d},{x:i+5*u/6,y:s-d},{x:i+u,y:s},{x:i+5*u/6,y:s+d},{x:i+2*u/3,y:s+d}],n.label.x=n.x,n.label.y=n.y}})}function Jr(r,t){return q(Z(r,t),Number)}function Zr(r){var t={};return f(r,function(n,o){t[o.toLowerCase()]=n}),t}var io=e((r,t,n)=>Math.max(t,Math.min(n,r)),"clamp"),ao=e((r="TB")=>{switch(r){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),vu=e((r)=>r==="flowchart"||r==="flowchart-v2"||r==="stateDiagram"||r==="er"||r==="classDiagram","shouldMergeSelfLoopSegments"),bu=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],yu=e((r,t,n,o,i)=>{let s=[],u=new Set;if(n.forEach(({start:m,end:h})=>{if(m!==o)u.add(m);if(h!==o)u.add(h)}),u.forEach((m)=>{let h=r.node(m);if(typeof h?.x==="number"&&typeof h?.y==="number")s.push(h)}),s.length===0)n.forEach(({edge:m})=>{(m.points??[]).forEach((h)=>{if(typeof h?.x==="number"&&typeof h?.y==="number")s.push(h)})});if(s.length===0)return ao(i);let d=s.reduce((m,h)=>({x:m.x+h.x/s.length,y:m.y+h.y/s.length}),{x:0,y:0}),c=d.x-t.x,p=d.y-t.y;if(Math.abs(c)>Math.abs(p))return c>0?"right":"left";if(Math.abs(p)>0)return p>0?"bottom":"top";return ao(i)},"getSelfLoopSide"),wu=e((r,t="top",n=0,o=0)=>{let i=r.x,s=r.y-n,u=r.width/2,d=r.height/2,c=Math.max(36,Math.min(100,r.width*0.8)),p=io(Math.max(o,r.width*0.35),36,c),m=io(Math.min(r.width,r.height)*0.45,24,48);switch(t){case"bottom":{let h=s+d;return[{x:i-p/2,y:h},{x:i-p/2,y:h+m},{x:i+p/2,y:h+m},{x:i+p/2,y:h}]}case"right":{let h=i+u;return[{x:h,y:s-p/2},{x:h+m,y:s-p/2},{x:h+m,y:s+p/2},{x:h,y:s+p/2}]}case"left":{let h=i-u;return[{x:h,y:s-p/2},{x:h-m,y:s-p/2},{x:h-m,y:s+p/2},{x:h,y:s+p/2}]}case"top":default:{let h=s-d;return[{x:i-p/2,y:h},{x:i-p/2,y:h-m},{x:i+p/2,y:h-m},{x:i+p/2,y:h}]}}},"getSelfLoopPoints"),_u=e((r,t,n="top",o=0,i={})=>{let u=r.x,d=r.y-o,c=i.width??0,p=i.height??0;switch(n){case"bottom":return{x:u,y:Math.max(...t.map((m)=>m.y))+p/2+4};case"right":return{x:Math.max(...t.map((m)=>m.x))+c/2+4,y:d};case"left":return{x:Math.min(...t.map((m)=>m.x))-c/2-4,y:d};case"top":default:return{x:u,y:Math.min(...t.map((m)=>m.y))-p/2-4}}},"getSelfLoopLabelPosition"),Qi=e((r,t=0,{mergeSelfLoops:n=!0}={})=>{let o=new Map,i=[],s=r.graph()?.rankdir;return r.edges().forEach((u)=>{let d=r.edge(u);if(n&&d.selfLoop){let c=d.selfLoop.id;if(!o.has(c))o.set(c,[]);o.get(c).push({edge:d,start:u.v,end:u.w})}else i.push({edge:d,start:u.v,end:u.w})}),o.forEach((u)=>{if(u.length!==3){u.forEach((_)=>i.push(_));return}u.sort((_,R)=>_.edge.selfLoop.order-R.edge.selfLoop.order);let[d,c,p]=u,m=d.edge.originalEdge??c.edge.originalEdge??p.edge.originalEdge??c.edge,h=r.node(m.start);if(!h){u.forEach((_)=>i.push(_));return}let g={width:c.edge.width,height:c.edge.height},b=yu(r,h,u,m.start,s),w=wu(h,b,t,g.width??0),y=_u(h,w,b,t,g),v={...c.edge,...m,id:m.id,points:w,start:m.start,end:m.end,x:y.x,y:y.y,width:g.width,height:g.height,labelStyle:c.edge.labelStyle,fromCluster:d.edge.fromCluster??c.edge.fromCluster??p.edge.fromCluster,toCluster:d.edge.toCluster??c.edge.toCluster??p.edge.toCluster};delete v.selfLoop,delete v.originalEdge,i.push({edge:v,start:v.start,end:v.end})}),i},"getEdgesToRender"),so=e(async({element:r,graph:t,diagramType:n,id:o,parentCluster:i,siteConfig:s})=>{let u=t.graph().rankdir;a.trace("Dir in recursive render - dir:",u);let{clusters:d,edgePaths:c,edgeLabels:p,nodes:m,rootGroups:h}=la(r,{edgePathsClass:"edgePaths"});if(!t.nodes())a.info("No nodes found for",t);else a.info("Recursive render XXX",t.nodes());if(t.edges().length>0)a.info("Recursive edges",t.edge(t.edges()[0]));let g=vu(n);await Promise.all(t.nodes().map(async function(y){let v=t.node(y);if(i!==void 0){let _=JSON.parse(JSON.stringify(i.clusterData));if(a.trace(`Setting data for parent cluster XXX
|
|
2
|
-
Node.id = `,y,`
|
|
3
|
-
data=`,_.height,`
|
|
4
|
-
Parent cluster`,i.height),t.setNode(i.id,_),!t.parent(y))a.trace("Setting parent",y,i.id),t.setParent(y,i.id,_)}if(a.info("(Insert) Node XXX"+y+": "+JSON.stringify(t.node(y))),v?.clusterNode){a.info("Cluster identified XBX",y,v.width,t.node(y));let{ranksep:_,nodesep:R}=t.graph();v.graph.setGraph({...v.graph.graph(),ranksep:_+25,nodesep:R});let Qr=await Lu({element:m,graph:v.graph,diagramType:n,id:o,parentCluster:t.node(y),siteConfig:s}),re=Qr.elem;I(v,re),v.diff=Qr.diff||0,a.info("New compound node after recursive render XAX",y,"width",v.width,"height",v.height),go(re,v)}else if(t.children(y).length>0)a.trace("Cluster - the non recursive path XBX",y,v.id,v,v.width,"Graph:",t),a.trace(Fn(v.id,t)),W.set(v.id,{id:Fn(v.id,t),node:v});else a.trace("Node - the non recursive path XAX",y,m,t.node(y),u),await ca(m,t.node(y),{config:s,dir:u})})),await e(async()=>{let y=t.edges().map(async function(v){let _=t.edge(v.v,v.w,v.name);if(a.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),a.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(t.edge(v))),a.info("Fix",W,"ids:",v.v,v.w,"Translating: ",W.get(v.v),W.get(v.w)),g&&_.selfLoop){if(_.selfLoop.order!==1)return;let R={..._.originalEdge,..._,id:_.selfLoop.id,startLabelLeft:_.originalEdge?.startLabelLeft??_.startLabelLeft,startLabelRight:_.originalEdge?.startLabelRight??_.startLabelRight,endLabelLeft:_.originalEdge?.endLabelLeft??_.endLabelLeft,endLabelRight:_.originalEdge?.endLabelRight??_.endLabelRight};await At(p,R),_.width=R.width,_.height=R.height,_.labelStyle=R.labelStyle;return}await At(p,_)});await Promise.all(y)},"processEdges")();let{subGraphTitleTotalMargin:w}=Tt(s);return{elem:h,graph:t,groups:{clusters:d,edgePaths:c,edgeLabels:p,nodes:m,rootGroups:h},diagramType:n,id:o,mergeSelfLoops:g,subGraphTitleTotalMargin:w}},"measureDagreGraph"),uo=e((r)=>{a.info("############################################# XXX"),a.info("### Layout ### XXX"),a.info("############################################# XXX"),$r(r)},"runDagreGraphLayout"),Eu=e((r,t,n)=>{let o=r.node(t);if(!o)return;let i={...o};if(o?.clusterNode)i.y=(o.y??0)+n;else if(r.children(t).length>0)i.height=(o.height??0)+n;else i.y=(o.y??0)+n/2;return i},"normalizeDagreNode"),fo=e((r,t)=>{bu.forEach((n)=>{if(t[n]!==void 0)r[n]=t[n]})},"applyDagreNodeLayout"),xu=e((r,t,n,o)=>({...r,start:r.start??t,end:r.end??n,points:(r.points??[]).map((i)=>({...i,y:typeof i.y==="number"?i.y+o:i.y}))}),"normalizeDagreEdge"),So=e((r,t)=>{let{graph:n,mergeSelfLoops:o,subGraphTitleTotalMargin:i=0}=t,s=new Map(r.nodes.map((d)=>[d.id,d]));ua(n).forEach((d)=>{let c=Eu(n,d,i);if(!c)return;fo(n.node(d),c);let p=s.get(d);if(p)fo(p,c)});let u=i/2;return r.edges=Qi(n,u,{mergeSelfLoops:o}).map(({edge:d,start:c,end:p})=>xu(d,c,p,u)),r},"applyDagreLayoutResult"),Ou=e(async({elem:r,graph:t,groups:{clusters:n,edgePaths:o},diagramType:i,id:s,mergeSelfLoops:u,subGraphTitleTotalMargin:d})=>{let c=0;await Promise.all(ua(t).map(async function(h){let g=t.node(h);if(a.info("Position XBX => "+h+": ("+g.x,","+g.y,") width: ",g.width," height: ",g.height),g?.clusterNode)g.y+=d,a.info("A tainted cluster node XBX1",h,g.id,g.width,g.height,g.x,g.y,t.parent(h)),W.get(g.id).node=g,yt(g);else if(t.children(h).length>0){a.info("A pure cluster node XBX1",h,g.id,g.x,g.y,g.width,g.height,t.parent(h)),g.height+=d,t.node(g.parentId);let b=g?.padding/2||0,w=g?.labelBBox?.height||0,y=w-b||0;a.debug("OffsetY",y,"labelHeight",w,"halfPadding",b),await tn(n,g),W.get(g.id).node=g}else{let b=t.node(g.parentId);g.y+=d/2,a.info("A regular node XBX1 - using the padding",g.id,"parent",g.parentId,g.width,g.height,g.x,g.y,"offsetY",g.offsetY,"parent",b,b?.offsetY,g),yt(g)}}));let p=d/2;return Qi(t,p,{mergeSelfLoops:u}).forEach(function({edge:h,start:g,end:b}){a.info("Edge "+g+" -> "+b+": "+JSON.stringify(h),h),h.points.forEach((_)=>_.y+=p);let w=t.node(g),y=t.node(b),v=nn(o,h,W,i,w,y,s);Zn(h,v)}),t.nodes().forEach(function(h){let g=t.node(h);if(a.info(h,g.type,g.diff),g.isGroup)c=g.diff}),a.warn("Returning from recursive render XAX",r,c),{elem:r,diff:c}},"paintDagreLayoutCore"),Lu=e(async(r)=>{let t=await so(r);return uo(t.graph),await Ou(t)},"renderDagreSubgraph"),Ji=e((r)=>{let t=new te({multigraph:!0,compound:!0}).setGraph({rankdir:r.direction,nodesep:r.config?.nodeSpacing||r.nodeSpacing||r.config?.flowchart?.nodeSpacing,ranksep:r.config?.rankSpacing||r.rankSpacing||r.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return r.nodes.forEach((n)=>{if(t.setNode(n.id,{...n}),n.parentId)t.setParent(n.id,n.parentId)}),a.debug("Edges:",r.edges),r.edges.forEach((n)=>{if(n.start===n.end){let o=n.start,i=o+"---"+o+"---1",s=o+"---"+o+"---2",u=t.node(o);t.setNode(i,{domId:i,id:i,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),t.setParent(i,u.parentId),t.setNode(s,{domId:s,id:s,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),t.setParent(s,u.parentId);let d=structuredClone(n),c=structuredClone(n),p=structuredClone(n),m=structuredClone(n);if(c.originalEdge=d,c.selfLoop={id:d.id,order:0},p.originalEdge=d,p.selfLoop={id:d.id,order:1},m.originalEdge=d,m.selfLoop={id:d.id,order:2},c.label="",c.arrowTypeEnd="none",c.endLabelLeft="",c.endLabelRight="",c.startLabelLeft="",c.id=o+"-cyclic-special-1",p.startLabelRight="",p.startLabelLeft="",p.endLabelLeft="",p.endLabelRight="",p.arrowTypeStart="none",p.arrowTypeEnd="none",p.id=o+"-cyclic-special-mid",m.label="",m.startLabelRight="",m.startLabelLeft="",m.arrowTypeStart="none",u.isGroup)c.fromCluster=o,m.toCluster=o;m.id=o+"-cyclic-special-2",m.arrowTypeStart="none",t.setEdge(o,i,c,o+"-cyclic-special-0"),t.setEdge(i,s,p,o+"-cyclic-special-1"),t.setEdge(s,o,m,o+"-cyclic-special-2")}else t.setEdge(n.start,n.end,{...n},n.id)}),to(t),{graph:t}},"prepareLayoutForDagre"),To=e(async(r,{element:t,preparedLayout:n})=>{let o=n??Ji(r),i=l(),s=await so({element:t,graph:o.graph,diagramType:r.type,id:r.diagramId,parentCluster:void 0,siteConfig:i});return o.measuredLayout=s,s},"measureDagreLayout"),Eo=e((r,t)=>{let n=t.preparedLayout?.measuredLayout;if(!n)throw Error("runDagreLayoutCore requires measureDagreLayout to run first");return uo(n.graph),So(r,n),n},"runDagreLayoutCore"),Iu=e((r,{measure:t})=>ua(t.graph).map((n)=>t.graph.node(n)).filter(Boolean),"getDagrePaintNodes"),Su=e((r,t,{measure:n})=>r?n.graph.node(r):void 0,"getDagreEdgeNode"),eo=cr({prepareLayout:Ji,measureLayout:To,runLayoutCore:Eo,paintOptions:{clusterDb:W,getNodes:Iu,getEdgeNode:Su,skipNode:e((r,{measure:t})=>!t.graph.hasNode(r.id),"skipNode"),isCluster:e((r,{measure:t})=>t.graph.hasNode(r.id)&&(t.graph.children(r.id)??[]).length>0,"isCluster")}});export{Qi,So,Ji,To,Eo,eo};
|
package/web/chunk-64rafq66.js
DELETED
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import{G}from"./chunk-ya3ghn3n.js";import{e,a,ke,b,B,C,S,E,T,A,R,L,l,V,U}from"./chunk-5v44qv67.js";import{X}from"./chunk-cktmyc13.js";var ot=e((r,i)=>{let n=r<=1?r*100:r;if(n<0||n>100)throw Error(`${i} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${r}`);return n},"toPercent"),j=e((r,i,n)=>({x:ot(i,`${n} evolution`),y:ot(r,`${n} visibility`)}),"toCoordinates"),pt=e((r)=>{if(!r)return;if(r==="+<>")return"bidirectional";if(r==="+<")return"backward";if(r==="+>")return"forward";return},"getFlowFromPort"),Bt=e((r)=>{if(!r?.startsWith("+"))return{};let n=/^\+'([^']*)'/.exec(r)?.[1];if(r.includes("<>"))return{flow:"bidirectional",label:n};if(r.includes("<"))return{flow:"backward",label:n};if(r.includes(">"))return{flow:"forward",label:n};return{label:n}},"extractFlowFromArrow"),Ft=e((r,i)=>{if(G(r,i),r.size)i.setSize(r.size.width,r.size.height);if(r.evolution){let n=r.evolution.stages.map((o)=>{if(o.secondName)return`${o.name.trim()} / ${o.secondName.trim()}`;return o.name.trim()}),y=r.evolution.stages.filter((o)=>o.boundary!==void 0).map((o)=>o.boundary);i.updateAxes({stages:n,stageBoundaries:y})}if(r.anchors.forEach((n)=>{let y=j(n.visibility,n.evolution,`Anchor "${n.name}"`);i.addNode(n.name,n.name,y.x,y.y,"anchor")}),r.components.forEach((n)=>{let y=j(n.visibility,n.evolution,`Component "${n.name}"`),o=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,p=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,k=n.decorator?.strategy;i.addNode(n.name,n.name,y.x,y.y,"component",o,p,n.inertia,k)}),r.notes.forEach((n)=>{let y=j(n.visibility,n.evolution,`Note "${n.text}"`);i.addNote(n.text,y.x,y.y)}),r.pipelines.forEach((n)=>{let y=i.getNode(n.parent);if(!y||typeof y.y!=="number")throw Error(`Pipeline "${n.parent}" must reference an existing component with coordinates.`);let o=y.y;i.startPipeline(n.parent),n.components.forEach((p)=>{let k=`${n.parent}_${p.name}`,H=p.label?(p.label.negX?-1:1)*p.label.offsetX:void 0,w=p.label?(p.label.negY?-1:1)*p.label.offsetY:void 0,tt=ot(p.evolution,`Pipeline component "${p.name}" evolution`);i.addNode(k,p.name,tt,o,"pipeline-component",H,w),i.addPipelineComponent(n.parent,k)})}),r.links.forEach((n)=>{let y=!!n.arrow&&(n.arrow.includes("-.->")||n.arrow.includes(".-.")),o=pt(n.fromPort)??pt(n.toPort),{flow:p,label:k}=Bt(n.arrow);if(!o&&p)o=p;let H=n.linkLabel,w=k??H;i.addLink(i.resolveNodeId(n.from),i.resolveNodeId(n.to),y,w,o)}),r.evolves.forEach((n)=>{let y=i.getNode(n.component);if(y?.y!==void 0){let o=ot(n.target,`Evolve target for "${n.component}"`);i.addTrend(n.component,o,y.y)}}),r.annotations.length>0){let n=r.annotations[0],y=j(n.x,n.y,"Annotations box");i.setAnnotationsBox(y.x,y.y)}r.annotation.forEach((n)=>{let y=j(n.x,n.y,`Annotation ${n.number}`);i.addAnnotation(n.number,[{x:y.x,y:y.y}],n.text)}),r.accelerators.forEach((n)=>{let y=j(n.x,n.y,`Accelerator "${n.name}"`);i.addAccelerator(n.name,y.x,y.y)}),r.deaccelerators.forEach((n)=>{let y=j(n.x,n.y,`Deaccelerator "${n.name}"`);i.addDeaccelerator(n.name,y.x,y.y)})},"populateDb"),ht={parser:{yy:void 0},parse:e(async(r)=>{let i=await X("wardley",r);a.debug(i);let n=ht.parser?.yy;if(!n||typeof n.addNode!=="function")throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ft(i,n)},"parse")},Rt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{e(this,"WardleyBuilder")}addNode(r){let i=this.nodes.get(r.id)??{id:r.id,label:r.label},n={...i,...r,className:r.className??i.className,labelOffsetX:r.labelOffsetX??i.labelOffsetX,labelOffsetY:r.labelOffsetY??i.labelOffsetY};this.nodes.set(r.id,n)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});let i=this.nodes.get(r);if(i)i.isPipelineParent=!0}addPipelineComponent(r,i){let n=this.pipelines.get(r);if(n)n.componentIds.push(i);let y=this.nodes.get(i);if(y)y.inPipeline=!0}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,i){this.annotationsBox={x:r,y:i}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,i){this.size={width:r,height:i}}getNode(r){return this.nodes.get(r)}resolveNodeId(r){if(this.nodes.has(r))return r;for(let[i,n]of this.nodes)if(n.label===r)return i;return r}build(){let r=[];for(let i of this.nodes.values()){if(typeof i.x!=="number"||typeof i.y!=="number")throw Error(`Node "${i.label}" is missing coordinates`);r.push(i)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},P=new Rt;function ft(){return l()["wardley-beta"]}e(ft,"getConfig");function xt(r,i,n,y,o,p,k,H,w){P.addNode({id:r,label:i,x:n,y,className:o,labelOffsetX:p,labelOffsetY:k,inertia:H,sourceStrategy:w})}e(xt,"addNode");function gt(r,i,n=!1,y,o){P.addLink({source:r,target:i,dashed:n,label:y,flow:o})}e(gt,"addLink");function yt(r,i,n){P.addTrend({nodeId:r,targetX:i,targetY:n})}e(yt,"addTrend");function ut(r,i,n){P.addAnnotation({number:r,coordinates:i,text:n})}e(ut,"addAnnotation");function wt(r,i,n){P.addNote({text:r,x:i,y:n})}e(wt,"addNote");function mt(r,i,n){P.addAccelerator({name:r,x:i,y:n})}e(mt,"addAccelerator");function kt(r,i,n){P.addDeaccelerator({name:r,x:i,y:n})}e(kt,"addDeaccelerator");function bt(r,i){P.setAnnotationsBox(r,i)}e(bt,"setAnnotationsBox");function $t(r,i){P.setSize(r,i)}e($t,"setSize");function vt(r){P.startPipeline(r)}e(vt,"startPipeline");function Pt(r,i){P.addPipelineComponent(r,i)}e(Pt,"addPipelineComponent");function Ct(r){P.setAxes(r)}e(Ct,"updateAxes");function St(r){return P.getNode(r)}e(St,"getNode");function Mt(r){return P.resolveNodeId(r)}e(Mt,"resolveNodeId");function Nt(){return P.build()}e(Nt,"getWardleyData");function zt(){P.clear(),C()}e(zt,"clear");var Ot={getConfig:ft,addNode:xt,addLink:gt,addTrend:yt,addAnnotation:ut,addNote:wt,addAccelerator:mt,addDeaccelerator:kt,setAnnotationsBox:bt,setSize:$t,startPipeline:vt,addPipelineComponent:Pt,updateAxes:Ct,getNode:St,resolveNodeId:Mt,getWardleyData:Nt,clear:zt,setAccTitle:S,getAccTitle:E,setDiagramTitle:R,getDiagramTitle:L,getAccDescription:A,setAccDescription:T},Dt=["Genesis","Custom Built","Product","Commodity"],Gt=e(()=>{let{themeVariables:r}=l();return{backgroundColor:r.wardley?.backgroundColor??r.background??"#fff",axisColor:r.wardley?.axisColor??"#000",axisTextColor:r.wardley?.axisTextColor??r.primaryTextColor??"#222",gridColor:r.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:r.wardley?.componentFill??"#fff",componentStroke:r.wardley?.componentStroke??"#000",componentLabelColor:r.wardley?.componentLabelColor??r.primaryTextColor??"#222",linkStroke:r.wardley?.linkStroke??"#000",evolutionStroke:r.wardley?.evolutionStroke??"#dc3545",annotationStroke:r.wardley?.annotationStroke??"#000",annotationTextColor:r.wardley?.annotationTextColor??r.primaryTextColor??"#222",annotationFill:r.wardley?.annotationFill??r.background??"#fff"}},"getTheme"),qt=e(()=>{let r=l()["wardley-beta"];return{width:r?.width??900,height:r?.height??600,padding:r?.padding??48,nodeRadius:r?.nodeRadius??6,nodeLabelOffset:r?.nodeLabelOffset??8,axisFontSize:r?.axisFontSize??12,labelFontSize:r?.labelFontSize??10,showGrid:r?.showGrid??!1,useMaxWidth:r?.useMaxWidth??!0}},"getConfigValues"),jt=e((r,i,n,y)=>{a.debug(`Rendering Wardley map
|
|
2
|
-
`+r);let o=qt(),p=Gt(),k=o.nodeRadius*1.6,H=y.db,w=H.getWardleyData(),tt=H.getDiagramTitle(),Y=w.size?.width??o.width,M=w.size?.height??o.height,Z=V(i);Z.selectAll("*").remove(),B(Z,M,Y,o.useMaxWidth),Z.attr("viewBox",`0 0 ${Y} ${M}`);let z=Z.append("g").attr("class","wardley-map"),nt=Z.append("defs");nt.append("marker").attr("id",`arrow-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.evolutionStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-end-${i}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",p.linkStroke).attr("stroke","none"),nt.append("marker").attr("id",`link-arrow-start-${i}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",p.linkStroke).attr("stroke","none"),z.append("rect").attr("class","wardley-background").attr("width",Y).attr("height",M).attr("fill",p.backgroundColor);let J=Y-o.padding*2,K=M-o.padding*2;if(tt)z.append("text").attr("class","wardley-title").attr("x",Y/2).attr("y",o.padding/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(tt);let O=e((t)=>o.padding+t/100*J,"projectX"),D=e((t)=>M-o.padding-t/100*K,"projectY"),et=z.append("g").attr("class","wardley-axes");et.append("line").attr("x1",o.padding).attr("x2",Y-o.padding).attr("y1",M-o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1),et.append("line").attr("x1",o.padding).attr("x2",o.padding).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.axisColor).attr("stroke-width",1);let Lt=w.axes.xLabel??"Evolution",Tt=w.axes.yLabel??"Visibility";et.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",o.padding+J/2).attr("y",M-o.padding/4).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(Lt),et.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",o.padding/3).attr("y",o.padding+K/2).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${o.padding/3} ${o.padding+K/2})`).text(Tt);let Q=w.axes.stages&&w.axes.stages.length>0?w.axes.stages:Dt;if(Q.length>0){let t=z.append("g").attr("class","wardley-stages"),d=w.axes.stageBoundaries,s=[];if(d&&d.length===Q.length){let c=0;d.forEach((f)=>{s.push({start:c,end:f}),c=f})}else{let c=1/Q.length;Q.forEach((f,x)=>{s.push({start:x*c,end:(x+1)*c})})}Q.forEach((c,f)=>{let x=s[f],u=o.padding+x.start*J,g=o.padding+x.end*J,m=(u+g)/2;if(f>0)t.append("line").attr("x1",u).attr("x2",u).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",0.8);t.append("text").attr("class","wardley-stage-label").attr("x",m).attr("y",M-o.padding/1.5).attr("fill",p.axisTextColor).attr("font-size",o.axisFontSize-2).attr("text-anchor","middle").text(c)})}if(o.showGrid){let t=z.append("g").attr("class","wardley-grid");for(let d=1;d<4;d++){let s=d/4,c=o.padding+J*s;t.append("line").attr("x1",c).attr("x2",c).attr("y1",o.padding).attr("y2",M-o.padding).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",o.padding).attr("x2",Y-o.padding).attr("y1",M-o.padding-K*s).attr("y2",M-o.padding-K*s).attr("stroke",p.gridColor).attr("stroke-dasharray","2 6")}}let h=new Map;if(w.nodes.forEach((t)=>{h.set(t.id,{x:O(t.x),y:D(t.y),node:t})}),w.pipelines.length>0){let t=z.append("g").attr("class","wardley-pipelines"),d=z.append("g").attr("class","wardley-pipeline-links");w.pipelines.forEach((s)=>{if(s.componentIds.length===0)return;let c=s.componentIds.map((g)=>({id:g,pos:h.get(g),node:w.nodes.find((m)=>m.id===g)})).filter((g)=>g.pos&&g.node).sort((g,m)=>g.node.x-m.node.x);for(let g=0;g<c.length-1;g++){let m=c[g],v=c[g+1];d.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",m.pos.x).attr("y1",m.pos.y).attr("x2",v.pos.x).attr("y2",v.pos.y).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let f=1/0,x=-1/0,u=0;if(s.componentIds.forEach((g)=>{let m=h.get(g);if(m)f=Math.min(f,m.x),x=Math.max(x,m.x),u=m.y}),f!==1/0&&x!==-1/0){let m=o.nodeRadius*4,v=u-m/2,W=h.get(s.nodeId);if(W){let F=(f+x)/2;W.x=F,W.y=v-k/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",f-15).attr("y",v).attr("width",x-f+30).attr("height",m).attr("fill","none").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}let dt=z.append("g").attr("class","wardley-links"),lt=new Map;w.pipelines.forEach((t)=>{lt.set(t.nodeId,new Set(t.componentIds))});let ct=w.links.filter((t)=>{if(!h.has(t.source)||!h.has(t.target))return!1;if(lt.get(t.target)?.has(t.source))return!1;return!0});dt.selectAll("line").data(ct).enter().append("line").attr("class",(t)=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",(t)=>{let d=h.get(t.source),s=h.get(t.target),f=w.nodes.find((m)=>m.id===t.source).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=s.x-d.x,u=s.y-d.y,g=Math.sqrt(x*x+u*u);return d.x+x/g*f}).attr("y1",(t)=>{let d=h.get(t.source),s=h.get(t.target),f=w.nodes.find((m)=>m.id===t.source).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=s.x-d.x,u=s.y-d.y,g=Math.sqrt(x*x+u*u);return d.y+u/g*f}).attr("x2",(t)=>{let d=h.get(t.source),s=h.get(t.target),f=w.nodes.find((m)=>m.id===t.target).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=d.x-s.x,u=d.y-s.y,g=Math.sqrt(x*x+u*u);return s.x+x/g*f}).attr("y2",(t)=>{let d=h.get(t.source),s=h.get(t.target),f=w.nodes.find((m)=>m.id===t.target).isPipelineParent?k/Math.sqrt(2):o.nodeRadius,x=d.x-s.x,u=d.y-s.y,g=Math.sqrt(x*x+u*u);return s.y+u/g*f}).attr("stroke",p.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",(t)=>t.dashed?"6 6":null).attr("marker-end",(t)=>{if(t.flow==="forward"||t.flow==="bidirectional")return`url(#link-arrow-end-${i})`;return null}).attr("marker-start",(t)=>{if(t.flow==="backward"||t.flow==="bidirectional")return`url(#link-arrow-start-${i})`;return null}),dt.selectAll("text").data(ct.filter((t)=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",(t)=>{let d=h.get(t.source),s=h.get(t.target),c=(d.x+s.x)/2,f=s.y-d.y,x=s.x-d.x,u=Math.sqrt(x*x+f*f),g=8,m=f/u;return c+m*8}).attr("y",(t)=>{let d=h.get(t.source),s=h.get(t.target),c=(d.y+s.y)/2,f=s.x-d.x,x=s.y-d.y,u=Math.sqrt(f*f+x*x),g=8,m=-f/u;return c+m*8}).attr("fill",p.axisTextColor).attr("font-size",o.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",(t)=>{let d=h.get(t.source),s=h.get(t.target),c=(d.x+s.x)/2,f=(d.y+s.y)/2,x=s.x-d.x,u=s.y-d.y,g=Math.sqrt(x*x+u*u),m=8,v=u/g,W=-x/g,F=c+v*8,at=f+W*8,_=Math.atan2(u,x)*180/Math.PI;if(_>90||_<-90)_+=180;return`rotate(${_} ${F} ${at})`}).text((t)=>t.label);let Wt=z.append("g").attr("class","wardley-trends"),At=w.trends.map((t)=>{let d=h.get(t.nodeId);if(!d)return null;let s=O(t.targetX),c=D(t.targetY),f=s-d.x,x=c-d.y,u=Math.sqrt(f*f+x*x),g=o.nodeRadius+2,m=u>g?s-f/u*g:s,v=u>g?c-x/u*g:c;return{origin:d,targetX:s,targetY:c,adjustedX2:m,adjustedY2:v}}).filter((t)=>t!==null);Wt.selectAll("line").data(At).enter().append("line").attr("class","wardley-trend").attr("x1",(t)=>t.origin.x).attr("y1",(t)=>t.origin.y).attr("x2",(t)=>t.adjustedX2).attr("y2",(t)=>t.adjustedY2).attr("stroke",p.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${i})`);let I=z.append("g").attr("class","wardley-nodes").selectAll("g").data(w.nodes).enter().append("g").attr("class",(t)=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));I.filter((t)=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#666").attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((t)=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#ccc").attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((t)=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);let q=I.filter((t)=>t.sourceStrategy==="market");q.append("circle").attr("class","wardley-market-overlay").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius*2).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((t)=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y).attr("r",o.nodeRadius).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1);let st=o.nodeRadius*0.7,N=o.nodeRadius*1.2;if(q.append("line").attr("class","wardley-market-line").attr("x1",(t)=>h.get(t.id).x).attr("y1",(t)=>h.get(t.id).y-N).attr("x2",(t)=>h.get(t.id).x-N*Math.cos(Math.PI/6)).attr("y2",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),q.append("line").attr("class","wardley-market-line").attr("x1",(t)=>h.get(t.id).x-N*Math.cos(Math.PI/6)).attr("y1",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("x2",(t)=>h.get(t.id).x+N*Math.cos(Math.PI/6)).attr("y2",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("stroke",p.componentStroke).attr("stroke-width",1),q.append("line").attr("class","wardley-market-line").attr("x1",(t)=>h.get(t.id).x+N*Math.cos(Math.PI/6)).attr("y1",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("x2",(t)=>h.get(t.id).x).attr("y2",(t)=>h.get(t.id).y-N).attr("stroke",p.componentStroke).attr("stroke-width",1),q.append("circle").attr("class","wardley-market-dot").attr("cx",(t)=>h.get(t.id).x).attr("cy",(t)=>h.get(t.id).y-N).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),q.append("circle").attr("class","wardley-market-dot").attr("cx",(t)=>h.get(t.id).x-N*Math.cos(Math.PI/6)).attr("cy",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),q.append("circle").attr("class","wardley-market-dot").attr("cx",(t)=>h.get(t.id).x+N*Math.cos(Math.PI/6)).attr("cy",(t)=>h.get(t.id).y+N*Math.sin(Math.PI/6)).attr("r",st).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",2),I.filter((t)=>t.isPipelineParent===!0).append("rect").attr("x",(t)=>h.get(t.id).x-k/2).attr("y",(t)=>h.get(t.id).y-k/2).attr("width",k).attr("height",k).attr("fill",p.componentFill).attr("stroke",p.componentStroke).attr("stroke-width",1),I.filter((t)=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",(t)=>{let d=h.get(t.id),s=t.isPipelineParent?k/2+15:o.nodeRadius+15;if(t.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y1",(t)=>{let d=h.get(t.id),s=t.isPipelineParent?k:o.nodeRadius*2;return d.y-s/2}).attr("x2",(t)=>{let d=h.get(t.id),s=t.isPipelineParent?k/2+15:o.nodeRadius+15;if(t.sourceStrategy)s+=o.nodeRadius+10;return d.x+s}).attr("y2",(t)=>{let d=h.get(t.id),s=t.isPipelineParent?k:o.nodeRadius*2;return d.y+s/2}).attr("stroke",p.componentStroke).attr("stroke-width",6),I.append("text").attr("x",(t)=>{let d=h.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?d.x+t.labelOffsetX:d.x;let s=o.nodeLabelOffset;if(t.sourceStrategy&&t.labelOffsetX===void 0)s+=10;let c=t.labelOffsetX??s;return d.x+c}).attr("y",(t)=>{let d=h.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?d.y+t.labelOffsetY:d.y-3;let s=-o.nodeLabelOffset;if(t.sourceStrategy&&t.labelOffsetY===void 0)s-=10;let c=t.labelOffsetY??s;return d.y+c}).attr("class","wardley-node-label").attr("fill",(t)=>{if(t.className==="evolved")return p.evolutionStroke;if(t.className==="anchor")return"#000";return p.componentLabelColor}).attr("font-size",o.labelFontSize).attr("font-weight",(t)=>t.className==="anchor"?"bold":"normal").attr("text-anchor",(t)=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",(t)=>t.className==="anchor"?"middle":"auto").text((t)=>t.label),w.annotations.length>0){let t=z.append("g").attr("class","wardley-annotations");if(w.annotations.forEach((d)=>{let s=d.coordinates.map((c)=>({x:O(c.x),y:D(c.y)}));if(s.length>1)for(let c=0;c<s.length-1;c++)t.append("line").attr("class","wardley-annotation-line").attr("x1",s[c].x).attr("y1",s[c].y).attr("x2",s[c+1].x).attr("y2",s[c+1].y).attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");s.forEach((c)=>{let f=t.append("g").attr("class","wardley-annotation");f.append("circle").attr("cx",c.x).attr("cy",c.y).attr("r",10).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5),f.append("text").attr("x",c.x).attr("y",c.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.number)})}),w.annotationsBox){let d=O(w.annotationsBox.x),s=D(w.annotationsBox.y),c=10,f=16,x=11,u=t.append("g").attr("class","wardley-annotations-box"),g=[...w.annotations].filter((v)=>v.text).sort((v,W)=>v.number-W.number),m=[];if(g.forEach((v,W)=>{let F=u.append("text").attr("x",d+c).attr("y",s+c+(W+1)*f).attr("font-size",x).attr("fill",p.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${v.number}. ${v.text}`);m.push(F)}),m.length>0){let v=0,W=0;m.forEach((it)=>{let rt=it.node(),Yt=rt.getComputedTextLength();v=Math.max(v,Yt);let It=rt.getBBox();W=Math.max(W,It.height)});let F=v+c*2+105,at=g.length*f+c*2+W/2,_=o.padding,Xt=Y-o.padding-F,Et=o.padding,Ht=M-o.padding-at;d=Math.max(_,Math.min(d,Xt)),s=Math.max(Et,Math.min(s,Ht)),m.forEach((it,rt)=>{it.attr("x",d+c).attr("y",s+c+(rt+1)*f)}),u.insert("rect","text").attr("x",d).attr("y",s).attr("width",F).attr("height",at).attr("fill","white").attr("stroke",p.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(w.notes.length>0){let t=z.append("g").attr("class","wardley-notes");w.notes.forEach((d)=>{let s=O(d.x),c=D(d.y);t.append("text").attr("x",s).attr("y",c).attr("text-anchor","start").attr("font-size",11).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.text)})}if(w.accelerators.length>0){let t=z.append("g").attr("class","wardley-accelerators");w.accelerators.forEach((d)=>{let s=O(d.x),c=D(d.y),f=60,x=30,u=20,g=`
|
|
3
|
-
M ${s} ${c-15}
|
|
4
|
-
L ${s+60-20} ${c-15}
|
|
5
|
-
L ${s+60-20} ${c-15-8}
|
|
6
|
-
L ${s+60} ${c}
|
|
7
|
-
L ${s+60-20} ${c+15+8}
|
|
8
|
-
L ${s+60-20} ${c+15}
|
|
9
|
-
L ${s} ${c+15}
|
|
10
|
-
Z
|
|
11
|
-
`;t.append("path").attr("d",g).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),t.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}if(w.deaccelerators.length>0){let t=z.append("g").attr("class","wardley-deaccelerators");w.deaccelerators.forEach((d)=>{let s=O(d.x),c=D(d.y),f=60,x=30,u=20,g=`
|
|
12
|
-
M ${s+60} ${c-15}
|
|
13
|
-
L ${s+20} ${c-15}
|
|
14
|
-
L ${s+20} ${c-15-8}
|
|
15
|
-
L ${s} ${c}
|
|
16
|
-
L ${s+20} ${c+15+8}
|
|
17
|
-
L ${s+20} ${c+15}
|
|
18
|
-
L ${s+60} ${c+15}
|
|
19
|
-
Z
|
|
20
|
-
`;t.append("path").attr("d",g).attr("fill","white").attr("stroke",p.componentStroke).attr("stroke-width",1),t.append("text").attr("x",s+30).attr("y",c+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",p.axisTextColor).attr("font-weight","bold").text(d.name)})}},"draw"),Vt={draw:jt},_t=e(({wardley:r}={})=>{let i=ke(),n=b(),y=U(i,n.themeVariables),o=U(y.wardley,r);return`
|
|
21
|
-
.wardley-background {
|
|
22
|
-
fill: ${o.backgroundColor};
|
|
23
|
-
}
|
|
24
|
-
.wardley-axes line, .wardley-axes path {
|
|
25
|
-
stroke: ${o.axisColor};
|
|
26
|
-
}
|
|
27
|
-
.wardley-axis-label {
|
|
28
|
-
fill: ${o.axisTextColor};
|
|
29
|
-
}
|
|
30
|
-
.wardley-stage-label {
|
|
31
|
-
fill: ${o.axisTextColor};
|
|
32
|
-
}
|
|
33
|
-
.wardley-grid line {
|
|
34
|
-
stroke: ${o.gridColor};
|
|
35
|
-
}
|
|
36
|
-
.wardley-node circle {
|
|
37
|
-
fill: ${o.componentFill};
|
|
38
|
-
stroke: ${o.componentStroke};
|
|
39
|
-
}
|
|
40
|
-
.wardley-node-label {
|
|
41
|
-
fill: ${o.componentLabelColor};
|
|
42
|
-
}
|
|
43
|
-
.wardley-link {
|
|
44
|
-
stroke: ${o.linkStroke};
|
|
45
|
-
}
|
|
46
|
-
.wardley-link--dashed {
|
|
47
|
-
stroke-dasharray: 4 4;
|
|
48
|
-
}
|
|
49
|
-
.wardley-link-label {
|
|
50
|
-
fill: ${o.axisTextColor};
|
|
51
|
-
}
|
|
52
|
-
.wardley-trend line {
|
|
53
|
-
stroke: ${o.evolutionStroke};
|
|
54
|
-
}
|
|
55
|
-
.wardley-annotation-line {
|
|
56
|
-
stroke: ${o.annotationStroke};
|
|
57
|
-
}
|
|
58
|
-
.wardley-annotation circle {
|
|
59
|
-
fill: ${o.annotationFill};
|
|
60
|
-
stroke: ${o.annotationStroke};
|
|
61
|
-
}
|
|
62
|
-
.wardley-annotation text {
|
|
63
|
-
fill: ${o.annotationTextColor};
|
|
64
|
-
}
|
|
65
|
-
.wardley-annotations-box rect {
|
|
66
|
-
fill: ${o.annotationFill};
|
|
67
|
-
stroke: ${o.annotationStroke};
|
|
68
|
-
}
|
|
69
|
-
.wardley-annotations-box text {
|
|
70
|
-
fill: ${o.annotationTextColor};
|
|
71
|
-
}
|
|
72
|
-
.wardley-pipeline-box {
|
|
73
|
-
stroke: ${o.componentStroke};
|
|
74
|
-
}
|
|
75
|
-
.wardley-notes text {
|
|
76
|
-
fill: ${o.axisTextColor};
|
|
77
|
-
}
|
|
78
|
-
`},"styles"),re={parser:ht,db:Ot,renderer:Vt,styles:_t};export{re as diagram};
|
package/web/chunk-6kkw9ptc.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{N,r,t,n,Ae,It,j,ve,Xi}from"./chunk-j6a4z530.js";function T(s){let a=N(Ae);a?.useTheme?.();let e=s.payload,[i,m]=r(!1);if(!e||e.state==="pending")return null;let h=e.questions.map((o)=>o.header).join(" · "),l=e.state==="answered",u=l?j:It,d=l?"text-success":"text-faint",f=l?"已回答":e.state==="dismissed"?"已忽略提问":"提问已取消",p=l?C(e):h;if(a){let{Collapsible:o,CollapsibleTrigger:y,CollapsibleContent:v,Chevron:b,cn:g}=a;return n(o,{open:i,onOpenChange:m,className:"w-full text-xs text-ink/90 animate-fade",children:[n(y,{className:a.style("chat.timelineRow","cursor-pointer select-none"),children:[t("span",{className:"flex size-4 shrink-0 items-center justify-center",children:t(u,{className:g("size-3.5",d)})}),t("span",{className:"shrink-0",children:f}),t("span",{className:"min-w-0 flex-1 truncate opacity-80",title:p,children:p}),t(b,{className:"size-3.5 shrink-0 text-faint opacity-0 transition-opacity group-hover/collapsible:opacity-100 group-data-[state=open]/collapsible:opacity-100"})]}),t(v,{children:t("div",{className:"mt-0.5 mb-1.5 ml-2 border-l border-line py-1 pl-[15px]",children:t(x,{question:e})})})]})}return n("div",{role:"status",className:"w-full animate-fade",children:[n("button",{type:"button","aria-expanded":i,className:"group -mx-2 flex w-[calc(100%+1rem)] cursor-pointer items-center gap-2 rounded-lg px-2 py-1 text-left text-[12.5px] text-faint transition-colors select-none hover:bg-raised/60 hover:text-dim",onClick:()=>m((o)=>!o),children:[t("span",{className:"flex size-4 shrink-0 items-center justify-center",children:t(u,{className:`size-3.5 shrink-0 ${d}`})}),t("span",{className:"shrink-0",children:f}),t("span",{className:"min-w-0 flex-1 truncate opacity-80",title:p,children:p}),t(ve,{className:`size-3.5 shrink-0 text-faint opacity-0 transition-[opacity,transform] group-hover:opacity-100 ${i?"rotate-180 opacity-100":""}`})]}),i&&t("div",{className:"mt-0.5 mb-1.5 ml-2 border-l border-line py-1 pl-[15px]",children:t(x,{question:e})})]})}function c(s){if(!s)return"未作答";let a=s.selected.map((e)=>Xi(e).title);if(s.other)a.push(`其他:${s.other}`);return a.length?a.join("、"):"未作答"}function C(s){if(s.questions.length===1)return`${s.questions[0]?.header??""} · ${c(s.answers?.[0])}`;return s.questions.map((a,e)=>`${a.header} → ${c(s.answers?.[e])}`).join(";")}function x(s){let a=s.question;return t("div",{className:"space-y-2 text-xs",children:a.questions.map((e,i)=>n("div",{className:"space-y-0.5",children:[n("div",{className:"text-dim",children:[t("span",{className:"font-medium text-ink/90",children:e.header})," · ",e.question]}),t("div",{className:"text-ink",children:c(a.answers?.[i])})]},e.header))})}export{T as QuestionCard};
|
package/web/chunk-718mr5gc.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{e,a,B}from"./chunk-5v44qv67.js";var le=e((t,i,o,h)=>{t.attr("class",o);let{width:r,height:n,x:w,y:x}=u(t,i);B(t,n,r,h);let c=m(w,x,r,n,i);t.attr("viewBox",c),a.debug(`viewBox configured: ${c} with padding: ${i}`)},"setupViewPortForSVG"),u=e((t,i)=>{let o=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:o.width+i*2,height:o.height+i*2,x:o.x,y:o.y}},"calculateDimensionsWithPadding"),m=e((t,i,o,h,r)=>`${t-r} ${i-r} ${o} ${h}`,"createViewBox");
|
|
2
|
-
export{le};
|
package/web/chunk-7hs57qdr.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o,J,i,r,y,t,n,_,Z,ee,at,bt}from"./chunk-j6a4z530.js";import{vn}from"./chunk-kegv14sg.js";var U=[{id:"exa",name:"Exa",description:"免密钥 · 综合搜索"},{id:"tavily",name:"Tavily",description:"免密钥 · 支持域名筛选"},{id:"parallel",name:"Parallel",description:"免密钥 · 网页搜索"},{id:"firecrawl",name:"Firecrawl",description:"免密钥 · 网页内容"},{id:"tinyfish",name:"TinyFish",description:"免密钥 · 搜索摘要"},{id:"searxng",name:"SearXNG",description:"免密钥 · 需自建服务"},{id:"brave",name:"Brave",description:"需密钥 · 独立搜索引擎"}];function R(e){return{enabled:e.search.provider!=="off",provider:e.search.provider==="off"?"auto":e.search.provider,searxngUrl:e.search.searxngUrl??"",proxy:e.proxy??"",acceptLanguage:e.acceptLanguage??""}}function A(e,d){return{search:{provider:e.enabled?e.provider:"off",searxngUrl:e.searxngUrl},keys:{...d},proxy:e.proxy,acceptLanguage:e.acceptLanguage}}function z(e,d,x){let g=R(e);if(d.enabled!==g.enabled)return!0;if(d.enabled&&d.provider!==g.provider)return!0;return d.searxngUrl!==g.searxngUrl||d.proxy!==g.proxy||d.acceptLanguage!==g.acceptLanguage||Object.keys(x).length>0}function B({notice:e}){let{cn:d}=_();if(!e)return null;let x=e.type==="success"?vn:Z;return n("div",{role:e.type==="error"?"alert":"status",className:d("flex items-start gap-2 text-xs",e.type==="success"?"text-success":"text-danger"),children:[t(x,{className:"mt-0.5 size-4 shrink-0","aria-hidden":"true"}),t("span",{className:"min-w-0 break-words",children:e.text})]})}function F(e){let{Button:d,Input:x,Switch:g,Select:W,StatusChip:p,SettingGroup:h,SettingRow:C,cn:w}=_(),f=J(),c=e.busy!==void 0;return n("form",{className:"min-w-0 space-y-6",onSubmit:async(s)=>{s.preventDefault(),await e.onSave()},children:[n(h,{title:"联网搜索",children:[t(C,{title:"启用搜索",description:"查询会发送至所选搜索服务。",children:n("div",{className:"flex items-center gap-3",children:[t("span",{className:"text-xs text-dim",children:e.draft.enabled?"已开启":"已关闭"}),t(g,{label:"启用联网搜索",disabled:c,checked:e.draft.enabled,onCheckedChange:(s)=>e.onDraft({...e.draft,enabled:s})})]})}),n("div",{className:"space-y-4 p-4",children:[n("div",{children:[t("label",{htmlFor:`${f}-provider`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"搜索渠道"}),t(W,{id:`${f}-provider`,value:e.draft.provider,disabled:c||!e.draft.enabled,className:"min-w-0",groups:[{options:[{value:"auto",label:"自动",description:"失败时依次切换渠道"},...U.map((s)=>({value:s.id,label:s.name}))]}],onValueChange:(s)=>{let a=s==="auto"?s:U.find((k)=>k.id===s)?.id;if(a)e.onDraft({...e.draft,provider:a})}}),t("p",{className:"mt-1.5 text-xs leading-5 text-faint",children:"自动:Exa → Tavily → Parallel → Firecrawl → TinyFish"})]}),(e.draft.provider==="searxng"||e.draft.searxngUrl)&&n("div",{children:[t("label",{htmlFor:`${f}-searxng`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"自建 SearXNG 地址"}),t(x,{id:`${f}-searxng`,type:"url",maxLength:2000,disabled:c||!e.draft.enabled,value:e.draft.searxngUrl,placeholder:"https://search.example.com",onChange:(s)=>e.onDraft({...e.draft,searxngUrl:s.target.value})})]})]})]}),t(h,{title:"渠道与密钥",description:"检测使用已保存配置,按下列顺序执行。",action:n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:async()=>await e.onCheck("all"),children:[t(ee,{className:w("size-3.5",e.checking==="all"&&"animate-spin"),"aria-hidden":"true"}),e.checking==="all"?"正在检测…":"检测全部渠道"]}),children:U.map((s)=>{let a=s.id,k=a==="searxng"?void 0:e.saved.keys[a],N=k?.source==="environment",D=a==="searxng"?void 0:e.keys[a],K=D==="",v=e.checks[a],m=e.checking==="all"||e.checking===a,S=k?.configured?"已配置密钥":"未配置";if(a==="searxng")S=e.saved.search.searxngUrl?"已配置地址":"未配置地址";if(N)S="来自环境变量";if(K)S="待移除";if(D)S="待保存密钥";return n("div",{className:"min-w-0 p-4",children:[n("div",{className:"flex min-w-0 flex-wrap items-center justify-between gap-x-3 gap-y-2",children:[n("div",{className:"min-w-0 flex-1 basis-28",children:[t("div",{className:"text-sm font-medium text-ink",children:s.name}),t("p",{className:"mt-0.5 text-xs text-faint",children:s.description})]}),n("div",{className:"flex max-w-full flex-wrap items-center justify-end gap-2",children:[t(p,{tone:D!==void 0?"warning":"neutral",children:S}),v&&!m&&t(p,{tone:v.ok?"success":"danger",children:v.ok?`可用 ${v.elapsedMs} ms`:"不可用"}),m&&t(p,{tone:"neutral",pulse:!0,children:"检测中"}),a!=="searxng"&&!N&&n(y,{children:[t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`${k?.configured?"更换":"设置"} ${s.name} 密钥`,"aria-expanded":e.editingKey===a,"aria-controls":`${f}-${a}-key-editor`,onClick:()=>e.onEditKey(e.editingKey===a?void 0:a),children:k?.configured?"更换":"设置密钥"}),k?.configured&&!K&&t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`移除 ${s.name} 密钥`,onClick:()=>{e.onKeys({...e.keys,[a]:""}),e.onEditKey(void 0)},children:"移除"})]}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,"aria-label":`检测 ${s.name}`,onClick:async()=>await e.onCheck(a),children:"检测"})]})]}),N&&t("p",{className:"mt-1 text-xs text-faint",children:"请在服务端环境变量中更换或移除。"}),a!=="searxng"&&e.editingKey===a&&n("div",{id:`${f}-${a}-key-editor`,className:"mt-3 space-y-2",children:[n("label",{htmlFor:`${f}-${a}-key`,className:"block text-xs font-medium text-dim",children:[s.name," API 密钥"]}),t(x,{id:`${f}-${a}-key`,type:"password",autoComplete:"new-password",maxLength:4000,disabled:c,value:e.keys[a]??"",placeholder:"输入新密钥,保存后生效",onChange:(P)=>{let b={...e.keys};if(P.target.value.trim())b[a]=P.target.value;else delete b[a];e.onKeys(b)}}),n("div",{className:"flex items-center justify-between gap-2",children:[t("p",{className:"min-w-0 text-xs text-faint",children:"密钥只写入,不回显。"}),t(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:()=>{let P={...e.keys};delete P[a],e.onKeys(P),e.onEditKey(void 0)},children:"取消"})]})]}),v&&!v.ok&&!m&&t("p",{role:"status",className:"mt-2 break-words text-xs leading-5 text-danger",children:v.error??(v.kind==="search"?v.meta?.failed[0]?.error:v.meta?.error)??"检测失败,请检查配置。"})]},a)})}),n(h,{title:"网络",children:[n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-proxy`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"代理 URL"}),t(x,{id:`${f}-proxy`,type:"url",maxLength:2000,disabled:c,value:e.draft.proxy,placeholder:"http://127.0.0.1:7890",onChange:(s)=>e.onDraft({...e.draft,proxy:s.target.value})}),t("p",{className:"mt-1.5 text-xs text-faint",children:"留空使用服务端环境代理。"})]}),n("div",{className:"p-4",children:[t("label",{htmlFor:`${f}-language`,className:"mb-1.5 block text-[13px] font-medium text-dim",children:"Accept-Language"}),t(x,{id:`${f}-language`,maxLength:200,disabled:c,value:e.draft.acceptLanguage,placeholder:"en-US,en;q=0.9",onChange:(s)=>e.onDraft({...e.draft,acceptLanguage:s.target.value})})]})]}),n("div",{className:"mt-4 flex flex-wrap items-center justify-between gap-3 px-0.5",children:[t("div",{className:"min-w-0 flex-1",children:t(B,{notice:e.notice})}),n("div",{className:"flex flex-wrap items-center gap-2",children:[e.dirty&&n(d,{type:"button",size:"sm",variant:"ghost",disabled:c,onClick:e.onRestore,children:[t(at,{className:"size-3.5","aria-hidden":"true"}),"重置"]}),n(d,{type:"submit",size:"sm",variant:"primary",disabled:c||!e.dirty,children:[t(bt,{className:"size-3.5","aria-hidden":"true"}),e.busy==="save"?"保存中…":"保存"]}),e.onClose&&t(d,{type:"button",size:"sm",variant:"secondary",onClick:e.onClose,children:"关闭"})]})]})]})}function q({connection:e,onClose:d}){let{Button:x}=_(),[g,W]=r(),[p,h]=r(),[C,w]=r({}),[f,c]=r(),[s,a]=r("load"),[k,N]=r(),[D,K]=r({}),[v,m]=r(),[S,P]=r(0),b=i(void 0);o(()=>{let l=new AbortController;return b.current=l,a("load"),m(void 0),W(void 0),h(void 0),w({}),c(void 0),K({}),e.request("/api/plugins/webfetch/settings",{signal:l.signal,cache:S>0?"reload":"default"}).then((u)=>{if(l.signal.aborted)return;W(u),h(R(u))}).catch((u)=>{if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"加载设置失败,请重试。"})}).finally(()=>{if(!l.signal.aborted)b.current=void 0,a(void 0)}),()=>{l.abort(),b.current?.abort(),b.current=void 0}},[e,S]);async function G(){if(b.current||!g||!p||!z(g,p,C))return;let l=new AbortController;b.current=l,a("save"),m(void 0);try{let u=await e.request("/api/plugins/webfetch/settings",{method:"PATCH",signal:l.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(A(p,C))});if(l.signal.aborted)return;W(u),h(R(u)),w({}),c(void 0),K({}),m({type:"success",text:"设置已保存。"})}catch(u){if(!l.signal.aborted)m({type:"error",text:u instanceof Error?u.message:"保存失败,请重试。"})}finally{if(!l.signal.aborted)b.current=void 0,a(void 0)}}async function I(l){if(b.current||!g)return;let u=new AbortController;b.current=u,a("test"),N(l),m(void 0);try{let L=await e.request(`/api/plugins/webfetch/test?provider=${l}`,{method:"POST",signal:u.signal});if(u.signal.aborted)return;K((j)=>{let T={...j};for(let E of L.checks)if(E.kind==="search"&&E.provider)T[E.provider]=E;return T})}catch(L){if(!u.signal.aborted)m({type:"error",text:L instanceof Error?L.message:"检测失败,请重试。"})}finally{if(!u.signal.aborted)b.current=void 0,a(void 0),N(void 0)}}if(!g||!p)return n("div",{className:"min-w-0 space-y-3",children:[s==="load"&&t("p",{role:"status",className:"text-sm text-dim",children:"正在加载设置…"}),t(B,{notice:v}),d&&t(x,{type:"button",size:"sm",variant:"secondary",onClick:d,children:"关闭"}),s!=="load"&&t(x,{type:"button",size:"sm",variant:"ghost",onClick:()=>P(S+1),children:"重新加载"})]});return t(F,{saved:g,draft:p,keys:C,editingKey:f,dirty:z(g,p,C),busy:s==="load"?void 0:s,checking:k,checks:D,notice:v,onDraft:(l)=>{h(l),m(void 0)},onKeys:(l)=>{w(l),m(void 0)},onEditKey:c,onClose:d,onSave:G,onCheck:I,onRestore:()=>{h(R(g)),w({}),c(void 0),m(void 0)}})}export{F as SettingsForm,q as default};
|