hermes-web-ui 0.6.30-beta.2 → 0.6.30

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 (257) hide show
  1. package/dist/client/assets/js/AppSidebar-B8eJvJ5L.js +1 -0
  2. package/dist/client/assets/js/{ChannelsView-DMyeoPl6.js → ChannelsView-rBs9Ylzp.js} +1 -1
  3. package/dist/client/assets/js/{ChatPanel-YZZNE2mg.js → ChatPanel-BjHQvYcw.js} +1 -1
  4. package/dist/client/assets/js/{ChatView-BSWI-pr1.js → ChatView-xEwjnXLo.js} +1 -1
  5. package/dist/client/assets/js/{CodingAgentsView-DGweBEVs.js → CodingAgentsView-DcVwegsz.js} +1 -1
  6. package/dist/client/assets/js/{DefaultCredentialPrompt-DwS2g874.js → DefaultCredentialPrompt-sFeH1odX.js} +1 -1
  7. package/dist/client/assets/js/{DesktopPetView-C2QyaxNu.js → DesktopPetView-DKYjal2v.js} +1 -1
  8. package/dist/client/assets/js/{DesktopTitleBar-CMvwjOsN.js → DesktopTitleBar-YzhbwcwX.js} +1 -1
  9. package/dist/client/assets/js/{DevicesView-3VMSlXCt.js → DevicesView-CnAjn0fI.js} +1 -1
  10. package/dist/client/assets/js/{FileEditor-Dkxlmokr.js → FileEditor-C_tmKjxI.js} +3 -3
  11. package/dist/client/assets/js/{FileRenameModal-o3oS6tv2.js → FileRenameModal-BlqJ8jgZ.js} +2 -2
  12. package/dist/client/assets/js/{FilesView-BlJtiYU7.js → FilesView-Dy8G_exi.js} +1 -1
  13. package/dist/client/assets/js/{FolderPicker-DYQaj8Cc.js → FolderPicker-DEUyd_JU.js} +1 -1
  14. package/dist/client/assets/js/{GlobalAgentView-CGRn1ucS.js → GlobalAgentView-C0NgWvKP.js} +1 -1
  15. package/dist/client/assets/js/{GroupChatView-GXbwwUn9.js → GroupChatView-Mr8SR7nA.js} +2 -2
  16. package/dist/client/assets/js/{HistoryMessageList-B1UsdtzR.js → HistoryMessageList--MuOQ24m.js} +1 -1
  17. package/dist/client/assets/js/{HistoryView-DukXpB7A.js → HistoryView-Boy6KWxz.js} +1 -1
  18. package/dist/client/assets/js/{JobsView-C2IfX4Oo.js → JobsView-5Jun6EjM.js} +2 -2
  19. package/dist/client/assets/js/{JourneyView-UX14Uvsk.js → JourneyView-DAU7N8iU.js} +1 -1
  20. package/dist/client/assets/js/{KanbanView-BFLDXNmq.js → KanbanView-CQOeRquP.js} +1 -1
  21. package/dist/client/assets/js/{LoginView-BMnZx434.js → LoginView-DTdp1xsa.js} +1 -1
  22. package/dist/client/assets/js/{LogsView-CFxOjMBB.js → LogsView-Dr6gD_kA.js} +1 -1
  23. package/dist/client/assets/js/{MarkdownRenderer-RUGb4sbQ.js → MarkdownRenderer-DpSiF5gl.js} +3 -3
  24. package/dist/client/assets/js/{McpManagerView-D46nhm85.js → McpManagerView-BzGj5qqQ.js} +1 -1
  25. package/dist/client/assets/js/{MemoryView-CGvbW1Yq.js → MemoryView-2gPDgre_.js} +2 -2
  26. package/dist/client/assets/js/{MessageItem-rIbgU0g3.js → MessageItem-D91t-tiL.js} +2 -2
  27. package/dist/client/assets/js/{MessageList-7o_1_iPw.js → MessageList-KgA7oDKg.js} +1 -1
  28. package/dist/client/assets/js/{ModelsView-Cdl5HVlO.js → ModelsView-GVgHBsyL.js} +1 -1
  29. package/dist/client/assets/js/{OutlinePanel-BmsAdxB0.js → OutlinePanel-DD6XxWAu.js} +1 -1
  30. package/dist/client/assets/js/{PageSidebarFooter-fp9dcg3s.js → PageSidebarFooter-DFaGG_bk.js} +1 -1
  31. package/dist/client/assets/js/{PerformanceView-asJG1CAC.js → PerformanceView-YI2ecC28.js} +1 -1
  32. package/dist/client/assets/js/{PetdexView-CgsImZ2C.js → PetdexView-Bt4e1TDL.js} +1 -1
  33. package/dist/client/assets/js/{PluginsView-CiiHUv8H.js → PluginsView-BZHzh6V0.js} +1 -1
  34. package/dist/client/assets/js/{ProfileAvatar-CeGhJamd.js → ProfileAvatar-Du1XMoe0.js} +1 -1
  35. package/dist/client/assets/js/{ProfilesView-CPcFsEMn.js → ProfilesView-C02GlAXO.js} +1 -1
  36. package/dist/client/assets/js/{ProviderConfigurationPrompt-CCXQ_nqY.js → ProviderConfigurationPrompt-DbD_q_xl.js} +1 -1
  37. package/dist/client/assets/js/{SessionSearchModal-Chmtohb_.js → SessionSearchModal-CRoerPzU.js} +1 -1
  38. package/dist/client/assets/js/{SettingRow-CxdhcC5J.js → SettingRow-CZ1bK2YG.js} +1 -1
  39. package/dist/client/assets/js/{SettingsCircuitBadge-DmwONg4K.js → SettingsCircuitBadge-2VINGRjT.js} +1 -1
  40. package/dist/client/assets/js/{SettingsView-Bd02BnM7.js → SettingsView-C63TriKv.js} +1 -1
  41. package/dist/client/assets/js/{SkillsUsageView-Cvk_dctX.js → SkillsUsageView-DufR6RDh.js} +1 -1
  42. package/dist/client/assets/js/{SkillsView-BrS15WHY.js → SkillsView-LzeD-ReE.js} +2 -2
  43. package/dist/client/assets/js/{TerminalView-Betjhhzm.js → TerminalView-j3wokVwS.js} +1 -1
  44. package/dist/client/assets/js/{UsageView-gENmuPca.js → UsageView-BVdos-wH.js} +1 -1
  45. package/dist/client/assets/js/{VersionPreviewView-D4wMkRdU.js → VersionPreviewView-D46YOdsc.js} +1 -1
  46. package/dist/client/assets/js/{WebPet-C-F5hsmU.js → WebPet-PrNf1KLw.js} +1 -1
  47. package/dist/client/assets/js/{WorkflowView-DCQycw5y.js → WorkflowView-BWG_o4Lg.js} +1 -1
  48. package/dist/client/assets/js/{abap-Bpce3YCc.js → abap-B5rRrPlH.js} +1 -1
  49. package/dist/client/assets/js/{apex-BZWMlx8R.js → apex-kxpOZZnW.js} +1 -1
  50. package/dist/client/assets/js/architecture-7EHR7CIX-BsCtaKPb.js +1 -0
  51. package/dist/client/assets/js/{architectureDiagram-3BPJPVTR-DgYZW-VJ.js → architectureDiagram-3BPJPVTR-CGR0-xeM.js} +1 -1
  52. package/dist/client/assets/js/{auth-DAz8TLhP.js → auth-QlZVq-Mb.js} +1 -1
  53. package/dist/client/assets/js/{azcli-CU70G-wD.js → azcli-BinA5kBH.js} +1 -1
  54. package/dist/client/assets/js/{bat-_PVMPuXp.js → bat-Cr0qo7tY.js} +1 -1
  55. package/dist/client/assets/js/{bicep-B1C-nHUL.js → bicep-B4C1_29j.js} +1 -1
  56. package/dist/client/assets/js/{blockDiagram-GPEHLZMM-D9eCcYUu.js → blockDiagram-GPEHLZMM-DMRT9qE7.js} +1 -1
  57. package/dist/client/assets/js/{c4Diagram-AAUBKEIU-Cc2j_5Hk.js → c4Diagram-AAUBKEIU-BS013lHX.js} +1 -1
  58. package/dist/client/assets/js/{cameligo-BRxFWUB9.js → cameligo-DQKQuDHg.js} +1 -1
  59. package/dist/client/assets/js/{chat-DASgRGiI.js → chat-BHkNRr2D.js} +1 -1
  60. package/dist/client/assets/js/{chat-input-height-xMpE0zfj.js → chat-input-height-C9XyOGPU.js} +1 -1
  61. package/dist/client/assets/js/{chat-timestamp-B4kSmeEg.js → chat-timestamp-sj8rR29x.js} +1 -1
  62. package/dist/client/assets/js/{chunk-2J33WTMH-CIWIJ3Vy.js → chunk-2J33WTMH-BuvstStb.js} +1 -1
  63. package/dist/client/assets/js/{chunk-3OPIFGDE-D8rNjXTj.js → chunk-3OPIFGDE-DFuFb6Dn.js} +1 -1
  64. package/dist/client/assets/js/{chunk-4BX2VUAB-Be1NT72j.js → chunk-4BX2VUAB-C8f7FKlW.js} +1 -1
  65. package/dist/client/assets/js/{chunk-55IACEB6-D9jngYNS.js → chunk-55IACEB6-DoNUYELD.js} +1 -1
  66. package/dist/client/assets/js/{chunk-5ZQYHXKU-DsBTFfjP.js → chunk-5ZQYHXKU-D0RIlhMr.js} +1 -1
  67. package/dist/client/assets/js/{chunk-727SXJPM-B4ElG_Of.js → chunk-727SXJPM-Dcg9rcP1.js} +1 -1
  68. package/dist/client/assets/js/{chunk-AQP2D5EJ-DqmSdc2v.js → chunk-AQP2D5EJ-BrEs3845.js} +1 -1
  69. package/dist/client/assets/js/{chunk-BSJP7CBP-Dwbw_lcd.js → chunk-BSJP7CBP-2t71L2nD.js} +1 -1
  70. package/dist/client/assets/js/{chunk-CSCIHK7Q-D0eX0NV1.js → chunk-CSCIHK7Q-jw9fZDC9.js} +3 -3
  71. package/dist/client/assets/js/{chunk-FMBD7UC4-Ifok5gk4.js → chunk-FMBD7UC4-CC_5MTtl.js} +1 -1
  72. package/dist/client/assets/js/{chunk-KSCS5N6A-D6b_0Rnx.js → chunk-KSCS5N6A-Ctj260fA.js} +1 -1
  73. package/dist/client/assets/js/{chunk-L5ZTLDWV-eR6nltId.js → chunk-L5ZTLDWV-CF8sc4Ay.js} +1 -1
  74. package/dist/client/assets/js/{chunk-LZXEDZCA-h6nPcsB6.js → chunk-LZXEDZCA-BsmuMR5Z.js} +2 -2
  75. package/dist/client/assets/js/{chunk-ND2GUHAM-vGFiX1jf.js → chunk-ND2GUHAM-CvXXD5FC.js} +1 -1
  76. package/dist/client/assets/js/{chunk-NZK2D7GU-BQcgYAVF.js → chunk-NZK2D7GU-BQeu8oaR.js} +1 -1
  77. package/dist/client/assets/js/{chunk-O5CBEL6O-DqGyu-Fq.js → chunk-O5CBEL6O-D9XUSNoV.js} +1 -1
  78. package/dist/client/assets/js/{chunk-QZHKN3VN-Bf_cn5Px.js → chunk-QZHKN3VN-qz6ukpCd.js} +1 -1
  79. package/dist/client/assets/js/{chunk-WU5MYG2G-3I1ZwKkc.js → chunk-WU5MYG2G-Cv_QOL8q.js} +1 -1
  80. package/dist/client/assets/js/{chunk-XPW4576I-DDUD-9JS.js → chunk-XPW4576I-BQK5_1lO.js} +1 -1
  81. package/dist/client/assets/js/classDiagram-4FO5ZUOK-DudE54ap.js +1 -0
  82. package/dist/client/assets/js/classDiagram-v2-Q7XG4LA2-7vuaSqRj.js +1 -0
  83. package/dist/client/assets/js/{clipboard-DbIDy3AT.js → clipboard-DYlTCW_e.js} +1 -1
  84. package/dist/client/assets/js/{clojure-Dcj6e71m.js → clojure-CdqoJung.js} +1 -1
  85. package/dist/client/assets/js/{coding-agents-CaDRq0na.js → coding-agents-6iW0O8m3.js} +1 -1
  86. package/dist/client/assets/js/{codingAgentProviders-D561caSN.js → codingAgentProviders-CcodfSH-.js} +1 -1
  87. package/dist/client/assets/js/{coffee-CbYrIyIn.js → coffee-BWTAEena.js} +1 -1
  88. package/dist/client/assets/js/{completion-notification-DsOPieYQ.js → completion-notification-BAmmQT0D.js} +1 -1
  89. package/dist/client/assets/js/{cose-bilkent-S5V4N54A-DMeSp3o-.js → cose-bilkent-S5V4N54A-DRKeHjkL.js} +1 -1
  90. package/dist/client/assets/js/{cpp-C285XCcy.js → cpp-BVlDwaOY.js} +1 -1
  91. package/dist/client/assets/js/{csharp-AOA29tQw.js → csharp-BJ8TvX5x.js} +1 -1
  92. package/dist/client/assets/js/{csp-BH3dEG6O.js → csp-C4M5VPIw.js} +1 -1
  93. package/dist/client/assets/js/{css-B57baUKb.js → css-I3bSR4aB.js} +1 -1
  94. package/dist/client/assets/js/{cssMode-BL-figOg.js → cssMode-D4KFuV7w.js} +1 -1
  95. package/dist/client/assets/js/{cypher-WtS-OVKo.js → cypher-CRdq7Gis.js} +1 -1
  96. package/dist/client/assets/js/{cytoscape.esm-D5tsfvvu.js → cytoscape.esm-DkgBNPTq.js} +1 -1
  97. package/dist/client/assets/js/{dagre-BM42HDAG-ZT4Tyhdh.js → dagre-BM42HDAG-CaadqbBP.js} +1 -1
  98. package/dist/client/assets/js/{dagre-B9R_qlQx.js → dagre-C8VfHmP4.js} +1 -1
  99. package/dist/client/assets/js/{dart-DF9gqEcq.js → dart-dwyDElLm.js} +1 -1
  100. package/dist/client/assets/js/{de-EFWp16Qh.js → de--4CNgQuL.js} +1 -1
  101. package/dist/client/assets/js/{defineProperty-DuJZezkY.js → defineProperty-BDo2HL0q.js} +1 -1
  102. package/dist/client/assets/js/{diagram-2AECGRRQ-xaP4EEEl.js → diagram-2AECGRRQ-Cun81Ans.js} +1 -1
  103. package/dist/client/assets/js/{diagram-5GNKFQAL-DIyCvoeX.js → diagram-5GNKFQAL-CQzVKYOI.js} +1 -1
  104. package/dist/client/assets/js/{diagram-KO2AKTUF-DUgBO_lP.js → diagram-KO2AKTUF-BPfQv40Z.js} +1 -1
  105. package/dist/client/assets/js/{diagram-LMA3HP47-7BPLQ2mh.js → diagram-LMA3HP47-D8TC5VV0.js} +1 -1
  106. package/dist/client/assets/js/{diagram-OG6HWLK6-Bf3loU_i.js → diagram-OG6HWLK6-CRHwtHSe.js} +1 -1
  107. package/dist/client/assets/js/{dist-B5dYmTWx.js → dist-CfFdo9r8.js} +1 -1
  108. package/dist/client/assets/js/{dockerfile-Czh5hcPx.js → dockerfile-CILemvfU.js} +1 -1
  109. package/dist/client/assets/js/{download-D8EaUX1d.js → download-48rHoTgx.js} +1 -1
  110. package/dist/client/assets/js/{ecl-CX15-2F3.js → ecl-Ealz99xU.js} +1 -1
  111. package/dist/client/assets/js/{elixir-DAeHVhZ1.js → elixir-shrM9Xh9.js} +1 -1
  112. package/dist/client/assets/js/{en-Be915fg0.js → en-CJJ1jL_Y.js} +1 -1
  113. package/dist/client/assets/js/{erDiagram-TEJ5UH35-Cohr37bj.js → erDiagram-TEJ5UH35-BPm-r9Hg.js} +1 -1
  114. package/dist/client/assets/js/{es-CifdmPsf.js → es-DzGYbRQj.js} +1 -1
  115. package/dist/client/assets/js/{esm-BnjT8clq.js → esm-BMJNKLtg.js} +1 -1
  116. package/dist/client/assets/js/eventmodeling-FCH6USID-C3kT7Z0E.js +1 -0
  117. package/dist/client/assets/js/{files-DaoyoU6g.js → files-hTAbTvaX.js} +1 -1
  118. package/dist/client/assets/js/{flow9-DbPITgDY.js → flow9-BcjKeG3-.js} +1 -1
  119. package/dist/client/assets/js/{flowDiagram-I6XJVG4X-B264a192.js → flowDiagram-I6XJVG4X-_BaH5aHT.js} +1 -1
  120. package/dist/client/assets/js/{fr-cOjPUfRx.js → fr-DcCzCkCs.js} +1 -1
  121. package/dist/client/assets/js/{freemarker2-DOLmB9KN.js → freemarker2-BNKS-Izq.js} +1 -1
  122. package/dist/client/assets/js/{fsharp-B-Yt6zK9.js → fsharp-CkihMS6p.js} +1 -1
  123. package/dist/client/assets/js/{ganttDiagram-6RSMTGT7-Ci7dhsnY.js → ganttDiagram-6RSMTGT7-Cbdw-Bcw.js} +1 -1
  124. package/dist/client/assets/js/gitGraph-WXDBUCRP-6wOXvHzD.js +1 -0
  125. package/dist/client/assets/js/{gitGraphDiagram-PVQCEYII-BlLk9eYS.js → gitGraphDiagram-PVQCEYII-B-bpVVPE.js} +1 -1
  126. package/dist/client/assets/js/{go-BOK2cgny.js → go-T3wwW6GT.js} +1 -1
  127. package/dist/client/assets/js/{graphlib-D2Mw_i7z.js → graphlib-zy-xgTNe.js} +1 -1
  128. package/dist/client/assets/js/{graphql-lNO0dhfX.js → graphql-efIwdE3z.js} +1 -1
  129. package/dist/client/assets/js/{handlebars-CVZmi01T.js → handlebars-I50ARPXc.js} +1 -1
  130. package/dist/client/assets/js/{hcl-DzR879Fw.js → hcl-1nBprOUg.js} +1 -1
  131. package/dist/client/assets/js/{highlight-Dj4_XEnA.js → highlight-CEOB4aIv.js} +1 -1
  132. package/dist/client/assets/js/{html-PlnnXcHR.js → html-Dj-ePZ46.js} +1 -1
  133. package/dist/client/assets/js/{htmlMode-Fmdr8cyl.js → htmlMode-CaN3hz4S.js} +1 -1
  134. package/dist/client/assets/js/{http-error-DN0Q0NIV.js → http-error-DzA5OQEf.js} +1 -1
  135. package/dist/client/assets/js/{index-B41wzfl2.js → index-RJQqJC6n.js} +4 -4
  136. package/dist/client/assets/js/info-J43DQDTF-BIWBwu_u.js +1 -0
  137. package/dist/client/assets/js/{infoDiagram-5YYISTIA-NDi7uRio.js → infoDiagram-5YYISTIA-BNXSec0Z.js} +1 -1
  138. package/dist/client/assets/js/{ini-DrTE-Qjw.js → ini-3Ot_KNDr.js} +1 -1
  139. package/dist/client/assets/js/{ishikawaDiagram-YF4QCWOH-Bqr4yRKd.js → ishikawaDiagram-YF4QCWOH-g75yRzDd.js} +1 -1
  140. package/dist/client/assets/js/{ja-24otYQMe.js → ja-CQvWYnv9.js} +1 -1
  141. package/dist/client/assets/js/{java-M1cOm-yu.js → java-BnfIG6C2.js} +1 -1
  142. package/dist/client/assets/js/{javascript-BNXq8PNf.js → javascript-CsnYKLbf.js} +1 -1
  143. package/dist/client/assets/js/{journeyDiagram-JHISSGLW-BEtti5_h.js → journeyDiagram-JHISSGLW-Pz71rJgC.js} +1 -1
  144. package/dist/client/assets/js/{jsonMode-1QUqmLF3.js → jsonMode-C075GWTu.js} +1 -1
  145. package/dist/client/assets/js/{julia-dLq8Su3c.js → julia-BZ-d031P.js} +1 -1
  146. package/dist/client/assets/js/{kanban-definition-UN3LZRKU-B0OINhQN.js → kanban-definition-UN3LZRKU-CM65a4ke.js} +1 -1
  147. package/dist/client/assets/js/{katex-RcNO5wwe.js → katex-CdfrrN4N.js} +1 -1
  148. package/dist/client/assets/js/{ko-BAFhhHmu.js → ko-CJGntapN.js} +1 -1
  149. package/dist/client/assets/js/{kotlin-u5eqp-HC.js → kotlin-Bvrb8ISQ.js} +1 -1
  150. package/dist/client/assets/js/{less-Bmv3Gp2t.js → less-BmSBm_Oo.js} +1 -1
  151. package/dist/client/assets/js/{lexon-D4tsg7Zx.js → lexon-DuK8nBv2.js} +1 -1
  152. package/dist/client/assets/js/{liquid-Bk2yC9hm.js → liquid-BWAc_45a.js} +1 -1
  153. package/dist/client/assets/js/{lspLanguageFeatures-D43hcBWA.js → lspLanguageFeatures-BiQVZMg4.js} +1 -1
  154. package/dist/client/assets/js/{lua-p9IseoQp.js → lua-CyRtU9wL.js} +1 -1
  155. package/dist/client/assets/js/{m3-CP_UPhUb.js → m3-Ew9Azayo.js} +1 -1
  156. package/dist/client/assets/js/{markdown-EMkhjbsA.js → markdown-DTnF9Yaz.js} +1 -1
  157. package/dist/client/assets/js/{mdx-CTIqsEU_.js → mdx-B5cGu-wW.js} +1 -1
  158. package/dist/client/assets/js/{mermaid-parser.core-Ct7VvVNd.js → mermaid-parser.core-H0g6x_iH.js} +3 -3
  159. package/dist/client/assets/js/{mermaid.core-bZP2CdTT.js → mermaid.core-Diknpn0Z.js} +3 -3
  160. package/dist/client/assets/js/{mindmap-definition-RKZ34NQL-HwEZyOHT.js → mindmap-definition-RKZ34NQL-CaunhL_H.js} +1 -1
  161. package/dist/client/assets/js/{mips-CkjAOBJ1.js → mips-Dxi7_29p.js} +1 -1
  162. package/dist/client/assets/js/{models-IOA_Ybyo.js → models-C1Vzhn4J.js} +1 -1
  163. package/dist/client/assets/js/{msdax-D3cfIob3.js → msdax-B6Bgb3AK.js} +1 -1
  164. package/dist/client/assets/js/{mysql-4uHNth4i.js → mysql-BL2x9OzM.js} +1 -1
  165. package/dist/client/assets/js/{objective-c-CJlpUpN6.js → objective-c-BrRFV0XK.js} +1 -1
  166. package/dist/client/assets/js/packet-YPE3B663-DQbqBYnW.js +1 -0
  167. package/dist/client/assets/js/{pascal-CQPmydYD.js → pascal-WA4C_PKB.js} +1 -1
  168. package/dist/client/assets/js/{pascaligo-BpcHvwdj.js → pascaligo-CJbWHnUY.js} +1 -1
  169. package/dist/client/assets/js/{perl-CPq40M_6.js → perl-BI9Huzvv.js} +1 -1
  170. package/dist/client/assets/js/{pets-C2oDgwB5.js → pets-B_-nzG9F.js} +1 -1
  171. package/dist/client/assets/js/{pgsql-CSQ1ge3t.js → pgsql-CzbvRnWT.js} +1 -1
  172. package/dist/client/assets/js/{php-DK0RYdED.js → php-CXAgA_El.js} +1 -1
  173. package/dist/client/assets/js/pie-LRSECV5Y-CIUK74nZ.js +1 -0
  174. package/dist/client/assets/js/{pieDiagram-4H26LBE5-BmAWShfi.js → pieDiagram-4H26LBE5-CCUnlpIr.js} +1 -1
  175. package/dist/client/assets/js/{pla-DWm3Ssta.js → pla-C0RuKVEY.js} +1 -1
  176. package/dist/client/assets/js/{postiats-D6U5CAH_.js → postiats-DrGBuYen.js} +1 -1
  177. package/dist/client/assets/js/{powerquery-luT1PmkC.js → powerquery-C2Rk0MWx.js} +1 -1
  178. package/dist/client/assets/js/{powershell-DqsTi5Tp.js → powershell-Co9Oecz_.js} +1 -1
  179. package/dist/client/assets/js/{profiles-DDKFPE0r.js → profiles-BtECgqqD.js} +1 -1
  180. package/dist/client/assets/js/{protobuf-xWgh_gwl.js → protobuf-BYEreCAs.js} +1 -1
  181. package/dist/client/assets/js/{pt-DPgTOGuO.js → pt-BLQB3VhC.js} +1 -1
  182. package/dist/client/assets/js/{pug-d0a6hBgd.js → pug-DYMxpfbA.js} +1 -1
  183. package/dist/client/assets/js/{python-SkkpZGKb.js → python-D14JG4Tf.js} +1 -1
  184. package/dist/client/assets/js/{qsharp-B4xC_SYh.js → qsharp-eGQdTxCC.js} +1 -1
  185. package/dist/client/assets/js/{quadrantDiagram-W4KKPZXB-DRn55Dz7.js → quadrantDiagram-W4KKPZXB-Do1jBZkB.js} +1 -1
  186. package/dist/client/assets/js/{r-qamn5sfb.js → r-BpBEd0qf.js} +1 -1
  187. package/dist/client/assets/js/radar-GUYGQ44K-DamlzFJn.js +1 -0
  188. package/dist/client/assets/js/{razor-DR9b_EzP.js → razor-DAKZoZ5s.js} +1 -1
  189. package/dist/client/assets/js/{redis-C46kUKug.js → redis-CecBwldA.js} +1 -1
  190. package/dist/client/assets/js/{redshift-DI_dWPgP.js → redshift-DxeKWFdZ.js} +1 -1
  191. package/dist/client/assets/js/{requirementDiagram-4Y6WPE33-Do_KEl0k.js → requirementDiagram-4Y6WPE33-Ccn1EcY0.js} +1 -1
  192. package/dist/client/assets/js/{restructuredtext-oYQfsBYX.js → restructuredtext-BBhjK4w8.js} +1 -1
  193. package/dist/client/assets/js/{rough.esm-BjtdUJeF.js → rough.esm-DKpVfK-g.js} +1 -1
  194. package/dist/client/assets/js/{ru-BGBuhe8j.js → ru-BXep69sk.js} +1 -1
  195. package/dist/client/assets/js/{ruby-Da1TZ4HB.js → ruby-9YJv-z0v.js} +1 -1
  196. package/dist/client/assets/js/{rust-GT6xUobW.js → rust-BihIDWCY.js} +1 -1
  197. package/dist/client/assets/js/{sankeyDiagram-5OEKKPKP-BRnR4W8h.js → sankeyDiagram-5OEKKPKP-BZF9SKVm.js} +1 -1
  198. package/dist/client/assets/js/{sb-D4kxpCPJ.js → sb-DSz7OJbn.js} +1 -1
  199. package/dist/client/assets/js/{scala-CY3U_fvs.js → scala-DrL9oxhs.js} +1 -1
  200. package/dist/client/assets/js/{scheme-DzdFAWU_.js → scheme-Bc0QxXW_.js} +1 -1
  201. package/dist/client/assets/js/{scss-CTwgV3JD.js → scss-BTsIuYyg.js} +1 -1
  202. package/dist/client/assets/js/{sequenceDiagram-3UESZ5HK-CoemgPYx.js → sequenceDiagram-3UESZ5HK-BplvirR_.js} +1 -1
  203. package/dist/client/assets/js/{session-browser-prefs-D3fgv9Yr.js → session-browser-prefs-DnMXaw-N.js} +1 -1
  204. package/dist/client/assets/js/{sessions-BeO9QOJY.js → sessions-wVroPs5k.js} +1 -1
  205. package/dist/client/assets/js/{settings-DM3CNjqC.js → settings-Bzod_9RQ.js} +1 -1
  206. package/dist/client/assets/js/{shell-CUF2wd73.js → shell-DG7-xFwe.js} +1 -1
  207. package/dist/client/assets/js/{skills-3O8WlKlI.js → skills-CQr0eeFF.js} +1 -1
  208. package/dist/client/assets/js/{solidity-C3RnBLh_.js → solidity-COxKdecX.js} +1 -1
  209. package/dist/client/assets/js/{sophia-BA8mP4aY.js → sophia-DtFj5ZDz.js} +1 -1
  210. package/dist/client/assets/js/{sparql-DcwhST_l.js → sparql-B1TD00SE.js} +1 -1
  211. package/dist/client/assets/js/{sql-CjGghxho.js → sql-b7qwDUco.js} +1 -1
  212. package/dist/client/assets/js/{src-Cz8NyTG1.js → src-Ra8Cw6Gr.js} +1 -1
  213. package/dist/client/assets/js/{st-B8Q32toW.js → st-BtSqB0Hh.js} +1 -1
  214. package/dist/client/assets/js/{stateDiagram-AJRCARHV-I4DYKB3q.js → stateDiagram-AJRCARHV-DhJkFuW8.js} +1 -1
  215. package/dist/client/assets/js/stateDiagram-v2-BHNVJYJU-CqTRINz_.js +1 -0
  216. package/dist/client/assets/js/{swift-Br8oKRCi.js → swift-T2X4Cn4t.js} +1 -1
  217. package/dist/client/assets/js/{systemverilog-DIL7pkd5.js → systemverilog-DeuLbp4J.js} +1 -1
  218. package/dist/client/assets/js/{tcl-C7A4eFCv.js → tcl-ZVjhRcKc.js} +1 -1
  219. package/dist/client/assets/js/{timeline-definition-PNZ67QCA-BnfftsIx.js → timeline-definition-PNZ67QCA-BFAfAvjz.js} +1 -1
  220. package/dist/client/assets/js/treeView-BLDUP644-H8OPaX_2.js +1 -0
  221. package/dist/client/assets/js/treemap-LRROVOQU-BhsUhAW8.js +1 -0
  222. package/dist/client/assets/js/{tsMode-BmS5yGbl.js → tsMode-BK8igQe0.js} +1 -1
  223. package/dist/client/assets/js/{ttsHelpers-DpzPhrib.js → ttsHelpers-CUglUfpM.js} +1 -1
  224. package/dist/client/assets/js/{twig-CxeEoeDi.js → twig-B2I_zOb5.js} +1 -1
  225. package/dist/client/assets/js/{typescript-BPw3e1LN.js → typescript-DqxcEPol.js} +1 -1
  226. package/dist/client/assets/js/{typespec-dQqbgDyW.js → typespec-DYubob7r.js} +1 -1
  227. package/dist/client/assets/js/{useSttSettings-Dd2zPJU6.js → useSttSettings-BAz3MWB_.js} +1 -1
  228. package/dist/client/assets/js/{vb-DpmkDtUb.js → vb-DulIu0AM.js} +1 -1
  229. package/dist/client/assets/js/{vennDiagram-CIIHVFJN-Bu76Q1QQ.js → vennDiagram-CIIHVFJN-BTMh4zH0.js} +1 -1
  230. package/dist/client/assets/js/wardley-L42UT6IY-w2cdSduy.js +1 -0
  231. package/dist/client/assets/js/{wardleyDiagram-YWT4CUSO-BQ7KDw3c.js → wardleyDiagram-YWT4CUSO-CjApV8-0.js} +1 -1
  232. package/dist/client/assets/js/{wgsl-BzEo-Lwp.js → wgsl-DiXzOVd2.js} +1 -1
  233. package/dist/client/assets/js/{xml-CNMAb3tW.js → xml-DtDrXyok.js} +1 -1
  234. package/dist/client/assets/js/{xterm-B-CU1LD3.js → xterm-CdfgdkPC.js} +1 -1
  235. package/dist/client/assets/js/{xychartDiagram-2RQKCTM6-B1x6n3B3.js → xychartDiagram-2RQKCTM6-DuaP4Pnm.js} +1 -1
  236. package/dist/client/assets/js/{yaml-DpwMHYi6.js → yaml-9_m3OBnv.js} +1 -1
  237. package/dist/client/assets/js/{zh-TW-BJY5MjsC.js → zh-TW-CLhifuOg.js} +1 -1
  238. package/dist/client/assets/js/{zh-CoPU4mYG.js → zh-gGY9f4WM.js} +1 -1
  239. package/dist/client/index.html +1 -1
  240. package/dist/server/index.js +3 -3
  241. package/dist/server/index.js.map +1 -1
  242. package/dist/server/openapi.json +1 -1
  243. package/package.json +1 -1
  244. package/dist/client/assets/js/AppSidebar-BHfH59vK.js +0 -1
  245. package/dist/client/assets/js/architecture-7EHR7CIX-CCBUg0GR.js +0 -1
  246. package/dist/client/assets/js/classDiagram-4FO5ZUOK-Dr5SR3PA.js +0 -1
  247. package/dist/client/assets/js/classDiagram-v2-Q7XG4LA2-BeYcryNa.js +0 -1
  248. package/dist/client/assets/js/eventmodeling-FCH6USID-Cd6TFrci.js +0 -1
  249. package/dist/client/assets/js/gitGraph-WXDBUCRP-CG4qC9Jw.js +0 -1
  250. package/dist/client/assets/js/info-J43DQDTF-CFtOWOWw.js +0 -1
  251. package/dist/client/assets/js/packet-YPE3B663-C0Vs_oOB.js +0 -1
  252. package/dist/client/assets/js/pie-LRSECV5Y-CAscu7sk.js +0 -1
  253. package/dist/client/assets/js/radar-GUYGQ44K-CfxS0DQE.js +0 -1
  254. package/dist/client/assets/js/stateDiagram-v2-BHNVJYJU-BHJGHZeG.js +0 -1
  255. package/dist/client/assets/js/treeView-BLDUP644-wNgfMdO5.js +0 -1
  256. package/dist/client/assets/js/treemap-LRROVOQU-Dy2LkAdg.js +0 -1
  257. package/dist/client/assets/js/wardley-L42UT6IY-BGLmswxh.js +0 -1
@@ -1 +1 @@
1
- import{Ci as r,Cr as sl,E as al,Gi as p,Hr as tl,Pi as Q,Qi as i,Qr as e,Ti as f,Ut as R,Yr as m,Zr as v,aa as q,ai as C,ci as il,ea as G,ei as F,n as ol,na as b,oi as K,ra as a,t as rl,ti as n,wr as nl,xi as ul}from"./index-B41wzfl2.js";import{r as dl,t as _l}from"./profiles-DDKFPE0r.js";import{l as cl,o as vl}from"./skills-3O8WlKlI.js";var O,W,Y,Z,j,J,X,ee,le,se,ae,te,ie,oe,re,ne,ue,de,_e,ce,ve,he,ke,me,pe,ge,ye,fe,be,Se,Ue,we,xe,Ce,Me,Ve,$e,De,Fe,Be,Pe,qe,Te,ze,Ae,Le,Ne,Ie,Ee,He,B,P,Re,Qe=q((()=>{tl(),sl(),al(),_l(),cl(),O={class:"skills-usage-view"},W={class:"page-header"},Y={class:"header-text"},Z={class:"header-title"},j={class:"header-subtitle"},J={class:"skills-usage-toolbar"},X=["aria-label"],ee={class:"skills-usage-content"},le={key:0,class:"skills-usage-state error"},se={key:1,class:"skills-usage-state"},ae={key:0,class:"inline-error"},te={class:"overview-grid"},ie={class:"panel-header"},oe={key:0,class:"skills-usage-state compact"},re={class:"skill-bar-chart"},ne=["onMouseenter","onFocusin","onMouseleave","onFocusout"],ue={class:"skill-bar-track"},de=["data-skill"],_e={class:"tooltip-date"},ce={class:"tooltip-row total"},ve={class:"bar-dates"},he=["aria-label"],ke={class:"summary-card primary"},me={class:"summary-label"},pe={class:"summary-value"},ge={class:"summary-card"},ye={class:"summary-label"},fe={class:"summary-value"},be={class:"summary-card"},Se={class:"summary-label"},Ue={class:"summary-value"},we={class:"summary-card"},xe={class:"summary-label"},Ce={class:"summary-value"},Me={class:"usage-panel"},Ve={class:"panel-header"},$e={key:0,class:"skills-usage-state compact"},De=["aria-label"],Fe={class:"skills-row table-head",role:"row"},Be={role:"columnheader"},Pe={role:"columnheader"},qe={role:"columnheader"},Te={role:"columnheader"},ze={role:"columnheader"},Ae={class:"skill-name",role:"cell"},Le={role:"cell"},Ne={role:"cell"},Ie={class:"share-cell",role:"cell"},Ee={class:"share-bar"},He={class:"last-used",role:"cell"},B=6,P="#5b6b84",Re=il({__name:"SkillsUsageView",setup(pl){const{t}=nl(),M=dl(),Ge=[7,30,90,365],T=["#2f6eea","#f26d3d","#f49a5c","#9aa7ff","#8f2c8f","#00c2d1"],h=p(7),g=p(!1),k=p(""),S=p({});let U=0;const z={},o=v(()=>S.value[h.value]??null),A=v(()=>(o.value?.summary.total_skill_actions??0)>0),Ke=v(()=>Math.max(...(o.value?.by_day??[]).map(s=>s.total_count),1)),Oe=v(()=>g.value&&!!o.value),w=p(null),x=p(null),y=v(()=>o.value?.by_day.find(s=>s.date===w.value)??null),We=v(()=>y.value?I(y.value):[]),Ye=v(()=>{const s=o.value?.by_day.length??0;return x.value===null||s<=0?"align-right":x.value>=s/2?"align-left":"align-right"}),V=v(()=>(o.value?.top_skills??[]).slice(0,B)),Ze=v(()=>new Set(V.value.map(s=>s.skill)));function L(s){return`${s.toFixed(1)}%`}function je(s){return s?new Date(s*1e3).toLocaleString():"—"}function Je(s){return`${Math.max(2,s/Ke.value*100)}%`}function Xe(s){return Math.max(s,0)}function N(s){return s.total_count||s.view_count+s.manage_count}function el(){const s=Math.max((o.value?.top_skills.length??0)-B,0);return s>0?`${t("skillsUsage.otherSkills")} (+${s})`:t("skillsUsage.otherSkills")}function $(s){const d=V.value.findIndex(l=>l.skill===s);return d>=0?T[d%T.length]:P}function I(s){const d=s.skills??[],l=new Map(d.map(u=>[u.skill,N(u)])),c=V.value.map(u=>({key:u.skill,label:u.skill,count:l.get(u.skill)??0,color:$(u.skill)})).filter(u=>u.count>0),_=d.filter(u=>!Ze.value.has(u.skill)).reduce((u,ll)=>u+N(ll),0);return _>0&&c.push({key:"other-skills",label:el(),count:_,color:P}),c}function E(s,d){w.value=s.date,x.value=d}function H(s){w.value===s.date&&(w.value=null,x.value=null)}async function D(s=h.value,d=!1){h.value=s,(!M.activeProfileName||M.profiles.length===0)&&await M.fetchProfiles();const l=++U;z[s]=l,g.value=!0,(!S.value[s]||d)&&(k.value="");try{const c=await vl(s);z[s]===l&&(S.value={...S.value,[s]:c}),l===U&&(k.value="")}catch(c){l===U&&(k.value=c?.message||t("skillsUsage.loadFailed"))}finally{l===U&&(g.value=!1)}}return ul(()=>{D(7)}),(s,d)=>(r(),n("div",O,[e("header",W,[e("div",Y,[e("h2",Z,a(i(t)("skillsUsage.title")),1),e("p",j,a(i(t)("skillsUsage.subtitle")),1)]),e("div",J,[e("div",{class:"period-selector",role:"group","aria-label":i(t)("skillsUsage.periodSelector")},[(r(),n(m,null,f(Ge,l=>K(i(R),{key:l,size:"small",secondary:h.value===l,quaternary:h.value!==l,type:h.value===l?"primary":"default","aria-pressed":h.value===l?"true":"false",onClick:c=>D(l)},{default:Q(()=>[C(a(i(t)("skillsUsage.periodLabel",{days:l})),1)]),_:2},1032,["secondary","quaternary","type","aria-pressed","onClick"])),64))],8,X),K(i(R),{size:"small",quaternary:"",loading:g.value,onClick:d[0]||(d[0]=l=>D(h.value,!0))},{default:Q(()=>[C(a(i(t)("skillsUsage.refresh")),1)]),_:1},8,["loading"])])]),e("div",ee,[k.value&&!o.value?(r(),n("div",le,a(k.value),1)):g.value&&!o.value?(r(),n("div",se,a(i(t)("common.loading")),1)):o.value?(r(),n(m,{key:2},[k.value?(r(),n("div",ae,a(k.value),1)):F("",!0),e("section",te,[e("div",{class:G(["usage-panel chart-panel",{"is-refreshing":Oe.value}]),"data-testid":"skills-usage-chart"},[e("div",ie,[e("h3",null,a(i(t)("skillsUsage.dailyTrend")),1),e("span",null,a(i(t)("skillsUsage.periodSummary",{days:o.value.period_days})),1)]),A.value?(r(),n(m,{key:1},[e("div",re,[(r(!0),n(m,null,f(o.value.by_day,(l,c)=>(r(),n("div",{key:l.date,class:"skill-bar-col",tabindex:"0",onMouseenter:_=>E(l,c),onFocusin:_=>E(l,c),onMouseleave:_=>H(l),onFocusout:_=>H(l)},[e("div",ue,[e("div",{class:"skill-bar-fill",style:b({height:Je(l.total_count)})},[(r(!0),n(m,null,f(I(l),_=>(r(),n("div",{key:_.key,class:"skill-bar-segment","data-skill":_.key,style:b({flex:Xe(_.count),background:_.color})},null,12,de))),128))],4)])],40,ne))),128))]),y.value?(r(),n("div",{key:0,class:G(["floating-tooltip",Ye.value])},[e("div",_e,a(y.value.date),1),(r(!0),n(m,null,f(We.value,l=>(r(),n("div",{key:l.key,class:"tooltip-row"},[e("i",{class:"tooltip-dot",style:b({background:l.color})},null,4),e("span",null,a(l.label),1),e("strong",null,a(l.count),1)]))),128)),e("div",ce,[e("span",null,a(i(t)("skillsUsage.totalActions")),1),e("strong",null,a(y.value.total_count),1)])],2)):F("",!0),e("div",ve,[e("span",null,a(o.value.by_day[0]?.date.slice(5)),1),e("span",null,a(o.value.by_day[o.value.by_day.length-1]?.date.slice(5)),1)])],64)):(r(),n("div",oe,a(i(t)("skillsUsage.noData")),1))],2),e("div",{class:"summary-grid","data-testid":"skills-usage-stats","aria-label":i(t)("skillsUsage.summary")},[e("div",ke,[e("div",me,a(i(t)("skillsUsage.totalActions")),1),e("div",pe,a(o.value.summary.total_skill_actions),1)]),e("div",ge,[e("div",ye,a(i(t)("skillsUsage.loads")),1),e("div",fe,a(o.value.summary.total_skill_loads),1)]),e("div",be,[e("div",Se,a(i(t)("skillsUsage.edits")),1),e("div",Ue,a(o.value.summary.total_skill_edits),1)]),e("div",we,[e("div",xe,a(i(t)("skillsUsage.distinctSkills")),1),e("div",Ce,a(o.value.summary.distinct_skills_used),1)])],8,he)]),e("section",Me,[e("div",Ve,[e("h3",null,a(i(t)("skillsUsage.topSkills")),1),e("span",null,a(i(t)("skillsUsage.periodSummary",{days:o.value.period_days})),1)]),A.value?(r(),n("div",{key:1,class:"skills-table",role:"table","aria-label":i(t)("skillsUsage.topSkills")},[e("div",Fe,[e("span",Be,a(i(t)("skillsUsage.skill")),1),e("span",Pe,a(i(t)("skillsUsage.loads")),1),e("span",qe,a(i(t)("skillsUsage.edits")),1),e("span",Te,a(i(t)("skillsUsage.share")),1),e("span",ze,a(i(t)("skillsUsage.lastUsed")),1)]),(r(!0),n(m,null,f(o.value.top_skills,l=>(r(),n("div",{key:l.skill,class:"skills-row",role:"row"},[e("span",Ae,[e("i",{class:"skill-color-dot",style:b({background:$(l.skill)})},null,4),C(" "+a(l.skill),1)]),e("span",Le,a(l.view_count),1),e("span",Ne,a(l.manage_count),1),e("span",Ie,[e("span",Ee,[e("span",{style:b({width:L(l.percentage),background:$(l.skill)})},null,4)]),C(" "+a(L(l.percentage)),1)]),e("span",He,a(je(l.last_used_at)),1)]))),128))],8,De)):(r(),n("div",$e,a(i(t)("skillsUsage.noData")),1))])],64)):F("",!0)])]))}})})),hl=q((()=>{})),kl,ml=q((()=>{Qe(),Qe(),hl(),ol(),kl=rl(Re,[["__scopeId","data-v-be614ea5"]])}));ml();export{kl as default};
1
+ import{Ci as r,Cr as sl,E as al,Gi as p,Hr as tl,Pi as Q,Qi as i,Qr as e,Ti as f,Ut as R,Yr as m,Zr as v,aa as q,ai as C,ci as il,ea as G,ei as F,n as ol,na as b,oi as K,ra as a,t as rl,ti as n,wr as nl,xi as ul}from"./index-RJQqJC6n.js";import{r as dl,t as _l}from"./profiles-BtECgqqD.js";import{l as cl,o as vl}from"./skills-CQr0eeFF.js";var O,W,Y,Z,j,J,X,ee,le,se,ae,te,ie,oe,re,ne,ue,de,_e,ce,ve,he,ke,me,pe,ge,ye,fe,be,Se,Ue,we,xe,Ce,Me,Ve,$e,De,Fe,Be,Pe,qe,Te,ze,Ae,Le,Ne,Ie,Ee,He,B,P,Re,Qe=q((()=>{tl(),sl(),al(),_l(),cl(),O={class:"skills-usage-view"},W={class:"page-header"},Y={class:"header-text"},Z={class:"header-title"},j={class:"header-subtitle"},J={class:"skills-usage-toolbar"},X=["aria-label"],ee={class:"skills-usage-content"},le={key:0,class:"skills-usage-state error"},se={key:1,class:"skills-usage-state"},ae={key:0,class:"inline-error"},te={class:"overview-grid"},ie={class:"panel-header"},oe={key:0,class:"skills-usage-state compact"},re={class:"skill-bar-chart"},ne=["onMouseenter","onFocusin","onMouseleave","onFocusout"],ue={class:"skill-bar-track"},de=["data-skill"],_e={class:"tooltip-date"},ce={class:"tooltip-row total"},ve={class:"bar-dates"},he=["aria-label"],ke={class:"summary-card primary"},me={class:"summary-label"},pe={class:"summary-value"},ge={class:"summary-card"},ye={class:"summary-label"},fe={class:"summary-value"},be={class:"summary-card"},Se={class:"summary-label"},Ue={class:"summary-value"},we={class:"summary-card"},xe={class:"summary-label"},Ce={class:"summary-value"},Me={class:"usage-panel"},Ve={class:"panel-header"},$e={key:0,class:"skills-usage-state compact"},De=["aria-label"],Fe={class:"skills-row table-head",role:"row"},Be={role:"columnheader"},Pe={role:"columnheader"},qe={role:"columnheader"},Te={role:"columnheader"},ze={role:"columnheader"},Ae={class:"skill-name",role:"cell"},Le={role:"cell"},Ne={role:"cell"},Ie={class:"share-cell",role:"cell"},Ee={class:"share-bar"},He={class:"last-used",role:"cell"},B=6,P="#5b6b84",Re=il({__name:"SkillsUsageView",setup(pl){const{t}=nl(),M=dl(),Ge=[7,30,90,365],T=["#2f6eea","#f26d3d","#f49a5c","#9aa7ff","#8f2c8f","#00c2d1"],h=p(7),g=p(!1),k=p(""),S=p({});let U=0;const z={},o=v(()=>S.value[h.value]??null),A=v(()=>(o.value?.summary.total_skill_actions??0)>0),Ke=v(()=>Math.max(...(o.value?.by_day??[]).map(s=>s.total_count),1)),Oe=v(()=>g.value&&!!o.value),w=p(null),x=p(null),y=v(()=>o.value?.by_day.find(s=>s.date===w.value)??null),We=v(()=>y.value?I(y.value):[]),Ye=v(()=>{const s=o.value?.by_day.length??0;return x.value===null||s<=0?"align-right":x.value>=s/2?"align-left":"align-right"}),V=v(()=>(o.value?.top_skills??[]).slice(0,B)),Ze=v(()=>new Set(V.value.map(s=>s.skill)));function L(s){return`${s.toFixed(1)}%`}function je(s){return s?new Date(s*1e3).toLocaleString():"—"}function Je(s){return`${Math.max(2,s/Ke.value*100)}%`}function Xe(s){return Math.max(s,0)}function N(s){return s.total_count||s.view_count+s.manage_count}function el(){const s=Math.max((o.value?.top_skills.length??0)-B,0);return s>0?`${t("skillsUsage.otherSkills")} (+${s})`:t("skillsUsage.otherSkills")}function $(s){const d=V.value.findIndex(l=>l.skill===s);return d>=0?T[d%T.length]:P}function I(s){const d=s.skills??[],l=new Map(d.map(u=>[u.skill,N(u)])),c=V.value.map(u=>({key:u.skill,label:u.skill,count:l.get(u.skill)??0,color:$(u.skill)})).filter(u=>u.count>0),_=d.filter(u=>!Ze.value.has(u.skill)).reduce((u,ll)=>u+N(ll),0);return _>0&&c.push({key:"other-skills",label:el(),count:_,color:P}),c}function E(s,d){w.value=s.date,x.value=d}function H(s){w.value===s.date&&(w.value=null,x.value=null)}async function D(s=h.value,d=!1){h.value=s,(!M.activeProfileName||M.profiles.length===0)&&await M.fetchProfiles();const l=++U;z[s]=l,g.value=!0,(!S.value[s]||d)&&(k.value="");try{const c=await vl(s);z[s]===l&&(S.value={...S.value,[s]:c}),l===U&&(k.value="")}catch(c){l===U&&(k.value=c?.message||t("skillsUsage.loadFailed"))}finally{l===U&&(g.value=!1)}}return ul(()=>{D(7)}),(s,d)=>(r(),n("div",O,[e("header",W,[e("div",Y,[e("h2",Z,a(i(t)("skillsUsage.title")),1),e("p",j,a(i(t)("skillsUsage.subtitle")),1)]),e("div",J,[e("div",{class:"period-selector",role:"group","aria-label":i(t)("skillsUsage.periodSelector")},[(r(),n(m,null,f(Ge,l=>K(i(R),{key:l,size:"small",secondary:h.value===l,quaternary:h.value!==l,type:h.value===l?"primary":"default","aria-pressed":h.value===l?"true":"false",onClick:c=>D(l)},{default:Q(()=>[C(a(i(t)("skillsUsage.periodLabel",{days:l})),1)]),_:2},1032,["secondary","quaternary","type","aria-pressed","onClick"])),64))],8,X),K(i(R),{size:"small",quaternary:"",loading:g.value,onClick:d[0]||(d[0]=l=>D(h.value,!0))},{default:Q(()=>[C(a(i(t)("skillsUsage.refresh")),1)]),_:1},8,["loading"])])]),e("div",ee,[k.value&&!o.value?(r(),n("div",le,a(k.value),1)):g.value&&!o.value?(r(),n("div",se,a(i(t)("common.loading")),1)):o.value?(r(),n(m,{key:2},[k.value?(r(),n("div",ae,a(k.value),1)):F("",!0),e("section",te,[e("div",{class:G(["usage-panel chart-panel",{"is-refreshing":Oe.value}]),"data-testid":"skills-usage-chart"},[e("div",ie,[e("h3",null,a(i(t)("skillsUsage.dailyTrend")),1),e("span",null,a(i(t)("skillsUsage.periodSummary",{days:o.value.period_days})),1)]),A.value?(r(),n(m,{key:1},[e("div",re,[(r(!0),n(m,null,f(o.value.by_day,(l,c)=>(r(),n("div",{key:l.date,class:"skill-bar-col",tabindex:"0",onMouseenter:_=>E(l,c),onFocusin:_=>E(l,c),onMouseleave:_=>H(l),onFocusout:_=>H(l)},[e("div",ue,[e("div",{class:"skill-bar-fill",style:b({height:Je(l.total_count)})},[(r(!0),n(m,null,f(I(l),_=>(r(),n("div",{key:_.key,class:"skill-bar-segment","data-skill":_.key,style:b({flex:Xe(_.count),background:_.color})},null,12,de))),128))],4)])],40,ne))),128))]),y.value?(r(),n("div",{key:0,class:G(["floating-tooltip",Ye.value])},[e("div",_e,a(y.value.date),1),(r(!0),n(m,null,f(We.value,l=>(r(),n("div",{key:l.key,class:"tooltip-row"},[e("i",{class:"tooltip-dot",style:b({background:l.color})},null,4),e("span",null,a(l.label),1),e("strong",null,a(l.count),1)]))),128)),e("div",ce,[e("span",null,a(i(t)("skillsUsage.totalActions")),1),e("strong",null,a(y.value.total_count),1)])],2)):F("",!0),e("div",ve,[e("span",null,a(o.value.by_day[0]?.date.slice(5)),1),e("span",null,a(o.value.by_day[o.value.by_day.length-1]?.date.slice(5)),1)])],64)):(r(),n("div",oe,a(i(t)("skillsUsage.noData")),1))],2),e("div",{class:"summary-grid","data-testid":"skills-usage-stats","aria-label":i(t)("skillsUsage.summary")},[e("div",ke,[e("div",me,a(i(t)("skillsUsage.totalActions")),1),e("div",pe,a(o.value.summary.total_skill_actions),1)]),e("div",ge,[e("div",ye,a(i(t)("skillsUsage.loads")),1),e("div",fe,a(o.value.summary.total_skill_loads),1)]),e("div",be,[e("div",Se,a(i(t)("skillsUsage.edits")),1),e("div",Ue,a(o.value.summary.total_skill_edits),1)]),e("div",we,[e("div",xe,a(i(t)("skillsUsage.distinctSkills")),1),e("div",Ce,a(o.value.summary.distinct_skills_used),1)])],8,he)]),e("section",Me,[e("div",Ve,[e("h3",null,a(i(t)("skillsUsage.topSkills")),1),e("span",null,a(i(t)("skillsUsage.periodSummary",{days:o.value.period_days})),1)]),A.value?(r(),n("div",{key:1,class:"skills-table",role:"table","aria-label":i(t)("skillsUsage.topSkills")},[e("div",Fe,[e("span",Be,a(i(t)("skillsUsage.skill")),1),e("span",Pe,a(i(t)("skillsUsage.loads")),1),e("span",qe,a(i(t)("skillsUsage.edits")),1),e("span",Te,a(i(t)("skillsUsage.share")),1),e("span",ze,a(i(t)("skillsUsage.lastUsed")),1)]),(r(!0),n(m,null,f(o.value.top_skills,l=>(r(),n("div",{key:l.skill,class:"skills-row",role:"row"},[e("span",Ae,[e("i",{class:"skill-color-dot",style:b({background:$(l.skill)})},null,4),C(" "+a(l.skill),1)]),e("span",Le,a(l.view_count),1),e("span",Ne,a(l.manage_count),1),e("span",Ie,[e("span",Ee,[e("span",{style:b({width:L(l.percentage),background:$(l.skill)})},null,4)]),C(" "+a(L(l.percentage)),1)]),e("span",He,a(je(l.last_used_at)),1)]))),128))],8,De)):(r(),n("div",$e,a(i(t)("skillsUsage.noData")),1))])],64)):F("",!0)])]))}})})),hl=q((()=>{})),kl,ml=q((()=>{Qe(),Qe(),hl(),ol(),kl=rl(Re,[["__scopeId","data-v-be614ea5"]])}));ml();export{kl as default};
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/js/MarkdownRenderer-RUGb4sbQ.js","assets/js/index-B41wzfl2.js","assets/css/index-CsQvhMiS.css","assets/js/highlight-Dj4_XEnA.js","assets/js/clipboard-DbIDy3AT.js","assets/js/download-D8EaUX1d.js","assets/css/MarkdownRenderer-riGsdEYy.css"])))=>i.map(i=>d[i]);
2
- import{$r as H,Ci as a,Cr as N,D as It,E as K,Er as kt,Fi as Ut,Fr as se,Gi as g,Gr as Vt,Hr as Y,Jr as ne,L as ue,Mi as Et,Nr as Wt,Pi as A,Qi as l,Qr as e,Si as jt,Ti as G,Tr as ht,Tt as Ht,Ut as q,Yr as Q,Yt as qt,Zr as Z,Zt as oe,aa as W,ai as T,at as Ot,ci as J,ct as ae,ea as j,ei as x,ft as Qt,ii as Zt,jt as Gt,kt as de,lt as _t,n as X,oi as I,ra as n,rt as Nt,si as gt,t as ee,ti as o,tn as Kt,wr as le,xi as re}from"./index-B41wzfl2.js";import{r as Yt,t as Jt}from"./profiles-DDKFPE0r.js";import{a as Xt,c as ea,d as la,i as ve,l as ie,m as ta,n as aa,p as ia,s as sa,t as na,u as oa}from"./skills-3O8WlKlI.js";var ce,pe,fe,ke,he,_e,ge,me,ye,we,$e,Ce,be,xe,Se,Me,De,Ae,Fe,Le,Pe,Be,Te,Re,ze,Ie,Ue,Ve,Ee,We,je,He,qe,Oe,Qe,Ze,mt,Ge=W((()=>{Y(),K(),ie(),N(),ce={class:"skill-list"},pe={key:0,class:"skill-empty"},fe=["title","onClick"],ke={class:"path-header-text"},he={class:"category-count"},_e={key:0,class:"path-group-body"},ge=["onClick"],me={class:"category-name"},ye={class:"category-count"},we={key:0,class:"category-skills"},$e=["onClick"],Ce={class:"skill-info"},be={class:"skill-name"},xe=["title"],Se=["title"],Me={key:0,class:"skill-desc"},De=["onClick"],Ae={class:"category-name"},Fe={class:"category-count"},Le={key:0,class:"category-skills"},Pe=["onClick"],Be={class:"skill-info"},Te={class:"skill-name"},Re=["title"],ze=["title"],Ie={key:0,class:"skill-desc"},Ue=["title","disabled","onClick"],Ve={key:3,class:"skill-category archive-section"},Ee={class:"category-name"},We={class:"category-count"},je={key:0,class:"category-skills"},He=["onClick"],qe={class:"skill-info"},Oe={class:"skill-name"},Qe=["title"],Ze={key:0,class:"skill-desc"},mt=J({__name:"SkillList",props:{categories:{},archived:{},selectedSkill:{},searchQuery:{},sourceFilter:{},readonly:{type:Boolean}},emits:["select","deleted"],setup(m,{emit:C}){const{t:w}=le(),r=ae(),f=Qt(),p=m,k=C,h=g(new Set),y=g(!0),$=g(new Set),F=g(new Set),z=Z(()=>{let t=p.archived;if(p.sourceFilter&&p.sourceFilter!=="modified"&&(t=t.filter(i=>(i.source||"local")===p.sourceFilter)),p.searchQuery){const i=p.searchQuery.toLowerCase();t=t.filter(d=>d.name.toLowerCase().includes(i)||d.description.toLowerCase().includes(i))}return t}),S=Z(()=>{let t=p.categories;if(p.sourceFilter&&(t=t.map(i=>({...i,skills:i.skills.filter(d=>p.sourceFilter==="modified"?d.modified:(d.source||"local")===p.sourceFilter)})).filter(i=>i.skills.length>0)),p.searchQuery){const i=p.searchQuery.toLowerCase();t=t.map(d=>({...d,skills:d.skills.filter(s=>s.name.toLowerCase().includes(i)||s.description.toLowerCase().includes(i))})).filter(d=>d.skills.length>0||d.name.toLowerCase().includes(i))}return t}),V=Z(()=>{if(p.sourceFilter!=="external")return null;const t=new Map,i=[],d=new Map;for(const s of S.value)for(const v of s.skills){const B=v.sourcePath||"";t.has(B)||(t.set(B,new Map),i.push(B),d.set(B,[]));const O=t.get(B);O.has(s.name)||(O.set(s.name,[]),d.get(B).push(s.name)),O.get(s.name).push(v)}return i.map(s=>({path:s,categories:d.get(s).map(v=>({name:v,skills:t.get(s).get(v)}))}))}),R=g(new Set);function b(t){R.value.has(t)?R.value.delete(t):R.value.add(t)}function U(t){return t||"(unknown)"}function L(t){h.value.has(t)?h.value.delete(t):h.value.add(t)}function P(t,i){k("select",t,i)}function E(t,i){return`${t}/${i.name}`}async function u(t,i,d){if(!$.value.has(i)){$.value.add(i);try{await ta(i,d);const s=p.categories.find(v=>v.name===t)?.skills.find(v=>v.name===i);s&&(s.enabled=d)}catch(s){r.error(w("skills.toggleFailed")+`: ${s.message}`)}finally{$.value.delete(i)}}}function _(t,i){F.value.has(i)||f.warning({title:w("skills.delete"),content:w("skills.deleteConfirm",{name:i}),positiveText:w("common.delete"),negativeText:w("common.cancel"),onPositiveClick:async()=>{F.value.add(i);try{await na(t,i),r.success(w("skills.deleteSuccess")),r.info(w("skills.reloadHint"),{duration:6e3}),k("deleted",t,i)}catch(d){r.error(w("skills.deleteFailed")+`: ${d.message}`)}finally{F.value.delete(i)}}})}return(t,i)=>(a(),o("div",ce,[S.value.length===0?(a(),o("div",pe,n(m.searchQuery?l(w)("skills.noMatch"):l(w)("skills.noSkills")),1)):x("",!0),V.value?(a(!0),o(Q,{key:1},G(V.value,d=>(a(),o("div",{key:d.path||"__unknown__",class:"skill-path-group"},[e("button",{class:"path-header",title:d.path||"",onClick:s=>b(d.path)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:R.value.has(d.path)}])},[...i[3]||(i[3]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),i[4]||(i[4]=e("span",{class:"path-header-icon"},[e("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})])],-1)),e("span",ke,n(U(d.path)),1),e("span",he,n(d.categories.reduce((s,v)=>s+v.skills.length,0)),1)],8,fe),R.value.has(d.path)?x("",!0):(a(),o("div",_e,[(a(!0),o(Q,null,G(d.categories,s=>(a(),o("div",{key:s.name,class:"skill-category"},[e("button",{class:"category-header sub",onClick:v=>L(d.path+"::"+s.name)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:h.value.has(d.path+"::"+s.name)}])},[...i[5]||(i[5]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",me,n(s.name),1),e("span",ye,n(s.skills.length),1)],8,ge),h.value.has(d.path+"::"+s.name)?x("",!0):(a(),o("div",we,[(a(!0),o(Q,null,G(s.skills,v=>(a(),o("button",{key:E(s.name,v),class:j(["skill-item",[{active:m.selectedSkill===E(s.name,v)},`source-${v.source||"local"}`]]),onClick:B=>P(s.name,v.name)},[e("div",Ce,[e("span",be,[e("span",{class:j(["source-dot",`dot-${v.source||"local"}`]),title:l(w)(`skills.source.${v.source||"local"}`)},null,10,xe),T(" "+n(v.name)+" ",1),v.modified?(a(),o("span",{key:0,class:"modified-badge",title:l(w)("skills.modified")},"✎",8,Se)):x("",!0)]),v.description?(a(),o("span",Me,n(v.description),1)):x("",!0)]),m.readonly?x("",!0):(a(),H(l(ue),{key:0,size:"small",value:v.enabled!==!1,loading:$.value.has(v.name),"onUpdate:value":B=>u(s.name,v.name,B),onClick:i[0]||(i[0]=ne(()=>{},["stop"]))},null,8,["value","loading","onUpdate:value"]))],10,$e))),128))]))]))),128))]))]))),128)):(a(!0),o(Q,{key:2},G(S.value,d=>(a(),o("div",{key:d.name,class:"skill-category"},[e("button",{class:"category-header",onClick:s=>L(d.name)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:h.value.has(d.name)}])},[...i[6]||(i[6]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",Ae,n(d.name),1),e("span",Fe,n(d.skills.length),1)],8,De),h.value.has(d.name)?x("",!0):(a(),o("div",Le,[(a(!0),o(Q,null,G(d.skills,s=>(a(),o("button",{key:E(d.name,s),class:j(["skill-item",[{active:m.selectedSkill===E(d.name,s)},`source-${s.source||"local"}`]]),onClick:v=>P(d.name,s.name)},[e("div",Be,[e("span",Te,[e("span",{class:j(["source-dot",`dot-${s.source||"local"}`]),title:l(w)(`skills.source.${s.source||"local"}`)},null,10,Re),T(" "+n(s.name)+" ",1),s.modified?(a(),o("span",{key:0,class:"modified-badge",title:l(w)("skills.modified")},"✎",8,ze)):x("",!0)]),s.description?(a(),o("span",Ie,n(s.description),1)):x("",!0)]),!m.readonly&&(s.source??"local")==="local"?(a(),o("button",{key:0,class:"skill-action-btn",title:l(w)("skills.delete"),disabled:F.value.has(s.name),onClick:ne(v=>_(d.name,s.name),["stop"])},[...i[7]||(i[7]=[Zt('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-07a45f3f><polyline points="3 6 5 6 21 6" data-v-07a45f3f></polyline><path d="M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6" data-v-07a45f3f></path><path d="M10 11v6" data-v-07a45f3f></path><path d="M14 11v6" data-v-07a45f3f></path><path d="M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2" data-v-07a45f3f></path></svg>',1)])],8,Ue)):x("",!0),m.readonly?x("",!0):(a(),H(l(ue),{key:1,size:"small",value:s.enabled!==!1,loading:$.value.has(s.name),"onUpdate:value":v=>u(d.name,s.name,v),onClick:i[1]||(i[1]=ne(()=>{},["stop"]))},null,8,["value","loading","onUpdate:value"]))],10,Pe))),128))]))]))),128)),z.value.length>0||m.archived.length>0?(a(),o("div",Ve,[e("button",{class:"category-header archive-header",onClick:i[2]||(i[2]=d=>y.value=!y.value)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:y.value}])},[...i[8]||(i[8]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",Ee,n(l(w)("skills.archived")),1),e("span",We,n(m.archived.length),1)]),y.value?x("",!0):(a(),o("div",je,[(a(!0),o(Q,null,G(z.value,d=>(a(),o("button",{key:E(".archive",d),class:j(["skill-item skill-archived",{active:m.selectedSkill===E(".archive",d)}]),onClick:s=>P(".archive",d.name)},[e("div",qe,[e("span",Oe,[e("span",{class:j(["source-dot",`dot-${d.source||"local"}`]),title:l(w)(`skills.source.${d.source||"local"}`)},null,10,Qe),T(" "+n(d.name),1)]),d.description?(a(),o("span",Ze,n(d.description),1)):x("",!0)])],10,He))),128))]))])):x("",!0)]))}})})),ra=W((()=>{})),yt,ua=W((()=>{Ge(),Ge(),ra(),X(),yt=ee(mt,[["__scopeId","data-v-07a45f3f"]])})),Ne,Ke,Ye,Je,Xe,el,ll,tl,al,il,sl,nl,ol,rl,ul,dl,vl,cl,pl,fl,kl,hl,_l,wt,gl=W((()=>{Y(),ie(),N(),K(),kt(),Ne={class:"skill-detail"},Ke={class:"detail-title"},Ye={class:"detail-heading"},Je={class:"detail-category"},Xe={class:"detail-name"},el={class:"usage-stats"},ll=["title"],tl=["disabled","title"],al=["disabled","title"],il=["disabled","title"],sl=["fill"],nl={key:4,class:"usage-stat",title:"Views"},ol={key:5,class:"usage-stat",title:"Uses"},rl={key:6,class:"usage-stat",title:"Patches"},ul={key:0,class:"detail-loading"},dl={key:0,class:"detail-breadcrumb"},vl={class:"breadcrumb-path"},cl={class:"detail-content"},pl=["aria-label"],fl={key:1,class:"detail-files"},kl={class:"files-header"},hl={class:"files-list"},_l=["onClick"],wt=J({__name:"SkillDetail",props:{category:{},skill:{},skillName:{},patchCount:{},useCount:{},viewCount:{},pinned:{type:Boolean},target:{},readonly:{type:Boolean},canPin:{type:Boolean}},emits:["pinToggled","saved"],setup(m,{emit:C}){const w=gt(async()=>(await ht(async()=>{const{default:s}=await import("./MarkdownRenderer-RUGb4sbQ.js");return{default:s}},__vite__mapDeps([0,1,2,3,4,5,6]))).default),{t:r}=le(),f=ae(),p=m,k=C,h=g(""),y=g(""),$=g([]),F=g(!1),z=g(""),S=g(null),V=g(!1),R=g(!1),b=g(!1),U=Z(()=>y.value!==h.value);async function L(){F.value=!0,S.value=null,z.value="",$.value=[],h.value="",y.value="",R.value=!1;try{const s=`${p.category}/${p.skill}/SKILL.md`,[v,B]=await Promise.all([ve(s,p.target||"hermes"),Xt(p.category,p.skill,p.target||"hermes")]);h.value=v,y.value=v,$.value=B.filter(O=>!O.isDir&&O.path!=="SKILL.md")}catch(s){h.value=r("skills.loadFailed")+`: ${s.message}`,y.value=h.value}finally{F.value=!1}}async function P(s){V.value=!0,S.value=s;try{const v=`${p.category}/${p.skill}/`;let B=s;if(s.startsWith("/")||/^[a-zA-Z]:[\\/]/.test(s)){const O=s.replace(/\\/g,"/").split(/(?:^|\/)(?:\.hermes|hermes)\/skills\//)[1];O&&(B=O.split("/").slice(2).join("/"))}z.value=await ve(`${v}${B}`,p.target||"hermes")}catch(v){z.value=r("skills.fileLoadFailed")+`: ${v.message}`}finally{V.value=!1}}function E(){S.value=null,z.value=""}function u(){y.value=h.value,R.value=!0}function _(){y.value=h.value,R.value=!1}async function t(){if(!(b.value||p.readonly)){b.value=!0;try{await ia(p.category,p.skill,y.value,p.target||"hermes"),h.value=y.value,R.value=!1,f.success(r("skills.saveSuccess")),f.info(r("skills.reloadHint"),{duration:6e3}),k("saved")}catch(s){f.error(r("skills.saveFailed")+`: ${s.message}`)}finally{b.value=!1}}}const i=g(!1);async function d(){if(!i.value){i.value=!0;try{const s=!p.pinned;await oa(p.skillName,s),k("pinToggled",p.skillName,s)}catch(s){f.error(r("skills.pinFailed")+`: ${s.message}`)}finally{i.value=!1}}}return Et(()=>`${p.target||"hermes"}/${p.category}/${p.skill}`,L,{immediate:!0}),(s,v)=>(a(),o("div",Ne,[e("div",Ke,[e("div",Ye,[e("span",Je,n(m.category),1),v[1]||(v[1]=e("span",{class:"detail-separator"},"/",-1)),e("span",Xe,n(m.skill),1)]),e("div",el,[!m.readonly&&!S.value&&!R.value?(a(),o("button",{key:0,class:"detail-action",title:l(r)("skills.edit"),onClick:u},[v[2]||(v[2]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M12 20h9"}),e("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})],-1)),e("span",null,n(l(r)("skills.edit")),1)],8,ll)):x("",!0),!m.readonly&&!S.value&&R.value?(a(),o("button",{key:1,class:"detail-action",disabled:b.value||!U.value,title:l(r)("common.save"),onClick:t},[v[3]||(v[3]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2Z"}),e("path",{d:"M17 21v-8H7v8"}),e("path",{d:"M7 3v5h8"})],-1)),e("span",null,n(b.value?l(r)("skills.saving"):l(r)("common.save")),1)],8,tl)):x("",!0),!m.readonly&&!S.value&&R.value?(a(),o("button",{key:2,class:"detail-action",disabled:b.value,title:l(r)("common.cancel"),onClick:_},[v[4]||(v[4]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M18 6 6 18"}),e("path",{d:"m6 6 12 12"})],-1)),e("span",null,n(l(r)("common.cancel")),1)],8,al)):x("",!0),m.canPin&&!m.readonly?(a(),o("button",{key:3,class:j(["pin-toggle",{active:m.pinned}]),disabled:i.value,title:m.pinned?l(r)("skills.unpin"):l(r)("skills.pin"),onClick:d},[(a(),o("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:m.pinned?"currentColor":"none",stroke:"currentColor","stroke-width":"2"},[...v[5]||(v[5]=[e("path",{d:"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2z"},null,-1)])],8,sl))],10,il)):x("",!0),m.viewCount!=null?(a(),o("span",nl,[v[6]||(v[6]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),e("circle",{cx:"12",cy:"12",r:"3"})],-1)),T(" "+n(m.viewCount),1)])):x("",!0),m.useCount!=null?(a(),o("span",ol,[v[7]||(v[7]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("polyline",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})],-1)),T(" "+n(m.useCount),1)])):x("",!0),m.patchCount!=null?(a(),o("span",rl,[v[8]||(v[8]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M12 20h9"}),e("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"})],-1)),T(" "+n(m.patchCount),1)])):x("",!0)])]),F.value&&!h.value?(a(),o("div",ul,n(l(r)("common.loading")),1)):(a(),o(Q,{key:1},[S.value?(a(),o("div",dl,[e("button",{class:"back-btn",onClick:E},[v[9]||(v[9]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("polyline",{points:"15 18 9 12 15 6"})],-1)),T(" "+n(l(r)("skills.backTo"))+" "+n(m.skill),1)]),e("span",vl,n(S.value),1)])):x("",!0),e("div",cl,[S.value?(a(),H(l(w),{key:0,content:z.value},null,8,["content"])):R.value?Ut((a(),o("textarea",{key:1,"onUpdate:modelValue":v[0]||(v[0]=B=>y.value=B),class:"skill-editor","aria-label":l(r)("skills.editorLabel"),spellcheck:"false"},null,8,pl)),[[Vt,y.value]]):(a(),H(l(w),{key:2,content:h.value},null,8,["content"]))]),!S.value&&$.value.length>0?(a(),o("div",fl,[e("div",kl,n(l(r)("skills.attachedFiles")),1),e("div",hl,[(a(!0),o(Q,null,G($.value,B=>(a(),o("button",{key:B.path,class:"file-item",onClick:O=>P(B.path)},[v[10]||(v[10]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e("polyline",{points:"14 2 14 8 20 8"})],-1)),e("span",null,n(B.path),1)],8,_l))),128))])])):x("",!0)],64))]))}})})),da=W((()=>{})),$t,va=W((()=>{gl(),gl(),da(),X(),$t=ee(wt,[["__scopeId","data-v-65ea9744"]])})),ml,yl,wl,$l,Cl,bl,xl,Sl,Ct,Ml=W((()=>{Y(),K(),ie(),N(),ml={class:"form-row"},yl={class:"hint"},wl={class:"form-row"},$l={class:"field-label"},Cl={class:"form-row"},bl={key:1,class:"folder-picker"},xl={key:0,class:"folder-info"},Sl={class:"modal-footer"},Ct=J({__name:"SkillImportModal",emits:["close","saved"],setup(m,{emit:C}){const w=C,{t:r}=le(),f=ae(),p=g(!0),k=g(!1),h=g("folder"),y=g([]),$=g([]),F=g(""),z=g(""),S=g(null),V=Z(()=>h.value==="zip"?y.value.length>0:$.value.length>0);function R(){y.value=[],$.value=[],F.value=""}function b({file:u}){return(u.name?.toLowerCase()||"").endsWith(".zip")?!0:(f.warning(r("skills.importInvalidFile")),!1)}function U(){S.value?.click()}function L(u){const _=u.target.files;if(!_||_.length===0)return;const t=[];for(let d=0;d<_.length;d++)t.push(_[d]);$.value=t;const i=t[0].webkitRelativePath;F.value=i?i.split("/")[0]:""}async function P(){if(!V.value){f.warning(r("skills.importNoSelection"));return}let u=[];if(h.value==="zip")for(const _ of y.value)_.file&&u.push(_.file);else u=$.value;if(u.length===0){f.error(r("skills.importFailed"));return}k.value=!0;try{const _=await ea(u,z.value.trim()||void 0);f.success(r("skills.importSuccess")+(_?.name?`: ${_.name}`:"")),f.info(r("skills.reloadHint"),{duration:6e3}),w("saved")}catch(_){f.error(r("skills.importFailed")+`: ${_.message}`)}finally{k.value=!1}}function E(){k.value||(p.value=!1,setTimeout(()=>w("close"),200))}return(u,_)=>(a(),H(l(_t),{show:p.value,"onUpdate:show":_[3]||(_[3]=t=>p.value=t),preset:"card",title:l(r)("skills.importTitle"),style:{width:"min(480px, calc(100vw - 32px))"},"mask-closable":!k.value,onAfterLeave:_[4]||(_[4]=t=>w("close"))},{footer:A(()=>[e("div",Sl,[I(l(q),{disabled:k.value,onClick:E},{default:A(()=>[T(n(l(r)("common.cancel")),1)]),_:1},8,["disabled"]),I(l(q),{type:"primary",loading:k.value,disabled:!V.value,onClick:P},{default:A(()=>[T(n(l(r)("common.confirm")),1)]),_:1},8,["loading","disabled"])])]),default:A(()=>[e("div",ml,[I(l(Ht),{value:h.value,"onUpdate:value":[_[0]||(_[0]=t=>h.value=t),R],size:"small",disabled:k.value},{default:A(()=>[I(l(de),{value:"folder"},{default:A(()=>[T(n(l(r)("skills.importModeFolder")),1)]),_:1}),I(l(de),{value:"zip"},{default:A(()=>[T(n(l(r)("skills.importModeZip")),1)]),_:1})]),_:1},8,["value","disabled"]),e("p",yl,n(h.value==="zip"?l(r)("skills.importHintZip"):l(r)("skills.importHintFolder")),1)]),e("div",wl,[e("label",$l,n(l(r)("skills.importTargetCategory")),1),I(l(oe),{value:z.value,"onUpdate:value":_[1]||(_[1]=t=>z.value=t),size:"small",placeholder:l(r)("skills.importTargetCategoryPlaceholder"),disabled:k.value},null,8,["value","placeholder","disabled"])]),e("div",Cl,[h.value==="zip"?(a(),H(l(It),{key:0,"file-list":y.value,"onUpdate:fileList":_[2]||(_[2]=t=>y.value=t),max:1,accept:".zip","default-upload":!1,disabled:k.value,onBeforeUpload:b},{default:A(()=>[I(l(q),{disabled:k.value},{default:A(()=>[T(n(l(r)("skills.importSelectFile")),1)]),_:1},8,["disabled"])]),_:1},8,["file-list","disabled"])):(a(),o("div",bl,[e("input",{ref_key:"folderInputRef",ref:S,type:"file",webkitdirectory:"",multiple:"",style:{display:"none"},onChange:L},null,544),I(l(q),{disabled:k.value,onClick:U},{default:A(()=>[T(n(l(r)("skills.importSelectFolder")),1)]),_:1},8,["disabled"]),F.value?(a(),o("span",xl,n(F.value)+" ("+n($.value.length)+" "+n(l(r)("skills.importFileCount"))+") ",1)):x("",!0)]))])]),_:1},8,["show","title","mask-closable"]))}})})),ca=W((()=>{})),bt,pa=W((()=>{Ml(),Ml(),ca(),X(),bt=ee(Ct,[["__scopeId","data-v-6cc6068d"]])})),Dl,Al,Fl,Ll,Pl,Bl,Tl,Rl,zl,xt,Il=W((()=>{Y(),K(),N(),ie(),Dl={class:"hint"},Al={key:0,class:"state-row"},Fl={key:1,class:"state-row empty"},Ll={key:2,class:"dir-list"},Pl={class:"dir-input-wrap"},Bl={key:0,class:"hint-tag broken"},Tl={key:1,class:"hint-tag broken"},Rl=["title","disabled","onClick"],zl={class:"modal-footer"},xt=J({__name:"SkillExternalDirsModal",emits:["close","saved"],setup(m,{emit:C}){const w=C,{t:r}=le(),f=ae(),p=g(!0),k=g(!1),h=g(!0),y=g([]);function $(b){return b.exists?b.isDir?{raw:b.raw,hint:null}:{raw:b.raw,hint:"notdir"}:{raw:b.raw,hint:"missing"}}re(async()=>{try{y.value=(await aa()).map($)}catch(b){f.error(r("skills.externalDirs.loadFailed")+`: ${b.message}`)}finally{h.value=!1}});function F(){y.value.push({raw:"",hint:null})}function z(b){y.value.splice(b,1)}function S(b){y.value[b]&&(y.value[b].hint=null)}async function V(){const b=[],U=new Set;for(const L of y.value){const P=L.raw.trim();P&&(U.has(P)||(U.add(P),b.push(P)))}k.value=!0;try{await la(b),f.success(r("skills.externalDirs.saveSuccess")),w("saved")}catch(L){f.error(r("skills.externalDirs.saveFailed")+`: ${L.message}`)}finally{k.value=!1}}function R(){k.value||(p.value=!1,setTimeout(()=>w("close"),200))}return(b,U)=>(a(),H(l(_t),{show:p.value,"onUpdate:show":U[0]||(U[0]=L=>p.value=L),preset:"card",title:l(r)("skills.externalDirs.title"),style:{width:"min(560px, calc(100vw - 32px))"},"mask-closable":!k.value,onAfterLeave:U[1]||(U[1]=L=>w("close"))},{footer:A(()=>[e("div",zl,[I(l(q),{disabled:k.value,onClick:R},{default:A(()=>[T(n(l(r)("common.cancel")),1)]),_:1},8,["disabled"]),I(l(q),{type:"primary",loading:k.value,disabled:h.value,onClick:V},{default:A(()=>[T(n(l(r)("common.save")),1)]),_:1},8,["loading","disabled"])])]),default:A(()=>[e("p",Dl,n(l(r)("skills.externalDirs.hint")),1),h.value?(a(),o("div",Al,n(l(r)("common.loading")),1)):y.value.length===0?(a(),o("div",Fl,n(l(r)("skills.externalDirs.empty")),1)):(a(),o("ul",Ll,[(a(!0),o(Q,null,G(y.value,(L,P)=>(a(),o("li",{key:P,class:"dir-row"},[e("div",Pl,[I(l(oe),{value:L.raw,"onUpdate:value":[E=>L.raw=E,E=>S(P)],size:"small",placeholder:l(r)("skills.externalDirs.placeholder"),disabled:k.value},null,8,["value","onUpdate:value","placeholder","disabled"]),L.hint==="missing"?(a(),o("span",Bl,n(l(r)("skills.externalDirs.missing")),1)):L.hint==="notdir"?(a(),o("span",Tl,n(l(r)("skills.externalDirs.notDir")),1)):x("",!0)]),e("button",{class:"row-remove",title:l(r)("skills.externalDirs.removeRow"),disabled:k.value,onClick:E=>z(P)},[...U[2]||(U[2]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,Rl)]))),128))])),I(l(q),{size:"small",disabled:k.value,onClick:F},{icon:A(()=>[...U[3]||(U[3]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:A(()=>[T(" "+n(l(r)("skills.externalDirs.add")),1)]),_:1},8,["disabled"])]),_:1},8,["show","title","mask-closable"]))}})})),fa=W((()=>{})),St,ka=W((()=>{Il(),Il(),fa(),X(),St=ee(xt,[["__scopeId","data-v-134aef16"]])}));async function Mt(){return se("/api/hermes/write-gate/pending")}async function ha(m,C){const w=await se(`/api/hermes/write-gate/pending/${encodeURIComponent(m)}/${encodeURIComponent(C)}/diff`);return w.review?w.review:{subsystem:m,targetLabel:m,language:m==="memory"?"json":"",current:"",proposed:w.diff||"",diff:w.diff||"",payloadText:m==="memory"?w.diff||"":void 0,notes:[]}}async function _a(m,C){return se(`/api/hermes/write-gate/pending/${encodeURIComponent(m)}/${encodeURIComponent(C)}/approve`,{method:"POST"})}async function ga(m,C){return se(`/api/hermes/write-gate/pending/${encodeURIComponent(m)}/${encodeURIComponent(C)}/reject`,{method:"POST"})}var Dt=W((()=>{Wt()})),Ul,Vl,El,Wl,jl,Hl,ql,Ol,Ql,Zl,Gl,Nl,At,Kl=W((()=>{Y(),K(),N(),Dt(),kt(),Ul={class:"write-approval-panel"},Vl={class:"write-approval-header"},El={key:0,class:"write-approval-state"},Wl={key:1,class:"write-approval-state"},jl={key:2,class:"write-approval-state"},Hl={key:3,class:"write-approval-list"},ql={class:"write-approval-main"},Ol={class:"write-approval-meta"},Ql={key:0},Zl={class:"write-approval-summary"},Gl={class:"write-approval-actions"},Nl={key:0,class:"write-approval-review"},At=J({__name:"PendingWriteApprovals",emits:["count-change"],setup(m,{emit:C}){const w=gt(async()=>(await ht(async()=>{const{default:u}=await import("./MarkdownRenderer-RUGb4sbQ.js");return{default:u}},__vite__mapDeps([0,1,2,3,4,5,6]))).default),r=C,{t:f}=le(),p=ae(),k=g([]),h=g(!1),y=g(""),$=g({}),F=g(!0),z=Z(()=>k.value.length);function S(u){return`${u.subsystem}:${u.id}`}function V(u,_){let i=_||"";return i=i.replaceAll("```","``​`"),i&&!i.endsWith(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/js/MarkdownRenderer-DpSiF5gl.js","assets/js/index-RJQqJC6n.js","assets/css/index-CsQvhMiS.css","assets/js/highlight-CEOB4aIv.js","assets/js/clipboard-DYlTCW_e.js","assets/js/download-48rHoTgx.js","assets/css/MarkdownRenderer-riGsdEYy.css"])))=>i.map(i=>d[i]);
2
+ import{$r as H,Ci as a,Cr as N,D as It,E as K,Er as kt,Fi as Ut,Fr as se,Gi as g,Gr as Vt,Hr as Y,Jr as ne,L as ue,Mi as Et,Nr as Wt,Pi as A,Qi as l,Qr as e,Si as jt,Ti as G,Tr as ht,Tt as Ht,Ut as q,Yr as Q,Yt as qt,Zr as Z,Zt as oe,aa as W,ai as T,at as Ot,ci as J,ct as ae,ea as j,ei as x,ft as Qt,ii as Zt,jt as Gt,kt as de,lt as _t,n as X,oi as I,ra as n,rt as Nt,si as gt,t as ee,ti as o,tn as Kt,wr as le,xi as re}from"./index-RJQqJC6n.js";import{r as Yt,t as Jt}from"./profiles-BtECgqqD.js";import{a as Xt,c as ea,d as la,i as ve,l as ie,m as ta,n as aa,p as ia,s as sa,t as na,u as oa}from"./skills-CQr0eeFF.js";var ce,pe,fe,ke,he,_e,ge,me,ye,we,$e,Ce,be,xe,Se,Me,De,Ae,Fe,Le,Pe,Be,Te,Re,ze,Ie,Ue,Ve,Ee,We,je,He,qe,Oe,Qe,Ze,mt,Ge=W((()=>{Y(),K(),ie(),N(),ce={class:"skill-list"},pe={key:0,class:"skill-empty"},fe=["title","onClick"],ke={class:"path-header-text"},he={class:"category-count"},_e={key:0,class:"path-group-body"},ge=["onClick"],me={class:"category-name"},ye={class:"category-count"},we={key:0,class:"category-skills"},$e=["onClick"],Ce={class:"skill-info"},be={class:"skill-name"},xe=["title"],Se=["title"],Me={key:0,class:"skill-desc"},De=["onClick"],Ae={class:"category-name"},Fe={class:"category-count"},Le={key:0,class:"category-skills"},Pe=["onClick"],Be={class:"skill-info"},Te={class:"skill-name"},Re=["title"],ze=["title"],Ie={key:0,class:"skill-desc"},Ue=["title","disabled","onClick"],Ve={key:3,class:"skill-category archive-section"},Ee={class:"category-name"},We={class:"category-count"},je={key:0,class:"category-skills"},He=["onClick"],qe={class:"skill-info"},Oe={class:"skill-name"},Qe=["title"],Ze={key:0,class:"skill-desc"},mt=J({__name:"SkillList",props:{categories:{},archived:{},selectedSkill:{},searchQuery:{},sourceFilter:{},readonly:{type:Boolean}},emits:["select","deleted"],setup(m,{emit:C}){const{t:w}=le(),r=ae(),f=Qt(),p=m,k=C,h=g(new Set),y=g(!0),$=g(new Set),F=g(new Set),z=Z(()=>{let t=p.archived;if(p.sourceFilter&&p.sourceFilter!=="modified"&&(t=t.filter(i=>(i.source||"local")===p.sourceFilter)),p.searchQuery){const i=p.searchQuery.toLowerCase();t=t.filter(d=>d.name.toLowerCase().includes(i)||d.description.toLowerCase().includes(i))}return t}),S=Z(()=>{let t=p.categories;if(p.sourceFilter&&(t=t.map(i=>({...i,skills:i.skills.filter(d=>p.sourceFilter==="modified"?d.modified:(d.source||"local")===p.sourceFilter)})).filter(i=>i.skills.length>0)),p.searchQuery){const i=p.searchQuery.toLowerCase();t=t.map(d=>({...d,skills:d.skills.filter(s=>s.name.toLowerCase().includes(i)||s.description.toLowerCase().includes(i))})).filter(d=>d.skills.length>0||d.name.toLowerCase().includes(i))}return t}),V=Z(()=>{if(p.sourceFilter!=="external")return null;const t=new Map,i=[],d=new Map;for(const s of S.value)for(const v of s.skills){const B=v.sourcePath||"";t.has(B)||(t.set(B,new Map),i.push(B),d.set(B,[]));const O=t.get(B);O.has(s.name)||(O.set(s.name,[]),d.get(B).push(s.name)),O.get(s.name).push(v)}return i.map(s=>({path:s,categories:d.get(s).map(v=>({name:v,skills:t.get(s).get(v)}))}))}),R=g(new Set);function b(t){R.value.has(t)?R.value.delete(t):R.value.add(t)}function U(t){return t||"(unknown)"}function L(t){h.value.has(t)?h.value.delete(t):h.value.add(t)}function P(t,i){k("select",t,i)}function E(t,i){return`${t}/${i.name}`}async function u(t,i,d){if(!$.value.has(i)){$.value.add(i);try{await ta(i,d);const s=p.categories.find(v=>v.name===t)?.skills.find(v=>v.name===i);s&&(s.enabled=d)}catch(s){r.error(w("skills.toggleFailed")+`: ${s.message}`)}finally{$.value.delete(i)}}}function _(t,i){F.value.has(i)||f.warning({title:w("skills.delete"),content:w("skills.deleteConfirm",{name:i}),positiveText:w("common.delete"),negativeText:w("common.cancel"),onPositiveClick:async()=>{F.value.add(i);try{await na(t,i),r.success(w("skills.deleteSuccess")),r.info(w("skills.reloadHint"),{duration:6e3}),k("deleted",t,i)}catch(d){r.error(w("skills.deleteFailed")+`: ${d.message}`)}finally{F.value.delete(i)}}})}return(t,i)=>(a(),o("div",ce,[S.value.length===0?(a(),o("div",pe,n(m.searchQuery?l(w)("skills.noMatch"):l(w)("skills.noSkills")),1)):x("",!0),V.value?(a(!0),o(Q,{key:1},G(V.value,d=>(a(),o("div",{key:d.path||"__unknown__",class:"skill-path-group"},[e("button",{class:"path-header",title:d.path||"",onClick:s=>b(d.path)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:R.value.has(d.path)}])},[...i[3]||(i[3]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),i[4]||(i[4]=e("span",{class:"path-header-icon"},[e("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})])],-1)),e("span",ke,n(U(d.path)),1),e("span",he,n(d.categories.reduce((s,v)=>s+v.skills.length,0)),1)],8,fe),R.value.has(d.path)?x("",!0):(a(),o("div",_e,[(a(!0),o(Q,null,G(d.categories,s=>(a(),o("div",{key:s.name,class:"skill-category"},[e("button",{class:"category-header sub",onClick:v=>L(d.path+"::"+s.name)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:h.value.has(d.path+"::"+s.name)}])},[...i[5]||(i[5]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",me,n(s.name),1),e("span",ye,n(s.skills.length),1)],8,ge),h.value.has(d.path+"::"+s.name)?x("",!0):(a(),o("div",we,[(a(!0),o(Q,null,G(s.skills,v=>(a(),o("button",{key:E(s.name,v),class:j(["skill-item",[{active:m.selectedSkill===E(s.name,v)},`source-${v.source||"local"}`]]),onClick:B=>P(s.name,v.name)},[e("div",Ce,[e("span",be,[e("span",{class:j(["source-dot",`dot-${v.source||"local"}`]),title:l(w)(`skills.source.${v.source||"local"}`)},null,10,xe),T(" "+n(v.name)+" ",1),v.modified?(a(),o("span",{key:0,class:"modified-badge",title:l(w)("skills.modified")},"✎",8,Se)):x("",!0)]),v.description?(a(),o("span",Me,n(v.description),1)):x("",!0)]),m.readonly?x("",!0):(a(),H(l(ue),{key:0,size:"small",value:v.enabled!==!1,loading:$.value.has(v.name),"onUpdate:value":B=>u(s.name,v.name,B),onClick:i[0]||(i[0]=ne(()=>{},["stop"]))},null,8,["value","loading","onUpdate:value"]))],10,$e))),128))]))]))),128))]))]))),128)):(a(!0),o(Q,{key:2},G(S.value,d=>(a(),o("div",{key:d.name,class:"skill-category"},[e("button",{class:"category-header",onClick:s=>L(d.name)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:h.value.has(d.name)}])},[...i[6]||(i[6]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",Ae,n(d.name),1),e("span",Fe,n(d.skills.length),1)],8,De),h.value.has(d.name)?x("",!0):(a(),o("div",Le,[(a(!0),o(Q,null,G(d.skills,s=>(a(),o("button",{key:E(d.name,s),class:j(["skill-item",[{active:m.selectedSkill===E(d.name,s)},`source-${s.source||"local"}`]]),onClick:v=>P(d.name,s.name)},[e("div",Be,[e("span",Te,[e("span",{class:j(["source-dot",`dot-${s.source||"local"}`]),title:l(w)(`skills.source.${s.source||"local"}`)},null,10,Re),T(" "+n(s.name)+" ",1),s.modified?(a(),o("span",{key:0,class:"modified-badge",title:l(w)("skills.modified")},"✎",8,ze)):x("",!0)]),s.description?(a(),o("span",Ie,n(s.description),1)):x("",!0)]),!m.readonly&&(s.source??"local")==="local"?(a(),o("button",{key:0,class:"skill-action-btn",title:l(w)("skills.delete"),disabled:F.value.has(s.name),onClick:ne(v=>_(d.name,s.name),["stop"])},[...i[7]||(i[7]=[Zt('<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-07a45f3f><polyline points="3 6 5 6 21 6" data-v-07a45f3f></polyline><path d="M19 6l-2 14a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2L5 6" data-v-07a45f3f></path><path d="M10 11v6" data-v-07a45f3f></path><path d="M14 11v6" data-v-07a45f3f></path><path d="M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2" data-v-07a45f3f></path></svg>',1)])],8,Ue)):x("",!0),m.readonly?x("",!0):(a(),H(l(ue),{key:1,size:"small",value:s.enabled!==!1,loading:$.value.has(s.name),"onUpdate:value":v=>u(d.name,s.name,v),onClick:i[1]||(i[1]=ne(()=>{},["stop"]))},null,8,["value","loading","onUpdate:value"]))],10,Pe))),128))]))]))),128)),z.value.length>0||m.archived.length>0?(a(),o("div",Ve,[e("button",{class:"category-header archive-header",onClick:i[2]||(i[2]=d=>y.value=!y.value)},[(a(),o("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:j(["category-arrow",{collapsed:y.value}])},[...i[8]||(i[8]=[e("polyline",{points:"6 9 12 15 18 9"},null,-1)])],2)),e("span",Ee,n(l(w)("skills.archived")),1),e("span",We,n(m.archived.length),1)]),y.value?x("",!0):(a(),o("div",je,[(a(!0),o(Q,null,G(z.value,d=>(a(),o("button",{key:E(".archive",d),class:j(["skill-item skill-archived",{active:m.selectedSkill===E(".archive",d)}]),onClick:s=>P(".archive",d.name)},[e("div",qe,[e("span",Oe,[e("span",{class:j(["source-dot",`dot-${d.source||"local"}`]),title:l(w)(`skills.source.${d.source||"local"}`)},null,10,Qe),T(" "+n(d.name),1)]),d.description?(a(),o("span",Ze,n(d.description),1)):x("",!0)])],10,He))),128))]))])):x("",!0)]))}})})),ra=W((()=>{})),yt,ua=W((()=>{Ge(),Ge(),ra(),X(),yt=ee(mt,[["__scopeId","data-v-07a45f3f"]])})),Ne,Ke,Ye,Je,Xe,el,ll,tl,al,il,sl,nl,ol,rl,ul,dl,vl,cl,pl,fl,kl,hl,_l,wt,gl=W((()=>{Y(),ie(),N(),K(),kt(),Ne={class:"skill-detail"},Ke={class:"detail-title"},Ye={class:"detail-heading"},Je={class:"detail-category"},Xe={class:"detail-name"},el={class:"usage-stats"},ll=["title"],tl=["disabled","title"],al=["disabled","title"],il=["disabled","title"],sl=["fill"],nl={key:4,class:"usage-stat",title:"Views"},ol={key:5,class:"usage-stat",title:"Uses"},rl={key:6,class:"usage-stat",title:"Patches"},ul={key:0,class:"detail-loading"},dl={key:0,class:"detail-breadcrumb"},vl={class:"breadcrumb-path"},cl={class:"detail-content"},pl=["aria-label"],fl={key:1,class:"detail-files"},kl={class:"files-header"},hl={class:"files-list"},_l=["onClick"],wt=J({__name:"SkillDetail",props:{category:{},skill:{},skillName:{},patchCount:{},useCount:{},viewCount:{},pinned:{type:Boolean},target:{},readonly:{type:Boolean},canPin:{type:Boolean}},emits:["pinToggled","saved"],setup(m,{emit:C}){const w=gt(async()=>(await ht(async()=>{const{default:s}=await import("./MarkdownRenderer-DpSiF5gl.js");return{default:s}},__vite__mapDeps([0,1,2,3,4,5,6]))).default),{t:r}=le(),f=ae(),p=m,k=C,h=g(""),y=g(""),$=g([]),F=g(!1),z=g(""),S=g(null),V=g(!1),R=g(!1),b=g(!1),U=Z(()=>y.value!==h.value);async function L(){F.value=!0,S.value=null,z.value="",$.value=[],h.value="",y.value="",R.value=!1;try{const s=`${p.category}/${p.skill}/SKILL.md`,[v,B]=await Promise.all([ve(s,p.target||"hermes"),Xt(p.category,p.skill,p.target||"hermes")]);h.value=v,y.value=v,$.value=B.filter(O=>!O.isDir&&O.path!=="SKILL.md")}catch(s){h.value=r("skills.loadFailed")+`: ${s.message}`,y.value=h.value}finally{F.value=!1}}async function P(s){V.value=!0,S.value=s;try{const v=`${p.category}/${p.skill}/`;let B=s;if(s.startsWith("/")||/^[a-zA-Z]:[\\/]/.test(s)){const O=s.replace(/\\/g,"/").split(/(?:^|\/)(?:\.hermes|hermes)\/skills\//)[1];O&&(B=O.split("/").slice(2).join("/"))}z.value=await ve(`${v}${B}`,p.target||"hermes")}catch(v){z.value=r("skills.fileLoadFailed")+`: ${v.message}`}finally{V.value=!1}}function E(){S.value=null,z.value=""}function u(){y.value=h.value,R.value=!0}function _(){y.value=h.value,R.value=!1}async function t(){if(!(b.value||p.readonly)){b.value=!0;try{await ia(p.category,p.skill,y.value,p.target||"hermes"),h.value=y.value,R.value=!1,f.success(r("skills.saveSuccess")),f.info(r("skills.reloadHint"),{duration:6e3}),k("saved")}catch(s){f.error(r("skills.saveFailed")+`: ${s.message}`)}finally{b.value=!1}}}const i=g(!1);async function d(){if(!i.value){i.value=!0;try{const s=!p.pinned;await oa(p.skillName,s),k("pinToggled",p.skillName,s)}catch(s){f.error(r("skills.pinFailed")+`: ${s.message}`)}finally{i.value=!1}}}return Et(()=>`${p.target||"hermes"}/${p.category}/${p.skill}`,L,{immediate:!0}),(s,v)=>(a(),o("div",Ne,[e("div",Ke,[e("div",Ye,[e("span",Je,n(m.category),1),v[1]||(v[1]=e("span",{class:"detail-separator"},"/",-1)),e("span",Xe,n(m.skill),1)]),e("div",el,[!m.readonly&&!S.value&&!R.value?(a(),o("button",{key:0,class:"detail-action",title:l(r)("skills.edit"),onClick:u},[v[2]||(v[2]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M12 20h9"}),e("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})],-1)),e("span",null,n(l(r)("skills.edit")),1)],8,ll)):x("",!0),!m.readonly&&!S.value&&R.value?(a(),o("button",{key:1,class:"detail-action",disabled:b.value||!U.value,title:l(r)("common.save"),onClick:t},[v[3]||(v[3]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2Z"}),e("path",{d:"M17 21v-8H7v8"}),e("path",{d:"M7 3v5h8"})],-1)),e("span",null,n(b.value?l(r)("skills.saving"):l(r)("common.save")),1)],8,tl)):x("",!0),!m.readonly&&!S.value&&R.value?(a(),o("button",{key:2,class:"detail-action",disabled:b.value,title:l(r)("common.cancel"),onClick:_},[v[4]||(v[4]=e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M18 6 6 18"}),e("path",{d:"m6 6 12 12"})],-1)),e("span",null,n(l(r)("common.cancel")),1)],8,al)):x("",!0),m.canPin&&!m.readonly?(a(),o("button",{key:3,class:j(["pin-toggle",{active:m.pinned}]),disabled:i.value,title:m.pinned?l(r)("skills.unpin"):l(r)("skills.pin"),onClick:d},[(a(),o("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:m.pinned?"currentColor":"none",stroke:"currentColor","stroke-width":"2"},[...v[5]||(v[5]=[e("path",{d:"M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2z"},null,-1)])],8,sl))],10,il)):x("",!0),m.viewCount!=null?(a(),o("span",nl,[v[6]||(v[6]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),e("circle",{cx:"12",cy:"12",r:"3"})],-1)),T(" "+n(m.viewCount),1)])):x("",!0),m.useCount!=null?(a(),o("span",ol,[v[7]||(v[7]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("polyline",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})],-1)),T(" "+n(m.useCount),1)])):x("",!0),m.patchCount!=null?(a(),o("span",rl,[v[8]||(v[8]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("path",{d:"M12 20h9"}),e("path",{d:"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"})],-1)),T(" "+n(m.patchCount),1)])):x("",!0)])]),F.value&&!h.value?(a(),o("div",ul,n(l(r)("common.loading")),1)):(a(),o(Q,{key:1},[S.value?(a(),o("div",dl,[e("button",{class:"back-btn",onClick:E},[v[9]||(v[9]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e("polyline",{points:"15 18 9 12 15 6"})],-1)),T(" "+n(l(r)("skills.backTo"))+" "+n(m.skill),1)]),e("span",vl,n(S.value),1)])):x("",!0),e("div",cl,[S.value?(a(),H(l(w),{key:0,content:z.value},null,8,["content"])):R.value?Ut((a(),o("textarea",{key:1,"onUpdate:modelValue":v[0]||(v[0]=B=>y.value=B),class:"skill-editor","aria-label":l(r)("skills.editorLabel"),spellcheck:"false"},null,8,pl)),[[Vt,y.value]]):(a(),H(l(w),{key:2,content:h.value},null,8,["content"]))]),!S.value&&$.value.length>0?(a(),o("div",fl,[e("div",kl,n(l(r)("skills.attachedFiles")),1),e("div",hl,[(a(!0),o(Q,null,G($.value,B=>(a(),o("button",{key:B.path,class:"file-item",onClick:O=>P(B.path)},[v[10]||(v[10]=e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[e("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),e("polyline",{points:"14 2 14 8 20 8"})],-1)),e("span",null,n(B.path),1)],8,_l))),128))])])):x("",!0)],64))]))}})})),da=W((()=>{})),$t,va=W((()=>{gl(),gl(),da(),X(),$t=ee(wt,[["__scopeId","data-v-65ea9744"]])})),ml,yl,wl,$l,Cl,bl,xl,Sl,Ct,Ml=W((()=>{Y(),K(),ie(),N(),ml={class:"form-row"},yl={class:"hint"},wl={class:"form-row"},$l={class:"field-label"},Cl={class:"form-row"},bl={key:1,class:"folder-picker"},xl={key:0,class:"folder-info"},Sl={class:"modal-footer"},Ct=J({__name:"SkillImportModal",emits:["close","saved"],setup(m,{emit:C}){const w=C,{t:r}=le(),f=ae(),p=g(!0),k=g(!1),h=g("folder"),y=g([]),$=g([]),F=g(""),z=g(""),S=g(null),V=Z(()=>h.value==="zip"?y.value.length>0:$.value.length>0);function R(){y.value=[],$.value=[],F.value=""}function b({file:u}){return(u.name?.toLowerCase()||"").endsWith(".zip")?!0:(f.warning(r("skills.importInvalidFile")),!1)}function U(){S.value?.click()}function L(u){const _=u.target.files;if(!_||_.length===0)return;const t=[];for(let d=0;d<_.length;d++)t.push(_[d]);$.value=t;const i=t[0].webkitRelativePath;F.value=i?i.split("/")[0]:""}async function P(){if(!V.value){f.warning(r("skills.importNoSelection"));return}let u=[];if(h.value==="zip")for(const _ of y.value)_.file&&u.push(_.file);else u=$.value;if(u.length===0){f.error(r("skills.importFailed"));return}k.value=!0;try{const _=await ea(u,z.value.trim()||void 0);f.success(r("skills.importSuccess")+(_?.name?`: ${_.name}`:"")),f.info(r("skills.reloadHint"),{duration:6e3}),w("saved")}catch(_){f.error(r("skills.importFailed")+`: ${_.message}`)}finally{k.value=!1}}function E(){k.value||(p.value=!1,setTimeout(()=>w("close"),200))}return(u,_)=>(a(),H(l(_t),{show:p.value,"onUpdate:show":_[3]||(_[3]=t=>p.value=t),preset:"card",title:l(r)("skills.importTitle"),style:{width:"min(480px, calc(100vw - 32px))"},"mask-closable":!k.value,onAfterLeave:_[4]||(_[4]=t=>w("close"))},{footer:A(()=>[e("div",Sl,[I(l(q),{disabled:k.value,onClick:E},{default:A(()=>[T(n(l(r)("common.cancel")),1)]),_:1},8,["disabled"]),I(l(q),{type:"primary",loading:k.value,disabled:!V.value,onClick:P},{default:A(()=>[T(n(l(r)("common.confirm")),1)]),_:1},8,["loading","disabled"])])]),default:A(()=>[e("div",ml,[I(l(Ht),{value:h.value,"onUpdate:value":[_[0]||(_[0]=t=>h.value=t),R],size:"small",disabled:k.value},{default:A(()=>[I(l(de),{value:"folder"},{default:A(()=>[T(n(l(r)("skills.importModeFolder")),1)]),_:1}),I(l(de),{value:"zip"},{default:A(()=>[T(n(l(r)("skills.importModeZip")),1)]),_:1})]),_:1},8,["value","disabled"]),e("p",yl,n(h.value==="zip"?l(r)("skills.importHintZip"):l(r)("skills.importHintFolder")),1)]),e("div",wl,[e("label",$l,n(l(r)("skills.importTargetCategory")),1),I(l(oe),{value:z.value,"onUpdate:value":_[1]||(_[1]=t=>z.value=t),size:"small",placeholder:l(r)("skills.importTargetCategoryPlaceholder"),disabled:k.value},null,8,["value","placeholder","disabled"])]),e("div",Cl,[h.value==="zip"?(a(),H(l(It),{key:0,"file-list":y.value,"onUpdate:fileList":_[2]||(_[2]=t=>y.value=t),max:1,accept:".zip","default-upload":!1,disabled:k.value,onBeforeUpload:b},{default:A(()=>[I(l(q),{disabled:k.value},{default:A(()=>[T(n(l(r)("skills.importSelectFile")),1)]),_:1},8,["disabled"])]),_:1},8,["file-list","disabled"])):(a(),o("div",bl,[e("input",{ref_key:"folderInputRef",ref:S,type:"file",webkitdirectory:"",multiple:"",style:{display:"none"},onChange:L},null,544),I(l(q),{disabled:k.value,onClick:U},{default:A(()=>[T(n(l(r)("skills.importSelectFolder")),1)]),_:1},8,["disabled"]),F.value?(a(),o("span",xl,n(F.value)+" ("+n($.value.length)+" "+n(l(r)("skills.importFileCount"))+") ",1)):x("",!0)]))])]),_:1},8,["show","title","mask-closable"]))}})})),ca=W((()=>{})),bt,pa=W((()=>{Ml(),Ml(),ca(),X(),bt=ee(Ct,[["__scopeId","data-v-6cc6068d"]])})),Dl,Al,Fl,Ll,Pl,Bl,Tl,Rl,zl,xt,Il=W((()=>{Y(),K(),N(),ie(),Dl={class:"hint"},Al={key:0,class:"state-row"},Fl={key:1,class:"state-row empty"},Ll={key:2,class:"dir-list"},Pl={class:"dir-input-wrap"},Bl={key:0,class:"hint-tag broken"},Tl={key:1,class:"hint-tag broken"},Rl=["title","disabled","onClick"],zl={class:"modal-footer"},xt=J({__name:"SkillExternalDirsModal",emits:["close","saved"],setup(m,{emit:C}){const w=C,{t:r}=le(),f=ae(),p=g(!0),k=g(!1),h=g(!0),y=g([]);function $(b){return b.exists?b.isDir?{raw:b.raw,hint:null}:{raw:b.raw,hint:"notdir"}:{raw:b.raw,hint:"missing"}}re(async()=>{try{y.value=(await aa()).map($)}catch(b){f.error(r("skills.externalDirs.loadFailed")+`: ${b.message}`)}finally{h.value=!1}});function F(){y.value.push({raw:"",hint:null})}function z(b){y.value.splice(b,1)}function S(b){y.value[b]&&(y.value[b].hint=null)}async function V(){const b=[],U=new Set;for(const L of y.value){const P=L.raw.trim();P&&(U.has(P)||(U.add(P),b.push(P)))}k.value=!0;try{await la(b),f.success(r("skills.externalDirs.saveSuccess")),w("saved")}catch(L){f.error(r("skills.externalDirs.saveFailed")+`: ${L.message}`)}finally{k.value=!1}}function R(){k.value||(p.value=!1,setTimeout(()=>w("close"),200))}return(b,U)=>(a(),H(l(_t),{show:p.value,"onUpdate:show":U[0]||(U[0]=L=>p.value=L),preset:"card",title:l(r)("skills.externalDirs.title"),style:{width:"min(560px, calc(100vw - 32px))"},"mask-closable":!k.value,onAfterLeave:U[1]||(U[1]=L=>w("close"))},{footer:A(()=>[e("div",zl,[I(l(q),{disabled:k.value,onClick:R},{default:A(()=>[T(n(l(r)("common.cancel")),1)]),_:1},8,["disabled"]),I(l(q),{type:"primary",loading:k.value,disabled:h.value,onClick:V},{default:A(()=>[T(n(l(r)("common.save")),1)]),_:1},8,["loading","disabled"])])]),default:A(()=>[e("p",Dl,n(l(r)("skills.externalDirs.hint")),1),h.value?(a(),o("div",Al,n(l(r)("common.loading")),1)):y.value.length===0?(a(),o("div",Fl,n(l(r)("skills.externalDirs.empty")),1)):(a(),o("ul",Ll,[(a(!0),o(Q,null,G(y.value,(L,P)=>(a(),o("li",{key:P,class:"dir-row"},[e("div",Pl,[I(l(oe),{value:L.raw,"onUpdate:value":[E=>L.raw=E,E=>S(P)],size:"small",placeholder:l(r)("skills.externalDirs.placeholder"),disabled:k.value},null,8,["value","onUpdate:value","placeholder","disabled"]),L.hint==="missing"?(a(),o("span",Bl,n(l(r)("skills.externalDirs.missing")),1)):L.hint==="notdir"?(a(),o("span",Tl,n(l(r)("skills.externalDirs.notDir")),1)):x("",!0)]),e("button",{class:"row-remove",title:l(r)("skills.externalDirs.removeRow"),disabled:k.value,onClick:E=>z(P)},[...U[2]||(U[2]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,Rl)]))),128))])),I(l(q),{size:"small",disabled:k.value,onClick:F},{icon:A(()=>[...U[3]||(U[3]=[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},[e("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),e("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:A(()=>[T(" "+n(l(r)("skills.externalDirs.add")),1)]),_:1},8,["disabled"])]),_:1},8,["show","title","mask-closable"]))}})})),fa=W((()=>{})),St,ka=W((()=>{Il(),Il(),fa(),X(),St=ee(xt,[["__scopeId","data-v-134aef16"]])}));async function Mt(){return se("/api/hermes/write-gate/pending")}async function ha(m,C){const w=await se(`/api/hermes/write-gate/pending/${encodeURIComponent(m)}/${encodeURIComponent(C)}/diff`);return w.review?w.review:{subsystem:m,targetLabel:m,language:m==="memory"?"json":"",current:"",proposed:w.diff||"",diff:w.diff||"",payloadText:m==="memory"?w.diff||"":void 0,notes:[]}}async function _a(m,C){return se(`/api/hermes/write-gate/pending/${encodeURIComponent(m)}/${encodeURIComponent(C)}/approve`,{method:"POST"})}async function ga(m,C){return se(`/api/hermes/write-gate/pending/${encodeURIComponent(m)}/${encodeURIComponent(C)}/reject`,{method:"POST"})}var Dt=W((()=>{Wt()})),Ul,Vl,El,Wl,jl,Hl,ql,Ol,Ql,Zl,Gl,Nl,At,Kl=W((()=>{Y(),K(),N(),Dt(),kt(),Ul={class:"write-approval-panel"},Vl={class:"write-approval-header"},El={key:0,class:"write-approval-state"},Wl={key:1,class:"write-approval-state"},jl={key:2,class:"write-approval-state"},Hl={key:3,class:"write-approval-list"},ql={class:"write-approval-main"},Ol={class:"write-approval-meta"},Ql={key:0},Zl={class:"write-approval-summary"},Gl={class:"write-approval-actions"},Nl={key:0,class:"write-approval-review"},At=J({__name:"PendingWriteApprovals",emits:["count-change"],setup(m,{emit:C}){const w=gt(async()=>(await ht(async()=>{const{default:u}=await import("./MarkdownRenderer-DpSiF5gl.js");return{default:u}},__vite__mapDeps([0,1,2,3,4,5,6]))).default),r=C,{t:f}=le(),p=ae(),k=g([]),h=g(!1),y=g(""),$=g({}),F=g(!0),z=Z(()=>k.value.length);function S(u){return`${u.subsystem}:${u.id}`}function V(u,_){let i=_||"";return i=i.replaceAll("```","``​`"),i&&!i.endsWith(`
3
3
  `)&&(i+=`
4
4
  `),`\`\`\`${u||""}
5
5
  ${i}\`\`\``}function R(u){const _=[];for(const t of u.notes||[])t.type==="patchOldStringMissing"?_.push(f("skills.writeApprovalPatchOldStringMissing",{file:t.targetLabel||u.targetLabel})):t.type==="currentReadFailed"?_.push(f("skills.writeApprovalCurrentReadFailed",{file:t.targetLabel||u.targetLabel})):t.type==="deleteSkill"?_.push(f("skills.writeApprovalDeleteSkill",{skill:t.skillName||"-"})):t.type==="removeFile"&&_.push(f("skills.writeApprovalRemoveFile",{file:t.targetLabel||u.targetLabel,skill:t.skillName||"-"}));return u.requestedOldString&&_.push([f("skills.writeApprovalRequestedOldString"),V(u.language||"text",u.requestedOldString)].join(`
@@ -1,3 +1,3 @@
1
- import{$r as xe,Ar as Te,Ci as f,Cr as Se,Ct as Me,E as Ae,Gi as w,Hr as Re,Jr as We,Nr as Ye,Pi as h,Qi as n,Qr as r,Si as Ge,Ti as Ee,Ut as E,Yr as Le,Zr as L,aa as M,ai as $,ci as $e,ct as ze,ea as z,ei as p,jt as Oe,kr as Ne,n as Ve,na as De,oi as B,q as Ie,ra as d,t as Pe,ti as b,wr as Ue,xi as He}from"./index-B41wzfl2.js";import{a as Fe,i as Je,n as je,o as qe,r as Qe,s as Ke,t as Xe}from"./xterm-B-CU1LD3.js";var U,H,F,J,j,q,Q,K,X,Z,ee,te,ae,re,ie,ne,le,oe,ce,O,N,fe,se=M((()=>{Re(),Ke(),Je(),Qe(),Xe(),Ye(),Ae(),Se(),U={class:"terminal-panel"},H={class:"session-list-header"},F={key:0,class:"session-list-title"},J={class:"session-list-actions"},j={key:0,class:"session-items"},q={key:0,class:"session-empty"},Q=["onClick"],K={class:"session-item-content"},X={class:"session-item-title"},Z={class:"session-item-meta"},ee={class:"session-item-shell"},te={key:0,class:"session-item-status"},ae={key:1,class:"session-item-time"},re={class:"terminal-main"},ie={class:"terminal-header"},ne={class:"header-left"},le={key:0,class:"header-session-title"},oe={class:"header-actions"},ce={class:"terminal-container"},O="hermes_terminal_theme",N=18,fe=$e({__name:"TerminalView",setup(rt){const{t:g}=Ue(),de=ze(),C={default:{label:"Default",theme:{background:"#1a1a2e",foreground:"#e0e0e0",cursor:"#4cc9f0",cursorAccent:"#1a1a2e",selectionBackground:"rgba(76, 201, 240, 0.3)",black:"#000000",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"solarized-dark":{label:"Solarized Dark",theme:{background:"#002b36",foreground:"#839496",cursor:"#93a1a1",cursorAccent:"#002b36",selectionBackground:"rgba(147, 161, 161, 0.3)",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#002b36",brightRed:"#cb4b16",brightGreen:"#586e75",brightYellow:"#657b83",brightBlue:"#839496",brightMagenta:"#6c71c4",brightCyan:"#93a1a1",brightWhite:"#fdf6e3"}},"solarized-light":{label:"Solarized Light",theme:{background:"#fdf6e3",foreground:"#657b83",cursor:"#586e75",cursorAccent:"#fdf6e3",selectionBackground:"rgba(88, 110, 117, 0.3)",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#002b36",brightRed:"#cb4b16",brightGreen:"#586e75",brightYellow:"#657b83",brightBlue:"#839496",brightMagenta:"#6c71c4",brightCyan:"#93a1a1",brightWhite:"#fdf6e3"}},monokai:{label:"Monokai",theme:{background:"#272822",foreground:"#f8f8f2",cursor:"#f8f8f0",cursorAccent:"#272822",selectionBackground:"rgba(248, 248, 242, 0.2)",black:"#272822",red:"#f92672",green:"#a6e22e",yellow:"#f4bf75",blue:"#66d9ef",magenta:"#ae81ff",cyan:"#a1efe4",white:"#f8f8f2",brightBlack:"#75715e",brightRed:"#fd971f",brightGreen:"#a6e22e",brightYellow:"#e6db74",brightBlue:"#66d9ef",brightMagenta:"#ae81ff",brightCyan:"#a1efe4",brightWhite:"#f9f8f5"}},dracula:{label:"Dracula",theme:{background:"#282a36",foreground:"#f8f8f2",cursor:"#f8f8f2",cursorAccent:"#282a36",selectionBackground:"rgba(248, 248, 242, 0.2)",black:"#21222c",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#f8f8f2",brightBlack:"#6272a4",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#ffffff"}},nord:{label:"Nord",theme:{background:"#2e3440",foreground:"#d8dee9",cursor:"#d8dee9",cursorAccent:"#2e3440",selectionBackground:"rgba(216, 222, 233, 0.2)",black:"#3b4252",red:"#bf616a",green:"#a3be8c",yellow:"#ebcb8b",blue:"#81a1c1",magenta:"#b48ead",cyan:"#88c0d0",white:"#e5e9f0",brightBlack:"#4c566a",brightRed:"#bf616a",brightGreen:"#a3be8c",brightYellow:"#ebcb8b",brightBlue:"#81a1c1",brightMagenta:"#b48ead",brightCyan:"#8fbcbb",brightWhite:"#eceff4"}},"one-dark":{label:"One Dark",theme:{background:"#282c34",foreground:"#abb2bf",cursor:"#528bff",cursorAccent:"#282c34",selectionBackground:"rgba(82, 139, 255, 0.25)",black:"#282c34",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"github-dark":{label:"GitHub Dark",theme:{background:"#0d1117",foreground:"#c9d1d9",cursor:"#58a6ff",cursorAccent:"#0d1117",selectionBackground:"rgba(88, 166, 255, 0.25)",black:"#484f58",red:"#ff7b72",green:"#7ee787",yellow:"#ffa657",blue:"#79c0ff",magenta:"#d2a8ff",cyan:"#a5d6ff",white:"#c9d1d9",brightBlack:"#6e7681",brightRed:"#ffa198",brightGreen:"#56d364",brightYellow:"#e3b341",brightBlue:"#58a6ff",brightMagenta:"#bc8cff",brightCyan:"#79c0ff",brightWhite:"#f0f6fc"}},"tokyo-night":{label:"Tokyo Night",theme:{background:"#1a1b26",foreground:"#a9b1d6",cursor:"#c0caf5",cursorAccent:"#1a1b26",selectionBackground:"rgba(192, 202, 245, 0.2)",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}},"github-light":{label:"GitHub Light",theme:{background:"#ffffff",foreground:"#24292f",cursor:"#0969da",cursorAccent:"#ffffff",selectionBackground:"rgba(9, 105, 218, 0.2)",black:"#24292f",red:"#cf222e",green:"#116329",yellow:"#4d2d00",blue:"#0969da",magenta:"#8250df",cyan:"#1b7c83",white:"#57606a",brightBlack:"#57606a",brightRed:"#a40e26",brightGreen:"#1a7f37",brightYellow:"#633c01",brightBlue:"#218bff",brightMagenta:"#a475f4",brightCyan:"#3192aa",brightWhite:"#8c959f"}},"catppuccin-latte":{label:"Catppuccin Latte",theme:{background:"#eff1f5",foreground:"#4c4f69",cursor:"#dc8a78",cursorAccent:"#eff1f5",selectionBackground:"rgba(220, 138, 120, 0.2)",black:"#5c5f77",red:"#d20f39",green:"#40a02b",yellow:"#df8e1d",blue:"#1e66f5",magenta:"#ea76cb",cyan:"#179299",white:"#4c4f69",brightBlack:"#6c6f85",brightRed:"#d20f39",brightGreen:"#40a02b",brightYellow:"#df8e1d",brightBlue:"#1e66f5",brightMagenta:"#ea76cb",brightCyan:"#179299",brightWhite:"#bcc0cc"}},"alabaster-light":{label:"Alabaster",theme:{background:"#f7f7f7",foreground:"#434343",cursor:"#528bff",cursorAccent:"#f7f7f7",selectionBackground:"rgba(82, 139, 255, 0.2)",black:"#000000",red:"#aa3731",green:"#448c27",yellow:"#cb9000",blue:"#325cc0",magenta:"#7a3e9d",cyan:"#0083b2",white:"#434343",brightBlack:"#777777",brightRed:"#f05050",brightGreen:"#60cb00",brightYellow:"#ffbc5d",brightBlue:"#0070ea",brightMagenta:"#ca64e2",brightCyan:"#00aacb",brightWhite:"#999999"}},"xterm-light":{label:"XTerm Light",theme:{background:"#fafafa",foreground:"#383a42",cursor:"#526fff",cursorAccent:"#fafafa",selectionBackground:"rgba(82, 111, 255, 0.2)",black:"#383a42",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a1a7",brightBlack:"#4f525e",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"one-light":{label:"One Light",theme:{background:"#fafafa",foreground:"#383a42",cursor:"#526eff",cursorAccent:"#fafafa",selectionBackground:"rgba(82, 110, 255, 0.2)",black:"#383a42",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a1a7",brightBlack:"#4f525e",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"gruvbox-light":{label:"Gruvbox Light",theme:{background:"#fbf1c7",foreground:"#3c3836",cursor:"#9d0006",cursorAccent:"#fbf1c7",selectionBackground:"rgba(157, 0, 6, 0.15)",black:"#fbf1c7",red:"#cc241d",green:"#98971a",yellow:"#d79921",blue:"#458588",magenta:"#b16286",cyan:"#689d6a",white:"#504945",brightBlack:"#928374",brightRed:"#9d0006",brightGreen:"#79740e",brightYellow:"#b57614",brightBlue:"#076678",brightMagenta:"#8f3f71",brightCyan:"#427b58",brightWhite:"#3c3836"}}},m=w(null),o=w(!0),l=w([]),c=w(null),x=w(localStorage.getItem(O)||"default");let i=null;const u=new Map;let s=null,v=null,A=null,y=null,_=null,k=0;const V=L(()=>l.value.find(e=>e.id===c.value)||null),be=L(()=>Object.entries(C).map(([e,t])=>({label:t.label,value:e}))),ue=L(()=>C[x.value]?.theme.background??"#1a1a2e");function he(){const e=Ne(),t=Te(),a=t?t.startsWith("https")?"wss:":"ws:":location.protocol==="https:"?"wss:":"ws:";return t?`${a}//${new URL(t).host}/api/hermes/terminal${e?`?token=${encodeURIComponent(e)}`:""}`:`${a}//${location.host}/api/hermes/terminal${e?`?token=${encodeURIComponent(e)}`:""}`}function D(){const e=he();i=new WebSocket(e),i.onopen=()=>{},i.onmessage=t=>{const a=typeof t.data=="string"?t.data:"";if(a.charCodeAt(0)===123)try{ge(JSON.parse(a))}catch{}else s?.write(a)},i.onopen=()=>{},i.onclose=()=>{setTimeout(D,3e3)},i.onerror=()=>{}}function T(e){!i||i.readyState!==WebSocket.OPEN||i.send(typeof e=="string"?e:JSON.stringify(e))}function ge(e){switch(e.type){case"created":l.value.push({id:e.id,shell:e.shell,pid:e.pid,title:`${e.shell} #${l.value.length+1}`,createdAt:Date.now(),exited:!1}),W(e.id);break;case"switched":break;case"exited":{const t=l.value.find(a=>a.id===e.id);t&&(t.exited=!0,c.value===e.id&&s?.write(`\r
1
+ import{$r as xe,Ar as Te,Ci as f,Cr as Se,Ct as Me,E as Ae,Gi as w,Hr as Re,Jr as We,Nr as Ye,Pi as h,Qi as n,Qr as r,Si as Ge,Ti as Ee,Ut as E,Yr as Le,Zr as L,aa as M,ai as $,ci as $e,ct as ze,ea as z,ei as p,jt as Oe,kr as Ne,n as Ve,na as De,oi as B,q as Ie,ra as d,t as Pe,ti as b,wr as Ue,xi as He}from"./index-RJQqJC6n.js";import{a as Fe,i as Je,n as je,o as qe,r as Qe,s as Ke,t as Xe}from"./xterm-CdfgdkPC.js";var U,H,F,J,j,q,Q,K,X,Z,ee,te,ae,re,ie,ne,le,oe,ce,O,N,fe,se=M((()=>{Re(),Ke(),Je(),Qe(),Xe(),Ye(),Ae(),Se(),U={class:"terminal-panel"},H={class:"session-list-header"},F={key:0,class:"session-list-title"},J={class:"session-list-actions"},j={key:0,class:"session-items"},q={key:0,class:"session-empty"},Q=["onClick"],K={class:"session-item-content"},X={class:"session-item-title"},Z={class:"session-item-meta"},ee={class:"session-item-shell"},te={key:0,class:"session-item-status"},ae={key:1,class:"session-item-time"},re={class:"terminal-main"},ie={class:"terminal-header"},ne={class:"header-left"},le={key:0,class:"header-session-title"},oe={class:"header-actions"},ce={class:"terminal-container"},O="hermes_terminal_theme",N=18,fe=$e({__name:"TerminalView",setup(rt){const{t:g}=Ue(),de=ze(),C={default:{label:"Default",theme:{background:"#1a1a2e",foreground:"#e0e0e0",cursor:"#4cc9f0",cursorAccent:"#1a1a2e",selectionBackground:"rgba(76, 201, 240, 0.3)",black:"#000000",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"solarized-dark":{label:"Solarized Dark",theme:{background:"#002b36",foreground:"#839496",cursor:"#93a1a1",cursorAccent:"#002b36",selectionBackground:"rgba(147, 161, 161, 0.3)",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#002b36",brightRed:"#cb4b16",brightGreen:"#586e75",brightYellow:"#657b83",brightBlue:"#839496",brightMagenta:"#6c71c4",brightCyan:"#93a1a1",brightWhite:"#fdf6e3"}},"solarized-light":{label:"Solarized Light",theme:{background:"#fdf6e3",foreground:"#657b83",cursor:"#586e75",cursorAccent:"#fdf6e3",selectionBackground:"rgba(88, 110, 117, 0.3)",black:"#073642",red:"#dc322f",green:"#859900",yellow:"#b58900",blue:"#268bd2",magenta:"#d33682",cyan:"#2aa198",white:"#eee8d5",brightBlack:"#002b36",brightRed:"#cb4b16",brightGreen:"#586e75",brightYellow:"#657b83",brightBlue:"#839496",brightMagenta:"#6c71c4",brightCyan:"#93a1a1",brightWhite:"#fdf6e3"}},monokai:{label:"Monokai",theme:{background:"#272822",foreground:"#f8f8f2",cursor:"#f8f8f0",cursorAccent:"#272822",selectionBackground:"rgba(248, 248, 242, 0.2)",black:"#272822",red:"#f92672",green:"#a6e22e",yellow:"#f4bf75",blue:"#66d9ef",magenta:"#ae81ff",cyan:"#a1efe4",white:"#f8f8f2",brightBlack:"#75715e",brightRed:"#fd971f",brightGreen:"#a6e22e",brightYellow:"#e6db74",brightBlue:"#66d9ef",brightMagenta:"#ae81ff",brightCyan:"#a1efe4",brightWhite:"#f9f8f5"}},dracula:{label:"Dracula",theme:{background:"#282a36",foreground:"#f8f8f2",cursor:"#f8f8f2",cursorAccent:"#282a36",selectionBackground:"rgba(248, 248, 242, 0.2)",black:"#21222c",red:"#ff5555",green:"#50fa7b",yellow:"#f1fa8c",blue:"#bd93f9",magenta:"#ff79c6",cyan:"#8be9fd",white:"#f8f8f2",brightBlack:"#6272a4",brightRed:"#ff6e6e",brightGreen:"#69ff94",brightYellow:"#ffffa5",brightBlue:"#d6acff",brightMagenta:"#ff92df",brightCyan:"#a4ffff",brightWhite:"#ffffff"}},nord:{label:"Nord",theme:{background:"#2e3440",foreground:"#d8dee9",cursor:"#d8dee9",cursorAccent:"#2e3440",selectionBackground:"rgba(216, 222, 233, 0.2)",black:"#3b4252",red:"#bf616a",green:"#a3be8c",yellow:"#ebcb8b",blue:"#81a1c1",magenta:"#b48ead",cyan:"#88c0d0",white:"#e5e9f0",brightBlack:"#4c566a",brightRed:"#bf616a",brightGreen:"#a3be8c",brightYellow:"#ebcb8b",brightBlue:"#81a1c1",brightMagenta:"#b48ead",brightCyan:"#8fbcbb",brightWhite:"#eceff4"}},"one-dark":{label:"One Dark",theme:{background:"#282c34",foreground:"#abb2bf",cursor:"#528bff",cursorAccent:"#282c34",selectionBackground:"rgba(82, 139, 255, 0.25)",black:"#282c34",red:"#e06c75",green:"#98c379",yellow:"#e5c07b",blue:"#61afef",magenta:"#c678dd",cyan:"#56b6c2",white:"#abb2bf",brightBlack:"#5c6370",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"github-dark":{label:"GitHub Dark",theme:{background:"#0d1117",foreground:"#c9d1d9",cursor:"#58a6ff",cursorAccent:"#0d1117",selectionBackground:"rgba(88, 166, 255, 0.25)",black:"#484f58",red:"#ff7b72",green:"#7ee787",yellow:"#ffa657",blue:"#79c0ff",magenta:"#d2a8ff",cyan:"#a5d6ff",white:"#c9d1d9",brightBlack:"#6e7681",brightRed:"#ffa198",brightGreen:"#56d364",brightYellow:"#e3b341",brightBlue:"#58a6ff",brightMagenta:"#bc8cff",brightCyan:"#79c0ff",brightWhite:"#f0f6fc"}},"tokyo-night":{label:"Tokyo Night",theme:{background:"#1a1b26",foreground:"#a9b1d6",cursor:"#c0caf5",cursorAccent:"#1a1b26",selectionBackground:"rgba(192, 202, 245, 0.2)",black:"#15161e",red:"#f7768e",green:"#9ece6a",yellow:"#e0af68",blue:"#7aa2f7",magenta:"#bb9af7",cyan:"#7dcfff",white:"#a9b1d6",brightBlack:"#414868",brightRed:"#f7768e",brightGreen:"#9ece6a",brightYellow:"#e0af68",brightBlue:"#7aa2f7",brightMagenta:"#bb9af7",brightCyan:"#7dcfff",brightWhite:"#c0caf5"}},"github-light":{label:"GitHub Light",theme:{background:"#ffffff",foreground:"#24292f",cursor:"#0969da",cursorAccent:"#ffffff",selectionBackground:"rgba(9, 105, 218, 0.2)",black:"#24292f",red:"#cf222e",green:"#116329",yellow:"#4d2d00",blue:"#0969da",magenta:"#8250df",cyan:"#1b7c83",white:"#57606a",brightBlack:"#57606a",brightRed:"#a40e26",brightGreen:"#1a7f37",brightYellow:"#633c01",brightBlue:"#218bff",brightMagenta:"#a475f4",brightCyan:"#3192aa",brightWhite:"#8c959f"}},"catppuccin-latte":{label:"Catppuccin Latte",theme:{background:"#eff1f5",foreground:"#4c4f69",cursor:"#dc8a78",cursorAccent:"#eff1f5",selectionBackground:"rgba(220, 138, 120, 0.2)",black:"#5c5f77",red:"#d20f39",green:"#40a02b",yellow:"#df8e1d",blue:"#1e66f5",magenta:"#ea76cb",cyan:"#179299",white:"#4c4f69",brightBlack:"#6c6f85",brightRed:"#d20f39",brightGreen:"#40a02b",brightYellow:"#df8e1d",brightBlue:"#1e66f5",brightMagenta:"#ea76cb",brightCyan:"#179299",brightWhite:"#bcc0cc"}},"alabaster-light":{label:"Alabaster",theme:{background:"#f7f7f7",foreground:"#434343",cursor:"#528bff",cursorAccent:"#f7f7f7",selectionBackground:"rgba(82, 139, 255, 0.2)",black:"#000000",red:"#aa3731",green:"#448c27",yellow:"#cb9000",blue:"#325cc0",magenta:"#7a3e9d",cyan:"#0083b2",white:"#434343",brightBlack:"#777777",brightRed:"#f05050",brightGreen:"#60cb00",brightYellow:"#ffbc5d",brightBlue:"#0070ea",brightMagenta:"#ca64e2",brightCyan:"#00aacb",brightWhite:"#999999"}},"xterm-light":{label:"XTerm Light",theme:{background:"#fafafa",foreground:"#383a42",cursor:"#526fff",cursorAccent:"#fafafa",selectionBackground:"rgba(82, 111, 255, 0.2)",black:"#383a42",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a1a7",brightBlack:"#4f525e",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"one-light":{label:"One Light",theme:{background:"#fafafa",foreground:"#383a42",cursor:"#526eff",cursorAccent:"#fafafa",selectionBackground:"rgba(82, 110, 255, 0.2)",black:"#383a42",red:"#e45649",green:"#50a14f",yellow:"#c18401",blue:"#4078f2",magenta:"#a626a4",cyan:"#0184bc",white:"#a0a1a7",brightBlack:"#4f525e",brightRed:"#e06c75",brightGreen:"#98c379",brightYellow:"#e5c07b",brightBlue:"#61afef",brightMagenta:"#c678dd",brightCyan:"#56b6c2",brightWhite:"#ffffff"}},"gruvbox-light":{label:"Gruvbox Light",theme:{background:"#fbf1c7",foreground:"#3c3836",cursor:"#9d0006",cursorAccent:"#fbf1c7",selectionBackground:"rgba(157, 0, 6, 0.15)",black:"#fbf1c7",red:"#cc241d",green:"#98971a",yellow:"#d79921",blue:"#458588",magenta:"#b16286",cyan:"#689d6a",white:"#504945",brightBlack:"#928374",brightRed:"#9d0006",brightGreen:"#79740e",brightYellow:"#b57614",brightBlue:"#076678",brightMagenta:"#8f3f71",brightCyan:"#427b58",brightWhite:"#3c3836"}}},m=w(null),o=w(!0),l=w([]),c=w(null),x=w(localStorage.getItem(O)||"default");let i=null;const u=new Map;let s=null,v=null,A=null,y=null,_=null,k=0;const V=L(()=>l.value.find(e=>e.id===c.value)||null),be=L(()=>Object.entries(C).map(([e,t])=>({label:t.label,value:e}))),ue=L(()=>C[x.value]?.theme.background??"#1a1a2e");function he(){const e=Ne(),t=Te(),a=t?t.startsWith("https")?"wss:":"ws:":location.protocol==="https:"?"wss:":"ws:";return t?`${a}//${new URL(t).host}/api/hermes/terminal${e?`?token=${encodeURIComponent(e)}`:""}`:`${a}//${location.host}/api/hermes/terminal${e?`?token=${encodeURIComponent(e)}`:""}`}function D(){const e=he();i=new WebSocket(e),i.onopen=()=>{},i.onmessage=t=>{const a=typeof t.data=="string"?t.data:"";if(a.charCodeAt(0)===123)try{ge(JSON.parse(a))}catch{}else s?.write(a)},i.onopen=()=>{},i.onclose=()=>{setTimeout(D,3e3)},i.onerror=()=>{}}function T(e){!i||i.readyState!==WebSocket.OPEN||i.send(typeof e=="string"?e:JSON.stringify(e))}function ge(e){switch(e.type){case"created":l.value.push({id:e.id,shell:e.shell,pid:e.pid,title:`${e.shell} #${l.value.length+1}`,createdAt:Date.now(),exited:!1}),W(e.id);break;case"switched":break;case"exited":{const t=l.value.find(a=>a.id===e.id);t&&(t.exited=!0,c.value===e.id&&s?.write(`\r
2
2
  \x1B[90m[${g("terminal.processExited",{code:e.exitCode})}]\x1B[0m\r
3
3
  `));break}case"error":de.error(e.message);break}}function R(){T({type:"create"})}function me(e){let t=u.get(e);if(!t){const a=new qe({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',theme:{...C[x.value].theme}}),S=new Fe;a.loadAddon(S),a.loadAddon(new je),a.onData(Ce=>{i?.readyState===WebSocket.OPEN&&i.send(Ce)}),t={term:a,fitAddon:S,opened:!1},u.set(e,t)}return t}function W(e){if(c.value===e)return;c.value=e;const t=me(e);s=t.term,v=t.fitAddon,ke(),T({type:"switch",sessionId:e}),y?.matches&&(o.value=!1)}function _e(e){T({type:"close",sessionId:e}),l.value=l.value.filter(a=>a.id!==e);const t=u.get(e);t&&(t.term.dispose(),u.delete(e)),c.value===e&&(c.value=l.value.length>0?l.value[0].id:null,s=null,v=null,c.value?W(c.value):(I(),R()))}function ke(){if(!m.value)return;const e=m.value;for(;e.firstChild;)e.removeChild(e.firstChild);const t=u.get(c.value);if(t){if(!t.opened)t.term.open(e),t.opened=!0;else{const a=t.term.element;a&&e.appendChild(a)}A?.disconnect(),A=new ResizeObserver(()=>{Y(),ve()}),A.observe(m.value),setTimeout(()=>Y(),50),setTimeout(()=>Y(),200)}}function I(){if(!m.value)return;const e=m.value;for(;e.firstChild;)e.removeChild(e.firstChild)}function Y(){if(v)try{v.fit()}catch{}}function ve(){if(!(!s||!i||i.readyState!==WebSocket.OPEN))try{T({type:"resize",cols:s.cols,rows:s.rows})}catch{}}function ye(e){if(e.touches.length!==1){_=null,k=0;return}_=e.touches[0].clientY,k=0}function we(e){if(!s||e.touches.length!==1||_===null)return;const t=e.touches[0].clientY;k+=_-t,_=t;const a=Math.trunc(k/N);a!==0&&(s.scrollLines(a),k-=a*N,e.preventDefault())}function P(){_=null,k=0}function pe(e){x.value=e,localStorage.setItem(O,e);const t=C[e]?.theme;if(t)for(const a of u.values())a.term.options.theme={...t}}function Be(e){return new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}function G(e){e.matches&&o.value&&(o.value=!1)}return He(()=>{y=window.matchMedia("(max-width: 768px)"),G(y),y.addEventListener("change",G),D()}),Ge(()=>{y?.removeEventListener("change",G),I();for(const e of u.values())e.term.dispose();u.clear(),s=null,v=null,i?.close(),i=null}),(e,t)=>(f(),b("div",U,[r("div",{class:z(["session-backdrop",{active:o.value}]),onClick:t[0]||(t[0]=a=>o.value=!1)},null,2),r("aside",{class:z(["session-list",{collapsed:!o.value}])},[r("div",H,[o.value?(f(),b("span",F,d(n(g)("terminal.sessions")),1)):p("",!0),r("div",J,[B(n(Me),{trigger:"hover"},{trigger:h(()=>[B(n(E),{quaternary:"",size:"tiny",onClick:R,circle:""},{icon:h(()=>[...t[3]||(t[3]=[r("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[r("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),_:1})]),default:h(()=>[$(" "+d(n(g)("terminal.newTab")),1)]),_:1})])]),o.value?(f(),b("div",j,[l.value.length===0?(f(),b("div",q,d(n(g)("common.loading")),1)):p("",!0),(f(!0),b(Le,null,Ee(l.value,a=>(f(),b("button",{key:a.id,class:z(["session-item",{active:a.id===c.value,exited:a.exited}]),onClick:S=>W(a.id)},[r("div",K,[r("span",X,d(a.title),1),r("span",Z,[r("span",ee,d(a.shell),1),a.exited?(f(),b("span",te,d(n(g)("terminal.sessionExited")),1)):(f(),b("span",ae,d(Be(a.createdAt)),1))])]),l.value.length>1?(f(),xe(n(Ie),{key:0,onPositiveClick:S=>_e(a.id)},{trigger:h(()=>[r("button",{class:"session-item-delete",onClick:t[1]||(t[1]=We(()=>{},["stop"]))},[...t[4]||(t[4]=[r("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[r("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),r("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),default:h(()=>[$(" "+d(n(g)("terminal.closeSession")),1)]),_:1},8,["onPositiveClick"])):p("",!0)],10,Q))),128))])):p("",!0)],2),r("div",re,[r("header",ie,[r("div",ne,[B(n(E),{quaternary:"",size:"small",onClick:t[2]||(t[2]=a=>o.value=!o.value),circle:""},{icon:h(()=>[...t[5]||(t[5]=[r("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5"},[r("rect",{x:"3",y:"3",width:"7",height:"7"}),r("rect",{x:"14",y:"3",width:"7",height:"7"}),r("rect",{x:"3",y:"14",width:"7",height:"7"}),r("rect",{x:"14",y:"14",width:"7",height:"7"})],-1)])]),_:1}),V.value?(f(),b("span",le,d(V.value.title),1)):p("",!0)]),r("div",oe,[B(n(Oe),{value:x.value,options:be.value,size:"small","consistent-menu-width":!1,class:"theme-select","onUpdate:value":pe},null,8,["value","options"]),B(n(E),{size:"small",onClick:R},{icon:h(()=>[...t[6]||(t[6]=[r("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[r("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),r("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1)])]),default:h(()=>[$(" "+d(n(g)("terminal.newTab")),1)]),_:1})])]),r("div",ce,[r("div",{ref_key:"terminalRef",ref:m,class:"terminal-xterm",style:De({backgroundColor:ue.value}),onTouchstart:ye,onTouchmove:we,onTouchend:P,onTouchcancel:P},null,36)])])]))}})})),Ze=M((()=>{})),et=M((()=>{})),tt,at=M((()=>{se(),se(),Ze(),et(),Ve(),tt=Pe(fe,[["__scopeId","data-v-33848db6"]])}));at();export{tt as default};
@@ -1 +1 @@
1
- import{Br as gt,Ci as d,Cr as R,E as kt,Gi as I,Hr as C,Pi as O,Qi as s,Qr as e,Ti as M,Ut as W,Vr as yt,Yr as P,Zr as y,aa as f,ai as m,ci as B,ei as $,n as F,na as T,oi as S,ra as t,t as D,ti as c,wr as H,xi as ft}from"./index-B41wzfl2.js";import{_ as Tt,p as mt}from"./sessions-BeO9QOJY.js";import{r as $t,t as wt}from"./profiles-DDKFPE0r.js";function lt(p){return(p||"").trim()||"unknown"}function x(p,a){return a<=0?0:p/a*100}function A(p){const a=lt(p);let i=0;for(let v=0;v<a.length;v+=1)i=(i<<5)-i+a.charCodeAt(v),i|=0;return L[Math.abs(i)%L.length]}var L,U,V=f((()=>{Tt(),yt(),C(),L=["#4fd1c5","#63b3ed","#f6ad55","#b794f4","#68d391","#fc8181","#f687b3","#90cdf4","#fbd38d","#9ae6b4"],U=gt("usage",()=>{const p=I(null),a=I(!1);let i=0;async function v(o=30){const g=++i;a.value=!0;try{const w=await mt(o);g===i&&(p.value=w)}catch(w){g===i&&console.error("Failed to load usage stats:",w)}finally{g===i&&(a.value=!1)}}const k=y(()=>!!p.value&&p.value.total_sessions>0),r=y(()=>p.value?.total_input_tokens??0),h=y(()=>p.value?.total_output_tokens??0),u=y(()=>r.value+h.value),n=y(()=>p.value?.total_sessions??0),l=y(()=>p.value?.total_cache_read_tokens??0),_=y(()=>{const o=r.value+l.value;return o===0?null:l.value/o*100}),z=y(()=>p.value?.total_cost??0),N=y(()=>p.value?p.value.model_usage.map(o=>{const g=lt(o.model),w=o.input_tokens+o.output_tokens,b=w+o.cache_read_tokens;return{model:g,inputTokens:o.input_tokens,outputTokens:o.output_tokens,cacheTokens:o.cache_read_tokens,cacheWriteTokens:o.cache_write_tokens,totalTokens:w,visualTokens:b,sessions:o.sessions,color:A(g),inputPercent:x(o.input_tokens,b),outputPercent:x(o.output_tokens,b),cachePercent:x(o.cache_read_tokens,b)}}).sort((o,g)=>g.visualTokens-o.visualTokens):[]);return{stats:p,isLoading:a,hasData:k,loadSessions:v,totalInputTokens:r,totalOutputTokens:h,totalTokens:u,totalSessions:n,totalCacheTokens:l,cacheHitRate:_,estimatedCost:z,modelUsage:N,modelLegend:y(()=>{const o=new Set;return N.value.filter(g=>o.has(g.model)?!1:(o.add(g.model),!0)).map(g=>({model:g.model,color:g.color}))}),agentUsage:y(()=>p.value?(p.value.agent_usage??[]).map(o=>{const g=(o.agent||"").trim()||"unknown",w=o.input_tokens+o.output_tokens,b=w+o.cache_read_tokens;return{agent:g,inputTokens:o.input_tokens,outputTokens:o.output_tokens,cacheTokens:o.cache_read_tokens,cacheWriteTokens:o.cache_write_tokens,totalTokens:w,visualTokens:b,sessions:o.sessions,color:A(`agent:${g}`),inputPercent:x(o.input_tokens,b),outputPercent:x(o.output_tokens,b),cachePercent:x(o.cache_read_tokens,b)}}).sort((o,g)=>g.visualTokens-o.visualTokens):[]),dailyUsage:y(()=>(p.value?.daily_usage??[]).map(o=>{const g=o.input_tokens+o.output_tokens+o.cache_read_tokens;return{...o,visualTokens:g,inputPercent:x(o.input_tokens,g),outputPercent:x(o.output_tokens,g),cachePercent:x(o.cache_read_tokens,g)}})),avgSessionsPerDay:y(()=>{if(!p.value||p.value.daily_usage.length===0)return 0;const o=p.value.daily_usage.filter(w=>w.sessions>0).length,g=Math.max(1,o);return n.value/g}),getModelColor:A}})})),q,K,E,Q,G,Y,Z,j,J,X,ee,te,se,ae,ne,oe,it,le=f((()=>{C(),R(),V(),q={class:"stat-cards"},K={class:"stat-card"},E={class:"stat-label"},Q={class:"stat-value"},G={class:"stat-sub"},Y={class:"stat-card"},Z={class:"stat-label"},j={class:"stat-value"},J={class:"stat-sub"},X={class:"stat-card"},ee={class:"stat-label"},te={class:"stat-value"},se={class:"stat-card"},ae={class:"stat-label"},ne={class:"stat-value"},oe={key:0,class:"stat-sub"},it=B({__name:"StatCards",setup(p){const{t:a}=H(),i=U();function v(r){return r>=1e6?(r/1e6).toFixed(1)+"M":r>=1e3?(r/1e3).toFixed(1)+"K":String(r)}function k(r){return r===0?"$0.00":r<.01?"<$0.01":"$"+r.toFixed(2)}return(r,h)=>(d(),c("div",q,[e("div",K,[e("div",E,t(s(a)("usage.totalTokens")),1),e("div",Q,t(v(s(i).totalTokens)),1),e("div",G,t(v(s(i).totalInputTokens))+" "+t(s(a)("usage.inputTokens"))+" / "+t(v(s(i).totalOutputTokens))+" "+t(s(a)("usage.outputTokens")),1)]),e("div",Y,[e("div",Z,t(s(a)("usage.totalSessions")),1),e("div",j,t(s(i).totalSessions),1),e("div",J,t(s(a)("usage.avgPerDay",{n:s(i).avgSessionsPerDay.toFixed(1)})),1)]),e("div",X,[e("div",ee,t(s(a)("usage.estimatedCost")),1),e("div",te,t(k(s(i).estimatedCost)),1)]),e("div",se,[e("div",ae,t(s(a)("usage.cacheHitRate")),1),e("div",ne,t(s(i).cacheHitRate!==null?s(i).cacheHitRate.toFixed(1)+"%":"--"),1),s(i).cacheHitRate!==null?(d(),c("div",oe,t(v(s(i).totalCacheTokens))+" "+t(s(a)("usage.tokens")),1)):$("",!0)])]))}})})),bt=f((()=>{})),ut,xt=f((()=>{le(),le(),bt(),F(),ut=D(it,[["__scopeId","data-v-3a594781"]])})),ie,ue,re,_e,de,ce,pe,ve,he,ge,ke,rt,ye=f((()=>{C(),R(),V(),ie={class:"model-breakdown"},ue={class:"section-title"},re={class:"model-legend","aria-label":"Token type legend"},_e={class:"legend-item"},de={class:"legend-item"},ce={class:"legend-item"},pe={class:"model-list"},ve=["title"],he={class:"model-bar-wrap"},ge=["title"],ke={key:0},rt=B({__name:"ModelBreakdown",setup(p){const{t:a}=H(),i=U(),v=y(()=>Math.max(...i.modelUsage.map(h=>h.visualTokens),1));function k(h){return h>=1e6?(h/1e6).toFixed(1)+"M":h>=1e3?(h/1e3).toFixed(1)+"K":String(h)}function r(h){const u=h.inputTokens+h.cacheTokens;return u===0?"--":(h.cacheTokens/u*100).toFixed(1)+"%"}return(h,u)=>(d(),c("div",ie,[e("h3",ue,t(s(a)("usage.modelBreakdown")),1),e("div",re,[e("div",_e,[u[0]||(u[0]=e("span",{class:"legend-swatch input"},null,-1)),m(t(s(a)("usage.inputTokens")),1)]),e("div",de,[u[1]||(u[1]=e("span",{class:"legend-swatch output"},null,-1)),m(t(s(a)("usage.outputTokens")),1)]),e("div",ce,[u[2]||(u[2]=e("span",{class:"legend-swatch cache"},null,-1)),m(t(s(a)("usage.cacheRead")),1)])]),e("div",pe,[(d(!0),c(P,null,M(s(i).modelUsage,n=>(d(),c("div",{key:n.model,class:"model-row"},[e("span",{class:"model-swatch",style:T({background:n.color})},null,4),e("span",{class:"model-name",title:n.model},t(n.model),9,ve),e("div",he,[e("div",{class:"model-bar",style:T({width:n.visualTokens/v.value*100+"%"})},[n.inputTokens>0?(d(),c("div",{key:0,class:"model-bar-segment input",style:T({width:n.inputPercent+"%"})},null,4)):$("",!0),n.outputTokens>0?(d(),c("div",{key:1,class:"model-bar-segment output",style:T({width:n.outputPercent+"%"})},null,4)):$("",!0),n.cacheTokens>0?(d(),c("div",{key:2,class:"model-bar-segment cache",style:T({width:n.cachePercent+"%"})},null,4)):$("",!0)],4)]),e("span",{class:"model-tokens",title:`${s(a)("usage.inputTokens")}: ${k(n.inputTokens)} · ${s(a)("usage.outputTokens")}: ${k(n.outputTokens)} · ${s(a)("usage.cacheRead")}: ${k(n.cacheTokens)} · ${s(a)("usage.cacheHitRate")}: ${r(n)}`},[m(t(k(n.totalTokens))+" ",1),n.cacheTokens>0?(d(),c("small",ke,"+"+t(k(n.cacheTokens)),1)):$("",!0)],8,ge)]))),128))])]))}})})),St=f((()=>{})),_t,Pt=f((()=>{ye(),ye(),St(),F(),_t=D(rt,[["__scopeId","data-v-692258ec"]])})),fe,Te,me,$e,we,be,xe,Se,Pe,Ce,Ue,dt,Me=f((()=>{C(),R(),V(),fe={class:"agent-breakdown"},Te={class:"section-title"},me={class:"agent-legend","aria-label":"Token type legend"},$e={class:"legend-item"},we={class:"legend-item"},be={class:"legend-item"},xe={class:"agent-list"},Se=["title"],Pe={class:"agent-bar-wrap"},Ce=["title"],Ue={key:0},dt=B({__name:"AgentBreakdown",setup(p){const{t:a}=H(),i=U(),v=y(()=>Math.max(...i.agentUsage.map(n=>n.visualTokens),1)),k={hermes:"hermes",claude_code:"claudeCode",codex:"codex",ekko_agent:"ekkoAgent"};function r(n){return a(`usage.agents.${k[n]||"unknown"}`)}function h(n){return n>=1e6?(n/1e6).toFixed(1)+"M":n>=1e3?(n/1e3).toFixed(1)+"K":String(n)}function u(n){const l=n.inputTokens+n.cacheTokens;return l===0?"--":(n.cacheTokens/l*100).toFixed(1)+"%"}return(n,l)=>(d(),c("div",fe,[e("h3",Te,t(s(a)("usage.agentBreakdown")),1),e("div",me,[e("div",$e,[l[0]||(l[0]=e("span",{class:"legend-swatch input"},null,-1)),m(t(s(a)("usage.inputTokens")),1)]),e("div",we,[l[1]||(l[1]=e("span",{class:"legend-swatch output"},null,-1)),m(t(s(a)("usage.outputTokens")),1)]),e("div",be,[l[2]||(l[2]=e("span",{class:"legend-swatch cache"},null,-1)),m(t(s(a)("usage.cacheRead")),1)])]),e("div",xe,[(d(!0),c(P,null,M(s(i).agentUsage,_=>(d(),c("div",{key:_.agent,class:"agent-row"},[e("span",{class:"agent-swatch",style:T({background:_.color})},null,4),e("span",{class:"agent-name",title:r(_.agent)},t(r(_.agent)),9,Se),e("div",Pe,[e("div",{class:"agent-bar",style:T({width:_.visualTokens/v.value*100+"%"})},[_.inputTokens>0?(d(),c("div",{key:0,class:"agent-bar-segment input",style:T({width:_.inputPercent+"%"})},null,4)):$("",!0),_.outputTokens>0?(d(),c("div",{key:1,class:"agent-bar-segment output",style:T({width:_.outputPercent+"%"})},null,4)):$("",!0),_.cacheTokens>0?(d(),c("div",{key:2,class:"agent-bar-segment cache",style:T({width:_.cachePercent+"%"})},null,4)):$("",!0)],4)]),e("span",{class:"agent-tokens",title:`${s(a)("usage.inputTokens")}: ${h(_.inputTokens)} · ${s(a)("usage.outputTokens")}: ${h(_.outputTokens)} · ${s(a)("usage.cacheRead")}: ${h(_.cacheTokens)} · ${s(a)("usage.cacheHitRate")}: ${u(_)}`},[m(t(h(_.totalTokens))+" ",1),_.cacheTokens>0?(d(),c("small",Ue,"+"+t(h(_.cacheTokens)),1)):$("",!0)],8,Ce)]))),128))])]))}})})),Ct=f((()=>{})),ct,Ut=f((()=>{Me(),Me(),Ct(),F(),ct=D(dt,[["__scopeId","data-v-f7102221"]])})),Re,Be,Fe,De,He,Ve,Ae,Ie,Le,ze,Ne,Oe,We,qe,Ke,Ee,Qe,Ge,Ye,pt,Ze=f((()=>{C(),R(),V(),Re={class:"daily-trend"},Be={class:"section-title"},Fe={class:"bar-chart"},De={class:"bar-track"},He={class:"bar-tooltip"},Ve={class:"tooltip-date"},Ae={class:"tooltip-row"},Ie={class:"tooltip-row"},Le={class:"tooltip-row"},ze={class:"tooltip-row"},Ne={class:"tooltip-row"},Oe={class:"tooltip-row"},We={class:"tooltip-row"},qe={class:"bar-dates"},Ke={class:"chart-legend","aria-label":"Token type legend"},Ee={class:"legend-item"},Qe={class:"legend-item"},Ge={class:"legend-item"},Ye={class:"trend-table"},pt=B({__name:"DailyTrend",setup(p){const{t:a}=H(),i=U();function v(u){return u>=1e6?(u/1e6).toFixed(1)+"M":u>=1e3?(u/1e3).toFixed(1)+"K":String(u)}function k(u){return u===0?"$0.00":u<.01?"<$0.01":"$"+u.toFixed(2)}function r(u){const n=u.input_tokens+u.cache_read_tokens;return n===0?"--":(u.cache_read_tokens/n*100).toFixed(1)+"%"}const h=y(()=>Math.max(...i.dailyUsage.map(u=>u.visualTokens),1));return(u,n)=>(d(),c("div",Re,[e("h3",Be,t(s(a)("usage.dailyTrend")),1),e("div",Fe,[(d(!0),c(P,null,M(s(i).dailyUsage,l=>(d(),c("div",{key:l.date,class:"bar-col"},[e("div",De,[e("div",{class:"bar-stack",style:T({height:l.visualTokens/h.value*100+"%"})},[l.output_tokens>0?(d(),c("div",{key:0,class:"bar-segment output",style:T({height:l.outputPercent+"%"})},null,4)):$("",!0),l.input_tokens>0?(d(),c("div",{key:1,class:"bar-segment input",style:T({height:l.inputPercent+"%"})},null,4)):$("",!0),l.cache_read_tokens>0?(d(),c("div",{key:2,class:"bar-segment cache",style:T({height:l.cachePercent+"%"})},null,4)):$("",!0)],4)]),e("div",He,[e("div",Ve,t(l.date),1),e("div",Ae,t(s(a)("usage.inputTokens"))+": "+t(v(l.input_tokens)),1),e("div",Ie,t(s(a)("usage.outputTokens"))+": "+t(v(l.output_tokens)),1),e("div",Le,t(s(a)("usage.cacheRead"))+": "+t(v(l.cache_read_tokens)),1),e("div",ze,t(s(a)("usage.cacheWrite"))+": "+t(v(l.cache_write_tokens)),1),e("div",Ne,t(s(a)("usage.cacheHitRate"))+": "+t(r(l)),1),e("div",Oe,t(s(a)("usage.sessions"))+": "+t(l.sessions),1),e("div",We,t(s(a)("usage.cost"))+": "+t(k(l.cost)),1)])]))),128))]),e("div",qe,[e("span",null,t(s(i).dailyUsage[0]?.date.slice(5)),1),e("span",null,t(s(i).dailyUsage[s(i).dailyUsage.length-1]?.date.slice(5)),1)]),e("div",Ke,[e("div",Ee,[n[0]||(n[0]=e("span",{class:"legend-swatch input"},null,-1)),m(t(s(a)("usage.inputTokens")),1)]),e("div",Qe,[n[1]||(n[1]=e("span",{class:"legend-swatch output"},null,-1)),m(t(s(a)("usage.outputTokens")),1)]),e("div",Ge,[n[2]||(n[2]=e("span",{class:"legend-swatch cache"},null,-1)),m(t(s(a)("usage.cacheRead")),1)])]),e("div",Ye,[e("table",null,[e("thead",null,[e("tr",null,[e("th",null,t(s(a)("usage.date")),1),e("th",null,t(s(a)("usage.inputTokens")),1),e("th",null,t(s(a)("usage.outputTokens")),1),e("th",null,t(s(a)("usage.cacheRead")),1),e("th",null,t(s(a)("usage.cacheWrite")),1),e("th",null,t(s(a)("usage.cacheHitRate")),1),e("th",null,t(s(a)("usage.sessions")),1),e("th",null,t(s(a)("usage.cost")),1)])]),e("tbody",null,[(d(!0),c(P,null,M([...s(i).dailyUsage].reverse(),l=>(d(),c("tr",{key:l.date},[e("td",null,t(l.date),1),e("td",null,t(v(l.input_tokens)),1),e("td",null,t(v(l.output_tokens)),1),e("td",null,t(v(l.cache_read_tokens)),1),e("td",null,t(v(l.cache_write_tokens)),1),e("td",null,t(r(l)),1),e("td",null,t(l.sessions),1),e("td",null,t(k(l.cost)),1)]))),128))])])])]))}})})),Mt=f((()=>{})),vt,Rt=f((()=>{Ze(),Ze(),Mt(),F(),vt=D(pt,[["__scopeId","data-v-9eb202e8"]])})),je,Je,Xe,et,tt,st,at,nt,ht,ot=f((()=>{C(),kt(),R(),V(),wt(),xt(),Pt(),Ut(),Rt(),je={class:"usage-view"},Je={class:"page-header"},Xe={class:"header-title"},et={class:"usage-toolbar"},tt={class:"period-selector",role:"group","aria-label":"Usage statistics period"},st={class:"usage-content"},at={key:0,class:"usage-loading"},nt={key:2,class:"usage-empty"},ht=B({__name:"UsageView",setup(p){const{t:a}=H(),i=U(),v=$t(),k=[{label:"7d",days:7},{label:"30d",days:30},{label:"90d",days:90},{label:"365d",days:365}],r=I(30);async function h(){(!v.activeProfileName||v.profiles.length===0)&&await v.fetchProfiles()}async function u(n=r.value){r.value=n,await h(),await i.loadSessions(n)}return ft(()=>{u(30)}),(n,l)=>(d(),c("div",je,[e("header",Je,[e("h2",Xe,t(s(a)("usage.title")),1),e("div",et,[e("div",tt,[(d(),c(P,null,M(k,_=>S(s(W),{key:_.days,class:"period-option",size:"small",type:r.value===_.days?"primary":"default",secondary:r.value===_.days,quaternary:r.value!==_.days,"aria-pressed":r.value===_.days,onClick:z=>u(_.days)},{default:O(()=>[m(t(_.label),1)]),_:2},1032,["type","secondary","quaternary","aria-pressed","onClick"])),64))]),S(s(W),{class:"refresh-button",size:"small",quaternary:"",loading:s(i).isLoading,onClick:l[0]||(l[0]=_=>u())},{default:O(()=>[m(t(s(a)("usage.refresh")),1)]),_:1},8,["loading"])])]),e("div",st,[s(i).isLoading&&!s(i).hasData?(d(),c("div",at,t(s(a)("common.loading")),1)):s(i).hasData?(d(),c(P,{key:1},[S(ut),S(_t),S(ct),S(vt)],64)):(d(),c("div",nt,t(s(a)("usage.noData")),1))])]))}})})),Bt=f((()=>{})),Ft,Dt=f((()=>{ot(),ot(),Bt(),F(),Ft=D(ht,[["__scopeId","data-v-9b767c2b"]])}));Dt();export{Ft as default};
1
+ import{Br as gt,Ci as d,Cr as R,E as kt,Gi as I,Hr as C,Pi as O,Qi as s,Qr as e,Ti as M,Ut as W,Vr as yt,Yr as P,Zr as y,aa as f,ai as m,ci as B,ei as $,n as F,na as T,oi as S,ra as t,t as D,ti as c,wr as H,xi as ft}from"./index-RJQqJC6n.js";import{_ as Tt,p as mt}from"./sessions-wVroPs5k.js";import{r as $t,t as wt}from"./profiles-BtECgqqD.js";function lt(p){return(p||"").trim()||"unknown"}function x(p,a){return a<=0?0:p/a*100}function A(p){const a=lt(p);let i=0;for(let v=0;v<a.length;v+=1)i=(i<<5)-i+a.charCodeAt(v),i|=0;return L[Math.abs(i)%L.length]}var L,U,V=f((()=>{Tt(),yt(),C(),L=["#4fd1c5","#63b3ed","#f6ad55","#b794f4","#68d391","#fc8181","#f687b3","#90cdf4","#fbd38d","#9ae6b4"],U=gt("usage",()=>{const p=I(null),a=I(!1);let i=0;async function v(o=30){const g=++i;a.value=!0;try{const w=await mt(o);g===i&&(p.value=w)}catch(w){g===i&&console.error("Failed to load usage stats:",w)}finally{g===i&&(a.value=!1)}}const k=y(()=>!!p.value&&p.value.total_sessions>0),r=y(()=>p.value?.total_input_tokens??0),h=y(()=>p.value?.total_output_tokens??0),u=y(()=>r.value+h.value),n=y(()=>p.value?.total_sessions??0),l=y(()=>p.value?.total_cache_read_tokens??0),_=y(()=>{const o=r.value+l.value;return o===0?null:l.value/o*100}),z=y(()=>p.value?.total_cost??0),N=y(()=>p.value?p.value.model_usage.map(o=>{const g=lt(o.model),w=o.input_tokens+o.output_tokens,b=w+o.cache_read_tokens;return{model:g,inputTokens:o.input_tokens,outputTokens:o.output_tokens,cacheTokens:o.cache_read_tokens,cacheWriteTokens:o.cache_write_tokens,totalTokens:w,visualTokens:b,sessions:o.sessions,color:A(g),inputPercent:x(o.input_tokens,b),outputPercent:x(o.output_tokens,b),cachePercent:x(o.cache_read_tokens,b)}}).sort((o,g)=>g.visualTokens-o.visualTokens):[]);return{stats:p,isLoading:a,hasData:k,loadSessions:v,totalInputTokens:r,totalOutputTokens:h,totalTokens:u,totalSessions:n,totalCacheTokens:l,cacheHitRate:_,estimatedCost:z,modelUsage:N,modelLegend:y(()=>{const o=new Set;return N.value.filter(g=>o.has(g.model)?!1:(o.add(g.model),!0)).map(g=>({model:g.model,color:g.color}))}),agentUsage:y(()=>p.value?(p.value.agent_usage??[]).map(o=>{const g=(o.agent||"").trim()||"unknown",w=o.input_tokens+o.output_tokens,b=w+o.cache_read_tokens;return{agent:g,inputTokens:o.input_tokens,outputTokens:o.output_tokens,cacheTokens:o.cache_read_tokens,cacheWriteTokens:o.cache_write_tokens,totalTokens:w,visualTokens:b,sessions:o.sessions,color:A(`agent:${g}`),inputPercent:x(o.input_tokens,b),outputPercent:x(o.output_tokens,b),cachePercent:x(o.cache_read_tokens,b)}}).sort((o,g)=>g.visualTokens-o.visualTokens):[]),dailyUsage:y(()=>(p.value?.daily_usage??[]).map(o=>{const g=o.input_tokens+o.output_tokens+o.cache_read_tokens;return{...o,visualTokens:g,inputPercent:x(o.input_tokens,g),outputPercent:x(o.output_tokens,g),cachePercent:x(o.cache_read_tokens,g)}})),avgSessionsPerDay:y(()=>{if(!p.value||p.value.daily_usage.length===0)return 0;const o=p.value.daily_usage.filter(w=>w.sessions>0).length,g=Math.max(1,o);return n.value/g}),getModelColor:A}})})),q,K,E,Q,G,Y,Z,j,J,X,ee,te,se,ae,ne,oe,it,le=f((()=>{C(),R(),V(),q={class:"stat-cards"},K={class:"stat-card"},E={class:"stat-label"},Q={class:"stat-value"},G={class:"stat-sub"},Y={class:"stat-card"},Z={class:"stat-label"},j={class:"stat-value"},J={class:"stat-sub"},X={class:"stat-card"},ee={class:"stat-label"},te={class:"stat-value"},se={class:"stat-card"},ae={class:"stat-label"},ne={class:"stat-value"},oe={key:0,class:"stat-sub"},it=B({__name:"StatCards",setup(p){const{t:a}=H(),i=U();function v(r){return r>=1e6?(r/1e6).toFixed(1)+"M":r>=1e3?(r/1e3).toFixed(1)+"K":String(r)}function k(r){return r===0?"$0.00":r<.01?"<$0.01":"$"+r.toFixed(2)}return(r,h)=>(d(),c("div",q,[e("div",K,[e("div",E,t(s(a)("usage.totalTokens")),1),e("div",Q,t(v(s(i).totalTokens)),1),e("div",G,t(v(s(i).totalInputTokens))+" "+t(s(a)("usage.inputTokens"))+" / "+t(v(s(i).totalOutputTokens))+" "+t(s(a)("usage.outputTokens")),1)]),e("div",Y,[e("div",Z,t(s(a)("usage.totalSessions")),1),e("div",j,t(s(i).totalSessions),1),e("div",J,t(s(a)("usage.avgPerDay",{n:s(i).avgSessionsPerDay.toFixed(1)})),1)]),e("div",X,[e("div",ee,t(s(a)("usage.estimatedCost")),1),e("div",te,t(k(s(i).estimatedCost)),1)]),e("div",se,[e("div",ae,t(s(a)("usage.cacheHitRate")),1),e("div",ne,t(s(i).cacheHitRate!==null?s(i).cacheHitRate.toFixed(1)+"%":"--"),1),s(i).cacheHitRate!==null?(d(),c("div",oe,t(v(s(i).totalCacheTokens))+" "+t(s(a)("usage.tokens")),1)):$("",!0)])]))}})})),bt=f((()=>{})),ut,xt=f((()=>{le(),le(),bt(),F(),ut=D(it,[["__scopeId","data-v-3a594781"]])})),ie,ue,re,_e,de,ce,pe,ve,he,ge,ke,rt,ye=f((()=>{C(),R(),V(),ie={class:"model-breakdown"},ue={class:"section-title"},re={class:"model-legend","aria-label":"Token type legend"},_e={class:"legend-item"},de={class:"legend-item"},ce={class:"legend-item"},pe={class:"model-list"},ve=["title"],he={class:"model-bar-wrap"},ge=["title"],ke={key:0},rt=B({__name:"ModelBreakdown",setup(p){const{t:a}=H(),i=U(),v=y(()=>Math.max(...i.modelUsage.map(h=>h.visualTokens),1));function k(h){return h>=1e6?(h/1e6).toFixed(1)+"M":h>=1e3?(h/1e3).toFixed(1)+"K":String(h)}function r(h){const u=h.inputTokens+h.cacheTokens;return u===0?"--":(h.cacheTokens/u*100).toFixed(1)+"%"}return(h,u)=>(d(),c("div",ie,[e("h3",ue,t(s(a)("usage.modelBreakdown")),1),e("div",re,[e("div",_e,[u[0]||(u[0]=e("span",{class:"legend-swatch input"},null,-1)),m(t(s(a)("usage.inputTokens")),1)]),e("div",de,[u[1]||(u[1]=e("span",{class:"legend-swatch output"},null,-1)),m(t(s(a)("usage.outputTokens")),1)]),e("div",ce,[u[2]||(u[2]=e("span",{class:"legend-swatch cache"},null,-1)),m(t(s(a)("usage.cacheRead")),1)])]),e("div",pe,[(d(!0),c(P,null,M(s(i).modelUsage,n=>(d(),c("div",{key:n.model,class:"model-row"},[e("span",{class:"model-swatch",style:T({background:n.color})},null,4),e("span",{class:"model-name",title:n.model},t(n.model),9,ve),e("div",he,[e("div",{class:"model-bar",style:T({width:n.visualTokens/v.value*100+"%"})},[n.inputTokens>0?(d(),c("div",{key:0,class:"model-bar-segment input",style:T({width:n.inputPercent+"%"})},null,4)):$("",!0),n.outputTokens>0?(d(),c("div",{key:1,class:"model-bar-segment output",style:T({width:n.outputPercent+"%"})},null,4)):$("",!0),n.cacheTokens>0?(d(),c("div",{key:2,class:"model-bar-segment cache",style:T({width:n.cachePercent+"%"})},null,4)):$("",!0)],4)]),e("span",{class:"model-tokens",title:`${s(a)("usage.inputTokens")}: ${k(n.inputTokens)} · ${s(a)("usage.outputTokens")}: ${k(n.outputTokens)} · ${s(a)("usage.cacheRead")}: ${k(n.cacheTokens)} · ${s(a)("usage.cacheHitRate")}: ${r(n)}`},[m(t(k(n.totalTokens))+" ",1),n.cacheTokens>0?(d(),c("small",ke,"+"+t(k(n.cacheTokens)),1)):$("",!0)],8,ge)]))),128))])]))}})})),St=f((()=>{})),_t,Pt=f((()=>{ye(),ye(),St(),F(),_t=D(rt,[["__scopeId","data-v-692258ec"]])})),fe,Te,me,$e,we,be,xe,Se,Pe,Ce,Ue,dt,Me=f((()=>{C(),R(),V(),fe={class:"agent-breakdown"},Te={class:"section-title"},me={class:"agent-legend","aria-label":"Token type legend"},$e={class:"legend-item"},we={class:"legend-item"},be={class:"legend-item"},xe={class:"agent-list"},Se=["title"],Pe={class:"agent-bar-wrap"},Ce=["title"],Ue={key:0},dt=B({__name:"AgentBreakdown",setup(p){const{t:a}=H(),i=U(),v=y(()=>Math.max(...i.agentUsage.map(n=>n.visualTokens),1)),k={hermes:"hermes",claude_code:"claudeCode",codex:"codex",ekko_agent:"ekkoAgent"};function r(n){return a(`usage.agents.${k[n]||"unknown"}`)}function h(n){return n>=1e6?(n/1e6).toFixed(1)+"M":n>=1e3?(n/1e3).toFixed(1)+"K":String(n)}function u(n){const l=n.inputTokens+n.cacheTokens;return l===0?"--":(n.cacheTokens/l*100).toFixed(1)+"%"}return(n,l)=>(d(),c("div",fe,[e("h3",Te,t(s(a)("usage.agentBreakdown")),1),e("div",me,[e("div",$e,[l[0]||(l[0]=e("span",{class:"legend-swatch input"},null,-1)),m(t(s(a)("usage.inputTokens")),1)]),e("div",we,[l[1]||(l[1]=e("span",{class:"legend-swatch output"},null,-1)),m(t(s(a)("usage.outputTokens")),1)]),e("div",be,[l[2]||(l[2]=e("span",{class:"legend-swatch cache"},null,-1)),m(t(s(a)("usage.cacheRead")),1)])]),e("div",xe,[(d(!0),c(P,null,M(s(i).agentUsage,_=>(d(),c("div",{key:_.agent,class:"agent-row"},[e("span",{class:"agent-swatch",style:T({background:_.color})},null,4),e("span",{class:"agent-name",title:r(_.agent)},t(r(_.agent)),9,Se),e("div",Pe,[e("div",{class:"agent-bar",style:T({width:_.visualTokens/v.value*100+"%"})},[_.inputTokens>0?(d(),c("div",{key:0,class:"agent-bar-segment input",style:T({width:_.inputPercent+"%"})},null,4)):$("",!0),_.outputTokens>0?(d(),c("div",{key:1,class:"agent-bar-segment output",style:T({width:_.outputPercent+"%"})},null,4)):$("",!0),_.cacheTokens>0?(d(),c("div",{key:2,class:"agent-bar-segment cache",style:T({width:_.cachePercent+"%"})},null,4)):$("",!0)],4)]),e("span",{class:"agent-tokens",title:`${s(a)("usage.inputTokens")}: ${h(_.inputTokens)} · ${s(a)("usage.outputTokens")}: ${h(_.outputTokens)} · ${s(a)("usage.cacheRead")}: ${h(_.cacheTokens)} · ${s(a)("usage.cacheHitRate")}: ${u(_)}`},[m(t(h(_.totalTokens))+" ",1),_.cacheTokens>0?(d(),c("small",Ue,"+"+t(h(_.cacheTokens)),1)):$("",!0)],8,Ce)]))),128))])]))}})})),Ct=f((()=>{})),ct,Ut=f((()=>{Me(),Me(),Ct(),F(),ct=D(dt,[["__scopeId","data-v-f7102221"]])})),Re,Be,Fe,De,He,Ve,Ae,Ie,Le,ze,Ne,Oe,We,qe,Ke,Ee,Qe,Ge,Ye,pt,Ze=f((()=>{C(),R(),V(),Re={class:"daily-trend"},Be={class:"section-title"},Fe={class:"bar-chart"},De={class:"bar-track"},He={class:"bar-tooltip"},Ve={class:"tooltip-date"},Ae={class:"tooltip-row"},Ie={class:"tooltip-row"},Le={class:"tooltip-row"},ze={class:"tooltip-row"},Ne={class:"tooltip-row"},Oe={class:"tooltip-row"},We={class:"tooltip-row"},qe={class:"bar-dates"},Ke={class:"chart-legend","aria-label":"Token type legend"},Ee={class:"legend-item"},Qe={class:"legend-item"},Ge={class:"legend-item"},Ye={class:"trend-table"},pt=B({__name:"DailyTrend",setup(p){const{t:a}=H(),i=U();function v(u){return u>=1e6?(u/1e6).toFixed(1)+"M":u>=1e3?(u/1e3).toFixed(1)+"K":String(u)}function k(u){return u===0?"$0.00":u<.01?"<$0.01":"$"+u.toFixed(2)}function r(u){const n=u.input_tokens+u.cache_read_tokens;return n===0?"--":(u.cache_read_tokens/n*100).toFixed(1)+"%"}const h=y(()=>Math.max(...i.dailyUsage.map(u=>u.visualTokens),1));return(u,n)=>(d(),c("div",Re,[e("h3",Be,t(s(a)("usage.dailyTrend")),1),e("div",Fe,[(d(!0),c(P,null,M(s(i).dailyUsage,l=>(d(),c("div",{key:l.date,class:"bar-col"},[e("div",De,[e("div",{class:"bar-stack",style:T({height:l.visualTokens/h.value*100+"%"})},[l.output_tokens>0?(d(),c("div",{key:0,class:"bar-segment output",style:T({height:l.outputPercent+"%"})},null,4)):$("",!0),l.input_tokens>0?(d(),c("div",{key:1,class:"bar-segment input",style:T({height:l.inputPercent+"%"})},null,4)):$("",!0),l.cache_read_tokens>0?(d(),c("div",{key:2,class:"bar-segment cache",style:T({height:l.cachePercent+"%"})},null,4)):$("",!0)],4)]),e("div",He,[e("div",Ve,t(l.date),1),e("div",Ae,t(s(a)("usage.inputTokens"))+": "+t(v(l.input_tokens)),1),e("div",Ie,t(s(a)("usage.outputTokens"))+": "+t(v(l.output_tokens)),1),e("div",Le,t(s(a)("usage.cacheRead"))+": "+t(v(l.cache_read_tokens)),1),e("div",ze,t(s(a)("usage.cacheWrite"))+": "+t(v(l.cache_write_tokens)),1),e("div",Ne,t(s(a)("usage.cacheHitRate"))+": "+t(r(l)),1),e("div",Oe,t(s(a)("usage.sessions"))+": "+t(l.sessions),1),e("div",We,t(s(a)("usage.cost"))+": "+t(k(l.cost)),1)])]))),128))]),e("div",qe,[e("span",null,t(s(i).dailyUsage[0]?.date.slice(5)),1),e("span",null,t(s(i).dailyUsage[s(i).dailyUsage.length-1]?.date.slice(5)),1)]),e("div",Ke,[e("div",Ee,[n[0]||(n[0]=e("span",{class:"legend-swatch input"},null,-1)),m(t(s(a)("usage.inputTokens")),1)]),e("div",Qe,[n[1]||(n[1]=e("span",{class:"legend-swatch output"},null,-1)),m(t(s(a)("usage.outputTokens")),1)]),e("div",Ge,[n[2]||(n[2]=e("span",{class:"legend-swatch cache"},null,-1)),m(t(s(a)("usage.cacheRead")),1)])]),e("div",Ye,[e("table",null,[e("thead",null,[e("tr",null,[e("th",null,t(s(a)("usage.date")),1),e("th",null,t(s(a)("usage.inputTokens")),1),e("th",null,t(s(a)("usage.outputTokens")),1),e("th",null,t(s(a)("usage.cacheRead")),1),e("th",null,t(s(a)("usage.cacheWrite")),1),e("th",null,t(s(a)("usage.cacheHitRate")),1),e("th",null,t(s(a)("usage.sessions")),1),e("th",null,t(s(a)("usage.cost")),1)])]),e("tbody",null,[(d(!0),c(P,null,M([...s(i).dailyUsage].reverse(),l=>(d(),c("tr",{key:l.date},[e("td",null,t(l.date),1),e("td",null,t(v(l.input_tokens)),1),e("td",null,t(v(l.output_tokens)),1),e("td",null,t(v(l.cache_read_tokens)),1),e("td",null,t(v(l.cache_write_tokens)),1),e("td",null,t(r(l)),1),e("td",null,t(l.sessions),1),e("td",null,t(k(l.cost)),1)]))),128))])])])]))}})})),Mt=f((()=>{})),vt,Rt=f((()=>{Ze(),Ze(),Mt(),F(),vt=D(pt,[["__scopeId","data-v-9eb202e8"]])})),je,Je,Xe,et,tt,st,at,nt,ht,ot=f((()=>{C(),kt(),R(),V(),wt(),xt(),Pt(),Ut(),Rt(),je={class:"usage-view"},Je={class:"page-header"},Xe={class:"header-title"},et={class:"usage-toolbar"},tt={class:"period-selector",role:"group","aria-label":"Usage statistics period"},st={class:"usage-content"},at={key:0,class:"usage-loading"},nt={key:2,class:"usage-empty"},ht=B({__name:"UsageView",setup(p){const{t:a}=H(),i=U(),v=$t(),k=[{label:"7d",days:7},{label:"30d",days:30},{label:"90d",days:90},{label:"365d",days:365}],r=I(30);async function h(){(!v.activeProfileName||v.profiles.length===0)&&await v.fetchProfiles()}async function u(n=r.value){r.value=n,await h(),await i.loadSessions(n)}return ft(()=>{u(30)}),(n,l)=>(d(),c("div",je,[e("header",Je,[e("h2",Xe,t(s(a)("usage.title")),1),e("div",et,[e("div",tt,[(d(),c(P,null,M(k,_=>S(s(W),{key:_.days,class:"period-option",size:"small",type:r.value===_.days?"primary":"default",secondary:r.value===_.days,quaternary:r.value!==_.days,"aria-pressed":r.value===_.days,onClick:z=>u(_.days)},{default:O(()=>[m(t(_.label),1)]),_:2},1032,["type","secondary","quaternary","aria-pressed","onClick"])),64))]),S(s(W),{class:"refresh-button",size:"small",quaternary:"",loading:s(i).isLoading,onClick:l[0]||(l[0]=_=>u())},{default:O(()=>[m(t(s(a)("usage.refresh")),1)]),_:1},8,["loading"])])]),e("div",st,[s(i).isLoading&&!s(i).hasData?(d(),c("div",at,t(s(a)("common.loading")),1)):s(i).hasData?(d(),c(P,{key:1},[S(ut),S(_t),S(ct),S(vt)],64)):(d(),c("div",nt,t(s(a)("usage.noData")),1))])]))}})})),Bt=f((()=>{})),Ft,Dt=f((()=>{ot(),ot(),Bt(),F(),Ft=D(ht,[["__scopeId","data-v-9b767c2b"]])}));Dt();export{Ft as default};
@@ -1 +1 @@
1
- import{$r as Ve,$t as ke,Ci as $,Cr as ee,E as Te,Gi as g,Hr as ae,Mi as D,Pi as n,Qi as e,Qr as r,Si as Ce,Ut as b,Zr as P,aa as f,ai as v,ci as te,ct as Ie,d as $e,ei as Be,h as Ge,ht as Le,jt as Me,m as Ne,n as ie,oi as l,p as De,pt as d,ra as s,t as se,ti as le,tn as I,tt as Oe,u as je,v as ze,wr as ne,xi as Ee,y as Ae}from"./index-B41wzfl2.js";var O,j,z,E,A,R,H,U,F,J,K,ue,Q=f((()=>{ae(),Te(),ee(),De(),O={class:"github-preview-settings"},j={class:"settings-section"},z={class:"control-row"},E={class:"section-description"},A=["href"],R={class:"log-output"},H={class:"log-output-header"},U={class:"log-box"},F={class:"log-title"},J={class:"log-box"},K={class:"log-title"},ue=te({__name:"GithubPreviewSettings",setup(ce){const{t:a}=ne(),p=Ie(),y=g(!1),m=g(!1),S=g(""),x=g([]),_=g(""),t=g(null),V=g(""),B=g(!1);let h=null;const _e=P(()=>x.value.map(i=>({label:i.name,value:i.name}))),ve=P(()=>t.value?.action_log||""),de=P(()=>t.value?.dev_log||""),w=P(()=>S.value||t.value?.active_action||""),k=P(()=>!!w.value),ge={prepare:"githubPreview.prepareSuccess",install:"githubPreview.installSuccess",start:"githubPreview.startSuccess",stop:"githubPreview.stopSuccess"};function pe(i){const o=String(i?.message||""),c=o.indexOf("{");if(!(c<0))try{const u=JSON.parse(o.slice(c));u&&typeof u=="object"&&"preview_dir"in u&&(t.value=u)}catch{}}function C(i,o){return i==="node_environment_missing"?a("githubPreview.nodeEnvironmentMissing"):o||a("githubPreview.actionFailed")}function fe(i){const o=String(i?.message||""),c=o.indexOf("{");if(c<0)return null;try{const u=JSON.parse(o.slice(c));return u&&typeof u=="object"?u:null}catch{return null}}async function G(){t.value=await je(),!_.value&&t.value.current_tag&&(_.value=t.value.current_tag)}async function he(){m.value=!0;try{x.value=(await $e()).tags,!_.value&&x.value[0]&&(_.value=x.value[0].name)}finally{m.value=!1}}async function L(){y.value=!0;try{await Promise.all([G(),he()])}finally{y.value=!1}}async function T(i,o,c){S.value=i;try{const u=await o();if(t.value=u,u.success===!1){p.warning(C(u.code,u.message));return}!u.accepted&&!u.active_action&&p.success(a(c))}catch(u){pe(u);const N=fe(u);p.error(C(N?.code,N?.message||u?.message))}finally{S.value=""}}async function we(){try{await G()}catch{}}function be(){h||(h=window.setInterval(()=>{we()},2e3))}function M(){h&&(window.clearInterval(h),h=null)}function Pe(){return _.value?_.value:(p.warning(a("githubPreview.selectTag")),null)}async function ye(){const i=Pe();i&&await T("prepare",()=>Ge(i),"githubPreview.prepareSuccess")}async function me(){await T("install",async()=>{const i=await Ne();return i.success!==!1&&!i.accepted&&!i.active_action&&!i.installed?{...i,success:!1,message:i.message||a("githubPreview.actionFailed")}:i},"githubPreview.installSuccess")}async function Se(){await T("start",()=>ze(_.value||void 0),"githubPreview.startSuccess")}async function xe(){await T("stop",Ae,"githubPreview.stopSuccess")}return Ee(async()=>{await L(),V.value=t.value?.last_action_completed_at||"",B.value=!0}),Ce(()=>{M()}),D(()=>t.value?.active_action||"",i=>{i?be():M()}),D(()=>t.value?.last_action_completed_at||"",i=>{if(!i)return;if(!B.value){V.value=i;return}if(i===V.value||S.value)return;V.value=i;const o=t.value?.last_action||"";if(t.value?.last_action_success===!1){p.error(C(t.value.last_action_code,t.value.last_action_message));return}const c=ge[o];c&&p.success(a(c))}),(i,o)=>($(),le("div",O,[r("div",j,[r("div",z,[l(e(Me),{value:_.value,"onUpdate:value":o[0]||(o[0]=c=>_.value=c),class:"tag-select",filterable:"",loading:m.value,options:_e.value,placeholder:e(a)("githubPreview.selectTag")},null,8,["value","loading","options","placeholder"]),l(e(Oe),null,{default:n(()=>[l(e(b),{type:"primary",loading:w.value==="prepare",disabled:k.value||!_.value,onClick:ye},{default:n(()=>[v(s(e(a)("githubPreview.prepare")),1)]),_:1},8,["loading","disabled"]),l(e(b),{loading:w.value==="install",disabled:k.value||!t.value?.has_package,onClick:me},{default:n(()=>[v(s(e(a)("githubPreview.install")),1)]),_:1},8,["loading","disabled"]),l(e(b),{type:"success",loading:w.value==="start",disabled:k.value||!t.value?.installed,onClick:Se},{default:n(()=>[v(s(e(a)("githubPreview.start")),1)]),_:1},8,["loading","disabled"]),l(e(b),{loading:w.value==="stop",disabled:k.value||!t.value?.running,onClick:xe},{default:n(()=>[v(s(e(a)("githubPreview.stop")),1)]),_:1},8,["loading","disabled"]),l(e(b),{loading:y.value||m.value,onClick:L},{default:n(()=>[v(s(e(a)("githubPreview.refresh")),1)]),_:1},8,["loading"])]),_:1})]),r("p",E,s(e(a)("githubPreview.description")),1),l(e(ke),{type:"info",bordered:!1,class:"preview-note"},{default:n(()=>[v(s(e(a)("githubPreview.note")),1)]),_:1}),t.value?($(),Ve(e(Le),{key:0,column:1,bordered:"",size:"small",class:"status-table"},{default:n(()=>[l(e(d),{label:e(a)("githubPreview.path")},{default:n(()=>[r("code",null,s(t.value.preview_dir),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.webuiHome")},{default:n(()=>[r("code",null,s(t.value.webui_home),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.currentTag")},{default:n(()=>[v(s(t.value.current_tag||"-"),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.repoReady")},{default:n(()=>[l(e(I),{size:"small",type:t.value.has_package?"success":"default"},{default:n(()=>[v(s(t.value.has_package?e(a)("githubPreview.yes"):e(a)("githubPreview.no")),1)]),_:1},8,["type"])]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.dependencies")},{default:n(()=>[l(e(I),{size:"small",type:t.value.installed?"success":"warning"},{default:n(()=>[v(s(t.value.installed?e(a)("githubPreview.yes"):e(a)("githubPreview.no")),1)]),_:1},8,["type"])]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.running")},{default:n(()=>[l(e(I),{size:"small",type:t.value.running?"success":"default"},{default:n(()=>[v(s(t.value.running?`PID ${t.value.pid}`:e(a)("githubPreview.notRunning")),1)]),_:1},8,["type"])]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.open")},{default:n(()=>[r("a",{href:t.value.frontend_url,target:"_blank",rel:"noopener noreferrer"},s(t.value.frontend_url),9,A)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.log")},{default:n(()=>[r("code",null,s(t.value.action_log_path),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.devLog")},{default:n(()=>[r("code",null,s(t.value.dev_log_path),1)]),_:1},8,["label"])]),_:1})):Be("",!0),r("div",R,[r("div",H,s(e(a)("githubPreview.logOutput")),1),r("div",U,[r("div",F,s(e(a)("githubPreview.actionLog")),1),r("pre",null,s(ve.value||"-"),1)]),r("div",J,[r("div",K,s(e(a)("githubPreview.devLog")),1),r("pre",null,s(de.value||"-"),1)])])])]))}})})),Re=f((()=>{})),re,He=f((()=>{Q(),Q(),Re(),ie(),re=se(ue,[["__scopeId","data-v-721cf76a"]])})),q,W,Z,X,oe,Y=f((()=>{ae(),ee(),He(),q={class:"version-preview-view"},W={class:"page-header"},Z={class:"header-title"},X={class:"page-content"},oe=te({__name:"VersionPreviewView",setup(ce){const{t:a}=ne();return(p,y)=>($(),le("div",q,[r("header",W,[r("h2",Z,s(e(a)("githubPreview.title")),1)]),r("div",X,[l(re)])]))}})})),Ue=f((()=>{})),Fe,Je=f((()=>{Y(),Y(),Ue(),ie(),Fe=se(oe,[["__scopeId","data-v-1447333d"]])}));Je();export{Fe as default};
1
+ import{$r as Ve,$t as ke,Ci as $,Cr as ee,E as Te,Gi as g,Hr as ae,Mi as D,Pi as n,Qi as e,Qr as r,Si as Ce,Ut as b,Zr as P,aa as f,ai as v,ci as te,ct as Ie,d as $e,ei as Be,h as Ge,ht as Le,jt as Me,m as Ne,n as ie,oi as l,p as De,pt as d,ra as s,t as se,ti as le,tn as I,tt as Oe,u as je,v as ze,wr as ne,xi as Ee,y as Ae}from"./index-RJQqJC6n.js";var O,j,z,E,A,R,H,U,F,J,K,ue,Q=f((()=>{ae(),Te(),ee(),De(),O={class:"github-preview-settings"},j={class:"settings-section"},z={class:"control-row"},E={class:"section-description"},A=["href"],R={class:"log-output"},H={class:"log-output-header"},U={class:"log-box"},F={class:"log-title"},J={class:"log-box"},K={class:"log-title"},ue=te({__name:"GithubPreviewSettings",setup(ce){const{t:a}=ne(),p=Ie(),y=g(!1),m=g(!1),S=g(""),x=g([]),_=g(""),t=g(null),V=g(""),B=g(!1);let h=null;const _e=P(()=>x.value.map(i=>({label:i.name,value:i.name}))),ve=P(()=>t.value?.action_log||""),de=P(()=>t.value?.dev_log||""),w=P(()=>S.value||t.value?.active_action||""),k=P(()=>!!w.value),ge={prepare:"githubPreview.prepareSuccess",install:"githubPreview.installSuccess",start:"githubPreview.startSuccess",stop:"githubPreview.stopSuccess"};function pe(i){const o=String(i?.message||""),c=o.indexOf("{");if(!(c<0))try{const u=JSON.parse(o.slice(c));u&&typeof u=="object"&&"preview_dir"in u&&(t.value=u)}catch{}}function C(i,o){return i==="node_environment_missing"?a("githubPreview.nodeEnvironmentMissing"):o||a("githubPreview.actionFailed")}function fe(i){const o=String(i?.message||""),c=o.indexOf("{");if(c<0)return null;try{const u=JSON.parse(o.slice(c));return u&&typeof u=="object"?u:null}catch{return null}}async function G(){t.value=await je(),!_.value&&t.value.current_tag&&(_.value=t.value.current_tag)}async function he(){m.value=!0;try{x.value=(await $e()).tags,!_.value&&x.value[0]&&(_.value=x.value[0].name)}finally{m.value=!1}}async function L(){y.value=!0;try{await Promise.all([G(),he()])}finally{y.value=!1}}async function T(i,o,c){S.value=i;try{const u=await o();if(t.value=u,u.success===!1){p.warning(C(u.code,u.message));return}!u.accepted&&!u.active_action&&p.success(a(c))}catch(u){pe(u);const N=fe(u);p.error(C(N?.code,N?.message||u?.message))}finally{S.value=""}}async function we(){try{await G()}catch{}}function be(){h||(h=window.setInterval(()=>{we()},2e3))}function M(){h&&(window.clearInterval(h),h=null)}function Pe(){return _.value?_.value:(p.warning(a("githubPreview.selectTag")),null)}async function ye(){const i=Pe();i&&await T("prepare",()=>Ge(i),"githubPreview.prepareSuccess")}async function me(){await T("install",async()=>{const i=await Ne();return i.success!==!1&&!i.accepted&&!i.active_action&&!i.installed?{...i,success:!1,message:i.message||a("githubPreview.actionFailed")}:i},"githubPreview.installSuccess")}async function Se(){await T("start",()=>ze(_.value||void 0),"githubPreview.startSuccess")}async function xe(){await T("stop",Ae,"githubPreview.stopSuccess")}return Ee(async()=>{await L(),V.value=t.value?.last_action_completed_at||"",B.value=!0}),Ce(()=>{M()}),D(()=>t.value?.active_action||"",i=>{i?be():M()}),D(()=>t.value?.last_action_completed_at||"",i=>{if(!i)return;if(!B.value){V.value=i;return}if(i===V.value||S.value)return;V.value=i;const o=t.value?.last_action||"";if(t.value?.last_action_success===!1){p.error(C(t.value.last_action_code,t.value.last_action_message));return}const c=ge[o];c&&p.success(a(c))}),(i,o)=>($(),le("div",O,[r("div",j,[r("div",z,[l(e(Me),{value:_.value,"onUpdate:value":o[0]||(o[0]=c=>_.value=c),class:"tag-select",filterable:"",loading:m.value,options:_e.value,placeholder:e(a)("githubPreview.selectTag")},null,8,["value","loading","options","placeholder"]),l(e(Oe),null,{default:n(()=>[l(e(b),{type:"primary",loading:w.value==="prepare",disabled:k.value||!_.value,onClick:ye},{default:n(()=>[v(s(e(a)("githubPreview.prepare")),1)]),_:1},8,["loading","disabled"]),l(e(b),{loading:w.value==="install",disabled:k.value||!t.value?.has_package,onClick:me},{default:n(()=>[v(s(e(a)("githubPreview.install")),1)]),_:1},8,["loading","disabled"]),l(e(b),{type:"success",loading:w.value==="start",disabled:k.value||!t.value?.installed,onClick:Se},{default:n(()=>[v(s(e(a)("githubPreview.start")),1)]),_:1},8,["loading","disabled"]),l(e(b),{loading:w.value==="stop",disabled:k.value||!t.value?.running,onClick:xe},{default:n(()=>[v(s(e(a)("githubPreview.stop")),1)]),_:1},8,["loading","disabled"]),l(e(b),{loading:y.value||m.value,onClick:L},{default:n(()=>[v(s(e(a)("githubPreview.refresh")),1)]),_:1},8,["loading"])]),_:1})]),r("p",E,s(e(a)("githubPreview.description")),1),l(e(ke),{type:"info",bordered:!1,class:"preview-note"},{default:n(()=>[v(s(e(a)("githubPreview.note")),1)]),_:1}),t.value?($(),Ve(e(Le),{key:0,column:1,bordered:"",size:"small",class:"status-table"},{default:n(()=>[l(e(d),{label:e(a)("githubPreview.path")},{default:n(()=>[r("code",null,s(t.value.preview_dir),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.webuiHome")},{default:n(()=>[r("code",null,s(t.value.webui_home),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.currentTag")},{default:n(()=>[v(s(t.value.current_tag||"-"),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.repoReady")},{default:n(()=>[l(e(I),{size:"small",type:t.value.has_package?"success":"default"},{default:n(()=>[v(s(t.value.has_package?e(a)("githubPreview.yes"):e(a)("githubPreview.no")),1)]),_:1},8,["type"])]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.dependencies")},{default:n(()=>[l(e(I),{size:"small",type:t.value.installed?"success":"warning"},{default:n(()=>[v(s(t.value.installed?e(a)("githubPreview.yes"):e(a)("githubPreview.no")),1)]),_:1},8,["type"])]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.running")},{default:n(()=>[l(e(I),{size:"small",type:t.value.running?"success":"default"},{default:n(()=>[v(s(t.value.running?`PID ${t.value.pid}`:e(a)("githubPreview.notRunning")),1)]),_:1},8,["type"])]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.open")},{default:n(()=>[r("a",{href:t.value.frontend_url,target:"_blank",rel:"noopener noreferrer"},s(t.value.frontend_url),9,A)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.log")},{default:n(()=>[r("code",null,s(t.value.action_log_path),1)]),_:1},8,["label"]),l(e(d),{label:e(a)("githubPreview.devLog")},{default:n(()=>[r("code",null,s(t.value.dev_log_path),1)]),_:1},8,["label"])]),_:1})):Be("",!0),r("div",R,[r("div",H,s(e(a)("githubPreview.logOutput")),1),r("div",U,[r("div",F,s(e(a)("githubPreview.actionLog")),1),r("pre",null,s(ve.value||"-"),1)]),r("div",J,[r("div",K,s(e(a)("githubPreview.devLog")),1),r("pre",null,s(de.value||"-"),1)])])])]))}})})),Re=f((()=>{})),re,He=f((()=>{Q(),Q(),Re(),ie(),re=se(ue,[["__scopeId","data-v-721cf76a"]])})),q,W,Z,X,oe,Y=f((()=>{ae(),ee(),He(),q={class:"version-preview-view"},W={class:"page-header"},Z={class:"header-title"},X={class:"page-content"},oe=te({__name:"VersionPreviewView",setup(ce){const{t:a}=ne();return(p,y)=>($(),le("div",q,[r("header",W,[r("h2",Z,s(e(a)("githubPreview.title")),1)]),r("div",X,[l(re)])]))}})})),Ue=f((()=>{})),Fe,Je=f((()=>{Y(),Y(),Ue(),ie(),Fe=se(oe,[["__scopeId","data-v-1447333d"]])}));Je();export{Fe as default};
@@ -1 +1 @@
1
- import{Ar as et,Br as tt,Ci as nt,Cr as at,Fi as it,Gi as r,Hr as ze,Jr as g,Kr as ot,Lr as rt,Mi as C,Nr as lt,Or as st,Qi as We,Qr as J,Rr as ut,Si as ct,Vr as dt,Zr as d,aa as $,ci as vt,ea as ft,gi as pt,i as mt,kr as wt,n as ht,na as _t,oa as gt,r as Pt,t as yt,ti as St,wr as xt,xi as bt}from"./index-B41wzfl2.js";import{n as Wt,t as kt}from"./esm-BnjT8clq.js";import{r as Mt,t as Tt}from"./profiles-DDKFPE0r.js";import{n as Dt,t as It}from"./pets-C2oDgwB5.js";var At,Et=$((()=>{At="/icons/pet-resize.svg"}));function zt(i){return i||st()||"default"}function fe(i){const l=zt(i);return h&&ee===l||(h&&(h.disconnect(),h=null),ee=l,h=Wt(`${et()}/pet-state`,{auth:{token:wt()},query:{profile:l},transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,reconnectionDelayMax:3e4,randomizationFactor:.5,timeout:3e4})),h}function Rt(){h?.disconnect(),h=null,ee=null}function Ct(i,l){const s=fe(l);return s.on("pet.state.snapshot",i),s.on("pet.state.updated",i),()=>{s.off("pet.state.snapshot",i),s.off("pet.state.updated",i)}}function Xt(i){const l=fe(i);return new Promise((s,P)=>{l.timeout(1e4).emit("pet.state.get",(p,c)=>{if(p){P(p);return}s(c)})})}var h,ee,$t=$((()=>{kt(),lt(),h=null,ee=null}));function Nt(i="default"){return{profile:i,state:"idle",activity:{},updatedAt:Date.now(),activeTools:[],awaiting:[]}}var Re,Lt=$((()=>{ze(),dt(),$t(),Re=tt("petState",()=>{const i=r(Nt()),l=r(!1),s=r("");let P=null;const p=d(()=>i.value.state),c=d(()=>i.value.activity);async function M(T){u(),s.value="";const m=fe(T);m.on("connect",()=>{l.value=!0,s.value=""}),m.on("disconnect",()=>{l.value=!1}),m.on("connect_error",_=>{l.value=!1,s.value=_.message}),P=Ct(_=>{i.value=_},T);try{i.value=await Xt(T)}catch(_){s.value=_ instanceof Error?_.message:String(_)}}function u(){P?.(),P=null,Rt(),l.value=!1}return{activity:c,connect:M,connected:l,disconnect:u,error:s,snapshot:i,state:p}})})),ke,Me,Q,Z,Te,De,Ie,Ae,X,Ce,Ee=$((()=>{ze(),Et(),rt(),at(),It(),Lt(),Tt(),mt(),ke=["aria-label"],Me=["aria-label","title"],Q=.18,Z=1.2,Te=.06,De=350,Ie=180,Ae=520,X=80,Ce=vt({__name:"WebPet",props:{desktopWindow:{type:Boolean}},setup(i){const l=i,s=ut(),{t:P}=xt(),p=Dt(),c=Re(),M=Mt(),u=Pt(),T=r(null),m=r(null),_=r(0),o=r({x:0,y:0}),y=r(.33),x=r(!1),S=r(!1),te=r({x:0,y:0}),ne=r({pointerX:0,width:0}),pe=r({width:0,height:0,dpr:0}),N=r(0),Y=r("idle"),D=r("");let K=null,L=null,B=null,I=null,ae=0,ie="",oe=null,re=null;const n=d(()=>l.desktopWindow===!0),O=d(()=>!n.value&&s.name==="login"),v=d(()=>p.activePet),A=d(()=>!O.value&&!!v.value?.enabled&&!!m.value),me=d(()=>v.value?.frameW||192),$e=d(()=>v.value?.frameH||208),b=d(()=>Math.round(me.value*y.value)),E=d(()=>Math.round($e.value*y.value)),we=d(()=>{const e=v.value;if(!e)return 0;if(D.value){const k=e.stateRows.indexOf(D.value);if(k>=0)return k}const t=Y.value,a=t==="run"?"running":t==="wave"?"waving":t==="jump"?"jumping":t,f=e.stateRows.indexOf(a);return f>=0?f:0}),Ne=d(()=>n.value?{left:`${X/2}px`,top:`${X/2}px`,width:`${b.value}px`,height:`${E.value}px`}:{left:`${o.value.x}px`,top:`${o.value.y}px`,width:`${b.value}px`,height:`${E.value}px`});function j(e,t,a){return Math.min(a,Math.max(t,e))}function z(e){if(n.value)return{x:Math.round(e.x),y:Math.round(e.y)};const t=Math.max(0,window.innerWidth-b.value),a=Math.max(0,window.innerHeight-E.value);return{x:Math.round(j(e.x,0,t)),y:Math.round(j(e.y,0,a))}}function he(){return n.value?{x:Math.round(window.screenX||0),y:Math.round(window.screenY||0)}:z({x:window.innerWidth-b.value-28,y:window.innerHeight-E.value-28})}function Le(e){y.value=j(e.scale||.33,Q,Z),o.value=e.position?z(e.position):he(),n.value&&H(!1)}function Be(){return{x:o.value.x,y:o.value.y,width:b.value+X,height:E.value+X}}function U(){return n.value?X/2:0}async function H(e=A.value){if(!n.value||!u?.setPetWindowBounds)return;const t=await u.setPetWindowBounds(Be());o.value={x:t.bounds.x,y:t.bounds.y},e&&u.setPetWindowVisible&&await u.setPetWindowVisible(!0)}async function le(e){!n.value||!u?.setPetWindowVisible||await u.setPetWindowVisible(e)}async function Oe(){if(!n.value||!u?.getPetWindowState||v.value?.position)return;const e=await u.getPetWindowState();o.value={x:e.bounds.x,y:e.bounds.y}}async function je(){if(!n.value||localStorage.getItem("hermes_api_key"))return;const e=await u?.getToken?.().catch(()=>"");if(e)try{localStorage.setItem("AUTH_TOKEN",e);const t=await(await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({username:"admin",password:"123456"})})).json().catch(()=>null),a=t?.token||t?.jwt;a&&localStorage.setItem("hermes_api_key",a)}catch{}for(let t=0;t<20&&!localStorage.getItem("hermes_api_key");t+=1)await new Promise(a=>window.setTimeout(a,100))}function w(){const e=T.value,t=v.value,a=m.value;if(!e||!t||!a)return;const f=window.devicePixelRatio||1,k=b.value,G=E.value,ce=Math.max(1,Math.round(k*f)),de=Math.max(1,Math.round(G*f)),ve=pe.value;(ve.width!==ce||ve.height!==de||ve.dpr!==f)&&(e.width=ce,e.height=de,e.style.width=`${k}px`,e.style.height=`${G}px`,pe.value={width:ce,height:de,dpr:f});const V=e.getContext("2d");V&&(V.setTransform(f,0,0,f,0,0),V.clearRect(0,0,k,G),V.imageSmoothingEnabled=!0,V.drawImage(a,N.value*t.frameW,we.value*t.frameH,t.frameW,t.frameH,0,0,k,G))}function He(){F();const e=v.value;if(!e)return;const t=Math.max(80,Math.round(e.loopMs/e.framesPerState));K=window.setInterval(()=>{N.value=(N.value+1)%e.framesPerState,w()},t)}function F(){K!=null&&(window.clearInterval(K),K=null)}function R(){L!=null&&window.clearTimeout(L),L=window.setTimeout(()=>{p.savePreferences({scale:y.value,position:o.value})},De)}function q(){B!=null&&(window.clearTimeout(B),B=null)}function _e(){I!=null&&(window.clearTimeout(I),I=null)}function ge(e){Y.value!==e&&(D.value="",Y.value=e,ae=Date.now(),N.value=0,w())}function Pe(e,t){q(),_e(),ge(e),t&&(I=window.setTimeout(()=>{I=null,se(c.state)},t))}function Ve(e){const t=v.value?.loopMs||1100;return e==="jump"?t+40:t}function se(e){if(I!=null)return;if(Y.value===e){q();return}q();const t=e==="failed"||e==="waiting"||e==="wave"||e==="jump",a=Date.now()-ae,f=t?0:Math.max(Ie,Ae-a);B=window.setTimeout(()=>{B=null,c.state===e&&ge(e)},f)}function Ye(e){!A.value||S.value||(x.value=!0,Pe("run"),D.value="",te.value={x:(n.value?e.screenX:e.clientX)-o.value.x-U(),y:(n.value?e.screenY:e.clientY)-o.value.y-U()},e.currentTarget.setPointerCapture(e.pointerId))}function Ke(e){if(!x.value||S.value)return;const t=o.value.x;o.value=z({x:(n.value?e.screenX:e.clientX)-te.value.x-U(),y:(n.value?e.screenY:e.clientY)-te.value.y-U()});const a=o.value.x-t;Math.abs(a)>=1&&(D.value=a<0?"running-left":"running-right",w()),n.value&&H(!1),R()}function ye(e){x.value&&(x.value=!1,D.value="",e.currentTarget.releasePointerCapture(e.pointerId),R(),se(c.state))}function Ue(){A.value&&Pe("jump",Ve("jump"))}function Fe(e){const t={...o.value};y.value=j(e,Q,Z),o.value=z(t),w(),n.value&&H(),R()}function qe(e){A.value&&(S.value=!0,x.value=!1,ne.value={pointerX:n.value?e.screenX:e.clientX,width:b.value},e.currentTarget.setPointerCapture(e.pointerId))}function Ge(e){if(!S.value)return;const t=n.value?e.screenX:e.clientX;y.value=j((ne.value.width+t-ne.value.pointerX)/me.value,Q,Z),o.value=z(o.value),w(),n.value&&H(),R()}function Se(e){S.value&&(S.value=!1,e.currentTarget.releasePointerCapture(e.pointerId),R())}function Je(e){e.preventDefault(),Fe(y.value+(e.deltaY<0?Te:-.06))}async function Qe(){x.value=!1,S.value=!1,await p.hideActivePet(),await le(!1)}function xe(){if(n.value){w();return}o.value=v.value?.position?z(o.value):he(),w(),R()}function W(){c.disconnect(),oe=null}async function be(e){const t=e||M.activeProfileName||localStorage.getItem("hermes_active_profile_name")||"default";oe!==t&&(W(),oe=t,await c.connect(t))}async function ue(e){O.value||(W(),await je(),await Oe(),(await p.loadActivePet())?.enabled&&await be(e))}function Ze(){n.value&&ue(M.activeProfileName||localStorage.getItem("hermes_active_profile_name")||"default")}return C(()=>M.activeProfileName,e=>{!e||O.value||ue(e)}),C(O,e=>{if(e){c.disconnect(),p.clear();return}ue(M.activeProfileName||localStorage.getItem("hermes_active_profile_name")||"default")},{immediate:!0}),C(v,e=>{if(!e){F(),m.value=null,ie="",W();return}const t=`${e.slug}:${e.spritesheetRevision}`;if(Le(e),e.enabled&&!O.value&&be(),t===ie&&m.value){w();return}F(),m.value=null,ie=t;const a=new Image;a.onload=()=>{m.value=a,_.value=e.spritesheetRevision,N.value=0,pt(()=>{w(),He()})},a.src=e.spritesheetDataUrl},{immediate:!0}),C([we,y],()=>w()),C(()=>c.state,e=>se(e),{immediate:!0}),C(A,e=>{n.value&&(e?H(!0):le(!1))},{immediate:!0}),bt(()=>{ae=Date.now(),re=u?.onPetWindowRefresh?.(Ze)||null,window.addEventListener("resize",xe),window.addEventListener("pagehide",W),window.addEventListener("beforeunload",W)}),ct(()=>{re?.(),re=null,F(),L!=null&&window.clearTimeout(L),q(),_e(),c.disconnect(),le(!1),window.removeEventListener("resize",xe),window.removeEventListener("pagehide",W),window.removeEventListener("beforeunload",W)}),(e,t)=>it((nt(),St("div",{class:ft(["web-pet",{dragging:x.value,resizing:S.value,"desktop-window":n.value}]),style:_t(Ne.value),onPointerdown:Ye,onPointermove:Ke,onPointerup:ye,onPointercancel:ye,onWheel:Je,onDblclick:Ue},[J("canvas",{ref_key:"canvasRef",ref:T,class:"web-pet-canvas","aria-label":v.value?.displayName||"Pet"},null,8,ke),J("button",{type:"button",class:"web-pet-close","aria-label":We(P)("common.delete"),title:We(P)("common.delete"),onClick:g(Qe,["stop"]),onPointerdown:t[0]||(t[0]=g(()=>{},["stop"])),onPointermove:t[1]||(t[1]=g(()=>{},["stop"])),onPointerup:t[2]||(t[2]=g(()=>{},["stop"])),onPointercancel:t[3]||(t[3]=g(()=>{},["stop"]))}," × ",40,Me),J("button",{type:"button",class:"web-pet-resize","aria-label":"Resize pet",onPointerdown:g(qe,["stop"]),onPointermove:g(Ge,["stop"]),onPointerup:g(Se,["stop"]),onPointercancel:g(Se,["stop"])},[...t[4]||(t[4]=[J("img",{src:"/icons/pet-resize.svg",alt:"",draggable:"false"},null,-1)])],32)],38)),[[ot,A.value]])}})})),Bt=$((()=>{})),qt=gt({default:()=>Xe}),Xe,Gt=$((()=>{Ee(),Ee(),Bt(),ht(),Xe=yt(Ce,[["__scopeId","data-v-1ae1f020"]])}));export{qt as n,Gt as r,Xe as t};
1
+ import{Ar as et,Br as tt,Ci as nt,Cr as at,Fi as it,Gi as r,Hr as ze,Jr as g,Kr as ot,Lr as rt,Mi as C,Nr as lt,Or as st,Qi as We,Qr as J,Rr as ut,Si as ct,Vr as dt,Zr as d,aa as $,ci as vt,ea as ft,gi as pt,i as mt,kr as wt,n as ht,na as _t,oa as gt,r as Pt,t as yt,ti as St,wr as xt,xi as bt}from"./index-RJQqJC6n.js";import{n as Wt,t as kt}from"./esm-BMJNKLtg.js";import{r as Mt,t as Tt}from"./profiles-BtECgqqD.js";import{n as Dt,t as It}from"./pets-B_-nzG9F.js";var At,Et=$((()=>{At="/icons/pet-resize.svg"}));function zt(i){return i||st()||"default"}function fe(i){const l=zt(i);return h&&ee===l||(h&&(h.disconnect(),h=null),ee=l,h=Wt(`${et()}/pet-state`,{auth:{token:wt()},query:{profile:l},transports:["websocket","polling"],reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,reconnectionDelayMax:3e4,randomizationFactor:.5,timeout:3e4})),h}function Rt(){h?.disconnect(),h=null,ee=null}function Ct(i,l){const s=fe(l);return s.on("pet.state.snapshot",i),s.on("pet.state.updated",i),()=>{s.off("pet.state.snapshot",i),s.off("pet.state.updated",i)}}function Xt(i){const l=fe(i);return new Promise((s,P)=>{l.timeout(1e4).emit("pet.state.get",(p,c)=>{if(p){P(p);return}s(c)})})}var h,ee,$t=$((()=>{kt(),lt(),h=null,ee=null}));function Nt(i="default"){return{profile:i,state:"idle",activity:{},updatedAt:Date.now(),activeTools:[],awaiting:[]}}var Re,Lt=$((()=>{ze(),dt(),$t(),Re=tt("petState",()=>{const i=r(Nt()),l=r(!1),s=r("");let P=null;const p=d(()=>i.value.state),c=d(()=>i.value.activity);async function M(T){u(),s.value="";const m=fe(T);m.on("connect",()=>{l.value=!0,s.value=""}),m.on("disconnect",()=>{l.value=!1}),m.on("connect_error",_=>{l.value=!1,s.value=_.message}),P=Ct(_=>{i.value=_},T);try{i.value=await Xt(T)}catch(_){s.value=_ instanceof Error?_.message:String(_)}}function u(){P?.(),P=null,Rt(),l.value=!1}return{activity:c,connect:M,connected:l,disconnect:u,error:s,snapshot:i,state:p}})})),ke,Me,Q,Z,Te,De,Ie,Ae,X,Ce,Ee=$((()=>{ze(),Et(),rt(),at(),It(),Lt(),Tt(),mt(),ke=["aria-label"],Me=["aria-label","title"],Q=.18,Z=1.2,Te=.06,De=350,Ie=180,Ae=520,X=80,Ce=vt({__name:"WebPet",props:{desktopWindow:{type:Boolean}},setup(i){const l=i,s=ut(),{t:P}=xt(),p=Dt(),c=Re(),M=Mt(),u=Pt(),T=r(null),m=r(null),_=r(0),o=r({x:0,y:0}),y=r(.33),x=r(!1),S=r(!1),te=r({x:0,y:0}),ne=r({pointerX:0,width:0}),pe=r({width:0,height:0,dpr:0}),N=r(0),Y=r("idle"),D=r("");let K=null,L=null,B=null,I=null,ae=0,ie="",oe=null,re=null;const n=d(()=>l.desktopWindow===!0),O=d(()=>!n.value&&s.name==="login"),v=d(()=>p.activePet),A=d(()=>!O.value&&!!v.value?.enabled&&!!m.value),me=d(()=>v.value?.frameW||192),$e=d(()=>v.value?.frameH||208),b=d(()=>Math.round(me.value*y.value)),E=d(()=>Math.round($e.value*y.value)),we=d(()=>{const e=v.value;if(!e)return 0;if(D.value){const k=e.stateRows.indexOf(D.value);if(k>=0)return k}const t=Y.value,a=t==="run"?"running":t==="wave"?"waving":t==="jump"?"jumping":t,f=e.stateRows.indexOf(a);return f>=0?f:0}),Ne=d(()=>n.value?{left:`${X/2}px`,top:`${X/2}px`,width:`${b.value}px`,height:`${E.value}px`}:{left:`${o.value.x}px`,top:`${o.value.y}px`,width:`${b.value}px`,height:`${E.value}px`});function j(e,t,a){return Math.min(a,Math.max(t,e))}function z(e){if(n.value)return{x:Math.round(e.x),y:Math.round(e.y)};const t=Math.max(0,window.innerWidth-b.value),a=Math.max(0,window.innerHeight-E.value);return{x:Math.round(j(e.x,0,t)),y:Math.round(j(e.y,0,a))}}function he(){return n.value?{x:Math.round(window.screenX||0),y:Math.round(window.screenY||0)}:z({x:window.innerWidth-b.value-28,y:window.innerHeight-E.value-28})}function Le(e){y.value=j(e.scale||.33,Q,Z),o.value=e.position?z(e.position):he(),n.value&&H(!1)}function Be(){return{x:o.value.x,y:o.value.y,width:b.value+X,height:E.value+X}}function U(){return n.value?X/2:0}async function H(e=A.value){if(!n.value||!u?.setPetWindowBounds)return;const t=await u.setPetWindowBounds(Be());o.value={x:t.bounds.x,y:t.bounds.y},e&&u.setPetWindowVisible&&await u.setPetWindowVisible(!0)}async function le(e){!n.value||!u?.setPetWindowVisible||await u.setPetWindowVisible(e)}async function Oe(){if(!n.value||!u?.getPetWindowState||v.value?.position)return;const e=await u.getPetWindowState();o.value={x:e.bounds.x,y:e.bounds.y}}async function je(){if(!n.value||localStorage.getItem("hermes_api_key"))return;const e=await u?.getToken?.().catch(()=>"");if(e)try{localStorage.setItem("AUTH_TOKEN",e);const t=await(await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${e}`},body:JSON.stringify({username:"admin",password:"123456"})})).json().catch(()=>null),a=t?.token||t?.jwt;a&&localStorage.setItem("hermes_api_key",a)}catch{}for(let t=0;t<20&&!localStorage.getItem("hermes_api_key");t+=1)await new Promise(a=>window.setTimeout(a,100))}function w(){const e=T.value,t=v.value,a=m.value;if(!e||!t||!a)return;const f=window.devicePixelRatio||1,k=b.value,G=E.value,ce=Math.max(1,Math.round(k*f)),de=Math.max(1,Math.round(G*f)),ve=pe.value;(ve.width!==ce||ve.height!==de||ve.dpr!==f)&&(e.width=ce,e.height=de,e.style.width=`${k}px`,e.style.height=`${G}px`,pe.value={width:ce,height:de,dpr:f});const V=e.getContext("2d");V&&(V.setTransform(f,0,0,f,0,0),V.clearRect(0,0,k,G),V.imageSmoothingEnabled=!0,V.drawImage(a,N.value*t.frameW,we.value*t.frameH,t.frameW,t.frameH,0,0,k,G))}function He(){F();const e=v.value;if(!e)return;const t=Math.max(80,Math.round(e.loopMs/e.framesPerState));K=window.setInterval(()=>{N.value=(N.value+1)%e.framesPerState,w()},t)}function F(){K!=null&&(window.clearInterval(K),K=null)}function R(){L!=null&&window.clearTimeout(L),L=window.setTimeout(()=>{p.savePreferences({scale:y.value,position:o.value})},De)}function q(){B!=null&&(window.clearTimeout(B),B=null)}function _e(){I!=null&&(window.clearTimeout(I),I=null)}function ge(e){Y.value!==e&&(D.value="",Y.value=e,ae=Date.now(),N.value=0,w())}function Pe(e,t){q(),_e(),ge(e),t&&(I=window.setTimeout(()=>{I=null,se(c.state)},t))}function Ve(e){const t=v.value?.loopMs||1100;return e==="jump"?t+40:t}function se(e){if(I!=null)return;if(Y.value===e){q();return}q();const t=e==="failed"||e==="waiting"||e==="wave"||e==="jump",a=Date.now()-ae,f=t?0:Math.max(Ie,Ae-a);B=window.setTimeout(()=>{B=null,c.state===e&&ge(e)},f)}function Ye(e){!A.value||S.value||(x.value=!0,Pe("run"),D.value="",te.value={x:(n.value?e.screenX:e.clientX)-o.value.x-U(),y:(n.value?e.screenY:e.clientY)-o.value.y-U()},e.currentTarget.setPointerCapture(e.pointerId))}function Ke(e){if(!x.value||S.value)return;const t=o.value.x;o.value=z({x:(n.value?e.screenX:e.clientX)-te.value.x-U(),y:(n.value?e.screenY:e.clientY)-te.value.y-U()});const a=o.value.x-t;Math.abs(a)>=1&&(D.value=a<0?"running-left":"running-right",w()),n.value&&H(!1),R()}function ye(e){x.value&&(x.value=!1,D.value="",e.currentTarget.releasePointerCapture(e.pointerId),R(),se(c.state))}function Ue(){A.value&&Pe("jump",Ve("jump"))}function Fe(e){const t={...o.value};y.value=j(e,Q,Z),o.value=z(t),w(),n.value&&H(),R()}function qe(e){A.value&&(S.value=!0,x.value=!1,ne.value={pointerX:n.value?e.screenX:e.clientX,width:b.value},e.currentTarget.setPointerCapture(e.pointerId))}function Ge(e){if(!S.value)return;const t=n.value?e.screenX:e.clientX;y.value=j((ne.value.width+t-ne.value.pointerX)/me.value,Q,Z),o.value=z(o.value),w(),n.value&&H(),R()}function Se(e){S.value&&(S.value=!1,e.currentTarget.releasePointerCapture(e.pointerId),R())}function Je(e){e.preventDefault(),Fe(y.value+(e.deltaY<0?Te:-.06))}async function Qe(){x.value=!1,S.value=!1,await p.hideActivePet(),await le(!1)}function xe(){if(n.value){w();return}o.value=v.value?.position?z(o.value):he(),w(),R()}function W(){c.disconnect(),oe=null}async function be(e){const t=e||M.activeProfileName||localStorage.getItem("hermes_active_profile_name")||"default";oe!==t&&(W(),oe=t,await c.connect(t))}async function ue(e){O.value||(W(),await je(),await Oe(),(await p.loadActivePet())?.enabled&&await be(e))}function Ze(){n.value&&ue(M.activeProfileName||localStorage.getItem("hermes_active_profile_name")||"default")}return C(()=>M.activeProfileName,e=>{!e||O.value||ue(e)}),C(O,e=>{if(e){c.disconnect(),p.clear();return}ue(M.activeProfileName||localStorage.getItem("hermes_active_profile_name")||"default")},{immediate:!0}),C(v,e=>{if(!e){F(),m.value=null,ie="",W();return}const t=`${e.slug}:${e.spritesheetRevision}`;if(Le(e),e.enabled&&!O.value&&be(),t===ie&&m.value){w();return}F(),m.value=null,ie=t;const a=new Image;a.onload=()=>{m.value=a,_.value=e.spritesheetRevision,N.value=0,pt(()=>{w(),He()})},a.src=e.spritesheetDataUrl},{immediate:!0}),C([we,y],()=>w()),C(()=>c.state,e=>se(e),{immediate:!0}),C(A,e=>{n.value&&(e?H(!0):le(!1))},{immediate:!0}),bt(()=>{ae=Date.now(),re=u?.onPetWindowRefresh?.(Ze)||null,window.addEventListener("resize",xe),window.addEventListener("pagehide",W),window.addEventListener("beforeunload",W)}),ct(()=>{re?.(),re=null,F(),L!=null&&window.clearTimeout(L),q(),_e(),c.disconnect(),le(!1),window.removeEventListener("resize",xe),window.removeEventListener("pagehide",W),window.removeEventListener("beforeunload",W)}),(e,t)=>it((nt(),St("div",{class:ft(["web-pet",{dragging:x.value,resizing:S.value,"desktop-window":n.value}]),style:_t(Ne.value),onPointerdown:Ye,onPointermove:Ke,onPointerup:ye,onPointercancel:ye,onWheel:Je,onDblclick:Ue},[J("canvas",{ref_key:"canvasRef",ref:T,class:"web-pet-canvas","aria-label":v.value?.displayName||"Pet"},null,8,ke),J("button",{type:"button",class:"web-pet-close","aria-label":We(P)("common.delete"),title:We(P)("common.delete"),onClick:g(Qe,["stop"]),onPointerdown:t[0]||(t[0]=g(()=>{},["stop"])),onPointermove:t[1]||(t[1]=g(()=>{},["stop"])),onPointerup:t[2]||(t[2]=g(()=>{},["stop"])),onPointercancel:t[3]||(t[3]=g(()=>{},["stop"]))}," × ",40,Me),J("button",{type:"button",class:"web-pet-resize","aria-label":"Resize pet",onPointerdown:g(qe,["stop"]),onPointermove:g(Ge,["stop"]),onPointerup:g(Se,["stop"]),onPointercancel:g(Se,["stop"])},[...t[4]||(t[4]=[J("img",{src:"/icons/pet-resize.svg",alt:"",draggable:"false"},null,-1)])],32)],38)),[[ot,A.value]])}})})),Bt=$((()=>{})),qt=gt({default:()=>Xe}),Xe,Gt=$((()=>{Ee(),Ee(),Bt(),ht(),Xe=yt(Ce,[["__scopeId","data-v-1ae1f020"]])}));export{qt as n,Gt as r,Xe as t};