aitu-app 0.6.76 → 0.6.78
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/assets/CanvasAudioPlayer-DutgwdiU.js +2 -0
- package/assets/ChatDrawer-E6Fog16I.js +11 -0
- package/assets/{ChatMessagesArea-CZkiRzmW.js → ChatMessagesArea-Bgwiz_XP.js} +3 -3
- package/assets/DeferredAIInputBar-CPkD8Cv9.js +8 -0
- package/assets/DeferredAIInputBar-szBPHiNW.css +1 -0
- package/assets/DrawnixDeferredFeatures-Cul76-88.js +2 -0
- package/assets/{KnowledgeBaseContent-Dan2DUqY.js → KnowledgeBaseContent-DcX5Jofx.js} +6 -6
- package/assets/{MVCreator-Dzjl2fXA.js → MVCreator-DllHozYg.js} +8 -8
- package/assets/{ModelBenchmarkWorkbench-oy2wue1u.js → ModelBenchmarkWorkbench-Dv9SNYTi.js} +2 -2
- package/assets/MusicAnalyzer-CHcQ5t4P.js +1 -0
- package/assets/{MusicAnalyzer-BO44f-db.js → MusicAnalyzer-DDeT6g3c.js} +2 -2
- package/assets/ResizableDivider-CaG9JQbJ.js +1 -0
- package/assets/TaskQueuePanel-BNhNzGp5.js +1 -0
- package/assets/{VideoAnalyzer-iiJpoWb6.js → VideoAnalyzer-BSLz1FaI.js} +2 -2
- package/assets/ai-generation-preferences-service-BF7QkuJp.js +1 -0
- package/assets/arc-BU2KKCa_.js +1 -0
- package/assets/arc-DmGoDCEL.js +1 -0
- package/assets/{batch-image-generation-B2R0hJW_.js → batch-image-generation-Bg68r_Ql.js} +5 -5
- package/assets/{blockDiagram-38ab4fdb-BmWPnNuS.js → blockDiagram-38ab4fdb-BCGEnMME.js} +1 -1
- package/assets/{blockDiagram-38ab4fdb-trArAOFP.js → blockDiagram-38ab4fdb-CsZR5uC5.js} +1 -1
- package/assets/board-utils-CpAtoKn2.js +1 -0
- package/assets/{browser-Dya3c6_X.js → browser-DpICcNby.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-Cvj3RMOv.js → c4Diagram-3d4e48cf-9fuiuFdV.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-CqJrO4Za.js → c4Diagram-3d4e48cf-WM4wd_GR.js} +1 -1
- package/assets/{canvas-insertion-Dq3gR9Nw.js → canvas-insertion-CdUQF7IV.js} +3 -3
- package/assets/channel-CZjE-WNp.js +1 -0
- package/assets/channel-SXZD6bG3.js +1 -0
- package/assets/classDiagram-70f12bd4-CBVHTwQu.js +2 -0
- package/assets/{classDiagram-70f12bd4-DvrRZ41d.js → classDiagram-70f12bd4-DcYDedz1.js} +2 -2
- package/assets/classDiagram-v2-f2320105-CsxWGkSy.js +2 -0
- package/assets/classDiagram-v2-f2320105-jpCwaHEd.js +2 -0
- package/assets/{clipper-B4i11tN1.js → clipper-jvd5rF5a.js} +1 -1
- package/assets/clone-C4mvvMDb.js +1 -0
- package/assets/{createText-2e5e7dd3-D7dXlVes.js → createText-2e5e7dd3-CkXS3l7I.js} +2 -2
- package/assets/{createText-2e5e7dd3-B8gnT5hD.js → createText-2e5e7dd3-x5lOIwut.js} +1 -1
- package/assets/edges-e0da2a9e-CbrF4nbD.js +4 -0
- package/assets/{edges-e0da2a9e-CyRAzEMi.js → edges-e0da2a9e-Ch6PBwWs.js} +2 -2
- package/assets/{erDiagram-9861fffd-D8yYsjoN.js → erDiagram-9861fffd-Bq07elcI.js} +3 -3
- package/assets/{erDiagram-9861fffd-BHbAa_Ka.js → erDiagram-9861fffd-DSlNVuAZ.js} +4 -4
- package/assets/{flowDb-956e92f1-DAqb8wjP.js → flowDb-956e92f1-BqPCJlZp.js} +3 -3
- package/assets/{flowDb-956e92f1-f30uG4pp.js → flowDb-956e92f1-Ti5YC4Vv.js} +3 -3
- package/assets/{flowDiagram-66a62f08-C4Gz9mOM.js → flowDiagram-66a62f08-CPDuG3rY.js} +3 -3
- package/assets/{flowDiagram-66a62f08-CBXypoEi.js → flowDiagram-66a62f08-D3GSABFi.js} +1 -1
- package/assets/flowDiagram-v2-96b9c2cf-BCcJ-cre.js +1 -0
- package/assets/flowDiagram-v2-96b9c2cf-DCVaFEgV.js +1 -0
- package/assets/{flowchart-elk-definition-4a651766-CSm5diF6.js → flowchart-elk-definition-4a651766-BH09NeLA.js} +1 -1
- package/assets/{flowchart-elk-definition-4a651766-BHB7pRxm.js → flowchart-elk-definition-4a651766-BLaLPCDV.js} +1 -1
- package/assets/{ganttDiagram-c361ad54-CU9a9DsJ.js → ganttDiagram-c361ad54-DL9ZeaEc.js} +4 -4
- package/assets/ganttDiagram-c361ad54-Sp9M1KHP.js +257 -0
- package/assets/{gitGraphDiagram-72cf32ee-B2zj8Xnu.js → gitGraphDiagram-72cf32ee-BSf1fsDV.js} +1 -1
- package/assets/{gitGraphDiagram-72cf32ee-BWOgrFeh.js → gitGraphDiagram-72cf32ee-BWwmRKo-.js} +1 -1
- package/assets/{graph-Bnmq4jgf.js → graph--nPw8zXQ.js} +1 -1
- package/assets/graph-g-2U7grQ.js +1 -0
- package/assets/{index-3862675e-CQLKy6RO.js → index-3862675e-BXwbZ2pz.js} +1 -1
- package/assets/{index-3862675e-BSxxidV_.js → index-3862675e-D6Zy95zZ.js} +1 -1
- package/assets/index-3eqA7Bag.js +1 -0
- package/assets/{index-D1ORCZqJ.js → index-7Q-aiwln.js} +2 -2
- package/assets/index-B2dttXd7.js +1 -0
- package/assets/index-B7V7-Vxz.js +1 -0
- package/assets/index-BHPTfCZM.js +1 -0
- package/assets/{index-vvV37Q1S.js → index-BP77pG9S.js} +4 -4
- package/assets/index-BPR_DyGD.js +1 -0
- package/assets/index-BWrcsh8u.js +1 -0
- package/assets/{index-D4qm_1m5.js → index-BXzGHPXz.js} +1 -1
- package/assets/index-BaCHOxhI.js +1 -0
- package/assets/{index-BoglETHF.js → index-Bq8mPedC.js} +2 -2
- package/assets/index-BqHZCcen.js +2 -0
- package/assets/index-Bti3m-iW.js +1 -0
- package/assets/{index-sPNG1_UN.js → index-BwSnJN93.js} +5 -5
- package/assets/{index-D5qxbeGT.js → index-C3qD42ws.js} +1 -1
- package/assets/{index-VzDb_AHs.js → index-C5eu4uSl.js} +5 -5
- package/assets/index-CLJUfzvO.js +1 -0
- package/assets/index-CfgvFFx3.js +271 -0
- package/assets/index-CmyOpFTN.js +1 -0
- package/assets/index-D4pIkh3S.js +1 -0
- package/assets/index-D7b5fX1d.js +1 -0
- package/assets/index-DH12_HTj.js +13 -0
- package/assets/index-DI0OV6F8.js +7 -0
- package/assets/index-DIiIUyb-.js +1 -0
- package/assets/index-DcZrElEK.js +2 -0
- package/assets/index-DllL1sx1.js +1 -0
- package/assets/index-DqMndQiP.js +1 -0
- package/assets/index-Dz8sghkK.js +1 -0
- package/assets/index-QkP3EC02.js +1 -0
- package/assets/index-TkfyNewx.js +1 -0
- package/assets/index-ZrVeQUWo.js +1 -0
- package/assets/index-eZfwJ9bV.js +3 -0
- package/assets/{index-VarwiJlL.js → index-gQ7LgvSv.js} +1 -1
- package/assets/{infoDiagram-f8f76790-d-BYTW2w.js → infoDiagram-f8f76790-DpFqCCNv.js} +3 -3
- package/assets/{infoDiagram-f8f76790-BMsVq8O_.js → infoDiagram-f8f76790-G2JpJJP7.js} +3 -3
- package/assets/{journeyDiagram-49397b02-DCtCkoaC.js → journeyDiagram-49397b02-BdESGMrv.js} +1 -1
- package/assets/{journeyDiagram-49397b02-CBqb8-ml.js → journeyDiagram-49397b02-DLLTobRM.js} +1 -1
- package/assets/{layout-DKqEkE_W.js → layout-CVkuImk4.js} +1 -1
- package/assets/layout-WSR0vNPO.js +1 -0
- package/assets/line-D3bnG227.js +1 -0
- package/assets/line-DQuMJveY.js +1 -0
- package/assets/{linear-C6OQYT56.js → linear-CciP-97N.js} +1 -1
- package/assets/linear-Z6vFvuwc.js +1 -0
- package/assets/{main-i0s2IJTn.css → main-8DNjLY6L.css} +1 -1
- package/assets/main-BFEkxCOK.js +56 -0
- package/assets/{mermaid.core-CI-VJEiw.js → mermaid.core-CwZQb0ud.js} +5 -5
- package/assets/{mindmap-definition-fc14e90a-k_RSypuP.js → mindmap-definition-fc14e90a-BnJ8OOTI.js} +1 -1
- package/assets/{mindmap-definition-fc14e90a-DrtlQLES.js → mindmap-definition-fc14e90a-CxQMydCW.js} +1 -1
- package/assets/model-benchmark-launcher-Ct3lYXVq.js +1 -0
- package/assets/photo-wall-splitter-BZ88W5Zy.js +1 -0
- package/assets/{pieDiagram-8a3498a8-CdknGxKY.js → pieDiagram-8a3498a8-BSDdkTeu.js} +5 -5
- package/assets/{pieDiagram-8a3498a8-Bpr5V3o5.js → pieDiagram-8a3498a8-D6VtAoja.js} +4 -4
- package/assets/ppt-generation-FzjP_rp0.js +48 -0
- package/assets/{quadrantDiagram-120e2f19-Dx3qoKDx.js → quadrantDiagram-120e2f19-BbFV0VXY.js} +3 -3
- package/assets/{quadrantDiagram-120e2f19-pVIXp9i6.js → quadrantDiagram-120e2f19-C8k2xuBd.js} +3 -3
- package/assets/{requirementDiagram-deff3bca-hM4oekUG.js → requirementDiagram-deff3bca-C3xMdzJV.js} +1 -1
- package/assets/{requirementDiagram-deff3bca-DD6NY75P.js → requirementDiagram-deff3bca-CpjqKjYZ.js} +1 -1
- package/assets/{sankeyDiagram-04a897e0-BsvEG71N.js → sankeyDiagram-04a897e0-BBJJgsFv.js} +5 -5
- package/assets/{sankeyDiagram-04a897e0-C9uf1jU5.js → sankeyDiagram-04a897e0-Bjvig9bW.js} +4 -4
- package/assets/{sequenceDiagram-704730f1-CNEBmz1G.js → sequenceDiagram-704730f1-DX1MmBN_.js} +4 -4
- package/assets/{sequenceDiagram-704730f1-Bpg54z74.js → sequenceDiagram-704730f1-PFC_9IFI.js} +4 -4
- package/assets/settings-dialog-CQM4v791.js +1 -0
- package/assets/{skill-dsl-parser-DS3VOBFI.js → skill-dsl-parser-syNWYxFu.js} +10 -10
- package/assets/{stateDiagram-587899a1-BN2ZP-3x.js → stateDiagram-587899a1-Dc3mI_B_.js} +1 -1
- package/assets/stateDiagram-587899a1-SFMUVAam.js +1 -0
- package/assets/{stateDiagram-v2-d93cdb3a-BtV1Ziy9.js → stateDiagram-v2-d93cdb3a-DmnBjHpC.js} +1 -1
- package/assets/{stateDiagram-v2-d93cdb3a-BLwIM8s1.js → stateDiagram-v2-d93cdb3a-P4Yt2p_j.js} +1 -1
- package/assets/{styles-6aaf32cf-aFVlX_lA.js → styles-6aaf32cf-C3jnr3hV.js} +1 -1
- package/assets/{styles-6aaf32cf-CGp3i5qu.js → styles-6aaf32cf-b6AdP7fu.js} +1 -1
- package/assets/{styles-9a916d00-BK7pejCH.js → styles-9a916d00-BUiD9iBe.js} +4 -4
- package/assets/{styles-9a916d00-CSwFWVnr.js → styles-9a916d00-ii0XTdIm.js} +1 -1
- package/assets/styles-c10674c1-Bt89Yy8Q.js +116 -0
- package/assets/styles-c10674c1-DbTSpy3W.js +116 -0
- package/assets/{svgDrawCommon-08f97a94-Cr4rWU-W.js → svgDrawCommon-08f97a94-BK6lD4D6.js} +1 -1
- package/assets/{svgDrawCommon-08f97a94-DypvMDvH.js → svgDrawCommon-08f97a94-D4gIV05W.js} +1 -1
- package/assets/{timeline-definition-85554ec2-D3-lXEL5.js → timeline-definition-85554ec2-Bl2y548G.js} +1 -1
- package/assets/{timeline-definition-85554ec2-DIwHE15c.js → timeline-definition-85554ec2-CWKg_JxG.js} +3 -3
- package/assets/{tool-windows-B-a9r3G3.css → tool-windows-CUNbW1Tz.css} +1 -1
- package/assets/tool-windows-DOIu9TAD.js +2975 -0
- package/assets/ttd-dialog-DI4kQSg8.js +99 -0
- package/assets/{useCharacters-DsZ779l-.js → useCharacters-Chv4Ky7x.js} +3 -3
- package/assets/useWorkflowSubmission-BizuDmuw.js +70 -0
- package/assets/video-analyze-6v3Y-rUE.js +1 -0
- package/assets/{video-generation-C7qCz-ZF.js → video-generation-DnmTlWnm.js} +2 -2
- package/assets/video-recovery-service-BeRoh0s2.js +1 -0
- package/assets/workflow-generation-utils-me381Cax.js +3 -0
- package/assets/workflow-submission-service-YOpo7g37.js +4 -0
- package/assets/{xychartDiagram-e933f94c-B17Evxfw.js → xychartDiagram-e933f94c-CJX9_9WF.js} +4 -4
- package/assets/{xychartDiagram-e933f94c-Dln5PJtU.js → xychartDiagram-e933f94c-Cep8CQEH.js} +3 -3
- package/changelog.json +50 -0
- package/idle-prefetch-manifest.json +300 -316
- package/manifest.json +3 -3
- package/package.json +1 -1
- package/precache-manifest.json +8 -8
- package/sw.js +5 -5
- package/version.json +19 -3
- package/assets/CanvasAudioPlayer-DwM6PU4W.js +0 -2
- package/assets/ChatDrawer-BQTaa6r6.js +0 -11
- package/assets/DeferredAIInputBar-BmPgFhXr.css +0 -1
- package/assets/DeferredAIInputBar-ObyfJQ0O.js +0 -7
- package/assets/DrawnixDeferredFeatures-CFHVLxc5.js +0 -2
- package/assets/ModelDropdown-CQTTHEI7.css +0 -1
- package/assets/ModelDropdown-DjvIvi8O.js +0 -1
- package/assets/MusicAnalyzer-BU5l2wPR.js +0 -1
- package/assets/ResizableDivider-CBgTphcS.js +0 -1
- package/assets/TaskQueuePanel-CTDuSScf.js +0 -1
- package/assets/ai-generation-preferences-service-CqwXb9Cs.js +0 -5
- package/assets/arc-BBE0LXa1.js +0 -1
- package/assets/arc-h476db6P.js +0 -1
- package/assets/channel-DMTz1UNN.js +0 -1
- package/assets/channel-DQOY3XLe.js +0 -1
- package/assets/classDiagram-70f12bd4-5ACx619h.js +0 -2
- package/assets/classDiagram-v2-f2320105-4zQ4jrwi.js +0 -2
- package/assets/classDiagram-v2-f2320105-CB4rof84.js +0 -2
- package/assets/clone-fuaXEdc-.js +0 -1
- package/assets/edges-e0da2a9e-DZalSm7f.js +0 -4
- package/assets/flowDiagram-v2-96b9c2cf-C-DFFh54.js +0 -1
- package/assets/flowDiagram-v2-96b9c2cf-CWjydvHB.js +0 -1
- package/assets/ganttDiagram-c361ad54-DDnbMkWm.js +0 -257
- package/assets/graph-BsYIlc-B.js +0 -1
- package/assets/index-B10kMZoq.js +0 -1
- package/assets/index-B2_XRj3U.js +0 -1
- package/assets/index-B4lLv-Sz.js +0 -1
- package/assets/index-BFZNUUCR.js +0 -1
- package/assets/index-BTSYG2Vy.js +0 -1
- package/assets/index-BY5Kvjqg.js +0 -1
- package/assets/index-Blf7J5yW.js +0 -1
- package/assets/index-BoQA7VaE.js +0 -3
- package/assets/index-BzqQ69oU.js +0 -1
- package/assets/index-CD2D1BYc.js +0 -2
- package/assets/index-CLRs5cWt.js +0 -1
- package/assets/index-CLU4LJjR.js +0 -1
- package/assets/index-CPDfMZkS.js +0 -1
- package/assets/index-CPfhqyDz.js +0 -316
- package/assets/index-CU4ySaQE.js +0 -1
- package/assets/index-CsCwwmYY.js +0 -1
- package/assets/index-Cyz_w8KS.js +0 -7
- package/assets/index-D489cJtb.js +0 -1
- package/assets/index-D6DebbcI.js +0 -1
- package/assets/index-DDtPG6Km.js +0 -1
- package/assets/index-DKhTnUBU.js +0 -1
- package/assets/index-DMIwLDS8.js +0 -13
- package/assets/index-DgsUJgRJ.js +0 -1
- package/assets/index-oT8mbA3U.js +0 -2
- package/assets/layout-B1ePJO5V.js +0 -1
- package/assets/line-C_jmJ6v1.js +0 -1
- package/assets/line-DfhCgsyz.js +0 -1
- package/assets/linear-ChY5Iu43.js +0 -1
- package/assets/main-LCg1nQGB.js +0 -69
- package/assets/model-benchmark-launcher-B2MsZXmV.js +0 -1
- package/assets/model-benchmark-service-CkIRp-Sq.js +0 -1
- package/assets/model-selection-BvdXmVGX.js +0 -1
- package/assets/photo-wall-splitter-CVrfkWnh.js +0 -1
- package/assets/prompt-optimize-dialog-DLdL2_a1.css +0 -1
- package/assets/settings-dialog-CAhU3cfG.js +0 -1
- package/assets/stateDiagram-587899a1-CMylUAYu.js +0 -1
- package/assets/styles-c10674c1-KfJINP7I.js +0 -116
- package/assets/styles-c10674c1-cccyjRUz.js +0 -116
- package/assets/tool-windows-CtLXQDGF.js +0 -2847
- package/assets/ttd-dialog-BRg3XE5k.js +0 -99
- package/assets/use-runtime-models-BH9r4Yc1.js +0 -1
- package/assets/use-runtime-models-BgWWl4Ng.css +0 -1
- package/assets/useWorkflowSubmission-BeJQ3BuO.js +0 -70
- package/assets/video-analyze-aDVIfgUi.js +0 -1
- package/assets/video-recovery-service-Dy0xiPr8.js +0 -1
- package/assets/workflow-generation-utils-CpMilOwA.js +0 -3
- package/assets/workflow-submission-service-CmBBMIis.js +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./tool-windows-
|
|
2
|
-
import{r as s,y as e,bD as Fs,hk as de,bW as me,dM as Ws,cV as Ve,cT as ls,iU as fe,bw as we,j1 as ke,mR as Os,mS as Xs,bV as O,hl as he,mT as qe,hq as pe,ku as cs,cy as Ys,hi as D,ct as Hs,cM as Gs,mU as Qs,cP as Zs,cQ as Js,mV as Re,mW as en,kv as Te,lz as Ce,mX as sn,hN as nn,bx as an,ih as je,iL as us,fG as be,mY as tn,mZ as on,bm as ms,cr as rn,m_ as dn,al as M,m$ as fs,n0 as bs,bj as ln,hx as cn,hw as Je,dp as un,ho as Se,hr as mn,n1 as fn,n2 as bn,hM as Nn,aI as gn,n3 as es,n4 as ss,jw as Ns,_ as Be,n5 as xn,n6 as pn,n7 as ns,g_ as wn,kr as kn,n8 as hn,n9 as jn}from"./tool-windows-CtLXQDGF.js";import{a as Me,g as vn,E as oe,d as is,c as yn}from"./skill-dsl-parser-DS3VOBFI.js";import{ap as En,Q as ze}from"./index-vvV37Q1S.js";/* empty css */import{g as gs}from"./index-CPfhqyDz.js";import{M as Dn}from"./ChatDrawer-BQTaa6r6.js";import"./katex-Cu_Erd72.js";import"./index-D4qm_1m5.js";import"./browser-Dya3c6_X.js";import"./video-generation-C7qCz-ZF.js";import"./canvas-insertion-Dq3gR9Nw.js";import"./video-analyze-aDVIfgUi.js";import"./use-runtime-models-BH9r4Yc1.js";import"./model-benchmark-service-CkIRp-Sq.js";import"./model-selection-BvdXmVGX.js";import"./main-LCg1nQGB.js";const re="__system_skill__";function Un(n){const i=new Date(n),r=new Date;return i.getFullYear()===r.getFullYear()&&i.getMonth()===r.getMonth()&&i.getDate()===r.getDate()?i.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}):i.getFullYear()===r.getFullYear()?i.toLocaleDateString("zh-CN",{month:"2-digit",day:"2-digit"}):i.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})}const _n=({directories:n,notesByDir:i,noteTagsMap:r,noteCounts:d,selectedDirId:k,selectedNoteId:N,expandedDirIds:b,isCreatingDir:l,skillDirName:j="Skill",onSelectDir:R,onToggleExpand:v,onCreateDir:y,onCancelCreateDir:B,onRenameDir:V,onDeleteDir:x,onSelectNote:E,onCreateNote:c,onDeleteNote:m,onDuplicateDir:C,onDuplicateNote:L,onInsertNoteToCanvas:z})=>{const[$,f]=s.useState(""),[U,I]=s.useState(null),[_,H]=s.useState(""),[Y,X]=s.useState(null);s.useEffect(()=>{const g=()=>X(null),K=()=>X(null);return document.addEventListener("click",g),document.addEventListener("scroll",K,!0),()=>{document.removeEventListener("click",g),document.removeEventListener("scroll",K,!0)}},[]);const w=s.useCallback((g,K,F,J=!1)=>{g.preventDefault(),g.stopPropagation(),X({x:g.clientX,y:g.clientY,type:K,id:F,isDefault:J})},[]),P=s.useCallback(async()=>{const g=$.trim();if(g)try{await y(g),f(""),B()}catch{}},[$,y,B]),A=s.useCallback(async g=>{const K=_.trim();if(K)try{await V(g,K),I(null)}catch{}},[_,V]);return e.jsxDEV("div",{className:"kb-tree",children:[l&&e.jsxDEV("div",{className:"kb-tree__create-row",children:[e.jsxDEV("input",{className:"kb-tree__input",value:$,onChange:g=>f(g.target.value),onKeyDown:g=>{g.key==="Enter"&&P(),g.key==="Escape"&&B()},placeholder:"目录名称",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:172,columnNumber:11},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:P,children:e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:184,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:183,columnNumber:11},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:B,children:e.jsxDEV(me,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:187,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:186,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:171,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__list",children:n.map(g=>e.jsxDEV(Kn,{dir:g,isSelected:k===g.id,isExpanded:b.has(g.id),notes:i[g.id]||[],noteCount:d[g.id]||0,noteTagsMap:r,selectedNoteId:N,isRenaming:U===g.id,renameValue:_,onSelectDir:()=>{R(g.id),b.has(g.id)||v(g.id)},onToggleExpand:()=>{v(g.id),X(null)},onStartRename:()=>{I(g.id),H(g.name),X(null)},onRenameChange:H,onRenameConfirm:()=>A(g.id),onRenameCancel:()=>I(null),onDeleteDir:()=>{x(g.id),X(null)},onCreateNote:()=>{c(g.id),X(null)},onSelectNote:E,onDeleteNote:K=>{m(K),X(null)},onContextMenu:K=>w(K,"directory",g.id,g.isDefault),onNoteContextMenu:(K,F)=>w(K,"note",F),isSkillDir:g.name===j},g.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:194,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:192,columnNumber:7},void 0),Y&&Fs.createPortal(e.jsxDEV("div",{className:"kb-context-menu",style:{top:Y.y,left:Y.x,zIndex:Ws.DROPDOWN_PORTAL},onClick:g=>g.stopPropagation(),children:Y.type==="directory"?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{C(Y.id),X(null)},children:[e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:261,columnNumber:19},void 0),e.jsxDEV("span",{children:"复制目录"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:262,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:254,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{var g;I(Y.id),H(((g=n.find(K=>K.id===Y.id))==null?void 0:g.name)||""),X(null)},children:[e.jsxDEV(ls,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:274,columnNumber:19},void 0),e.jsxDEV("span",{children:"重命名"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:275,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:264,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-context-menu__item kb-context-menu__item--danger",onClick:()=>{x(Y.id),X(null)},children:[e.jsxDEV(fe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:284,columnNumber:19},void 0),e.jsxDEV("span",{children:"删除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:285,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:277,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:253,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{L(Y.id),X(null)},children:[e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:297,columnNumber:19},void 0),e.jsxDEV("span",{children:"创建副本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:298,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:290,columnNumber:17},void 0),z&&e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{const K=Object.values(i).flat().find(F=>F.id===Y.id);K&&z(K),X(null)},children:[e.jsxDEV("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsxDEV("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:312,columnNumber:23},void 0),e.jsxDEV("line",{x1:"12",y1:"8",x2:"12",y2:"16"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:313,columnNumber:23},void 0),e.jsxDEV("line",{x1:"8",y1:"12",x2:"16",y2:"12"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:314,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:311,columnNumber:21},void 0),e.jsxDEV("span",{children:"插入到画布"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:316,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:301,columnNumber:19},void 0),e.jsxDEV("div",{className:"kb-context-menu__item kb-context-menu__item--danger",onClick:()=>{m(Y.id),X(null)},children:[e.jsxDEV(fe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:326,columnNumber:19},void 0),e.jsxDEV("span",{children:"删除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:327,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:319,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:289,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:243,columnNumber:11},void 0),document.body)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:169,columnNumber:5},void 0)},Kn=({dir:n,isSelected:i,isExpanded:r,notes:d,noteCount:k,noteTagsMap:N,selectedNoteId:b,isRenaming:l,renameValue:j,isSkillDir:R=!1,onSelectDir:v,onToggleExpand:y,onStartRename:B,onRenameChange:V,onRenameConfirm:x,onRenameCancel:E,onDeleteDir:c,onCreateNote:m,onSelectNote:C,onDeleteNote:L,onContextMenu:z,onNoteContextMenu:$})=>e.jsxDEV("div",{className:`kb-tree__dir ${i?"kb-tree__dir--selected":""}`,children:[e.jsxDEV("div",{className:"kb-tree__dir-row",onClick:v,onContextMenu:z,children:[e.jsxDEV("button",{className:"kb-tree__expand-btn",onClick:f=>{f.stopPropagation(),y()},children:r?e.jsxDEV(we,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:399,columnNumber:25},void 0):e.jsxDEV(ke,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:399,columnNumber:53},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:395,columnNumber:9},void 0),r?e.jsxDEV(Os,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:401,columnNumber:23},void 0):e.jsxDEV(Xs,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:401,columnNumber:50},void 0),l?e.jsxDEV("input",{className:"kb-tree__input kb-tree__input--inline",value:j,onChange:f=>V(f.target.value),onKeyDown:f=>{f.key==="Enter"&&x(),f.key==="Escape"&&E()},onClick:f=>f.stopPropagation(),autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:404,columnNumber:11},void 0):e.jsxDEV("span",{className:"kb-tree__dir-name",children:n.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:416,columnNumber:11},void 0),e.jsxDEV("span",{className:"kb-tree__dir-count",children:k},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:418,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__dir-actions",children:[e.jsxDEV(O,{content:"新建笔记",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:f=>{f.stopPropagation(),m()},children:e.jsxDEV(he,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:429,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:422,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:421,columnNumber:11},void 0),e.jsxDEV(e.Fragment,{children:[e.jsxDEV(O,{content:"重命名",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:f=>{f.stopPropagation(),B()},children:e.jsxDEV(ls,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:441,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:434,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:433,columnNumber:13},void 0),e.jsxDEV(O,{content:"删除",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tree__icon-btn kb-tree__icon-btn--danger",onClick:f=>{f.stopPropagation(),c()},children:e.jsxDEV(fe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:452,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:445,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:444,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:432,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:420,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:394,columnNumber:7},void 0),r&&e.jsxDEV("div",{className:"kb-tree__notes",children:[R&&Me.map(f=>{const U=`${re}${f.id}`,I=b===U;return e.jsxDEV("div",{className:`kb-tree__note-row kb-tree__note-row--system ${I?"kb-tree__note-row--selected":""}`,onClick:()=>C(U),children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:473,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:472,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:e.jsxDEV("div",{className:"kb-tree__note-title",children:[f.name,e.jsxDEV("span",{className:"kb-tree__system-badge",children:"系统"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:478,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:476,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:475,columnNumber:17},void 0)]},U,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:467,columnNumber:15},void 0)}),R&&vn().map(f=>{const U=`${oe}${f.id}`,I=b===U;return e.jsxDEV("div",{className:`kb-tree__note-row kb-tree__note-row--system ${I?"kb-tree__note-row--selected":""}`,onClick:()=>C(U),children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:495,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:494,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:e.jsxDEV("div",{className:"kb-tree__note-title",children:[f.name,e.jsxDEV("span",{className:"kb-tree__system-badge",children:"系统"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:500,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:498,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:497,columnNumber:17},void 0)]},U,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:489,columnNumber:15},void 0)}),d.length===0&&!R&&e.jsxDEV("div",{className:"kb-tree__notes-empty",children:"暂无笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:507,columnNumber:13},void 0),d.length===0&&R&&Me.length===0&&e.jsxDEV("div",{className:"kb-tree__notes-empty",children:"暂无笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:510,columnNumber:13},void 0),Array.from(new Map(d.map(f=>[f.id,f])).values()).map(f=>{const U=b===f.id,I=N[f.id]||[],_=f.metadata;return e.jsxDEV(Bn,{note:f,isSelected:U,tags:I,metadata:_,onSelect:()=>C(f.id),onDelete:()=>L(f.id),onContextMenu:H=>$(H,f.id)},f.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:518,columnNumber:15},void 0)})]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:461,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:392,columnNumber:5},void 0),Bn=({note:n,isSelected:i,tags:r,metadata:d,onSelect:k,onDelete:N,onContextMenu:b})=>e.jsxDEV("div",{className:`kb-tree__note-row ${i?"kb-tree__note-row--selected":""}`,onClick:k,onContextMenu:b,children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(pe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:565,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:564,columnNumber:5},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:[e.jsxDEV("div",{className:"kb-tree__note-title",children:n.title||"无标题"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:568,columnNumber:7},void 0),(d==null?void 0:d.domain)&&e.jsxDEV("div",{className:"kb-tree__note-domain",children:[d.faviconUrl?e.jsxDEV("img",{src:d.faviconUrl,alt:"",className:"kb-tree__favicon",onError:l=>{l.target.style.display="none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:572,columnNumber:13},void 0):e.jsxDEV(cs,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:579,columnNumber:13},void 0),e.jsxDEV("span",{children:d.domain},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:581,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:570,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__note-meta",children:[r.length>0&&e.jsxDEV("div",{className:"kb-tree__note-tags",children:[r.slice(0,2).map(l=>e.jsxDEV("span",{className:"kb-tree__tag-badge",style:{backgroundColor:`${l.color}20`,color:l.color},children:l.name},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:588,columnNumber:15},void 0)),r.length>2&&e.jsxDEV("span",{className:"kb-tree__tag-more",children:["+",r.length-2]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:597,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:586,columnNumber:11},void 0),r.length===0&&!(d!=null&&d.domain)&&e.jsxDEV("span",{className:"kb-tree__note-time",children:Un(n.updatedAt)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:602,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:584,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:567,columnNumber:5},void 0),e.jsxDEV("button",{className:"kb-tree__note-delete",onClick:l=>{l.stopPropagation(),N()},title:"删除笔记",children:e.jsxDEV(fe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:611,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:606,columnNumber:5},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:559,columnNumber:3},void 0),as=({allTags:n,selectedTagIds:i,onSelectedChange:r,onCreateTag:d,showCount:k=!1})=>{const[N,b]=s.useState(!1),[l,j]=s.useState(""),[R,v]=s.useState(!1),y=s.useRef(null);s.useEffect(()=>{if(!N)return;const c=m=>{y.current&&!y.current.contains(m.target)&&(b(!1),v(!1),j(""))};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[N]);const B=s.useCallback(c=>{const m=i.includes(c)?i.filter(C=>C!==c):[...i,c];r(m)},[i,r]),V=s.useCallback((c,m)=>{m.stopPropagation(),r(i.filter(C=>C!==c))},[i,r]),x=s.useCallback(async()=>{const c=l.trim();if(c)try{const m=await d(c);r([...i,m.id]),j(""),v(!1)}catch{}},[l,d,i,r]),E=n.filter(c=>i.includes(c.id));return e.jsxDEV("div",{className:"kb-tag-selector",ref:y,children:[e.jsxDEV("div",{className:"kb-tag-selector__selected",children:[E.map(c=>e.jsxDEV("span",{className:"kb-tag-selector__tag kb-tag-selector__tag--selected",style:{"--tag-color":c.color,borderColor:c.color,backgroundColor:`${c.color}15`},children:[e.jsxDEV("span",{className:"kb-tag-selector__dot",style:{backgroundColor:c.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:99,columnNumber:13},void 0),e.jsxDEV("span",{children:c.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:100,columnNumber:13},void 0),e.jsxDEV("button",{className:"kb-tag-selector__remove",onClick:m=>V(c.id,m),children:e.jsxDEV(O,{content:"移除标签",showArrow:!1,children:e.jsxDEV("span",{children:e.jsxDEV(me,{size:11},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:107,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:106,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:105,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:101,columnNumber:13},void 0)]},c.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:90,columnNumber:11},void 0)),e.jsxDEV("button",{className:"kb-tag-selector__add-btn",onClick:()=>b(c=>!c),children:[e.jsxDEV(he,{size:13},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:119,columnNumber:11},void 0),e.jsxDEV("span",{children:"标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:120,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:115,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:88,columnNumber:7},void 0),N&&e.jsxDEV("div",{className:"kb-tag-selector__dropdown",children:[e.jsxDEV("div",{className:"kb-tag-selector__tags",children:[n.length===0&&e.jsxDEV("span",{className:"kb-tag-selector__empty",children:"暂无标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:130,columnNumber:15},void 0),n.map(c=>{const m=i.includes(c.id);return e.jsxDEV("button",{className:`kb-tag-selector__tag ${m?"kb-tag-selector__tag--selected":""}`,style:{"--tag-color":c.color,borderColor:m?c.color:void 0,backgroundColor:m?`${c.color}15`:void 0},onClick:()=>B(c.id),children:[e.jsxDEV("span",{className:"kb-tag-selector__dot",style:{backgroundColor:c.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:145,columnNumber:19},void 0),e.jsxDEV("span",{children:c.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:146,columnNumber:19},void 0),k&&e.jsxDEV("span",{className:"kb-tag-selector__count",children:["(",c.count,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:147,columnNumber:33},void 0),m&&e.jsxDEV(me,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:148,columnNumber:34},void 0)]},c.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:135,columnNumber:17},void 0)})]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:128,columnNumber:11},void 0),R?e.jsxDEV("div",{className:"kb-tag-selector__create",children:[e.jsxDEV("input",{className:"kb-tag-selector__input",value:l,onChange:c=>j(c.target.value),onKeyDown:c=>{c.key==="Enter"&&x(),c.key==="Escape"&&(v(!1),j(""))},placeholder:"标签名称",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:157,columnNumber:15},void 0),e.jsxDEV("button",{className:"kb-tag-selector__create-btn",onClick:x,children:"确定"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:168,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:156,columnNumber:13},void 0):e.jsxDEV("button",{className:"kb-tag-selector__new-btn",onClick:()=>v(!0),children:[e.jsxDEV(he,{size:13},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:177,columnNumber:15},void 0),e.jsxDEV("span",{children:"新建标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:178,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:173,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:126,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:86,columnNumber:5},void 0)},Vn=({outputType:n,onOutputTypeChange:i,readOnly:r=!1})=>e.jsxDEV("div",{className:"mcp-tool-selector",children:e.jsxDEV("div",{className:"mcp-tool-selector__output-type",children:[e.jsxDEV("span",{className:"mcp-tool-selector__output-type-label",children:"输出类型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:29,columnNumber:9},void 0),e.jsxDEV("div",{className:"mcp-tool-selector__output-type-options",children:r?e.jsxDEV("span",{className:"mcp-tool-selector__output-type-value",children:n==="image"?"图片":n==="video"?"视频":n==="ppt"?"PPT":"文本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:32,columnNumber:13},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${!n||n==="text"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i(void 0),children:"文本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:37,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="image"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("image"),children:"图片"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:43,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="video"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("video"),children:"视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:49,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="ppt"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("ppt"),children:"PPT"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:55,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:36,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:30,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:28,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:26,columnNumber:5},void 0),qn=({note:n,allTags:i,noteTags:r,readOnly:d=!1,isSkillDirectory:k=!1,onUpdateNote:N,onSetNoteTags:b,onCreateTag:l})=>{var Ne;const[j,R]=s.useState(""),[v,y]=s.useState(!1),[B,V]=s.useState(!1),[x,E]=s.useState(null),c=s.useRef(null),m=s.useRef(null),C=s.useRef(null),L=s.useRef(null),z=Ys(),$=typeof window<"u"&&"speechSynthesis"in window,f=s.useMemo(()=>r.map(q=>q.id),[r]),[U,I]=s.useState(void 0);s.useEffect(()=>{var q;I(n&&k&&((q=n.metadata)==null?void 0:q.outputType)||void 0)},[n==null?void 0:n.id,k]);const _=n==null?void 0:n.metadata,H=_&&(_.sourceUrl||_.author||_.domain);s.useEffect(()=>{var G;const q=n?`kb-note:${n.id}`:null;if(m.current&&(clearTimeout(m.current),m.current=null),c.current&&(clearTimeout(c.current),c.current=null),n)if(R(n.title),L.current=n.id,k&&!d){const Q=n.content||"";E(Q.trim()?is.isDSLContent(Q):null)}else E(null);else R(""),L.current=null,E(null);z.mediaType==="reading"&&q&&((G=z.activeReadingSourceId)!=null&&G.startsWith(q))&&z.stopPlayback()},[n==null?void 0:n.id,k,d]);const Y=s.useCallback(q=>{R(q),n&&(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{N(n.id,{title:q})},500))},[n,N]),X=s.useCallback(q=>{n&&(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{N(n.id,{content:q})},500),k&&!d&&(c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{q.trim()?E(is.isDSLContent(q)):E(null)},500)))},[n,N,k,d]),w=s.useCallback(q=>{if(!n)return;I(q);const G={...n.metadata,outputType:q};q||delete G.outputType,D.updateNote(n.id,{metadata:G})},[n]),P=s.useCallback(q=>{n&&b(n.id,q)},[n,b]),A=s.useCallback(()=>{var Z;if(!n)return;const q=`kb-note:${n.id}`;if(z.mediaType==="reading"&&((Z=z.activeReadingSourceId)==null?void 0:Z.startsWith(q))){z.playing?z.pausePlayback():z.resumePlayback();return}const Q=Hs({elementId:q,title:n.title||"知识库笔记",content:[n.title,n.content].filter(Boolean).join(`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./tool-windows-CUNbW1Tz.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{aj as s,ai as e,cY as Fs,d0 as de,cP as me,cZ as Ws,dU as Ve,gq as ls,dP as fe,cF as we,d_ as ke,gr as Os,gs as Xs,aO as O,fb as he,gt as qe,gu as pe,at as cs,cz as Ys,gv as D,gw as Hs,gx as Gs,gy as Qs,cm as Zs,cn as Js,gz as Re,gA as en,au as Ce,gB as Te,gC as sn,ax as nn,bN as an,aM as je,dC as us,ao as be,gD as tn,gE as on,aD as ms,bh as rn,gF as dn,aU as M,gG as fs,gH as bs,fW as ln,br as cn,bt as Je,bO as un,aw as Se,gI as mn,gJ as fn,gK as bn,gL as Nn,aH as gn,gM as es,gN as ss,cK as Ns,ak as Be,gO as xn,gP as pn,gQ as ns,gR as wn,al as kn,gS as hn,gT as jn}from"./tool-windows-DOIu9TAD.js";import{b as Me,g as vn,E as oe,a as is,f as yn}from"./skill-dsl-parser-syNWYxFu.js";import{K as En,M as ze}from"./index-BP77pG9S.js";/* empty css */import{g as gs}from"./index-CfgvFFx3.js";import{M as Dn}from"./ChatDrawer-E6Fog16I.js";import"./katex-Cu_Erd72.js";import"./index-BXzGHPXz.js";import"./browser-DpICcNby.js";import"./video-generation-DnmTlWnm.js";import"./canvas-insertion-CdUQF7IV.js";import"./board-utils-CpAtoKn2.js";import"./index-B2dttXd7.js";import"./ppt-generation-FzjP_rp0.js";import"./video-analyze-6v3Y-rUE.js";import"./main-BFEkxCOK.js";const re="__system_skill__";function Un(n){const i=new Date(n),r=new Date;return i.getFullYear()===r.getFullYear()&&i.getMonth()===r.getMonth()&&i.getDate()===r.getDate()?i.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"}):i.getFullYear()===r.getFullYear()?i.toLocaleDateString("zh-CN",{month:"2-digit",day:"2-digit"}):i.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"})}const _n=({directories:n,notesByDir:i,noteTagsMap:r,noteCounts:d,selectedDirId:k,selectedNoteId:N,expandedDirIds:b,isCreatingDir:l,skillDirName:j="Skill",onSelectDir:R,onToggleExpand:v,onCreateDir:y,onCancelCreateDir:B,onRenameDir:V,onDeleteDir:x,onSelectNote:E,onCreateNote:c,onDeleteNote:m,onDuplicateDir:T,onDuplicateNote:L,onInsertNoteToCanvas:z})=>{const[$,f]=s.useState(""),[U,I]=s.useState(null),[_,H]=s.useState(""),[Y,X]=s.useState(null);s.useEffect(()=>{const g=()=>X(null),K=()=>X(null);return document.addEventListener("click",g),document.addEventListener("scroll",K,!0),()=>{document.removeEventListener("click",g),document.removeEventListener("scroll",K,!0)}},[]);const w=s.useCallback((g,K,F,J=!1)=>{g.preventDefault(),g.stopPropagation(),X({x:g.clientX,y:g.clientY,type:K,id:F,isDefault:J})},[]),P=s.useCallback(async()=>{const g=$.trim();if(g)try{await y(g),f(""),B()}catch{}},[$,y,B]),A=s.useCallback(async g=>{const K=_.trim();if(K)try{await V(g,K),I(null)}catch{}},[_,V]);return e.jsxDEV("div",{className:"kb-tree",children:[l&&e.jsxDEV("div",{className:"kb-tree__create-row",children:[e.jsxDEV("input",{className:"kb-tree__input",value:$,onChange:g=>f(g.target.value),onKeyDown:g=>{g.key==="Enter"&&P(),g.key==="Escape"&&B()},placeholder:"目录名称",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:172,columnNumber:11},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:P,children:e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:184,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:183,columnNumber:11},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:B,children:e.jsxDEV(me,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:187,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:186,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:171,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__list",children:n.map(g=>e.jsxDEV(Kn,{dir:g,isSelected:k===g.id,isExpanded:b.has(g.id),notes:i[g.id]||[],noteCount:d[g.id]||0,noteTagsMap:r,selectedNoteId:N,isRenaming:U===g.id,renameValue:_,onSelectDir:()=>{R(g.id),b.has(g.id)||v(g.id)},onToggleExpand:()=>{v(g.id),X(null)},onStartRename:()=>{I(g.id),H(g.name),X(null)},onRenameChange:H,onRenameConfirm:()=>A(g.id),onRenameCancel:()=>I(null),onDeleteDir:()=>{x(g.id),X(null)},onCreateNote:()=>{c(g.id),X(null)},onSelectNote:E,onDeleteNote:K=>{m(K),X(null)},onContextMenu:K=>w(K,"directory",g.id,g.isDefault),onNoteContextMenu:(K,F)=>w(K,"note",F),isSkillDir:g.name===j},g.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:194,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:192,columnNumber:7},void 0),Y&&Fs.createPortal(e.jsxDEV("div",{className:"kb-context-menu",style:{top:Y.y,left:Y.x,zIndex:Ws.DROPDOWN_PORTAL},onClick:g=>g.stopPropagation(),children:Y.type==="directory"?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{T(Y.id),X(null)},children:[e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:261,columnNumber:19},void 0),e.jsxDEV("span",{children:"复制目录"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:262,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:254,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{var g;I(Y.id),H(((g=n.find(K=>K.id===Y.id))==null?void 0:g.name)||""),X(null)},children:[e.jsxDEV(ls,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:274,columnNumber:19},void 0),e.jsxDEV("span",{children:"重命名"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:275,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:264,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-context-menu__item kb-context-menu__item--danger",onClick:()=>{x(Y.id),X(null)},children:[e.jsxDEV(fe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:284,columnNumber:19},void 0),e.jsxDEV("span",{children:"删除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:285,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:277,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:253,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{L(Y.id),X(null)},children:[e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:297,columnNumber:19},void 0),e.jsxDEV("span",{children:"创建副本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:298,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:290,columnNumber:17},void 0),z&&e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{const K=Object.values(i).flat().find(F=>F.id===Y.id);K&&z(K),X(null)},children:[e.jsxDEV("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsxDEV("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:312,columnNumber:23},void 0),e.jsxDEV("line",{x1:"12",y1:"8",x2:"12",y2:"16"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:313,columnNumber:23},void 0),e.jsxDEV("line",{x1:"8",y1:"12",x2:"16",y2:"12"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:314,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:311,columnNumber:21},void 0),e.jsxDEV("span",{children:"插入到画布"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:316,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:301,columnNumber:19},void 0),e.jsxDEV("div",{className:"kb-context-menu__item kb-context-menu__item--danger",onClick:()=>{m(Y.id),X(null)},children:[e.jsxDEV(fe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:326,columnNumber:19},void 0),e.jsxDEV("span",{children:"删除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:327,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:319,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:289,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:243,columnNumber:11},void 0),document.body)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:169,columnNumber:5},void 0)},Kn=({dir:n,isSelected:i,isExpanded:r,notes:d,noteCount:k,noteTagsMap:N,selectedNoteId:b,isRenaming:l,renameValue:j,isSkillDir:R=!1,onSelectDir:v,onToggleExpand:y,onStartRename:B,onRenameChange:V,onRenameConfirm:x,onRenameCancel:E,onDeleteDir:c,onCreateNote:m,onSelectNote:T,onDeleteNote:L,onContextMenu:z,onNoteContextMenu:$})=>e.jsxDEV("div",{className:`kb-tree__dir ${i?"kb-tree__dir--selected":""}`,children:[e.jsxDEV("div",{className:"kb-tree__dir-row",onClick:v,onContextMenu:z,children:[e.jsxDEV("button",{className:"kb-tree__expand-btn",onClick:f=>{f.stopPropagation(),y()},children:r?e.jsxDEV(we,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:399,columnNumber:25},void 0):e.jsxDEV(ke,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:399,columnNumber:53},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:395,columnNumber:9},void 0),r?e.jsxDEV(Os,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:401,columnNumber:23},void 0):e.jsxDEV(Xs,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:401,columnNumber:50},void 0),l?e.jsxDEV("input",{className:"kb-tree__input kb-tree__input--inline",value:j,onChange:f=>V(f.target.value),onKeyDown:f=>{f.key==="Enter"&&x(),f.key==="Escape"&&E()},onClick:f=>f.stopPropagation(),autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:404,columnNumber:11},void 0):e.jsxDEV("span",{className:"kb-tree__dir-name",children:n.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:416,columnNumber:11},void 0),e.jsxDEV("span",{className:"kb-tree__dir-count",children:k},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:418,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__dir-actions",children:[e.jsxDEV(O,{content:"新建笔记",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:f=>{f.stopPropagation(),m()},children:e.jsxDEV(he,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:429,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:422,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:421,columnNumber:11},void 0),e.jsxDEV(e.Fragment,{children:[e.jsxDEV(O,{content:"重命名",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:f=>{f.stopPropagation(),B()},children:e.jsxDEV(ls,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:441,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:434,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:433,columnNumber:13},void 0),e.jsxDEV(O,{content:"删除",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tree__icon-btn kb-tree__icon-btn--danger",onClick:f=>{f.stopPropagation(),c()},children:e.jsxDEV(fe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:452,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:445,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:444,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:432,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:420,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:394,columnNumber:7},void 0),r&&e.jsxDEV("div",{className:"kb-tree__notes",children:[R&&Me.map(f=>{const U=`${re}${f.id}`,I=b===U;return e.jsxDEV("div",{className:`kb-tree__note-row kb-tree__note-row--system ${I?"kb-tree__note-row--selected":""}`,onClick:()=>T(U),children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:473,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:472,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:e.jsxDEV("div",{className:"kb-tree__note-title",children:[f.name,e.jsxDEV("span",{className:"kb-tree__system-badge",children:"系统"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:478,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:476,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:475,columnNumber:17},void 0)]},U,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:467,columnNumber:15},void 0)}),R&&vn().map(f=>{const U=`${oe}${f.id}`,I=b===U;return e.jsxDEV("div",{className:`kb-tree__note-row kb-tree__note-row--system ${I?"kb-tree__note-row--selected":""}`,onClick:()=>T(U),children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:495,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:494,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:e.jsxDEV("div",{className:"kb-tree__note-title",children:[f.name,e.jsxDEV("span",{className:"kb-tree__system-badge",children:"系统"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:500,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:498,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:497,columnNumber:17},void 0)]},U,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:489,columnNumber:15},void 0)}),d.length===0&&!R&&e.jsxDEV("div",{className:"kb-tree__notes-empty",children:"暂无笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:507,columnNumber:13},void 0),d.length===0&&R&&Me.length===0&&e.jsxDEV("div",{className:"kb-tree__notes-empty",children:"暂无笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:510,columnNumber:13},void 0),Array.from(new Map(d.map(f=>[f.id,f])).values()).map(f=>{const U=b===f.id,I=N[f.id]||[],_=f.metadata;return e.jsxDEV(Bn,{note:f,isSelected:U,tags:I,metadata:_,onSelect:()=>T(f.id),onDelete:()=>L(f.id),onContextMenu:H=>$(H,f.id)},f.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:518,columnNumber:15},void 0)})]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:461,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:392,columnNumber:5},void 0),Bn=({note:n,isSelected:i,tags:r,metadata:d,onSelect:k,onDelete:N,onContextMenu:b})=>e.jsxDEV("div",{className:`kb-tree__note-row ${i?"kb-tree__note-row--selected":""}`,onClick:k,onContextMenu:b,children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(pe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:565,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:564,columnNumber:5},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:[e.jsxDEV("div",{className:"kb-tree__note-title",children:n.title||"无标题"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:568,columnNumber:7},void 0),(d==null?void 0:d.domain)&&e.jsxDEV("div",{className:"kb-tree__note-domain",children:[d.faviconUrl?e.jsxDEV("img",{src:d.faviconUrl,alt:"",className:"kb-tree__favicon",onError:l=>{l.target.style.display="none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:572,columnNumber:13},void 0):e.jsxDEV(cs,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:579,columnNumber:13},void 0),e.jsxDEV("span",{children:d.domain},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:581,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:570,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__note-meta",children:[r.length>0&&e.jsxDEV("div",{className:"kb-tree__note-tags",children:[r.slice(0,2).map(l=>e.jsxDEV("span",{className:"kb-tree__tag-badge",style:{backgroundColor:`${l.color}20`,color:l.color},children:l.name},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:588,columnNumber:15},void 0)),r.length>2&&e.jsxDEV("span",{className:"kb-tree__tag-more",children:["+",r.length-2]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:597,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:586,columnNumber:11},void 0),r.length===0&&!(d!=null&&d.domain)&&e.jsxDEV("span",{className:"kb-tree__note-time",children:Un(n.updatedAt)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:602,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:584,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:567,columnNumber:5},void 0),e.jsxDEV("button",{className:"kb-tree__note-delete",onClick:l=>{l.stopPropagation(),N()},title:"删除笔记",children:e.jsxDEV(fe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:611,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:606,columnNumber:5},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:559,columnNumber:3},void 0),as=({allTags:n,selectedTagIds:i,onSelectedChange:r,onCreateTag:d,showCount:k=!1})=>{const[N,b]=s.useState(!1),[l,j]=s.useState(""),[R,v]=s.useState(!1),y=s.useRef(null);s.useEffect(()=>{if(!N)return;const c=m=>{y.current&&!y.current.contains(m.target)&&(b(!1),v(!1),j(""))};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[N]);const B=s.useCallback(c=>{const m=i.includes(c)?i.filter(T=>T!==c):[...i,c];r(m)},[i,r]),V=s.useCallback((c,m)=>{m.stopPropagation(),r(i.filter(T=>T!==c))},[i,r]),x=s.useCallback(async()=>{const c=l.trim();if(c)try{const m=await d(c);r([...i,m.id]),j(""),v(!1)}catch{}},[l,d,i,r]),E=n.filter(c=>i.includes(c.id));return e.jsxDEV("div",{className:"kb-tag-selector",ref:y,children:[e.jsxDEV("div",{className:"kb-tag-selector__selected",children:[E.map(c=>e.jsxDEV("span",{className:"kb-tag-selector__tag kb-tag-selector__tag--selected",style:{"--tag-color":c.color,borderColor:c.color,backgroundColor:`${c.color}15`},children:[e.jsxDEV("span",{className:"kb-tag-selector__dot",style:{backgroundColor:c.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:99,columnNumber:13},void 0),e.jsxDEV("span",{children:c.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:100,columnNumber:13},void 0),e.jsxDEV("button",{className:"kb-tag-selector__remove",onClick:m=>V(c.id,m),children:e.jsxDEV(O,{content:"移除标签",showArrow:!1,children:e.jsxDEV("span",{children:e.jsxDEV(me,{size:11},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:107,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:106,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:105,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:101,columnNumber:13},void 0)]},c.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:90,columnNumber:11},void 0)),e.jsxDEV("button",{className:"kb-tag-selector__add-btn",onClick:()=>b(c=>!c),children:[e.jsxDEV(he,{size:13},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:119,columnNumber:11},void 0),e.jsxDEV("span",{children:"标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:120,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:115,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:88,columnNumber:7},void 0),N&&e.jsxDEV("div",{className:"kb-tag-selector__dropdown",children:[e.jsxDEV("div",{className:"kb-tag-selector__tags",children:[n.length===0&&e.jsxDEV("span",{className:"kb-tag-selector__empty",children:"暂无标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:130,columnNumber:15},void 0),n.map(c=>{const m=i.includes(c.id);return e.jsxDEV("button",{className:`kb-tag-selector__tag ${m?"kb-tag-selector__tag--selected":""}`,style:{"--tag-color":c.color,borderColor:m?c.color:void 0,backgroundColor:m?`${c.color}15`:void 0},onClick:()=>B(c.id),children:[e.jsxDEV("span",{className:"kb-tag-selector__dot",style:{backgroundColor:c.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:145,columnNumber:19},void 0),e.jsxDEV("span",{children:c.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:146,columnNumber:19},void 0),k&&e.jsxDEV("span",{className:"kb-tag-selector__count",children:["(",c.count,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:147,columnNumber:33},void 0),m&&e.jsxDEV(me,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:148,columnNumber:34},void 0)]},c.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:135,columnNumber:17},void 0)})]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:128,columnNumber:11},void 0),R?e.jsxDEV("div",{className:"kb-tag-selector__create",children:[e.jsxDEV("input",{className:"kb-tag-selector__input",value:l,onChange:c=>j(c.target.value),onKeyDown:c=>{c.key==="Enter"&&x(),c.key==="Escape"&&(v(!1),j(""))},placeholder:"标签名称",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:157,columnNumber:15},void 0),e.jsxDEV("button",{className:"kb-tag-selector__create-btn",onClick:x,children:"确定"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:168,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:156,columnNumber:13},void 0):e.jsxDEV("button",{className:"kb-tag-selector__new-btn",onClick:()=>v(!0),children:[e.jsxDEV(he,{size:13},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:177,columnNumber:15},void 0),e.jsxDEV("span",{children:"新建标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:178,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:173,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:126,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:86,columnNumber:5},void 0)},Vn=({outputType:n,onOutputTypeChange:i,readOnly:r=!1})=>e.jsxDEV("div",{className:"mcp-tool-selector",children:e.jsxDEV("div",{className:"mcp-tool-selector__output-type",children:[e.jsxDEV("span",{className:"mcp-tool-selector__output-type-label",children:"输出类型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:29,columnNumber:9},void 0),e.jsxDEV("div",{className:"mcp-tool-selector__output-type-options",children:r?e.jsxDEV("span",{className:"mcp-tool-selector__output-type-value",children:n==="image"?"图片":n==="video"?"视频":n==="audio"?"音频":n==="ppt"?"PPT":"文本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:32,columnNumber:13},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${!n||n==="text"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i(void 0),children:"文本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:37,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="image"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("image"),children:"图片"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:43,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="video"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("video"),children:"视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:49,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="audio"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("audio"),children:"音频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:55,columnNumber:15},void 0),e.jsxDEV("button",{className:`mcp-tool-selector__output-type-btn ${n==="ppt"?"mcp-tool-selector__output-type-btn--active":""}`,onClick:()=>i==null?void 0:i("ppt"),children:"PPT"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:61,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:36,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:30,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:28,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/McpToolSelector.tsx",lineNumber:26,columnNumber:5},void 0),qn=({note:n,allTags:i,noteTags:r,readOnly:d=!1,isSkillDirectory:k=!1,onUpdateNote:N,onSetNoteTags:b,onCreateTag:l})=>{var Ne;const[j,R]=s.useState(""),[v,y]=s.useState(!1),[B,V]=s.useState(!1),[x,E]=s.useState(null),c=s.useRef(null),m=s.useRef(null),T=s.useRef(null),L=s.useRef(null),z=Ys(),$=typeof window<"u"&&"speechSynthesis"in window,f=s.useMemo(()=>r.map(q=>q.id),[r]),[U,I]=s.useState(void 0);s.useEffect(()=>{var q;I(n&&k&&((q=n.metadata)==null?void 0:q.outputType)||void 0)},[n==null?void 0:n.id,k]);const _=n==null?void 0:n.metadata,H=_&&(_.sourceUrl||_.author||_.domain);s.useEffect(()=>{var G;const q=n?`kb-note:${n.id}`:null;if(m.current&&(clearTimeout(m.current),m.current=null),c.current&&(clearTimeout(c.current),c.current=null),n)if(R(n.title),L.current=n.id,k&&!d){const Q=n.content||"";E(Q.trim()?is.isDSLContent(Q):null)}else E(null);else R(""),L.current=null,E(null);z.mediaType==="reading"&&q&&((G=z.activeReadingSourceId)!=null&&G.startsWith(q))&&z.stopPlayback()},[n==null?void 0:n.id,k,d]);const Y=s.useCallback(q=>{R(q),n&&(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{N(n.id,{title:q})},500))},[n,N]),X=s.useCallback(q=>{n&&(m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{N(n.id,{content:q})},500),k&&!d&&(c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{q.trim()?E(is.isDSLContent(q)):E(null)},500)))},[n,N,k,d]),w=s.useCallback(q=>{if(!n)return;I(q);const G={...n.metadata,outputType:q};q||delete G.outputType,D.updateNote(n.id,{metadata:G})},[n]),P=s.useCallback(q=>{n&&b(n.id,q)},[n,b]),A=s.useCallback(()=>{var Z;if(!n)return;const q=`kb-note:${n.id}`;if(z.mediaType==="reading"&&((Z=z.activeReadingSourceId)==null?void 0:Z.startsWith(q))){z.playing?z.pausePlayback():z.resumePlayback();return}const Q=Hs({elementId:q,title:n.title||"知识库笔记",content:[n.title,n.content].filter(Boolean).join(`
|
|
3
3
|
|
|
4
|
-
`),origin:{kind:"kb-note",id:n.id}});Q&&Gs({source:Q,queue:[Q]})},[n,z]),g=s.useCallback(async()=>{if(!n)return;const q=await D.exportNoteAsMarkdown(n.id);if(!q)return;const G=new Blob([q.content],{type:"text/markdown;charset=utf-8"}),Q=URL.createObjectURL(G),Z=document.createElement("a");Z.href=Q,Z.download=q.filename,document.body.appendChild(Z),Z.click(),document.body.removeChild(Z),URL.revokeObjectURL(Q)},[n]),K=s.useCallback(()=>{d||V(!0)},[d]),F=s.useCallback(q=>{var G;(G=C.current)==null||G.insertMarkdown(En(q)),V(!1)},[]);if(s.useEffect(()=>()=>{m.current&&clearTimeout(m.current),c.current&&clearTimeout(c.current)},[]),!n)return e.jsxDEV("div",{className:"kb-note-editor kb-note-editor--empty",children:e.jsxDEV("div",{className:"kb-note-editor__placeholder",children:[e.jsxDEV("div",{className:"kb-note-editor__placeholder-icon",children:e.jsxDEV(Qs,{size:64,strokeWidth:1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:279,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:278,columnNumber:11},void 0),e.jsxDEV("h3",{className:"kb-note-editor__placeholder-title",children:"无笔记选中"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:281,columnNumber:11},void 0),e.jsxDEV("p",{className:"kb-note-editor__placeholder-text",children:"选择左侧的一篇笔记开始编辑,或者创建一个新笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:282,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:277,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:276,columnNumber:7},void 0);const J=`kb-note:${n.id}`,se=z.mediaType==="reading"&&((Ne=z.activeReadingSourceId)==null?void 0:Ne.startsWith(J));return e.jsxDEV("div",{className:`kb-note-editor ${d?"kb-note-editor--readonly":""}`,children:[d&&e.jsxDEV("div",{className:"kb-note-editor__readonly-banner",children:[e.jsxDEV(qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:300,columnNumber:11},void 0),e.jsxDEV("span",{children:"系统内置 Skill,不可修改"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:301,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:299,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__title-row",children:[e.jsxDEV("input",{className:"kb-note-editor__title",value:j,onChange:q=>!d&&Y(q.target.value),placeholder:"笔记标题",readOnly:d},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:306,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__actions",children:[$&&e.jsxDEV(O,{content:se?z.playing?"暂停朗读":"继续朗读":"语音朗读",showArrow:!1,children:e.jsxDEV("button",{className:`kb-note-editor__action-btn ${se?"kb-note-editor__action-btn--active":""}`,onClick:A,children:se&&z.playing?e.jsxDEV(Zs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:330,columnNumber:19},void 0):e.jsxDEV(Js,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:332,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:325,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:315,columnNumber:13},void 0),$&&se&&e.jsxDEV(O,{content:"停止朗读",showArrow:!1,children:e.jsxDEV("button",{className:"kb-note-editor__action-btn kb-note-editor__action-btn--danger",onClick:z.stopPlayback,children:"■"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:339,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:338,columnNumber:13},void 0),e.jsxDEV(O,{content:"导出 Markdown",showArrow:!1,children:e.jsxDEV("button",{className:"kb-note-editor__action-btn",onClick:g,children:e.jsxDEV(Re,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:352,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:348,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:347,columnNumber:11},void 0),!d&&e.jsxDEV(O,{content:"插入素材",showArrow:!1,children:e.jsxDEV("button",{className:"kb-note-editor__action-btn",onClick:K,children:e.jsxDEV(en,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:361,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:357,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:356,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:313,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:305,columnNumber:7},void 0),H&&e.jsxDEV("div",{className:`kb-note-editor__metadata-section ${v?"kb-note-editor__metadata-section--collapsed":""}`,children:[e.jsxDEV("button",{className:"kb-note-editor__metadata-toggle",onClick:()=>y(!v),title:v?"展开来源信息":"收起来源信息",children:[v?e.jsxDEV(ke,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:376,columnNumber:34},void 0):e.jsxDEV(we,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:376,columnNumber:63},void 0),e.jsxDEV("span",{children:"来源信息"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:377,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:371,columnNumber:11},void 0),v&&e.jsxDEV("div",{className:"kb-note-editor__metadata-collapsed",children:[_.author&&e.jsxDEV("span",{className:"kb-note-editor__metadata-collapsed-item",children:[e.jsxDEV(Te,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:385,columnNumber:19},void 0),e.jsxDEV("span",{children:_.author},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:386,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:384,columnNumber:17},void 0),_.sourceUrl&&e.jsxDEV("a",{href:_.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"kb-note-editor__metadata-collapsed-link",onClick:q=>q.stopPropagation(),title:_.sourceUrl,children:[e.jsxDEV(Ce,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:398,columnNumber:19},void 0),e.jsxDEV("span",{children:_.domain||_.sourceUrl},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:399,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:390,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:382,columnNumber:13},void 0),!v&&e.jsxDEV("div",{className:"kb-note-editor__metadata-body",children:[e.jsxDEV("div",{className:"kb-note-editor__tags",children:e.jsxDEV(as,{allTags:i,selectedTagIds:f,onSelectedChange:P,onCreateTag:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:410,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:409,columnNumber:15},void 0),e.jsxDEV("div",{className:"kb-note-editor__metadata-info",children:[_.domain&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[_.faviconUrl?e.jsxDEV("img",{src:_.faviconUrl,alt:"",className:"kb-note-editor__favicon",onError:q=>{q.currentTarget.style.display="none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:423,columnNumber:23},void 0):e.jsxDEV(cs,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:430,columnNumber:23},void 0),e.jsxDEV("span",{children:_.domain},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:432,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:421,columnNumber:19},void 0),_.author&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[e.jsxDEV(Te,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:437,columnNumber:21},void 0),e.jsxDEV("span",{children:_.author},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:438,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:436,columnNumber:19},void 0),_.publishedAt&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[e.jsxDEV(sn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:443,columnNumber:21},void 0),e.jsxDEV("span",{children:_.publishedAt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:444,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:442,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:419,columnNumber:15},void 0),_.sourceUrl&&e.jsxDEV("a",{href:_.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"kb-note-editor__source-link",children:_.sourceUrl},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:449,columnNumber:17},void 0),_.description&&e.jsxDEV("p",{className:"kb-note-editor__metadata-desc",children:_.description},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:459,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:407,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:370,columnNumber:9},void 0),!H&&e.jsxDEV("div",{className:"kb-note-editor__tags",children:e.jsxDEV(as,{allTags:i,selectedTagIds:f,onSelectedChange:P,onCreateTag:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:469,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:468,columnNumber:9},void 0),k&&e.jsxDEV("div",{className:"kb-note-editor__mcp-tools",children:e.jsxDEV(Vn,{outputType:U,onOutputTypeChange:w,readOnly:d},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:481,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:480,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__content",children:e.jsxDEV(ze,{ref:C,markdown:n.content,onChange:d?void 0:X,placeholder:"开始写点什么...",showModeSwitch:!d,readOnly:d,enableAssetEmbeds:!0,enableAssetLibraryImagePicker:!d,className:"kb-note-markdown"},n.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:491,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:490,columnNumber:7},void 0),k&&!d&&x!==null&&e.jsxDEV("div",{className:`kb-note-editor__dsl-status ${x?"kb-note-editor__dsl-status--valid":"kb-note-editor__dsl-status--fallback"}`,children:x?"✓ 已识别为工作流 DSL(正则解析),将直接执行":"⚡ 将由 AI 解析为工作流(大模型解析)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:507,columnNumber:9},void 0),B&&e.jsxDEV(nn,{isOpen:B,onClose:()=>V(!1),mode:an.SELECT,onSelect:F,selectButtonText:"插入到笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:516,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:296,columnNumber:5},void 0)},Tn=({allTags:n,selectedTagIds:i,onSelectedChange:r})=>{const[d,k]=s.useState(""),[N,b]=s.useState(!1),l=s.useMemo(()=>{if(!d)return n;const y=d.toLowerCase();return n.filter(B=>B.name.toLowerCase().includes(y))},[n,d]),j=y=>{const B=i.includes(y)?i.filter(V=>V!==y):[...i,y];r(B)},R=()=>{r([]),b(!1)},v=e.jsxDEV("div",{className:"kb-filter-dropdown__content",children:[e.jsxDEV("div",{className:"kb-filter-dropdown__search",children:e.jsxDEV(je,{value:d,onChange:y=>k(y),placeholder:"搜索标签...",prefixIcon:e.jsxDEV(us,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:47,columnNumber:23},void 0),size:"small",clearable:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:43,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:42,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-filter-dropdown__list",children:l.length>0?l.map(y=>{const B=i.includes(y.id);return e.jsxDEV("div",{className:`kb-filter-dropdown__item ${B?"is-selected":""}`,onClick:()=>j(y.id),children:[e.jsxDEV("span",{className:"kb-filter-dropdown__item-dot",style:{backgroundColor:y.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:62,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-filter-dropdown__item-name",children:y.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:66,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-filter-dropdown__item-count",children:["(",y.count||0,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:67,columnNumber:17},void 0),B&&e.jsxDEV(de,{size:14,className:"kb-filter-dropdown__item-check"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:68,columnNumber:32},void 0)]},y.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:57,columnNumber:15},void 0)}):e.jsxDEV("div",{className:"kb-filter-dropdown__empty",children:"无匹配标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:73,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:52,columnNumber:7},void 0),i.length>0&&e.jsxDEV("div",{className:"kb-filter-dropdown__footer",children:e.jsxDEV(be,{theme:"default",variant:"text",size:"small",onClick:R,className:"kb-filter-dropdown__clear-btn",children:[e.jsxDEV(me,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:85,columnNumber:13},void 0),"清除标签过滤"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:78,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:77,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:41,columnNumber:5},void 0);return e.jsxDEV(tn,{content:v,visible:N,onVisibleChange:y=>b(y),trigger:"click",placement:"bottom-left",overlayClassName:"kb-filter-dropdown__popup",children:e.jsxDEV(be,{variant:i.length>0?"base":"outline",theme:i.length>0?"primary":"default",size:"small",className:`kb-filter-trigger ${i.length>0?"is-active":""}`,children:[e.jsxDEV(on,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:108,columnNumber:9},void 0),"标签",i.length>0&&` (${i.length})`]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:102,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:94,columnNumber:5},void 0)},Cn=({visible:n,onClose:i,allTags:r,onCreateTag:d,onUpdateTag:k,onDeleteTag:N,onSelectTag:b})=>{const{confirm:l,confirmDialog:j}=ms(),[R,v]=s.useState(!1),[y,B]=s.useState(""),[V,x]=s.useState(null),[E,c]=s.useState(""),m=s.useRef(null);s.useEffect(()=>{R&&m.current&&setTimeout(()=>{var f;(f=m.current)==null||f.focus()},100)},[R]);const C=async()=>{if(!y.trim()){v(!1);return}try{await d(y.trim()),B(""),v(!1),M.success("标签创建成功")}catch{M.error("标签创建失败")}},L=async f=>{if(!E.trim()){x(null);return}try{await k(f,E.trim()),x(null),M.success("标签更新成功")}catch{M.error("标签更新失败")}},z=async(f,U)=>{f.stopPropagation();try{const I=r.find(H=>H.id===U);if(!await l({title:"确认删除标签",description:`确定要删除标签「${(I==null?void 0:I.name)||"未命名标签"}」吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0}))return;await N(U),M.success("标签删除成功")}catch{M.error("标签删除失败")}},$=(f,U)=>{f.stopPropagation(),x(U.id),c(U.name)};return e.jsxDEV(rn,{header:"管理标签",visible:n,onClose:i,footer:null,width:400,className:"kb-tag-management-dialog",children:[e.jsxDEV("div",{className:"kb-tag-list",children:[R?e.jsxDEV("div",{className:"kb-tag-item kb-tag-item--creating",children:e.jsxDEV(je,{ref:m,value:y,onChange:f=>B(f),onEnter:C,onBlur:C,placeholder:"输入标签名称...",size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:113,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:112,columnNumber:11},void 0):e.jsxDEV("div",{className:"kb-tag-item kb-tag-item--create-btn",onClick:()=>v(!0),children:[e.jsxDEV(he,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:128,columnNumber:13},void 0),e.jsxDEV("span",{children:"新建标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:129,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:124,columnNumber:11},void 0),r.map(f=>e.jsxDEV("div",{className:"kb-tag-item",onClick:()=>{b&&!V&&(b(f.id),i())},children:V===f.id?e.jsxDEV("div",{className:"kb-tag-item__editing",onClick:U=>U.stopPropagation(),children:[e.jsxDEV(je,{value:E,onChange:U=>c(U),onEnter:()=>L(f.id),size:"small",autofocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:147,columnNumber:17},void 0),e.jsxDEV(be,{shape:"circle",variant:"text",size:"small",onClick:()=>L(f.id),children:e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:160,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:154,columnNumber:17},void 0),e.jsxDEV(be,{shape:"circle",variant:"text",size:"small",onClick:()=>x(null),children:e.jsxDEV(me,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:168,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:162,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:146,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("span",{className:"kb-tag-item__dot",style:{backgroundColor:f.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:173,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-tag-item__name",children:f.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:177,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-tag-item__count",children:f.count?`(${f.count} 个笔记)`:"(0 个笔记)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:178,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tag-item__actions",children:[e.jsxDEV(O,{content:"重命名",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tag-item__action-btn",onClick:U=>$(U,f),children:e.jsxDEV(dn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:188,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:184,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:183,columnNumber:19},void 0),e.jsxDEV(O,{content:"删除",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tag-item__action-btn kb-tag-item__action-btn--delete",onClick:U=>z(U,f.id),children:e.jsxDEV(fe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:196,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:192,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:191,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:182,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:172,columnNumber:15},void 0)},f.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:135,columnNumber:11},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:109,columnNumber:7},void 0),j]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:101,columnNumber:5},void 0)},ts=10,Sn=({currentNoteId:n,allNotes:i,noteTagsMap:r,onSelectNote:d})=>{const[k,N]=s.useState([]),[b,l]=s.useState(!1),[j,R]=s.useState(!1);s.useEffect(()=>{let x=!1;return(async()=>{try{const c=await gs().getRelatedNotes(n,ts);x||N(c)}catch{x||N([])}})(),()=>{x=!0}},[n]);const v=s.useMemo(()=>i.find(x=>x.id===n),[i,n]),y=s.useMemo(()=>{var E;const x=(E=v==null?void 0:v.metadata)==null?void 0:E.sourceUrl;return x?i.filter(c=>{var m;return c.id!==n&&((m=c==null?void 0:c.metadata)==null?void 0:m.sourceUrl)===x}):[]},[i,n,v]),B=s.useMemo(()=>new Set(y.map(x=>x.id)),[y]),V=s.useMemo(()=>{if(k.length>0){const m=new Set;return k.filter(C=>B.has(C.id)||m.has(C.id)?!1:(m.add(C.id),!0))}const x=r[n]||[],E=new Set(x.map(m=>m.id));if(!v)return[];const c=[];for(const m of i){if(m.id===n||B.has(m.id))continue;const L=(r[m.id]||[]).map(_=>_.id),z=L.filter(_=>E.has(_)).length,$=new Set([...E,...L]).size,f=$>0?z/$:0,U=Mn(v.title,m.title),I=f*.7+U*.3;I>.05&&c.push({id:m.id,title:m.title||"无标题",score:I})}return c.sort((m,C)=>C.score-m.score).slice(0,ts)},[k,B,i,n,r,v]);return y.length===0&&V.length===0?null:e.jsxDEV("div",{className:"kb-related-notes",children:[y.length>0&&e.jsxDEV("div",{className:"kb-related-notes__section",children:[e.jsxDEV("button",{className:"kb-related-notes__section-header",onClick:()=>l(!b),children:[b?e.jsxDEV(ke,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:102,columnNumber:33},void 0):e.jsxDEV(we,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:102,columnNumber:62},void 0),e.jsxDEV(fs,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:103,columnNumber:13},void 0),e.jsxDEV("span",{children:"相关笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:104,columnNumber:13},void 0),e.jsxDEV("span",{className:"kb-related-notes__count",children:y.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:105,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:98,columnNumber:11},void 0),!b&&e.jsxDEV("div",{className:"kb-related-notes__list",children:y.map(x=>e.jsxDEV("div",{className:"kb-related-notes__item",onClick:()=>d(x.id),children:[e.jsxDEV(pe,{size:12,className:"kb-related-notes__icon"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:115,columnNumber:19},void 0),e.jsxDEV("span",{className:"kb-related-notes__name",children:x.title||"无标题"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:116,columnNumber:19},void 0),e.jsxDEV(O,{content:"跳转",showArrow:!1,children:e.jsxDEV("button",{className:"kb-related-notes__goto-btn",onClick:E=>{E.stopPropagation(),d(x.id)},children:e.jsxDEV(Ce,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:125,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:118,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:117,columnNumber:19},void 0)]},`related-${x.id}`,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:110,columnNumber:17},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:108,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:97,columnNumber:9},void 0),V.length>0&&e.jsxDEV("div",{className:"kb-related-notes__section",children:[e.jsxDEV("button",{className:"kb-related-notes__section-header",onClick:()=>R(!j),children:[j?e.jsxDEV(ke,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:142,columnNumber:33},void 0):e.jsxDEV(we,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:142,columnNumber:62},void 0),e.jsxDEV(pe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:143,columnNumber:13},void 0),e.jsxDEV("span",{children:"相似笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:144,columnNumber:13},void 0),e.jsxDEV("span",{className:"kb-related-notes__count",children:V.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:145,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:138,columnNumber:11},void 0),!j&&e.jsxDEV("div",{className:"kb-related-notes__list",children:V.map(x=>{const E="score"in x?x.score:void 0;return e.jsxDEV("div",{className:"kb-related-notes__item",onClick:()=>d(x.id),children:[e.jsxDEV(pe,{size:12,className:"kb-related-notes__icon"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:157,columnNumber:21},void 0),e.jsxDEV("span",{className:"kb-related-notes__name",children:x.title},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:158,columnNumber:21},void 0),E!==void 0&&e.jsxDEV("span",{className:"kb-related-notes__similarity",children:[Math.round(E*100),"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:160,columnNumber:23},void 0),e.jsxDEV(O,{content:"跳转",showArrow:!1,children:e.jsxDEV("button",{className:"kb-related-notes__goto-btn",onClick:c=>{c.stopPropagation(),d(x.id)},children:e.jsxDEV(Ce,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:172,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:165,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:164,columnNumber:21},void 0)]},`similar-${x.id}`,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:152,columnNumber:19},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:148,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:137,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:94,columnNumber:5},void 0)};function Mn(n,i){if(!n||!i)return 0;const r=n.toLowerCase(),d=i.toLowerCase(),k=new Set;for(let j=0;j<r.length-1;j++)k.add(r.substring(j,j+2));const N=new Set;for(let j=0;j<d.length-1;j++)N.add(d.substring(j,j+2));let b=0;for(const j of k)N.has(j)&&b++;const l=k.size+N.size;return l===0?0:2*b/l}const Rn=`你是一个专业的知识提取助手,擅长从文本中识别和提取关键知识点。你的任务是分析给定的文本内容,提取出有价值的知识点,并以结构化的 Markdown 格式返回。
|
|
4
|
+
`),origin:{kind:"kb-note",id:n.id}});Q&&Gs({source:Q,queue:[Q]})},[n,z]),g=s.useCallback(async()=>{if(!n)return;const q=await D.exportNoteAsMarkdown(n.id);if(!q)return;const G=new Blob([q.content],{type:"text/markdown;charset=utf-8"}),Q=URL.createObjectURL(G),Z=document.createElement("a");Z.href=Q,Z.download=q.filename,document.body.appendChild(Z),Z.click(),document.body.removeChild(Z),URL.revokeObjectURL(Q)},[n]),K=s.useCallback(()=>{d||V(!0)},[d]),F=s.useCallback(q=>{var G;(G=T.current)==null||G.insertMarkdown(En(q)),V(!1)},[]);if(s.useEffect(()=>()=>{m.current&&clearTimeout(m.current),c.current&&clearTimeout(c.current)},[]),!n)return e.jsxDEV("div",{className:"kb-note-editor kb-note-editor--empty",children:e.jsxDEV("div",{className:"kb-note-editor__placeholder",children:[e.jsxDEV("div",{className:"kb-note-editor__placeholder-icon",children:e.jsxDEV(Qs,{size:64,strokeWidth:1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:279,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:278,columnNumber:11},void 0),e.jsxDEV("h3",{className:"kb-note-editor__placeholder-title",children:"无笔记选中"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:281,columnNumber:11},void 0),e.jsxDEV("p",{className:"kb-note-editor__placeholder-text",children:"选择左侧的一篇笔记开始编辑,或者创建一个新笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:282,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:277,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:276,columnNumber:7},void 0);const J=`kb-note:${n.id}`,se=z.mediaType==="reading"&&((Ne=z.activeReadingSourceId)==null?void 0:Ne.startsWith(J));return e.jsxDEV("div",{className:`kb-note-editor ${d?"kb-note-editor--readonly":""}`,children:[d&&e.jsxDEV("div",{className:"kb-note-editor__readonly-banner",children:[e.jsxDEV(qe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:300,columnNumber:11},void 0),e.jsxDEV("span",{children:"系统内置 Skill,不可修改"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:301,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:299,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__title-row",children:[e.jsxDEV("input",{className:"kb-note-editor__title",value:j,onChange:q=>!d&&Y(q.target.value),placeholder:"笔记标题",readOnly:d},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:306,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__actions",children:[$&&e.jsxDEV(O,{content:se?z.playing?"暂停朗读":"继续朗读":"语音朗读",showArrow:!1,children:e.jsxDEV("button",{className:`kb-note-editor__action-btn ${se?"kb-note-editor__action-btn--active":""}`,onClick:A,children:se&&z.playing?e.jsxDEV(Zs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:330,columnNumber:19},void 0):e.jsxDEV(Js,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:332,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:325,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:315,columnNumber:13},void 0),$&&se&&e.jsxDEV(O,{content:"停止朗读",showArrow:!1,children:e.jsxDEV("button",{className:"kb-note-editor__action-btn kb-note-editor__action-btn--danger",onClick:z.stopPlayback,children:"■"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:339,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:338,columnNumber:13},void 0),e.jsxDEV(O,{content:"导出 Markdown",showArrow:!1,children:e.jsxDEV("button",{className:"kb-note-editor__action-btn",onClick:g,children:e.jsxDEV(Re,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:352,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:348,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:347,columnNumber:11},void 0),!d&&e.jsxDEV(O,{content:"插入素材",showArrow:!1,children:e.jsxDEV("button",{className:"kb-note-editor__action-btn",onClick:K,children:e.jsxDEV(en,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:361,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:357,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:356,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:313,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:305,columnNumber:7},void 0),H&&e.jsxDEV("div",{className:`kb-note-editor__metadata-section ${v?"kb-note-editor__metadata-section--collapsed":""}`,children:[e.jsxDEV("button",{className:"kb-note-editor__metadata-toggle",onClick:()=>y(!v),title:v?"展开来源信息":"收起来源信息",children:[v?e.jsxDEV(ke,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:376,columnNumber:34},void 0):e.jsxDEV(we,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:376,columnNumber:63},void 0),e.jsxDEV("span",{children:"来源信息"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:377,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:371,columnNumber:11},void 0),v&&e.jsxDEV("div",{className:"kb-note-editor__metadata-collapsed",children:[_.author&&e.jsxDEV("span",{className:"kb-note-editor__metadata-collapsed-item",children:[e.jsxDEV(Ce,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:385,columnNumber:19},void 0),e.jsxDEV("span",{children:_.author},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:386,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:384,columnNumber:17},void 0),_.sourceUrl&&e.jsxDEV("a",{href:_.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"kb-note-editor__metadata-collapsed-link",onClick:q=>q.stopPropagation(),title:_.sourceUrl,children:[e.jsxDEV(Te,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:398,columnNumber:19},void 0),e.jsxDEV("span",{children:_.domain||_.sourceUrl},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:399,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:390,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:382,columnNumber:13},void 0),!v&&e.jsxDEV("div",{className:"kb-note-editor__metadata-body",children:[e.jsxDEV("div",{className:"kb-note-editor__tags",children:e.jsxDEV(as,{allTags:i,selectedTagIds:f,onSelectedChange:P,onCreateTag:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:410,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:409,columnNumber:15},void 0),e.jsxDEV("div",{className:"kb-note-editor__metadata-info",children:[_.domain&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[_.faviconUrl?e.jsxDEV("img",{src:_.faviconUrl,alt:"",className:"kb-note-editor__favicon",onError:q=>{q.currentTarget.style.display="none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:423,columnNumber:23},void 0):e.jsxDEV(cs,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:430,columnNumber:23},void 0),e.jsxDEV("span",{children:_.domain},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:432,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:421,columnNumber:19},void 0),_.author&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[e.jsxDEV(Ce,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:437,columnNumber:21},void 0),e.jsxDEV("span",{children:_.author},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:438,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:436,columnNumber:19},void 0),_.publishedAt&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[e.jsxDEV(sn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:443,columnNumber:21},void 0),e.jsxDEV("span",{children:_.publishedAt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:444,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:442,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:419,columnNumber:15},void 0),_.sourceUrl&&e.jsxDEV("a",{href:_.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"kb-note-editor__source-link",children:_.sourceUrl},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:449,columnNumber:17},void 0),_.description&&e.jsxDEV("p",{className:"kb-note-editor__metadata-desc",children:_.description},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:459,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:407,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:370,columnNumber:9},void 0),!H&&e.jsxDEV("div",{className:"kb-note-editor__tags",children:e.jsxDEV(as,{allTags:i,selectedTagIds:f,onSelectedChange:P,onCreateTag:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:469,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:468,columnNumber:9},void 0),k&&e.jsxDEV("div",{className:"kb-note-editor__mcp-tools",children:e.jsxDEV(Vn,{outputType:U,onOutputTypeChange:w,readOnly:d},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:481,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:480,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__content",children:e.jsxDEV(ze,{ref:T,markdown:n.content,onChange:d?void 0:X,placeholder:"开始写点什么...",showModeSwitch:!d,readOnly:d,enableAssetEmbeds:!0,enableAssetLibraryImagePicker:!d,className:"kb-note-markdown"},n.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:491,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:490,columnNumber:7},void 0),k&&!d&&x!==null&&e.jsxDEV("div",{className:`kb-note-editor__dsl-status ${x?"kb-note-editor__dsl-status--valid":"kb-note-editor__dsl-status--fallback"}`,children:x?"✓ 已识别为工作流 DSL(正则解析),将直接执行":"⚡ 将由 AI 解析为工作流(大模型解析)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:507,columnNumber:9},void 0),B&&e.jsxDEV(nn,{isOpen:B,onClose:()=>V(!1),mode:an.SELECT,onSelect:F,selectButtonText:"插入到笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:516,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:296,columnNumber:5},void 0)},Cn=({allTags:n,selectedTagIds:i,onSelectedChange:r})=>{const[d,k]=s.useState(""),[N,b]=s.useState(!1),l=s.useMemo(()=>{if(!d)return n;const y=d.toLowerCase();return n.filter(B=>B.name.toLowerCase().includes(y))},[n,d]),j=y=>{const B=i.includes(y)?i.filter(V=>V!==y):[...i,y];r(B)},R=()=>{r([]),b(!1)},v=e.jsxDEV("div",{className:"kb-filter-dropdown__content",children:[e.jsxDEV("div",{className:"kb-filter-dropdown__search",children:e.jsxDEV(je,{value:d,onChange:y=>k(y),placeholder:"搜索标签...",prefixIcon:e.jsxDEV(us,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:47,columnNumber:23},void 0),size:"small",clearable:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:43,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:42,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-filter-dropdown__list",children:l.length>0?l.map(y=>{const B=i.includes(y.id);return e.jsxDEV("div",{className:`kb-filter-dropdown__item ${B?"is-selected":""}`,onClick:()=>j(y.id),children:[e.jsxDEV("span",{className:"kb-filter-dropdown__item-dot",style:{backgroundColor:y.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:62,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-filter-dropdown__item-name",children:y.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:66,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-filter-dropdown__item-count",children:["(",y.count||0,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:67,columnNumber:17},void 0),B&&e.jsxDEV(de,{size:14,className:"kb-filter-dropdown__item-check"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:68,columnNumber:32},void 0)]},y.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:57,columnNumber:15},void 0)}):e.jsxDEV("div",{className:"kb-filter-dropdown__empty",children:"无匹配标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:73,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:52,columnNumber:7},void 0),i.length>0&&e.jsxDEV("div",{className:"kb-filter-dropdown__footer",children:e.jsxDEV(be,{theme:"default",variant:"text",size:"small",onClick:R,className:"kb-filter-dropdown__clear-btn",children:[e.jsxDEV(me,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:85,columnNumber:13},void 0),"清除标签过滤"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:78,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:77,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:41,columnNumber:5},void 0);return e.jsxDEV(tn,{content:v,visible:N,onVisibleChange:y=>b(y),trigger:"click",placement:"bottom-left",overlayClassName:"kb-filter-dropdown__popup",children:e.jsxDEV(be,{variant:i.length>0?"base":"outline",theme:i.length>0?"primary":"default",size:"small",className:`kb-filter-trigger ${i.length>0?"is-active":""}`,children:[e.jsxDEV(on,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:108,columnNumber:9},void 0),"标签",i.length>0&&` (${i.length})`]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:102,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagFilterDropdown.tsx",lineNumber:94,columnNumber:5},void 0)},Tn=({visible:n,onClose:i,allTags:r,onCreateTag:d,onUpdateTag:k,onDeleteTag:N,onSelectTag:b})=>{const{confirm:l,confirmDialog:j}=ms(),[R,v]=s.useState(!1),[y,B]=s.useState(""),[V,x]=s.useState(null),[E,c]=s.useState(""),m=s.useRef(null);s.useEffect(()=>{R&&m.current&&setTimeout(()=>{var f;(f=m.current)==null||f.focus()},100)},[R]);const T=async()=>{if(!y.trim()){v(!1);return}try{await d(y.trim()),B(""),v(!1),M.success("标签创建成功")}catch{M.error("标签创建失败")}},L=async f=>{if(!E.trim()){x(null);return}try{await k(f,E.trim()),x(null),M.success("标签更新成功")}catch{M.error("标签更新失败")}},z=async(f,U)=>{f.stopPropagation();try{const I=r.find(H=>H.id===U);if(!await l({title:"确认删除标签",description:`确定要删除标签「${(I==null?void 0:I.name)||"未命名标签"}」吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0}))return;await N(U),M.success("标签删除成功")}catch{M.error("标签删除失败")}},$=(f,U)=>{f.stopPropagation(),x(U.id),c(U.name)};return e.jsxDEV(rn,{header:"管理标签",visible:n,onClose:i,footer:null,width:400,className:"kb-tag-management-dialog",children:[e.jsxDEV("div",{className:"kb-tag-list",children:[R?e.jsxDEV("div",{className:"kb-tag-item kb-tag-item--creating",children:e.jsxDEV(je,{ref:m,value:y,onChange:f=>B(f),onEnter:T,onBlur:T,placeholder:"输入标签名称...",size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:113,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:112,columnNumber:11},void 0):e.jsxDEV("div",{className:"kb-tag-item kb-tag-item--create-btn",onClick:()=>v(!0),children:[e.jsxDEV(he,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:128,columnNumber:13},void 0),e.jsxDEV("span",{children:"新建标签"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:129,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:124,columnNumber:11},void 0),r.map(f=>e.jsxDEV("div",{className:"kb-tag-item",onClick:()=>{b&&!V&&(b(f.id),i())},children:V===f.id?e.jsxDEV("div",{className:"kb-tag-item__editing",onClick:U=>U.stopPropagation(),children:[e.jsxDEV(je,{value:E,onChange:U=>c(U),onEnter:()=>L(f.id),size:"small",autofocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:147,columnNumber:17},void 0),e.jsxDEV(be,{shape:"circle",variant:"text",size:"small",onClick:()=>L(f.id),children:e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:160,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:154,columnNumber:17},void 0),e.jsxDEV(be,{shape:"circle",variant:"text",size:"small",onClick:()=>x(null),children:e.jsxDEV(me,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:168,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:162,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:146,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("span",{className:"kb-tag-item__dot",style:{backgroundColor:f.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:173,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-tag-item__name",children:f.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:177,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-tag-item__count",children:f.count?`(${f.count} 个笔记)`:"(0 个笔记)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:178,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tag-item__actions",children:[e.jsxDEV(O,{content:"重命名",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tag-item__action-btn",onClick:U=>$(U,f),children:e.jsxDEV(dn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:188,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:184,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:183,columnNumber:19},void 0),e.jsxDEV(O,{content:"删除",showArrow:!1,children:e.jsxDEV("button",{className:"kb-tag-item__action-btn kb-tag-item__action-btn--delete",onClick:U=>z(U,f.id),children:e.jsxDEV(fe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:196,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:192,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:191,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:182,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:172,columnNumber:15},void 0)},f.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:135,columnNumber:11},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:109,columnNumber:7},void 0),j]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:101,columnNumber:5},void 0)},ts=10,Sn=({currentNoteId:n,allNotes:i,noteTagsMap:r,onSelectNote:d})=>{const[k,N]=s.useState([]),[b,l]=s.useState(!1),[j,R]=s.useState(!1);s.useEffect(()=>{let x=!1;return(async()=>{try{const c=await gs().getRelatedNotes(n,ts);x||N(c)}catch{x||N([])}})(),()=>{x=!0}},[n]);const v=s.useMemo(()=>i.find(x=>x.id===n),[i,n]),y=s.useMemo(()=>{var E;const x=(E=v==null?void 0:v.metadata)==null?void 0:E.sourceUrl;return x?i.filter(c=>{var m;return c.id!==n&&((m=c==null?void 0:c.metadata)==null?void 0:m.sourceUrl)===x}):[]},[i,n,v]),B=s.useMemo(()=>new Set(y.map(x=>x.id)),[y]),V=s.useMemo(()=>{if(k.length>0){const m=new Set;return k.filter(T=>B.has(T.id)||m.has(T.id)?!1:(m.add(T.id),!0))}const x=r[n]||[],E=new Set(x.map(m=>m.id));if(!v)return[];const c=[];for(const m of i){if(m.id===n||B.has(m.id))continue;const L=(r[m.id]||[]).map(_=>_.id),z=L.filter(_=>E.has(_)).length,$=new Set([...E,...L]).size,f=$>0?z/$:0,U=Mn(v.title,m.title),I=f*.7+U*.3;I>.05&&c.push({id:m.id,title:m.title||"无标题",score:I})}return c.sort((m,T)=>T.score-m.score).slice(0,ts)},[k,B,i,n,r,v]);return y.length===0&&V.length===0?null:e.jsxDEV("div",{className:"kb-related-notes",children:[y.length>0&&e.jsxDEV("div",{className:"kb-related-notes__section",children:[e.jsxDEV("button",{className:"kb-related-notes__section-header",onClick:()=>l(!b),children:[b?e.jsxDEV(ke,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:102,columnNumber:33},void 0):e.jsxDEV(we,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:102,columnNumber:62},void 0),e.jsxDEV(fs,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:103,columnNumber:13},void 0),e.jsxDEV("span",{children:"相关笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:104,columnNumber:13},void 0),e.jsxDEV("span",{className:"kb-related-notes__count",children:y.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:105,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:98,columnNumber:11},void 0),!b&&e.jsxDEV("div",{className:"kb-related-notes__list",children:y.map(x=>e.jsxDEV("div",{className:"kb-related-notes__item",onClick:()=>d(x.id),children:[e.jsxDEV(pe,{size:12,className:"kb-related-notes__icon"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:115,columnNumber:19},void 0),e.jsxDEV("span",{className:"kb-related-notes__name",children:x.title||"无标题"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:116,columnNumber:19},void 0),e.jsxDEV(O,{content:"跳转",showArrow:!1,children:e.jsxDEV("button",{className:"kb-related-notes__goto-btn",onClick:E=>{E.stopPropagation(),d(x.id)},children:e.jsxDEV(Te,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:125,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:118,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:117,columnNumber:19},void 0)]},`related-${x.id}`,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:110,columnNumber:17},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:108,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:97,columnNumber:9},void 0),V.length>0&&e.jsxDEV("div",{className:"kb-related-notes__section",children:[e.jsxDEV("button",{className:"kb-related-notes__section-header",onClick:()=>R(!j),children:[j?e.jsxDEV(ke,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:142,columnNumber:33},void 0):e.jsxDEV(we,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:142,columnNumber:62},void 0),e.jsxDEV(pe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:143,columnNumber:13},void 0),e.jsxDEV("span",{children:"相似笔记"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:144,columnNumber:13},void 0),e.jsxDEV("span",{className:"kb-related-notes__count",children:V.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:145,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:138,columnNumber:11},void 0),!j&&e.jsxDEV("div",{className:"kb-related-notes__list",children:V.map(x=>{const E="score"in x?x.score:void 0;return e.jsxDEV("div",{className:"kb-related-notes__item",onClick:()=>d(x.id),children:[e.jsxDEV(pe,{size:12,className:"kb-related-notes__icon"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:157,columnNumber:21},void 0),e.jsxDEV("span",{className:"kb-related-notes__name",children:x.title},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:158,columnNumber:21},void 0),E!==void 0&&e.jsxDEV("span",{className:"kb-related-notes__similarity",children:[Math.round(E*100),"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:160,columnNumber:23},void 0),e.jsxDEV(O,{content:"跳转",showArrow:!1,children:e.jsxDEV("button",{className:"kb-related-notes__goto-btn",onClick:c=>{c.stopPropagation(),d(x.id)},children:e.jsxDEV(Te,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:172,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:165,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:164,columnNumber:21},void 0)]},`similar-${x.id}`,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:152,columnNumber:19},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:148,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:137,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:94,columnNumber:5},void 0)};function Mn(n,i){if(!n||!i)return 0;const r=n.toLowerCase(),d=i.toLowerCase(),k=new Set;for(let j=0;j<r.length-1;j++)k.add(r.substring(j,j+2));const N=new Set;for(let j=0;j<d.length-1;j++)N.add(d.substring(j,j+2));let b=0;for(const j of k)N.has(j)&&b++;const l=k.size+N.size;return l===0?0:2*b/l}const Rn=`你是一个专业的知识提取助手,擅长从文本中识别和提取关键知识点。你的任务是分析给定的文本内容,提取出有价值的知识点,并以结构化的 Markdown 格式返回。
|
|
5
5
|
|
|
6
6
|
提取规则:
|
|
7
7
|
1. **核心概念**: 文中出现的重要概念、术语及其解释
|
|
@@ -45,9 +45,9 @@ ${n}
|
|
|
45
45
|
`);return{title:N[0].trim(),content:N.slice(1).join(`
|
|
46
46
|
`).trim(),sourceContext:"",type:"summary",tags:[]}}).filter(k=>k.title&&k.content);return d.length>0?{knowledgePoints:d}:null}catch{return null}}function In(){return`kp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}async function Ln(n,i){var b,l,j;const{model:r,onProgress:d,signal:k}=i;return((j=(l=(b=(await bs(n,R=>d==null?void 0:d(R),k,r)).choices)==null?void 0:b[0])==null?void 0:l.message)==null?void 0:j.content)||""}async function $n(n,i){var B,V,x;const{title:r,sourceUrl:d,model:k,onProgress:N,signal:b}=i,l=[{role:"system",content:[{type:"text",text:Rn}]},{role:"user",content:[{type:"text",text:zn(n,r)}]}],R=((x=(V=(B=(await bs(l,E=>N==null?void 0:N(E),b,k)).choices)==null?void 0:B[0])==null?void 0:V.message)==null?void 0:x.content)||"",v=An(R);if(!v||v.knowledgePoints.length===0)throw new Error("无法从内容中提取知识点,请确保内容包含有价值的信息");return{knowledgePoints:v.knowledgePoints.map(E=>({id:In(),title:E.title,content:E.content,sourceContext:E.sourceContext,tags:E.tags,type:E.type,selected:!0})),rawResponse:R,sourceUrl:d,sourceTitle:r,extractedAt:Date.now()}}const Pn="kb-chat-storage",Fn="sessions",xs=ln.createInstance({name:Pn,storeName:Fn});async function Wn(n){return xs.getItem(n)}async function On(n,i){const r={noteId:n,messages:i,updatedAt:Date.now()};await xs.setItem(n,r)}const ps={concept:"核心概念",definition:"重要定义",step:"关键步骤",summary:"要点总结"};function Xn(n,i){const r=[];r.push(`# ${i.title||"知识提炼"}`),r.push(""),i.sourceUrl&&(r.push(`> 来源: ${i.sourceUrl}`),r.push("")),r.push(`> 导出时间: ${new Date().toLocaleString("zh-CN")}`),r.push(""),r.push("---"),r.push("");const d=["concept","definition","step","summary"];for(const k of d){const N=n.filter(b=>b.type===k);if(N.length!==0){r.push(`## ${ps[k]}`),r.push("");for(const b of N)r.push(`### ${b.title}`),r.push(""),r.push(b.content),b.sourceContext&&(r.push(""),r.push(`> ${b.sourceContext}`)),b.tags.length>0&&(r.push(""),r.push(`**标签**: ${b.tags.map(l=>`\`${l}\``).join(" ")}`)),r.push("")}}return r.join(`
|
|
47
47
|
`)}function Yn(n,i){const r=n.knowledgePoints.filter(b=>b.selected!==!1);if(r.length===0)throw new Error("没有选中的知识点");const d={title:n.sourceTitle||"知识提炼",sourceUrl:n.sourceUrl},k=new Date().toISOString().slice(0,10),N=n.sourceTitle?`${n.sourceTitle.slice(0,30).replace(/[/\\?%*:|"<>]/g,"-")}_知识提炼_${k}`:`知识提炼_${k}`;return{content:Xn(r,d),filename:`${N}.md`,mimeType:"text/markdown"}}function Hn(n,i,r){const d=new Blob([n],{type:r}),k=URL.createObjectURL(d),N=document.createElement("a");N.href=k,N.download=i,document.body.appendChild(N),N.click(),document.body.removeChild(N),URL.revokeObjectURL(k)}const os="gemini-3.1-pro-preview";function ws(n){const i=[],r=["concept","definition","step","summary"];for(const d of r){const k=n.knowledgePoints.filter(N=>N.type===d);if(k.length!==0){i.push(`## ${ps[d]}`),i.push("");for(const N of k)i.push(`### ${N.title}`),i.push(""),i.push(N.content),N.sourceContext&&(i.push(""),i.push(`> ${N.sourceContext}`)),N.tags&&N.tags.length>0&&(i.push(""),i.push(`**标签**: ${N.tags.map(b=>`\`${b}\``).join(" ")}`)),i.push("")}}return i.join(`
|
|
48
|
-
`).trim()}const Gn=({noteId:n,noteContent:i,noteTitle:r,onInsertToNote:d,onSaved:k})=>{const N=cn("text"),[b,l]=s.useState([]),[j,R]=s.useState(""),[v,y]=s.useState(N.modelId||os),[B,V]=s.useState(()=>Je(N.profileId,N.modelId||os)),[x,E]=s.useState(!1),[c,m]=s.useState(null),[
|
|
48
|
+
`).trim()}const Gn=({noteId:n,noteContent:i,noteTitle:r,onInsertToNote:d,onSaved:k})=>{const N=cn("text"),[b,l]=s.useState([]),[j,R]=s.useState(""),[v,y]=s.useState(N.modelId||os),[B,V]=s.useState(()=>Je(N.profileId,N.modelId||os)),[x,E]=s.useState(!1),[c,m]=s.useState(null),[T,L]=s.useState(null),z=s.useRef(null),$=s.useRef(null);s.useEffect(()=>{let w=!0;return(async()=>{l([]);try{const A=await Wn(n);w&&(A&&A.messages.length>0?l(A.messages):l([{id:"init",role:"model",content:"我已经阅读了这篇笔记。你可以让我提取摘要、关键点,或者直接与我讨论笔记内容。",type:"text",timestamp:Date.now()}]))}catch(A){console.error("Failed to load chat history",A)}})(),()=>{w=!1}},[n]),s.useEffect(()=>{b.length>0&&On(n,b).catch(console.error)},[b,n]),s.useEffect(()=>{z.current&&(z.current.scrollTop=z.current.scrollHeight)},[b]),s.useEffect(()=>{$.current&&($.current.style.height="auto",$.current.style.height=`${Math.min($.current.scrollHeight,120)}px`)},[j]);const f=s.useCallback(()=>{T&&(T.abort(),L(null),E(!1),l(w=>[...w,{id:Date.now().toString(),role:"model",content:"🚫 已停止生成",type:"text",timestamp:Date.now()}]))},[T]),U=s.useCallback(async()=>{if(!j.trim()||x)return;const w={id:Date.now().toString(),role:"user",content:j,type:"text",timestamp:Date.now()};l(A=>[...A,w]),R(""),E(!0),$.current&&($.current.style.height="auto");const P=new AbortController;L(P);try{const A=b.concat(w).map(K=>({role:K.role==="model"?"assistant":"user",content:[{type:"text",text:K.content}]}));if(A.length<=2){const K=`Context:
|
|
49
49
|
${i}
|
|
50
50
|
|
|
51
|
-
Task: ${w.content}`,F=A.length-1;A[F].content=[{type:"text",text:K}]}const g=(Date.now()+1).toString();m(g),l(K=>[...K,{id:g,role:"model",content:"正在思考...",type:"text",timestamp:Date.now()}]),await Ln(A,{model:B||v,onProgress:K=>{l(F=>F.map(J=>J.id===g?{...J,content:K}:J))},signal:P.signal})}catch(A){A.name!=="AbortError"&&l(g=>[...g,{id:Date.now().toString(),role:"model",content:`Error: ${A.message||"Something went wrong"}`,type:"text",timestamp:Date.now()}])}finally{E(!1),L(null),m(null)}},[j,x,b,i,v,B]),I=s.useCallback(async()=>{if(x)return;E(!0);const w={id:Date.now().toString(),role:"user",content:"提取知识点",type:"text",timestamp:Date.now()};l(g=>[...g,w]);const P=new AbortController;L(P);const A=(Date.now()+1).toString();l(g=>[...g,{id:A,role:"model",content:"正在分析笔记内容并提取知识点...",type:"text",timestamp:Date.now()}]);try{const g=await $n(i,{title:r,model:B||v,signal:P.signal});l(K=>K.map(F=>F.id===A?{...F,content:"知识点提取完成:",type:"extraction-result",data:g}:F))}catch(g){g.name!=="AbortError"&&l(K=>K.map(F=>F.id===A?{...F,content:`提取失败: ${g.message}`}:F))}finally{E(!1),L(null)}},[x,i,r,v,B]),_=w=>{w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),U())},H=s.useCallback(w=>{if(!w){M.warning("没有可复制的内容");return}un(w).then(()=>{M.success("复制成功")}).catch(()=>{M.error("复制失败")})},[]),Y=s.useCallback(w=>w.type==="text"?w.content:w.type==="extraction-result"&&w.data?ws(w.data):"",[]),X=s.useCallback(w=>{if(w.type==="extraction-result"&&w.data)try{const P=Yn(w.data,{format:"markdown",includeSource:!0,includeTags:!0});Hn(P.content,P.filename,P.mimeType)}catch(P){console.error("Failed to export",P),M.error("导出失败")}},[]);return e.jsxDEV("div",{className:"kb-extraction-chat",children:[e.jsxDEV("div",{className:"kb-extraction-chat__header",children:e.jsxDEV("div",{className:"kb-extraction-chat__title",children:[e.jsxDEV(Se,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:428,columnNumber:11},void 0),e.jsxDEV("span",{children:"知识提取 & 对话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:429,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:427,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:426,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__messages",ref:z,children:b.map(w=>e.jsxDEV("div",{className:`kb-message kb-message--${w.role}`,children:[e.jsxDEV("div",{className:"kb-message__avatar",children:w.role==="user"?e.jsxDEV(Te,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:437,columnNumber:38},void 0):e.jsxDEV(mn,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:437,columnNumber:49},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:436,columnNumber:13},void 0),e.jsxDEV("div",{className:"kb-message__body",children:[e.jsxDEV("div",{className:"kb-message__content",children:w.role==="model"?e.jsxDEV("div",{className:"kb-message__content-scroll",children:w.type==="text"?w.id===c&&(w.content==="正在思考..."||w.content==="正在分析笔记内容并提取知识点...")?e.jsxDEV("div",{className:"kb-message__thinking","aria-label":"思考中",children:[e.jsxDEV("span",{className:"kb-message__thinking-text",children:w.content.replace(/\.+$/,"")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:446,columnNumber:27},void 0),e.jsxDEV("span",{className:"kb-message__thinking-dots",children:[e.jsxDEV("span",{children:"."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:448,columnNumber:29},void 0),e.jsxDEV("span",{children:"."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:448,columnNumber:43},void 0),e.jsxDEV("span",{children:"."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:448,columnNumber:57},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:447,columnNumber:27},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:445,columnNumber:25},void 0):w.content?e.jsxDEV("div",{className:"kb-message__markdown-wrap",children:e.jsxDEV(ze,{markdown:w.content,readOnly:!0,showModeSwitch:!1,initialMode:"wysiwyg",className:"kb-extraction-markdown"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:453,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:452,columnNumber:25},void 0):null:e.jsxDEV(rs,{result:w.data},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:463,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:442,columnNumber:19},void 0):w.type==="text"?e.jsxDEV("div",{className:"kb-message__text",children:w.content},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:468,columnNumber:21},void 0):e.jsxDEV(rs,{result:w.data},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:470,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:440,columnNumber:15},void 0),w.role==="model"&&e.jsxDEV("div",{className:"kb-message__actions",children:[e.jsxDEV(O,{content:"复制",showArrow:!1,children:e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>H(Y(w)),children:e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:481,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:477,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:476,columnNumber:19},void 0),e.jsxDEV(O,{content:"插入到笔记",showArrow:!1,children:e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>{const P=Y(w);P&&(d==null||d(P))},children:e.jsxDEV(fn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:492,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:485,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:484,columnNumber:19},void 0),w.type==="extraction-result"&&e.jsxDEV(O,{content:"导出 Markdown",showArrow:!1,children:e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>X(w),children:e.jsxDEV(Re,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:501,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:497,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:496,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:475,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:439,columnNumber:13},void 0)]},w.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:435,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:433,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__input-area",children:[e.jsxDEV("div",{className:"kb-extraction-chat__input-wrapper",children:e.jsxDEV("textarea",{ref:$,className:"kb-extraction-chat__textarea",value:j,onChange:w=>R(w.target.value),onKeyDown:_,placeholder:"输入问题,与 AI 讨论笔记内容...",disabled:x,rows:1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:514,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:513,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__input-actions",children:[e.jsxDEV("div",{className:"kb-extraction-chat__model-selector",children:e.jsxDEV(Dn,{value:v,valueRef:B,onChange:(w,P)=>{y(w),V(P||Je(null,w))},variant:"capsule"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:527,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:526,columnNumber:11},void 0),e.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[e.jsxDEV(O,{content:"一键提取知识点",showArrow:!1,children:e.jsxDEV("span",{children:e.jsxDEV("button",{className:"kb-extraction-chat__icon-btn",onClick:I,disabled:x,children:e.jsxDEV(Se,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:546,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:541,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:540,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:539,columnNumber:13},void 0),e.jsxDEV("button",{className:`kb-extraction-chat__send-btn ${j.trim()||x?"kb-extraction-chat__send-btn--active":""}`,onClick:x?f:U,disabled:!j.trim()&&!x,title:x?"停止生成":"发送",children:x?e.jsxDEV(bn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:561,columnNumber:28},void 0):e.jsxDEV(Nn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:561,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:551,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:538,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:525,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:512,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:425,columnNumber:5},void 0)},rs=({result:n})=>{const i=gn.useMemo(()=>ws(n),[n]);return e.jsxDEV("div",{className:"kb-extraction-result-view",children:e.jsxDEV(ze,{markdown:i,readOnly:!0,showModeSwitch:!1,initialMode:"wysiwyg",className:"kb-extraction-markdown"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:580,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:579,columnNumber:5},void 0)},ds=[{label:"更新时间",value:"updatedAt"},{label:"创建时间",value:"createdAt"},{label:"标题",value:"title"}],Qn=({value:n,onChange:i})=>{var N;const r=((N=ds.find(b=>b.value===n.field))==null?void 0:N.label)||"排序",d=b=>{const l=b.value;["asc","desc"].includes(l)?i({...n,order:l}):l===n.field?i({...n,order:n.order==="asc"?"desc":"asc"}):i({...n,field:l,order:l==="title"?"asc":"desc"})},k=[{content:"排序字段",disabled:!0,className:"kb-sort-dropdown__header"},...ds.map(b=>({content:b.label,value:b.value,prefixIcon:n.field===b.value?e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:47,columnNumber:47},void 0):e.jsxDEV("div",{style:{width:14}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:47,columnNumber:69},void 0)})),{divider:!0},{content:"排序方式",disabled:!0,className:"kb-sort-dropdown__header"},{content:"升序",value:"asc",prefixIcon:n.order==="asc"?e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:58,columnNumber:43},void 0):e.jsxDEV("div",{style:{width:14}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:58,columnNumber:65},void 0),suffixIcon:e.jsxDEV(es,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:59,columnNumber:19},void 0)},{content:"降序",value:"desc",prefixIcon:n.order==="desc"?e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:64,columnNumber:44},void 0):e.jsxDEV("div",{style:{width:14}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:64,columnNumber:66},void 0),suffixIcon:e.jsxDEV(ss,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:65,columnNumber:19},void 0)}];return e.jsxDEV(Ns,{options:k,onClick:d,trigger:"click",minColumnWidth:120,children:e.jsxDEV(be,{variant:"outline",size:"small",className:"kb-sort-trigger",children:[n.order==="asc"?e.jsxDEV(es,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:77,columnNumber:34},void 0):e.jsxDEV(ss,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:77,columnNumber:85},void 0),r]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:76,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:70,columnNumber:5},void 0)},Ni=({initialNoteId:n})=>{var He;const[i,r]=s.useState([]),[d,k]=s.useState([]),[N,b]=s.useState([]),[l,j]=s.useState(null),[R,v]=s.useState([]),[y,B]=s.useState({}),[V,x]=s.useState(null),[E,c]=s.useState(new Set),[m,C]=s.useState(null),[L,z]=s.useState(""),[$,f]=s.useState(D.loadSortPreference?D.loadSortPreference():{field:"updatedAt",order:"desc"}),[U,I]=s.useState([]),[_,H]=s.useState(!1),[Y,X]=s.useState(!1),[w,P]=s.useState(!1),[A,g]=s.useState(null),K=s.useRef(null),F=s.useRef(0),J=s.useRef(null),{confirm:se,confirmDialog:Ne}=ms(),[q,G]=s.useState(!1),[Q,Z]=s.useState("related"),[ve,Ae]=s.useState(280),[ye,Ie]=s.useState(300),le=s.useRef(!1),ce=s.useRef(!1),Ee=s.useRef(null);s.useEffect(()=>{const a=localStorage.getItem("kb-sidebar-width");if(a){const t=parseInt(a,10);!isNaN(t)&&t>100&&t<800&&Ae(t)}const o=localStorage.getItem("kb-right-sidebar-width");if(o){const t=parseInt(o,10);!isNaN(t)&&t>100&&t<800&&Ie(t)}},[]),s.useEffect(()=>{const a=t=>{if(!Ee.current)return;const p=Ee.current.getBoundingClientRect();if(le.current){t.preventDefault();const u=Math.max(200,Math.min(600,t.clientX-p.left));Ae(u)}else if(ce.current){t.preventDefault();const u=Math.max(200,Math.min(600,p.right-t.clientX));Ie(u)}},o=()=>{le.current&&(le.current=!1,localStorage.setItem("kb-sidebar-width",ve.toString()),document.body.style.cursor=""),ce.current&&(ce.current=!1,localStorage.setItem("kb-right-sidebar-width",ye.toString()),document.body.style.cursor="")};return le.current||ce.current?(document.addEventListener("mousemove",a),document.addEventListener("mouseup",o)):document.addEventListener("mousemove",a),document.addEventListener("mousemove",a),document.addEventListener("mouseup",o),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",o)}},[ve,ye]);const ks=a=>{a.preventDefault(),le.current=!0,document.body.style.cursor="col-resize"},hs=a=>{a.preventDefault(),ce.current=!0,document.body.style.cursor="col-resize"},[Le,js]=s.useState(null),$e=s.useRef(!1),Pe=s.useRef(!1);s.useEffect(()=>{if($e.current)return;$e.current=!0,(async()=>{await D.initialize(),await W();try{const t=await D.getStorageUsage();js(t)}catch{}if(n){ee(n);return}const o=window.__kbPendingNavigation;if(o){window.__kbPendingNavigation=null;const{directoryName:t,autoCreateNote:p}=o;if(t){const h=(await D.getAllDirectories()).find(T=>T.name===t);if(h&&(x(h.id),c(T=>{const S=new Set(T);return S.add(h.id),S}),p)){const T=t==="Skill"?"新Skill":"新笔记",S=await D.createNote(T,h.id);await W(),c(ae=>{const ue=new Set(ae);return ue.add(h.id),ue}),C(S.id);const ne=await D.getNoteById(S.id);j(ne),v([])}}}})()},[]);const W=s.useCallback(async()=>{const[a,o,t]=await Promise.all([D.getAllDirectories(),D.getAllNoteMetas(),D.getAllTags()]),p=Array.from(new Map(a.map(T=>[T.id,T])).values());r(p);const u=Array.from(new Map(o.map(T=>[T.id,T])).values());k(u);const h=Array.from(new Map(t.map(T=>[T.id,T])).values());b(h),!V&&!m&&p.length>0&&(x(p[0].id),c(new Set([p[0].id]))),await vs(u)},[V,m]),vs=s.useCallback(async a=>{try{const[o,t]=await Promise.all([D.getAllTags(),D.getAllNoteTags()]),p=new Map(o.map(h=>[h.id,h])),u={};for(const h of a)u[h.id]=[];for(const h of t)if(u[h.noteId]&&p.has(h.tagId)){const T=p.get(h.tagId);T&&(u[h.noteId].some(S=>S.id===T.id)||u[h.noteId].push(T))}for(const h in u)u[h].sort((T,S)=>T.name.localeCompare(S.name));B(u)}catch(o){console.error("Failed to refresh note tags map:",o)}},[]);s.useEffect(()=>{if(!L.trim()){g(null);return}return K.current&&clearTimeout(K.current),K.current=setTimeout(async()=>{try{const o=await gs().search(L,{limit:50,filter:V?{directoryId:V}:{}});g(o)}catch{g(null)}},300),()=>{K.current&&clearTimeout(K.current)}},[L,V]);const ie=s.useMemo(()=>{if(A&&L.trim()){const o=new Set(A.map(u=>u.id)),t=new Map(A.map((u,h)=>[u.id,h]));let p=d.filter(u=>o.has(u.id));if(U.length>0){const u=new Set(U);p=p.filter(h=>(y[h.id]||[]).some(S=>u.has(S.id)))}return p.sort((u,h)=>(t.get(u.id)??0)-(t.get(h.id)??0))}let a=d;if(U.length>0){const o=new Set(U);a=a.filter(t=>(y[t.id]||[]).some(u=>o.has(u.id)))}return D.sortNoteMetas(a,$)},[d,V,L,U,$,y,A]),ys=s.useMemo(()=>{const a={},o=new Set;for(const t of ie)o.has(t.id)||(o.add(t.id),a[t.directoryId]=(a[t.directoryId]||0)+1);return a},[ie]),Es=s.useMemo(()=>{var o;const a={};for(const t of ie){const p=a[o=t.directoryId]??(a[o]=[]);p.some(u=>u.id===t.id)||p.push(t)}return a},[ie]),De=s.useCallback(async a=>{await D.createDirectory(a),await W()},[W]),Ds=s.useCallback(async(a,o)=>{await D.updateDirectory(a,{name:o}),await W()},[W]),Us=s.useCallback(async a=>{var p;const o=i.find(u=>u.id===a);if(!(!o||!await se({title:"确认删除目录",description:`确定要删除目录 "${o.name}" 及其下的所有笔记吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0})))try{await D.deleteDirectory(a),V===a&&(x(((p=i[0])==null?void 0:p.id)||null),C(null),j(null)),await W(),M.success("目录已删除")}catch(u){M.error(`删除失败: ${u.message}`)}},[W,V,i]),_s=s.useCallback(async a=>{try{await D.duplicateDirectory(a),await W(),M.success("目录复制成功")}catch(o){M.error(`复制目录失败: ${o.message}`)}},[W]),Ks=s.useCallback(a=>{c(o=>{const t=new Set(o);return t.has(a)?t.delete(a):t.add(a),t})},[]),ee=s.useCallback(async a=>{const o=++F.current;if(C(a),x(null),v(y[a]||[]),a.startsWith(re)){const p=a.slice(re.length),u=Me.find(h=>h.id===p);if(u){const h=["image","inspiration","grid_image"],T=["ppt"],S=u.mcpTool&&h.some(ae=>u.mcpTool.includes(ae))?"image":u.mcpTool&&T.some(ae=>u.mcpTool.includes(ae))?"ppt":void 0,ne={id:a,title:u.name,content:u.description||"",directoryId:"",createdAt:0,updatedAt:0,metadata:{...S?{outputType:S}:{}}};o===F.current&&(j(ne),v([]))}return}if(a.startsWith(oe)){const p=a.slice(oe.length),u=yn(p);if(u){const h={id:a,title:u.name,content:u.content||u.description||"",directoryId:"",createdAt:0,updatedAt:0,metadata:{...u.outputType?{outputType:u.outputType}:{},...u.category?{category:u.category}:{}}};o===F.current&&(j(h),v([]))}return}const t=await D.getNoteById(a);if(o===F.current&&(j(t),t)){const p=await D.getTagsForNote(t.id);if(o!==F.current)return;v(p),c(u=>{const h=new Set(u);return h.add(t.directoryId),h})}},[i,y]),Ue=s.useCallback(async a=>{const o=new Set(d.filter(S=>S.directoryId===a).map(S=>S.title)),t=i.find(S=>S.id===a),p=(t==null?void 0:t.name)==="Skill"?"新Skill":"新笔记";let u=p,h=1;for(;o.has(u);)u=`${p} ${h}`,h++;const T=await D.createNote(u,a);await W(),c(S=>{const ne=new Set(S);return ne.add(a),ne}),ee(T.id)},[W,ee,d,i]),_e=s.useCallback(async(a,o)=>{await D.updateNote(a,o),k(t=>t.map(p=>p.id===a?{...p,...o,updatedAt:Date.now()}:p)),(l==null?void 0:l.id)===a&&j(t=>t&&{...t,...o,updatedAt:Date.now()});try{const t=window.__drawnixBoard;if(t&&t.children){const{Transforms:p}=await Be(async()=>{const{Transforms:u}=await import("./tool-windows-CtLXQDGF.js").then(h=>h.oJ);return{Transforms:u}},__vite__mapDeps([0]),import.meta.url);t.children.forEach((u,h)=>{if(u.noteId===a){const T={};o.title!==void 0&&(T.title=o.title),o.content!==void 0&&(T.body=o.content),Object.keys(T).length>0&&p.setNode(t,T,[h])}})}}catch(t){console.warn("[KB] Failed to sync note update to canvas card:",t)}},[l]),Bs=s.useCallback(async a=>{if(!l)return;const o=l.content?`
|
|
51
|
+
Task: ${w.content}`,F=A.length-1;A[F].content=[{type:"text",text:K}]}const g=(Date.now()+1).toString();m(g),l(K=>[...K,{id:g,role:"model",content:"正在思考...",type:"text",timestamp:Date.now()}]),await Ln(A,{model:B||v,onProgress:K=>{l(F=>F.map(J=>J.id===g?{...J,content:K}:J))},signal:P.signal})}catch(A){A.name!=="AbortError"&&l(g=>[...g,{id:Date.now().toString(),role:"model",content:`Error: ${A.message||"Something went wrong"}`,type:"text",timestamp:Date.now()}])}finally{E(!1),L(null),m(null)}},[j,x,b,i,v,B]),I=s.useCallback(async()=>{if(x)return;E(!0);const w={id:Date.now().toString(),role:"user",content:"提取知识点",type:"text",timestamp:Date.now()};l(g=>[...g,w]);const P=new AbortController;L(P);const A=(Date.now()+1).toString();l(g=>[...g,{id:A,role:"model",content:"正在分析笔记内容并提取知识点...",type:"text",timestamp:Date.now()}]);try{const g=await $n(i,{title:r,model:B||v,signal:P.signal});l(K=>K.map(F=>F.id===A?{...F,content:"知识点提取完成:",type:"extraction-result",data:g}:F))}catch(g){g.name!=="AbortError"&&l(K=>K.map(F=>F.id===A?{...F,content:`提取失败: ${g.message}`}:F))}finally{E(!1),L(null)}},[x,i,r,v,B]),_=w=>{w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),U())},H=s.useCallback(w=>{if(!w){M.warning("没有可复制的内容");return}un(w).then(()=>{M.success("复制成功")}).catch(()=>{M.error("复制失败")})},[]),Y=s.useCallback(w=>w.type==="text"?w.content:w.type==="extraction-result"&&w.data?ws(w.data):"",[]),X=s.useCallback(w=>{if(w.type==="extraction-result"&&w.data)try{const P=Yn(w.data,{format:"markdown",includeSource:!0,includeTags:!0});Hn(P.content,P.filename,P.mimeType)}catch(P){console.error("Failed to export",P),M.error("导出失败")}},[]);return e.jsxDEV("div",{className:"kb-extraction-chat",children:[e.jsxDEV("div",{className:"kb-extraction-chat__header",children:e.jsxDEV("div",{className:"kb-extraction-chat__title",children:[e.jsxDEV(Se,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:428,columnNumber:11},void 0),e.jsxDEV("span",{children:"知识提取 & 对话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:429,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:427,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:426,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__messages",ref:z,children:b.map(w=>e.jsxDEV("div",{className:`kb-message kb-message--${w.role}`,children:[e.jsxDEV("div",{className:"kb-message__avatar",children:w.role==="user"?e.jsxDEV(Ce,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:437,columnNumber:38},void 0):e.jsxDEV(mn,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:437,columnNumber:49},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:436,columnNumber:13},void 0),e.jsxDEV("div",{className:"kb-message__body",children:[e.jsxDEV("div",{className:"kb-message__content",children:w.role==="model"?e.jsxDEV("div",{className:"kb-message__content-scroll",children:w.type==="text"?w.id===c&&(w.content==="正在思考..."||w.content==="正在分析笔记内容并提取知识点...")?e.jsxDEV("div",{className:"kb-message__thinking","aria-label":"思考中",children:[e.jsxDEV("span",{className:"kb-message__thinking-text",children:w.content.replace(/\.+$/,"")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:446,columnNumber:27},void 0),e.jsxDEV("span",{className:"kb-message__thinking-dots",children:[e.jsxDEV("span",{children:"."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:448,columnNumber:29},void 0),e.jsxDEV("span",{children:"."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:448,columnNumber:43},void 0),e.jsxDEV("span",{children:"."},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:448,columnNumber:57},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:447,columnNumber:27},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:445,columnNumber:25},void 0):w.content?e.jsxDEV("div",{className:"kb-message__markdown-wrap",children:e.jsxDEV(ze,{markdown:w.content,readOnly:!0,showModeSwitch:!1,initialMode:"wysiwyg",className:"kb-extraction-markdown"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:453,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:452,columnNumber:25},void 0):null:e.jsxDEV(rs,{result:w.data},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:463,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:442,columnNumber:19},void 0):w.type==="text"?e.jsxDEV("div",{className:"kb-message__text",children:w.content},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:468,columnNumber:21},void 0):e.jsxDEV(rs,{result:w.data},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:470,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:440,columnNumber:15},void 0),w.role==="model"&&e.jsxDEV("div",{className:"kb-message__actions",children:[e.jsxDEV(O,{content:"复制",showArrow:!1,children:e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>H(Y(w)),children:e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:481,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:477,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:476,columnNumber:19},void 0),e.jsxDEV(O,{content:"插入到笔记",showArrow:!1,children:e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>{const P=Y(w);P&&(d==null||d(P))},children:e.jsxDEV(fn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:492,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:485,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:484,columnNumber:19},void 0),w.type==="extraction-result"&&e.jsxDEV(O,{content:"导出 Markdown",showArrow:!1,children:e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>X(w),children:e.jsxDEV(Re,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:501,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:497,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:496,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:475,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:439,columnNumber:13},void 0)]},w.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:435,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:433,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__input-area",children:[e.jsxDEV("div",{className:"kb-extraction-chat__input-wrapper",children:e.jsxDEV("textarea",{ref:$,className:"kb-extraction-chat__textarea",value:j,onChange:w=>R(w.target.value),onKeyDown:_,placeholder:"输入问题,与 AI 讨论笔记内容...",disabled:x,rows:1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:514,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:513,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__input-actions",children:[e.jsxDEV("div",{className:"kb-extraction-chat__model-selector",children:e.jsxDEV(Dn,{value:v,valueRef:B,onChange:(w,P)=>{y(w),V(P||Je(null,w))},variant:"capsule"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:527,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:526,columnNumber:11},void 0),e.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[e.jsxDEV(O,{content:"一键提取知识点",showArrow:!1,children:e.jsxDEV("span",{children:e.jsxDEV("button",{className:"kb-extraction-chat__icon-btn",onClick:I,disabled:x,children:e.jsxDEV(Se,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:546,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:541,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:540,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:539,columnNumber:13},void 0),e.jsxDEV("button",{className:`kb-extraction-chat__send-btn ${j.trim()||x?"kb-extraction-chat__send-btn--active":""}`,onClick:x?f:U,disabled:!j.trim()&&!x,title:x?"停止生成":"发送",children:x?e.jsxDEV(bn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:561,columnNumber:28},void 0):e.jsxDEV(Nn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:561,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:551,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:538,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:525,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:512,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:425,columnNumber:5},void 0)},rs=({result:n})=>{const i=gn.useMemo(()=>ws(n),[n]);return e.jsxDEV("div",{className:"kb-extraction-result-view",children:e.jsxDEV(ze,{markdown:i,readOnly:!0,showModeSwitch:!1,initialMode:"wysiwyg",className:"kb-extraction-markdown"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:580,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:579,columnNumber:5},void 0)},ds=[{label:"更新时间",value:"updatedAt"},{label:"创建时间",value:"createdAt"},{label:"标题",value:"title"}],Qn=({value:n,onChange:i})=>{var N;const r=((N=ds.find(b=>b.value===n.field))==null?void 0:N.label)||"排序",d=b=>{const l=b.value;["asc","desc"].includes(l)?i({...n,order:l}):l===n.field?i({...n,order:n.order==="asc"?"desc":"asc"}):i({...n,field:l,order:l==="title"?"asc":"desc"})},k=[{content:"排序字段",disabled:!0,className:"kb-sort-dropdown__header"},...ds.map(b=>({content:b.label,value:b.value,prefixIcon:n.field===b.value?e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:47,columnNumber:47},void 0):e.jsxDEV("div",{style:{width:14}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:47,columnNumber:69},void 0)})),{divider:!0},{content:"排序方式",disabled:!0,className:"kb-sort-dropdown__header"},{content:"升序",value:"asc",prefixIcon:n.order==="asc"?e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:58,columnNumber:43},void 0):e.jsxDEV("div",{style:{width:14}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:58,columnNumber:65},void 0),suffixIcon:e.jsxDEV(es,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:59,columnNumber:19},void 0)},{content:"降序",value:"desc",prefixIcon:n.order==="desc"?e.jsxDEV(de,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:64,columnNumber:44},void 0):e.jsxDEV("div",{style:{width:14}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:64,columnNumber:66},void 0),suffixIcon:e.jsxDEV(ss,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:65,columnNumber:19},void 0)}];return e.jsxDEV(Ns,{options:k,onClick:d,trigger:"click",minColumnWidth:120,children:e.jsxDEV(be,{variant:"outline",size:"small",className:"kb-sort-trigger",children:[n.order==="asc"?e.jsxDEV(es,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:77,columnNumber:34},void 0):e.jsxDEV(ss,{size:14,style:{marginRight:4}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:77,columnNumber:85},void 0),r]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:76,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBSortDropdown.tsx",lineNumber:70,columnNumber:5},void 0)},Ni=({initialNoteId:n})=>{var He;const[i,r]=s.useState([]),[d,k]=s.useState([]),[N,b]=s.useState([]),[l,j]=s.useState(null),[R,v]=s.useState([]),[y,B]=s.useState({}),[V,x]=s.useState(null),[E,c]=s.useState(new Set),[m,T]=s.useState(null),[L,z]=s.useState(""),[$,f]=s.useState(D.loadSortPreference?D.loadSortPreference():{field:"updatedAt",order:"desc"}),[U,I]=s.useState([]),[_,H]=s.useState(!1),[Y,X]=s.useState(!1),[w,P]=s.useState(!1),[A,g]=s.useState(null),K=s.useRef(null),F=s.useRef(0),J=s.useRef(null),{confirm:se,confirmDialog:Ne}=ms(),[q,G]=s.useState(!1),[Q,Z]=s.useState("related"),[ve,Ae]=s.useState(280),[ye,Ie]=s.useState(300),le=s.useRef(!1),ce=s.useRef(!1),Ee=s.useRef(null);s.useEffect(()=>{const a=localStorage.getItem("kb-sidebar-width");if(a){const t=parseInt(a,10);!isNaN(t)&&t>100&&t<800&&Ae(t)}const o=localStorage.getItem("kb-right-sidebar-width");if(o){const t=parseInt(o,10);!isNaN(t)&&t>100&&t<800&&Ie(t)}},[]),s.useEffect(()=>{const a=t=>{if(!Ee.current)return;const p=Ee.current.getBoundingClientRect();if(le.current){t.preventDefault();const u=Math.max(200,Math.min(600,t.clientX-p.left));Ae(u)}else if(ce.current){t.preventDefault();const u=Math.max(200,Math.min(600,p.right-t.clientX));Ie(u)}},o=()=>{le.current&&(le.current=!1,localStorage.setItem("kb-sidebar-width",ve.toString()),document.body.style.cursor=""),ce.current&&(ce.current=!1,localStorage.setItem("kb-right-sidebar-width",ye.toString()),document.body.style.cursor="")};return le.current||ce.current?(document.addEventListener("mousemove",a),document.addEventListener("mouseup",o)):document.addEventListener("mousemove",a),document.addEventListener("mousemove",a),document.addEventListener("mouseup",o),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",o)}},[ve,ye]);const ks=a=>{a.preventDefault(),le.current=!0,document.body.style.cursor="col-resize"},hs=a=>{a.preventDefault(),ce.current=!0,document.body.style.cursor="col-resize"},[Le,js]=s.useState(null),$e=s.useRef(!1),Pe=s.useRef(!1);s.useEffect(()=>{if($e.current)return;$e.current=!0,(async()=>{await D.initialize(),await W();try{const t=await D.getStorageUsage();js(t)}catch{}if(n){ee(n);return}const o=window.__kbPendingNavigation;if(o){window.__kbPendingNavigation=null;const{directoryName:t,autoCreateNote:p}=o;if(t){const h=(await D.getAllDirectories()).find(C=>C.name===t);if(h&&(x(h.id),c(C=>{const S=new Set(C);return S.add(h.id),S}),p)){const C=t==="Skill"?"新Skill":"新笔记",S=await D.createNote(C,h.id);await W(),c(ae=>{const ue=new Set(ae);return ue.add(h.id),ue}),T(S.id);const ne=await D.getNoteById(S.id);j(ne),v([])}}}})()},[]);const W=s.useCallback(async()=>{const[a,o,t]=await Promise.all([D.getAllDirectories(),D.getAllNoteMetas(),D.getAllTags()]),p=Array.from(new Map(a.map(C=>[C.id,C])).values());r(p);const u=Array.from(new Map(o.map(C=>[C.id,C])).values());k(u);const h=Array.from(new Map(t.map(C=>[C.id,C])).values());b(h),!V&&!m&&p.length>0&&(x(p[0].id),c(new Set([p[0].id]))),await vs(u)},[V,m]),vs=s.useCallback(async a=>{try{const[o,t]=await Promise.all([D.getAllTags(),D.getAllNoteTags()]),p=new Map(o.map(h=>[h.id,h])),u={};for(const h of a)u[h.id]=[];for(const h of t)if(u[h.noteId]&&p.has(h.tagId)){const C=p.get(h.tagId);C&&(u[h.noteId].some(S=>S.id===C.id)||u[h.noteId].push(C))}for(const h in u)u[h].sort((C,S)=>C.name.localeCompare(S.name));B(u)}catch(o){console.error("Failed to refresh note tags map:",o)}},[]);s.useEffect(()=>{if(!L.trim()){g(null);return}return K.current&&clearTimeout(K.current),K.current=setTimeout(async()=>{try{const o=await gs().search(L,{limit:50,filter:V?{directoryId:V}:{}});g(o)}catch{g(null)}},300),()=>{K.current&&clearTimeout(K.current)}},[L,V]);const ie=s.useMemo(()=>{if(A&&L.trim()){const o=new Set(A.map(u=>u.id)),t=new Map(A.map((u,h)=>[u.id,h]));let p=d.filter(u=>o.has(u.id));if(U.length>0){const u=new Set(U);p=p.filter(h=>(y[h.id]||[]).some(S=>u.has(S.id)))}return p.sort((u,h)=>(t.get(u.id)??0)-(t.get(h.id)??0))}let a=d;if(U.length>0){const o=new Set(U);a=a.filter(t=>(y[t.id]||[]).some(u=>o.has(u.id)))}return D.sortNoteMetas(a,$)},[d,V,L,U,$,y,A]),ys=s.useMemo(()=>{const a={},o=new Set;for(const t of ie)o.has(t.id)||(o.add(t.id),a[t.directoryId]=(a[t.directoryId]||0)+1);return a},[ie]),Es=s.useMemo(()=>{var o;const a={};for(const t of ie){const p=a[o=t.directoryId]??(a[o]=[]);p.some(u=>u.id===t.id)||p.push(t)}return a},[ie]),De=s.useCallback(async a=>{await D.createDirectory(a),await W()},[W]),Ds=s.useCallback(async(a,o)=>{await D.updateDirectory(a,{name:o}),await W()},[W]),Us=s.useCallback(async a=>{var p;const o=i.find(u=>u.id===a);if(!(!o||!await se({title:"确认删除目录",description:`确定要删除目录 "${o.name}" 及其下的所有笔记吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0})))try{await D.deleteDirectory(a),V===a&&(x(((p=i[0])==null?void 0:p.id)||null),T(null),j(null)),await W(),M.success("目录已删除")}catch(u){M.error(`删除失败: ${u.message}`)}},[W,V,i]),_s=s.useCallback(async a=>{try{await D.duplicateDirectory(a),await W(),M.success("目录复制成功")}catch(o){M.error(`复制目录失败: ${o.message}`)}},[W]),Ks=s.useCallback(a=>{c(o=>{const t=new Set(o);return t.has(a)?t.delete(a):t.add(a),t})},[]),ee=s.useCallback(async a=>{const o=++F.current;if(T(a),x(null),v(y[a]||[]),a.startsWith(re)){const p=a.slice(re.length),u=Me.find(h=>h.id===p);if(u){const h=["image","inspiration","grid_image"],C=["ppt"],S=u.mcpTool&&h.some(ae=>u.mcpTool.includes(ae))?"image":u.mcpTool&&C.some(ae=>u.mcpTool.includes(ae))?"ppt":void 0,ne={id:a,title:u.name,content:u.description||"",directoryId:"",createdAt:0,updatedAt:0,metadata:{...S?{outputType:S}:{}}};o===F.current&&(j(ne),v([]))}return}if(a.startsWith(oe)){const p=a.slice(oe.length),u=yn(p);if(u){const h={id:a,title:u.name,content:u.content||u.description||"",directoryId:"",createdAt:0,updatedAt:0,metadata:{...u.outputType?{outputType:u.outputType}:{},...u.category?{category:u.category}:{}}};o===F.current&&(j(h),v([]))}return}const t=await D.getNoteById(a);if(o===F.current&&(j(t),t)){const p=await D.getTagsForNote(t.id);if(o!==F.current)return;v(p),c(u=>{const h=new Set(u);return h.add(t.directoryId),h})}},[i,y]),Ue=s.useCallback(async a=>{const o=new Set(d.filter(S=>S.directoryId===a).map(S=>S.title)),t=i.find(S=>S.id===a),p=(t==null?void 0:t.name)==="Skill"?"新Skill":"新笔记";let u=p,h=1;for(;o.has(u);)u=`${p} ${h}`,h++;const C=await D.createNote(u,a);await W(),c(S=>{const ne=new Set(S);return ne.add(a),ne}),ee(C.id)},[W,ee,d,i]),_e=s.useCallback(async(a,o)=>{await D.updateNote(a,o),k(t=>t.map(p=>p.id===a?{...p,...o,updatedAt:Date.now()}:p)),(l==null?void 0:l.id)===a&&j(t=>t&&{...t,...o,updatedAt:Date.now()});try{const t=window.__drawnixBoard;if(t&&t.children){const{Transforms:p}=await Be(async()=>{const{Transforms:u}=await import("./tool-windows-DOIu9TAD.js").then(h=>h.ph);return{Transforms:u}},__vite__mapDeps([0]),import.meta.url);t.children.forEach((u,h)=>{if(u.noteId===a){const C={};o.title!==void 0&&(C.title=o.title),o.content!==void 0&&(C.body=o.content),Object.keys(C).length>0&&p.setNode(t,C,[h])}})}}catch(t){console.warn("[KB] Failed to sync note update to canvas card:",t)}},[l]),Bs=s.useCallback(async a=>{if(!l)return;const o=l.content?`
|
|
52
52
|
|
|
53
|
-
`:"",t=(l.content||"")+o+a;await _e(l.id,{content:t}),M.success("已插入到笔记末尾")},[l,_e]),Vs=s.useCallback(async a=>{var t,p;const o=window.__drawnixBoard;if(!o){M.warning("请先打开画布");return}try{if(o.children.find(te=>te.noteId===a.id)&&!await se({title:"重复插入提醒",description:"画布中已存在关联该笔记的卡片,是否再次插入?",confirmText:"继续插入",cancelText:"取消"}))return;const h=await D.getNoteById(a.id);if(!h){M.error("获取笔记内容失败");return}const{getViewportOrigination:T}=await Be(async()=>{const{getViewportOrigination:te}=await import("./tool-windows-CtLXQDGF.js").then(Ke=>Ke.oJ);return{getViewportOrigination:te}},__vite__mapDeps([0]),import.meta.url),S=T(o),ne=((t=o.host)==null?void 0:t.clientWidth)||800,ae=((p=o.host)==null?void 0:p.clientHeight)||600,ue=Math.round(window.innerWidth*.5),Ge=180,Qe=((S==null?void 0:S[0])??0)+ne/2-ue/2,Ze=((S==null?void 0:S[1])??0)+ae/2-Ge/2,{Transforms:$s}=await Be(async()=>{const{Transforms:te}=await import("./tool-windows-CtLXQDGF.js").then(Ke=>Ke.oJ);return{Transforms:te}},__vite__mapDeps([0]),import.meta.url),Ps={type:"card",id:`card-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,title:h.title||"无标题",body:h.content||"",noteId:h.id,fillColor:"#FA8C16",points:[[Qe,Ze],[Qe+ue,Ze+Ge]]};$s.insertNode(o,Ps,[o.children.length]),M.success("已插入到画布")}catch(u){console.error("[KB] Failed to insert note to canvas:",u),M.error(`插入失败: ${u.message}`)}},[]),qs=s.useCallback(async a=>{try{await D.duplicateNote(a),await W(),M.success("笔记复制成功")}catch(o){M.error(`复制笔记失败: ${o.message}`)}},[W]),Ts=s.useCallback(async a=>{if(a.startsWith(re)){M.warning("系统内置 Skill,不可删除");return}if(a.startsWith(oe)){M.warning("外部 Skill,不可在此删除(请在设置中管理外部 Skill 包)");return}const o=d.find(p=>p.id===a);if(!(!o||!await se({title:"确认删除笔记",description:`确定要删除笔记 "${o.title||"无标题"}" 吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0})))try{await D.deleteNote(a),m===a&&(C(null),j(null),v([])),await W(),M.success("笔记已删除")}catch(p){M.error(`删除失败: ${p.message}`)}},[m,W,d]);s.useEffect(()=>{!Pe.current&&ie.length>0&&(ee(ie[0].id),Pe.current=!0)},[ie,ee]),s.useEffect(()=>{const a=o=>{const{noteId:t}=o.detail;t&&ee(t)};return window.addEventListener("kb:open-note",a),()=>window.removeEventListener("kb:open-note",a)},[ee]),s.useEffect(()=>{const a=async o=>{const{directoryName:t,autoCreateNote:p}=o.detail;if(!t)return;window.__kbPendingNavigation&&(window.__kbPendingNavigation=null);const h=(await D.getAllDirectories()).find(T=>T.name===t);h&&(x(h.id),c(T=>{const S=new Set(T);return S.add(h.id),S}),p&&await Ue(h.id))};return window.addEventListener("kb:navigate",a),()=>window.removeEventListener("kb:navigate",a)},[Ue]);const Cs=s.useCallback(async(a,o)=>{await D.setNoteTags(a,o);const t=await D.getTagsForNote(a);v(t),B(u=>({...u,[a]:t}));const p=await D.getAllTags();b(p)},[]),Fe=s.useCallback(async a=>{const o=await D.createTag(a),t=await D.getAllTags();return b(t),o},[]),Ss=s.useCallback(async(a,o)=>{await D.updateTag(a,{name:o});const t=await D.getAllTags();b(t)},[]),Ms=s.useCallback(async a=>{await D.deleteTag(a);const o=await D.getAllTags();if(b(o),l){const t=await D.getTagsForNote(l.id);v(t),B(p=>({...p,[l.id]:t}))}},[l]),Rs=s.useCallback(a=>{f(a),D.saveSortPreference&&D.saveSortPreference(a)},[]);s.useEffect(()=>{if(!Y)return;const a=o=>{J.current&&!J.current.contains(o.target)&&X(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[Y]);const ge=s.useRef(null),We=s.useCallback(()=>{var a;(a=ge.current)==null||a.click()},[]),zs=s.useCallback(async a=>{const o=a.target.files;if(!(!o||!V)){for(const t of Array.from(o)){if(!t.name.endsWith(".md")&&!t.name.endsWith(".markdown"))continue;const p=await t.text();await D.importNoteFromMarkdown(p,V,t.name)}await W(),ge.current&&(ge.current.value="")}},[V,W]),Oe=s.useCallback(async()=>{try{const a=await D.exportAsZip(),o=URL.createObjectURL(a),t=document.createElement("a");t.href=o,t.download=`knowledge-base-${new Date().toISOString().slice(0,10)}.zip`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(o)}catch(a){console.error("Export failed:",a),M.error("导出失败")}},[]),xe=s.useRef(null),Xe=s.useCallback(()=>{var a;(a=xe.current)==null||a.click()},[]),As=s.useCallback(async a=>{var t;const o=(t=a.target.files)==null?void 0:t[0];if(o){try{if(o.name.toLowerCase().endsWith(".zip")){const p=await D.importFromZip(o);p.noteCount===0&&p.dirCount===0?M.warning("导入完成:没有新增内容(可能已存在重复内容)"):M.success(`导入完成:${p.dirCount} 个新目录、${p.noteCount} 篇笔记`)}else{const p=await o.text(),u=JSON.parse(p);if(u.version!==1&&u.version!==2){M.error("不支持的导入格式");return}const h=await D.importAllData(u);M.success(`导入完成:${h.dirCount} 个目录、${h.noteCount} 篇笔记、${h.tagCount} 个标签`)}await W()}catch(p){console.error(p),M.error("导入失败,请确认文件格式正确")}xe.current&&(xe.current.value="")}},[W]),Ye=s.useCallback(()=>{const a=window.prompt("请输入目录名称","新建目录");a&&De(a)},[De]),Is=s.useCallback(a=>{switch(a.value){case"create-dir":Ye();break;case"manage-tags":H(!0);break;case"import-md":We();break;case"import-zip":Xe();break;case"export-zip":Oe();break}},[Ye,We,Xe,Oe]),Ls=s.useMemo(()=>[{content:"新建目录",value:"create-dir",prefixIcon:e.jsxDEV(xn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:938,columnNumber:57},void 0)},{content:"管理标签",value:"manage-tags",prefixIcon:e.jsxDEV(pn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:939,columnNumber:58},void 0)},{content:"导入 Markdown",value:"import-md",prefixIcon:e.jsxDEV(ns,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:940,columnNumber:63},void 0)},{content:"导入 ZIP",value:"import-zip",prefixIcon:e.jsxDEV(ns,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:941,columnNumber:59},void 0)},{content:"导出 ZIP",value:"export-zip",prefixIcon:e.jsxDEV(Re,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:942,columnNumber:59},void 0)}],[]);return e.jsxDEV("div",{className:"kb-drawer",children:[e.jsxDEV("input",{ref:ge,type:"file",accept:".md,.markdown",multiple:!0,style:{display:"none"},onChange:zs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:948,columnNumber:7},void 0),e.jsxDEV("input",{ref:xe,type:"file",accept:".json,.zip",style:{display:"none"},onChange:As},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:956,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-drawer__body",ref:Ee,children:[e.jsxDEV("div",{className:"kb-drawer__sidebar",style:{width:ve},children:[e.jsxDEV("div",{className:"kb-drawer__toolbar",children:[e.jsxDEV("div",{className:"kb-drawer__search",style:{display:"flex",gap:"8px",alignItems:"center",marginBottom:"8px"},children:[e.jsxDEV(je,{size:"small",prefixIcon:e.jsxDEV(us,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:973,columnNumber:29},void 0),placeholder:"搜索笔记...",value:L,onChange:a=>z(a),clearable:!0,style:{flex:1}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:971,columnNumber:15},void 0),e.jsxDEV(Ns,{trigger:"click",options:Ls,onClick:Is,minColumnWidth:120,maxColumnWidth:200,popupProps:{overlayStyle:{width:200}},children:e.jsxDEV(O,{content:"更多操作",showArrow:!1,children:e.jsxDEV("button",{style:{background:"transparent",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",padding:"4px",color:"var(--td-text-color-secondary)",borderRadius:"4px"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="var(--td-bg-color-container-hover)",onMouseLeave:a=>a.currentTarget.style.backgroundColor="transparent",children:e.jsxDEV(wn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1009,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:989,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:988,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:980,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:970,columnNumber:13},void 0),e.jsxDEV("div",{className:"kb-drawer__filters",style:{display:"flex",gap:"8px",alignItems:"center"},children:[e.jsxDEV(Tn,{allTags:N,selectedTagIds:U,onSelectedChange:I},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1016,columnNumber:15},void 0),e.jsxDEV("div",{style:{flex:1}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1021,columnNumber:15},void 0),e.jsxDEV(Qn,{value:$,onChange:Rs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1022,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1015,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:969,columnNumber:11},void 0),e.jsxDEV(_n,{directories:i,notesByDir:Es,noteTagsMap:y,noteCounts:ys,selectedDirId:V,selectedNoteId:m,expandedDirIds:E,onSelectDir:a=>{x(a),C(null),j(null)},onToggleExpand:Ks,onCreateDir:De,onRenameDir:Ds,onDeleteDir:Us,onDuplicateDir:_s,onSelectNote:ee,onCreateNote:Ue,onDeleteNote:Ts,onDuplicateNote:qs,isCreatingDir:w,onCancelCreateDir:()=>P(!1),onInsertNoteToCanvas:Vs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1027,columnNumber:11},void 0),Le&&e.jsxDEV("div",{className:"kb-drawer__storage-bar",children:[e.jsxDEV(kn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1057,columnNumber:15},void 0),e.jsxDEV("span",{className:"kb-drawer__storage-text",children:["已用 ",Zn(Le.used)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1058,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1056,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:967,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-resizer",onMouseDown:ks},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1065,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-drawer__editor",children:e.jsxDEV(qn,{note:l,allTags:N,noteTags:R,readOnly:!!(m&&(m.startsWith(re)||m.startsWith(oe))),isSkillDirectory:!!(l&&(((He=i.find(a=>a.id===l.directoryId))==null?void 0:He.name)==="Skill"||m&&m.startsWith(re)||m&&m.startsWith(oe))),onUpdateNote:_e,onSetNoteTags:Cs,onCreateTag:Fe},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1069,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1068,columnNumber:9},void 0),l&&e.jsxDEV(e.Fragment,{children:q?e.jsxDEV(O,{content:"展开侧边栏",showArrow:!1,children:e.jsxDEV("button",{className:"kb-drawer__right-toggle",onClick:()=>G(!1),children:e.jsxDEV(hn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1096,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1092,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1091,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-resizer",onMouseDown:hs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1101,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-drawer__right-sidebar",style:{width:ye},children:[e.jsxDEV("div",{className:"kb-drawer__right-header",children:[e.jsxDEV("div",{className:"kb-drawer__right-tabs",children:[e.jsxDEV(O,{content:"相似笔记",showArrow:!1,children:e.jsxDEV("button",{className:`kb-drawer__right-tab ${Q==="related"?"kb-drawer__right-tab--active":""}`,onClick:()=>Z("related"),children:e.jsxDEV(fs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1111,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1107,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1106,columnNumber:21},void 0),e.jsxDEV(O,{content:"知识提取",showArrow:!1,children:e.jsxDEV("button",{className:`kb-drawer__right-tab ${Q==="extraction"?"kb-drawer__right-tab--active":""}`,onClick:()=>Z("extraction"),children:e.jsxDEV(Se,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1119,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1115,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1114,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1105,columnNumber:19},void 0),e.jsxDEV(O,{content:"收起侧边栏",showArrow:!1,children:e.jsxDEV("button",{className:"kb-drawer__right-collapse-btn",onClick:()=>G(!0),children:e.jsxDEV(jn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1128,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1124,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1123,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1104,columnNumber:19},void 0),e.jsxDEV("div",{className:"kb-drawer__right-content",children:Q==="related"?e.jsxDEV(Sn,{currentNoteId:l.id,allNotes:d,noteTagsMap:y,onSelectNote:ee},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1136,columnNumber:21},void 0):e.jsxDEV(Gn,{noteId:l.id,noteContent:l.content,noteTitle:l.title,onSaved:()=>W(),onInsertToNote:Bs},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1143,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1134,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1102,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1100,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1089,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:965,columnNumber:7},void 0),e.jsxDEV(Cn,{visible:_,onClose:()=>H(!1),allTags:N,onCreateTag:Fe,onUpdateTag:Ss,onDeleteTag:Ms},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1159,columnNumber:7},void 0),Ne]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:946,columnNumber:5},void 0)};function Zn(n){if(n===0)return"0 B";const i=["B","KB","MB","GB"],r=Math.floor(Math.log(n)/Math.log(1024));return`${(n/Math.pow(1024,r)).toFixed(1)} ${i[r]}`}export{Ni as default};
|
|
53
|
+
`:"",t=(l.content||"")+o+a;await _e(l.id,{content:t}),M.success("已插入到笔记末尾")},[l,_e]),Vs=s.useCallback(async a=>{var t,p;const o=window.__drawnixBoard;if(!o){M.warning("请先打开画布");return}try{if(o.children.find(te=>te.noteId===a.id)&&!await se({title:"重复插入提醒",description:"画布中已存在关联该笔记的卡片,是否再次插入?",confirmText:"继续插入",cancelText:"取消"}))return;const h=await D.getNoteById(a.id);if(!h){M.error("获取笔记内容失败");return}const{getViewportOrigination:C}=await Be(async()=>{const{getViewportOrigination:te}=await import("./tool-windows-DOIu9TAD.js").then(Ke=>Ke.ph);return{getViewportOrigination:te}},__vite__mapDeps([0]),import.meta.url),S=C(o),ne=((t=o.host)==null?void 0:t.clientWidth)||800,ae=((p=o.host)==null?void 0:p.clientHeight)||600,ue=Math.round(window.innerWidth*.5),Ge=180,Qe=((S==null?void 0:S[0])??0)+ne/2-ue/2,Ze=((S==null?void 0:S[1])??0)+ae/2-Ge/2,{Transforms:$s}=await Be(async()=>{const{Transforms:te}=await import("./tool-windows-DOIu9TAD.js").then(Ke=>Ke.ph);return{Transforms:te}},__vite__mapDeps([0]),import.meta.url),Ps={type:"card",id:`card-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,title:h.title||"无标题",body:h.content||"",noteId:h.id,fillColor:"#FA8C16",points:[[Qe,Ze],[Qe+ue,Ze+Ge]]};$s.insertNode(o,Ps,[o.children.length]),M.success("已插入到画布")}catch(u){console.error("[KB] Failed to insert note to canvas:",u),M.error(`插入失败: ${u.message}`)}},[]),qs=s.useCallback(async a=>{try{await D.duplicateNote(a),await W(),M.success("笔记复制成功")}catch(o){M.error(`复制笔记失败: ${o.message}`)}},[W]),Cs=s.useCallback(async a=>{if(a.startsWith(re)){M.warning("系统内置 Skill,不可删除");return}if(a.startsWith(oe)){M.warning("外部 Skill,不可在此删除(请在设置中管理外部 Skill 包)");return}const o=d.find(p=>p.id===a);if(!(!o||!await se({title:"确认删除笔记",description:`确定要删除笔记 "${o.title||"无标题"}" 吗?此操作不可撤销。`,confirmText:"删除",cancelText:"取消",danger:!0})))try{await D.deleteNote(a),m===a&&(T(null),j(null),v([])),await W(),M.success("笔记已删除")}catch(p){M.error(`删除失败: ${p.message}`)}},[m,W,d]);s.useEffect(()=>{!Pe.current&&ie.length>0&&(ee(ie[0].id),Pe.current=!0)},[ie,ee]),s.useEffect(()=>{const a=o=>{const{noteId:t}=o.detail;t&&ee(t)};return window.addEventListener("kb:open-note",a),()=>window.removeEventListener("kb:open-note",a)},[ee]),s.useEffect(()=>{const a=async o=>{const{directoryName:t,autoCreateNote:p}=o.detail;if(!t)return;window.__kbPendingNavigation&&(window.__kbPendingNavigation=null);const h=(await D.getAllDirectories()).find(C=>C.name===t);h&&(x(h.id),c(C=>{const S=new Set(C);return S.add(h.id),S}),p&&await Ue(h.id))};return window.addEventListener("kb:navigate",a),()=>window.removeEventListener("kb:navigate",a)},[Ue]);const Ts=s.useCallback(async(a,o)=>{await D.setNoteTags(a,o);const t=await D.getTagsForNote(a);v(t),B(u=>({...u,[a]:t}));const p=await D.getAllTags();b(p)},[]),Fe=s.useCallback(async a=>{const o=await D.createTag(a),t=await D.getAllTags();return b(t),o},[]),Ss=s.useCallback(async(a,o)=>{await D.updateTag(a,{name:o});const t=await D.getAllTags();b(t)},[]),Ms=s.useCallback(async a=>{await D.deleteTag(a);const o=await D.getAllTags();if(b(o),l){const t=await D.getTagsForNote(l.id);v(t),B(p=>({...p,[l.id]:t}))}},[l]),Rs=s.useCallback(a=>{f(a),D.saveSortPreference&&D.saveSortPreference(a)},[]);s.useEffect(()=>{if(!Y)return;const a=o=>{J.current&&!J.current.contains(o.target)&&X(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[Y]);const ge=s.useRef(null),We=s.useCallback(()=>{var a;(a=ge.current)==null||a.click()},[]),zs=s.useCallback(async a=>{const o=a.target.files;if(!(!o||!V)){for(const t of Array.from(o)){if(!t.name.endsWith(".md")&&!t.name.endsWith(".markdown"))continue;const p=await t.text();await D.importNoteFromMarkdown(p,V,t.name)}await W(),ge.current&&(ge.current.value="")}},[V,W]),Oe=s.useCallback(async()=>{try{const a=await D.exportAsZip(),o=URL.createObjectURL(a),t=document.createElement("a");t.href=o,t.download=`knowledge-base-${new Date().toISOString().slice(0,10)}.zip`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(o)}catch(a){console.error("Export failed:",a),M.error("导出失败")}},[]),xe=s.useRef(null),Xe=s.useCallback(()=>{var a;(a=xe.current)==null||a.click()},[]),As=s.useCallback(async a=>{var t;const o=(t=a.target.files)==null?void 0:t[0];if(o){try{if(o.name.toLowerCase().endsWith(".zip")){const p=await D.importFromZip(o);p.noteCount===0&&p.dirCount===0?M.warning("导入完成:没有新增内容(可能已存在重复内容)"):M.success(`导入完成:${p.dirCount} 个新目录、${p.noteCount} 篇笔记`)}else{const p=await o.text(),u=JSON.parse(p);if(u.version!==1&&u.version!==2){M.error("不支持的导入格式");return}const h=await D.importAllData(u);M.success(`导入完成:${h.dirCount} 个目录、${h.noteCount} 篇笔记、${h.tagCount} 个标签`)}await W()}catch(p){console.error(p),M.error("导入失败,请确认文件格式正确")}xe.current&&(xe.current.value="")}},[W]),Ye=s.useCallback(()=>{const a=window.prompt("请输入目录名称","新建目录");a&&De(a)},[De]),Is=s.useCallback(a=>{switch(a.value){case"create-dir":Ye();break;case"manage-tags":H(!0);break;case"import-md":We();break;case"import-zip":Xe();break;case"export-zip":Oe();break}},[Ye,We,Xe,Oe]),Ls=s.useMemo(()=>[{content:"新建目录",value:"create-dir",prefixIcon:e.jsxDEV(xn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:938,columnNumber:57},void 0)},{content:"管理标签",value:"manage-tags",prefixIcon:e.jsxDEV(pn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:939,columnNumber:58},void 0)},{content:"导入 Markdown",value:"import-md",prefixIcon:e.jsxDEV(ns,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:940,columnNumber:63},void 0)},{content:"导入 ZIP",value:"import-zip",prefixIcon:e.jsxDEV(ns,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:941,columnNumber:59},void 0)},{content:"导出 ZIP",value:"export-zip",prefixIcon:e.jsxDEV(Re,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:942,columnNumber:59},void 0)}],[]);return e.jsxDEV("div",{className:"kb-drawer",children:[e.jsxDEV("input",{ref:ge,type:"file",accept:".md,.markdown",multiple:!0,style:{display:"none"},onChange:zs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:948,columnNumber:7},void 0),e.jsxDEV("input",{ref:xe,type:"file",accept:".json,.zip",style:{display:"none"},onChange:As},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:956,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-drawer__body",ref:Ee,children:[e.jsxDEV("div",{className:"kb-drawer__sidebar",style:{width:ve},children:[e.jsxDEV("div",{className:"kb-drawer__toolbar",children:[e.jsxDEV("div",{className:"kb-drawer__search",style:{display:"flex",gap:"8px",alignItems:"center",marginBottom:"8px"},children:[e.jsxDEV(je,{size:"small",prefixIcon:e.jsxDEV(us,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:973,columnNumber:29},void 0),placeholder:"搜索笔记...",value:L,onChange:a=>z(a),clearable:!0,style:{flex:1}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:971,columnNumber:15},void 0),e.jsxDEV(Ns,{trigger:"click",options:Ls,onClick:Is,minColumnWidth:120,maxColumnWidth:200,popupProps:{overlayStyle:{width:200}},children:e.jsxDEV(O,{content:"更多操作",showArrow:!1,children:e.jsxDEV("button",{style:{background:"transparent",border:"none",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",padding:"4px",color:"var(--td-text-color-secondary)",borderRadius:"4px"},onMouseEnter:a=>a.currentTarget.style.backgroundColor="var(--td-bg-color-container-hover)",onMouseLeave:a=>a.currentTarget.style.backgroundColor="transparent",children:e.jsxDEV(wn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1009,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:989,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:988,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:980,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:970,columnNumber:13},void 0),e.jsxDEV("div",{className:"kb-drawer__filters",style:{display:"flex",gap:"8px",alignItems:"center"},children:[e.jsxDEV(Cn,{allTags:N,selectedTagIds:U,onSelectedChange:I},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1016,columnNumber:15},void 0),e.jsxDEV("div",{style:{flex:1}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1021,columnNumber:15},void 0),e.jsxDEV(Qn,{value:$,onChange:Rs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1022,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1015,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:969,columnNumber:11},void 0),e.jsxDEV(_n,{directories:i,notesByDir:Es,noteTagsMap:y,noteCounts:ys,selectedDirId:V,selectedNoteId:m,expandedDirIds:E,onSelectDir:a=>{x(a),T(null),j(null)},onToggleExpand:Ks,onCreateDir:De,onRenameDir:Ds,onDeleteDir:Us,onDuplicateDir:_s,onSelectNote:ee,onCreateNote:Ue,onDeleteNote:Cs,onDuplicateNote:qs,isCreatingDir:w,onCancelCreateDir:()=>P(!1),onInsertNoteToCanvas:Vs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1027,columnNumber:11},void 0),Le&&e.jsxDEV("div",{className:"kb-drawer__storage-bar",children:[e.jsxDEV(kn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1057,columnNumber:15},void 0),e.jsxDEV("span",{className:"kb-drawer__storage-text",children:["已用 ",Zn(Le.used)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1058,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1056,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:967,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-resizer",onMouseDown:ks},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1065,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-drawer__editor",children:e.jsxDEV(qn,{note:l,allTags:N,noteTags:R,readOnly:!!(m&&(m.startsWith(re)||m.startsWith(oe))),isSkillDirectory:!!(l&&(((He=i.find(a=>a.id===l.directoryId))==null?void 0:He.name)==="Skill"||m&&m.startsWith(re)||m&&m.startsWith(oe))),onUpdateNote:_e,onSetNoteTags:Ts,onCreateTag:Fe},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1069,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1068,columnNumber:9},void 0),l&&e.jsxDEV(e.Fragment,{children:q?e.jsxDEV(O,{content:"展开侧边栏",showArrow:!1,children:e.jsxDEV("button",{className:"kb-drawer__right-toggle",onClick:()=>G(!1),children:e.jsxDEV(hn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1096,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1092,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1091,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-resizer",onMouseDown:hs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1101,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-drawer__right-sidebar",style:{width:ye},children:[e.jsxDEV("div",{className:"kb-drawer__right-header",children:[e.jsxDEV("div",{className:"kb-drawer__right-tabs",children:[e.jsxDEV(O,{content:"相似笔记",showArrow:!1,children:e.jsxDEV("button",{className:`kb-drawer__right-tab ${Q==="related"?"kb-drawer__right-tab--active":""}`,onClick:()=>Z("related"),children:e.jsxDEV(fs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1111,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1107,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1106,columnNumber:21},void 0),e.jsxDEV(O,{content:"知识提取",showArrow:!1,children:e.jsxDEV("button",{className:`kb-drawer__right-tab ${Q==="extraction"?"kb-drawer__right-tab--active":""}`,onClick:()=>Z("extraction"),children:e.jsxDEV(Se,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1119,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1115,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1114,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1105,columnNumber:19},void 0),e.jsxDEV(O,{content:"收起侧边栏",showArrow:!1,children:e.jsxDEV("button",{className:"kb-drawer__right-collapse-btn",onClick:()=>G(!0),children:e.jsxDEV(jn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1128,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1124,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1123,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1104,columnNumber:19},void 0),e.jsxDEV("div",{className:"kb-drawer__right-content",children:Q==="related"?e.jsxDEV(Sn,{currentNoteId:l.id,allNotes:d,noteTagsMap:y,onSelectNote:ee},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1136,columnNumber:21},void 0):e.jsxDEV(Gn,{noteId:l.id,noteContent:l.content,noteTitle:l.title,onSaved:()=>W(),onInsertToNote:Bs},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1143,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1134,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1102,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1100,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1089,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:965,columnNumber:7},void 0),e.jsxDEV(Tn,{visible:_,onClose:()=>H(!1),allTags:N,onCreateTag:Fe,onUpdateTag:Ss,onDeleteTag:Ms},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1159,columnNumber:7},void 0),Ne]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:946,columnNumber:5},void 0)};function Zn(n){if(n===0)return"0 B";const i=["B","KB","MB","GB"],r=Math.floor(Math.log(n)/Math.log(1024));return`${(n/Math.pow(1024,r)).toFixed(1)} ${i[r]}`}export{Ni as default};
|