@dayinxisheng/zreadbrow 1.6.0 → 1.8.1

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.
Files changed (75) hide show
  1. package/dist/public/assets/{_baseUniq-BSygoPPp.js → _baseUniq-ZcsM4iMm.js} +1 -1
  2. package/dist/public/assets/{arc-DSbLf-MF.js → arc-D8J39-9C.js} +1 -1
  3. package/dist/public/assets/{architectureDiagram-Q4EWVU46-Xdgygn1j.js → architectureDiagram-Q4EWVU46-C5MrjkS7.js} +1 -1
  4. package/dist/public/assets/{blockDiagram-DXYQGD6D-BpOdNUpR.js → blockDiagram-DXYQGD6D-U4fM5gAX.js} +1 -1
  5. package/dist/public/assets/{c4Diagram-AHTNJAMY-te7PX8G1.js → c4Diagram-AHTNJAMY-E--r_ULO.js} +1 -1
  6. package/dist/public/assets/channel-BXxOm-kP.js +1 -0
  7. package/dist/public/assets/{chunk-4BX2VUAB-CJWQKhNO.js → chunk-4BX2VUAB-C_zh-eww.js} +1 -1
  8. package/dist/public/assets/{chunk-4TB4RGXK-DWqFMjsa.js → chunk-4TB4RGXK-B4_AYita.js} +1 -1
  9. package/dist/public/assets/{chunk-55IACEB6-FLSKWCBQ.js → chunk-55IACEB6-C2q1oNnd.js} +1 -1
  10. package/dist/public/assets/{chunk-EDXVE4YY-D9HQ7_6c.js → chunk-EDXVE4YY-DgxA5CzZ.js} +1 -1
  11. package/dist/public/assets/{chunk-FMBD7UC4-D4FOoCBG.js → chunk-FMBD7UC4-Dg6WZ0Q4.js} +1 -1
  12. package/dist/public/assets/{chunk-OYMX7WX6-BtPGfqvx.js → chunk-OYMX7WX6-CdM-URKB.js} +1 -1
  13. package/dist/public/assets/{chunk-QZHKN3VN-l3UAK8vZ.js → chunk-QZHKN3VN-Q1eVh-bY.js} +1 -1
  14. package/dist/public/assets/{chunk-YZCP3GAM-Dq6R2Vpr.js → chunk-YZCP3GAM-DBfbAjlZ.js} +1 -1
  15. package/dist/public/assets/classDiagram-6PBFFD2Q-Cxwtyyun.js +1 -0
  16. package/dist/public/assets/classDiagram-v2-HSJHXN6E-Cxwtyyun.js +1 -0
  17. package/dist/public/assets/clone-B74q553g.js +1 -0
  18. package/dist/public/assets/{cose-bilkent-S5V4N54A-j1prcFhe.js → cose-bilkent-S5V4N54A-x2mi929v.js} +1 -1
  19. package/dist/public/assets/{dagre-KV5264BT-KR45iOc0.js → dagre-KV5264BT-DW4sXVyq.js} +1 -1
  20. package/dist/public/assets/{diagram-5BDNPKRD-Bv356OME.js → diagram-5BDNPKRD-DLo4oBM2.js} +1 -1
  21. package/dist/public/assets/{diagram-G4DWMVQ6-DDhjkjR1.js → diagram-G4DWMVQ6-BNRv_j23.js} +1 -1
  22. package/dist/public/assets/{diagram-MMDJMWI5-B-yDhvXr.js → diagram-MMDJMWI5-CBr4DHvV.js} +1 -1
  23. package/dist/public/assets/{diagram-TYMM5635-DdRZytTE.js → diagram-TYMM5635-DSg8dR3C.js} +1 -1
  24. package/dist/public/assets/{erDiagram-SMLLAGMA-irBKVJZW.js → erDiagram-SMLLAGMA-BDUL-kJe.js} +1 -1
  25. package/dist/public/assets/{flowDiagram-DWJPFMVM-Ce0iZaeX.js → flowDiagram-DWJPFMVM-fW85OwTQ.js} +1 -1
  26. package/dist/public/assets/{ganttDiagram-T4ZO3ILL-AaUyWOY5.js → ganttDiagram-T4ZO3ILL-83CRb1AY.js} +1 -1
  27. package/dist/public/assets/{gitGraphDiagram-UUTBAWPF-Dz8rVP_u.js → gitGraphDiagram-UUTBAWPF-K-paV9xZ.js} +1 -1
  28. package/dist/public/assets/{graph-CJTRN9GK.js → graph-CltKlErg.js} +1 -1
  29. package/dist/public/assets/index-2BorqNpU.js +583 -0
  30. package/dist/public/assets/index-CVfrDKNY.css +1 -0
  31. package/dist/public/assets/{infoDiagram-42DDH7IO-Df8AAWvh.js → infoDiagram-42DDH7IO-Cc_oSQnw.js} +1 -1
  32. package/dist/public/assets/{ishikawaDiagram-UXIWVN3A-_BC1ng7R.js → ishikawaDiagram-UXIWVN3A-Cxv3ZU_a.js} +1 -1
  33. package/dist/public/assets/{journeyDiagram-VCZTEJTY-Cud94Frj.js → journeyDiagram-VCZTEJTY-CCc0_QKG.js} +1 -1
  34. package/dist/public/assets/{kanban-definition-6JOO6SKY-CcYYa04s.js → kanban-definition-6JOO6SKY-1-l-PeYn.js} +1 -1
  35. package/dist/public/assets/{layout-C8yT_zx1.js → layout-7btopNQB.js} +1 -1
  36. package/dist/public/assets/{linear-KCqYLA_9.js → linear-BcGWzjnY.js} +1 -1
  37. package/dist/public/assets/{min-Bfb_9BU1.js → min-DU4_1sWT.js} +1 -1
  38. package/dist/public/assets/{mindmap-definition-QFDTVHPH-BHHAgS0V.js → mindmap-definition-QFDTVHPH-CP-B1JEE.js} +1 -1
  39. package/dist/public/assets/{pieDiagram-DEJITSTG-CZt92iob.js → pieDiagram-DEJITSTG-CCncK7Ae.js} +1 -1
  40. package/dist/public/assets/{quadrantDiagram-34T5L4WZ-C0PesXqP.js → quadrantDiagram-34T5L4WZ-CU7mok4R.js} +1 -1
  41. package/dist/public/assets/{requirementDiagram-MS252O5E-B4k6MaYL.js → requirementDiagram-MS252O5E-SMauWCw5.js} +1 -1
  42. package/dist/public/assets/{sankeyDiagram-XADWPNL6-D7geWNjL.js → sankeyDiagram-XADWPNL6-DW_mPG89.js} +1 -1
  43. package/dist/public/assets/{sequenceDiagram-FGHM5R23-BXl1XKPG.js → sequenceDiagram-FGHM5R23-MHYTBnOl.js} +1 -1
  44. package/dist/public/assets/{stateDiagram-FHFEXIEX-KnIQfhn8.js → stateDiagram-FHFEXIEX-CsMKsb6o.js} +1 -1
  45. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-DbLe4kPp.js +1 -0
  46. package/dist/public/assets/{timeline-definition-GMOUNBTQ-BOK6flVx.js → timeline-definition-GMOUNBTQ-DlIXJ2pA.js} +1 -1
  47. package/dist/public/assets/{vennDiagram-DHZGUBPP-XXpbtCEd.js → vennDiagram-DHZGUBPP-C_foI3w6.js} +1 -1
  48. package/dist/public/assets/{wardley-RL74JXVD-BUwan0XU.js → wardley-RL74JXVD-CYviKTFC.js} +1 -1
  49. package/dist/public/assets/{wardleyDiagram-NUSXRM2D-B69HiMCJ.js → wardleyDiagram-NUSXRM2D--Uc3JizG.js} +1 -1
  50. package/dist/public/assets/{xychartDiagram-5P7HB3ND-4XII2_U6.js → xychartDiagram-5P7HB3ND-C1yPAyO7.js} +1 -1
  51. package/dist/public/index.html +2 -2
  52. package/dist/server/index.js +1 -1
  53. package/dist/server/middleware/errorHandler.js +1 -1
  54. package/dist/server/routes/ai.js +1 -1
  55. package/dist/server/routes/config.js +1 -1
  56. package/dist/server/routes/files.js +1 -1
  57. package/dist/server/routes/projects.js +1 -1
  58. package/dist/server/routes/scan.js +1 -1
  59. package/dist/server/routes/search.js +1 -1
  60. package/dist/server/routes/wiki.js +1 -1
  61. package/dist/server/services/ai.js +1 -1
  62. package/dist/server/services/config.js +1 -1
  63. package/dist/server/services/logger.js +1 -1
  64. package/dist/server/services/scanner.js +1 -1
  65. package/dist/server/services/search.js +1 -1
  66. package/dist/server/services/wiki-loader.js +1 -1
  67. package/dist/server/services/wire-reader.js +1 -1
  68. package/package.json +3 -2
  69. package/dist/public/assets/channel-py5umiQr.js +0 -1
  70. package/dist/public/assets/classDiagram-6PBFFD2Q-BoMlT4ye.js +0 -1
  71. package/dist/public/assets/classDiagram-v2-HSJHXN6E-BoMlT4ye.js +0 -1
  72. package/dist/public/assets/clone-Dl0DSU6U.js +0 -1
  73. package/dist/public/assets/index-BP3TStZP.css +0 -1
  74. package/dist/public/assets/index-liv0OBD-.js +0 -386
  75. package/dist/public/assets/stateDiagram-v2-QKLJ7IA2-CCukhfjU.js +0 -1
@@ -1 +1 @@
1
- function a15_0x2899(_0x5554e8,_0x5e46b9){_0x5554e8=_0x5554e8-0x184;const _0x42aebf=a15_0x42ae();let _0x289904=_0x42aebf[_0x5554e8];if(a15_0x2899['spvqaE']===undefined){var _0x4554d0=function(_0x4f0b55){const _0x540f31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f2c69='',_0x2d005d='';for(let _0xd20a5a=0x0,_0xa58644,_0x4cd0c6,_0x720eed=0x0;_0x4cd0c6=_0x4f0b55['charAt'](_0x720eed++);~_0x4cd0c6&&(_0xa58644=_0xd20a5a%0x4?_0xa58644*0x40+_0x4cd0c6:_0x4cd0c6,_0xd20a5a++%0x4)?_0x2f2c69+=String['fromCharCode'](0xff&_0xa58644>>(-0x2*_0xd20a5a&0x6)):0x0){_0x4cd0c6=_0x540f31['indexOf'](_0x4cd0c6);}for(let _0xddb1f8=0x0,_0x94345c=_0x2f2c69['length'];_0xddb1f8<_0x94345c;_0xddb1f8++){_0x2d005d+='%'+('00'+_0x2f2c69['charCodeAt'](_0xddb1f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d005d);};a15_0x2899['ggMzGV']=_0x4554d0,a15_0x2899['bMOynb']={},a15_0x2899['spvqaE']=!![];}const _0x485bb1=_0x42aebf[0x0],_0x3137af=_0x5554e8+_0x485bb1,_0x28ceb0=a15_0x2899['bMOynb'][_0x3137af];return!_0x28ceb0?(_0x289904=a15_0x2899['ggMzGV'](_0x289904),a15_0x2899['bMOynb'][_0x3137af]=_0x289904):_0x289904=_0x28ceb0,_0x289904;}(function(_0x36ad00,_0x59c493){const _0x59d645=a15_0x2899,_0x52876d=_0x36ad00();while(!![]){try{const _0x236447=parseInt(_0x59d645(0x195))/0x1+-parseInt(_0x59d645(0x19b))/0x2+-parseInt(_0x59d645(0x1b7))/0x3*(parseInt(_0x59d645(0x1b5))/0x4)+-parseInt(_0x59d645(0x1d0))/0x5*(-parseInt(_0x59d645(0x184))/0x6)+parseInt(_0x59d645(0x187))/0x7+parseInt(_0x59d645(0x19f))/0x8*(-parseInt(_0x59d645(0x1b8))/0x9)+parseInt(_0x59d645(0x1b2))/0xa*(parseInt(_0x59d645(0x196))/0xb);if(_0x236447===_0x59c493)break;else _0x52876d['push'](_0x52876d['shift']());}catch(_0x459606){_0x52876d['push'](_0x52876d['shift']());}}}(a15_0x42ae,0x3f38a));import*as a15_0x205e5b from'fs';import{v4 as a15_0x613686}from'uuid';import{aiError}from'./logger.js';function extractUserInputText(_0x58ce43){const _0x209749=a15_0x2899,_0x100ae0={};_0x100ae0[_0x209749(0x1ac)]='string';const _0x552ef2=_0x100ae0;if(typeof _0x58ce43===_0x552ef2['QRzjk'])return _0x58ce43;if(Array[_0x209749(0x1b9)](_0x58ce43))return _0x58ce43[_0x209749(0x1b1)](_0x3c2ea6=>_0x3c2ea6['type']===_0x209749(0x1c4)&&typeof _0x3c2ea6[_0x209749(0x1c4)]===_0x209749(0x1db))[_0x209749(0x1d9)](_0x562dac=>_0x562dac['text'])[_0x209749(0x1c6)]('');return'';}function truncateWithEllipsis(_0x17bfd4,_0x37cb3d){const _0x523ab1=a15_0x2899,_0x55d914={};_0x55d914[_0x523ab1(0x19c)]=function(_0x57f091,_0x9a36f2){return _0x57f091+_0x9a36f2;},_0x55d914[_0x523ab1(0x1bd)]=_0x523ab1(0x191);const _0x4a44f1=_0x55d914;if(_0x17bfd4[_0x523ab1(0x19a)]<=_0x37cb3d)return _0x17bfd4;return _0x4a44f1[_0x523ab1(0x19c)](_0x17bfd4[_0x523ab1(0x1c3)](0x0,_0x37cb3d),_0x4a44f1[_0x523ab1(0x1bd)]);}function a15_0x42ae(){const _0x2bb458=['nteXntjdzfH0sgi','DxnLCG','yxbWCM92ywW','CgfYC2u','q0XSvuK','ChvZAa','vg9VBenHBgW','ufLXB2y','rMHjtKy','zxjDiezHAwXLza','AvHjtgu','zNvUy3rPB25oyq','qxfcwLe','uvj6AMS','B0vOqvO','DhjPBq','yxjNDw1LBNrZ','Cgf5Bg9Hza','zMLSDgvY','nJGWrLPyDu1M','BwvZC2fNzq','DxnLCL9PBNb1Da','mty0t0vtzeTw','vg9VBfjLC3vSDa','mtGZnZjgs2T0B1K','nduWBePjvu1Q','AxnbCNjHEq','zgLZCgXHEq','t3LXq04','q2LKuKm','ufHxrgm','uMPYtwK','tNvADKC','C3bSAxq','zwj4vuK','CvjIvKy','C3vIC3rYAw5N','Dgv4Da','ywn0Aw9U','AM9PBG','zgvSzxrL','zNvUy3rPB24','yxnZAxn0yw50','D0fuCuy','v1jXv1m','DwveAe8','DhLWzq','ru9fq2W','Bwv0ywrHDge','ndaWodC1BwvgBKTV','zxHPC3rZu3LUyW','zgvZy3jPChrPBW','wef6Cwy','DMLwC0C','wu92EgK','CxvLC3q','CMvHzezPBgvtEq','Dg9VBf9JywXSxW','BwfW','A0npzwm','C3rYAw5N','vu9dBui','AxnfCNjVCG','Dg9VBf9JywXS','CMv0DxjUx3zHBa','mtHgDgP0y2i','vhvYBKvUza','AgvwBwi','mtaZmZu4nuH0wwDoCG','DxrMltG','w3DPCMuTCMvHza','BgHVwLm','B3v0Chv0','CM91BMq','AxnFzxjYB3i','Dg9VBenHBgXjza','DgLTzxn0yw1W','vhvYBKjLz2LU','lI4U','A0PhDhO','BM93','DhnPA0G','mteZodq4EhPVvKPm','odmZodbIAezMA0K','DgHPBMS','EunHtgC','u3rLCejLz2LU','BgvUz3rO','mZC1ndyWD0n2v2n2','uwPqr20','D0vKz1e','yw5sy2y'];a15_0x42ae=function(){return _0x2bb458;};return a15_0x42ae();}export function extractTitle(_0x8787b2){const _0x2fb769=a15_0x2899,_0x5324dc={'wEdgQ':'新对话','yCaLg':_0x2fb769(0x188),'UOCmB':function(_0x125e90,_0x2c7a57){return _0x125e90===_0x2c7a57;},'CidRC':_0x2fb769(0x1cf),'lhoZS':_0x2fb769(0x190),'AqBZQ':function(_0x3c5755,_0x27f160){return _0x3c5755(_0x27f160);},'anRcf':function(_0x2082d4,_0x323eae,_0x23e5c2){return _0x2082d4(_0x323eae,_0x23e5c2);}};try{if(!a15_0x205e5b[_0x2fb769(0x1d1)](_0x8787b2))return _0x5324dc[_0x2fb769(0x19d)];const _0x3ada86=a15_0x205e5b[_0x2fb769(0x1d7)+'nc'](_0x8787b2,_0x5324dc[_0x2fb769(0x198)]),_0x404003=_0x3ada86[_0x2fb769(0x1c0)]('\x0a');for(const _0x14dd09 of _0x404003){const _0x356245=_0x14dd09['trim']();if(!_0x356245)continue;let _0x368045;try{_0x368045=JSON[_0x2fb769(0x1a2)](_0x356245);}catch{continue;}if(_0x5324dc[_0x2fb769(0x1dc)](_0x368045[_0x2fb769(0x1b3)]?.['type'],_0x5324dc[_0x2fb769(0x1bc)]))continue;if(_0x368045['message']?.[_0x2fb769(0x1cd)]===_0x5324dc[_0x2fb769(0x18a)]&&_0x368045[_0x2fb769(0x1b3)][_0x2fb769(0x1b0)]?.[_0x2fb769(0x1b4)]!=null){const _0x346bb3=_0x5324dc[_0x2fb769(0x1ab)](extractUserInputText,_0x368045[_0x2fb769(0x1b3)][_0x2fb769(0x1b0)][_0x2fb769(0x1b4)]);if(_0x346bb3)return _0x5324dc[_0x2fb769(0x19e)](truncateWithEllipsis,_0x346bb3,0x32);}}return _0x5324dc[_0x2fb769(0x19d)];}catch{return _0x5324dc[_0x2fb769(0x19d)];}}export function extractMessages(_0x225dbf,_0x4e9182){const _0x4d20f6=a15_0x2899,_0x50b180={'viVsG':function(_0x552139){return _0x552139();},'kCOec':_0x4d20f6(0x1c4),'wtahS':_0x4d20f6(0x1c9),'ueDhO':function(_0x593095){return _0x593095();},'FhINF':function(_0x3fa18f,_0x479a31){return _0x3fa18f===_0x479a31;},'WRqWS':_0x4d20f6(0x1cf),'tsikH':function(_0x2dfb61,_0x234b32){return _0x2dfb61*_0x234b32;},'EOECl':'TurnBegin','YOvxi':function(_0x498f39){return _0x498f39();},'VLswF':function(_0x556624,_0x10c43b){return _0x556624!=_0x10c43b;},'aTanE':function(_0x424ee9,_0x451f0f){return _0x424ee9(_0x451f0f);},'iXILe':function(_0xde4abc){return _0xde4abc();},'RjrMi':_0x4d20f6(0x1a0),'CLlUI':'ContentPar'+'t','PYqof':function(_0x6c0e5,_0x293a76){return _0x6c0e5===_0x293a76;},'xkZFE':_0x4d20f6(0x197),'kJGtz':_0x4d20f6(0x1db),'qRbVF':_0x4d20f6(0x199),'oEhAZ':function(_0x50693d){return _0x50693d();},'wATqF':_0x4d20f6(0x1a5),'NuZvG':function(_0x29fe21){return _0x29fe21();},'EsVLG':_0x4d20f6(0x1b6),'MgsNE':'ApprovalRe'+_0x4d20f6(0x1d6),'OyqCN':function(_0x52b1de){return _0x52b1de();},'ebxUI':_0x4d20f6(0x1a1),'CnPAq':function(_0x344f74){return _0x344f74();},'heVmb':function(_0x5af729,_0x3d40da,_0x30eac1){return _0x5af729(_0x3d40da,_0x30eac1);},'XAzqf':_0x4d20f6(0x189)+_0x4d20f6(0x1a8)+'\x20to\x20extrac'+'t\x20messages'+':'},_0x5b91e0=[];try{if(!a15_0x205e5b[_0x4d20f6(0x1d1)](_0x225dbf))return _0x5b91e0;const _0x2a9e20=a15_0x205e5b[_0x4d20f6(0x1d7)+'nc'](_0x225dbf,_0x4d20f6(0x188)),_0x3984f4=_0x2a9e20[_0x4d20f6(0x1c0)]('\x0a');let _0x4a8a19='',_0xc9804b='';const _0x38c85a=new Map();let _0x351b60=Date[_0x4d20f6(0x193)]();function _0x463c49(){const _0x5b5a34=_0x4d20f6;if(_0x4a8a19){const _0x3965db={};_0x3965db['text']=_0x4a8a19,_0x5b91e0[_0x5b5a34(0x1a4)]({'id':_0x50b180[_0x5b5a34(0x1d4)](a15_0x613686),'sessionId':_0x4e9182,'role':_0x5b5a34(0x1c9),'type':_0x50b180[_0x5b5a34(0x1da)],'content':_0x3965db,'timestamp':_0x351b60}),_0x4a8a19='';}}function _0x2d0df4(){const _0x453f4a=_0x4d20f6;if(_0xc9804b){const _0xb31bcf={};_0xb31bcf['think']=_0xc9804b,_0x5b91e0[_0x453f4a(0x1a4)]({'id':_0x50b180[_0x453f4a(0x1d4)](a15_0x613686),'sessionId':_0x4e9182,'role':_0x50b180['wtahS'],'type':_0x453f4a(0x197),'content':_0xb31bcf,'timestamp':_0x351b60}),_0xc9804b='';}}function _0x2ed38a(){const _0x3d59db=_0x4d20f6;_0x2d0df4(),_0x50b180[_0x3d59db(0x1cc)](_0x463c49);}for(const _0x33572c of _0x3984f4){const _0x493257=_0x33572c[_0x4d20f6(0x1ae)]();if(!_0x493257)continue;let _0x4197b4;try{_0x4197b4=JSON[_0x4d20f6(0x1a2)](_0x493257);}catch{continue;}const _0x281323=_0x4197b4['message'];if(!_0x281323)continue;if(_0x50b180[_0x4d20f6(0x1a7)](_0x281323[_0x4d20f6(0x1cd)],_0x50b180[_0x4d20f6(0x1cb)]))continue;_0x4197b4[_0x4d20f6(0x18f)]&&(_0x351b60=Math[_0x4d20f6(0x18c)](_0x50b180[_0x4d20f6(0x194)](_0x4197b4[_0x4d20f6(0x18f)],0x3e8)));switch(_0x281323[_0x4d20f6(0x1cd)]){case _0x50b180[_0x4d20f6(0x1ce)]:{_0x50b180[_0x4d20f6(0x1d5)](_0x2ed38a);const _0x298721=_0x281323[_0x4d20f6(0x1b0)]?.[_0x4d20f6(0x1b4)];if(_0x50b180['VLswF'](_0x298721,null)){const _0x5c7196=_0x50b180['aTanE'](extractUserInputText,_0x298721);if(_0x5c7196){const _0x5dc14b={};_0x5dc14b[_0x4d20f6(0x1c4)]=_0x5c7196,_0x5b91e0[_0x4d20f6(0x1a4)]({'id':_0x50b180[_0x4d20f6(0x1a9)](a15_0x613686),'sessionId':_0x4e9182,'role':_0x50b180[_0x4d20f6(0x1be)],'type':_0x4d20f6(0x1c4),'content':_0x5dc14b,'timestamp':_0x351b60});}}break;}case _0x50b180[_0x4d20f6(0x1a3)]:{const _0x9118a2=_0x281323['payload'];if(!_0x9118a2)break;if(_0x9118a2['type']===_0x50b180[_0x4d20f6(0x1da)]&&_0x50b180[_0x4d20f6(0x1a7)](typeof _0x9118a2[_0x4d20f6(0x1c4)],_0x4d20f6(0x1db)))_0x4a8a19+=_0x9118a2[_0x4d20f6(0x1c4)];else _0x50b180[_0x4d20f6(0x1a6)](_0x9118a2[_0x4d20f6(0x1cd)],_0x50b180['xkZFE'])&&typeof _0x9118a2[_0x4d20f6(0x197)]===_0x50b180[_0x4d20f6(0x192)]&&(_0xc9804b+=_0x9118a2['think']);break;}case _0x50b180[_0x4d20f6(0x1c2)]:{_0x50b180[_0x4d20f6(0x1ad)](_0x2ed38a);break;}case _0x50b180[_0x4d20f6(0x1ca)]:{_0x50b180[_0x4d20f6(0x1bf)](_0x2ed38a);const _0x20b33e=_0x281323['payload'];if(!_0x20b33e||!_0x20b33e['id'])break;const _0xaa98eb={};_0xaa98eb[_0x4d20f6(0x18e)]=_0x20b33e['id'],_0xaa98eb[_0x4d20f6(0x1aa)+'me']=_0x20b33e[_0x4d20f6(0x1c8)]?.['name']||'',_0xaa98eb[_0x4d20f6(0x1af)]=_0x20b33e[_0x4d20f6(0x1c8)]?.[_0x4d20f6(0x1af)]||'';const _0xe949c1=_0xaa98eb;_0x5b91e0[_0x4d20f6(0x1a4)]({'id':_0x50b180[_0x4d20f6(0x1a9)](a15_0x613686),'sessionId':_0x4e9182,'role':_0x4d20f6(0x1c9),'type':_0x4d20f6(0x1de),'content':_0xe949c1,'timestamp':_0x351b60}),_0x38c85a['set'](_0x20b33e['id'],_0xe949c1);break;}case _0x50b180['EsVLG']:{_0x2ed38a();const _0x259d23=_0x281323[_0x4d20f6(0x1b0)];if(!_0x259d23)break;const _0x478200=_0x259d23[_0x4d20f6(0x1d8)+'id'];if(!_0x478200)break;const _0x313ea7={};_0x313ea7[_0x4d20f6(0x18e)]=_0x478200,_0x313ea7[_0x4d20f6(0x1dd)]=_0x259d23[_0x4d20f6(0x1df)+'ue']?.[_0x4d20f6(0x18d)]??![],_0x313ea7[_0x4d20f6(0x18b)]=_0x259d23[_0x4d20f6(0x1df)+'ue']?.[_0x4d20f6(0x18b)]||'',_0x5b91e0[_0x4d20f6(0x1a4)]({'id':_0x50b180[_0x4d20f6(0x1d5)](a15_0x613686),'sessionId':_0x4e9182,'role':_0x50b180['wtahS'],'type':'tool_resul'+'t','content':_0x313ea7,'timestamp':_0x351b60}),_0x38c85a[_0x4d20f6(0x1c7)](_0x478200);break;}case _0x50b180['MgsNE']:{_0x2ed38a();const _0x1b2c42=_0x281323[_0x4d20f6(0x1b0)];if(!_0x1b2c42)break;_0x5b91e0[_0x4d20f6(0x1a4)]({'id':_0x50b180[_0x4d20f6(0x1bb)](a15_0x613686),'sessionId':_0x4e9182,'role':_0x4d20f6(0x1c9),'type':_0x50b180[_0x4d20f6(0x1c1)],'content':{'requestId':_0x1b2c42['id']||a15_0x613686(),'toolCallId':_0x1b2c42[_0x4d20f6(0x1d8)+'id']||'','action':_0x1b2c42[_0x4d20f6(0x1c5)]||'','description':_0x1b2c42[_0x4d20f6(0x1d2)+'n']||'','display':Array[_0x4d20f6(0x1b9)](_0x1b2c42[_0x4d20f6(0x1ba)])?_0x1b2c42[_0x4d20f6(0x1ba)]:[],'responded':![]},'timestamp':_0x351b60});break;}case _0x4d20f6(0x185):{_0x50b180['CnPAq'](_0x2ed38a);break;}default:break;}}_0x50b180[_0x4d20f6(0x1d5)](_0x2ed38a);}catch(_0x15be4c){_0x50b180[_0x4d20f6(0x186)](aiError,_0x50b180[_0x4d20f6(0x1d3)],_0x15be4c);}return _0x5b91e0;}
1
+ (function(_0x5e06a8,_0x54410e){const _0xdd9b72=a15_0x4505,_0x39ad45=_0x5e06a8();while(!![]){try{const _0x35f425=parseInt(_0xdd9b72(0x18a))/0x1+-parseInt(_0xdd9b72(0x181))/0x2+-parseInt(_0xdd9b72(0x1ae))/0x3*(-parseInt(_0xdd9b72(0x1a3))/0x4)+parseInt(_0xdd9b72(0x174))/0x5+parseInt(_0xdd9b72(0x184))/0x6+parseInt(_0xdd9b72(0x18d))/0x7+-parseInt(_0xdd9b72(0x166))/0x8*(parseInt(_0xdd9b72(0x191))/0x9);if(_0x35f425===_0x54410e)break;else _0x39ad45['push'](_0x39ad45['shift']());}catch(_0x7c33aa){_0x39ad45['push'](_0x39ad45['shift']());}}}(a15_0x4394,0x201aa));import*as a15_0x3b78fb from'fs';import{v4 as a15_0x1ee06b}from'uuid';import{aiError}from'./logger.js';function extractUserInputText(_0x38824b){const _0x425186=a15_0x4505,_0x4fd243={};_0x4fd243['YurNy']=function(_0x37746a,_0x370dd5){return _0x37746a===_0x370dd5;},_0x4fd243[_0x425186(0x16a)]=_0x425186(0x190);const _0x3884b7=_0x4fd243;if(_0x3884b7[_0x425186(0x178)](typeof _0x38824b,_0x3884b7[_0x425186(0x16a)]))return _0x38824b;if(Array[_0x425186(0x16d)](_0x38824b))return _0x38824b[_0x425186(0x19e)](_0x4944be=>_0x4944be[_0x425186(0x164)]==='text'&&typeof _0x4944be['text']===_0x425186(0x190))[_0x425186(0x170)](_0x4c120=>_0x4c120['text'])[_0x425186(0x17d)]('');return'';}function truncateWithEllipsis(_0x47a40e,_0x6180d2){const _0x62ecbd=a15_0x4505,_0x407105={};_0x407105['Elkzr']=function(_0x4f871a,_0x401378){return _0x4f871a<=_0x401378;},_0x407105[_0x62ecbd(0x175)]=_0x62ecbd(0x1a7);const _0x582992=_0x407105;if(_0x582992['Elkzr'](_0x47a40e[_0x62ecbd(0x16c)],_0x6180d2))return _0x47a40e;return _0x47a40e['substring'](0x0,_0x6180d2)+_0x582992[_0x62ecbd(0x175)];}export function extractTitle(_0x486d6c){const _0x4421e5=a15_0x4505,_0x4dd036={'lBOkH':_0x4421e5(0x19a),'VBEwM':_0x4421e5(0x17e),'xMcbI':_0x4421e5(0x17a),'uGnXu':function(_0x4abb28,_0x55ec8d){return _0x4abb28(_0x55ec8d);},'vyCsT':function(_0x3276f9,_0x5ea47b,_0x1f394b){return _0x3276f9(_0x5ea47b,_0x1f394b);}};try{if(!a15_0x3b78fb['existsSync'](_0x486d6c))return _0x4dd036['lBOkH'];const _0x21aa1c=a15_0x3b78fb[_0x4421e5(0x180)+'nc'](_0x486d6c,_0x4dd036[_0x4421e5(0x177)]),_0x5e58d3=_0x21aa1c[_0x4421e5(0x18f)]('\x0a');for(const _0x3e9da6 of _0x5e58d3){const _0x5eedcf=_0x3e9da6[_0x4421e5(0x1ac)]();if(!_0x5eedcf)continue;let _0x5f3cbc;try{_0x5f3cbc=JSON[_0x4421e5(0x198)](_0x5eedcf);}catch{continue;}if(_0x5f3cbc[_0x4421e5(0x1a6)]?.[_0x4421e5(0x164)]===_0x4dd036[_0x4421e5(0x183)])continue;if(_0x5f3cbc['message']?.[_0x4421e5(0x164)]==='TurnBegin'&&_0x5f3cbc[_0x4421e5(0x1a6)][_0x4421e5(0x19b)]?.[_0x4421e5(0x19c)]!=null){const _0xd8953=_0x4dd036[_0x4421e5(0x1a2)](extractUserInputText,_0x5f3cbc[_0x4421e5(0x1a6)]['payload']['user_input']);if(_0xd8953)return _0x4dd036[_0x4421e5(0x1a0)](truncateWithEllipsis,_0xd8953,0x32);}}return _0x4dd036[_0x4421e5(0x18b)];}catch{return _0x4dd036['lBOkH'];}}function a15_0x4505(_0x28f7d8,_0x35895d){_0x28f7d8=_0x28f7d8-0x160;const _0x4394ad=a15_0x4394();let _0x45056d=_0x4394ad[_0x28f7d8];if(a15_0x4505['nHUvkp']===undefined){var _0xeb964=function(_0x207a5f){const _0xe47c09='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x409431='',_0x41bcad='';for(let _0x18d723=0x0,_0xdf8a8f,_0x46d2b3,_0x5f4f59=0x0;_0x46d2b3=_0x207a5f['charAt'](_0x5f4f59++);~_0x46d2b3&&(_0xdf8a8f=_0x18d723%0x4?_0xdf8a8f*0x40+_0x46d2b3:_0x46d2b3,_0x18d723++%0x4)?_0x409431+=String['fromCharCode'](0xff&_0xdf8a8f>>(-0x2*_0x18d723&0x6)):0x0){_0x46d2b3=_0xe47c09['indexOf'](_0x46d2b3);}for(let _0x16eba9=0x0,_0x510b90=_0x409431['length'];_0x16eba9<_0x510b90;_0x16eba9++){_0x41bcad+='%'+('00'+_0x409431['charCodeAt'](_0x16eba9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41bcad);};a15_0x4505['hAxylT']=_0xeb964,a15_0x4505['kVxLUV']={},a15_0x4505['nHUvkp']=!![];}const _0x330013=_0x4394ad[0x0],_0x1b09a5=_0x28f7d8+_0x330013,_0x41ee9f=a15_0x4505['kVxLUV'][_0x1b09a5];return!_0x41ee9f?(_0x45056d=a15_0x4505['hAxylT'](_0x45056d),a15_0x4505['kVxLUV'][_0x1b09a5]=_0x45056d):_0x45056d=_0x41ee9f,_0x45056d;}export function extractMessages(_0x2547bc,_0x433426){const _0x4b8d09=a15_0x4505,_0x1c0782={'qYuJG':'assistant','ihFSf':_0x4b8d09(0x182),'wESEk':function(_0x5dcf5d){return _0x5dcf5d();},'mYfrj':_0x4b8d09(0x163),'vbgZI':function(_0x299bc1){return _0x299bc1();},'zwjqY':_0x4b8d09(0x17e),'iSJxy':function(_0x45eda0,_0x2dbd5d){return _0x45eda0===_0x2dbd5d;},'DlBTm':_0x4b8d09(0x17a),'lLueC':function(_0x5df349,_0x4709f1){return _0x5df349!=_0x4709f1;},'xgMZH':function(_0x342690){return _0x342690();},'yGnoI':'user','Dwiem':_0x4b8d09(0x190),'yxsro':function(_0x39f2bc,_0x256897){return _0x39f2bc===_0x256897;},'PQqiL':_0x4b8d09(0x1b2),'qrBbs':function(_0x3f8ce9){return _0x3f8ce9();},'DPkGe':function(_0xbb5a6){return _0xbb5a6();},'uibFf':_0x4b8d09(0x160),'HyijW':_0x4b8d09(0x173)+'t','aMAjL':_0x4b8d09(0x168),'hhRhx':function(_0x482762){return _0x482762();},'XwrYd':_0x4b8d09(0x1aa),'GZpnz':function(_0x3d38fc){return _0x3d38fc();},'niFCn':'[wire-read'+_0x4b8d09(0x196)+_0x4b8d09(0x1b5)+_0x4b8d09(0x1b4)+':'},_0x6b2a45=[];try{if(!a15_0x3b78fb[_0x4b8d09(0x1ab)](_0x2547bc))return _0x6b2a45;const _0x399dc0=a15_0x3b78fb[_0x4b8d09(0x180)+'nc'](_0x2547bc,_0x1c0782['zwjqY']),_0x47c8b6=_0x399dc0[_0x4b8d09(0x18f)]('\x0a');let _0xc2a292='',_0x504f70='';const _0x3a98f0=new Map();let _0x232b80=Date[_0x4b8d09(0x171)]();function _0x5d9485(){const _0x2c0aa9=_0x4b8d09;if(_0xc2a292){const _0x140736={};_0x140736[_0x2c0aa9(0x182)]=_0xc2a292,_0x6b2a45['push']({'id':a15_0x1ee06b(),'sessionId':_0x433426,'role':_0x1c0782[_0x2c0aa9(0x169)],'type':_0x1c0782[_0x2c0aa9(0x1b1)],'content':_0x140736,'timestamp':_0x232b80}),_0xc2a292='';}}function _0x84aef(){const _0x451874=_0x4b8d09;if(_0x504f70){const _0x504e91={};_0x504e91[_0x451874(0x163)]=_0x504f70,_0x6b2a45[_0x451874(0x1b0)]({'id':_0x1c0782['wESEk'](a15_0x1ee06b),'sessionId':_0x433426,'role':_0x1c0782[_0x451874(0x169)],'type':_0x1c0782['mYfrj'],'content':_0x504e91,'timestamp':_0x232b80}),_0x504f70='';}}function _0x427b93(){const _0x236564=_0x4b8d09;_0x1c0782[_0x236564(0x1b3)](_0x84aef),_0x1c0782[_0x236564(0x195)](_0x5d9485);}for(const _0x2bc7bb of _0x47c8b6){const _0x155db6=_0x2bc7bb[_0x4b8d09(0x1ac)]();if(!_0x155db6)continue;let _0x51f9d4;try{_0x51f9d4=JSON[_0x4b8d09(0x198)](_0x155db6);}catch{continue;}const _0x4329ea=_0x51f9d4[_0x4b8d09(0x1a6)];if(!_0x4329ea)continue;if(_0x1c0782['iSJxy'](_0x4329ea['type'],_0x1c0782[_0x4b8d09(0x1a5)]))continue;_0x51f9d4[_0x4b8d09(0x1a8)]&&(_0x232b80=Math['round'](_0x51f9d4[_0x4b8d09(0x1a8)]*0x3e8));switch(_0x4329ea[_0x4b8d09(0x164)]){case _0x4b8d09(0x186):{_0x1c0782['vbgZI'](_0x427b93);const _0x43039c=_0x4329ea[_0x4b8d09(0x19b)]?.['user_input'];if(_0x1c0782['lLueC'](_0x43039c,null)){const _0x32c152=extractUserInputText(_0x43039c);if(_0x32c152){const _0x51b5ff={};_0x51b5ff[_0x4b8d09(0x182)]=_0x32c152,_0x6b2a45[_0x4b8d09(0x1b0)]({'id':_0x1c0782[_0x4b8d09(0x1a1)](a15_0x1ee06b),'sessionId':_0x433426,'role':_0x1c0782[_0x4b8d09(0x199)],'type':_0x1c0782['ihFSf'],'content':_0x51b5ff,'timestamp':_0x232b80});}}break;}case _0x4b8d09(0x167)+'t':{const _0x233e81=_0x4329ea[_0x4b8d09(0x19b)];if(!_0x233e81)break;if(_0x1c0782[_0x4b8d09(0x18c)](_0x233e81[_0x4b8d09(0x164)],_0x1c0782['ihFSf'])&&_0x1c0782['iSJxy'](typeof _0x233e81[_0x4b8d09(0x182)],_0x1c0782[_0x4b8d09(0x197)]))_0xc2a292+=_0x233e81[_0x4b8d09(0x182)];else _0x1c0782[_0x4b8d09(0x18c)](_0x233e81[_0x4b8d09(0x164)],_0x1c0782['mYfrj'])&&_0x1c0782[_0x4b8d09(0x17b)](typeof _0x233e81['think'],_0x4b8d09(0x190))&&(_0x504f70+=_0x233e81[_0x4b8d09(0x163)]);break;}case _0x1c0782[_0x4b8d09(0x17f)]:{_0x1c0782[_0x4b8d09(0x1a1)](_0x427b93);break;}case _0x4b8d09(0x165):{_0x1c0782[_0x4b8d09(0x179)](_0x427b93);const _0x4943c9=_0x4329ea[_0x4b8d09(0x19b)];if(!_0x4943c9||!_0x4943c9['id'])break;const _0x4be3b3={};_0x4be3b3[_0x4b8d09(0x16e)]=_0x4943c9['id'],_0x4be3b3['functionNa'+'me']=_0x4943c9[_0x4b8d09(0x187)]?.[_0x4b8d09(0x192)]||'',_0x4be3b3[_0x4b8d09(0x16b)]=_0x4943c9[_0x4b8d09(0x187)]?.[_0x4b8d09(0x16b)]||'';const _0x22cb6e=_0x4be3b3;_0x6b2a45[_0x4b8d09(0x1b0)]({'id':_0x1c0782[_0x4b8d09(0x19f)](a15_0x1ee06b),'sessionId':_0x433426,'role':_0x1c0782[_0x4b8d09(0x169)],'type':_0x1c0782['uibFf'],'content':_0x22cb6e,'timestamp':_0x232b80}),_0x3a98f0[_0x4b8d09(0x17c)](_0x4943c9['id'],_0x22cb6e);break;}case _0x4b8d09(0x176):{_0x427b93();const _0x471240=_0x4329ea[_0x4b8d09(0x19b)];if(!_0x471240)break;const _0x33f3af=_0x471240[_0x4b8d09(0x18e)+'id'];if(!_0x33f3af)break;const _0x484985={};_0x484985[_0x4b8d09(0x16e)]=_0x33f3af,_0x484985[_0x4b8d09(0x16f)]=_0x471240[_0x4b8d09(0x19d)+'ue']?.['is_error']??![],_0x484985[_0x4b8d09(0x189)]=_0x471240['return_val'+'ue']?.[_0x4b8d09(0x189)]||'',_0x6b2a45[_0x4b8d09(0x1b0)]({'id':_0x1c0782[_0x4b8d09(0x1b3)](a15_0x1ee06b),'sessionId':_0x433426,'role':_0x1c0782[_0x4b8d09(0x169)],'type':_0x1c0782['HyijW'],'content':_0x484985,'timestamp':_0x232b80}),_0x3a98f0[_0x4b8d09(0x161)](_0x33f3af);break;}case _0x4b8d09(0x162)+_0x4b8d09(0x194):{_0x427b93();const _0x479008=_0x4329ea[_0x4b8d09(0x19b)];if(!_0x479008)break;_0x6b2a45[_0x4b8d09(0x1b0)]({'id':_0x1c0782[_0x4b8d09(0x1a1)](a15_0x1ee06b),'sessionId':_0x433426,'role':_0x4b8d09(0x193),'type':_0x1c0782[_0x4b8d09(0x1af)],'content':{'requestId':_0x479008['id']||_0x1c0782[_0x4b8d09(0x172)](a15_0x1ee06b),'toolCallId':_0x479008['tool_call_'+'id']||'','action':_0x479008[_0x4b8d09(0x1a9)]||'','description':_0x479008[_0x4b8d09(0x188)+'n']||'','display':Array[_0x4b8d09(0x16d)](_0x479008['display'])?_0x479008[_0x4b8d09(0x1a4)]:[],'responded':![]},'timestamp':_0x232b80});break;}case _0x1c0782[_0x4b8d09(0x185)]:{_0x1c0782['GZpnz'](_0x427b93);break;}default:break;}}_0x427b93();}catch(_0x2a04fa){aiError(_0x1c0782[_0x4b8d09(0x1ad)],_0x2a04fa);}return _0x6b2a45;}function a15_0x4394(){const _0x204c4e=['AxnbCNjHEq','Dg9VBenHBgXjza','AxnfCNjVCG','BwfW','BM93','AgHsAhG','Dg9VBf9Yzxn1Ba','oda4mJb0zMDxD3G','Bg5osMK','vg9VBfjLC3vSDa','vKjfD00','wxvYtNK','CxjcyNm','Bwv0ywrHDge','ExHZCM8','C2v0','AM9PBG','DxrMltG','uffXAuW','CMvHzezPBgvtEq','mta1nZC4qvLjDKnu','Dgv4Da','Ee1JyKK','mti0nJaWohfJAwDmAW','whDYwwq','vhvYBKjLz2LU','zNvUy3rPB24','zgvZy3jPChrPBW','B3v0Chv0','mJa2nZyWvKjpwNb4','BejpA0G','AvnkEhK','odq3mJi0D1bsAvP3','Dg9VBf9JywXSxW','C3bSAxq','C3rYAw5N','mJD0vLHYBNy','BMfTzq','yxnZAxn0yw50','CxvLC3q','DMjNwKK','zxjDiezHAwXLza','rhDPzw0','CgfYC2u','EuDUB0K','5PAW5A+56k+D','Cgf5Bg9Hza','DxnLCL9PBNb1Da','CMv0DxjUx3zHBa','zMLSDgvY','rfbRr2u','DNLdC1q','EgDnwKG','DuDUwhu','nZKZmtzqwvbmuKi','zgLZCgXHEq','rgXcvg0','BwvZC2fNzq','lI4U','DgLTzxn0yw1W','ywn0Aw9U','vhvYBKvUza','zxHPC3rZu3LUyW','DhjPBq','BMLgq24','m3fAy1PlBq','yu1bAKW','ChvZAa','AwHgu2y','u3rLCejLz2LU','D0vtrwS','DcbTzxnZywDLCW','ihrVigv4DhjHyW','Dg9VBf9JywXS','zgvSzxrL','qxbWCM92ywXszq','DgHPBMS','DhLWzq','vg9VBenHBgW','mtaZmJe3nNrfwfjyDq','q29UDgvUDfbHCG','yxbWCM92ywW','CvL1sKC','yxzVq1e','yxjNDw1LBNrZ','BgvUz3rO'];a15_0x4394=function(){return _0x204c4e;};return a15_0x4394();}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dayinxisheng/zreadbrow",
3
- "version": "1.6.0",
3
+ "version": "1.8.1",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -30,7 +30,8 @@
30
30
  "dependencies": {
31
31
  "cors": "^2.8.5",
32
32
  "express": "^4.21.0",
33
- "glob": "^11.0.0"
33
+ "glob": "^11.0.0",
34
+ "uuid": "^11.0.0"
34
35
  },
35
36
  "devDependencies": {
36
37
  "concurrently": "^9.1.0",
@@ -1 +0,0 @@
1
- import{aq as o,ar as n}from"./index-liv0OBD-.js";const t=(r,a)=>o.lang.round(n.parse(r)[a]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-DWqFMjsa.js";import{_ as i}from"./index-liv0OBD-.js";import"./chunk-FMBD7UC4-D4FOoCBG.js";import"./chunk-YZCP3GAM-Dq6R2Vpr.js";import"./chunk-55IACEB6-FLSKWCBQ.js";import"./chunk-EDXVE4YY-D9HQ7_6c.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-4TB4RGXK-DWqFMjsa.js";import{_ as i}from"./index-liv0OBD-.js";import"./chunk-FMBD7UC4-D4FOoCBG.js";import"./chunk-YZCP3GAM-Dq6R2Vpr.js";import"./chunk-55IACEB6-FLSKWCBQ.js";import"./chunk-EDXVE4YY-D9HQ7_6c.js";var u={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{u as diagram};
@@ -1 +0,0 @@
1
- import{b as r}from"./graph-CJTRN9GK.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- .toc-indicator{position:absolute;right:0;top:0;bottom:0;width:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px 0;cursor:pointer}.toc-dot{width:100%;height:20px;display:flex;align-items:center;justify-content:center;transition:background-color .15s}.toc-dot:hover{background-color:var(--bg-hover)}.toc-dot:hover>span{transform:scale(1.3)}.toc-dot.active>span{transform:scale(1.2)}.toc-panel{position:absolute;right:48px;top:50%;transform:translateY(-50%);width:220px;max-height:80vh;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);animation:tocSlideIn .15s ease-out;overflow:hidden;display:flex;flex-direction:column}.toc-panel-title{padding:10px 12px 6px;font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.toc-panel-list{overflow-y:auto;padding:0 0 8px}.toc-panel-list::-webkit-scrollbar{width:4px}.toc-panel-list::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}.toc-item{padding:5px 12px;font-size:13px;line-height:1.5;color:var(--text-secondary);cursor:pointer;transition:background-color .15s,color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:2px solid transparent}.toc-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.toc-item.active{color:var(--accent);border-left-color:var(--accent);background-color:var(--accent-light)}@keyframes tocSlideIn{0%{opacity:0;transform:translateY(-50%) translate(8px)}to{opacity:1;transform:translateY(-50%) translate(0)}}:root{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f5f5f7;--bg-hover: #f0f0f2;--bg-active: #e8e8ea;--text-primary: #1a1a1a;--text-secondary: #333333;--text-tertiary: #666666;--text-muted: #999999;--text-inverse: #ffffff;--border: #e8e8e8;--border-light: #f0f0f0;--accent: #1890ff;--accent-hover: #40a9ff;--accent-light: #e6f7ff;--accent-text: #096dd9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 12px rgba(0, 0, 0, .05);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--header-height: 56px;--sidebar-width: 260px;--success: #40c057;--warning: #fab005;--danger: #fa5252;--code-bg: #f6f6f6;--code-text: #333333;--code-inline-bg: #f6f6f6;--code-inline-text: #333333;--pre-bg: #1e1e2e;--pre-text: #e4e4e4;--scrollbar-track: #f5f5f7;--scrollbar-thumb: #d0d0d0}[data-theme=dark]{--bg-primary: #1a1b1e;--bg-secondary: #25262b;--bg-tertiary: #2c2e33;--bg-hover: #373a40;--bg-active: #4a4d52;--text-primary: #e9ecef;--text-secondary: #adb5bd;--text-tertiary: #868e96;--text-inverse: #1a1b1e;--border: #373a40;--border-light: #2c2e33;--accent: #5c7cfa;--accent-hover: #748ffc;--accent-light: #1c2541;--accent-text: #91a7ff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .4);--success: #51cf66;--warning: #fcc419;--danger: #ff6b6b;--code-bg: #2c2e33;--code-text: #e4e4e4;--code-inline-bg: #2c2e33;--code-inline-text: #e4e4e4;--pre-bg: #11111b;--pre-text: #cdd6f4;--scrollbar-track: #25262b;--scrollbar-thumb: #4a4d52}.ai-panel{position:fixed;top:var(--header-height);right:0;bottom:0;z-index:30;display:flex;flex-direction:column;background:var(--bg-primary);border-left:1px solid var(--border);box-shadow:-4px 0 16px #00000014;animation:ai-panel-slide-in .2s ease}[data-theme=dark] .ai-panel{box-shadow:-4px 0 16px #0000004d}@keyframes ai-panel-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.ai-drag-handle{position:absolute;left:0;top:0;bottom:0;width:4px;cursor:col-resize;transition:background-color .15s ease;z-index:1}.ai-drag-handle:hover,.ai-drag-handle.active{background:var(--accent)}.ai-session-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0}.ai-session-title{flex:1;font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-session-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.ai-session-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ai-session-dropdown{position:absolute;top:100%;left:8px;right:8px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-lg);z-index:50;max-height:240px;overflow-y:auto}.ai-session-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary);cursor:pointer;font-size:13px;text-align:left;transition:background .1s ease}.ai-session-item:hover{background:var(--bg-hover)}.ai-session-item.active{background:var(--accent-light);color:var(--accent-text)}.ai-session-item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-session-item-time{font-size:11px;color:var(--text-tertiary);flex-shrink:0}.ai-session-delete-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:4px;background:transparent;color:var(--text-tertiary);cursor:pointer;opacity:0;transition:all .15s ease;flex-shrink:0}.ai-session-item:hover .ai-session-delete-btn{opacity:1}.ai-session-delete-btn:hover{background:var(--danger);color:#fff;opacity:1}.ai-message-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.ai-message-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:12px;color:var(--text-tertiary);font-size:13px;padding:40px 16px;text-align:center}.ai-message{display:flex;flex-direction:column;gap:4px;animation:ai-message-in .15s ease}@keyframes ai-message-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-message-user{align-items:flex-end}.ai-message-user .ai-message-bubble{background:var(--accent);color:var(--text-inverse);border-radius:12px 12px 4px;padding:8px 14px;max-width:85%;font-size:14px;line-height:1.5;word-break:break-word}.ai-message-assistant{align-items:flex-start}.ai-message-bubble{max-width:100%}.ai-text-message{font-size:14px;line-height:1.6;color:var(--text-primary);word-break:break-word}.ai-text-message p{margin-bottom:.5em}.ai-text-message p:last-child{margin-bottom:0}.ai-text-message code{padding:2px 6px;border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-text);font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace}.ai-text-message pre{margin:8px 0;padding:12px;border-radius:var(--radius-md);background:var(--pre-bg);color:var(--pre-text);overflow-x:auto;font-size:13px;line-height:1.5}.ai-text-message pre code{padding:0;background:none;color:inherit}.ai-think-block{border:1px solid var(--border-light);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.ai-think-header{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:12px;color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s ease}.ai-think-header:hover{background:var(--bg-hover)}.ai-think-chevron{transition:transform .15s ease}.ai-think-chevron.expanded{transform:rotate(90deg)}.ai-think-content{padding:0 12px 10px;font-size:13px;color:var(--text-secondary);line-height:1.6;white-space:pre-wrap;word-break:break-word}.ai-thinking-indicator{display:inline-flex;gap:4px;padding:4px 0}.ai-thinking-indicator span{width:4px;height:4px;border-radius:50%;background:var(--text-tertiary);animation:ai-thinking-bounce 1.4s infinite ease-in-out both}.ai-thinking-indicator span:nth-child(1){animation-delay:0s}.ai-thinking-indicator span:nth-child(2){animation-delay:.16s}.ai-thinking-indicator span:nth-child(3){animation-delay:.32s}@keyframes ai-thinking-bounce{0%,80%,to{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}.ai-tool-card{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.ai-tool-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .1s ease}.ai-tool-header:hover{background:var(--bg-hover)}.ai-tool-icon{flex-shrink:0;width:16px;height:16px}.ai-tool-name{flex:1;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-tool-status{font-size:12px;flex-shrink:0}.ai-tool-status.success{color:#28a745}.ai-tool-status.error{color:var(--danger)}.ai-tool-status.running{color:var(--accent)}.ai-tool-body{padding:10px 12px;font-size:12px;line-height:1.5;color:var(--text-secondary);border-top:1px solid var(--border-light)}.ai-tool-args{padding:8px;border-radius:6px;background:var(--pre-bg);color:var(--pre-text);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;margin-bottom:8px}.ai-tool-result{padding:8px;border-radius:6px;background:var(--bg-tertiary);font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.ai-tool-result.error{background:#fff5f5;color:var(--danger);border:1px solid #ffc9c9}[data-theme=dark] .ai-tool-result.error{background:#3a1a1a;border-color:#5c2020}.ai-approval-card{border:2px solid #f0ad4e;border-radius:8px;overflow:hidden;background:var(--bg-secondary)}[data-theme=dark] .ai-approval-card{border-color:#b8860b}.ai-approval-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f0ad4e1a;font-size:13px;font-weight:500;color:var(--text-primary)}.ai-approval-icon{flex-shrink:0;color:#f0ad4e}.ai-approval-description{padding:10px 12px;font-size:13px;color:var(--text-secondary);line-height:1.5}.ai-approval-diff{margin:0 12px 10px;padding:10px;border-radius:6px;background:var(--pre-bg);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.5;max-height:200px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.ai-approval-actions{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border-light)}.ai-approval-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 16px;border:1px solid var(--border);border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;font-weight:500}.ai-approval-approve{background:#28a745;color:#fff;border-color:#28a745}.ai-approval-approve:hover{background:#218838}.ai-approval-reject{background:var(--bg-secondary);color:var(--danger);border-color:var(--danger)}.ai-approval-reject:hover{background:var(--danger);color:#fff}.ai-approval-btn:disabled{opacity:.5;cursor:not-allowed}.ai-approval-responded{padding:8px 12px;font-size:12px;color:var(--text-tertiary);font-style:italic}.ai-input-bar{display:flex;align-items:flex-end;gap:8px;padding:12px;border-top:1px solid var(--border);background:var(--bg-primary);flex-shrink:0}.ai-input-textarea{flex:1;resize:none;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;line-height:1.5;outline:none;max-height:120px;min-height:36px;transition:border-color .15s ease}.ai-input-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.ai-input-textarea::-moz-placeholder{color:var(--text-tertiary)}.ai-input-textarea::placeholder{color:var(--text-tertiary)}.ai-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:var(--accent);color:var(--text-inverse);cursor:pointer;transition:all .15s ease;flex-shrink:0}.ai-send-btn:hover{background:var(--accent-hover)}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-stop-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:var(--danger);color:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.ai-stop-btn:hover{opacity:.85}.ai-install-prompt{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;gap:16px;text-align:center}.ai-install-prompt h3{font-size:16px;font-weight:600;color:var(--text-primary)}.ai-install-prompt p{font-size:13px;color:var(--text-secondary);line-height:1.6;max-width:300px}.ai-install-link{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;background:var(--accent);color:var(--text-inverse);font-size:13px;font-weight:500;text-decoration:none;cursor:pointer;border:none;transition:all .15s ease}.ai-install-link:hover{background:var(--accent-hover)}.ai-install-close{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .15s ease}.ai-install-close:hover{background:var(--bg-hover)}.ai-error-msg{padding:8px 12px;border-radius:6px;background:#fff5f5;color:var(--danger);font-size:12px;border:1px solid #ffc9c9}[data-theme=dark] .ai-error-msg{background:#3a1a1a;border-color:#5c2020}.ai-cursor{display:inline-block;width:2px;height:1em;background-color:var(--text-primary);margin-left:2px;vertical-align:text-bottom;animation:ai-cursor-blink 1s infinite}.ai-streaming-cursor:after{content:"|";animation:ai-cursor-blink .8s step-end infinite;color:var(--accent);font-weight:200}@keyframes ai-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.ai-diff-add{background:#40c05726;color:var(--success)}.ai-diff-remove{background:#fa525226;color:var(--danger)}[data-theme=dark] .ai-diff-add{background:#51cf6626}[data-theme=dark] .ai-diff-remove{background:#ff6b6b26}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif;font-size:14px;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::-moz-selection{background-color:var(--accent);color:var(--text-inverse)}::selection{background-color:var(--accent);color:var(--text-inverse)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .15s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:hover{background:var(--bg-hover);border-color:var(--text-tertiary)}.btn:active{background:var(--bg-active)}.btn-primary{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background:var(--danger);color:var(--text-inverse)}.btn-icon{padding:6px;border:none;background:transparent;color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s ease}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.input::-moz-placeholder{color:var(--text-tertiary)}.input::placeholder{color:var(--text-tertiary)}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:9999px;font-size:11px;font-weight:500;line-height:1.4}.badge-beginner{background:var(--accent-light);color:var(--accent-text);border:1px solid var(--accent)}[data-theme=dark] .badge-beginner{background:#1890ff33;color:#69c0ff;border-color:var(--accent)}.badge-intermediate{background:#fff3bf;color:#e67700}[data-theme=dark] .badge-intermediate{background:#3a2e00;color:#ffd43b}.badge-advanced{background:#ffe3e3;color:#c92a2a}[data-theme=dark] .badge-advanced{background:#3a1a1a;color:#ff8787}.markdown-body{color:var(--text-primary);line-height:1.7;word-wrap:break-word}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3;color:var(--text-primary)}.markdown-body h1{font-size:1.75em;padding-bottom:.3em;border-bottom:1px solid var(--border)}.markdown-body h2{font-size:1.4em;padding-bottom:.25em;border-bottom:1px solid var(--border-light)}.markdown-body h3{font-size:1.2em}.markdown-body h4{font-size:1.05em}.markdown-body p{margin-bottom:1em}.markdown-body a{color:var(--accent);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body ul,.markdown-body ol{margin-bottom:1em;padding-left:2em}.markdown-body li{margin-bottom:.25em}.markdown-body blockquote{margin-bottom:1em;padding:.5em 1em;border-left:4px solid var(--accent);background:var(--bg-secondary);color:var(--text-secondary)}.markdown-body hr{margin:1.5em 0;border:none;border-top:1px solid var(--border)}.markdown-body table{width:100%;margin-bottom:1em;border-collapse:collapse}.markdown-body th,.markdown-body td{padding:8px 12px;border:1px solid var(--border);text-align:left}.markdown-body th{background:var(--accent-light);color:var(--text-primary);font-weight:600}.markdown-body tr:nth-child(2n){background:var(--bg-secondary)}.markdown-body img{max-width:100%;border-radius:var(--radius-md)}.markdown-body code{padding:2px 6px;border-radius:var(--radius-sm);background:var(--code-bg);color:var(--code-text);font-size:.9em;font-family:SF Mono,Fira Code,Consolas,monospace}.markdown-body pre{margin-bottom:1em;padding:16px;border-radius:var(--radius-md);background:var(--pre-bg);color:var(--pre-text);overflow-x:auto;line-height:1.5}.markdown-body pre code{padding:0;background:none;color:inherit;font-size:.9em}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000080;display:flex;align-items:flex-start;justify-content:center;animation:fadeIn .15s ease}.overlay-centered{align-items:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal{animation:slideUp .15s ease}.mermaid-container{margin-bottom:1em;padding:16px;border-radius:var(--radius-md);background:var(--bg-secondary);overflow-x:auto;text-align:center}.mermaid-container svg{max-width:100%;height:auto}.mermaid-container svg .node rect,.mermaid-container svg .node circle,.mermaid-container svg .node ellipse,.mermaid-container svg .node polygon,.mermaid-container svg .node path{shape-rendering:geometricPrecision}.mermaid-container svg .node .label,.mermaid-container svg text{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px}.mermaid-container svg .nodeLabel{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif;font-size:14px;line-height:1.4}.mermaid-svg-wrapper svg{max-width:100%;height:auto}.mermaid-error{padding:12px;border-radius:var(--radius-md);background:#fff5f5;color:var(--danger);border:1px solid #ffc9c9;font-family:monospace;font-size:12px;white-space:pre-wrap}[data-theme=dark] .mermaid-error{background:#3a1a1a;border-color:#5c2020}.transition-colors{transition:background-color .15s ease,color .15s ease,border-color .15s ease}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}