@bkm016/basalt 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/chunk-03wzwnn6.js +2 -0
- package/{chunk-7jezts2n.js → chunk-06s9pr82.js} +2 -2
- package/{chunk-eyrtbbdd.js → chunk-0crbhhna.js} +1 -1
- package/{chunk-kpe7pnhy.js → chunk-0rasqm8y.js} +4 -4
- package/chunk-1w4nh5t6.js +5 -0
- package/{chunk-02d3x4mj.js → chunk-2eaehpp6.js} +3 -3
- package/{chunk-jj4hqbrx.js → chunk-30dxcr91.js} +3 -3
- package/{chunk-nw1xpt3s.js → chunk-343jsm46.js} +2 -2
- package/{chunk-bk4rpnm8.js → chunk-37ndxehw.js} +2 -2
- package/chunk-38g4jd6v.js +5 -0
- package/{chunk-0fc9apfn.js → chunk-39mh7h58.js} +23 -23
- package/{chunk-6mges89p.js → chunk-44a7f5ta.js} +5 -5
- package/chunk-44b9yx79.js +2 -0
- package/{chunk-jn5pqy5v.js → chunk-46vy2m29.js} +1 -1
- package/{chunk-2kxnw7vs.js → chunk-4f6p4n7k.js} +2 -2
- package/chunk-4w8j6n7z.js +2 -0
- package/{chunk-qs8zzg50.js → chunk-4yxd2kg1.js} +2 -2
- package/{chunk-ksk49hv0.js → chunk-59hg9a84.js} +1 -1
- package/chunk-62ebm0bn.js +2 -0
- package/chunk-6ef085c1.js +20 -0
- package/chunk-6hx9y86d.js +3 -0
- package/chunk-73t051r6.js +2 -0
- package/{chunk-1h34mzh7.js → chunk-7mgkpn94.js} +7 -7
- package/{chunk-w0rr66z7.js → chunk-81x8r8w4.js} +1 -1
- package/chunk-86yr2c0r.js +3 -0
- package/{chunk-ypqjfv3a.js → chunk-8np9b2y8.js} +2 -2
- package/{chunk-hbnmymaq.js → chunk-9ew8cap5.js} +2 -2
- package/chunk-9v3b7jjv.js +2 -0
- package/{chunk-01nve4qy.js → chunk-9vam83py.js} +1 -1
- package/chunk-9xjecw6c.js +2 -0
- package/{chunk-6sz5q3df.js → chunk-b2wpj81x.js} +2 -2
- package/chunk-b516bp7n.js +3 -0
- package/chunk-bjvv3403.js +2 -0
- package/{chunk-hc300148.js → chunk-c8g9jjqs.js} +2 -2
- package/chunk-cs91rmbf.js +18 -0
- package/chunk-drett6hb.js +2 -0
- package/{chunk-fy82qxa1.js → chunk-edcf97ka.js} +1 -1
- package/chunk-en7z6ne5.js +3 -0
- package/{chunk-p2pmdbt2.js → chunk-evnqkyt7.js} +12 -12
- package/{chunk-8mezk0cb.js → chunk-g2etemv5.js} +2 -2
- package/{chunk-n0ybj4h9.js → chunk-g5p9mj1r.js} +2 -2
- package/{chunk-eq4wqxzt.js → chunk-ge38dhv9.js} +2 -2
- package/chunk-hggam3je.js +2 -0
- package/chunk-k38jaz6c.js +7 -0
- package/{chunk-qfcr5g35.js → chunk-kcn05erf.js} +3 -3
- package/{chunk-rwks9zaw.js → chunk-m5km74eq.js} +2 -2
- package/{chunk-jpnf71q7.js → chunk-mfb3dgs8.js} +2 -2
- package/{chunk-vjne04dp.js → chunk-mh4bjtfs.js} +4 -4
- package/chunk-nysatg77.js +4161 -0
- package/chunk-p886jr17.js +25 -0
- package/{chunk-82v8jh1h.js → chunk-pdt65s31.js} +2 -2
- package/chunk-pjgt1bdx.js +3 -0
- package/{chunk-tvm4zmgj.js → chunk-pyj6avd5.js} +2 -2
- package/chunk-qd2enpr2.js +3 -0
- package/{chunk-cbgpymt4.js → chunk-qe76naq9.js} +1 -1
- package/{chunk-ntks40jd.js → chunk-qjnx4fsn.js} +5 -5
- package/{chunk-fhxy6y34.js → chunk-qs161f2q.js} +2 -2
- package/{chunk-v7wcchy2.js → chunk-rghqprav.js} +1 -1
- package/chunk-t33bm5aa.js +2 -0
- package/{chunk-nrsd810j.js → chunk-tfhp09nj.js} +2 -2
- package/chunk-vd5332ps.js +2 -0
- package/{chunk-3pf1d62g.js → chunk-vqm94hz2.js} +2 -2
- package/{chunk-85v69h91.js → chunk-w55cnj0f.js} +2 -2
- package/{chunk-1zj3zvw5.js → chunk-wnd3y4c0.js} +4 -4
- package/{chunk-stj493dn.js → chunk-xafx1p7z.js} +2 -2
- package/{chunk-9as0p561.js → chunk-xf7zw32f.js} +14 -14
- package/chunk-xk3t5ves.js +482 -0
- package/{chunk-5wnmbc1b.js → chunk-xq74x4gc.js} +2 -2
- package/chunk-y0274xr2.js +7 -0
- package/{chunk-ejjem0tc.js → chunk-z9p6s986.js} +6 -6
- package/chunk-zcwz44db.js +2 -0
- package/{chunk-w6f2r052.js → chunk-zhyzhekt.js} +1 -1
- package/compiled.js +85 -12
- package/package.json +1 -1
- package/ui-test-worker.js +65 -65
- package/web/chunk-15g9pnzy.js +1 -0
- package/web/{chunk-4f6a8dsk.js → chunk-17wwzrp4.js} +1 -1
- package/web/chunk-19tkjg9w.js +1 -0
- package/web/chunk-1y387f45.js +1 -0
- package/web/{chunk-30aeb767.js → chunk-25sn840r.js} +2 -2
- package/web/chunk-26sp6jre.js +1 -0
- package/web/{chunk-81s15c2e.js → chunk-2c7kxr4v.js} +2 -2
- package/web/{chunk-wvrs986a.js → chunk-2gsf89vs.js} +3 -3
- package/web/{chunk-3qxxrwsp.js → chunk-2gvz70wr.js} +10 -10
- package/web/chunk-2s3my1jn.js +1 -0
- package/web/{chunk-ar6jnhm5.js → chunk-32dh0hft.js} +1 -1
- package/web/{chunk-3rkkp6ed.js → chunk-3haw3wcw.js} +5 -5
- package/web/{chunk-hn8m1vsg.js → chunk-3rxhs9qm.js} +7 -7
- package/web/chunk-410qdvmv.js +1 -0
- package/web/chunk-4qehf2xx.js +2 -0
- package/web/{chunk-qdd3bx8q.js → chunk-51b8n5e1.js} +1 -1
- package/web/chunk-54mgncq3.js +1 -0
- package/web/{chunk-r6kk4vp1.js → chunk-59g6rrew.js} +4 -4
- package/web/{chunk-7tkgbbf9.js → chunk-5d9veaef.js} +2 -2
- package/web/chunk-6481wt3t.js +1 -0
- package/web/chunk-6ehecat3.js +1 -0
- package/web/chunk-6m8hq6ph.js +1 -0
- package/web/chunk-73941p08.js +1 -0
- package/web/{chunk-aeymdtm1.js → chunk-783s8jds.js} +3 -3
- package/web/{chunk-g4zm0crw.js → chunk-78m018ya.js} +1 -1
- package/web/chunk-797bh7z6.js +39 -0
- package/web/{chunk-hva7xyne.js → chunk-7hpqrfgg.js} +2 -2
- package/web/{chunk-enwfd8d5.js → chunk-7kywe73f.js} +2 -2
- package/web/chunk-7qq1ypvj.js +1 -0
- package/web/{chunk-xbyrgyy0.js → chunk-7wzszsf5.js} +2 -2
- package/web/{chunk-aa46mrgh.js → chunk-7zfqppsx.js} +2 -2
- package/web/{chunk-d73zkc4q.js → chunk-8sr9w61v.js} +3 -3
- package/web/{chunk-v34mr9ky.js → chunk-8ttp8fh3.js} +6 -6
- package/web/chunk-8zg89764.js +1 -0
- package/web/{chunk-2cyzaqjy.js → chunk-988e9wx6.js} +3 -3
- package/web/{chunk-k4dnjf8n.js → chunk-9h0f3gar.js} +3 -3
- package/web/chunk-9vr6hpmk.js +34 -0
- package/web/chunk-9vrp249f.js +2 -0
- package/web/{chunk-td83xf12.js → chunk-a205cj09.js} +2 -2
- package/web/{chunk-gkmaryr4.js → chunk-ahn2frbt.js} +1 -1
- package/web/{chunk-5g8md2wg.js → chunk-aknsydan.js} +5 -5
- package/web/chunk-at0xtfhy.js +1 -0
- package/web/chunk-bahccwb9.js +1 -0
- package/web/{chunk-rdr6wt22.js → chunk-c7fqrs8j.js} +4 -4
- package/web/chunk-d3hyf9yd.js +1 -0
- package/web/chunk-dcegr80c.js +1 -0
- package/web/{chunk-act3rr85.js → chunk-dwtatme7.js} +1 -1
- package/web/{chunk-5np514v5.js → chunk-ex8rmqn1.js} +12 -12
- package/web/{chunk-g488hxx0.js → chunk-faskbfjf.js} +3 -3
- package/web/chunk-feanedhx.js +1 -0
- package/web/{chunk-e94pd9rr.js → chunk-ffywf5w5.js} +10 -10
- package/web/chunk-fx3d48e6.js +1 -0
- package/web/{chunk-ncfzmf2g.js → chunk-g3szt4c4.js} +1 -1
- package/web/chunk-g7bcntpm.js +1 -0
- package/web/chunk-gr1tjqbd.js +1 -0
- package/web/{chunk-bygwbpvq.js → chunk-hbwxtbq3.js} +2 -2
- package/web/{chunk-gten0rpx.js → chunk-hdtvrh0f.js} +2 -2
- package/web/chunk-j031r08w.js +1 -0
- package/web/{chunk-d57fm7k0.js → chunk-j6wcszxq.js} +2 -2
- package/web/{chunk-885kpj14.js → chunk-jdx7qp2w.js} +2 -2
- package/web/chunk-jge7nn3s.js +1 -0
- package/web/chunk-jy8zat04.js +1 -0
- package/web/{chunk-7vgh17es.js → chunk-jzge034r.js} +1 -1
- package/web/{chunk-fj753yzt.js → chunk-k4qrqmdk.js} +2 -2
- package/web/chunk-k8s7kye3.js +1 -0
- package/web/{chunk-2jfesv7m.js → chunk-k9fyqrhp.js} +2 -2
- package/web/chunk-k9zn1n6d.js +1 -0
- package/web/chunk-kg3tksv7.js +1 -0
- package/web/chunk-kk5rw81s.js +2 -0
- package/web/{chunk-xpecre7w.js → chunk-kpmd893m.js} +4 -4
- package/web/chunk-md9j949p.js +1 -0
- package/web/{chunk-jeafmjsm.js → chunk-mn2wv9ye.js} +6 -6
- package/web/{chunk-dndd757x.js → chunk-mv7jgmnb.js} +3 -3
- package/web/{chunk-c3fty2c2.js → chunk-mvm68qtt.js} +7 -7
- package/web/chunk-nbcpbqq4.js +1 -0
- package/web/{chunk-b99k8q22.js → chunk-nfpff7yf.js} +8 -8
- package/web/chunk-nk7jkpam.js +1 -0
- package/web/chunk-nmvt1rn3.js +1 -0
- package/web/chunk-npw1s1h2.js +1 -0
- package/web/chunk-npyrdsf8.css +1 -0
- package/web/chunk-nzzxv84v.js +8 -0
- package/web/{chunk-n9v14vyd.js → chunk-p4pqtybm.js} +22 -22
- package/web/{chunk-jyf7a7yp.js → chunk-p79c7aak.js} +1 -1
- package/web/{chunk-6jb2zyp6.js → chunk-pafw34vg.js} +2 -2
- package/web/{chunk-y2rzeb4v.js → chunk-pf65cank.js} +2 -2
- package/web/{chunk-d1btrqmw.js → chunk-ppa21760.js} +1 -1
- package/web/{chunk-60mym60n.js → chunk-ptpkv0te.js} +1 -1
- package/web/{chunk-yjs6jmdb.js → chunk-qcdej581.js} +3 -3
- package/web/{chunk-q1zxvjhs.js → chunk-qftcdcps.js} +2 -2
- package/web/{chunk-4wwd3pfz.js → chunk-qv1w36ja.js} +2 -2
- package/web/chunk-r8p741qj.js +2 -0
- package/web/chunk-rcexbkjj.js +1 -0
- package/web/{chunk-kerfb21g.js → chunk-rjakb64x.js} +1 -1
- package/web/{chunk-k0cg4n2k.js → chunk-s0xy00v5.js} +2 -2
- package/web/{chunk-ym7kv2hs.js → chunk-s2ps0ct5.js} +1 -1
- package/web/{chunk-h24ybwp6.js → chunk-s45g7fp6.js} +1 -1
- package/web/{chunk-pjpre6de.js → chunk-s70aj1v5.js} +6 -6
- package/web/chunk-say8bvkc.js +1 -0
- package/web/{chunk-qh62nkem.js → chunk-sd3cdqcm.js} +2 -2
- package/web/{chunk-6f2sz84q.js → chunk-sgkevxdf.js} +2 -2
- package/web/chunk-sjffrcq9.js +1 -0
- package/web/{chunk-19zd0tye.js → chunk-snaepr87.js} +8 -8
- package/web/{chunk-3n9ypydh.js → chunk-tdzh6nsz.js} +2 -2
- package/web/{chunk-wqzbxzk3.js → chunk-tjd8qp87.js} +1 -1
- package/web/chunk-tncc9e57.js +1 -0
- package/web/chunk-ty2rmwda.js +1142 -0
- package/web/chunk-v22hp18w.js +1 -0
- package/web/chunk-ve9dz857.js +2 -0
- package/web/{chunk-80z8s8zb.js → chunk-vg346gxc.js} +2 -2
- package/web/{chunk-hqxc9m07.js → chunk-vpegzgzb.js} +10 -10
- package/web/{chunk-pzg25qqe.js → chunk-vvvd3grf.js} +2 -2
- package/web/{chunk-qp3tjhaq.js → chunk-vwv6pqy7.js} +1 -1
- package/web/{chunk-3psgr0q8.js → chunk-vxm7n7w6.js} +20 -20
- package/web/{chunk-h754ntg7.js → chunk-w5q7978e.js} +1 -1
- package/web/{chunk-xvfeq8v2.js → chunk-we4mhfmq.js} +12 -12
- package/web/{chunk-8539865x.js → chunk-wfgrdabk.js} +1 -1
- package/web/{chunk-sdr5wa4z.js → chunk-wkhj4hsw.js} +4 -4
- package/web/{chunk-7ksg3ccg.js → chunk-wspk8qbg.js} +2 -2
- package/web/{chunk-hxbfkdjd.js → chunk-xf1hnpme.js} +1 -1
- package/web/{chunk-v1hfbjz9.js → chunk-xhqvzmfj.js} +5 -5
- package/web/chunk-xq70hgre.js +1 -0
- package/web/chunk-xtss82z2.js +1 -0
- package/web/{chunk-yf8ykk4v.js → chunk-y3tb6410.js} +3 -3
- package/web/{chunk-7v85yvb2.js → chunk-y6mcxfm0.js} +1 -1
- package/web/{chunk-7adsmqv6.js → chunk-ya696bfe.js} +2 -2
- package/web/{chunk-w9gnqkez.js → chunk-ysw5fs45.js} +3 -3
- package/web/chunk-zkq1xknc.js +1 -0
- package/web/chunk-zkv025s5.js +1 -0
- package/web/{chunk-8cnjd0f2.js → chunk-zpzvz973.js} +28 -28
- package/web/{chunk-b5zf1hs3.js → chunk-zsat72qd.js} +120 -120
- package/web/chunk-zx3h7v72.js +1 -0
- package/web/index.html +1 -1
- package/worker.js +1 -1
- package/chunk-1xfv4bd7.js +0 -2
- package/chunk-2fyjph3f.js +0 -2
- package/chunk-37zystxb.js +0 -25
- package/chunk-3k627vf2.js +0 -3
- package/chunk-4gtgqcct.js +0 -5
- package/chunk-7er5pz7s.js +0 -479
- package/chunk-7g5smgjj.js +0 -2
- package/chunk-7m3jagqn.js +0 -2
- package/chunk-9c4gdg1q.js +0 -3
- package/chunk-b2bxqeb4.js +0 -2
- package/chunk-bpw6q7g0.js +0 -3
- package/chunk-bwawt15q.js +0 -3
- package/chunk-cdw03j4t.js +0 -20
- package/chunk-ch1r3ted.js +0 -2
- package/chunk-cmwdjes8.js +0 -18
- package/chunk-db7ws33a.js +0 -7
- package/chunk-e1x629v0.js +0 -5
- package/chunk-j64dc767.js +0 -3
- package/chunk-m4bg1apa.js +0 -7
- package/chunk-nhm9z3d8.js +0 -2
- package/chunk-pnspvnyd.js +0 -2
- package/chunk-qnkrrwmg.js +0 -2
- package/chunk-r4gm8ngh.js +0 -2
- package/chunk-rks90mh1.js +0 -2
- package/chunk-t7te60m7.js +0 -2
- package/chunk-tv52xajf.js +0 -2
- package/chunk-wqqjzsjt.js +0 -3983
- package/chunk-xef4642x.js +0 -3
- package/web/chunk-04drx71p.js +0 -1
- package/web/chunk-0mdf1qja.js +0 -1
- package/web/chunk-0rdgt4jb.css +0 -1
- package/web/chunk-1m0kp0g3.js +0 -8
- package/web/chunk-3j2tcphs.js +0 -1
- package/web/chunk-3k9h7a73.js +0 -1142
- package/web/chunk-3m1bb2fw.js +0 -1
- package/web/chunk-55nvm2mj.js +0 -1
- package/web/chunk-5dkqfnh7.js +0 -2
- package/web/chunk-7ky5nrrr.js +0 -1
- package/web/chunk-8sdjgv3k.js +0 -1
- package/web/chunk-9bxtzwtc.js +0 -1
- package/web/chunk-9jy8nc4r.js +0 -1
- package/web/chunk-aebrw6cv.js +0 -39
- package/web/chunk-bcjgzwef.js +0 -1
- package/web/chunk-bra33pt0.js +0 -2
- package/web/chunk-cxpnj495.js +0 -2
- package/web/chunk-d94t9z70.js +0 -1
- package/web/chunk-de29pe57.js +0 -1
- package/web/chunk-e68jw0bg.js +0 -1
- package/web/chunk-fr4fft89.js +0 -1
- package/web/chunk-gckmcef6.js +0 -1
- package/web/chunk-gnb09wmx.js +0 -1
- package/web/chunk-gx340asc.js +0 -1
- package/web/chunk-hrgqc1vr.js +0 -1
- package/web/chunk-j9c8fa82.js +0 -1
- package/web/chunk-jz5mmp64.js +0 -1
- package/web/chunk-kxeaj44h.js +0 -1
- package/web/chunk-m0136xav.js +0 -1
- package/web/chunk-m1rdyvb5.js +0 -1
- package/web/chunk-m6vyvgm5.js +0 -1
- package/web/chunk-mxkbmgcv.js +0 -2
- package/web/chunk-my0ec787.js +0 -1
- package/web/chunk-mzzaet63.js +0 -1
- package/web/chunk-nkpdd9hw.js +0 -1
- package/web/chunk-ny436sqg.js +0 -1
- package/web/chunk-pbp1p5ex.js +0 -1
- package/web/chunk-ph75hddv.js +0 -1
- package/web/chunk-phdfyqaa.js +0 -1
- package/web/chunk-phxa5krt.js +0 -1
- package/web/chunk-r4zbw4zj.js +0 -2
- package/web/chunk-ry4ycah9.js +0 -1
- package/web/chunk-sqm16fat.js +0 -1
- package/web/chunk-tj1fn8v2.js +0 -1
- package/web/chunk-v0wtk059.js +0 -34
- package/web/chunk-v1qt3gq4.js +0 -1
- package/web/chunk-v854w9yn.js +0 -1
- package/web/chunk-ve56gxq0.js +0 -1
- package/web/chunk-w573ym17.js +0 -1
- package/web/chunk-x0mjydtp.js +0 -1
- package/web/chunk-zhybh04p.js +0 -1
package/web/chunk-3m1bb2fw.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{nr}from"./chunk-n9v14vyd.js";export{nr as createRailroadServices};
|
package/web/chunk-55nvm2mj.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ir}from"./chunk-n9v14vyd.js";export{ir as createRailroadPegServices};
|
package/web/chunk-5dkqfnh7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{o,r,f,e,n,y,Lt,ot,ie,Ue}from"./chunk-3k9h7a73.js";var Z={running:"运行中",waiting:"等待回答",context_exhausted:"上下文耗尽",done:"完成",error:"失败",failed:"失败",aborted:"已取消",cancelled:"已取消",interrupted:"已中断"},j={running:"warning",waiting:"warning",context_exhausted:"warning",done:"success",error:"danger",failed:"danger",aborted:"neutral",cancelled:"neutral",interrupted:"warning"},I=(i)=>i>=1000?`${(i/1000).toFixed(i>=1e4?0:1)}k`:String(i),ee=(i)=>i>=60000?`${Math.floor(i/60000)} 分 ${Math.round(i%60000/1000)} 秒`:`${Math.round(i/1000)} 秒`;function ae(i){let{Button:S,Panel:B,StatusChip:U,Markdown:A,ModelIcon:Q,cn:l,style:q,useTheme:F}=y();F();let{connection:k,sessionID:w,payload:O,onOpen:_}=i,s=O,[t,L]=r(),[W,D]=r(!1),[v,g]=r(),[P,R]=r(!1),[p,G]=r(!1),[H,J]=r(!1),x=H||s.state==="aborted"||s.state==="cancelled",h=x?"aborted":s.state,c=(s.state==="running"||s.state==="waiting")&&!x;o(()=>{let a,C=!1,M=()=>{k.request(`/api/sessions/${encodeURIComponent(w)}/tasks/${encodeURIComponent(s.childSessionID)}`).then((u)=>{if(!C)L(u),D(!1),g(void 0)}).catch((u)=>{if(!C){if(u instanceof Error&&u.message==="Task is not a direct child"){D(!0),g(void 0);return}g(u instanceof Error?u.message:"任务详情加载失败")}})};if(M(),c)a=setInterval(M,1500);return()=>{if(C=!0,a)clearInterval(a)}},[k,w,s.childSessionID,c]);let K=async()=>{if(P)return;R(!0);try{await k.request(`/api/sessions/${encodeURIComponent(w)}/tasks/${encodeURIComponent(s.childSessionID)}/kill`,{method:"POST"}),J(!0)}catch(a){g(a instanceof Error?a.message:"取消任务失败")}finally{R(!1)}},d=s.summary?.trim()||s.handoff?.conclusion.trim()||"",N=d.length>360||d.split(`
|
|
2
|
-
`).length>8,b=t?.retried??0,m=c&&b>0,V=m?`重试中 (${b})`:Z[h]??h,X=m?"danger":j[h]??"neutral",T=[m&&`已失败重试 ${b} 次`,t&&c&&t.lastTool&&`最近 ${t.lastTool}`,t&&ee(t.elapsedMs),t&&`输入 ${I(t.usage.input)}`,t&&`输出 ${I(t.usage.output)}`,t&&t.usage.cacheRead>0&&`缓存 ${I(t.usage.cacheRead)}`,t&&t.usage.cost>0&&`$${t.usage.cost.toFixed(4)}`].filter((a)=>Boolean(a)),E=m&&t?.lastError?`模型请求异常:${t.lastError}`:void 0,Y=Boolean(d||s.state==="waiting"&&!x||E||v),z=s.model||t?.session.model;return e(B,{className:"my-2 animate-fade",header:n(f,{children:[z?e(Q,{modelID:z,className:"size-3.5 shrink-0",size:14}):e(Ue,{className:l("size-3.5 shrink-0",c?"text-warning":"text-faint")}),e("h4",{className:"truncate font-medium text-ink",title:s.description,children:s.description}),T.length>0&&e("div",{className:l("flex min-w-0 flex-wrap items-center gap-x-2 tabular-nums text-xs",m?"text-danger font-medium":"text-faint"),children:T.map((a)=>e("span",{children:a},a))})]}),actions:n(f,{children:[e(U,{tone:X,pulse:h==="running",children:V}),c&&e(S,{size:"sm",variant:"danger-ghost",className:"h-6 rounded-md px-2 text-xs",disabled:P,onClick:()=>{K()},children:"取消"}),!W&&n(S,{size:"sm",variant:"ghost",className:"h-6 gap-1 rounded-md px-2 text-xs text-faint hover:text-ink",onClick:()=>_(s.childSessionID),children:["进入子会话",e(ot,{className:"size-3.5"})]})]}),children:Y&&n(f,{children:[E&&n("div",{className:"flex items-center gap-2 border-b border-line bg-danger/10 px-4 py-2 text-xs text-danger",children:[n("span",{className:"font-medium",children:["已自动重试 ",b," 次:"]}),e("span",{className:"truncate",title:t?.lastError,children:t?.lastError})]}),s.state==="waiting"&&!x&&n("div",{className:l("px-4 py-3",d&&"border-b border-line"),children:[n("p",{className:"flex items-center gap-1.5 text-xs font-medium text-warning",children:[e(Lt,{className:"size-3.5"}),"子任务向主代理提问,等待回答"]}),s.pendingQuestions&&s.pendingQuestions.length>0&&e("ul",{className:"mt-1.5 flex flex-col gap-1 text-[13px] leading-relaxed text-ink",children:s.pendingQuestions.map((a)=>e("li",{className:"break-words",children:a.text},a.askedAt))})]}),d&&n("div",{className:"px-4 py-3",children:[n("div",{className:l("relative text-[13.5px] leading-[1.65] break-words text-ink/90 overflow-hidden transition-[max-height] duration-300 ease-out-quint [&_p]:my-1.5 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",N&&!p?"max-h-40":"max-h-[1800px]"),children:[e(A,{text:d}),N&&e("div",{className:l("pointer-events-none absolute inset-x-0 bottom-0 h-10 bg-gradient-to-t from-panel via-panel/70 to-transparent transition-opacity duration-300",p?"opacity-0":"opacity-100")})]}),N&&n("button",{type:"button",className:q("chat.timelineRow","cursor-pointer select-none"),onClick:()=>G(!p),children:[e("span",{children:p?"收起":"展开全部"}),e(ie,{className:l("size-3.5 transition-transform duration-300 ease-out-quint",p&&"rotate-180")})]})]}),v&&e("p",{role:"status",className:"px-4 py-2.5 text-xs text-danger",children:v})]})})}export{ae as TaskCard};
|
package/web/chunk-7ky5nrrr.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-b5zf1hs3.js";import"./chunk-3n9ypydh.js";import"./chunk-81s15c2e.js";import{ao}from"./chunk-d57fm7k0.js";export{ao as render};
|
package/web/chunk-8sdjgv3k.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t,a}from"./chunk-b5zf1hs3.js";import{J,Dt,Mt}from"./chunk-rdr6wt22.js";import{H}from"./chunk-jyf7a7yp.js";import{nr,_t}from"./chunk-n9v14vyd.js";var o=nr().Railroad.parser.LangiumParser,n=t((e)=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(n);return r.length===1?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(n);return r.length===1?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:n(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:n(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:n(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),l=t((e)=>({name:e.name,definition:n(e.definition)}),"transformRule"),s=t((e)=>{if(H(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(l(r)))},"populateDb"),m={parse:t((e)=>{J.clear(),a.debug("[Railroad Parser] Starting Langium parse");let r=o.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let i=r.value;a.debug("[Railroad Parser] Parsed rules:",i.rules.length),s(i),a.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:J}},R={parser:m,db:J,renderer:Mt,styles:Dt};export{R as diagram};
|
package/web/chunk-9bxtzwtc.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{wi}from"./chunk-n9v14vyd.js";export{wi as createRadarServices};
|
package/web/chunk-9jy8nc4r.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{sa}from"./chunk-4wwd3pfz.js";export{sa as default};
|
package/web/chunk-aebrw6cv.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import{H}from"./chunk-jyf7a7yp.js";import{t,a,M,F,C,S,E,T,A,L,R,l,ae,jn,Hr,V,Ge,U}from"./chunk-b5zf1hs3.js";import{Q}from"./chunk-n9v14vyd.js";import{xt}from"./chunk-80z8s8zb.js";import{Qe}from"./chunk-1zwc09e8.js";function rt(e,o){return o<e?-1:o>e?1:o>=e?0:NaN}function at(e){return e}function nt(){var e=at,o=rt,b=null,P=ae(0),g=ae(jn),h=ae(0);function s(r){var i,u=(r=Hr(r)).length,m,k,W=0,v=Array(u),c=Array(u),N=+P.apply(this,arguments),B=Math.min(jn,Math.max(-jn,g.apply(this,arguments)-N)),_,X=Math.min(Math.abs(B)/u,h.apply(this,arguments)),p=X*(B<0?-1:1),z;for(i=0;i<u;++i)if((z=c[v[i]=i]=+e(r[i],i,r))>0)W+=z;if(o!=null)v.sort(function(I,x){return o(c[I],c[x])});else if(b!=null)v.sort(function(I,x){return b(r[I],r[x])});for(i=0,k=W?(B-u*p)/W:0;i<u;++i,N=_)m=v[i],z=c[m],_=N+(z>0?z*k:0)+p,c[m]={data:r[m],index:i,value:z,startAngle:N,endAngle:_,padAngle:X};return c}return s.value=function(r){return arguments.length?(e=typeof r==="function"?r:ae(+r),s):e},s.sortValues=function(r){return arguments.length?(o=r,b=null,s):o},s.sort=function(r){return arguments.length?(b=r,o=null,s):b},s.startAngle=function(r){return arguments.length?(P=typeof r==="function"?r:ae(+r),s):P},s.endAngle=function(r){return arguments.length?(g=typeof r==="function"?r:ae(+r),s):g},s.padAngle=function(r){return arguments.length?(h=typeof r==="function"?r:ae(+r),s):h},s}var gt=M.pie,it={sections:new Map,showData:!1,config:gt},{sections:J,showData:ot}=it,St=structuredClone(gt),yt=t(()=>structuredClone(St),"getConfig"),wt=t(()=>{J=new Map,ot=it.showData,C()},"clear"),At=t(({label:e,value:o})=>{if(o<0)throw Error(`"${e}" has invalid value: ${o}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);if(!J.has(e))J.set(e,o),a.debug(`added new section: ${e}, with value: ${o}`)},"addSection"),Ct=t(()=>J,"getSections"),$t=t((e)=>{ot=e},"setShowData"),Dt=t(()=>ot,"getShowData"),dt={getConfig:yt,clear:wt,setDiagramTitle:L,getDiagramTitle:R,setAccTitle:S,getAccTitle:E,setAccDescription:T,getAccDescription:A,addSection:At,getSections:Ct,setShowData:$t,getShowData:Dt},Tt=t((e,o)=>{H(e,o),o.setShowData(e.showData),e.sections.map(o.addSection)},"populateDb"),bt={parse:t(async(e)=>{let o=await Q("pie",e);a.debug(o),Tt(o,dt)},"parse")},kt=t((e)=>`
|
|
2
|
-
.pieCircle{
|
|
3
|
-
stroke: ${e.pieStrokeColor};
|
|
4
|
-
stroke-width : ${e.pieStrokeWidth};
|
|
5
|
-
opacity : ${e.pieOpacity};
|
|
6
|
-
}
|
|
7
|
-
.pieCircle.highlighted{
|
|
8
|
-
scale: 1.05;
|
|
9
|
-
opacity: 1;
|
|
10
|
-
}
|
|
11
|
-
.pieCircle.highlightedOnHover:hover{
|
|
12
|
-
transition-duration: 250ms;
|
|
13
|
-
scale: 1.05;
|
|
14
|
-
opacity: 1;
|
|
15
|
-
}
|
|
16
|
-
.pieOuterCircle{
|
|
17
|
-
stroke: ${e.pieOuterStrokeColor};
|
|
18
|
-
stroke-width: ${e.pieOuterStrokeWidth};
|
|
19
|
-
fill: none;
|
|
20
|
-
}
|
|
21
|
-
.pieTitleText {
|
|
22
|
-
text-anchor: middle;
|
|
23
|
-
font-size: ${e.pieTitleTextSize};
|
|
24
|
-
fill: ${e.pieTitleTextColor};
|
|
25
|
-
font-family: ${e.fontFamily};
|
|
26
|
-
}
|
|
27
|
-
.slice {
|
|
28
|
-
font-family: ${e.fontFamily};
|
|
29
|
-
fill: ${e.pieSectionTextColor};
|
|
30
|
-
font-size:${e.pieSectionTextSize};
|
|
31
|
-
// fill: white;
|
|
32
|
-
}
|
|
33
|
-
.legend text {
|
|
34
|
-
fill: ${e.pieLegendTextColor};
|
|
35
|
-
font-family: ${e.fontFamily};
|
|
36
|
-
font-size: ${e.pieLegendTextSize};
|
|
37
|
-
}
|
|
38
|
-
`,"getStyles"),zt=kt,Et=t((e)=>{let o=[...e.values()].reduce((g,h)=>g+h,0),b=[...e.entries()].map(([g,h])=>({label:g,value:h})).filter((g)=>g.value/o*100>=1);return nt().value((g)=>g.value).sort(null)(b)},"createPieArcs"),Mt=t((e,o,b,P)=>{a.debug(`rendering pie chart
|
|
39
|
-
`+e);let g=P.db,h=l(),s=U(g.getConfig(),h.pie),r=40,i=18,u=4,m=450,k=m,W=V(o),v=W.append("g");v.attr("transform","translate("+k/2+","+m/2+")");let{themeVariables:c}=h,[N]=Ge(c.pieOuterStrokeWidth);N??=2;let{legendPosition:B,textPosition:_}=s,X=s.donutHole>0&&s.donutHole<=0.9?s.donutHole:0,p=Math.min(k,m)/2-r,z=xt().innerRadius(X*p).outerRadius(p),I=xt().innerRadius(p*_).outerRadius(p*_),x=v.append("g");x.append("circle").attr("cx",0).attr("cy",0).attr("r",p+N/2).attr("class","pieOuterCircle");let Z=g.getSections(),pt=Et(Z),ft=[c.pie1,c.pie2,c.pie3,c.pie4,c.pie5,c.pie6,c.pie7,c.pie8,c.pie9,c.pie10,c.pie11,c.pie12],K=0;Z.forEach((n)=>{K+=n});let lt=pt.filter((n)=>(n.data.value/K*100).toFixed(0)!=="0"),Y=Qe(ft).domain([...Z.keys()]);x.selectAll("mySlices").data(lt).enter().append("path").attr("d",z).attr("fill",(n)=>Y(n.data.label)).attr("class",(n)=>{let d="pieCircle";if(s.highlightSlice==="hover")d+=" highlightedOnHover";else if(s.highlightSlice===n.data.label)d+=" highlighted";return d}),x.selectAll("mySlices").data(lt).enter().append("text").text((n)=>(n.data.value/K*100).toFixed(0)+"%").attr("transform",(n)=>"translate("+I.centroid(n)+")").style("text-anchor","middle").attr("class","slice");let ht=v.append("text").text(g.getDiagramTitle()).attr("x",0).attr("y",-(m-50)/2).attr("class","pieTitleText"),j=[...Z.entries()].map(([n,d])=>({label:n,value:d})),O=v.selectAll(".legend").data(j).enter().append("g").attr("class","legend");O.append("rect").attr("width",i).attr("height",i).style("fill",(n)=>Y(n.label)).style("stroke",(n)=>Y(n.label)),O.append("text").attr("x",i+u).attr("y",i-u).text((n)=>{if(g.getShowData())return`${n.label} [${n.value}]`;return n.label});let G=Math.max(...O.selectAll("text").nodes().map((n)=>n?.getBoundingClientRect().width??0)),q=m,tt=k+r,f=i+u,et=j.length*f;switch(B){case"center":O.attr("transform",(n,d)=>{let y=f*j.length/2,w=-G/2-(i+u),D=d*f-y;return"translate("+w+","+D+")"});break;case"top":q+=et,O.attr("transform",(n,d)=>{let y=p,w=-G/2-(i+u),D=d*f-y;return`translate(${w}, ${D})`}),x.attr("transform",()=>`translate(0, ${et+f})`);break;case"bottom":q+=et,O.attr("transform",(n,d)=>{let y=-p-f,w=-G/2-(i+u),D=d*f-y;return"translate("+w+","+D+")"});break;case"left":tt+=i+u+G,O.attr("transform",(n,d)=>{let y=f*j.length/2,w=-p-(i+u),D=d*f-y;return"translate("+w+","+D+")"}),x.attr("transform",()=>`translate(${G+i+u}, 0)`);break;case"right":default:tt+=i+u+G,O.attr("transform",(n,d)=>{let y=f*j.length/2,w=12*i,D=d*f-y;return"translate("+w+","+D+")"});break}let st=ht.node()?.getBoundingClientRect().width??0,mt=k/2-st/2,vt=k/2+st/2,ct=Math.min(0,mt),ut=Math.max(tt,vt)-ct;W.attr("viewBox",`${ct} 0 ${ut} ${q}`),F(W,q,ut,s.useMaxWidth)},"draw"),Rt={draw:Mt},Jt={parser:bt,db:dt,renderer:Rt,styles:zt};export{Jt as diagram};
|
package/web/chunk-bcjgzwef.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ar}from"./chunk-n9v14vyd.js";export{ar as createRailroadAbnfServices};
|
package/web/chunk-bra33pt0.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{e,n,y,ve}from"./chunk-3k9h7a73.js";function Pr(a){if(!a.length)return[];return[{label:"项目",options:a.map((l)=>({value:l.id,label:l.name,description:l.directory}))}]}function Or(a){let{Input:l}=y();return n("div",{className:"relative mb-3 min-w-0",children:[e(ve,{"aria-hidden":!0,className:"pointer-events-none absolute top-3 left-3 size-4 text-faint"}),e(l,{type:"search","aria-label":a.label,placeholder:a.placeholder,value:a.value,onChange:(i)=>a.onChange(i.target.value),className:"h-10 min-w-0 pl-9"})]})}function $r(){return e("div",{role:"status","aria-label":"正在加载",className:"divide-y divide-line",children:[0,1,2].map((a)=>n("div",{className:"h-16 space-y-2 px-4 py-3",children:[e("div",{className:"h-3 w-24 animate-pulse rounded bg-raised"}),e("div",{className:"h-3 w-2/3 animate-pulse rounded bg-raised"})]},a))})}
|
|
2
|
-
export{Pr,Or,$r};
|
package/web/chunk-cxpnj495.js
DELETED
package/web/chunk-d94t9z70.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{no,Lo,ro,Io,Do,ao}from"./chunk-d57fm7k0.js";import"./chunk-81s15c2e.js";import"./chunk-3n9ypydh.js";import"./chunk-b5zf1hs3.js";export{Lo as applyDagreLayoutResult,no as getEdgesToRender,Io as measureDagreLayout,ro as prepareLayoutForDagre,ao as render,Do as runDagreLayoutCore};
|
package/web/chunk-de29pe57.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{At}from"./chunk-pzg25qqe.js";export{At as default};
|
package/web/chunk-e68jw0bg.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_i}from"./chunk-gten0rpx.js";export{_i as default};
|
package/web/chunk-fr4fft89.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Qn}from"./chunk-bygwbpvq.js";export{Qn as default};
|
package/web/chunk-gckmcef6.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t,a}from"./chunk-b5zf1hs3.js";import{J,Dt,Mt}from"./chunk-rdr6wt22.js";import{H}from"./chunk-jyf7a7yp.js";import{rr,_t}from"./chunk-n9v14vyd.js";var i=rr().RailroadEbnf.parser.LangiumParser,o=t((e)=>{let r=e.alternatives.map(m);if(r.length===1)return r[0];return{type:"choice",alternatives:r}},"transformChoice"),m=t((e)=>{let r=e.elements.map(p);if(r.length===1)return r[0];return{type:"sequence",elements:r}},"transformSequence"),s=t((e)=>{switch(e.$type){case"EbnfTerminal":return{type:"terminal",value:e.value};case"EbnfNonTerminal":return{type:"nonterminal",name:e.name};case"EbnfSpecial":return{type:"special",text:e.text};case"EbnfGroup":return o(e.element);case"EbnfOptional":return{type:"optional",element:o(e.element)};case"EbnfRepetition":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported EBNF primary node: ${e.$type}`)}},"transformPrimary"),l=t((e,r)=>{switch(r.$type){case"EbnfOptionalPostfix":return{type:"optional",element:e};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:e,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:e,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[e,{type:"terminal",value:"-"},s(r.except)]};default:throw Error(`Unsupported EBNF postfix node: ${r.$type}`)}},"transformPostfix"),p=t((e)=>e.postfixes.reduce((r,n)=>l(r,n),s(e.base)),"transformTerm"),f=t((e)=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=t((e)=>{if(H(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(f(r)))},"populateDb"),c={parse:t((e)=>{J.clear(),a.debug("[EBNF Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let n=r.value;a.debug("[EBNF Parser] Parsed rules:",n.rules.length),u(n),a.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:J}},x={parser:c,db:J,renderer:Mt,styles:Dt};export{x as diagram};
|
package/web/chunk-gnb09wmx.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"./chunk-b5zf1hs3.js";import"./chunk-2jfesv7m.js";import{Mo}from"./chunk-hqxc9m07.js";import"./chunk-h754ntg7.js";import"./chunk-r4zbw4zj.js";import"./chunk-7v85yvb2.js";import"./chunk-qdd3bx8q.js";export{Mo as diagram};
|
package/web/chunk-gx340asc.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ut}from"./chunk-k0cg4n2k.js";export{ut as default};
|
package/web/chunk-hrgqc1vr.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{li}from"./chunk-aa46mrgh.js";export{li as default};
|
package/web/chunk-j9c8fa82.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Kn}from"./chunk-td83xf12.js";export{Kn as default};
|
package/web/chunk-jz5mmp64.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g,o,i,r,f,e,n,y,s,te,st,Te,ce,ne,je,Ke,ee,Z}from"./chunk-3k9h7a73.js";import{Pr,Or,$r}from"./chunk-bra33pt0.js";var ke=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],ye=s("rotate-cw",ke);function Ce(t){let m=[],h="",S,v=!1;for(let p=0;p<t.length;p++){let c=t.charAt(p);if(S)if(c===S)S=void 0;else if(c==="\\"&&S==='"'&&p+1<t.length)h+=t[++p];else h+=c;else if(c==='"'||c==="'")S=c,v=!0;else if(c==="\\"&&p+1<t.length)h+=t[++p],v=!0;else if(/\s/.test(c)){if(v||h)m.push(h);h="",v=!1}else h+=c,v=!0}if(v||h)m.push(h);return m}function fe(t){return t.map((m)=>m===""||/[\s"'\\]/.test(m)?`"${m.replace(/(["\\])/g,"\\$1")}"`:m).join(" ")}var $e={connected:{label:"已连接",dot:"bg-success"},idle:{label:"待连接",dot:"bg-faint"},disabled:{label:"已停用",dot:"bg-faint"},failed:{label:"连接失败",dot:"bg-danger"},needs_auth:{label:"需要认证",dot:"bg-warning"}};function ge(t){if(t==="project")return"项目";if(t==="file")return".mcp.json";return"全局"}function pe(t){return t.type==="local"?fe(t.command):t.url}function he({info:t,tools:m=!1}){let h=$e[t.status.status];return n("span",{className:"inline-flex shrink-0 items-center gap-1.5 text-xs text-dim",children:[e("span",{"aria-hidden":!0,className:`size-1.5 shrink-0 rounded-full ${h.dot}`}),e("span",{className:m?void 0:"hidden @md/panel:inline",children:h.label}),m&&t.status.status==="connected"&&n("span",{className:"text-faint",children:[t.toolCount," 个工具"]})]})}function xe(t){let{Button:m,CopyButton:h,DetailChip:S,DetailList:v,DetailRow:p,DetailTitle:c,Dialog:D,Switch:M,Tooltip:V,cn:d,confirm:X,useTheme:I}=y();I();let{info:u,connection:E}=t,k=t.projectID?`?projectID=${encodeURIComponent(t.projectID)}`:"",[B,Y]=r(),[re,F]=r(),[T,P]=r(!1),J=u.status.status==="connected",j=u.status.status==="needs_auth",U=u.status.status==="failed",L=u.config.type==="remote"&&Boolean(u.config.oauth),R=u.scope==="file";o(()=>{function l(N){if(N&&N!==u.name)return;E.request(`/api/mcp/${encodeURIComponent(u.name)}/connect${k}`,{method:"POST"}).then((ie)=>t.onChanged(ie)).catch(()=>{})}function se(N){if(N.data?.type==="mcp-oauth-success")l(N.data.name)}function de(N){if(N.key==="basalt-mcp-oauth-event"&&N.newValue)try{let ie=JSON.parse(N.newValue);l(ie.name)}catch(ie){}}window.addEventListener("message",se),window.addEventListener("storage",de);let q;if("BroadcastChannel"in window)q=new BroadcastChannel("basalt-mcp-oauth"),q.onmessage=(N)=>{if(N.data?.type==="mcp-oauth-success")l(N.data.name)};return()=>{window.removeEventListener("message",se),window.removeEventListener("storage",de),q?.close()}},[E,u.name,k,t]),o(()=>{if(u.status.status!=="connected")return;E.request(`/api/mcp/${encodeURIComponent(u.name)}/tools${k}`).then((l)=>{if(Array.isArray(l))Y(l),F(void 0)}).catch((l)=>{F(l instanceof Error?l.message:"获取工具失败")})},[E,u.name,k,u.status.status]);async function ae(l){P(!0);try{let se=await E.request(`/api/mcp/${encodeURIComponent(u.name)}/${l}${k}`,{method:"POST"});t.onChanged(se)}catch{}finally{P(!1)}}async function oe(){P(!0);try{let l=u.status.status==="needs_auth"?u.status.authorizationUrl:void 0;if(!l)l=(await E.request(`/api/mcp/${encodeURIComponent(u.name)}/oauth/authorize${k}`,{method:"POST"})).authorizationUrl;if(l)window.open(l,"_blank","width=600,height=700")}catch(l){F(l instanceof Error?l.message:"获取授权链接失败")}finally{P(!1)}}async function _(){P(!0);try{let l=await E.request(`/api/mcp/${encodeURIComponent(u.name)}/oauth/clear${k}`,{method:"POST"});t.onChanged(l)}finally{P(!1)}}async function a(){if(!await X({title:`删除 ${u.name}?`,description:"删除后将断开连接并不再向会话提供其工具。",action:"删除",danger:!0}))return;P(!0);try{await E.request(`/api/mcp/${encodeURIComponent(u.name)}${k}`,{method:"DELETE"}),t.onChanged(),t.onClose()}finally{P(!1)}}let C=u.config,x=pe(C),W="error"in u.status?u.status.error:void 0,z=C.enabled===!1,le=!z&&!j;return e(D,{open:!0,onOpenChange:(l)=>{if(!l&&!T)t.onClose()},title:e(c,{icon:C.type==="local"?e(Ke,{}):e(Te,{}),name:u.name,meta:[C.type==="local"?"本地命令":"远程服务",ge(u.scope),L&&"OAuth 2.0"]}),size:"lg",footer:n("div",{className:"flex w-full items-center justify-between gap-2 max-sm:[&>*]:flex-none",children:[n("div",{className:"inline-flex items-center gap-2.5 text-[13px] text-dim",children:[!R&&e(M,{label:`启用 ${u.name}`,checked:!z,disabled:T||t.toggling,onCheckedChange:t.onToggle}),e(he,{info:u,tools:!0})]}),n("div",{className:"flex items-center gap-1.5",children:[L&&e(m,{type:"button",variant:"ghost",size:"sm",onClick:_,disabled:T,children:"清除凭据"}),!R&&e(V,{label:"删除服务器",children:e(m,{type:"button",variant:"danger-ghost",size:"icon","aria-label":"删除服务器",onClick:a,disabled:T,children:e(ee,{className:"size-4"})})}),le&&e(V,{label:"终止服务进程并重新启动,让更新后的代码生效",children:e(m,{type:"button",variant:"ghost",size:"icon","aria-label":"重启",onClick:()=>ae("restart"),disabled:T,children:e(ye,{className:d("size-4",T&&"animate-spin")})})}),le&&e(m,{type:"button",size:"sm",onClick:()=>ae(J?"disconnect":"connect"),disabled:T,children:J?"断开连接":"连接"}),!R&&n(m,{type:"button",size:"sm",onClick:t.onEdit,disabled:T,children:[e(je,{className:"size-3.5"}),e("span",{children:"编辑配置"})]})]})]}),children:n(v,{children:[n(p,{label:C.type==="local"?"命令":"地址",children:[e("span",{className:"min-w-0 font-mono text-[12px] text-dim leading-5.5 [overflow-wrap:anywhere]",children:x}),e(h,{text:x,label:"复制",size:"icon-xs",className:"shrink-0 text-faint hover:text-ink"})]}),j&&n(p,{label:"授权",children:[e("span",{className:"text-dim leading-7",children:"需要完成 OAuth 授权后才能使用,令牌会自动保存。"}),e(m,{type:"button",variant:"primary",size:"sm",onClick:oe,disabled:T,children:"前往授权"})]}),U&&e(p,{label:"错误",children:e("p",{className:"min-w-0 font-mono text-[11.5px] text-danger leading-5 [overflow-wrap:anywhere]",children:W})}),e(p,{label:"工具",children:re?e("span",{className:"text-danger",children:re}):!J?e("span",{className:"text-faint",children:"连接后列出工具"}):!B?e("span",{role:"status",className:"text-faint",children:"正在获取"}):B.length===0?e("span",{className:"text-faint",children:"服务器没有声明任何工具"}):B.map((l)=>e(S,{mono:!0,title:l.description,children:l.name},l.name))})]})})}var Pe=/^[A-Za-z0-9_-]{1,64}$/;function K(t){return e("span",{className:"truncate text-xs text-faint",children:t.children})}function Ne(t){let{pairs:m,onChange:h,InputComponent:S}=t,v=(p,c)=>h(m.map((D,M)=>M===p?{...D,...c}:D));return n("div",{className:"space-y-2",children:[n("div",{className:"flex min-h-7 items-center gap-2",children:[e("span",{className:"shrink-0 text-[13px] font-medium text-dim",children:t.label}),e(K,{children:t.tip}),n("button",{type:"button",className:"ml-auto inline-flex h-7 shrink-0 cursor-pointer items-center gap-1 rounded-lg px-2 text-xs font-medium text-dim transition-colors hover:bg-raised hover:text-ink",onClick:()=>h([...m,{key:"",value:"",saved:!1}]),children:[e(ce,{className:"size-3.5"}),"添加"]})]}),m.map((p,c)=>n("div",{className:"flex min-w-0 items-center gap-1.5",children:[e(S,{"aria-label":`${t.keyLabel} ${c+1}`,placeholder:t.keyLabel,value:p.key,readOnly:p.saved,onChange:(D)=>v(c,{key:D.target.value}),className:"min-w-0 flex-[2] font-mono text-xs"}),e(S,{"aria-label":`${t.keyLabel} ${p.key||c+1} 的值`,type:"password",autoComplete:"off",placeholder:p.saved?"已保存,留空保持不变":"值",value:p.value,onChange:(D)=>v(c,{value:D.target.value}),className:"min-w-0 flex-[3] font-mono text-xs"}),e("button",{type:"button","aria-label":`删除 ${p.key||"该项"}`,className:"flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-lg text-faint transition-colors hover:bg-danger/10 hover:text-danger",onClick:()=>h(m.filter((D,M)=>M!==c)),children:e(Z,{className:"size-4"})})]},c))]})}function we(t){return Object.keys(t??{}).map((m)=>({key:m,value:"",saved:!0}))}function Ie(t){let{Button:m,Segmented:h,Dialog:S,Form:v,Field:p,Input:c,Switch:D,style:M,useTheme:V}=y();V();let{existing:d}=t,[X,I]=r(d?.config.type??"local"),[u,E]=r(d?.name??""),[k,B]=r(d?.config.type==="local"?fe(d.config.command):""),[Y,re]=r(d?.config.type==="remote"?d.config.url:""),[F,T]=r(we(d?.config.type==="local"?d.config.environment:void 0)),[P,J]=r(we(d?.config.type==="remote"?d.config.headers:void 0)),j=d?.config.type==="remote"?d.config.oauth:void 0,[U,L]=r(Boolean(j)),[R,ae]=r(typeof j==="object"&&j.clientId?j.clientId:""),[oe,_]=r(""),[a,C]=r(typeof j==="object"&&j.scope?j.scope:""),[x,W]=r(d?.config.defer??"default"),[z,le]=r(d?.config.timeout!==void 0?String(d.config.timeout):""),[l,se]=r(d?.config.defer!==void 0||d?.config.timeout!==void 0),[de,q]=r(),[N,ie]=r(!1);async function Se(b){b.preventDefault(),q(void 0);let w=u.trim();if(!d&&!Pe.test(w)){q("名称只能包含英文字母、数字、下划线与中划线,长度 1-64");return}if(!d&&t.taken.includes(w)){q("同名服务器已存在");return}let ue=z.trim()?Number.parseInt(z.trim(),10):void 0;if(ue!==void 0&&(!Number.isFinite(ue)||ue<=0)){q("超时时间须为大于 0 的毫秒数");return}let be;if(X==="local"){let H=Ce(k.trim());if(!H.length){q("请输入启动命令");return}let G={};for(let A of F){let O=A.key.trim();if(!O)continue;if(!A.saved||A.value)G[O]=A.value}be={type:"local",command:H,environment:Object.keys(G).length?G:void 0,enabled:d?d.config.enabled:!0,defer:x==="default"?void 0:x,timeout:ue}}else{let H=Y.trim();try{let O=new URL(H);if(O.protocol!=="http:"&&O.protocol!=="https:")throw Error("bad protocol")}catch{q("请输入合法的 HTTP 或 HTTPS 地址");return}let G={};for(let O of P){let me=O.key.trim();if(!me)continue;if(!O.saved||O.value)G[me]=O.value}let A;if(U){let O=R.trim(),me=oe.trim(),ve=a.trim();if(O||me||ve)A={clientId:O||void 0,clientSecret:me||void 0,scope:ve||void 0};else A=!0}else A=!1;be={type:"remote",url:H,headers:Object.keys(G).length?G:void 0,oauth:A,enabled:d?d.config.enabled:!0,defer:x==="default"?void 0:x,timeout:ue}}ie(!0);try{let H=d?.name??w,G=d?d.projectID:t.projectID,A=G?`?projectID=${encodeURIComponent(G)}`:"";await t.connection.request(`/api/mcp/${encodeURIComponent(H)}${A}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(be)}),t.onSaved()}catch(H){q(H instanceof Error?H.message:"保存失败")}finally{ie(!1)}}return e(S,{open:!0,onOpenChange:(b)=>{if(!b&&!N)t.onClose()},title:d?`编辑 ${d.name}`:"添加 MCP 服务器",size:"lg",footer:n("div",{className:"flex w-full justify-end gap-2.5",children:[e(m,{type:"button",variant:"ghost",onClick:t.onClose,disabled:N,className:"min-w-20",children:"取消"}),e(m,{type:"submit",form:"mcp-server-form",variant:"primary",disabled:N,className:"min-w-24",children:N?"保存中...":"保存"})]}),children:n(v,{id:"mcp-server-form",onSubmit:Se,children:[e(h,{value:X,onChange:(b)=>I(b),className:"w-full [&>button]:flex-1",options:[{value:"local",label:"本地(标准输入输出)"},{value:"remote",label:"远程(HTTP / SSE)"}]}),!d&&e(p,{label:"名称",aside:e(K,{children:"唯一标识,如 postgres"}),children:(b)=>e(c,{id:b,value:u,onChange:(w)=>E(w.target.value),placeholder:"postgres",className:"font-mono text-xs"})}),X==="local"?n(f,{children:[e(p,{label:"启动命令",aside:e(K,{children:"完整命令及参数"}),children:(b)=>e(c,{id:b,value:k,onChange:(w)=>B(w.target.value),placeholder:"npx -y @modelcontextprotocol/server-postgres ...",className:"font-mono text-xs"})}),e(Ne,{label:"环境变量",tip:"启动进程时注入",keyLabel:"变量名",pairs:F,onChange:T,InputComponent:c})]}):n(f,{children:[e(p,{label:"服务地址",aside:e(K,{children:"HTTP / HTTPS 端点"}),children:(b)=>e(c,{id:b,value:Y,onChange:(w)=>re(w.target.value),placeholder:"https://example.com/mcp",className:"font-mono text-xs"})}),e(Ne,{label:"请求头",tip:"随每次请求发送",keyLabel:"头字段",pairs:P,onChange:J,InputComponent:c}),n("div",{className:"flex items-center justify-between gap-4",children:[n("div",{className:"min-w-0",children:[e("span",{className:"block text-[13px] font-medium text-dim",children:"OAuth 2.0 认证"}),e("span",{className:"block truncate text-xs text-faint",children:"自动发现授权端点,使用 PKCE 并刷新令牌"})]}),e(D,{checked:U,onCheckedChange:L,label:"启用 OAuth 2.0"})]}),U&&n(f,{children:[e(p,{label:"Client ID",aside:e(K,{children:"留空自动动态注册(DCR)"}),children:(b)=>e(c,{id:b,value:R,onChange:(w)=>ae(w.target.value),placeholder:"留空自动动态注册",className:"font-mono text-xs"})}),e(p,{label:"Client Secret",aside:e(K,{children:"留空保持不变"}),children:(b)=>e(c,{id:b,type:"password",autoComplete:"off",value:oe,onChange:(w)=>_(w.target.value),placeholder:"••••••••",className:"font-mono text-xs"})}),e(p,{label:"Scope",aside:e(K,{children:"选填授权范围"}),children:(b)=>e(c,{id:b,value:a,onChange:(w)=>C(w.target.value),placeholder:"repo read:org",className:"font-mono text-xs"})})]})]}),n("div",{className:"space-y-3 border-t border-line/60 pt-3",children:[n("button",{type:"button","aria-expanded":l,className:"flex w-full cursor-pointer items-center gap-1.5 text-[13px] font-medium text-dim transition-colors hover:text-ink",onClick:()=>se(!l),children:[e(st,{className:`size-3.5 transition-transform ${l?"rotate-90":""}`}),"高级设置",e("span",{className:"truncate text-xs font-normal text-faint",children:"加载时机、超时"})]}),l&&n("div",{className:"grid grid-cols-2 gap-3 max-sm:grid-cols-1",children:[e(p,{label:"加载时机",aside:e(K,{children:"延迟 = 按需加载"}),children:()=>e(h,{value:x,onChange:(b)=>W(b),className:"w-full [&>button]:flex-1",options:[{value:"default",label:"默认"},{value:"defer",label:"延迟"},{value:"always",label:"常驻"}]})}),e(p,{label:"超时(毫秒)",aside:e(K,{children:"留空用默认"}),children:(b)=>e(c,{id:b,value:z,onChange:(w)=>le(w.target.value),placeholder:"默认",className:"font-mono text-xs"})})]})]}),de&&n("div",{role:"alert",className:M("callout.base",M("callout.danger"),"px-3 py-2.5 text-xs"),children:[e(te,{className:"mt-0.5 size-3.5 shrink-0"}),e("span",{className:"min-w-0 break-words",children:de})]})]})})}var Q="global";function at({connection:t}){let{Button:m,Select:h,CatalogRow:S,style:v,useTheme:p}=y();p();let[c,D]=r(""),[M,V]=r(),[d,X]=r([]),[I,u]=r(Q),[E,k]=r(),[B,Y]=r(!1),[re,F]=r(),[T,P]=r(!1),J=i(!1),[j,U]=r(),L=i(0),R=g(async()=>{let a=++L.current;Y(!0);try{let C=I===Q?"":`?projectID=${encodeURIComponent(I)}`,[x,W]=await Promise.all([t.request(`/api/mcp${C}`),t.request("/api/mcp/projects")]);if(a!==L.current)return;if(V(x),X(W),I!==Q&&!W.some((z)=>z.id===I))u(Q);k(void 0)}catch(C){if(a===L.current)k(C instanceof Error?C.message:"读取失败")}finally{if(a===L.current)Y(!1)}},[t,I]);o(()=>(R(),()=>{L.current++}),[R]);async function ae(a,C){if(J.current)return;J.current=!0,P(!0);let x=L.current;try{let W=a.projectID?`?projectID=${encodeURIComponent(a.projectID)}`:"",z=await t.request(`/api/mcp/${encodeURIComponent(a.name)}${W}`,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify({...a.config,enabled:C})});if(x===L.current)V((le)=>le?.map((l)=>l.name===z.name&&l.projectID===z.projectID?z:l))}finally{J.current=!1,P(!1)}}let oe=M?.filter((a)=>`${a.name} ${pe(a.config)}`.toLowerCase().includes(c.trim().toLowerCase())),_=M?.find((a)=>a.name===re);return n("div",{className:"min-w-0 space-y-6",children:[n("section",{className:"min-w-0",children:[n("div",{className:"mb-2.5 flex flex-wrap items-end justify-between gap-3 px-0.5",children:[n("div",{className:"min-w-0 flex-1 basis-48",children:[e("h2",{className:v("settings.groupTitle"),children:"MCP 服务器"}),e("p",{className:v("settings.groupDesc"),children:"外部工具与数据源管理"})]}),n("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[e(h,{value:I,disabled:B,onValueChange:(a)=>{F(void 0),U(void 0),V(void 0),u(a)},groups:[{options:[{value:Q,label:"全局"}]},...Pr(d)],className:"w-44"}),e(m,{variant:"ghost",disabled:B,onClick:R,className:"h-9 px-2.5 text-xs",children:e(ne,{className:`size-3.5 ${B?"animate-spin":""}`})}),n(m,{variant:"secondary",onClick:()=>U({}),className:"h-9 px-2.5 text-xs",children:[e(ce,{className:"size-3.5 mr-1"}),"添加服务器"]})]})]}),E&&n("div",{role:"alert",className:v("callout.base",v("callout.danger"),"mb-3 flex-wrap items-center justify-between"),children:[n("p",{className:"min-w-0 flex-1 break-words text-sm text-danger",children:["无法读取 MCP 服务器:",E]}),e(m,{disabled:B,onClick:R,children:"重试"})]}),e(Or,{label:"搜索 MCP 服务器",placeholder:"搜索服务器",value:c,onChange:D}),e("div",{className:v("settings.groupBox"),children:!M?e($r,{}):oe?.length===0?e("p",{className:"p-4 text-sm text-dim",children:"没有匹配的 MCP 服务器"}):e("ul",{className:"divide-y divide-line",children:oe?.map((a)=>{let C=a.config.enabled===!1,x=a.scope==="file";return e("li",{children:e(S,{name:a.name,selectLabel:`查看 ${a.name}`,onSelect:()=>F(a.name),title:x?"来自项目的 .mcp.json,配置只读,可查看工具与重启":void 0,description:e("span",{className:"font-mono text-[11px]",children:pe(a.config)}),icon:a.config.type==="local"?e(Ke,{}):e(Te,{}),inactive:C,aside:n(f,{children:[e("span",{className:v("control.badge"),children:ge(a.scope)}),e(he,{info:a})]}),toggle:x?void 0:{checked:!C,label:`启用服务器 ${a.name}`,disabled:T||B,onCheckedChange:(W)=>ae(a,W)}})},a.name)})})})]}),_&&!j&&e(xe,{connection:t,info:_,toggling:T,onToggle:(a)=>ae(_,a),projectID:I===Q?void 0:I,onClose:()=>F(void 0),onEdit:()=>U({info:_}),onChanged:(a)=>a?V((C)=>C?.map((x)=>x.name===a.name?a:x)):R()},`${_.projectID}:${_.name}`),j&&e(Ie,{connection:t,projectID:I===Q?void 0:I,existing:j.info,taken:(M??[]).filter((a)=>a.scope===(I===Q?"global":"project")).map((a)=>a.name),onClose:()=>U(void 0),onSaved:()=>{U(void 0),R()}})]})}export{at as McpSection};
|
package/web/chunk-kxeaj44h.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ci}from"./chunk-xbyrgyy0.js";export{ci as default};
|
package/web/chunk-m0136xav.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ii}from"./chunk-n9v14vyd.js";export{Ii as createArchitectureServices};
|
package/web/chunk-m1rdyvb5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{yi}from"./chunk-fj753yzt.js";export{yi as default};
|
package/web/chunk-m6vyvgm5.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ai}from"./chunk-n9v14vyd.js";export{Ai as createPacketServices};
|
package/web/chunk-mxkbmgcv.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{g,o,r,e,n,y,te}from"./chunk-3k9h7a73.js";import{ea}from"./chunk-cxpnj495.js";function qt(t){let{Button:i,SettingActions:l,cn:d}=y();return n(l,{children:[t.notice&&n("span",{role:t.notice.type==="error"?"alert":"status",className:d("mr-auto flex min-w-0 items-center gap-1.5 text-xs",t.notice.type==="success"?"text-success":"text-danger"),children:[t.notice.type==="success"?e(ea,{className:"size-3.5 shrink-0"}):e(te,{className:"size-3.5 shrink-0"}),e("span",{className:"min-w-0 break-words",children:t.notice.text})]}),t.dirty&&e(i,{type:"button",variant:"ghost",size:"sm",disabled:t.busy,onClick:t.onReset,children:"撤销更改"}),e(i,{form:t.formID,type:"submit",variant:"primary",size:"sm",disabled:t.busy||!t.dirty,children:t.saving?"保存中…":"保存"})]})}function Mn(t){let{connection:i,endpoint:l,loadError:d}=t,[m,b]=r(null),[c,f]=r(null),[N,P]=r({models:[]}),[p,T]=r(!0),[M,v]=r(!1),[h,x]=r(!1),[k,a]=r(null),S=g(async(u=!1)=>{if(u)v(!0);else T(!0);a(null);try{let[s,C]=await Promise.all([i.request(l),i.request("/api/models")]);b(s),f(s),P(C)}catch(s){a({type:"error",text:s instanceof Error?s.message:d})}finally{T(!1),v(!1)}},[i,l,d]);o(()=>{S()},[S]);let w=c&&m?t.differs(c,m):!1;return{settings:c,modelList:N,loading:p,refreshing:M,saving:h,notice:k,dirty:w,load:S,save:async(u)=>{if(u?.preventDefault(),!c||h||p)return;x(!0),a(null);try{let s=await i.request(l,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.toBody(c))});b(s),f(s),a({type:"success",text:"设置已保存"})}catch(s){a({type:"error",text:s instanceof Error?s.message:"保存设置失败"})}finally{x(!1)}},reset:()=>{f(m),a(null)},edit:(u)=>{f((s)=>s?u(s):null),a(null)}}}
|
|
2
|
-
export{qt,Mn};
|
package/web/chunk-my0ec787.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t,a}from"./chunk-b5zf1hs3.js";import{J,Dt,Mt}from"./chunk-rdr6wt22.js";import{H}from"./chunk-jyf7a7yp.js";import{ar,_t}from"./chunk-n9v14vyd.js";var l=ar().RailroadAbnf.parser.LangiumParser,s=t((e)=>{let r=e.alternatives.map(p);if(r.length===1)return r[0];return{type:"choice",alternatives:r}},"transformAlternation"),p=t((e)=>{let r=e.elements.map(f);if(r.length===1)return r[0];return{type:"sequence",elements:r}},"transformConcatenation"),u=t((e)=>{if(e.includes("*")){let[n,o]=e.split("*"),i=n?parseInt(n,10):0,m=o?parseInt(o,10):1/0;return{min:i,max:m}}let r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),f=t((e)=>{let r=c(e.primary);if(!e.repeat)return r;let{min:n,max:o}=u(e.repeat);if(n===0&&o===1)return{type:"optional",element:r};return{type:"repetition",element:r,min:n,max:o}},"transformElement"),c=t((e)=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return s(e.element);case"AbnfOptionalGroup":return{type:"optional",element:s(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),d=t((e)=>({name:e.name,definition:s(e.definition)}),"transformRule"),v=t((e)=>{if(H(e,J),e.title)J.setTitle(e.title);e.rules.map((r)=>J.addRule(d(r)))},"populateDb"),g={parse:t((e)=>{J.clear(),a.debug("[ABNF Parser] Starting Langium parse");let r=l.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new _t(r);let n=r.value;a.debug("[ABNF Parser] Parsed rules:",n.rules.length),v(n),a.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:J}},E={parser:g,db:J,renderer:Mt,styles:Dt};export{E as diagram};
|
package/web/chunk-mzzaet63.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{dn}from"./chunk-qh62nkem.js";export{dn as default};
|
package/web/chunk-nkpdd9hw.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{bi}from"./chunk-6jb2zyp6.js";export{bi as default};
|
package/web/chunk-ny436sqg.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g,o,i,r,f,e,n,y,nn,ne}from"./chunk-3k9h7a73.js";import{Pr,Or,$r}from"./chunk-bra33pt0.js";var ee={global:"全局",project:"项目",custom:"自定义",builtin:"内置"};function F({skill:s,issue:b,connection:v}){let{Button:E,CopyButton:j,style:m,useTheme:R}=y();R();let[l,k]=r(),[L,P]=r(),[d,O]=r(0);return o(()=>{let p=!0;P(void 0),k(void 0);let S=new URLSearchParams;if(s.projectID)S.set("projectID",s.projectID);if(s.location)S.set("location",s.location);let N=S.toString()?`?${S.toString()}`:"";return Promise.all([v.request(`/api/skills/${encodeURIComponent(s.name)}/content${N}`),v.request(`/api/skills/${encodeURIComponent(s.name)}/files${N}`)]).then(([x,D])=>{if(p)k({text:x.text,files:D.files})}).catch((x)=>{if(p)P(x instanceof Error?x.message:"读取失败")}),()=>{p=!1}},[v,s.name,s.projectID,s.location,d]),n("div",{className:"min-w-0 space-y-5 text-sm text-ink",children:[e("p",{className:"whitespace-pre-wrap break-words [overflow-wrap:anywhere] text-dim",children:s.description||"暂无描述"}),n("div",{children:[n("p",{className:"break-all text-xs text-dim",children:[ee[s.scope],s.projectName?` · ${s.projectName}`:""]}),n("div",{className:"mt-1 flex min-w-0 items-center gap-2",children:[e("code",{className:m("markdown.inlineCode","min-w-0 flex-1 break-all text-xs"),children:s.location}),e(j,{text:s.location,label:"复制完整路径",className:"size-10"})]})]}),n("ul",{className:"space-y-1 break-words text-xs text-dim",children:[e("li",{children:"启用状态按名称生效,影响所有同名技能的新会话可用性。"}),s.disableModelInvocation&&e("li",{children:"仅手动:可由用户调用,不向模型自动提供。"}),s.platforms&&n("li",{children:["平台限制:",s.platforms.join("、")]}),s.disabled&&e("li",{children:"已禁用:不会提供给新会话。"}),b?.overriddenBy&&n("li",{className:"break-all",children:["被覆盖:同名技能优先使用 ",b.overriddenBy]})]}),s.commands?.length?n("div",{children:[e("h3",{className:"font-medium",children:"bin 命令"}),e("p",{className:"mt-1 text-xs text-dim",children:"技能目录中的可执行命令。"}),e("ul",{className:"mt-2 space-y-1 font-mono text-xs",children:s.commands.map((p)=>e("li",{className:"break-all",children:p},p))})]}):null,L?n("div",{role:"alert",className:"space-y-2",children:[n("p",{className:"break-words text-danger",children:["读取失败:",L]}),e(E,{className:"h-10",onClick:()=>O(d+1),children:"重试"})]}):!l?e("p",{role:"status",className:"text-dim",children:"正在读取文件…"}):n(f,{children:[n("section",{children:[n("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[e("h3",{className:"font-medium",children:"SKILL.md 原文"}),e(j,{text:l.text,label:"复制 SKILL.md 原文",className:"size-10"})]}),n("p",{className:"mb-2 text-xs text-faint",children:[l.text.length.toLocaleString()," 字符 · 约 ",Math.ceil(l.text.length/4).toLocaleString()," ","tokens(估算)"]}),e("pre",{className:m("surface.subtle",m("chat.toolOutput"),"rounded-lg bg-raised p-3 text-xs leading-5 break-all"),children:l.text})]}),n("section",{children:[n("h3",{className:"font-medium",children:["目录文件 · ",l.files.length,l.files.length===200?"(最多显示 200 个)":""]}),e("ul",{className:"mt-2 space-y-1 font-mono text-xs text-dim",children:l.files.map((p)=>e("li",{className:"break-all",children:p},p))})]})]})]})}var A="all",G="non-project";function me({connection:s}){let{Button:b,Select:v,Dialog:E,CatalogRow:j,style:m,useTheme:R}=y();R();let[l,k]=r([]),[L,P]=r([]),[d,O]=r(A),[p,S]=r([]),[N,x]=r(),[D,H]=r(""),[w,B]=r(),[h,q]=r(!0),[K,z]=r(),[W,Q]=r(),u=i(0),I=i(!1),C=g(async(t=!1)=>{let c=++u.current;I.current=!0,q(!0);try{if(t)await s.request("/api/skills/rescan",{method:"POST"});let[a,U,T]=await Promise.all([s.request("/api/skills?all=true"),s.request("/api/skills/settings"),s.request("/api/projects")]);if(c!==u.current)return;k(a.skills),P(T),S(a.issues),x(U),Q(new Date),z(void 0)}catch(a){if(c===u.current)z(a instanceof Error?a.message:"读取失败")}finally{if(c===u.current)I.current=!1,q(!1)}},[s]);o(()=>(C(),()=>{u.current++}),[C]);async function V(t){if(I.current)return;I.current=!0;let c=++u.current;q(!0);try{let a=await s.request("/api/skills/settings",{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(c!==u.current)return;x(a),await C()}catch(a){if(c!==u.current)return;z(a instanceof Error?a.message:"保存设置失败"),I.current=!1,q(!1)}}let X=D.trim().toLocaleLowerCase(),J=d===A?l:l.filter((t)=>{if(t.scope!=="project")return!0;return d!==G&&t.projectID===d}),M=J.filter((t)=>`${t.name} ${t.description??""}`.toLocaleLowerCase().includes(X)),_=(t)=>p.find((c)=>c.kind==="overridden"&&(c.path==="<built-in>"?t.scope==="builtin":c.path.replace(/\\/g,"/")===`${t.location.replace(/\\/g,"/")}/SKILL.md`));return n("div",{className:"min-w-0 space-y-6",children:[n("section",{className:"min-w-0",children:[n("div",{className:"mb-2.5 flex flex-wrap items-end justify-between gap-3 px-0.5",children:[n("div",{className:"min-w-0 flex-1 basis-48",children:[e("h2",{className:m("settings.groupTitle"),children:"技能"}),e("p",{"aria-live":"polite",className:m("settings.groupDesc"),children:W&&`找到 ${J.length} 个 · ${W.toLocaleTimeString("zh-CN",{hour12:!1})}`})]}),n("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[e(v,{value:d,disabled:h,onValueChange:(t)=>{B(void 0),O(t)},groups:[{options:[{value:A,label:"全部来源"},{value:G,label:"非项目技能"}]},...Pr(L)],className:"w-44"}),n(b,{variant:"ghost",disabled:h,onClick:()=>C(!0),className:"h-9 px-2.5 text-xs",children:[e(ne,{className:`size-3.5 ${h?"animate-spin":""}`}),e("span",{className:"ml-1",children:"重新扫描"})]})]})]}),K&&n("div",{role:"alert",className:"mb-3 flex flex-wrap items-center gap-2 rounded-xl border border-line p-3",children:[n("p",{className:"min-w-0 flex-1 break-words text-sm text-danger",children:["无法更新技能:",K]}),e(b,{disabled:h,onClick:()=>C(),children:"重试"})]}),e(Or,{label:"搜索技能",placeholder:"搜索技能",value:D,onChange:H}),e("div",{className:m("settings.groupBox"),children:h&&!l.length?e($r,{}):M.length===0?e("p",{className:"p-4 text-sm text-dim",children:"没有找到匹配的技能"}):e("ul",{className:"divide-y divide-line",children:M.map((t)=>{let c=_(t),a=t.disabled;return e("li",{children:e(j,{name:t.name,selectLabel:`查看技能 ${t.name}`,onSelect:()=>B(t),description:t.description,inactive:a,aside:n(f,{children:[c&&n("span",{className:"flex items-center gap-1 text-xs text-warning",children:[e(nn,{className:"size-3.5"}),"被覆盖"]}),e("span",{className:m("control.badge"),children:t.scope==="project"?"项目":t.scope==="builtin"?"内置":"全局"})]}),toggle:{checked:!a,label:`启用技能 ${t.name}`,disabled:h,onCheckedChange:(U)=>{if(!N)return;let T=N.disabled??[],Y=U?T.filter((Z)=>Z!==t.name):[...T,t.name];V({...N,disabled:Y})}}})},`${t.scope}:${t.projectID??""}:${t.name}`)})})})]}),e(E,{open:Boolean(w),onOpenChange:(t)=>{if(!t)B(void 0)},title:w?.name??"",size:"lg",footer:e("div",{className:"flex w-full justify-end",children:e(b,{variant:"primary",onClick:()=>B(void 0),children:"关闭"})}),children:w&&e(F,{skill:w,issue:_(w),connection:s})})]})}export{me as SkillsSection};
|
package/web/chunk-pbp1p5ex.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{xi}from"./chunk-885kpj14.js";export{xi as default};
|
package/web/chunk-ph75hddv.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ti}from"./chunk-n9v14vyd.js";export{Ti as createGitGraphServices};
|
package/web/chunk-phdfyqaa.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Di}from"./chunk-n9v14vyd.js";export{Di as createEventModelingServices};
|
package/web/chunk-phxa5krt.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ri}from"./chunk-n9v14vyd.js";export{Ri as createPieServices};
|
package/web/chunk-r4zbw4zj.js
DELETED
package/web/chunk-ry4ycah9.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ci}from"./chunk-n9v14vyd.js";export{Ci as createWardleyServices};
|
package/web/chunk-sqm16fat.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ei}from"./chunk-n9v14vyd.js";export{Ei as createInfoServices};
|
package/web/chunk-tj1fn8v2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Xn}from"./chunk-7tkgbbf9.js";export{Xn as default};
|
package/web/chunk-v0wtk059.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import{t,X,vr,u,d,M,x,F,C,S,E,T,A,L,R,p,V,U,m}from"./chunk-b5zf1hs3.js";var fe=(e,s)=>vr(e,"a",-s),wt=fe;function It(e,s){let i=de(e),n=i.filter((c)=>he(c,e)),r=0,o=0,a=[];if(n.length>1){let c=Kt(n);for(let h=0;h<n.length;++h){let l=n[h];l.angle=Math.atan2(l.x-c.x,l.y-c.y)}n.sort((h,l)=>l.angle-h.angle);let g=n[n.length-1];for(let h=0;h<n.length;++h){let l=n[h];o+=(g.x+l.x)*(l.y-g.y);let I={x:(l.x+g.x)/2,y:(l.y+g.y)/2},b=null;for(let z=0;z<l.parentIndex.length;++z)if(g.parentIndex.includes(l.parentIndex[z])){let w=e[l.parentIndex[z]],j=Math.atan2(l.x-w.x,l.y-w.y),G=Math.atan2(g.x-w.x,g.y-w.y),B=G-j;if(B<0)B+=2*Math.PI;let P=G-B/2,v=at(I,{x:w.x+w.radius*Math.sin(P),y:w.y+w.radius*Math.cos(P)});if(v>w.radius*2)v=w.radius*2;if(b==null||b.width>v)b={circle:w,width:v,p1:l,p2:g,large:v>w.radius,sweep:!0}}if(b!=null)a.push(b),r+=Tt(b.circle.radius,b.width),g=l}}else{let c=e[0];for(let h=1;h<e.length;++h)if(e[h].radius<c.radius)c=e[h];let g=!1;for(let h=0;h<e.length;++h)if(at(e[h],c)>Math.abs(c.radius-e[h].radius)){g=!0;break}if(g)r=o=0;else r=c.radius*c.radius*Math.PI,a.push({circle:c,p1:{x:c.x,y:c.y+c.radius},p2:{x:c.x-0.0000000001,y:c.y+c.radius},width:c.radius*2,large:!0,sweep:!0})}if(o/=2,s)s.area=r+o,s.arcArea=r,s.polygonArea=o,s.arcs=a,s.innerPoints=n,s.intersectionPoints=i;return r+o}function he(e,s){return s.every((i)=>at(e,i)<i.radius+0.0000000001)}function de(e){let s=[];for(let i=0;i<e.length;++i)for(let n=i+1;n<e.length;++n){let r=Wt(e[i],e[n]);for(let o of r)o.parentIndex=[i,n],s.push(o)}return s}function Tt(e,s){return e*e*Math.acos(1-s/e)-(e-s)*Math.sqrt(s*(2*e-s))}function at(e,s){return Math.sqrt((e.x-s.x)*(e.x-s.x)+(e.y-s.y)*(e.y-s.y))}function Nt(e,s,i){if(i>=e+s)return 0;if(i<=Math.abs(e-s))return Math.PI*Math.min(e,s)*Math.min(e,s);let n=e-(i*i-s*s+e*e)/(2*i),r=s-(i*i-e*e+s*s)/(2*i);return Tt(e,n)+Tt(s,r)}function Wt(e,s){let i=at(e,s),n=e.radius,r=s.radius;if(i>=n+r||i<=Math.abs(n-r))return[];let o=(n*n-r*r+i*i)/(2*i),a=Math.sqrt(n*n-o*o),c=e.x+o*(s.x-e.x)/i,g=e.y+o*(s.y-e.y)/i,h=-(s.y-e.y)*(a/i),l=-(s.x-e.x)*(a/i);return[{x:c+h,y:g-l},{x:c-h,y:g+l}]}function Kt(e){let s={x:0,y:0};for(let i of e)s.x+=i.x,s.y+=i.y;return s.x/=e.length,s.y/=e.length,s}function ge(e,s,i,n){n=n||{};let r=n.maxIterations||100,o=n.tolerance||0.0000000001,a=e(s),c=e(i),g=i-s;if(a*c>0)throw"Initial bisect points must have opposite signs";if(a===0)return s;if(c===0)return i;for(let h=0;h<r;++h){g/=2;let l=s+g,I=e(l);if(I*a>=0)s=l;if(Math.abs(g)<o||I===0)return l}return s+g}function zt(e){let s=Array(e);for(let i=0;i<e;++i)s[i]=0;return s}function Ut(e,s){return zt(e).map(()=>zt(s))}function mt(e,s){let i=0;for(let n=0;n<e.length;++n)i+=e[n]*s[n];return i}function At(e){return Math.sqrt(mt(e,e))}function Ct(e,s,i){for(let n=0;n<s.length;++n)e[n]=s[n]*i}function xt(e,s,i,n,r){for(let o=0;o<e.length;++o)e[o]=s*i[o]+n*r[o]}function Ht(e,s,i){i=i||{};let n=i.maxIterations||s.length*200,r=i.nonZeroDelta||1.05,o=i.zeroDelta||0.001,a=i.minErrorDelta||0.000001,c=i.minErrorDelta||0.00001,g=i.rho!==void 0?i.rho:1,h=i.chi!==void 0?i.chi:2,l=i.psi!==void 0?i.psi:-0.5,I=i.sigma!==void 0?i.sigma:0.5,b,z=s.length,w=Array(z+1);w[0]=s,w[0].fx=e(s),w[0].id=0;for(let D=0;D<z;++D){let f=s.slice();f[D]=f[D]?f[D]*r:o,w[D+1]=f,w[D+1].fx=e(f),w[D+1].id=D+1}function j(D){for(let f=0;f<D.length;f++)w[z][f]=D[f];w[z].fx=D.fx}let G=(D,f)=>D.fx-f.fx,B=s.slice(),P=s.slice(),v=s.slice(),_=s.slice();for(let D=0;D<n;++D){if(w.sort(G),i.history){let k=w.map((y)=>{let H=y.slice();return H.fx=y.fx,H.id=y.id,H});k.sort((y,H)=>y.id-H.id),i.history.push({x:w[0].slice(),fx:w[0].fx,simplex:k})}b=0;for(let k=0;k<z;++k)b=Math.max(b,Math.abs(w[0][k]-w[1][k]));if(Math.abs(w[0].fx-w[z].fx)<a&&b<c)break;for(let k=0;k<z;++k){B[k]=0;for(let y=0;y<z;++y)B[k]+=w[y][k];B[k]/=z}let f=w[z];if(xt(P,1+g,B,-g,f),P.fx=e(P),P.fx<w[0].fx)if(xt(_,1+h,B,-h,f),_.fx=e(_),_.fx<P.fx)j(_);else j(P);else if(P.fx>=w[z-1].fx){let k=!1;if(P.fx>f.fx)if(xt(v,1+l,B,-l,f),v.fx=e(v),v.fx<f.fx)j(v);else k=!0;else if(xt(v,1-l*g,B,l*g,f),v.fx=e(v),v.fx<P.fx)j(v);else k=!0;if(k){if(I>=1)break;for(let y=1;y<w.length;++y)xt(w[y],1-I,w[0],I,w[y]),w[y].fx=e(w[y])}}else j(P)}return w.sort(G),{fx:w[0].fx,x:w[0]}}function xe(e,s,i,n,r,o,a){let c=i.fx,g=mt(i.fxprime,s),h=c,l=c,I=g,b=0;r=r||1,o=o||0.000001,a=a||0.1;function z(w,j,G){for(let B=0;B<16;++B)if(r=(w+j)/2,xt(n.x,1,i.x,r,s),h=n.fx=e(n.x,n.fxprime),I=mt(n.fxprime,s),h>c+o*r*g||h>=G)j=r;else{if(Math.abs(I)<=-a*g)return r;if(I*(j-w)>=0)j=w;w=r,G=h}return 0}for(let w=0;w<10;++w){if(xt(n.x,1,i.x,r,s),h=n.fx=e(n.x,n.fxprime),I=mt(n.fxprime,s),h>c+o*r*g||w&&h>=l)return z(b,r,l);if(Math.abs(I)<=-a*g)return r;if(I>=0)return z(r,b,h);l=h,b=r,r*=2}return r}function ye(e,s,i){let n={x:s.slice(),fx:0,fxprime:s.slice()},r={x:s.slice(),fx:0,fxprime:s.slice()},o=s.slice(),a,c,g=1,h;i=i||{},h=i.maxIterations||s.length*20,n.fx=e(n.x,n.fxprime),a=n.fxprime.slice(),Ct(a,n.fxprime,-1);for(let l=0;l<h;++l){if(g=xe(e,a,n,r,g),i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});if(!g)Ct(a,n.fxprime,-1);else{xt(o,1,r.fxprime,-1,n.fxprime);let I=mt(n.fxprime,n.fxprime),b=Math.max(0,mt(o,r.fxprime)/I);xt(a,b,a,-1,r.fxprime),c=n,n=r,r=c}if(At(n.fxprime)<=0.00001)break}if(i.history)i.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:g});return n}function Yt(e,s={}){s.maxIterations=s.maxIterations||500;let i=s.initialLayout||ve,n=s.lossFunction||bt,r=pe(e,s),o=i(r,s),a=Object.keys(o),c=[];for(let l of a)c.push(o[l].x),c.push(o[l].y);let h=Ht((l)=>{let I={};for(let b=0;b<a.length;++b){let z=a[b];I[z]={x:l[2*b],y:l[2*b+1],radius:o[z].radius}}return n(I,r)},c,s).x;for(let l=0;l<a.length;++l){let I=a[l];o[I].x=h[2*l],o[I].y=h[2*l+1]}return o}var Xt=0.0000000001;function Dt(e,s,i){if(Math.min(e,s)*Math.min(e,s)*Math.PI<=i+Xt)return Math.abs(e-s);return ge((n)=>Nt(e,s,n)-i,0,e+s)}function pe(e,s={}){let i=s.distinct,n=e.map((c)=>Object.assign({},c));function r(c){return c.join(";")}if(i){let c=new Map;for(let g of n)for(let h=0;h<g.sets.length;h++){let l=String(g.sets[h]);c.set(l,g.size+(c.get(l)||0));for(let I=h+1;I<g.sets.length;I++){let b=String(g.sets[I]),z=`${l};${b}`,w=`${b};${l}`;c.set(z,g.size+(c.get(z)||0)),c.set(w,g.size+(c.get(w)||0))}}for(let g of n)if(g.sets.length<3)g.size=c.get(r(g.sets))}let o=[],a=new Set;for(let c of n)if(c.sets.length===1)o.push(c.sets[0]);else if(c.sets.length===2){let g=c.sets[0],h=c.sets[1];a.add(r(c.sets)),a.add(r([h,g]))}o.sort((c,g)=>c===g?0:c<g?-1:1);for(let c=0;c<o.length;++c){let g=o[c];for(let h=c+1;h<o.length;++h){let l=o[h];if(!a.has(r([g,l])))n.push({sets:[g,l],size:0})}}return n}function me(e,s,i){let n=Ut(s.length,s.length),r=Ut(s.length,s.length);return e.filter((o)=>o.sets.length===2).forEach((o)=>{let a=i[o.sets[0]],c=i[o.sets[1]],g=Math.sqrt(s[a].size/Math.PI),h=Math.sqrt(s[c].size/Math.PI),l=Dt(g,h,o.size);n[a][c]=n[c][a]=l;let I=0;if(o.size+0.0000000001>=Math.min(s[a].size,s[c].size))I=1;else if(o.size<=0.0000000001)I=-1;r[a][c]=r[c][a]=I}),{distances:n,constraints:r}}function be(e,s,i,n){for(let o=0;o<s.length;++o)s[o]=0;let r=0;for(let o=0;o<i.length;++o){let a=e[2*o],c=e[2*o+1];for(let g=o+1;g<i.length;++g){let h=e[2*g],l=e[2*g+1],I=i[o][g],b=n[o][g],z=(h-a)*(h-a)+(l-c)*(l-c),w=Math.sqrt(z),j=z-I*I;if(b>0&&w<=I||b<0&&w>=I)continue;r+=2*j*j,s[2*o]+=4*j*(a-h),s[2*o+1]+=4*j*(c-l),s[2*g]+=4*j*(h-a),s[2*g+1]+=4*j*(l-c)}}return r}function ve(e,s={}){let i=Ie(e,s),n=s.lossFunction||bt;if(e.length>=8){let r=ke(e,s),o=n(r,e),a=n(i,e);if(o+0.00000001<a)i=r}return i}function ke(e,s={}){let i=s.restarts||10,n=[],r={};for(let b of e)if(b.sets.length===1)r[b.sets[0]]=n.length,n.push(b);let{distances:o,constraints:a}=me(e,n,r),c=At(o.map(At))/o.length;o=o.map((b)=>b.map((z)=>z/c));let g=(b,z)=>be(b,z,o,a),h=null;for(let b=0;b<i;++b){let z=zt(o.length*2).map(Math.random),w=ye(g,z,s);if(!h||w.fx<h.fx)h=w}let l=h.x,I={};for(let b=0;b<n.length;++b){let z=n[b];I[z.sets[0]]={x:l[2*b]*c,y:l[2*b+1]*c,radius:Math.sqrt(z.size/Math.PI)}}if(s.history)for(let b of s.history)Ct(b.x,c);return I}function Ie(e,s){let i=s&&s.lossFunction?s.lossFunction:bt,n={},r={};for(let I of e)if(I.sets.length===1){let b=I.sets[0];n[b]={x:10000000000,y:10000000000,rowid:n.length,size:I.size,radius:Math.sqrt(I.size/Math.PI)},r[b]=[]}e=e.filter((I)=>I.sets.length===2);for(let I of e){let b=I.weight!=null?I.weight:1,z=I.sets[0],w=I.sets[1];if(I.size+Xt>=Math.min(n[z].size,n[w].size))b=0;r[z].push({set:w,size:I.size,weight:b}),r[w].push({set:z,size:I.size,weight:b})}let o=[];Object.keys(r).forEach((I)=>{let b=0;for(let z=0;z<r[I].length;++z)b+=r[I][z].size*r[I][z].weight;o.push({set:I,size:b})});function a(I,b){return b.size-I.size}o.sort(a);let c={};function g(I){return I.set in c}function h(I,b){n[b].x=I.x,n[b].y=I.y,c[b]=!0}h({x:0,y:0},o[0].set);for(let I=1;I<o.length;++I){let b=o[I].set,z=r[b].filter(g),w=n[b];if(z.sort(a),z.length===0)throw"ERROR: missing pairwise overlap information";let j=[];for(var l=0;l<z.length;++l){let P=n[z[l].set],v=Dt(w.radius,P.radius,z[l].size);j.push({x:P.x+v,y:P.y}),j.push({x:P.x-v,y:P.y}),j.push({y:P.y+v,x:P.x}),j.push({y:P.y-v,x:P.x});for(let _=l+1;_<z.length;++_){let D=n[z[_].set],f=Dt(w.radius,D.radius,z[_].size),k=Wt({x:P.x,y:P.y,radius:v},{x:D.x,y:D.y,radius:f});j.push(...k)}}let G=100000000000000000000000000000000000000000000000000,B=j[0];for(let P of j){n[b].x=P.x,n[b].y=P.y;let v=i(n,e);if(v<G)G=v,B=P}h(B,b)}return n}function bt(e,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let a=e[n.sets[0]],c=e[n.sets[1]];r=Nt(a.radius,c.radius,at(a,c))}else r=It(n.sets.map((a)=>e[a]));let o=n.weight!=null?n.weight:1;i+=o*(r-n.size)*(r-n.size)}return i}function Zt(e,s){let i=0;for(let n of s){if(n.sets.length===1)continue;let r;if(n.sets.length===2){let c=e[n.sets[0]],g=e[n.sets[1]];r=Nt(c.radius,g.radius,at(c,g))}else r=It(n.sets.map((c)=>e[c]));let o=n.weight!=null?n.weight:1,a=Math.log((r+1)/(n.size+1));i+=o*a*a}return i}function Me(e,s,i){if(i==null)e.sort((r,o)=>o.radius-r.radius);else e.sort(i);if(e.length>0){let r=e[0].x,o=e[0].y;for(let a of e)a.x-=r,a.y-=o}if(e.length===2){if(at(e[0],e[1])<Math.abs(e[1].radius-e[0].radius))e[1].x=e[0].x+e[0].radius-e[1].radius-0.0000000001,e[1].y=e[0].y}if(e.length>1){let r=Math.atan2(e[1].x,e[1].y)-s,o=Math.cos(r),a=Math.sin(r);for(let c of e){let{x:g,y:h}=c;c.x=o*g-a*h,c.y=a*g+o*h}}if(e.length>2){let r=Math.atan2(e[2].x,e[2].y)-s;while(r<0)r+=2*Math.PI;while(r>2*Math.PI)r-=2*Math.PI;if(r>Math.PI){let o=e[1].y/(0.0000000001+e[1].x);for(let a of e){var n=(a.x+o*a.y)/(1+o*o);a.x=2*n-a.x,a.y=2*n*o-a.y}}}}function Se(e){e.forEach((r)=>{r.parent=r});function s(r){if(r.parent!==r)r.parent=s(r.parent);return r.parent}function i(r,o){let a=s(r),c=s(o);a.parent=c}for(let r=0;r<e.length;++r)for(let o=r+1;o<e.length;++o){let a=e[r].radius+e[o].radius;if(at(e[r],e[o])+0.0000000001<a)i(e[o],e[r])}let n=new Map;for(let r=0;r<e.length;++r){let o=s(e[r]).parent.setid;if(!n.has(o))n.set(o,[]);n.get(o).push(e[r])}return e.forEach((r)=>{delete r.parent}),Array.from(n.values())}function Rt(e){let s=(i)=>{let n=e.reduce((o,a)=>Math.max(o,a[i]+a.radius),Number.NEGATIVE_INFINITY),r=e.reduce((o,a)=>Math.min(o,a[i]-a.radius),Number.POSITIVE_INFINITY);return{max:n,min:r}};return{xRange:s("x"),yRange:s("y")}}function Jt(e,s,i){if(s==null)s=Math.PI/2;let n=te(e).map((h)=>Object.assign({},h)),r=Se(n);for(let h of r){Me(h,s,i);let l=Rt(h);h.size=(l.xRange.max-l.xRange.min)*(l.yRange.max-l.yRange.min),h.bounds=l}r.sort((h,l)=>l.size-h.size),n=r[0];let o=n.bounds,a=(o.xRange.max-o.xRange.min)/50;function c(h,l,I){if(!h)return;let b=h.bounds,z,w;if(l)z=o.xRange.max-b.xRange.min+a;else{z=o.xRange.max-b.xRange.max;let j=(b.xRange.max-b.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;if(j<0)z+=j}if(I)w=o.yRange.max-b.yRange.min+a;else{w=o.yRange.max-b.yRange.max;let j=(b.yRange.max-b.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;if(j<0)w+=j}for(let j of h)j.x+=z,j.y+=w,n.push(j)}let g=1;while(g<r.length)c(r[g],!0,!1),c(r[g+1],!1,!0),c(r[g+2],!0,!0),g+=3,o=Rt(n);return $t(n)}function Qt(e,s,i,n,r){let o=te(e);s-=2*n,i-=2*n;let{xRange:a,yRange:c}=Rt(o);if(a.max===a.min||c.max===c.min)return console.log("not scaling solution: zero size detected"),e;let g,h;if(r){let z=Math.sqrt(r/Math.PI)*2;g=s/z,h=i/z}else g=s/(a.max-a.min),h=i/(c.max-c.min);let l=Math.min(h,g),I=(s-(a.max-a.min)*l)/2,b=(i-(c.max-c.min)*l)/2;return $t(o.map((z)=>({radius:l*z.radius,x:n+I+(z.x-a.min)*l,y:n+b+(z.y-c.min)*l,setid:z.setid})))}function $t(e){let s={};for(let i of e)s[i.setid]=i;return s}function te(e){return Object.keys(e).map((i)=>Object.assign(e[i],{setid:i}))}function ee(e={}){let s=!1,i=600,n=350,r=15,o=1000,a=Math.PI/2,c=!0,g=null,h=!0,l=!0,I=null,b=null,z=!1,w=null,j=e&&e.symmetricalTextCentre?e.symmetricalTextCentre:!1,G={},B=e&&e.colourScheme?e.colourScheme:e&&e.colorScheme?e.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],P=0,v=function(k){if(k in G)return G[k];var y=G[k]=B[P];if(P+=1,P>=B.length)P=0;return y},_=Yt,D=bt;function f(k){let y=k.datum(),H=new Set;y.forEach((N)=>{if(N.size==0&&N.sets.length==1)H.add(N.sets[0])}),y=y.filter((N)=>!N.sets.some((Q)=>H.has(Q)));let O={},Y={};if(y.length>0){let N=_(y,{lossFunction:D,distinct:z});if(c)N=Jt(N,a,b);O=Qt(N,i,n,r,g),Y=se(O,y,j)}let lt={};y.forEach((N)=>{if(N.label)lt[N.sets]=N.label});function st(N){if(N.sets in lt)return lt[N.sets];if(N.sets.length==1)return""+N.sets[0]}k.selectAll("svg").data([O]).enter().append("svg");let J=k.select("svg");if(s)J.attr("viewBox",`0 0 ${i} ${n}`);else J.attr("width",i).attr("height",n);let K={},Z=!1;J.selectAll(".venn-area path").each(function(N){let Q=this.getAttribute("d");if(N.sets.length==1&&Q&&!z)Z=!0,K[N.sets[0]]=Ee(Q)});function q(N){return(Q)=>{let pt=N.sets.map((gt)=>{let dt=K[gt],ot=O[gt];if(!dt)dt={x:i/2,y:n/2,radius:1};if(!ot)ot={x:i/2,y:n/2,radius:1};return{x:dt.x*(1-Q)+ot.x*Q,y:dt.y*(1-Q)+ot.y*Q,radius:dt.radius*(1-Q)+ot.radius*Q}});return Gt(pt,w)}}let tt=J.selectAll(".venn-area").data(y,(N)=>N.sets),it=tt.enter().append("g").attr("class",(N)=>`venn-area venn-${N.sets.length==1?"circle":"intersection"}${N.colour||N.color?" venn-coloured":""}`).attr("data-venn-sets",(N)=>N.sets.join("_")),et=it.append("path"),ct=it.append("text").attr("class","label").text((N)=>st(N)).attr("text-anchor","middle").attr("dy",".35em").attr("x",i/2).attr("y",n/2);if(l)et.style("fill-opacity","0").filter((N)=>N.sets.length==1).style("fill",(N)=>N.colour?N.colour:N.color?N.color:v(N.sets)).style("fill-opacity",".25"),ct.style("fill",(N)=>{if(N.colour||N.color)return"#FFF";if(e.textFill)return e.textFill;return N.sets.length==1?v(N.sets):"#444"});function rt(N){if(typeof N.transition==="function")return N.transition("venn").duration(o);return N}let nt=k;if(Z&&typeof nt.transition==="function")nt=rt(k),nt.selectAll("path").attrTween("d",q);else nt.selectAll("path").attr("d",(N)=>Gt(N.sets.map((Q)=>O[Q])),w);let W=nt.selectAll("text").filter((N)=>(N.sets in Y)).text((N)=>st(N)).attr("x",(N)=>Math.floor(Y[N.sets].x)).attr("y",(N)=>Math.floor(Y[N.sets].y));if(h)if(Z)if("on"in W)W.on("end",_t(O,st));else W.each("end",_t(O,st));else W.each(_t(O,st));let ht=rt(tt.exit()).remove();if(typeof tt.transition==="function")ht.selectAll("path").attrTween("d",q);let ft=ht.selectAll("text").attr("x",i/2).attr("y",n/2);if(I!==null)ct.style("font-size","0px"),W.style("font-size",I),ft.style("font-size","0px");return{circles:O,textCentres:Y,nodes:tt,enter:it,update:nt,exit:ht}}return f.wrap=function(k){if(!arguments.length)return h;return h=k,f},f.useViewBox=function(){return s=!0,f},f.width=function(k){if(!arguments.length)return i;return i=k,f},f.height=function(k){if(!arguments.length)return n;return n=k,f},f.padding=function(k){if(!arguments.length)return r;return r=k,f},f.distinct=function(k){if(!arguments.length)return z;return z=k,f},f.colours=function(k){if(!arguments.length)return v;return v=k,f},f.colors=function(k){if(!arguments.length)return v;return v=k,f},f.fontSize=function(k){if(!arguments.length)return I;return I=k,f},f.round=function(k){if(!arguments.length)return w;return w=k,f},f.duration=function(k){if(!arguments.length)return o;return o=k,f},f.layoutFunction=function(k){if(!arguments.length)return _;return _=k,f},f.normalize=function(k){if(!arguments.length)return c;return c=k,f},f.scaleToFit=function(k){if(!arguments.length)return g;return g=k,f},f.styled=function(k){if(!arguments.length)return l;return l=k,f},f.orientation=function(k){if(!arguments.length)return a;return a=k,f},f.orientationOrder=function(k){if(!arguments.length)return b;return b=k,f},f.lossFunction=function(k){if(!arguments.length)return D;return D=k==="default"?bt:k==="logRatio"?Zt:k,f},f}function _t(e,s){return function(i){let n=this,r=e[i.sets[0]].radius||50,o=s(i)||"",a=o.split(/\s+/).reverse(),c=3,g=(o.length+a.length)/3,h=a.pop(),l=[h],I=0,b=1.1;n.textContent=null;let z=[];function w(v){let _=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return _.textContent=v,z.push(_),n.append(_),_}let j=w(h);while(!0){if(h=a.pop(),!h)break;l.push(h);let v=l.join(" ");if(j.textContent=v,v.length>g&&j.getComputedTextLength()>r)l.pop(),j.textContent=l.join(" "),l=[h],j=w(h),I++}let G=0.35-I*b/2,B=n.getAttribute("x"),P=n.getAttribute("y");z.forEach((v,_)=>{v.setAttribute("x",B),v.setAttribute("y",P),v.setAttribute("dy",`${G+_*b}em`)})}}function Et(e,s,i){let n=s[0].radius-at(s[0],e);for(let r=1;r<s.length;++r){let o=s[r].radius-at(s[r],e);if(o<=n)n=o}for(let r=0;r<i.length;++r){let o=at(i[r],e)-i[r].radius;if(o<=n)n=o}return n}function ne(e,s,i){let n=[];for(let l of e)n.push({x:l.x,y:l.y}),n.push({x:l.x+l.radius/2,y:l.y}),n.push({x:l.x-l.radius/2,y:l.y}),n.push({x:l.x,y:l.y+l.radius/2}),n.push({x:l.x,y:l.y-l.radius/2});let r=n[0],o=Et(n[0],e,s);for(let l=1;l<n.length;++l){let I=Et(n[l],e,s);if(I>=o)r=n[l],o=I}let a=Ht((l)=>-1*Et({x:l[0],y:l[1]},e,s),[r.x,r.y],{maxIterations:500,minErrorDelta:0.0000000001}).x,c={x:i?0:a[0],y:a[1]},g=!0;for(let l of e)if(at(c,l)>l.radius){g=!1;break}for(let l of s)if(at(c,l)<l.radius){g=!1;break}if(g)return c;if(e.length==1)return{x:e[0].x,y:e[0].y};let h={};if(It(e,h),h.arcs.length===0)return{x:0,y:-1000,disjoint:!0};if(h.arcs.length==1)return{x:h.arcs[0].circle.x,y:h.arcs[0].circle.y};if(s.length)return ne(e,[]);return Kt(h.arcs.map((l)=>l.p1))}function we(e){let s={},i=Object.keys(e);for(let n of i)s[n]=[];for(let n=0;n<i.length;n++){let r=i[n],o=e[r];for(let a=n+1;a<i.length;++a){let c=i[a],g=e[c],h=at(o,g);if(h+g.radius<=o.radius+0.0000000001)s[c].push(r);else if(h+o.radius<=g.radius+0.0000000001)s[r].push(c)}}return s}function se(e,s,i){let n={},r=we(e);for(let o=0;o<s.length;++o){let a=s[o].sets,c={},g={};for(let b=0;b<a.length;++b){c[a[b]]=!0;let z=r[a[b]];for(let w=0;w<z.length;++w)g[z[w]]=!0}let h=[],l=[];for(let b in e)if(b in c)h.push(e[b]);else if(!(b in g))l.push(e[b]);let I=ne(h,l,i);if(n[a]=I,I.disjoint&&s[o].size>0)console.log("WARNING: area "+a+" not represented on screen")}return n}function _e(e,s,i){let n=[];return n.push(`
|
|
2
|
-
M`,e,s),n.push(`
|
|
3
|
-
m`,-i,0),n.push(`
|
|
4
|
-
a`,i,i,0,1,0,i*2,0),n.push(`
|
|
5
|
-
a`,i,i,0,1,0,-i*2,0),n.join(" ")}function Ee(e){let s=e.split(" ");return{x:Number.parseFloat(s[1]),y:Number.parseFloat(s[2]),radius:-Number.parseFloat(s[4])}}function ie(e){if(e.length===0)return[];let s={};return It(e,s),s.arcs}function re(e,s){if(e.length===0)return"M 0 0";let i=Math.pow(10,s||0),n=s!=null?(o)=>Math.round(o*i)/i:(o)=>o;if(e.length==1){let o=e[0].circle;return _e(n(o.x),n(o.y),n(o.radius))}let r=[`
|
|
6
|
-
M`,n(e[0].p2.x),n(e[0].p2.y)];for(let o of e){let a=n(o.circle.radius);r.push(`
|
|
7
|
-
A`,a,a,0,o.large?1:0,o.sweep?1:0,n(o.p1.x),n(o.p1.y))}return r.join(" ")}function Gt(e,s){return re(ie(e),s)}function oe(e,s={}){let{lossFunction:i,layoutFunction:n=Yt,normalize:r=!0,orientation:o=Math.PI/2,orientationOrder:a,width:c=600,height:g=350,padding:h=15,scaleToFit:l=!1,symmetricalTextCentre:I=!1,distinct:b,round:z=2}=s,w=n(e,{lossFunction:i==="default"||!i?bt:i==="logRatio"?Zt:i,distinct:b});if(r)w=Jt(w,o,a);let j=Qt(w,c,g,h,l),G=se(j,e,I),B=new Map(Object.keys(j).map((_)=>[_,{set:_,x:j[_].x,y:j[_].y,radius:j[_].radius}])),P=e.map((_)=>{let D=_.sets.map((y)=>B.get(y)),f=ie(D),k=re(f,z);return{circles:D,arcs:f,path:k,area:_,has:new Set(_.sets)}});function v(_){let D="";for(let f of P)if(f.has.size>_.length&&_.every((k)=>f.has.has(k)))D+=" "+f.path;return D}return P.map(({circles:_,arcs:D,path:f,area:k})=>({data:k,text:G[k.sets],circles:_,arcs:D,path:f,distinctPath:f+v(k.sets)}))}var Ot=function(){var e=t(function(P,v,_,D){for(_=_||{},D=P.length;D--;_[P[D]]=v);return _},"o"),s=[5,8],i=[7,8,11,12,17,19,22,24],n=[1,17],r=[1,18],o=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],a=[1,31],c=[1,39],g=[7,8,11,12,17,19,22,24,27],h=[1,57],l=[1,56],I=[1,58],b=[1,59],z=[1,60],w=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],j={trace:t(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:t(function(v,_,D,f,k,y,H){var O=y.length-1;switch(k){case 1:return y[O-1];case 2:case 3:case 4:this.$=[];break;case 5:y[O-1].push(y[O]),this.$=y[O-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=y[O];break;case 8:f.setDiagramTitle(y[O].substr(6)),this.$=y[O].substr(6);break;case 9:if(f.addSubsetData([y[O]],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 10:if(f.addSubsetData([y[O-1]],y[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 11:if(f.addSubsetData([y[O-2]],void 0,parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 12:if(f.addSubsetData([y[O-3]],y[O-2],parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 13:if(y[O].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O]);if(f.addSubsetData(y[O],void 0,void 0),f.setIndentMode)f.setIndentMode(!0);break;case 14:if(y[O-1].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O-1]);if(f.addSubsetData(y[O-1],y[O],void 0),f.setIndentMode)f.setIndentMode(!0);break;case 15:if(y[O-2].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O-2]);if(f.addSubsetData(y[O-2],void 0,parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 16:if(y[O-3].length<2)throw Error("union requires multiple identifiers");if(f.validateUnionIdentifiers)f.validateUnionIdentifiers(y[O-3]);if(f.addSubsetData(y[O-3],y[O-2],parseFloat(y[O])),f.setIndentMode)f.setIndentMode(!0);break;case 17:case 18:case 19:f.addTextData(y[O-1],y[O],void 0);break;case 20:case 21:f.addTextData(y[O-2],y[O-1],y[O]);break;case 23:f.addStyleData(y[O-1],y[O]);break;case 24:case 25:case 26:var Y=f.getCurrentSets();if(!Y)throw Error("text requires set");f.addTextData(Y,y[O],void 0);break;case 27:case 28:var Y=f.getCurrentSets();if(!Y)throw Error("text requires set");f.addTextData(Y,y[O-1],y[O]);break;case 29:case 41:this.$=[y[O]];break;case 30:case 42:this.$=[...y[O-2],y[O]];break;case 31:this.$=[y[O-2],y[O]];break;case 33:this.$=y[O].join(" ");break;case 34:this.$=[y[O]];break;case 35:y[O-1].push(y[O]),this.$=y[O-1];break;case 43:case 44:this.$=y[O];break}},"anonymous"),table:[e(s,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},e(i,[2,4],{6:5}),e(s,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},e(i,[2,5]),e(i,[2,6]),e(i,[2,7]),e(i,[2,8]),{13:16,20:n,21:r},{13:20,18:19,20:n,21:r},{13:20,18:21,20:n,21:r},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:r},e(i,[2,9],{14:[1,27],15:[1,28]}),e(o,[2,43]),e(o,[2,44]),e(i,[2,13],{14:[1,29],15:[1,30],27:a}),e(o,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:a},e(i,[2,22]),e(i,[2,24],{14:[1,35]}),e(i,[2,25],{14:[1,36]}),e(i,[2,26]),{20:c,25:37,26:38,27:a},e(i,[2,10],{15:[1,40]}),{16:[1,41]},e(i,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:r},e(i,[2,17],{14:[1,45]}),e(i,[2,18],{14:[1,46]}),e(i,[2,19]),e(i,[2,27]),e(i,[2,28]),e(i,[2,23],{27:[1,47]}),e(g,[2,29]),{15:[1,48]},{16:[1,49]},e(i,[2,11]),{16:[1,50]},e(i,[2,15]),e(o,[2,42]),e(i,[2,20]),e(i,[2,21]),{20:c,26:51},{16:h,20:l,21:[1,53],28:52,29:54,30:55,31:I,32:b,33:z},e(i,[2,12]),e(i,[2,16]),e(g,[2,30]),e(g,[2,31]),e(g,[2,32]),e(g,[2,33],{30:61,16:h,20:l,31:I,32:b,33:z}),e(w,[2,34]),e(w,[2,36]),e(w,[2,37]),e(w,[2,38]),e(w,[2,39]),e(w,[2,40]),e(w,[2,35])],defaultActions:{6:[2,1]},parseError:t(function(v,_){if(_.recoverable)this.trace(v);else{var D=Error(v);throw D.hash=_,D}},"parseError"),parse:t(function(v){var _=this,D=[0],f=[],k=[null],y=[],H=this.table,O="",Y=0,lt=0,st=0,J=2,K=1,Z=y.slice.call(arguments,1),q=Object.create(this.lexer),tt={yy:{}};for(var it in this.yy)if(Object.prototype.hasOwnProperty.call(this.yy,it))tt.yy[it]=this.yy[it];if(q.setInput(v,tt.yy),tt.yy.lexer=q,tt.yy.parser=this,typeof q.yylloc>"u")q.yylloc={};var et=q.yylloc;y.push(et);var ct=q.options&&q.options.ranges;if(typeof tt.yy.parseError==="function")this.parseError=tt.yy.parseError;else this.parseError=Object.getPrototypeOf(this).parseError;function rt(ut){D.length=D.length-2*ut,k.length=k.length-ut,y.length=y.length-ut}t(rt,"popStack");function nt(){var ut=f.pop()||q.lex()||K;if(typeof ut!=="number"){if(ut instanceof Array)f=ut,ut=f.pop();ut=_.symbols_[ut]||ut}return ut}t(nt,"lex");var W,ht,ft,N,Q,pt,gt={},dt,ot,qt,kt;while(!0){if(ft=D[D.length-1],this.defaultActions[ft])N=this.defaultActions[ft];else{if(W===null||typeof W>"u")W=nt();N=H[ft]&&H[ft][W]}if(typeof N>"u"||!N.length||!N[0]){var St="";kt=[];for(dt in H[ft])if(this.terminals_[dt]&&dt>J)kt.push("'"+this.terminals_[dt]+"'");if(q.showPosition)St="Parse error on line "+(Y+1)+`:
|
|
8
|
-
`+q.showPosition()+`
|
|
9
|
-
Expecting `+kt.join(", ")+", got '"+(this.terminals_[W]||W)+"'";else St="Parse error on line "+(Y+1)+": Unexpected "+(W==K?"end of input":"'"+(this.terminals_[W]||W)+"'");this.parseError(St,{text:q.match,token:this.terminals_[W]||W,line:q.yylineno,loc:et,expected:kt})}if(N[0]instanceof Array&&N.length>1)throw Error("Parse Error: multiple actions possible at state: "+ft+", token: "+W);switch(N[0]){case 1:if(D.push(W),k.push(q.yytext),y.push(q.yylloc),D.push(N[1]),W=null,!ht){if(lt=q.yyleng,O=q.yytext,Y=q.yylineno,et=q.yylloc,st>0)st--}else W=ht,ht=null;break;case 2:if(ot=this.productions_[N[1]][1],gt.$=k[k.length-ot],gt._$={first_line:y[y.length-(ot||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(ot||1)].first_column,last_column:y[y.length-1].last_column},ct)gt._$.range=[y[y.length-(ot||1)].range[0],y[y.length-1].range[1]];if(pt=this.performAction.apply(gt,[O,lt,Y,tt.yy,N[1],k,y].concat(Z)),typeof pt<"u")return pt;if(ot)D=D.slice(0,-1*ot*2),k=k.slice(0,-1*ot),y=y.slice(0,-1*ot);D.push(this.productions_[N[1]][0]),k.push(gt.$),y.push(gt._$),qt=H[D[D.length-2]][D[D.length-1]],D.push(qt);break;case 3:return!0}}return!0},"parse")},G=function(){var P={EOF:1,parseError:t(function(_,D){if(this.yy.parser)this.yy.parser.parseError(_,D);else throw Error(_)},"parseError"),setInput:t(function(v,_){if(this.yy=_||this.yy||{},this._input=v,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 v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var _=v.match(/(?:\r\n?|\n).*/g);if(_)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),v},"input"),unput:t(function(v){var _=v.length,D=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-_),this.offset-=_;var f=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),D.length-1)this.yylineno-=D.length-1;var k=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:D?(D.length===f.length?this.yylloc.first_column:0)+f[f.length-D.length].length-D[0].length:this.yylloc.first_column-_},this.options.ranges)this.yylloc.range=[k[0],k[0]+this.yyleng-_];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).
|
|
10
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:t(function(v){this.unput(this.match.slice(v))},"less"),pastInput:t(function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:t(function(){var v=this.match;if(v.length<20)v+=this._input.substr(0,20-v.length);return(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:t(function(){var v=this.pastInput(),_=Array(v.length+1).join("-");return v+this.upcomingInput()+`
|
|
11
|
-
`+_+"^"},"showPosition"),test_match:t(function(v,_){var D,f,k;if(this.options.backtrack_lexer){if(k={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)k.yylloc.range=this.yylloc.range.slice(0)}if(f=v[0].match(/(?:\r\n?|\n).*/g),f)this.yylineno+=f.length;if(this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:f?f[f.length-1].length-f[f.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+v[0].length},this.yytext+=v[0],this.match+=v[0],this.matches=v,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(v[0].length),this.matched+=v[0],D=this.performAction.call(this,this.yy,this,_,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input)this.done=!1;if(D)return D;else if(this._backtrack){for(var y in k)this[y]=k[y];return!1}return!1},"test_match"),next:t(function(){if(this.done)return this.EOF;if(!this._input)this.done=!0;var v,_,D,f;if(!this._more)this.yytext="",this.match="";var k=this._currentRules();for(var y=0;y<k.length;y++)if(D=this._input.match(this.rules[k[y]]),D&&(!_||D[0].length>_[0].length)){if(_=D,f=y,this.options.backtrack_lexer)if(v=this.test_match(D,k[y]),v!==!1)return v;else if(this._backtrack){_=!1;continue}else return!1;else if(!this.options.flex)break}if(_){if(v=this.test_match(_,k[f]),v!==!1)return v;return!1}if(this._input==="")return this.EOF;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
12
|
-
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:t(function(){var _=this.next();if(_)return _;else return this.lex()},"lex"),begin:t(function(_){this.conditionStack.push(_)},"begin"),popState:t(function(){var _=this.conditionStack.length-1;if(_>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(_){if(_=this.conditionStack.length-1-Math.abs(_||0),_>=0)return this.conditionStack[_];else return"INITIAL"},"topState"),pushState:t(function(_){this.begin(_)},"pushState"),stateStackSize:t(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:t(function(_,D,f,k){var y=k;switch(f){case 0:break;case 1:break;case 2:break;case 3:if(_.getIndentMode&&_.getIndentMode())return _.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:if(_.setIndentMode)_.setIndentMode(!1);this.begin("INITIAL"),this.unput(D.yytext);break;case 6:return this.begin("bol"),8;break;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(_.consumeIndentText)_.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return D.yytext=D.yytext.slice(2,-2),14;break;case 17:return D.yytext=D.yytext.slice(1,-1).trim(),14;break;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return P}();j.lexer=G;function B(){this.yy={}}return t(B,"Parser"),B.prototype=j,j.Parser=B,new B}();Ot.parser=Ot;var ze=Ot,Lt=[],jt=[],Ft=[],Pt=new Set,Vt,Bt=!1,Ae=t((e,s,i)=>{let n=Mt(e).sort(),r=i??10/Math.pow(e.length,2);if(Vt=n,n.length===1)Pt.add(n[0]);Lt.push({sets:n,size:r,label:s?vt(s):void 0})},"addSubsetData"),Ce=t(()=>Lt,"getSubsetData"),vt=t((e)=>{let s=e.trim();if(s.length>=2&&s.startsWith('"')&&s.endsWith('"'))return s.slice(1,-1);return s},"normalizeText"),De=t((e)=>e?vt(e):e,"normalizeStyleValue"),Re=t((e,s,i)=>{let n=vt(s);jt.push({sets:Mt(e).sort(),id:n,label:i?vt(i):void 0})},"addTextData"),Ne=t((e,s)=>{let i=Mt(e).sort(),n={};for(let[r,o]of s)n[r]=De(o)??o;Ft.push({targets:i,styles:n})},"addStyleData"),Oe=t(()=>Ft,"getStyleData"),Mt=t((e)=>e.map((s)=>vt(s)),"normalizeIdentifierList"),Le=t((e)=>{let i=Mt(e).filter((n)=>!Pt.has(n));if(i.length>0)throw Error(`unknown set identifier: ${i.join(", ")}`)},"validateUnionIdentifiers"),je=t(()=>jt,"getTextData"),Fe=t(()=>Vt,"getCurrentSets"),Pe=t(()=>Bt,"getIndentMode"),Ve=t((e)=>{Bt=e},"setIndentMode"),Be=M.venn;function ae(){return U(Be,x().venn)}t(ae,"getConfig");var qe=t(()=>{C(),Lt.length=0,jt.length=0,Ft.length=0,Pt.clear(),Vt=void 0,Bt=!1},"customClear"),Ue={getConfig:ae,clear:qe,setAccTitle:S,getAccTitle:E,setDiagramTitle:L,getDiagramTitle:R,getAccDescription:A,setAccDescription:T,addSubsetData:Ae,getSubsetData:Ce,addTextData:Re,addStyleData:Ne,validateUnionIdentifiers:Le,getTextData:je,getStyleData:Oe,getCurrentSets:Fe,getIndentMode:Pe,setIndentMode:Ve},Ge=t((e)=>`
|
|
13
|
-
.venn-title {
|
|
14
|
-
font-size: 32px;
|
|
15
|
-
fill: ${e.vennTitleTextColor};
|
|
16
|
-
font-family: ${e.fontFamily};
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.venn-circle text {
|
|
20
|
-
font-size: 48px;
|
|
21
|
-
font-family: ${e.fontFamily};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.venn-intersection text {
|
|
25
|
-
font-size: 48px;
|
|
26
|
-
fill: ${e.vennSetTextColor};
|
|
27
|
-
font-family: ${e.fontFamily};
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.venn-text-node {
|
|
31
|
-
font-family: ${e.fontFamily};
|
|
32
|
-
color: ${e.vennSetTextColor};
|
|
33
|
-
}
|
|
34
|
-
`,"getStyles"),We=Ge;function le(e){let s=new Map;for(let i of e){let n=i.targets.join("|"),r=s.get(n);if(r)Object.assign(r,i.styles);else s.set(n,{...i.styles})}return s}t(le,"buildStyleByKey");var Ke=t((e,s,i,n)=>{let r=n.db,o=r.getConfig?.(),{themeVariables:a,look:c,handDrawnSeed:g}=x(),h=c==="handDrawn",l=[a.venn1,a.venn2,a.venn3,a.venn4,a.venn5,a.venn6,a.venn7,a.venn8].filter(Boolean),I=r.getDiagramTitle?.(),b=r.getSubsetData(),z=r.getTextData(),w=le(r.getStyleData()),j=ue(b),G=o?.width??800,B=o?.height??450,P=1600,v=G/1600,_=I?48*v:0,D=a.primaryTextColor??a.textColor,f=V(s);if(f.attr("viewBox",`0 0 ${G} ${B}`),I)f.append("text").text(I).attr("class","venn-title").attr("font-size",`${32*v}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*v).style("fill",a.vennTitleTextColor||a.titleColor);let k=p(document.createElement("div")),y=ee().width(G).height(B-_);k.datum(j).call(y);let H=h?m.svg(k.select("svg").node()):void 0,O=oe(j,{width:G,height:B-_,padding:o?.padding??15}),Y=new Map;for(let K of O){let Z=yt([...K.data.sets].sort());Y.set(Z,K)}if(z.length>0)ce(o,Y,k,z,v,w);let lt=X(a.background||"#f4f4f4");if(k.selectAll(".venn-circle").each(function(K,Z){let q=p(this),it=yt([...K.sets].sort()),et=w.get(it),ct=l.length>0?l[Z%l.length]:void 0,rt=et?.fill||ct||a.primaryColor;q.classed(`venn-set-${Z%8}`,!0);let nt=et?.["fill-opacity"]??0.1,W=et?.stroke||rt,ht=et?.["stroke-width"]||`${5*v}`;if(h&&H){let N=Y.get(it);if(N&&N.circles.length>0){let Q=N.circles[0],pt=H.circle(Q.x,Q.y,Q.radius*2,{roughness:0.7,seed:g,fill:wt(rt,0.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+Z*60,stroke:W,strokeWidth:parseFloat(String(ht))});q.select("path").remove(),q.node()?.insertBefore(pt,q.select("text").node())}}else q.select("path").style("fill",rt).style("fill-opacity",nt).style("stroke",W).style("stroke-width",ht).style("stroke-opacity",0.95);let ft=et?.color||(lt?u(rt,30):d(rt,30));q.select("text").style("font-size",`${48*v}px`).style("fill",ft)}),h&&H)k.selectAll(".venn-intersection").each(function(K){let Z=p(this),tt=yt([...K.sets].sort()),it=w.get(tt),et=it?.fill;if(et){let ct=Z.select("path"),rt=ct.attr("d");if(rt){let nt=H.path(rt,{roughness:0.7,seed:g,fill:wt(et,0.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),W=ct.node();W?.parentNode?.insertBefore(nt,W),ct.remove()}}else Z.select("path").style("fill-opacity",0);Z.select("text").style("font-size",`${48*v}px`).style("fill",it?.color??a.vennSetTextColor??D)});else k.selectAll(".venn-intersection text").style("font-size",`${48*v}px`).style("fill",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.color??a.vennSetTextColor??D}),k.selectAll(".venn-intersection path").style("fill-opacity",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.fill?1:0}).style("fill",(K)=>{let q=yt([...K.sets].sort());return w.get(q)?.fill??"transparent"});let st=f.append("g").attr("transform",`translate(0, ${_})`),J=k.select("svg").node();if(J&&"childNodes"in J)for(let K of[...J.childNodes])st.node()?.appendChild(K);F(f,B,G,o?.useMaxWidth??!0)},"draw");function yt(e){return e.join("|")}t(yt,"stableSetsKey");function ce(e,s,i,n,r,o){let a=e?.useDebugLayout??!1,g=i.select("svg").append("g").attr("class","venn-text-nodes"),h=new Map;for(let l of n){let I=yt(l.sets),b=h.get(I);if(b)b.push(l);else h.set(I,[l])}for(let[l,I]of h.entries()){let b=s.get(l);if(!b?.text)continue;let z=b.text.x,w=b.text.y,j=Math.min(...b.circles.map((J)=>J.radius)),G=Math.min(...b.circles.map((J)=>J.radius-Math.hypot(z-J.x,w-J.y))),B=Number.isFinite(G)?Math.max(0,G):0;if(B===0&&Number.isFinite(j))B=j*0.6;let P=g.append("g").attr("class","venn-text-area").attr("font-size",`${40*r}px`);if(a)P.append("circle").attr("class","venn-text-debug-circle").attr("cx",z).attr("cy",w).attr("r",B).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*r).attr("stroke-dasharray",`${6*r} ${4*r}`);let v=Math.max(80*r,B*2*0.95),_=Math.max(60*r,B*2*0.95),k=(b.data.label&&b.data.label.length>0?Math.min(32*r,B*0.25):0)+(I.length<=2?30*r:0),y=z-v/2,H=w-_/2+k,O=Math.max(1,Math.ceil(Math.sqrt(I.length))),Y=Math.max(1,Math.ceil(I.length/O)),lt=v/O,st=_/Y;for(let[J,K]of I.entries()){let Z=J%O,q=Math.floor(J/O),tt=y+lt*(Z+0.5),it=H+st*(q+0.5);if(a)P.append("rect").attr("class","venn-text-debug-cell").attr("x",y+lt*Z).attr("y",H+st*q).attr("width",lt).attr("height",st).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*r).attr("stroke-dasharray",`${4*r} ${3*r}`);let et=lt*0.9,ct=st*0.9,rt=P.append("foreignObject").attr("class","venn-text-node-fo").attr("width",et).attr("height",ct).attr("x",tt-et/2).attr("y",it-ct/2).attr("overflow","visible"),nt=o.get(K.id)?.color,W=rt.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(K.label??K.id);if(nt)W.style("color",nt)}}}t(ce,"renderTextNodes");function ue(e){let s=new Set(e.map((r)=>[...r.sets].sort().join("|"))),i=new Map(e.filter((r)=>r.sets.length===1&&r.size!==void 0).map((r)=>[r.sets[0],r.size])),n=[];for(let r of e){if(r.sets.length<3)continue;let o=[...r.sets].sort();for(let a=0;a<o.length-1;a++)for(let c=a+1;c<o.length;c++){let g=[o[a],o[c]],h=g.join("|");if(!s.has(h)){s.add(h);let l=i.get(g[0]),I=i.get(g[1]),b=l!==void 0&&I!==void 0?Math.min(l,I)/4:2.5;n.push({sets:g,size:b,label:""})}}}return n.length>0?[...e,...n]:e}t(ue,"ensurePairwiseSubsets");var He={draw:Ke},rn={parser:ze,db:Ue,renderer:He,styles:We};export{rn as diagram};
|
package/web/chunk-v1qt3gq4.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Si}from"./chunk-n9v14vyd.js";export{Si as createCynefinServices};
|
package/web/chunk-v854w9yn.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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};
|
package/web/chunk-ve56gxq0.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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};
|
package/web/chunk-w573ym17.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Li}from"./chunk-n9v14vyd.js";export{Li as createTreeViewServices};
|
package/web/chunk-x0mjydtp.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ki}from"./chunk-n9v14vyd.js";export{ki as createTreemapServices};
|
package/web/chunk-zhybh04p.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ro}from"./chunk-3k9h7a73.js";export{Ro as QuestionDock};
|