@bkm016/basalt 0.1.10 → 0.1.12
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/{chunk-755sy11p.js → chunk-01nve4qy.js} +1 -1
- package/{chunk-jtsve11b.js → chunk-0fc9apfn.js} +9 -9
- package/{chunk-d5j74pcp.js → chunk-1h34mzh7.js} +4 -4
- package/{chunk-fgwda4m0.js → chunk-1xfv4bd7.js} +1 -1
- package/{chunk-mbpb5c7w.js → chunk-2fyjph3f.js} +1 -1
- package/{chunk-13gvs0ax.js → chunk-2kxnw7vs.js} +1 -1
- package/{chunk-95964592.js → chunk-37zystxb.js} +11 -11
- package/{chunk-h1kb8b49.js → chunk-3pf1d62g.js} +2 -2
- package/{chunk-29qrxygd.js → chunk-5wnmbc1b.js} +2 -2
- package/{chunk-c71173py.js → chunk-6mges89p.js} +4 -4
- package/{chunk-d0a1jxk5.js → chunk-6sz5q3df.js} +2 -2
- package/chunk-7er5pz7s.js +479 -0
- package/{chunk-gbjn6d81.js → chunk-7g5smgjj.js} +1 -1
- package/chunk-7m3jagqn.js +2 -0
- package/{chunk-wnzvnskb.js → chunk-85v69h91.js} +2 -2
- package/{chunk-38g3gctw.js → chunk-9c4gdg1q.js} +2 -2
- package/{chunk-en218k4y.js → chunk-cbgpymt4.js} +1 -1
- package/{chunk-a1rb1a48.js → chunk-cdw03j4t.js} +2 -2
- package/chunk-ch1r3ted.js +2 -0
- package/{chunk-dfh9m9n7.js → chunk-db7ws33a.js} +2 -2
- package/{chunk-1n7dat03.js → chunk-ejjem0tc.js} +3 -3
- package/{chunk-c4qr1f41.js → chunk-eq4wqxzt.js} +2 -2
- package/{chunk-zc9ar0r4.js → chunk-eyrtbbdd.js} +1 -1
- package/{chunk-r4ttdkrz.js → chunk-fhxy6y34.js} +2 -2
- package/{chunk-zyyzk5ha.js → chunk-fy82qxa1.js} +1 -1
- package/{chunk-xtq1xpq0.js → chunk-hc300148.js} +1 -1
- package/{chunk-vtqr7dm8.js → chunk-j64dc767.js} +2 -2
- package/{chunk-msm9hmk9.js → chunk-jpnf71q7.js} +2 -2
- package/{chunk-q9f4xb0w.js → chunk-kpe7pnhy.js} +4 -4
- package/{chunk-a98wma9j.js → chunk-ksk49hv0.js} +1 -1
- package/{chunk-bdjr0kfr.js → chunk-m4bg1apa.js} +5 -5
- package/{chunk-dq01v5eq.js → chunk-nhm9z3d8.js} +1 -1
- package/{chunk-30rjf7my.js → chunk-ntks40jd.js} +2 -2
- package/{chunk-a1352w87.js → chunk-nw1xpt3s.js} +1 -1
- package/{chunk-xh444pfn.js → chunk-p2pmdbt2.js} +8 -8
- package/{chunk-hb4f2v34.js → chunk-qfcr5g35.js} +2 -2
- package/{chunk-n2jcx65v.js → chunk-qs8zzg50.js} +2 -2
- package/{chunk-qaeyhe65.js → chunk-r4gm8ngh.js} +1 -1
- package/{chunk-pz2afna8.js → chunk-rks90mh1.js} +1 -1
- package/{chunk-asyr3gnq.js → chunk-rwks9zaw.js} +2 -2
- package/{chunk-v3ee9z3f.js → chunk-t7te60m7.js} +1 -1
- package/{chunk-4dw43syb.js → chunk-tv52xajf.js} +1 -1
- package/{chunk-c0zfefq8.js → chunk-v7wcchy2.js} +1 -1
- package/{chunk-tevejprz.js → chunk-vjne04dp.js} +3 -3
- package/{chunk-ax04trym.js → chunk-w0rr66z7.js} +1 -1
- package/{chunk-gkf5jwvj.js → chunk-w6f2r052.js} +1 -1
- package/{chunk-0mjb3sm3.js → chunk-wqqjzsjt.js} +327 -282
- package/{chunk-c6q04xrd.js → chunk-xef4642x.js} +1 -1
- package/compiled.js +7 -7
- package/package.json +1 -1
- package/ui-test-worker.js +2 -2
- package/web/chunk-04drx71p.js +1 -0
- package/web/chunk-0mdf1qja.js +1 -0
- package/web/chunk-0rdgt4jb.css +1 -0
- package/web/{chunk-nawxgz87.js → chunk-19zd0tye.js} +8 -8
- package/web/chunk-1m0kp0g3.js +8 -0
- package/web/{chunk-07agqp8h.js → chunk-1zwc09e8.js} +2 -2
- package/web/{chunk-fmmrthpa.js → chunk-2cyzaqjy.js} +3 -3
- package/web/{chunk-vasppf6b.js → chunk-2jfesv7m.js} +2 -2
- package/web/{chunk-mykrm8ba.js → chunk-30aeb767.js} +2 -2
- package/web/chunk-3j2tcphs.js +1 -0
- package/web/chunk-3k9h7a73.js +1142 -0
- package/web/chunk-3m1bb2fw.js +1 -0
- package/web/{chunk-88wd49xe.js → chunk-3n9ypydh.js} +2 -2
- package/web/{chunk-sd3xat3r.js → chunk-3psgr0q8.js} +13 -13
- package/web/{chunk-yppgejg7.js → chunk-3qxxrwsp.js} +10 -10
- package/web/{chunk-js6kb05s.js → chunk-3rkkp6ed.js} +6 -6
- package/web/{chunk-tqze6d6b.js → chunk-4f6a8dsk.js} +1 -1
- package/web/{chunk-eqndhs21.js → chunk-4wwd3pfz.js} +2 -2
- package/web/chunk-55nvm2mj.js +1 -0
- package/web/chunk-5dkqfnh7.js +2 -0
- package/web/{chunk-zms6mrqk.js → chunk-5g8md2wg.js} +5 -5
- package/web/{chunk-h5ckjk48.js → chunk-5np514v5.js} +12 -12
- package/web/{chunk-z4bp6p32.js → chunk-60mym60n.js} +1 -1
- package/web/{chunk-bc3ajvfg.js → chunk-6f2sz84q.js} +2 -2
- package/web/{chunk-frnh4zqf.js → chunk-6jb2zyp6.js} +2 -2
- package/web/{chunk-g7dc4hrd.js → chunk-7adsmqv6.js} +1 -1
- package/web/{chunk-g7kz8f7q.js → chunk-7ksg3ccg.js} +5 -5
- package/web/chunk-7ky5nrrr.js +1 -0
- package/web/{chunk-sc63488q.js → chunk-7v85yvb2.js} +1 -1
- package/web/chunk-7vgh17es.js +1 -0
- package/web/chunk-80z8s8zb.js +2 -0
- package/web/{chunk-rxvm70w5.js → chunk-81s15c2e.js} +2 -2
- package/web/{chunk-knm82fw9.js → chunk-8539865x.js} +1 -1
- package/web/{chunk-jccz14ye.js → chunk-885kpj14.js} +2 -2
- package/web/{chunk-26ecc2xh.js → chunk-8cnjd0f2.js} +5 -5
- package/web/chunk-8sdjgv3k.js +1 -0
- package/web/chunk-9bxtzwtc.js +1 -0
- package/web/chunk-9jy8nc4r.js +1 -0
- package/web/{chunk-c57f714b.js → chunk-aa46mrgh.js} +2 -2
- package/web/{chunk-gw8x1g61.js → chunk-act3rr85.js} +1 -1
- package/web/chunk-aebrw6cv.js +39 -0
- package/web/{chunk-j37p0b13.js → chunk-aeymdtm1.js} +3 -3
- package/web/{chunk-8h2x89tw.js → chunk-ar6jnhm5.js} +1 -1
- package/web/{chunk-tfqarvdx.js → chunk-b5zf1hs3.js} +59 -59
- package/web/{chunk-m4fxd5d9.js → chunk-b99k8q22.js} +8 -8
- package/web/chunk-bcjgzwef.js +1 -0
- package/web/{chunk-jke2ev6m.js → chunk-bra33pt0.js} +2 -2
- package/web/{chunk-myd6sc76.js → chunk-bygwbpvq.js} +1 -1
- package/web/{chunk-zse05v6j.js → chunk-c3fty2c2.js} +9 -9
- package/web/chunk-cxpnj495.js +2 -0
- package/web/{chunk-x850q01z.js → chunk-d1btrqmw.js} +1 -1
- package/web/{chunk-qdzy124b.js → chunk-d57fm7k0.js} +2 -2
- package/web/{chunk-j89s11x8.js → chunk-d73zkc4q.js} +4 -4
- package/web/chunk-d94t9z70.js +1 -0
- package/web/chunk-de29pe57.js +1 -0
- package/web/{chunk-rag65pfs.js → chunk-dndd757x.js} +3 -3
- package/web/chunk-e68jw0bg.js +1 -0
- package/web/{chunk-grm2208k.js → chunk-e94pd9rr.js} +13 -13
- package/web/{chunk-zz1qkaar.js → chunk-enwfd8d5.js} +2 -2
- package/web/{chunk-qq6m2my8.js → chunk-fj753yzt.js} +2 -2
- package/web/chunk-fr4fft89.js +1 -0
- package/web/{chunk-5svqfj4g.js → chunk-g488hxx0.js} +3 -3
- package/web/{chunk-0770q5e1.js → chunk-g4zm0crw.js} +1 -1
- package/web/chunk-gckmcef6.js +1 -0
- package/web/{chunk-se4h6wx0.js → chunk-gkmaryr4.js} +1 -1
- package/web/chunk-gnb09wmx.js +1 -0
- package/web/{chunk-6e87m0nm.js → chunk-gten0rpx.js} +2 -2
- package/web/chunk-h24ybwp6.js +1 -0
- package/web/{chunk-z5qn0xev.js → chunk-h754ntg7.js} +2 -2
- package/web/{chunk-tt93zbn4.js → chunk-hn8m1vsg.js} +7 -7
- package/web/{chunk-rh3xb76f.js → chunk-hqxc9m07.js} +10 -10
- package/web/chunk-hrgqc1vr.js +1 -0
- package/web/{chunk-3eexx7y5.js → chunk-hva7xyne.js} +2 -2
- package/web/chunk-hxbfkdjd.js +1 -0
- package/web/chunk-j9c8fa82.js +1 -0
- package/web/{chunk-5v5q13hz.js → chunk-jeafmjsm.js} +2 -2
- package/web/chunk-jyf7a7yp.js +2 -0
- package/web/chunk-jz5mmp64.js +1 -0
- package/web/{chunk-18neka5g.js → chunk-k4dnjf8n.js} +5 -5
- package/web/{chunk-32ty2xfn.js → chunk-kerfb21g.js} +1 -1
- package/web/chunk-kxeaj44h.js +1 -0
- package/web/chunk-m0136xav.js +1 -0
- package/web/chunk-m1rdyvb5.js +1 -0
- package/web/chunk-m6vyvgm5.js +1 -0
- package/web/{chunk-w3zgfhjb.js → chunk-mxkbmgcv.js} +2 -2
- package/web/chunk-my0ec787.js +1 -0
- package/web/{chunk-qy1zx2yw.js → chunk-n9v14vyd.js} +22 -22
- package/web/{chunk-x5g1yy12.js → chunk-ncfzmf2g.js} +1 -1
- package/web/chunk-nkpdd9hw.js +1 -0
- package/web/chunk-ny436sqg.js +1 -0
- package/web/chunk-pbp1p5ex.js +1 -0
- package/web/chunk-ph75hddv.js +1 -0
- package/web/chunk-phdfyqaa.js +1 -0
- package/web/chunk-phxa5krt.js +1 -0
- package/web/{chunk-wrevb4ew.js → chunk-pjpre6de.js} +6 -6
- package/web/{chunk-vvvd3grf.js → chunk-pzg25qqe.js} +2 -2
- package/web/chunk-q1zxvjhs.js +2 -0
- package/web/{chunk-1qh7f5kr.js → chunk-qdd3bx8q.js} +1 -1
- package/web/{chunk-9yfftz38.js → chunk-qp3tjhaq.js} +1 -1
- package/web/chunk-r4zbw4zj.js +2 -0
- package/web/{chunk-1ev0n3n4.js → chunk-r6kk4vp1.js} +2 -2
- package/web/{chunk-n4yzs2q0.js → chunk-rdr6wt22.js} +4 -4
- package/web/chunk-ry4ycah9.js +1 -0
- package/web/{chunk-de40q05r.js → chunk-sdr5wa4z.js} +3 -3
- package/web/chunk-sqm16fat.js +1 -0
- package/web/{chunk-gsw1tv96.js → chunk-td83xf12.js} +1 -1
- package/web/{chunk-t5nvgz7z.js → chunk-v0wtk059.js} +7 -7
- package/web/{chunk-pgwf37s2.js → chunk-v1hfbjz9.js} +5 -5
- package/web/chunk-v1qt3gq4.js +1 -0
- package/web/{chunk-wtvch4ad.js → chunk-v34mr9ky.js} +9 -9
- package/web/chunk-v854w9yn.js +1 -0
- package/web/{chunk-xtn305fd.js → chunk-ve56gxq0.js} +1 -1
- package/web/chunk-w573ym17.js +1 -0
- package/web/{chunk-dv1berk6.js → chunk-w9gnqkez.js} +2 -2
- package/web/{chunk-q4bst4an.js → chunk-wqzbxzk3.js} +1 -1
- package/web/{chunk-rwfmccmh.js → chunk-wvrs986a.js} +4 -4
- package/web/chunk-x0mjydtp.js +1 -0
- package/web/{chunk-awkdw9rw.js → chunk-xbyrgyy0.js} +2 -2
- package/web/{chunk-p55vhns6.js → chunk-xpecre7w.js} +4 -4
- package/web/{chunk-ehtmb6sn.js → chunk-xvfeq8v2.js} +13 -13
- package/web/{chunk-rbqnre6q.js → chunk-yf8ykk4v.js} +4 -4
- package/web/{chunk-sjkg40ay.js → chunk-yjs6jmdb.js} +1 -1
- package/web/chunk-ym7kv2hs.js +1 -0
- package/web/chunk-zhybh04p.js +1 -0
- package/web/index.html +1 -1
- package/worker.js +1 -1
- package/chunk-3mqf9ped.js +0 -479
- package/chunk-7zkswxvk.js +0 -2
- package/chunk-m1eam0s5.js +0 -2
- package/web/chunk-045d3b5d.js +0 -1
- package/web/chunk-12qf1r6m.js +0 -1
- package/web/chunk-1ex3wgms.js +0 -2
- package/web/chunk-2cz7tx8q.js +0 -1
- package/web/chunk-46jnkghq.js +0 -2
- package/web/chunk-4am8j3k3.js +0 -1
- package/web/chunk-5qvmefq2.js +0 -1
- package/web/chunk-5z2n4z9x.css +0 -1
- package/web/chunk-6y55gk1n.js +0 -1
- package/web/chunk-7np1jp3x.js +0 -8
- package/web/chunk-7qq1ypvj.js +0 -1
- package/web/chunk-87e8d1hv.js +0 -1
- package/web/chunk-8y2526ve.js +0 -1
- package/web/chunk-905vw286.js +0 -2
- package/web/chunk-918e5t4x.js +0 -2
- package/web/chunk-96m2m3e8.js +0 -1
- package/web/chunk-9f4zzqbx.js +0 -1
- package/web/chunk-a1n4468c.js +0 -1
- package/web/chunk-arnzrqnm.js +0 -1
- package/web/chunk-b46ws7rf.js +0 -1
- package/web/chunk-bwy3e58v.js +0 -1
- package/web/chunk-d5gshd1a.js +0 -1
- package/web/chunk-dp0k5vhd.js +0 -1
- package/web/chunk-eh7wp62z.js +0 -2
- package/web/chunk-et1hytyv.js +0 -1
- package/web/chunk-f7jpakwh.js +0 -1
- package/web/chunk-f9m9seam.js +0 -1
- package/web/chunk-g2erm7k0.js +0 -1
- package/web/chunk-g3kbn0t2.js +0 -1
- package/web/chunk-ght0t49g.js +0 -1
- package/web/chunk-ghwm7bdj.js +0 -2
- package/web/chunk-h2txs73e.js +0 -39
- package/web/chunk-h3tkacc7.js +0 -1
- package/web/chunk-je78j3vr.js +0 -1
- package/web/chunk-kxdtg9dt.js +0 -1
- package/web/chunk-m9xzt9p7.js +0 -1
- package/web/chunk-ngt1j8py.js +0 -1139
- package/web/chunk-q34as3v6.js +0 -1
- package/web/chunk-qe0bgeda.js +0 -1
- package/web/chunk-sat7zyva.js +0 -1
- package/web/chunk-sk0hpa80.js +0 -1
- package/web/chunk-tvcxrx6h.js +0 -1
- package/web/chunk-tzpnh70q.js +0 -1
- package/web/chunk-vb7g4xg6.js +0 -1
- package/web/chunk-wzfe6jtq.js +0 -1
- package/web/chunk-xh4xn1az.js +0 -1
- package/web/chunk-xk904wqv.js +0 -1
- package/web/chunk-xzwxcxb4.js +0 -1
- package/web/chunk-yekaz74b.js +0 -1
- package/web/chunk-ys2tns0p.js +0 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import{fn}from"./chunk-g7dc4hrd.js";import{G}from"./chunk-eh7wp62z.js";import{t,a,N,x,b,C,S,E,T,A,L,R,l,kr,p,Zi,U,M}from"./chunk-tfqarvdx.js";import{J}from"./chunk-qy1zx2yw.js";var v={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ce=N.gitGraph,X=t(()=>U({...Ce,...x().gitGraph}),"getConfig"),m=new fn(()=>{let e=X(),{mainBranchName:r,mainBranchOrder:o}=e;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:o}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function ne(){return Zi({length:7})}t(ne,"getID");function pe(e,r){let o=Object.create(null);return e.reduce((c,i)=>{let h=r(i);if(!o[h])o[h]=!0,c.push(i);return c},[])}t(pe,"uniqBy");var ve=t(function(e){m.records.direction=e},"setDirection"),Ee=t(function(e){a.debug("options str",e),e=e?.trim(),e=e||"{}";try{m.records.options=JSON.parse(e)}catch(r){a.error("error while parsing gitGraph options",r.message)}},"setOptions"),Te=t(function(){return m.records.options},"getOptions"),Le=t(function(e){let{msg:r,id:o,type:c,tags:i}=e;a.info("commit",r,o,c,i),a.debug("Entering commit:",r,o,c,i);let h=X();o=b.sanitizeText(o,h),r=b.sanitizeText(r,h),i=i?.map((s)=>b.sanitizeText(s,h));let n={id:o?o:m.records.seq+"-"+ne(),message:r,seq:m.records.seq++,type:c??v.NORMAL,tags:i??[],parents:m.records.head==null?[]:[m.records.head.id],branch:m.records.currBranch};if(m.records.head=n,a.info("main branch",h.mainBranchName),m.records.commits.has(n.id))a.warn(`Commit ID ${n.id} already exists`);m.records.commits.set(n.id,n),m.records.branches.set(m.records.currBranch,n.id),a.debug("in pushCommit "+n.id)},"commit"),Me=t(function(e){let{name:r,order:o}=e;if(r=b.sanitizeText(r,X()),m.records.branches.has(r))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);m.records.branches.set(r,m.records.head!=null?m.records.head.id:null),m.records.branchConfig.set(r,{name:r,order:o}),ye(r),a.debug("in createBranch")},"branch"),Pe=t((e)=>{let{branch:r,id:o,type:c,tags:i}=e,h=X();if(r=b.sanitizeText(r,h),o)o=b.sanitizeText(o,h);let n=m.records.branches.get(m.records.currBranch),s=m.records.branches.get(r),g=n?m.records.commits.get(n):void 0,y=s?m.records.commits.get(s):void 0;if(g&&y&&g.branch===r)throw Error(`Cannot merge branch '${r}' into itself.`);if(m.records.currBranch===r){let d=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(g===void 0||!g){let d=Error(`Incorrect usage of "merge". Current branch (${m.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!m.records.branches.has(r)){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(y===void 0||!y){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if(g===y){let d=Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(o&&m.records.commits.has(o)){let d=Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${o} ${c} ${i?.join(" ")}`,token:`merge ${r} ${o} ${c} ${i?.join(" ")}`,expected:[`merge ${r} ${o}_UNIQUE ${c} ${i?.join(" ")}`]},d}let u=s?s:"",f={id:o||`${m.records.seq}-${ne()}`,message:`merged branch ${r} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,u],branch:m.records.currBranch,type:v.MERGE,customType:c,customId:o?!0:!1,tags:i??[]};m.records.head=f,m.records.commits.set(f.id,f),m.records.branches.set(m.records.currBranch,f.id),a.debug(m.records.branches),a.debug("in mergeBranch")},"merge"),Re=t(function(e){let{id:r,targetId:o,tags:c,parent:i}=e;a.debug("Entering cherryPick:",r,o,c);let h=X();if(r=b.sanitizeText(r,h),o=b.sanitizeText(o,h),c=c?.map((g)=>b.sanitizeText(g,h)),i=b.sanitizeText(i,h),!r||!m.records.commits.has(r)){let g=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw g.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},g}let n=m.records.commits.get(r);if(n===void 0||!n)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(n.parents)&&n.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let s=n.branch;if(n.type===v.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!o||!m.records.commits.has(o)){if(s===m.records.currBranch){let f=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let g=m.records.branches.get(m.records.currBranch);if(g===void 0||!g){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let y=m.records.commits.get(g);if(y===void 0||!y){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let u={id:m.records.seq+"-"+ne(),message:`cherry-picked ${n?.message} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,n.id],branch:m.records.currBranch,type:v.CHERRY_PICK,tags:c?c.filter(Boolean):[`cherry-pick:${n.id}${n.type===v.MERGE?`|parent:${i}`:""}`]};m.records.head=u,m.records.commits.set(u.id,u),m.records.branches.set(m.records.currBranch,u.id),a.debug(m.records.branches),a.debug("in cherryPick")}},"cherryPick"),ye=t(function(e){if(e=b.sanitizeText(e,X()),!m.records.branches.has(e)){let r=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}else{m.records.currBranch=e;let r=m.records.branches.get(m.records.currBranch);if(r===void 0||!r)m.records.head=null;else m.records.head=m.records.commits.get(r)??null}},"checkout");function he(e,r,o){let c=e.indexOf(r);if(c===-1)e.push(o);else e.splice(c,1,o)}t(he,"upsert");function me(e){let r=e.reduce((i,h)=>{if(i.seq>h.seq)return i;return h},e[0]),o="";e.forEach(function(i){if(i===r)o+="\t*";else o+="\t|"});let c=[o,r.id,r.seq];for(let i in m.records.branches)if(m.records.branches.get(i)===r.id)c.push(i);if(a.debug(c.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){let i=m.records.commits.get(r.parents[0]);if(he(e,r,i),r.parents[1])e.push(m.records.commits.get(r.parents[1]))}else if(r.parents.length==0)return;else if(r.parents[0]){let i=m.records.commits.get(r.parents[0]);he(e,r,i)}e=pe(e,(i)=>i.id),me(e)}t(me,"prettyPrintCommitHistory");var Oe=t(function(){a.debug(m.records.commits);let e=xe()[0];me([e])},"prettyPrint"),Ie=t(function(){m.reset(),C()},"clear"),_e=t(function(){return[...m.records.branchConfig.values()].map((r,o)=>{if(r.order!==null&&r.order!==void 0)return r;return{...r,order:parseFloat(`0.${o}`)}}).sort((r,o)=>(r.order??0)-(o.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ge=t(function(){return m.records.branches},"getBranches"),De=t(function(){return m.records.commits},"getCommits"),xe=t(function(){let e=[...m.records.commits.values()];return e.forEach(function(r){a.debug(r.id)}),e.sort((r,o)=>r.seq-o.seq),e},"getCommitsArray"),We=t(function(){return m.records.currBranch},"getCurrentBranch"),qe=t(function(){return m.records.direction},"getDirection"),Ae=t(function(){return m.records.head},"getHead"),ue={commitType:v,getConfig:X,setDirection:ve,setOptions:Ee,getOptions:Te,commit:Le,branch:Me,merge:Pe,cherryPick:Re,checkout:ye,prettyPrint:Oe,clear:Ie,getBranchesAsObjArray:_e,getBranches:Ge,getCommits:De,getCommitsArray:xe,getCurrentBranch:We,getDirection:qe,getHead:Ae,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R},He=t((e,r)=>{if(G(e,r),e.dir)r.setDirection(e.dir);for(let o of e.statements)Se(o,r)},"populate"),Se=t((e,r)=>{let c={Commit:t((i)=>r.commit(Ne(i)),"Commit"),Branch:t((i)=>r.branch(Fe(i)),"Branch"),Merge:t((i)=>r.merge(ze(i)),"Merge"),Checkout:t((i)=>r.checkout(Ye(i)),"Checkout"),CherryPicking:t((i)=>r.cherryPick(je(i)),"CherryPicking")}[e.$type];if(c)c(e);else a.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ne=t((e)=>({id:e.id,msg:e.message??"",type:e.type!==void 0?v[e.type]:v.NORMAL,tags:e.tags??void 0}),"parseCommit"),Fe=t((e)=>({name:e.name,order:e.order??0}),"parseBranch"),ze=t((e)=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?v[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ye=t((e)=>e.branch,"parseCheckout"),je=t((e)=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ke={parse:t(async(e)=>{let r=await J("gitGraph",e);a.debug(r),He(r,ue)},"parse")},j=10,K=40,H=4,z=2,V=8,ce=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),le=12,ge=new Set(["redux-color","redux-dark-color"]),Ue=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Z=t((e,r,o=!1)=>{if(o&&e>0)return(e-1)%(r-1)+1;return e%r},"calcColorIndex"),D=new Map,W=new Map,oe=30,te=new Map,se=[],Y=0,B="LR",Ve=t(()=>{D.clear(),W.clear(),te.clear(),Y=0,se=[],B="LR"},"clear"),be=t((e)=>{let r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e==="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach((c)=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=c.trim(),r.appendChild(i)}),r},"drawText"),we=t((e)=>{let r,o,c;if(B==="BT")o=t((i,h)=>i<=h,"comparisonFunc"),c=1/0;else o=t((i,h)=>i>=h,"comparisonFunc"),c=0;return e.forEach((i)=>{let h=B==="TB"||B=="BT"?W.get(i)?.y:W.get(i)?.x;if(h!==void 0&&o(h,c))r=i,c=h}),r},"findClosestParent"),Ze=t((e)=>{let r="",o=1/0;return e.forEach((c)=>{let i=W.get(c).y;if(i<=o)r=c,o=i}),r||void 0},"findClosestParentBT"),Xe=t((e,r,o)=>{let c=o,i=o,h=[];e.forEach((n)=>{let s=r.get(n);if(!s)throw Error(`Commit not found for key ${n}`);if(s.parents.length)c=Qe(s),i=Math.max(c,i);else h.push(s);et(s,c)}),c=i,h.forEach((n)=>{tt(n,c,o)}),e.forEach((n)=>{let s=r.get(n);if(s?.parents.length){let g=Ze(s.parents);if(c=W.get(g).y-K,c<=i)i=c;let y=D.get(s.branch).pos,u=c-j;W.set(s.id,{x:y,y:u})}})},"setParallelBTPos"),Je=t((e)=>{let r=we(e.parents.filter((c)=>c!==null));if(!r)throw Error(`Closest parent not found for commit ${e.id}`);let o=W.get(r)?.y;if(o===void 0)throw Error(`Closest parent position not found for commit ${e.id}`);return o},"findClosestParentPos"),Qe=t((e)=>Je(e)+K,"calculateCommitPosition"),et=t((e,r)=>{let o=D.get(e.branch);if(!o)throw Error(`Branch not found for commit ${e.id}`);let c=o.pos,i=r+j;return W.set(e.id,{x:c,y:i}),{x:c,y:i}},"setCommitPosition"),tt=t((e,r,o)=>{let c=D.get(e.branch);if(!c)throw Error(`Branch not found for commit ${e.id}`);let i=r+o,h=c.pos;W.set(e.id,{x:h,y:i})},"setRootPosition"),rt=t((e,r,o,c,i,h)=>{let{theme:n}=l(),s=ce.has(n??""),g=ge.has(n??""),y=Ue.has(n??"");if(h===v.HIGHLIGHT)e.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class",`commit ${r.id} commit-highlight${Z(i,V,g)} ${c}-outer`),e.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class",`commit ${r.id} commit${Z(i,V,g)} ${c}-inner`);else if(h===v.CHERRY_PICK)e.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`);else{let u=e.append("circle");if(u.attr("cx",o.x),u.attr("cy",o.y),u.attr("r",s?7:10),u.attr("class",`commit ${r.id} commit${Z(i,V,g)}`),h===v.MERGE){let f=e.append("circle");f.attr("cx",o.x),f.attr("cy",o.y),f.attr("r",s?5:6),f.attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}if(h===v.REVERSE){let f=e.append("path"),d=s?4:5;f.attr("d",`M ${o.x-d},${o.y-d}L${o.x+d},${o.y+d}M${o.x-d},${o.y+d}L${o.x+d},${o.y-d}`).attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}}},"drawCommitBullet"),at=t((e,r,o,c,i)=>{if(r.type!==v.CHERRY_PICK&&(r.customId&&r.type===v.MERGE||r.type!==v.MERGE)&&i.showCommitLabel){let h=e.append("g"),n=h.insert("rect").attr("class","commit-label-bkg"),s=h.append("text").attr("x",c).attr("y",o.y+25).attr("class","commit-label").text(r.id),g=s.node()?.getBBox();if(g){if(n.attr("x",o.posWithOffset-g.width/2-z).attr("y",o.y+13.5).attr("width",g.width+2*z).attr("height",g.height+2*z),B==="TB"||B==="BT")n.attr("x",o.x-(g.width+4*H+5)).attr("y",o.y-12),s.attr("x",o.x-(g.width+4*H)).attr("y",o.y+g.height-12);else s.attr("x",o.posWithOffset-g.width/2);if(i.rotateCommitLabel)if(B==="TB"||B==="BT")s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),n.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{let y=-7.5-(g.width+10)/25*9.5,u=10+g.width/25*8.5;h.attr("transform","translate("+y+", "+u+") rotate(-45, "+c+", "+o.y+")")}}}},"drawCommitLabel"),ot=t((e,r,o,c)=>{if(r.tags.length>0){let i=0,h=0,n=0,s=[];for(let g of r.tags.reverse()){let y=e.insert("polygon"),u=e.append("circle"),f=e.append("text").attr("y",o.y-16-i).attr("class","tag-label").text(g),d=f.node()?.getBBox();if(!d)throw Error("Tag bbox not found");h=Math.max(h,d.width),n=Math.max(n,d.height),f.attr("x",o.posWithOffset-d.width/2),s.push({tag:f,hole:u,rect:y,yOffset:i}),i+=20}for(let{tag:g,hole:y,rect:u,yOffset:f}of s){let d=n/2,k=o.y-19.2-f;if(u.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
-
${c-h/2-
|
|
3
|
-
${c-h/2-
|
|
4
|
-
${o.posWithOffset-h/2-
|
|
5
|
-
${o.posWithOffset+h/2+
|
|
6
|
-
${o.posWithOffset+h/2+
|
|
7
|
-
${o.posWithOffset-h/2-
|
|
1
|
+
import{fn}from"./chunk-7adsmqv6.js";import{H}from"./chunk-jyf7a7yp.js";import{t,a,M,x,b,C,S,E,T,A,L,R,l,wr,p,Hi,U,N}from"./chunk-b5zf1hs3.js";import{Q}from"./chunk-n9v14vyd.js";var v={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},Ce=M.gitGraph,X=t(()=>U({...Ce,...x().gitGraph}),"getConfig"),m=new fn(()=>{let e=X(),{mainBranchName:r,mainBranchOrder:o}=e;return{mainBranchName:r,commits:new Map,head:null,branchConfig:new Map([[r,{name:r,order:o}]]),branches:new Map([[r,null]]),currBranch:r,direction:"LR",seq:0,options:{}}});function ne(){return Hi({length:7})}t(ne,"getID");function pe(e,r){let o=Object.create(null);return e.reduce((c,i)=>{let h=r(i);if(!o[h])o[h]=!0,c.push(i);return c},[])}t(pe,"uniqBy");var ve=t(function(e){m.records.direction=e},"setDirection"),Ee=t(function(e){a.debug("options str",e),e=e?.trim(),e=e||"{}";try{m.records.options=JSON.parse(e)}catch(r){a.error("error while parsing gitGraph options",r.message)}},"setOptions"),Te=t(function(){return m.records.options},"getOptions"),Le=t(function(e){let{msg:r,id:o,type:c,tags:i}=e;a.info("commit",r,o,c,i),a.debug("Entering commit:",r,o,c,i);let h=X();o=b.sanitizeText(o,h),r=b.sanitizeText(r,h),i=i?.map((s)=>b.sanitizeText(s,h));let n={id:o?o:m.records.seq+"-"+ne(),message:r,seq:m.records.seq++,type:c??v.NORMAL,tags:i??[],parents:m.records.head==null?[]:[m.records.head.id],branch:m.records.currBranch};if(m.records.head=n,a.info("main branch",h.mainBranchName),m.records.commits.has(n.id))a.warn(`Commit ID ${n.id} already exists`);m.records.commits.set(n.id,n),m.records.branches.set(m.records.currBranch,n.id),a.debug("in pushCommit "+n.id)},"commit"),Me=t(function(e){let{name:r,order:o}=e;if(r=b.sanitizeText(r,X()),m.records.branches.has(r))throw Error(`Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout ${r}")`);m.records.branches.set(r,m.records.head!=null?m.records.head.id:null),m.records.branchConfig.set(r,{name:r,order:o}),ye(r),a.debug("in createBranch")},"branch"),Pe=t((e)=>{let{branch:r,id:o,type:c,tags:i}=e,h=X();if(r=b.sanitizeText(r,h),o)o=b.sanitizeText(o,h);let n=m.records.branches.get(m.records.currBranch),s=m.records.branches.get(r),g=n?m.records.commits.get(n):void 0,y=s?m.records.commits.get(s):void 0;if(g&&y&&g.branch===r)throw Error(`Cannot merge branch '${r}' into itself.`);if(m.records.currBranch===r){let d=Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(g===void 0||!g){let d=Error(`Incorrect usage of "merge". Current branch (${m.records.currBranch})has no commits`);throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["commit"]},d}if(!m.records.branches.has(r)){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") does not exist");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:[`branch ${r}`]},d}if(y===void 0||!y){let d=Error('Incorrect usage of "merge". Branch to be merged ('+r+") has no commits");throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:['"commit"']},d}if(g===y){let d=Error('Incorrect usage of "merge". Both branches have same head');throw d.hash={text:`merge ${r}`,token:`merge ${r}`,expected:["branch abc"]},d}if(o&&m.records.commits.has(o)){let d=Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw d.hash={text:`merge ${r} ${o} ${c} ${i?.join(" ")}`,token:`merge ${r} ${o} ${c} ${i?.join(" ")}`,expected:[`merge ${r} ${o}_UNIQUE ${c} ${i?.join(" ")}`]},d}let u=s?s:"",f={id:o||`${m.records.seq}-${ne()}`,message:`merged branch ${r} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,u],branch:m.records.currBranch,type:v.MERGE,customType:c,customId:o?!0:!1,tags:i??[]};m.records.head=f,m.records.commits.set(f.id,f),m.records.branches.set(m.records.currBranch,f.id),a.debug(m.records.branches),a.debug("in mergeBranch")},"merge"),Re=t(function(e){let{id:r,targetId:o,tags:c,parent:i}=e;a.debug("Entering cherryPick:",r,o,c);let h=X();if(r=b.sanitizeText(r,h),o=b.sanitizeText(o,h),c=c?.map((g)=>b.sanitizeText(g,h)),i=b.sanitizeText(i,h),!r||!m.records.commits.has(r)){let g=Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw g.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},g}let n=m.records.commits.get(r);if(n===void 0||!n)throw Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(n.parents)&&n.parents.includes(i)))throw Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");let s=n.branch;if(n.type===v.MERGE&&!i)throw Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!o||!m.records.commits.has(o)){if(s===m.records.currBranch){let f=Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let g=m.records.branches.get(m.records.currBranch);if(g===void 0||!g){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let y=m.records.commits.get(g);if(y===void 0||!y){let f=Error(`Incorrect usage of "cherry-pick". Current branch (${m.records.currBranch})has no commits`);throw f.hash={text:`cherryPick ${r} ${o}`,token:`cherryPick ${r} ${o}`,expected:["cherry-pick abc"]},f}let u={id:m.records.seq+"-"+ne(),message:`cherry-picked ${n?.message} into ${m.records.currBranch}`,seq:m.records.seq++,parents:m.records.head==null?[]:[m.records.head.id,n.id],branch:m.records.currBranch,type:v.CHERRY_PICK,tags:c?c.filter(Boolean):[`cherry-pick:${n.id}${n.type===v.MERGE?`|parent:${i}`:""}`]};m.records.head=u,m.records.commits.set(u.id,u),m.records.branches.set(m.records.currBranch,u.id),a.debug(m.records.branches),a.debug("in cherryPick")}},"cherryPick"),ye=t(function(e){if(e=b.sanitizeText(e,X()),!m.records.branches.has(e)){let r=Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${e}")`);throw r.hash={text:`checkout ${e}`,token:`checkout ${e}`,expected:[`branch ${e}`]},r}else{m.records.currBranch=e;let r=m.records.branches.get(m.records.currBranch);if(r===void 0||!r)m.records.head=null;else m.records.head=m.records.commits.get(r)??null}},"checkout");function he(e,r,o){let c=e.indexOf(r);if(c===-1)e.push(o);else e.splice(c,1,o)}t(he,"upsert");function me(e){let r=e.reduce((i,h)=>{if(i.seq>h.seq)return i;return h},e[0]),o="";e.forEach(function(i){if(i===r)o+="\t*";else o+="\t|"});let c=[o,r.id,r.seq];for(let i in m.records.branches)if(m.records.branches.get(i)===r.id)c.push(i);if(a.debug(c.join(" ")),r.parents&&r.parents.length==2&&r.parents[0]&&r.parents[1]){let i=m.records.commits.get(r.parents[0]);if(he(e,r,i),r.parents[1])e.push(m.records.commits.get(r.parents[1]))}else if(r.parents.length==0)return;else if(r.parents[0]){let i=m.records.commits.get(r.parents[0]);he(e,r,i)}e=pe(e,(i)=>i.id),me(e)}t(me,"prettyPrintCommitHistory");var Oe=t(function(){a.debug(m.records.commits);let e=xe()[0];me([e])},"prettyPrint"),Ie=t(function(){m.reset(),C()},"clear"),_e=t(function(){return[...m.records.branchConfig.values()].map((r,o)=>{if(r.order!==null&&r.order!==void 0)return r;return{...r,order:parseFloat(`0.${o}`)}}).sort((r,o)=>(r.order??0)-(o.order??0)).map(({name:r})=>({name:r}))},"getBranchesAsObjArray"),Ge=t(function(){return m.records.branches},"getBranches"),De=t(function(){return m.records.commits},"getCommits"),xe=t(function(){let e=[...m.records.commits.values()];return e.forEach(function(r){a.debug(r.id)}),e.sort((r,o)=>r.seq-o.seq),e},"getCommitsArray"),We=t(function(){return m.records.currBranch},"getCurrentBranch"),qe=t(function(){return m.records.direction},"getDirection"),Ae=t(function(){return m.records.head},"getHead"),ue={commitType:v,getConfig:X,setDirection:ve,setOptions:Ee,getOptions:Te,commit:Le,branch:Me,merge:Pe,cherryPick:Re,checkout:ye,prettyPrint:Oe,clear:Ie,getBranchesAsObjArray:_e,getBranches:Ge,getCommits:De,getCommitsArray:xe,getCurrentBranch:We,getDirection:qe,getHead:Ae,setAccTitle:S,getAccTitle:E,getAccDescription:A,setAccDescription:T,setDiagramTitle:L,getDiagramTitle:R},He=t((e,r)=>{if(H(e,r),e.dir)r.setDirection(e.dir);for(let o of e.statements)Se(o,r)},"populate"),Se=t((e,r)=>{let c={Commit:t((i)=>r.commit(Ne(i)),"Commit"),Branch:t((i)=>r.branch(Fe(i)),"Branch"),Merge:t((i)=>r.merge(ze(i)),"Merge"),Checkout:t((i)=>r.checkout(Ye(i)),"Checkout"),CherryPicking:t((i)=>r.cherryPick(je(i)),"CherryPicking")}[e.$type];if(c)c(e);else a.error(`Unknown statement type: ${e.$type}`)},"parseStatement"),Ne=t((e)=>({id:e.id,msg:e.message??"",type:e.type!==void 0?v[e.type]:v.NORMAL,tags:e.tags??void 0}),"parseCommit"),Fe=t((e)=>({name:e.name,order:e.order??0}),"parseBranch"),ze=t((e)=>({branch:e.branch,id:e.id??"",type:e.type!==void 0?v[e.type]:void 0,tags:e.tags??void 0}),"parseMerge"),Ye=t((e)=>e.branch,"parseCheckout"),je=t((e)=>({id:e.id,targetId:"",tags:e.tags?.length===0?void 0:e.tags,parent:e.parent}),"parseCherryPicking"),Ke={parse:t(async(e)=>{let r=await Q("gitGraph",e);a.debug(r),He(r,ue)},"parse")},j=10,K=40,q=4,z=2,V=8,ce=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),le=12,ge=new Set(["redux-color","redux-dark-color"]),Ue=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Z=t((e,r,o=!1)=>{if(o&&e>0)return(e-1)%(r-1)+1;return e%r},"calcColorIndex"),G=new Map,D=new Map,oe=30,te=new Map,se=[],Y=0,B="LR",Ve=t(()=>{G.clear(),D.clear(),te.clear(),Y=0,se=[],B="LR"},"clear"),be=t((e)=>{let r=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof e==="string"?e.split(/\\n|\n|<br\s*\/?>/gi):e).forEach((c)=>{let i=document.createElementNS("http://www.w3.org/2000/svg","tspan");i.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),i.setAttribute("dy","1em"),i.setAttribute("x","0"),i.setAttribute("class","row"),i.textContent=c.trim(),r.appendChild(i)}),r},"drawText"),we=t((e)=>{let r,o,c;if(B==="BT")o=t((i,h)=>i<=h,"comparisonFunc"),c=1/0;else o=t((i,h)=>i>=h,"comparisonFunc"),c=0;return e.forEach((i)=>{let h=B==="TB"||B=="BT"?D.get(i)?.y:D.get(i)?.x;if(h!==void 0&&o(h,c))r=i,c=h}),r},"findClosestParent"),Ze=t((e)=>{let r="",o=1/0;return e.forEach((c)=>{let i=D.get(c).y;if(i<=o)r=c,o=i}),r||void 0},"findClosestParentBT"),Xe=t((e,r,o)=>{let c=o,i=o,h=[];e.forEach((n)=>{let s=r.get(n);if(!s)throw Error(`Commit not found for key ${n}`);if(s.parents.length)c=Qe(s),i=Math.max(c,i);else h.push(s);et(s,c)}),c=i,h.forEach((n)=>{tt(n,c,o)}),e.forEach((n)=>{let s=r.get(n);if(s?.parents.length){let g=Ze(s.parents);if(c=D.get(g).y-K,c<=i)i=c;let y=G.get(s.branch).pos,u=c-j;D.set(s.id,{x:y,y:u})}})},"setParallelBTPos"),Je=t((e)=>{let r=we(e.parents.filter((c)=>c!==null));if(!r)throw Error(`Closest parent not found for commit ${e.id}`);let o=D.get(r)?.y;if(o===void 0)throw Error(`Closest parent position not found for commit ${e.id}`);return o},"findClosestParentPos"),Qe=t((e)=>Je(e)+K,"calculateCommitPosition"),et=t((e,r)=>{let o=G.get(e.branch);if(!o)throw Error(`Branch not found for commit ${e.id}`);let c=o.pos,i=r+j;return D.set(e.id,{x:c,y:i}),{x:c,y:i}},"setCommitPosition"),tt=t((e,r,o)=>{let c=G.get(e.branch);if(!c)throw Error(`Branch not found for commit ${e.id}`);let i=r+o,h=c.pos;D.set(e.id,{x:h,y:i})},"setRootPosition"),rt=t((e,r,o,c,i,h)=>{let{theme:n}=l(),s=ce.has(n??""),g=ge.has(n??""),y=Ue.has(n??"");if(h===v.HIGHLIGHT)e.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class",`commit ${r.id} commit-highlight${Z(i,V,g)} ${c}-outer`),e.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class",`commit ${r.id} commit${Z(i,V,g)} ${c}-inner`);else if(h===v.CHERRY_PICK)e.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`),e.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",y?"#000000":"#fff").attr("class",`commit ${r.id} ${c}`);else{let u=e.append("circle");if(u.attr("cx",o.x),u.attr("cy",o.y),u.attr("r",s?7:10),u.attr("class",`commit ${r.id} commit${Z(i,V,g)}`),h===v.MERGE){let f=e.append("circle");f.attr("cx",o.x),f.attr("cy",o.y),f.attr("r",s?5:6),f.attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}if(h===v.REVERSE){let f=e.append("path"),d=s?4:5;f.attr("d",`M ${o.x-d},${o.y-d}L${o.x+d},${o.y+d}M${o.x-d},${o.y+d}L${o.x+d},${o.y-d}`).attr("class",`commit ${c} ${r.id} commit${Z(i,V,g)}`)}}},"drawCommitBullet"),at=t((e,r,o,c,i)=>{if(r.type!==v.CHERRY_PICK&&(r.customId&&r.type===v.MERGE||r.type!==v.MERGE)&&i.showCommitLabel){let h=e.append("g"),n=h.insert("rect").attr("class","commit-label-bkg"),s=h.append("text").attr("x",c).attr("y",o.y+25).attr("class","commit-label").text(r.id),g=s.node()?.getBBox();if(g){if(n.attr("x",o.posWithOffset-g.width/2-z).attr("y",o.y+13.5).attr("width",g.width+2*z).attr("height",g.height+2*z),B==="TB"||B==="BT")n.attr("x",o.x-(g.width+4*q+5)).attr("y",o.y-12),s.attr("x",o.x-(g.width+4*q)).attr("y",o.y+g.height-12);else s.attr("x",o.posWithOffset-g.width/2);if(i.rotateCommitLabel)if(B==="TB"||B==="BT")s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),n.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{let y=-7.5-(g.width+10)/25*9.5,u=10+g.width/25*8.5;h.attr("transform","translate("+y+", "+u+") rotate(-45, "+c+", "+o.y+")")}}}},"drawCommitLabel"),ot=t((e,r,o,c)=>{if(r.tags.length>0){let i=0,h=0,n=0,s=[];for(let g of r.tags.reverse()){let y=e.insert("polygon"),u=e.append("circle"),f=e.append("text").attr("y",o.y-16-i).attr("class","tag-label").text(g),d=f.node()?.getBBox();if(!d)throw Error("Tag bbox not found");h=Math.max(h,d.width),n=Math.max(n,d.height),f.attr("x",o.posWithOffset-d.width/2),s.push({tag:f,hole:u,rect:y,yOffset:i}),i+=20}for(let{tag:g,hole:y,rect:u,yOffset:f}of s){let d=n/2,k=o.y-19.2-f;if(u.attr("class","tag-label-bkg").attr("points",`
|
|
2
|
+
${c-h/2-q/2},${k+z}
|
|
3
|
+
${c-h/2-q/2},${k-z}
|
|
4
|
+
${o.posWithOffset-h/2-q},${k-d-z}
|
|
5
|
+
${o.posWithOffset+h/2+q},${k-d-z}
|
|
6
|
+
${o.posWithOffset+h/2+q},${k+d+z}
|
|
7
|
+
${o.posWithOffset-h/2-q},${k+d+z}`),y.attr("cy",k).attr("cx",c-h/2+q/2).attr("r",1.5).attr("class","tag-hole"),B==="TB"||B==="BT"){let w=c+f;u.attr("class","tag-label-bkg").attr("points",`
|
|
8
8
|
${o.x},${w+2}
|
|
9
9
|
${o.x},${w-2}
|
|
10
10
|
${o.x+j},${w-d-2}
|
|
11
11
|
${o.x+j+h+4},${w-d-2}
|
|
12
12
|
${o.x+j+h+4},${w+d+2}
|
|
13
|
-
${o.x+j},${w+d+2}`).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),y.attr("cx",o.x+
|
|
14
|
-
`,"id:",r,o);let i=c.db;if(!i.getConfig){a.error("getConfig method is not available on db");return}let h=i.getConfig(),n=h.rotateCommitLabel??!1;te=i.getCommits();let s=i.getBranchesAsObjArray();B=i.getDirection();let g=p(`[id="${r}"]`),{look:y,theme:u,themeVariables:f}=l(),{useGradient:d,gradientStart:k,gradientStop:w,filterColor:P}=f;if(d){let I=g.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");I.append("stop").attr("offset","0%").attr("stop-color",k).attr("stop-opacity",1),I.append("stop").attr("offset","100%").attr("stop-color",w).attr("stop-opacity",1)}if(y==="neo"&&ce.has(u??""))g.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",P);let O=0;if(s.forEach((I,ie)=>{let ee=be(I.name),
|
|
13
|
+
${o.x+j},${w+d+2}`).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),y.attr("cx",o.x+q/2).attr("cy",w).attr("transform","translate(12,12) rotate(45, "+o.x+","+c+")"),g.attr("x",o.x+5).attr("y",w+3).attr("transform","translate(14,14) rotate(45, "+o.x+","+c+")")}}}},"drawCommitTags"),st=t((e)=>{switch(e.customType??e.type){case v.NORMAL:return"commit-normal";case v.REVERSE:return"commit-reverse";case v.HIGHLIGHT:return"commit-highlight";case v.MERGE:return"commit-merge";case v.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),nt=t((e,r,o,c)=>{let i={x:0,y:0};if(e.parents.length>0){let h=we(e.parents);if(h){let n=c.get(h)??i;if(r==="TB")return n.y+K;else if(r==="BT")return(c.get(e.id)??i).y-K;else return n.x+K}}else if(r==="TB")return oe;else if(r==="BT")return(c.get(e.id)??i).y-K;else return 0;return 0},"calculatePosition"),ct=t((e,r,o)=>{let c=B==="BT"&&o?r:r+j,i=G.get(e.branch)?.pos,h=B==="TB"||B==="BT"?G.get(e.branch)?.pos:c;if(h===void 0||i===void 0)throw Error(`Position were undefined for commit ${e.id}`);let n=ce.has(l().theme??""),s=B==="TB"||B==="BT"?c:i+(n?le/2+1:-2);return{x:h,y:s,posWithOffset:c}},"getCommitPosition"),$e=t((e,r,o,c)=>{let i=e.append("g").attr("class","commit-bullets"),h=e.append("g").attr("class","commit-labels"),n=B==="TB"||B==="BT"?oe:0,s=[...r.keys()],g=c.parallelCommits??!1,y=t((f,d)=>{let k=r.get(f)?.seq,w=r.get(d)?.seq;return k!==void 0&&w!==void 0?k-w:0},"sortKeys"),u=s.sort(y);if(B==="BT"){if(g)Xe(u,r,n);u=u.reverse()}u.forEach((f)=>{let d=r.get(f);if(!d)throw Error(`Commit not found for key ${f}`);if(g)n=nt(d,B,n,D);let k=ct(d,n,g);if(o){let w=st(d),P=d.customType??d.type,O=G.get(d.branch)?.index??0;rt(i,d,k,w,O,P),at(h,d,k,n,c),ot(h,d,k,n)}if(B==="TB"||B==="BT")D.set(d.id,{x:k.x,y:k.posWithOffset});else D.set(d.id,{x:k.posWithOffset,y:k.y});if(n=B==="BT"&&g?n+K:n+K+j,n>Y)Y=n})},"drawCommits"),it=t((e,r,o,c,i)=>{let n=(B==="TB"||B==="BT"?o.x<c.x:o.y<c.y)?r.branch:e.branch,s=t((y)=>y.branch===n,"isOnBranchToGetCurve"),g=t((y)=>y.seq>e.seq&&y.seq<r.seq,"isBetweenCommits");return[...i.values()].some((y)=>g(y)&&s(y))},"shouldRerouteArrow"),re=t((e,r,o=0)=>{let c=e+Math.abs(e-r)/2;if(o>5)return c;if(se.every((n)=>Math.abs(n-c)>=10))return se.push(c),c;let h=Math.abs(e-r);return re(e,r-h/5,o+1)},"findLane"),dt=t((e,r,o,c)=>{let{theme:i}=l(),h=ge.has(i??""),n=D.get(r.id),s=D.get(o.id);if(n===void 0||s===void 0)throw Error(`Commit positions not found for commits ${r.id} and ${o.id}`);let g=it(r,o,n,s,c),y="",u="",f=0,d=0,k=G.get(o.branch)?.index;if(o.type===v.MERGE&&r.id!==o.parents[0])k=G.get(r.branch)?.index;let w;if(g){y="A 10 10, 0, 0, 0,",u="A 10 10, 0, 0, 1,",f=10,d=10;let P=n.y<s.y?re(n.y,s.y):re(s.y,n.y),O=n.x<s.x?re(n.x,s.x):re(s.x,n.x);if(B==="TB")if(n.x<s.x)w=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${u} ${O} ${n.y+d} L ${O} ${s.y-f} ${y} ${O+d} ${s.y} L ${s.x} ${s.y}`;else k=G.get(r.branch)?.index,w=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${y} ${O} ${n.y+d} L ${O} ${s.y-f} ${u} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(B==="BT")if(n.x<s.x)w=`M ${n.x} ${n.y} L ${O-f} ${n.y} ${y} ${O} ${n.y-d} L ${O} ${s.y+f} ${u} ${O+d} ${s.y} L ${s.x} ${s.y}`;else k=G.get(r.branch)?.index,w=`M ${n.x} ${n.y} L ${O+f} ${n.y} ${u} ${O} ${n.y-d} L ${O} ${s.y+f} ${y} ${O-d} ${s.y} L ${s.x} ${s.y}`;else if(n.y<s.y)w=`M ${n.x} ${n.y} L ${n.x} ${P-f} ${y} ${n.x+d} ${P} L ${s.x-f} ${P} ${u} ${s.x} ${P+d} L ${s.x} ${s.y}`;else k=G.get(r.branch)?.index,w=`M ${n.x} ${n.y} L ${n.x} ${P+f} ${u} ${n.x+d} ${P} L ${s.x-f} ${P} ${y} ${s.x} ${P-d} L ${s.x} ${s.y}`}else if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,B==="TB"){if(n.x<s.x)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${u} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${u} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${y} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;if(n.x===s.x)w=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else if(B==="BT"){if(n.x<s.x)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${u} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x>s.x)if(y="A 20 20, 0, 0, 0,",u="A 20 20, 0, 0, 1,",f=20,d=20,o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${y} ${n.x-d} ${s.y} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${s.x+f} ${n.y} ${u} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;if(n.x===s.x)w=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}else{if(n.y<s.y)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${u} ${s.x} ${n.y+d} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${n.x} ${s.y-f} ${y} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y>s.y)if(o.type===v.MERGE&&r.id!==o.parents[0])w=`M ${n.x} ${n.y} L ${s.x-f} ${n.y} ${y} ${s.x} ${n.y-d} L ${s.x} ${s.y}`;else w=`M ${n.x} ${n.y} L ${n.x} ${s.y+f} ${u} ${n.x+d} ${s.y} L ${s.x} ${s.y}`;if(n.y===s.y)w=`M ${n.x} ${n.y} L ${s.x} ${s.y}`}if(w===void 0)throw Error("Line definition not found");e.append("path").attr("d",w).attr("class","arrow arrow"+Z(k,V,h))},"drawArrow"),ht=t((e,r)=>{let o=e.append("g").attr("class","commit-arrows");[...r.keys()].forEach((c)=>{let i=r.get(c);if(i.parents&&i.parents.length>0)i.parents.forEach((h)=>{dt(o,r.get(h),i,r)})})},"drawArrows"),lt=t((e,r,o,c)=>{let{look:i,theme:h,themeVariables:n}=l(),{dropShadow:s,THEME_COLOR_LIMIT:g}=n,y=ce.has(h??""),u=ge.has(h??""),f=e.append("g");r.forEach((d,k)=>{let w=Z(k,y?g:V,u),P=G.get(d.name)?.pos;if(P===void 0)throw Error(`Position not found for branch ${d.name}`);let O=B==="TB"||B==="BT"?P:y?P+le/2+1:P-2,I=f.append("line");if(I.attr("x1",0),I.attr("y1",O),I.attr("x2",Y),I.attr("y2",O),I.attr("class","branch branch"+w),B==="TB")I.attr("y1",oe),I.attr("x1",P),I.attr("y2",Y),I.attr("x2",P);else if(B==="BT")I.attr("y1",Y),I.attr("x1",P),I.attr("y2",oe),I.attr("x2",P);se.push(O);let ie=d.name,ee=be(ie),W=f.insert("rect"),F=f.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+w);F.node().appendChild(ee);let _=ee.getBBox(),fe=y?0:4,ae=y?16:0,J=y?le:0;if(i==="neo")W.attr("data-look","neo");if(W.attr("class","branchLabelBkg label"+w).attr("style",i==="neo"?`filter:${y?`url(#${c}-drop-shadow)`:s}`:"").attr("rx",fe).attr("ry",fe).attr("x",-_.width-4-(o.rotateCommitLabel===!0?30:0)).attr("y",-_.height/2+10).attr("width",_.width+18+ae).attr("height",_.height+4+J),F.attr("transform","translate("+(-_.width-14-(o.rotateCommitLabel===!0?30:0)+ae/2)+", "+(O-_.height/2-2)+")"),B==="TB"){if(W.attr("x",P-_.width/2-10).attr("y",0),F.attr("transform","translate("+(P-_.width/2-5)+", 0)"),y)W.attr("transform",`translate(${-ae/2-3}, ${-J-10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(-J*2+7)+")")}else if(B==="BT"){if(W.attr("x",P-_.width/2-10).attr("y",Y),F.attr("transform","translate("+(P-_.width/2-5)+", "+Y+")"),y)W.attr("transform",`translate(${-ae/2-3}, ${J+10})`),F.attr("transform","translate("+(P-_.width/2-5)+", "+(Y+J*2+4)+")")}else W.attr("transform","translate(-19, "+(O-12-J/2)+")")})},"drawBranches"),mt=t(function(e,r,o,c,i){return G.set(e,{pos:r,index:o}),r+=50+(i?40:0)+(B==="TB"||B==="BT"?c.width/2:0),r},"setBranchPosition"),gt=t(function(e,r,o,c){Ve(),a.debug("in gitgraph renderer",e+`
|
|
14
|
+
`,"id:",r,o);let i=c.db;if(!i.getConfig){a.error("getConfig method is not available on db");return}let h=i.getConfig(),n=h.rotateCommitLabel??!1;te=i.getCommits();let s=i.getBranchesAsObjArray();B=i.getDirection();let g=p(`[id="${r}"]`),{look:y,theme:u,themeVariables:f}=l(),{useGradient:d,gradientStart:k,gradientStop:w,filterColor:P}=f;if(d){let I=g.append("defs").append("linearGradient").attr("id",r+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");I.append("stop").attr("offset","0%").attr("stop-color",k).attr("stop-opacity",1),I.append("stop").attr("offset","100%").attr("stop-color",w).attr("stop-opacity",1)}if(y==="neo"&&ce.has(u??""))g.append("defs").append("filter").attr("id",r+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",P);let O=0;if(s.forEach((I,ie)=>{let ee=be(I.name),W=g.append("g"),de=W.insert("g").attr("class","branchLabel"),F=de.insert("g").attr("class","label branch-label");F.node()?.appendChild(ee);let _=ee.getBBox();O=mt(I.name,O,ie,_,n),F.remove(),de.remove(),W.remove()}),$e(g,te,!1,h),h.showBranches)lt(g,s,h,r);ht(g,te),$e(g,te,!0,h),N.insertTitle(g,"gitTitleText",h.titleTopMargin??0,i.getDiagramTitle()),wr(void 0,g,h.diagramPadding,h.useMaxWidth)},"draw"),ft={draw:gt},Be=8,ke=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),$t=new Set(["redux-color","redux-dark-color"]),pt=new Set(["neo","neo-dark"]),yt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),xt=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),ut=t((e)=>{let{svgId:r}=e,o="";if(e.useGradient&&r)for(let c=0;c<e.THEME_COLOR_LIMIT;c++)o+=`
|
|
15
15
|
.label${c} { fill: ${e.mainBkg}; stroke: url(${r}-gradient); stroke-width: ${e.strokeWidth};}
|
|
16
16
|
`;return o},"genGitGraphGradient"),bt=t((e)=>{let r=x(),{theme:o,themeVariables:c}=r,{borderColorArray:i}=c,h=ke.has(o);if(pt.has(o)){let n="";for(let s=0;s<e.THEME_COLOR_LIMIT;s++)if(s===0)n+=`
|
|
17
17
|
.branch-label${s} { fill: ${e.nodeBorder};}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g,o,G,i,r,e,n,y,ne}from"./chunk-3k9h7a73.js";import{qt}from"./chunk-mxkbmgcv.js";import"./chunk-cxpnj495.js";var L={config:"自定义路径",env:"环境变量",system:"系统预装"};function F({connection:b}){let{Button:h,Input:P,Switch:v,SettingGroup:C,SettingRow:f,cn:x}=y(),B=G(),[m,N]=r({}),[a,d]=r({}),[l,w]=r(null),[u,A]=r(!0),[k,R]=r(!1),[p,E]=r(!1),[I,c]=r(null),q=i(null),z=(a.executable??"")!==(m.executable??"")||Boolean(a.noSandbox)!==Boolean(m.noSandbox)||Boolean(a.ignoreCertErrors)!==Boolean(m.ignoreCertErrors),O=g(async(t)=>{R(!0);try{let s=await b.request("/api/plugins/browser/status",{signal:t});w(s)}catch(s){if(!t?.aborted)w({available:!1,error:s instanceof Error?s.message:"无法获取浏览器状态"})}finally{if(!t?.aborted)R(!1)}},[b]);o(()=>{let t=new AbortController;return q.current=t,Promise.all([b.request("/api/plugins/browser/settings",{signal:t.signal}),b.request("/api/plugins/browser/status",{signal:t.signal})]).then(([s,S])=>{if(!t.signal.aborted)N(s),d(s),w(S)}).catch((s)=>{if(!t.signal.aborted)c({type:"error",text:s instanceof Error?s.message:"读取浏览器设置失败"})}).finally(()=>{if(!t.signal.aborted)A(!1)}),()=>t.abort()},[b]);let D=async(t)=>{if(t?.preventDefault(),p||u)return;let s=new AbortController;E(!0),c(null);try{if(await b.request("/api/plugins/browser/settings",{method:"PATCH",signal:s.signal,headers:{"Content-Type":"application/json"},body:JSON.stringify(a)}),!s.signal.aborted)N(a),c({type:"success",text:"设置已保存,将在浏览器进程下次启动时生效。"}),await O(s.signal)}catch(S){if(!s.signal.aborted)c({type:"error",text:S instanceof Error?S.message:"保存设置失败"})}finally{if(!s.signal.aborted)E(!1)}},T=()=>{d(m),c(null)};return n("form",{id:B,onSubmit:D,className:"min-w-0 space-y-5",children:[e(C,{title:"运行环境",children:e(f,{title:n("span",{className:"flex items-center gap-2",children:[e("span",{className:x("size-2 shrink-0 rounded-full",l?.available?"bg-success":"bg-danger")}),l?l.available?"浏览器可用":"未检测到可用浏览器":"正在检测…"]}),description:l&&!l.available&&l.error?e("span",{className:"text-danger",children:l.error}):l?.available&&l.source?`来源:${L[l.source]??l.source}`:void 0,children:n(h,{type:"button",size:"sm",variant:"ghost",disabled:u||k,onClick:()=>void O(),className:"text-dim",children:[e(ne,{className:x("size-3.5",k&&"animate-spin")}),"重新检测"]})})}),n(C,{title:"启动参数",children:[e(f,{vertical:!0,title:"可执行文件路径",description:"留空时自动探测系统浏览器",children:n("div",{className:"flex gap-2",children:[e(P,{id:"browser-executable",disabled:u||p,value:a.executable??"",placeholder:"自动探测",onChange:(t)=>{d({...a,executable:t.target.value}),c(null)}}),a.executable&&e(h,{type:"button",variant:"ghost",size:"sm",disabled:u||p,onClick:()=>{d({...a,executable:""}),c(null)},className:"shrink-0",children:"清空"})]})}),e(f,{title:"禁用沙箱 (--no-sandbox)",description:"容器或 root 环境使用",children:e(v,{label:"禁用沙箱",disabled:u||p,checked:a.noSandbox??!1,onCheckedChange:(t)=>{d({...a,noSandbox:t}),c(null)}})}),e(f,{title:"忽略证书错误 (--ignore-certificate-errors)",description:"跳过自签名与证书有效性检查",children:e(v,{label:"忽略证书错误",disabled:u||p,checked:a.ignoreCertErrors??!1,onCheckedChange:(t)=>{d({...a,ignoreCertErrors:t}),c(null)}})})]}),e(qt,{formID:B,notice:I,dirty:z,busy:u||p,saving:p,onReset:T})]})}export{F as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o,i,r,rt,f,e,n,y,s,Z,at,ie,tr,X}from"./chunk-ngt1j8py.js";var pe=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],A=s("at-sign",pe);var ue=[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]],te=s("file-code-2",ue);var xe=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],ne=s("maximize-2",xe);var fe=[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]],J=s("notebook-pen",fe);var be=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],se=s("user",be);var C={approve:{label:"通过",text:"text-success",ring:"ring-success/80",soft:"bg-success/12 text-success"},reject:{label:"反对",text:"text-danger",ring:"ring-danger/80",soft:"bg-danger/12 text-danger"},abstain:{label:"弃权",text:"text-dim",ring:"ring-line-strong",soft:"bg-raised text-dim"},pending:{label:"未表态",text:"text-faint",ring:"ring-line",soft:"bg-raised text-faint"}},ge={thinking:"思考中",reading:"查阅中",speaking:"发言中",idle:"等待中",error:"出错",aborted:"已中止"},U={success:"text-success",warning:"text-warning",danger:"text-danger",neutral:"text-faint"},G={success:"bg-success",warning:"bg-warning",danger:"bg-danger",neutral:"bg-faint"};function q(t){return t==="thinking"||t==="reading"||t==="speaking"}function F(t){let d=q(t.status);return{busy:d,text:d&&t.activeTool?t.activeTool:ge[t.status]}}function Q(t){let d=t.members.filter((v)=>v.verdict==="approve").length,u=t.members.filter((v)=>v.verdict==="reject").length;if(t.state==="running"){if(t.phase==="research")return{tone:"warning",label:"调研中"};if(t.phase==="opening")return{tone:"warning",label:"开场表态"};return{tone:"warning",label:"群聊交流"}}if(t.state==="consensus"){if(d===t.members.length)return{tone:"success",label:"全票通过"};if(u===t.members.length)return{tone:"danger",label:"全票反对"};if(u>d)return{tone:"danger",label:"共识:反对"};return{tone:"success",label:"共识:通过"}}if(t.state==="diverged")return{tone:"warning",label:"存在分歧"};if(t.state==="error")return{tone:"danger",label:"失败"};return{tone:"neutral",label:"已中止"}}function V(t){let d=Math.max(1,Math.round(t/1000));if(d<60)return`${d}s`;return`${Math.floor(d/60)}m ${String(d%60).padStart(2,"0")}s`}var ve={research:"调研",opening:"开场表态",discussion:"群聊交流"};function K(t){let{cn:d}=y(),{room:u}=t,v=Q(u),x=u.state==="running",b=u.research?["research","opening","discussion"]:["opening","discussion"],a=x?b.indexOf(u.phase==="closed"?"discussion":u.phase??"discussion"):-1,c=[...b.map((p,m)=>({key:p,label:ve[p],done:!x||m<a,active:m===a})),{key:"closed",label:x?"结论":v.label,done:!x,active:!1}];return e("ol",{className:d("flex min-w-0 gap-1",t.className),children:c.map((p,m)=>{let N=m===c.length-1&&!x;return n("li",{className:"min-w-0 flex-1",children:[e("span",{className:d("block h-[3px] rounded-full transition-colors duration-300",N?G[v.tone]:p.active?"bg-accent animate-pulse":p.done?"bg-line-strong":"bg-line/60")}),e("span",{className:d("mt-1.5 block truncate text-[11px]",N?d("font-medium",U[v.tone]):p.active?"font-medium text-ink":p.done?"text-dim":"text-faint"),children:p.label})]},p.key)})})}function oe(t){let{Collapsible:d,CollapsibleContent:u,Composer:v,Markdown:x,cn:b,confirm:a}=y(),{room:c,onClose:p}=t,[m,N]=r(!1),[w,M]=r(""),[g,L]=r(!1),[I,O]=r(),[S,H]=r(!1),[E,D]=r(!0),[B,h]=r(),z=i(!1);z.current=B!==void 0;let R=i(null),T=i(null),P=c.state==="running",j=Q(c),re=new Map(c.members.map((l)=>[l.id,l]));o(()=>{let l=(ee)=>{if(ee.key==="Escape"&&!ee.defaultPrevented&&!z.current)N(!0)},k=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l),document.body.style.overflow=k}},[]);let Y=c.messages.length;o(()=>{let l=T.current;if(!l||!E||Y===0)return;l.scrollTo({top:l.scrollHeight,behavior:"smooth"})},[Y,E]);let le=async(l)=>{await t.onPost(l),D(!0)},ce=async()=>{if(g)return;if(!await a({title:"中止理事会?",description:"所有成员会立即停止,已有发言保留。",action:"中止",danger:!0}))return;L(!0),O(void 0);try{await t.onAbort()}catch(k){O(k instanceof Error?k.message:"中止理事会失败")}finally{L(!1)}},W=(l)=>{M((k)=>k.includes(`@${l}`)?k:`${k?`${k.trimEnd()} `:""}@${l} `),R.current?.focus()},me=c.members.filter((l)=>l.verdict==="approve").length,de=c.members.filter((l)=>l.verdict==="reject").length,_=c.members.find((l)=>l.id===B);return rt(n("div",{role:"dialog","aria-modal":"true","aria-label":`理事会:${c.topic}`,onAnimationEnd:(l)=>{if(m&&l.target===l.currentTarget)p()},className:b("fixed inset-0 z-50 flex flex-col bg-bg pt-[env(safe-area-inset-top)] text-ink",m?"pointer-events-none animate-dialog-out":"animate-dialog-in"),children:[n(d,{open:S,onOpenChange:H,className:"shrink-0 border-b border-line px-4 pt-3 pb-3 sm:px-6",children:[n("div",{className:"flex items-start gap-3",children:[n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex items-center gap-3 text-[11px] text-faint",children:[e("span",{className:"font-medium tracking-[0.2em] text-dim",children:"COUNCIL"}),e("span",{className:"tabular-nums",children:V(t.elapsedMs)}),n("span",{className:"tabular-nums",children:[c.messages.length," 条发言"]})]}),n("button",{type:"button","aria-expanded":S,onClick:()=>H((l)=>!l),className:"mt-0.5 flex max-w-full cursor-pointer items-start gap-1.5 text-left md:items-center",children:[e("h2",{className:"line-clamp-2 text-[15px] leading-snug font-semibold md:truncate md:text-lg",children:c.topic}),e(ie,{className:b("mt-0.5 size-4 shrink-0 text-faint transition-transform duration-300 ease-out-quint md:mt-0",!S&&"-rotate-90")})]})]}),n("div",{className:"flex shrink-0 items-center gap-1",children:[n("span",{className:b("inline-flex items-center gap-1.5 rounded-full border border-line px-2.5 py-1 text-xs font-medium",U[j.tone]),children:[e("span",{className:b("size-1.5 rounded-full",G[j.tone],P&&"animate-pulse")}),j.label]}),e("button",{type:"button","aria-label":"关闭理事会页面",title:"关闭(Esc)",onClick:()=>N(!0),className:"ml-1 inline-flex size-10 -mr-2 cursor-pointer items-center justify-center rounded-full text-faint transition-colors hover:bg-raised hover:text-ink md:size-8 md:mr-0",children:e(X,{className:"size-4"})})]})]}),e(u,{children:e("div",{className:"mt-2 max-h-[40dvh] overflow-y-auto overscroll-contain rounded-xl bg-panel px-3.5 py-2.5 text-[13px] leading-relaxed text-dim md:max-h-48",children:e(x,{text:c.brief})})}),e(K,{room:c,className:"mt-3"})]}),n("div",{className:"flex min-h-0 flex-1 flex-col md:flex-row",children:[e("div",{className:"flex shrink-0 gap-2 overflow-x-auto overscroll-x-contain border-b border-line px-4 py-2.5 [scrollbar-width:none] md:hidden",children:c.members.map((l)=>e(he,{member:l,onSelect:()=>h(l.id)},l.id))}),n("aside",{className:"hidden w-72 shrink-0 flex-col gap-2 overflow-y-auto border-r border-line p-4 md:flex",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[e("span",{className:"font-medium tracking-wide",children:"席位"}),n("span",{className:"tabular-nums",children:[e("span",{className:"text-success",children:me})," / ",e("span",{className:"text-danger",children:de})," /"," ",c.members.length]})]}),c.members.map((l)=>e(ye,{member:l,onMention:()=>W(l.name),onOpen:()=>t.onOpenMember(l.childSessionID)},l.id))]}),n("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[e("div",{ref:T,onScroll:(l)=>{let k=l.currentTarget;D(k.scrollHeight-k.scrollTop-k.clientHeight<80)},className:"min-h-0 flex-1 overflow-y-auto",children:n("div",{className:"mx-auto w-full max-w-3xl px-4 py-4 sm:px-6 md:py-5",children:[c.messages.length===0?n("div",{className:"flex flex-col items-center justify-center gap-3 py-24 text-center text-faint",children:[P?e(Z,{className:"size-5 animate-spin"}):null,e("p",{className:"text-sm",children:P?c.phase==="research"?"成员正在各自调研,笔记不会进入群聊":"成员正在独立准备开场观点,彼此不可见":"这场理事会没有产生发言"})]}):e("ol",{className:"space-y-5",children:c.messages.map((l)=>e(ke,{message:l,membersByID:re,onMention:()=>W(l.senderName)},l.floor))}),c.summary&&!P&&n("section",{className:"mt-8 rounded-2xl border border-line bg-panel px-4 py-3",children:[n("h3",{className:b("text-xs font-semibold",U[j.tone]),children:["结论:",j.label]}),e("div",{className:"mt-1.5 text-[13px] leading-relaxed text-dim",children:e(x,{text:c.summary})})]})]})}),e("div",{className:"shrink-0 px-3 pb-[max(0.75rem,env(safe-area-inset-bottom))] sm:px-6 md:pb-4",children:n("div",{className:"mx-auto w-full max-w-3xl",children:[I&&e("p",{role:"status",className:"px-1 pb-2 text-[13px] text-danger",children:I}),e(v,{draftKey:`council:${c.roomID}`,placeholder:P?"插话,@ 某位成员会点名要求其回应":"理事会已结束,插话会重新唤醒成员",busy:P,allowAttachments:!1,text:w,onTextChange:M,inputRef:R,onSend:le,onAbort:()=>void ce()})]})})]})]}),_&&e(Ne,{member:_,onClose:()=>h(void 0),onMention:()=>{h(void 0),W(_.name)},onOpen:()=>t.onOpenMember(_.childSessionID)})]}),document.body)}function he(t){let{ModelIcon:d,cn:u}=y(),{member:v}=t,x=C[v.verdict]??C.pending,{busy:b}=F(v);return n("button",{type:"button",onClick:t.onSelect,"aria-label":`${v.name},${x.label},查看详情`,className:"flex h-11 max-w-[11rem] shrink-0 cursor-pointer items-center gap-2 rounded-full border border-line bg-panel/60 pr-3.5 pl-1.5 active:bg-raised",children:[n("span",{className:u("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",x.ring),children:[e(d,{modelID:v.model,className:"size-4",size:16}),b&&e(Z,{className:"absolute -right-1 -bottom-1 size-3.5 animate-spin rounded-full bg-bg text-accent"})]}),n("span",{className:"min-w-0 text-left leading-tight",children:[e("span",{className:"block truncate text-[13px] font-medium",children:v.name}),e("span",{className:u("block text-[11px]",x.text),children:x.label})]})]})}function Ne(t){let{Button:d,Dialog:u,Markdown:v,ModelIcon:x,cn:b}=y(),{member:a}=t,c=C[a.verdict]??C.pending,p=F(a);return e(u,{open:!0,onOpenChange:(m)=>!m&&t.onClose(),title:n("span",{className:"flex min-w-0 items-center gap-2.5",children:[e("span",{className:b("flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",c.ring),children:e(x,{modelID:a.model,className:"size-4",size:16})}),e("span",{className:"min-w-0 truncate",children:a.name}),e("span",{className:b("shrink-0 rounded px-1.5 py-px text-[11px] font-medium",c.soft),children:c.label})]}),description:a.model,footer:n(f,{children:[n(d,{variant:"secondary",onClick:t.onMention,children:[e(A,{className:"size-4"}),"点名"]}),n(d,{variant:"secondary",onClick:t.onOpen,children:[e(at,{className:"size-4"}),"查看推理"]})]}),children:n("div",{className:"space-y-3 pb-1",children:[n("div",{className:"flex items-center gap-3 text-[13px]",children:[n("span",{className:b("flex min-w-0 flex-1 items-center gap-1.5",p.busy?"text-accent":"text-dim"),children:[p.busy&&e(Z,{className:"size-3.5 shrink-0 animate-spin"}),e("span",{className:"truncate",children:p.text})]}),n("span",{className:"shrink-0 text-faint tabular-nums",children:["发言 ",a.turns??0," 次"]})]}),a.notes?n("section",{children:[n("h3",{className:"mb-1.5 flex items-center gap-1.5 text-xs font-medium text-faint",children:[e(J,{className:"size-3.5"}),"调研笔记"]}),e("div",{className:"rounded-xl bg-bg/60 px-3.5 py-2.5 text-[13px] leading-relaxed text-dim",children:e(v,{text:a.notes})})]}):e("p",{className:"text-[13px] text-faint",children:"没有调研笔记"})]})})}function ye(t){let{Collapsible:d,CollapsibleContent:u,Markdown:v,ModelIcon:x,cn:b}=y(),{member:a}=t,[c,p]=r(!1),m=C[a.verdict]??C.pending,{busy:N,text:w}=F(a);return n(d,{open:c,onOpenChange:p,className:"shrink-0 rounded-xl border border-line bg-panel/60 p-2.5",children:[n("div",{className:"flex items-center gap-2.5",children:[e("span",{className:b("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",m.ring),children:e(x,{modelID:a.model,className:"size-4",size:16})}),n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex items-center gap-1.5",children:[e("span",{className:"truncate text-[13px] font-medium",title:a.model,children:a.name}),e("span",{className:b("shrink-0 rounded px-1 text-[10.5px] font-medium",m.soft),children:m.label})]}),n("div",{className:b("flex min-w-0 items-center gap-1 text-[11px]",N?"text-accent":"text-faint"),children:[N&&e(Z,{className:"size-3 shrink-0 animate-spin"}),e("span",{className:"truncate",children:w})]})]})]}),n("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-faint",children:[n("span",{className:"tabular-nums",children:["发言 ",a.turns??0," 次"]}),e("span",{className:"ml-auto"}),a.notes&&n("button",{type:"button","aria-expanded":c,onClick:()=>p((M)=>!M),className:b("inline-flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 hover:bg-raised hover:text-ink",c&&"text-ink"),children:[e(J,{className:"size-3"}),"笔记"]}),e("button",{type:"button","aria-label":`@ ${a.name}`,title:`@ ${a.name}`,onClick:t.onMention,className:"inline-flex cursor-pointer items-center rounded p-1 hover:bg-raised hover:text-ink",children:e(A,{className:"size-3"})}),e("button",{type:"button","aria-label":`查看 ${a.name} 的推理过程`,title:"查看推理与工具调用",onClick:t.onOpen,className:"inline-flex cursor-pointer items-center rounded p-1 hover:bg-raised hover:text-ink",children:e(at,{className:"size-3"})})]}),a.notes&&e(u,{children:e("div",{className:"mt-2 max-h-56 overflow-y-auto rounded-lg bg-bg/60 px-2.5 py-2 text-xs leading-relaxed text-dim",children:e(v,{text:a.notes})})})]})}function ke(t){let{Code:d,Collapsible:u,CollapsibleContent:v,Markdown:x,cn:b}=y(),{message:a}=t,[c,p]=r(!1),m=a.senderID==="user"||a.senderID==="host",N=a.verdict&&a.verdict!=="pending"?C[a.verdict]:void 0,w=a.evidences??[],M=(a.mentions??[]).map((g)=>t.membersByID.get(g)).filter((g)=>g!==void 0);return n("li",{id:`council-floor-${a.floor}`,className:"group flex gap-3 animate-fade",children:[e(ae,{message:a,isHuman:m,className:"mt-0.5 hidden size-8 md:flex"}),n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs",children:[e(ae,{message:a,isHuman:m,className:"flex size-6 md:hidden"}),e("span",{className:"font-semibold text-ink",title:a.senderModel,children:a.senderName}),n("a",{href:`#council-floor-${a.floor}`,className:"font-mono text-[11px] text-faint hover:text-dim",onClick:(g)=>g.preventDefault(),children:["#",a.floor]}),N&&e("span",{className:b("rounded px-1.5 py-px text-[10.5px] font-medium",N.soft),children:N.label}),!m&&n("button",{type:"button",onClick:t.onMention,className:"ml-auto inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-[11px] text-faint transition-opacity hover:bg-raised hover:text-ink focus-visible:opacity-100 md:px-1.5 md:py-0.5 md:opacity-0 md:group-hover:opacity-100",children:[e(A,{className:"size-3"}),"回复"]})]}),(a.replyToFloor||M.length>0)&&n("div",{className:"mt-1 flex flex-wrap items-center gap-1.5 text-[11px] text-faint",children:[a.replyToFloor&&n("button",{type:"button",onClick:()=>document.getElementById(`council-floor-${a.replyToFloor}`)?.scrollIntoView({block:"center",behavior:"smooth"}),className:"inline-flex min-w-0 max-w-full cursor-pointer items-center gap-1 rounded-md bg-raised/70 px-1.5 py-0.5 hover:text-ink",children:[e(tr,{className:"size-3 shrink-0"}),n("span",{className:"shrink-0 text-dim",children:["#",a.replyToFloor," ",a.replyToName]}),a.replyToPreview&&e("span",{className:"truncate",children:a.replyToPreview})]}),M.map((g)=>n("span",{className:"inline-flex items-center gap-1 rounded-md bg-accent/10 px-1.5 py-0.5 text-accent",children:[e(A,{className:"size-3"}),g.name]},g.id))]}),e("div",{className:"mt-1.5 break-words text-[14px] leading-relaxed text-ink/90 md:text-[13.5px] [&_p]:my-1.5 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",children:e(x,{text:a.text})}),w.length>0&&n(u,{open:c,onOpenChange:p,className:"mt-2",children:[n("button",{type:"button","aria-expanded":c,onClick:()=>p((g)=>!g),className:"inline-flex max-w-full cursor-pointer items-center gap-1 text-[11px] text-faint hover:text-ink",children:[e(te,{className:"size-3 shrink-0"}),n("span",{className:"shrink-0",children:["查阅 ",w.length," 处"]}),!c&&e("span",{className:"truncate font-mono",children:w.map((g)=>g.label).join(",")}),e(ie,{className:b("size-3 shrink-0 transition-transform duration-300 ease-out-quint",!c&&"-rotate-90")})]}),e(v,{children:e("div",{className:"mt-1.5 space-y-1.5",children:w.map((g)=>n("div",{className:"overflow-hidden rounded-lg border border-line bg-panel text-xs",children:[e("div",{className:"truncate border-b border-line/70 px-2.5 py-1 font-mono text-[11px] text-dim",children:g.label}),g.snippet&&e(d,{code:g.snippet,lang:g.lang||"ts",className:"max-h-40 overflow-auto px-2.5 py-1.5 text-[11.5px]"})]},`${g.tool}:${g.label}:${g.snippet?.slice(0,32)??""}`))})})]})]})]})}function ae(t){let{ModelIcon:d,cn:u}=y();return e("span",{className:u("shrink-0 items-center justify-center rounded-full",t.isHuman?"bg-accent/12 text-accent":"bg-raised",t.className),children:t.message.senderModel?e(d,{modelID:t.message.senderModel,className:"size-4",size:16}):e(se,{className:"size-4"})})}function Je(t){let{ModelIcon:d,cn:u,useTheme:v}=y();v();let{connection:x,sessionID:b,payload:a,onOpen:c}=t,p=a,[m,N]=r(p),[w,M]=r(!1),[g,L]=r(Date.now);o(()=>{N(p)},[p]);let I=m.state==="running",O=`/api/sessions/${encodeURIComponent(b)}/council/${encodeURIComponent(m.roomID)}`;o(()=>{if(!I)return;let h=!1,R=setInterval(()=>{if(x.request(O).then((T)=>{if(!h&&T&&typeof T==="object"&&"roomID"in T)N(T)}).catch(()=>{}),!h)L(Date.now())},1200);return()=>{h=!0,clearInterval(R)}},[x,O,I]);let S=async(h)=>{let z=await x.request(`${O}/post`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:h})});N(z)},H=async()=>{let h=await x.request(`${O}/kill`,{method:"POST"});N(h)},E=(I?g:m.updatedAt)-m.createdAt,D=m.messages.at(-1),B=m.members.filter((h)=>q(h.status)).length;return n(f,{children:[n("button",{type:"button","aria-label":`进入理事会:${m.topic}`,onClick:()=>M(!0),className:"group relative my-2 block w-full cursor-pointer overflow-hidden rounded-2xl border border-line bg-panel text-left transition-colors hover:border-line-strong animate-fade",children:[n("div",{className:"px-4 pt-3.5",children:[n("div",{className:"flex items-center gap-1.5 text-[11px] text-faint",children:[e("span",{className:"font-medium text-dim",children:"理事会"}),e("span",{"aria-hidden":!0,children:"·"}),e("span",{className:"tabular-nums",children:V(E)}),n("span",{className:"ml-auto tabular-nums",children:[m.members.length," 位成员"]})]}),e("h4",{className:"mt-1 line-clamp-2 text-sm font-semibold text-ink md:truncate",title:m.topic,children:m.topic})]}),e(K,{room:m,className:"mt-3 px-4"}),e("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 px-4",children:m.members.map((h)=>{let z=C[h.verdict]??C.pending,R=q(h.status);return n("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",title:h.model,children:[n("span",{className:u("relative flex size-6 shrink-0 items-center justify-center rounded-full bg-raised ring-2",z.ring),children:[e(d,{modelID:h.model,className:"size-3.5",size:14}),R&&e(Z,{className:"absolute -right-1 -bottom-1 size-3 animate-spin rounded-full bg-panel text-accent"})]}),e("span",{className:"truncate text-dim",children:h.name}),e("span",{className:u("shrink-0 text-[11px]",z.text),children:z.label})]},h.id)})}),n("div",{className:"mt-3 flex items-center gap-2 border-t border-line/70 px-4 py-2.5 text-xs",children:[D?n(f,{children:[e("span",{className:"shrink-0 font-medium text-dim",children:D.senderName}),e("span",{className:"min-w-0 flex-1 truncate text-faint",children:D.text.replace(/\s+/g," ")})]}):e("span",{className:"min-w-0 flex-1 truncate text-faint",children:I?`${B} 位成员正在${m.phase==="research"?"调研":"思考"}…`:"没有发言"}),n("span",{className:"inline-flex shrink-0 items-center gap-1 text-faint transition-colors group-hover:text-ink",children:[m.messages.length>0&&n("span",{className:"tabular-nums",children:[m.messages.length," 条"]}),e(ne,{className:"size-3.5"})]})]})]}),w&&e(oe,{room:m,elapsedMs:E,onClose:()=>M(!1),onOpenMember:c,onPost:S,onAbort:H})]})}export{Je as CouncilCard};
|
|
1
|
+
import{o,i,r,it,f,e,n,y,s,K,ot,ie,er,Z}from"./chunk-3k9h7a73.js";var pe=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8",key:"7n84p3"}]],A=s("at-sign",pe);var ue=[["path",{d:"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4",key:"1pf5j1"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"m5 12-3 3 3 3",key:"oke12k"}],["path",{d:"m9 18 3-3-3-3",key:"112psh"}]],te=s("file-code-2",ue);var xe=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],ne=s("maximize-2",xe);var fe=[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]],X=s("notebook-pen",fe);var be=[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]],se=s("user",be);var C={approve:{label:"通过",text:"text-success",ring:"ring-success/80",soft:"bg-success/12 text-success"},reject:{label:"反对",text:"text-danger",ring:"ring-danger/80",soft:"bg-danger/12 text-danger"},abstain:{label:"弃权",text:"text-dim",ring:"ring-line-strong",soft:"bg-raised text-dim"},pending:{label:"未表态",text:"text-faint",ring:"ring-line",soft:"bg-raised text-faint"}},ge={thinking:"思考中",reading:"查阅中",speaking:"发言中",idle:"等待中",error:"出错",aborted:"已中止"},U={success:"text-success",warning:"text-warning",danger:"text-danger",neutral:"text-faint"},G={success:"bg-success",warning:"bg-warning",danger:"bg-danger",neutral:"bg-faint"};function q(t){return t==="thinking"||t==="reading"||t==="speaking"}function F(t){let d=q(t.status);return{busy:d,text:d&&t.activeTool?t.activeTool:ge[t.status]}}function Q(t){let d=t.members.filter((v)=>v.verdict==="approve").length,u=t.members.filter((v)=>v.verdict==="reject").length;if(t.state==="running"){if(t.phase==="research")return{tone:"warning",label:"调研中"};if(t.phase==="opening")return{tone:"warning",label:"开场表态"};return{tone:"warning",label:"群聊交流"}}if(t.state==="consensus"){if(d===t.members.length)return{tone:"success",label:"全票通过"};if(u===t.members.length)return{tone:"danger",label:"全票反对"};if(u>d)return{tone:"danger",label:"共识:反对"};return{tone:"success",label:"共识:通过"}}if(t.state==="diverged")return{tone:"warning",label:"存在分歧"};if(t.state==="error")return{tone:"danger",label:"失败"};return{tone:"neutral",label:"已中止"}}function V(t){let d=Math.max(1,Math.round(t/1000));if(d<60)return`${d}s`;return`${Math.floor(d/60)}m ${String(d%60).padStart(2,"0")}s`}var ve={research:"调研",opening:"开场表态",discussion:"群聊交流"};function W(t){let{cn:d}=y(),{room:u}=t,v=Q(u),x=u.state==="running",b=u.research?["research","opening","discussion"]:["opening","discussion"],a=x?b.indexOf(u.phase==="closed"?"discussion":u.phase??"discussion"):-1,c=[...b.map((p,m)=>({key:p,label:ve[p],done:!x||m<a,active:m===a})),{key:"closed",label:x?"结论":v.label,done:!x,active:!1}];return e("ol",{className:d("flex min-w-0 gap-1",t.className),children:c.map((p,m)=>{let N=m===c.length-1&&!x;return n("li",{className:"min-w-0 flex-1",children:[e("span",{className:d("block h-[3px] rounded-full transition-colors duration-300",N?G[v.tone]:p.active?"bg-accent animate-pulse":p.done?"bg-line-strong":"bg-line/60")}),e("span",{className:d("mt-1.5 block truncate text-[11px]",N?d("font-medium",U[v.tone]):p.active?"font-medium text-ink":p.done?"text-dim":"text-faint"),children:p.label})]},p.key)})})}function oe(t){let{Collapsible:d,CollapsibleContent:u,Composer:v,Markdown:x,cn:b,confirm:a}=y(),{room:c,onClose:p}=t,[m,N]=r(!1),[w,M]=r(""),[g,L]=r(!1),[I,O]=r(),[S,H]=r(!1),[E,D]=r(!0),[B,h]=r(),z=i(!1);z.current=B!==void 0;let R=i(null),T=i(null),P=c.state==="running",j=Q(c),re=new Map(c.members.map((l)=>[l.id,l]));o(()=>{let l=(ee)=>{if(ee.key==="Escape"&&!ee.defaultPrevented&&!z.current)N(!0)},k=document.body.style.overflow;return document.body.style.overflow="hidden",window.addEventListener("keydown",l),()=>{window.removeEventListener("keydown",l),document.body.style.overflow=k}},[]);let Y=c.messages.length;o(()=>{let l=T.current;if(!l||!E||Y===0)return;l.scrollTo({top:l.scrollHeight,behavior:"smooth"})},[Y,E]);let le=async(l)=>{await t.onPost(l),D(!0)},ce=async()=>{if(g)return;if(!await a({title:"中止理事会?",description:"所有成员会立即停止,已有发言保留。",action:"中止",danger:!0}))return;L(!0),O(void 0);try{await t.onAbort()}catch(k){O(k instanceof Error?k.message:"中止理事会失败")}finally{L(!1)}},J=(l)=>{M((k)=>k.includes(`@${l}`)?k:`${k?`${k.trimEnd()} `:""}@${l} `),R.current?.focus()},me=c.members.filter((l)=>l.verdict==="approve").length,de=c.members.filter((l)=>l.verdict==="reject").length,_=c.members.find((l)=>l.id===B);return it(n("div",{role:"dialog","aria-modal":"true","aria-label":`理事会:${c.topic}`,onAnimationEnd:(l)=>{if(m&&l.target===l.currentTarget)p()},className:b("fixed inset-0 z-50 flex flex-col bg-bg pt-[env(safe-area-inset-top)] text-ink",m?"pointer-events-none animate-dialog-out":"animate-dialog-in"),children:[n(d,{open:S,onOpenChange:H,className:"shrink-0 border-b border-line px-4 pt-3 pb-3 sm:px-6",children:[n("div",{className:"flex items-start gap-3",children:[n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex items-center gap-3 text-[11px] text-faint",children:[e("span",{className:"font-medium tracking-[0.2em] text-dim",children:"COUNCIL"}),e("span",{className:"tabular-nums",children:V(t.elapsedMs)}),n("span",{className:"tabular-nums",children:[c.messages.length," 条发言"]})]}),n("button",{type:"button","aria-expanded":S,onClick:()=>H((l)=>!l),className:"mt-0.5 flex max-w-full cursor-pointer items-start gap-1.5 text-left md:items-center",children:[e("h2",{className:"line-clamp-2 text-[15px] leading-snug font-semibold md:truncate md:text-lg",children:c.topic}),e(ie,{className:b("mt-0.5 size-4 shrink-0 text-faint transition-transform duration-300 ease-out-quint md:mt-0",!S&&"-rotate-90")})]})]}),n("div",{className:"flex shrink-0 items-center gap-1",children:[n("span",{className:b("inline-flex items-center gap-1.5 rounded-full border border-line px-2.5 py-1 text-xs font-medium",U[j.tone]),children:[e("span",{className:b("size-1.5 rounded-full",G[j.tone],P&&"animate-pulse")}),j.label]}),e("button",{type:"button","aria-label":"关闭理事会页面",title:"关闭(Esc)",onClick:()=>N(!0),className:"ml-1 inline-flex size-10 -mr-2 cursor-pointer items-center justify-center rounded-full text-faint transition-colors hover:bg-raised hover:text-ink md:size-8 md:mr-0",children:e(Z,{className:"size-4"})})]})]}),e(u,{children:e("div",{className:"mt-2 max-h-[40dvh] overflow-y-auto overscroll-contain rounded-xl bg-panel px-3.5 py-2.5 text-[13px] leading-relaxed text-dim md:max-h-48",children:e(x,{text:c.brief})})}),e(W,{room:c,className:"mt-3"})]}),n("div",{className:"flex min-h-0 flex-1 flex-col md:flex-row",children:[e("div",{className:"flex shrink-0 gap-2 overflow-x-auto overscroll-x-contain border-b border-line px-4 py-2.5 [scrollbar-width:none] md:hidden",children:c.members.map((l)=>e(he,{member:l,onSelect:()=>h(l.id)},l.id))}),n("aside",{className:"hidden w-72 shrink-0 flex-col gap-2 overflow-y-auto border-r border-line p-4 md:flex",children:[n("div",{className:"flex items-center justify-between text-[11px] text-faint",children:[e("span",{className:"font-medium tracking-wide",children:"席位"}),n("span",{className:"tabular-nums",children:[e("span",{className:"text-success",children:me})," / ",e("span",{className:"text-danger",children:de})," /"," ",c.members.length]})]}),c.members.map((l)=>e(ye,{member:l,onMention:()=>J(l.name),onOpen:()=>t.onOpenMember(l.childSessionID)},l.id))]}),n("main",{className:"flex min-h-0 min-w-0 flex-1 flex-col",children:[e("div",{ref:T,onScroll:(l)=>{let k=l.currentTarget;D(k.scrollHeight-k.scrollTop-k.clientHeight<80)},className:"min-h-0 flex-1 overflow-y-auto",children:n("div",{className:"mx-auto w-full max-w-3xl px-4 py-4 sm:px-6 md:py-5",children:[c.messages.length===0?n("div",{className:"flex flex-col items-center justify-center gap-3 py-24 text-center text-faint",children:[P?e(K,{className:"size-5 animate-spin"}):null,e("p",{className:"text-sm",children:P?c.phase==="research"?"成员正在各自调研,笔记不会进入群聊":"成员正在独立准备开场观点,彼此不可见":"这场理事会没有产生发言"})]}):e("ol",{className:"space-y-5",children:c.messages.map((l)=>e(ke,{message:l,membersByID:re,onMention:()=>J(l.senderName)},l.floor))}),c.summary&&!P&&n("section",{className:"mt-8 rounded-2xl border border-line bg-panel px-4 py-3",children:[n("h3",{className:b("text-xs font-semibold",U[j.tone]),children:["结论:",j.label]}),e("div",{className:"mt-1.5 text-[13px] leading-relaxed text-dim",children:e(x,{text:c.summary})})]})]})}),e("div",{className:"shrink-0 px-3 pb-[max(0.75rem,env(safe-area-inset-bottom))] sm:px-6 md:pb-4",children:n("div",{className:"mx-auto w-full max-w-3xl",children:[I&&e("p",{role:"status",className:"px-1 pb-2 text-[13px] text-danger",children:I}),e(v,{draftKey:`council:${c.roomID}`,placeholder:P?"插话,@ 某位成员会点名要求其回应":"理事会已结束,插话会重新唤醒成员",busy:P,allowAttachments:!1,text:w,onTextChange:M,inputRef:R,onSend:le,onAbort:()=>void ce()})]})})]})]}),_&&e(Ne,{member:_,onClose:()=>h(void 0),onMention:()=>{h(void 0),J(_.name)},onOpen:()=>t.onOpenMember(_.childSessionID)})]}),document.body)}function he(t){let{ModelIcon:d,cn:u}=y(),{member:v}=t,x=C[v.verdict]??C.pending,{busy:b}=F(v);return n("button",{type:"button",onClick:t.onSelect,"aria-label":`${v.name},${x.label},查看详情`,className:"flex h-11 max-w-[11rem] shrink-0 cursor-pointer items-center gap-2 rounded-full border border-line bg-panel/60 pr-3.5 pl-1.5 active:bg-raised",children:[n("span",{className:u("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",x.ring),children:[e(d,{modelID:v.model,className:"size-4",size:16}),b&&e(K,{className:"absolute -right-1 -bottom-1 size-3.5 animate-spin rounded-full bg-bg text-accent"})]}),n("span",{className:"min-w-0 text-left leading-tight",children:[e("span",{className:"block truncate text-[13px] font-medium",children:v.name}),e("span",{className:u("block text-[11px]",x.text),children:x.label})]})]})}function Ne(t){let{Button:d,Dialog:u,Markdown:v,ModelIcon:x,cn:b}=y(),{member:a}=t,c=C[a.verdict]??C.pending,p=F(a);return e(u,{open:!0,onOpenChange:(m)=>!m&&t.onClose(),title:n("span",{className:"flex min-w-0 items-center gap-2.5",children:[e("span",{className:b("flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",c.ring),children:e(x,{modelID:a.model,className:"size-4",size:16})}),e("span",{className:"min-w-0 truncate",children:a.name}),e("span",{className:b("shrink-0 rounded px-1.5 py-px text-[11px] font-medium",c.soft),children:c.label})]}),description:a.model,footer:n(f,{children:[n(d,{variant:"secondary",onClick:t.onMention,children:[e(A,{className:"size-4"}),"点名"]}),n(d,{variant:"secondary",onClick:t.onOpen,children:[e(ot,{className:"size-4"}),"查看推理"]})]}),children:n("div",{className:"space-y-3 pb-1",children:[n("div",{className:"flex items-center gap-3 text-[13px]",children:[n("span",{className:b("flex min-w-0 flex-1 items-center gap-1.5",p.busy?"text-accent":"text-dim"),children:[p.busy&&e(K,{className:"size-3.5 shrink-0 animate-spin"}),e("span",{className:"truncate",children:p.text})]}),n("span",{className:"shrink-0 text-faint tabular-nums",children:["发言 ",a.turns??0," 次"]})]}),a.notes?n("section",{children:[n("h3",{className:"mb-1.5 flex items-center gap-1.5 text-xs font-medium text-faint",children:[e(X,{className:"size-3.5"}),"调研笔记"]}),e("div",{className:"rounded-xl bg-bg/60 px-3.5 py-2.5 text-[13px] leading-relaxed text-dim",children:e(v,{text:a.notes})})]}):e("p",{className:"text-[13px] text-faint",children:"没有调研笔记"})]})})}function ye(t){let{Collapsible:d,CollapsibleContent:u,Markdown:v,ModelIcon:x,cn:b}=y(),{member:a}=t,[c,p]=r(!1),m=C[a.verdict]??C.pending,{busy:N,text:w}=F(a);return n(d,{open:c,onOpenChange:p,className:"shrink-0 rounded-xl border border-line bg-panel/60 p-2.5",children:[n("div",{className:"flex items-center gap-2.5",children:[e("span",{className:b("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-raised ring-2",m.ring),children:e(x,{modelID:a.model,className:"size-4",size:16})}),n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex items-center gap-1.5",children:[e("span",{className:"truncate text-[13px] font-medium",title:a.model,children:a.name}),e("span",{className:b("shrink-0 rounded px-1 text-[10.5px] font-medium",m.soft),children:m.label})]}),n("div",{className:b("flex min-w-0 items-center gap-1 text-[11px]",N?"text-accent":"text-faint"),children:[N&&e(K,{className:"size-3 shrink-0 animate-spin"}),e("span",{className:"truncate",children:w})]})]})]}),n("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-faint",children:[n("span",{className:"tabular-nums",children:["发言 ",a.turns??0," 次"]}),e("span",{className:"ml-auto"}),a.notes&&n("button",{type:"button","aria-expanded":c,onClick:()=>p((M)=>!M),className:b("inline-flex cursor-pointer items-center gap-1 rounded px-1.5 py-0.5 hover:bg-raised hover:text-ink",c&&"text-ink"),children:[e(X,{className:"size-3"}),"笔记"]}),e("button",{type:"button","aria-label":`@ ${a.name}`,title:`@ ${a.name}`,onClick:t.onMention,className:"inline-flex cursor-pointer items-center rounded p-1 hover:bg-raised hover:text-ink",children:e(A,{className:"size-3"})}),e("button",{type:"button","aria-label":`查看 ${a.name} 的推理过程`,title:"查看推理与工具调用",onClick:t.onOpen,className:"inline-flex cursor-pointer items-center rounded p-1 hover:bg-raised hover:text-ink",children:e(ot,{className:"size-3"})})]}),a.notes&&e(u,{children:e("div",{className:"mt-2 max-h-56 overflow-y-auto rounded-lg bg-bg/60 px-2.5 py-2 text-xs leading-relaxed text-dim",children:e(v,{text:a.notes})})})]})}function ke(t){let{Code:d,Collapsible:u,CollapsibleContent:v,Markdown:x,cn:b}=y(),{message:a}=t,[c,p]=r(!1),m=a.senderID==="user"||a.senderID==="host",N=a.verdict&&a.verdict!=="pending"?C[a.verdict]:void 0,w=a.evidences??[],M=(a.mentions??[]).map((g)=>t.membersByID.get(g)).filter((g)=>g!==void 0);return n("li",{id:`council-floor-${a.floor}`,className:"group flex gap-3 animate-fade",children:[e(ae,{message:a,isHuman:m,className:"mt-0.5 hidden size-8 md:flex"}),n("div",{className:"min-w-0 flex-1",children:[n("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-0.5 text-xs",children:[e(ae,{message:a,isHuman:m,className:"flex size-6 md:hidden"}),e("span",{className:"font-semibold text-ink",title:a.senderModel,children:a.senderName}),n("a",{href:`#council-floor-${a.floor}`,className:"font-mono text-[11px] text-faint hover:text-dim",onClick:(g)=>g.preventDefault(),children:["#",a.floor]}),N&&e("span",{className:b("rounded px-1.5 py-px text-[10.5px] font-medium",N.soft),children:N.label}),!m&&n("button",{type:"button",onClick:t.onMention,className:"ml-auto inline-flex cursor-pointer items-center gap-1 rounded-md px-2 py-1 text-[11px] text-faint transition-opacity hover:bg-raised hover:text-ink focus-visible:opacity-100 md:px-1.5 md:py-0.5 md:opacity-0 md:group-hover:opacity-100",children:[e(A,{className:"size-3"}),"回复"]})]}),(a.replyToFloor||M.length>0)&&n("div",{className:"mt-1 flex flex-wrap items-center gap-1.5 text-[11px] text-faint",children:[a.replyToFloor&&n("button",{type:"button",onClick:()=>document.getElementById(`council-floor-${a.replyToFloor}`)?.scrollIntoView({block:"center",behavior:"smooth"}),className:"inline-flex min-w-0 max-w-full cursor-pointer items-center gap-1 rounded-md bg-raised/70 px-1.5 py-0.5 hover:text-ink",children:[e(er,{className:"size-3 shrink-0"}),n("span",{className:"shrink-0 text-dim",children:["#",a.replyToFloor," ",a.replyToName]}),a.replyToPreview&&e("span",{className:"truncate",children:a.replyToPreview})]}),M.map((g)=>n("span",{className:"inline-flex items-center gap-1 rounded-md bg-accent/10 px-1.5 py-0.5 text-accent",children:[e(A,{className:"size-3"}),g.name]},g.id))]}),e("div",{className:"mt-1.5 break-words text-[14px] leading-relaxed text-ink/90 md:text-[13.5px] [&_p]:my-1.5 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",children:e(x,{text:a.text})}),w.length>0&&n(u,{open:c,onOpenChange:p,className:"mt-2",children:[n("button",{type:"button","aria-expanded":c,onClick:()=>p((g)=>!g),className:"inline-flex max-w-full cursor-pointer items-center gap-1 text-[11px] text-faint hover:text-ink",children:[e(te,{className:"size-3 shrink-0"}),n("span",{className:"shrink-0",children:["查阅 ",w.length," 处"]}),!c&&e("span",{className:"truncate font-mono",children:w.map((g)=>g.label).join(",")}),e(ie,{className:b("size-3 shrink-0 transition-transform duration-300 ease-out-quint",!c&&"-rotate-90")})]}),e(v,{children:e("div",{className:"mt-1.5 space-y-1.5",children:w.map((g)=>n("div",{className:"overflow-hidden rounded-lg border border-line bg-panel text-xs",children:[e("div",{className:"truncate border-b border-line/70 px-2.5 py-1 font-mono text-[11px] text-dim",children:g.label}),g.snippet&&e(d,{code:g.snippet,lang:g.lang||"ts",className:"max-h-40 overflow-auto px-2.5 py-1.5 text-[11.5px]"})]},`${g.tool}:${g.label}:${g.snippet?.slice(0,32)??""}`))})})]})]})]})}function ae(t){let{ModelIcon:d,cn:u}=y();return e("span",{className:u("shrink-0 items-center justify-center rounded-full",t.isHuman?"bg-accent/12 text-accent":"bg-raised",t.className),children:t.message.senderModel?e(d,{modelID:t.message.senderModel,className:"size-4",size:16}):e(se,{className:"size-4"})})}function Je(t){let{ModelIcon:d,cn:u,useTheme:v}=y();v();let{connection:x,sessionID:b,payload:a,onOpen:c}=t,p=a,[m,N]=r(p),[w,M]=r(!1),[g,L]=r(Date.now);o(()=>{N(p)},[p]);let I=m.state==="running",O=`/api/sessions/${encodeURIComponent(b)}/council/${encodeURIComponent(m.roomID)}`;o(()=>{if(!I)return;let h=!1,R=setInterval(()=>{if(x.request(O).then((T)=>{if(!h&&T&&typeof T==="object"&&"roomID"in T)N(T)}).catch(()=>{}),!h)L(Date.now())},1200);return()=>{h=!0,clearInterval(R)}},[x,O,I]);let S=async(h)=>{let z=await x.request(`${O}/post`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({text:h})});N(z)},H=async()=>{let h=await x.request(`${O}/kill`,{method:"POST"});N(h)},E=(I?g:m.updatedAt)-m.createdAt,D=m.messages.at(-1),B=m.members.filter((h)=>q(h.status)).length;return n(f,{children:[n("button",{type:"button","aria-label":`进入理事会:${m.topic}`,onClick:()=>M(!0),className:"group relative my-2 block w-full cursor-pointer overflow-hidden rounded-2xl border border-line bg-panel text-left transition-colors hover:border-line-strong animate-fade",children:[n("div",{className:"px-4 pt-3.5",children:[n("div",{className:"flex items-center gap-1.5 text-[11px] text-faint",children:[e("span",{className:"font-medium text-dim",children:"理事会"}),e("span",{"aria-hidden":!0,children:"·"}),e("span",{className:"tabular-nums",children:V(E)}),n("span",{className:"ml-auto tabular-nums",children:[m.members.length," 位成员"]})]}),e("h4",{className:"mt-1 line-clamp-2 text-sm font-semibold text-ink md:truncate",title:m.topic,children:m.topic})]}),e(W,{room:m,className:"mt-3 px-4"}),e("div",{className:"mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 px-4",children:m.members.map((h)=>{let z=C[h.verdict]??C.pending,R=q(h.status);return n("span",{className:"flex min-w-0 items-center gap-1.5 text-xs",title:h.model,children:[n("span",{className:u("relative flex size-6 shrink-0 items-center justify-center rounded-full bg-raised ring-2",z.ring),children:[e(d,{modelID:h.model,className:"size-3.5",size:14}),R&&e(K,{className:"absolute -right-1 -bottom-1 size-3 animate-spin rounded-full bg-panel text-accent"})]}),e("span",{className:"truncate text-dim",children:h.name}),e("span",{className:u("shrink-0 text-[11px]",z.text),children:z.label})]},h.id)})}),n("div",{className:"mt-3 flex items-center gap-2 border-t border-line/70 px-4 py-2.5 text-xs",children:[D?n(f,{children:[e("span",{className:"shrink-0 font-medium text-dim",children:D.senderName}),e("span",{className:"min-w-0 flex-1 truncate text-faint",children:D.text.replace(/\s+/g," ")})]}):e("span",{className:"min-w-0 flex-1 truncate text-faint",children:I?`${B} 位成员正在${m.phase==="research"?"调研":"思考"}…`:"没有发言"}),n("span",{className:"inline-flex shrink-0 items-center gap-1 text-faint transition-colors group-hover:text-ink",children:[m.messages.length>0&&n("span",{className:"tabular-nums",children:[m.messages.length," 条"]}),e(ne,{className:"size-3.5"})]})]})]}),w&&e(oe,{room:m,elapsedMs:E,onClose:()=>M(!1),onOpenMember:c,onPost:S,onAbort:H})]})}export{Je as CouncilCard};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Li}from"./chunk-n9v14vyd.js";export{Li as createTreeViewServices};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import{t,b,gt,C,S,E,T,A,L,R,l,Tn,p,ae,qn,
|
|
1
|
+
import{t,b,gt,C,S,E,T,A,L,R,l,Tn,p,ae,qn,vo,Oa,$a,Wn}from"./chunk-b5zf1hs3.js";import{$n,hn}from"./chunk-y2rzeb4v.js";import{Qe}from"./chunk-1zwc09e8.js";function nt(n,c){let y=0;if(c===void 0){for(let g of n)if(g=+g)y+=g}else{let g=-1;for(let _ of n)if(_=+c(_,++g,n))y+=_}return y}function ht(n){var c=n.length/6|0,y=Array(c),g=0;while(g<c)y[g]="#"+n.slice(g*6,++g*6);return y}var dt=ht("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function Et(n){return n.source}function Pt(n){return n.target}function At(n){let c=Et,y=Pt,g=Oa,_=$a,P=null,m=null,G=qn(i);function i(){let o,f=vo.call(arguments),v=c.apply(this,f),x=y.apply(this,f);if(P==null)m=n(o=G());if(m.lineStart(),f[0]=v,m.point(+g.apply(this,f),+_.apply(this,f)),f[0]=x,m.point(+g.apply(this,f),+_.apply(this,f)),m.lineEnd(),o)return m=null,o+""||null}return i.source=function(o){return arguments.length?(c=o,i):c},i.target=function(o){return arguments.length?(y=o,i):y},i.x=function(o){return arguments.length?(g=typeof o==="function"?o:ae(+o),i):g},i.y=function(o){return arguments.length?(_=typeof o==="function"?o:ae(+o),i):_},i.context=function(o){return arguments.length?(o==null?P=m=null:m=n(P=o),i):P},i}function bt(){return At(Wn)}function Tt(n){return n.target.depth}function pt(n){return n.depth}function yt(n,c){return c-1-n.height}function rt(n,c){return n.sourceLinks.length?n.depth:c-1}function mt(n){return n.targetLinks.length?n.depth:n.sourceLinks.length?hn(n.sourceLinks,Tt)-1:0}function tt(n){return function(){return n}}function vt(n,c){return st(n.source,c.source)||n.index-c.index}function _t(n,c){return st(n.target,c.target)||n.index-c.index}function st(n,c){return n.y0-c.y0}function xt(n){return n.value}function Ct(n){return n.index}function Bt(n){return n.nodes}function Ot(n){return n.links}function St(n,c){let y=n.get(c);if(!y)throw Error("missing: "+c);return y}function wt({nodes:n}){for(let c of n){let y=c.y0,g=y;for(let _ of c.sourceLinks)_.y0=y+_.width/2,y+=_.width;for(let _ of c.targetLinks)_.y1=g+_.width/2,g+=_.width}}function ot(){let n=0,c=0,y=1,g=1,_=24,P=8,m,G=Ct,i=rt,o,f,v=Bt,x=Ot,h=6;function w(){let e={nodes:v.apply(null,arguments),links:x.apply(null,arguments)};return I(e),M(e),W(e),U(e),z(e),wt(e),e}w.update=function(e){return wt(e),e},w.nodeId=function(e){return arguments.length?(G=typeof e==="function"?e:tt(e),w):G},w.nodeAlign=function(e){return arguments.length?(i=typeof e==="function"?e:tt(e),w):i},w.nodeSort=function(e){return arguments.length?(o=e,w):o},w.nodeWidth=function(e){return arguments.length?(_=+e,w):_},w.nodePadding=function(e){return arguments.length?(P=m=+e,w):P},w.nodes=function(e){return arguments.length?(v=typeof e==="function"?e:tt(e),w):v},w.links=function(e){return arguments.length?(x=typeof e==="function"?e:tt(e),w):x},w.linkSort=function(e){return arguments.length?(f=e,w):f},w.size=function(e){return arguments.length?(n=c=0,y=+e[0],g=+e[1],w):[y-n,g-c]},w.extent=function(e){return arguments.length?(n=+e[0][0],y=+e[1][0],c=+e[0][1],g=+e[1][1],w):[[n,c],[y,g]]},w.iterations=function(e){return arguments.length?(h=+e,w):h};function I({nodes:e,links:a}){for(let[r,s]of e.entries())s.index=r,s.sourceLinks=[],s.targetLinks=[];let u=new Map(e.map((r,s)=>[G(r,s,e),r]));for(let[r,s]of a.entries()){s.index=r;let{source:d,target:k}=s;if(typeof d!=="object")d=s.source=St(u,d);if(typeof k!=="object")k=s.target=St(u,k);d.sourceLinks.push(s),k.targetLinks.push(s)}if(f!=null)for(let{sourceLinks:r,targetLinks:s}of e)r.sort(f),s.sort(f)}function M({nodes:e}){for(let a of e)a.value=a.fixedValue===void 0?Math.max(nt(a.sourceLinks,xt),nt(a.targetLinks,xt)):a.fixedValue}function W({nodes:e}){let a=e.length,u=new Set(e),r=new Set,s=0;while(u.size){for(let d of u){d.depth=s;for(let{target:k}of d.sourceLinks)r.add(k)}if(++s>a)throw Error("circular link");u=r,r=new Set}}function U({nodes:e}){let a=e.length,u=new Set(e),r=new Set,s=0;while(u.size){for(let d of u){d.height=s;for(let{source:k}of d.targetLinks)r.add(k)}if(++s>a)throw Error("circular link");u=r,r=new Set}}function Q({nodes:e}){let a=$n(e,(s)=>s.depth)+1,u=(y-n-_)/(a-1),r=Array(a);for(let s of e){let d=Math.max(0,Math.min(a-1,Math.floor(i.call(null,s,a))));if(s.layer=d,s.x0=n+d*u,s.x1=s.x0+_,r[d])r[d].push(s);else r[d]=[s]}if(o)for(let s of r)s.sort(o);return r}function q(e){let a=hn(e,(u)=>(g-c-(u.length-1)*m)/nt(u,xt));for(let u of e){let r=c;for(let s of u){s.y0=r,s.y1=r+s.value*a,r=s.y1+m;for(let d of s.sourceLinks)d.width=d.value*a}r=(g-r+m)/(u.length+1);for(let s=0;s<u.length;++s){let d=u[s];d.y0+=r*(s+1),d.y1+=r*(s+1)}K(u)}}function z(e){let a=Q(e);m=Math.min(P,(g-c)/($n(a,(u)=>u.length)-1)),q(a);for(let u=0;u<h;++u){let r=Math.pow(0.99,u),s=Math.max(1-r,(u+1)/h);D(a,r,s),B(a,r,s)}}function B(e,a,u){for(let r=1,s=e.length;r<s;++r){let d=e[r];for(let k of d){let J=0,Y=0;for(let{source:N,value:ft}of k.targetLinks){let et=ft*(k.layer-N.layer);J+=O(N,k)*et,Y+=et}if(!(Y>0))continue;let F=(J/Y-k.y0)*a;k.y0+=F,k.y1+=F,Z(k)}if(o===void 0)d.sort(st);H(d,u)}}function D(e,a,u){for(let r=e.length,s=r-2;s>=0;--s){let d=e[s];for(let k of d){let J=0,Y=0;for(let{target:N,value:ft}of k.sourceLinks){let et=ft*(N.layer-k.layer);J+=V(k,N)*et,Y+=et}if(!(Y>0))continue;let F=(J/Y-k.y0)*a;k.y0+=F,k.y1+=F,Z(k)}if(o===void 0)d.sort(st);H(d,u)}}function H(e,a){let u=e.length>>1,r=e[u];j(e,r.y0-m,u-1,a),X(e,r.y1+m,u+1,a),j(e,g,e.length-1,a),X(e,c,0,a)}function X(e,a,u,r){for(;u<e.length;++u){let s=e[u],d=(a-s.y0)*r;if(d>0.000001)s.y0+=d,s.y1+=d;a=s.y1+m}}function j(e,a,u,r){for(;u>=0;--u){let s=e[u],d=(s.y1-a)*r;if(d>0.000001)s.y0-=d,s.y1-=d;a=s.y0-m}}function Z({sourceLinks:e,targetLinks:a}){if(f===void 0){for(let{source:{sourceLinks:u}}of a)u.sort(_t);for(let{target:{targetLinks:u}}of e)u.sort(vt)}}function K(e){if(f===void 0)for(let{sourceLinks:a,targetLinks:u}of e)a.sort(_t),u.sort(vt)}function O(e,a){let u=e.y0-(e.sourceLinks.length-1)*m/2;for(let{target:r,width:s}of e.sourceLinks){if(r===a)break;u+=s+m}for(let{source:r,width:s}of a.targetLinks){if(r===e)break;u-=s}return u}function V(e,a){let u=a.y0-(a.targetLinks.length-1)*m/2;for(let{source:r,width:s}of a.targetLinks){if(r===e)break;u+=s+m}for(let{target:r,width:s}of e.sourceLinks){if(r===a)break;u-=s}return u}return w}function Rt(n){return[n.source.x1,n.y0]}function Nt(n){return[n.target.x0,n.y1]}function it(){return bt().source(Rt).target(Nt)}var kt=function(){var n=t(function(G,i,o,f){for(o=o||{},f=G.length;f--;o[G[f]]=i);return o},"o"),c=[1,9],y=[1,10],g=[1,5,10,12],_={trace:t(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:t(function(i,o,f,v,x,h,w){var I=h.length-1;switch(x){case 7:let M=v.findOrCreateNode(h[I-4].trim().replaceAll('""','"')),W=v.findOrCreateNode(h[I-2].trim().replaceAll('""','"')),U=parseFloat(h[I].trim());v.addLink(M,W,U);break;case 8:case 9:case 11:this.$=h[I];break;case 10:this.$=h[I-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:c,20:y},{1:[2,6],7:11,10:[1,12]},n(y,[2,4],{9:13,5:[1,14]}),{12:[1,15]},n(g,[2,8]),n(g,[2,9]),{19:[1,16]},n(g,[2,11]),{1:[2,1]},{1:[2,5]},n(y,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:c,20:y},{15:18,16:7,17:8,18:c,20:y},{18:[1,19]},n(y,[2,3]),{12:[1,20]},n(g,[2,10]),{15:21,16:7,17:8,18:c,20:y},n([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:t(function(i,o){if(o.recoverable)this.trace(i);else{var f=Error(i);throw f.hash=o,f}},"parseError"),parse:t(function(i){var o=this,f=[0],v=[],x=[null],h=[],w=this.table,I="",M=0,W=0,U=0,Q=2,q=1,z=h.slice.call(arguments,1),B=Object.create(this.lexer),D={yy:{}};for(var H in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,H))D.yy[H]=this.yy[H];if(B.setInput(i,D.yy),D.yy.lexer=B,D.yy.parser=this,typeof B.yylloc>"u")B.yylloc={};var X=B.yylloc;h.push(X);var j=B.options&&B.options.ranges;if(typeof D.yy.parseError==="function")this.parseError=D.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function Z(N){f.length=f.length-2*N,x.length=x.length-N,h.length=h.length-N}t(Z,"popStack");function K(){var N=v.pop()||B.lex()||q;if(typeof N!=="number"){if(N instanceof Array)v=N,N=v.pop();N=o.symbols_[N]||N}return N}t(K,"lex");var O,V,e,a,u,r,s={},d,k,J,Y;while(!0){if(e=f[f.length-1],this.defaultActions[e])a=this.defaultActions[e];else{if(O===null||typeof O>"u")O=K();a=w[e]&&w[e][O]}if(typeof a>"u"||!a.length||!a[0]){var F="";Y=[];for(d in w[e])if(this.terminals_[d]&&d>Q)Y.push("'"+this.terminals_[d]+"'");if(B.showPosition)F="Parse error on line "+(M+1)+`:
|
|
2
2
|
`+B.showPosition()+`
|
|
3
3
|
Expecting `+Y.join(", ")+", got '"+(this.terminals_[O]||O)+"'";else F="Parse error on line "+(M+1)+": Unexpected "+(O==q?"end of input":"'"+(this.terminals_[O]||O)+"'");this.parseError(F,{text:B.match,token:this.terminals_[O]||O,line:B.yylineno,loc:X,expected:Y})}if(a[0]instanceof Array&&a.length>1)throw Error("Parse Error: multiple actions possible at state: "+e+", token: "+O);switch(a[0]){case 1:if(f.push(O),x.push(B.yytext),h.push(B.yylloc),f.push(a[1]),O=null,!V){if(W=B.yyleng,I=B.yytext,M=B.yylineno,X=B.yylloc,U>0)U--}else O=V,V=null;break;case 2:if(k=this.productions_[a[1]][1],s.$=x[x.length-k],s._$={first_line:h[h.length-(k||1)].first_line,last_line:h[h.length-1].last_line,first_column:h[h.length-(k||1)].first_column,last_column:h[h.length-1].last_column},j)s._$.range=[h[h.length-(k||1)].range[0],h[h.length-1].range[1]];if(r=this.performAction.apply(s,[I,W,M,D.yy,a[1],x,h].concat(z)),typeof r<"u")return r;if(k)f=f.slice(0,-1*k*2),x=x.slice(0,-1*k),h=h.slice(0,-1*k);f.push(this.productions_[a[1]][0]),x.push(s.$),h.push(s._$),J=w[f[f.length-2]][f[f.length-1]],f.push(J);break;case 3:return!0}}return!0},"parse")},P=function(){var G={EOF:1,parseError:t(function(o,f){if(this.yy.parser)this.yy.parser.parseError(o,f);else throw Error(o)},"parseError"),setInput:t(function(i,o){if(this.yy=o||this.yy||{},this._input=i,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges)this.yylloc.range=[0,0];return this.offset=0,this},"setInput"),input:t(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var o=i.match(/(?:\r\n?|\n).*/g);if(o)this.yylineno++,this.yylloc.last_line++;else this.yylloc.last_column++;if(this.options.ranges)this.yylloc.range[1]++;return this._input=this._input.slice(1),i},"input"),unput:t(function(i){var o=i.length,f=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var v=this.match.split(/(?:\r\n?|\n)/g);if(this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),f.length-1)this.yylineno-=f.length-1;var x=this.yylloc.range;if(this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:f?(f.length===v.length?this.yylloc.first_column:0)+v[v.length-f.length].length-f[0].length:this.yylloc.first_column-o},this.options.ranges)this.yylloc.range=[x[0],x[0]+this.yyleng-o];return this.yyleng=this.yytext.length,this},"unput"),more:t(function(){return this._more=!0,this},"more"),reject:t(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(i){this.unput(this.match.slice(i))},"less"),pastInput:t(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:t(function(){var i=this.match;if(i.length<20)i+=this._input.substr(0,20-i.length);return(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:t(function(){var i=this.pastInput(),o=Array(i.length+1).join("-");return i+this.upcomingInput()+`
|
|
5
5
|
`+o+"^"},"showPosition"),test_match:t(function(i,o){var f,v,x;if(this.options.backtrack_lexer){if(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges)x.yylloc.range=this.yylloc.range.slice(0)}if(v=i[0].match(/(?:\r\n?|\n).*/g),v)this.yylineno+=v.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:v?v[v.length-1].length-v[v.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+i[0].length},this.yytext+=i[0],this.match+=i[0],this.matches=i,this.yyleng=this.yytext.length,this.options.ranges)this.yylloc.range=[this.offset,this.offset+=this.yyleng];if(this._more=!1,this._backtrack=!1,this._input=this._input.slice(i[0].length),this.matched+=i[0],f=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(f)return f;else if(this._backtrack){for(var h in x)this[h]=x[h];return!1}return!1},"test_match"),next:t(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var i,o,f,v;if(!this._more)this.yytext="",this.match="";var x=this._currentRules();for(var h=0;h<x.length;h++)if(f=this._input.match(this.rules[x[h]]),f&&(!o||f[0].length>o[0].length)){if(o=f,v=h,this.options.backtrack_lexer)if(i=this.test_match(f,x[h]),i!==!1)return i;else if(this._backtrack){o=!1;continue}else return!1;else if(!this.options.flex)break}if(o){if(i=this.test_match(o,x[v]),i!==!1)return i;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var o=this.next();if(o)return o;else return this.lex()},"lex"),begin:t(function(o){this.conditionStack.push(o)},"begin"),popState:t(function(){var o=this.conditionStack.length-1;if(o>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(o){if(o=this.conditionStack.length-1-Math.abs(o||0),o>=0)return this.conditionStack[o];else return"INITIAL"},"topState"),pushState:t(function(o){this.begin(o)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(o,f,v,x){var h=x;switch(v){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return G}();_.lexer=P;function m(){this.yy={}}return t(m,"Parser"),m.prototype=_,_.Parser=m,new m}();kt.parser=kt;var at=kt,ct=[],ut=[],lt=new Map,Gt=t(()=>{ct=[],ut=[],lt=new Map,C()},"clear"),It=class{constructor(n,c,y=0){this.source=n,this.target=c,this.value=y}static{t(this,"SankeyLink")}},Mt=t((n,c,y)=>{ct.push(new It(n,c,y))},"addLink"),Yt=class{constructor(n){this.ID=n}static{t(this,"SankeyNode")}},Dt=t((n)=>{n=b.sanitizeText(n,l());let c=lt.get(n);if(c===void 0)c=new Yt(n),lt.set(n,c),ut.push(c);return c},"findOrCreateNode"),jt=t(()=>ut,"getNodes"),$t=t(()=>ct,"getLinks"),zt=t(()=>({nodes:ut.map((n)=>({id:n.ID})),links:ct.map((n)=>({source:n.source.ID,target:n.target.ID,value:n.value}))}),"getGraph"),Vt={nodesMap:lt,getConfig:t(()=>l().sankey,"getConfig"),getNodes:jt,getLinks:$t,getGraph:zt,addLink:Mt,findOrCreateNode:Dt,getAccTitle:E,setAccTitle:S,getAccDescription:A,setAccDescription:T,getDiagramTitle:R,setDiagramTitle:L,clear:Gt},Lt=class n{static{t(this,"Uid")}static{this.count=0}static next(c){return new n(c+ ++n.count)}constructor(c){this.id=c,this.href=`#${c}`}toString(){return"url("+this.href+")"}},Ft={left:pt,right:yt,center:mt,justify:rt},Wt=t((n)=>{let c=0,y=0;for(let g of n){let _=g.value??0;if(_>c)c=_,y=g.layer??0}return y},"findCentralNodeLayer"),Ut=t(function(n,c,y,g){let{securityLevel:_,sankey:P}=l(),m=Tn.sankey,G;if(_==="sandbox")G=p("#i"+c);let i=_==="sandbox"?p(G.nodes()[0].contentDocument.body):p("body"),o=_==="sandbox"?i.select(`[id="${c}"]`):p(`[id="${c}"]`),f=P?.width??m.width,v=P?.height??m.width,x=P?.useMaxWidth??m.useMaxWidth,h=P?.nodeAlignment??m.nodeAlignment,w=P?.prefix??m.prefix,I=P?.suffix??m.suffix,M=P?.showValues??m.showValues,W=P?.nodeWidth??m.nodeWidth??10,U=P?.nodePadding??m.nodePadding??12,Q=P?.labelStyle??m.labelStyle??"legacy",q=P?.nodeColors??{},z=g.db.getGraph(),B=Ft[h];ot().nodeId((r)=>r.id).nodeWidth(W).nodePadding(U+(M?15:0)).nodeAlign(B).extent([[0,0],[f,v]])(z);let H=Wt(z.nodes),X=
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var o=this.next();if(o)return o;else return this.lex()},"lex"),begin:t(function(o){this.conditionStack.push(o)},"begin"),popState:t(function(){var o=this.conditionStack.length-1;if(o>0)return this.conditionStack.pop();else return this.conditionStack[0]},"popState"),_currentRules:t(function(){if(this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1])return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;else return this.conditions.INITIAL.rules},"_currentRules"),topState:t(function(o){if(o=this.conditionStack.length-1-Math.abs(o||0),o>=0)return this.conditionStack[o];else return"INITIAL"},"topState"),pushState:t(function(o){this.begin(o)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(o,f,v,x){var h=x;switch(v){case 0:return this.pushState("csv"),4;break;case 1:return this.pushState("csv"),4;break;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;break;case 6:return 20;case 7:return this.popState("escaped_text"),18;break;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return G}();_.lexer=P;function m(){this.yy={}}return t(m,"Parser"),m.prototype=_,_.Parser=m,new m}();kt.parser=kt;var at=kt,ct=[],ut=[],lt=new Map,Gt=t(()=>{ct=[],ut=[],lt=new Map,C()},"clear"),It=class{constructor(n,c,y=0){this.source=n,this.target=c,this.value=y}static{t(this,"SankeyLink")}},Mt=t((n,c,y)=>{ct.push(new It(n,c,y))},"addLink"),Yt=class{constructor(n){this.ID=n}static{t(this,"SankeyNode")}},Dt=t((n)=>{n=b.sanitizeText(n,l());let c=lt.get(n);if(c===void 0)c=new Yt(n),lt.set(n,c),ut.push(c);return c},"findOrCreateNode"),jt=t(()=>ut,"getNodes"),$t=t(()=>ct,"getLinks"),zt=t(()=>({nodes:ut.map((n)=>({id:n.ID})),links:ct.map((n)=>({source:n.source.ID,target:n.target.ID,value:n.value}))}),"getGraph"),Vt={nodesMap:lt,getConfig:t(()=>l().sankey,"getConfig"),getNodes:jt,getLinks:$t,getGraph:zt,addLink:Mt,findOrCreateNode:Dt,getAccTitle:E,setAccTitle:S,getAccDescription:A,setAccDescription:T,getDiagramTitle:R,setDiagramTitle:L,clear:Gt},Lt=class n{static{t(this,"Uid")}static{this.count=0}static next(c){return new n(c+ ++n.count)}constructor(c){this.id=c,this.href=`#${c}`}toString(){return"url("+this.href+")"}},Ft={left:pt,right:yt,center:mt,justify:rt},Wt=t((n)=>{let c=0,y=0;for(let g of n){let _=g.value??0;if(_>c)c=_,y=g.layer??0}return y},"findCentralNodeLayer"),Ut=t(function(n,c,y,g){let{securityLevel:_,sankey:P}=l(),m=Tn.sankey,G;if(_==="sandbox")G=p("#i"+c);let i=_==="sandbox"?p(G.nodes()[0].contentDocument.body):p("body"),o=_==="sandbox"?i.select(`[id="${c}"]`):p(`[id="${c}"]`),f=P?.width??m.width,v=P?.height??m.width,x=P?.useMaxWidth??m.useMaxWidth,h=P?.nodeAlignment??m.nodeAlignment,w=P?.prefix??m.prefix,I=P?.suffix??m.suffix,M=P?.showValues??m.showValues,W=P?.nodeWidth??m.nodeWidth??10,U=P?.nodePadding??m.nodePadding??12,Q=P?.labelStyle??m.labelStyle??"legacy",q=P?.nodeColors??{},z=g.db.getGraph(),B=Ft[h];ot().nodeId((r)=>r.id).nodeWidth(W).nodePadding(U+(M?15:0)).nodeAlign(B).extent([[0,0],[f,v]])(z);let H=Wt(z.nodes),X=Qe(dt),j=t((r)=>q[r]??X(r),"getNodeColor");o.append("g").attr("class","nodes").selectAll(".node").data(z.nodes).join("g").attr("class","node").attr("id",(r)=>(r.uid=Lt.next("node-")).id).attr("transform",function(r){return"translate("+r.x0+","+r.y0+")"}).attr("x",(r)=>r.x0).attr("y",(r)=>r.y0).append("rect").attr("height",(r)=>r.y1-r.y0).attr("width",(r)=>r.x1-r.x0).attr("fill",(r)=>j(r.id));let Z=t(({id:r,value:s})=>{if(!M)return r;return`${r}
|
|
7
7
|
${w}${Math.round(s*100)/100}${I}`},"getText"),K=t((r)=>{if(Q==="outlined"){if((r.layer??0)<H)return{x:r.x0-6,anchor:"end"};return{x:r.x1+6,anchor:"start"}}if(r.x0<f/2)return{x:r.x1+6,anchor:"start"};return{x:r.x0-6,anchor:"end"}},"getLabelPosition"),O=o.append("g").attr("class","node-labels").attr("font-size",14),V=t((r)=>O.selectAll(r?`.${r}`:"text").data(z.nodes).join("text").attr("class",r??null).attr("x",(s)=>K(s).x).attr("y",(s)=>(s.y1+s.y0)/2).attr("dy",`${M?"0":"0.35"}em`).attr("text-anchor",(s)=>K(s).anchor).text(Z),"appendLabel");if(Q==="outlined")V("sankey-label-bg"),V("sankey-label-fg");else V();let e=o.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",0.5).selectAll(".link").data(z.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),a=P?.linkColor??"gradient";if(a==="gradient"){let r=e.append("linearGradient").attr("id",(s)=>(s.uid=Lt.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",(s)=>s.source.x1).attr("x2",(s)=>s.target.x0);r.append("stop").attr("offset","0%").attr("stop-color",(s)=>j(s.source.id)),r.append("stop").attr("offset","100%").attr("stop-color",(s)=>j(s.target.id))}let u;switch(a){case"gradient":u=t((r)=>r.uid,"coloring");break;case"source":u=t((r)=>j(r.source.id),"coloring");break;case"target":u=t((r)=>j(r.target.id),"coloring");break;default:u=a}e.append("path").attr("d",it()).attr("stroke",u).attr("stroke-width",(r)=>Math.max(1,r.width)),gt(void 0,o,0,x)},"draw"),Ht={draw:Ut},Xt=t((n)=>n.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
|
|
8
8
|
`).trim(),"prepareTextForParsing"),Jt=t((n)=>`.label {
|
|
9
9
|
font-family: ${n.fontFamily};
|