@acedatacloud/nexior 3.329.5 → 3.329.7

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 (206) hide show
  1. package/dist/assets/{ApiCodeButton-CiHpiC0y.js → ApiCodeButton-CIZVl_Ji.js} +1 -1
  2. package/dist/assets/{Artifacts-BMd3-Up9.js → Artifacts-CUztkpPS.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-D3FATKin.js → AskUserQuestionCard-BKLAAAgR.js} +1 -1
  4. package/dist/assets/{AudioPreview-B7mdNL7m.js → AudioPreview-Bv3q6k2Y.js} +1 -1
  5. package/dist/assets/{Auth-BwKHVevR.js → Auth-BZAbRImq.js} +1 -1
  6. package/dist/assets/{Bare-B2MpxJdO.js → Bare-fhqdPI8n.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-B2wfCP7Q.js → BotPlaceholder-C0JcSHUl.js} +1 -1
  8. package/dist/assets/{BottomFooter-BYbi7BFA.js → BottomFooter-BVwOCx7j.js} +1 -1
  9. package/dist/assets/{Callback-CyBv1QgF.js → Callback-BILcDl2e.js} +1 -1
  10. package/dist/assets/{CodeSnippet-CYsKOtu4.js → CodeSnippet-CK5YyJP-.js} +1 -1
  11. package/dist/assets/{Console-DlH4yVNg.js → Console-BwEEDuZ-.js} +1 -1
  12. package/dist/assets/{Consumption-CUZXyVRW.js → Consumption-Ch5HMFpz.js} +1 -1
  13. package/dist/assets/{Conversation-CEaB76nH.js → Conversation-Bgd8grYe.js} +1 -1
  14. package/dist/assets/Conversation-DNHLRzdv.js +1 -0
  15. package/dist/assets/{CopyToClipboard-BqrKLwb1.js → CopyToClipboard-BMEfxCmj.js} +1 -1
  16. package/dist/assets/{Detail-BoMF__cu.js → Detail-DqhJm30e.js} +2 -2
  17. package/dist/assets/{Extra-DrLvDkEB.js → Extra-BADCjoGD.js} +1 -1
  18. package/dist/assets/{FilePreview-DpOjffNW.js → FilePreview-BTanYYvO.js} +1 -1
  19. package/dist/assets/{Hailuo-Bwuj80_A.js → Hailuo-d_y89ox1.js} +1 -1
  20. package/dist/assets/{History-wid6GiQF.js → History-Beqi3goO.js} +1 -1
  21. package/dist/assets/{ImagePreview-CYla3-cO.js → ImagePreview-CNxViZwo.js} +1 -1
  22. package/dist/assets/{ImageWrapper-DTf8NYAf.js → ImageWrapper-CJyR2Q99.js} +1 -1
  23. package/dist/assets/{Index-aHtB2lFE.js → Index-1kL-lgAl.js} +1 -1
  24. package/dist/assets/{Index-BHThbaZB.js → Index-7jfj0TRU.js} +1 -1
  25. package/dist/assets/Index-B50epJt4.css +1 -0
  26. package/dist/assets/{Index-Tat2SEKo.js → Index-BCKgePUI.js} +1 -1
  27. package/dist/assets/{Index-B4CtxvDd.js → Index-BEcGsOEg.js} +1 -1
  28. package/dist/assets/{Index-BO5MKUCp.js → Index-BRgVdyJ9.js} +1 -1
  29. package/dist/assets/{Index-1pN3qUoj.js → Index-C-8H8X0e.js} +1 -1
  30. package/dist/assets/{Index-COi-sth3.js → Index-C3Huj-N8.js} +1 -1
  31. package/dist/assets/{Index-BdCmSUYk.js → Index-C8a-NKnm.js} +1 -1
  32. package/dist/assets/{Index-D24bny8Q.js → Index-CC7EGHC-.js} +1 -1
  33. package/dist/assets/{Index-BB9hDrPE.js → Index-CJiqh3rr.js} +2 -2
  34. package/dist/assets/{Index-KZMMpRcT.js → Index-CNsFM8IK.js} +1 -1
  35. package/dist/assets/{Index-BYr2fi5J.js → Index-C_frfgqY.js} +1 -1
  36. package/dist/assets/{Index-B6uMP-KV.js → Index-CeRqJLnY.js} +1 -1
  37. package/dist/assets/Index-CmBNAfdx.js +1 -0
  38. package/dist/assets/{Index-DgGLYP5P.js → Index-CmRQOo9L.js} +1 -1
  39. package/dist/assets/{Index-CPR5GWAW.js → Index-D0cziacE.js} +1 -1
  40. package/dist/assets/{Index-Ci9kry9y.js → Index-D58nU95z.js} +1 -1
  41. package/dist/assets/Index-D9CVYufa.js +1 -0
  42. package/dist/assets/Index-DXTTHdS8.js +1 -0
  43. package/dist/assets/Index-DaiWBPre.js +1 -0
  44. package/dist/assets/Index-DmMy57IG.js +1 -0
  45. package/dist/assets/Index-DnPUvKih.js +1 -0
  46. package/dist/assets/Index-DoPTEET9.js +1 -0
  47. package/dist/assets/Index-Dw2E8ZT1.js +1 -0
  48. package/dist/assets/Index-OjLBliQh.js +1 -0
  49. package/dist/assets/{Index-DGLqAsf_.js → Index-VSt3GRfZ.js} +1 -1
  50. package/dist/assets/{Index-BwrawzkI.js → Index-ZISRWn_y.js} +1 -1
  51. package/dist/assets/{Index-D4MQQPHQ.js → Index-lmeu6XcD.js} +1 -1
  52. package/dist/assets/Index-nTlqT0Y6.js +1 -0
  53. package/dist/assets/{Invitees-Ck4Jjlea.js → Invitees-_RgZ2ANv.js} +1 -1
  54. package/dist/assets/List-D4epM68H.js +1 -0
  55. package/dist/assets/{List-xzGmwCmR.js → List-DoXZXncL.js} +1 -1
  56. package/dist/assets/{List-gNGq4xDi.js → List-Nn0qJ5Zs.js} +1 -1
  57. package/dist/assets/{LocalTools-BhC9iF5f.js → LocalTools-CWK9seMc.js} +1 -1
  58. package/dist/assets/{LocalTools-BvYW8aU2.js → LocalTools-Ctie30jv.js} +3 -3
  59. package/dist/assets/{Main-4AwmyxCA.js → Main-C76HTY2x.js} +1 -1
  60. package/dist/assets/{Message-Ck06bMp1.js → Message-DcAii4XL.js} +2 -2
  61. package/dist/assets/Model-D_YCdCBx.js +1 -0
  62. package/dist/assets/{Navigator-BeoERuCX.js → Navigator-DNSNrERj.js} +6 -6
  63. package/dist/assets/{Navigator-BwmJzSDQ.css → Navigator-DgTvoCKR.css} +1 -1
  64. package/dist/assets/{NotFound-wf5d9DWE.js → NotFound-Ds5yUKOW.js} +1 -1
  65. package/dist/assets/{Pay-C1fwttQE.js → Pay-CcDYz-5m.js} +1 -1
  66. package/dist/assets/{Player-BG6AFmwx.js → Player-MjPvzqWH.js} +1 -1
  67. package/dist/assets/{PromptTextarea-DBn7pUsm.js → PromptTextarea-BZgV6AvD.js} +1 -1
  68. package/dist/assets/{RealtimeCall-DeTvEOvA.js → RealtimeCall-BfLdjPUb.js} +1 -1
  69. package/dist/assets/{ScheduledTasks-C_7QtCfJ.js → ScheduledTasks-D3knCn6T.js} +2 -2
  70. package/dist/assets/{Status--E1x3cSh.js → Status-C18THcW5.js} +1 -1
  71. package/dist/assets/{Subscribe-KOpDaFbS.js → Subscribe-BAi0g5LI.js} +1 -1
  72. package/dist/assets/{TabSwitcher-B2LvTmX0.js → TabSwitcher-DdBR9WF_.js} +1 -1
  73. package/dist/assets/Tts-BBGHHQFo.js +1 -0
  74. package/dist/assets/{VideoPlayer-CfPgpix9.js → VideoPlayer-8BCGp8BV.js} +1 -1
  75. package/dist/assets/{alert-B9SpMjyU.js → alert-DnllH08L.js} +1 -1
  76. package/dist/assets/avatar-Dnvb49wr.js +1 -0
  77. package/dist/assets/{basic-BPxvXcmT.js → basic-Dn7l6bMH.js} +1 -1
  78. package/dist/assets/{chat-CICOwkKM.js → chat-D83lk3Qh.js} +1 -1
  79. package/dist/assets/{codingBridge-CMyD1FnG.js → codingBridge-rXDQtiyW.js} +2 -2
  80. package/dist/assets/{codingBridgeNotify-sHYFza28.js → codingBridgeNotify-DaYhdz6C.js} +2 -2
  81. package/dist/assets/{collapse-ClczSf9a.js → collapse-Bz4qFCUk.js} +1 -1
  82. package/dist/assets/{common-cTSzllvR.js → common-4x3C2y7l.js} +1 -1
  83. package/dist/assets/{common-BOCBIviL.js → common-B2Y9SnCM.js} +1 -1
  84. package/dist/assets/{common-bdbMT7Tp.js → common-B9SIqYYv.js} +1 -1
  85. package/dist/assets/{common-DxNgCXFb.js → common-BSGO5P-X.js} +1 -1
  86. package/dist/assets/{common-CoFqK9U-.js → common-Bbh8EWub.js} +1 -1
  87. package/dist/assets/{common-BWM-cAQP.js → common-Bd9pIu2X.js} +1 -1
  88. package/dist/assets/{common-BUT88ngU.js → common-BkH82O8j.js} +1 -1
  89. package/dist/assets/{common-B7J2u6Kt.js → common-CN000y41.js} +1 -1
  90. package/dist/assets/{common-Prj6ePm1.js → common-CSORFgfd.js} +1 -1
  91. package/dist/assets/{common-DQwjBtwX.js → common-CjkDS6zy.js} +1 -1
  92. package/dist/assets/{common-BgoUABOK.js → common-ClPfRGT1.js} +1 -1
  93. package/dist/assets/{common-DoSs5bor.js → common-CtLgsB05.js} +1 -1
  94. package/dist/assets/{common-BqvTjZLm.js → common-DQcscPfw.js} +1 -1
  95. package/dist/assets/{common-BgOJlk-h.js → common-DabenOXA.js} +1 -1
  96. package/dist/assets/{common-CyP2Ldhj.js → common-Dd4Zv55n.js} +1 -1
  97. package/dist/assets/{common-WNghFl6N.js → common-QBSm6mLW.js} +1 -1
  98. package/dist/assets/{common-ktzSIjgp.js → common-op4LdHqu.js} +1 -1
  99. package/dist/assets/{common-BDyjk4hL.js → common-tRfKi-0D.js} +1 -1
  100. package/dist/assets/{constants-9-gZ9dm-.js → constants-BC87sw1I.js} +1 -1
  101. package/dist/assets/{createTaskActions-qwEyF3Ss.js → createTaskActions-BVnKYKcb.js} +1 -1
  102. package/dist/assets/{date-picker-BFT5vO4L.js → date-picker-C9saj5Uf.js} +1 -1
  103. package/dist/assets/{digitalhuman-B-nIlQnb.js → digitalhuman-H5pKk81W.js} +1 -1
  104. package/dist/assets/{drawer-Do_bdmwy.js → drawer-BSmOLiZC.js} +1 -1
  105. package/dist/assets/{dropdown-ojwuCI9e.js → dropdown-B0i1SkCr.js} +1 -1
  106. package/dist/assets/{dropdown-B-Odjeu7.js → dropdown-DIA6MkOQ.js} +1 -1
  107. package/dist/assets/{esm-DXUIokim.js → esm-BNgrLAq6.js} +1 -1
  108. package/dist/assets/esm-CSBga7T5.js +1 -0
  109. package/dist/assets/{esm-BOgq6gmN.js → esm-CxwRceoh.js} +1 -1
  110. package/dist/assets/{esm-Cq9b8W8G.js → esm-D2mwzeFN.js} +1 -1
  111. package/dist/assets/{esm-DUMrMLwy.js → esm-DBQBTl3q.js} +2 -2
  112. package/dist/assets/{esm-BCVH4ETj.js → esm-Dk0Bb0fj.js} +3 -3
  113. package/dist/assets/{esm-BzniWLln.js → esm-aCrKFfTo.js} +2 -2
  114. package/dist/assets/fish-BoS_48N4.js +1 -0
  115. package/dist/assets/{flux-Cr6ar15d.js → flux-DOpf-UkV.js} +1 -1
  116. package/dist/assets/{grokvideo-Dcl_8fSp.js → grokvideo-xvYrl3Un.js} +1 -1
  117. package/dist/assets/{sora-ClX5BE9O.js → hailuo-CKMCDSq5.js} +1 -1
  118. package/dist/assets/{i18n-URhThUgc.js → i18n-BOpBE-r7.js} +1 -1
  119. package/dist/assets/{image-CoAfM9I5.js → image-CyUBbyG_.js} +1 -1
  120. package/dist/assets/{index-B1koIKPx.js → index-BhZvbDpi.js} +5 -5
  121. package/dist/assets/{index.browser.esm-DnDzlz1k.js → index.browser.esm-DrX-rG69.js} +1 -1
  122. package/dist/assets/{index.es-DJno_yJX.js → index.es-CgQqOQGC.js} +1 -1
  123. package/dist/assets/{input-number-BKiPM2dI.js → input-number-BDCFfuRp.js} +1 -1
  124. package/dist/assets/{kling-mI_W6NtA.js → kling-Bhqkjngn.js} +1 -1
  125. package/dist/assets/{qrart-B8EgGmLh.js → luma-CG6UmkPN.js} +1 -1
  126. package/dist/assets/{maestro-s1vuCOyG.js → maestro-CT7R6ujs.js} +1 -1
  127. package/dist/assets/{maestro-D_wiEfah.js → maestro-CWSL-xex.js} +1 -1
  128. package/dist/assets/{midjourney-DLwuK1OJ.js → midjourney-tB7YTwIJ.js} +1 -1
  129. package/dist/assets/{mobileLocalExec-eTXnxRkT.js → mobileLocalExec-DSDbebNr.js} +2 -2
  130. package/dist/assets/{nanobanana-CRI1BoXI.js → nanobanana-BndUKiC_.js} +1 -1
  131. package/dist/assets/{seedance-DPxgUy8a.js → omni-CXzJIIn6.js} +1 -1
  132. package/dist/assets/{openaiimage-BYVMWpMc.js → openaiimage-BgSl1jwy.js} +1 -1
  133. package/dist/assets/{pagination-C1BJlbiK.js → pagination-B1dLD-Kf.js} +2 -2
  134. package/dist/assets/{pagination-DdU4jF0R.js → pagination-DaS0CHlL.js} +1 -1
  135. package/dist/assets/{pixverse-xhNJV9Ty.js → pika-D1xzDSAI.js} +1 -1
  136. package/dist/assets/{hailuo-DE9MK2Az.js → pixverse-6RJuns7Z.js} +1 -1
  137. package/dist/assets/{popover-Zw30TcCe.js → popover-C3qZpfv3.js} +1 -1
  138. package/dist/assets/{producer-MUlH_cCW.js → producer-CcPjLVhW.js} +1 -1
  139. package/dist/assets/{luma-Blf3uykJ.js → qrart-BLC3sf8o.js} +1 -1
  140. package/dist/assets/realtime-BixB5E2e.js +1 -0
  141. package/dist/assets/{row-D8CaxgVU.js → row-C0BVVYa1.js} +1 -1
  142. package/dist/assets/{omni-CPmFSPLW.js → seedance-ttxxgqku.js} +1 -1
  143. package/dist/assets/{seedream-De9J0bWt.js → seedream-BlmrcqEQ.js} +1 -1
  144. package/dist/assets/{select-CmpJ3KXI.js → select-_QVKtwQs.js} +1 -1
  145. package/dist/assets/{serp-COjd7sJW.js → serp-DucgChVR.js} +1 -1
  146. package/dist/assets/{slider-B813cz0P.js → slider-8XmykJlU.js} +1 -1
  147. package/dist/assets/{solana-wallets-DkYDY7mn.js → solana-wallets-D2BprXNd.js} +2 -2
  148. package/dist/assets/{solana-wallets-vue-BTYkqFMK.js → solana-wallets-vue-CpusdM8o.js} +1 -1
  149. package/dist/assets/{pika-1RBGz-8n.js → sora-n6GlIRfu.js} +1 -1
  150. package/dist/assets/{suno-C80nfvcg.js → suno-Dug6TKH6.js} +1 -1
  151. package/dist/assets/{switch-_SXJr75X.js → switch-gC91qYCx.js} +1 -1
  152. package/dist/assets/{table-BWzwCHpJ.js → table-DXBT9m5W.js} +1 -1
  153. package/dist/assets/{tabs-BOC91kBj.js → tabs-DqsnDjni.js} +1 -1
  154. package/dist/assets/{time-picker-Ci2Xb2XT.js → time-picker-DVS-F3lo.js} +1 -1
  155. package/dist/assets/{tooltip-gUOnyZjj.js → tooltip-CfB-zJmd.js} +1 -1
  156. package/dist/assets/{upload-CgVm6zeL.js → upload-2QYK2egZ.js} +1 -1
  157. package/dist/assets/{veo-CMNaInha.js → veo-8QxOGtiW.js} +1 -1
  158. package/dist/assets/{veo-Bu5CSvgV.js → veo-BG0K2UCM.js} +1 -1
  159. package/dist/assets/{veo-BBM3CoCi.js → veo-BLWF6iis.js} +1 -1
  160. package/dist/assets/{veo-DhZ3y1BZ.js → veo-BX4dZmL6.js} +1 -1
  161. package/dist/assets/{veo-ChlVyVOj.js → veo-Bklz_4Qi.js} +1 -1
  162. package/dist/assets/{veo-BNKvOfm5.js → veo-BkmjVldJ.js} +1 -1
  163. package/dist/assets/{veo-vBnZJl7i.js → veo-BnnPmJbD.js} +1 -1
  164. package/dist/assets/{veo-2szWWULM.js → veo-Bsl_Pv3U.js} +1 -1
  165. package/dist/assets/{veo-Ceh6A2-G.js → veo-C-3voML6.js} +1 -1
  166. package/dist/assets/{veo-9E8dY86-.js → veo-C0Vn5GJD.js} +1 -1
  167. package/dist/assets/{veo-DeqMG4DC.js → veo-CD8YFqa0.js} +1 -1
  168. package/dist/assets/{veo-CBV7sQbe.js → veo-CNlHkI1-.js} +1 -1
  169. package/dist/assets/{veo-BvPpCXbU.js → veo-D11WaF-3.js} +1 -1
  170. package/dist/assets/{veo-DDZIVv4k.js → veo-D5LCtfMm.js} +1 -1
  171. package/dist/assets/{veo-keyC5xKe.js → veo-DAn9BTk_.js} +1 -1
  172. package/dist/assets/veo-Drr5NjkN.js +1 -0
  173. package/dist/assets/veo-agNdrulC.js +1 -0
  174. package/dist/assets/{veo-DzF2Sa3E.js → veo-g17KHsRE.js} +1 -1
  175. package/dist/assets/{veo-TFLL_tgH.js → veo-gp4XsaEP.js} +1 -1
  176. package/dist/assets/wan-CiRftwya.js +1 -0
  177. package/dist/assets/{web-DTTzVS7g.js → web-BGJhBBGS.js} +1 -1
  178. package/dist/assets/{web-Cgs-V8-7.js → web-BbRD0ke7.js} +1 -1
  179. package/dist/assets/{web-C_aMYoRx.js → web-BcxAgcRS.js} +1 -1
  180. package/dist/assets/{web-CYoqVG5H.js → web-D4LOjaNl.js} +1 -1
  181. package/dist/assets/{web-D2gYqGs_.js → web-DTamUYTc.js} +1 -1
  182. package/dist/assets/{webextrator-CcMjc3zB.js → webextrator-CiRVPV0n.js} +1 -1
  183. package/dist/index.html +3 -3
  184. package/package.json +1 -1
  185. package/dist/assets/Conversation-D2_a6TJa.js +0 -1
  186. package/dist/assets/Index-B-0DRCpx.css +0 -1
  187. package/dist/assets/Index-B1lPeLtl.js +0 -1
  188. package/dist/assets/Index-B5Rgdc9e.js +0 -1
  189. package/dist/assets/Index-Bjl9PxzQ.js +0 -1
  190. package/dist/assets/Index-Bo_IUC0c.js +0 -1
  191. package/dist/assets/Index-BxidXBQr.js +0 -1
  192. package/dist/assets/Index-CGC-3_br.js +0 -1
  193. package/dist/assets/Index-CtCh_ezA.js +0 -1
  194. package/dist/assets/Index-DC2zePrX.js +0 -1
  195. package/dist/assets/Index-DYxyNt6l.js +0 -1
  196. package/dist/assets/Index-RCz_HFa3.js +0 -1
  197. package/dist/assets/List-ChkhWAHZ.js +0 -1
  198. package/dist/assets/Model-BtI_ge6E.js +0 -1
  199. package/dist/assets/Tts-5WA8VvFe.js +0 -1
  200. package/dist/assets/avatar-B10wfWZj.js +0 -1
  201. package/dist/assets/esm-UciH1Wnn.js +0 -1
  202. package/dist/assets/fish-p7mPsgIP.js +0 -1
  203. package/dist/assets/realtime-BYJ8xMJE.js +0 -1
  204. package/dist/assets/veo-BJZ9996U.js +0 -1
  205. package/dist/assets/veo-wsYigIkV.js +0 -1
  206. package/dist/assets/wan-c_2h3tBI.js +0 -1
@@ -1 +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,T as s,at as c,j as l,mt as u,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{t as m}from"./card-D-4S-l7a.js";import{n as h,t as g}from"./row-D8CaxgVU.js";import{t as _}from"./empty-xCRn_5sX.js";import{t as v}from"./skeleton-CoheJz5x.js";import{Ai as y,An as b,Ci as x,En as S,G as C,Vi as w,at as T,hi as E,it as D,jr as O,ln as k,lr as A,mi as j,mr as M,st as N,wn as P,wr as F,zi as I}from"./index-B1koIKPx.js";import{t as L}from"./index.es-DJno_yJX.js";var R=p({name:`ConsoleSubscriptionBuy`,components:{ElSkeleton:v,ElRow:g,ElTag:I,ElCol:h,ElCard:m,ElEmpty:_,FontAwesomeIcon:L,ElButton:w},data(){return{application:void 0,application2:void 0,type:j.PERIOD,services:[],loading:!1,loadFailed:!1,creating:!1,subscription:void 0}},computed:{site(){return this.$store.getters.site},applicationId(){return this.$route.params?.id?.toString()},showPayment(){return!x()},effectiveMarkupRatio(){return S(this.application2,this.site)},pricingAvailable(){return this.effectiveMarkupRatio!==void 0},subscriptions(){let e=[{name:`WEEK`,label:this.$t(`console.subscription.weekly`),description:this.$t(`console.subscription.weekly.description`),duration:10080*60},{name:`MONTH`,label:this.$t(`console.subscription.monthly`),description:this.$t(`console.subscription.monthly.description`),duration:720*60*60},{name:`YEAR`,tag:this.$t(`console.button.suggested`),label:this.$t(`console.subscription.yearly`),description:this.$t(`console.subscription.yearly.description`),duration:365*24*60*60}];for(let t of e){console.log(`item`,t);let e=this.getPackages(t.duration);console.log(`pkgs`,e),t.available=e.length>0&&this.effectiveMarkupRatio!==void 0,t.available&&(t.price=P(e.reduce((e,t)=>e+t.price,0),this.effectiveMarkupRatio));for(let n of e)t.benefits||=[],t.benefits.push({enabled:!0,content:`${n?.service?.title} - ${n.amount} `+this.$t(`service.unit.`+n?.service?.unit+`s`)});t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit1`)}),t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit2`)})}return e},service(){return this.application?.service},serviceIds(){return!this.application||!this.application.service?[]:[this.application.service.id]}},async mounted(){if(b(this.$store.getters.site)){this.$router.replace({name:T});return}await this.onInitialize()},methods:{async onInitialize(){this.loading=!0,this.loadFailed=!1;try{await this.onFetchApplication(),await this.onFetchApplication2(),await this.onCreateApplications(),this.subscription=this.subscriptions.find(e=>e.available)}catch{this.loadFailed=!0}finally{this.loading=!1}},getPriceString:k,onBuyExtra(){this.$router.push({name:D,params:{id:this.applicationId}})},getPackages(e){let t=[];if(!this.service)return[];let n=[this.service].sort((e,t)=>this.serviceIds.indexOf(e.id)-this.serviceIds.indexOf(t.id));for(let r of n){let n=r.packages?.find(t=>t.type===E.PERIOD&&t.duration===e);n&&t.push({...n,service:r})}return t},async onCreateApplications(){let e=[];if(this.application2||e.push(this.application?.service?.id),e.length>0){for(let t of e)await F.create({service_id:t,type:j.PERIOD});await this.onFetchApplication2()}},onChangeType(){console.log(`onChangeType`,this.type),this.$router.push({name:D,params:this.$route.params})},async onFetchServices(){let{data:e}=await A.getAll({id:this.serviceIds});this.services=e.items,console.debug(`services`,this.services)},async onFetchApplication(){let{data:e}=await F.get(this.applicationId);this.application=e,console.debug(`application`,this.application)},async onFetchApplication2(){let{data:e}=await F.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,service_id:this.serviceIds,type:j.PERIOD});this.application2=e.items?.[0],console.debug(`application2`,this.application2)},onCreateOrder(e){let t=this.getPackages(e.duration);if(!(!this.pricingAvailable||!e.available||t.length===0)){if(this.subscription=e,this.creating=!0,!this.application2||!this.application2.id){y.error(this.$t(`console.message.applicationNotFound`)),this.creating=!1;return}O(`payment_initiated`,{service:this.service?.alias,action:`subscribe`,duration:e.duration}),M.create({application_ids:[this.application2.id],package_ids:t.map(e=>e.id),description:this.service?.title+` - `+e.label}).then(({data:e})=>{this.creating=!1,this.$router.push({name:N,params:{id:e.id}})}).catch(e=>{y.error(this.$t(`order.message.createFailed`)),this.creating=!1,O(`payment_failed`,{service:this.service?.alias,action:`subscribe`,error:e?.response?.data?.error?.message??String(e)})})}}}}),z={class:`title`},B={class:`introduction`},V={key:1,class:`text-center`},H={class:`name`},U={class:`price`},W={key:1,class:`text-[var(--el-text-color-secondary)]`},G={class:`description`},K={class:`benefits`},q={class:`operations`},J={key:3,class:`extra`};function Y(p,m,h,g,_,v){let y=c(`el-col`),b=c(`el-row`),x=c(`el-empty`),S=c(`el-skeleton`),C=c(`el-button`),w=c(`el-tag`),T=c(`font-awesome-icon`),E=c(`el-card`);return f(),l(b,{class:`panel`},{default:u(()=>[i(y,{span:24},{default:u(()=>[i(b,null,{default:u(()=>[i(y,{span:24},{default:u(()=>[e(`h2`,z,r(p.$t(`common.title.buyMore`)),1)]),_:1})]),_:1}),i(b,null,{default:u(()=>[i(y,{span:24},{default:u(()=>[i(E,{shadow:`hover`,class:`card`},{default:u(()=>[i(b,null,{default:u(()=>[p.showPayment?(f(),l(y,{key:1,class:`max-w-4xl mx-auto`},{default:u(()=>[e(`p`,B,r(p.$t(`console.subscription.title`)),1),p.loading?(f(),l(S,{key:0})):p.loadFailed?(f(),o(`div`,V,[i(x,{description:p.$t(`common.message.noData`)},null,8,[`description`]),i(C,{type:`primary`,round:``,onClick:p.onInitialize},{default:u(()=>[n(r(p.$t(`common.button.refresh`)),1)]),_:1},8,[`onClick`])])):(f(),l(b,{key:2,gutter:15,class:`subscriptions`},{default:u(()=>[(f(!0),o(s,null,d(p.subscriptions,(c,m)=>(f(),l(y,{key:m,xs:24,md:24/(p.subscriptions?.length||4)},{default:u(()=>[i(E,{shadow:`hover`,class:t({subscription:!0,active:p.subscription?.name===c.name,disabled:!c.available}),onClick:e=>c.available&&(p.subscription=c)},{default:u(()=>[e(`h4`,H,[n(r(c.label)+` `,1),c.tag?(f(),l(w,{key:0,type:`warning`},{default:u(()=>[n(r(c.tag),1)]),_:2},1024)):a(``,!0)]),e(`h2`,U,[c.price===void 0?(f(),o(`span`,W,r(p.$t(`common.message.noData`)),1)):(f(),o(s,{key:0},[n(r(p.getPriceString({value:c.price})),1)],64))]),e(`p`,G,r(c.description),1),e(`div`,K,[(f(!0),o(s,null,d(c.benefits,(t,n)=>(f(),o(`div`,{key:n,class:`benefit`},[t.enabled?(f(),l(T,{key:0,icon:`fa-solid fa-check`,class:`icon icon-check`})):(f(),l(T,{key:1,icon:`fa-solid fa-xmark`,class:`icon icon-xmark`})),e(`span`,null,r(t.content),1)]))),128))]),e(`div`,q,[p.showPayment?(f(),l(C,{key:0,class:`btn btn-subscribe`,type:p.subscription?.name===c?.name?`primary`:``,disabled:!c.available,round:``,onClick:e=>p.onCreateOrder(c)},{default:u(()=>[n(r(p.$t(`common.button.buy`)),1)]),_:1},8,[`type`,`disabled`,`onClick`])):a(``,!0)])]),_:2},1032,[`class`,`onClick`])]),_:2},1032,[`md`]))),128))]),_:1})),!p.loading&&!p.loadFailed&&p.showPayment?(f(),o(`div`,J,[e(`span`,null,r(p.$t(`console.message.doNotWantSubscribe`)),1),i(C,{type:`primary`,class:`btn btn-extra`,round:``,size:`small`,onClick:p.onBuyExtra},{default:u(()=>[n(r(p.$t(`console.message.buyExtra`)),1)]),_:1},8,[`onClick`])])):a(``,!0)]),_:1})):(f(),l(y,{key:0,class:`max-w-4xl mx-auto`},{default:u(()=>[i(x,{description:p.$t(`common.message.noData`)},null,8,[`description`])]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var X=C(R,[[`render`,Y],[`__scopeId`,`data-v-114b65ad`]]);export{X as default};
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,T as s,at as c,j as l,mt as u,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{t as m}from"./card-D-4S-l7a.js";import{n as h,t as g}from"./row-C0BVVYa1.js";import{t as _}from"./empty-xCRn_5sX.js";import{t as v}from"./skeleton-CoheJz5x.js";import{An as y,Bi as b,En as x,G as S,Hi as C,Mr as w,at as T,gi as E,hi as D,it as O,ji as k,ln as A,lr as j,mr as M,st as N,wi as P,wn as F,wr as I}from"./index-BhZvbDpi.js";import{t as L}from"./index.es-CgQqOQGC.js";var R=p({name:`ConsoleSubscriptionBuy`,components:{ElSkeleton:v,ElRow:g,ElTag:b,ElCol:h,ElCard:m,ElEmpty:_,FontAwesomeIcon:L,ElButton:C},data(){return{application:void 0,application2:void 0,type:D.PERIOD,services:[],loading:!1,loadFailed:!1,creating:!1,subscription:void 0}},computed:{site(){return this.$store.getters.site},applicationId(){return this.$route.params?.id?.toString()},showPayment(){return!P()},effectiveMarkupRatio(){return x(this.application2,this.site)},pricingAvailable(){return this.effectiveMarkupRatio!==void 0},subscriptions(){let e=[{name:`WEEK`,label:this.$t(`console.subscription.weekly`),description:this.$t(`console.subscription.weekly.description`),duration:10080*60},{name:`MONTH`,label:this.$t(`console.subscription.monthly`),description:this.$t(`console.subscription.monthly.description`),duration:720*60*60},{name:`YEAR`,tag:this.$t(`console.button.suggested`),label:this.$t(`console.subscription.yearly`),description:this.$t(`console.subscription.yearly.description`),duration:365*24*60*60}];for(let t of e){console.log(`item`,t);let e=this.getPackages(t.duration);console.log(`pkgs`,e),t.available=e.length>0&&this.effectiveMarkupRatio!==void 0,t.available&&(t.price=F(e.reduce((e,t)=>e+t.price,0),this.effectiveMarkupRatio));for(let n of e)t.benefits||=[],t.benefits.push({enabled:!0,content:`${n?.service?.title} - ${n.amount} `+this.$t(`service.unit.`+n?.service?.unit+`s`)});t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit1`)}),t.benefits?.push({enabled:t.name!==`WEEK`,content:this.$t(`console.message.benefit2`)})}return e},service(){return this.application?.service},serviceIds(){return!this.application||!this.application.service?[]:[this.application.service.id]}},async mounted(){if(y(this.$store.getters.site)){this.$router.replace({name:T});return}await this.onInitialize()},methods:{async onInitialize(){this.loading=!0,this.loadFailed=!1;try{await this.onFetchApplication(),await this.onFetchApplication2(),await this.onCreateApplications(),this.subscription=this.subscriptions.find(e=>e.available)}catch{this.loadFailed=!0}finally{this.loading=!1}},getPriceString:A,onBuyExtra(){this.$router.push({name:O,params:{id:this.applicationId}})},getPackages(e){let t=[];if(!this.service)return[];let n=[this.service].sort((e,t)=>this.serviceIds.indexOf(e.id)-this.serviceIds.indexOf(t.id));for(let r of n){let n=r.packages?.find(t=>t.type===E.PERIOD&&t.duration===e);n&&t.push({...n,service:r})}return t},async onCreateApplications(){let e=[];if(this.application2||e.push(this.application?.service?.id),e.length>0){for(let t of e)await I.create({service_id:t,type:D.PERIOD});await this.onFetchApplication2()}},onChangeType(){console.log(`onChangeType`,this.type),this.$router.push({name:O,params:this.$route.params})},async onFetchServices(){let{data:e}=await j.getAll({id:this.serviceIds});this.services=e.items,console.debug(`services`,this.services)},async onFetchApplication(){let{data:e}=await I.get(this.applicationId);this.application=e,console.debug(`application`,this.application)},async onFetchApplication2(){let{data:e}=await I.getAll({limit:100,offset:0,user_id:this.$store.getters.user.id,ordering:`-created_at`,service_id:this.serviceIds,type:D.PERIOD});this.application2=e.items?.[0],console.debug(`application2`,this.application2)},onCreateOrder(e){let t=this.getPackages(e.duration);if(!(!this.pricingAvailable||!e.available||t.length===0)){if(this.subscription=e,this.creating=!0,!this.application2||!this.application2.id){k.error(this.$t(`console.message.applicationNotFound`)),this.creating=!1;return}w(`payment_initiated`,{service:this.service?.alias,action:`subscribe`,duration:e.duration}),M.create({application_ids:[this.application2.id],package_ids:t.map(e=>e.id),description:this.service?.title+` - `+e.label}).then(({data:e})=>{this.creating=!1,this.$router.push({name:N,params:{id:e.id}})}).catch(e=>{k.error(this.$t(`order.message.createFailed`)),this.creating=!1,w(`payment_failed`,{service:this.service?.alias,action:`subscribe`,error:e?.response?.data?.error?.message??String(e)})})}}}}),z={class:`title`},B={class:`introduction`},V={key:1,class:`text-center`},H={class:`name`},U={class:`price`},W={key:1,class:`text-[var(--el-text-color-secondary)]`},G={class:`description`},K={class:`benefits`},q={class:`operations`},J={key:3,class:`extra`};function Y(p,m,h,g,_,v){let y=c(`el-col`),b=c(`el-row`),x=c(`el-empty`),S=c(`el-skeleton`),C=c(`el-button`),w=c(`el-tag`),T=c(`font-awesome-icon`),E=c(`el-card`);return f(),l(b,{class:`panel`},{default:u(()=>[i(y,{span:24},{default:u(()=>[i(b,null,{default:u(()=>[i(y,{span:24},{default:u(()=>[e(`h2`,z,r(p.$t(`common.title.buyMore`)),1)]),_:1})]),_:1}),i(b,null,{default:u(()=>[i(y,{span:24},{default:u(()=>[i(E,{shadow:`hover`,class:`card`},{default:u(()=>[i(b,null,{default:u(()=>[p.showPayment?(f(),l(y,{key:1,class:`max-w-4xl mx-auto`},{default:u(()=>[e(`p`,B,r(p.$t(`console.subscription.title`)),1),p.loading?(f(),l(S,{key:0})):p.loadFailed?(f(),o(`div`,V,[i(x,{description:p.$t(`common.message.noData`)},null,8,[`description`]),i(C,{type:`primary`,round:``,onClick:p.onInitialize},{default:u(()=>[n(r(p.$t(`common.button.refresh`)),1)]),_:1},8,[`onClick`])])):(f(),l(b,{key:2,gutter:15,class:`subscriptions`},{default:u(()=>[(f(!0),o(s,null,d(p.subscriptions,(c,m)=>(f(),l(y,{key:m,xs:24,md:24/(p.subscriptions?.length||4)},{default:u(()=>[i(E,{shadow:`hover`,class:t({subscription:!0,active:p.subscription?.name===c.name,disabled:!c.available}),onClick:e=>c.available&&(p.subscription=c)},{default:u(()=>[e(`h4`,H,[n(r(c.label)+` `,1),c.tag?(f(),l(w,{key:0,type:`warning`},{default:u(()=>[n(r(c.tag),1)]),_:2},1024)):a(``,!0)]),e(`h2`,U,[c.price===void 0?(f(),o(`span`,W,r(p.$t(`common.message.noData`)),1)):(f(),o(s,{key:0},[n(r(p.getPriceString({value:c.price})),1)],64))]),e(`p`,G,r(c.description),1),e(`div`,K,[(f(!0),o(s,null,d(c.benefits,(t,n)=>(f(),o(`div`,{key:n,class:`benefit`},[t.enabled?(f(),l(T,{key:0,icon:`fa-solid fa-check`,class:`icon icon-check`})):(f(),l(T,{key:1,icon:`fa-solid fa-xmark`,class:`icon icon-xmark`})),e(`span`,null,r(t.content),1)]))),128))]),e(`div`,q,[p.showPayment?(f(),l(C,{key:0,class:`btn btn-subscribe`,type:p.subscription?.name===c?.name?`primary`:``,disabled:!c.available,round:``,onClick:e=>p.onCreateOrder(c)},{default:u(()=>[n(r(p.$t(`common.button.buy`)),1)]),_:1},8,[`type`,`disabled`,`onClick`])):a(``,!0)])]),_:2},1032,[`class`,`onClick`])]),_:2},1032,[`md`]))),128))]),_:1})),!p.loading&&!p.loadFailed&&p.showPayment?(f(),o(`div`,J,[e(`span`,null,r(p.$t(`console.message.doNotWantSubscribe`)),1),i(C,{type:`primary`,class:`btn btn-extra`,round:``,size:`small`,onClick:p.onBuyExtra},{default:u(()=>[n(r(p.$t(`console.message.buyExtra`)),1)]),_:1},8,[`onClick`])])):a(``,!0)]),_:1})):(f(),l(y,{key:0,class:`max-w-4xl mx-auto`},{default:u(()=>[i(x,{description:p.$t(`common.message.noData`)},null,8,[`description`])]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}var X=S(R,[[`render`,Y],[`__scopeId`,`data-v-114b65ad`]]);export{X as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{L as e,at as t,j as n,mt as r,tt as i,z as a}from"./vendor-chart-Dw-P17PN.js";import{n as o,t as s}from"./tabs-BOC91kBj.js";import{G as c,vt as l,yt as u}from"./index-B1koIKPx.js";var d=a({name:`FishTabSwitcher`,components:{ElTabs:o,ElTabPane:s},data(){return{ROUTE_FISH_TTS_INDEX:u,ROUTE_FISH_MODEL_INDEX:l}},computed:{active(){return(this.$route?.name||``)===`fish-model-index`?l:u}},methods:{onUpdate(e){let t=String(e);t!==this.active&&this.$router.push({name:t})}}});function f(a,o,s,c,l,u){let d=t(`el-tab-pane`),f=t(`el-tabs`);return i(),n(f,{"model-value":a.active,class:`fish-tabs`,stretch:``,"onUpdate:modelValue":a.onUpdate},{default:r(()=>[e(d,{label:a.$t(`fish.tab.tts`),name:a.ROUTE_FISH_TTS_INDEX},null,8,[`label`,`name`]),e(d,{label:a.$t(`fish.tab.model`),name:a.ROUTE_FISH_MODEL_INDEX},null,8,[`label`,`name`])]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var p=c(d,[[`render`,f],[`__scopeId`,`data-v-11790655`]]);export{p as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{L as e,at as t,j as n,mt as r,tt as i,z as a}from"./vendor-chart-Dw-P17PN.js";import{n as o,t as s}from"./tabs-DqsnDjni.js";import{G as c,vt as l,yt as u}from"./index-BhZvbDpi.js";var d=a({name:`FishTabSwitcher`,components:{ElTabs:o,ElTabPane:s},data(){return{ROUTE_FISH_TTS_INDEX:u,ROUTE_FISH_MODEL_INDEX:l}},computed:{active(){return(this.$route?.name||``)===`fish-model-index`?l:u}},methods:{onUpdate(e){let t=String(e);t!==this.active&&this.$router.push({name:t})}}});function f(a,o,s,c,l,u){let d=t(`el-tab-pane`),f=t(`el-tabs`);return i(),n(f,{"model-value":a.active,class:`fish-tabs`,stretch:``,"onUpdate:modelValue":a.onUpdate},{default:r(()=>[e(d,{label:a.$t(`fish.tab.tts`),name:a.ROUTE_FISH_TTS_INDEX},null,8,[`label`,`name`]),e(d,{label:a.$t(`fish.tab.model`),name:a.ROUTE_FISH_MODEL_INDEX},null,8,[`label`,`name`])]),_:1},8,[`model-value`,`onUpdate:modelValue`])}var p=c(d,[[`render`,f],[`__scopeId`,`data-v-11790655`]]);export{p as t};
@@ -0,0 +1 @@
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,j as l,mt as u,rt as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{r as m,t as h}from"./select-_QVKtwQs.js";import{t as g}from"./image-CyUBbyG_.js";import{t as _}from"./alert-DnllH08L.js";import{t as v}from"./slider-8XmykJlU.js";import{ct as y,dt as b}from"./constants-BC87sw1I.js";import{G as x,Hi as S,Pn as C,_i as w,_n as T,an as ee,cn as te,ji as E,jr as D,rn as O}from"./index-BhZvbDpi.js";import{t as k}from"./index.es-CgQqOQGC.js";import{t as A}from"./CopyToClipboard-BMEfxCmj.js";import{t as j}from"./Consumption-Ch5HMFpz.js";import{n as M,r as N,t as P}from"./pagination-B1dLD-Kf.js";import{t as F}from"./ApiCodeButton-CIZVl_Ji.js";import{t as I}from"./BotPlaceholder-C0JcSHUl.js";import{t as L}from"./Hailuo-d_y89ox1.js";import{t as R}from"./TabSwitcher-DdBR9WF_.js";import{t as z}from"./PromptTextarea-BZgV6AvD.js";var B=p({name:`FishTextInput`,components:{PromptTextarea:z},computed:{text:{get(){return this.$store.state.fish?.config?.text},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,text:e})}}}});function V(e,t,n,r,i,a){let o=c(`prompt-textarea`);return f(),l(o,{modelValue:e.text,"onUpdate:modelValue":t[0]||=t=>e.text=t,title:e.$t(`fish.name.text`),info:e.$t(`fish.description.text`),placeholder:e.$t(`fish.placeholder.text`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var H=x(B,[[`render`,V]]),U=p({name:`FishModelSelector`,components:{ElSelect:m,ElOption:h},computed:{options(){return[{value:b,label:this.$t(`fish.button.modelS2Pro`)},{value:`s1`,label:this.$t(`fish.button.modelS1`)}]},value:{get(){return this.$store.state.fish?.config?.model},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,model:e})}}},mounted(){this.value||=y}}),W={class:`field`},G={class:`title font-bold`};function K(t,n,a,p,m,h){let g=c(`el-option`),_=c(`el-select`);return f(),o(`div`,W,[e(`h2`,G,r(t.$t(`fish.name.model`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`fish.placeholder.select`)},{default:u(()=>[(f(!0),o(s,null,d(t.options,e=>(f(),l(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var q=x(U,[[`render`,K],[`__scopeId`,`data-v-9702e6d3`]]),J=p({name:`FishVoicePicker`,components:{ElSelect:m,ElOption:h},computed:{loading(){return this.$store.state.fish?.status?.getApplications===w.Request},options(){return this.$store.state.fish?.voices??[]},displayOptions(){return this.options.map(e=>{let t=e,n=(t.id||t._id||t.reference_id||``).toString();return{value:n,label:t.title||n}}).filter(e=>!!e.value)},credential(){return this.$store.state.fish?.credential},value:{get(){return this.$store.state.fish?.config?.reference_id},set(e){this.$store.commit(`fish/setConfig`,{...this.$store.state.fish?.config,reference_id:e||void 0})}}},watch:{credential:{immediate:!0,handler(e){if(!e?.token)return;let t=this.$store.state.fish?.voices;(t===void 0||t.length===0)&&this.$store.dispatch(`fish/getVoices`)}}}}),Y={class:`field`},X={class:`title font-bold`};function Z(t,n,a,p,m,h){let g=c(`el-option`),_=c(`el-select`);return f(),o(`div`,Y,[e(`h2`,X,r(t.$t(`fish.name.voice`)),1),i(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`fish.placeholder.voice`),clearable:``,filterable:``,loading:t.loading,"no-data-text":t.$t(`fish.message.noVoices`)},{default:u(()=>[(f(!0),o(s,null,d(t.displayOptions,e=>(f(),l(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`,`loading`,`no-data-text`])])}var Q=p({name:`FishConfigPanel`,components:{ElButton:S,ElSlider:v,FontAwesomeIcon:k,TextInput:H,ModelSelector:q,VoicePicker:x(J,[[`render`,Z],[`__scopeId`,`data-v-ac9e3a92`]]),Consumption:j},emits:[`generate`],computed:{config(){return this.$store.state.fish?.config},consumption(){return te(this.config,this.service?.cost)},service(){return this.$store.state.fish?.service},canGenerate(){let e=this.config?.text;return typeof e==`string`&&e.trim().length>0},speed:{get(){return this.config?.prosody?.speed??1},set(e){this.$store.commit(`fish/setConfig`,{...this.config,prosody:{...this.config?.prosody??{},speed:e}})}}},methods:{onGenerate(){this.$emit(`generate`)}}}),ne={class:`flex flex-col h-full`},re={class:`flex-1 overflow-y-auto p-5`},ie={class:`field mb-2`},ae={class:`title font-bold`},oe={class:`flex flex-col items-center justify-center px-5 pb-5`};function se(t,a,s,l,d,p){let m=c(`text-input`),h=c(`model-selector`),g=c(`voice-picker`),_=c(`el-slider`),v=c(`consumption`),y=c(`font-awesome-icon`),b=c(`el-button`);return f(),o(`div`,ne,[e(`div`,re,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),e(`div`,ie,[e(`h2`,ae,r(t.$t(`fish.name.speed`)),1),i(_,{modelValue:t.speed,"onUpdate:modelValue":a[0]||=e=>t.speed=e,min:.5,max:2,step:.1,class:`value`,"show-input":``},null,8,[`modelValue`])])]),e(`div`,oe,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,disabled:!t.canGenerate,onClick:t.onGenerate},{default:u(()=>[i(y,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`fish.button.generate`)),1)]),_:1},8,[`disabled`,`onClick`])])])}var ce=x(Q,[[`render`,se],[`__scopeId`,`data-v-1ccd36ba`]]),le=p({name:`FishTaskPreview`,components:{ElImage:g,CopyToClipboard:A,FontAwesomeIcon:k,ElAlert:_,ElButton:S,ApiCodeButton:F},props:{modelValue:{type:Object,required:!0}},computed:{prompt(){return this.modelValue?.request?.text},audioUrl(){return this.modelValue?.response?.audio_url}},methods:{onDownload(e){window.open(e,`_blank`)}}}),ue={class:`preview`},de={class:`left`},fe={class:`main`},pe={class:`bot`},me={class:`datetime`},he={class:`info`},ge={key:0,class:`prompt mt-2`},_e={key:0},ve={key:0,class:`content`},ye=[`src`],be={class:`operations mt-2`},xe={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Se={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},Ce={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},we={key:2,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},Te={key:1,class:`content`},Ee={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function De(s,l,d,p,m,h){let g=c(`el-image`),_=c(`el-button`),v=c(`api-code-button`),y=c(`font-awesome-icon`),b=c(`copy-to-clipboard`),x=c(`el-alert`);return f(),o(`div`,ue,[e(`div`,de,[i(g,{src:`https://cdn.acedata.cloud/e40fccc727.png`,class:`avatar`})]),e(`div`,fe,[e(`div`,pe,[n(r(s.$t(`fish.name.fishBot`))+` `,1),e(`span`,me,r(s.$dayjs.format(``+new Date(parseFloat((s.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,he,[s.prompt?(f(),o(`p`,ge,[n(r(s.prompt)+` `,1),s.modelValue?.response?a(``,!0):(f(),o(`span`,_e,` - (`+r(s.$t(`fish.status.pending`))+`) `,1))])):a(``,!0)]),s.audioUrl?(f(),o(`div`,ve,[e(`audio`,{src:s.audioUrl,controls:``,preload:`metadata`,class:`w-full mb-3`},null,8,ye),e(`div`,be,[i(_,{type:`info`,size:`small`,class:`mb-2`,onClick:l[0]||=t(e=>s.onDownload(s.audioUrl),[`stop`])},{default:u(()=>[n(r(s.$t(`fish.button.download`)),1)]),_:1}),i(v,{path:`/fish/tts`,body:s.modelValue?.request},null,8,[`body`])]),i(x,{closable:!1,class:`mt-2 success`},{default:u(()=>[s.modelValue?.request?.model?(f(),o(`p`,xe,[i(y,{icon:`fa-solid fa-microchip`,class:`mr-1`}),n(` `+r(s.$t(`fish.name.model`))+`: `+r(s.modelValue?.request?.model),1)])):a(``,!0),s.modelValue?.request?.reference_id?(f(),o(`p`,Se,[i(y,{icon:`fa-solid fa-microphone`,class:`mr-1`}),n(` `+r(s.$t(`fish.name.referenceId`))+`: `+r(s.modelValue?.request?.reference_id)+` `,1),i(b,{content:s.modelValue?.request?.reference_id},null,8,[`content`])])):a(``,!0),e(`p`,Ce,[i(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(s.$t(`fish.name.taskId`))+`: `+r(s.modelValue?.id)+` `,1),i(b,{content:s.modelValue?.id},null,8,[`content`])]),s.modelValue?.elapsed?(f(),o(`p`,we,[i(y,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(s.$t(`fish.name.elapsed`))+`: `+r(s.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0)]),_:1})])):(f(),o(`div`,Te,[i(x,{closable:!1,class:`info`},{default:u(()=>[e(`p`,Ee,[i(y,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(s.$t(`fish.name.taskId`))+`: `+r(s.modelValue?.id)+` `,1),i(b,{content:s.modelValue?.id},null,8,[`content`])])]),_:1})]))])])}var $=p({name:`FishRecentPanel`,components:{TaskPreview:x(le,[[`render`,De],[`__scopeId`,`data-v-754753f2`]]),BotPlaceholder:I,NoTasks:N,ScrollList:M},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],computed:{tasks(){return{...this.$store.state.fish?.tasks,items:this.$store.state.fish?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),Oe={key:0},ke={key:2,class:`w-full h-full flex items-center justify-center`};function Ae(e,t,n,r,p,m){let h=c(`bot-placeholder`),g=c(`task-preview`),_=c(`scroll-list`),v=c(`no-tasks`);return f(),o(s,null,[e.tasks?.items===void 0?(f(),o(`div`,Oe,[i(h)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(f(),l(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:u(()=>[(f(!0),o(s,null,d(e.tasks?.items,e=>(f(),l(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):a(``,!0),e.tasks?.items?.length===0?(f(),o(`div`,ke,[i(v)])):a(``,!0)],64)}var je=p({name:`FishTtsIndex`,components:{ConfigPanel:ce,Layout:L,RecentPanel:x($,[[`render`,Ae]]),TabSwitcher:R},mixins:[ee],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.fish?.status?.getApplications===w.Request},tasksLoading(){return this.$store.state.fish?.status?.getTasks===w.Request||this.fetchingTasks},credential(){return this.$store.state.fish?.credential},config(){return this.$store.state.fish?.config},application(){return this.$store.state.fish?.application},tasks(){return this.$store.state.fish?.tasks}},watch:{initialized:{async handler(e){e&&(await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService(),await this.$store.dispatch(`fish/getVoices`)},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(){await this.$store.dispatch(`fish/getService`)},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks)return;let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};this.fetchingTasks=!0;try{await this.$store.dispatch(`fish/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!O(this.uploadTracker,e=>this.$t(e),e=>E.warning(e)))return;let e=this.config??{},t=e.text?.trim();if(!t){E.warning(this.$t(`fish.message.textRequired`));return}if(!T())return;let n=this.credential?.token;if(!n){console.error(`no token specified`);return}let r=e.model||`s2-pro`,i={text:t,async:!0};e.reference_id&&(i.reference_id=e.reference_id),e.format&&(i.format=e.format),e.prosody&&Object.keys(e.prosody).length>0&&(i.prosody=e.prosody),E.info(this.$t(`fish.message.startingTask`)),D(`fish`,C.generateTts(i,{token:n,model:r})).then(()=>{E.success(this.$t(`fish.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?E.error(this.$t(`fish.message.usedUp`)):E.error(this.$t(`fish.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}}),Me={class:`flex flex-col h-full`},Ne={class:`flex-1 min-h-0`};function Pe(t,n,r,a,o,s){let d=c(`tab-switcher`),p=c(`config-panel`),m=c(`recent-panel`),h=c(`layout`);return f(),l(h,null,{config:u(()=>[e(`div`,Me,[i(d),e(`div`,Ne,[i(p,{onGenerate:t.onGenerate},null,8,[`onGenerate`])])])]),result:u(()=>[i(m,{ref:`recentPanel`,loading:t.loadingMore,onReachTop:t.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var Fe=x(je,[[`render`,Pe]]);export{Fe as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,j as s,mt as c,tt as l,z as u}from"./vendor-chart-Dw-P17PN.js";import{G as d,Vi as f}from"./index-B1koIKPx.js";import{t as p}from"./index.es-DJno_yJX.js";import{t as m}from"./vue-plyr-wiIKa-zl.js";var h=u({name:`VideoPlayer`,components:{ElButton:f,FontAwesomeIcon:p,VuePlyr:m},props:{src:{type:String,required:!0},options:{type:Object,required:!1,default:()=>({})}},data(){return{failed:!1,mergedOptions:{controls:[`play-large`,`play`,`progress`,`current-time`,`mute`,`volume`,`captions`,`settings`,`pip`,`fullscreen`],iconUrl:`https://cdn.acedata.cloud/7jq4t0.svg`,quality:{default:1080,options:[1080],...this.options.quality},...this.options}}},computed:{safeSrc(){return this.src.trim()}},watch:{safeSrc(){this.failed=!1}},methods:{onError(){this.failed=!0},onOpen(){window.open(this.safeSrc,`_blank`,`noopener,noreferrer`)}}}),g={class:`video max-w-[800px] max-h-[450px] rounded-[15px] overflow-hidden`},_=[`src`],v={key:1,class:`video-fallback`};function y(u,d,f,p,m,h){let y=o(`vue-plyr`),b=o(`font-awesome-icon`),x=o(`el-button`);return l(),a(`div`,g,[!u.failed&&u.safeSrc?(l(),s(y,{key:u.safeSrc,options:u.mergedOptions},{default:c(()=>[e(`video`,{controls:``,playsinline:``,preload:`metadata`,class:`w-full h-full aspect-[16/9]`,onError:d[0]||=(...e)=>u.onError&&u.onError(...e)},[e(`source`,{size:`1080`,src:u.safeSrc,type:`video/mp4`},null,8,_)],32)]),_:1},8,[`options`])):u.safeSrc?(l(),a(`div`,v,[r(x,{type:`primary`,round:``,onClick:u.onOpen},{default:c(()=>[r(b,{icon:`fa-solid fa-up-right-from-square`,class:`mr-2`}),t(` `+n(u.$t(`common.button.download`)),1)]),_:1},8,[`onClick`])])):i(``,!0)])}var b=d(h,[[`render`,y],[`__scopeId`,`data-v-39c4a118`]]);export{b as t};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,I as t,Jt as n,L as r,M as i,N as a,at as o,j as s,mt as c,tt as l,z as u}from"./vendor-chart-Dw-P17PN.js";import{G as d,Hi as f}from"./index-BhZvbDpi.js";import{t as p}from"./index.es-CgQqOQGC.js";import{t as m}from"./vue-plyr-wiIKa-zl.js";var h=u({name:`VideoPlayer`,components:{ElButton:f,FontAwesomeIcon:p,VuePlyr:m},props:{src:{type:String,required:!0},options:{type:Object,required:!1,default:()=>({})}},data(){return{failed:!1,mergedOptions:{controls:[`play-large`,`play`,`progress`,`current-time`,`mute`,`volume`,`captions`,`settings`,`pip`,`fullscreen`],iconUrl:`https://cdn.acedata.cloud/7jq4t0.svg`,quality:{default:1080,options:[1080],...this.options.quality},...this.options}}},computed:{safeSrc(){return this.src.trim()}},watch:{safeSrc(){this.failed=!1}},methods:{onError(){this.failed=!0},onOpen(){window.open(this.safeSrc,`_blank`,`noopener,noreferrer`)}}}),g={class:`video max-w-[800px] max-h-[450px] rounded-[15px] overflow-hidden`},_=[`src`],v={key:1,class:`video-fallback`};function y(u,d,f,p,m,h){let y=o(`vue-plyr`),b=o(`font-awesome-icon`),x=o(`el-button`);return l(),a(`div`,g,[!u.failed&&u.safeSrc?(l(),s(y,{key:u.safeSrc,options:u.mergedOptions},{default:c(()=>[e(`video`,{controls:``,playsinline:``,preload:`metadata`,class:`w-full h-full aspect-[16/9]`,onError:d[0]||=(...e)=>u.onError&&u.onError(...e)},[e(`source`,{size:`1080`,src:u.safeSrc,type:`video/mp4`},null,8,_)],32)]),_:1},8,[`options`])):u.safeSrc?(l(),a(`div`,v,[r(x,{type:`primary`,round:``,onClick:u.onOpen},{default:c(()=>[r(b,{icon:`fa-solid fa-up-right-from-square`,class:`mr-2`}),t(` `+n(u.$t(`common.button.download`)),1)]),_:1},8,[`onClick`])])):i(``,!0)])}var b=d(h,[[`render`,y],[`__scopeId`,`data-v-39c4a118`]]);export{b as t};
@@ -1 +1 @@
1
- import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,Mt as o,N as s,Ot as c,T as l,ht as u,it as d,j as f,k as p,mt as m,p as h,st as g,tt as _,ut as v,wt as y,x as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{a as S,c as C,t as w}from"./install-Cn-SLM3u.js";import{n as T,u as E}from"./runtime-BTM7t9of.js";import{Pt as D,d as O,f as k,nt as A,ut as j}from"./use-deprecated-B-uvyrTL.js";import{d as M,u as N}from"./tooltip-gUOnyZjj.js";var P=T({title:{type:String,default:``},description:{type:String,default:``},type:{type:String,values:j(k),default:`info`},closable:{type:Boolean,default:!0},closeText:{type:String,default:``},showIcon:Boolean,center:Boolean,effect:{type:String,values:[`light`,`dark`],default:`light`},...M}),F={open:()=>!0,close:e=>E(e)||e instanceof Event},I=w(S(x({...x({name:`ElAlert`}),props:P,emits:F,setup(x,{emit:S}){let w=x,{Close:T}=O,E=v(),j=C(`alert`),M=y(!1),P=p(()=>k[w.type]),F=p(()=>!!(w.description||E.default)),I=()=>{M.value=!0,S(`open`)},L=e=>{M.value=!1,S(`close`,e)},{onOpen:R,onClose:z}=N({showAfter:c(w,`showAfter`),hideAfter:c(w,`hideAfter`),autoClose:c(w,`autoClose`),open:I,close:L});return D&&R(),(c,p)=>(_(),f(h,{name:o(j).b(`fade`),persisted:``},{default:m(()=>[u(e(`div`,{class:t([o(j).b(),o(j).m(c.type),o(j).is(`center`,c.center),o(j).is(c.effect)]),role:`alert`},[c.showIcon&&(c.$slots.icon||o(P))?(_(),f(o(A),{key:0,class:t([o(j).e(`icon`),{[o(j).is(`big`)]:o(F)}])},{default:m(()=>[d(c.$slots,`icon`,{},()=>[(_(),f(g(o(P))))])]),_:3},8,[`class`])):a(`v-if`,!0),e(`div`,{class:t(o(j).e(`content`))},[c.title||c.$slots.title?(_(),s(`span`,{key:0,class:t([o(j).e(`title`),{"with-description":o(F)}])},[d(c.$slots,`title`,{},()=>[n(r(c.title),1)])],2)):a(`v-if`,!0),o(F)?(_(),s(`p`,{key:1,class:t(o(j).e(`description`))},[d(c.$slots,`default`,{},()=>[n(r(c.description),1)])],2)):a(`v-if`,!0),c.closable?(_(),s(l,{key:2},[c.closeText?(_(),s(`div`,{key:0,class:t([o(j).e(`close-btn`),o(j).is(`customed`)]),onClick:L},r(c.closeText),3)):(_(),f(o(A),{key:1,class:t(o(j).e(`close-btn`)),onClick:o(z)},{default:m(()=>[i(o(T))]),_:1},8,[`class`,`onClick`]))],64)):a(`v-if`,!0)],2)],2),[[b,M.value]])]),_:3},8,[`name`]))}}),[[`__file`,`alert.vue`]]));export{I as t};
1
+ import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,Mt as o,N as s,Ot as c,T as l,ht as u,it as d,j as f,k as p,mt as m,p as h,st as g,tt as _,ut as v,wt as y,x as b,z as x}from"./vendor-chart-Dw-P17PN.js";import{a as S,c as C,t as w}from"./install-Cn-SLM3u.js";import{n as T,u as E}from"./runtime-BTM7t9of.js";import{Pt as D,d as O,f as k,nt as A,ut as j}from"./use-deprecated-B-uvyrTL.js";import{d as M,u as N}from"./tooltip-CfB-zJmd.js";var P=T({title:{type:String,default:``},description:{type:String,default:``},type:{type:String,values:j(k),default:`info`},closable:{type:Boolean,default:!0},closeText:{type:String,default:``},showIcon:Boolean,center:Boolean,effect:{type:String,values:[`light`,`dark`],default:`light`},...M}),F={open:()=>!0,close:e=>E(e)||e instanceof Event},I=w(S(x({...x({name:`ElAlert`}),props:P,emits:F,setup(x,{emit:S}){let w=x,{Close:T}=O,E=v(),j=C(`alert`),M=y(!1),P=p(()=>k[w.type]),F=p(()=>!!(w.description||E.default)),I=()=>{M.value=!0,S(`open`)},L=e=>{M.value=!1,S(`close`,e)},{onOpen:R,onClose:z}=N({showAfter:c(w,`showAfter`),hideAfter:c(w,`hideAfter`),autoClose:c(w,`autoClose`),open:I,close:L});return D&&R(),(c,p)=>(_(),f(h,{name:o(j).b(`fade`),persisted:``},{default:m(()=>[u(e(`div`,{class:t([o(j).b(),o(j).m(c.type),o(j).is(`center`,c.center),o(j).is(c.effect)]),role:`alert`},[c.showIcon&&(c.$slots.icon||o(P))?(_(),f(o(A),{key:0,class:t([o(j).e(`icon`),{[o(j).is(`big`)]:o(F)}])},{default:m(()=>[d(c.$slots,`icon`,{},()=>[(_(),f(g(o(P))))])]),_:3},8,[`class`])):a(`v-if`,!0),e(`div`,{class:t(o(j).e(`content`))},[c.title||c.$slots.title?(_(),s(`span`,{key:0,class:t([o(j).e(`title`),{"with-description":o(F)}])},[d(c.$slots,`title`,{},()=>[n(r(c.title),1)])],2)):a(`v-if`,!0),o(F)?(_(),s(`p`,{key:1,class:t(o(j).e(`description`))},[d(c.$slots,`default`,{},()=>[n(r(c.description),1)])],2)):a(`v-if`,!0),c.closable?(_(),s(l,{key:2},[c.closeText?(_(),s(`div`,{key:0,class:t([o(j).e(`close-btn`),o(j).is(`customed`)]),onClick:L},r(c.closeText),3)):(_(),f(o(A),{key:1,class:t(o(j).e(`close-btn`)),onClick:o(z)},{default:m(()=>[i(o(T))]),_:1},8,[`class`,`onClick`]))],64)):a(`v-if`,!0)],2)],2),[[b,M.value]])]),_:3},8,[`name`]))}}),[[`__file`,`alert.vue`]]));export{I as t};
@@ -0,0 +1 @@
1
+ import{A as e,B as t,G as n,Gt as r,H as i,I as a,Jt as o,K as s,Mt as c,N as l,Ot as u,Q as d,Rt as f,St as p,T as m,U as h,Vt as g,Wt as _,Y as v,ft as y,ht as b,it as x,j as S,k as C,mt as w,nt as T,p as E,pt as D,tt as O,wt as k,x as ee,z as A}from"./vendor-chart-Dw-P17PN.js";import{a as j,c as M,i as N,t as P}from"./install-Cn-SLM3u.js";import{c as F,d as I,n as L,r as R,u as z}from"./runtime-BTM7t9of.js";import{At as te,Ct as B,R as V,_ as ne,h as re,m as H,nt as ie,ot as U,rt as W,st as G,wt as K,zt as ae}from"./use-deprecated-B-uvyrTL.js";import{t as oe}from"./tooltip-CfB-zJmd.js";import{r as q}from"./aria-8oQuUBWy.js";import{n as se}from"./vnode-tCZAUc1D.js";import{t as J}from"./click-outside-CPwvCpQu.js";import{t as ce}from"./collapse-transition-BUGXhx7B.js";import{G as Y,Ji as X,Wi as le,na as ue}from"./index-BhZvbDpi.js";var de=class{constructor(e,t){this.parent=e,this.domNode=t,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll(`li`),this.addListeners()}gotoSubIndex(e){e===this.subMenuItems.length?e=0:e<0&&(e=this.subMenuItems.length-1),this.subMenuItems[e].focus(),this.subIndex=e}addListeners(){let e=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,t=>{t.addEventListener(`keydown`,t=>{let n=!1;switch(t.code){case X.down:this.gotoSubIndex(this.subIndex+1),n=!0;break;case X.up:this.gotoSubIndex(this.subIndex-1),n=!0;break;case X.tab:q(e,`mouseleave`);break;case X.enter:case X.numpadEnter:case X.space:n=!0,t.currentTarget.click();break}return n&&(t.preventDefault(),t.stopPropagation()),!1})})}},fe=class{constructor(e,t){this.domNode=e,this.submenu=null,this.submenu=null,this.init(t)}init(e){this.domNode.setAttribute(`tabindex`,`0`);let t=this.domNode.querySelector(`.${e}-menu`);t&&(this.submenu=new de(this,t)),this.addListeners()}addListeners(){this.domNode.addEventListener(`keydown`,e=>{let t=!1;switch(e.code){case X.down:q(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(0),t=!0;break;case X.up:q(e.currentTarget,`mouseenter`),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),t=!0;break;case X.tab:q(e.currentTarget,`mouseleave`);break;case X.enter:case X.numpadEnter:case X.space:t=!0,e.currentTarget.click();break}t&&e.preventDefault()})}},pe=class{constructor(e,t){this.domNode=e,this.init(t)}init(e){let t=this.domNode.childNodes;Array.from(t).forEach(t=>{t.nodeType===1&&new fe(t,e)})}},me=j(A({...A({name:`ElMenuCollapseTransition`}),setup(e){let t=M(`menu`),r={onBeforeEnter:e=>e.style.opacity=`0.2`,onEnter(e,n){W(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=`1`,n()},onAfterEnter(e){G(e,`${t.namespace.value}-opacity-transition`),e.style.opacity=``},onBeforeLeave(e){e.dataset||={},U(e,t.m(`collapse`))?(G(e,t.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),W(e,t.m(`collapse`))):(W(e,t.m(`collapse`)),e.dataset.oldOverflow=e.style.overflow,e.dataset.scrollWidth=e.clientWidth.toString(),G(e,t.m(`collapse`))),e.style.width=`${e.scrollWidth}px`,e.style.overflow=`hidden`},onLeave(e){W(e,`horizontal-collapse-transition`),e.style.width=`${e.dataset.scrollWidth}px`}};return(e,t)=>(O(),S(E,n({mode:`out-in`},c(r)),{default:w(()=>[x(e.$slots,`default`)]),_:3},16))}}),[[`__file`,`menu-collapse-transition.vue`]]);function he(e,t){let n=C(()=>{let n=e.parent,r=[t.value];for(;n.type.name!==`ElMenu`;)n.props.index&&r.unshift(n.props.index),n=n.parent;return r});return{parentMenu:C(()=>{let t=e.parent;for(;t&&![`ElMenu`,`ElSubMenu`].includes(t.type.name);)t=t.parent;return t}),indexPath:n}}function ge(e){return C(()=>{let t=e.backgroundColor;return t?new le(t).shade(20).toString():``})}var _e=(e,t)=>{let n=M(`menu`);return C(()=>n.cssVarBlock({"text-color":e.textColor||``,"hover-text-color":e.textColor||``,"bg-color":e.backgroundColor||``,"hover-bg-color":ge(e).value||``,"active-color":e.activeTextColor||``,level:`${t}`}))},Z=`rootMenu`,Q=`subMenu:`,ve=L({index:{type:String,required:!0},showTimeout:Number,hideTimeout:Number,popperClass:String,disabled:Boolean,teleported:{type:Boolean,default:void 0},popperOffset:Number,expandCloseIcon:{type:H},expandOpenIcon:{type:H},collapseCloseIcon:{type:H},collapseOpenIcon:{type:H}}),ye=`ElSubMenu`,be=A({name:ye,props:ve,setup(e,{slots:n,expose:r}){let a=t(),{indexPath:o,parentMenu:s}=he(a,C(()=>e.index)),c=M(`menu`),l=M(`sub-menu`),u=h(Z);u||K(ye,`can not inject root menu`);let f=h(`${Q}${s.value.uid}`);f||K(ye,`can not inject sub menu`);let g=k({}),x=k({}),S,w=k(!1),E=k(),D=k(),O=C(()=>R.value===`horizontal`&&j.value?`bottom-start`:`right-start`),A=C(()=>R.value===`horizontal`&&j.value||R.value===`vertical`&&!u.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?I.value?e.expandOpenIcon:e.expandCloseIcon:re:e.collapseCloseIcon&&e.collapseOpenIcon?I.value?e.collapseOpenIcon:e.collapseCloseIcon:ne),j=C(()=>f.level===0),N=C(()=>{let t=e.teleported;return z(t)?j.value:t}),P=C(()=>u.props.collapse?`${c.namespace.value}-zoom-in-left`:`${c.namespace.value}-zoom-in-top`),F=C(()=>R.value===`horizontal`&&j.value?[`bottom-start`,`bottom-end`,`top-start`,`top-end`,`right-start`,`left-start`]:[`right-start`,`right`,`right-end`,`left-start`,`bottom-start`,`bottom-end`,`top-start`,`top-end`]),I=C(()=>u.openedMenus.includes(e.index)),L=C(()=>[...Object.values(g.value),...Object.values(x.value)].some(({active:e})=>e)),R=C(()=>u.props.mode),te=C(()=>u.props.persistent),B=p({index:e.index,indexPath:o,active:L}),V=_e(u.props,f.level+1),H=C(()=>e.popperOffset??u.props.popperOffset),U=C(()=>e.popperClass??u.props.popperClass),W=C(()=>e.showTimeout??u.props.showTimeout),G=C(()=>e.hideTimeout??u.props.hideTimeout),q=()=>(D.value?.popperRef?.popperInstanceRef)?.destroy(),se=e=>{e||q()},J=()=>{u.props.menuTrigger===`hover`&&u.props.mode===`horizontal`||u.props.collapse&&u.props.mode===`vertical`||e.disabled||u.handleSubMenuClick({index:e.index,indexPath:o.value,active:L.value})},Y=(t,n=W.value)=>{var r;if(t.type!==`focus`){if(u.props.menuTrigger===`click`&&u.props.mode===`horizontal`||!u.props.collapse&&u.props.mode===`vertical`||e.disabled){f.mouseInChild.value=!0;return}f.mouseInChild.value=!0,S?.(),{stop:S}=ae(()=>{u.openMenu(e.index,o.value)},n),N.value&&((r=s.value.vnode.el)==null||r.dispatchEvent(new MouseEvent(`mouseenter`)))}},X=(t=!1)=>{var n;if(u.props.menuTrigger===`click`&&u.props.mode===`horizontal`||!u.props.collapse&&u.props.mode===`vertical`){f.mouseInChild.value=!1;return}S?.(),f.mouseInChild.value=!1,{stop:S}=ae(()=>!w.value&&u.closeMenu(e.index,o.value),G.value),N.value&&t&&((n=f.handleMouseleave)==null||n.call(f,!0))};return y(()=>u.props.collapse,e=>se(!!e)),T(`${Q}${a.uid}`,{addSubMenu:e=>{x.value[e.index]=e},removeSubMenu:e=>{delete x.value[e.index]},handleMouseleave:X,mouseInChild:w,level:f.level+1}),r({opened:I}),d(()=>{u.addSubMenu(B),f.addSubMenu(B)}),v(()=>{f.removeSubMenu(B),u.removeSubMenu(B)}),()=>{let t=[n.title?.call(n),i(ie,{class:l.e(`icon-arrow`),style:{transform:I.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&u.props.collapse?`none`:`rotateZ(180deg)`:`none`}},{default:()=>_(A.value)?i(a.appContext.components[A.value]):i(A.value)})],r=u.isMenuPopup?i(oe,{ref:D,visible:I.value,effect:`light`,pure:!0,offset:H.value,showArrow:!1,persistent:te.value,popperClass:U.value,placement:O.value,teleported:N.value,fallbackPlacements:F.value,transition:P.value,gpuAcceleration:!1},{content:()=>i(`div`,{class:[c.m(R.value),c.m(`popup-container`),U.value],onMouseenter:e=>Y(e,100),onMouseleave:()=>X(!0),onFocus:e=>Y(e,100)},[i(`ul`,{class:[c.b(),c.m(`popup`),c.m(`popup-${O.value}`)],style:V.value},[n.default?.call(n)])]),default:()=>i(`div`,{class:l.e(`title`),onClick:J},t)}):i(m,{},[i(`div`,{class:l.e(`title`),ref:E,onClick:J},t),i(ce,{},{default:()=>b(i(`ul`,{role:`menu`,class:[c.b(),c.m(`inline`)],style:V.value},[n.default?.call(n)]),[[ee,I.value]])})]);return i(`li`,{class:[l.b(),l.is(`active`,L.value),l.is(`opened`,I.value),l.is(`disabled`,e.disabled)],role:`menuitem`,ariaHaspopup:!0,ariaExpanded:I.value,onMouseenter:Y,onMouseleave:()=>X(),onFocus:Y},[r])}}}),xe=L({mode:{type:String,values:[`horizontal`,`vertical`],default:`vertical`},defaultActive:{type:String,default:``},defaultOpeneds:{type:R(Array),default:()=>ue([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:[`hover`,`click`],default:`hover`},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,closeOnClickOutside:Boolean,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0},popperOffset:{type:Number,default:6},ellipsisIcon:{type:H,default:()=>V},popperEffect:{type:R(String),default:`dark`},popperClass:String,showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},persistent:{type:Boolean,default:!0}}),Se=e=>f(e)&&e.every(e=>_(e)),Ce=A({name:`ElMenu`,props:xe,emits:{close:(e,t)=>_(e)&&Se(t),open:(e,t)=>_(e)&&Se(t),select:(e,t,n,r)=>_(e)&&Se(t)&&g(n)&&(z(r)||r instanceof Promise)},setup(e,{emit:n,slots:r,expose:a}){let o=t(),c=o.appContext.config.globalProperties.$router,l=k(),u=M(`menu`),f=M(`sub-menu`),m=k(-1),h=k(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),g=k(e.defaultActive),_=k({}),v=k({}),x=C(()=>e.mode===`horizontal`||e.mode===`vertical`&&e.collapse),S=()=>{let t=g.value&&_.value[g.value];!t||e.mode===`horizontal`||e.collapse||t.indexPath.forEach(e=>{let t=v.value[e];t&&w(e,t.indexPath)})},w=(t,r)=>{h.value.includes(t)||(e.uniqueOpened&&(h.value=h.value.filter(e=>r.includes(e))),h.value.push(t),n(`open`,t,r))},E=e=>{let t=h.value.indexOf(e);t!==-1&&h.value.splice(t,1)},O=(e,t)=>{E(e),n(`close`,e,t)},ee=({index:e,indexPath:t})=>{h.value.includes(e)?O(e,t):w(e,t)},A=t=>{(e.mode===`horizontal`||e.collapse)&&(h.value=[]);let{index:r,indexPath:i}=t;if(!(I(r)||I(i)))if(e.router&&c){let e=t.route||r,a=c.push(e).then(e=>(e||(g.value=r),e));n(`select`,r,i,{index:r,indexPath:i,route:e},a)}else g.value=r,n(`select`,r,i,{index:r,indexPath:i})},j=t=>{let n=_.value;g.value=(n[t]||g.value&&n[g.value]||n[e.defaultActive])?.index??t},N=e=>{let t=getComputedStyle(e),n=Number.parseInt(t.marginLeft,10),r=Number.parseInt(t.marginRight,10);return e.offsetWidth+n+r||0},P=()=>{if(!l.value)return-1;let e=Array.from(l.value?.childNodes??[]).filter(e=>e.nodeName!==`#text`||e.nodeValue),t=getComputedStyle(l.value),n=Number.parseInt(t.paddingLeft,10),r=Number.parseInt(t.paddingRight,10),i=l.value.clientWidth-n-r,a=0,o=0;return e.forEach((e,t)=>{e.nodeName!==`#comment`&&(a+=N(e),a<=i-64&&(o=t+1))}),o===e.length?-1:o},F=e=>v.value[e].indexPath,L=(e,t=33.34)=>{let n;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e()},t)}},R=!0,z=()=>{if(m.value===P())return;let e=()=>{m.value=-1,s(()=>{m.value=P()})};R?e():L(e)(),R=!1};y(()=>e.defaultActive,e=>{_.value[e]||(g.value=``),j(e)}),y(()=>e.collapse,e=>{e&&(h.value=[])}),y(_.value,S);let B;D(()=>{e.mode===`horizontal`&&e.ellipsis?B=te(l,z).stop:B?.()});let V=k(!1);{let t=e=>{v.value[e.index]=e},n=e=>{delete v.value[e.index]};T(Z,p({props:e,openedMenus:h,items:_,subMenus:v,activeIndex:g,isMenuPopup:x,addMenuItem:e=>{_.value[e.index]=e},removeMenuItem:e=>{delete _.value[e.index]},addSubMenu:t,removeSubMenu:n,openMenu:w,closeMenu:O,handleMenuItemClick:A,handleSubMenuClick:ee})),T(`${Q}${o.uid}`,{addSubMenu:t,removeSubMenu:n,mouseInChild:V,level:0})}d(()=>{e.mode===`horizontal`&&new pe(o.vnode.el,u.namespace.value)}),a({open:e=>{let{indexPath:t}=v.value[e];t.forEach(e=>w(e,t))},close:E,updateActiveIndex:j,handleResize:z});let ne=_e(e,0);return()=>{let t=r.default?.call(r)??[],a=[];if(e.mode===`horizontal`&&l.value){let n=se(t),r=m.value===-1?n:n.slice(0,m.value),o=m.value===-1?[]:n.slice(m.value);o?.length&&e.ellipsis&&(t=r,a.push(i(be,{index:`sub-menu-more`,class:f.e(`hide-arrow`),popperOffset:e.popperOffset},{title:()=>i(ie,{class:f.e(`icon-more`)},{default:()=>i(e.ellipsisIcon)}),default:()=>o})))}let o=e.closeOnClickOutside?[[J,()=>{h.value.length&&(V.value||(h.value.forEach(e=>n(`close`,e,F(e))),h.value=[]))}]]:[],s=b(i(`ul`,{key:String(e.collapse),role:`menubar`,ref:l,style:ne.value,class:{[u.b()]:!0,[u.m(e.mode)]:!0,[u.m(`collapse`)]:e.collapse}},[...t,...a]),o);return e.collapseTransition&&e.mode===`vertical`?i(me,()=>s):s}}}),we=L({index:{type:R([String,null]),default:null},route:{type:R([String,Object])},disabled:Boolean}),Te={click:e=>_(e.index)&&f(e.indexPath)},$=`ElMenuItem`,Ee=j(A({...A({name:$}),props:we,emits:Te,setup(n,{expose:i,emit:a}){let o=n;F(o.index)&&B($,`Missing required prop: "index"`);let s=t(),f=h(Z),g=M(`menu`),_=M(`menu-item`);f||K($,`can not inject root menu`);let{parentMenu:y,indexPath:b}=he(s,u(o,`index`)),T=h(`${Q}${y.value.uid}`);T||K($,`can not inject sub menu`);let E=C(()=>o.index===f.activeIndex),D=p({index:o.index,indexPath:b,active:E}),k=()=>{o.disabled||(f.handleMenuItemClick({index:o.index,indexPath:b.value,route:o.route}),a(`click`,D))};return d(()=>{T.addSubMenu(D),f.addMenuItem(D)}),v(()=>{T.removeSubMenu(D),f.removeMenuItem(D)}),i({parentMenu:y,rootMenu:f,active:E,nsMenu:g,nsMenuItem:_,handleClick:k}),(t,n)=>(O(),l(`li`,{class:r([c(_).b(),c(_).is(`active`,c(E)),c(_).is(`disabled`,t.disabled)]),role:`menuitem`,tabindex:`-1`,onClick:k},[c(y).type.name===`ElMenu`&&c(f).props.collapse&&t.$slots.title?(O(),S(c(oe),{key:0,effect:c(f).props.popperEffect,placement:`right`,"fallback-placements":[`left`],persistent:c(f).props.persistent},{content:w(()=>[x(t.$slots,`title`)]),default:w(()=>[e(`div`,{class:r(c(g).be(`tooltip`,`trigger`))},[x(t.$slots,`default`)],2)]),_:3},8,[`effect`,`persistent`])):(O(),l(m,{key:1},[x(t.$slots,`default`),x(t.$slots,`title`)],64))],2))}}),[[`__file`,`menu-item.vue`]]),De={title:String},Oe=j(A({...A({name:`ElMenuItemGroup`}),props:De,setup(t){let n=M(`menu-item-group`);return(t,i)=>(O(),l(`li`,{class:r(c(n).b())},[e(`div`,{class:r(c(n).e(`title`))},[t.$slots.title?x(t.$slots,`title`,{key:1}):(O(),l(m,{key:0},[a(o(t.title),1)],64))],2),e(`ul`,null,[x(t.$slots,`default`)])],2))}}),[[`__file`,`menu-item-group.vue`]]),ke=P(Ce,{MenuItem:Ee,MenuItemGroup:Oe,SubMenu:be}),Ae=N(Ee);N(Oe);var je=N(be),Me=A({props:{collapsed:{type:Boolean,default:!1}},emits:[`click`],computed:{siteTitle(){return this.$store.state.site?.title||`AceData`},url(){let e=this.$store.state.site,t=`https://platform.acedata.cloud/favicon.ico`;return this.collapsed?e?.favicon||e?.logo||t:e?.logo||e?.favicon||t}}}),Ne=[`aria-label`],Pe=[`src`,`alt`];function Fe(t,n,r,i,a,o){return O(),l(`button`,{type:`button`,class:`brand-logo`,"aria-label":t.siteTitle,onClick:n[0]||=e=>t.$emit(`click`)},[e(`img`,{src:t.url,class:`brand-logo__image`,alt:t.siteTitle},null,8,Pe)],8,Ne)}var Ie=Y(Me,[[`render`,Fe],[`__scopeId`,`data-v-fefbbe27`]]),Le=`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAMAAAAKE/YAAAAAMFBMVEX///+3t7f4+Pi8vLzAwMDExMTS0tLIyMjk5OTz8/PY2NjOzs7u7u7d3d3p6enh4eFVKkJDAAAIfUlEQVR4nNVd15akOAylyRRQ9f9/O02BZJtgBQszfR/2zPahsJCvguVUFJYop35ux66pq6r6+fn9T910bTv3U2najBXK9zw2PxE07fz+n0Qf+raOyetL3g9PS7vgzRUYULfvZyXuR5nAgLF/SuK3UuJN7gf0PbyErDiieuU1zKmLyFJ3Y9u+vmh//V9dXT/b5VN3f+HbFq82nGivHH6999Vv8rC7P+NFzfBlF56xvl/sEy1Xbc8mZ9m3R7bcrO0jl+vXJH7J0YY78UvYKNuDjpWNTQd9tzd5ks9ePUm92u877WMlp4dhR+Y2OYkYdh3XmKclc9iATVwoXyFLZouXIobuBpEXlK+QcYbK7gOF2NpMaN2Vmfdr71LGirAbW5N3lr4F1rckC0GQbQw6cqrM1XACvzOr5EjT+2q+L24Vk6/sRGL7no6t5un9eQE+7JG4r+wk3+e9iGfXwzyeZHLjzDGFt0fEBB564ymOeRwzCg8dHaZ9kx8NZGZ8+UyOv0bSW3o9q5Tac5+0luajjGfqpsT2krIuTeaKZGQf4UUIKpx6xFbo2nGD9HSlpJZAGfSQILVjV02Z4CQsJhD2UdbcJ/dwyRfpNvozwaLo4q/0nMhLIrMThJSZZ4EhiJd6Ugti43SvzCTlPKnZmUNZMV+u4cYKwp85XlfcTBi/s6Z+MZ2LxADhGZzUDU9m5zjIr0woQhLxasAHWS7E9TgZU/Z1EBEIjbzxQYYxOudOxu73qTBcUGEaIzqD1hi96W6JTgzRoDSI/UhmITP7yUPFSYqaagD1R4wJkP8VnT8nTwVQqnauN06QjvtCvYt2IL3Zm/Uk9jjDz0RmMLggwx3SOuIUSniGpJv3bAJo1SAFr9mKH8aI+LqkI0RFtoIh9/L76Cc8GLCDoxxSjyAHgxxFYSEzJ18Ggly4YHQHnCQ2LRoCGINXQirim0JYUJpDatf/p24PP4mVwSblSg6MEhDGuzNVg6J5o8nEvAPAGZiAfk5MDRXNqxcmx/AVHPMprx8G1TEHwOzqTByseTgoDRxYDT6akSh9YSMzr6aLidOeTGCj3EqDkdC8GU9Q9c6voYlyJzxy0sOxOnRs8C3sQpSR92DOO4EDCXkAzoA935bPTy8AIgTBCIIyvyZsExF/uM2Byfk9A7VafuksfdyygFmJcc35NZ7tT5xUYMNwJYcI/FouGP7xOyT1YBOh+aVcsCHHBWCHZHLTxOfxF6ZA8HP82P7ASv4BJj5PMNMO/g3+H9ghqrtnGm4hIJLAd7byVxg5asGCA+AH2N2meYHvKPxZmQRIGtyMaOMweC/ZXJJJdJE0CF27Bm0oK8kWLKSWHxeILB8s7xN8gmxFi0VIFAkNqd5KiI3S7JBqJ7Ssycb70vAL2LAofMiE9hkBrQvX4OTXNLS4eGpwA8KlaxaGKHOy4OWWcSVoXSZz9ohYYLaxpB8bv4V2aFGeFiYOvqTb74V2mHkQ8IXjBKhMuKrMJIoLOQlmVGIiIlyPmXdguwJ6d8J/CZ1H0m4iB1Gr4D569HjCZalPaNoxeWtd5jKf4TRkpy30syh3KbLXPVZsWdIIQUK6dO8Jl+dkbUB6GfRranwIWx3hUzeVi5fRmggtDA6b/dWO3ELkLiF4QldqoXOPxhe8QOjt57LUpXhguGUhtEUFUtq9EBzUQluQWrphIV1oA1JLm0R6VFqh0z21eH30XmjFdofbF14dgC5PG1zS0w9pjuYFF2UYL9KHiXJGYhhXJkwLEk1RvrEMZVWmpgvSVC1XtEtNlYOAL1JYrdESOg3lcGtFQsVGs+Nu++msHdiu0BNEQQ5vYKssIWxQx3JNc1AqnbTFmg3qSoKmYz0mb//S7QDU1k5Vdu+VSnUFyA3aBES1ca9zkqb4PPVQUUVG74OVRfUNSqencXh+UR1sUnfqgy6+qLrVn75QThRt0I26VG0FU4dbRNfE1ULpqVVBIZBTN/kJ0PBDxY6QEbpp5v27JFCxI5xm1k3oIxT+Q+Wowgl93dIJhHzqVrW5erd0QrdIxUE8wFXxcL9IBXSlSRcLuSnq3NR+OZBq4ZWD1FXr8sn9wivVEjcPwtVuKtd6XOKmWUzoQeY/dCczHBcTKpZtnr2QB104gN70ukm+QNaHzBJV7DhbIAt/040ERMMXnbUDAwOtgvZVsUo0KaCi9Omib/SCqleKhE7KSsNIIt7IkFXoi40MSBrNO28X+ooHOKxWqPpuoVHRh7FDo3+pyHsorOZyG5R0w5kPUZmJffYFIrLhTLi1DzFJT0X+aWaZ3JGtfcJNlCvesTOuIpAcLBrdRIms5g4s+jFlM0PFPYY6ul1VtDG4PJzwqQHnGGpKKlA1fVKN0VqxX31Tx1DjOTBXaRFvs3vaWdkniPIEF3hdGgEmxpev0VpeHNf8ZuiROMBhet0hMch9qkogR2wXbeSojHI22jd5ifp1cLbY9dHB8NWhJCbOgkYzBxpFzxH3wu74F++ro8ckWsM7a5l7/IuzVnAxJX1MojGQ3shHslKCPPimY+b+jYfmU0qONPIOj5rzK9lDi33OyQttVpEaglXXMFoabQVmqny3QxaBW4opM3o4CtwDJazWGZtAUMi12ONkAtGMrNGS/1QI5yb+CxciLmc8EwoDKEokefK6CBKPRf47Mj/MEIujvv+MzA/6kKQLCR7y18q5Y8AjiWryrR1T9uwp/RqJ3YUdGWBxYUeR2RzN7gThn6ifCrtLaA7X/dwG4xtusvg+24uVihzKtr/Cqrh7OFPdcVlYcXItmyHS7x67ROwyxxTceAHegqsLHVOQ4WLH00sdE5DhUsev2IbaznR95gKrCnDGi0oXDOmTRrmvhP3i712+u+LvXXO84u9dKL2Cf3V33X7+i6u7N/y5S9IdvOvoF0G/19GP9tfR/wPQ21eEI8clLwAAAABJRU5ErkJggg==`;export{je as a,Ae as i,Ie as n,ke as r,Le as t};
@@ -1,4 +1,4 @@
1
- import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{en as n}from"./index-B1koIKPx.js";import{i as r,l as i,n as a,o,t as s}from"./lit-Czpkz5lw.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./wui-text-IdpNh4yv.js";import{$ as m,G as h,H as g,J as _,K as v,Q as ee,U as y,W as b,X as x,Y as S,Z as C,a as w,et as te,g as T,i as ne,n as E,p as re,r as D,s as O,u as ie,v as ae}from"./ConstantsUtil-CiJQ7E9o.js";import{n as oe,t as se}from"./ConnectorUtil-BNHqGaBo.js";var ce=i`
1
+ import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{en as n}from"./index-BhZvbDpi.js";import{i as r,l as i,n as a,o,t as s}from"./lit-Czpkz5lw.js";import{a as c,i as l,n as u,o as d,r as f,t as p}from"./wui-text-IdpNh4yv.js";import{$ as m,G as h,H as g,J as _,K as v,Q as ee,U as y,W as b,X as x,Y as S,Z as C,a as w,et as te,g as T,i as ne,n as E,p as re,r as D,s as O,u as ie,v as ae}from"./ConstantsUtil-CiJQ7E9o.js";import{n as oe,t as se}from"./ConnectorUtil-BNHqGaBo.js";var ce=i`
2
2
  :host {
3
3
  position: relative;
4
4
  background-color: var(--wui-color-gray-glass-002);
@@ -1 +1 @@
1
- import{Ji as e}from"./constants-9-gZ9dm-.js";import{cr as t,gi as n,lr as r,ri as i,wr as a,yr as o}from"./index-B1koIKPx.js";var s={namespaced:!0,state:i,mutations:{setModel:(e,t)=>{e.model=t},setModelGroup:(e,t)=>{e.modelGroup=t},setService:(e,t)=>{e.service=t},setCredential:(e,t)=>{e.credential=t},setConversations:(e,t)=>{e.conversations=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setMemoryEnabled:(e,t)=>{e.memoryEnabled=t},setPendingDraft:(e,t)=>{e.pendingDraft=t||``},resetAll:e=>{let t=e.memoryEnabled;Object.assign(e,i()),e.memoryEnabled=t}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},createCredential:async({commit:e,state:n})=>{let r=n.application;if(console.debug(`prepare to create credential for application for chat`,r),!r){console.error(`Application not found`);return}console.debug(`creating create credential for application for chat`,r);let{data:i}=await t.create({application_id:r?.id,host:window.location.origin});return console.debug(`created credential success`,i),e(`setCredential`,i),console.debug(`end createCredential`),i},setModel:async({commit:e},t)=>{e(`setModel`,t)},setModelGroup:async({commit:e},t)=>{e(`setModelGroup`,t)},getService:async({commit:t,state:i})=>{i.status.getService=n.Request;try{let{data:a}=await r.get(e);return i.status.getService=n.Success,t(`setService`,a),a}catch{i.status.getService=n.Error,t(`setService`,void 0)}},setService:async({commit:e},t)=>{console.debug(`set service for chat`,t),e(`setService`,t)},setCredential:async({commit:e},t)=>{console.debug(`set credential`,t),e(`setCredential`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`set application`,r),e(`setApplication`,r),console.debug(`application is set`),!r){console.debug(`application is null, return`);return}let i=n?.user?.id,a=r?.role===`grantee`,o=r?.credentials?.find(e=>e?.host===window.location.origin);!o&&a&&(o=r?.credentials?.find(e=>e?.user_id===i)),o?(console.debug(`credential exists, set credential`,o),e(`setCredential`,o)):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):(console.debug(`credential not exists, start to create credential for application`,r),await t(`createCredential`))},setApplications:async({commit:e},t)=>{console.debug(`set applications for chat`,t),e(`setApplications`,t)},getApplications:async({commit:t,state:r,rootState:i})=>{if(console.debug(`start to get applications for chat`),!i?.token?.access)return r.status.getApplications=n.Success,t(`setApplications`,[]),t(`setApplication`,void 0),t(`setCredential`,void 0),[];r.status.getApplications=n.Request;try{let{data:i}=await a.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return console.debug(`get applications success for chat`,i),r.status.getApplications=n.Success,t(`setApplications`,i.items),console.debug(`set applications for chat`,i.items),i.items}catch(e){console.error(`get applications failed for chat`,e),r.status.getApplications=n.Error}},setConversation:async({commit:e,state:t},n)=>{console.debug(`set conversation`,n);let r=t.conversations||[],i=r?.findIndex(e=>e.id===n.id);i>-1?r[i]=n:r?.unshift(n),e(`setConversations`,r),console.debug(`set conversation success`,r)},setConversations:async({commit:e},t)=>{console.debug(`set conversations`,t),e(`setConversations`,t)},getConversations:async({commit:e,state:t,rootState:r})=>{t.status.getConversations=n.Request;let i=t.credential?.token,a=t.modelGroup?.name;if(!i||!a)return t.status.getConversations=n.Error,e(`setConversations`,[]),[];try{let{data:s}=await o.getConversations({userId:r.user?.id,modelGroup:a},{token:i});return console.debug(`get conversations success`,s?.items?.length,`group=`,a),t.status.getConversations=n.Success,e(`setConversations`,s.items),s.items}catch{return t.status.getConversations=n.Error,e(`setConversations`,[]),[]}},getConversation:async({commit:e,state:t},n)=>{let r=t.credential?.token;if(!(!r||!n))try{let{data:i}=await o.getConversation(n,{token:r}),a=t.conversations||[],s=a.findIndex(e=>e.id===n),c=s>-1?{...a[s],...i}:i;if(s>-1){let t=[...a];t[s]=c,e(`setConversations`,t)}return c}catch(e){console.error(`getConversation failed`,n,e);return}}}};export{s as chat,s as default};
1
+ import{Ji as e}from"./constants-BC87sw1I.js";import{_i as t,cr as n,ii as r,lr as i,wr as a,yr as o}from"./index-BhZvbDpi.js";var s={namespaced:!0,state:r,mutations:{setModel:(e,t)=>{e.model=t},setModelGroup:(e,t)=>{e.modelGroup=t},setService:(e,t)=>{e.service=t},setCredential:(e,t)=>{e.credential=t},setConversations:(e,t)=>{e.conversations=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setMemoryEnabled:(e,t)=>{e.memoryEnabled=t},setPendingDraft:(e,t)=>{e.pendingDraft=t||``},resetAll:e=>{let t=e.memoryEnabled;Object.assign(e,r()),e.memoryEnabled=t}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},createCredential:async({commit:e,state:t})=>{let r=t.application;if(console.debug(`prepare to create credential for application for chat`,r),!r){console.error(`Application not found`);return}console.debug(`creating create credential for application for chat`,r);let{data:i}=await n.create({application_id:r?.id,host:window.location.origin});return console.debug(`created credential success`,i),e(`setCredential`,i),console.debug(`end createCredential`),i},setModel:async({commit:e},t)=>{e(`setModel`,t)},setModelGroup:async({commit:e},t)=>{e(`setModelGroup`,t)},getService:async({commit:n,state:r})=>{r.status.getService=t.Request;try{let{data:a}=await i.get(e);return r.status.getService=t.Success,n(`setService`,a),a}catch{r.status.getService=t.Error,n(`setService`,void 0)}},setService:async({commit:e},t)=>{console.debug(`set service for chat`,t),e(`setService`,t)},setCredential:async({commit:e},t)=>{console.debug(`set credential`,t),e(`setCredential`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`set application`,r),e(`setApplication`,r),console.debug(`application is set`),!r){console.debug(`application is null, return`);return}let i=n?.user?.id,a=r?.role===`grantee`,o=r?.credentials?.find(e=>e?.host===window.location.origin);!o&&a&&(o=r?.credentials?.find(e=>e?.user_id===i)),o?(console.debug(`credential exists, set credential`,o),e(`setCredential`,o)):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):(console.debug(`credential not exists, start to create credential for application`,r),await t(`createCredential`))},setApplications:async({commit:e},t)=>{console.debug(`set applications for chat`,t),e(`setApplications`,t)},getApplications:async({commit:n,state:r,rootState:i})=>{if(console.debug(`start to get applications for chat`),!i?.token?.access)return r.status.getApplications=t.Success,n(`setApplications`,[]),n(`setApplication`,void 0),n(`setCredential`,void 0),[];r.status.getApplications=t.Request;try{let{data:i}=await a.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return console.debug(`get applications success for chat`,i),r.status.getApplications=t.Success,n(`setApplications`,i.items),console.debug(`set applications for chat`,i.items),i.items}catch(e){console.error(`get applications failed for chat`,e),r.status.getApplications=t.Error}},setConversation:async({commit:e,state:t},n)=>{console.debug(`set conversation`,n);let r=t.conversations||[],i=r?.findIndex(e=>e.id===n.id);i>-1?r[i]=n:r?.unshift(n),e(`setConversations`,r),console.debug(`set conversation success`,r)},setConversations:async({commit:e},t)=>{console.debug(`set conversations`,t),e(`setConversations`,t)},getConversations:async({commit:e,state:n,rootState:r})=>{n.status.getConversations=t.Request;let i=n.credential?.token,a=n.modelGroup?.name;if(!i||!a)return n.status.getConversations=t.Error,e(`setConversations`,[]),[];try{let{data:s}=await o.getConversations({userId:r.user?.id,modelGroup:a},{token:i});return console.debug(`get conversations success`,s?.items?.length,`group=`,a),n.status.getConversations=t.Success,e(`setConversations`,s.items),s.items}catch{return n.status.getConversations=t.Error,e(`setConversations`,[]),[]}},getConversation:async({commit:e,state:t},n)=>{let r=t.credential?.token;if(!(!r||!n))try{let{data:i}=await o.getConversation(n,{token:r}),a=t.conversations||[],s=a.findIndex(e=>e.id===n),c=s>-1?{...a[s],...i}:i;if(s>-1){let t=[...a];t[s]=c,e(`setConversations`,t)}return c}catch(e){console.error(`getConversation failed`,n,e);return}}}};export{s as chat,s as default};
@@ -1,2 +1,2 @@
1
- import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as ee,T as m,V as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o as w,p as T,r as E,ra as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P,z as F}from"./constants-9-gZ9dm-.js";import{Ci as I,Ei as L,Mr as R,gi as z,jn as B}from"./index-B1koIKPx.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-sHYFza28.js";var G=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,K=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},q=(e,t)=>{if(!K())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},ce=class{ws;token;handlers;reconnectDelay=o;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${D}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=o,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(q(`recv`,n),n?.type){case t:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case F:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case S:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,h)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:G(),ts:Date.now(),type:e,...t};q(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(C,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(T,{})}resume(e){this.sendEnvelope(ae,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},J,Y=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,X=(e,t,n)=>({id:Y(),session_id:e,kind:t,ts:Date.now(),...n}),Z=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},le=e=>{let t=Z(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
- `)},ue=(e,t)=>{H({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Q=(t,o,p,h,_)=>{let y=h?.event,b=h?.session_id,x=h?.trace_id,S=h?.seq;if(typeof S==`number`&&b){let e=p.lastSeq[b];if(e!==void 0&&S<=e)return;t(`setLastSeq`,{session_id:b,seq:S})}switch(b&&x&&t(`updateSession`,{session_id:b,trace_id:x}),y){case ne:t(`upsertSession`,{session_id:b,node_id:_,status:`running`,cwd:h.cwd,model:h.model,...h.effort===void 0?{}:{effort:h.effort},...h.permission_mode===void 0?{}:{permission_mode:h.permission_mode},trace_id:x});break;case r:{let e=h.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case f:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:h.text??``}):t(`appendEvent`,X(b,`text`,{text:h.text??``,stream_id:e,streaming:!0,trace_id:x}));break}case u:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:h.text}):t(`appendEvent`,X(b,`text`,{text:h.text,trace_id:x}));break}case a:t(`appendEvent`,X(b,`thinking`,{text:h.text,trace_id:x}));break;case c:t(`appendEvent`,X(b,`tool_use`,{tool:h.tool,tool_use_id:h.tool_use_id,input:h.input,trace_id:x}));break;case s:t(`appendEvent`,X(b,`tool_result`,{tool_use_id:h.tool_use_id,content:h.content,is_error:h.is_error,trace_id:x}));break;case ee:t(`addPermission`,{request_id:h.request_id,session_id:b,node_id:_,tool:h.tool,input:h.input,title:h.title,display_name:h.display_name,description:h.description}),ue(o,{node_id:_,session_id:b,request_id:h.request_id,tool:h.display_name||h.title||h.tool});break;case N:for(let e of h.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:_,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case n:t(`removePermission`,h.request_id);break;case re:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`result`,{subtype:h.subtype,is_error:h.is_error,text:h.result,cost_usd:h.cost_usd,cut_uuid:h.cut_uuid,sdk_session_id:h.sdk_session_id,trace_id:x})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:h.cost_usd});break;case d:t(`appendEvent`,X(b,`notice`,{text:h.text,subtype:h.code,command:h.command,level:h.level}));break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`error`,{text:h.message,trace_id:x})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:z.Success});break;case m:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`});break;case e:t(`rewindToCut`,{session_id:b,cut_uuid:h.cut_uuid}),h.prompt&&t(`appendEvent`,X(b,`prompt`,{text:h.prompt,trace_id:x})),t(`updateSession`,{session_id:b,status:`running`});break;case l:o(`resyncSession`,b);break;case M:for(let e of h.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:_,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case v:if(_){t(`setHistory`,{node_id:_,sessions:h.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:z.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,h,_),t(`updateStatus`,{key:`getHistoryDetail`,value:z.Success});break;case j:t(`setDirectory`,{path:h.path,parent:h.parent??null,sep:h.sep??`/`,entries:h.entries??[],truncated:h.truncated,error:h.error});break;case g:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:h.providers??[]}});break;default:break}},de=(e,t,n,r)=>{let i=n?.session_id,a=fe(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:Y(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},fe=e=>e===`codex`||e===`copilot`?e:`claude`,$={namespaced:!0,state:R,mutations:{resetAll:e=>{Object.assign(e,R())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],e.lastSeq[r]=0;for(let t of e.permissions)t.session_id===n&&(t.session_id=r);e.currentSessionId===n&&(e.currentSessionId=r),e.historyRef?.session_id===n&&(e.historyRef={...e.historyRef,session_id:r})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{let n=e.events[t.session_id];if(!n)return;if(!t.cut_uuid){e.events[t.session_id]=[];return}let r=n.findIndex(e=>e.kind===`result`&&e.cut_uuid===t.cut_uuid);r>=0&&(e.events[t.session_id]=n.slice(0,r+1))},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},appendDelta:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(r.text=(r.text??``)+(t.text??``))},finalizeStream:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(typeof t.text==`string`&&(r.text=t.text),r.streaming=!1)},finalizeAllStreams:(e,t)=>{let n=e.events[t.session_id];if(n)for(let e of n)e.streaming&&=!1},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:z.Request});try{let{data:t}=await B.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:z.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:z.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:z.Request});try{let{data:n}=await B.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:z.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:z.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:z.Request});try{await B.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:z.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:z.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(J?.isOpen||(J?.close(),e(`setConnection`,`connecting`),J=new ce(i,{onOpen:()=>{e(`setConnection`,`connected`);let r={...n.lastSeq};Object.keys(r).length&&J?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Q(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),J.connect()))},disconnect:({commit:e})=>{J?.close(),J=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:O})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:_})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(L()){let t=await W(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await B.savePushSubscription({kind:I()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await V();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await B.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await se(e.vapid_public_key);t&&await B.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(L()||!t)return;let n=await U();if(n)try{await B.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!J||!i&&!a&&!o)return;let s=Y(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=Y(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),J.sendToNode(r,{action:x,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),J.sendToNode(r,{action:b,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!J||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=Y();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,X(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),J.sendToNode(r,{action:ie,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!J||J.sendToNode(n,{action:A,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&J&&J.sendToNode(i,{action:y,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:`allow`,answer:Z(n.output),answer_text:le(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!J||(e(`updateStatus`,{key:`getHistory`,value:z.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:z.Request}),J.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:z.Success}),12e3))},reattachSession:({state:e,commit:t,dispatch:n},r)=>{!r?.node_id||!r?.session_id||(t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id),J?.resume({[r.session_id]:e.lastSeq[r.session_id]??0}))},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!J||(e(`setDirectoryLoading`,!0),J.sendToNode(r,{action:oe,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:k})}}};export{$ as codingBridge,$ as default};
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,S as ee,T as m,V as h,_ as g,a as _,b as v,c as y,d as b,f as x,g as S,h as C,i as te,j as ne,k as re,l as ie,m as ae,n as oe,o as w,p as T,r as E,ra as D,s as O,t as k,u as A,v as j,w as M,x as N,y as P,z as F}from"./constants-BC87sw1I.js";import{Di as I,Nr as L,_i as R,jn as z,wi as B}from"./index-BhZvbDpi.js";import{a as se,i as V,n as H,o as U,r as W}from"./codingBridgeNotify-DaYhdz6C.js";var G=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,K=()=>{try{return typeof localStorage<`u`&&localStorage.getItem(`cbDebug`)===`1`}catch{return!1}},q=(e,t)=>{if(!K())return;let n=t?.payload??{};console.debug(`[codingBridge]`,e,{type:t?.type,id:t?.id,node_id:t?.node_id??t?.from_node,action:n?.action,event:n?.event,session_id:n?.session_id,trace_id:n?.trace_id})},ce=class{ws;token;handlers;reconnectDelay=o;reconnectTimer;closedByUser=!1;constructor(e,t){this.token=e,this.handlers=t}get isOpen(){return this.ws?.readyState===WebSocket.OPEN}connect(){this.closedByUser=!1,this.open()}open(){if(this.ws&&(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING))return;let e=`${D}?token=${encodeURIComponent(this.token)}`,t;try{t=new WebSocket(e)}catch(e){console.warn(`[codingBridge] failed to open socket`,e),this.scheduleReconnect();return}this.ws=t,t.onopen=()=>{this.reconnectDelay=o,this.handlers.onOpen?.()},t.onmessage=e=>this.onMessage(e),t.onclose=()=>{this.handlers.onClose?.(),this.closedByUser||this.scheduleReconnect()},t.onerror=()=>{t.close()}}onMessage(e){let n;try{n=JSON.parse(e.data)}catch{return}let r=n?.payload??{};switch(q(`recv`,n),n?.type){case t:this.handlers.onEvent?.(r,n?.from_node);break;case p:this.handlers.onNodesSnapshot?.(r.nodes??[]);break;case F:this.handlers.onNodeStatus?.(r.node_id,r.status);break;case S:this.handlers.onRelayError?.(r.code??`error`,r.message??``);break;default:break}}scheduleReconnect(){if(this.closedByUser||this.reconnectTimer)return;let e=this.reconnectDelay;this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=void 0,this.open()},e),this.reconnectDelay=Math.min(this.reconnectDelay*2,h)}sendEnvelope(e,t){if(!this.isOpen)return;let n={v:2,id:G(),ts:Date.now(),type:e,...t};q(`send`,n),this.ws?.send(JSON.stringify(n))}sendToNode(e,t){this.sendEnvelope(C,{node_id:e,payload:t})}listNodes(){this.sendEnvelope(T,{})}resume(e){this.sendEnvelope(ae,{payload:{resume_from:e}})}close(){if(this.closedByUser=!0,this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),void 0),this.ws){this.ws.onclose=null,this.ws.onerror=null,this.ws.onmessage=null,this.ws.onopen=null;try{this.ws.close()}catch{}this.ws=void 0}}},J,Y=()=>typeof crypto<`u`&&typeof crypto.randomUUID==`function`?crypto.randomUUID().replace(/-/g,``):`${Date.now().toString(16)}${Math.random().toString(16).slice(2)}`,X=(e,t,n)=>({id:Y(),session_id:e,kind:t,ts:Date.now(),...n}),Z=e=>{try{let t=JSON.parse(e);if(t&&typeof t==`object`)return t}catch{}return{answers:{}}},le=e=>{let t=Z(e).answers??{};return Object.entries(t).map(([e,t])=>`${e} → ${Array.isArray(t)?t.join(`, `):t}`).join(`
2
+ `)},ue=(e,t)=>{H({title:`Approval needed`,body:`Claude wants to use ${t.tool||`a tool`}. Tap to review.`,data:t},t=>{t.node_id&&e(`selectNode`,t.node_id)})},Q=(t,o,p,h,_)=>{let y=h?.event,b=h?.session_id,x=h?.trace_id,S=h?.seq;if(typeof S==`number`&&b){let e=p.lastSeq[b];if(e!==void 0&&S<=e)return;t(`setLastSeq`,{session_id:b,seq:S})}switch(b&&x&&t(`updateSession`,{session_id:b,trace_id:x}),y){case ne:t(`upsertSession`,{session_id:b,node_id:_,status:`running`,cwd:h.cwd,model:h.model,...h.effort===void 0?{}:{effort:h.effort},...h.permission_mode===void 0?{}:{permission_mode:h.permission_mode},trace_id:x});break;case r:{let e=h.sdk_session_id;b&&e&&e!==b&&t(`renameSession`,{from:b,to:e});break}case f:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`appendDelta`,{session_id:b,stream_id:e,text:h.text??``}):t(`appendEvent`,X(b,`text`,{text:h.text??``,stream_id:e,streaming:!0,trace_id:x}));break}case u:{let e=h.id;e&&p.events[b]?.find(t=>t.kind===`text`&&t.stream_id===e)?t(`finalizeStream`,{session_id:b,stream_id:e,text:h.text}):t(`appendEvent`,X(b,`text`,{text:h.text,trace_id:x}));break}case a:t(`appendEvent`,X(b,`thinking`,{text:h.text,trace_id:x}));break;case c:t(`appendEvent`,X(b,`tool_use`,{tool:h.tool,tool_use_id:h.tool_use_id,input:h.input,trace_id:x}));break;case s:t(`appendEvent`,X(b,`tool_result`,{tool_use_id:h.tool_use_id,content:h.content,is_error:h.is_error,trace_id:x}));break;case ee:t(`addPermission`,{request_id:h.request_id,session_id:b,node_id:_,tool:h.tool,input:h.input,title:h.title,display_name:h.display_name,description:h.description}),ue(o,{node_id:_,session_id:b,request_id:h.request_id,tool:h.display_name||h.title||h.tool});break;case N:for(let e of h.requests??[])t(`addPermission`,{request_id:e.request_id,session_id:e.session_id,node_id:_,tool:e.tool,input:e.input,title:e.title,display_name:e.display_name,description:e.description});break;case n:t(`removePermission`,h.request_id);break;case re:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`result`,{subtype:h.subtype,is_error:h.is_error,text:h.result,cost_usd:h.cost_usd,cut_uuid:h.cut_uuid,sdk_session_id:h.sdk_session_id,trace_id:x})),t(`updateSession`,{session_id:b,status:`idle`,cost_usd:h.cost_usd});break;case d:t(`appendEvent`,X(b,`notice`,{text:h.text,subtype:h.code,command:h.command,level:h.level}));break;case i:t(`finalizeAllStreams`,{session_id:b}),t(`appendEvent`,X(b,`error`,{text:h.message,trace_id:x})),t(`updateSession`,{session_id:b,status:`error`}),t(`updateStatus`,{key:`getHistoryDetail`,value:R.Success});break;case m:t(`finalizeAllStreams`,{session_id:b}),t(`updateSession`,{session_id:b,status:`closed`});break;case e:t(`rewindToCut`,{session_id:b,cut_uuid:h.cut_uuid}),h.prompt&&t(`appendEvent`,X(b,`prompt`,{text:h.prompt,trace_id:x})),t(`updateSession`,{session_id:b,status:`running`});break;case l:o(`resyncSession`,b);break;case M:for(let e of h.sessions??[])t(`upsertSession`,{session_id:e.session_id,node_id:_,status:e.status??`running`,started:!0,cwd:e.cwd,model:e.model,...e.effort===void 0?{}:{effort:e.effort},...e.permission_mode===void 0?{}:{permission_mode:e.permission_mode}});break;case v:if(_){t(`setHistory`,{node_id:_,sessions:h.sessions??[]}),t(`updateStatus`,{key:`getHistory`,value:R.Success});let e=p.historyRef;e&&e.node_id===_&&!p.currentSessionId&&o(`reattachSession`,e)}break;case P:de(t,p,h,_),t(`updateStatus`,{key:`getHistoryDetail`,value:R.Success});break;case j:t(`setDirectory`,{path:h.path,parent:h.parent??null,sep:h.sep??`/`,entries:h.entries??[],truncated:h.truncated,error:h.error});break;case g:_&&t(`setCapabilities`,{node_id:_,capabilities:{providers:h.providers??[]}});break;default:break}},de=(e,t,n,r)=>{let i=n?.session_id,a=fe(n?.provider);if(!i||!r)return;let o=a===`claude`||a===`codex`||a===`copilot`,s=t.sessions[i],c=!!s&&(s.started===!0||s.status===`running`||s.status===`starting`),l=t.lastComposer?.[r]??{};e(`upsertSession`,{session_id:i,node_id:r,status:c?s.status:`idle`,cwd:n.cwd??s?.cwd??l.cwd,model:n.model??s?.model??l.model,effort:n.effort??s?.effort??l.effort,permission_mode:n.permission_mode??s?.permission_mode??l.permissionMode,provider:a,started:!!c,readonly:!o&&!c});let u=t.events[i]?.length??0,d=(n.events??[]).length,f=s?.status===`running`||s?.status===`starting`;c&&u>0&&(f||u>=d)||e(`setEvents`,{session_id:i,events:(n.events??[]).map((e,t)=>({id:Y(),session_id:i,kind:e.kind,ts:typeof e.ts==`number`?e.ts:Date.now()+t,text:e.text,tool:e.tool,tool_use_id:e.tool_use_id,input:e.input,content:e.content,is_error:e.is_error,subtype:e.subtype,cost_usd:e.cost_usd}))}),e(`setCurrentNode`,r),e(`setCurrentSession`,i),e(`setHistoryRef`,{node_id:r,provider:a,session_id:i})},fe=e=>e===`codex`||e===`copilot`?e:`claude`,$={namespaced:!0,state:L,mutations:{resetAll:e=>{Object.assign(e,L())},updateStatus:(e,t)=>{e.status[t.key]=t.value},setConnection:(e,t)=>{e.connection=t},setNodes:(e,t)=>{e.nodes=t},mergeNodeSnapshot:(e,t)=>{let n=new Set(t.map(e=>e.node_id));for(let t of e.nodes)t.status=n.has(t.node_id)?`online`:`offline`;for(let n of t)e.nodes.some(e=>e.node_id===n.node_id)||e.nodes.push({...n,status:`online`})},setNodeStatus:(e,t)=>{let n=e.nodes.find(e=>e.node_id===t.node_id);n&&(n.status=t.status)},setCurrentNode:(e,t)=>{e.currentNodeId=t},setCurrentSession:(e,t)=>{e.currentSessionId=t},upsertSession:(e,t)=>{e.sessions[t.session_id]={...e.sessions[t.session_id],...t},e.events[t.session_id]||(e.events[t.session_id]=[])},updateSession:(e,t)=>{let n=e.sessions[t.session_id];n&&(e.sessions[t.session_id]={...n,...t})},renameSession:(e,t)=>{let{from:n,to:r}=t;if(n===r||!e.sessions[n])return;e.sessions[r]={...e.sessions[r],...e.sessions[n],session_id:r},delete e.sessions[n];let i=e.events[n];i&&(i.length||!e.events[r]?.length)&&(e.events[r]=i),delete e.events[n],delete e.lastSeq[n],e.lastSeq[r]=0;for(let t of e.permissions)t.session_id===n&&(t.session_id=r);e.currentSessionId===n&&(e.currentSessionId=r),e.historyRef?.session_id===n&&(e.historyRef={...e.historyRef,session_id:r})},appendEvent:(e,t)=>{e.events[t.session_id]||(e.events[t.session_id]=[]),e.events[t.session_id].push(t)},truncateEventsBefore:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.findIndex(e=>e.id===t.event_id);r>=0&&(e.events[t.session_id]=n.slice(0,r))},rewindToCut:(e,t)=>{let n=e.events[t.session_id];if(!n)return;if(!t.cut_uuid){e.events[t.session_id]=[];return}let r=n.findIndex(e=>e.kind===`result`&&e.cut_uuid===t.cut_uuid);r>=0&&(e.events[t.session_id]=n.slice(0,r+1))},setLastSeq:(e,t)=>{let n=e.lastSeq[t.session_id]??0;t.seq>n&&(e.lastSeq[t.session_id]=t.seq)},appendDelta:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(r.text=(r.text??``)+(t.text??``))},finalizeStream:(e,t)=>{let n=e.events[t.session_id];if(!n)return;let r=n.find(e=>e.kind===`text`&&e.stream_id===t.stream_id);r&&(typeof t.text==`string`&&(r.text=t.text),r.streaming=!1)},finalizeAllStreams:(e,t)=>{let n=e.events[t.session_id];if(n)for(let e of n)e.streaming&&=!1},setEvents:(e,t)=>{e.events[t.session_id]=t.events},setHistory:(e,t)=>{e.history[t.node_id]=t.sessions},setHistoryRef:(e,t)=>{e.historyRef=t},setDirectory:(e,t)=>{e.directory=t,e.directoryLoading=!1},setDirectoryLoading:(e,t)=>{e.directoryLoading=t},setLastComposer:(e,t)=>{e.lastComposer={...e.lastComposer,[t.node_id]:{...e.lastComposer[t.node_id],...t.prefs}}},setCapabilities:(e,t)=>{e.capabilities[t.node_id]=t.capabilities},addPermission:(e,t)=>{e.permissions.some(e=>e.request_id===t.request_id)||e.permissions.push(t)},removePermission:(e,t)=>{e.permissions=e.permissions.filter(e=>e.request_id!==t)},removeNodeData:(e,t)=>{delete e.history[t],delete e.capabilities[t],e.historyRef?.node_id===t&&(e.historyRef=void 0);for(let n of Object.values(e.sessions))n.node_id===t&&(delete e.sessions[n.session_id],delete e.events[n.session_id],delete e.lastSeq[n.session_id],e.currentSessionId===n.session_id&&(e.currentSessionId=void 0))}},actions:{resetAll:({commit:e})=>{e(`resetAll`)},getApplications:async()=>{},setApplication:async()=>{},getNodes:async({commit:e,rootState:t})=>{let n=t.token?.access;if(!n)return[];e(`updateStatus`,{key:`getNodes`,value:R.Request});try{let{data:t}=await z.getNodes({token:n});return e(`setNodes`,t.nodes??[]),e(`updateStatus`,{key:`getNodes`,value:R.Success}),t.nodes??[]}catch(t){throw e(`updateStatus`,{key:`getNodes`,value:R.Error}),t}},claimPair:async({commit:e,dispatch:t,rootState:n},r)=>{let i=n.token?.access;if(!i)throw Error(`not authenticated`);e(`updateStatus`,{key:`claimPair`,value:R.Request});try{let{data:n}=await z.claimPair(r.trim(),{token:i});return e(`updateStatus`,{key:`claimPair`,value:R.Success}),await t(`getNodes`),n.node_name}catch(t){throw e(`updateStatus`,{key:`claimPair`,value:R.Error}),t}},deleteNode:async({commit:e,dispatch:t,state:n,rootState:r},i)=>{let a=r.token?.access;if(!a)throw Error(`not authenticated`);e(`updateStatus`,{key:`deleteNode`,value:R.Request});try{await z.deleteNode(i,{token:a}),e(`removeNodeData`,i),n.currentNodeId===i&&(e(`setCurrentNode`,void 0),e(`setCurrentSession`,void 0)),e(`updateStatus`,{key:`deleteNode`,value:R.Success}),await t(`getNodes`)}catch(t){throw e(`updateStatus`,{key:`deleteNode`,value:R.Error}),t}},connect:({commit:e,dispatch:t,state:n,rootState:r})=>{let i=r.token?.access;i&&(J?.isOpen||(J?.close(),e(`setConnection`,`connecting`),J=new ce(i,{onOpen:()=>{e(`setConnection`,`connected`);let r={...n.lastSeq};Object.keys(r).length&&J?.resume(r),n.currentNodeId&&(t(`getHistory`,n.currentNodeId),t(`getCapabilities`,n.currentNodeId),t(`requestSessions`,n.currentNodeId),t(`requestPendingPermissions`,n.currentNodeId))},onClose:()=>e(`setConnection`,`disconnected`),onEvent:(r,i)=>Q(e,t,n,r,i),onNodesSnapshot:t=>{e(`mergeNodeSnapshot`,t)},onNodeStatus:(r,i)=>{e(`setNodeStatus`,{node_id:r,status:i}),i===`online`&&r===n.currentNodeId&&(t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r))},onRelayError:(e,t)=>console.warn(`[codingBridge] relay error`,e,t)}),J.connect()))},disconnect:({commit:e})=>{J?.close(),J=void 0,e(`setConnection`,`disconnected`)},selectNode:({commit:e,dispatch:t,state:n},r)=>{if(e(`setCurrentNode`,r),!r){e(`setCurrentSession`,void 0);return}let i=Object.values(n.sessions).filter(e=>e.node_id===r).map(e=>e.session_id);e(`setCurrentSession`,i.length?i[i.length-1]:void 0),t(`getHistory`,r),t(`getCapabilities`,r),t(`requestSessions`,r),t(`requestPendingPermissions`,r)},requestSessions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:O})},requestPendingPermissions:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:_})},enableNotifications:async({dispatch:e,rootState:t})=>{let n=t.token?.access;if(!n)return`unsupported`;if(I()){let t=await W(t=>{t?.node_id&&(e(`selectNode`,t.node_id),e(`requestPendingPermissions`,t.node_id))});return t?(await z.savePushSubscription({kind:B()?`apns`:`fcm`,token:t,ua:navigator.userAgent},{token:n}),`enabled`):`denied`}let r=await V();if(r===`unsupported`)return`unsupported`;if(r!==`granted`)return`denied`;try{let{data:e}=await z.getPushConfig();if(e.web_push_enabled&&e.vapid_public_key){let t=await se(e.vapid_public_key);t&&await z.savePushSubscription({kind:`webpush`,subscription:t,ua:navigator.userAgent},{token:n})}}catch(e){console.warn(`[codingBridge] web push setup skipped`,e)}return`enabled`},disableNotifications:async({rootState:e})=>{let t=e.token?.access;if(I()||!t)return;let n=await U();if(n)try{await z.deletePushSubscription({endpoint:n},{token:t})}catch(e){console.warn(`[codingBridge] failed to deregister web push`,e)}},newSession:({commit:e})=>{e(`setCurrentSession`,void 0),e(`setHistoryRef`,void 0)},sendPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=n.prompt?.trim(),a=n.images?.length?n.images:void 0,o=n.attachments?.length?n.attachments:void 0;if(!r||!J||!i&&!a&&!o)return;let s=Y(),c=t.currentSessionId,l=c?t.sessions[c]:void 0;if(!l||!l.started){let t=l?.provider||n.provider||`claude`;l?(c=l.session_id,e(`updateSession`,{session_id:c,status:`starting`,trace_id:s,...n.cwd?{cwd:n.cwd}:{},...n.model===void 0?{}:{model:n.model},...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}})):(c=Y(),e(`upsertSession`,{session_id:c,node_id:r,status:`starting`,cwd:n.cwd,model:n.model,effort:n.effort,permission_mode:n.permissionMode,provider:t,trace_id:s}),e(`setCurrentSession`,c),e(`setHistoryRef`,{node_id:r,provider:t,session_id:c})),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,started:!0}),J.sendToNode(r,{action:x,session_id:c,trace_id:s,prompt:i,cwd:n.cwd||l?.cwd||void 0,model:n.model||l?.model||void 0,permission_mode:n.permissionMode||`bypassPermissions`,provider:t,effort:n.effort||void 0,images:a,attachments:o,resume_session_id:l?.session_id||void 0})}else e(`updateSession`,{session_id:c,trace_id:s}),e(`appendEvent`,X(c,`prompt`,{text:i,images:a,attachments:o,trace_id:s})),e(`updateSession`,{session_id:c,status:`running`,model:n.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),J.sendToNode(r,{action:b,session_id:c,trace_id:s,prompt:i,model:n.model??``,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode},images:a,attachments:o})},editPrompt:({commit:e,state:t},n)=>{let r=t.currentNodeId,i=t.currentSessionId,a=n.prompt?.trim();if(!r||!i||!J||!a)return;let o=t.sessions[i],s=t.events[i]??[],c=s.findIndex(e=>e.id===n.eventId);if(!o||c<0)return;let l;for(let e=c-1;e>=0;e--)if(s[e].kind===`result`&&s[e].cut_uuid){l=s[e].cut_uuid;break}let u=n.images?.length?n.images:void 0,d=n.attachments?.length?n.attachments:void 0,f=Y();e(`truncateEventsBefore`,{session_id:i,event_id:n.eventId}),e(`updateSession`,{session_id:i,status:`running`,trace_id:f,model:n.model||o.model||void 0,...n.effort===void 0?{}:{effort:n.effort},...n.permissionMode===void 0?{}:{permission_mode:n.permissionMode}}),e(`appendEvent`,X(i,`prompt`,{text:a,images:u,attachments:d,trace_id:f})),J.sendToNode(r,{action:ie,session_id:i,trace_id:f,cut_uuid:l,prompt:a,model:n.model||o.model||void 0,permission_mode:n.permissionMode||void 0,effort:n.effort||void 0,images:u,attachments:d,restore_code:!!n.restoreCode})},retryLastPrompt:({commit:e,dispatch:t,state:n})=>{let r=n.currentSessionId;if(!r)return;let i=n.sessions[r],a=[...n.events[r]??[]].reverse().find(e=>e.kind===`prompt`);!i||!a||(e(`updateSession`,{session_id:r,started:!1}),t(`sendPrompt`,{prompt:a.text??``,cwd:i.cwd,model:i.model,provider:i.provider,images:a.images,attachments:a.attachments}))},interruptSession:({state:e})=>{let t=e.currentSessionId,n=e.currentNodeId;!t||!n||!J||J.sendToNode(n,{action:A,session_id:t})},closeSession:({commit:e,state:t},n)=>{let r=n??t.currentSessionId;if(!r)return;let i=t.sessions[r]?.node_id??t.currentNodeId;i&&J&&J.sendToNode(i,{action:y,session_id:r}),e(`updateSession`,{session_id:r,status:`closed`}),t.currentSessionId===r&&e(`setCurrentSession`,void 0)},resolvePermission:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:n.decision}),e(`removePermission`,n.request_id))},answerQuestion:({commit:e,state:t},n)=>{let r=t.permissions.find(e=>e.request_id===n.request_id);r&&(J?.sendToNode(r.node_id,{action:w,request_id:n.request_id,decision:`allow`,answer:Z(n.output),answer_text:le(n.output)}),e(`removePermission`,n.request_id))},getHistory:({commit:e,state:t},n)=>{let r=n??t.currentNodeId;!r||!J||(e(`updateStatus`,{key:`getHistory`,value:R.Request}),J.sendToNode(r,{action:te,limit:200}))},getHistoryDetail:({commit:e},t)=>{!t?.node_id||!t?.session_id||!J||(e(`updateStatus`,{key:`getHistoryDetail`,value:R.Request}),J.sendToNode(t.node_id,{action:E,provider:t.provider,session_id:t.session_id}),setTimeout(()=>e(`updateStatus`,{key:`getHistoryDetail`,value:R.Success}),12e3))},reattachSession:({state:e,commit:t,dispatch:n},r)=>{!r?.node_id||!r?.session_id||(t(`setCurrentNode`,r.node_id),t(`setCurrentSession`,r.session_id),n(`getHistoryDetail`,r),n(`requestSessions`,r.node_id),n(`requestPendingPermissions`,r.node_id),J?.resume({[r.session_id]:e.lastSeq[r.session_id]??0}))},resyncSession:({state:e,dispatch:t},n)=>{let r=e.sessions[n];r?.node_id&&t(`getHistoryDetail`,{node_id:r.node_id,session_id:n,provider:r.provider??`claude`})},browseDir:({commit:e,state:t},n)=>{let r=t.currentNodeId;!r||!J||(e(`setDirectoryLoading`,!0),J.sendToNode(r,{action:oe,path:n||void 0}))},clearDirectory:({commit:e})=>{e(`setDirectory`,void 0)},getCapabilities:({state:e},t)=>{let n=t??e.currentNodeId;!n||!J||J.sendToNode(n,{action:k})}}};export{$ as codingBridge,$ as default};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-BzniWLln.js","assets/index-B1koIKPx.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-URhThUgc.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-B-uvyrTL.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/runtime-BTM7t9of.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-Blx9d5nt.js","assets/aria-8oQuUBWy.js","assets/scroll-iopg7oiN.js","assets/vnode-tCZAUc1D.js","assets/vendor-vue-router-Cnr45FPb.js","assets/constants-9-gZ9dm-.js","assets/index-qOjZNdoY.css","assets/esm-UciH1Wnn.js"])))=>i.map(i=>d[i]);
2
- import{t as e}from"./preload-helper-zJ_50EbN.js";import{Ei as t}from"./index-B1koIKPx.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-BzniWLln.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-UciH1Wnn.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/esm-aCrKFfTo.js","assets/index-BhZvbDpi.js","assets/rolldown-runtime--c01j_DQ.js","assets/preload-helper-zJ_50EbN.js","assets/i18n-BOpBE-r7.js","assets/vendor-chart-Dw-P17PN.js","assets/vendor-axios-Ck2ffRoh.js","assets/use-deprecated-B-uvyrTL.js","assets/install-Cn-SLM3u.js","assets/en-CpRrS3Ur.js","assets/runtime-BTM7t9of.js","assets/vendor-vue-CCKiwo0U.js","assets/vendor-dayjs-C9ICuEWn.js","assets/event-BGnHezxC.js","assets/use-aria-Blx9d5nt.js","assets/aria-8oQuUBWy.js","assets/scroll-iopg7oiN.js","assets/vnode-tCZAUc1D.js","assets/vendor-vue-router-Cnr45FPb.js","assets/constants-BC87sw1I.js","assets/index-qOjZNdoY.css","assets/esm-CSBga7T5.js"])))=>i.map(i=>d[i]);
2
+ import{t as e}from"./preload-helper-zJ_50EbN.js";import{Di as t}from"./index-BhZvbDpi.js";var n=`/sw.js`,r=()=>typeof window<`u`&&`Notification`in window,i=()=>typeof navigator<`u`&&`serviceWorker`in navigator,a=()=>i()&&`PushManager`in window,o=()=>r()?Notification.permission:`unsupported`,s=e=>{let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r},c=async()=>{if(!i())return null;try{return await navigator.serviceWorker.getRegistration(n)??await navigator.serviceWorker.register(n)}catch(e){return console.warn(`[codingBridge] service worker registration failed`,e),null}},l=async()=>{if(!r())return`unsupported`;if(Notification.permission!==`default`)return Notification.permission;try{return await Notification.requestPermission()}catch{return`denied`}},u=(e,n)=>{if(!(typeof document<`u`&&document.visibilityState===`visible`)){if(t()){d(e);return}if(!(!r()||Notification.permission!==`granted`))try{let t=new Notification(e.title,{body:e.body,tag:e.data.request_id||`coding-bridge-permission`,data:e.data});t.onclick=()=>{try{window.focus()}catch{}n?.(e.data),t.close()}}catch(e){console.warn(`[codingBridge] failed to raise local notification`,e)}}},d=async t=>{try{let{LocalNotifications:n}=await e(async()=>{let{LocalNotifications:e}=await import(`./esm-aCrKFfTo.js`);return{LocalNotifications:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]));if((await n.checkPermissions()).display!==`granted`&&(await n.requestPermissions()).display!==`granted`)return;await n.schedule({notifications:[{id:f(t.data.request_id||`permission`),title:t.title,body:t.body,extra:t.data}]})}catch(e){console.warn(`[codingBridge] native local notification failed`,e)}},f=e=>{let t=0;for(let n=0;n<e.length;n++)t=t*31+e.charCodeAt(n)|0;return Math.abs(t)%2147483e3},p=async e=>{if(!a()||!e||await l()!==`granted`)return null;let t=await c();if(!t)return null;try{return(await t.pushManager.getSubscription()??await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:s(e)})).toJSON()}catch(e){return console.warn(`[codingBridge] web push subscribe failed`,e),null}},m=async()=>{if(!a())return null;let e=await(await c())?.pushManager.getSubscription();if(!e)return null;let t=e.endpoint;try{await e.unsubscribe()}catch{}return t},h=async n=>{if(!t())return null;try{let{PushNotifications:t}=await e(async()=>{let{PushNotifications:e}=await import(`./esm-CSBga7T5.js`);return{PushNotifications:e}},__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),r=await t.requestPermissions();if(r.receive!==`granted`)return console.warn(`[codingBridge] push permission not granted (receive=${r.receive})`),null;let i=await new Promise(e=>{let n=setTimeout(()=>{console.warn(`[codingBridge] push registration timed out — no device token`),e(null)},1e4);t.addListener(`registration`,t=>{clearTimeout(n),e(t.value)}),t.addListener(`registrationError`,t=>{clearTimeout(n),console.warn(`[codingBridge] push registrationError`,t),e(null)}),t.register()});return n&&t.addListener(`pushNotificationActionPerformed`,e=>{n(e.notification?.data??{})}),i}catch(e){return e?.code===`UNIMPLEMENTED`?console.warn(`[codingBridge] PushNotifications plugin not available in this build`,e):console.warn(`[codingBridge] native push registration failed`,e),null}};export{p as a,l as i,u as n,m as o,h as r,r as s,o as t};
@@ -1 +1 @@
1
- import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,Mt as o,N as s,Rt as c,S as l,U as u,Ut as d,Wt as f,ft as p,ht as m,it as h,j as g,k as _,mt as v,nt as y,st as b,tt as x,wt as S,x as C,z as w}from"./vendor-chart-Dw-P17PN.js";import{a as T,c as E,i as D,t as O}from"./install-Cn-SLM3u.js";import{i as k,n as A,r as j,s as M}from"./runtime-BTM7t9of.js";import{Ct as N,_ as P,l as F,m as I,nt as ee,wt as L}from"./use-deprecated-B-uvyrTL.js";import{t as R}from"./castArray-CUoqaFnF.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-BUGXhx7B.js";import{ta as H}from"./index-B1koIKPx.js";var U=e=>M(e)||f(e)||c(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=S(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return p(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),y(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[d(r),k(r)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),d(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{N(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:_(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(w({...w({name:`ElCollapse`}),props:W,emits:G,setup(e,{expose:t,emit:r}){let i=e,{activeNames:a,setActiveNames:c}=J(i,r),{rootKls:l}=Y(i);return t({activeNames:a,setActiveNames:c}),(e,t)=>(x(),s(`div`,{class:n(o(l))},[h(e.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:I,default:P},disabled:Boolean}),Q=e=>{let t=u(K),{namespace:n}=E(`collapse`),r=S(!1),i=S(!1),a=F(),s=_(()=>a.current++),c=_(()=>e.name??`${n.value}-id-${a.prefix}-${o(s)}`);return{focusing:r,id:s,isActive:_(()=>t?.activeNames.value.includes(o(c))),handleFocus:()=>{setTimeout(()=>{i.value?i.value=!1:r.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(o(c)),r.value=!1,i.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(o(c)))}}},te=(e,{focusing:t,isActive:n,id:r})=>{let i=E(`collapse`),a=_(()=>[i.b(`item`),i.is(`active`,o(n)),i.is(`disabled`,e.disabled)]),s=_(()=>[i.be(`item`,`header`),i.is(`active`,o(n)),{focusing:o(t)&&!e.disabled}]),c=_(()=>[i.be(`item`,`arrow`),i.is(`active`,o(n))]);return{itemTitleKls:_(()=>[i.be(`item`,`title`)]),arrowKls:c,headKls:s,rootKls:a,itemWrapperKls:_(()=>i.be(`item`,`wrap`)),itemContentKls:_(()=>i.be(`item`,`content`)),scopedContentId:_(()=>i.b(`content-${o(r)}`)),scopedHeadId:_(()=>i.b(`head-${o(r)}`))}},$=T(w({...w({name:`ElCollapseItem`}),props:Z,setup(c,{expose:u}){let d=c,{focusing:f,id:p,isActive:_,handleFocus:y,handleHeaderClick:S,handleEnterClick:w}=Q(d),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(d,{focusing:f,isActive:_,id:p});return u({isActive:_}),(c,u)=>(x(),s(`div`,{class:n(o(D))},[e(`div`,{id:o(M),class:n(o(E)),"aria-expanded":o(_),"aria-controls":o(j),"aria-describedby":o(j),tabindex:c.disabled?-1:0,role:`button`,onClick:o(S),onKeydown:l(t(o(w),[`stop`]),[`space`,`enter`]),onFocus:o(y),onBlur:e=>f.value=!1},[e(`span`,{class:n(o(O))},[h(c.$slots,`title`,{isActive:o(_)},()=>[r(i(c.title),1)])],2),h(c.$slots,`icon`,{isActive:o(_)},()=>[a(o(ee),{class:n(o(T))},{default:v(()=>[(x(),g(b(c.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),a(o(V),null,{default:v(()=>[m(e(`div`,{id:o(j),role:`region`,class:n(o(k)),"aria-hidden":!o(_),"aria-labelledby":o(M)},[e(`div`,{class:n(o(A))},[h(c.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[C,o(_)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};
1
+ import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,Mt as o,N as s,Rt as c,S as l,U as u,Ut as d,Wt as f,ft as p,ht as m,it as h,j as g,k as _,mt as v,nt as y,st as b,tt as x,wt as S,x as C,z as w}from"./vendor-chart-Dw-P17PN.js";import{a as T,c as E,i as D,t as O}from"./install-Cn-SLM3u.js";import{i as k,n as A,r as j,s as M}from"./runtime-BTM7t9of.js";import{Ct as N,_ as P,l as F,m as I,nt as ee,wt as L}from"./use-deprecated-B-uvyrTL.js";import{t as R}from"./castArray-CUoqaFnF.js";import{r as z,t as B}from"./event-BGnHezxC.js";import{t as V}from"./collapse-transition-BUGXhx7B.js";import{na as H}from"./index-BhZvbDpi.js";var U=e=>M(e)||f(e)||c(e),W=A({accordion:Boolean,modelValue:{type:j([Array,String,Number]),default:()=>H([])},expandIconPosition:{type:j([String]),default:`right`},beforeCollapse:{type:j(Function)}}),G={[z]:U,[B]:U},K=Symbol(`collapseContextKey`),q=`ElCollapse`,J=(e,t)=>{let n=S(R(e.modelValue)),r=r=>{n.value=r;let i=e.accordion?n.value[0]:n.value;t(z,i),t(B,i)},i=t=>{if(e.accordion)r([n.value[0]===t?``:t]);else{let e=[...n.value],i=e.indexOf(t);i>-1?e.splice(i,1):e.push(t),r(e)}};return p(()=>e.modelValue,()=>n.value=R(e.modelValue),{deep:!0}),y(K,{activeNames:n,handleItemClick:async t=>{let{beforeCollapse:n}=e;if(!n){i(t);return}let r=n(t);[d(r),k(r)].includes(!0)||L(q,"beforeCollapse must return type `Promise<boolean>` or `boolean`"),d(r)?r.then(e=>{e!==!1&&i(t)}).catch(e=>{N(q,`some error occurred: ${e}`)}):r&&i(t)}}),{activeNames:n,setActiveNames:r}},Y=e=>{let t=E(`collapse`);return{rootKls:_(()=>[t.b(),t.b(`icon-position-${e.expandIconPosition}`)])}},X=T(w({...w({name:`ElCollapse`}),props:W,emits:G,setup(e,{expose:t,emit:r}){let i=e,{activeNames:a,setActiveNames:c}=J(i,r),{rootKls:l}=Y(i);return t({activeNames:a,setActiveNames:c}),(e,t)=>(x(),s(`div`,{class:n(o(l))},[h(e.$slots,`default`)],2))}}),[[`__file`,`collapse.vue`]]),Z=A({title:{type:String,default:``},name:{type:j([String,Number]),default:void 0},icon:{type:I,default:P},disabled:Boolean}),Q=e=>{let t=u(K),{namespace:n}=E(`collapse`),r=S(!1),i=S(!1),a=F(),s=_(()=>a.current++),c=_(()=>e.name??`${n.value}-id-${a.prefix}-${o(s)}`);return{focusing:r,id:s,isActive:_(()=>t?.activeNames.value.includes(o(c))),handleFocus:()=>{setTimeout(()=>{i.value?i.value=!1:r.value=!0},50)},handleHeaderClick:n=>{e.disabled||n.target?.closest(`input, textarea, select`)||(t?.handleItemClick(o(c)),r.value=!1,i.value=!0)},handleEnterClick:e=>{e.target?.closest(`input, textarea, select`)||(e.preventDefault(),t?.handleItemClick(o(c)))}}},te=(e,{focusing:t,isActive:n,id:r})=>{let i=E(`collapse`),a=_(()=>[i.b(`item`),i.is(`active`,o(n)),i.is(`disabled`,e.disabled)]),s=_(()=>[i.be(`item`,`header`),i.is(`active`,o(n)),{focusing:o(t)&&!e.disabled}]),c=_(()=>[i.be(`item`,`arrow`),i.is(`active`,o(n))]);return{itemTitleKls:_(()=>[i.be(`item`,`title`)]),arrowKls:c,headKls:s,rootKls:a,itemWrapperKls:_(()=>i.be(`item`,`wrap`)),itemContentKls:_(()=>i.be(`item`,`content`)),scopedContentId:_(()=>i.b(`content-${o(r)}`)),scopedHeadId:_(()=>i.b(`head-${o(r)}`))}},$=T(w({...w({name:`ElCollapseItem`}),props:Z,setup(c,{expose:u}){let d=c,{focusing:f,id:p,isActive:_,handleFocus:y,handleHeaderClick:S,handleEnterClick:w}=Q(d),{arrowKls:T,headKls:E,rootKls:D,itemTitleKls:O,itemWrapperKls:k,itemContentKls:A,scopedContentId:j,scopedHeadId:M}=te(d,{focusing:f,isActive:_,id:p});return u({isActive:_}),(c,u)=>(x(),s(`div`,{class:n(o(D))},[e(`div`,{id:o(M),class:n(o(E)),"aria-expanded":o(_),"aria-controls":o(j),"aria-describedby":o(j),tabindex:c.disabled?-1:0,role:`button`,onClick:o(S),onKeydown:l(t(o(w),[`stop`]),[`space`,`enter`]),onFocus:o(y),onBlur:e=>f.value=!1},[e(`span`,{class:n(o(O))},[h(c.$slots,`title`,{isActive:o(_)},()=>[r(i(c.title),1)])],2),h(c.$slots,`icon`,{isActive:o(_)},()=>[a(o(ee),{class:n(o(T))},{default:v(()=>[(x(),g(b(c.icon)))]),_:1},8,[`class`])])],42,[`id`,`aria-expanded`,`aria-controls`,`aria-describedby`,`tabindex`,`onClick`,`onKeydown`,`onFocus`,`onBlur`]),a(o(V),null,{default:v(()=>[m(e(`div`,{id:o(j),role:`region`,class:n(o(k)),"aria-hidden":!o(_),"aria-labelledby":o(M)},[e(`div`,{class:n(o(A))},[h(c.$slots,`default`)],2)],10,[`id`,`aria-hidden`,`aria-labelledby`]),[[C,o(_)]])]),_:3})],2))}}),[[`__file`,`collapse-item.vue`]]),ne=O(X,{CollapseItem:$}),re=D($);export{re as n,ne as t};