aitu-app 0.6.13 → 0.6.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/assets/ChatMessagesArea-BDdoD5_A.js +250 -0
- package/assets/DialogTaskList-DPJ7HZyZ.js +1 -0
- package/assets/KnowledgeBaseContent-C72s05vt.js +143 -0
- package/assets/ToolboxDrawer-l4Ty3r9W.js +91 -0
- package/assets/__vite-browser-external-UePf-KSV.js +1 -0
- package/assets/{ai-analyze-CXbDwr-F.js → ai-analyze-xgKQgd4U.js} +1 -1
- package/assets/ai-image-generation-C5JAcp3b.js +1 -0
- package/assets/ai-video-generation-ac-33IgK.js +5 -0
- package/assets/{arc-Vb6QIvRI.js → arc-Dp9Tayy1.js} +1 -1
- package/assets/{arc-BVpYfX8u.js → arc-OJPD8-BT.js} +1 -1
- package/assets/batch-image-generation-C3x-OHz8.js +6 -0
- package/assets/{blockDiagram-38ab4fdb-CbUExfWH.js → blockDiagram-38ab4fdb-BmbbsYSN.js} +1 -1
- package/assets/{blockDiagram-38ab4fdb-CbbmIvT5.js → blockDiagram-38ab4fdb-Ct18ekcD.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-Db1GHdmL.js → c4Diagram-3d4e48cf-B5n9lAd_.js} +1 -1
- package/assets/{c4Diagram-3d4e48cf-Dw_8bcgE.js → c4Diagram-3d4e48cf-CeYsSK_V.js} +1 -1
- package/assets/channel-3D-64Gra.js +1 -0
- package/assets/channel-Cwws4QMc.js +1 -0
- package/assets/{classDiagram-70f12bd4-CXXAHxeU.js → classDiagram-70f12bd4-DHUkWA9l.js} +1 -1
- package/assets/{classDiagram-70f12bd4-_p3Dnvx6.js → classDiagram-70f12bd4-moiNcfve.js} +1 -1
- package/assets/{classDiagram-v2-f2320105-B-9myg44.js → classDiagram-v2-f2320105-DA5NC1Qw.js} +1 -1
- package/assets/{classDiagram-v2-f2320105-ChK1LfBX.js → classDiagram-v2-f2320105-GgtaFqwD.js} +1 -1
- package/assets/{clipper-CJLNPhZM.js → clipper-t_9jIAe9.js} +1 -1
- package/assets/clone-BMrzx1Td.js +1 -0
- package/assets/clone-BizrxztP.js +1 -0
- package/assets/createText-2e5e7dd3-CHzSuNe3.js +8 -0
- package/assets/{createText-2e5e7dd3-BGRSuPih.js → createText-2e5e7dd3-DOBPzTzY.js} +1 -1
- package/assets/{edges-e0da2a9e-BoQQRKl3.js → edges-e0da2a9e-Bq2ydCT4.js} +1 -1
- package/assets/{edges-e0da2a9e-1EAOsAGW.js → edges-e0da2a9e-CN99E-t-.js} +1 -1
- package/assets/{erDiagram-9861fffd-DIqIVsjO.js → erDiagram-9861fffd-Do4S3P96.js} +1 -1
- package/assets/{erDiagram-9861fffd-DrPXJadW.js → erDiagram-9861fffd-oiPiotaf.js} +1 -1
- package/assets/{flowDb-956e92f1-DKdojl1Z.js → flowDb-956e92f1-D51K1L9K.js} +1 -1
- package/assets/{flowDb-956e92f1-_yAXk9b2.js → flowDb-956e92f1-DFBqRgDU.js} +1 -1
- package/assets/{flowDiagram-66a62f08-BSNSE1vH.js → flowDiagram-66a62f08-DUEF_pO-.js} +1 -1
- package/assets/{flowDiagram-66a62f08-Cn3BWcxJ.js → flowDiagram-66a62f08-ohjO56wG.js} +1 -1
- package/assets/flowDiagram-v2-96b9c2cf-DqY72AjL.js +1 -0
- package/assets/flowDiagram-v2-96b9c2cf-drt1-w-A.js +1 -0
- package/assets/{flowchart-elk-definition-4a651766-CkhkUOMa.js → flowchart-elk-definition-4a651766-CZGupUae.js} +1 -1
- package/assets/{flowchart-elk-definition-4a651766-CtRYHypS.js → flowchart-elk-definition-4a651766-Ck49vbEO.js} +1 -1
- package/assets/{ganttDiagram-c361ad54-DWZxEumf.js → ganttDiagram-c361ad54-D-2TQXly.js} +1 -1
- package/assets/{ganttDiagram-c361ad54-C-olbHti.js → ganttDiagram-c361ad54-Di2O32lI.js} +1 -1
- package/assets/{gitGraphDiagram-72cf32ee-DFI0WJ7k.js → gitGraphDiagram-72cf32ee-BRac4-Im.js} +1 -1
- package/assets/{gitGraphDiagram-72cf32ee-Dz3X9B4S.js → gitGraphDiagram-72cf32ee-CTYbPhUT.js} +1 -1
- package/assets/{graph-BbAdRpyG.js → graph-2iyYFI0w.js} +1 -1
- package/assets/{graph-CG3zmXkL.js → graph-C1hWr4Pm.js} +1 -1
- package/assets/{grid-image-CahEQ7p7.js → grid-image-dUr2Jg39.js} +1 -1
- package/assets/{has-Cq7YuzG9.js → has-SF0all_b.js} +1 -1
- package/assets/{hasIn-4hPyOh4r.js → hasIn-DKQ-u2B0.js} +1 -1
- package/assets/{index-3862675e-D_PJ0qZE.js → index-3862675e-CZEjGwoo.js} +1 -1
- package/assets/{index-3862675e-Cy2LJr-t.js → index-3862675e-RDTDsnXn.js} +1 -1
- package/assets/index-8936AfEv.js +1 -0
- package/assets/{index-ICFaM7Tx.js → index-B7eekA6_.js} +1 -1
- package/assets/index-BDUNgKdd.js +4 -0
- package/assets/{index-XoOCAjmC.js → index-BHA-RYCc.js} +1 -1
- package/assets/{index-DHrV9sCt.js → index-BOD5NqEU.js} +1 -1
- package/assets/{index-Bad6y32x.js → index-Bari47nZ.js} +1 -1
- package/assets/index-Bk0_Zb0q.js +126 -0
- package/assets/index-Bl-lGyNS.js +1 -0
- package/assets/{index-DBCwQvu4.js → index-BmjGPRWs.js} +1 -1
- package/assets/{index-BOHFUhjZ.js → index-BwMZ5wpE.js} +1 -1
- package/assets/{index-BiCrE7Ci.js → index-CANiroWR.js} +1 -1
- package/assets/{index-BDnSt0a8.js → index-CF52PGdh.js} +1 -1
- package/assets/{index-WyqXHNHN.js → index-COU1uiqb.js} +10 -10
- package/assets/{index-Bfs6Q-lQ.js → index-CbWVcCEf.js} +1 -1
- package/assets/{index-BQS_8NU3.js → index-CgRCJ-LO.js} +1 -1
- package/assets/{index-Dqi7TZna.js → index-Cjr7NFhN.js} +1 -1
- package/assets/{index-CqEazMaK.js → index-CtCg-67U.js} +1 -1
- package/assets/{index-BU3nDlFy.js → index-CtQCAjVT.js} +1 -1
- package/assets/{index-DtNyBFxZ.js → index-Cxm1XljY.js} +1 -1
- package/assets/index-Cz1tSwF3.css +1 -0
- package/assets/{index-BE7n-LiY.js → index-Czr2RAjn.js} +1 -1
- package/assets/{index-Dv8yvI8G.js → index-D-84skI6.js} +1 -1
- package/assets/{index-pt9oZHeu.js → index-D263cNDG.js} +1 -1
- package/assets/{index-CciPE8zM.js → index-D2m550qt.js} +1 -1
- package/assets/{index-B9uNbnfa.js → index-D77Go9tu.js} +1 -1
- package/assets/{index-C1tgh8XV.js → index-DaGnZYqf.js} +10 -10
- package/assets/{index-BZIcMnMw.js → index-DhkzbRKo.js} +1 -1
- package/assets/{index-BkRTZMZM.js → index-Dpe0RMNz.js} +1 -1
- package/assets/index-DwHU5eOe.css +9 -0
- package/assets/{index-B4IEsL3l.js → index-Eh2ScCVM.js} +1 -1
- package/assets/index-IZLKDros.js +3675 -0
- package/assets/{index-Cx19IgV-.js → index-XL72XJSV.js} +5 -5
- package/assets/{index-jHCkpoWQ.js → index-eG2AQFN1.js} +1 -1
- package/assets/{index-DUgUd4bR.js → index-idzCX2RO.js} +1 -1
- package/assets/{index-Bco0OAak.js → index-kEyGqmtF.js} +1 -1
- package/assets/{infoDiagram-f8f76790-C0TYyx3w.js → infoDiagram-f8f76790-BxK-Egf6.js} +1 -1
- package/assets/{infoDiagram-f8f76790-D8T-erO4.js → infoDiagram-f8f76790-CUCAPcFk.js} +1 -1
- package/assets/{inspiration-board-CiL8hKbX.js → inspiration-board-D8Ua5Oe1.js} +1 -1
- package/assets/{isEmpty-BoFRUVaJ.js → isEmpty-t4Cy-KF3.js} +1 -1
- package/assets/{journeyDiagram-49397b02-BHw2LUDu.js → journeyDiagram-49397b02-CSy6umB2.js} +1 -1
- package/assets/{journeyDiagram-49397b02-CkmFUv6i.js → journeyDiagram-49397b02-hn1ZL1sk.js} +1 -1
- package/assets/{layers-CaY2-pH6.js → layers-D6FMrwlY.js} +1 -1
- package/assets/{layout-D_agYVJ_.js → layout-Bx4CUuIY.js} +1 -1
- package/assets/{layout-CSua1dGC.js → layout-Cx8G_aqy.js} +1 -1
- package/assets/{line-CN9rNlXr.js → line-BZ1F3Pjg.js} +1 -1
- package/assets/{line-CxGDlzoc.js → line-CWqmXnzs.js} +1 -1
- package/assets/{linear-DKP7SWoM.js → linear-0qmptMY3.js} +1 -1
- package/assets/{linear-CvStv2Ny.js → linear-BD9ezGBw.js} +1 -1
- package/assets/{mermaid.core-DawxQi4y.js → mermaid.core-CclEoiQB.js} +5 -5
- package/assets/{mindmap-definition-fc14e90a-BWrsnm3I.js → mindmap-definition-fc14e90a-C3--tXOB.js} +1 -1
- package/assets/{mindmap-definition-fc14e90a-Dmo2lz3K.js → mindmap-definition-fc14e90a-DF7zVwYN.js} +1 -1
- package/assets/{photo-wall-splitter-B_WR4Rl2.js → photo-wall-splitter-DRunCkYJ.js} +1 -1
- package/assets/{pick-C1hcXSqm.js → pick-fy_8WYZR.js} +1 -1
- package/assets/{pieDiagram-8a3498a8-DhrponMk.js → pieDiagram-8a3498a8-BUs_EbTX.js} +1 -1
- package/assets/{pieDiagram-8a3498a8-CmbWJAb7.js → pieDiagram-8a3498a8-K2pJYExm.js} +1 -1
- package/assets/{quadrantDiagram-120e2f19-CgIF-y-_.js → quadrantDiagram-120e2f19-B_NqGDOT.js} +1 -1
- package/assets/{quadrantDiagram-120e2f19-DOKwrvFF.js → quadrantDiagram-120e2f19-npHcJfpe.js} +1 -1
- package/assets/{requirementDiagram-deff3bca-CIXltTSE.js → requirementDiagram-deff3bca-MAAg8oy7.js} +1 -1
- package/assets/{requirementDiagram-deff3bca-BqbqHjdU.js → requirementDiagram-deff3bca-XXIszlff.js} +1 -1
- package/assets/{sankeyDiagram-04a897e0-DGiABLdx.js → sankeyDiagram-04a897e0-C5NJymdM.js} +1 -1
- package/assets/{sankeyDiagram-04a897e0-DcPermhl.js → sankeyDiagram-04a897e0-CSCR2bPx.js} +1 -1
- package/assets/{sequenceDiagram-704730f1-BUXJ6XVH.js → sequenceDiagram-704730f1-ChCKpyVM.js} +1 -1
- package/assets/{sequenceDiagram-704730f1-piXYTUjh.js → sequenceDiagram-704730f1-DJ4I-j-u.js} +1 -1
- package/assets/{settings-dialog-A3AH7O45.css → settings-dialog-Bf8ExAlc.css} +1 -1
- package/assets/settings-dialog-CXBVyqHP.js +11 -0
- package/assets/{shard-sync-service-BCo2qKEA.js → shard-sync-service-IbZF8xlU.js} +1 -1
- package/assets/{stateDiagram-587899a1-Dnd2X4K4.js → stateDiagram-587899a1-BA9z6NxG.js} +1 -1
- package/assets/{stateDiagram-587899a1-Cdfs3rRO.js → stateDiagram-587899a1-Bds5dxHr.js} +1 -1
- package/assets/{stateDiagram-v2-d93cdb3a-DtC5XSWV.js → stateDiagram-v2-d93cdb3a-wf_BKO33.js} +1 -1
- package/assets/{stateDiagram-v2-d93cdb3a-lOfkWHnS.js → stateDiagram-v2-d93cdb3a-zgIPW-Wq.js} +1 -1
- package/assets/{styles-6aaf32cf-BTv8Dnxa.js → styles-6aaf32cf-DKSbsikH.js} +1 -1
- package/assets/{styles-6aaf32cf-B_EWv7Bz.js → styles-6aaf32cf-k70vGvK6.js} +1 -1
- package/assets/{styles-9a916d00-BNkP2BU4.js → styles-9a916d00-DlsdUcZV.js} +1 -1
- package/assets/{styles-9a916d00-C4vTAlbK.js → styles-9a916d00-DmmQFwNe.js} +1 -1
- package/assets/{styles-c10674c1-Dp5J5JrP.js → styles-c10674c1-CxF05c2I.js} +1 -1
- package/assets/{styles-c10674c1-BcxLBYaC.js → styles-c10674c1-D8qHaY59.js} +1 -1
- package/assets/{svgDrawCommon-08f97a94-5_vuhhyn.js → svgDrawCommon-08f97a94-C47JFYdy.js} +1 -1
- package/assets/{svgDrawCommon-08f97a94-CalbTy9V.js → svgDrawCommon-08f97a94-DXUoCs1f.js} +1 -1
- package/assets/{timeline-definition-85554ec2-ByBsrbAq.js → timeline-definition-85554ec2-C2IdYpUG.js} +1 -1
- package/assets/{timeline-definition-85554ec2-DBiJ4h6g.js → timeline-definition-85554ec2-DKGZodMj.js} +1 -1
- package/assets/ttd-dialog-BARbesy9.js +95 -0
- package/assets/{upload-DP5n1PVz.js → upload-CjpWBLk1.js} +1 -1
- package/assets/{video-recovery-service-DY01FcHI.js → video-recovery-service-CfVXvCd9.js} +1 -1
- package/assets/{xychartDiagram-e933f94c-CJ1NxG0K.js → xychartDiagram-e933f94c-CjAQ2fLX.js} +1 -1
- package/assets/{xychartDiagram-e933f94c-CEXcS3Lw.js → xychartDiagram-e933f94c-qh0OFXZU.js} +1 -1
- package/changelog.json +58 -0
- package/package.json +1 -1
- package/precache-manifest.json +283 -283
- package/sw.js +4 -4
- package/version.json +7 -3
- package/assets/ChatMessagesArea-Btxhq7Z2.js +0 -229
- package/assets/DialogTaskList-0I91BD1p.js +0 -1
- package/assets/KnowledgeBaseContent-CSEr1paK.js +0 -153
- package/assets/ToolboxDrawer-CFAgOmIa.js +0 -91
- package/assets/__vite-browser-external-BIHI7g3E.js +0 -1
- package/assets/ai-image-generation-CvUX_vnh.js +0 -1
- package/assets/ai-video-generation-BgDcotXE.js +0 -5
- package/assets/batch-image-generation-rvn9zCP-.js +0 -6
- package/assets/channel-ChluHQU5.js +0 -1
- package/assets/channel-DQ0ggWsj.js +0 -1
- package/assets/clone-BscGHP5K.js +0 -1
- package/assets/clone-CTdvgy2F.js +0 -1
- package/assets/createText-2e5e7dd3-BCbwgqBS.js +0 -7
- package/assets/flowDiagram-v2-96b9c2cf-BmoA7Lrr.js +0 -1
- package/assets/flowDiagram-v2-96b9c2cf-Du5Aycbt.js +0 -1
- package/assets/index-7WzIC7_D.js +0 -3448
- package/assets/index-BOZ3fCzl.js +0 -3
- package/assets/index-CYf1zrx4.js +0 -1
- package/assets/index-C_Ed2LrM.js +0 -1
- package/assets/index-D9rMZcAy.js +0 -123
- package/assets/index-V8UiJyjb.css +0 -1
- package/assets/index-qP_w2VHW.css +0 -9
- package/assets/settings-dialog-D1OnKj0y.js +0 -11
- package/assets/ttd-dialog-C9noZsTQ.js +0 -95
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-IZLKDros.js","./index-DwHU5eOe.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{bT as O,r as s,aQ as e,ec as Ps,c0 as ae,bW as ce,eu as As,fU as Ue,fV as rs,fW as ue,b$ as ge,cf as pe,fX as xe,fY as Ke,fZ as Is,f_ as ne,bm as ds,f$ as Ze,cY as D,g0 as Fs,g1 as Ws,g2 as Se,bn as Be,g3 as Os,g4 as Te,ed as ke,bX as ls,bh as me,f3 as Hs,cT as Xs,g5 as Ys,bd as R,g6 as cs,g7 as us,d6 as Zs,aW as Ge,bp as Ve,g8 as Gs,g9 as Qs,b2 as Js,er as ms,cN as Qe,ga as en,cK as De,gb as sn,bf as nn}from"./index-IZLKDros.js";/**
|
|
3
|
+
* @license lucide-react v0.562.0 - ISC
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the ISC license.
|
|
6
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/const an=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Je=O("arrow-down",an);/**
|
|
8
|
+
* @license lucide-react v0.562.0 - ISC
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the ISC license.
|
|
11
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/const tn=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],es=O("arrow-up",tn);/**
|
|
13
|
+
* @license lucide-react v0.562.0 - ISC
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the ISC license.
|
|
16
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/const on=[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]],rn=O("book-open",on);/**
|
|
18
|
+
* @license lucide-react v0.562.0 - ISC
|
|
19
|
+
*
|
|
20
|
+
* This source code is licensed under the ISC license.
|
|
21
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
22
|
+
*/const dn=[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]],ln=O("bot",dn);/**
|
|
23
|
+
* @license lucide-react v0.562.0 - ISC
|
|
24
|
+
*
|
|
25
|
+
* This source code is licensed under the ISC license.
|
|
26
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
+
*/const cn=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["rect",{x:"9",y:"9",width:"6",height:"6",rx:"1",key:"1ssd4o"}]],un=O("circle-stop",cn);/**
|
|
28
|
+
* @license lucide-react v0.562.0 - ISC
|
|
29
|
+
*
|
|
30
|
+
* This source code is licensed under the ISC license.
|
|
31
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
+
*/const mn=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],qe=O("external-link",mn);/**
|
|
33
|
+
* @license lucide-react v0.562.0 - ISC
|
|
34
|
+
*
|
|
35
|
+
* This source code is licensed under the ISC license.
|
|
36
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37
|
+
*/const fn=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ne=O("file-text",fn);/**
|
|
38
|
+
* @license lucide-react v0.562.0 - ISC
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the ISC license.
|
|
41
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
+
*/const bn=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],Nn=O("folder-open",bn);/**
|
|
43
|
+
* @license lucide-react v0.562.0 - ISC
|
|
44
|
+
*
|
|
45
|
+
* This source code is licensed under the ISC license.
|
|
46
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
47
|
+
*/const gn=[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],pn=O("folder-plus",gn);/**
|
|
48
|
+
* @license lucide-react v0.562.0 - ISC
|
|
49
|
+
*
|
|
50
|
+
* This source code is licensed under the ISC license.
|
|
51
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
52
|
+
*/const xn=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],kn=O("folder",xn);/**
|
|
53
|
+
* @license lucide-react v0.562.0 - ISC
|
|
54
|
+
*
|
|
55
|
+
* This source code is licensed under the ISC license.
|
|
56
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
+
*/const wn=[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]],hn=O("funnel",wn);/**
|
|
58
|
+
* @license lucide-react v0.562.0 - ISC
|
|
59
|
+
*
|
|
60
|
+
* This source code is licensed under the ISC license.
|
|
61
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
62
|
+
*/const jn=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],fs=O("link-2",jn);/**
|
|
63
|
+
* @license lucide-react v0.562.0 - ISC
|
|
64
|
+
*
|
|
65
|
+
* This source code is licensed under the ISC license.
|
|
66
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
67
|
+
*/const yn=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Ce=O("lock",yn);/**
|
|
68
|
+
* @license lucide-react v0.562.0 - ISC
|
|
69
|
+
*
|
|
70
|
+
* This source code is licensed under the ISC license.
|
|
71
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
72
|
+
*/const vn=[["path",{d:"M13.4 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-7.4",key:"re6nr2"}],["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["path",{d:"M21.378 5.626a1 1 0 1 0-3.004-3.004l-5.01 5.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"pqwjuv"}]],En=O("notebook-pen",vn);/**
|
|
73
|
+
* @license lucide-react v0.562.0 - ISC
|
|
74
|
+
*
|
|
75
|
+
* This source code is licensed under the ISC license.
|
|
76
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
77
|
+
*/const _n=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}],["path",{d:"m8 9 3 3-3 3",key:"12hl5m"}]],Dn=O("panel-right-close",_n);/**
|
|
78
|
+
* @license lucide-react v0.562.0 - ISC
|
|
79
|
+
*
|
|
80
|
+
* This source code is licensed under the ISC license.
|
|
81
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
82
|
+
*/const Un=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],Kn=O("panel-right",Un);/**
|
|
83
|
+
* @license lucide-react v0.562.0 - ISC
|
|
84
|
+
*
|
|
85
|
+
* This source code is licensed under the ISC license.
|
|
86
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
87
|
+
*/const Bn=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],Vn=O("tags",Bn);/**
|
|
88
|
+
* @license lucide-react v0.562.0 - ISC
|
|
89
|
+
*
|
|
90
|
+
* This source code is licensed under the ISC license.
|
|
91
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
92
|
+
*/const qn=[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]],ss=O("upload",qn),ie="__system_skill__";function Cn(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 Sn=({directories:n,notesByDir:i,noteTagsMap:r,noteCounts:l,selectedDirId:g,selectedNoteId:f,expandedDirIds:m,isCreatingDir:c,skillDirName:h="Skill",onSelectDir:U,onToggleExpand:E,onCreateDir:w,onCancelCreateDir:v,onRenameDir:j,onDeleteDir:k,onSelectNote:K,onCreateNote:b,onDeleteNote:p,onDuplicateDir:q,onDuplicateNote:$,onInsertNoteToCanvas:B})=>{const[T,_]=s.useState(""),[L,I]=s.useState(null),[H,Y]=s.useState(""),[W,o]=s.useState(null);s.useEffect(()=>{const N=()=>o(null),V=()=>o(null);return document.addEventListener("click",N),document.addEventListener("scroll",V,!0),()=>{document.removeEventListener("click",N),document.removeEventListener("scroll",V,!0)}},[]);const P=s.useCallback((N,V,X,te=!1)=>{N.preventDefault(),N.stopPropagation(),o({x:N.clientX,y:N.clientY,type:V,id:X,isDefault:te})},[]),z=s.useCallback(async()=>{const N=T.trim();if(N)try{await w(N),_(""),v()}catch{}},[T,w,v]),A=s.useCallback(async N=>{const V=H.trim();if(V)try{await j(N,V),I(null)}catch{}},[H,j]);return e.jsxDEV("div",{className:"kb-tree",children:[c&&e.jsxDEV("div",{className:"kb-tree__create-row",children:[e.jsxDEV("input",{className:"kb-tree__input",value:T,onChange:N=>_(N.target.value),onKeyDown:N=>{N.key==="Enter"&&z(),N.key==="Escape"&&v()},placeholder:"目录名称",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:171,columnNumber:11},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:z,children:e.jsxDEV(ae,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:183,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:182,columnNumber:11},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:v,children:e.jsxDEV(ce,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:186,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:185,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:170,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__list",children:n.map(N=>e.jsxDEV(Tn,{dir:N,isSelected:g===N.id,isExpanded:m.has(N.id),notes:i[N.id]||[],noteCount:l[N.id]||0,noteTagsMap:r,selectedNoteId:f,isRenaming:L===N.id,renameValue:H,onSelectDir:()=>{U(N.id),m.has(N.id)||E(N.id)},onToggleExpand:()=>{E(N.id),o(null)},onStartRename:()=>{I(N.id),Y(N.name),o(null)},onRenameChange:Y,onRenameConfirm:()=>A(N.id),onRenameCancel:()=>I(null),onDeleteDir:()=>{k(N.id),o(null)},onCreateNote:()=>{b(N.id),o(null)},onSelectNote:K,onDeleteNote:V=>{p(V),o(null)},onContextMenu:V=>P(V,"directory",N.id,N.isDefault),onNoteContextMenu:(V,X)=>P(V,"note",X),isSkillDir:N.name===h},N.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:193,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:191,columnNumber:7},void 0),W&&Ps.createPortal(e.jsxDEV("div",{className:"kb-context-menu",style:{top:W.y,left:W.x,zIndex:As.DROPDOWN_PORTAL},onClick:N=>N.stopPropagation(),children:W.type==="directory"?e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{q(W.id),o(null)},children:[e.jsxDEV(Ue,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:260,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:261,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:253,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{var N;I(W.id),Y(((N=n.find(V=>V.id===W.id))==null?void 0:N.name)||""),o(null)},children:[e.jsxDEV(rs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:273,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:274,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:263,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-context-menu__item kb-context-menu__item--danger",onClick:()=>{k(W.id),o(null)},children:[e.jsxDEV(ue,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:283,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:284,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:276,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:252,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{$(W.id),o(null)},children:[e.jsxDEV(Ue,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:296,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:297,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:289,columnNumber:17},void 0),B&&e.jsxDEV("div",{className:"kb-context-menu__item",onClick:()=>{const V=Object.values(i).flat().find(X=>X.id===W.id);V&&B(V),o(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:311,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:312,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:313,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:310,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:315,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:300,columnNumber:19},void 0),e.jsxDEV("div",{className:"kb-context-menu__item kb-context-menu__item--danger",onClick:()=>{p(W.id),o(null)},children:[e.jsxDEV(ue,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:325,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:326,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:318,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:288,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:242,columnNumber:11},void 0),document.body)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:168,columnNumber:5},void 0)},Tn=({dir:n,isSelected:i,isExpanded:r,notes:l,noteCount:g,noteTagsMap:f,selectedNoteId:m,isRenaming:c,renameValue:h,isSkillDir:U=!1,onSelectDir:E,onToggleExpand:w,onStartRename:v,onRenameChange:j,onRenameConfirm:k,onRenameCancel:K,onDeleteDir:b,onCreateNote:p,onSelectNote:q,onDeleteNote:$,onContextMenu:B,onNoteContextMenu:T})=>e.jsxDEV("div",{className:`kb-tree__dir ${i?"kb-tree__dir--selected":""}`,children:[e.jsxDEV("div",{className:"kb-tree__dir-row",onClick:E,onContextMenu:B,children:[e.jsxDEV("button",{className:"kb-tree__expand-btn",onClick:_=>{_.stopPropagation(),w()},children:r?e.jsxDEV(ge,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:398,columnNumber:25},void 0):e.jsxDEV(pe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:398,columnNumber:53},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:394,columnNumber:9},void 0),r?e.jsxDEV(Nn,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:400,columnNumber:23},void 0):e.jsxDEV(kn,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:400,columnNumber:50},void 0),c?e.jsxDEV("input",{className:"kb-tree__input kb-tree__input--inline",value:h,onChange:_=>j(_.target.value),onKeyDown:_=>{_.key==="Enter"&&k(),_.key==="Escape"&&K()},onClick:_=>_.stopPropagation(),autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:403,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:415,columnNumber:11},void 0),e.jsxDEV("span",{className:"kb-tree__dir-count",children:g},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:417,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-tree__dir-actions",children:[e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:_=>{_.stopPropagation(),p()},title:"新建笔记",children:e.jsxDEV(xe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:425,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:420,columnNumber:11},void 0),e.jsxDEV(e.Fragment,{children:[e.jsxDEV("button",{className:"kb-tree__icon-btn",onClick:_=>{_.stopPropagation(),v()},title:"重命名",children:e.jsxDEV(rs,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:433,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:428,columnNumber:13},void 0),e.jsxDEV("button",{className:"kb-tree__icon-btn kb-tree__icon-btn--danger",onClick:_=>{_.stopPropagation(),b()},title:"删除",children:e.jsxDEV(ue,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:440,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:435,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:427,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:419,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:393,columnNumber:7},void 0),r&&e.jsxDEV("div",{className:"kb-tree__notes",children:[U&&Ke.map(_=>{const L=`${ie}${_.id}`,I=m===L;return e.jsxDEV("div",{className:`kb-tree__note-row kb-tree__note-row--system ${I?"kb-tree__note-row--selected":""}`,onClick:()=>q(L),children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(Ce,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:460,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:459,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:e.jsxDEV("div",{className:"kb-tree__note-title",children:[_.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:465,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:463,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:462,columnNumber:17},void 0)]},L,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:454,columnNumber:15},void 0)}),U&&Is().map(_=>{const L=`${ne}${_.id}`,I=m===L;return e.jsxDEV("div",{className:`kb-tree__note-row kb-tree__note-row--system ${I?"kb-tree__note-row--selected":""}`,onClick:()=>q(L),children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(Ce,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:482,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:481,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tree__note-content",children:e.jsxDEV("div",{className:"kb-tree__note-title",children:[_.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:487,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:485,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:484,columnNumber:17},void 0)]},L,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:476,columnNumber:15},void 0)}),l.length===0&&!U&&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:494,columnNumber:13},void 0),l.length===0&&U&&Ke.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:497,columnNumber:13},void 0),Array.from(new Map(l.map(_=>[_.id,_])).values()).map(_=>{const L=m===_.id,I=f[_.id]||[],H=_.metadata;return e.jsxDEV(Mn,{note:_,isSelected:L,tags:I,metadata:H,onSelect:()=>q(_.id),onDelete:()=>$(_.id),onContextMenu:Y=>T(Y,_.id)},_.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:505,columnNumber:15},void 0)})]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:448,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:391,columnNumber:5},void 0),Mn=({note:n,isSelected:i,tags:r,metadata:l,onSelect:g,onDelete:f,onContextMenu:m})=>e.jsxDEV("div",{className:`kb-tree__note-row ${i?"kb-tree__note-row--selected":""}`,onClick:g,onContextMenu:m,children:[e.jsxDEV("div",{className:"kb-tree__note-icon",children:e.jsxDEV(Ne,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:552,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:551,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:555,columnNumber:7},void 0),(l==null?void 0:l.domain)&&e.jsxDEV("div",{className:"kb-tree__note-domain",children:[l.faviconUrl?e.jsxDEV("img",{src:l.faviconUrl,alt:"",className:"kb-tree__favicon",onError:c=>{c.target.style.display="none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:559,columnNumber:13},void 0):e.jsxDEV(ds,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:566,columnNumber:13},void 0),e.jsxDEV("span",{children:l.domain},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:568,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:557,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(c=>e.jsxDEV("span",{className:"kb-tree__tag-badge",style:{backgroundColor:`${c.color}20`,color:c.color},children:c.name},c.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:575,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:584,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:573,columnNumber:11},void 0),r.length===0&&!(l!=null&&l.domain)&&e.jsxDEV("span",{className:"kb-tree__note-time",children:Cn(n.updatedAt)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:589,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:571,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:554,columnNumber:5},void 0),e.jsxDEV("button",{className:"kb-tree__note-delete",onClick:c=>{c.stopPropagation(),f()},title:"删除笔记",children:e.jsxDEV(ue,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:598,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:593,columnNumber:5},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBUnifiedTree.tsx",lineNumber:546,columnNumber:3},void 0),ns=({allTags:n,selectedTagIds:i,onSelectedChange:r,onCreateTag:l,showCount:g=!1})=>{const[f,m]=s.useState(!1),[c,h]=s.useState(""),[U,E]=s.useState(!1),w=s.useRef(null);s.useEffect(()=>{if(!f)return;const b=p=>{w.current&&!w.current.contains(p.target)&&(m(!1),E(!1),h(""))};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[f]);const v=s.useCallback(b=>{const p=i.includes(b)?i.filter(q=>q!==b):[...i,b];r(p)},[i,r]),j=s.useCallback((b,p)=>{p.stopPropagation(),r(i.filter(q=>q!==b))},[i,r]),k=s.useCallback(async()=>{const b=c.trim();if(b)try{const p=await l(b);r([...i,p.id]),h(""),E(!1)}catch{}},[c,l,i,r]),K=n.filter(b=>i.includes(b.id));return e.jsxDEV("div",{className:"kb-tag-selector",ref:w,children:[e.jsxDEV("div",{className:"kb-tag-selector__selected",children:[K.map(b=>e.jsxDEV("span",{className:"kb-tag-selector__tag kb-tag-selector__tag--selected",style:{"--tag-color":b.color,borderColor:b.color,backgroundColor:`${b.color}15`},children:[e.jsxDEV("span",{className:"kb-tag-selector__dot",style:{backgroundColor:b.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:98,columnNumber:13},void 0),e.jsxDEV("span",{children:b.name},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("button",{className:"kb-tag-selector__remove",onClick:p=>j(b.id,p),title:"移除标签",children:e.jsxDEV(ce,{size:11},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:100,columnNumber:13},void 0)]},b.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:89,columnNumber:11},void 0)),e.jsxDEV("button",{className:"kb-tag-selector__add-btn",onClick:()=>m(b=>!b),children:[e.jsxDEV(xe,{size:13},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:115,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:116,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:111,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:87,columnNumber:7},void 0),f&&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:126,columnNumber:15},void 0),n.map(b=>{const p=i.includes(b.id);return e.jsxDEV("button",{className:`kb-tag-selector__tag ${p?"kb-tag-selector__tag--selected":""}`,style:{"--tag-color":b.color,borderColor:p?b.color:void 0,backgroundColor:p?`${b.color}15`:void 0},onClick:()=>v(b.id),children:[e.jsxDEV("span",{className:"kb-tag-selector__dot",style:{backgroundColor:b.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:141,columnNumber:19},void 0),e.jsxDEV("span",{children:b.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:142,columnNumber:19},void 0),g&&e.jsxDEV("span",{className:"kb-tag-selector__count",children:["(",b.count,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:143,columnNumber:33},void 0),p&&e.jsxDEV(ce,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:144,columnNumber:34},void 0)]},b.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:131,columnNumber:17},void 0)})]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:124,columnNumber:11},void 0),U?e.jsxDEV("div",{className:"kb-tag-selector__create",children:[e.jsxDEV("input",{className:"kb-tag-selector__input",value:c,onChange:b=>h(b.target.value),onKeyDown:b=>{b.key==="Enter"&&k(),b.key==="Escape"&&(E(!1),h(""))},placeholder:"标签名称",autoFocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:153,columnNumber:15},void 0),e.jsxDEV("button",{className:"kb-tag-selector__create-btn",onClick:k,children:"确定"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:164,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:152,columnNumber:13},void 0):e.jsxDEV("button",{className:"kb-tag-selector__new-btn",onClick:()=>E(!0),children:[e.jsxDEV(xe,{size:13},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:173,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:174,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:169,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:122,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagSelector.tsx",lineNumber:85,columnNumber:5},void 0)},Rn=({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);function zn(n){return n.replace(/```[\s\S]*?```/g,"").replace(/`([^`]+)`/g,"$1").replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/^#{1,6}\s+/gm,"").replace(/\*\*(.+?)\*\*/g,"$1").replace(/\*(.+?)\*/g,"$1").replace(/__(.+?)__/g,"$1").replace(/_(.+?)_/g,"$1").replace(/~~(.+?)~~/g,"$1").replace(/^[\s]*[-*+]\s+/gm,"").replace(/^[\s]*\d+\.\s+/gm,"").replace(/^>\s+/gm,"").replace(/^[-*_]{3,}$/gm,"").replace(/<[^>]+>/g,"").replace(/\n{3,}/g,`
|
|
93
|
+
|
|
94
|
+
`).trim()}function $n(){const[n,i]=s.useState({isSpeaking:!1,isPaused:!1,isSupported:typeof window<"u"&&"speechSynthesis"in window}),r=s.useRef(null);s.useEffect(()=>()=>{n.isSupported&&window.speechSynthesis.cancel()},[n.isSupported]);const l=s.useCallback(c=>{if(!n.isSupported)return;window.speechSynthesis.cancel();const h=zn(c);if(!h)return;const U=new SpeechSynthesisUtterance(h);U.lang="zh-CN",U.rate=1,U.pitch=1;const E=window.speechSynthesis.getVoices(),w=E.find(v=>v.lang.startsWith("zh")&&v.localService)||E.find(v=>v.lang.startsWith("zh"));w&&(U.voice=w),U.onend=()=>{i(v=>({...v,isSpeaking:!1,isPaused:!1})),r.current=null},U.onerror=()=>{i(v=>({...v,isSpeaking:!1,isPaused:!1})),r.current=null},r.current=U,window.speechSynthesis.speak(U),i(v=>({...v,isSpeaking:!0,isPaused:!1}))},[n.isSupported]),g=s.useCallback(()=>{n.isSupported&&(window.speechSynthesis.pause(),i(c=>({...c,isPaused:!0})))},[n.isSupported]),f=s.useCallback(()=>{n.isSupported&&(window.speechSynthesis.resume(),i(c=>({...c,isPaused:!1})))},[n.isSupported]),m=s.useCallback(()=>{n.isSupported&&(window.speechSynthesis.cancel(),r.current=null,i(c=>({...c,isSpeaking:!1,isPaused:!1})))},[n.isSupported]);return{...n,speak:l,pause:g,resume:f,stop:m}}const Ln=({note:n,allTags:i,noteTags:r,readOnly:l=!1,isSkillDirectory:g=!1,onUpdateNote:f,onSetNoteTags:m,onCreateTag:c})=>{const[h,U]=s.useState(""),[E,w]=s.useState(!1),[v,j]=s.useState(null),k=s.useRef(null),K=s.useRef(null),b=s.useRef(null),p=s.useRef(null),{isSpeaking:q,isPaused:$,isSupported:B,speak:T,pause:_,resume:L,stop:I}=$n(),H=s.useMemo(()=>r.map(S=>S.id),[r]),[Y,W]=s.useState(void 0);s.useEffect(()=>{var S;W(n&&g&&((S=n.metadata)==null?void 0:S.outputType)||void 0)},[n==null?void 0:n.id,g]);const o=n==null?void 0:n.metadata,P=o&&(o.sourceUrl||o.author||o.domain);s.useEffect(()=>{if(n)if(U(n.title),p.current=n.id,g&&!l){const S=n.content||"";j(S.trim()?Ze.isDSLContent(S):null)}else j(null);else U(""),p.current=null,j(null);I()},[n==null?void 0:n.id,I,g,l]);const z=s.useCallback(S=>{U(S),n&&(K.current&&clearTimeout(K.current),K.current=setTimeout(()=>{f(n.id,{title:S})},500))},[n,f]),A=s.useCallback(S=>{n&&(K.current&&clearTimeout(K.current),K.current=setTimeout(()=>{f(n.id,{content:S})},500),g&&!l&&(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>{S.trim()?j(Ze.isDSLContent(S)):j(null)},500)))},[n,f,g,l]),N=s.useCallback(S=>{if(!n)return;W(S);const J={...n.metadata,outputType:S};S||delete J.outputType,D.updateNote(n.id,{metadata:J})},[n]),V=s.useCallback(S=>{n&&m(n.id,S)},[n,m]),X=s.useCallback(()=>{n&&(q?$?L():_():T(n.content))},[n,q,$,T,_,L]),te=s.useCallback(async()=>{if(!n)return;const S=await D.exportNoteAsMarkdown(n.id);if(!S)return;const J=new Blob([S.content],{type:"text/markdown;charset=utf-8"}),oe=URL.createObjectURL(J),G=document.createElement("a");G.href=oe,G.download=S.filename,document.body.appendChild(G),G.click(),document.body.removeChild(G),URL.revokeObjectURL(oe)},[n]);return s.useEffect(()=>()=>{K.current&&clearTimeout(K.current),k.current&&clearTimeout(k.current)},[]),n?e.jsxDEV("div",{className:`kb-note-editor ${l?"kb-note-editor--readonly":""}`,children:[l&&e.jsxDEV("div",{className:"kb-note-editor__readonly-banner",children:[e.jsxDEV(Ce,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:241,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:242,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:240,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__title-row",children:[e.jsxDEV("input",{className:"kb-note-editor__title",value:h,onChange:S=>!l&&z(S.target.value),placeholder:"笔记标题",readOnly:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:247,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__actions",children:[B&&e.jsxDEV("button",{className:`kb-note-editor__action-btn ${q?"kb-note-editor__action-btn--active":""}`,onClick:X,title:q?$?"继续朗读":"暂停朗读":"语音朗读",children:q&&!$?e.jsxDEV(Fs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:261,columnNumber:42},void 0):e.jsxDEV(Ws,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:261,columnNumber:66},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:256,columnNumber:13},void 0),q&&e.jsxDEV("button",{className:"kb-note-editor__action-btn kb-note-editor__action-btn--danger",onClick:I,title:"停止朗读",children:"■"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:265,columnNumber:13},void 0),e.jsxDEV("button",{className:"kb-note-editor__action-btn",onClick:te,title:"导出 Markdown",children:e.jsxDEV(Se,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:278,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:273,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:254,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:246,columnNumber:7},void 0),P&&e.jsxDEV("div",{className:`kb-note-editor__metadata-section ${E?"kb-note-editor__metadata-section--collapsed":""}`,children:[e.jsxDEV("button",{className:"kb-note-editor__metadata-toggle",onClick:()=>w(!E),title:E?"展开来源信息":"收起来源信息",children:[E?e.jsxDEV(pe,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:291,columnNumber:34},void 0):e.jsxDEV(ge,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:291,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:292,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:286,columnNumber:11},void 0),E&&e.jsxDEV("div",{className:"kb-note-editor__metadata-collapsed",children:[o.author&&e.jsxDEV("span",{className:"kb-note-editor__metadata-collapsed-item",children:[e.jsxDEV(Be,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:300,columnNumber:19},void 0),e.jsxDEV("span",{children:o.author},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:301,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:299,columnNumber:17},void 0),o.sourceUrl&&e.jsxDEV("a",{href:o.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"kb-note-editor__metadata-collapsed-link",onClick:S=>S.stopPropagation(),title:o.sourceUrl,children:[e.jsxDEV(qe,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:313,columnNumber:19},void 0),e.jsxDEV("span",{children:o.domain||o.sourceUrl},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:314,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:305,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:297,columnNumber:13},void 0),!E&&e.jsxDEV("div",{className:"kb-note-editor__metadata-body",children:[e.jsxDEV("div",{className:"kb-note-editor__tags",children:e.jsxDEV(ns,{allTags:i,selectedTagIds:H,onSelectedChange:V,onCreateTag:c},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:325,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:324,columnNumber:15},void 0),e.jsxDEV("div",{className:"kb-note-editor__metadata-info",children:[o.domain&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[o.faviconUrl?e.jsxDEV("img",{src:o.faviconUrl,alt:"",className:"kb-note-editor__favicon",onError:S=>{S.currentTarget.style.display="none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:338,columnNumber:23},void 0):e.jsxDEV(ds,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:345,columnNumber:23},void 0),e.jsxDEV("span",{children:o.domain},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:347,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:336,columnNumber:19},void 0),o.author&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[e.jsxDEV(Be,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:352,columnNumber:21},void 0),e.jsxDEV("span",{children:o.author},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:353,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:351,columnNumber:19},void 0),o.publishedAt&&e.jsxDEV("span",{className:"kb-note-editor__metadata-item",children:[e.jsxDEV(Os,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:358,columnNumber:21},void 0),e.jsxDEV("span",{children:o.publishedAt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:359,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:357,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:334,columnNumber:15},void 0),o.sourceUrl&&e.jsxDEV("a",{href:o.sourceUrl,target:"_blank",rel:"noopener noreferrer",className:"kb-note-editor__source-link",children:o.sourceUrl},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:364,columnNumber:17},void 0),o.description&&e.jsxDEV("p",{className:"kb-note-editor__metadata-desc",children:o.description},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:374,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:322,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:285,columnNumber:9},void 0),!P&&e.jsxDEV("div",{className:"kb-note-editor__tags",children:e.jsxDEV(ns,{allTags:i,selectedTagIds:H,onSelectedChange:V,onCreateTag:c},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:384,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:383,columnNumber:9},void 0),g&&e.jsxDEV("div",{className:"kb-note-editor__mcp-tools",children:e.jsxDEV(Rn,{outputType:Y,onOutputTypeChange:N,readOnly:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:396,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:395,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-note-editor__content",children:e.jsxDEV(Te,{ref:b,markdown:n.content,onChange:l?void 0:A,placeholder:"开始写点什么...",showModeSwitch:!l,readOnly:l},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:406,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:405,columnNumber:7},void 0),g&&!l&&v!==null&&e.jsxDEV("div",{className:`kb-note-editor__dsl-status ${v?"kb-note-editor__dsl-status--valid":"kb-note-editor__dsl-status--fallback"}`,children:v?"✓ 已识别为工作流 DSL(正则解析),将直接执行":"⚡ 将由 AI 解析为工作流(大模型解析)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:418,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:237,columnNumber:5},void 0):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(rn,{size:64,strokeWidth:1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:225,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:224,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:227,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:228,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:223,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBNoteEditor.tsx",lineNumber:222,columnNumber:7},void 0)},Pn=({allTags:n,selectedTagIds:i,onSelectedChange:r})=>{const[l,g]=s.useState(""),[f,m]=s.useState(!1),c=s.useMemo(()=>{if(!l)return n;const w=l.toLowerCase();return n.filter(v=>v.name.toLowerCase().includes(w))},[n,l]),h=w=>{const v=i.includes(w)?i.filter(j=>j!==w):[...i,w];r(v)},U=()=>{r([]),m(!1)},E=e.jsxDEV("div",{className:"kb-filter-dropdown__content",children:[e.jsxDEV("div",{className:"kb-filter-dropdown__search",children:e.jsxDEV(ke,{value:l,onChange:w=>g(w),placeholder:"搜索标签...",prefixIcon:e.jsxDEV(ls,{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:c.length>0?c.map(w=>{const v=i.includes(w.id);return e.jsxDEV("div",{className:`kb-filter-dropdown__item ${v?"is-selected":""}`,onClick:()=>h(w.id),children:[e.jsxDEV("span",{className:"kb-filter-dropdown__item-dot",style:{backgroundColor:w.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:w.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:["(",w.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),v&&e.jsxDEV(ae,{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)]},w.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(me,{theme:"default",variant:"text",size:"small",onClick:U,className:"kb-filter-dropdown__clear-btn",children:[e.jsxDEV(ce,{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(Hs,{content:E,visible:f,onVisibleChange:w=>m(w),trigger:"click",placement:"bottom-left",overlayClassName:"kb-filter-dropdown__popup",children:e.jsxDEV(me,{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(hn,{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)},An=({visible:n,onClose:i,allTags:r,onCreateTag:l,onUpdateTag:g,onDeleteTag:f,onSelectTag:m})=>{const[c,h]=s.useState(!1),[U,E]=s.useState(""),[w,v]=s.useState(null),[j,k]=s.useState(""),K=s.useRef(null);s.useEffect(()=>{c&&K.current&&setTimeout(()=>{var B;(B=K.current)==null||B.focus()},100)},[c]);const b=async()=>{if(!U.trim()){h(!1);return}try{await l(U.trim()),E(""),h(!1),R.success("标签创建成功")}catch{R.error("标签创建失败")}},p=async B=>{if(!j.trim()){v(null);return}try{await g(B,j.trim()),v(null),R.success("标签更新成功")}catch{R.error("标签更新失败")}},q=async(B,T)=>{B.stopPropagation();try{await f(T),R.success("标签删除成功")}catch{R.error("标签删除失败")}},$=(B,T)=>{B.stopPropagation(),v(T.id),k(T.name)};return e.jsxDEV(Xs,{header:"管理标签",visible:n,onClose:i,footer:null,width:400,className:"kb-tag-management-dialog",children:e.jsxDEV("div",{className:"kb-tag-list",children:[c?e.jsxDEV("div",{className:"kb-tag-item kb-tag-item--creating",children:e.jsxDEV(ke,{ref:K,value:U,onChange:B=>E(B),onEnter:b,onBlur:b,placeholder:"输入标签名称...",size:"small"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:99,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:98,columnNumber:11},void 0):e.jsxDEV("div",{className:"kb-tag-item kb-tag-item--create-btn",onClick:()=>h(!0),children:[e.jsxDEV(xe,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:114,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:115,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:110,columnNumber:11},void 0),r.map(B=>e.jsxDEV("div",{className:"kb-tag-item",onClick:()=>{m&&!w&&(m(B.id),i())},children:w===B.id?e.jsxDEV("div",{className:"kb-tag-item__editing",onClick:T=>T.stopPropagation(),children:[e.jsxDEV(ke,{value:j,onChange:T=>k(T),onEnter:()=>p(B.id),size:"small",autofocus:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:133,columnNumber:17},void 0),e.jsxDEV(me,{shape:"circle",variant:"text",size:"small",onClick:()=>p(B.id),children:e.jsxDEV(ae,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:146,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:140,columnNumber:17},void 0),e.jsxDEV(me,{shape:"circle",variant:"text",size:"small",onClick:()=>v(null),children:e.jsxDEV(ce,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:154,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:148,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:132,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("span",{className:"kb-tag-item__dot",style:{backgroundColor:B.color}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:159,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-tag-item__name",children:B.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:163,columnNumber:17},void 0),e.jsxDEV("span",{className:"kb-tag-item__count",children:B.count?`(${B.count} 个笔记)`:"(0 个笔记)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:164,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-tag-item__actions",children:[e.jsxDEV("button",{className:"kb-tag-item__action-btn",onClick:T=>$(T,B),title:"重命名",children:e.jsxDEV(Ys,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:174,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:169,columnNumber:19},void 0),e.jsxDEV("button",{className:"kb-tag-item__action-btn kb-tag-item__action-btn--delete",onClick:T=>q(T,B.id),title:"删除",children:e.jsxDEV(ue,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:181,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:176,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:168,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:158,columnNumber:15},void 0)},B.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:121,columnNumber:11},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:95,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBTagManagementDialog.tsx",lineNumber:87,columnNumber:5},void 0)},is=10,In=({currentNoteId:n,allNotes:i,noteTagsMap:r,onSelectNote:l})=>{const[g,f]=s.useState([]),[m,c]=s.useState(!1),[h,U]=s.useState(!1);s.useEffect(()=>{let k=!1;return(async()=>{try{const b=await cs().getRelatedNotes(n,is);k||f(b)}catch{k||f([])}})(),()=>{k=!0}},[n]);const E=s.useMemo(()=>i.find(k=>k.id===n),[i,n]),w=s.useMemo(()=>{var K;const k=(K=E==null?void 0:E.metadata)==null?void 0:K.sourceUrl;return k?i.filter(b=>{var p;return b.id!==n&&((p=b==null?void 0:b.metadata)==null?void 0:p.sourceUrl)===k}):[]},[i,n,E]),v=s.useMemo(()=>new Set(w.map(k=>k.id)),[w]),j=s.useMemo(()=>{if(g.length>0){const p=new Set;return g.filter(q=>v.has(q.id)||p.has(q.id)?!1:(p.add(q.id),!0))}const k=r[n]||[],K=new Set(k.map(p=>p.id));if(!E)return[];const b=[];for(const p of i){if(p.id===n||v.has(p.id))continue;const $=(r[p.id]||[]).map(H=>H.id),B=$.filter(H=>K.has(H)).length,T=new Set([...K,...$]).size,_=T>0?B/T:0,L=Fn(E.title,p.title),I=_*.7+L*.3;I>.05&&b.push({id:p.id,title:p.title||"无标题",score:I})}return b.sort((p,q)=>q.score-p.score).slice(0,is)},[g,v,i,n,r,E]);return w.length===0&&j.length===0?null:e.jsxDEV("div",{className:"kb-related-notes",children:[w.length>0&&e.jsxDEV("div",{className:"kb-related-notes__section",children:[e.jsxDEV("button",{className:"kb-related-notes__section-header",onClick:()=>c(!m),children:[m?e.jsxDEV(pe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:101,columnNumber:33},void 0):e.jsxDEV(ge,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:101,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:102,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:103,columnNumber:13},void 0),e.jsxDEV("span",{className:"kb-related-notes__count",children:w.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:104,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:97,columnNumber:11},void 0),!m&&e.jsxDEV("div",{className:"kb-related-notes__list",children:w.map(k=>e.jsxDEV("div",{className:"kb-related-notes__item",onClick:()=>l(k.id),children:[e.jsxDEV(Ne,{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:114,columnNumber:19},void 0),e.jsxDEV("span",{className:"kb-related-notes__name",children:k.title||"无标题"},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("button",{className:"kb-related-notes__goto-btn",onClick:K=>{K.stopPropagation(),l(k.id)},title:"跳转",children:e.jsxDEV(qe,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:121,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:116,columnNumber:19},void 0)]},`related-${k.id}`,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:109,columnNumber:17},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:107,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:96,columnNumber:9},void 0),j.length>0&&e.jsxDEV("div",{className:"kb-related-notes__section",children:[e.jsxDEV("button",{className:"kb-related-notes__section-header",onClick:()=>U(!h),children:[h?e.jsxDEV(pe,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:137,columnNumber:33},void 0):e.jsxDEV(ge,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:137,columnNumber:62},void 0),e.jsxDEV(Ne,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:138,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:139,columnNumber:13},void 0),e.jsxDEV("span",{className:"kb-related-notes__count",children:j.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:140,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:133,columnNumber:11},void 0),!h&&e.jsxDEV("div",{className:"kb-related-notes__list",children:j.map(k=>{const K="score"in k?k.score:void 0;return e.jsxDEV("div",{className:"kb-related-notes__item",onClick:()=>l(k.id),children:[e.jsxDEV(Ne,{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:152,columnNumber:21},void 0),e.jsxDEV("span",{className:"kb-related-notes__name",children:k.title},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:153,columnNumber:21},void 0),K!==void 0&&e.jsxDEV("span",{className:"kb-related-notes__similarity",children:[Math.round(K*100),"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:155,columnNumber:23},void 0),e.jsxDEV("button",{className:"kb-related-notes__goto-btn",onClick:b=>{b.stopPropagation(),l(k.id)},title:"跳转",children:e.jsxDEV(qe,{size:10},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:164,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:159,columnNumber:21},void 0)]},`similar-${k.id}`,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:147,columnNumber:19},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:143,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:132,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBRelatedNotes.tsx",lineNumber:93,columnNumber:5},void 0)};function Fn(n,i){if(!n||!i)return 0;const r=n.toLowerCase(),l=i.toLowerCase(),g=new Set;for(let h=0;h<r.length-1;h++)g.add(r.substring(h,h+2));const f=new Set;for(let h=0;h<l.length-1;h++)f.add(l.substring(h,h+2));let m=0;for(const h of g)f.has(h)&&m++;const c=g.size+f.size;return c===0?0:2*m/c}const Wn=`你是一个专业的知识提取助手,擅长从文本中识别和提取关键知识点。你的任务是分析给定的文本内容,提取出有价值的知识点,并以结构化的 Markdown 格式返回。
|
|
95
|
+
|
|
96
|
+
提取规则:
|
|
97
|
+
1. **核心概念**: 文中出现的重要概念、术语及其解释
|
|
98
|
+
2. **重要定义**: 明确的定义性内容,如"XX是指..."、"XX定义为..."
|
|
99
|
+
3. **关键步骤**: 操作流程、方法步骤、实施要点
|
|
100
|
+
4. **要点总结**: 核心观点、结论、重要发现
|
|
101
|
+
|
|
102
|
+
提取要求:
|
|
103
|
+
- 每个知识点必须有清晰的标题和详细的内容描述
|
|
104
|
+
- 确保提取的知识点具有独立性和完整性
|
|
105
|
+
- 避免重复提取相同的知识点
|
|
106
|
+
- 知识点数量控制在 3-10 个之间
|
|
107
|
+
- 内容要精炼、易于理解
|
|
108
|
+
|
|
109
|
+
输出格式要求:
|
|
110
|
+
- 必须返回 Markdown 格式
|
|
111
|
+
- 每个知识点使用二级标题(##)
|
|
112
|
+
- 内容使用正常段落或列表`;function On(n,i){return`请分析以下文本内容,提取关键知识点并以 Markdown 格式返回:
|
|
113
|
+
${i?`
|
|
114
|
+
文章标题:${i}`:""}
|
|
115
|
+
---
|
|
116
|
+
${n}
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
请按以下 Markdown 格式返回提取结果:
|
|
120
|
+
|
|
121
|
+
## 知识点标题1
|
|
122
|
+
|
|
123
|
+
知识点的详细内容描述,完整解释该知识点。可以使用列表、加粗等 Markdown 语法。
|
|
124
|
+
|
|
125
|
+
## 知识点标题2
|
|
126
|
+
|
|
127
|
+
另一个知识点的内容...
|
|
128
|
+
|
|
129
|
+
注意:
|
|
130
|
+
1. 每个知识点使用二级标题(##)
|
|
131
|
+
2. 标题要简洁明了,概括知识点核心
|
|
132
|
+
3. 内容要详细完整,可使用列表、加粗等格式
|
|
133
|
+
4. 不要添加"知识点1"、"知识点2"这样的序号前缀
|
|
134
|
+
5. 直接返回 Markdown 内容,不要使用代码块包裹`}function Hn(n){try{let i=n.trim();i.startsWith("```markdown")?i=i.slice(11):i.startsWith("```md")?i=i.slice(5):i.startsWith("```")&&(i=i.slice(3)),i.endsWith("```")&&(i=i.slice(0,-3)),i=i.trim();const r=i.split(/^##\s+/gm).filter(g=>g.trim());if(r.length===0)return null;const l=r.map(g=>{const f=g.split(`
|
|
135
|
+
`);return{title:f[0].trim(),content:f.slice(1).join(`
|
|
136
|
+
`).trim(),sourceContext:"",type:"summary",tags:[]}}).filter(g=>g.title&&g.content);return l.length>0?{knowledgePoints:l}:null}catch{return null}}function Xn(){return`kp_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}async function Yn(n,i){var m,c,h;const{model:r,onProgress:l,signal:g}=i;return((h=(c=(m=(await us(n,U=>l==null?void 0:l(U),g,r)).choices)==null?void 0:m[0])==null?void 0:c.message)==null?void 0:h.content)||""}async function Zn(n,i){var v,j,k;const{title:r,sourceUrl:l,model:g,onProgress:f,signal:m}=i,c=[{role:"system",content:[{type:"text",text:Wn}]},{role:"user",content:[{type:"text",text:On(n,r)}]}],U=((k=(j=(v=(await us(c,K=>f==null?void 0:f(K),m,g)).choices)==null?void 0:v[0])==null?void 0:j.message)==null?void 0:k.content)||"",E=Hn(U);if(!E||E.knowledgePoints.length===0)throw new Error("无法从内容中提取知识点,请确保内容包含有价值的信息");return{knowledgePoints:E.knowledgePoints.map(K=>({id:Xn(),title:K.title,content:K.content,sourceContext:K.sourceContext,tags:K.tags,type:K.type,selected:!0})),rawResponse:U,sourceUrl:l,sourceTitle:r,extractedAt:Date.now()}}const Gn="kb-chat-storage",Qn="sessions",bs=Zs.createInstance({name:Gn,storeName:Qn});async function Jn(n){return bs.getItem(n)}async function ei(n,i){const r={noteId:n,messages:i,updatedAt:Date.now()};await bs.setItem(n,r)}const Ns={concept:"核心概念",definition:"重要定义",step:"关键步骤",summary:"要点总结"};function si(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 l=["concept","definition","step","summary"];for(const g of l){const f=n.filter(m=>m.type===g);if(f.length!==0){r.push(`## ${Ns[g]}`),r.push("");for(const m of f)r.push(`### ${m.title}`),r.push(""),r.push(m.content),m.sourceContext&&(r.push(""),r.push(`> ${m.sourceContext}`)),m.tags.length>0&&(r.push(""),r.push(`**标签**: ${m.tags.map(c=>`\`${c}\``).join(" ")}`)),r.push("")}}return r.join(`
|
|
137
|
+
`)}function ni(n,i){const r=n.knowledgePoints.filter(m=>m.selected!==!1);if(r.length===0)throw new Error("没有选中的知识点");const l={title:n.sourceTitle||"知识提炼",sourceUrl:n.sourceUrl},g=new Date().toISOString().slice(0,10),f=n.sourceTitle?`${n.sourceTitle.slice(0,30).replace(/[/\\?%*:|"<>]/g,"-")}_知识提炼_${g}`:`知识提炼_${g}`;return{content:si(r,l),filename:`${f}.md`,mimeType:"text/markdown"}}function ii(n,i,r){const l=new Blob([n],{type:r}),g=URL.createObjectURL(l),f=document.createElement("a");f.href=g,f.download=i,document.body.appendChild(f),f.click(),document.body.removeChild(f),URL.revokeObjectURL(g)}const as="gemini-2.5-flash";function gs(n){const i=[],r=["concept","definition","step","summary"];for(const l of r){const g=n.knowledgePoints.filter(f=>f.type===l);if(g.length!==0){i.push(`## ${Ns[l]}`),i.push("");for(const f of g)i.push(`### ${f.title}`),i.push(""),i.push(f.content),f.sourceContext&&(i.push(""),i.push(`> ${f.sourceContext}`)),f.tags&&f.tags.length>0&&(i.push(""),i.push(`**标签**: ${f.tags.map(m=>`\`${m}\``).join(" ")}`)),i.push("")}}return i.join(`
|
|
138
|
+
`).trim()}const ai=({noteId:n,noteContent:i,noteTitle:r,onInsertToNote:l,onSaved:g})=>{const[f,m]=s.useState([]),[c,h]=s.useState(""),[U,E]=s.useState(as),[w,v]=s.useState(()=>Ge(null,as)),[j,k]=s.useState(!1),[K,b]=s.useState(null),[p,q]=s.useState(null),$=s.useRef(null),B=s.useRef(null);s.useEffect(()=>{let o=!0;return(async()=>{m([]);try{const z=await Jn(n);o&&(z&&z.messages.length>0?m(z.messages):m([{id:"init",role:"model",content:"我已经阅读了这篇笔记。你可以让我提取摘要、关键点,或者直接与我讨论笔记内容。",type:"text",timestamp:Date.now()}]))}catch(z){console.error("Failed to load chat history",z)}})(),()=>{o=!1}},[n]),s.useEffect(()=>{f.length>0&&ei(n,f).catch(console.error)},[f,n]),s.useEffect(()=>{$.current&&($.current.scrollTop=$.current.scrollHeight)},[f]),s.useEffect(()=>{B.current&&(B.current.style.height="auto",B.current.style.height=`${Math.min(B.current.scrollHeight,120)}px`)},[c]);const T=s.useCallback(()=>{p&&(p.abort(),q(null),k(!1),m(o=>[...o,{id:Date.now().toString(),role:"model",content:"🚫 已停止生成",type:"text",timestamp:Date.now()}]))},[p]),_=s.useCallback(async()=>{if(!c.trim()||j)return;const o={id:Date.now().toString(),role:"user",content:c,type:"text",timestamp:Date.now()};m(z=>[...z,o]),h(""),k(!0),B.current&&(B.current.style.height="auto");const P=new AbortController;q(P);try{const z=f.concat(o).map(N=>({role:N.role==="model"?"assistant":"user",content:[{type:"text",text:N.content}]}));if(z.length<=2){const N=`Context:
|
|
139
|
+
${i}
|
|
140
|
+
|
|
141
|
+
Task: ${o.content}`,V=z.length-1;z[V].content=[{type:"text",text:N}]}const A=(Date.now()+1).toString();b(A),m(N=>[...N,{id:A,role:"model",content:"正在思考...",type:"text",timestamp:Date.now()}]),await Yn(z,{model:w||U,onProgress:N=>{m(V=>V.map(X=>X.id===A?{...X,content:N}:X))},signal:P.signal})}catch(z){z.name!=="AbortError"&&m(A=>[...A,{id:Date.now().toString(),role:"model",content:`Error: ${z.message||"Something went wrong"}`,type:"text",timestamp:Date.now()}])}finally{k(!1),q(null),b(null)}},[c,j,f,i,U,w]),L=s.useCallback(async()=>{if(j)return;k(!0);const o={id:Date.now().toString(),role:"user",content:"提取知识点",type:"text",timestamp:Date.now()};m(A=>[...A,o]);const P=new AbortController;q(P);const z=(Date.now()+1).toString();m(A=>[...A,{id:z,role:"model",content:"正在分析笔记内容并提取知识点...",type:"text",timestamp:Date.now()}]);try{const A=await Zn(i,{title:r,model:w||U,signal:P.signal});m(N=>N.map(V=>V.id===z?{...V,content:"知识点提取完成:",type:"extraction-result",data:A}:V))}catch(A){A.name!=="AbortError"&&m(N=>N.map(V=>V.id===z?{...V,content:`提取失败: ${A.message}`}:V))}finally{k(!1),q(null)}},[j,i,r,U,w]),I=o=>{o.key==="Enter"&&!o.shiftKey&&(o.preventDefault(),_())},H=s.useCallback(o=>{if(!o){R.warning("没有可复制的内容");return}navigator.clipboard.writeText(o).then(()=>{R.success("复制成功")}).catch(()=>{R.error("复制失败")})},[]),Y=s.useCallback(o=>o.type==="text"?o.content:o.type==="extraction-result"&&o.data?gs(o.data):"",[]),W=s.useCallback(o=>{if(o.type==="extraction-result"&&o.data)try{const P=ni(o.data,{format:"markdown",includeSource:!0,includeTags:!0});ii(P.content,P.filename,P.mimeType)}catch(P){console.error("Failed to export",P),R.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(Ve,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:420,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:421,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:419,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:418,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-extraction-chat__messages",ref:$,children:f.map(o=>e.jsxDEV("div",{className:`kb-message kb-message--${o.role}`,children:[e.jsxDEV("div",{className:"kb-message__avatar",children:o.role==="user"?e.jsxDEV(Be,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:429,columnNumber:38},void 0):e.jsxDEV(ln,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:429,columnNumber:49},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:428,columnNumber:13},void 0),e.jsxDEV("div",{className:"kb-message__body",children:[e.jsxDEV("div",{className:"kb-message__content",children:o.role==="model"?e.jsxDEV("div",{className:"kb-message__content-scroll",children:o.type==="text"?o.id===K&&(o.content==="正在思考..."||o.content==="正在分析笔记内容并提取知识点...")?e.jsxDEV("div",{className:"kb-message__thinking","aria-label":"思考中",children:[e.jsxDEV("span",{className:"kb-message__thinking-text",children:o.content.replace(/\.+$/,"")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:438,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:440,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:440,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:440,columnNumber:57},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:439,columnNumber:27},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:437,columnNumber:25},void 0):o.content?e.jsxDEV("div",{className:"kb-message__markdown-wrap",children:e.jsxDEV(Te,{markdown:o.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:445,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:444,columnNumber:25},void 0):null:e.jsxDEV(ts,{result:o.data},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:455,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:434,columnNumber:19},void 0):o.type==="text"?e.jsxDEV("div",{className:"kb-message__text",children:o.content},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:460,columnNumber:21},void 0):e.jsxDEV(ts,{result:o.data},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:462,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:432,columnNumber:15},void 0),o.role==="model"&&e.jsxDEV("div",{className:"kb-message__actions",children:[e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>H(Y(o)),title:"复制",children:e.jsxDEV(Ue,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:473,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:468,columnNumber:19},void 0),e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>{const P=Y(o);P&&(l==null||l(P))},title:"插入到笔记",children:e.jsxDEV(En,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:483,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:475,columnNumber:19},void 0),o.type==="extraction-result"&&e.jsxDEV("button",{className:"kb-message__action-btn",onClick:()=>W(o),title:"导出 Markdown",children:e.jsxDEV(Se,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:491,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:486,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:467,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:431,columnNumber:13},void 0)]},o.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:427,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:425,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:B,className:"kb-extraction-chat__textarea",value:c,onChange:o=>h(o.target.value),onKeyDown:I,placeholder:"输入问题,与 AI 讨论笔记内容...",disabled:j,rows:1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:503,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:502,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(Gs,{value:U,valueRef:w,onChange:(o,P)=>{E(o),v(P||Ge(null,o))},variant:"capsule"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:516,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:515,columnNumber:11},void 0),e.jsxDEV("div",{style:{display:"flex",alignItems:"center",gap:"8px"},children:[e.jsxDEV("button",{className:"kb-extraction-chat__icon-btn",onClick:L,title:"一键提取知识点",disabled:j,children:e.jsxDEV(Ve,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:534,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:528,columnNumber:13},void 0),e.jsxDEV("button",{className:`kb-extraction-chat__send-btn ${c.trim()||j?"kb-extraction-chat__send-btn--active":""}`,onClick:j?T:_,disabled:!c.trim()&&!j,title:j?"停止生成":"发送",children:j?e.jsxDEV(un,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:547,columnNumber:28},void 0):e.jsxDEV(Qs,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:547,columnNumber:55},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:537,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:527,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:514,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:501,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:417,columnNumber:5},void 0)},ts=({result:n})=>{const i=Js.useMemo(()=>gs(n),[n]);return e.jsxDEV("div",{className:"kb-extraction-result-view",children:e.jsxDEV(Te,{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:566,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KBKnowledgeExtraction.tsx",lineNumber:565,columnNumber:5},void 0)},os=[{label:"更新时间",value:"updatedAt"},{label:"创建时间",value:"createdAt"},{label:"标题",value:"title"}],ti=({value:n,onChange:i})=>{var f;const r=((f=os.find(m=>m.value===n.field))==null?void 0:f.label)||"排序",l=m=>{const c=m.value;["asc","desc"].includes(c)?i({...n,order:c}):c===n.field?i({...n,order:n.order==="asc"?"desc":"asc"}):i({...n,field:c,order:c==="title"?"asc":"desc"})},g=[{content:"排序字段",disabled:!0,className:"kb-sort-dropdown__header"},...os.map(m=>({content:m.label,value:m.value,prefixIcon:n.field===m.value?e.jsxDEV(ae,{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(ae,{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(ae,{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(Je,{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(ms,{options:g,onClick:l,trigger:"click",minColumnWidth:120,children:e.jsxDEV(me,{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(Je,{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)},di=({initialNoteId:n})=>{var Oe;const[i,r]=s.useState([]),[l,g]=s.useState([]),[f,m]=s.useState([]),[c,h]=s.useState(null),[U,E]=s.useState([]),[w,v]=s.useState({}),[j,k]=s.useState(null),[K,b]=s.useState(new Set),[p,q]=s.useState(null),[$,B]=s.useState(""),[T,_]=s.useState(D.loadSortPreference?D.loadSortPreference():{field:"updatedAt",order:"desc"}),[L,I]=s.useState([]),[H,Y]=s.useState(!1),[W,o]=s.useState(!1),[P,z]=s.useState(!1),[A,N]=s.useState(null),V=s.useRef(null),X=s.useRef(null),[te,S]=s.useState(!1),[J,oe]=s.useState("related"),[G,Me]=s.useState(280),[we,Re]=s.useState(300),re=s.useRef(!1),de=s.useRef(!1),he=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&&Me(t)}const d=localStorage.getItem("kb-right-sidebar-width");if(d){const t=parseInt(d,10);!isNaN(t)&&t>100&&t<800&&Re(t)}},[]),s.useEffect(()=>{const a=t=>{if(!he.current)return;const u=he.current.getBoundingClientRect();if(re.current){t.preventDefault();const x=Math.max(200,Math.min(600,t.clientX-u.left));Me(x)}else if(de.current){t.preventDefault();const x=Math.max(200,Math.min(600,u.right-t.clientX));Re(x)}},d=()=>{re.current&&(re.current=!1,localStorage.setItem("kb-sidebar-width",G.toString()),document.body.style.cursor=""),de.current&&(de.current=!1,localStorage.setItem("kb-right-sidebar-width",we.toString()),document.body.style.cursor="")};return re.current||de.current?(document.addEventListener("mousemove",a),document.addEventListener("mouseup",d)):document.addEventListener("mousemove",a),document.addEventListener("mousemove",a),document.addEventListener("mouseup",d),()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",d)}},[G,we]);const ps=a=>{a.preventDefault(),re.current=!0,document.body.style.cursor="col-resize"},xs=a=>{a.preventDefault(),de.current=!0,document.body.style.cursor="col-resize"},[ze,ks]=s.useState(null),$e=s.useRef(!1),Le=s.useRef(!1);s.useEffect(()=>{if($e.current)return;$e.current=!0,(async()=>{await D.initialize(),await F();try{const t=await D.getStorageUsage();ks(t)}catch{}if(n){Q(n);return}const d=window.__kbPendingNavigation;if(d){window.__kbPendingNavigation=null;const{directoryName:t,autoCreateNote:u}=d;if(t){const y=(await D.getAllDirectories()).find(C=>C.name===t);if(y&&(k(y.id),b(C=>{const M=new Set(C);return M.add(y.id),M}),u)){const C=t==="Skill"?"新Skill":"新笔记",M=await D.createNote(C,y.id);await F(),b(Ee=>{const le=new Set(Ee);return le.add(y.id),le}),q(M.id);const Z=await D.getNoteById(M.id);h(Z),E([])}}}})()},[]);const F=s.useCallback(async()=>{const[a,d,t]=await Promise.all([D.getAllDirectories(),D.getAllNoteMetas(),D.getAllTags()]),u=Array.from(new Map(a.map(C=>[C.id,C])).values());r(u);const x=Array.from(new Map(d.map(C=>[C.id,C])).values());g(x);const y=Array.from(new Map(t.map(C=>[C.id,C])).values());m(y),!j&&!p&&u.length>0&&(k(u[0].id),b(new Set([u[0].id]))),await ws(x)},[j,p]),ws=s.useCallback(async a=>{try{const[d,t]=await Promise.all([D.getAllTags(),D.getAllNoteTags()]),u=new Map(d.map(y=>[y.id,y])),x={};for(const y of a)x[y.id]=[];for(const y of t)if(x[y.noteId]&&u.has(y.tagId)){const C=u.get(y.tagId);C&&(x[y.noteId].some(M=>M.id===C.id)||x[y.noteId].push(C))}for(const y in x)x[y].sort((C,M)=>C.name.localeCompare(M.name));v(x)}catch(d){console.error("Failed to refresh note tags map:",d)}},[]);s.useEffect(()=>{if(!$.trim()){N(null);return}return V.current&&clearTimeout(V.current),V.current=setTimeout(async()=>{try{const d=await cs().search($,{limit:50,filter:j?{directoryId:j}:{}});N(d)}catch{N(null)}},300),()=>{V.current&&clearTimeout(V.current)}},[$,j]);const ee=s.useMemo(()=>{if(A&&$.trim()){const d=new Set(A.map(x=>x.id)),t=new Map(A.map((x,y)=>[x.id,y]));let u=l.filter(x=>d.has(x.id));if(L.length>0){const x=new Set(L);u=u.filter(y=>(w[y.id]||[]).some(M=>x.has(M.id)))}return u.sort((x,y)=>(t.get(x.id)??0)-(t.get(y.id)??0))}let a=l;if(L.length>0){const d=new Set(L);a=a.filter(t=>(w[t.id]||[]).some(x=>d.has(x.id)))}return D.sortNoteMetas(a,T)},[l,j,$,L,T,w,A]),hs=s.useMemo(()=>{const a={},d=new Set;for(const t of ee)d.has(t.id)||(d.add(t.id),a[t.directoryId]=(a[t.directoryId]||0)+1);return a},[ee]),js=s.useMemo(()=>{var d;const a={};for(const t of ee){const u=a[d=t.directoryId]??(a[d]=[]);u.some(x=>x.id===t.id)||u.push(t)}return a},[ee]),je=s.useCallback(async a=>{await D.createDirectory(a),await F()},[F]),ys=s.useCallback(async(a,d)=>{await D.updateDirectory(a,{name:d}),await F()},[F]),vs=s.useCallback(async a=>{const d=i.find(u=>u.id===a);if(!d)return;const t=Qe.confirm({header:"确认删除目录",body:`确定要删除目录 "${d.name}" 及其下的所有笔记吗?此操作不可撤销。`,onConfirm:async()=>{var u;try{await D.deleteDirectory(a),j===a&&(k(((u=i[0])==null?void 0:u.id)||null),q(null),h(null)),await F(),R.success("目录已删除")}catch(x){R.error(`删除失败: ${x.message}`)}t.destroy()},onClose:()=>{t.destroy()}})},[F,j,i]),Es=s.useCallback(async a=>{try{await D.duplicateDirectory(a),await F(),R.success("目录复制成功")}catch(d){R.error(`复制目录失败: ${d.message}`)}},[F]),_s=s.useCallback(a=>{b(d=>{const t=new Set(d);return t.has(a)?t.delete(a):t.add(a),t})},[]),Q=s.useCallback(async a=>{if(q(a),k(null),E(w[a]||[]),a.startsWith(ie)){const t=a.slice(ie.length),u=Ke.find(x=>x.id===t);if(u){const x=["image","inspiration","grid_image"],y=["ppt"],C=u.mcpTool&&x.some(Z=>u.mcpTool.includes(Z))?"image":u.mcpTool&&y.some(Z=>u.mcpTool.includes(Z))?"ppt":void 0,M={id:a,title:u.name,content:u.description||"",directoryId:"",createdAt:0,updatedAt:0,metadata:{...C?{outputType:C}:{}}};h(M),E([])}return}if(a.startsWith(ne)){const t=a.slice(ne.length),u=en(t);if(u){const x={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}:{}}};h(x),E([])}return}const d=await D.getNoteById(a);if(h(d),d){const t=await D.getTagsForNote(d.id);E(t),b(u=>{const x=new Set(u);return x.add(d.directoryId),x})}},[i,w]),ye=s.useCallback(async a=>{const d=new Set(l.filter(M=>M.directoryId===a).map(M=>M.title)),t=i.find(M=>M.id===a),u=(t==null?void 0:t.name)==="Skill"?"新Skill":"新笔记";let x=u,y=1;for(;d.has(x);)x=`${u} ${y}`,y++;const C=await D.createNote(x,a);await F(),b(M=>{const Z=new Set(M);return Z.add(a),Z}),Q(C.id)},[F,Q,l,i]),ve=s.useCallback(async(a,d)=>{await D.updateNote(a,d),g(t=>t.map(u=>u.id===a?{...u,...d,updatedAt:Date.now()}:u)),(c==null?void 0:c.id)===a&&h(t=>t&&{...t,...d,updatedAt:Date.now()});try{const t=window.__drawnixBoard;if(t&&t.children){const{Transforms:u}=await De(async()=>{const{Transforms:x}=await import("./index-IZLKDros.js").then(y=>y.i2);return{Transforms:x}},__vite__mapDeps([0,1]),import.meta.url);t.children.forEach((x,y)=>{if(x.noteId===a){const C={};d.title!==void 0&&(C.title=d.title),d.content!==void 0&&(C.body=d.content),Object.keys(C).length>0&&u.setNode(t,C,[y])}})}}catch(t){console.warn("[KB] Failed to sync note update to canvas card:",t)}},[c]),Ds=s.useCallback(async a=>{if(!c)return;const d=c.content?`
|
|
142
|
+
|
|
143
|
+
`:"",t=(c.content||"")+d+a;await ve(c.id,{content:t}),R.success("已插入到笔记末尾")},[c,ve]),Us=s.useCallback(async a=>{var t,u;const d=window.__drawnixBoard;if(!d){R.warning("请先打开画布");return}try{if(d.children.find(se=>se.noteId===a.id)&&!window.confirm("画布中已存在关联该笔记的卡片,是否再次插入?"))return;const y=await D.getNoteById(a.id);if(!y){R.error("获取笔记内容失败");return}const{getViewportOrigination:C}=await De(async()=>{const{getViewportOrigination:se}=await import("./index-IZLKDros.js").then(_e=>_e.i2);return{getViewportOrigination:se}},__vite__mapDeps([0,1]),import.meta.url),M=C(d),Z=((t=d.host)==null?void 0:t.clientWidth)||800,Ee=((u=d.host)==null?void 0:u.clientHeight)||600,le=Math.round(window.innerWidth*.5),He=180,Xe=((M==null?void 0:M[0])??0)+Z/2-le/2,Ye=((M==null?void 0:M[1])??0)+Ee/2-He/2,{Transforms:$s}=await De(async()=>{const{Transforms:se}=await import("./index-IZLKDros.js").then(_e=>_e.i2);return{Transforms:se}},__vite__mapDeps([0,1]),import.meta.url),Ls={type:"card",id:`card-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,title:y.title||"无标题",body:y.content||"",noteId:y.id,fillColor:"#FA8C16",points:[[Xe,Ye],[Xe+le,Ye+He]]};$s.insertNode(d,Ls,[d.children.length]),R.success("已插入到画布")}catch(x){console.error("[KB] Failed to insert note to canvas:",x),R.error(`插入失败: ${x.message}`)}},[]),Ks=s.useCallback(async a=>{try{await D.duplicateNote(a),await F(),R.success("笔记复制成功")}catch(d){R.error(`复制笔记失败: ${d.message}`)}},[F]),Bs=s.useCallback(async a=>{if(a.startsWith(ie)){R.warning("系统内置 Skill,不可删除");return}if(a.startsWith(ne)){R.warning("外部 Skill,不可在此删除(请在设置中管理外部 Skill 包)");return}const d=l.find(u=>u.id===a);if(!d)return;const t=Qe.confirm({header:"确认删除笔记",body:`确定要删除笔记 "${d.title||"无标题"}" 吗?此操作不可撤销。`,onConfirm:async()=>{try{await D.deleteNote(a),p===a&&(q(null),h(null),E([])),await F(),R.success("笔记已删除")}catch(u){R.error(`删除失败: ${u.message}`)}t.destroy()},onClose:()=>{t.destroy()}})},[p,F,l]);s.useEffect(()=>{!Le.current&&ee.length>0&&(Q(ee[0].id),Le.current=!0)},[ee,Q]),s.useEffect(()=>{const a=d=>{const{noteId:t}=d.detail;t&&Q(t)};return window.addEventListener("kb:open-note",a),()=>window.removeEventListener("kb:open-note",a)},[Q]),s.useEffect(()=>{const a=async d=>{const{directoryName:t,autoCreateNote:u}=d.detail;if(!t)return;window.__kbPendingNavigation&&(window.__kbPendingNavigation=null);const y=(await D.getAllDirectories()).find(C=>C.name===t);y&&(k(y.id),b(C=>{const M=new Set(C);return M.add(y.id),M}),u&&await ye(y.id))};return window.addEventListener("kb:navigate",a),()=>window.removeEventListener("kb:navigate",a)},[ye]);const Vs=s.useCallback(async(a,d)=>{await D.setNoteTags(a,d);const t=await D.getTagsForNote(a);E(t),v(x=>({...x,[a]:t}));const u=await D.getAllTags();m(u)},[]),Pe=s.useCallback(async a=>{const d=await D.createTag(a),t=await D.getAllTags();return m(t),d},[]),qs=s.useCallback(async(a,d)=>{await D.updateTag(a,{name:d});const t=await D.getAllTags();m(t)},[]),Cs=s.useCallback(async a=>{await D.deleteTag(a);const d=await D.getAllTags();if(m(d),c){const t=await D.getTagsForNote(c.id);E(t),v(u=>({...u,[c.id]:t}))}},[c]),Ss=s.useCallback(a=>{_(a),D.saveSortPreference&&D.saveSortPreference(a)},[]);s.useEffect(()=>{if(!W)return;const a=d=>{X.current&&!X.current.contains(d.target)&&o(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[W]);const fe=s.useRef(null),Ae=s.useCallback(()=>{var a;(a=fe.current)==null||a.click()},[]),Ts=s.useCallback(async a=>{const d=a.target.files;if(!(!d||!j)){for(const t of Array.from(d)){if(!t.name.endsWith(".md")&&!t.name.endsWith(".markdown"))continue;const u=await t.text();await D.importNoteFromMarkdown(u,j,t.name)}await F(),fe.current&&(fe.current.value="")}},[j,F]),Ie=s.useCallback(async()=>{try{const a=await D.exportAsZip(),d=URL.createObjectURL(a),t=document.createElement("a");t.href=d,t.download=`knowledge-base-${new Date().toISOString().slice(0,10)}.zip`,document.body.appendChild(t),t.click(),document.body.removeChild(t),URL.revokeObjectURL(d)}catch(a){console.error("Export failed:",a),R.error("导出失败")}},[]),be=s.useRef(null),Fe=s.useCallback(()=>{var a;(a=be.current)==null||a.click()},[]),Ms=s.useCallback(async a=>{var t;const d=(t=a.target.files)==null?void 0:t[0];if(d){try{if(d.name.toLowerCase().endsWith(".zip")){const u=await D.importFromZip(d);u.noteCount===0&&u.dirCount===0?R.warning("导入完成:没有新增内容(可能已存在重复内容)"):R.success(`导入完成:${u.dirCount} 个新目录、${u.noteCount} 篇笔记`)}else{const u=await d.text(),x=JSON.parse(u);if(x.version!==1&&x.version!==2){R.error("不支持的导入格式");return}const y=await D.importAllData(x);R.success(`导入完成:${y.dirCount} 个目录、${y.noteCount} 篇笔记、${y.tagCount} 个标签`)}await F()}catch(u){console.error(u),R.error("导入失败,请确认文件格式正确")}be.current&&(be.current.value="")}},[F]),We=s.useCallback(()=>{const a=window.prompt("请输入目录名称","新建目录");a&&je(a)},[je]),Rs=s.useCallback(a=>{switch(a.value){case"create-dir":We();break;case"manage-tags":Y(!0);break;case"import-md":Ae();break;case"import-zip":Fe();break;case"export-zip":Ie();break}},[We,Ae,Fe,Ie]),zs=s.useMemo(()=>[{content:"新建目录",value:"create-dir",prefixIcon:e.jsxDEV(pn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:912,columnNumber:57},void 0)},{content:"管理标签",value:"manage-tags",prefixIcon:e.jsxDEV(Vn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:913,columnNumber:58},void 0)},{content:"导入 Markdown",value:"import-md",prefixIcon:e.jsxDEV(ss,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:914,columnNumber:63},void 0)},{content:"导入 ZIP",value:"import-zip",prefixIcon:e.jsxDEV(ss,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:915,columnNumber:59},void 0)},{content:"导出 ZIP",value:"export-zip",prefixIcon:e.jsxDEV(Se,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:916,columnNumber:59},void 0)}],[]);return e.jsxDEV("div",{className:"kb-drawer",children:[e.jsxDEV("input",{ref:fe,type:"file",accept:".md,.markdown",multiple:!0,style:{display:"none"},onChange:Ts},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:922,columnNumber:7},void 0),e.jsxDEV("input",{ref:be,type:"file",accept:".json,.zip",style:{display:"none"},onChange:Ms},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:930,columnNumber:7},void 0),e.jsxDEV("div",{className:"kb-drawer__body",ref:he,children:[e.jsxDEV("div",{className:"kb-drawer__sidebar",style:{width:G},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(ke,{size:"small",prefixIcon:e.jsxDEV(ls,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:947,columnNumber:29},void 0),placeholder:"搜索笔记...",value:$,onChange:a=>B(a),clearable:!0,style:{flex:1}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:945,columnNumber:15},void 0),e.jsxDEV(ms,{trigger:"click",options:zs,onClick:Rs,minColumnWidth:120,maxColumnWidth:200,popupProps:{overlayStyle:{width:200}},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",title:"更多操作",children:e.jsxDEV(sn,{size:18},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:978,columnNumber:19},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:962,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:954,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:944,columnNumber:13},void 0),e.jsxDEV("div",{className:"kb-drawer__filters",style:{display:"flex",gap:"8px",alignItems:"center"},children:[e.jsxDEV(Pn,{allTags:f,selectedTagIds:L,onSelectedChange:I},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:984,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:989,columnNumber:15},void 0),e.jsxDEV(ti,{value:T,onChange:Ss},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:990,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:983,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:943,columnNumber:11},void 0),e.jsxDEV(Sn,{directories:i,notesByDir:js,noteTagsMap:w,noteCounts:hs,selectedDirId:j,selectedNoteId:p,expandedDirIds:K,onSelectDir:a=>{k(a),q(null),h(null)},onToggleExpand:_s,onCreateDir:je,onRenameDir:ys,onDeleteDir:vs,onDuplicateDir:Es,onSelectNote:Q,onCreateNote:ye,onDeleteNote:Bs,onDuplicateNote:Ks,isCreatingDir:P,onCancelCreateDir:()=>z(!1),onInsertNoteToCanvas:Us},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:995,columnNumber:11},void 0),ze&&e.jsxDEV("div",{className:"kb-drawer__storage-bar",children:[e.jsxDEV(nn,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1025,columnNumber:15},void 0),e.jsxDEV("span",{className:"kb-drawer__storage-text",children:["已用 ",oi(ze.used)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1026,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1024,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:941,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-resizer",onMouseDown:ps},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1033,columnNumber:9},void 0),e.jsxDEV("div",{className:"kb-drawer__editor",children:e.jsxDEV(Ln,{note:c,allTags:f,noteTags:U,readOnly:!!(p&&(p.startsWith(ie)||p.startsWith(ne))),isSkillDirectory:!!(c&&(((Oe=i.find(a=>a.id===c.directoryId))==null?void 0:Oe.name)==="Skill"||p&&p.startsWith(ie)||p&&p.startsWith(ne))),onUpdateNote:ve,onSetNoteTags:Vs,onCreateTag:Pe},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1037,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1036,columnNumber:9},void 0),c&&e.jsxDEV(e.Fragment,{children:te?e.jsxDEV("button",{className:"kb-drawer__right-toggle",onClick:()=>S(!1),title:"展开侧边栏",children:e.jsxDEV(Kn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1064,columnNumber:17},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1059,columnNumber:15},void 0):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"kb-resizer",onMouseDown:xs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1068,columnNumber:17},void 0),e.jsxDEV("div",{className:"kb-drawer__right-sidebar",style:{width:we},children:[e.jsxDEV("div",{className:"kb-drawer__right-header",children:[e.jsxDEV("div",{className:"kb-drawer__right-tabs",children:[e.jsxDEV("button",{className:`kb-drawer__right-tab ${J==="related"?"kb-drawer__right-tab--active":""}`,onClick:()=>oe("related"),title:"相似笔记",children:e.jsxDEV(fs,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1078,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1073,columnNumber:21},void 0),e.jsxDEV("button",{className:`kb-drawer__right-tab ${J==="extraction"?"kb-drawer__right-tab--active":""}`,onClick:()=>oe("extraction"),title:"知识提取",children:e.jsxDEV(Ve,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1085,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1080,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1072,columnNumber:19},void 0),e.jsxDEV("button",{className:"kb-drawer__right-collapse-btn",onClick:()=>S(!0),title:"收起侧边栏",children:e.jsxDEV(Dn,{size:14},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1093,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1088,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1071,columnNumber:19},void 0),e.jsxDEV("div",{className:"kb-drawer__right-content",children:J==="related"?e.jsxDEV(In,{currentNoteId:c.id,allNotes:l,noteTagsMap:w,onSelectNote:Q},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1100,columnNumber:21},void 0):e.jsxDEV(ai,{noteId:c.id,noteContent:c.content,noteTitle:c.title,onSaved:()=>F(),onInsertToNote:Ds},c.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1107,columnNumber:21},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1098,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1069,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1067,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1057,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:939,columnNumber:7},void 0),e.jsxDEV(An,{visible:H,onClose:()=>Y(!1),allTags:f,onCreateTag:Pe,onUpdateTag:qs,onDeleteTag:Cs},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:1123,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/knowledge-base/KnowledgeBaseContent.tsx",lineNumber:920,columnNumber:5},void 0)};function oi(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{di as default};
|