@acedatacloud/nexior 3.356.3 → 3.356.5

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 (277) hide show
  1. package/dist/assets/{ApiCodeButton-DnW2mEEl.js → ApiCodeButton-frBjO6I5.js} +1 -1
  2. package/dist/assets/{Artifacts-BbXNE0MY.js → Artifacts-DhZVP5PE.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-Cbw3Hxlr.js → AskUserQuestionCard-UoEkGg2Y.js} +1 -1
  4. package/dist/assets/{Auth-Csf5NVN-.js → Auth-Bzyk6PbJ.js} +1 -1
  5. package/dist/assets/{Bare-CtV6pjUP.js → Bare-DUTcXwAR.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-hcIRfy3i.js → BotPlaceholder-DxSergOd.js} +1 -1
  7. package/dist/assets/{BottomFooter-DzQdavFJ.js → BottomFooter-CDfDhPIH.js} +1 -1
  8. package/dist/assets/{BrowserPairingDialog-Cl__jmX7.js → BrowserPairingDialog-DY92VOMz.js} +1 -1
  9. package/dist/assets/{Callback-CaJlsIlI.js → Callback-Cfa-aT-u.js} +1 -1
  10. package/dist/assets/{CodeSnippet-PjDE_CEu.js → CodeSnippet-WvTfaBJ0.js} +1 -1
  11. package/dist/assets/{Console-B2Ek4SCM.js → Console-BzymfZIB.js} +1 -1
  12. package/dist/assets/{Consumption-C1nuDweL.js → Consumption-C-hP5yFd.js} +1 -1
  13. package/dist/assets/{Conversation-inS0U5qq.js → Conversation-5B-xFlCB.js} +1 -1
  14. package/dist/assets/{Conversation-BMSIKWqv.js → Conversation-CrXsye60.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-CLVp5I29.js → CopyToClipboard-DFCNkMsd.js} +1 -1
  16. package/dist/assets/Detail-2ldnDJTF.js +2 -0
  17. package/dist/assets/{Extra-Ce7_Kba0.js → Extra-DbfN6HpT.js} +1 -1
  18. package/dist/assets/{FilePreview-BlCzWGSp.js → FilePreview-BaikSCK4.js} +1 -1
  19. package/dist/assets/{Hailuo-CRu4cYR4.js → Hailuo-D-90eszv.js} +1 -1
  20. package/dist/assets/{History-CyDH3_w6.js → History-W-alYZv3.js} +1 -1
  21. package/dist/assets/{ImagePreview-DIR230rQ.js → ImagePreview-yB5WHi4j.js} +1 -1
  22. package/dist/assets/{ImageWrapper-DTMYPBbG.js → ImageWrapper-B4-9D46j.js} +1 -1
  23. package/dist/assets/{Index-Bp4mYiWT.js → Index-4lEz04NB.js} +1 -1
  24. package/dist/assets/{Index-B8Wivqji.js → Index-B14bY3yd.js} +1 -1
  25. package/dist/assets/{Index-fAKzMOZY2.js → Index-B9g0U1po2.js} +1 -1
  26. package/dist/assets/{Index-CGHYkqjO.js → Index-BAFlwgSw.js} +1 -1
  27. package/dist/assets/{Index-BXIajqur.js → Index-BGwQyJt9.js} +1 -1
  28. package/dist/assets/{Index-BrILi0-c.js → Index-BaOgwTRk.js} +1 -1
  29. package/dist/assets/{Index-Bpv_QguW.js → Index-BeIlRdTl.js} +1 -1
  30. package/dist/assets/{Index-Bhge0Ye3.js → Index-BvHP9fT6.js} +1 -1
  31. package/dist/assets/Index-BvOKuaSA.js +1 -0
  32. package/dist/assets/{Index-DZ8exWOg.js → Index-Bz3RQrQF.js} +1 -1
  33. package/dist/assets/{Index-B5t18uMS2.js → Index-C1Id-TtB2.js} +1 -1
  34. package/dist/assets/Index-C4H63r7A2.js +1 -0
  35. package/dist/assets/{Index-Q9SnXeG5.js → Index-CF42vFSG.js} +1 -1
  36. package/dist/assets/{Index-D2mc8okS.css → Index-CQG3GmCL.css} +1 -1
  37. package/dist/assets/{Index-b_bVC-2v2.js → Index-CbssIhi42.js} +1 -1
  38. package/dist/assets/{Index-KWeUZuBG.js → Index-CmU0Lxde.js} +1 -1
  39. package/dist/assets/{Index-CVhzkBCU2.js → Index-Cpu1B_F32.js} +1 -1
  40. package/dist/assets/Index-CqKD8Gl-.js +1 -0
  41. package/dist/assets/Index-Ct8QZYTo.js +1 -0
  42. package/dist/assets/{Index-7-jB-rrs.js → Index-DEaefQ37.js} +1 -1
  43. package/dist/assets/Index-DGiWHDP42.js +1 -0
  44. package/dist/assets/{Index-D89ynFEG.js → Index-DJtfT-WU.js} +1 -1
  45. package/dist/assets/{Index-CNdFXrFF.js → Index-DKyGPwI6.js} +1 -1
  46. package/dist/assets/Index-DSrDQUom.css +1 -0
  47. package/dist/assets/Index-DburRqD_.js +1 -0
  48. package/dist/assets/{Index-KigOtr6Q.js → Index-DsJ7JHGd.js} +1 -1
  49. package/dist/assets/{Index-DYxSLsTm.js → Index-Dud2h1do.js} +1 -1
  50. package/dist/assets/Index-KaDlAmVE.js +1 -0
  51. package/dist/assets/{Index-DgR8EjvG.js → Index-LnOY6LUX.js} +1 -1
  52. package/dist/assets/{Index-Bh0MSga2.js → Index-MmXXILW2.js} +1 -1
  53. package/dist/assets/Index-RWTFptKN.css +1 -0
  54. package/dist/assets/{Index-C-wEZgIN.js → Index-SkewPft0.js} +1 -1
  55. package/dist/assets/{Index-CMihZ-nT.js → Index-VqO9zgjU.js} +1 -1
  56. package/dist/assets/Index-lehKvO0U.js +1 -0
  57. package/dist/assets/{Index-CbuI24qA.js → Index-oC9NdOXs.js} +1 -1
  58. package/dist/assets/{Index-F5FVH4XA.js → Index-wZCaZFyY.js} +1 -1
  59. package/dist/assets/{Index-DExxCDca.js → Index-yjLGgFXL.js} +1 -1
  60. package/dist/assets/{Invitees-t8LjUtox.js → Invitees-B5Yl8bAY.js} +1 -1
  61. package/dist/assets/List-Bq5RpLcp.js +1 -0
  62. package/dist/assets/List-Dxyr1U7j.js +1 -0
  63. package/dist/assets/List-u8Zg0lyo.js +1 -0
  64. package/dist/assets/{LocalTools-TuBOV-fy.js → LocalTools-DJk6jFNd.js} +1 -1
  65. package/dist/assets/LocalTools-Dp3EFBl_.js +5 -0
  66. package/dist/assets/{Logo-BIQjmFe8.js → Logo-Bm5gQIkd.js} +1 -1
  67. package/dist/assets/{Main-BM7WSyw6.js → Main-B7L7je5_.js} +1 -1
  68. package/dist/assets/{Message-CrGhKWMq.js → Message-B0k-Fyet.js} +2 -2
  69. package/dist/assets/Model-C4Cq9c1w.js +1 -0
  70. package/dist/assets/{Navigator-Uk0XBf21.js → Navigator-C4YqWHqU.js} +4 -4
  71. package/dist/assets/{NotFound-BxmMuusa.js → NotFound-B_22rfK8.js} +1 -1
  72. package/dist/assets/{PageHeader-B7aH63od.js → PageHeader-DmqESRXt.js} +1 -1
  73. package/dist/assets/{Pay-a8uYoEfm.js → Pay-Cg3YGXJJ.js} +1 -1
  74. package/dist/assets/{Player-tEjbz8km.js → Player-DtA2MrfL.js} +1 -1
  75. package/dist/assets/{Poivelle-D2Pg88fJ.js → Poivelle-avoRrxiR.js} +1 -1
  76. package/dist/assets/{RealtimeCall-Dh_EECLN.js → RealtimeCall-B0uB9g9D.js} +1 -1
  77. package/dist/assets/{ReportButton-CYa13w8h.js → ReportButton-Bc65-OZk.js} +1 -1
  78. package/dist/assets/{ReportDialog-BdPWn65b.js → ReportDialog-CpIQPGDs.js} +1 -1
  79. package/dist/assets/ScheduledTasks-CQcK5pPJ.js +2 -0
  80. package/dist/assets/{Status-xxs4gXOB.js → Status-CVYaet-R.js} +1 -1
  81. package/dist/assets/{Subscribe-DgrTtF4n.js → Subscribe-BUBfd5f-.js} +1 -1
  82. package/dist/assets/{TabSwitcher-C_N_7W5M.js → TabSwitcher-BTa8Oisy.js} +1 -1
  83. package/dist/assets/{Tts-ZE4EzLsJ.js → Tts-mXu3dWe0.js} +1 -1
  84. package/dist/assets/{VideoPlayer-C44SsSWU.js → VideoPlayer-byFJv9-a.js} +1 -1
  85. package/dist/assets/{VideoPreview-D2JHTDU8.js → VideoPreview-C0k-FJon.js} +1 -1
  86. package/dist/assets/{arrow-down-wide-narrow-CXsartjU.js → arrow-down-wide-narrow-Diwj3IBW.js} +1 -1
  87. package/dist/assets/arrow-down-zFeovQfT.js +1 -0
  88. package/dist/assets/arrow-left-n4fgRrqD.js +1 -0
  89. package/dist/assets/arrow-right-k1NwBQgI.js +1 -0
  90. package/dist/assets/arrow-up-Co83O6eH.js +1 -0
  91. package/dist/assets/authorizeFlow-D55Y-NsU.js +1 -0
  92. package/dist/assets/{avatar-B9amXRqx.js → avatar-DlOs-hSd.js} +1 -1
  93. package/dist/assets/{basic-POh0fuWQ.js → basic-BMCvqUCp.js} +1 -1
  94. package/dist/assets/{book-open-DJntghzP.js → book-open-CkQ-biIT.js} +1 -1
  95. package/dist/assets/{box-BgafcOxN.js → box-DCcBTPCQ.js} +1 -1
  96. package/dist/assets/{boxes-BxwF-h52.js → boxes-Cl-48ZE0.js} +1 -1
  97. package/dist/assets/{brain-DRAL5UnC.js → brain-CmYeIJO8.js} +1 -1
  98. package/dist/assets/{chart-no-axes-combined-C2XBdAJR.js → chart-no-axes-combined-DocBkg1M.js} +1 -1
  99. package/dist/assets/{chat-C-QhdNDG.js → chat-huqgzex-.js} +1 -1
  100. package/dist/assets/check-BE5Du6We.js +1 -0
  101. package/dist/assets/chevron-down-ITrnJa8i.js +1 -0
  102. package/dist/assets/chevron-right-BnGp37ju.js +1 -0
  103. package/dist/assets/circle-check-DJgoFlyD.js +1 -0
  104. package/dist/assets/{circle-question-mark-CkrnC9TN.js → circle-question-mark-DM9tlgun.js} +1 -1
  105. package/dist/assets/{clipboard-list-BQu_m5lA.js → clipboard-list-CPLpI_yh.js} +1 -1
  106. package/dist/assets/clock-Jf9SRGfJ.js +1 -0
  107. package/dist/assets/code-DzM4cKDR.js +1 -0
  108. package/dist/assets/{codingBridge-5Younw34.js → codingBridge-Cun8nstA.js} +2 -2
  109. package/dist/assets/{codingBridgeNotify-dNV0kJQ8.js → codingBridgeNotify-B1e25UsV.js} +2 -2
  110. package/dist/assets/{coins-gBDFWv_r.js → coins-BuFf0PGa.js} +1 -1
  111. package/dist/assets/{collapse-B_99IkFQ.js → collapse-DB5d4IGq.js} +1 -1
  112. package/dist/assets/constants-CLU-fDDu.js +1 -0
  113. package/dist/assets/{copy-DpODTAxb.js → copy-CV2ILFsj.js} +1 -1
  114. package/dist/assets/{createTaskActions-bHjJf96C.js → createTaskActions-DtYBOkOH.js} +1 -1
  115. package/dist/assets/{digitalhuman-DgSMt73W.js → digitalhuman-eD99EERk.js} +1 -1
  116. package/dist/assets/{dollar-sign-BGeaa3gL.js → dollar-sign-Cawf-Vo6.js} +1 -1
  117. package/dist/assets/{download-CZLXh4-2.js → download-Dirkzahm.js} +1 -1
  118. package/dist/assets/{drawer-CL63mgQu.js → drawer-IGrtqwA_.js} +1 -1
  119. package/dist/assets/{dropdown-B8Z-l-iE.js → dropdown-BamuHFwh.js} +1 -1
  120. package/dist/assets/{dropdown-kUTe8e-9.js → dropdown-C18wHQ7G.js} +1 -1
  121. package/dist/assets/{ellipsis-Du3lY52z.js → ellipsis-BbM9GhTx.js} +1 -1
  122. package/dist/assets/{esm-DHZANs_t.js → esm-17J6k5C2.js} +2 -2
  123. package/dist/assets/{esm-DTElW73d.js → esm-BDxc9K8m.js} +1 -1
  124. package/dist/assets/{esm-DOo7uPDb.js → esm-BWBI9HGT.js} +2 -2
  125. package/dist/assets/{esm-j1DgBTjx.js → esm-Bl-RzGRO.js} +1 -1
  126. package/dist/assets/esm-CC47Zr3t.js +1 -0
  127. package/dist/assets/{esm-BGOjVEnk.js → esm-CRR8S-D-.js} +3 -3
  128. package/dist/assets/{esm-aYaknvQ1.js → esm-ka5H376M.js} +1 -1
  129. package/dist/assets/{external-link-dZgWEqL4.js → external-link-CCLOb0uc.js} +1 -1
  130. package/dist/assets/{eye-DFp2jfce.js → eye-BwACpq_J.js} +1 -1
  131. package/dist/assets/{file-DvOzOx_P.js → file-BAxc5jWn.js} +1 -1
  132. package/dist/assets/{file-output-19dlKJBf.js → file-output-Cd3La6mc.js} +1 -1
  133. package/dist/assets/{file-text-mDCcsztI.js → file-text-C0TsBPpr.js} +1 -1
  134. package/dist/assets/{fish-D60Al1yj.js → fish-BiUxjobo.js} +1 -1
  135. package/dist/assets/{flux-d_SeQnk9.js → flux-C0XHjDV2.js} +1 -1
  136. package/dist/assets/{folder-DbyunSbX.js → folder-5aP7_W2R.js} +1 -1
  137. package/dist/assets/gauge-C_wS1RZU.js +1 -0
  138. package/dist/assets/{globe-BhHHcHQD.js → globe-BtM2JNkM.js} +1 -1
  139. package/dist/assets/{omni-CldP_ZwX.js → grokvideo-DBvb8C7M.js} +1 -1
  140. package/dist/assets/{hailuo-M_qwVpNw.js → hailuo-D4ESd0-7.js} +1 -1
  141. package/dist/assets/{headphones-Dr9_CJTJ.js → headphones-BPPPLBNs.js} +1 -1
  142. package/dist/assets/{history-CCILjiNN.js → history-srWqrthV.js} +1 -1
  143. package/dist/assets/{house-BTwHBckD.js → house-So6gM7ID.js} +1 -1
  144. package/dist/assets/{image-ltLE0_B2.js → image-BQilRiyg.js} +1 -1
  145. package/dist/assets/{index-CREYJmGZ.js → index-B5MbEIrr.js} +6 -6
  146. package/dist/assets/{index.browser.esm-NRFegStZ.js → index.browser.esm-CpJXpf-k.js} +1 -1
  147. package/dist/assets/{index.es-Dp5oaXS7.js → index.es-ByHbLPol.js} +1 -1
  148. package/dist/assets/{info-B6zz-sKo.js → info-CnsL34Wa.js} +1 -1
  149. package/dist/assets/{input-number-u0MGro2n.js → input-number-DE6IQ4ir.js} +1 -1
  150. package/dist/assets/{key-round-CgK5ul3S.js → key-round-DKstjuq3.js} +1 -1
  151. package/dist/assets/{kling-DdPnVX2L.js → kling-gijvWCvq.js} +1 -1
  152. package/dist/assets/{languages-CVKa6GSx.js → languages-BqhX0WyN.js} +1 -1
  153. package/dist/assets/{laptop-C1UtQchD.js → laptop-C6enM04x.js} +1 -1
  154. package/dist/assets/{lightbulb-DMMH-itQ.js → lightbulb-CbShrN4i.js} +1 -1
  155. package/dist/assets/{link-Ck182LqI.js → link-K0DIm8uW.js} +1 -1
  156. package/dist/assets/loader-circle-DB1UHZla.js +1 -0
  157. package/dist/assets/{lock-DGLRMLsk.js → lock-Crbscd1n.js} +1 -1
  158. package/dist/assets/{luma-D08kYXX2.js → luma-CiO5q7bB.js} +1 -1
  159. package/dist/assets/{maestro-BSTyCJsV.js → maestro-BQK11Yv9.js} +1 -1
  160. package/dist/assets/maestro-QsaFaQty.js +1 -0
  161. package/dist/assets/{mail-Dte9tFt2.js → mail-X9Crxyim.js} +1 -1
  162. package/dist/assets/{message-circle-DWzinnDO.js → message-circle-CSN2Mz_-.js} +1 -1
  163. package/dist/assets/{mic-Dow6VrJE.js → mic-DQbH2Rjs.js} +1 -1
  164. package/dist/assets/{midjourney-BPtltduI.js → midjourney-CTz8j8KZ.js} +1 -1
  165. package/dist/assets/{mobileLocalExec-DaDhbwJt.js → mobileLocalExec-sW_IDpIb.js} +2 -2
  166. package/dist/assets/{models-DcpkDkjF.js → models-BezwK8kr.js} +1 -1
  167. package/dist/assets/{monitor-DkCq84E2.js → monitor-D5p6Ck1_.js} +1 -1
  168. package/dist/assets/{mouse-pointer-2-9VJBV_22.js → mouse-pointer-2-BwLz-hCB.js} +1 -1
  169. package/dist/assets/music-2-BCFowJSl.js +1 -0
  170. package/dist/assets/{nanobanana-CYmgToNy.js → nanobanana-CdpYWbQ1.js} +1 -1
  171. package/dist/assets/{grokvideo-S1pCi5Tr.js → omni-CYGqYCgK.js} +1 -1
  172. package/dist/assets/{openaiimage-d3GjQIMh.js → openaiimage-DohSEgqD.js} +1 -1
  173. package/dist/assets/{pagination-uq23xZEg.js → pagination-D1q62Zhs.js} +1 -1
  174. package/dist/assets/{pagination-BbFTEjBg.js → pagination-DZR3nmuW.js} +2 -2
  175. package/dist/assets/{pagination-IckkXpUO.js → pagination-DuGVgoa7.js} +1 -1
  176. package/dist/assets/{palette-D_hzvJDa.js → palette-CfTit7M3.js} +1 -1
  177. package/dist/assets/{paperclip-BYNr5XFL.js → paperclip-D9SQGIwg.js} +1 -1
  178. package/dist/assets/{pause-BWpPJP_R.js → pause-BZKhP1kS.js} +1 -1
  179. package/dist/assets/{pencil-BhwkvOrn.js → pencil-BboFt9u_.js} +1 -1
  180. package/dist/assets/{sora-o-5xigw-.js → pika-CCVlPWFB.js} +1 -1
  181. package/dist/assets/{pixverse-CmbNyRQT.js → pixverse-Cjs9N69Q.js} +1 -1
  182. package/dist/assets/play-DIaOCXj5.js +1 -0
  183. package/dist/assets/{plug-Bm5lTQdF.js → plug-BpJY_IhL.js} +1 -1
  184. package/dist/assets/plus-mCu8A2J2.js +1 -0
  185. package/dist/assets/{poivelle-BCa_2ckb.js → poivelle-teuuGTrM.js} +1 -1
  186. package/dist/assets/{popover-s9P5QTaN.js → popover-CZDEhFhS.js} +1 -1
  187. package/dist/assets/{producer-CJpFQFtR.js → producer-CqFsU0i6.js} +1 -1
  188. package/dist/assets/{qrart-j4X6G25p.js → qrart-BZRczpKj.js} +1 -1
  189. package/dist/assets/{realtime-DGslBgjF.js → realtime-TmK9MbPB.js} +1 -1
  190. package/dist/assets/{refresh-cw-DsZHH-ne.js → refresh-cw-B9aorXVs.js} +1 -1
  191. package/dist/assets/rotate-ccw-C3P3qI9g.js +1 -0
  192. package/dist/assets/rotate-cw-DsRf97jG.js +1 -0
  193. package/dist/assets/{row-DQqpuvYH.js → row-B_jKvn5G.js} +1 -1
  194. package/dist/assets/search-CoJQlqE3.js +1 -0
  195. package/dist/assets/{seedance-DyH2BqTs.js → seedance-DWaO3DfS.js} +1 -1
  196. package/dist/assets/{seedream-LGwBa99t.js → seedream-A4jQR5QC.js} +1 -1
  197. package/dist/assets/{select-jRFQ1Hzk.js → select-BE5if_cO.js} +1 -1
  198. package/dist/assets/{serp-BdAsrKwn.js → serp-D9ZSjx4B.js} +1 -1
  199. package/dist/assets/{shield-41WYVrpG.js → shield-Cl_zA8yL.js} +1 -1
  200. package/dist/assets/{shuffle-bmih4UqZ.js → shuffle-DiwNDNm4.js} +1 -1
  201. package/dist/assets/{slider-B_xhGTdh.js → slider-dhlGhAT5.js} +1 -1
  202. package/dist/assets/{solana-wallets-DYmoNImk.js → solana-wallets-C8eWNwaJ.js} +2 -2
  203. package/dist/assets/{solana-wallets-vue-B5OBaahJ.js → solana-wallets-vue-DWiVaRPl.js} +1 -1
  204. package/dist/assets/{wan-Bw9kZwn9.js → sora-CMXPDJmj.js} +1 -1
  205. package/dist/assets/{sparkles-BIuDjfQg.js → sparkles-CiyHK-jI.js} +1 -1
  206. package/dist/assets/square-Dgjw26La.js +1 -0
  207. package/dist/assets/{store-Co9jwnq8.js → store-BL3Ou5EG.js} +1 -1
  208. package/dist/assets/{suno-FRCRn1YL.js → suno-BtrnNAh6.js} +1 -1
  209. package/dist/assets/{switch-CP09CWeK.js → switch-C5zuSrF5.js} +1 -1
  210. package/dist/assets/{table-Cg2N5b5E.js → table-C0BxOVUr.js} +1 -1
  211. package/dist/assets/{tabs-DsmI05G2.js → tabs-BQRg1x8-.js} +1 -1
  212. package/dist/assets/{tag-YwN0l1gW.js → tag-H_6TIrzL.js} +1 -1
  213. package/dist/assets/terminal-C8_JwYGL.js +1 -0
  214. package/dist/assets/{time-picker-BqcqHMtN.js → time-picker-CMTwbVs1.js} +1 -1
  215. package/dist/assets/{tooltip-bfg-03mE.js → tooltip-CWarmRzH.js} +1 -1
  216. package/dist/assets/{trash-2-CDz5PwCk.js → trash-2-DNyXCMPK.js} +1 -1
  217. package/dist/assets/{triangle-alert-Z8DwGNFK.js → triangle-alert-CNaK_gey.js} +1 -1
  218. package/dist/assets/{upload-CYgk_oSr.js → upload-BSJXTKcZ.js} +1 -1
  219. package/dist/assets/{upload-DerPm8IS.js → upload-CaDoepuW.js} +1 -1
  220. package/dist/assets/user-DXRbDOjr.js +1 -0
  221. package/dist/assets/{veo-DUuufx00.js → veo-DBbnDm_t.js} +1 -1
  222. package/dist/assets/{video-Brn0_a8G.js → video-BiAMB669.js} +1 -1
  223. package/dist/assets/{volume-2-ovELC7ze.js → volume-2-B2qGq9wR.js} +1 -1
  224. package/dist/assets/{wallet-9ymkHmqV.js → wallet-ZBkjBMwa.js} +1 -1
  225. package/dist/assets/{pika-CLJeCDA-.js → wan-Dl8zmuoz.js} +1 -1
  226. package/dist/assets/{wand-sparkles-yU_7R4u-.js → wand-sparkles-DeLAH7qh.js} +1 -1
  227. package/dist/assets/{web-Dc_YylFI.js → web-2Mi0143z.js} +1 -1
  228. package/dist/assets/{web-BHLJMImD.js → web-3pXR2suC.js} +1 -1
  229. package/dist/assets/{web-BzrH1Vlj.js → web-Bb9EHBEQ.js} +1 -1
  230. package/dist/assets/{web-BoThAuaz.js → web-D-RGgxFh.js} +1 -1
  231. package/dist/assets/{web-Dgy8v0wC.js → web-IuujLyrz.js} +1 -1
  232. package/dist/assets/{webextrator-D-jr1MFk.js → webextrator-DRamG0zo.js} +1 -1
  233. package/dist/assets/{zap-C0PdDJso.js → zap-V0y3Tw_2.js} +1 -1
  234. package/dist/index.html +3 -3
  235. package/package.json +1 -1
  236. package/dist/assets/Detail-4_enJ6qH.js +0 -2
  237. package/dist/assets/Index-BHrj-7dw.css +0 -1
  238. package/dist/assets/Index-BU-Jt2iC.css +0 -1
  239. package/dist/assets/Index-BjUC4Qy2.js +0 -1
  240. package/dist/assets/Index-BlIY8K2y.js +0 -1
  241. package/dist/assets/Index-CBybAWmy.js +0 -1
  242. package/dist/assets/Index-CWPkVAGu.js +0 -1
  243. package/dist/assets/Index-CyI5B5Iw2.js +0 -1
  244. package/dist/assets/Index-D2n66vom2.js +0 -1
  245. package/dist/assets/Index-D5cJIMqk.js +0 -1
  246. package/dist/assets/Index-IWedAkVJ.js +0 -1
  247. package/dist/assets/List-BcdTB0xZ.js +0 -1
  248. package/dist/assets/List-CiRlLqQi.js +0 -1
  249. package/dist/assets/List-D0ppoVM_.js +0 -1
  250. package/dist/assets/LocalTools-8f1nIu1i.js +0 -5
  251. package/dist/assets/Model-BDoRG1y3.js +0 -1
  252. package/dist/assets/ScheduledTasks-d52JFkP6.js +0 -2
  253. package/dist/assets/arrow-down-DfZZ6O9V.js +0 -1
  254. package/dist/assets/arrow-left-uQ2QSI6E.js +0 -1
  255. package/dist/assets/arrow-right-DLK8H_c3.js +0 -1
  256. package/dist/assets/arrow-up-CySfbL5G.js +0 -1
  257. package/dist/assets/authorizeFlow-qoRgSMcK.js +0 -1
  258. package/dist/assets/check-C1SSXE37.js +0 -1
  259. package/dist/assets/chevron-down-D54yUG_W.js +0 -1
  260. package/dist/assets/chevron-right-kcQrk7a4.js +0 -1
  261. package/dist/assets/circle-check-B7M0eLJf.js +0 -1
  262. package/dist/assets/clock-DcgPnVJa.js +0 -1
  263. package/dist/assets/code-Cx-HLyjl.js +0 -1
  264. package/dist/assets/constants-C44cV5UH.js +0 -1
  265. package/dist/assets/esm-B1tUH8kr.js +0 -1
  266. package/dist/assets/gauge-CdYwce4s.js +0 -1
  267. package/dist/assets/loader-circle-BJdKG6dp.js +0 -1
  268. package/dist/assets/maestro-wC6egBQw.js +0 -1
  269. package/dist/assets/music-2-iJ0GWVrl.js +0 -1
  270. package/dist/assets/play-CJx7xQc1.js +0 -1
  271. package/dist/assets/plus--lrUTaV9.js +0 -1
  272. package/dist/assets/rotate-ccw-CwG8Tr4q.js +0 -1
  273. package/dist/assets/rotate-cw-is7J0f7E.js +0 -1
  274. package/dist/assets/search-B-v-GhMv.js +0 -1
  275. package/dist/assets/square-OXtSEmlD.js +0 -1
  276. package/dist/assets/terminal-D9ZMN0k5.js +0 -1
  277. package/dist/assets/user-C8SZiVQC.js +0 -1
@@ -1 +1 @@
1
- import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{O as r}from"./index-CREYJmGZ.js";var i=n({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(n,r,i,o,s,c){return t(),e(`div`,a)}var s=r(i,[[`render`,o]]);export{s as default};
1
+ import{N as e,tt as t,z as n}from"./vendor-chart-Dw-P17PN.js";import{O as r}from"./index-B5MbEIrr.js";var i=n({name:`SettingsIndex`,mounted(){let e=this.$route.query.tab||``;window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:e}}))}}),a={class:`settings-page`};function o(n,r,i,o,s,c){return t(),e(`div`,a)}var s=r(i,[[`render`,o]]);export{s as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-jRFQ1Hzk.js";import{t as b}from"./upload-DerPm8IS.js";import{t as x}from"./tooltip-bfg-03mE.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-DcpkDkjF.js";import{t as T}from"./drawer-CL63mgQu.js";import{t as E}from"./input-number-u0MGro2n.js";import{t as D}from"./slider-B_xhGTdh.js";import{t as O}from"./clock-DcgPnVJa.js";import{a as k,c as A,n as j,o as M,r as N,t as P}from"./pagination-BbFTEjBg.js";import{t as F}from"./info-B6zz-sKo.js";import{t as ee}from"./trash-2-CDz5PwCk.js";import{t as te}from"./triangle-alert-Z8DwGNFK.js";import{t as I}from"./upload-CYgk_oSr.js";import{t as L}from"./wand-sparkles-yU_7R4u-.js";import{fr as R,mr as z,pr as B}from"./constants-C44cV5UH.js";import{$t as V,Fi as H,Jt as U,Mr as W,O as G,Qt as K,Zn as q,en as J,in as Y,nn as X,pn as Z,si as Q,tn as ne,xi as re}from"./index-CREYJmGZ.js";import{t as ie}from"./CopyToClipboard-CLVp5I29.js";import{t as ae}from"./ReportButton-CYa13w8h.js";import{t as oe}from"./ImagePreview-DIR230rQ.js";import{n as se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ce}from"./Consumption-C1nuDweL.js";import{t as le}from"./ApiCodeButton-DnW2mEEl.js";import{t as ue}from"./BotPlaceholder-hcIRfy3i.js";import{t as de}from"./ImageWrapper-DTMYPBbG.js";var fe=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:H},mixins:[se]}),pe={class:`main flex flex-row flex-1`},me={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},he={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ge(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,pe,[e(`div`,me,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,he,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var _e=G(fe,[[`render`,ge],[`__scopeId`,`data-v-72e82d52`]]),ve=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=z}}),ye={class:`field`},be={class:`title font-bold`};function xe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=G(ve,[[`render`,xe],[`__scopeId`,`data-v-e9b17945`]]),Ce=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:M,ElInputNumber:E},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),we={class:`flex justify-between`},Te={class:`flex justify-start items-center`},Ee={class:`text-sm font-bold`},De={class:`flex justify-end items-center`},Oe={class:`w-full`};function ke(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,we,[e(`div`,Te,[e(`span`,Ee,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,De,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Oe,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Ae=G(Ce,[[`render`,ke]]),je=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=B}}),Me={class:`field`},Ne={class:`title font-bold`};function Pe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Me,[e(`h2`,Ne,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=G(je,[[`render`,Pe],[`__scopeId`,`data-v-81fd05e5`]]),Ie=_({name:`ImageUrlInput`,components:{UploadIcon:I,ElUpload:b,ElButton:H,InfoIcon:M,ImagePreview:oe},mixins:[X,ne,V,U],emits:[`change`],data(){return{fileList:[],uploadUrl:Q()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){w.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){w.error(this.$t(`flux.message.uploadStartImageError`))}}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`};function Ve(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var He=G(Ie,[[`render`,Ve],[`__scopeId`,`data-v-9830e0c3`]]),Ue=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=G(Ue,[[`render`,We]]),Ke=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:R}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,qe,[e(`h2`,Je,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:H,PromptInput:Ge,ModelSelector:Se,CountSelector:Ae,Consumption:ce,ActionSelector:Fe,ImageUrlInput:He,SizeSelector:G(Ke,[[`render`,Ye],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return Y(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ze={class:`flex flex-col h-full`},Qe={class:`flex-1 overflow-y-auto p-5`},$e={class:`flex flex-col items-center justify-center px-5 pb-5`};function et(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ze,[e(`div`,Qe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,$e,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var tt=G(Xe,[[`render`,et]]),nt=_({name:`TaskPreview`,components:{DeleteIcon:ee,ElTooltip:x,ChannelIcon:A,InfoIcon:F,MagicIcon:L,TimeIcon:O,WarningIcon:te,CopyToClipboard:ie,ElAlert:S,ImageWrapper:de,ApiCodeButton:le,ReportButton:ae},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await re.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),rt={class:`preview`},it={class:`left`},at={class:`main`},ot={class:`bot`},st={class:`datetime`},ct=[`aria-label`],lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:0,class:n({content:!0,failed:!0})},pt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},mt={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ht={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},vt={key:1,class:n({content:!0})},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},St={key:2,class:n({content:!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function wt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,rt,[e(`div`,it,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,at,[e(`div`,ot,[a(y,{capability:`flux`,part:`name`}),e(`span`,st,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ct)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,lt,[n.modelValue?.request?.prompt?(h(),s(`p`,ut,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,dt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,ft,[e(`div`,pt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,mt,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,ht,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,gt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,_t,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,vt,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,yt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,$,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,bt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,xt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,St,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,Ct,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Tt=_({name:`RecentPanel`,components:{TaskPreview:G(nt,[[`render`,wt],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:ue,NoTasks:N,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Et={key:0},Dt={key:2,class:`w-full h-full flex items-center justify-center`};function Ot(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Et,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Dt,[a(v)])):o(``,!0)],64)}var kt=_({name:`FluxIndex`,components:{ConfigPanel:tt,Layout:_e,RecentPanel:G(Tt,[[`render`,Ot]])},mixins:[J],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!K(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let e={...this.config,async:!0};if(!Z())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}w.info(this.$t(`flux.message.startingTask`)),W(`flux`,q.generate(e,{token:t})).then(()=>{w.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?w.error(this.$t(`flux.message.usedUp`)):w.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function At(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var jt=G(kt,[[`render`,At]]);export{jt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-BE5if_cO.js";import{t as b}from"./upload-CaDoepuW.js";import{t as x}from"./tooltip-CWarmRzH.js";import{t as S}from"./alert-BprQRUmf.js";import{h as C,v as w}from"./models-BezwK8kr.js";import{t as T}from"./drawer-IGrtqwA_.js";import{t as E}from"./input-number-DE6IQ4ir.js";import{t as D}from"./slider-dhlGhAT5.js";import{t as O}from"./clock-Jf9SRGfJ.js";import{a as k,c as A,n as j,o as M,r as N,t as P}from"./pagination-DZR3nmuW.js";import{t as F}from"./info-CnsL34Wa.js";import{t as ee}from"./trash-2-DNyXCMPK.js";import{t as te}from"./triangle-alert-CNaK_gey.js";import{t as I}from"./upload-BSJXTKcZ.js";import{t as L}from"./wand-sparkles-DeLAH7qh.js";import{dr as R,lr as z,ur as B}from"./constants-CLU-fDDu.js";import{$t as V,Ii as H,Nr as U,O as W,Qn as G,Si as K,Yt as q,an as J,ci as Y,en as X,mn as Z,nn as Q,rn as ne,tn as re}from"./index-B5MbEIrr.js";import{t as ie}from"./CopyToClipboard-DFCNkMsd.js";import{t as ae}from"./ReportButton-Bc65-OZk.js";import{t as oe}from"./ImagePreview-yB5WHi4j.js";import{n as se}from"./taskDrawerMixin-DyAUhFEq.js";import{t as ce}from"./Consumption-C-hP5yFd.js";import{t as le}from"./ApiCodeButton-frBjO6I5.js";import{t as ue}from"./BotPlaceholder-DxSergOd.js";import{t as de}from"./ImageWrapper-B4-9D46j.js";var fe=_({name:`LayoutFlux`,components:{MagicIcon:L,ElDrawer:T,ElButton:H},mixins:[se]}),pe={class:`main flex flex-row flex-1`},me={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},he={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function ge(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,pe,[e(`div`,me,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,he,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var _e=W(fe,[[`render`,ge],[`__scopeId`,`data-v-72e82d52`]]),ve=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=R}}),ye={class:`field`},be={class:`title font-bold`};function xe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Se=W(ve,[[`render`,xe],[`__scopeId`,`data-v-e9b17945`]]),Ce=_({name:`CountSelector`,components:{ElSlider:D,InfoIcon:M,ElInputNumber:E},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),we={class:`flex justify-between`},Te={class:`flex justify-start items-center`},Ee={class:`text-sm font-bold`},De={class:`flex justify-end items-center`},Oe={class:`w-full`};function ke(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,we,[e(`div`,Te,[e(`span`,Ee,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,De,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Oe,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Ae=W(Ce,[[`render`,ke]]),je=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=B}}),Me={class:`field`},Ne={class:`title font-bold`};function Pe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Me,[e(`h2`,Ne,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Fe=W(je,[[`render`,Pe],[`__scopeId`,`data-v-81fd05e5`]]),Ie=_({name:`ImageUrlInput`,components:{UploadIcon:I,ElUpload:b,ElButton:H,InfoIcon:M,ImagePreview:oe},mixins:[ne,Q,X,q],emits:[`change`],data(){return{fileList:[],uploadUrl:Y()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){w.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){w.error(this.$t(`flux.message.uploadStartImageError`))}}}),Le={class:`relative`},Re={class:`flex justify-between`},ze={class:`flex justify-start items-center`},Be={class:`text-sm font-bold`};function Ve(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Le,[e(`div`,Re,[e(`div`,ze,[e(`span`,Be,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,"before-upload":t.beforeUploadSizeGuard,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`before-upload`,`action`,`on-exceed`,`on-error`,`headers`])])}var He=W(Ie,[[`render`,Ve],[`__scopeId`,`data-v-9830e0c3`]]),Ue=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function We(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ge=W(Ue,[[`render`,We]]),Ke=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:z}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),qe={class:`field`},Je={class:`title font-bold`};function Ye(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,qe,[e(`h2`,Je,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Xe=_({name:`PresetPanel`,components:{MagicIcon:L,ElButton:H,PromptInput:Ge,ModelSelector:Se,CountSelector:Ae,Consumption:ce,ActionSelector:Fe,ImageUrlInput:He,SizeSelector:W(Ke,[[`render`,Ye],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return J(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ze={class:`flex flex-col h-full`},Qe={class:`flex-1 overflow-y-auto p-5`},$e={class:`flex flex-col items-center justify-center px-5 pb-5`};function et(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ze,[e(`div`,Qe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,$e,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var tt=W(Xe,[[`render`,et]]),nt=_({name:`TaskPreview`,components:{DeleteIcon:ee,ElTooltip:x,ChannelIcon:A,InfoIcon:F,MagicIcon:L,TimeIcon:O,WarningIcon:te,CopyToClipboard:ie,ElAlert:S,ImageWrapper:de,ApiCodeButton:le,ReportButton:ae},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await K.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),w.success(this.$t(`common.message.deleteTaskSuccess`))}catch{w.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),rt={class:`preview`},it={class:`left`},at={class:`main`},ot={class:`bot`},st={class:`datetime`},ct=[`aria-label`],lt={class:`info`},ut={key:0,class:`prompt mt-2`},dt={key:0},ft={key:0,class:n({content:!0,failed:!0})},pt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},mt={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},ht={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},gt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},_t={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},vt={key:1,class:n({content:!0})},yt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},bt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},St={key:2,class:n({content:!0})},Ct={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function wt(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`report-button`),T=l(`channel-icon`),E=l(`magic-icon`),D=l(`copy-to-clipboard`),O=l(`time-icon`),k=l(`el-alert`),A=l(`warning-icon`),j=l(`info-icon`);return h(),s(`div`,rt,[e(`div`,it,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,at,[e(`div`,ot,[a(y,{capability:`flux`,part:`name`}),e(`span`,st,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ct)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,lt,[n.modelValue?.request?.prompt?(h(),s(`p`,ut,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,dt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,ft,[e(`div`,pt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,mt,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`]),a(w,{service:`flux`,"target-id":n.modelValue?.id,snapshot:{prompt:n.modelValue?.request?.prompt}},null,8,[`target-id`,`snapshot`])]),a(k,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,ht,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,gt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,_t,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,vt,[a(k,{closable:!1,class:`failure`},{template:p(()=>[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,yt,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,$,[a(j,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(D,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,bt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,xt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(D,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,St,[a(k,{closable:!1,class:`info`},{template:p(()=>[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,Ct,[a(E,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(D,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Tt=_({name:`RecentPanel`,components:{TaskPreview:W(nt,[[`render`,wt],[`__scopeId`,`data-v-7bae4285`]]),BotPlaceholder:ue,NoTasks:N,ScrollList:j},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Et={key:0},Dt={key:2,class:`w-full h-full flex items-center justify-center`};function Ot(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,Et,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Dt,[a(v)])):o(``,!0)],64)}var kt=_({name:`FluxIndex`,components:{ConfigPanel:tt,Layout:_e,RecentPanel:W(Tt,[[`render`,Ot]])},mixins:[re],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===C.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===C.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await P({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!V(this.uploadTracker,e=>this.$t(e),e=>w.warning(e)))return;let e={...this.config,async:!0};if(!Z())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}w.info(this.$t(`flux.message.startingTask`)),U(`flux`,G.generate(e,{token:t})).then(()=>{w.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?w.error(this.$t(`flux.message.usedUp`)):w.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function At(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var jt=W(kt,[[`render`,At]]);export{jt as default};
@@ -0,0 +1 @@
1
+ .intro[data-v-198ffd22]{--intro-ink:var(--el-text-color-primary);--intro-muted:var(--el-text-color-secondary);--intro-accent:var(--el-color-primary);color:var(--intro-ink);background:var(--el-bg-color)}.intro-loading[data-v-198ffd22]{background:var(--app-gradient-hero);place-items:center;min-height:calc(100vh - 140px);display:grid}.intro-loading__pulse[data-v-198ffd22]{border:3px solid #fff3;border-top-color:#ffffffe6;border-radius:50%;width:42px;height:42px;animation:.9s linear infinite intro-spin-198ffd22}@keyframes intro-spin-198ffd22{to{transform:rotate(360deg)}}.container[data-v-198ffd22]{width:min(1220px,100% - 48px);margin:0 auto}.macbook-frame[data-v-198ffd22]{filter:drop-shadow(0 24px 28px #050c143d);padding:0 3.5%;position:relative}.macbook-frame__lid[data-v-198ffd22]{z-index:1;background:linear-gradient(145deg,#11161d 0%,#050709 100%);border:1px solid #3c434d;border-radius:18px 18px 3px 3px;padding:2.6% 2.2% 0;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,inset 0 -14px 22px #00000059}.macbook-frame__camera[data-v-198ffd22]{background:#1b2730;border-radius:50%;width:5px;height:5px;position:absolute;top:1.2%;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #020304}.macbook-frame__viewport[data-v-198ffd22]{background:#05070a;border-radius:11px 11px 2px 2px;overflow:hidden}.macbook-frame__viewport img[data-v-198ffd22]{-o-object-fit:contain;object-fit:contain;background:0 0;border:0;width:100%;height:auto;display:block}.macbook-frame__chin[data-v-198ffd22]{justify-content:center;align-items:center;height:12px;display:flex}.macbook-frame__base[data-v-198ffd22]{z-index:2;background:linear-gradient(#d7d9dc 0%,#9ca1a7 38%,#575e66 72%,#c9ccd0 100%);border-radius:2px 2px 14px 14px;width:107.5%;height:18px;margin-top:-1px;margin-left:-3.75%;position:relative;box-shadow:inset 0 1px #ffffffd9,0 5px 8px #0000003d}.macbook-frame__base[data-v-198ffd22]:before{content:"";background:linear-gradient(#737a82,#b8bcc1);border-radius:0 0 8px 8px;width:18%;height:46%;position:absolute;top:0;left:50%;transform:translate(-50%)}.macbook-frame__base span[data-v-198ffd22]{background:#ffffff80;width:16%;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.phone-device[data-v-198ffd22]{background:linear-gradient(145deg,#151a20,#030405);border:1px solid #3d4248;border-radius:32px;padding:9px 7px 12px;position:relative;box-shadow:inset 0 0 0 1px #ffffff14,0 22px 48px #050c1457}.phone-device__speaker[data-v-198ffd22]{z-index:3;background:#272d34;border-radius:9999px;width:18%;height:3px;position:absolute;top:5px;left:50%;transform:translate(-50%)}.phone-device__screen[data-v-198ffd22]{background:#05070a;border-radius:23px;position:relative;overflow:hidden}.phone-device__screen img[data-v-198ffd22]{-o-object-fit:contain;object-fit:contain;background:0 0;border:0;width:100%;height:auto;display:block}.phone-device__island[data-v-198ffd22]{z-index:2;background:#020304;border-radius:9999px;width:34%;height:13px;position:absolute;top:8px;left:50%;transform:translate(-50%)}.eyebrow[data-v-198ffd22],.story-kicker[data-v-198ffd22]{color:var(--intro-accent);text-transform:uppercase;font-size:13px;font-weight:800;line-height:1.4}.eyebrow[data-v-198ffd22]{color:#fff;background:#ffffff1f;border:1px solid #ffffff40;border-radius:9999px;padding:7px 10px;display:inline-flex}.eyebrow--light[data-v-198ffd22]{color:var(--intro-accent);background:0 0;border:0;padding:0}.hero[data-v-198ffd22]{background:var(--app-gradient-hero);position:relative;overflow:hidden}.hero__grid[data-v-198ffd22]{opacity:.5;background-image:radial-gradient(rgba(var(--app-brand-rgb), .18) 1px, transparent 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 20%,#0000 92%);mask-image:linear-gradient(#000 20%,#0000 92%)}.hero__content[data-v-198ffd22]{z-index:1;text-align:center;padding:84px 0 0;position:relative}.hero h1[data-v-198ffd22]{color:#fff;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#93b8c3 52%,#689caa 100%);-webkit-background-clip:text;background-clip:text;max-width:940px;margin:20px auto 16px;font-size:60px;font-weight:800;line-height:1.08}.hero__summary[data-v-198ffd22]{color:#ffffffbf;max-width:720px;margin:0 auto 32px;font-size:18px;line-height:1.8}.hero__actions[data-v-198ffd22]{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.hero__actions .el-button[data-v-198ffd22]:not(.el-button--primary){color:#fff;background:#ffffff1a;border-color:#fff6}.hero__stats[data-v-198ffd22]{flex-wrap:wrap;justify-content:center;gap:56px;margin:48px 0 0;display:flex}.hero__stats dt[data-v-198ffd22]{color:#fff;margin-bottom:6px;font-size:30px;font-weight:800}.hero__stats dd[data-v-198ffd22]{color:#ffffffa6;margin:0;font-size:13px}.hero__screens[data-v-198ffd22]{max-width:940px;margin:60px auto 0;padding-bottom:40px;position:relative}.hero__mobile[data-v-198ffd22]{z-index:3;width:17%;position:absolute;bottom:0;right:-12px}.section[data-v-198ffd22]{padding:104px 0;scroll-margin-top:76px}.capability--alt[data-v-198ffd22]{background:var(--app-bg-surface)}.capability__head[data-v-198ffd22]{text-align:center;max-width:820px;margin:0 auto 56px}.capability__head h2[data-v-198ffd22]{margin:12px 0 16px;font-size:40px;line-height:1.18}.capability__head p[data-v-198ffd22]{color:var(--intro-muted);margin:0;font-size:17px;line-height:1.8}.capability__body[data-v-198ffd22]{grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:center;gap:56px;display:grid}.capability__body--reverse[data-v-198ffd22]{grid-template-columns:minmax(260px,.6fr) minmax(0,1.4fr)}.capability__body--reverse .capability__copy[data-v-198ffd22]{order:-1}.capability__body--copy-only[data-v-198ffd22]{display:block}.capability__body--copy-only .capability__copy[data-v-198ffd22]{text-align:center;max-width:760px;margin:0 auto}.capability__body--copy-only .feature-points[data-v-198ffd22]{text-align:left;display:inline-block}.capability__copy .el-button[data-v-198ffd22]{margin-top:8px}.screen-pair[data-v-198ffd22]{position:relative}.screen-pair--with-phone[data-v-198ffd22]{padding-right:6%}.screen-pair__mobile[data-v-198ffd22]{z-index:3;width:19%;position:absolute;bottom:-6%;right:-2%}.feature-points[data-v-198ffd22]{margin:0 0 20px;padding:0;list-style:none}.feature-points li[data-v-198ffd22]{color:var(--intro-muted);align-items:flex-start;gap:10px;margin-bottom:14px;font-size:15px;line-height:1.7;display:flex}.feature-points li svg[data-v-198ffd22]{color:var(--intro-accent);flex:none;margin-top:5px}.model-grid[data-v-198ffd22]{--model-grid-active-columns:var(--model-grid-columns);--model-grid-gap:18px;justify-content:center;gap:var(--model-grid-gap);width:100%;max-width:calc(var(--model-grid-active-columns) * 228px + (var(--model-grid-active-columns) - 1) * var(--model-grid-gap));flex-wrap:wrap;margin:64px auto 0;display:flex}.model-card[data-v-198ffd22]{flex:0 1 calc((100% - (var(--model-grid-active-columns) - 1) * var(--model-grid-gap)) / var(--model-grid-active-columns));border:1px solid var(--app-border-subtle);background:var(--el-bg-color);border-radius:18px;min-width:0;padding:24px;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 8px 24px #08121c0a}.model-card[data-v-198ffd22]:hover{border-color:color-mix(in srgb, var(--intro-accent) 36%, var(--app-border-subtle));transform:translateY(-3px);box-shadow:0 16px 36px #08121c1a}.model-card__heading[data-v-198ffd22]{align-items:center;gap:13px;margin-bottom:14px;display:flex}.model-card__logo[data-v-198ffd22]{border:1px solid color-mix(in srgb, var(--intro-accent) 20%, var(--app-border-subtle));background:color-mix(in srgb, var(--el-bg-color) 90%, var(--intro-accent));border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 5px 14px #050e181f}.model-card__logo img[data-v-198ffd22]{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.model-card h3[data-v-198ffd22]{margin:0;font-size:17px;font-weight:750;line-height:1.25}.model-card p[data-v-198ffd22]{color:var(--intro-muted);margin:0;font-size:14px;line-height:1.7}.connector-section[data-v-198ffd22]{background:var(--app-bg-surface)}.final-cta[data-v-198ffd22]{background:var(--app-gradient-hero);padding:96px 0}.final-cta__content[data-v-198ffd22]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.final-cta__content h2[data-v-198ffd22]{color:#fff;margin:12px 0 14px;font-size:38px;line-height:1.2}.final-cta__content p[data-v-198ffd22]{color:#ffffffb8;max-width:620px;margin:0;font-size:16px;line-height:1.8}.final-cta .story-kicker[data-v-198ffd22]{color:#fff;opacity:.75}@media (width<=1100px){.capability__body[data-v-198ffd22],.capability__body--reverse[data-v-198ffd22]{grid-template-columns:minmax(0,1fr)}.capability__body .capability__copy[data-v-198ffd22],.capability__body--reverse .capability__copy[data-v-198ffd22]{order:0}.model-grid[data-v-198ffd22]{--model-grid-active-columns:var(--model-grid-columns-tablet)}}@media (width<=768px){.container[data-v-198ffd22]{width:calc(100% - 32px)}.hero__content[data-v-198ffd22]{padding-top:56px}.hero h1[data-v-198ffd22]{font-size:36px}.hero__summary[data-v-198ffd22]{font-size:16px}.hero__stats[data-v-198ffd22]{gap:28px}.hero__stats dt[data-v-198ffd22]{font-size:24px}.hero__mobile[data-v-198ffd22]{display:none}.section[data-v-198ffd22]{padding:64px 0}.capability__head h2[data-v-198ffd22]{font-size:28px}.screen-pair__mobile[data-v-198ffd22]{display:none}.screen-pair--with-phone[data-v-198ffd22]{padding-right:0}.model-grid[data-v-198ffd22]{--model-grid-active-columns:var(--model-grid-columns-mobile);--model-grid-gap:12px;max-width:100%;margin-top:40px}.model-card[data-v-198ffd22]{padding:18px}.model-card__heading[data-v-198ffd22]{flex-direction:column;align-items:flex-start;gap:10px}.model-card__logo[data-v-198ffd22]{width:42px;height:42px}.final-cta h2[data-v-198ffd22]{font-size:28px}}
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,at as s,ht as c,j as l,mt as u,ot as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./row-B_jKvn5G.js";import{i as g,n as _,r as v,t as y}from"./container-VI0MzukK.js";import{n as b,r as x,t as S}from"./dropdown-BamuHFwh.js";import{i as C,n as w,r as T,t as E}from"./avatar-DlOs-hSd.js";import{Ii as D,O,Q as k,_i as A,hi as j,j as M,pi as N,pn as P,si as F,st as I,vn as L,vt as R}from"./index-B5MbEIrr.js";import{t as z}from"./BottomFooter-CDfDhPIH.js";import{t as B}from"./Logo-Bm5gQIkd.js";var V=p({name:`TopHeader`,components:{ElCol:m,Logo:B,ElRow:h,ElDropdown:S,ElDropdownMenu:x,ElMenu:w,ElMenuItem:T,ElDropdownItem:b,ElButton:D,ElSubMenu:C},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},isMinimalHeader(){return this.$route.name===`index`||this.$route.name===`intro`},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated},isMainOfficialHost(){return L()},isDesktopChrome(){return N()},isMacChrome(){return N()&&j()}},methods:{openTab(e){if(A()){M.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:R})},onLogin(){this.$store.dispatch(`login`,{redirect:this.$route.fullPath})},onDownload(){this.$router.push({name:I})},onProfile(){let e=F();this.openTab(P(`${e}/user/profile`))},onVerify(){let e=F();this.openTab(P(`${e}/user/verify`))},onConsole(){this.$router.push({name:k})},async onLogout(){this.$store.dispatch(`logout`)}}}),H={key:0,class:`mt-4 pr-10`},U={key:1,class:`float-right`},W=[`src`];function G(p,m,h,g,_,v){let y=s(`logo`),b=s(`el-col`),x=s(`el-menu-item`),S=s(`el-sub-menu`),C=s(`el-menu`),w=s(`el-button`),T=s(`language-selector`),E=s(`dark-selector`),D=s(`el-dropdown-item`),O=s(`el-dropdown-menu`),k=s(`el-dropdown`),A=s(`el-row`),j=d(`t`);return f(),l(A,{class:t([`header`,{"desktop-chrome":p.isDesktopChrome,"is-mac":p.isMacChrome,"minimal-only":p.isMinimalHeader}])},{default:u(()=>[p.isMinimalHeader?(f(),l(b,{key:0,span:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})):(f(),l(b,{key:1,md:4,xs:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})),p.isMinimalHeader?a(``,!0):(f(),l(b,{key:2,md:16,xs:13},{default:u(()=>[i(C,{"default-active":p.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:p.onSelect},{default:u(()=>[i(S,{index:p.products},{title:u(()=>[n(r(p.$t(`common.nav.products`)),1)]),default:u(()=>[c(i(x,{index:`/intro`},null,512),[[j,`intro.nav.overview`]]),p.site?.features?.chatgpt?.enabled?c((f(),l(x,{key:0,index:`/chat`},null,512)),[[j,`index.title.chat`]]):a(``,!0),p.site?.features?.midjourney?.enabled?c((f(),l(x,{key:1,index:`/midjourney`},null,512)),[[j,`index.title.midjourney`]]):a(``,!0),p.site?.features?.qrart?.enabled?c((f(),l(x,{key:2,index:`/qrart`},null,512)),[[j,`index.title.qrart`]]):a(``,!0),p.site?.features?.suno?.enabled?c((f(),l(x,{key:3,index:`/suno`},null,512)),[[j,`index.title.suno`]]):a(``,!0),p.site?.features?.luma?.enabled?c((f(),l(x,{key:4,index:`/luma`},null,512)),[[j,`index.title.luma`]]):a(``,!0)]),_:1},8,[`index`]),p.isMainOfficialHost?c((f(),l(x,{key:0,onRoute:e=>void 0,onClick:p.onDownload},null,8,[`onClick`])),[[j,`common.nav.mobileApp`]]):a(``,!0),c(i(x,{onRoute:e=>void 0,onClick:m[0]||=e=>p.openTab(`https://platform.acedata.cloud`)},null,512),[[j,`common.nav.apiPlatform`]]),c(i(x,{onRoute:e=>void 0,onClick:m[1]||=e=>p.openTab(`https://platform.acedata.cloud/support`)},null,512),[[j,`common.nav.support`]]),c(i(x,{onRoute:e=>void 0,onClick:m[2]||=e=>p.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[j,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1})),p.isMinimalHeader?a(``,!0):(f(),l(b,{key:3,md:4,xs:11},{default:u(()=>[p.authenticated?(f(),o(`div`,U,[e(`div`,{class:`console`,onClick:m[3]||=(...e)=>p.onConsole&&p.onConsole(...e)},r(p.$t(`common.button.console`)),1),i(k,{trigger:`click`},{dropdown:u(()=>[i(O,null,{default:u(()=>[i(D,{onClick:p.onProfile},{default:u(()=>[n(r(p.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),i(D,{onClick:p.onLogout},{default:u(()=>[n(r(p.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[e(`img`,{src:p.user?.avatar||p.defaultAvatar,class:`avatar`},null,8,W)]),_:1})])):(f(),o(`div`,H,[i(w,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:p.onLogin},{default:u(()=>[n(r(p.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),i(T,{class:`locale float-right mr-4`}),i(E,{class:`float-right mr-4`})]))]),_:1}))]),_:1},8,[`class`])}var K=p({name:`LayoutIndex`,components:{TopHeader:O(V,[[`render`,G]]),BottomFooter:z,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function q(e,t,n,r,a,o){let c=s(`top-header`),d=s(`el-header`),p=s(`router-view`),m=s(`el-main`),h=s(`bottom-footer`),g=s(`el-footer`),_=s(`el-container`);return f(),l(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[i(d,{class:`header p-0 h-auto`},{default:u(()=>[i(c)]),_:1}),i(m,{class:`main`},{default:u(()=>[i(p)]),_:1}),i(g,{class:`footer p-0 h-auto`},{default:u(()=>[i(h)]),_:1})]),_:1})}var J=O(K,[[`render`,q]]);export{J as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,b as u,ht as d,j as f,mt as p,ot as m,qt as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-jRFQ1Hzk.js";import{n as S,t as C}from"./tabs-DsmI05G2.js";import{t as w}from"./tooltip-bfg-03mE.js";import{v as T}from"./models-DcpkDkjF.js";import{n as E,r as D,t as O}from"./dropdown-B8Z-l-iE.js";import{t as k}from"./pagination-IckkXpUO.js";import{t as A}from"./switch-CP09CWeK.js";import{t as j}from"./arrow-down-DfZZ6O9V.js";import{t as M}from"./arrow-left-uQ2QSI6E.js";import{t as N}from"./book-open-DJntghzP.js";import{t as P}from"./chevron-down-D54yUG_W.js";import{t as F}from"./chevron-right-kcQrk7a4.js";import{t as I}from"./circle-check-B7M0eLJf.js";import{t as L}from"./circle-question-mark-CkrnC9TN.js";import{t as ee}from"./clipboard-list-BQu_m5lA.js";import{t as te}from"./code-Cx-HLyjl.js";import{t as R}from"./copy-DpODTAxb.js";import{t as ne}from"./ellipsis-Du3lY52z.js";import{t as re}from"./eye-DFp2jfce.js";import{t as ie}from"./file-text-mDCcsztI.js";import{t as z}from"./file-DvOzOx_P.js";import{t as B}from"./folder-DbyunSbX.js";import{t as ae}from"./image-ltLE0_B2.js";import{t as oe}from"./lock-DGLRMLsk.js";import{t as V}from"./plus--lrUTaV9.js";import{n as se,t as ce}from"./store-Co9jwnq8.js";import{t as le}from"./search-B-v-GhMv.js";import{t as ue}from"./trash-2-CDz5PwCk.js";import{t as de}from"./triangle-alert-Z8DwGNFK.js";import{t as fe}from"./upload-CYgk_oSr.js";import{t as pe}from"./wand-sparkles-yU_7R4u-.js";import{Ei as H,Er as U,Fi as W,Ni as me,O as G,Si as K,Ui as q,_i as he,bi as J,ci as ge,di as _e,fi as ve,oi as ye,pi as be,xi as xe}from"./index-CREYJmGZ.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,m as Y,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-Dp5oaXS7.js";import{t as Ie}from"./VueMarkdown-CiiRjbWs.js";import{t as Le}from"./PageHeader-B7aH63od.js";var Re=J(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ze=J(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Be=J(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ve=J(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),He=J(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${ye()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return U.get(`/${this.key}/`,X())}async get(e){return U.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return U.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),U.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return U.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return U.delete(`/${this.key}/${e}/`,X())}async enable(e){return U.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return U.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await U.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return U.get(`/${this.key}/`,{...X(),params:e})}async get(e){return U.get(`/${this.key}/${e}/`,X())}async categories(){return U.get(`/${this.key}/categories/`,X())}async install(e,t={}){return U.post(`/${this.key}/${e}/install/`,t,X())}};function Ue(){let e=new Set;ve()&&e.add(`desktop`),be()&&e.add(`ios`),_e()&&e.add(`android`),he()&&e.add(`web`);let t=ge();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!be()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var We=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function Ge(e){let t=e.filter(e=>We.has(e));if(!t.length)return!0;let n=Ue();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`shell`,De),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Ke=12,qe=y({name:`BrowseSkillsDialog`,components:{VueMarkdown:Ie,ElDialog:H,ElInput:q,ElButton:W,ElPagination:k,ElSelect:b,ElOption:x,FontAwesomeIcon:Fe,AddIcon:V,BackIcon:M,DownIcon:j,InstallIcon:Re,LockIcon:oe,SearchIcon:le,SuccessIcon:I},directives:{loading:K},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Ke},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),T.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){T.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);T.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,T.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):T.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return Ge(this.restrictedSurfaces(e))}}}),Je={class:`directory`},Ye={class:`directory-main`},Xe={class:`directory-header`},Ze={class:`directory-controls`},Qe={class:`directory-grid-wrapper`},$e={key:0,class:`directory-empty`},et={key:1,class:`directory-grid`},tt=[`onClick`],nt={class:`directory-card-head`},rt={class:`directory-card-title`},it=[`title`],at=[`title`],ot=[`aria-label`,`title`,`onClick`],st=[`title`],ct={class:`directory-card-meta`},lt={class:`directory-card-publisher`},ut={key:0,class:`directory-card-count`},dt=[`title`],ft={class:`directory-card-desc`},pt={key:0,class:`directory-footer`},mt={class:`directory-detail-head`},ht={class:`directory-detail-actions`},gt=[`href`],_t={class:`directory-detail-body`},vt={class:`directory-detail-title`},yt={class:`directory-detail-meta`},bt={key:0},xt={key:1},St=[`title`],Ct={class:`directory-detail-desc`};function wt(u,h,_,y,b,x){let S=l(`search-icon`),C=l(`el-input`),w=l(`el-option`),T=l(`el-select`),E=l(`success-icon`),D=l(`lock-icon`),O=l(`add-icon`),k=l(`down-icon`),A=l(`el-pagination`),j=l(`back-icon`),M=l(`font-awesome-icon`),N=l(`el-button`),P=l(`install-icon`),F=l(`vue-markdown`),I=l(`el-dialog`),L=m(`loading`);return v(),f(I,{"model-value":u.modelValue,title:u.$t(`skill.dialog.directoryTitle`),width:`min(960px, 94vw)`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!u.installing,"show-close":!u.installing,"onUpdate:modelValue":h[5]||=e=>u.$emit(`update:modelValue`,e),onOpen:u.onOpen},{default:p(()=>[e(`div`,Je,[e(`main`,Ye,[u.selectedItem?(v(),s(c,{key:1},[e(`header`,mt,[e(`button`,{class:`directory-back-btn`,onClick:h[3]||=e=>u.selectedItem=null},[a(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.back`)),1)]),e(`div`,ht,[u.selectedItem.source_url?(v(),s(`a`,{key:0,href:u.selectedItem.source_url,target:`_blank`,class:`directory-link`},[a(M,{icon:`fa-brands fa-github`}),r(` `+i(u.$t(`skill.directory.viewSource`)),1)],8,gt)):o(``,!0),u.selectedItem.installed?(v(),f(N,{key:1,disabled:``,type:`success`,plain:``},{default:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.installed`)),1)]),_:1})):u.selectedItem.installable&&!u.canInstallOnSurface(u.selectedItem)?(v(),f(N,{key:2,disabled:``,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(u.selectedItem)})},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):u.selectedItem.installable?(v(),f(N,{key:3,type:`primary`,loading:u.installing,onClick:h[4]||=e=>u.onInstall(u.selectedItem)},{default:p(()=>[a(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(v(),f(N,{key:4,disabled:``,title:u.selectedItem.license},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.selectedItem.license||u.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,_t,[e(`h2`,vt,`/`+i(u.selectedItem.slug),1),e(`div`,yt,[e(`span`,null,[e(`strong`,null,i(u.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(u.selectedItem.publisher),1)]),u.selectedItem.license?(v(),s(`span`,bt,[e(`strong`,null,i(u.$t(`skill.directory.license`))+`:`,1),r(` `+i(u.selectedItem.license),1)])):o(``,!0),u.selectedItem.version?(v(),s(`span`,xt,`v`+i(u.selectedItem.version),1)):o(``,!0),u.surfaceLabels(u.selectedItem)?(v(),s(`span`,{key:2,class:`directory-detail-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.$t(`skill.directory.surfaceOnly`,{platforms:u.surfaceLabels(u.selectedItem)})),9,St)):o(``,!0)]),e(`p`,Ct,i(u.selectedItem.description),1),a(F,{class:`directory-detail-content`,source:u.detailBody,sanitize:``},null,8,[`source`])])],64)):(v(),s(c,{key:0},[e(`header`,Xe,[a(C,{modelValue:u.searchQuery,"onUpdate:modelValue":h[0]||=e=>u.searchQuery=e,class:`directory-search`,size:`default`,clearable:``,placeholder:u.$t(`skill.directory.searchPlaceholder`),onInput:u.onSearchInput},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`,`onInput`]),e(`div`,Ze,[a(T,{modelValue:u.namespaceFilter,"onUpdate:modelValue":h[1]||=e=>u.namespaceFilter=e,class:`directory-select`,placeholder:u.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[(v(!0),s(c,null,g(u.namespaceOptions,e=>(v(),f(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),a(T,{modelValue:u.sortBy,"onUpdate:modelValue":h[2]||=e=>u.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[a(w,{label:u.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),d((v(),s(`div`,Qe,[!u.loading&&u.total===0?(v(),s(`p`,$e,i(u.$t(`skill.directory.empty`)),1)):(v(),s(`div`,et,[(v(!0),s(c,null,g(u.items,c=>(v(),s(`article`,{key:c.id,class:n([`directory-card`,{"is-installed":c.installed}]),onClick:e=>u.openDetail(c)},[e(`div`,nt,[e(`span`,rt,`/`+i(c.slug),1),c.installed?(v(),s(`span`,{key:0,class:`directory-card-action is-installed`,title:u.$t(`skill.directory.installed`)},[a(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,it)):c.installable&&!u.canInstallOnSurface(c)?(v(),s(`span`,{key:1,class:`directory-card-locked`,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(c)})},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,at)):c.installable?(v(),s(`button`,{key:2,class:`directory-card-action`,"aria-label":u.$t(`skill.directory.install`),title:u.$t(`skill.directory.install`),onClick:t(e=>u.onInstall(c),[`stop`])},[a(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ot)):(v(),s(`span`,{key:3,class:`directory-card-locked`,title:c.license},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,st))]),e(`div`,ct,[e(`span`,lt,i(c.publisher),1),c.install_count>0?(v(),s(`span`,ut,[a(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.formatCount(c.install_count)),1)])):o(``,!0),u.surfaceLabels(c)?(v(),s(`span`,{key:1,class:`directory-card-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.surfaceLabels(c)),9,dt)):o(``,!0)]),e(`p`,ft,i(c.description),1)],10,tt))),128))]))])),[[L,u.loading]]),u.total>u.pageSize?(v(),s(`footer`,pt,[a(A,{"current-page":u.currentPage,"page-size":u.pageSize,total:u.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:u.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):o(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var Tt=G(qe,[[`render`,wt],[`__scopeId`,`data-v-a9be2dc3`]]);Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`css`,Me),Y.registerLanguage(`go`,ke),Y.registerLanguage(`javascript`,Se),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`rust`,Ee),Y.registerLanguage(`shell`,De),Y.registerLanguage(`sql`,je),Y.registerLanguage(`typescript`,Oe),Y.registerLanguage(`xml`,Ne),Y.registerLanguage(`html`,Ne),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function Et(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function Dt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Ot=y({name:`SkillFilePreview`,components:{ElButton:W,ElTooltip:w,ElTabs:S,ElTabPane:C,CodeIcon:te,CopyIcon:R,FileIcon:z,SaveIcon:Ve,ViewIcon:re,WarningIcon:de,VueMarkdown:Ie},directives:{loading:K},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1}},computed:{kind(){return this.path?Et(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${Dt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=Et(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),T.success(this.$t(`skill.preview.copied`))}catch{T.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),kt={class:`preview-root`},At={class:`toolbar`},jt={class:`path-display`},Mt={key:0,class:`size-display`},Nt={class:`body`},Pt={key:0,class:`error`},Ft=[`srcdoc`],It={key:3,class:`image-pane`},Lt=[`src`,`alt`],Rt={key:4,class:`binary`},zt=[`placeholder`],Bt={key:6,class:`source-pane`},Vt={key:7,class:`truncated-warning`};function Ht(t,c,h,g,_,y){let b=l(`save-icon`),x=l(`el-button`),S=l(`copy-icon`),C=l(`el-tooltip`),w=l(`view-icon`),T=l(`el-tab-pane`),E=l(`code-icon`),D=l(`el-tabs`),O=l(`warning-icon`),k=l(`vue-markdown`),A=l(`file-icon`),j=m(`loading`);return d((v(),s(`div`,kt,[e(`div`,At,[e(`span`,jt,i(t.path||`—`),1),t.size?(v(),s(`span`,Mt,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(v(),f(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(b,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:p(()=>[a(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:p(()=>[a(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(v(),f(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(T,{name:`rendered`},{label:p(()=>[a(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(T,{name:`source`},{label:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):o(``,!0),e(`div`,Nt,[t.error?(v(),s(`div`,Pt,[a(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(v(),f(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(v(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Ft)):t.kind===`image`?(v(),s(`div`,It,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Lt)])):t.kind===`binary`?(v(),s(`div`,Rt,[a(A,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?d((v(),s(`textarea`,{key:5,"onUpdate:modelValue":c[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:c[2]||=e=>t.dirty=!0},null,40,zt)),[[u,t.textContent]]):(v(),s(`pre`,Bt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(v(),s(`p`,Vt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[j,t.loading]])}var Ut=G(Ot,[[`render`,Ht],[`__scopeId`,`data-v-ec0a447e`]]),Wt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Gt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Kt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?N:n===`md`?ie:Gt.has(n)?ae:Wt.has(n)?Be:z}function qt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Jt=y({name:`FileNode`,components:{ExpandDownIcon:P,ExpandRightIcon:F,FontAwesomeIcon:Fe},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Kt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Yt=[`aria-label`,`title`],Xt={key:1,class:`node-chevron-spacer`},Zt={class:`node-label`},Qt={key:0,class:`children`};function $t(r,a,u,d,p,m){let y=l(`expand-down-icon`),b=l(`expand-right-icon`),x=l(`font-awesome-icon`),S=l(`file-node`,!0);return v(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:h({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(v(),s(`span`,Xt)):(v(),s(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(v(),f(y,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(b,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Yt)),r.isHtmlFile(r.node)?(v(),f(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(v(),f(_(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Zt,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(v(),s(`ul`,Qt,[(v(!0),s(c,null,g(r.node.children||[],e=>(v(),f(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):o(``,!0)])}var en=y({name:`SkillRow`,components:{ExpandDownIcon:P,ExpandRightIcon:F,SkillIcon:se,FileNode:G(Jt,[[`render`,$t],[`__scopeId`,`data-v-5240087b`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return qt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),tn={class:`skill-row-wrapper`},nn=[`aria-label`,`title`],rn={key:1,class:`row-chevron-spacer`},an=[`title`],on={key:0,class:`file-list`};function sn(r,u,d,p,m,h){let _=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`skill-icon`),x=l(`file-node`);return v(),s(`li`,tn,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(v(),s(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:u[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(v(),f(_,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,nn)):(v(),s(`span`,rn)),a(b,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,an)],2),r.expanded&&r.hasChildren?(v(),s(`ul`,on,[(v(!0),s(c,null,g(r.tree,e=>(v(),f(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):o(``,!0)])}var cn=G(en,[[`render`,sn],[`__scopeId`,`data-v-231c2ce1`]]),ln=10*1024*1024,un=/\.(tar\.gz|tgz|tar|zip|md)$/i,dn=y({name:`UploadSkillDialog`,components:{ElDialog:H,ElButton:W,AddFileIcon:He,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>ln){T.error(this.$t(`skill.message.fileTooLarge`));return}if(!un.test(e.name)){T.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),fn={key:0,class:`dropzone-hint`},pn={key:1,class:`dropzone-file`},mn={class:`dropzone-file-name`},hn={class:`dropzone-file-size`},gn={class:`requirements`},_n={class:`requirements-title`};function vn(o,c,u,d,m,h){let g=l(`add-file-icon`),_=l(`el-button`),y=l(`cloud-upload-icon`),b=l(`el-dialog`);return v(),f(b,{"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:p(()=>[a(_,{disabled:o.uploading,onClick:o.onClose},{default:p(()=>[r(i(o.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(_,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:c[0]||=(...e)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:c[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:c[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:c[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:c[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(v(),s(`p`,pn,[e(`span`,mn,i(o.file.name),1),e(`span`,hn,i(o.humanSize(o.file.size)),1)])):(v(),s(`p`,fn,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,gn,[e(`p`,_n,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var yn=G(dn,[[`render`,vn],[`__scopeId`,`data-v-01ead824`]]),bn=y({name:`WriteSkillDialog`,components:{ElDialog:H,ElButton:W,ElInput:q,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),xn={class:`hint`};function Sn(t,n,o,s,c,u){let d=l(`el-input`),m=l(`el-button`),h=l(`cloud-upload-icon`),g=l(`el-dialog`);return v(),f(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:p(()=>[a(m,{disabled:t.saving,onClick:t.onClose},{default:p(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(m,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:p(()=>[a(h,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,xn,i(t.$t(`skill.dialog.writeHint`)),1),a(d,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=y({name:`UserSkills`,components:{ConsolePageHeader:Le,ElInput:q,ElSwitch:A,ElTag:me,ElTooltip:w,ElDropdown:O,ElDropdownMenu:D,ElDropdownItem:E,AddIcon:V,AiCreateIcon:pe,DeleteIcon:ue,ExpandDownIcon:P,ExpandRightIcon:F,HelpIcon:L,MarketplaceIcon:ce,MoreIcon:ne,SearchIcon:le,SkillIcon:se,UploadIcon:fe,WriteIcon:ee,BrowseSkillsDialog:Tt,SkillFilePreview:Ut,SkillRow:cn,UploadSkillDialog:yn,WriteSkillDialog:G(bn,[[`render`,Sn],[`__scopeId`,`data-v-f39aab5d`]])},directives:{loading:K},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),T.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});T.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await xe.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),T.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){T.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),T.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),T.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){T.error(this.extractError(e))}finally{this.togglingId=null}}}}),wn={class:`skills-page`},Tn={class:`skills-shell`},En={class:`left-pane`},Dn={class:`left-header`},On=[`aria-label`,`title`],kn={class:`submenu-trigger`},An={class:`badge-soon`},jn={class:`left-body`},Mn={class:`section`},Nn={key:0,class:`skill-list`},Pn={key:0,class:`empty-row`},Fn={key:0,class:`section`},In={key:0,class:`skill-list`},Ln={class:`right-pane`},Rn={class:`right-header`},zn={class:`right-title`},Bn={class:`right-actions`},Vn=[`aria-label`,`title`],Hn={class:`meta-card`},Un={class:`meta-grid`},Wn={class:`meta-cell`},Gn={class:`meta-label`},Kn={class:`meta-value`},qn={class:`meta-cell`},Jn={class:`meta-label`},Yn={class:`meta-value`},Xn={key:0,class:`meta-cell`},Zn={class:`meta-label`},Qn={class:`meta-tags`},$n={key:0,class:`meta-description`},er={class:`meta-description-label`},tr={class:`meta-label`},nr={class:`preview-card`},rr={key:2,class:`right-empty`};function ir(t,n,u,h,_,y){let b=l(`console-page-header`),x=l(`search-icon`),S=l(`el-input`),C=l(`add-icon`),w=l(`marketplace-icon`),T=l(`el-dropdown-item`),E=l(`expand-right-icon`),D=l(`ai-create-icon`),O=l(`write-icon`),k=l(`upload-icon`),A=l(`el-dropdown-menu`),j=l(`el-dropdown`),M=l(`expand-down-icon`),N=l(`skill-row`),P=l(`el-switch`),F=l(`more-icon`),I=l(`delete-icon`),L=l(`el-tag`),ee=l(`help-icon`),te=l(`el-tooltip`),R=l(`skill-file-preview`),ne=l(`skill-icon`),re=l(`upload-skill-dialog`),ie=l(`write-skill-dialog`),z=l(`browse-skills-dialog`),B=m(`loading`);return v(),s(`div`,wn,[a(b,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,Tn,[e(`aside`,En,[e(`header`,Dn,[a(S,{modelValue:t.searchQuery,"onUpdate:modelValue":n[0]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(x,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{onClick:t.onBrowse},{default:p(()=>[a(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(T,{divided:``},{default:p(()=>[a(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{disabled:``},{default:p(()=>[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,An,i(t.$t(`skill.menu.soon`)),1)]),_:1}),a(T,{onClick:t.openWrite},{default:p(()=>[a(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(T,{onClick:t.openUpload},{default:p(()=>[a(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:p(()=>[e(`span`,kn,[a(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[a(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,On)]),_:1})]),d((v(),s(`div`,jn,[e(`section`,Mn,[e(`button`,{class:`section-header`,onClick:n[1]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(v(),s(`ul`,Nn,[!t.loading&&t.filteredPersonal.length===0?(v(),s(`li`,Pn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(v(!0),s(c,null,g(t.filteredPersonal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)]),t.globalSkills.length>0?(v(),s(`section`,Fn,[e(`button`,{class:`section-header`,onClick:n[2]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(v(),s(`ul`,In,[(v(!0),s(c,null,g(t.filteredGlobal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)])):o(``,!0)])),[[B,t.loading]])]),e(`main`,Ln,[t.selectedSkill&&!t.selectedPath?(v(),s(c,{key:0},[e(`header`,Rn,[e(`h3`,zn,i(t.selectedSkill.slug),1),e(`div`,Bn,[a(P,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[3]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(v(),f(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(A,null,{default:p(()=>[a(T,{onClick:n[4]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(I,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[a(F,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Vn)]),_:1}))])]),e(`div`,Hn,[e(`div`,Un,[e(`div`,Wn,[e(`span`,Gn,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Kn,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,qn,[e(`span`,Jn,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Yn,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(v(),s(`div`,Xn,[e(`span`,Zn,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Qn,[(v(!0),s(c,null,g(t.selectedSkill.required_connections,e=>(v(),f(L,{key:e,size:`small`,type:`info`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(v(),s(`div`,$n,[e(`div`,er,[e(`span`,tr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(v(),f(te,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(ee,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):o(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):o(``,!0)]),e(`div`,nr,[(v(),f(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(v(),f(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(v(),s(`div`,rr,[a(ne,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),a(re,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[5]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(ie,{modelValue:t.writeVisible,"onUpdate:modelValue":n[6]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[7]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var ar=G(Cn,[[`render`,ir],[`__scopeId`,`data-v-e3209347`]]);export{ar as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,b as u,ht as d,j as f,mt as p,ot as m,qt as h,rt as g,st as _,tt as v,z as y}from"./vendor-chart-Dw-P17PN.js";import{r as b,t as x}from"./select-BE5if_cO.js";import{n as S,t as C}from"./tabs-BQRg1x8-.js";import{t as w}from"./tooltip-CWarmRzH.js";import{v as T}from"./models-BezwK8kr.js";import{n as E,r as D,t as O}from"./dropdown-BamuHFwh.js";import{t as k}from"./pagination-DuGVgoa7.js";import{t as A}from"./switch-C5zuSrF5.js";import{t as j}from"./arrow-down-zFeovQfT.js";import{t as M}from"./arrow-left-n4fgRrqD.js";import{t as N}from"./book-open-CkQ-biIT.js";import{t as P}from"./chevron-down-ITrnJa8i.js";import{t as F}from"./chevron-right-BnGp37ju.js";import{t as I}from"./circle-check-DJgoFlyD.js";import{t as L}from"./circle-question-mark-DM9tlgun.js";import{t as ee}from"./clipboard-list-CPLpI_yh.js";import{t as te}from"./code-DzM4cKDR.js";import{t as R}from"./copy-CV2ILFsj.js";import{t as ne}from"./ellipsis-BbM9GhTx.js";import{t as re}from"./eye-BwACpq_J.js";import{t as ie}from"./file-text-C0TsBPpr.js";import{t as z}from"./file-BAxc5jWn.js";import{t as B}from"./folder-5aP7_W2R.js";import{t as ae}from"./image-BQilRiyg.js";import{t as oe}from"./lock-Crbscd1n.js";import{t as V}from"./plus-mCu8A2J2.js";import{n as se,t as ce}from"./store-BL3Ou5EG.js";import{t as le}from"./search-CoJQlqE3.js";import{t as ue}from"./trash-2-DNyXCMPK.js";import{t as de}from"./triangle-alert-CNaK_gey.js";import{t as fe}from"./upload-BSJXTKcZ.js";import{t as pe}from"./wand-sparkles-DeLAH7qh.js";import{Ci as H,Di as U,Dr as W,Ii as G,O as K,Pi as me,Si as he,Wi as q,fi as ge,li as _e,mi as ve,pi as ye,si as be,vi as xe,xi as J}from"./index-B5MbEIrr.js";import{a as Se,c as Ce,d as we,f as Te,i as Ee,l as De,m as Y,n as Oe,o as ke,p as Ae,r as je,s as Me,t as Ne,u as Pe}from"./vendor-highlight-BHrfT4-E.js";import{t as Fe}from"./index.es-ByHbLPol.js";import{t as Ie}from"./VueMarkdown-CiiRjbWs.js";import{t as Le}from"./PageHeader-DmqESRXt.js";var Re=J(`cloud-download`,[[`path`,{d:`M12 13v8l-4-4`,key:`1f5nwf`}],[`path`,{d:`m12 21 4-4`,key:`1lfcce`}],[`path`,{d:`M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284`,key:`ui1hmy`}]]),ze=J(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),Be=J(`file-code-corner`,[[`path`,{d:`M4 12.15V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-3.35`,key:`1wthlu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`m5 16-3 3 3 3`,key:`331omg`}],[`path`,{d:`m9 22 3-3-3-3`,key:`lsp7cz`}]]),Ve=J(`save`,[[`path`,{d:`M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z`,key:`1c8476`}],[`path`,{d:`M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7`,key:`1ydtos`}],[`path`,{d:`M7 3v4a1 1 0 0 0 1 1h7`,key:`t51u73`}]]),He=J(`square-plus`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M8 12h8`,key:`1wcyev`}],[`path`,{d:`M12 8v8`,key:`napkw2`}]]),X=()=>({baseURL:`${be()}/api/v1`}),Z=new class{key=`skills/installed`;async list(){return W.get(`/${this.key}/`,X())}async get(e){return W.get(`/${this.key}/${e}/`,X())}async createMarkdown(e){return W.post(`/${this.key}/`,e,X())}async createTarball(e){let t=new FormData;return t.append(`tarball`,e),W.post(`/${this.key}/`,t,{...X(),headers:{"Content-Type":`multipart/form-data`}})}async update(e,t){return W.patch(`/${this.key}/${e}/`,t,X())}async remove(e){return W.delete(`/${this.key}/${e}/`,X())}async enable(e){return W.post(`/${this.key}/${e}/enable/`,void 0,X())}async disable(e){return W.post(`/${this.key}/${e}/disable/`,void 0,X())}async fetchFile(e,t){let n=await W.get(`/${this.key}/${e}/files/`,{...X(),params:{path:t},responseType:`arraybuffer`}),r=n.headers[`content-type`]||`application/octet-stream`;return{blob:new Blob([n.data],{type:r}),contentType:r}}},Q=new class{key=`skills`;async list(e={}){return W.get(`/${this.key}/`,{...X(),params:e})}async get(e){return W.get(`/${this.key}/${e}/`,X())}async categories(){return W.get(`/${this.key}/categories/`,X())}async install(e,t={}){return W.post(`/${this.key}/${e}/install/`,t,X())}};function Ue(){let e=new Set;ye()&&e.add(`desktop`),ve()&&e.add(`ios`),ge()&&e.add(`android`),xe()&&e.add(`web`);let t=_e();if(t===`mac`)e.add(`mac`);else if(t===`windows`)e.add(`windows`);else if(typeof navigator<`u`){let t=navigator.userAgent||``,n=navigator.userAgentData?.platform,r=/macintosh/i.test(t)&&(navigator.maxTouchPoints||0)>1;!ve()&&!r&&(n===`macOS`||/mac os x|macintosh/i.test(t))&&e.add(`mac`),(n===`Windows`||/windows nt/i.test(t))&&e.add(`windows`)}return e}var We=new Set([`mac`,`windows`,`desktop`,`web`,`ios`,`android`]);function Ge(e){let t=e.filter(e=>We.has(e));if(!t.length)return!0;let n=Ue();return t.some(e=>n.has(e))}Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`shell`,De),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var Ke=12,qe=y({name:`BrowseSkillsDialog`,components:{VueMarkdown:Ie,ElDialog:U,ElInput:q,ElButton:G,ElPagination:k,ElSelect:b,ElOption:x,FontAwesomeIcon:Fe,AddIcon:V,BackIcon:M,DownIcon:j,InstallIcon:Re,LockIcon:oe,SearchIcon:le,SuccessIcon:I},directives:{loading:H},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`installed`],data(){return{loading:!1,installing:!1,items:[],total:0,currentPage:1,searchQuery:``,namespaceFilter:``,sortBy:`popular`,selectedItem:null,searchTimer:null,knownNamespaces:[],publisherByNamespace:{}}},computed:{pageSize(){return Ke},namespaceOptions(){let e=new Set(this.knownNamespaces);for(let t of this.items)e.add(t.namespace);return Array.from(e).sort().map(e=>({value:e,label:this.publisherForNamespace(e)}))},detailBody(){return this.selectedItem?this.selectedItem.content.replace(/^---\n[\s\S]*?\n---\n?/,``):``}},methods:{onOpen(){this.selectedItem=null,this.searchQuery=``,this.namespaceFilter=``,this.sortBy=`popular`,this.currentPage=1,this.knownNamespaces=[],this.publisherByNamespace={},this.loadFacets(),this.reload()},openDetail(e){this.selectedItem=e},async loadFacets(){try{let{data:e}=await Q.categories(),t=new Set;for(let n of e.namespaces)t.add(n.namespace);this.knownNamespaces=Array.from(t).sort()}catch(e){console.warn(`failed to load skill catalog facets`,e)}},reloadFromFirstPage(){this.currentPage=1,this.reload()},onPageChange(e){this.currentPage=e,this.reload(),this.$nextTick(()=>{let e=this.$el.querySelector(`.directory-grid-wrapper`);e&&(e.scrollTop=0)})},onSearchInput(){this.searchTimer!==null&&window.clearTimeout(this.searchTimer),this.searchTimer=window.setTimeout(()=>{this.searchTimer=null,this.reloadFromFirstPage()},250)},async reload(){this.loading=!0;try{let{data:e}=await Q.list({q:this.searchQuery.trim()||void 0,namespace:this.namespaceFilter||void 0,sort:this.sortBy,limit:this.pageSize,offset:(this.currentPage-1)*this.pageSize});this.items=e.items,this.total=e.total;for(let t of e.items)t.publisher&&(this.publisherByNamespace[t.namespace]=t.publisher)}catch(e){console.error(e),T.error(this.$t(`skill.directory.loadFailed`))}finally{this.loading=!1}},async onInstall(e){if(!this.installing&&!e.installed){if(!this.canInstallOnSurface(e)){T.warning(this.$t(`skill.directory.surfaceBlocked`,{platforms:this.surfaceLabels(e)}));return}this.installing=!0;try{let{data:t}=await Q.install(e.id);T.success(this.$t(`skill.directory.installSuccess`,{name:e.slug})),this.$emit(`installed`,t.id),e.installed=!0,e.install_count+=1}catch(t){let n=this.extractError(t);n.includes(`already exists`)?(e.installed=!0,T.warning(this.$t(`skill.directory.alreadyInstalled`,{name:e.slug}))):T.error(this.$t(`skill.directory.installFailed`,{detail:n}))}finally{this.installing=!1}}},extractError(e){return e?.response?.data?.detail||String(e)||`unknown error`},formatCount(e){return e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e)},publisherForNamespace(e){if(this.publisherByNamespace[e])return this.publisherByNamespace[e];let t=this.items.find(t=>t.namespace===e);return t?t.publisher:e},restrictedSurfaces(e){let t=e.frontmatter?.surfaces;return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.trim().length>0).map(e=>e.trim().toLowerCase()):[]},surfaceLabel(e){let t=`skill.directory.surface.${e}`,n=this.$t(t);return n===t?e:n},surfaceLabels(e){return this.restrictedSurfaces(e).map(e=>this.surfaceLabel(e)).join(` / `)},canInstallOnSurface(e){return Ge(this.restrictedSurfaces(e))}}}),Je={class:`directory`},Ye={class:`directory-main`},Xe={class:`directory-header`},Ze={class:`directory-controls`},Qe={class:`directory-grid-wrapper`},$e={key:0,class:`directory-empty`},et={key:1,class:`directory-grid`},tt=[`onClick`],nt={class:`directory-card-head`},rt={class:`directory-card-title`},it=[`title`],at=[`title`],ot=[`aria-label`,`title`,`onClick`],st=[`title`],ct={class:`directory-card-meta`},lt={class:`directory-card-publisher`},ut={key:0,class:`directory-card-count`},dt=[`title`],ft={class:`directory-card-desc`},pt={key:0,class:`directory-footer`},mt={class:`directory-detail-head`},ht={class:`directory-detail-actions`},gt=[`href`],_t={class:`directory-detail-body`},vt={class:`directory-detail-title`},yt={class:`directory-detail-meta`},bt={key:0},xt={key:1},St=[`title`],Ct={class:`directory-detail-desc`};function wt(u,h,_,y,b,x){let S=l(`search-icon`),C=l(`el-input`),w=l(`el-option`),T=l(`el-select`),E=l(`success-icon`),D=l(`lock-icon`),O=l(`add-icon`),k=l(`down-icon`),A=l(`el-pagination`),j=l(`back-icon`),M=l(`font-awesome-icon`),N=l(`el-button`),P=l(`install-icon`),F=l(`vue-markdown`),I=l(`el-dialog`),L=m(`loading`);return v(),f(I,{"model-value":u.modelValue,title:u.$t(`skill.dialog.directoryTitle`),width:`min(960px, 94vw)`,"align-center":``,class:`directory-dialog`,"close-on-click-modal":!u.installing,"show-close":!u.installing,"onUpdate:modelValue":h[5]||=e=>u.$emit(`update:modelValue`,e),onOpen:u.onOpen},{default:p(()=>[e(`div`,Je,[e(`main`,Ye,[u.selectedItem?(v(),s(c,{key:1},[e(`header`,mt,[e(`button`,{class:`directory-back-btn`,onClick:h[3]||=e=>u.selectedItem=null},[a(j,{size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.back`)),1)]),e(`div`,ht,[u.selectedItem.source_url?(v(),s(`a`,{key:0,href:u.selectedItem.source_url,target:`_blank`,class:`directory-link`},[a(M,{icon:`fa-brands fa-github`}),r(` `+i(u.$t(`skill.directory.viewSource`)),1)],8,gt)):o(``,!0),u.selectedItem.installed?(v(),f(N,{key:1,disabled:``,type:`success`,plain:``},{default:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.installed`)),1)]),_:1})):u.selectedItem.installable&&!u.canInstallOnSurface(u.selectedItem)?(v(),f(N,{key:2,disabled:``,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(u.selectedItem)})},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.surfaceUnavailable`)),1)]),_:1},8,[`title`])):u.selectedItem.installable?(v(),f(N,{key:3,type:`primary`,loading:u.installing,onClick:h[4]||=e=>u.onInstall(u.selectedItem)},{default:p(()=>[a(P,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.$t(`skill.directory.install`)),1)]),_:1},8,[`loading`])):(v(),f(N,{key:4,disabled:``,title:u.selectedItem.license},{default:p(()=>[a(D,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.selectedItem.license||u.$t(`skill.directory.notInstallable`)),1)]),_:1},8,[`title`]))])]),e(`div`,_t,[e(`h2`,vt,`/`+i(u.selectedItem.slug),1),e(`div`,yt,[e(`span`,null,[e(`strong`,null,i(u.$t(`skill.meta.addedBy`))+`:`,1),r(` `+i(u.selectedItem.publisher),1)]),u.selectedItem.license?(v(),s(`span`,bt,[e(`strong`,null,i(u.$t(`skill.directory.license`))+`:`,1),r(` `+i(u.selectedItem.license),1)])):o(``,!0),u.selectedItem.version?(v(),s(`span`,xt,`v`+i(u.selectedItem.version),1)):o(``,!0),u.surfaceLabels(u.selectedItem)?(v(),s(`span`,{key:2,class:`directory-detail-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.$t(`skill.directory.surfaceOnly`,{platforms:u.surfaceLabels(u.selectedItem)})),9,St)):o(``,!0)]),e(`p`,Ct,i(u.selectedItem.description),1),a(F,{class:`directory-detail-content`,source:u.detailBody,sanitize:``},null,8,[`source`])])],64)):(v(),s(c,{key:0},[e(`header`,Xe,[a(C,{modelValue:u.searchQuery,"onUpdate:modelValue":h[0]||=e=>u.searchQuery=e,class:`directory-search`,size:`default`,clearable:``,placeholder:u.$t(`skill.directory.searchPlaceholder`),onInput:u.onSearchInput},{prefix:p(()=>[a(S,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`,`onInput`]),e(`div`,Ze,[a(T,{modelValue:u.namespaceFilter,"onUpdate:modelValue":h[1]||=e=>u.namespaceFilter=e,class:`directory-select`,placeholder:u.$t(`skill.directory.allPublishers`),clearable:``,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[(v(!0),s(c,null,g(u.namespaceOptions,e=>(v(),f(w,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`onChange`]),a(T,{modelValue:u.sortBy,"onUpdate:modelValue":h[2]||=e=>u.sortBy=e,class:`directory-select directory-select-sm`,size:`default`,onChange:u.reloadFromFirstPage},{default:p(()=>[a(w,{label:u.$t(`skill.directory.sort.popular`),value:`popular`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.recent`),value:`recent`},null,8,[`label`]),a(w,{label:u.$t(`skill.directory.sort.name`),value:`name`},null,8,[`label`])]),_:1},8,[`modelValue`,`onChange`])])]),d((v(),s(`div`,Qe,[!u.loading&&u.total===0?(v(),s(`p`,$e,i(u.$t(`skill.directory.empty`)),1)):(v(),s(`div`,et,[(v(!0),s(c,null,g(u.items,c=>(v(),s(`article`,{key:c.id,class:n([`directory-card`,{"is-installed":c.installed}]),onClick:e=>u.openDetail(c)},[e(`div`,nt,[e(`span`,rt,`/`+i(c.slug),1),c.installed?(v(),s(`span`,{key:0,class:`directory-card-action is-installed`,title:u.$t(`skill.directory.installed`)},[a(E,{size:16,"aria-hidden":`true`,focusable:`false`})],8,it)):c.installable&&!u.canInstallOnSurface(c)?(v(),s(`span`,{key:1,class:`directory-card-locked`,title:u.$t(`skill.directory.surfaceBlocked`,{platforms:u.surfaceLabels(c)})},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,at)):c.installable?(v(),s(`button`,{key:2,class:`directory-card-action`,"aria-label":u.$t(`skill.directory.install`),title:u.$t(`skill.directory.install`),onClick:t(e=>u.onInstall(c),[`stop`])},[a(O,{size:16,"aria-hidden":`true`,focusable:`false`})],8,ot)):(v(),s(`span`,{key:3,class:`directory-card-locked`,title:c.license},[a(D,{size:16,"aria-hidden":`true`,focusable:`false`})],8,st))]),e(`div`,ct,[e(`span`,lt,i(c.publisher),1),c.install_count>0?(v(),s(`span`,ut,[a(k,{size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(u.formatCount(c.install_count)),1)])):o(``,!0),u.surfaceLabels(c)?(v(),s(`span`,{key:1,class:`directory-card-surface`,title:u.$t(`skill.directory.surfaceHint`)},i(u.surfaceLabels(c)),9,dt)):o(``,!0)]),e(`p`,ft,i(c.description),1)],10,tt))),128))]))])),[[L,u.loading]]),u.total>u.pageSize?(v(),s(`footer`,pt,[a(A,{"current-page":u.currentPage,"page-size":u.pageSize,total:u.total,"pager-count":5,background:``,layout:`prev, pager, next, total`,onCurrentChange:u.onPageChange},null,8,[`current-page`,`page-size`,`total`,`onCurrentChange`])])):o(``,!0)],64))])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`show-close`,`onOpen`])}var Tt=K(qe,[[`render`,wt],[`__scopeId`,`data-v-a9be2dc3`]]);Y.registerLanguage(`bash`,Ae),Y.registerLanguage(`css`,Me),Y.registerLanguage(`go`,ke),Y.registerLanguage(`javascript`,Se),Y.registerLanguage(`json`,Te),Y.registerLanguage(`markdown`,we),Y.registerLanguage(`python`,Pe),Y.registerLanguage(`rust`,Ee),Y.registerLanguage(`shell`,De),Y.registerLanguage(`sql`,je),Y.registerLanguage(`typescript`,Oe),Y.registerLanguage(`xml`,Ne),Y.registerLanguage(`html`,Ne),Y.registerLanguage(`yaml`,Ce),Y.registerAliases([`yml`],{languageName:`yaml`}),Y.registerAliases([`ts`,`tsx`],{languageName:`typescript`}),Y.registerAliases([`js`,`jsx`],{languageName:`javascript`}),Y.registerAliases([`py`],{languageName:`python`}),Y.registerAliases([`rs`],{languageName:`rust`}),Y.registerAliases([`sh`,`zsh`],{languageName:`bash`});var $=1e6;function Et(e,t){let n=(e.split(`.`).pop()||``).toLowerCase();return n===`md`||t.startsWith(`text/markdown`)?`markdown`:n===`html`||n===`htm`||t.startsWith(`text/html`)?`html`:t.startsWith(`image/`)||[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`].includes(n)?`image`:t.startsWith(`text/`)||[`json`,`application/json`].includes(t.split(`;`)[0])?n?`code`:`text`:`binary`}function Dt(e){let t=(e.split(`.`).pop()||``).toLowerCase();return Y.getLanguage(t)?t:`plain`}var Ot=y({name:`SkillFilePreview`,components:{ElButton:G,ElTooltip:w,ElTabs:S,ElTabPane:C,CodeIcon:te,CopyIcon:R,FileIcon:z,SaveIcon:Ve,ViewIcon:re,WarningIcon:de,VueMarkdown:Ie},directives:{loading:H},props:{skillId:{type:String,required:!0},path:{type:String,required:!0},editable:{type:Boolean,default:!1}},emits:[`save`],data(){return{MAX_PREVIEW_BYTES:$,loading:!1,error:``,contentType:``,size:0,textContent:``,imageUrl:``,truncated:!1,viewMode:`rendered`,dirty:!1,saving:!1}},computed:{kind(){return this.path?Et(this.path,this.contentType):`text`},canRender(){return this.kind===`markdown`||this.kind===`html`},hljsLang(){return`language-${Dt(this.path)}`},truncatedText(){return this.textContent}},watch:{path:{handler(){this.fetch()},immediate:!0}},beforeUnmount(){this.imageUrl&&URL.revokeObjectURL(this.imageUrl)},methods:{humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},async fetch(){if(this.path){this.loading=!0,this.error=``,this.textContent=``,this.truncated=!1,this.dirty=!1,this.imageUrl&&=(URL.revokeObjectURL(this.imageUrl),``);try{let{blob:e,contentType:t}=await Z.fetchFile(this.skillId,this.path);this.contentType=t,this.size=e.size;let n=Et(this.path,t);if(n===`image`)this.imageUrl=URL.createObjectURL(e);else if(n!==`binary`){let t=await e.text();t.length>$&&(t=t.slice(0,$),this.truncated=!0),this.textContent=t,this.viewMode=n===`markdown`||n===`html`?`rendered`:`source`}}catch(e){let t=e,n=t?.response?.status,r=t?.response?.data?.detail||String(e);this.error=n?`(${n}) ${r}`:r}finally{this.loading=!1,this.$nextTick(()=>this.applyHighlight())}}},applyHighlight(){let e=this.$refs.codeEl;e&&this.kind===`code`&&this.viewMode!==`rendered`&&(delete e.dataset.highlighted,Y.highlightElement(e))},async onCopy(){if(this.textContent)try{await navigator.clipboard.writeText(this.textContent),T.success(this.$t(`skill.preview.copied`))}catch{T.error(this.$t(`skill.preview.copyFailed`))}},async onSave(){this.saving=!0;try{await new Promise((e,t)=>{this.$emit(`save`,this.textContent,{resolve:e,reject:t})}),this.dirty=!1}catch{}finally{this.saving=!1}}}}),kt={class:`preview-root`},At={class:`toolbar`},jt={class:`path-display`},Mt={key:0,class:`size-display`},Nt={class:`body`},Pt={key:0,class:`error`},Ft=[`srcdoc`],It={key:3,class:`image-pane`},Lt=[`src`,`alt`],Rt={key:4,class:`binary`},zt=[`placeholder`],Bt={key:6,class:`source-pane`},Vt={key:7,class:`truncated-warning`};function Ht(t,c,h,g,_,y){let b=l(`save-icon`),x=l(`el-button`),S=l(`copy-icon`),C=l(`el-tooltip`),w=l(`view-icon`),T=l(`el-tab-pane`),E=l(`code-icon`),D=l(`el-tabs`),O=l(`warning-icon`),k=l(`vue-markdown`),A=l(`file-icon`),j=m(`loading`);return d((v(),s(`div`,kt,[e(`div`,At,[e(`span`,jt,i(t.path||`—`),1),t.size?(v(),s(`span`,Mt,i(t.humanSize(t.size)),1)):o(``,!0),c[3]||=e(`span`,{class:`toolbar-spacer`},null,-1),t.editable?(v(),f(x,{key:1,type:`primary`,size:`small`,disabled:!t.dirty||t.saving,loading:t.saving,onClick:t.onSave},{default:p(()=>[a(b,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.save`)),1)]),_:1},8,[`disabled`,`loading`,`onClick`])):o(``,!0),a(C,{content:t.$t(`skill.preview.copy`),placement:`bottom`},{default:p(()=>[a(x,{size:`small`,circle:``,disabled:!t.textContent,"aria-label":t.$t(`skill.preview.copy`),title:t.$t(`skill.preview.copy`),onClick:t.onCopy},{default:p(()=>[a(S,{size:16,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]),_:1},8,[`content`])]),t.canRender?(v(),f(D,{key:0,modelValue:t.viewMode,"onUpdate:modelValue":c[0]||=e=>t.viewMode=e,class:`view-tabs`},{default:p(()=>[a(T,{name:`rendered`},{label:p(()=>[a(w,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewRendered`)),1)]),_:1}),a(T,{name:`source`},{label:p(()=>[a(E,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.preview.viewSource`)),1)]),_:1})]),_:1},8,[`modelValue`])):o(``,!0),e(`div`,Nt,[t.error?(v(),s(`div`,Pt,[a(O,{class:`mr-2`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.error),1)])):t.kind===`markdown`&&t.viewMode===`rendered`?(v(),f(k,{key:1,class:`markdown-rendered`,source:t.textContent,sanitize:``},null,8,[`source`])):t.kind===`html`&&t.viewMode===`rendered`?(v(),s(`iframe`,{key:2,ref:`htmlFrame`,class:`html-frame`,sandbox:``,srcdoc:t.textContent},null,8,Ft)):t.kind===`image`?(v(),s(`div`,It,[e(`img`,{src:t.imageUrl,alt:t.path,class:`image-content`},null,8,Lt)])):t.kind===`binary`?(v(),s(`div`,Rt,[a(A,{class:`binary-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.binary`,{type:t.contentType})),1)])):t.editable?d((v(),s(`textarea`,{key:5,"onUpdate:modelValue":c[1]||=e=>t.textContent=e,class:`source-editor`,spellcheck:`false`,placeholder:t.$t(`skill.placeholder.content`),onInput:c[2]||=e=>t.dirty=!0},null,40,zt)),[[u,t.textContent]]):(v(),s(`pre`,Bt,[e(`code`,{ref:`codeEl`,class:n(t.hljsLang)},i(t.truncatedText),3)])),t.truncated?(v(),s(`p`,Vt,i(t.$t(`skill.preview.truncated`,{size:t.humanSize(t.MAX_PREVIEW_BYTES)})),1)):o(``,!0)])])),[[j,t.loading]])}var Ut=K(Ot,[[`render`,Ht],[`__scopeId`,`data-v-ec0a447e`]]),Wt=new Set([`py`,`ts`,`tsx`,`js`,`jsx`,`json`,`yaml`,`yml`,`sh`,`bash`,`zsh`,`css`,`html`,`sql`,`go`,`rs`,`rb`,`java`,`cpp`,`c`,`h`,`toml`]),Gt=new Set([`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`]);function Kt(e){let t=e.split(`/`).pop()||e,n=(t.split(`.`).pop()||``).toLowerCase();return t===`SKILL.md`?N:n===`md`?ie:Gt.has(n)?ae:Wt.has(n)?Be:z}function qt(e){let t=new Map;t.set(``,new Map);let n=(e,n)=>{let r=t.get(e);r||(r=new Map,t.set(e,r));let i=e?`${e}/${n}`:n,a=r.get(n);return a||(a={label:n,path:i,isLeaf:!1,children:[]},r.set(n,a),t.set(i,new Map)),a};for(let r of e){let e=r.split(`/`).filter(Boolean);if(e.length===0)continue;let i=e[e.length-1],a=e.slice(0,-1),o=``;for(let e of a)o=n(o,e).path;let s={label:i,path:r,isLeaf:!0},c=t.get(o);c||(c=new Map,t.set(o,c)),c.set(i,s)}let r=e=>{let n=t.get(e);if(!n)return[];let i=Array.from(n.values());for(let e of i)e.isLeaf||(e.children=r(e.path));return i.sort((e,t)=>e.path===`SKILL.md`?-1:t.path===`SKILL.md`?1:e.isLeaf===t.isLeaf?e.label.localeCompare(t.label):e.isLeaf?1:-1)};return r(``)}var Jt=y({name:`FileNode`,components:{ExpandDownIcon:P,ExpandRightIcon:F,FontAwesomeIcon:Fe},props:{node:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},skill:{type:Object,required:!0},depth:{type:Number,default:1}},emits:[`select-file`],data(){return{open:!0}},computed:{indent(){return 8+this.depth*16},isActive(){return this.node.isLeaf&&this.selectedSkillId===this.skill.id&&this.selectedPath===this.node.path}},methods:{isHtmlFile(e){return e.isLeaf&&e.path.toLowerCase().endsWith(`.html`)},iconFor(e){return e.isLeaf?Kt(e.path):B},onClick(){this.node.isLeaf?this.$emit(`select-file`,this.node.path):this.open=!this.open}}}),Yt=[`aria-label`,`title`],Xt={key:1,class:`node-chevron-spacer`},Zt={class:`node-label`},Qt={key:0,class:`children`};function $t(r,a,u,d,p,m){let y=l(`expand-down-icon`),b=l(`expand-right-icon`),x=l(`font-awesome-icon`),S=l(`file-node`,!0);return v(),s(`li`,null,[e(`div`,{class:n([`file-node`,{active:r.isActive}]),style:h({paddingLeft:r.indent+`px`}),onClick:a[1]||=(...e)=>r.onClick&&r.onClick(...e)},[r.node.isLeaf?(v(),s(`span`,Xt)):(v(),s(`button`,{key:0,class:`node-chevron`,"aria-label":r.$t(r.open?`common.button.collapse`:`common.button.expand`),title:r.$t(r.open?`common.button.collapse`:`common.button.expand`),onClick:a[0]||=t(e=>r.open=!r.open,[`stop`])},[r.open?(v(),f(y,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(b,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,Yt)),r.isHtmlFile(r.node)?(v(),f(x,{key:2,icon:`fa-brands fa-html5`,class:`node-icon`})):(v(),f(_(r.iconFor(r.node)),{key:3,class:`node-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`})),e(`span`,Zt,i(r.node.label),1)],6),!r.node.isLeaf&&r.open?(v(),s(`ul`,Qt,[(v(!0),s(c,null,g(r.node.children||[],e=>(v(),f(S,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:r.depth+1,onSelectFile:a[2]||=e=>r.$emit(`select-file`,e)},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`depth`]))),128))])):o(``,!0)])}var en=y({name:`SkillRow`,components:{ExpandDownIcon:P,ExpandRightIcon:F,SkillIcon:se,FileNode:K(Jt,[[`render`,$t],[`__scopeId`,`data-v-5240087b`]])},props:{skill:{type:Object,required:!0},selectedSkillId:{type:String,required:!0},selectedPath:{type:String,required:!0},expanded:{type:Boolean,default:!1}},emits:[`toggle-expand`,`select-skill`,`select-file`],computed:{tree(){return qt(this.skill.asset_bundle_files)},hasChildren(){return this.skill.asset_bundle_files.length>1},isSkillSelected(){return this.selectedSkillId===this.skill.id&&!this.selectedPath}},methods:{onSelectFile(e){this.$emit(`select-file`,this.skill,e)}}}),tn={class:`skill-row-wrapper`},nn=[`aria-label`,`title`],rn={key:1,class:`row-chevron-spacer`},an=[`title`],on={key:0,class:`file-list`};function sn(r,u,d,p,m,h){let _=l(`expand-down-icon`),y=l(`expand-right-icon`),b=l(`skill-icon`),x=l(`file-node`);return v(),s(`li`,tn,[e(`div`,{class:n([`skill-row`,{active:r.isSkillSelected}]),onClick:u[1]||=e=>r.$emit(`select-skill`,r.skill)},[r.hasChildren?(v(),s(`button`,{key:0,class:`row-chevron`,"aria-label":r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),title:r.$t(r.expanded?`common.button.collapse`:`common.button.expand`),onClick:u[0]||=t(e=>r.$emit(`toggle-expand`,r.skill),[`stop`])},[r.expanded?(v(),f(_,{key:0,size:14,"aria-hidden":`true`,focusable:`false`})):(v(),f(y,{key:1,size:14,"aria-hidden":`true`,focusable:`false`}))],8,nn)):(v(),s(`span`,rn)),a(b,{class:`row-icon`,size:16,"aria-hidden":`true`,focusable:`false`}),e(`span`,{class:`row-label`,title:r.skill.name},i(r.skill.slug),9,an)],2),r.expanded&&r.hasChildren?(v(),s(`ul`,on,[(v(!0),s(c,null,g(r.tree,e=>(v(),f(x,{key:e.path,node:e,"selected-skill-id":r.selectedSkillId,"selected-path":r.selectedPath,skill:r.skill,depth:1,onSelectFile:r.onSelectFile},null,8,[`node`,`selected-skill-id`,`selected-path`,`skill`,`onSelectFile`]))),128))])):o(``,!0)])}var cn=K(en,[[`render`,sn],[`__scopeId`,`data-v-231c2ce1`]]),ln=10*1024*1024,un=/\.(tar\.gz|tgz|tar|zip|md)$/i,dn=y({name:`UploadSkillDialog`,components:{ElDialog:U,ElButton:G,AddFileIcon:He,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{file:null,isDragging:!1,uploading:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.uploading||this.$emit(`update:modelValue`,!1)},reset(){this.file=null,this.isDragging=!1;let e=this.$refs.fileInput;e&&(e.value=``)},humanSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`},onPickFile(){this.uploading||this.$refs.fileInput?.click()},onFilePicked(e){let t=e.target.files?.[0]||null;this.acceptFile(t)},onDrop(e){this.isDragging=!1;let t=e.dataTransfer?.files?.[0]||null;this.acceptFile(t)},acceptFile(e){if(!e){this.file=null;return}if(e.size>ln){T.error(this.$t(`skill.message.fileTooLarge`));return}if(!un.test(e.name)){T.error(this.$t(`skill.message.fileTypeWrong`));return}this.file=e},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.file){this.uploading=!0;try{if(/\.md$/i.test(this.file.name)){let e=await this.file.text(),{data:t}=await Z.createMarkdown({content:e});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,t.id)}else{let{data:e}=await Z.createTarball(this.file);T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id)}this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.uploading=!1}}}}}),fn={key:0,class:`dropzone-hint`},pn={key:1,class:`dropzone-file`},mn={class:`dropzone-file-name`},hn={class:`dropzone-file-size`},gn={class:`requirements`},_n={class:`requirements-title`};function vn(o,c,u,d,m,h){let g=l(`add-file-icon`),_=l(`el-button`),y=l(`cloud-upload-icon`),b=l(`el-dialog`);return v(),f(b,{"model-value":o.modelValue,title:o.$t(`skill.dialog.uploadTitle`),width:`min(520px, 94vw)`,"align-center":``,"close-on-click-modal":!o.uploading,"close-on-press-escape":!o.uploading,"show-close":!o.uploading,"onUpdate:modelValue":o.onVisibleChange,onClosed:o.reset},{footer:p(()=>[a(_,{disabled:o.uploading,onClick:o.onClose},{default:p(()=>[r(i(o.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(_,{type:`primary`,loading:o.uploading,disabled:!o.file,onClick:o.onSubmit},{default:p(()=>[a(y,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(o.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`input`,{ref:`fileInput`,type:`file`,accept:`.tar.gz,.tgz,.tar,.zip,.md,application/gzip,application/zip,application/x-tar,text/markdown`,hidden:``,onChange:c[0]||=(...e)=>o.onFilePicked&&o.onFilePicked(...e)},null,544),e(`div`,{class:n([`dropzone`,{"is-dragging":o.isDragging,"has-file":!!o.file}]),onClick:c[1]||=(...e)=>o.onPickFile&&o.onPickFile(...e),onDragover:c[2]||=t(e=>o.isDragging=!0,[`prevent`]),onDragleave:c[3]||=t(e=>o.isDragging=!1,[`prevent`]),onDrop:c[4]||=t((...e)=>o.onDrop&&o.onDrop(...e),[`prevent`])},[a(g,{class:`dropzone-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),o.file?(v(),s(`p`,pn,[e(`span`,mn,i(o.file.name),1),e(`span`,hn,i(o.humanSize(o.file.size)),1)])):(v(),s(`p`,fn,i(o.$t(`skill.dialog.uploadDrop`)),1))],34),e(`div`,gn,[e(`p`,_n,i(o.$t(`skill.dialog.fileRequirements`)),1),e(`ul`,null,[e(`li`,null,i(o.$t(`skill.dialog.requirementMd`)),1),e(`li`,null,i(o.$t(`skill.dialog.requirementArchive`)),1)])])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var yn=K(dn,[[`render`,vn],[`__scopeId`,`data-v-01ead824`]]),bn=y({name:`WriteSkillDialog`,components:{ElDialog:U,ElButton:G,ElInput:q,CloudUploadIcon:ze},props:{modelValue:{type:Boolean,default:!1}},emits:[`update:modelValue`,`created`],data(){return{content:``,saving:!1}},methods:{onVisibleChange(e){this.$emit(`update:modelValue`,e)},onClose(){this.saving||this.$emit(`update:modelValue`,!1)},reset(){this.content=``},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},async onSubmit(){if(this.content.trim()){this.saving=!0;try{let{data:e}=await Z.createMarkdown({content:this.content});T.success(this.$t(`skill.message.createSuccess`)),this.$emit(`created`,e.id),this.$emit(`update:modelValue`,!1)}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)}))}finally{this.saving=!1}}}}}),xn={class:`hint`};function Sn(t,n,o,s,c,u){let d=l(`el-input`),m=l(`el-button`),h=l(`cloud-upload-icon`),g=l(`el-dialog`);return v(),f(g,{"model-value":t.modelValue,title:t.$t(`skill.dialog.writeTitle`),width:`min(720px, 94vw)`,"align-center":``,"close-on-click-modal":!t.saving,"close-on-press-escape":!t.saving,"show-close":!t.saving,"onUpdate:modelValue":t.onVisibleChange,onClosed:t.reset},{footer:p(()=>[a(m,{disabled:t.saving,onClick:t.onClose},{default:p(()=>[r(i(t.$t(`skill.button.cancel`)),1)]),_:1},8,[`disabled`,`onClick`]),a(m,{type:`primary`,loading:t.saving,disabled:!t.content.trim(),onClick:t.onSubmit},{default:p(()=>[a(h,{class:`mr-1`,size:16,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.create`)),1)]),_:1},8,[`loading`,`disabled`,`onClick`])]),default:p(()=>[e(`p`,xn,i(t.$t(`skill.dialog.writeHint`)),1),a(d,{modelValue:t.content,"onUpdate:modelValue":n[0]||=e=>t.content=e,type:`textarea`,rows:18,placeholder:t.$t(`skill.placeholder.content`),spellcheck:`false`,class:`editor`},null,8,[`modelValue`,`placeholder`])]),_:1},8,[`model-value`,`title`,`close-on-click-modal`,`close-on-press-escape`,`show-close`,`onUpdate:modelValue`,`onClosed`])}var Cn=y({name:`UserSkills`,components:{ConsolePageHeader:Le,ElInput:q,ElSwitch:A,ElTag:me,ElTooltip:w,ElDropdown:O,ElDropdownMenu:D,ElDropdownItem:E,AddIcon:V,AiCreateIcon:pe,DeleteIcon:ue,ExpandDownIcon:P,ExpandRightIcon:F,HelpIcon:L,MarketplaceIcon:ce,MoreIcon:ne,SearchIcon:le,SkillIcon:se,UploadIcon:fe,WriteIcon:ee,BrowseSkillsDialog:Tt,SkillFilePreview:Ut,SkillRow:cn,UploadSkillDialog:yn,WriteSkillDialog:K(bn,[[`render`,Sn],[`__scopeId`,`data-v-f39aab5d`]])},directives:{loading:H},data(){return{loading:!1,skills:[],togglingId:null,selectedSkillId:``,selectedPath:``,expandedSkillIds:[],personalOpen:!0,globalsOpen:!0,searchQuery:``,uploadVisible:!1,writeVisible:!1,browseVisible:!1}},computed:{personalSkills(){return this.skills.filter(e=>e.source!==`global`)},globalSkills(){return this.skills.filter(e=>e.source===`global`)},filteredPersonal(){return this.applyFilter(this.personalSkills)},filteredGlobal(){return this.applyFilter(this.globalSkills)},selectedSkill(){return this.skills.find(e=>e.id===this.selectedSkillId)||null}},mounted(){this.fetchSkills()},methods:{applyFilter(e){let t=this.searchQuery.trim().toLowerCase();return t?e.filter(e=>e.slug.toLowerCase().includes(t)||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)):e},async fetchSkills(){this.loading=!0;try{let{data:e}=await Z.list();if(this.skills=e||[],!this.selectedSkillId&&this.skills.length){let e=this.personalSkills[0]||this.skills[0];this.selectedSkillId=e.id}else this.selectedSkillId&&!this.skills.find(e=>e.id===this.selectedSkillId)&&(this.selectedSkillId=``,this.selectedPath=``)}catch(e){console.error(e),T.error(this.$t(`skill.message.loadFailed`))}finally{this.loading=!1}},extractError(e){let t=e;return t?.response?.data?.detail||(t?.response?.data?.content||[]).join(`; `)||String(e)||`unknown error`},selectSkill(e){this.selectedSkillId=e.id,this.selectedPath=``},selectFile(e,t){this.selectedSkillId=e.id,this.selectedPath=t},toggleExpand(e){let t=this.expandedSkillIds.indexOf(e.id);t>=0?this.expandedSkillIds.splice(t,1):this.expandedSkillIds.push(e.id)},openUpload(){this.uploadVisible=!0},openWrite(){this.writeVisible=!0},onBrowse(){this.browseVisible=!0},async onCreated(e){await this.fetchSkills();let t=this.skills.find(t=>t.id===e);t&&(this.selectedSkillId=t.id,this.selectedPath=``,this.personalOpen=!0)},async onSaveContent(e,t){if(!this.selectedSkill){t.reject();return}try{let{data:n}=await Z.update(this.selectedSkill.id,{content:e});T.success(this.$t(`skill.message.updateSuccess`));let r=this.skills.findIndex(e=>e.id===n.id);r>=0&&this.skills.splice(r,1,n),t.resolve()}catch(e){T.error(this.$t(`skill.message.createFailed`,{detail:this.extractError(e)})),t.reject(e)}},async onDelete(e){try{await he.confirm(this.$t(`skill.message.deleteConfirm`,{slug:e.slug}),this.$t(`skill.button.delete`),{type:`warning`})}catch{return}try{await Z.remove(e.id),T.success(this.$t(`skill.message.deleteSuccess`)),this.selectedSkillId===e.id&&(this.selectedSkillId=``,this.selectedPath=``),await this.fetchSkills()}catch(e){T.error(this.extractError(e))}},async onToggleSkill(e,t){this.togglingId=e.id;try{t?(await Z.enable(e.id),T.success(this.$t(`skill.message.enableSuccess`))):(await Z.disable(e.id),T.success(this.$t(`skill.message.disableSuccess`))),e.enabled=t}catch(e){T.error(this.extractError(e))}finally{this.togglingId=null}}}}),wn={class:`skills-page`},Tn={class:`skills-shell`},En={class:`left-pane`},Dn={class:`left-header`},On=[`aria-label`,`title`],kn={class:`submenu-trigger`},An={class:`badge-soon`},jn={class:`left-body`},Mn={class:`section`},Nn={key:0,class:`skill-list`},Pn={key:0,class:`empty-row`},Fn={key:0,class:`section`},In={key:0,class:`skill-list`},Ln={class:`right-pane`},Rn={class:`right-header`},zn={class:`right-title`},Bn={class:`right-actions`},Vn=[`aria-label`,`title`],Hn={class:`meta-card`},Un={class:`meta-grid`},Wn={class:`meta-cell`},Gn={class:`meta-label`},Kn={class:`meta-value`},qn={class:`meta-cell`},Jn={class:`meta-label`},Yn={class:`meta-value`},Xn={key:0,class:`meta-cell`},Zn={class:`meta-label`},Qn={class:`meta-tags`},$n={key:0,class:`meta-description`},er={class:`meta-description-label`},tr={class:`meta-label`},nr={class:`preview-card`},rr={key:2,class:`right-empty`};function ir(t,n,u,h,_,y){let b=l(`console-page-header`),x=l(`search-icon`),S=l(`el-input`),C=l(`add-icon`),w=l(`marketplace-icon`),T=l(`el-dropdown-item`),E=l(`expand-right-icon`),D=l(`ai-create-icon`),O=l(`write-icon`),k=l(`upload-icon`),A=l(`el-dropdown-menu`),j=l(`el-dropdown`),M=l(`expand-down-icon`),N=l(`skill-row`),P=l(`el-switch`),F=l(`more-icon`),I=l(`delete-icon`),L=l(`el-tag`),ee=l(`help-icon`),te=l(`el-tooltip`),R=l(`skill-file-preview`),ne=l(`skill-icon`),re=l(`upload-skill-dialog`),ie=l(`write-skill-dialog`),z=l(`browse-skills-dialog`),B=m(`loading`);return v(),s(`div`,wn,[a(b,{title:t.$t(`skill.title.skills`),subtitle:t.$t(`skill.message.pageDescription`)},null,8,[`title`,`subtitle`]),e(`div`,Tn,[e(`aside`,En,[e(`header`,Dn,[a(S,{modelValue:t.searchQuery,"onUpdate:modelValue":n[0]||=e=>t.searchQuery=e,class:`search-input`,size:`default`,clearable:``,placeholder:t.$t(`skill.placeholder.search`)},{prefix:p(()=>[a(x,{size:14,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`modelValue`,`placeholder`]),a(j,{trigger:`click`,placement:`bottom-end`,"hide-on-click":!1},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{onClick:t.onBrowse},{default:p(()=>[a(w,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.browse`)),1)]),_:1},8,[`onClick`]),a(T,{divided:``},{default:p(()=>[a(j,{trigger:`hover`,placement:`left-start`,"hide-on-click":!0},{dropdown:p(()=>[a(A,{class:`add-menu`},{default:p(()=>[a(T,{disabled:``},{default:p(()=>[a(D,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.createWithClaude`))+` `,1),e(`span`,An,i(t.$t(`skill.menu.soon`)),1)]),_:1}),a(T,{onClick:t.openWrite},{default:p(()=>[a(O,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.write`)),1)]),_:1},8,[`onClick`]),a(T,{onClick:t.openUpload},{default:p(()=>[a(k,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.upload`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:p(()=>[e(`span`,kn,[a(C,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.menu.create`))+` `,1),a(E,{class:`submenu-arrow`,size:14,"aria-hidden":`true`,focusable:`false`})])]),_:1})]),_:1})]),_:1})]),default:p(()=>[e(`button`,{type:`button`,class:`add-button`,"aria-label":t.$t(`skill.button.add`),title:t.$t(`skill.button.add`)},[a(C,{size:16,"aria-hidden":`true`,focusable:`false`})],8,On)]),_:1})]),d((v(),s(`div`,jn,[e(`section`,Mn,[e(`button`,{class:`section-header`,onClick:n[1]||=e=>t.personalOpen=!t.personalOpen},[t.personalOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.personal`)),1)]),t.personalOpen?(v(),s(`ul`,Nn,[!t.loading&&t.filteredPersonal.length===0?(v(),s(`li`,Pn,i(t.searchQuery?t.$t(`skill.empty.search`):t.$t(`skill.message.noSkills`)),1)):o(``,!0),(v(!0),s(c,null,g(t.filteredPersonal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)]),t.globalSkills.length>0?(v(),s(`section`,Fn,[e(`button`,{class:`section-header`,onClick:n[2]||=e=>t.globalsOpen=!t.globalsOpen},[t.globalsOpen?(v(),f(M,{key:0,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})):(v(),f(E,{key:1,class:`section-chevron`,size:12,"aria-hidden":`true`,focusable:`false`})),e(`span`,null,i(t.$t(`skill.section.platform`)),1)]),t.globalsOpen?(v(),s(`ul`,In,[(v(!0),s(c,null,g(t.filteredGlobal,e=>(v(),f(N,{key:e.id,skill:e,"selected-skill-id":t.selectedSkillId,"selected-path":t.selectedPath,expanded:t.expandedSkillIds.includes(e.id),onToggleExpand:t.toggleExpand,onSelectSkill:t.selectSkill,onSelectFile:t.selectFile},null,8,[`skill`,`selected-skill-id`,`selected-path`,`expanded`,`onToggleExpand`,`onSelectSkill`,`onSelectFile`]))),128))])):o(``,!0)])):o(``,!0)])),[[B,t.loading]])]),e(`main`,Ln,[t.selectedSkill&&!t.selectedPath?(v(),s(c,{key:0},[e(`header`,Rn,[e(`h3`,zn,i(t.selectedSkill.slug),1),e(`div`,Bn,[a(P,{"model-value":t.selectedSkill.enabled,size:`default`,loading:t.togglingId===t.selectedSkill.id,onChange:n[3]||=e=>t.onToggleSkill(t.selectedSkill,!!e)},null,8,[`model-value`,`loading`]),t.selectedSkill.source===`global`?o(``,!0):(v(),f(j,{key:0,trigger:`click`,placement:`bottom-end`},{dropdown:p(()=>[a(A,null,{default:p(()=>[a(T,{onClick:n[4]||=e=>t.onDelete(t.selectedSkill)},{default:p(()=>[a(I,{class:`menu-icon`,size:14,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`skill.button.delete`)),1)]),_:1})]),_:1})]),default:p(()=>[e(`button`,{class:`icon-btn`,"aria-label":t.$t(`skill.button.more`),title:t.$t(`skill.button.more`)},[a(F,{size:16,"aria-hidden":`true`,focusable:`false`})],8,Vn)]),_:1}))])]),e(`div`,Hn,[e(`div`,Un,[e(`div`,Wn,[e(`span`,Gn,i(t.$t(`skill.meta.addedBy`)),1),e(`span`,Kn,i(t.selectedSkill.source===`global`?t.$t(`skill.meta.platform`):t.$t(`skill.meta.you`)),1)]),e(`div`,qn,[e(`span`,Jn,i(t.$t(`skill.meta.lastUpdated`)),1),e(`span`,Yn,i(t.$dayjs.format(t.selectedSkill.updated_at)),1)]),t.selectedSkill.required_connections.length?(v(),s(`div`,Xn,[e(`span`,Zn,i(t.$t(`skill.field.requiredConnections`)),1),e(`div`,Qn,[(v(!0),s(c,null,g(t.selectedSkill.required_connections,e=>(v(),f(L,{key:e,size:`small`,type:`info`},{default:p(()=>[r(i(e),1)]),_:2},1024))),128))])])):o(``,!0)]),t.selectedSkill.description?(v(),s(`div`,$n,[e(`div`,er,[e(`span`,tr,i(t.$t(`skill.field.description`)),1),t.selectedSkill.when_to_use?(v(),f(te,{key:0,content:t.selectedSkill.when_to_use,placement:`top`},{default:p(()=>[a(ee,{class:`meta-info-icon`,size:12,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`content`])):o(``,!0)]),e(`p`,null,i(t.selectedSkill.description),1)])):o(``,!0)]),e(`div`,nr,[(v(),f(R,{key:`${t.selectedSkill.id}:SKILL.md`,"skill-id":t.selectedSkill.id,path:`SKILL.md`,editable:t.selectedSkill.source===`upload`,onSave:t.onSaveContent},null,8,[`skill-id`,`editable`,`onSave`]))])],64)):t.selectedSkill&&t.selectedPath?(v(),f(R,{key:`${t.selectedSkill.id}:${t.selectedPath}`,"skill-id":t.selectedSkill.id,path:t.selectedPath,editable:!1},null,8,[`skill-id`,`path`])):(v(),s(`div`,rr,[a(ne,{class:`right-empty-icon`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,null,i(t.$t(`skill.preview.selectSkill`)),1)]))])]),a(re,{modelValue:t.uploadVisible,"onUpdate:modelValue":n[5]||=e=>t.uploadVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(ie,{modelValue:t.writeVisible,"onUpdate:modelValue":n[6]||=e=>t.writeVisible=e,onCreated:t.onCreated},null,8,[`modelValue`,`onCreated`]),a(z,{modelValue:t.browseVisible,"onUpdate:modelValue":n[7]||=e=>t.browseVisible=e,onInstalled:t.onCreated},null,8,[`modelValue`,`onInstalled`])])}var ar=K(Cn,[[`render`,ir],[`__scopeId`,`data-v-e3209347`]]);export{ar as default};