lookatstudy-mobile 0.38.0 → 0.38.2

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 (139) hide show
  1. package/package.json +1 -1
  2. package/server.cjs +1 -1
  3. package/web/assets/{CanvasStage-vallbGco.js → CanvasStage-tLC6SG5z.js} +1 -1
  4. package/web/assets/{CommandPalette-Kyu6mhyt.js → CommandPalette-NJHDPSIP.js} +1 -1
  5. package/web/assets/{CourseSearchPanel-CrpFIaU8.js → CourseSearchPanel-BkgZAzib.js} +1 -1
  6. package/web/assets/{ExamView-BBwDRS1g.js → ExamView-DYHqBpcd.js} +2 -2
  7. package/web/assets/{MermaidArtifact-x5kLLb52.js → MermaidArtifact-D9_KtpOi.js} +3 -3
  8. package/web/assets/ModelManagerModal-BRXJ5IOw.js +6 -0
  9. package/web/assets/{PersonalProfileModal-DJdHOMH9.js → PersonalProfileModal-C_hJTJB1.js} +1 -1
  10. package/web/assets/{ReviewPanel-BJhoJAOK.js → ReviewPanel-BlTHeiOw.js} +1 -1
  11. package/web/assets/{SettingsView-COw_GSOo.js → SettingsView-BXKS3Nvh.js} +2 -2
  12. package/web/assets/{Toggle-Bkokw_WS.js → Toggle-4XcX2sfn.js} +1 -1
  13. package/web/assets/{VoicePanel-DPrlBZ48.js → VoicePanel-DfY_fe4G.js} +1 -1
  14. package/web/assets/{abnfDiagram-VCTEODGH-ODA7YWAP-BdHlSP1w.js → abnfDiagram-VCTEODGH-ODA7YWAP-DUPzgwdd.js} +1 -1
  15. package/web/assets/{abnfDiagram-VCTEODGH-DXAHXtdM.js → abnfDiagram-VCTEODGH-ZNIR_06t.js} +1 -1
  16. package/web/assets/{architectureDiagram-5GKGNRK7-DViQRgRS.js → architectureDiagram-5GKGNRK7-B8InWaM2.js} +1 -1
  17. package/web/assets/{architectureDiagram-5GKGNRK7-C4PU3XN7-B4RCVI81.js → architectureDiagram-5GKGNRK7-C4PU3XN7-CZCY2mOV.js} +1 -1
  18. package/web/assets/{blockDiagram-I7D4REHJ-Bm4Jv7XO.js → blockDiagram-I7D4REHJ-CsjKy52Z.js} +1 -1
  19. package/web/assets/{blockDiagram-NRAW4CY4-UMJ6PMQQ-dOUZFc-F.js → blockDiagram-NRAW4CY4-UMJ6PMQQ-BU63_tHl.js} +1 -1
  20. package/web/assets/{c4Diagram-7LVT6UL2-Cn_bbm4P.js → c4Diagram-7LVT6UL2-B_Tz4Ogr.js} +1 -1
  21. package/web/assets/{c4Diagram-UCG6FXSJ-75X3U2P3-DgytixUD.js → c4Diagram-UCG6FXSJ-75X3U2P3-CXcuuWp5.js} +1 -1
  22. package/web/assets/channel-43iyGnKk.js +1 -0
  23. package/web/assets/{chunk-2Q5K7J3B-hNQuZg4_.js → chunk-2Q5K7J3B-BjFt99AN.js} +1 -1
  24. package/web/assets/{chunk-5VM5RSS4-DwAMOseZ.js → chunk-5VM5RSS4-DS-6i14k.js} +1 -1
  25. package/web/assets/{chunk-7XDTSPCN-COFFwjaS.js → chunk-7XDTSPCN-7PQz7rHC.js} +1 -1
  26. package/web/assets/{chunk-CTNIYPP6-B3zyRQW8.js → chunk-CTNIYPP6-bXmDhRs0.js} +1 -1
  27. package/web/assets/{chunk-CXNFBKHE-C91q6lvg.js → chunk-CXNFBKHE-DDkMsnzi.js} +1 -1
  28. package/web/assets/{chunk-F27PBJKO-ia4EagnF.js → chunk-F27PBJKO-Xtg6SSjH.js} +1 -1
  29. package/web/assets/{chunk-IMKFNOWR-vd22BhM5.js → chunk-IMKFNOWR-JMpm70jQ.js} +1 -1
  30. package/web/assets/{chunk-ISA7TJRJ-BReqmCMw.js → chunk-ISA7TJRJ-BuoQewZY.js} +1 -1
  31. package/web/assets/{chunk-JWPE2WC7-Cjsal04r.js → chunk-JWPE2WC7-fadx9KhI.js} +1 -1
  32. package/web/assets/{chunk-LV3HUYFY-D2A9VNi8.js → chunk-LV3HUYFY-DzJ7frTi.js} +1 -1
  33. package/web/assets/{chunk-M3IUQBOH-DZWUYlu1.js → chunk-M3IUQBOH-CZppdkt2.js} +1 -1
  34. package/web/assets/{chunk-NDIOYS4C-Cg_gB3IQ.js → chunk-NDIOYS4C-BydF5DXM.js} +1 -1
  35. package/web/assets/{chunk-POPQ4Y6H-CpFBYm4R.js → chunk-POPQ4Y6H-BHBDo-p9.js} +1 -1
  36. package/web/assets/{chunk-RE4WF27V-DJhALSJZ.js → chunk-RE4WF27V-CcGU_mtD.js} +1 -1
  37. package/web/assets/{chunk-SVP7TREG-CLk3nYlu.js → chunk-SVP7TREG-DFdj3S0I.js} +1 -1
  38. package/web/assets/{chunk-TICWLB2K-CAAm7rEI.js → chunk-TICWLB2K-Bsu_q7Rt.js} +1 -1
  39. package/web/assets/{chunk-VII2H2IX-D9ZFtXPz.js → chunk-VII2H2IX-r5dK8HAE.js} +1 -1
  40. package/web/assets/{chunk-X5GNSKZ3-BRpQXOuk.js → chunk-X5GNSKZ3-idoFOuUd.js} +1 -1
  41. package/web/assets/{chunk-XCWWM2C3-CGZOunzF.js → chunk-XCWWM2C3-zj0tVgbc.js} +1 -1
  42. package/web/assets/{chunk-XXDRQBXY-IwMJhHxA.js → chunk-XXDRQBXY-DcMGd0st.js} +1 -1
  43. package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-CSjtIEZj.js +1 -0
  44. package/web/assets/classDiagram-ZZMXUADV-CxAvhGpn.js +1 -0
  45. package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-CSjtIEZj.js +1 -0
  46. package/web/assets/classDiagram-v2-VYDZK3BY-CxAvhGpn.js +1 -0
  47. package/web/assets/{core-KfkXlXB0.js → core-DsnEh1sG.js} +1 -1
  48. package/web/assets/{cose-bilkent-JH36ORCC-OB24KH3T-C0vuvt-a.js → cose-bilkent-JH36ORCC-OB24KH3T-BBwHHFjA.js} +1 -1
  49. package/web/assets/{cose-bilkent-JH36ORCC-CvvDvDJy.js → cose-bilkent-JH36ORCC-tb5DoBoZ.js} +1 -1
  50. package/web/assets/{cynefin-OW5HDTMX-BnU7sKRp.js → cynefin-OW5HDTMX-DtTX489Z.js} +1 -1
  51. package/web/assets/{cynefin-OW5HDTMX-GVF3BKWE-C0Fp61PQ.js → cynefin-OW5HDTMX-GVF3BKWE-BCzrA-lm.js} +1 -1
  52. package/web/assets/{cynefinDiagram-5FMLGOSQ-Ci7ijXRa.js → cynefinDiagram-5FMLGOSQ-B-9hTmhp.js} +1 -1
  53. package/web/assets/{cynefinDiagram-5FMLGOSQ-H3WIRU3N-BG1dQkD8.js → cynefinDiagram-5FMLGOSQ-H3WIRU3N-4PM2N4zQ.js} +1 -1
  54. package/web/assets/{dagre-3AP2YEHR-DCERTXHT-SRdJ45ZG.js → dagre-3AP2YEHR-DCERTXHT-DhDKl1lg.js} +1 -1
  55. package/web/assets/{dagre-GXQ25YYZ-a6zLLMCL.js → dagre-GXQ25YYZ-mnPxp4w9.js} +1 -1
  56. package/web/assets/{diagram-S7CK7UJ4-DwGQoHs5.js → diagram-S7CK7UJ4-COpMdqfL.js} +1 -1
  57. package/web/assets/{diagram-S7CK7UJ4-MULGZGEL-DFbcMEGe.js → diagram-S7CK7UJ4-MULGZGEL-RKL8g6eB.js} +1 -1
  58. package/web/assets/{diagram-UQ7AKVKN-DObuhRvP.js → diagram-UQ7AKVKN-CCvGqnkU.js} +1 -1
  59. package/web/assets/{diagram-UQ7AKVKN-YQBY353J-f7iJnEEP.js → diagram-UQ7AKVKN-YQBY353J-Cg-bBJKk.js} +1 -1
  60. package/web/assets/{diagram-VSXAHHWV-WLNH2ELY-DwsW9ccQ.js → diagram-VSXAHHWV-WLNH2ELY-DAHPHHPh.js} +1 -1
  61. package/web/assets/{diagram-VSXAHHWV-Ctso7LL9.js → diagram-VSXAHHWV-lWMbypiF.js} +1 -1
  62. package/web/assets/{diagram-VX7I27RA-B1-W9xu6.js → diagram-VX7I27RA-Cf-SDete.js} +1 -1
  63. package/web/assets/{diagram-VX7I27RA-XW6YQV5G-DckTcRvE.js → diagram-VX7I27RA-XW6YQV5G-C2UwPV7v.js} +1 -1
  64. package/web/assets/{diagram-Z3DM3KII-CvmndeRP.js → diagram-Z3DM3KII-BwndOpSG.js} +1 -1
  65. package/web/assets/{diagram-Z3DM3KII-HG7RF65D-Cg1XNNOC.js → diagram-Z3DM3KII-HG7RF65D-ODGNgQfu.js} +1 -1
  66. package/web/assets/{ebnfDiagram-PWID7BFC-Cs9GSL14.js → ebnfDiagram-PWID7BFC-B_mQmNv6.js} +1 -1
  67. package/web/assets/{ebnfDiagram-PWID7BFC-OKY4VHYD-C0q6BGVW.js → ebnfDiagram-PWID7BFC-OKY4VHYD-yZQdiANS.js} +1 -1
  68. package/web/assets/{erDiagram-RLTQ6QDP-CvYV5Bmu.js → erDiagram-RLTQ6QDP-BS1I2RXf.js} +1 -1
  69. package/web/assets/{erDiagram-SSCWMZ5O-PIPKOIK7-Di0McTkf.js → erDiagram-SSCWMZ5O-PIPKOIK7-6rBSQWLo.js} +1 -1
  70. package/web/assets/{flowDiagram-A5DVABFB-2Z4AVO5R-C_7fHJVS.js → flowDiagram-A5DVABFB-2Z4AVO5R-Ckx5RoOk.js} +1 -1
  71. package/web/assets/{flowDiagram-HODETNUW-CEwpjqJR.js → flowDiagram-HODETNUW-Buzm0Mlg.js} +1 -1
  72. package/web/assets/{ganttDiagram-EL5Y4UJY-Bjj2P85p.js → ganttDiagram-EL5Y4UJY-BmhXjwrx.js} +1 -1
  73. package/web/assets/{ganttDiagram-EL5Y4UJY-JZNG7GOG-BWxHKrFA.js → ganttDiagram-EL5Y4UJY-JZNG7GOG-DKonqbFY.js} +1 -1
  74. package/web/assets/{gitGraphDiagram-WWUBYQGX-DhH7fsJW.js → gitGraphDiagram-WWUBYQGX-B8dQt2w3.js} +1 -1
  75. package/web/assets/{gitGraphDiagram-WWUBYQGX-DMWMLL3G-D4hn_rGb.js → gitGraphDiagram-WWUBYQGX-DMWMLL3G-DFmh7tc7.js} +1 -1
  76. package/web/assets/index-2P_oqxFC.js +14 -0
  77. package/web/assets/{index-nwyPdk23.js → index-C4T9z3zb.js} +1 -1
  78. package/web/assets/{index-DcWGv1Ix.js → index-CocI4F04.js} +1 -1
  79. package/web/assets/{infoDiagram-27XIBGKW-DDm2aahL.js → infoDiagram-27XIBGKW-BhgtnsB1.js} +1 -1
  80. package/web/assets/{infoDiagram-RXCK75RN-HANS5KVC-CwBcehVD.js → infoDiagram-RXCK75RN-HANS5KVC-4buK3zfc.js} +1 -1
  81. package/web/assets/{ishikawaDiagram-5VMMS53U-7GCIT7WU-CBAcnlnt.js → ishikawaDiagram-5VMMS53U-7GCIT7WU-BG8ns4_j.js} +1 -1
  82. package/web/assets/{ishikawaDiagram-5VMMS53U-BViel9G3.js → ishikawaDiagram-5VMMS53U-DwD_38X_.js} +1 -1
  83. package/web/assets/{journeyDiagram-3NMN7TZE-CO3lCO75.js → journeyDiagram-3NMN7TZE-BGcdhzue.js} +1 -1
  84. package/web/assets/{journeyDiagram-EYS64GPL-OAPELBT7-sBJrBBzK.js → journeyDiagram-EYS64GPL-OAPELBT7-DybzTVgb.js} +1 -1
  85. package/web/assets/{kanban-definition-3QL26DDD-I7RKWQQY-hit6oZsH.js → kanban-definition-3QL26DDD-I7RKWQQY-CH94NbTg.js} +1 -1
  86. package/web/assets/{kanban-definition-UXKFOSKX-CKgCw87L.js → kanban-definition-UXKFOSKX-Cmfj4ZIi.js} +1 -1
  87. package/web/assets/{katex-N6JRN4PM-D81co42V.js → katex-N6JRN4PM-DFh91AZN.js} +1 -1
  88. package/web/assets/{layout-Gnf9u57J.js → layout-lTX6kCDc.js} +1 -1
  89. package/web/assets/{main-C7vIrKEC.js → main-Pa7lDnbE.js} +34 -34
  90. package/web/assets/{mermaid-layout-elk.core-DfOj66Qv.js → mermaid-layout-elk.core-DXpLUx9A.js} +2 -2
  91. package/web/assets/{mermaid.core-B8uFE6gu.js → mermaid.core-D7IFLiB6.js} +5 -5
  92. package/web/assets/{mindmap-definition-FBJOCRG2-KIYZG64Y-DdU7WsWK.js → mindmap-definition-FBJOCRG2-KIYZG64Y-DYqwiqYC.js} +1 -1
  93. package/web/assets/{mindmap-definition-YA3MSWOX-Dlr3j6bz.js → mindmap-definition-YA3MSWOX-pDyFhIXr.js} +1 -1
  94. package/web/assets/{pegDiagram-XKGWAZYB-OIP57N6J-ClyIfOjy.js → pegDiagram-XKGWAZYB-OIP57N6J-DDyiljR5.js} +1 -1
  95. package/web/assets/{pegDiagram-XKGWAZYB-DUukoOjY.js → pegDiagram-XKGWAZYB-lIVzT0EK.js} +1 -1
  96. package/web/assets/{pieDiagram-E7YTZNPT-2UOTW327-CXr_-LKy.js → pieDiagram-E7YTZNPT-2UOTW327-BsfbUHUY.js} +1 -1
  97. package/web/assets/{pieDiagram-E7YTZNPT-BoX73GVV.js → pieDiagram-E7YTZNPT-CdFaIY1E.js} +1 -1
  98. package/web/assets/{quadrantDiagram-AXDQQJYC-fWVY4hSA.js → quadrantDiagram-AXDQQJYC-Dw3wKMfe.js} +1 -1
  99. package/web/assets/{quadrantDiagram-AXDQQJYC-SN3ASJJK-BfJPVLX8.js → quadrantDiagram-AXDQQJYC-SN3ASJJK-DTjM-m7h.js} +1 -1
  100. package/web/assets/{railroadDiagram-O6MQD6OU-34742W6X-LEvRYv_-.js → railroadDiagram-O6MQD6OU-34742W6X-CE7Uzp1u.js} +1 -1
  101. package/web/assets/{railroadDiagram-O6MQD6OU-BtJHgxH_.js → railroadDiagram-O6MQD6OU-BnJYZ2V1.js} +1 -1
  102. package/web/assets/{render-O7CIS3YK-DU3B_ERD.js → render-O7CIS3YK-Bkh5k6Hu.js} +7 -7
  103. package/web/assets/{requirementDiagram-BXWQKSXE-DeBI9tYJ.js → requirementDiagram-BXWQKSXE-BYvIIj0i.js} +1 -1
  104. package/web/assets/{requirementDiagram-EFPCY7ZU-NGAFFSMB-DDu5KaVc.js → requirementDiagram-EFPCY7ZU-NGAFFSMB-DlgZzGVM.js} +1 -1
  105. package/web/assets/{rotate-ccw-DHjeGlQd.js → rotate-ccw-BrPDYzT_.js} +1 -1
  106. package/web/assets/{sankeyDiagram-P5KCCOFB-3D3M4XPB-CuAwPvR9.js → sankeyDiagram-P5KCCOFB-3D3M4XPB-BLMgu9YX.js} +1 -1
  107. package/web/assets/{sankeyDiagram-P5KCCOFB-Cn7EgJJg.js → sankeyDiagram-P5KCCOFB-SAV4Sz_B.js} +1 -1
  108. package/web/assets/{sequenceDiagram-WJ2MYXX4-Cc4unhAQ.js → sequenceDiagram-WJ2MYXX4-DwmBbhIr.js} +1 -1
  109. package/web/assets/{sequenceDiagram-WJ2MYXX4-Q2IOPB4R-Bhw9XiPP.js → sequenceDiagram-WJ2MYXX4-Q2IOPB4R-BGqdqmgc.js} +1 -1
  110. package/web/assets/{sizeCapture-INFHLROL-D5ATuvis.js → sizeCapture-INFHLROL-CHhZodri.js} +1 -1
  111. package/web/assets/{sizeCapture-X5ZJPWSS-PSGVOMYM-pk47pQ9r.js → sizeCapture-X5ZJPWSS-PSGVOMYM-AajF40ck.js} +1 -1
  112. package/web/assets/{stateDiagram-D77RDMKH-CQSVKJos.js → stateDiagram-D77RDMKH-Bs9JXkeK.js} +1 -1
  113. package/web/assets/{stateDiagram-HBIQ2CUA-4M2S6MAN-CtK20myG.js → stateDiagram-HBIQ2CUA-4M2S6MAN-B1_LZSFp.js} +1 -1
  114. package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-CkLWA8Pm.js +1 -0
  115. package/web/assets/stateDiagram-v2-MP3YSRHH-5F65MeJT.js +1 -0
  116. package/web/assets/{swimlanes-42K2YHIH-C_TtTWTU.js → swimlanes-42K2YHIH-CzCHW3U3.js} +1 -1
  117. package/web/assets/{swimlanes-XN3QIQJK-N6N2CCQ6-BcUMswQj.js → swimlanes-XN3QIQJK-N6N2CCQ6-DuoDV1UU.js} +1 -1
  118. package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-Y6NuGB34.js +8 -0
  119. package/web/assets/swimlanesDiagram-VR7AAH4N-DTP89Hai.js +8 -0
  120. package/web/assets/{timeline-definition-24CTP7MA-DUWrxPBR.js → timeline-definition-24CTP7MA-C75ypPdA.js} +1 -1
  121. package/web/assets/{timeline-definition-24CTP7MA-KN7RSRVM-guNGP5k9.js → timeline-definition-24CTP7MA-KN7RSRVM-Dtd2Jvww.js} +1 -1
  122. package/web/assets/{vennDiagram-4TSXK5OY-AKJ7LXAN-CqrpJGZz.js → vennDiagram-4TSXK5OY-AKJ7LXAN-DkhVbcqM.js} +1 -1
  123. package/web/assets/{vennDiagram-4TSXK5OY-DpAMU-X3.js → vennDiagram-4TSXK5OY-UGhnc0RO.js} +1 -1
  124. package/web/assets/{wardleyDiagram-VM6X3IG4-3B6A3BN5-CvLFmNdB.js → wardleyDiagram-VM6X3IG4-3B6A3BN5-C3IuW8YE.js} +1 -1
  125. package/web/assets/{wardleyDiagram-VM6X3IG4-CwLky2tH.js → wardleyDiagram-VM6X3IG4-C7FLufaU.js} +1 -1
  126. package/web/assets/{xychartDiagram-S5SC5T6Z-C0uS7jlH.js → xychartDiagram-S5SC5T6Z-BFnf_gAu.js} +1 -1
  127. package/web/assets/{xychartDiagram-S5SC5T6Z-OBDNV6WG-DUua3NqS.js → xychartDiagram-S5SC5T6Z-OBDNV6WG-CGlUFgRB.js} +1 -1
  128. package/web/index.html +1 -1
  129. package/web/assets/ModelManagerModal-CHz1i5v2.js +0 -6
  130. package/web/assets/channel-D_-re5YU.js +0 -1
  131. package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-DsXVuA3q.js +0 -1
  132. package/web/assets/classDiagram-ZZMXUADV-mIT3v2vU.js +0 -1
  133. package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-DsXVuA3q.js +0 -1
  134. package/web/assets/classDiagram-v2-VYDZK3BY-mIT3v2vU.js +0 -1
  135. package/web/assets/index-eHVYJyBS.js +0 -14
  136. package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-z3Zfnb5n.js +0 -1
  137. package/web/assets/stateDiagram-v2-MP3YSRHH-BEw4hFwV.js +0 -1
  138. package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-D6SdGCA2.js +0 -8
  139. package/web/assets/swimlanesDiagram-VR7AAH4N-BCgYwpZp.js +0 -8
@@ -1,4 +1,4 @@
1
- import{s as mi,g as yi,o as li,n as bi,a as Ai,b as Ci,_ as n,l as ci,G as wi,d as Si,p as Ri,A as Mt,h as _i,C as gi,D as ki,I as Ti,J as Di}from"./render-O7CIS3YK-DU3B_ERD.js";import{_ as r}from"./mermaid-layout-elk.core-DfOj66Qv.js";import{l as ai}from"./transform-Bd_a5eGM.js";import{b as ni}from"./band-dPffDWoQ.js";import{l as oi}from"./linear-CZIIlCMp.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./init-Gi6I4Gst.js";import"./ordinal-Cboi1Yqb.js";import"./defaultLocale-5voVPcsN.js";var It=(function(){var e=n(function(F,l,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=l);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],a=[1,5],h=[1,6],c=[1,7],b=[1,5,10,12,14,16,18,19,21,23,36,37,38],p=[1,25],m=[1,26],k=[1,28],T=[1,29],L=[1,30],W=[1,31],X=[1,32],E=[1,33],B=[1,34],A=[1,35],D=[1,36],g=[1,37],M=[1,43],V=[1,42],Y=[1,47],N=[1,50],R=[1,10,12,14,16,18,19,21,23,36,37,38],U=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],C=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],w=[1,65],z=[26,28],_={trace:n(r(function(){},"trace"),"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:n(r(function(l,u,x,d,S,o,ct){var f=o.length-1;switch(S){case 5:d.setOrientation(o[f]);break;case 9:d.setDiagramTitle(o[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},o[f]);break;case 13:d.setLineData(o[f-1],o[f]);break;case 14:d.setBarData({text:"",type:"text"},o[f]);break;case 15:d.setBarData(o[f-1],o[f]);break;case 16:this.$=o[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=o[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=o[f-1];break;case 20:case 30:this.$=[o[f-2],...o[f]];break;case 21:case 31:this.$=[o[f]];break;case 22:this.$={value:Number(o[f-1]),label:o[f]};break;case 23:this.$={value:Number(o[f]),label:""};break;case 24:d.setXAxisTitle(o[f]);break;case 25:d.setXAxisTitle(o[f-1]);break;case 26:d.setXAxisTitle({type:"text",text:""});break;case 27:d.setXAxisBand(o[f]);break;case 28:d.setXAxisRangeData(Number(o[f-2]),Number(o[f]));break;case 29:this.$=o[f-1];break;case 32:d.setYAxisTitle(o[f]);break;case 33:d.setYAxisTitle(o[f-1]);break;case 34:d.setYAxisTitle({type:"text",text:""});break;case 35:d.setYAxisRangeData(Number(o[f-2]),Number(o[f]));break;case 39:this.$={text:o[f],type:"text"};break;case 40:this.$={text:o[f],type:"text"};break;case 41:this.$={text:o[f],type:"markdown"};break;case 42:this.$=o[f];break;case 43:this.$=o[f-1]+""+o[f];break}},"anonymous"),"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,36:a,37:h,38:c}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,36:a,37:h,38:c}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:a,37:h,38:c}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(b,[2,36]),e(b,[2,37]),e(b,[2,38]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,36:a,37:h,38:c}),{1:[2,3]},e(b,[2,5]),e(t,[2,7],{4:22,36:a,37:h,38:c}),{11:23,30:p,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:39,13:38,24:M,29:V,30:p,31:40,32:41,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:45,15:44,29:Y,30:p,35:46,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:49,17:48,24:N,30:p,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:52,17:51,24:N,30:p,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{20:[1,53]},{22:[1,54]},e(R,[2,18]),{1:[2,2]},e(R,[2,8]),e(R,[2,9]),e(U,[2,39],{41:55,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g}),e(U,[2,40]),e(U,[2,41]),e(C,[2,42]),e(C,[2,44]),e(C,[2,45]),e(C,[2,46]),e(C,[2,47]),e(C,[2,48]),e(C,[2,49]),e(C,[2,50]),e(C,[2,51]),e(C,[2,52]),e(C,[2,53]),e(R,[2,10]),e(R,[2,24],{32:41,31:56,24:M,29:V}),e(R,[2,26]),e(R,[2,27]),{33:[1,57]},{11:59,30:p,34:58,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},e(R,[2,11]),e(R,[2,32],{35:60,29:Y}),e(R,[2,34]),{33:[1,61]},e(R,[2,12]),{17:62,24:N},{25:63,27:64,29:w},e(R,[2,14]),{17:66,24:N},e(R,[2,16]),e(R,[2,17]),e(C,[2,43]),e(R,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},e(R,[2,33]),{29:[1,70]},e(R,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},e(z,[2,23],{30:[1,73]}),e(R,[2,15]),e(R,[2,28]),e(R,[2,29]),{11:59,30:p,34:74,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},e(R,[2,35]),e(R,[2,19]),{25:75,27:64,29:w},e(z,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:n(r(function(l,u){if(u.recoverable)this.trace(l);else{var x=new Error(l);throw x.hash=u,x}},"parseError"),"parseError"),parse:n(r(function(l){var u=this,x=[0],d=[],S=[null],o=[],ct=this.table,f="",ft=0,ti=0,di=2,ii=1,pi=o.slice.call(arguments,1),P=Object.create(this.lexer),q={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(q.yy[Dt]=this.yy[Dt]);P.setInput(l,q.yy),q.yy.lexer=P,q.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Pt=P.yylloc;o.push(Pt);var fi=P.options&&P.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ei(I){x.length=x.length-2*I,S.length=S.length-I,o.length=o.length-I}r(ei,"popStack"),n(ei,"popStack");function Lt(){var I;return I=d.pop()||P.lex()||ii,typeof I!="number"&&(I instanceof Array&&(d=I,I=d.pop()),I=u.symbols_[I]||I),I}r(Lt,"lex"),n(Lt,"lex");for(var v,j,O,vt,rt={},mt,H,si,yt;;){if(j=x[x.length-1],this.defaultActions[j]?O=this.defaultActions[j]:((v===null||typeof v>"u")&&(v=Lt()),O=ct[j]&&ct[j][v]),typeof O>"u"||!O.length||!O[0]){var Et="";yt=[];for(mt in ct[j])this.terminals_[mt]&&mt>di&&yt.push("'"+this.terminals_[mt]+"'");P.showPosition?Et="Parse error on line "+(ft+1)+`:
1
+ import{s as mi,g as yi,o as li,n as bi,a as Ai,b as Ci,_ as n,l as ci,G as wi,d as Si,p as Ri,A as Mt,h as _i,C as gi,D as ki,I as Ti,J as Di}from"./render-O7CIS3YK-Bkh5k6Hu.js";import{_ as r}from"./mermaid-layout-elk.core-DXpLUx9A.js";import{l as ai}from"./transform-Bd_a5eGM.js";import{b as ni}from"./band-dPffDWoQ.js";import{l as oi}from"./linear-CZIIlCMp.js";import"./main-Pa7lDnbE.js";import"./index-jKxnKPxh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";import"./init-Gi6I4Gst.js";import"./ordinal-Cboi1Yqb.js";import"./defaultLocale-5voVPcsN.js";var It=(function(){var e=n(function(F,l,u,x){for(u=u||{},x=F.length;x--;u[F[x]]=l);return u},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],a=[1,5],h=[1,6],c=[1,7],b=[1,5,10,12,14,16,18,19,21,23,36,37,38],p=[1,25],m=[1,26],k=[1,28],T=[1,29],L=[1,30],W=[1,31],X=[1,32],E=[1,33],B=[1,34],A=[1,35],D=[1,36],g=[1,37],M=[1,43],V=[1,42],Y=[1,47],N=[1,50],R=[1,10,12,14,16,18,19,21,23,36,37,38],U=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],C=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],w=[1,65],z=[26,28],_={trace:n(r(function(){},"trace"),"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:n(r(function(l,u,x,d,S,o,ct){var f=o.length-1;switch(S){case 5:d.setOrientation(o[f]);break;case 9:d.setDiagramTitle(o[f].text.trim());break;case 12:d.setLineData({text:"",type:"text"},o[f]);break;case 13:d.setLineData(o[f-1],o[f]);break;case 14:d.setBarData({text:"",type:"text"},o[f]);break;case 15:d.setBarData(o[f-1],o[f]);break;case 16:this.$=o[f].trim(),d.setAccTitle(this.$);break;case 17:case 18:this.$=o[f].trim(),d.setAccDescription(this.$);break;case 19:this.$=o[f-1];break;case 20:case 30:this.$=[o[f-2],...o[f]];break;case 21:case 31:this.$=[o[f]];break;case 22:this.$={value:Number(o[f-1]),label:o[f]};break;case 23:this.$={value:Number(o[f]),label:""};break;case 24:d.setXAxisTitle(o[f]);break;case 25:d.setXAxisTitle(o[f-1]);break;case 26:d.setXAxisTitle({type:"text",text:""});break;case 27:d.setXAxisBand(o[f]);break;case 28:d.setXAxisRangeData(Number(o[f-2]),Number(o[f]));break;case 29:this.$=o[f-1];break;case 32:d.setYAxisTitle(o[f]);break;case 33:d.setYAxisTitle(o[f-1]);break;case 34:d.setYAxisTitle({type:"text",text:""});break;case 35:d.setYAxisRangeData(Number(o[f-2]),Number(o[f]));break;case 39:this.$={text:o[f],type:"text"};break;case 40:this.$={text:o[f],type:"text"};break;case 41:this.$={text:o[f],type:"markdown"};break;case 42:this.$=o[f];break;case 43:this.$=o[f-1]+""+o[f];break}},"anonymous"),"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,36:a,37:h,38:c}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,36:a,37:h,38:c}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:a,37:h,38:c}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(b,[2,36]),e(b,[2,37]),e(b,[2,38]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,36:a,37:h,38:c}),{1:[2,3]},e(b,[2,5]),e(t,[2,7],{4:22,36:a,37:h,38:c}),{11:23,30:p,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:39,13:38,24:M,29:V,30:p,31:40,32:41,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:45,15:44,29:Y,30:p,35:46,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:49,17:48,24:N,30:p,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{11:52,17:51,24:N,30:p,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},{20:[1,53]},{22:[1,54]},e(R,[2,18]),{1:[2,2]},e(R,[2,8]),e(R,[2,9]),e(U,[2,39],{41:55,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g}),e(U,[2,40]),e(U,[2,41]),e(C,[2,42]),e(C,[2,44]),e(C,[2,45]),e(C,[2,46]),e(C,[2,47]),e(C,[2,48]),e(C,[2,49]),e(C,[2,50]),e(C,[2,51]),e(C,[2,52]),e(C,[2,53]),e(R,[2,10]),e(R,[2,24],{32:41,31:56,24:M,29:V}),e(R,[2,26]),e(R,[2,27]),{33:[1,57]},{11:59,30:p,34:58,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},e(R,[2,11]),e(R,[2,32],{35:60,29:Y}),e(R,[2,34]),{33:[1,61]},e(R,[2,12]),{17:62,24:N},{25:63,27:64,29:w},e(R,[2,14]),{17:66,24:N},e(R,[2,16]),e(R,[2,17]),e(C,[2,43]),e(R,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},e(R,[2,33]),{29:[1,70]},e(R,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},e(z,[2,23],{30:[1,73]}),e(R,[2,15]),e(R,[2,28]),e(R,[2,29]),{11:59,30:p,34:74,39:24,40:m,41:27,42:k,43:T,44:L,45:W,46:X,47:E,48:B,49:A,50:D,51:g},e(R,[2,35]),e(R,[2,19]),{25:75,27:64,29:w},e(z,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:n(r(function(l,u){if(u.recoverable)this.trace(l);else{var x=new Error(l);throw x.hash=u,x}},"parseError"),"parseError"),parse:n(r(function(l){var u=this,x=[0],d=[],S=[null],o=[],ct=this.table,f="",ft=0,ti=0,di=2,ii=1,pi=o.slice.call(arguments,1),P=Object.create(this.lexer),q={yy:{}};for(var Dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Dt)&&(q.yy[Dt]=this.yy[Dt]);P.setInput(l,q.yy),q.yy.lexer=P,q.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var Pt=P.yylloc;o.push(Pt);var fi=P.options&&P.options.ranges;typeof q.yy.parseError=="function"?this.parseError=q.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ei(I){x.length=x.length-2*I,S.length=S.length-I,o.length=o.length-I}r(ei,"popStack"),n(ei,"popStack");function Lt(){var I;return I=d.pop()||P.lex()||ii,typeof I!="number"&&(I instanceof Array&&(d=I,I=d.pop()),I=u.symbols_[I]||I),I}r(Lt,"lex"),n(Lt,"lex");for(var v,j,O,vt,rt={},mt,H,si,yt;;){if(j=x[x.length-1],this.defaultActions[j]?O=this.defaultActions[j]:((v===null||typeof v>"u")&&(v=Lt()),O=ct[j]&&ct[j][v]),typeof O>"u"||!O.length||!O[0]){var Et="";yt=[];for(mt in ct[j])this.terminals_[mt]&&mt>di&&yt.push("'"+this.terminals_[mt]+"'");P.showPosition?Et="Parse error on line "+(ft+1)+`:
2
2
  `+P.showPosition()+`
3
3
  Expecting `+yt.join(", ")+", got '"+(this.terminals_[v]||v)+"'":Et="Parse error on line "+(ft+1)+": Unexpected "+(v==ii?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(Et,{text:P.match,token:this.terminals_[v]||v,line:P.yylineno,loc:Pt,expected:yt})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+v);switch(O[0]){case 1:x.push(v),S.push(P.yytext),o.push(P.yylloc),x.push(O[1]),v=null,ti=P.yyleng,f=P.yytext,ft=P.yylineno,Pt=P.yylloc;break;case 2:if(H=this.productions_[O[1]][1],rt.$=S[S.length-H],rt._$={first_line:o[o.length-(H||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(H||1)].first_column,last_column:o[o.length-1].last_column},fi&&(rt._$.range=[o[o.length-(H||1)].range[0],o[o.length-1].range[1]]),vt=this.performAction.apply(rt,[f,ti,ft,q.yy,O[1],S,o].concat(pi)),typeof vt<"u")return vt;H&&(x=x.slice(0,-1*H*2),S=S.slice(0,-1*H),o=o.slice(0,-1*H)),x.push(this.productions_[O[1]][0]),S.push(rt.$),o.push(rt._$),si=ct[x[x.length-2]][x[x.length-1]],x.push(si);break;case 3:return!0}}return!0},"parse"),"parse")},lt=(function(){var F={EOF:1,parseError:n(r(function(u,x){if(this.yy.parser)this.yy.parser.parseError(u,x);else throw new Error(u)},"parseError"),"parseError"),setInput:n(function(l,u){return this.yy=u||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:n(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.match(/(?:\r\n?|\n).*/g);return u?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:n(function(l){var u=l.length,x=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),x.length-1&&(this.yylineno-=x.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:x?(x.length===d.length?this.yylloc.first_column:0)+d[d.length-x.length].length-x[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:n(function(){return this._more=!0,this},"more"),reject:n(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:n(function(l){this.unput(this.match.slice(l))},"less"),pastInput:n(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:n(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:n(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+`
package/web/index.html CHANGED
@@ -16,7 +16,7 @@
16
16
  <!-- FOUC 脚本外联化:script-src 已去掉 'unsafe-inline'(2026-09-13 审计,
17
17
  该指令曾把任何 HTML 注入点直接升级为脚本执行) -->
18
18
  <script src="./fouc.js"></script>
19
- <script type="module" crossorigin src="./assets/main-C7vIrKEC.js"></script>
19
+ <script type="module" crossorigin src="./assets/main-Pa7lDnbE.js"></script>
20
20
  <link rel="modulepreload" crossorigin href="./assets/index-jKxnKPxh.js">
21
21
  <link rel="stylesheet" crossorigin href="./assets/index-CS4Wtfwl.css">
22
22
  <link rel="stylesheet" crossorigin href="./assets/main-D9IB7N5p.css">
@@ -1,6 +0,0 @@
1
- import{r,j as e}from"./index-jKxnKPxh.js";import{c as ee,u as R,X as G,r as V,a as u,W as z,C as B,b as H,n as J,d as te,e as se,t as ae,v as ne}from"./main-C7vIrKEC.js";import{T as X,C as Y}from"./Toggle-Bkokw_WS.js";/**
2
- * @license lucide-react v0.468.0 - ISC
3
- *
4
- * This source code is licensed under the ISC license.
5
- * See the LICENSE file in the root directory of this source tree.
6
- */const ie=ee("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);function le(t,m,b,g=new Date().toISOString()){var f;const x=((f=t[m])==null?void 0:f.added)??[],i=new Set(x.map(k=>k.id.toLowerCase())),d=[...x];for(const k of b){if(!k.id)continue;const D=k.id.toLowerCase();i.has(D)||(i.add(D),d.push(k))}return{...t,[m]:{added:d,fetchedAt:g}}}function oe(t,m,b){const g=t[m];if(!g)return t;const x=g.added.filter(d=>d.id.toLowerCase()!==b.toLowerCase());if(x.length===g.added.length)return t;const i={...t};return x.length===0?delete i[m]:i[m]={...g,added:x},i}function Q(t){return t==null?"?":String(Number(t.toFixed(2)))}function re(t){const m=[];return t.contextWindow&&m.push(`${Math.round(t.contextWindow/1e3)}k`),t.pricing&&(t.pricing.input!==null||t.pricing.output!==null)&&m.push(`$${Q(t.pricing.input)}/${Q(t.pricing.output)}`),m.join(" · ")}function Z({providerId:t,existingModels:m,removableModels:b,customProvider:g,onApplied:x}){const i=R(),[d,f]=r.useState("idle"),[k,D]=r.useState([]),[E,v]=r.useState(null),[C,S]=r.useState(new Set),[M,L]=r.useState(""),[_,T]=r.useState(""),[N,h]=r.useState(!1),w=r.useMemo(()=>new Set(m.map(s=>s.id.toLowerCase())),[m]),P=r.useMemo(()=>{const s=M.trim().toLowerCase(),n=k.filter(p=>!w.has(p.id.toLowerCase()));return s?n.filter(p=>p.id.toLowerCase().includes(s)||p.label.toLowerCase().includes(s)):n},[k,M,w]),c=async()=>{f("fetching"),v(null),S(new Set);try{const s=await u.discoverModelsFor(t);s.ok&&s.models?(D(s.models),f("list")):(v(s.error??i("settings.models.discover_failed")),f("error"))}catch(s){v(s instanceof Error?s.message:String(s)),f("error")}},K=s=>{S(n=>{const p=new Set(n);return p.has(s)?p.delete(s):p.add(s),p})},l=async s=>{if(!(N||s.length===0)){h(!0);try{if(g){const n=[...g.models],p=new Set(n.map(W=>W.id.toLowerCase()));for(const W of s)p.has(W.id.toLowerCase())||(p.add(W.id.toLowerCase()),n.push(W));await u.updateCustomProvider(g.id,{models:n})}else{const n=await u.getModelOverlay();await u.setModelOverlay(le(n,t,s))}x(),window.dispatchEvent(new Event("llm-config-changed")),S(new Set),T("")}catch{}finally{h(!1)}}},j=async s=>{if(!N){h(!0);try{if(g){const n=g.models.filter(p=>p.id.toLowerCase()!==s.toLowerCase());await u.updateCustomProvider(g.id,{models:n})}else{const n=await u.getModelOverlay();await u.setModelOverlay(oe(n,t,s))}x(),window.dispatchEvent(new Event("llm-config-changed"))}catch{}finally{h(!1)}}},F=()=>{const s=_.trim();if(!s)return;const n=k.find(p=>p.id.toLowerCase()===s.toLowerCase());l([n??{id:s,label:s,contextWindow:null}])};return e.jsxs("div",{className:"space-y-2","data-testid":"model-discovery-panel",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsxs("button",{onClick:()=>void c(),disabled:d==="fetching","data-testid":"discover-for-btn",className:"btn-3d-neutral px-3 py-1.5 text-label disabled:opacity-40 inline-flex items-center gap-1",children:[e.jsx(ie,{className:`w-3.5 h-3.5 ${d==="fetching"?"animate-spin":""}`,"aria-hidden":"true"}),i(d==="fetching"?"settings.models.fetching":"settings.models.discover")]}),d==="list"&&e.jsx("span",{className:"text-label text-ink-faint",children:i("settings.models.discover_done",{n:String(k.length)})}),d==="error"&&e.jsx("span",{className:"text-label text-warning break-all",children:E})]}),b.length>0&&e.jsxs("div",{className:"space-y-1",children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint",children:i("settings.models.added_title")}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:b.map(s=>e.jsxs("span",{className:"inline-flex items-center gap-1 pl-2 pr-1 py-0.5 rounded-full bg-surface-3 text-label text-ink-strong",children:[e.jsx("span",{className:"font-mono",children:s.id}),e.jsx("button",{type:"button",onClick:()=>void j(s.id),disabled:N,"aria-label":`${i("settings.models.manual_add")} ✕ ${s.id}`,"data-tooltip":i("action.delete"),"data-testid":`discovery-remove-${s.id}`,className:"w-5 h-5 rounded-full hover:bg-ink/10 flex items-center justify-center text-ink-muted hover:text-warning",children:e.jsx(G,{className:"w-3 h-3"})})]},s.id))})]}),d==="list"&&e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("input",{type:"text",value:M,onChange:s=>L(s.target.value),placeholder:i("settings.models.search_ph"),className:"w-full bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none transition-colors placeholder:text-ink-faint px-2.5 py-1.5","data-testid":"discovery-search"}),e.jsxs("div",{className:"max-h-56 overflow-y-auto rounded-lg border border-[var(--border-faint)]",children:[P.length===0&&e.jsx("div",{className:"px-3 py-2 text-label text-ink-faint",children:i("settings.models.empty")}),P.map(s=>{const n=C.has(s.id),p=re(s);return e.jsxs("label",{className:`flex items-center gap-2 px-2.5 py-1.5 cursor-pointer border-b border-[var(--border-faint)] last:border-b-0 ${n?"bg-brand/[0.08]":"hover:bg-ink/[0.04]"}`,children:[e.jsx("input",{type:"checkbox",checked:n,onChange:()=>K(s.id),className:"w-4 h-4 rounded accent-brand shrink-0","data-testid":`discovery-check-${s.id}`}),e.jsxs("span",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"block text-label font-mono text-ink-strong truncate",children:s.id}),p&&e.jsx("span",{className:"block text-caption text-ink-faint",children:p})]}),(s.capabilities??[]).includes("vision")&&e.jsx("span",{className:"text-caption text-ink-faint shrink-0",title:i("model.picker.vision"),children:"👁"}),n&&e.jsx(V,{className:"w-3.5 h-3.5 text-brand shrink-0","aria-hidden":"true"})]},s.id)})]}),e.jsx("button",{onClick:()=>void l(P.filter(s=>C.has(s.id))),disabled:N||C.size===0,"data-testid":"discovery-apply",className:"btn-3d-brand px-3 py-1.5 text-label disabled:opacity-40",children:i("settings.models.add_selected",{n:String(C.size)})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("input",{type:"text",value:_,onChange:s=>T(s.target.value),onKeyDown:s=>{s.key==="Enter"&&(s.preventDefault(),F())},placeholder:i("settings.models.manual_ph"),className:"flex-1 bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none transition-colors placeholder:text-ink-faint px-2.5 py-1.5 font-mono","data-testid":"discovery-manual-input"}),e.jsx("button",{onClick:F,disabled:N||!_.trim(),className:"btn-3d-neutral px-3 py-1.5 text-label disabled:opacity-40 shrink-0","data-testid":"discovery-manual-add",children:i("settings.models.manual_add")})]})]})}function de({activeProvider:t,activeModel:m,presets:b,customProviders:g,onProvidersChanged:x}){const i=R(),[d,f]=r.useState(!1),[k,D]=r.useState(!1),[E,v]=r.useState(""),[C,S]=r.useState(""),[M,L]=r.useState(!1),[_,T]=r.useState(!1),[N,h]=r.useState(null),[w,P]=r.useState(!1);r.useEffect(()=>{Promise.all([u.getSetting("flag_multimodal_import"),u.getSetting("vision_provider_override"),u.getSetting("vision_model_override"),u.getSetting("flag_math_vision")]).then(([a,$,A,U])=>{f(a==="true"),v($??""),S(A??""),P(U==="true"),D(!0)})},[]);const c=async()=>{const a=!d;f(a),await u.setSetting("flag_multimodal_import",String(a))},K=async()=>{const a=!w;P(a),await u.setSetting("flag_math_vision",String(a))},l=async a=>{await u.setSetting("vision_provider_override",a.id),await u.setSetting("vision_model_override",a.defaultModel),v(a.id),S(a.defaultModel),L(!1)},j=async a=>{S(a),await u.setSetting("vision_model_override",a)},F=async()=>{await u.setSetting("vision_provider_override",""),await u.setSetting("vision_model_override",""),v(""),S(""),L(!1)},[s,n]=r.useState(null),p=async a=>{try{E===a&&(await u.setSetting("vision_provider_override",""),await u.setSetting("vision_model_override",""),v("")),await u.deleteCustomProvider(a)}catch{}finally{x==null||x()}},W=async()=>{if(!_){T(!0),h(null);try{const a=await u.testLlmConnection({vision:!0});h({ok:a.ok,detail:a.detail})}catch(a){h({ok:!1,detail:a instanceof Error?a.message:String(a)})}finally{T(!1)}}},o=g.filter(a=>a.kind==="vision"),y=E.startsWith("custom-")?g.find(a=>a.id===E):null,O=E&&!E.startsWith("custom-")?b.find(a=>a.id===E):null;return k?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-4 py-3.5 flex items-center gap-3",children:[e.jsx(X,{checked:d,onChange:c,label:i("settings.multimodal.toggle"),testid:"multimodal-toggle"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-body font-medium text-ink-strong",children:i("settings.multimodal.toggle")}),e.jsx("div",{className:"text-label text-ink-muted",children:i("settings.multimodal.toggle.desc")})]})]}),e.jsxs("div",{className:"px-4 py-3.5 border-t border-[var(--border-faint)] space-y-3",children:[e.jsxs("div",{className:"text-label text-ink-muted bg-ink/5 rounded-lg p-3",children:[e.jsx("div",{className:"font-medium mb-1",children:i("settings.multimodal.current_model",{model:m||i("settings.multimodal.not_selected")})}),e.jsx("div",{children:t.startsWith("custom-")?i("settings.multimodal.hint_custom"):i("settings.multimodal.hint_preset")})]}),e.jsxs("div",{className:"bg-ink/5 rounded-lg p-3",children:[e.jsx("div",{className:"text-label font-medium text-ink-muted mb-2",children:i("settings.multimodal.override_title")}),e.jsx("div",{className:"text-caption text-ink-muted mb-2",children:i("settings.multimodal.override_bridge_hint")}),e.jsxs("div",{className:"space-y-3 mt-1",children:[y&&e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-label",children:[e.jsx(z,{className:"w-3.5 h-3.5 text-ink-faint shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"font-medium text-ink-strong",children:y.label}),y.models.length>1?e.jsx("select",{value:C||y.defaultModel,onChange:a=>void j(a.target.value),"aria-label":i("settings.multimodal.model_label"),"data-testid":"vision-override-model-select",className:"bg-surface-1 text-ink text-label rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none px-2 py-1 max-w-[12rem]",children:y.models.map(a=>e.jsxs("option",{value:a.id,children:[a.id,(a.capabilities??[]).includes("vision")?" ✅":""]},a.id))}):e.jsx("code",{className:"text-ink-faint font-mono break-all",children:C||y.defaultModel}),e.jsx("span",{className:"text-ink-faint break-all min-w-0",children:y.baseUrl})]}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("button",{onClick:()=>void W(),disabled:_,"data-testid":"vision-override-test",className:"btn-3d-neutral px-4 py-1.5 text-label disabled:opacity-50",children:i(_?"settings.testing":"settings.multimodal.test_override")}),e.jsx("button",{onClick:()=>L(a=>!a),className:"text-label text-accent hover:underline",children:i("settings.multimodal.replace_custom")}),e.jsx("button",{onClick:()=>void F(),className:"text-label text-ink-muted hover:text-ink-strong",children:i("settings.multimodal.stop_override")}),e.jsx("button",{onClick:a=>{a.stopPropagation(),n({id:y.id,label:y.label,rect:a.currentTarget.getBoundingClientRect()})},"data-testid":`vision-delete-${y.id}`,className:"text-label text-ink-muted hover:text-warning",children:i("action.delete")}),N&&e.jsxs("span",{className:`text-label inline-flex items-center gap-1 ${N.ok?"text-brand":"text-warning"}`,children:[N.ok?e.jsx(B,{className:"w-4 h-4","aria-hidden":"true"}):e.jsx(H,{className:"w-4 h-4","aria-hidden":"true"}),N.detail]})]})]}),O&&e.jsxs("div",{className:"flex flex-wrap items-center gap-2 text-label",children:[e.jsx("span",{className:"text-ink-muted",children:i("settings.multimodal.legacy_preset",{label:O.label})}),e.jsx("button",{onClick:()=>void F(),className:"text-label text-ink-muted hover:text-ink-strong underline",children:i("settings.multimodal.stop_override")})]}),!y&&!O&&e.jsxs(e.Fragment,{children:[o.map(a=>e.jsxs("span",{className:"relative block",children:[e.jsxs("button",{onClick:()=>void l(a),className:"w-full text-left px-3 py-2 rounded-lg bg-surface-1 hover:bg-surface-3 transition-colors","data-testid":`vision-pick-${a.id}`,children:[e.jsx("span",{className:"text-label font-medium text-ink-strong",children:a.label}),e.jsx("span",{className:"text-label text-ink-faint font-mono break-all ml-2",children:a.defaultModel})]}),e.jsx("button",{type:"button","aria-label":i("action.delete"),"data-tooltip":i("action.delete"),"data-testid":`vision-delete-${a.id}`,onClick:$=>{$.stopPropagation(),n({id:a.id,label:a.label,rect:$.currentTarget.getBoundingClientRect()})},className:"absolute top-1.5 right-1.5 w-6 h-6 rounded-full text-ink-muted hover:text-warning flex items-center justify-center hover:bg-surface-2",children:e.jsx(G,{className:"w-3.5 h-3.5"})})]},a.id)),(M||o.length===0)&&e.jsx(Y,{kind:"vision",testPrefix:"vision-custom",titleKey:"settings.custom.form_title_vision",modelPhKey:"settings.custom.model_ph_vision",onSaved:a=>void l(a),onCancel:()=>L(!1)}),o.length>0&&e.jsx("button",{onClick:()=>L(a=>!a),className:"text-label text-accent hover:underline",children:i(M?"action.cancel":"settings.custom.new")})]})]})]}),e.jsxs("div",{className:"bg-ink/5 rounded-lg p-3 flex items-center gap-3",children:[e.jsx(X,{checked:w,onChange:K,label:i("settings.mathvision.toggle"),testid:"math-vision-toggle"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-label font-medium text-ink-strong",children:i("settings.mathvision.toggle")}),e.jsx("div",{className:"text-caption text-ink-muted",children:i("settings.mathvision.desc")})]})]})]}),s&&e.jsx(J,{anchorRect:s.rect,message:i("settings.delete_custom_confirm",{name:s.label}),danger:!0,confirmLabel:i("action.delete"),testid:"vision-provider-delete-confirm",onConfirm:()=>{p(s.id),n(null)},onCancel:()=>n(null)})]}):null}function ce(t){return!t||t.input===null||t.input===void 0?null:`$${String(Number(t.input.toFixed(2)))}`}function I(t){if(!t)return null;const m=[];t.contextWindow&&m.push(ne(t.contextWindow));const b=t.free?null:ce(t.pricing);return t.free?m.push("free"):b&&m.push(b),(t.capabilities??[]).includes("vision")&&m.push("👁"),((t.capabilities??[]).includes("reasoning")||t.reasoning)&&m.push("🧠"),t.status==="deprecated"&&m.push("deprecated"),m.length>0?m.join(" · "):null}function pe({tab:t="main",onClose:m}){const b=R(),g=r.useRef(null);te(g,!0);const[x,i]=r.useState(t);r.useEffect(()=>{const n=p=>{p.key==="Escape"&&m()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[m]);const[d,f]=r.useState([]),[k,D]=r.useState([]),[E,v]=r.useState("glm"),[C,S]=r.useState(""),[M,L]=r.useState({}),[_,T]=r.useState({}),[N,h]=r.useState(null),[w,P]=r.useState(!1),c=r.useCallback(async()=>{try{const[n,p,W,o,y]=await Promise.all([u.getProviderPresets(),u.listCustomProviders(),u.getSetting("active_provider"),u.getSetting("active_model"),u.getModelOverlay()]),O=p.filter($=>$.kind==="llm");f(n),D(p),v(W??"glm"),S(o??""),T(y);const a={};await Promise.all(n.map(async $=>{a[$.id]=await u.hasSetting($.apiKeySetting)})),L(a),h($=>$&&(n.some(A=>A.id===$)||O.some(A=>A.id===$))?$:W??"glm"),P(!0)}catch{P(!0)}},[]);r.useEffect(()=>{c();const n=()=>void c();return window.addEventListener("llm-config-changed",n),()=>window.removeEventListener("llm-config-changed",n)},[c]),r.useEffect(()=>{let n=!0;return u.refreshModelCatalog().then(()=>{n&&c()}).catch(()=>{}),()=>{n=!1}},[c]);const K=()=>window.dispatchEvent(new Event("llm-config-changed")),l=r.useCallback(async(n,p)=>{try{await u.setSetting("active_provider",n),await u.setSetting("active_model",p),K()}catch{}},[]),[j,F]=r.useState(null),s=async n=>{F(null);try{await u.deleteCustomProvider(n),E===n&&await u.setSetting("active_provider","glm"),N===n&&h("glm"),K()}catch{}};return w?e.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4",onClick:m,"data-testid":"model-manager-modal",children:[e.jsxs("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":b("model.manager.title"),className:"w-[min(880px,94vw)] max-h-[86dvh] rounded-2xl bg-surface-0 shadow-elevated flex flex-col",onClick:n=>n.stopPropagation(),children:[e.jsxs("div",{className:"shrink-0 flex items-center gap-3 px-4 py-3 border-b border-[var(--border)]",children:[e.jsx("h2",{className:"text-body font-bold text-ink-strong",children:b("model.manager.title")}),e.jsx("div",{className:"flex gap-1 bg-surface-3 rounded-full p-0.5",role:"tablist","aria-label":b("model.manager.title"),children:["main","vision"].map(n=>e.jsx("button",{role:"tab","aria-selected":x===n,onClick:()=>i(n),"data-testid":`model-manager-tab-${n}`,className:`px-3 py-1 rounded-full text-label font-medium transition-colors ${x===n?"bg-surface-0 text-ink-strong shadow-sm":"text-ink-muted hover:text-ink-strong"}`,children:b(n==="main"?"model.manager.tab_main":"model.manager.tab_vision")},n))}),e.jsx("div",{className:"flex-1"}),e.jsx("button",{onClick:m,"data-testid":"model-manager-close","aria-label":b("action.close"),className:"w-8 h-8 flex items-center justify-center rounded-lg text-ink-muted hover:text-ink-strong hover:bg-surface-3",children:"✕"})]}),x==="vision"?e.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto",children:e.jsx(de,{activeProvider:E,activeModel:C,presets:d,customProviders:k,onProvidersChanged:()=>void c()})}):e.jsx("div",{className:"flex-1 min-h-0 flex flex-col md:flex-row",children:e.jsx(me,{presets:d,customs:k.filter(n=>n.kind==="llm"),overlay:_,presetKeyFlags:M,activeProviderId:E,activeModel:C,selectedId:N,onSelect:h,onActivate:l,onReload:c,setConfirmDelete:F})})]}),j&&e.jsx(J,{anchorRect:j.rect,message:b("settings.delete_custom_confirm",{name:j.label}),danger:!0,confirmLabel:b("action.delete"),testid:"model-manager-delete-confirm",onConfirm:()=>void s(j.id),onCancel:()=>F(null)})]}):e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4","data-testid":"model-manager-modal",children:e.jsx("div",{ref:g,role:"dialog","aria-modal":"true","aria-label":b("model.manager.title"),className:"w-[min(880px,94vw)] h-[60dvh] rounded-2xl bg-surface-0 shadow-elevated",onClick:n=>n.stopPropagation()})})}function me({presets:t,customs:m,overlay:b,presetKeyFlags:g,activeProviderId:x,activeModel:i,selectedId:d,onSelect:f,onActivate:k,onReload:D,setConfirmDelete:E}){const v=R(),[C,S]=r.useState(""),[M,L]=r.useState(!1),_=C.trim().toLowerCase(),T=_?t.filter(l=>l.label.toLowerCase().includes(_)||l.id.toLowerCase().includes(_)||(l.note??"").toLowerCase().includes(_)):t,N=_?m.filter(l=>l.label.toLowerCase().includes(_)):m,h=d&&!d.startsWith("custom-")?t.find(l=>l.id===d)??null:null,w=d&&d.startsWith("custom-")?m.find(l=>l.id===d)??null:null,P=l=>`w-full flex items-center gap-2 px-2.5 py-2 rounded-lg text-left transition-colors shrink-0 ${l?"bg-brand/[0.1] text-ink-strong":"text-ink-muted hover:bg-ink/[0.05] hover:text-ink-strong"}`,c=(l,j)=>`w-2 h-2 rounded-full shrink-0 ${l?"bg-brand":j?"bg-ink/40":"bg-ink/15"}`,K=(l,j)=>v(l?"model.manager.active":j?"model.manager.key_set":"model.manager.no_key");return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"shrink-0 md:w-60 flex flex-col min-h-0 border-b md:border-b-0 md:border-r border-[var(--border-faint)]",children:[e.jsx("div",{className:"p-2 pb-1.5 shrink-0",children:e.jsxs("div",{className:"relative",children:[e.jsx(se,{className:"w-3.5 h-3.5 absolute left-2 top-1/2 -translate-y-1/2 text-ink-faint","aria-hidden":!0}),e.jsx("input",{type:"text",value:C,onChange:l=>S(l.target.value),placeholder:v("model.manager.search"),"data-testid":"model-manager-search",className:"w-full bg-surface-1 text-ink text-label rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none pl-7 pr-2 py-1.5 placeholder:text-ink-faint"})]})}),e.jsxs("div",{className:"flex flex-row md:flex-col gap-1 overflow-x-auto md:overflow-y-auto px-2 pb-2 min-h-0","data-testid":"model-manager-list",children:[T.map(l=>{const j=l.id===x,F=!!g[l.id];return e.jsxs("button",{onClick:()=>f(l.id),className:P(d===l.id),"data-testid":`mm-provider-${l.id}`,title:K(j,F),children:[e.jsx("span",{className:c(j,F),"aria-hidden":!0}),e.jsx("span",{className:"truncate text-label flex-1",children:l.label}),j&&e.jsx(V,{className:"w-3.5 h-3.5 text-brand shrink-0","aria-label":v("model.manager.active")})]},l.id)}),N.length>0&&e.jsx("div",{className:"hidden md:block px-1.5 pt-2 pb-0.5 text-caption font-bold text-ink-faint shrink-0",children:v("model.manager.group_custom")}),N.map(l=>{const j=l.id===x;return e.jsxs("button",{onClick:()=>f(l.id),className:`${P(d===l.id)} md:w-full`,"data-testid":`mm-provider-${l.id}`,title:K(j,l.hasApiKey),children:[e.jsx("span",{className:c(j,l.hasApiKey),"aria-hidden":!0}),e.jsx(z,{className:"w-3 h-3 shrink-0 text-ink-faint","aria-hidden":!0}),e.jsx("span",{className:"truncate text-label flex-1",children:l.label}),j&&e.jsx(V,{className:"w-3.5 h-3.5 text-brand shrink-0","aria-label":v("model.manager.active")})]},l.id)}),e.jsxs("button",{onClick:()=>L(l=>!l),className:"shrink-0 w-full flex items-center gap-1.5 px-2.5 py-2 rounded-lg border border-dashed border-[var(--border)] text-ink-muted hover:border-ink-muted hover:text-ink-strong text-label transition-colors","data-testid":"mm-add-custom",children:[e.jsx(ae,{className:"w-3.5 h-3.5","aria-hidden":!0}),v("model.manager.add_custom")]})]}),M&&e.jsx("div",{className:"p-2 border-t border-[var(--border-faint)] shrink-0 md:overflow-y-auto",children:e.jsx(Y,{kind:"llm",testPrefix:"mm-custom",onSaved:l=>{L(!1),f(l.id),D(),window.dispatchEvent(new Event("llm-config-changed"))},onCancel:()=>L(!1)})})]}),e.jsxs("div",{className:"flex-1 min-w-0 min-h-0 overflow-y-auto p-4 space-y-4","data-testid":"model-manager-detail",children:[!h&&!w&&e.jsx("div",{className:"text-label text-ink-faint py-8 text-center",children:v("model.manager.no_selection")}),h&&e.jsx(ue,{preset:h,keyConfigured:!!g[h.id],isActive:h.id===x,shownModel:h.id===x&&i||h.defaultModel,overlayEntry:b[h.id],onActivate:k,onReload:D},h.id),w&&e.jsx(xe,{custom:w,isActive:w.id===x,activeModel:w.id===x?i:"",onActivate:k,onReload:D,onAskDelete:l=>E({id:w.id,label:w.label,rect:l})},w.id)]})]})}function ue({preset:t,keyConfigured:m,isActive:b,shownModel:g,overlayEntry:x,onActivate:i,onReload:d}){const f=R(),[k,D]=r.useState(""),[E,v]=r.useState(0),[C,S]=r.useState(!1),[M,L]=r.useState(null),[_,T]=r.useState(!1),N=t.models.find(c=>c.id===g)??null,h=I(N),w=async()=>{const c=k.trim();if(c)try{await u.setSetting(t.apiKeySetting,c),D(""),v(Date.now()),window.dispatchEvent(new Event("llm-config-changed")),await d()}catch{}},P=async()=>{if(!C){S(!0),L(null);try{const c=await u.testProvider(t.id,g);L(c)}catch(c){L({ok:!1,detail:c instanceof Error?c.message:String(c)})}finally{S(!1)}}};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${b?"bg-brand":m?"bg-ink/40":"bg-ink/15"}`,"aria-hidden":!0}),e.jsx("span",{className:"text-body font-bold text-ink-strong",children:t.label}),t.note&&e.jsx("span",{className:"text-caption text-ink-faint",children:t.note})]}),t.baseUrl&&e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:"Base URL"}),e.jsx("code",{className:"text-label text-ink-muted font-mono break-all",children:t.baseUrl})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:f("settings.apikey")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[m&&e.jsxs("span",{className:"text-label text-brand inline-flex items-center gap-1 shrink-0",children:[e.jsx(B,{className:"w-3.5 h-3.5","aria-hidden":"true"}),f("settings.key.configured")]}),e.jsx("input",{type:"password",value:k,onChange:c=>D(c.target.value),onBlur:()=>void w(),onKeyDown:c=>{c.key==="Enter"&&(c.preventDefault(),w())},placeholder:f(m?"settings.key.overwrite_ph":"settings.key.paste_ph"),"data-testid":"mm-key-input",className:"flex-1 min-w-[10rem] bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none transition-colors placeholder:text-ink-faint px-2.5 py-1.5"}),e.jsx("a",{href:t.keyUrl,target:"_blank",rel:"noopener noreferrer",className:"text-label text-brand hover:underline whitespace-nowrap",children:f("settings.key.get")}),E>0&&e.jsxs("span",{className:"text-caption text-brand inline-flex items-center gap-0.5 shrink-0",children:[e.jsx(V,{className:"w-3 h-3","aria-hidden":!0}),f("model.manager.key_saved")]})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:f("settings.model")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("select",{value:g,onChange:c=>i(t.id,c.target.value),"data-testid":"mm-model-select","aria-label":f("settings.model"),className:"flex-1 min-w-[12rem] bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none px-2.5 py-1.5",children:t.models.map(c=>e.jsxs("option",{value:c.id,children:[c.id,c.status==="deprecated"?" (deprecated)":""]},c.id))}),e.jsx("button",{onClick:()=>void P(),disabled:C,"data-testid":"mm-test-btn",className:"btn-3d-neutral px-3 py-1.5 text-label disabled:opacity-40 shrink-0",children:f(C?"settings.testing":"settings.test")}),e.jsx("button",{onClick:()=>T(c=>!c),"data-testid":"mm-discover-toggle",className:"text-label text-accent hover:underline whitespace-nowrap shrink-0",children:f("settings.models.discover")})]}),h&&e.jsx("div",{className:"text-caption text-ink-faint mt-1 tabular-nums",children:h}),M&&e.jsxs("div",{className:`text-label mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 min-w-0 ${M.ok?"text-brand":"text-warning"}`,children:[M.ok?e.jsx(B,{className:"w-4 h-4 shrink-0","aria-hidden":"true"}):e.jsx(H,{className:"w-4 h-4 shrink-0","aria-hidden":"true"}),M.detail]})]}),_&&e.jsx("div",{className:"rounded-lg bg-surface-1 border border-[var(--border-faint)] p-3",children:e.jsx(Z,{providerId:t.id,existingModels:t.models,removableModels:(x==null?void 0:x.added)??[],customProvider:null,onApplied:()=>void d()})})]})}function xe({custom:t,isActive:m,activeModel:b,onActivate:g,onReload:x,onAskDelete:i}){const d=R(),[f,k]=r.useState(""),[D,E]=r.useState(0),[v,C]=r.useState(!1),[S,M]=r.useState(null),[L,_]=r.useState(!1),[T,N]=r.useState(null),h=m&&b||t.defaultModel,w=t.models.find(o=>o.id===h)??null,[P,c]=r.useState(w!=null&&w.contextWindow?String(w.contextWindow):""),[K,l]=r.useState(!1),j=I(w),F=async()=>{const o=f.trim();if(o)try{await u.updateCustomProvider(t.id,{apiKey:o}),k(""),E(Date.now()),window.dispatchEvent(new Event("llm-config-changed")),await x()}catch{}},s=async()=>{if(T===null)return;const o=T.trim();N(null),!(!o||o===h)&&g(t.id,o)},n=async()=>{var $,A;const o=P.trim().replace(/[,\s_]/g,""),y=/^(\d+)([km]?)$/i.exec(o);if(o!==""&&!y)return;const O=(($=y==null?void 0:y[2])==null?void 0:$.toLowerCase())==="k"?1e3:((A=y==null?void 0:y[2])==null?void 0:A.toLowerCase())==="m"?1e6:1,a=o===""||!y?null:Math.max(1,Math.round(parseInt(y[1],10)*O));l(!0);try{const U=t.models.map(q=>q.id===h?{...q,contextWindow:a}:q);await u.updateCustomProvider(t.id,{models:U}),await x(),window.dispatchEvent(new Event("llm-config-changed"))}catch{}finally{l(!1)}},p=async o=>{try{await u.updateCustomProvider(t.id,{vision:o}),await x(),window.dispatchEvent(new Event("llm-config-changed"))}catch{}},W=async()=>{if(!v){C(!0),M(null);try{const o=await u.testProvider(t.id,h);M(o)}catch(o){M({ok:!1,detail:o instanceof Error?o.message:String(o)})}finally{C(!1)}}};return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:`w-2 h-2 rounded-full shrink-0 ${m?"bg-brand":t.hasApiKey?"bg-ink/40":"bg-ink/15"}`,"aria-hidden":!0}),e.jsx(z,{className:"w-3.5 h-3.5 text-ink-faint shrink-0","aria-hidden":"true"}),e.jsx("span",{className:"text-body font-bold text-ink-strong",children:t.label}),e.jsx("button",{onClick:o=>i(o.currentTarget.getBoundingClientRect()),"data-testid":"mm-delete-custom",className:"text-label text-ink-muted hover:text-warning ml-auto",children:d("action.delete")})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:"Base URL"}),e.jsx("code",{className:"text-label text-ink-muted font-mono break-all",children:t.baseUrl})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:d("settings.apikey")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.hasApiKey&&e.jsxs("span",{className:"text-label text-brand inline-flex items-center gap-1 shrink-0",children:[e.jsx(B,{className:"w-3.5 h-3.5","aria-hidden":"true"}),d("settings.key.configured")]}),e.jsx("input",{type:"password",value:f,onChange:o=>k(o.target.value),onBlur:()=>void F(),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),F())},placeholder:t.hasApiKey?d("settings.key.overwrite_ph"):d("settings.custom.apikey_ph"),"data-testid":"mm-key-input-custom",className:"flex-1 min-w-[10rem] bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none transition-colors placeholder:text-ink-faint px-2.5 py-1.5"}),D>0&&e.jsxs("span",{className:"text-caption text-brand inline-flex items-center gap-0.5 shrink-0",children:[e.jsx(V,{className:"w-3 h-3","aria-hidden":!0}),d("model.manager.key_saved")]})]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:d("settings.model")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.models.length>1?e.jsx("select",{value:h,onChange:o=>g(t.id,o.target.value),"data-testid":"mm-model-select-custom","aria-label":d("settings.model"),className:"flex-1 min-w-[12rem] bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none px-2.5 py-1.5",children:t.models.map(o=>e.jsx("option",{value:o.id,children:o.id},o.id))}):e.jsx("input",{type:"text",value:T??h,onChange:o=>N(o.target.value),onBlur:()=>void s(),onKeyDown:o=>{o.key==="Enter"&&(o.preventDefault(),s())},placeholder:d("settings.custom.model_ph"),"data-testid":"mm-model-input-custom",className:"flex-1 min-w-[12rem] bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none transition-colors placeholder:text-ink-faint px-2.5 py-1.5 font-mono"}),e.jsx("button",{onClick:()=>void W(),disabled:v,"data-testid":"mm-test-btn-custom",className:"btn-3d-neutral px-3 py-1.5 text-label disabled:opacity-40 shrink-0",children:d(v?"settings.testing":"settings.test")}),t.protocol==="openai-compatible"&&e.jsx("button",{onClick:()=>_(o=>!o),"data-testid":"mm-discover-toggle-custom",className:"text-label text-accent hover:underline whitespace-nowrap shrink-0",children:d("settings.models.discover")})]}),j&&e.jsx("div",{className:"text-caption text-ink-faint mt-1 tabular-nums",children:j}),S&&e.jsxs("div",{className:`text-label mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1 min-w-0 ${S.ok?"text-brand":"text-warning"}`,children:[S.ok?e.jsx(B,{className:"w-4 h-4 shrink-0","aria-hidden":"true"}):e.jsx(H,{className:"w-4 h-4 shrink-0","aria-hidden":"true"}),S.detail]})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-caption font-bold text-ink-faint mb-1",children:d("settings.custom.windowLabel")}),e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("input",{type:"text",inputMode:"numeric",value:P,onChange:o=>c(o.target.value),placeholder:d("settings.custom.windowPh"),"data-testid":"mm-context-window-input",className:"flex-1 min-w-[10rem] bg-surface-1 text-ink text-body rounded-lg border border-[var(--border)] focus:border-brand focus:outline-none transition-colors placeholder:text-ink-faint px-2.5 py-1.5 font-mono tabular-nums"}),e.jsx("button",{onClick:()=>void n(),disabled:K,"data-testid":"mm-context-window-save",className:"btn-3d-neutral px-3 py-1.5 text-label shrink-0 disabled:opacity-40",children:d("settings.custom.save")})]}),e.jsx("div",{className:"text-caption text-ink-faint mt-1",children:d("settings.custom.windowHint")})]}),e.jsxs("label",{className:"inline-flex items-center gap-2 text-label cursor-pointer select-none","data-testid":"mm-vision-toggle",children:[e.jsx("input",{type:"checkbox",checked:t.vision,onChange:o=>void p(o.target.checked),className:"w-4 h-4 rounded accent-brand"}),e.jsx("span",{className:"text-ink-strong",children:d("settings.custom.vision")}),e.jsx("span",{className:"text-ink-faint",children:d("settings.custom.visionHint")})]}),L&&e.jsx("div",{className:"rounded-lg bg-surface-1 border border-[var(--border-faint)] p-3",children:e.jsx(Z,{providerId:t.id,existingModels:t.models,removableModels:t.models,customProvider:t,onApplied:()=>void x()})})]})}export{pe as default};
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./mermaid.core-B8uFE6gu.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as t,C as e}from"./chunk-X5GNSKZ3-BRpQXOuk.js";import{_ as i}from"./render-O7CIS3YK-DU3B_ERD.js";import"./transform-Bd_a5eGM.js";import"./chunk-LV3HUYFY-D2A9VNi8.js";import"./chunk-CXNFBKHE-C91q6lvg.js";import"./chunk-NDIOYS4C-Cg_gB3IQ.js";import"./chunk-ISA7TJRJ-BReqmCMw.js";import"./mermaid-layout-elk.core-DfOj66Qv.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var g={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-CAAm7rEI.js";import{_ as i}from"./mermaid.core-B8uFE6gu.js";import"./transform-Bd_a5eGM.js";import"./chunk-5VM5RSS4-DwAMOseZ.js";import"./chunk-XXDRQBXY-IwMJhHxA.js";import"./chunk-POPQ4Y6H-CpFBYm4R.js";import"./chunk-F27PBJKO-ia4EagnF.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";var b={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{b as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as t,C as e}from"./chunk-X5GNSKZ3-BRpQXOuk.js";import{_ as i}from"./render-O7CIS3YK-DU3B_ERD.js";import"./transform-Bd_a5eGM.js";import"./chunk-LV3HUYFY-D2A9VNi8.js";import"./chunk-CXNFBKHE-C91q6lvg.js";import"./chunk-NDIOYS4C-Cg_gB3IQ.js";import"./chunk-ISA7TJRJ-BReqmCMw.js";import"./mermaid-layout-elk.core-DfOj66Qv.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var g={parser:t,get db(){return new e},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-TICWLB2K-CAAm7rEI.js";import{_ as i}from"./mermaid.core-B8uFE6gu.js";import"./transform-Bd_a5eGM.js";import"./chunk-5VM5RSS4-DwAMOseZ.js";import"./chunk-XXDRQBXY-IwMJhHxA.js";import"./chunk-POPQ4Y6H-CpFBYm4R.js";import"./chunk-F27PBJKO-ia4EagnF.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";var b={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{b as diagram};
@@ -1,14 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./elk.bundled-Cez1bZui.js","./index-jKxnKPxh.js","./index-CS4Wtfwl.css","./_commonjs-dynamic-modules-TDtrdbi3.js"])))=>i.map(i=>d[i]);
2
- import{r as g,j as e,c as Q}from"./index-jKxnKPxh.js";import{c as J,_ as ee,u as R,$ as te,E as T,a0 as se,a1 as ne,A as ae,C as re,l as ie,a2 as oe,r as D,X as G,a3 as ce,a4 as le,a5 as de,a6 as he}from"./main-C7vIrKEC.js";import{D as H,M as ue}from"./MermaidArtifact-x5kLLb52.js";import{M as K,C as B}from"./CanvasStage-vallbGco.js";import{R as xe}from"./rotate-ccw-DHjeGlQd.js";/**
3
- * @license lucide-react v0.468.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 fe=J("CircleHelp",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/**
8
- * @license lucide-react v0.468.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 me=J("Dices",[["rect",{width:"12",height:"12",x:"2",y:"10",rx:"2",ry:"2",key:"6agr2n"}],["path",{d:"m17.92 14 3.5-3.5a2.24 2.24 0 0 0 0-3l-5-4.92a2.24 2.24 0 0 0-3 0L10 6",key:"1o487t"}],["path",{d:"M6 18h.01",key:"uhywen"}],["path",{d:"M10 14h.01",key:"ssrbsk"}],["path",{d:"M15 6h.01",key:"cblpky"}],["path",{d:"M18 9h.01",key:"2061c0"}]]);function z(s,t=13){let n=0;for(const a of s)n+=/[\u2e80-\u9fff\uf900-\ufaff\uff00-\uffef\u3000-\u303f]/.test(a)?t:t*.58;return n}const q=118;function ge(s){if(z(s)<=q)return[s];const t=[];for(let d=0;d<s.length;d++)/[\s/\-—·]/.test(s[d]??"")&&t.push(d);const n=s.length/2;let a=-1,r=1/0;for(const d of t){const f=Math.abs(d+1-n);f<r&&(r=f,a=d)}let i,c;if(a>=0)i=s.slice(0,a+1).trim(),c=s.slice(a+1).trim();else{let d=0,f=0;for(const b of s)if(d+=z(b),f++,d>=z(s)/2)break;i=s.slice(0,f),c=s.slice(f)}if(z(i)<=q&&z(c)<=q)return[i,c];const o=d=>{let f="";for(const b of d){if(z(f+b+"…")>q)break;f+=b}return f+"…"};return[z(i)>q?o(i):i,z(c)>q?o(c):c]}function Z(s,t){const n=ge(s),a=t?14:13,r=Math.max(...n.map(d=>z(d,a))),i=t?30:24,c=17,o=t?18:14;return{width:Math.min(t?200:180,Math.max(t?92:76,r+i)),height:o+n.length*c,lines:n}}function pe(s,t,n){const a=new Set(s.map(r=>r.id));if(Array.isArray(n)&&n.length>0){const r=new Set,i=[];for(const c of n){if(!c||typeof c.id!="string"||!c.id)continue;const o=Array.isArray(c.nodeIds)?[...new Set(c.nodeIds.filter(d=>typeof d=="string"&&a.has(d)&&!r.has(d)))]:[];o.length<2||(o.forEach(d=>r.add(d)),i.push({id:c.id,label:typeof c.label=="string"&&c.label?c.label:"分组",nodeIds:o}))}if(i.length>0&&!(i.length===1&&r.size===s.length&&s.length>2))return{groups:i,fallback:!1}}return{groups:be(s,t),fallback:!0}}function be(s,t){if(s.length<4)return[];const n=new Map(s.map((h,l)=>[h.id,l])),a=new Map;for(const h of s)a.set(h.id,[]);const r=new Set;for(const h of t){if(!n.has(h.from)||!n.has(h.to)||h.from===h.to)continue;const l=[h.from,h.to].sort().join("→");r.has(l)||(r.add(l),a.get(h.from).push(h.to),a.get(h.to).push(h.from))}const i=[...s].sort((h,l)=>{const x=a.get(h.id).length,k=a.get(l.id).length;return x!==k?k-x:(n.get(h.id)??0)-(n.get(l.id)??0)}),c=Math.min(3,Math.max(1,Math.ceil(s.length/4))),o=i.slice(0,c).filter(h=>{var l;return(((l=a.get(h.id))==null?void 0:l.length)??0)>0});if(o.length===0)return[];const d=new Map;o.forEach((h,l)=>d.set(h.id,l));const f=o.map(h=>h.id);for(;f.length;){const h=f.shift(),l=d.get(h);for(const x of a.get(h)??[])d.has(x)||(d.set(x,l),f.push(x))}const b=[];return o.forEach((h,l)=>{const x=s.filter(k=>d.get(k.id)===l).map(k=>k.id);x.length<2||b.push({id:`grp-${h.id}`,label:h.label.length<=5?`${h.label}相关`:h.label,nodeIds:x})}),b}const O=34;function we(s,t,n){var h;const a=new Set(s.map(l=>l.id)),r=new Map;for(const l of s)r.set(l.id,0);const i=new Set,c=[];for(const l of t){if(!a.has(l.from)||!a.has(l.to)||l.from===l.to)continue;const x=[l.from,l.to].sort().join("→");i.has(x)||(i.add(x),c.push(l),r.set(l.from,r.get(l.from)+1),r.set(l.to,r.get(l.to)+1))}let o=((h=s[0])==null?void 0:h.id)??"";for(const l of s)(r.get(l.id)??0)>(r.get(o)??0)&&(o=l.id);const d=new Map;for(const l of n)for(const x of l.nodeIds)a.has(x)&&!d.has(x)&&d.set(x,l.id);const f=l=>{const x=Z(l.label,l.id===o||(r.get(l.id)??0)>=4);return{id:l.id,width:Math.ceil(x.width),height:Math.ceil(x.height)}},b=[];for(const l of n){const x=l.nodeIds.filter(k=>d.get(k)===l.id&&a.has(k));x.length!==0&&b.push({id:`g:${l.id}`,layoutOptions:{"elk.padding":`[top=${O},left=14,bottom=12,right=14]`},children:x.map(k=>f(s.find(p=>p.id===k)))})}for(const l of s)d.has(l.id)||b.push(f(l));return{id:"root",layoutOptions:{"elk.algorithm":"layered","elk.direction":"DOWN","elk.edgeRouting":"ORTHOGONAL","elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.spacing.nodeNode":"34","elk.spacing.edgeNode":"26","elk.spacing.componentComponent":"48","elk.layered.spacing.nodeNodeBetweenLayers":"56"},children:b,edges:c.map((l,x)=>({id:`e${x}`,sources:[l.from],targets:[l.to]}))}}function je(s){if(s.length===0)return{x:0,y:0};if(s.length===1)return s[0];const t=[];let n=0;for(let r=1;r<s.length;r++){const i=Math.hypot(s[r].x-s[r-1].x,s[r].y-s[r-1].y);t.push(i),n+=i}let a=n/2;for(let r=0;r<t.length;r++){if(a<=t[r]||r===t.length-1){const i=t[r]===0?0:a/t[r];return{x:s[r].x+(s[r+1].x-s[r].x)*i,y:s[r].y+(s[r+1].y-s[r].y)*i}}a-=t[r]}return s[s.length-1]}function ye(s,t,n,a,r,i){var y;const c=new Map(t.map(u=>[u.id,u])),o=new Map;a.forEach((u,m)=>o.set(u.id,m%5));const d=new Map(a.map(u=>[u.id,u])),f=new Map;for(const u of a)for(const m of u.nodeIds)f.has(m)||f.set(m,u.id);const b=[],h=[],l=[],x=new Map([["root",{x:0,y:0}]]),k=[],p=(u,m,v,S)=>{var M;for(const N of u.children??[]){const C=m+(N.x??0),$=v+(N.y??0);if((M=N.children)!=null&&M.length){const w=N.id.startsWith("g:")?N.id.slice(2):N.id,j=d.get(w);h.push({id:w,label:(j==null?void 0:j.label)??"分组",x:C,y:$,w:N.width??0,h:N.height??0,colorIdx:o.get(w)??0}),x.set(N.id,{x:C,y:$}),p(N,C,$,w)}else{const w=c.get(N.id);if(!w)continue;const j=Z(w.label,w.id===i),E=f.get(w.id)??null;b.push({id:w.id,x:C,y:$,w:N.width??Math.ceil(j.width),h:N.height??Math.ceil(j.height),lines:j.lines,hub:w.id===i,groupId:S,colorIdx:E!=null?o.get(E)??0:-1})}}for(const N of u.edges??[])k.push({e:N,fallback:{x:m,y:v}})};p(s,0,0,null);for(const{e:u,fallback:m}of k){const v=(y=u.sections)==null?void 0:y[0];if(!v)continue;const S=(u.container!=null?x.get(u.container):void 0)??m,M=[v.startPoint,...v.bendPoints??[],v.endPoint].map($=>({x:$.x+S.x,y:$.y+S.y})),N=Number(u.id.slice(1)),C=n[N];C&&l.push({from:C.from,to:C.to,label:C.label,pts:M,labelPt:C.label?je(M):null})}return{width:Math.ceil(s.width??0),height:Math.ceil(s.height??0),nodes:b,groups:h,edges:l,hubId:i,groupsFallback:r}}let X=null;function ke(){return X??(X=ee(()=>import("./elk.bundled-Cez1bZui.js").then(s=>s.e),__vite__mapDeps([0,1,2,3]),import.meta.url).then(s=>{const t=s,n=t.default??t;return new n})),X}async function ve(s,t,n){const a=pe(s,t,n),r=we(s,t,a.groups),i=Ne(s,t),o=await(await ke()).layout(r);return ye(o,s,t,a.groups,a.fallback,i)}function Ne(s,t){var c;const n=new Set(s.map(o=>o.id)),a=new Map;for(const o of s)a.set(o.id,0);const r=new Set;for(const o of t){if(!n.has(o.from)||!n.has(o.to)||o.from===o.to)continue;const d=[o.from,o.to].sort().join("→");r.has(d)||(r.add(d),a.set(o.from,a.get(o.from)+1),a.set(o.to,a.get(o.to)+1))}let i=((c=s[0])==null?void 0:c.id)??"";for(const o of s)(a.get(o.id)??0)>(a.get(i)??0)&&(i=o.id);return i}const L=.4,W=2.5,_=.2;function Me(s){return s.map((t,n)=>`${n===0?"M":"L"} ${t.x.toFixed(1)} ${t.y.toFixed(1)}`).join(" ")}function P({layout:s}){return e.jsxs("svg",{width:s.width,height:s.height,viewBox:`0 0 ${s.width} ${s.height}`,style:{display:"block"},"data-testid":"conceptmap-svg",children:[e.jsx("defs",{children:e.jsx("marker",{id:"cm-arrow",viewBox:"0 0 10 10",refX:9,refY:5,markerWidth:6.5,markerHeight:6.5,orient:"auto-start-reverse",children:e.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-ink-faint"})})}),s.groups.map((t,n)=>e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${n*60}ms`},children:[e.jsx("rect",{x:t.x,y:t.y,width:t.w,height:t.h,rx:14,className:"cm-group-box",style:{fill:`var(--cm-c${t.colorIdx}-fill)`,stroke:`var(--cm-c${t.colorIdx}-line)`}}),e.jsx("rect",{x:t.x,y:t.y,width:t.w,height:O,rx:14,className:"cm-group-head",style:{fill:`var(--cm-c${t.colorIdx}-line)`}}),e.jsx("rect",{x:t.x,y:t.y+O/2,width:t.w,height:O/2,className:"cm-group-head",style:{fill:`var(--cm-c${t.colorIdx}-line)`}}),e.jsx("text",{x:t.x+14,y:t.y+22,fontSize:12,fontWeight:600,fill:`var(--cm-c${t.colorIdx}-line)`,"data-testid":"conceptmap-group-label",children:t.label})]},`g-${t.id}`)),s.edges.map((t,n)=>{const a=t.label?{width:z(t.label,12)+16,height:19}:null;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(s.groups.length+1)*60+n*30}ms`},children:[e.jsx("path",{d:Me(t.pts),className:"fill-none stroke-ink-faint/80",strokeWidth:1.6,markerEnd:"url(#cm-arrow)"}),t.label&&a&&t.labelPt&&e.jsxs("g",{children:[e.jsx("rect",{x:t.labelPt.x-a.width/2,y:t.labelPt.y-a.height/2,width:a.width,height:a.height,rx:a.height/2,className:"fill-surface-0/95 stroke-[var(--border-faint)]",strokeWidth:1}),e.jsx("text",{x:t.labelPt.x,y:t.labelPt.y+3.5,textAnchor:"middle",fontSize:12,className:"fill-ink-muted font-medium",style:{paintOrder:"stroke"},stroke:"var(--surface-0)",strokeWidth:3,children:t.label})]})]},`e-${n}`)}),s.nodes.map((t,n)=>{const a=t.colorIdx>=0?`var(--cm-c${t.colorIdx}-fill)`:"var(--surface-3)",r=t.colorIdx>=0?`var(--cm-c${t.colorIdx}-line)`:"var(--border)",i=t.hub?14:13;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(s.groups.length+2)*60+n*35}ms`},children:[e.jsx("rect",{x:t.x,y:t.y,width:t.w,height:t.h,rx:t.hub?12:10,fill:a,stroke:r,strokeWidth:t.hub?1.8:1.4}),t.lines.map((c,o)=>e.jsx("text",{x:t.x+t.w/2,y:t.y+t.h/2+(o-(t.lines.length-1)/2)*17+4.5,textAnchor:"middle",fontSize:i,className:t.hub?"fill-ink-strong font-bold":"fill-ink",children:c},o))]},t.id)})]})}function Se({data:s,variant:t="card"}){const n=s,a=R(),r=g.useMemo(()=>JSON.stringify({n:n.nodes,e:n.edges,g:n.groups??null}),[n.nodes,n.edges,n.groups]),[i,c]=g.useState(null);g.useEffect(()=>{let y=!0;return c(null),ve(n.nodes,n.edges,n.groups??null).then(u=>{y&&c(u)}).catch(()=>{}),()=>{y=!1}},[r]);const[o,d]=g.useState(1),[f,b]=g.useState(!1),h=g.useRef(null);g.useEffect(()=>{const y=h.current;if(!y||!i)return;const u=()=>{const v=(y.clientWidth-16)/i.width;v<1&&d(Math.max(L,+v.toFixed(2)))};u();const m=new ResizeObserver(u);return m.observe(y),()=>m.disconnect()},[i==null?void 0:i.width,i]);const l=g.useCallback(()=>d(y=>Math.min(W,+(y+_).toFixed(2))),[]),x=g.useCallback(()=>d(y=>Math.max(L,+(y-_).toFixed(2))),[]),k=g.useCallback(()=>d(1),[]),p=g.useCallback(y=>{if(!y.ctrlKey&&!y.metaKey)return;y.preventDefault();const u=y.deltaY>0?-_:_;d(m=>Math.min(W,Math.max(L,+(m+u).toFixed(2))))},[]);return t==="canvas"?e.jsx("div",{"data-testid":"conceptmap-canvas-content",children:i?e.jsx(P,{layout:i}):e.jsx("div",{style:{minWidth:320,minHeight:160}})}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-concept-map",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(te,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:n.title})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1","data-testid":"conceptmap-zoom-controls",children:[e.jsx("button",{onClick:x,disabled:o<=L,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:a("artifact.zoomOut"),children:"−"}),e.jsxs("button",{onClick:k,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 text-caption font-bold tabular-nums",title:a("artifact.zoomReset"),children:[Math.round(o*100),"%"]}),e.jsx("button",{onClick:l,disabled:o>=W,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:a("artifact.zoomIn"),children:"+"})]}),e.jsx("button",{onClick:()=>b(!0),"data-testid":"conceptmap-expand","aria-label":a("artifact.viewer.open"),"data-tooltip":a("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(K,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{ref:h,onClick:()=>b(!0),onWheel:p,className:"bg-surface-0/40 rounded-lg p-2 overflow-auto min-h-[160px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"conceptmap-render-area","data-noswipe":"",children:i?e.jsx("div",{style:{width:i.width*o,height:i.height*o,margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${o})`,transformOrigin:"top left",width:i.width,height:i.height},children:e.jsx(P,{layout:i})})}):e.jsx("div",{className:"h-[152px] flex items-center justify-center text-caption text-ink-muted","data-testid":"conceptmap-loading",children:"…"})}),e.jsx("div",{className:"mt-1.5 flex items-center justify-between text-caption text-ink-muted",children:e.jsx("span",{children:a("artifact.conceptmap.stats",{nodes:n.nodes.length,edges:n.edges.length})})}),n.warnings&&n.warnings.length>0&&e.jsxs("div",{className:"mt-1 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(T,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:n.warnings.join("; ")})]}),f&&e.jsx(H,{title:n.title,onClose:()=>b(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(B,{testid:"conceptmap-modal-stage",children:i?e.jsx(P,{layout:i}):e.jsx("div",{className:"min-w-[320px] min-h-[160px]"})})})})]})}function Ce(s,t){const{correct:n,total:a}=s,r=a>0&&n===a,i=a>0&&n<a,c=t!=null&&t>=se,o=t!=null&&t>=ne;return i?[{id:"explain-wrong"},{id:"retry"}]:r&&c?[{id:"next-topic"},{id:"go-deeper"}]:r&&o?[{id:"mark-mastered",advancesMastery:!0},{id:"next-topic"},{id:"go-deeper"}]:[{id:"go-deeper"},{id:"retry"}]}const ze="ls-quiz-progress:";function $e(s){const t=s.questions.map(a=>`${a.prompt}|${(a.options??[]).join("/")}#${a.answer??""}`).join(`
13
- `);let n=2166136261;for(let a=0;a<t.length;a++)n^=t.charCodeAt(a),n=Math.imul(n,16777619);return`${ze}${(n>>>0).toString(36)}`}function Ee(s){var t,n;try{const a=localStorage.getItem(s);if(!a)return null;const r=JSON.parse(a);return typeof(r==null?void 0:r.current)=="number"&&r.current>=0&&typeof((t=r==null?void 0:r.score)==null?void 0:t.correct)=="number"&&typeof((n=r==null?void 0:r.score)==null?void 0:n.total)=="number"?r:null}catch{return null}}function Ie(s,t){try{localStorage.setItem(s,JSON.stringify(t))}catch{}}const qe={"explain-wrong":{icon:fe,labelKey:"quiz.action.explainWrong",message:"我刚才有题答错了,帮我讲讲为什么错、正确的思路是什么。"},retry:{icon:xe,labelKey:"quiz.action.retry",message:"再来一组类似的题巩固一下。"},"go-deeper":{icon:ie,labelKey:"quiz.action.goDeeper",message:"这组我答得不错,帮我深入讲讲背后的原理和容易混淆的地方。"},"mark-mastered":{icon:re,labelKey:"quiz.action.markMastered",message:"这课我觉得掌握了,帮我确认一下——出个综合题检验,通过了就标记为掌握。"},"next-topic":{icon:ae,labelKey:"quiz.action.nextTopic",message:"进入下一个知识点。"}};function Re({data:s,onAnswered:t,quizMastery:n,onPickAction:a,onQuizCompleted:r}){const i=s,c=R(),o=g.useMemo(()=>$e(i),[i]),d=g.useMemo(()=>Ee(o),[o]),[f,b]=g.useState((d==null?void 0:d.current)??0),[h,l]=g.useState(null),[x,k]=g.useState(!1),[p,y]=g.useState((d==null?void 0:d.score)??{correct:0,total:0}),u=g.useRef([]),m=g.useRef(null);g.useEffect(()=>{Ie(o,{current:f,score:p})},[o,f,p]);const[v,S]=g.useState(!1);if(f>=i.questions.length){const w=!!a&&!r;if(r)return e.jsxs("div",{className:"surface-card p-4 text-center","data-testid":"artifact-quiz-done",children:[e.jsx("div",{className:"text-2xl mb-2",children:p.correct===p.total?"🎉":"📚"}),e.jsx("div",{className:"text-body font-bold text-ink",children:c("quiz.scoreSummary",{correct:p.correct,total:p.total})}),v?e.jsx("div",{className:"text-label text-ink-muted mt-1","data-testid":"quiz-hook-sent",children:c("quiz.hook.sent")}):e.jsx("button",{onClick:()=>{S(!0),r({title:i.title??"",correct:p.correct,total:p.total,detail:[...u.current]})},"data-testid":"quiz-hook-finish",className:"btn-3d-brand mt-3 px-5 py-2 text-body",children:c("quiz.hook.finish")})]});const j=w?Ce(p,n??null):[];return e.jsxs("div",{className:"surface-card p-4 text-center","data-testid":"artifact-quiz-done",children:[e.jsx("div",{className:"text-2xl mb-2",children:p.correct===p.total?"🎉":"📚"}),e.jsx("div",{className:"text-body font-bold text-ink",children:c("quiz.scoreSummary",{correct:p.correct,total:p.total})}),e.jsx("div",{className:"text-label text-ink-muted mt-1",children:p.correct===p.total?c("quiz.allCorrectHint"):c("quiz.tryAgainHint")}),j.length>0&&e.jsxs("div",{className:"mt-3 space-y-2 text-left","data-testid":"quiz-next-actions",children:[e.jsx("div",{className:"text-label text-ink-muted",children:c("quiz.action.nextPrompt")}),j.map((E,A)=>{const I=qe[E.id],Y=I.icon;return e.jsxs("button",{onClick:()=>a==null?void 0:a(I.message),"data-testid":`quiz-action-${E.id}`,className:`${A===0?"btn-3d-brand":"btn-3d-neutral"} w-full py-2 text-body flex items-center justify-center gap-1.5`,children:[e.jsx(Y,{className:"w-4 h-4"}),c(I.labelKey)]},E.id)})]})]})}const M=i.questions[f],N=x&&h===M.answer,C=()=>{if(h===null)return;k(!0);const w=h===M.answer;y(j=>({correct:j.correct+(w?1:0),total:j.total+1})),t==null||t(M,h,w),u.current.push({prompt:M.prompt,chosen:M.options[h]??"?",answerText:M.options[M.answer]??"?",correct:w}),Q(w?"correct":"wrong",{origin:w&&m.current?(()=>{const j=m.current.getBoundingClientRect();return{x:j.right-48,y:j.top+24}})():void 0})},$=()=>{f===i.questions.length-1&&r&&!v&&(S(!0),r({title:i.title??"",correct:p.correct,total:p.total,detail:[...u.current]})),b(w=>w+1),l(null),k(!1)};return e.jsxs("div",{ref:m,className:"surface-card p-4","data-testid":"artifact-quiz",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(oe,{className:"w-4 h-4 text-brand"}),e.jsx("span",{className:"text-label font-bold text-brand",children:c("quiz.questionProgress",{cur:f+1,total:i.questions.length})})]}),e.jsx("span",{className:"text-label text-ink-muted",children:c("quiz.answeredCorrect",{n:p.correct})})]}),e.jsx("div",{className:"text-body text-ink font-medium mb-3 leading-relaxed",children:M.prompt}),e.jsx("div",{className:"space-y-2 mb-3",children:M.options.map((w,j)=>{const E=h===j,A=x&&j===M.answer,I=x&&E&&!A;return e.jsxs("button",{onClick:()=>!x&&l(j),disabled:x,"data-testid":`quiz-option-${j}`,className:`w-full text-left text-body p-2.5 rounded-lg border-2 font-medium transition-colors ${A?"border-brand bg-brand/10 text-brand animate-answer-correct":I?"border-warning bg-warning/10 text-warning animate-answer-wrong":E?"border-accent bg-accent/10 text-accent":"border-[var(--border)] text-ink-muted hover:border-[var(--border)]"} ${x?"cursor-default":"cursor-pointer"}`,children:[e.jsx("span",{className:"font-bold mr-2",children:String.fromCharCode(65+j)}),w,A&&e.jsx("span",{className:"float-right",children:e.jsx(D,{className:"w-4 h-4 inline-block"})}),I&&e.jsx("span",{className:"float-right",children:e.jsx(G,{className:"w-4 h-4 inline-block"})})]},j)})}),x&&e.jsxs("div",{className:`rounded-lg p-3 mb-3 text-body leading-relaxed animate-artifact-render ${N?"bg-brand/10 border border-brand/30 text-brand":"bg-warning/10 border border-warning/30 text-warning"}`,"data-testid":"quiz-explanation",children:[e.jsxs("div",{className:"font-bold mb-1 flex items-center gap-1.5",children:[N?e.jsx(D,{className:"w-4 h-4"}):e.jsx(G,{className:"w-4 h-4"}),e.jsx("span",{children:c(N?"quiz.correct":"quiz.wrong")})]}),e.jsx("div",{className:"text-ink-muted",children:M.explanation})]}),x?e.jsx("button",{onClick:$,"data-testid":"quiz-next",className:"btn-3d-brand w-full py-2 text-body",children:f+1<i.questions.length?c("exercise.next"):c("quiz.finish")}):e.jsx("button",{onClick:C,disabled:h===null,"data-testid":"quiz-submit",className:"btn-3d-brand w-full py-2 text-body disabled:opacity-40",children:c("exercise.submit")}),i.warnings&&i.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(T,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:i.warnings.join("; ")})]})]})}function U({data:s,variant:t="card"}){const n=s,a=R(),[r,i]=g.useState(!1),c=e.jsxs("table",{className:"text-body",style:{width:"max-content",minWidth:"100%"},children:[e.jsx("thead",{children:e.jsx("tr",{className:"bg-surface-3/60",children:n.headers.map((o,d)=>e.jsx("th",{className:`px-3 py-2.5 text-left font-bold border-b border-[var(--border)] ${d===0?"text-ink-strong":"text-ink"}`,children:o},d))})}),e.jsx("tbody",{children:n.rows.map((o,d)=>e.jsx("tr",{className:d%2===0?"bg-surface-0/40":"",children:o.map((f,b)=>e.jsx("td",{className:`px-3 py-2.5 border-b border-[var(--border-faint)] align-top leading-relaxed ${b===0?"font-bold text-ink-strong whitespace-nowrap bg-surface-1/40":"text-ink-muted"}`,style:b===0?void 0:{maxWidth:260,overflowWrap:"anywhere"},children:f},b))},d))})]});return t==="canvas"?e.jsx("div",{className:"w-fit","data-testid":"comparetable-canvas-content",children:c}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-compare-table",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(ce,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:n.title})]}),e.jsx("button",{onClick:()=>i(!0),"data-testid":"comparetable-expand","aria-label":a("artifact.viewer.open"),"data-tooltip":a("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center shrink-0",children:e.jsx(K,{className:"w-3.5 h-3.5"})})]}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-[var(--border-faint)]",onClick:()=>i(!0),style:{touchAction:"pan-x pan-y"},"data-noswipe":"",children:c}),n.warnings&&n.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(T,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:n.warnings.join("; ")})]}),r&&e.jsx(H,{title:n.title,onClose:()=>i(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(B,{testid:"comparetable-modal-stage",children:e.jsx("div",{className:"p-2 surface-card",children:e.jsx(U,{data:s,variant:"canvas"})})})})})]})}function V({data:s,variant:t="card"}){const n=s,a=R(),[r,i]=g.useState(null),[c,o]=g.useState(!1),d=g.useRef([]),f=g.useRef([]),b=n.code.split(`
14
- `),[h,l]=g.useState(null);g.useEffect(()=>{let u=!0;return le(n.code,n.language).then(m=>{u&&m&&l(m)}),()=>{u=!1}},[n.code,n.language]);const x=u=>{if(r===null)return!1;const m=n.annotations[r];return m&&u>=m.lineStart&&u<=m.lineEnd},k=u=>{const m=r===u?null:u;if(i(m),m!==null){const v=n.annotations[m],S=(c?f:d).current[v.lineStart-1];S==null||S.scrollIntoView({behavior:"smooth",block:"center"})}},p=u=>e.jsx("div",{className:"bg-neutral-950 rounded-lg overflow-hidden border border-neutral-800 max-h-[420px] overflow-y-auto",children:e.jsx("pre",{className:"text-label font-mono leading-relaxed overflow-x-auto",children:e.jsx("code",{children:b.map((m,v)=>{const S=v+1;return e.jsxs("div",{ref:M=>{u.current[v]=M},className:`flex ${x(S)?"bg-brand/15":""}`,children:[e.jsx("span",{className:"select-none text-neutral-600 pr-3 pl-3 text-right w-10 shrink-0 border-r border-neutral-800 tabular-nums",children:S}),h&&h[v]!=null?e.jsx("span",{className:"pl-3 whitespace-pre text-neutral-200","data-testid":"walk-shiki-line",dangerouslySetInnerHTML:{__html:h[v]||" "}}):e.jsx("span",{className:"text-neutral-200 pl-3 whitespace-pre",children:m||" "})]},v)})})})}),y=e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-caption font-bold text-ink-muted",children:a("artifact.codewalk.sectionLabel")}),n.annotations.map((u,m)=>e.jsxs("button",{onClick:()=>k(m),"data-testid":`annotation-${m}`,className:`w-full text-left p-2.5 rounded-lg border transition-colors ${r===m?"border-brand bg-brand/10":"border-[var(--border-faint)] hover:border-[var(--border)]"}`,children:[e.jsx("div",{className:"text-caption font-bold text-brand mb-0.5",children:u.lineEnd!==u.lineStart?a("artifact.codewalk.lineRange",{a:u.lineStart,b:u.lineEnd}):a("artifact.codewalk.lineSingle",{n:u.lineStart})}),e.jsx("div",{className:"text-body text-ink-muted leading-relaxed",children:u.note})]},m))]});return t==="canvas"?e.jsx("div",{className:"w-fit","data-testid":"codewalk-canvas-content",children:p(f)}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-code-walkthrough",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(de,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:n.title}),e.jsx("span",{className:"text-caption font-bold px-1.5 py-0.5 rounded bg-surface-3 text-ink-muted font-mono shrink-0",children:n.language})]}),e.jsx("button",{onClick:()=>o(!0),"data-testid":"codewalk-expand","aria-label":a("artifact.viewer.open"),"data-tooltip":a("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center shrink-0",children:e.jsx(K,{className:"w-3.5 h-3.5"})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-3",children:[e.jsx("div",{onClick:()=>{c||o(!0)},style:{touchAction:"pan-x pan-y"},"data-noswipe":"",children:p(d)}),y]}),n.warnings&&n.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(T,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:n.warnings.join("; ")})]}),c&&e.jsx(H,{title:n.title,onClose:()=>o(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(B,{testid:"codewalk-modal-stage",children:e.jsx(V,{data:s,variant:"canvas"})})})})]})}function Ae({data:s,onPickAction:t}){const n=s,a=R(),[r,i]=g.useState(null),c=o=>{r||(i(o.id),t==null||t(`${a("guess.pickedPrefix")}${o.label}`))};return e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-guess",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(me,{className:"w-4 h-4 text-accent"}),e.jsx("span",{className:"text-label font-bold text-accent",children:a("guess.header")})]}),e.jsx("div",{className:"text-body text-ink font-medium mb-3 leading-relaxed",children:n.prompt}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2 mb-2",children:n.options.map(o=>{const d=r===o.id,f=r!==null;return e.jsxs("button",{onClick:()=>c(o),disabled:f,"data-testid":`guess-option-${o.id}`,className:`text-body p-2.5 rounded-lg border-2 font-medium transition-colors text-left flex items-center justify-between gap-2 ${d?"border-accent bg-accent/10 text-accent":f?"border-[var(--border-faint)] text-ink-faint cursor-default":"border-[var(--border)] text-ink-muted hover:border-accent hover:text-accent cursor-pointer"}`,children:[e.jsx("span",{children:o.label}),d&&e.jsx(D,{className:"w-4 h-4 shrink-0"})]},o.id)})}),r&&e.jsx("div",{className:"text-label text-ink-muted mt-1","data-testid":"guess-picked-hint",children:a("guess.waitReveal")}),n.warnings&&n.warnings.length>0&&e.jsx("div",{className:"mt-2 text-caption text-warning","data-testid":"artifact-warnings",children:n.warnings.join("; ")})]})}function Pe({data:s,onQuizAnswered:t,quizMastery:n,onPickAction:a,onQuizCompleted:r,variant:i="card"}){const c=s;if(!c||!c.artifactType)return e.jsx(F,{data:s});switch(c.artifactType){case"concept_map":return e.jsx(Se,{data:s,variant:i});case"quiz":return e.jsx(Re,{data:s,onAnswered:t,quizMastery:n,onPickAction:a,onQuizCompleted:r});case"compare_table":return e.jsx(U,{data:s,variant:i});case"diagram":return e.jsx(ue,{data:s,variant:i});case"code_walkthrough":return e.jsx(V,{data:s,variant:i});case"guess":return e.jsx(Ae,{data:s,onPickAction:a});default:return e.jsx(F,{data:s})}}function F({data:s}){var n;const t=R();return e.jsxs("div",{className:"surface-card p-4 text-body text-ink-muted","data-testid":"artifact-unknown",children:[e.jsxs("div",{className:"font-bold mb-1 flex items-center gap-1.5",children:[e.jsx(he,{className:"w-4 h-4"}),t("artifact.unknownHeader")]}),e.jsx("pre",{className:"text-caption overflow-x-auto text-ink-muted",children:(n=JSON.stringify(s,null,2))==null?void 0:n.slice(0,200)})]})}export{Pe as ArtifactRenderer,V as CodeWalkthroughArtifact,U as CompareTableArtifact,Se as ConceptMapArtifact,Ae as GuessArtifact,ue as MermaidArtifact,Re as QuizArtifact};
@@ -1 +0,0 @@
1
- import{s as r,b as e,a,S as i}from"./chunk-M3IUQBOH-DZWUYlu1.js";import{_ as s}from"./render-O7CIS3YK-DU3B_ERD.js";import"./transform-Bd_a5eGM.js";import"./chunk-LV3HUYFY-D2A9VNi8.js";import"./chunk-NDIOYS4C-Cg_gB3IQ.js";import"./chunk-ISA7TJRJ-BReqmCMw.js";import"./mermaid-layout-elk.core-DfOj66Qv.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var g={parser:a,get db(){return new i(2)},renderer:e,styles:r,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{g as diagram};
@@ -1 +0,0 @@
1
- import{s as r,b as e,a,S as s}from"./chunk-IMKFNOWR-vd22BhM5.js";import{_ as i}from"./mermaid.core-B8uFE6gu.js";import"./transform-Bd_a5eGM.js";import"./chunk-XXDRQBXY-IwMJhHxA.js";import"./chunk-POPQ4Y6H-CpFBYm4R.js";import"./chunk-F27PBJKO-ia4EagnF.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";var b={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{b as diagram};
@@ -1,8 +0,0 @@
1
- import{c as r,s as e}from"./flowDiagram-A5DVABFB-2Z4AVO5R-C_7fHJVS.js";import{_ as a}from"./render-O7CIS3YK-DU3B_ERD.js";import"./transform-Bd_a5eGM.js";import"./chunk-LV3HUYFY-D2A9VNi8.js";import"./chunk-CXNFBKHE-C91q6lvg.js";import"./chunk-NDIOYS4C-Cg_gB3IQ.js";import"./chunk-ISA7TJRJ-BReqmCMw.js";import"./mermaid-layout-elk.core-DfOj66Qv.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var o=a(t=>`${e(t)}
2
- .swimlane.cluster rect {
3
- stroke: ${t.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,"getStyles"),m=o,g=r({defaultLayout:"swimlane",styles:m});export{g as diagram};
@@ -1,8 +0,0 @@
1
- import{c as r,s as e}from"./flowDiagram-HODETNUW-CEwpjqJR.js";import{_ as a}from"./mermaid.core-B8uFE6gu.js";import"./transform-Bd_a5eGM.js";import"./chunk-5VM5RSS4-DwAMOseZ.js";import"./chunk-XXDRQBXY-IwMJhHxA.js";import"./chunk-POPQ4Y6H-CpFBYm4R.js";import"./chunk-F27PBJKO-ia4EagnF.js";import"./channel-D_-re5YU.js";import"./main-C7vIrKEC.js";import"./index-jKxnKPxh.js";var o=a(t=>`${e(t)}
2
- .swimlane.cluster rect {
3
- stroke: ${t.clusterBorder} !important;
4
- }
5
- [data-look="neo"].cluster rect {
6
- filter: none;
7
- }
8
- `,"getStyles"),m=o,_=r({defaultLayout:"swimlane",styles:m});export{_ as diagram};