@acedatacloud/nexior 3.323.9 → 3.323.11

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 (179) hide show
  1. package/dist/assets/{ApiCodeButton-B5uWK46R.js → ApiCodeButton-CvdWkPEs.js} +1 -1
  2. package/dist/assets/{Artifacts-DG7uh-5_.js → Artifacts-C5XQoiAv.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-_F61hwlV.js → AskUserQuestionCard-BeERZ4Wn.js} +1 -1
  4. package/dist/assets/{Auth-d0WM416f.js → Auth-DceXKb-Z.js} +1 -1
  5. package/dist/assets/{Bare-Bucb5RYB.js → Bare-QWilFr1r.js} +1 -1
  6. package/dist/assets/{BotPlaceholder-DImPKyi0.js → BotPlaceholder-DSZavrVz.js} +1 -1
  7. package/dist/assets/{BottomFooter-B-ee1axu.js → BottomFooter-DpfyEcan.js} +1 -1
  8. package/dist/assets/{Callback-i6GuBEHh.js → Callback-BZsJPfJo.js} +1 -1
  9. package/dist/assets/{CodeSnippet-C2JNgBX-.js → CodeSnippet-Dm08Pf0k.js} +1 -1
  10. package/dist/assets/{Console-CSROR_-4.js → Console-DpmCxPuT.js} +1 -1
  11. package/dist/assets/{Consumption-CarSLU1T.js → Consumption-CxdBqJn_.js} +1 -1
  12. package/dist/assets/{Conversation-DyjyOSLk.js → Conversation-DIOnVLZg.js} +1 -1
  13. package/dist/assets/Conversation-DoF66rRd.js +1 -0
  14. package/dist/assets/{CopyToClipboard-D2qxA-xu.js → CopyToClipboard-FPX53_V0.js} +1 -1
  15. package/dist/assets/{Detail-HIruDRJ-.js → Detail-sSPAnWy_.js} +2 -2
  16. package/dist/assets/{Extra-DUSmjRBH.js → Extra-COxGiMhR.js} +1 -1
  17. package/dist/assets/{FilePreview-DqKsubph.js → FilePreview-D5YXmEZ0.js} +1 -1
  18. package/dist/assets/{Hailuo-B9z54fx4.js → Hailuo-D2FyYAdt.js} +1 -1
  19. package/dist/assets/{History-BlwyhgDM.js → History-BKznTrpH.js} +1 -1
  20. package/dist/assets/ImagePreview-DoU3FoZh.js +1 -0
  21. package/dist/assets/ImageWrapper-BbkMh7Yv.js +1 -0
  22. package/dist/assets/ImageWrapper-C7MKQs74.css +1 -0
  23. package/dist/assets/Index-B-0DRCpx.css +1 -0
  24. package/dist/assets/{Index-B6347jbT.js → Index-B6rJAs3m.js} +1 -1
  25. package/dist/assets/{Index-COAI77RF.js → Index-B83dZCPT.js} +1 -1
  26. package/dist/assets/{Index-D3aKwEFh.js → Index-Bab8cSHV.js} +1 -1
  27. package/dist/assets/{Index-h5rSVnwr.js → Index-BcMJ2oS-.js} +1 -1
  28. package/dist/assets/{Index-ClFofCQ6.js → Index-BcpQxfMo.js} +1 -1
  29. package/dist/assets/{Index-DCrjimCn.js → Index-BkaMLMvi.js} +1 -1
  30. package/dist/assets/{Index-uOOtYXlL.js → Index-BlHGz7gK.js} +1 -1
  31. package/dist/assets/{Index-BsAkmTf9.js → Index-BzcBZYA8.js} +1 -1
  32. package/dist/assets/{Index-IKTRZpWr.js → Index-CBOhfJ1B.js} +1 -1
  33. package/dist/assets/{Index-Cvj9QkQ_.js → Index-CF7m-tXg.js} +1 -1
  34. package/dist/assets/{Index-CJe6c9s9.js → Index-CVHvB6Zf.js} +1 -1
  35. package/dist/assets/{Index-BKdQYkPK.js → Index-CVcAOjWB.js} +1 -1
  36. package/dist/assets/{Index-BnOQQWcJ.js → Index-CVzOXgkr.js} +1 -1
  37. package/dist/assets/{Index-Tw41tcCM.js → Index-CWWSAdgW.js} +1 -1
  38. package/dist/assets/{Index-BzSWJJ_O.js → Index-CorI_6yh.js} +1 -1
  39. package/dist/assets/{Index-YLo4UZrM.js → Index-CraGUmKd.js} +1 -1
  40. package/dist/assets/{Index-BpKM7fBm.js → Index-CuavYlhJ.js} +1 -1
  41. package/dist/assets/Index-D9Kd80Fz.js +1 -0
  42. package/dist/assets/{Index-BZaKGLZL.js → Index-DX0rQuMJ.js} +1 -1
  43. package/dist/assets/{Index-CBXFft2K.js → Index-DZ8vaIct.js} +1 -1
  44. package/dist/assets/Index-Dd5dBgBR.js +1 -0
  45. package/dist/assets/{Index-CL0HxR91.js → Index-DffTPTq8.js} +1 -1
  46. package/dist/assets/{Index-B3I2-RQz.js → Index-DkvAn2ev.js} +1 -1
  47. package/dist/assets/Index-DlC3_jAy.css +1 -0
  48. package/dist/assets/{Index-CGEye3L9.js → Index-DnCz-b6K.js} +1 -1
  49. package/dist/assets/{Index-1_AX6bzN.js → Index-HTocy8CC.js} +1 -1
  50. package/dist/assets/{Index-MW0yUl-v.js → Index-U3Lz2Ps_.js} +1 -1
  51. package/dist/assets/{Index-BT4kB6xz.js → Index-s5JBJQnp.js} +1 -1
  52. package/dist/assets/{Index-YJZnp83d.js → Index-vfLxW9w5.js} +1 -1
  53. package/dist/assets/{Invitees-Cf2HueP3.js → Invitees-CypaAQ3o.js} +1 -1
  54. package/dist/assets/{List-C4vR4Vvy.js → List-BOFybWWV.js} +1 -1
  55. package/dist/assets/{List-BUYaNXbA.js → List-D6G1uaX-.js} +1 -1
  56. package/dist/assets/{List-CSlo8xhX.js → List-D9UOulo5.js} +1 -1
  57. package/dist/assets/{LocalTools-C08avBrz.js → LocalTools-Bd8AVc0D.js} +1 -1
  58. package/dist/assets/{LocalTools-Bk7fO_Sx.js → LocalTools-Bzyeu_I6.js} +1 -1
  59. package/dist/assets/{Main-CLMFKFiV.js → Main-CEH68sA9.js} +1 -1
  60. package/dist/assets/{Message-D9N_n7Pe.js → Message-BNtYHUK5.js} +2 -2
  61. package/dist/assets/{Model-DNzxD6Cb.js → Model-CYJNC0io.js} +1 -1
  62. package/dist/assets/{Navigator-W2Wx_pA1.js → Navigator-mOaPra3f.js} +3 -3
  63. package/dist/assets/{NoTasks-PVSIlsRQ.js → NoTasks-D1eb7XBb.js} +1 -1
  64. package/dist/assets/{NotFound-x7OB2vJn.js → NotFound-BRdFuHIb.js} +1 -1
  65. package/dist/assets/{Pagination-Cwok3cIC.js → Pagination-B6H66tHG.js} +1 -1
  66. package/dist/assets/{Pay-83BDo-Xt.js → Pay-CILyIEdT.js} +1 -1
  67. package/dist/assets/{Player-BeyblngF.js → Player-DHsJ1VZF.js} +1 -1
  68. package/dist/assets/{PromptTextarea-Dd4dPvLi.js → PromptTextarea-BWajbqk_.js} +1 -1
  69. package/dist/assets/{RealtimeCall-0SIqpmy4.js → RealtimeCall-BqhjuHmx.js} +1 -1
  70. package/dist/assets/{ScheduledTasks-P3YnSMGd.js → ScheduledTasks-Cx3AkLCR.js} +1 -1
  71. package/dist/assets/{Status-46VeUA2s.js → Status-CBP-7dtK.js} +1 -1
  72. package/dist/assets/{Subscribe-DCkVbe_Z.js → Subscribe-CgISxNE4.js} +1 -1
  73. package/dist/assets/{TabSwitcher-BkN-Vu5H.js → TabSwitcher-B-X-kHVO.js} +1 -1
  74. package/dist/assets/{Tts-Bdpr-FPe.js → Tts-DT4leLCS.js} +1 -1
  75. package/dist/assets/{VideoPlayer-D3ETddyA.js → VideoPlayer-BDQEstUs.js} +1 -1
  76. package/dist/assets/{VideoPreview-b4CpFVR2.js → VideoPreview-GK7sdKsu.js} +1 -1
  77. package/dist/assets/{alert-YghKKMhO.js → alert-DmckWi3N.js} +1 -1
  78. package/dist/assets/{avatar-3OLR9cB2.js → avatar-_BJXWk-z.js} +1 -1
  79. package/dist/assets/{basic-_Uh5-YLd.js → basic-CbGE653p.js} +1 -1
  80. package/dist/assets/{chat-CA6ETp4H.js → chat-B90-crc_.js} +1 -1
  81. package/dist/assets/codingBridge-DlaTd4k7.js +2 -0
  82. package/dist/assets/{codingBridgeNotify-BUJTLuhD.js → codingBridgeNotify-BoADDP3D.js} +2 -2
  83. package/dist/assets/{collapse-BnQ_Y8HC.js → collapse-DNw9SxRd.js} +1 -1
  84. package/dist/assets/constants-B2BGg4Jn.js +1 -0
  85. package/dist/assets/{createTaskActions-BvlaQhYX.js → createTaskActions-BBmvX8yH.js} +1 -1
  86. package/dist/assets/{date-picker-Ds4xxP2_.js → date-picker-BB46h3A-.js} +1 -1
  87. package/dist/assets/{digitalhuman-ChuoDzpy.js → digitalhuman-o5wEXqgA.js} +1 -1
  88. package/dist/assets/{drawer-DppjHH8c.js → drawer-BL4ZcddN.js} +1 -1
  89. package/dist/assets/{dropdown-CykQfFAK.js → dropdown-B4ehYwNZ.js} +1 -1
  90. package/dist/assets/{dropdown-I5qTL8Kh.js → dropdown-CLepkMp7.js} +1 -1
  91. package/dist/assets/{esm-ZaeapWRS.js → esm-B8v-gv3K.js} +1 -1
  92. package/dist/assets/esm-BO0F__cX.js +1 -0
  93. package/dist/assets/{esm-DVZKVxOi.js → esm-Blt34KBD.js} +2 -2
  94. package/dist/assets/{esm-CL3aHlzP.js → esm-DtpCZebM.js} +1 -1
  95. package/dist/assets/{esm-Qrsyczcl.js → esm-Du51_EDJ.js} +1 -1
  96. package/dist/assets/{esm-Bh49EuEU.js → esm-moXsYty0.js} +2 -2
  97. package/dist/assets/{esm-CT-U5guw.js → esm-xqOzjHkH.js} +3 -3
  98. package/dist/assets/{fish-BkEQUwh5.js → fish-eW5OPwfD.js} +1 -1
  99. package/dist/assets/{flux-Djjjzvnl.js → flux-C5jt0e2d.js} +1 -1
  100. package/dist/assets/{grokvideo-CBjhuhLg.js → grokvideo-D-wIoBSN.js} +1 -1
  101. package/dist/assets/{hailuo-B0mNACZp.js → hailuo-B8wSEc2J.js} +1 -1
  102. package/dist/assets/{headshots-oujoiPg1.js → headshots-CfIHaOtK.js} +1 -1
  103. package/dist/assets/{i18n-DxvptSRI.js → i18n-D30XPNJa.js} +1 -1
  104. package/dist/assets/image-jH1-5FI1.js +1 -0
  105. package/dist/assets/{index-L1ngah6q.css → index-BZYGM2eC.css} +1 -1
  106. package/dist/assets/{index-BhNj9A10.js → index-BwSJADk5.js} +6 -6
  107. package/dist/assets/{index.browser.esm-DftXfgfy.js → index.browser.esm-uDhnBAO2.js} +1 -1
  108. package/dist/assets/{index.es-BLEzm7GQ.js → index.es-BHkeYlS1.js} +1 -1
  109. package/dist/assets/{input-number-D9oVusrK.js → input-number-BZ1ffrAn.js} +1 -1
  110. package/dist/assets/{kling-gCDVijTs.js → kling-deG6x6fb.js} +1 -1
  111. package/dist/assets/{luma-BD-wjPB2.js → luma-CqX2IS7j.js} +1 -1
  112. package/dist/assets/{maestro-CXUO0F80.js → maestro-DhtYbzoq.js} +1 -1
  113. package/dist/assets/{midjourney-CsaNSynn.js → midjourney-DppQvyfM.js} +1 -1
  114. package/dist/assets/{mobileLocalExec-DUcQTVaG.js → mobileLocalExec-wCZyAzX8.js} +2 -2
  115. package/dist/assets/{nanobanana-eDS9eq_H.js → nanobanana-CxipYjz-.js} +1 -1
  116. package/dist/assets/{openaiimage-CKlm3EtI.js → openaiimage-Cqu59ICV.js} +1 -1
  117. package/dist/assets/{pagination-DTXFuZvP.js → pagination-DJOmWssT.js} +1 -1
  118. package/dist/assets/{sora-CskN5lvO.js → pika-CA5cypT2.js} +1 -1
  119. package/dist/assets/{pixverse-C8yYt-4U.js → pixverse-B4J7ycIj.js} +1 -1
  120. package/dist/assets/{popover-BXo21aMD.js → popover-B6v1FRKY.js} +1 -1
  121. package/dist/assets/{producer-DjkugSDr.js → producer-DmdA46lZ.js} +1 -1
  122. package/dist/assets/{qrart-CRGF2NjD.js → qrart-CCo7n2uc.js} +1 -1
  123. package/dist/assets/{realtime-D3_rVkoZ.js → realtime-BYy_xTf3.js} +1 -1
  124. package/dist/assets/{row-CmW9fVjQ.js → row-CRY76SUA.js} +1 -1
  125. package/dist/assets/{seedance-G8m7Lx64.js → seedance-B5NvFDQh.js} +1 -1
  126. package/dist/assets/{seedream-Yeb59SLi.js → seedream-g14e_Dkk.js} +1 -1
  127. package/dist/assets/{select-Csiq3Rfs.js → select-BUOcIMwK.js} +1 -1
  128. package/dist/assets/{serp-BQcsjf2D.js → serp-BKABsA6c.js} +1 -1
  129. package/dist/assets/{slider-BSoT2fFM.js → slider-BR2HTX4d.js} +1 -1
  130. package/dist/assets/{solana-wallets-BLzcQ8DP.js → solana-wallets-ZZ3pu2mk.js} +2 -2
  131. package/dist/assets/{solana-wallets-vue-MvCREESU.js → solana-wallets-vue-BZEmctGI.js} +1 -1
  132. package/dist/assets/{pika-DAduSd5v.js → sora-CkOfqlem.js} +1 -1
  133. package/dist/assets/{suno-BUCO7Q5H.js → suno-DsoCEJLh.js} +1 -1
  134. package/dist/assets/{switch-DEIwTUy_.js → switch-CoR8DFvx.js} +1 -1
  135. package/dist/assets/{table-DBth4q2U.js → table-DhQqjV9-.js} +1 -1
  136. package/dist/assets/{tabs-QtL_bp0T.js → tabs-DETngQsm.js} +1 -1
  137. package/dist/assets/{time-picker-BM3bFuyy.js → time-picker-Dp67kZAF.js} +1 -1
  138. package/dist/assets/{tooltip-jKjmfBZB.js → tooltip-j-qyuiVr.js} +1 -1
  139. package/dist/assets/{upload-BeUFt8DO.js → upload-BRv4xFuY.js} +1 -1
  140. package/dist/assets/{veo-CpfmGP6O.js → veo-2szWWULM.js} +1 -1
  141. package/dist/assets/{veo-DeBg9qaR.js → veo-52iGrPC4.js} +1 -1
  142. package/dist/assets/{veo-lcJku0T4.js → veo-BBM3CoCi.js} +1 -1
  143. package/dist/assets/{veo-EMR1HEJF.js → veo-BJZ9996U.js} +1 -1
  144. package/dist/assets/{veo-BPi0DrDy.js → veo-BNKvOfm5.js} +1 -1
  145. package/dist/assets/{veo-CQ0JouYn.js → veo-Bu5CSvgV.js} +1 -1
  146. package/dist/assets/{veo-CKHWU5fN.js → veo-BvPpCXbU.js} +1 -1
  147. package/dist/assets/{veo-PTaqIcEH.js → veo-CBV7sQbe.js} +1 -1
  148. package/dist/assets/{veo-CJwb2qWX.js → veo-CMNaInha.js} +1 -1
  149. package/dist/assets/{veo-DQa4-b7G.js → veo-Ceh6A2-G.js} +1 -1
  150. package/dist/assets/{veo-DIUCY1VJ.js → veo-ChlVyVOj.js} +1 -1
  151. package/dist/assets/{veo-Ca6UIsnG.js → veo-DDZIVv4k.js} +1 -1
  152. package/dist/assets/{veo-CPjPA-9V.js → veo-DeqMG4DC.js} +1 -1
  153. package/dist/assets/{veo-BNgkjOmy.js → veo-DhZ3y1BZ.js} +1 -1
  154. package/dist/assets/{veo-DfPgGvYN.js → veo-DzF2Sa3E.js} +1 -1
  155. package/dist/assets/{veo-Cbfcu_vg.js → veo-TFLL_tgH.js} +1 -1
  156. package/dist/assets/{veo-CLzBcehs.js → veo-keyC5xKe.js} +1 -1
  157. package/dist/assets/{veo-B8Ak_eyD.js → veo-vBnZJl7i.js} +1 -1
  158. package/dist/assets/{veo-D0i5X0nQ.js → veo-wsYigIkV.js} +1 -1
  159. package/dist/assets/{wan-DsSOjPSg.js → wan-BB7QBx5z.js} +1 -1
  160. package/dist/assets/{web-CDWugTgp.js → web-BIQAVkQE.js} +1 -1
  161. package/dist/assets/{web-C0nWmOjB.js → web-BUjLKdB6.js} +1 -1
  162. package/dist/assets/{web-D1L9liED.js → web-BnZ8DFbp.js} +1 -1
  163. package/dist/assets/{web-CIG3KpSW.js → web-CDtXfEhu.js} +1 -1
  164. package/dist/assets/{web-pFPrnqr7.js → web-CRa45Zv3.js} +1 -1
  165. package/dist/assets/{webextrator-CdMjq_-X.js → webextrator-CYWQwP9X.js} +1 -1
  166. package/dist/index.html +4 -4
  167. package/package.json +1 -1
  168. package/dist/assets/Conversation-lbyjK0Ps.js +0 -1
  169. package/dist/assets/ImagePreview-AxLYd1D4.js +0 -1
  170. package/dist/assets/ImageWrapper-Dbirb_Nw.js +0 -1
  171. package/dist/assets/ImageWrapper-qzU68KKS.css +0 -1
  172. package/dist/assets/Index-CUINP6wJ.css +0 -1
  173. package/dist/assets/Index-DFJd2XEL.js +0 -1
  174. package/dist/assets/Index-DKLN1VJs.css +0 -1
  175. package/dist/assets/Index-O85d5efJ.js +0 -1
  176. package/dist/assets/codingBridge-Qgoqaw4X.js +0 -2
  177. package/dist/assets/constants-BP-0lGQL.js +0 -1
  178. package/dist/assets/esm-qe6PiVxx.js +0 -1
  179. package/dist/assets/image-B4-ckNWf.js +0 -1
@@ -1 +1 @@
1
- var e={"name.taskId":{message:`ID zadatka`,description:`ID zadatka`},"name.translation":{message:`Automatski prevod`,description:`Automatski prevod za Veo video`},"name.modePro":{message:`Visok kvalitet`,description:`Visok kvalitet za Kling video`},"name.failure":{message:`Neuspeh`,description:`Status neuspeha zadatka`},"name.failureReason":{message:`Razlog neuspeha`,description:`Razlog neuspeha zadatka`},"name.status":{message:`Status`,description:`Status zadatka`},"name.traceId":{message:`ID praćenja`,description:`ID praćenja zadatka`},"name.elapsed":{message:`Proteklo vreme`,description:`Proteklo vreme zadatka (u sekundama)`},"name.createdAt":{message:`Datum i vreme kreiranja`,description:`Datum i vreme generisanja Veo videa`},"name.startEndImage":{message:`Referentne slike`,description:`Oznaka polja forme: referentne slike (preporučuje se da se prevod zadrži kratak kako bi se izbeglo preklapanje dugmadi)`},"name.action":{message:`Akcija`,description:`Lista dostupnih akcija`},"name.action3":{message:`Preuzmi 1080p video`,description:`Referentna slika za video koji treba generisati`},"name.prompt":{message:`Video prompt`,description:`Prompt za unos sadržaja`},"name.model":{message:`Verzija modela`,description:`Verzija modela koja se koristi za generisanje videa`},"name.veoBot":{message:`Google Veo Bot`,description:`Ime generatora Veo videa`},"name.ratio":{message:`Odnos`,description:`Ime parametra odnosa`},"description.translation":{message:`Možete omogućiti automatski prevod za prompt reči prilikom kreiranja zadatka za video.`,description:`Opis parametra 'translation'`},"description.imageUrl":{message:`U zadatku za kreiranje videa sa više slika, potrebno je otpremiti više slika.`,description:`Opis parametra 'imageUrl'`},"description.prompt":{message:`Prompt reči za generisanje Veo videa`,description:`Opis parametra 'prompt'`},"description.uploadStartEndImage":{message:`Niz linkova referentnih slika, prva je slika početnog okvira, a druga slika završnog okvira`,description:`Opis parametra 'image_url'`},"status.pending":{message:`Na čekanju`,description:`Status čekanja zadatka`},"status.processing":{message:`Obrada`,description:`Status obrade zadatka`},"placeholder.paddingNoise":{message:`Izaberite...`,description:`Placeholder za unos šuma popunjavanja`},"placeholder.select":{message:`Izaberi`,description:`Placeholder za izbor u polju`},"placeholder.paddingLevel":{message:`Izaberite...`,description:`Placeholder za nivo popunjavanja`},"placeholder.prompt":{message:`Unesite prompt za stil videa, na primer: pokretni`,description:`Placeholder za prompt u polju`},"placeholder.position":{message:`Izaberite...`,description:`Placeholder za unos pozicije`},"button.generate":{message:`Generiši`,description:`Tekst dugmeta za generisanje Veo videa`},"button.action1":{message:`Generiši video`,description:`Tekst dugmeta za generisanje Veo videa`},"button.action2":{message:`Generiši video iz slike`,description:`Tekst dugmeta za generisanje Veo videa`},"button.action3":{message:`Preuzmi 1080p`,description:`Tekst dugmeta za generisanje Veo videa`},"button.download":{message:`Preuzmi video`,description:`Tekst dugmeta za preuzimanje videa`},"button.uploadImageUrl":{message:`Otpremi sliku`,description:`Tekst dugmeta za otpremanje slike (preporučuje se pojednostaviti na 'Otpremi')`},"button.uploadVideoUrl":{message:`Otpremi video`,description:`Tekst dugmeta za otpremanje videa`},"button.uploadReferences":{message:`Otpremi`,description:`Tekst dugmeta koje omogućava korisniku da otpremi reference`},"message.uploadReferencesExceed":{message:`Možete otpremiti najviše 2 slike`,description:`Poruka o grešci kada je broj otpremljenih slika premašio limit`},"message.uploadReferencesSuccess":{message:`Uspešno otpremljena slika`,description:`Poruka o uspehu kada je slika uspešno otpremljena`},"message.uploadReferencesError":{message:`Neuspešno otpremanje slike, pokušajte ponovo kasnije`,description:`Poruka o grešci kada otpremanje slike nije uspelo`},"message.startingTask":{message:`Pokreće se zadatak...`,description:`Poruka kada se zadatak za crtanje pokreće`},"message.startTaskSuccess":{message:`Uspešno pokrenut zadatak za generisanje`,description:`Poruka o uspehu kada je zadatak uspešno pokrenut`},"message.startTaskFailed":{message:`Pokretanje zadatka nije uspelo, kontaktirajte administratora`,description:`Poruka o grešci kada pokretanje zadatka za crtanje nije uspelo`},"message.imageRequired":{message:`Molimo vas da prvo otpremite najmanje jednu referentnu sliku pre nego što pokrenete zadatak za generisanje videa iz slike`,description:`Poruka kada nije otpremljena slika u režimu image2video`},"message.usedUp":{message:`Vaši bodovi su potrošeni, molimo vas da kupite više bodova da biste nastavili sa korišćenjem`,description:`Poruka kada su bodovi potrošeni`},"message.generating":{message:`Generiše se...`,description:`Poruka kada se slika generiše`},"message.downloadVideo":{message:`Preuzmi ovaj video`,description:`Poruka kada se slika generiše`},"message.generateFailed":{message:`生成视频失败`,description:`Poruka kada generisanje videa nije uspelo`},"message.uploadVideoExceed":{message:`Broj slika prvog okvira premašuje ograničenje`,description:`Greška kada broj slika prvog okvira premašuje ograničenje`},"message.uploadVideoSizeExceed":{message:`Veličina datoteke ne može biti veća od 10MB!`,description:`Greška kada veličina datoteke ne može biti veća od 10MB!`},"message.uploadVideoTypeFailed":{message:`Datoteka mora biti u MP4 formatu!`,description:`Greška kada datoteka mora biti u MP4 formatu!`},"message.uploadStartEndImageExceed":{message:`Broj slika prvog okvira premašuje ograničenje`,description:`Greška kada broj slika prvog okvira premašuje ograničenje`},"message.uploadEndImageExceed":{message:`Broj slika poslednjeg okvira premašuje ograničenje`,description:`Greška kada broj slika poslednjeg okvira premašuje ograničenje`},"message.uploadStartImageError":{message:`Greška prilikom učitavanja slike prvog okvira`,description:`Greška kada dođe do problema prilikom učitavanja slike prvog okvira`},"message.uploadVideoError":{message:`Greška prilikom učitavanja videa`,description:`Greška kada dođe do problema prilikom učitavanja videa`},"message.uploadEndImageError":{message:`Greška prilikom učitavanja slike poslednjeg okvira`,description:`Greška kada dođe do problema prilikom učitavanja slike poslednjeg okvira`},"message.uploadDocumentsError":{message:`Greška prilikom učitavanja dokumenata`,description:`Greška kada dođe do problema prilikom učitavanja dokumenata`},"message.noOperations":{message:`Nema dostupnih operacija`,description:`Poruka kada nema dostupnih operacija`},"message.noTasks":{message:`Nema istorijskih zadataka, kliknite levo za generisanje videa`,description:`Poruka kada nema zadataka`},"name.upsampleAction":{message:`Cilj uzorkovanja`,description:`Ciljni format za /veo/upsample (1080p/4k/gif)`},"name.motionType":{message:`Tip pokreta kamere`,description:`Tip pokreta kamere za /veo/reshoot`},"name.imageMask":{message:`Maska područja`,description:`Maska slike za /veo/objects (bele piksela = operativna zona)`},"name.videoId":{message:`ID videa`,description:`ID izvornog videa (iz prethodnog generisanog zadatka data[].id)`},"placeholder.imageMask":{message:`URL maske slike ili base64 kodirani JPEG`,description:`Placeholder za unos image_mask`},"placeholder.videoId":{message:`Nalepite ID videa ili kliknite na dugme operacije u desnom spisku zadataka za automatsko popunjavanje`,description:`Placeholder za unos video_id`},"button.actionIngredients":{message:`Video fuzija više slika`,description:`ingredients2video — fuzija 1-3 slike za generisanje nove scene`},"button.actionUpsample":{message:`Uzorkovanje / GIF pregled`,description:`/veo/upsample — uzorkovanje na 1080p/4K ili izvoz GIF-a`},"button.actionExtend":{message:`Produži video`,description:`/veo/extend — produžavanje trajanja već generisanog videa`},"button.actionReshoot":{message:`Ponovno snimanje`,description:`/veo/reshoot — ponovo generisanje sa promenom pokreta kamere`},"button.actionObjectInsert":{message:`Dodaj objekat`,description:`/veo/objects insert — dodavanje objekta u video`},"button.actionObjectRemove":{message:`Ukloni objekat`,description:`/veo/objects remove — uklanjanje objekta iz videa putem maske`},"button.actionUpsample1080p":{message:`Uzorkovanje 1080P`,description:`Dugme za pregled — uzorkovanje na 1080P`},"button.actionUpsample4k":{message:`Uzorkovanje 4K`,description:`Dugme za pregled — uzorkovanje na 4K`},"button.actionUpsampleGif":{message:`Izvezi GIF`,description:`Dugme za pregled — konvertovanje u GIF pregled`}};export{e as default};
1
+ var e={"name.taskId":{message:`ID zadatka`,description:`ID zadatka`},"name.translation":{message:`Automatski prevod`,description:`Automatski prevod za Veo video`},"name.modePro":{message:`Visok kvalitet`,description:`Visok kvalitet za Kling video`},"name.failure":{message:`Neuspeh`,description:`Status neuspeha zadatka`},"name.failureReason":{message:`Razlog neuspeha`,description:`Razlog neuspeha zadatka`},"name.status":{message:`Status`,description:`Status zadatka`},"name.traceId":{message:`ID praćenja`,description:`ID praćenja zadatka`},"name.elapsed":{message:`Proteklo vreme`,description:`Proteklo vreme zadatka (u sekundama)`},"name.createdAt":{message:`Datum i vreme kreiranja`,description:`Datum i vreme generisanja Veo videa`},"name.startEndImage":{message:`Referentne slike`,description:`Oznaka polja forme: referentne slike (preporučuje se da se prevod zadrži kratak kako bi se izbeglo preklapanje dugmadi)`},"name.action":{message:`Akcija`,description:`Lista dostupnih akcija`},"name.action3":{message:`Preuzmi 1080p video`,description:`Referentna slika za video koji treba generisati`},"name.prompt":{message:`Video prompt`,description:`Prompt za unos sadržaja`},"name.model":{message:`Verzija modela`,description:`Verzija modela koja se koristi za generisanje videa`},"name.veoBot":{message:`Google Veo Bot`,description:`Ime generatora Veo videa`},"name.ratio":{message:`Odnos`,description:`Ime parametra odnosa`},"description.translation":{message:`Možete omogućiti automatski prevod za prompt reči prilikom kreiranja zadatka za video.`,description:`Opis parametra 'translation'`},"description.imageUrl":{message:`U zadatku za kreiranje videa sa više slika, potrebno je otpremiti više slika.`,description:`Opis parametra 'imageUrl'`},"description.prompt":{message:`Prompt reči za generisanje Veo videa`,description:`Opis parametra 'prompt'`},"description.uploadStartEndImage":{message:`Niz linkova referentnih slika, prva je slika početnog okvira, a druga slika završnog okvira`,description:`Opis parametra 'image_url'`},"status.pending":{message:`Na čekanju`,description:`Status čekanja zadatka`},"status.processing":{message:`Obrada`,description:`Status obrade zadatka`},"placeholder.paddingNoise":{message:`Izaberite...`,description:`Placeholder za unos šuma popunjavanja`},"placeholder.select":{message:`Izaberi`,description:`Placeholder za izbor u polju`},"placeholder.paddingLevel":{message:`Izaberite...`,description:`Placeholder za nivo popunjavanja`},"placeholder.prompt":{message:`Unesite prompt za stil videa, na primer: pokretni`,description:`Placeholder za prompt u polju`},"placeholder.position":{message:`Izaberite...`,description:`Placeholder za unos pozicije`},"button.generate":{message:`Generiši`,description:`Tekst dugmeta za generisanje Veo videa`},"button.action1":{message:`Generiši video`,description:`Tekst dugmeta za generisanje Veo videa`},"button.action2":{message:`Generiši video iz slike`,description:`Tekst dugmeta za generisanje Veo videa`},"button.action3":{message:`Preuzmi 1080p`,description:`Tekst dugmeta za generisanje Veo videa`},"button.download":{message:`Preuzmi video`,description:`Tekst dugmeta za preuzimanje videa`},"button.uploadImageUrl":{message:`Otpremi sliku`,description:`Tekst dugmeta za otpremanje slike (preporučuje se pojednostaviti na 'Otpremi')`},"button.uploadVideoUrl":{message:`Otpremi video`,description:`Tekst dugmeta za otpremanje videa`},"button.uploadReferences":{message:`Otpremi`,description:`Tekst dugmeta koje omogućava korisniku da otpremi reference`},"message.uploadReferencesExceed":{message:`Možete otpremiti najviše 2 slike`,description:`Poruka o grešci kada je broj otpremljenih slika premašio limit`},"message.uploadReferencesSuccess":{message:`Uspešno otpremljena slika`,description:`Poruka o uspehu kada je slika uspešno otpremljena`},"message.uploadReferencesError":{message:`Neuspešno otpremanje slike, pokušajte ponovo kasnije`,description:`Poruka o grešci kada otpremanje slike nije uspelo`},"message.startingTask":{message:`Pokreće se zadatak...`,description:`Poruka kada se zadatak za crtanje pokreće`},"message.startTaskSuccess":{message:`Uspešno pokrenut zadatak za generisanje`,description:`Poruka o uspehu kada je zadatak uspešno pokrenut`},"message.startTaskFailed":{message:`Pokretanje zadatka nije uspelo, kontaktirajte administratora`,description:`Poruka o grešci kada pokretanje zadatka za crtanje nije uspelo`},"message.imageRequired":{message:`Molimo vas da prvo otpremite najmanje jednu referentnu sliku pre nego što pokrenete zadatak za generisanje videa iz slike`,description:`Poruka kada nije otpremljena slika u režimu image2video`},"message.usedUp":{message:`Vaši bodovi su potrošeni, molimo vas da kupite više bodova da biste nastavili sa korišćenjem`,description:`Poruka kada su bodovi potrošeni`},"message.generating":{message:`Generiše se...`,description:`Poruka kada se slika generiše`},"message.downloadVideo":{message:`Preuzmi ovaj video`,description:`Poruka kada se slika generiše`},"message.generateFailed":{message:`生成视频失败`,description:`Poruka kada generisanje videa nije uspelo`},"message.uploadVideoExceed":{message:`Broj slika prvog okvira premašuje ograničenje`,description:`Greška kada broj slika prvog okvira premašuje ograničenje`},"message.uploadVideoSizeExceed":{message:`Veličina datoteke ne može biti veća od 10MB!`,description:`Greška kada veličina datoteke ne može biti veća od 10MB!`},"message.uploadVideoTypeFailed":{message:`Datoteka mora biti u MP4 formatu!`,description:`Greška kada datoteka mora biti u MP4 formatu!`},"message.uploadStartEndImageExceed":{message:`Broj slika prvog okvira premašuje ograničenje`,description:`Greška kada broj slika prvog okvira premašuje ograničenje`},"message.uploadEndImageExceed":{message:`Broj slika poslednjeg okvira premašuje ograničenje`,description:`Greška kada broj slika poslednjeg okvira premašuje ograničenje`},"message.uploadStartImageError":{message:`Greška prilikom učitavanja slike prvog okvira`,description:`Greška kada dođe do problema prilikom učitavanja slike prvog okvira`},"message.uploadVideoError":{message:`Greška prilikom učitavanja videa`,description:`Greška kada dođe do problema prilikom učitavanja videa`},"message.uploadEndImageError":{message:`Greška prilikom učitavanja slike poslednjeg okvira`,description:`Greška kada dođe do problema prilikom učitavanja slike poslednjeg okvira`},"message.uploadDocumentsError":{message:`Greška prilikom učitavanja dokumenata`,description:`Greška kada dođe do problema prilikom učitavanja dokumenata`},"message.noOperations":{message:`Nema dostupnih operacija`,description:`Poruka kada nema dostupnih operacija`},"message.noTasks":{message:`Nema istorijskih zadataka, kliknite levo za generisanje videa`,description:`Poruka kada nema zadataka`},"button.actionIngredients":{message:`Video fuzija više slika`,description:`ingredients2video — fuzija 1-3 slike za generisanje nove scene`}};export{e as default};
@@ -1 +1 @@
1
- var e={"name.taskId":{message:`ID de tâche`,description:`ID de la tâche`},"name.translation":{message:`Traduction automatique`,description:`Traduction automatique des vidéos Veo`},"name.modePro":{message:`Haute qualité`,description:`Mode haute qualité pour les vidéos Kling`},"name.failure":{message:`Échec`,description:`État d'échec de la tâche`},"name.failureReason":{message:`Raison de l'échec`,description:`Raison de l'échec de la tâche`},"name.status":{message:`Statut`,description:`Statut de la tâche`},"name.traceId":{message:`ID de suivi`,description:`ID de suivi de la tâche`},"name.elapsed":{message:`Temps écoulé`,description:`Temps écoulé pour la tâche (en secondes)`},"name.createdAt":{message:`Date de création`,description:`Date et heure de génération de la vidéo Veo`},"name.startEndImage":{message:`Images de référence début/fin`,description:`Étiquette du champ de formulaire : images de référence début/fin (en anglais, suggéré comme 'Start/End Frames', garder court pour éviter de masquer le bouton)`},"name.action":{message:`Actions`,description:`Liste des actions disponibles`},"name.action3":{message:`Obtenir la vidéo en 1080p`,description:`Images de référence pour la vidéo à générer`},"name.prompt":{message:`Invite vidéo`,description:`Invite pour le contenu à entrer`},"name.model":{message:`Version du modèle`,description:`Version du modèle utilisée pour générer la vidéo`},"name.veoBot":{message:`Google Veo Bot`,description:`Nom du générateur de vidéos Veo`},"name.ratio":{message:`Ratio`,description:`Nom du paramètre de ratio`},"description.translation":{message:`Lors de la création d'une tâche vidéo, vous pouvez activer la traduction automatique des invites.`,description:`Description du paramètre 'translation'`},"description.imageUrl":{message:`Dans une tâche de création vidéo avec plusieurs images, plusieurs images doivent être téléchargées.`,description:`Description du paramètre 'imageUrl'`},"description.prompt":{message:`Invites pour générer des vidéos Veo`,description:`Description du paramètre 'prompt'`},"description.uploadStartEndImage":{message:`Tableau de liens d'images de référence, la première est l'image de début, suivie de l'image de fin`,description:`Description du paramètre 'image_url'`},"status.pending":{message:`En attente`,description:`État d'attente de la tâche`},"status.processing":{message:`En cours de traitement`,description:`État d'attente de la tâche`},"placeholder.paddingNoise":{message:`Veuillez sélectionner...`,description:`Espace réservé pour l'entrée de bruit de remplissage`},"placeholder.select":{message:`Sélectionner`,description:`Texte d'espace réservé dans le champ de sélection`},"placeholder.paddingLevel":{message:`Veuillez sélectionner...`,description:`Espace réservé pour le niveau de remplissage`},"placeholder.prompt":{message:`Entrez l'invite pour le style de vidéo à générer, par exemple : moving`,description:`Texte d'espace réservé dans le champ d'invite`},"placeholder.position":{message:`Veuillez sélectionner...`,description:`Espace réservé pour l'entrée de position`},"button.generate":{message:`Générer`,description:`Texte du bouton pour générer la vidéo Veo`},"button.action1":{message:`Vidéo générée par texte`,description:`Texte du bouton pour générer la vidéo Veo`},"button.action2":{message:`Vidéo générée par image`,description:`Texte du bouton pour générer la vidéo Veo`},"button.action3":{message:`Obtenir en 1080p`,description:`Texte du bouton pour générer la vidéo Veo`},"button.download":{message:`Télécharger la vidéo`,description:`Texte du bouton pour télécharger la vidéo`},"button.uploadImageUrl":{message:`Télécharger`,description:`Texte du bouton pour télécharger une image (en anglais, simplifié à 'Upload', ne pas utiliser 'Upload Image')`},"button.uploadVideoUrl":{message:`Télécharger la vidéo`,description:`Texte du bouton pour télécharger la vidéo`},"button.uploadReferences":{message:`Télécharger`,description:`Texte du bouton permettant à l'utilisateur de télécharger des références`},"message.uploadReferencesExceed":{message:`Vous pouvez télécharger jusqu'à 2 images`,description:`Message d'erreur lorsque le nombre d'images téléchargées dépasse la limite`},"message.uploadReferencesSuccess":{message:`Images téléchargées avec succès`,description:`Message de succès lors du téléchargement réussi d'images`},"message.uploadReferencesError":{message:`Échec du téléchargement des images, veuillez réessayer plus tard`,description:`Message d'erreur lors de l'échec du téléchargement d'images`},"message.startingTask":{message:`Démarrage de la tâche...`,description:`Message au début de la tâche de dessin`},"message.startTaskSuccess":{message:`Tâche de génération lancée avec succès`,description:`Message de succès lors du démarrage réussi de la tâche`},"message.startTaskFailed":{message:`Échec du lancement de la tâche, veuillez contacter l'administrateur`,description:`Message d'erreur lors de l'échec du démarrage de la tâche de dessin`},"message.imageRequired":{message:`Veuillez d'abord télécharger au moins une image de référence avant de lancer la tâche de vidéo générée par image`,description:`Invite lorsque aucune image n'est téléchargée en mode image2video`},"message.usedUp":{message:`Votre crédit est épuisé, veuillez acheter plus de crédits pour continuer à utiliser`,description:`Message lorsque le crédit est épuisé`},"message.generating":{message:`Génération en cours...`,description:`Message lors de la génération de l'image`},"message.downloadVideo":{message:`Télécharger cette vidéo`,description:`Message lors de la génération de l'image`},"message.generateFailed":{message:`Échec de la génération vidéo`,description:`Message affiché lorsque la génération de vidéo échoue`},"message.uploadVideoExceed":{message:`Le nombre d'images de la première trame téléchargées dépasse la limite`,description:`Message d'erreur lorsque le nombre d'images de la première trame téléchargées dépasse la limite`},"message.uploadVideoSizeExceed":{message:`La taille du fichier téléchargé ne peut pas dépasser 10 Mo !`,description:`Message d'erreur lorsque la taille du fichier téléchargé dépasse 10 Mo !`},"message.uploadVideoTypeFailed":{message:`Le fichier téléchargé doit être au format MP4 !`,description:`Message d'erreur lorsque le fichier téléchargé n'est pas au format MP4 !`},"message.uploadStartEndImageExceed":{message:`Le nombre d'images de la première trame téléchargées dépasse la limite`,description:`Message d'erreur lorsque le nombre d'images de la première trame téléchargées dépasse la limite`},"message.uploadEndImageExceed":{message:`Le nombre d'images de la dernière trame téléchargées dépasse la limite`,description:`Message d'erreur lorsque le nombre d'images de la dernière trame téléchargées dépasse la limite`},"message.uploadStartImageError":{message:`Échec du téléchargement de l'image de la première trame`,description:`Message d'erreur lorsque le téléchargement de l'image de la première trame échoue`},"message.uploadVideoError":{message:`Échec du téléchargement de la vidéo`,description:`Message d'erreur lorsque le téléchargement de la vidéo échoue`},"message.uploadEndImageError":{message:`Échec du téléchargement de l'image de la dernière trame`,description:`Message d'erreur lorsque le téléchargement de l'image de la dernière trame échoue`},"message.uploadDocumentsError":{message:`Échec du téléchargement du document`,description:`Message d'erreur lorsque le téléchargement du document échoue`},"message.noOperations":{message:`Aucune opération disponible`,description:`Message lorsque aucune opération n'est disponible`},"message.noTasks":{message:`Aucune tâche historique, veuillez cliquer sur 'Générer vidéo' à gauche`,description:`Message lorsque aucune tâche n'est disponible`},"name.upsampleAction":{message:`Objectif de suréchantillonnage`,description:`Format cible pour /veo/upsample (1080p/4k/gif)`},"name.motionType":{message:`Mouvement de la caméra`,description:`Type de mouvement de la caméra pour /veo/reshoot`},"name.imageMask":{message:`Masque de zone`,description:`Masque d'image pour /veo/objects (pixels blancs = zone d'opération)`},"name.videoId":{message:`ID de la vidéo`,description:`ID de la vidéo source (provenant de la tâche de génération précédente data[].id)`},"placeholder.imageMask":{message:`URL de l'image de masque ou JPEG encodé en base64`,description:`Placeholder pour le champ d'entrée image_mask`},"placeholder.videoId":{message:`Collez l'ID de la vidéo ou cliquez sur le bouton d'opération dans la liste des tâches à droite pour le remplir automatiquement`,description:`Placeholder pour le champ d'entrée video_id`},"button.actionIngredients":{message:`Vidéo de fusion d'images`,description:`ingredients2video — Fusionner 1 à 3 images pour générer une nouvelle scène`},"button.actionUpsample":{message:`Suréchantillonnage / Prévisualisation GIF`,description:`/veo/upsample — Suréchantillonner en 1080p/4K ou exporter en GIF`},"button.actionExtend":{message:`Prolonger la vidéo`,description:`/veo/extend — Prolonger la durée de la vidéo générée`},"button.actionReshoot":{message:`Reprendre avec un autre angle`,description:`/veo/reshoot — Regénérer avec un mouvement de caméra différent pour le même contenu`},"button.actionObjectInsert":{message:`Ajouter un objet`,description:`/veo/objects insert — Ajouter un objet dans la vidéo`},"button.actionObjectRemove":{message:`Retirer un objet`,description:`/veo/objects remove — Retirer un objet de la vidéo via un masque`},"button.actionUpsample1080p":{message:`Suréchantillonner en 1080P`,description:`Bouton d'opération de prévisualisation — Suréchantillonner en 1080P`},"button.actionUpsample4k":{message:`Suréchantillonner en 4K`,description:`Bouton d'opération de prévisualisation — Suréchantillonner en 4K`},"button.actionUpsampleGif":{message:`Exporter en GIF`,description:`Bouton d'opération de prévisualisation — Convertir en prévisualisation GIF`}};export{e as default};
1
+ var e={"name.taskId":{message:`ID de tâche`,description:`ID de la tâche`},"name.translation":{message:`Traduction automatique`,description:`Traduction automatique des vidéos Veo`},"name.modePro":{message:`Haute qualité`,description:`Mode haute qualité pour les vidéos Kling`},"name.failure":{message:`Échec`,description:`État d'échec de la tâche`},"name.failureReason":{message:`Raison de l'échec`,description:`Raison de l'échec de la tâche`},"name.status":{message:`Statut`,description:`Statut de la tâche`},"name.traceId":{message:`ID de suivi`,description:`ID de suivi de la tâche`},"name.elapsed":{message:`Temps écoulé`,description:`Temps écoulé pour la tâche (en secondes)`},"name.createdAt":{message:`Date de création`,description:`Date et heure de génération de la vidéo Veo`},"name.startEndImage":{message:`Images de référence début/fin`,description:`Étiquette du champ de formulaire : images de référence début/fin (en anglais, suggéré comme 'Start/End Frames', garder court pour éviter de masquer le bouton)`},"name.action":{message:`Actions`,description:`Liste des actions disponibles`},"name.action3":{message:`Obtenir la vidéo en 1080p`,description:`Images de référence pour la vidéo à générer`},"name.prompt":{message:`Invite vidéo`,description:`Invite pour le contenu à entrer`},"name.model":{message:`Version du modèle`,description:`Version du modèle utilisée pour générer la vidéo`},"name.veoBot":{message:`Google Veo Bot`,description:`Nom du générateur de vidéos Veo`},"name.ratio":{message:`Ratio`,description:`Nom du paramètre de ratio`},"description.translation":{message:`Lors de la création d'une tâche vidéo, vous pouvez activer la traduction automatique des invites.`,description:`Description du paramètre 'translation'`},"description.imageUrl":{message:`Dans une tâche de création vidéo avec plusieurs images, plusieurs images doivent être téléchargées.`,description:`Description du paramètre 'imageUrl'`},"description.prompt":{message:`Invites pour générer des vidéos Veo`,description:`Description du paramètre 'prompt'`},"description.uploadStartEndImage":{message:`Tableau de liens d'images de référence, la première est l'image de début, suivie de l'image de fin`,description:`Description du paramètre 'image_url'`},"status.pending":{message:`En attente`,description:`État d'attente de la tâche`},"status.processing":{message:`En cours de traitement`,description:`État d'attente de la tâche`},"placeholder.paddingNoise":{message:`Veuillez sélectionner...`,description:`Espace réservé pour l'entrée de bruit de remplissage`},"placeholder.select":{message:`Sélectionner`,description:`Texte d'espace réservé dans le champ de sélection`},"placeholder.paddingLevel":{message:`Veuillez sélectionner...`,description:`Espace réservé pour le niveau de remplissage`},"placeholder.prompt":{message:`Entrez l'invite pour le style de vidéo à générer, par exemple : moving`,description:`Texte d'espace réservé dans le champ d'invite`},"placeholder.position":{message:`Veuillez sélectionner...`,description:`Espace réservé pour l'entrée de position`},"button.generate":{message:`Générer`,description:`Texte du bouton pour générer la vidéo Veo`},"button.action1":{message:`Vidéo générée par texte`,description:`Texte du bouton pour générer la vidéo Veo`},"button.action2":{message:`Vidéo générée par image`,description:`Texte du bouton pour générer la vidéo Veo`},"button.action3":{message:`Obtenir en 1080p`,description:`Texte du bouton pour générer la vidéo Veo`},"button.download":{message:`Télécharger la vidéo`,description:`Texte du bouton pour télécharger la vidéo`},"button.uploadImageUrl":{message:`Télécharger`,description:`Texte du bouton pour télécharger une image (en anglais, simplifié à 'Upload', ne pas utiliser 'Upload Image')`},"button.uploadVideoUrl":{message:`Télécharger la vidéo`,description:`Texte du bouton pour télécharger la vidéo`},"button.uploadReferences":{message:`Télécharger`,description:`Texte du bouton permettant à l'utilisateur de télécharger des références`},"message.uploadReferencesExceed":{message:`Vous pouvez télécharger jusqu'à 2 images`,description:`Message d'erreur lorsque le nombre d'images téléchargées dépasse la limite`},"message.uploadReferencesSuccess":{message:`Images téléchargées avec succès`,description:`Message de succès lors du téléchargement réussi d'images`},"message.uploadReferencesError":{message:`Échec du téléchargement des images, veuillez réessayer plus tard`,description:`Message d'erreur lors de l'échec du téléchargement d'images`},"message.startingTask":{message:`Démarrage de la tâche...`,description:`Message au début de la tâche de dessin`},"message.startTaskSuccess":{message:`Tâche de génération lancée avec succès`,description:`Message de succès lors du démarrage réussi de la tâche`},"message.startTaskFailed":{message:`Échec du lancement de la tâche, veuillez contacter l'administrateur`,description:`Message d'erreur lors de l'échec du démarrage de la tâche de dessin`},"message.imageRequired":{message:`Veuillez d'abord télécharger au moins une image de référence avant de lancer la tâche de vidéo générée par image`,description:`Invite lorsque aucune image n'est téléchargée en mode image2video`},"message.usedUp":{message:`Votre crédit est épuisé, veuillez acheter plus de crédits pour continuer à utiliser`,description:`Message lorsque le crédit est épuisé`},"message.generating":{message:`Génération en cours...`,description:`Message lors de la génération de l'image`},"message.downloadVideo":{message:`Télécharger cette vidéo`,description:`Message lors de la génération de l'image`},"message.generateFailed":{message:`Échec de la génération vidéo`,description:`Message affiché lorsque la génération de vidéo échoue`},"message.uploadVideoExceed":{message:`Le nombre d'images de la première trame téléchargées dépasse la limite`,description:`Message d'erreur lorsque le nombre d'images de la première trame téléchargées dépasse la limite`},"message.uploadVideoSizeExceed":{message:`La taille du fichier téléchargé ne peut pas dépasser 10 Mo !`,description:`Message d'erreur lorsque la taille du fichier téléchargé dépasse 10 Mo !`},"message.uploadVideoTypeFailed":{message:`Le fichier téléchargé doit être au format MP4 !`,description:`Message d'erreur lorsque le fichier téléchargé n'est pas au format MP4 !`},"message.uploadStartEndImageExceed":{message:`Le nombre d'images de la première trame téléchargées dépasse la limite`,description:`Message d'erreur lorsque le nombre d'images de la première trame téléchargées dépasse la limite`},"message.uploadEndImageExceed":{message:`Le nombre d'images de la dernière trame téléchargées dépasse la limite`,description:`Message d'erreur lorsque le nombre d'images de la dernière trame téléchargées dépasse la limite`},"message.uploadStartImageError":{message:`Échec du téléchargement de l'image de la première trame`,description:`Message d'erreur lorsque le téléchargement de l'image de la première trame échoue`},"message.uploadVideoError":{message:`Échec du téléchargement de la vidéo`,description:`Message d'erreur lorsque le téléchargement de la vidéo échoue`},"message.uploadEndImageError":{message:`Échec du téléchargement de l'image de la dernière trame`,description:`Message d'erreur lorsque le téléchargement de l'image de la dernière trame échoue`},"message.uploadDocumentsError":{message:`Échec du téléchargement du document`,description:`Message d'erreur lorsque le téléchargement du document échoue`},"message.noOperations":{message:`Aucune opération disponible`,description:`Message lorsque aucune opération n'est disponible`},"message.noTasks":{message:`Aucune tâche historique, veuillez cliquer sur 'Générer vidéo' à gauche`,description:`Message lorsque aucune tâche n'est disponible`},"button.actionIngredients":{message:`Vidéo de fusion d'images`,description:`ingredients2video — Fusionner 1 à 3 images pour générer une nouvelle scène`}};export{e as default};
@@ -1 +1 @@
1
- var e={"name.taskId":{message:`Tehtävä-ID`,description:`任务的 ID`},"name.translation":{message:`Automaattinen käännös`,description:`Veo视频的自动翻译`},"name.modePro":{message:`Korkea laatu`,description:`Kling视频的高品质模式`},"name.failure":{message:`Epäonnistui`,description:`任务的失败状态`},"name.failureReason":{message:`Epäonnistumisen syy`,description:`任务失败的原因`},"name.status":{message:`Tila`,description:`任务的状态`},"name.traceId":{message:`Seuranta-ID`,description:`任务的追踪 ID`},"name.elapsed":{message:`Kesto`,description:`任务的耗时(秒)`},"name.createdAt":{message:`Luontiaika`,description:`生成 Veo 视频的日期和时间`},"name.startEndImage":{message:`Alku/loppu kehys`,description:`表单字段标签:首/尾帧参考图(英文建议翻译为“Start/End Frames”,保持简短避免遮挡按钮)`},"name.action":{message:`Toiminnot`,description:`可用的操作列表`},"name.action3":{message:`Hanki 1080p`,description:`要生成的视频的参考图片`},"name.prompt":{message:`Videon vihje`,description:`内容输入的提示`},"name.model":{message:`Malliversio`,description:`要生成视频所采用的模型版本`},"name.veoBot":{message:`Google Veo Bot`,description:`Veo 视频生成器的名称`},"name.ratio":{message:`Suhde`,description:`比例参数的名称`},"description.translation":{message:`Videon luomisen yhteydessä vihje voidaan kääntää automaattisesti.`,description:`参数'translation'的描述`},"description.imageUrl":{message:`Monikuvatehtävissä on ladattava useampi kuva.`,description:`参数'imageUrl'的描述`},"description.prompt":{message:`Vihje Veo-videon luomiseen`,description:`参数'prompt'的描述`},"description.uploadStartEndImage":{message:`Viitelinkkien taulukko: ensimmäinen alku, toinen loppu`,description:`参数'image_url'的描述`},"status.pending":{message:`Odottaa`,description:`任务的等待状态`},"status.processing":{message:`Käsitellään`,description:`任务的等待状态`},"placeholder.paddingNoise":{message:`Valitse...`,description:`填充噪音输入的占位符`},"placeholder.select":{message:`Valitse`,description:`选择字段中的占位文本`},"placeholder.paddingLevel":{message:`Valitse...`,description:`填充级别的占位符`},"placeholder.prompt":{message:`Kirjoita vihje videon tyylistä, esim. moving`,description:`提示字段中的占位文本`},"placeholder.position":{message:`Valitse...`,description:`位置输入的占位符`},"button.generate":{message:`Luo`,description:`生成Veo视频的按钮文本`},"button.action1":{message:`Teksti→video`,description:`生成Veo视频的按钮文本`},"button.action2":{message:`Kuva→video`,description:`生成Veo视频的按钮文本`},"button.action3":{message:`Hanki 1080p`,description:`生成Veo视频的按钮文本`},"button.download":{message:`Lataa video`,description:`下载视频按钮文本`},"button.uploadImageUrl":{message:`Lataa`,description:`上传图片按钮文本(英文请简化为“Upload”,不要用“Upload Image”)`},"button.uploadVideoUrl":{message:`Lataa video`,description:`上传视频的按钮文本`},"button.uploadReferences":{message:`Lataa`,description:`按钮文本,允许用户上传参考`},"message.uploadReferencesExceed":{message:`Enintään 2 kuvaa`,description:`上传的图片数量超过限制时的错误消息`},"message.uploadReferencesSuccess":{message:`Kuvat ladattu onnistuneesti`,description:`成功上传图片时的成功消息`},"message.uploadReferencesError":{message:`Kuvien lataus epäonnistui, yritä myöhemmin uudelleen`,description:`图片上传失败时的错误消息`},"message.startingTask":{message:`Käynnistetään tehtävää...`,description:`绘图任务开始时的消息`},"message.startTaskSuccess":{message:`Tehtävä käynnistetty onnistuneesti`,description:`成功启动任务时的成功消息`},"message.startTaskFailed":{message:`Tehtävän käynnistäminen epäonnistui, ota yhteys ylläpitäjään`,description:`启动绘图任务失败时的错误消息`},"message.imageRequired":{message:`Lataa vähintään yksi viitekuva ennen videoiden luontia`,description:`image2video 模式下未上传图片时的提示`},"message.usedUp":{message:`Pisteesi on käytetty loppuun, osta lisää jatkaaksesi`,description:`已用完时的消息`},"message.generating":{message:`Luodaan...`,description:`图像正在生成时的消息`},"message.downloadVideo":{message:`Lataa tämä video`,description:`图像正在生成时的消息`},"message.generateFailed":{message:`Videon luominen epäonnistui`,description:`Viesti, kun videon luominen epäonnistuu`},"message.uploadVideoExceed":{message:`Lähetettyjen ensimmäisten kuvien määrä ylittää rajan`,description:`Virheilmoitus, kun lähetettyjen ensimmäisten kuvien määrä ylittää rajan`},"message.uploadVideoSizeExceed":{message:`Lähetettävän tiedoston koko ei saa ylittää 10MB!`,description:`Virheilmoitus, kun lähetettävän tiedoston koko ei saa ylittää 10MB!`},"message.uploadVideoTypeFailed":{message:`Lähetettävän tiedoston on oltava MP4-muodossa!`,description:`Virheilmoitus, kun lähetettävän tiedoston on oltava MP4-muodossa!`},"message.uploadStartEndImageExceed":{message:`Lähetettyjen ensimmäisten kuvien määrä ylittää rajan`,description:`Virheilmoitus, kun lähetettyjen ensimmäisten kuvien määrä ylittää rajan`},"message.uploadEndImageExceed":{message:`Lähetettyjen viimeisten kuvien määrä ylittää rajan`,description:`Virheilmoitus, kun lähetettyjen viimeisten kuvien määrä ylittää rajan`},"message.uploadStartImageError":{message:`Ensimmäisten kuvien lähetys epäonnistui`,description:`Virheilmoitus, kun ensimmäisten kuvien lähetys epäonnistuu`},"message.uploadVideoError":{message:`Videon lähetys epäonnistui`,description:`Virheilmoitus, kun videon lähetys epäonnistuu`},"message.uploadEndImageError":{message:`Viimeisten kuvien lähetys epäonnistui`,description:`Virheilmoitus, kun viimeisten kuvien lähetys epäonnistuu`},"message.uploadDocumentsError":{message:`Asiakirjan lähetys epäonnistui`,description:`Virheilmoitus, kun asiakirjan lähetys epäonnistuu`},"message.noOperations":{message:`Ei käytettävissä olevia toimintoja`,description:`Viesti, kun ei ole käytettävissä olevia toimintoja`},"message.noTasks":{message:`Ei historiallisia tehtäviä, napsauta vasemmalla luodaksesi videon`,description:`Viesti, kun ei ole tehtäviä`},"name.upsampleAction":{message:`Ylösnäytön kohde`,description:`/veo/upsample kohdemuoto (1080p/4k/gif)`},"name.motionType":{message:`Kameraliike`,description:`/veo/reshoot kameraliiketyyppi`},"name.imageMask":{message:`Alueen maski`,description:`/veo/objects kuvamaski (valkoiset pikselit = toimintavyöhyke)`},"name.videoId":{message:`Videon ID`,description:`Lähdevideon ID (aiemmasta generointitehtävästä data[].id)`},"placeholder.imageMask":{message:`Maskikuvan URL tai base64-koodattu JPEG`,description:`image_mask syötekentän paikkamerkki`},"placeholder.videoId":{message:`Liitä videon ID tai napsauta oikealla olevasta tehtäväluettelosta toimintopainiketta automaattisesti täyttääksesi`,description:`video_id syötekentän paikkamerkki`},"button.actionIngredients":{message:`Monikuvayhdistelmävideot`,description:`ingredients2video — 1-3 kuvaa yhdistetään uuden kohtauksen luomiseksi`},"button.actionUpsample":{message:`Ylösnäytön / GIF-esikatselu`,description:`/veo/upsample — Ylösnäytetään 1080p/4K tai viedään GIF`},"button.actionExtend":{message:`Videon jatkaminen`,description:`/veo/extend — Pitennetään jo luodun videon kestoa`},"button.actionReshoot":{message:`Uudelleenkuvaus`,description:`/veo/reshoot — Samat sisällöt, mutta eri kameraliike`},"button.actionObjectInsert":{message:`Lisää objekti`,description:`/veo/objects insert — Lisää objekti videoon`},"button.actionObjectRemove":{message:`Poista objekti`,description:`/veo/objects remove — Poista objekti videosta maskin avulla`},"button.actionUpsample1080p":{message:`Ylösnäytön 1080P`,description:`Esikatselupainike — Ylösnäytetään 1080P`},"button.actionUpsample4k":{message:`Ylösnäytön 4K`,description:`Esikatselupainike — Ylösnäytetään 4K`},"button.actionUpsampleGif":{message:`Vie GIF`,description:`Esikatselupainike — Muunna GIF-esikatseluksi`}};export{e as default};
1
+ var e={"name.taskId":{message:`Tehtävä-ID`,description:`任务的 ID`},"name.translation":{message:`Automaattinen käännös`,description:`Veo视频的自动翻译`},"name.modePro":{message:`Korkea laatu`,description:`Kling视频的高品质模式`},"name.failure":{message:`Epäonnistui`,description:`任务的失败状态`},"name.failureReason":{message:`Epäonnistumisen syy`,description:`任务失败的原因`},"name.status":{message:`Tila`,description:`任务的状态`},"name.traceId":{message:`Seuranta-ID`,description:`任务的追踪 ID`},"name.elapsed":{message:`Kesto`,description:`任务的耗时(秒)`},"name.createdAt":{message:`Luontiaika`,description:`生成 Veo 视频的日期和时间`},"name.startEndImage":{message:`Alku/loppu kehys`,description:`表单字段标签:首/尾帧参考图(英文建议翻译为“Start/End Frames”,保持简短避免遮挡按钮)`},"name.action":{message:`Toiminnot`,description:`可用的操作列表`},"name.action3":{message:`Hanki 1080p`,description:`要生成的视频的参考图片`},"name.prompt":{message:`Videon vihje`,description:`内容输入的提示`},"name.model":{message:`Malliversio`,description:`要生成视频所采用的模型版本`},"name.veoBot":{message:`Google Veo Bot`,description:`Veo 视频生成器的名称`},"name.ratio":{message:`Suhde`,description:`比例参数的名称`},"description.translation":{message:`Videon luomisen yhteydessä vihje voidaan kääntää automaattisesti.`,description:`参数'translation'的描述`},"description.imageUrl":{message:`Monikuvatehtävissä on ladattava useampi kuva.`,description:`参数'imageUrl'的描述`},"description.prompt":{message:`Vihje Veo-videon luomiseen`,description:`参数'prompt'的描述`},"description.uploadStartEndImage":{message:`Viitelinkkien taulukko: ensimmäinen alku, toinen loppu`,description:`参数'image_url'的描述`},"status.pending":{message:`Odottaa`,description:`任务的等待状态`},"status.processing":{message:`Käsitellään`,description:`任务的等待状态`},"placeholder.paddingNoise":{message:`Valitse...`,description:`填充噪音输入的占位符`},"placeholder.select":{message:`Valitse`,description:`选择字段中的占位文本`},"placeholder.paddingLevel":{message:`Valitse...`,description:`填充级别的占位符`},"placeholder.prompt":{message:`Kirjoita vihje videon tyylistä, esim. moving`,description:`提示字段中的占位文本`},"placeholder.position":{message:`Valitse...`,description:`位置输入的占位符`},"button.generate":{message:`Luo`,description:`生成Veo视频的按钮文本`},"button.action1":{message:`Teksti→video`,description:`生成Veo视频的按钮文本`},"button.action2":{message:`Kuva→video`,description:`生成Veo视频的按钮文本`},"button.action3":{message:`Hanki 1080p`,description:`生成Veo视频的按钮文本`},"button.download":{message:`Lataa video`,description:`下载视频按钮文本`},"button.uploadImageUrl":{message:`Lataa`,description:`上传图片按钮文本(英文请简化为“Upload”,不要用“Upload Image”)`},"button.uploadVideoUrl":{message:`Lataa video`,description:`上传视频的按钮文本`},"button.uploadReferences":{message:`Lataa`,description:`按钮文本,允许用户上传参考`},"message.uploadReferencesExceed":{message:`Enintään 2 kuvaa`,description:`上传的图片数量超过限制时的错误消息`},"message.uploadReferencesSuccess":{message:`Kuvat ladattu onnistuneesti`,description:`成功上传图片时的成功消息`},"message.uploadReferencesError":{message:`Kuvien lataus epäonnistui, yritä myöhemmin uudelleen`,description:`图片上传失败时的错误消息`},"message.startingTask":{message:`Käynnistetään tehtävää...`,description:`绘图任务开始时的消息`},"message.startTaskSuccess":{message:`Tehtävä käynnistetty onnistuneesti`,description:`成功启动任务时的成功消息`},"message.startTaskFailed":{message:`Tehtävän käynnistäminen epäonnistui, ota yhteys ylläpitäjään`,description:`启动绘图任务失败时的错误消息`},"message.imageRequired":{message:`Lataa vähintään yksi viitekuva ennen videoiden luontia`,description:`image2video 模式下未上传图片时的提示`},"message.usedUp":{message:`Pisteesi on käytetty loppuun, osta lisää jatkaaksesi`,description:`已用完时的消息`},"message.generating":{message:`Luodaan...`,description:`图像正在生成时的消息`},"message.downloadVideo":{message:`Lataa tämä video`,description:`图像正在生成时的消息`},"message.generateFailed":{message:`Videon luominen epäonnistui`,description:`Viesti, kun videon luominen epäonnistuu`},"message.uploadVideoExceed":{message:`Lähetettyjen ensimmäisten kuvien määrä ylittää rajan`,description:`Virheilmoitus, kun lähetettyjen ensimmäisten kuvien määrä ylittää rajan`},"message.uploadVideoSizeExceed":{message:`Lähetettävän tiedoston koko ei saa ylittää 10MB!`,description:`Virheilmoitus, kun lähetettävän tiedoston koko ei saa ylittää 10MB!`},"message.uploadVideoTypeFailed":{message:`Lähetettävän tiedoston on oltava MP4-muodossa!`,description:`Virheilmoitus, kun lähetettävän tiedoston on oltava MP4-muodossa!`},"message.uploadStartEndImageExceed":{message:`Lähetettyjen ensimmäisten kuvien määrä ylittää rajan`,description:`Virheilmoitus, kun lähetettyjen ensimmäisten kuvien määrä ylittää rajan`},"message.uploadEndImageExceed":{message:`Lähetettyjen viimeisten kuvien määrä ylittää rajan`,description:`Virheilmoitus, kun lähetettyjen viimeisten kuvien määrä ylittää rajan`},"message.uploadStartImageError":{message:`Ensimmäisten kuvien lähetys epäonnistui`,description:`Virheilmoitus, kun ensimmäisten kuvien lähetys epäonnistuu`},"message.uploadVideoError":{message:`Videon lähetys epäonnistui`,description:`Virheilmoitus, kun videon lähetys epäonnistuu`},"message.uploadEndImageError":{message:`Viimeisten kuvien lähetys epäonnistui`,description:`Virheilmoitus, kun viimeisten kuvien lähetys epäonnistuu`},"message.uploadDocumentsError":{message:`Asiakirjan lähetys epäonnistui`,description:`Virheilmoitus, kun asiakirjan lähetys epäonnistuu`},"message.noOperations":{message:`Ei käytettävissä olevia toimintoja`,description:`Viesti, kun ei ole käytettävissä olevia toimintoja`},"message.noTasks":{message:`Ei historiallisia tehtäviä, napsauta vasemmalla luodaksesi videon`,description:`Viesti, kun ei ole tehtäviä`},"button.actionIngredients":{message:`Monikuvayhdistelmävideot`,description:`ingredients2video — 1-3 kuvaa yhdistetään uuden kohtauksen luomiseksi`}};export{e as default};
@@ -1 +1 @@
1
- var e={"name.taskId":{message:`Task ID`,description:`The ID of the task`},"name.translation":{message:`Auto Translation`,description:`Auto translation for Veo videos`},"name.modePro":{message:`High Quality`,description:`High quality mode for Kling videos`},"name.failure":{message:`Failed`,description:`The failure status of the task`},"name.failureReason":{message:`Failure Reason`,description:`The reason for the task failure`},"name.status":{message:`Status`,description:`The status of the task`},"name.traceId":{message:`Trace ID`,description:`The trace ID of the task`},"name.elapsed":{message:`Elapsed Time`,description:`The elapsed time of the task (in seconds)`},"name.createdAt":{message:`Created At`,description:`The date and time when the Veo video was generated`},"name.startEndImage":{message:`Start/End Frames`,description:`Form field label: Start/End frame reference images`},"name.action":{message:`Actions`,description:`List of available actions`},"name.action3":{message:`Get 1080p Video From`,description:`Reference image for the video to be generated`},"name.prompt":{message:`Video Prompt`,description:`Prompt for content input`},"name.model":{message:`Model Version`,description:`The model version used to generate the video`},"name.veoBot":{message:`Google Veo Bot`,description:`Name of the Veo video generator`},"name.ratio":{message:`Ratio`,description:`Name of the ratio parameter`},"description.translation":{message:`You can enable auto-translation for prompts when creating video tasks.`,description:`Description of the 'translation' parameter`},"description.imageUrl":{message:`In multi-image video creation tasks, multiple images must be uploaded.`,description:`Description of the 'imageUrl' parameter`},"description.prompt":{message:`Prompt for generating Veo videos`,description:`Description of the 'prompt' parameter`},"description.uploadStartEndImage":{message:`Array of reference image links, the first is the start frame, followed by the end frame image`,description:`Description of the 'image_url' parameter`},"status.pending":{message:`Pending`,description:`The pending status of the task`},"status.processing":{message:`Processing`,description:`The processing status of the task`},"placeholder.paddingNoise":{message:`Please select...`,description:`Placeholder for padding noise input`},"placeholder.select":{message:`Select`,description:`Placeholder text in the selection field`},"placeholder.paddingLevel":{message:`Please select...`,description:`Placeholder for padding level`},"placeholder.prompt":{message:`Enter prompt for video style, e.g., moving`,description:`Placeholder text in the prompt field`},"placeholder.position":{message:`Please select...`,description:`Placeholder for position input`},"button.generate":{message:`Generate`,description:`Button text for generating Veo videos`},"button.action1":{message:`Text to Video`,description:`Button text for generating Veo videos`},"button.action2":{message:`Image to Video`,description:`Button text for generating Veo videos`},"button.action3":{message:`Get 1080p`,description:`Button text for generating Veo videos`},"button.download":{message:`Download Video`,description:`Button text for downloading the video`},"button.uploadImageUrl":{message:`Upload`,description:`Button text for uploading images`},"button.uploadVideoUrl":{message:`Upload Video`,description:`Button text for uploading videos`},"button.uploadReferences":{message:`Upload`,description:`Button text allowing users to upload references`},"message.uploadReferencesExceed":{message:`You can upload a maximum of 2 images`,description:`Error message when the number of uploaded images exceeds the limit`},"message.uploadReferencesSuccess":{message:`Images uploaded successfully`,description:`Success message when images are uploaded successfully`},"message.uploadReferencesError":{message:`Image upload failed, please try again later`,description:`Error message when image upload fails`},"message.startingTask":{message:`Starting task...`,description:`Message when the drawing task starts`},"message.startTaskSuccess":{message:`Task initiated successfully`,description:`Success message when the task is started successfully`},"message.startTaskFailed":{message:`Failed to initiate task, please contact the administrator`,description:`Error message when starting the drawing task fails`},"message.imageRequired":{message:`Please upload at least one reference image before starting the image-to-video task`,description:`Prompt when no images are uploaded in image2video mode`},"message.usedUp":{message:`Your credits are exhausted, please purchase more credits to continue`,description:`Message when credits are used up`},"message.generating":{message:`Generating...`,description:`Message when the image is being generated`},"message.downloadVideo":{message:`Download this video`,description:`Message when the image is being generated`},"message.generateFailed":{message:`Video generation failed`,description:`Message shown when image generation fails`},"message.uploadVideoExceed":{message:`The number of uploaded first frame images exceeds the limit`,description:`Error message when the number of uploaded first frame images exceeds the limit`},"message.uploadVideoSizeExceed":{message:`Uploaded file size cannot exceed 10MB!`,description:`Error message when the uploaded file size exceeds 10MB!`},"message.uploadVideoTypeFailed":{message:`Uploaded file must be in MP4 format!`,description:`Error message when the uploaded file is not in MP4 format!`},"message.uploadStartEndImageExceed":{message:`The number of uploaded first frame images exceeds the limit`,description:`Error message when the number of uploaded first frame images exceeds the limit`},"message.uploadEndImageExceed":{message:`The number of uploaded last frame images exceeds the limit`,description:`Error message when the number of uploaded last frame images exceeds the limit`},"message.uploadStartImageError":{message:`Failed to upload first frame image`,description:`Error message when the upload of the first frame image fails`},"message.uploadVideoError":{message:`Failed to upload video`,description:`Error message when the upload of the video fails`},"message.uploadEndImageError":{message:`Failed to upload last frame image`,description:`Error message when the upload of the last frame image fails`},"message.uploadDocumentsError":{message:`Failed to upload document`,description:`Error message when the upload of the document fails`},"message.noOperations":{message:`No available operations`,description:`Message when there are no available operations`},"message.noTasks":{message:`No historical tasks, please click on the left to generate a video`,description:`Message when there are no tasks`},"name.upsampleAction":{message:`Upsampling Target`,description:`Target format for /veo/upsample (1080p/4k/gif)`},"name.motionType":{message:`Camera Motion`,description:`Camera motion type for /veo/reshoot`},"name.imageMask":{message:`Area Mask`,description:`Image mask for /veo/objects (white pixels = operation area)`},"name.videoId":{message:`Video ID`,description:`ID of the source video (from the data[].id of the previous generation task)`},"placeholder.imageMask":{message:`Mask image URL or base64 encoded JPEG`,description:`Placeholder for image_mask input field`},"placeholder.videoId":{message:`Paste video ID or click the action button in the task list on the right to auto-fill`,description:`Placeholder for video_id input field`},"button.actionIngredients":{message:`Multi-image Fusion Video`,description:`ingredients2video — Fuse 1-3 images to create a new scene`},"button.actionUpsample":{message:`Upsample / GIF Preview`,description:`/veo/upsample — Upsample to 1080p/4K or export GIF`},"button.actionExtend":{message:`Extend Video`,description:`/veo/extend — Extend the duration of the generated video`},"button.actionReshoot":{message:`Reshoot with Different Angles`,description:`/veo/reshoot — Regenerate with different camera motion for the same content`},"button.actionObjectInsert":{message:`Add Object`,description:`/veo/objects insert — Add an object to the video`},"button.actionObjectRemove":{message:`Remove Object`,description:`/veo/objects remove — Remove an object from the video using a mask`},"button.actionUpsample1080p":{message:`Upsample to 1080P`,description:`Preview action button — Upsample to 1080P`},"button.actionUpsample4k":{message:`Upsample to 4K`,description:`Preview action button — Upsample to 4K`},"button.actionUpsampleGif":{message:`Export GIF`,description:`Preview action button — Convert to GIF preview`}};export{e as default};
1
+ var e={"name.taskId":{message:`Task ID`,description:`The ID of the task`},"name.translation":{message:`Auto Translation`,description:`Auto translation for Veo videos`},"name.modePro":{message:`High Quality`,description:`High quality mode for Kling videos`},"name.failure":{message:`Failed`,description:`The failure status of the task`},"name.failureReason":{message:`Failure Reason`,description:`The reason for the task failure`},"name.status":{message:`Status`,description:`The status of the task`},"name.traceId":{message:`Trace ID`,description:`The trace ID of the task`},"name.elapsed":{message:`Elapsed Time`,description:`The elapsed time of the task (in seconds)`},"name.createdAt":{message:`Created At`,description:`The date and time when the Veo video was generated`},"name.startEndImage":{message:`Start/End Frames`,description:`Form field label: Start/End frame reference images`},"name.action":{message:`Actions`,description:`List of available actions`},"name.action3":{message:`Get 1080p Video From`,description:`Reference image for the video to be generated`},"name.prompt":{message:`Video Prompt`,description:`Prompt for content input`},"name.model":{message:`Model Version`,description:`The model version used to generate the video`},"name.veoBot":{message:`Google Veo Bot`,description:`Name of the Veo video generator`},"name.ratio":{message:`Ratio`,description:`Name of the ratio parameter`},"description.translation":{message:`You can enable auto-translation for prompts when creating video tasks.`,description:`Description of the 'translation' parameter`},"description.imageUrl":{message:`In multi-image video creation tasks, multiple images must be uploaded.`,description:`Description of the 'imageUrl' parameter`},"description.prompt":{message:`Prompt for generating Veo videos`,description:`Description of the 'prompt' parameter`},"description.uploadStartEndImage":{message:`Array of reference image links, the first is the start frame, followed by the end frame image`,description:`Description of the 'image_url' parameter`},"status.pending":{message:`Pending`,description:`The pending status of the task`},"status.processing":{message:`Processing`,description:`The processing status of the task`},"placeholder.paddingNoise":{message:`Please select...`,description:`Placeholder for padding noise input`},"placeholder.select":{message:`Select`,description:`Placeholder text in the selection field`},"placeholder.paddingLevel":{message:`Please select...`,description:`Placeholder for padding level`},"placeholder.prompt":{message:`Enter prompt for video style, e.g., moving`,description:`Placeholder text in the prompt field`},"placeholder.position":{message:`Please select...`,description:`Placeholder for position input`},"button.generate":{message:`Generate`,description:`Button text for generating Veo videos`},"button.action1":{message:`Text to Video`,description:`Button text for generating Veo videos`},"button.action2":{message:`Image to Video`,description:`Button text for generating Veo videos`},"button.action3":{message:`Get 1080p`,description:`Button text for generating Veo videos`},"button.download":{message:`Download Video`,description:`Button text for downloading the video`},"button.uploadImageUrl":{message:`Upload`,description:`Button text for uploading images`},"button.uploadVideoUrl":{message:`Upload Video`,description:`Button text for uploading videos`},"button.uploadReferences":{message:`Upload`,description:`Button text allowing users to upload references`},"message.uploadReferencesExceed":{message:`You can upload a maximum of 2 images`,description:`Error message when the number of uploaded images exceeds the limit`},"message.uploadReferencesSuccess":{message:`Images uploaded successfully`,description:`Success message when images are uploaded successfully`},"message.uploadReferencesError":{message:`Image upload failed, please try again later`,description:`Error message when image upload fails`},"message.startingTask":{message:`Starting task...`,description:`Message when the drawing task starts`},"message.startTaskSuccess":{message:`Task initiated successfully`,description:`Success message when the task is started successfully`},"message.startTaskFailed":{message:`Failed to initiate task, please contact the administrator`,description:`Error message when starting the drawing task fails`},"message.imageRequired":{message:`Please upload at least one reference image before starting the image-to-video task`,description:`Prompt when no images are uploaded in image2video mode`},"message.usedUp":{message:`Your credits are exhausted, please purchase more credits to continue`,description:`Message when credits are used up`},"message.generating":{message:`Generating...`,description:`Message when the image is being generated`},"message.downloadVideo":{message:`Download this video`,description:`Message when the image is being generated`},"message.generateFailed":{message:`Video generation failed`,description:`Message shown when image generation fails`},"message.uploadVideoExceed":{message:`The number of uploaded first frame images exceeds the limit`,description:`Error message when the number of uploaded first frame images exceeds the limit`},"message.uploadVideoSizeExceed":{message:`Uploaded file size cannot exceed 10MB!`,description:`Error message when the uploaded file size exceeds 10MB!`},"message.uploadVideoTypeFailed":{message:`Uploaded file must be in MP4 format!`,description:`Error message when the uploaded file is not in MP4 format!`},"message.uploadStartEndImageExceed":{message:`The number of uploaded first frame images exceeds the limit`,description:`Error message when the number of uploaded first frame images exceeds the limit`},"message.uploadEndImageExceed":{message:`The number of uploaded last frame images exceeds the limit`,description:`Error message when the number of uploaded last frame images exceeds the limit`},"message.uploadStartImageError":{message:`Failed to upload first frame image`,description:`Error message when the upload of the first frame image fails`},"message.uploadVideoError":{message:`Failed to upload video`,description:`Error message when the upload of the video fails`},"message.uploadEndImageError":{message:`Failed to upload last frame image`,description:`Error message when the upload of the last frame image fails`},"message.uploadDocumentsError":{message:`Failed to upload document`,description:`Error message when the upload of the document fails`},"message.noOperations":{message:`No available operations`,description:`Message when there are no available operations`},"message.noTasks":{message:`No historical tasks, please click on the left to generate a video`,description:`Message when there are no tasks`},"button.actionIngredients":{message:`Multi-image Fusion Video`,description:`ingredients2video — Fuse 1-3 images to create a new scene`}};export{e as default};
@@ -1 +1 @@
1
- import{_t as e}from"./constants-BP-0lGQL.js";import{cr as t,hn as n}from"./index-BhNj9A10.js";import{t as r}from"./createTaskActions-BvlaQhYX.js";var i={namespaced:!0,state:t,mutations:{setTasks:(e,t)=>{e.tasks=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setConfig:(e,t)=>{e.config=t},setCredential:(e,t)=>{e.credential=t},setService:(e,t)=>{e.service=t},setTasksActive:(e,t)=>{e.tasks={...e.tasks,active:t}},setTasksItems:(e,t)=>{e.tasks={...e.tasks,items:t}},setTasksTotal:(e,t)=>{e.tasks={...e.tasks,total:t}},resetAll:e=>{Object.assign(e,t())}},actions:r({serviceId:e,operator:n,type:`videos`})};export{i as default,i as wan};
1
+ import{_t as e}from"./constants-B2BGg4Jn.js";import{cr as t,hn as n}from"./index-BwSJADk5.js";import{t as r}from"./createTaskActions-BBmvX8yH.js";var i={namespaced:!0,state:t,mutations:{setTasks:(e,t)=>{e.tasks=t},setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setConfig:(e,t)=>{e.config=t},setCredential:(e,t)=>{e.credential=t},setService:(e,t)=>{e.service=t},setTasksActive:(e,t)=>{e.tasks={...e.tasks,active:t}},setTasksItems:(e,t)=>{e.tasks={...e.tasks,items:t}},setTasksTotal:(e,t)=>{e.tasks={...e.tasks,total:t}},resetAll:e=>{Object.assign(e,t())}},actions:r({serviceId:e,operator:n,type:`videos`})};export{i as default,i as wan};
@@ -1 +1 @@
1
- import{Ai as e,t}from"./index-BhNj9A10.js";var n={status:`success`,version:``,downloaded:`1970-01-01T00:00:00.000Z`,id:`builtin`,checksum:``},r=class extends e{async setStatsUrl(e){console.warn(`Cannot setStatsUrl in web`,e)}async setUpdateUrl(e){console.warn(`Cannot setUpdateUrl in web`,e)}async setChannelUrl(e){console.warn(`Cannot setChannelUrl in web`,e)}async download(e){return console.warn(`Cannot download version in web`,e),n}async next(e){return console.warn(`Cannot set next version in web`,e),n}async isAutoUpdateEnabled(){return console.warn(`Cannot get isAutoUpdateEnabled in web`),{enabled:!1}}async set(e){console.warn(`Cannot set active bundle in web`,e)}async startPreviewSession(e){console.warn(`Cannot start preview session in web`,e)}async listPreviews(){return console.warn(`Cannot list previews in web`),{previews:[],currentBundle:n}}async setPreview(e){console.warn(`Cannot set preview in web`,e)}async resetPreview(){console.warn(`Cannot reset preview in web`)}async deletePreview(e){return console.warn(`Cannot delete preview in web`,e),{removed:!1,deleted:!1}}async checkPreviewUpdate(e){throw console.warn(`Cannot check preview update in web`,e),this.unimplemented(`Preview updates are not available on web platform`)}async updatePreview(e){throw console.warn(`Cannot update preview in web`,e),this.unimplemented(`Preview updates are not available on web platform`)}async getDeviceId(){return console.warn(`Cannot get ID in web`),{deviceId:`default`}}async getBuiltinVersion(){return console.warn(`Cannot get version in web`),{version:`default`}}async getPluginVersion(){return console.warn(`Cannot get plugin version in web`),{version:`default`}}async delete(e){console.warn(`Cannot delete bundle in web`,e)}async setBundleError(e){return console.warn(`Cannot setBundleError in web`,e),n}async list(){return console.warn(`Cannot list bundles in web`),{bundles:[]}}async reset(e){console.warn(`Cannot reset version in web`,e)}async current(){return console.warn(`Cannot get current bundle in web`),{bundle:n,native:`0.0.0`}}async reload(){console.warn(`Cannot reload current bundle in web`)}async getLatest(){return console.warn(`Cannot getLatest current bundle in web`),{version:`0.0.0`,message:`Cannot getLatest current bundle in web`}}async triggerUpdateCheck(){return console.warn(`Cannot triggerUpdateCheck in web`),{status:`unavailable`,queued:!1}}async getMissingBundleFiles(e){console.warn(`Cannot inspect missing bundle files in web`,{manifestLength:e.manifest?.length??0});let t=e.manifest??[];return{missing:t,total:t.length,missingCount:t.length,reusableCount:0}}async getBundleDownloadSize(e){return console.warn(`Cannot estimate bundle download size in web`,{manifestLength:e.manifest?.length??0}),{totalSize:0,knownFiles:0,unknownFiles:e.manifest?.length??0,files:(e.manifest??[]).map(e=>({file_name:e.file_name,file_hash:e.file_hash,download_url:e.download_url,error:`unavailable`}))}}async setChannel(e){return console.warn(`Cannot setChannel in web`,e),{status:`error`,error:`Cannot setChannel in web`}}async unsetChannel(e){console.warn(`Cannot unsetChannel in web`,e)}async setCustomId(e){console.warn(`Cannot setCustomId in web`,e)}async getChannel(){return console.warn(`Cannot getChannel in web`),{status:`error`,error:`Cannot getChannel in web`}}async listChannels(){throw console.warn(`Cannot listChannels in web`),{message:`Cannot listChannels in web`,error:`platform_not_supported`}}async notifyAppReady(){return{bundle:n}}async setMultiDelay(e){console.warn(`Cannot setMultiDelay in web`,e?.delayConditions)}async cancelDelay(){console.warn(`Cannot cancelDelay in web`)}async isAutoUpdateAvailable(){return console.warn(`Cannot isAutoUpdateAvailable in web`),{available:!1}}async getCurrentBundle(){return console.warn(`Cannot get current bundle in web`),n}async getNextBundle(){return Promise.resolve(null)}async getFailedUpdate(){return console.warn(`Cannot getFailedUpdate in web`),null}async setShakeMenu(e){throw this.unimplemented(`Shake menu not available on web platform`)}async isShakeMenuEnabled(){return Promise.resolve({enabled:!1,gesture:`shake`})}async setShakeChannelSelector(e){throw this.unimplemented(`Shake channel selector not available on web platform`)}async isShakeChannelSelectorEnabled(){return Promise.resolve({enabled:!1})}async getAppId(){return console.warn(`Cannot getAppId in web`),{appId:`default`}}async setAppId(e){console.warn(`Cannot setAppId in web`,e)}async getAppUpdateInfo(e){return console.warn(`getAppUpdateInfo is not available on web platform`),{currentVersionName:`0.0.0`,currentVersionCode:`0`,updateAvailability:t.UNKNOWN}}async openAppStore(e){throw this.unimplemented(`openAppStore is not available on web platform`)}async performImmediateUpdate(){throw this.unimplemented(`performImmediateUpdate is only available on Android`)}async startFlexibleUpdate(){throw this.unimplemented(`startFlexibleUpdate is only available on Android`)}async completeFlexibleUpdate(){throw this.unimplemented(`completeFlexibleUpdate is only available on Android`)}};export{r as CapacitorUpdaterWeb};
1
+ import{Ai as e,t}from"./index-BwSJADk5.js";var n={status:`success`,version:``,downloaded:`1970-01-01T00:00:00.000Z`,id:`builtin`,checksum:``},r=class extends e{async setStatsUrl(e){console.warn(`Cannot setStatsUrl in web`,e)}async setUpdateUrl(e){console.warn(`Cannot setUpdateUrl in web`,e)}async setChannelUrl(e){console.warn(`Cannot setChannelUrl in web`,e)}async download(e){return console.warn(`Cannot download version in web`,e),n}async next(e){return console.warn(`Cannot set next version in web`,e),n}async isAutoUpdateEnabled(){return console.warn(`Cannot get isAutoUpdateEnabled in web`),{enabled:!1}}async set(e){console.warn(`Cannot set active bundle in web`,e)}async startPreviewSession(e){console.warn(`Cannot start preview session in web`,e)}async listPreviews(){return console.warn(`Cannot list previews in web`),{previews:[],currentBundle:n}}async setPreview(e){console.warn(`Cannot set preview in web`,e)}async resetPreview(){console.warn(`Cannot reset preview in web`)}async deletePreview(e){return console.warn(`Cannot delete preview in web`,e),{removed:!1,deleted:!1}}async checkPreviewUpdate(e){throw console.warn(`Cannot check preview update in web`,e),this.unimplemented(`Preview updates are not available on web platform`)}async updatePreview(e){throw console.warn(`Cannot update preview in web`,e),this.unimplemented(`Preview updates are not available on web platform`)}async getDeviceId(){return console.warn(`Cannot get ID in web`),{deviceId:`default`}}async getBuiltinVersion(){return console.warn(`Cannot get version in web`),{version:`default`}}async getPluginVersion(){return console.warn(`Cannot get plugin version in web`),{version:`default`}}async delete(e){console.warn(`Cannot delete bundle in web`,e)}async setBundleError(e){return console.warn(`Cannot setBundleError in web`,e),n}async list(){return console.warn(`Cannot list bundles in web`),{bundles:[]}}async reset(e){console.warn(`Cannot reset version in web`,e)}async current(){return console.warn(`Cannot get current bundle in web`),{bundle:n,native:`0.0.0`}}async reload(){console.warn(`Cannot reload current bundle in web`)}async getLatest(){return console.warn(`Cannot getLatest current bundle in web`),{version:`0.0.0`,message:`Cannot getLatest current bundle in web`}}async triggerUpdateCheck(){return console.warn(`Cannot triggerUpdateCheck in web`),{status:`unavailable`,queued:!1}}async getMissingBundleFiles(e){console.warn(`Cannot inspect missing bundle files in web`,{manifestLength:e.manifest?.length??0});let t=e.manifest??[];return{missing:t,total:t.length,missingCount:t.length,reusableCount:0}}async getBundleDownloadSize(e){return console.warn(`Cannot estimate bundle download size in web`,{manifestLength:e.manifest?.length??0}),{totalSize:0,knownFiles:0,unknownFiles:e.manifest?.length??0,files:(e.manifest??[]).map(e=>({file_name:e.file_name,file_hash:e.file_hash,download_url:e.download_url,error:`unavailable`}))}}async setChannel(e){return console.warn(`Cannot setChannel in web`,e),{status:`error`,error:`Cannot setChannel in web`}}async unsetChannel(e){console.warn(`Cannot unsetChannel in web`,e)}async setCustomId(e){console.warn(`Cannot setCustomId in web`,e)}async getChannel(){return console.warn(`Cannot getChannel in web`),{status:`error`,error:`Cannot getChannel in web`}}async listChannels(){throw console.warn(`Cannot listChannels in web`),{message:`Cannot listChannels in web`,error:`platform_not_supported`}}async notifyAppReady(){return{bundle:n}}async setMultiDelay(e){console.warn(`Cannot setMultiDelay in web`,e?.delayConditions)}async cancelDelay(){console.warn(`Cannot cancelDelay in web`)}async isAutoUpdateAvailable(){return console.warn(`Cannot isAutoUpdateAvailable in web`),{available:!1}}async getCurrentBundle(){return console.warn(`Cannot get current bundle in web`),n}async getNextBundle(){return Promise.resolve(null)}async getFailedUpdate(){return console.warn(`Cannot getFailedUpdate in web`),null}async setShakeMenu(e){throw this.unimplemented(`Shake menu not available on web platform`)}async isShakeMenuEnabled(){return Promise.resolve({enabled:!1,gesture:`shake`})}async setShakeChannelSelector(e){throw this.unimplemented(`Shake channel selector not available on web platform`)}async isShakeChannelSelectorEnabled(){return Promise.resolve({enabled:!1})}async getAppId(){return console.warn(`Cannot getAppId in web`),{appId:`default`}}async setAppId(e){console.warn(`Cannot setAppId in web`,e)}async getAppUpdateInfo(e){return console.warn(`getAppUpdateInfo is not available on web platform`),{currentVersionName:`0.0.0`,currentVersionCode:`0`,updateAvailability:t.UNKNOWN}}async openAppStore(e){throw this.unimplemented(`openAppStore is not available on web platform`)}async performImmediateUpdate(){throw this.unimplemented(`performImmediateUpdate is only available on Android`)}async startFlexibleUpdate(){throw this.unimplemented(`startFlexibleUpdate is only available on Android`)}async completeFlexibleUpdate(){throw this.unimplemented(`completeFlexibleUpdate is only available on Android`)}};export{r as CapacitorUpdaterWeb};
@@ -1 +1 @@
1
- import{Ai as e}from"./index-BhNj9A10.js";var t=class extends e{constructor(){super(),this._lastWindow=null}async open(e){this._lastWindow=window.open(e.url,e.windowName||`_blank`)}async close(){return new Promise((e,t)=>{this._lastWindow==null?t(`No active window to close!`):(this._lastWindow.close(),this._lastWindow=null,e())})}};new t;export{t as BrowserWeb};
1
+ import{Ai as e}from"./index-BwSJADk5.js";var t=class extends e{constructor(){super(),this._lastWindow=null}async open(e){this._lastWindow=window.open(e.url,e.windowName||`_blank`)}async close(){return new Promise((e,t)=>{this._lastWindow==null?t(`No active window to close!`):(this._lastWindow.close(),this._lastWindow=null,e())})}};new t;export{t as BrowserWeb};
@@ -1 +1 @@
1
- import{Ai as e}from"./index-BhNj9A10.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
1
+ import{Ai as e}from"./index-BwSJADk5.js";var t=class extends e{constructor(){super(),this.handleVisibilityChange=()=>{let e={isActive:document.hidden!==!0};this.notifyListeners(`appStateChange`,e),document.hidden?this.notifyListeners(`pause`,null):this.notifyListeners(`resume`,null)},document.addEventListener(`visibilitychange`,this.handleVisibilityChange,!1)}exitApp(){throw this.unimplemented(`Not implemented on web.`)}async getInfo(){throw this.unimplemented(`Not implemented on web.`)}async getLaunchUrl(){return{url:``}}async getState(){return{isActive:document.hidden!==!0}}async minimizeApp(){throw this.unimplemented(`Not implemented on web.`)}async toggleBackButtonHandler(){throw this.unimplemented(`Not implemented on web.`)}async getAppLanguage(){return{value:navigator.language.split(`-`)[0].toLowerCase()}}};export{t as AppWeb};
@@ -1 +1 @@
1
- import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{Ai as n}from"./index-BhNj9A10.js";var r=e(t(((e,t)=>{(function(e,n){t!==void 0&&t.exports?t.exports=n():typeof define==`function`&&define.amd?define(n):this[e]=n()})(`$script`,function(){var e=document,t=e.getElementsByTagName(`head`)[0],n=!1,r=`push`,i=`readyState`,a=`onreadystatechange`,o={},s={},c={},l={},u,d;function f(e,t){for(var r=0,i=e.length;r<i;++r)if(!t(e[r]))return n;return 1}function p(e,t){f(e,function(e){return t(e),1})}function m(e,t,n){e=e[r]?e:[e];var i=t&&t.call,a=i?t:n,d=i?e.join(``):t,g=e.length;function _(e){return e.call?e():o[e]}function v(){if(!--g)for(var e in o[d]=1,a&&a(),c)f(e.split(`|`),_)&&!p(c[e],_)&&(c[e]=[])}return setTimeout(function(){p(e,function e(t,n){if(t===null)return v();if(!n&&!/^https?:\/\//.test(t)&&u&&(t=t.indexOf(`.js`)===-1?u+t+`.js`:u+t),l[t])return d&&(s[d]=1),l[t]==2?v():setTimeout(function(){e(t,!0)},0);l[t]=1,d&&(s[d]=1),h(t,v)})},0),m}function h(n,r){var o=e.createElement(`script`),s;o.onload=o.onerror=o[a]=function(){o[i]&&!/^c|loade/.test(o[i])||s||(o.onload=o[a]=null,s=1,l[n]=2,r())},o.async=1,o.src=d?n+(n.indexOf(`?`)===-1?`?`:`&`)+d:n,t.insertBefore(o,t.lastChild)}return m.get=h,m.order=function(e,t,n){(function r(i){i=e.shift(),e.length?m(i,r):m(i,t,n)})()},m.path=function(e){u=e},m.urlArgs=function(e){d=e},m.ready=function(e,t,n){e=e[r]?e:[e];var i=[];return!p(e,function(e){o[e]||i[r](e)})&&f(e,function(e){return o[e]})?t():function(e){c[e]=c[e]||[],c[e][r](t),n&&n(i)}(e.join(`|`)),m},m.done=function(e){m([null],e)},m})}))()),i=class extends n{constructor(){super(...arguments),this.appleScriptUrl=`https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js`,this.isAppleScriptLoaded=!1}async authorize(e){return new Promise((t,n)=>{e?this.loadSignInWithAppleJS().then(r=>{this.isAppleScriptLoaded=r,this.isAppleScriptLoaded?(AppleID.auth.init({clientId:e.clientId,redirectURI:e.redirectURI,scope:e.scopes??void 0,state:e.state??void 0,nonce:e.nonce??void 0,usePopup:!0}),AppleID.auth.signIn().then(e=>{t({response:{user:null,email:e.user?.email,givenName:e.user?.name?.firstName,familyName:e.user?.name?.lastName,identityToken:e.authorization.id_token,authorizationCode:e.authorization.code}})}).catch(e=>{n(e)})):n(`Unable to load Sign in with Apple JS framework.`)}):n(`No options were provided.`)})}loadSignInWithAppleJS(){return new Promise(e=>{this.isAppleScriptLoaded?e(!0):r.get(this.appleScriptUrl,()=>e(!0))})}};export{i as SignInWithAppleWeb};
1
+ import{o as e,t}from"./rolldown-runtime--c01j_DQ.js";import{Ai as n}from"./index-BwSJADk5.js";var r=e(t(((e,t)=>{(function(e,n){t!==void 0&&t.exports?t.exports=n():typeof define==`function`&&define.amd?define(n):this[e]=n()})(`$script`,function(){var e=document,t=e.getElementsByTagName(`head`)[0],n=!1,r=`push`,i=`readyState`,a=`onreadystatechange`,o={},s={},c={},l={},u,d;function f(e,t){for(var r=0,i=e.length;r<i;++r)if(!t(e[r]))return n;return 1}function p(e,t){f(e,function(e){return t(e),1})}function m(e,t,n){e=e[r]?e:[e];var i=t&&t.call,a=i?t:n,d=i?e.join(``):t,g=e.length;function _(e){return e.call?e():o[e]}function v(){if(!--g)for(var e in o[d]=1,a&&a(),c)f(e.split(`|`),_)&&!p(c[e],_)&&(c[e]=[])}return setTimeout(function(){p(e,function e(t,n){if(t===null)return v();if(!n&&!/^https?:\/\//.test(t)&&u&&(t=t.indexOf(`.js`)===-1?u+t+`.js`:u+t),l[t])return d&&(s[d]=1),l[t]==2?v():setTimeout(function(){e(t,!0)},0);l[t]=1,d&&(s[d]=1),h(t,v)})},0),m}function h(n,r){var o=e.createElement(`script`),s;o.onload=o.onerror=o[a]=function(){o[i]&&!/^c|loade/.test(o[i])||s||(o.onload=o[a]=null,s=1,l[n]=2,r())},o.async=1,o.src=d?n+(n.indexOf(`?`)===-1?`?`:`&`)+d:n,t.insertBefore(o,t.lastChild)}return m.get=h,m.order=function(e,t,n){(function r(i){i=e.shift(),e.length?m(i,r):m(i,t,n)})()},m.path=function(e){u=e},m.urlArgs=function(e){d=e},m.ready=function(e,t,n){e=e[r]?e:[e];var i=[];return!p(e,function(e){o[e]||i[r](e)})&&f(e,function(e){return o[e]})?t():function(e){c[e]=c[e]||[],c[e][r](t),n&&n(i)}(e.join(`|`)),m},m.done=function(e){m([null],e)},m})}))()),i=class extends n{constructor(){super(...arguments),this.appleScriptUrl=`https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js`,this.isAppleScriptLoaded=!1}async authorize(e){return new Promise((t,n)=>{e?this.loadSignInWithAppleJS().then(r=>{this.isAppleScriptLoaded=r,this.isAppleScriptLoaded?(AppleID.auth.init({clientId:e.clientId,redirectURI:e.redirectURI,scope:e.scopes??void 0,state:e.state??void 0,nonce:e.nonce??void 0,usePopup:!0}),AppleID.auth.signIn().then(e=>{t({response:{user:null,email:e.user?.email,givenName:e.user?.name?.firstName,familyName:e.user?.name?.lastName,identityToken:e.authorization.id_token,authorizationCode:e.authorization.code}})}).catch(e=>{n(e)})):n(`Unable to load Sign in with Apple JS framework.`)}):n(`No options were provided.`)})}loadSignInWithAppleJS(){return new Promise(e=>{this.isAppleScriptLoaded?e(!0):r.get(this.appleScriptUrl,()=>e(!0))})}};export{i as SignInWithAppleWeb};
@@ -1 +1 @@
1
- import{Ai as e}from"./index-BhNj9A10.js";var t=class extends e{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!(`Notification`in window)||!Notification.requestPermission)return!1;if(Notification.permission!==`granted`)try{new Notification(``)}catch(e){if(e instanceof Error&&e.name===`TypeError`)return!1}return!0}}async getDeliveredNotifications(){let e=[];for(let t of this.deliveredNotifications){let n={title:t.title,id:parseInt(t.tag),body:t.body};e.push(n)}return{notifications:e}}async removeDeliveredNotifications(e){for(let t of e.notifications){let e=this.deliveredNotifications.find(e=>e.tag===String(t.id));e?.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(let e of this.deliveredNotifications)e.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented(`Not implemented on web.`)}async deleteChannel(){throw this.unimplemented(`Not implemented on web.`)}async listChannels(){throw this.unimplemented(`Not implemented on web.`)}async schedule(e){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);for(let t of e.notifications)this.sendNotification(t);return{notifications:e.notifications.map(e=>({id:e.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented(`Not implemented on web.`)}async cancel(e){this.pending=this.pending.filter(t=>!e.notifications.find(e=>e.id===t.id))}async areEnabled(){let{display:e}=await this.checkPermissions();return{value:e===`granted`}}async changeExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async checkExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(e){switch(e){case`granted`:return`granted`;case`denied`:return`denied`;default:return`prompt`}}sendPending(){let e=[],t=new Date().getTime();for(let n of this.pending)n.schedule?.at&&n.schedule.at.getTime()<=t&&(this.buildNotification(n),e.push(n));this.pending=this.pending.filter(t=>!e.find(e=>e===t))}sendNotification(e){if(e.schedule?.at){let t=e.schedule.at.getTime()-new Date().getTime();this.pending.push(e),setTimeout(()=>{this.sendPending()},t);return}this.buildNotification(e)}buildNotification(e){let t=new Notification(e.title,{body:e.body,tag:String(e.id)});return t.addEventListener(`click`,this.onClick.bind(this,e),!1),t.addEventListener(`show`,this.onShow.bind(this,e),!1),t.addEventListener(`close`,()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(e){let t={actionId:`tap`,notification:e};this.notifyListeners(`localNotificationActionPerformed`,t)}onShow(e){this.notifyListeners(`localNotificationReceived`,e)}};export{t as LocalNotificationsWeb};
1
+ import{Ai as e}from"./index-BwSJADk5.js";var t=class extends e{constructor(){super(...arguments),this.pending=[],this.deliveredNotifications=[],this.hasNotificationSupport=()=>{if(!(`Notification`in window)||!Notification.requestPermission)return!1;if(Notification.permission!==`granted`)try{new Notification(``)}catch(e){if(e instanceof Error&&e.name===`TypeError`)return!1}return!0}}async getDeliveredNotifications(){let e=[];for(let t of this.deliveredNotifications){let n={title:t.title,id:parseInt(t.tag),body:t.body};e.push(n)}return{notifications:e}}async removeDeliveredNotifications(e){for(let t of e.notifications){let e=this.deliveredNotifications.find(e=>e.tag===String(t.id));e?.close(),this.deliveredNotifications=this.deliveredNotifications.filter(()=>!e)}}async removeAllDeliveredNotifications(){for(let e of this.deliveredNotifications)e.close();this.deliveredNotifications=[]}async createChannel(){throw this.unimplemented(`Not implemented on web.`)}async deleteChannel(){throw this.unimplemented(`Not implemented on web.`)}async listChannels(){throw this.unimplemented(`Not implemented on web.`)}async schedule(e){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);for(let t of e.notifications)this.sendNotification(t);return{notifications:e.notifications.map(e=>({id:e.id}))}}async getPending(){return{notifications:this.pending}}async registerActionTypes(){throw this.unimplemented(`Not implemented on web.`)}async cancel(e){this.pending=this.pending.filter(t=>!e.notifications.find(e=>e.id===t.id))}async areEnabled(){let{display:e}=await this.checkPermissions();return{value:e===`granted`}}async changeExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async checkExactNotificationSetting(){throw this.unimplemented(`Not implemented on web.`)}async requestPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(await Notification.requestPermission())}}async checkPermissions(){if(!this.hasNotificationSupport())throw this.unavailable(`Notifications not supported in this browser.`);return{display:this.transformNotificationPermission(Notification.permission)}}transformNotificationPermission(e){switch(e){case`granted`:return`granted`;case`denied`:return`denied`;default:return`prompt`}}sendPending(){let e=[],t=new Date().getTime();for(let n of this.pending)n.schedule?.at&&n.schedule.at.getTime()<=t&&(this.buildNotification(n),e.push(n));this.pending=this.pending.filter(t=>!e.find(e=>e===t))}sendNotification(e){if(e.schedule?.at){let t=e.schedule.at.getTime()-new Date().getTime();this.pending.push(e),setTimeout(()=>{this.sendPending()},t);return}this.buildNotification(e)}buildNotification(e){let t=new Notification(e.title,{body:e.body,tag:String(e.id)});return t.addEventListener(`click`,this.onClick.bind(this,e),!1),t.addEventListener(`show`,this.onShow.bind(this,e),!1),t.addEventListener(`close`,()=>{this.deliveredNotifications=this.deliveredNotifications.filter(()=>!this)},!1),this.deliveredNotifications.push(t),t}onClick(e){let t={actionId:`tap`,notification:e};this.notifyListeners(`localNotificationActionPerformed`,t)}onShow(e){this.notifyListeners(`localNotificationReceived`,e)}};export{t as LocalNotificationsWeb};
@@ -1 +1 @@
1
- import{mt as e}from"./constants-BP-0lGQL.js";import{Bn as t,Qn as n,Ur as r,mn as i,or as a,zn as o}from"./index-BhNj9A10.js";var s={namespaced:!0,state:a,mutations:{setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setConfig:(e,t)=>{e.config=t},setCredential:(e,t)=>{e.credential=t},setService:(e,t)=>{e.service=t},setResponse:(e,t)=>{e.response=t},resetAll:e=>{Object.assign(e,a())}},actions:{createCredential:async({commit:e,state:t})=>{let n=t.application;if(!n){console.error(`webextrator: application not found`);return}let{data:r}=await o.create({application_id:n?.id,host:window.location.origin});return e(`setCredential`,r),r},setService:async({commit:e},t)=>{e(`setService`,t)},getService:async({commit:n,state:i})=>{i.status.getService=r.Request;try{let{data:a}=await t.get(e);return i.status.getService=r.Success,n(`setService`,a),a}catch{i.status.getService=r.Error,n(`setService`,void 0)}},resetAll:({commit:e})=>{e(`resetAll`)},setCredential:async({commit:e},t)=>{e(`setCredential`,t)},setConfig:({commit:e},t)=>{e(`setConfig`,t)},setApplications:async({commit:e},t)=>{e(`setApplications`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`webextrator: set application`,r),e(`setApplication`,r),!r)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?e(`setCredential`,o):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):await t(`createCredential`)},getApplications:async({commit:t,state:i})=>{i.status.getApplications=r.Request;try{let{data:a}=await n.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return i.status.getApplications=r.Success,t(`setApplications`,a.items),a.items}catch(e){console.error(`webextrator: get applications failed`,e),i.status.getApplications=r.Error,t(`setApplications`,void 0),t(`setApplication`,void 0)}},run:async({commit:e,state:t})=>{let n=t.credential?.token;if(!n){console.error(`webextrator: no token specified`);return}let a=t.config;if(!a?.url){console.error(`webextrator: no url specified`);return}t.status.run=r.Request;let o={url:a.url,wait_until:a.wait_until,timeout:a.timeout,delay:a.delay,wait_for_selector:a.wait_for_selector||void 0,block_resources:a.block_resources?.length?a.block_resources:void 0,user_agent:a.user_agent||void 0};try{let{data:s}=a.mode===`render`?await i.render(o,{token:n}):await i.extract({...o,expected_type:a.expected_type,enable_llm:!!a.enable_llm},{token:n});t.status.run=r.Success,e(`setResponse`,s)}catch(n){t.status.run=r.Error;let i=n?.response?.data;throw i&&typeof i==`object`?e(`setResponse`,i):e(`setResponse`,void 0),n}}}};export{s as default,s as webextrator};
1
+ import{mt as e}from"./constants-B2BGg4Jn.js";import{Bn as t,Qn as n,Ur as r,mn as i,or as a,zn as o}from"./index-BwSJADk5.js";var s={namespaced:!0,state:a,mutations:{setApplication:(e,t)=>{e.application=t},setApplications:(e,t)=>{e.applications=t},setConfig:(e,t)=>{e.config=t},setCredential:(e,t)=>{e.credential=t},setService:(e,t)=>{e.service=t},setResponse:(e,t)=>{e.response=t},resetAll:e=>{Object.assign(e,a())}},actions:{createCredential:async({commit:e,state:t})=>{let n=t.application;if(!n){console.error(`webextrator: application not found`);return}let{data:r}=await o.create({application_id:n?.id,host:window.location.origin});return e(`setCredential`,r),r},setService:async({commit:e},t)=>{e(`setService`,t)},getService:async({commit:n,state:i})=>{i.status.getService=r.Request;try{let{data:a}=await t.get(e);return i.status.getService=r.Success,n(`setService`,a),a}catch{i.status.getService=r.Error,n(`setService`,void 0)}},resetAll:({commit:e})=>{e(`resetAll`)},setCredential:async({commit:e},t)=>{e(`setCredential`,t)},setConfig:({commit:e},t)=>{e(`setConfig`,t)},setApplications:async({commit:e},t)=>{e(`setApplications`,t)},setApplication:async({commit:e,dispatch:t,rootState:n},r)=>{if(console.debug(`webextrator: set application`,r),e(`setApplication`,r),!r)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?e(`setCredential`,o):a?(console.warn(`no credential available for granted application`,r),e(`setCredential`,void 0)):await t(`createCredential`)},getApplications:async({commit:t,state:i})=>{i.status.getApplications=r.Request;try{let{data:a}=await n.getAll({user_id:`me`,service_id:e,affiliation:[`owner`,`granted`]});return i.status.getApplications=r.Success,t(`setApplications`,a.items),a.items}catch(e){console.error(`webextrator: get applications failed`,e),i.status.getApplications=r.Error,t(`setApplications`,void 0),t(`setApplication`,void 0)}},run:async({commit:e,state:t})=>{let n=t.credential?.token;if(!n){console.error(`webextrator: no token specified`);return}let a=t.config;if(!a?.url){console.error(`webextrator: no url specified`);return}t.status.run=r.Request;let o={url:a.url,wait_until:a.wait_until,timeout:a.timeout,delay:a.delay,wait_for_selector:a.wait_for_selector||void 0,block_resources:a.block_resources?.length?a.block_resources:void 0,user_agent:a.user_agent||void 0};try{let{data:s}=a.mode===`render`?await i.render(o,{token:n}):await i.extract({...o,expected_type:a.expected_type,enable_llm:!!a.enable_llm},{token:n});t.status.run=r.Success,e(`setResponse`,s)}catch(n){t.status.run=r.Error;let i=n?.response?.data;throw i&&typeof i==`object`?e(`setResponse`,i):e(`setResponse`,void 0),n}}}};export{s as default,s as webextrator};
package/dist/index.html CHANGED
@@ -277,12 +277,12 @@
277
277
  }
278
278
  }
279
279
  </style>
280
- <script type="module" crossorigin src="/assets/index-BhNj9A10.js"></script>
280
+ <script type="module" crossorigin src="/assets/index-BwSJADk5.js"></script>
281
281
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime--c01j_DQ.js">
282
282
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-zJ_50EbN.js">
283
283
  <link rel="modulepreload" crossorigin href="/assets/vendor-chart-Dw-P17PN.js">
284
284
  <link rel="modulepreload" crossorigin href="/assets/vendor-axios-Ck2ffRoh.js">
285
- <link rel="modulepreload" crossorigin href="/assets/i18n-DxvptSRI.js">
285
+ <link rel="modulepreload" crossorigin href="/assets/i18n-D30XPNJa.js">
286
286
  <link rel="modulepreload" crossorigin href="/assets/install-Cn-SLM3u.js">
287
287
  <link rel="modulepreload" crossorigin href="/assets/en-CpRrS3Ur.js">
288
288
  <link rel="modulepreload" crossorigin href="/assets/runtime-BTM7t9of.js">
@@ -295,8 +295,8 @@
295
295
  <link rel="modulepreload" crossorigin href="/assets/scroll-iopg7oiN.js">
296
296
  <link rel="modulepreload" crossorigin href="/assets/vnode-tCZAUc1D.js">
297
297
  <link rel="modulepreload" crossorigin href="/assets/vendor-vue-router-Cnr45FPb.js">
298
- <link rel="modulepreload" crossorigin href="/assets/constants-BP-0lGQL.js">
299
- <link rel="stylesheet" crossorigin href="/assets/index-L1ngah6q.css">
298
+ <link rel="modulepreload" crossorigin href="/assets/constants-B2BGg4Jn.js">
299
+ <link rel="stylesheet" crossorigin href="/assets/index-BZYGM2eC.css">
300
300
  </head>
301
301
  <body>
302
302
  <div id="app">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acedatacloud/nexior",
3
- "version": "3.323.9",
3
+ "version": "3.323.11",
4
4
  "author": "Ace Data Cloud <office@acedata.cloud>",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,S as c,T as l,at as u,b as d,ht as f,it as p,j as m,mt as h,qt as g,rt as _,tt as v,x as y,z as b}from"./vendor-chart-Dw-P17PN.js";import{t as x}from"./upload-BeUFt8DO.js";import{t as S}from"./tooltip-jKjmfBZB.js";import{t as C}from"./drawer-DppjHH8c.js";import{n as w,r as T,t as E}from"./dropdown-I5qTL8Kh.js";import{t as D}from"./skeleton-CoheJz5x.js";import{t as O}from"./vendor-axios-Ck2ffRoh.js";import{Bi as k,Fi as A,Ii as j,Li as M,Mi as ee,Pi as te,Ri as ne,Xi as N,Yi as P,fa as F,ha as re,la as ie,zi as ae}from"./constants-BP-0lGQL.js";import{$t as I,A as L,Ci as R,Jt as oe,Kr as z,L as se,M as B,P as ce,Qt as V,R as le,Ur as H,Ut as ue,Vt as de,Xn as U,dn as fe,fn as pe,jr as me,mi as W,nn as G,oi as K,ri as q,ti as J,zr as Y,zt as he}from"./index-BhNj9A10.js";import{t as X}from"./index.es-BLEzm7GQ.js";import{n as ge,r as _e,t as ve}from"./Message-D9N_n7Pe.js";import{t as ye}from"./FilePreview-DqKsubph.js";import{t as be}from"./ImagePreview-AxLYd1D4.js";var xe=b({name:`Composer`,components:{FilePreview:ye,ImagePreview:be,ElTooltip:S,FontAwesomeIcon:X,ElUpload:x,ElButton:W,ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w},mixins:[ue,de],props:{answering:{type:Boolean,required:!1,default:!1},ready:{type:Boolean,required:!1,default:!0},references:{type:Array,required:!1,default:()=>[]},question:{type:String,required:!0}},emits:[`update:question`,`update:references`,`submit`,`stop`],data(){return{inputHeight:`35px`,questionValue:this.question||``,fileList:[],uploadUrl:z()+`/api/v1/files/`}},computed:{model(){return this.$store.state.chat.model},modelGroup(){return this.$store.state.chat.modelGroup},isVoiceCallSupported(){return this.modelGroup?.isVoiceCallSupported??!1},isFileSupported(){return this.model?.isFileSupported},isImageSupported(){return this.model?.isImageSupported},headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},refs(){let e=[];for(let t of this.fileList){let n=t?.response?.file_url;n&&e.push(t?.name?{url:n,name:t.name}:{url:n})}return e},uploading(){return this.fileList.some(e=>e.status===`ready`||e.status===`uploading`)},extensions(){if(this.isFileSupported===!1&&this.isImageSupported===!0)return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic`},pasteAccept(){return`.png,.jpg,.jpeg,.gif,.bmp,.webp,.svg,.tiff,.ico,.heic,image/*`}},watch:{refs(e){console.debug(`References:`,e),e.length>0&&this.$emit(`update:references`,e)},questionValue(e){this.$emit(`update:question`,e.trim())},question(e){e!==this.questionValue&&(this.questionValue=e)},references(e){console.debug(`References updated:`,e),e.length===0&&(this.fileList=[])},isFileSupported(e,t){t&&!e&&(this.fileList=[])}},methods:{isImageUrl:G,onStartCall(){this.$router.push({name:ce})},adjustTextareaHeight(){this.$nextTick(()=>{let e=this.$refs.textarea;e&&(e.style.height=`35px`,e.style.height=e.scrollHeight+`px`)})},onSubmit(){!this.question||this.uploading||!this.ready||this.$emit(`submit`)},onEnterKey(e){e.isComposing||e.keyCode===229||(e.preventDefault(),this.onSubmit())},onStop(){this.$emit(`stop`)},onProgress(e,t){console.debug(`File upload progress:`,t.name,e.loaded,e.total,t.percentage)},onExceed(){q.warning(this.$t(`chat.message.uploadReferencesExceed`))},onError(){q.error(this.$t(`chat.message.uploadReferencesError`))},onTriggerUpload(){!this.isFileSupported&&!this.isImageSupported||this.answering||this.$nextTick(()=>{let e=this.$refs.uploader?.$el;(e?.querySelector(`input.el-upload__input`)||e?.querySelector(`input[type="file"]`))?.click()})},onOpenSkills(){window.open(V(`https://auth.acedata.cloud/user/skills`),`_blank`,`noopener`)},onOpenConnections(){window.open(V(`https://auth.acedata.cloud/user/connections`),`_blank`,`noopener`)}}}),Se={class:`composer`},Ce={ref:`uploadTrigger`,class:`upload-trigger`,"aria-hidden":`true`},we={key:0,class:`file-previews`},Te=[`disabled`,`placeholder`],Ee={class:`tools`},De={class:`btn-plus-trigger`},Oe=[`aria-disabled`];function ke(r,p,b,x,S,C){let w=u(`el-upload`),T=u(`image-preview`),E=u(`file-preview`),D=u(`font-awesome-icon`),O=u(`el-tooltip`),k=u(`el-dropdown-item`),A=u(`el-dropdown-menu`),j=u(`el-dropdown`),M=u(`el-button`);return v(),s(`div`,Se,[a(w,{ref:`uploader`,"file-list":r.fileList,"onUpdate:fileList":p[0]||=e=>r.fileList=e,class:`upload-hidden`,accept:r.extensions,disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,name:`file`,limit:10,multiple:!0,action:r.uploadUrl,"show-file-list":!1,"on-exceed":r.onExceed,"on-error":r.onError,"on-progress":r.onProgress,headers:r.headers},{default:h(()=>[e(`span`,Ce,null,512)]),_:1},8,[`file-list`,`accept`,`disabled`,`action`,`on-exceed`,`on-error`,`on-progress`,`headers`]),r.fileList.length>0?(v(),s(`div`,we,[(v(!0),s(l,null,_(r.fileList,e=>(v(),s(l,{key:e.uid},[r.isImageUrl(e.name)?(v(),m(T,{key:0,url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):(v(),m(E,{key:1,name:e.name,percentage:e.percentage,onRemove:t=>r.fileList.splice(r.fileList.indexOf(e),1)},null,8,[`name`,`percentage`,`onRemove`]))],64))),128))])):o(``,!0),f(e(`textarea`,{ref:`textarea`,"onUpdate:modelValue":p[1]||=e=>r.questionValue=e,disabled:r.answering,class:`input`,placeholder:r.$t(`chat.message.newMessagePlaceholder`),style:g({height:r.inputHeight}),onKeydown:p[2]||=c(t((...e)=>r.onEnterKey&&r.onEnterKey(...e),[`exact`]),[`enter`]),onInput:p[3]||=(...e)=>r.adjustTextareaHeight&&r.adjustTextareaHeight(...e)},null,44,Te),[[d,r.questionValue]]),e(`div`,Ee,[a(j,{trigger:`click`,placement:`top-start`,"hide-on-click":!0,"popper-class":`composer-plus-popper`},{dropdown:h(()=>[a(A,null,{default:h(()=>[a(k,{disabled:!r.isFileSupported&&!r.isImageSupported||r.answering,onClick:r.onTriggerUpload},{default:h(()=>[a(D,{icon:`fa-regular fa-file-alt`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.addFiles`)),1)]),_:1},8,[`disabled`,`onClick`]),a(k,{onClick:r.onOpenSkills},{default:h(()=>[a(D,{icon:`fa-solid fa-wand-magic-sparkles`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.skills`)),1),a(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`]),a(k,{onClick:r.onOpenConnections},{default:h(()=>[a(D,{icon:`fa-solid fa-plug`,class:`menu-icon`}),e(`span`,null,i(r.$t(`chat.composer.connections`)),1),a(D,{icon:`fa-solid fa-up-right-from-square`,class:`menu-external`})]),_:1},8,[`onClick`])]),_:1})]),default:h(()=>[e(`span`,De,[a(O,{class:`box-item`,effect:`dark`,content:r.$t(`chat.composer.addAction`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-plus":!0,disabled:r.answering}),"aria-disabled":r.answering,role:`button`},[a(D,{icon:`fa-solid fa-plus`,class:`icon icon-plus`})],10,Oe)]),_:1},8,[`content`])])]),_:1}),r.isVoiceCallSupported?(v(),m(O,{key:0,class:`box-item`,effect:`dark`,content:r.$t(`realtime.callTooltip`),placement:`top`},{default:h(()=>[e(`span`,{class:n({btn:!0,"btn-voice":!0}),role:`button`,onClick:p[4]||=(...e)=>r.onStartCall&&r.onStartCall(...e)},[a(D,{icon:`fa-solid fa-microphone`,class:`icon icon-voice`})])]),_:1},8,[`content`])):o(``,!0)]),a(M,{disabled:r.answering||!r.questionValue||r.uploading||!r.ready,type:`primary`,class:n({btn:!0,"btn-send":!0}),onClick:r.onSubmit},{default:h(()=>[a(D,{icon:`fa-solid fa-arrow-up`,class:`icon icon-send`})]),_:1},8,[`disabled`,`onClick`]),f(a(M,{disabled:!r.answering,type:`primary`,class:n({btn:!0,"btn-stop":!0}),onClick:r.onStop},{default:h(()=>[a(D,{icon:`fa-solid fa-stop`,class:`icon icon-stop`})]),_:1},8,[`disabled`,`onClick`]),[[y,r.answering]])])}var Ae=L(xe,[[`render`,ke],[`__scopeId`,`data-v-b779be71`]]),je=b({name:`ModelSelector`,components:{ElDropdown:E,ElDropdownMenu:T,ElDropdownItem:w,FontAwesomeIcon:X},emits:[`update:modelValue`,`select`,`model-group-changed`,`model-changed`],data(){return{options:[A,M,ae,ne,j,k]}},computed:{model(){return console.log(`model`,this.$store.state.chat.model),this.$store.state.chat.model},modelGroup(){return this.$route.meta?.modelGroup||A}},watch:{modelGroup(e){console.debug(`modelGroup from route changed`,e),this.$store.dispatch(`chat/setModelGroup`,e),this.$store.dispatch(`chat/setModel`,e.models[0])}},mounted(){let e=this.modelGroup;this.$store.state.chat?.modelGroup?.name!==e.name&&this.$store.dispatch(`chat/setModelGroup`,e);let t=this.$store.state.chat?.model;e.models.some(e=>e.name===t?.name)||this.$store.dispatch(`chat/setModel`,e.models[0])},methods:{onModelGroupChange(e){this.$store.dispatch(`chat/setModelGroup`,e),this.$emit(`model-group-changed`,e)},onModelChange(e){this.$store.dispatch(`chat/setModel`,e),this.$emit(`model-changed`,e)}}}),Me={class:`selector`},Ne={class:`trigger`},Pe=[`src`],Fe={class:`trigger-name`},Ie={class:`item`},Le=[`src`],Re={class:`item-info`},ze={key:0,class:`item-name`},Be={key:0,class:`item-free-tag`},Ve={key:1,class:`item-desc`};function He(t,c,d,f,p,g){let y=u(`font-awesome-icon`),b=u(`el-dropdown-item`),x=u(`el-dropdown-menu`),S=u(`el-dropdown`);return v(),s(`div`,Me,[a(S,{trigger:`click`,"popper-class":`model-selector-popper`},{dropdown:h(()=>[t.modelGroup&&t.modelGroup?.models?(v(),m(x,{key:0},{default:h(()=>[(v(!0),s(l,null,_(t.modelGroup?.models?.filter(e=>e.enabled),(a,c)=>(v(),m(b,{key:c,class:n({active:t.model?.name===a?.name}),onClick:e=>t.onModelChange(a)},{default:h(()=>[e(`div`,Ie,[a?.icon?(v(),s(`img`,{key:0,src:a.icon,class:`item-icon`},null,8,Le)):o(``,!0),e(`div`,Re,[a?.getDisplayName?(v(),s(`p`,ze,[r(i(a?.getDisplayName())+` `,1),a?.isFree?(v(),s(`span`,Be,i(t.$t(`chat.model.freeTag`)),1)):o(``,!0)])):o(``,!0),a?.getDescription?(v(),s(`p`,Ve,i(a?.getDescription()),1)):o(``,!0)]),t.model?.name===a?.name?(v(),m(y,{key:1,icon:`fa-solid fa-check`,class:`item-check`})):o(``,!0)])]),_:2},1032,[`class`,`onClick`]))),128))]),_:1})):o(``,!0)]),default:h(()=>[e(`div`,Ne,[t.model?.icon?(v(),s(`img`,{key:0,src:t.model.icon,class:`trigger-icon`},null,8,Pe)):o(``,!0),e(`span`,Fe,i(t.model?.getDisplayName?.()??t.model?.name??``),1),a(y,{icon:`fa-solid fa-chevron-down`,class:`trigger-arrow`})])]),_:1})])}var Ue=L(je,[[`render`,He],[`__scopeId`,`data-v-2e6e7a65`]]),We=b({name:`DesktopAgentManager`,components:{ElDialog:K},props:{modelValue:{type:Boolean,default:!1},connected:{type:Boolean,default:!1},agentName:{type:String,default:``},toolCount:{type:Number,default:0},connectedAt:{type:String,default:``}},emits:[`update:modelValue`]}),Ge={class:`agent-manager`},Ke={class:`description`},qe={key:0,class:`status-card connected`},Je={class:`status-header`},Ye={class:`status-text`},Xe={class:`info-row`},Ze={class:`label`},Qe={class:`value`},$e={class:`info-row`},et={class:`label`},tt={class:`value`},nt={class:`info-row`},rt={class:`label`},it={class:`value`},at={class:`hint`},ot={key:1,class:`status-card disconnected`},st={class:`status-header`},ct={class:`status-text`},lt={class:`install-guide`},ut={class:`step-label`},dt={class:`step-label`};function ft(t,n,r,a,o,c){let l=u(`el-dialog`);return v(),m(l,{"model-value":t.modelValue,title:t.$t(`chat.agent.title`),width:`480px`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:modelValue`,e)},{default:h(()=>[e(`div`,Ge,[e(`p`,Ke,i(t.$t(`chat.agent.description`)),1),t.connected?(v(),s(`div`,qe,[e(`div`,Je,[n[1]||=e(`span`,{class:`pulse-dot`},null,-1),e(`span`,Ye,i(t.$t(`chat.agent.connected`)),1)]),e(`div`,Xe,[e(`span`,Ze,i(t.$t(`chat.agent.name`))+`:`,1),e(`span`,Qe,i(t.agentName),1)]),e(`div`,$e,[e(`span`,et,i(t.$t(`chat.agent.tools`))+`:`,1),e(`span`,tt,i(t.toolCount),1)]),e(`div`,nt,[e(`span`,rt,i(t.$t(`chat.agent.connectedSince`))+`:`,1),e(`span`,it,i(t.connectedAt),1)]),e(`p`,at,i(t.$t(`chat.agent.connectedHint`)),1)])):(v(),s(`div`,ot,[e(`div`,st,[e(`span`,ct,i(t.$t(`chat.agent.notConnected`)),1)]),e(`div`,lt,[e(`p`,ut,i(t.$t(`chat.agent.installLabel`)),1),n[2]||=e(`code`,{class:`command`},`npm install -g @acedatacloud/desktop-agent`,-1),e(`p`,dt,i(t.$t(`chat.agent.runLabel`)),1),n[3]||=e(`code`,{class:`command`},`adc-agent --token YOUR_API_TOKEN`,-1)])]))])]),_:1},8,[`model-value`,`title`])}var pt=L(We,[[`render`,ft],[`__scopeId`,`data-v-a365b6f4`]]),mt={chatgpt:`openai`,claude:`anthropic`,gemini:`google`,grok:`xai`,deepseek:`deepseek`,kimi:`moonshot`,glm:`zhipu`},ht=b({name:`BYOKBadge`,components:{ElTooltip:S,FontAwesomeIcon:X},data(){return{credentials:[],loaded:!1}},computed:{token(){return this.$store?.state?.chat?.credential?.token},modelGroup(){return this.$store?.state?.chat?.modelGroup?.name},expectedProvider(){let e=this.modelGroup;if(e)return mt[e]},activeCredential(){let e=this.expectedProvider;if(e)return this.credentials.find(t=>t.provider===e&&t.is_active)},providerLabel(){return this.activeCredential?.provider_label},show(){return!!this.activeCredential}},watch:{token:{immediate:!0,handler(e){e&&!this.loaded&&this.fetch()}}},methods:{async fetch(){if(this.token)try{let{data:e}=await fe.list({token:this.token});this.credentials=e?.items??[],this.loaded=!0}catch(e){console.debug(`BYOK badge fetch skipped`,e),this.credentials=[]}},onClickManage(){window.dispatchEvent(new CustomEvent(`open-user-settings`,{detail:{tab:`apiKey`}}))}}}),gt={class:`badge-text`};function _t(t,n,r,s,c,l){let d=u(`font-awesome-icon`),f=u(`el-tooltip`);return t.show&&t.providerLabel?(v(),m(f,{key:0,content:`${t.$t(`byok.badge.tooltip`,{provider:t.providerLabel})} — ${t.$t(`byok.badge.manage`)}`,placement:`bottom`},{default:h(()=>[e(`button`,{type:`button`,class:`byok-badge`,onClick:n[0]||=(...e)=>t.onClickManage&&t.onClickManage(...e)},[a(d,{icon:`fa-solid fa-key`,class:`badge-icon`}),e(`span`,gt,i(t.$t(`byok.badge.active`,{provider:t.providerLabel})),1)])]),_:1},8,[`content`])):o(``,!0)}var vt=L(ht,[[`render`,_t],[`__scopeId`,`data-v-2875e3f2`]]),yt=b({name:`ShareConversationDialog`,components:{ElDialog:K,ElInput:R,ElButton:W,FontAwesomeIcon:X},props:{modelValue:{type:Boolean,default:!1},conversationId:{type:String,default:void 0},shareId:{type:String,default:void 0}},emits:[`update:modelValue`,`update:shareId`],data(){return{localShareId:this.shareId,creating:!1,disabling:!1,copied:!1}},computed:{visible:{get(){return this.modelValue},set(e){this.$emit(`update:modelValue`,e)}},token(){return this.$store.state.chat?.credential?.token},shareUrl(){return this.localShareId?`${typeof window<`u`?window.location.origin:``}/share/${this.localShareId}`:``}},watch:{shareId(e){this.localShareId=e},modelValue(e){e&&(this.localShareId=this.shareId,this.copied=!1)}},methods:{selectAll(e){e.target?.select?.()},async onCreate(){if(!this.token){q.error(this.$t(`chat.share.needLogin`));return}if(!this.conversationId){q.error(this.$t(`chat.share.noConversation`));return}this.creating=!0;try{let{data:e}=await U.shareConversation(this.conversationId,{token:this.token}),t=e?.share_id;if(!t)throw Error(`missing share_id`);this.localShareId=t,this.$emit(`update:shareId`,t)}catch(e){console.error(`shareConversation failed`,e),q.error(this.$t(`chat.share.createFailed`))}finally{this.creating=!1}},onCopy(){this.shareUrl&&(oe(this.shareUrl,{debug:!1}),this.copied=!0,q.success(this.$t(`chat.share.copied`)),setTimeout(()=>{this.copied=!1},2500))},async onDisable(){if(!this.token||!this.conversationId){this.localShareId=void 0,this.$emit(`update:shareId`,void 0);return}this.disabling=!0;try{await U.unshareConversation(this.conversationId,{token:this.token}),this.localShareId=void 0,this.$emit(`update:shareId`,void 0),q.success(this.$t(`chat.share.disabled`))}catch(e){console.error(`unshareConversation failed`,e),q.error(this.$t(`chat.share.disableFailed`))}finally{this.disabling=!1}}}}),bt={class:`share-desc`},xt={key:0,class:`share-linked`},St={class:`share-url-row`},Ct={key:1,class:`share-create`};function wt(t,n,o,c,l,d){let f=u(`el-input`),p=u(`el-button`),g=u(`font-awesome-icon`),_=u(`el-dialog`);return v(),m(_,{modelValue:t.visible,"onUpdate:modelValue":n[2]||=e=>t.visible=e,width:`460px`,title:t.$t(`chat.share.dialogTitle`),"close-on-click-modal":!0},{footer:h(()=>[a(p,{onClick:n[1]||=e=>t.visible=!1},{default:h(()=>[r(i(t.$t(`common.button.close`)),1)]),_:1})]),default:h(()=>[e(`p`,bt,i(t.$t(`chat.share.description`)),1),t.localShareId?(v(),s(`div`,xt,[e(`div`,St,[a(f,{modelValue:t.shareUrl,"onUpdate:modelValue":n[0]||=e=>t.shareUrl=e,readonly:``,class:`share-url`,onFocus:t.selectAll},null,8,[`modelValue`,`onFocus`]),a(p,{type:`primary`,onClick:t.onCopy},{default:h(()=>[r(i(t.copied?t.$t(`chat.share.copied`):t.$t(`chat.share.copy`)),1)]),_:1},8,[`onClick`])]),a(p,{link:``,type:`danger`,class:`share-disable`,loading:t.disabling,onClick:t.onDisable},{default:h(()=>[a(g,{icon:`fa-solid fa-link-slash`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.disable`)),1)]),_:1},8,[`loading`,`onClick`])])):(v(),s(`div`,Ct,[a(p,{type:`primary`,round:``,loading:t.creating,onClick:t.onCreate},{default:h(()=>[a(g,{icon:`fa-solid fa-link`,class:`mr-1`}),r(` `+i(t.$t(`chat.share.createLink`)),1)]),_:1},8,[`loading`,`onClick`])]))]),_:1},8,[`modelValue`,`title`])}var Z=L(yt,[[`render`,wt],[`__scopeId`,`data-v-0d1ca31a`]]),Tt={},Et={class:`disclaimer`};function Dt(e,t){return v(),s(`p`,Et,i(e.$t(`chat.message.howToUse`)),1)}var Ot=L(Tt,[[`render`,Dt],[`__scopeId`,`data-v-d2d980ab`]]),Q=5,kt=b({name:`ConnectorStrip`,components:{ElTooltip:S},data(){return{enabledConnectors:[],loadSeq:0}},computed:{visibleConnectors(){return this.enabledConnectors.length<=Q?this.enabledConnectors:this.enabledConnectors.slice(0,Q-1)},overflowCount(){return this.enabledConnectors.length<=Q?0:this.enabledConnectors.length-(Q-1)},userId(){return this.$store.getters.user?.id??null}},watch:{userId(){this.enabledConnectors=[],this.loadConnectors(!0)}},mounted(){this.loadConnectors(),document.addEventListener(`visibilitychange`,this.onVisibilityChange)},beforeUnmount(){document.removeEventListener(`visibilitychange`,this.onVisibilityChange)},methods:{async loadConnectors(e=!1){let t=this.userId,n=++this.loadSeq,r=await ge(t,e);n===this.loadSeq&&this.userId===t&&(this.enabledConnectors=r)},onVisibilityChange(){document.visibilityState===`visible`&&this.loadConnectors(!0)},onOpen(){he()}}}),At={key:0,class:`connector-strip`},jt=[`src`,`alt`];function Mt(t,n,r,a,c,d){let f=u(`el-tooltip`);return t.visibleConnectors.length>0?(v(),s(`div`,At,[(v(!0),s(l,null,_(t.visibleConnectors,r=>(v(),m(f,{key:r.id,effect:`dark`,content:r.name,placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip`,role:`button`,onClick:n[0]||=(...e)=>t.onOpen&&t.onOpen(...e)},[e(`img`,{class:`connector-icon`,src:r.icon_url,alt:r.name,loading:`lazy`},null,8,jt)])]),_:2},1032,[`content`]))),128)),t.overflowCount>0?(v(),m(f,{key:0,effect:`dark`,content:t.$t(`chat.composer.connections`),placement:`top`},{default:h(()=>[e(`span`,{class:`connector-chip connector-more`,role:`button`,onClick:n[1]||=(...e)=>t.onOpen&&t.onOpen(...e)},` +`+i(t.overflowCount),1)]),_:1},8,[`content`])):o(``,!0)])):o(``,!0)}var Nt=L(kt,[[`render`,Mt],[`__scopeId`,`data-v-281663b0`]]),Pt=b({name:`SidePanel`,components:{ElInput:R,ElButton:W,ElDialog:K,ElDropdown:E,ElDropdownItem:w,ElDropdownMenu:T,FontAwesomeIcon:X,ElSkeleton:D,ShareConversationDialog:Z},props:{},emits:[`change-conversation`],data(){return{renameDialogVisible:!1,deleteDialogVisible:!1,shareDialogVisible:!1,actingConversation:void 0,renameDraft:``,renameSubmitting:!1,deleteSubmitting:!1}},computed:{conversationId(){return console.debug(`conversationId in side`,this.$route.params?.id),this.$route.params?.id?.toString()},conversations(){return this.$store.state.chat.conversations},conversationGroups(){let e=new Date;e.setHours(0,0,0,0);let t=new Date(e);t.setDate(t.getDate()-1);let n=new Date(e);n.setDate(n.getDate()-e.getDay());let r=new Date(n);r.setDate(r.getDate()-7);let i=this.conversations?.reduce((r,i)=>{let a=new Date(i.updated_at*1e3);return a>=e?r.today.push(i):a>=t?r.yesterday.push(i):a>=n?r.thisWeek.push(i):r.earlier.push(i),r},{today:[],yesterday:[],thisWeek:[],earlier:[]});return{...i?.today?.length>0?{today:i?.today?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.yesterday?.length>0?{yesterday:i?.yesterday?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.thisWeek?.length>0?{thisWeek:i?.thisWeek?.sort((e,t)=>t.updated_at-e.updated_at)}:{},...i?.earlier?.length>0?{earlier:i?.earlier?.sort((e,t)=>t.updated_at-e.updated_at)}:{}}},application(){return this.$store.state.chat.application},loading(){return this.$store.state.chat.status.getConversations===H.Request},token(){return this.$store.state.chat?.credential?.token}},methods:{async onNewConversation(){console.debug(`onNewConversation from side panel`),this.$emit(`change-conversation`,void 0)},onScheduledTasks(){this.$router.push({name:le})},onArtifacts(){this.$router.push({name:se})},onClickConversation(e){console.debug(`onClickConversation in side panel`,e),this.$emit(`change-conversation`,e)},getConversationTitle(e){return e?.title||e?.last_message_preview||``},onConversationCommand(e,t){e===`rename`?this.openRenameDialog(t):e===`delete`?this.openDeleteDialog(t):e===`share`&&this.openShareDialog(t)},openShareDialog(e){this.actingConversation=e,this.shareDialogVisible=!0},onShareIdUpdated(e){this.actingConversation&&(this.actingConversation.share_id=e,this.$store.dispatch(`chat/setConversation`,{...this.actingConversation,share_id:e}))},openRenameDialog(e){this.actingConversation=e,this.renameDraft=(e?.title||``).trim(),this.renameDialogVisible=!0},openDeleteDialog(e){this.actingConversation=e,this.deleteDialogVisible=!0},async onConfirmRename(){let e=this.token,t=this.actingConversation?.id,n=(this.renameDraft||``).trim();if(!e){q.error(`Token 不存在,请重新登录`);return}if(!t){q.error(`会话不存在`);return}if(!n){q.warning(`请输入名称`);return}this.renameSubmitting=!0;try{await U.updateConversation({id:t,title:n},{token:e}),await this.$store.dispatch(`chat/getConversations`),this.renameDialogVisible=!1,q.success(`已重命名`)}catch(e){console.error(e),q.error(`重命名失败,请稍后重试`)}finally{this.renameSubmitting=!1}},async onConfirmDelete(){let e=this.token,t=this.actingConversation?.id;if(!e){q.error(`Token 不存在,请重新登录`);return}if(!t){q.error(`会话不存在`);return}this.deleteSubmitting=!0;try{await U.deleteConversation(t,{token:e}),await this.$store.dispatch(`chat/getConversations`),t===this.conversationId&&this.$emit(`change-conversation`,void 0),this.deleteDialogVisible=!1,q.success(`已删除`)}catch(e){console.error(e),q.error(`删除失败,请稍后重试`)}finally{this.deleteSubmitting=!1}}}}),Ft={class:`panel`},It={key:1,class:`conversations`},Lt={class:`icons`},Rt={class:`title`},zt={class:`icons`},Bt={class:`title`},Vt={class:`icons`},Ht={class:`title`},Ut={class:`key`},Wt=[`onClick`],Gt={class:`title`},Kt={class:`operations`};function qt(o,d,f,p,g,y){let b=u(`el-skeleton`),x=u(`font-awesome-icon`),S=u(`el-dropdown-item`),C=u(`el-dropdown-menu`),w=u(`el-dropdown`),T=u(`el-input`),E=u(`el-button`),D=u(`el-dialog`),O=u(`share-conversation-dialog`);return v(),s(`div`,Ft,[o.loading&&o.conversationGroups===void 0?(v(),m(b,{key:0})):(v(),s(`div`,It,[e(`div`,{class:`conversation`,onClick:d[0]||=(...e)=>o.onNewConversation&&o.onNewConversation(...e)},[e(`div`,Lt,[a(x,{icon:`fa-solid fa-plus`,class:`icon`})]),e(`div`,Rt,i(o.$t(`chat.message.startNewChat`)),1)]),e(`div`,{class:`conversation`,onClick:d[1]||=(...e)=>o.onScheduledTasks&&o.onScheduledTasks(...e)},[e(`div`,zt,[a(x,{icon:`fa-solid fa-clock`,class:`icon`})]),e(`div`,Bt,i(o.$t(`chat.scheduledTasks.navTitle`)),1)]),e(`div`,{class:`conversation`,onClick:d[2]||=(...e)=>o.onArtifacts&&o.onArtifacts(...e)},[e(`div`,Vt,[a(x,{icon:`fa-solid fa-box-archive`,class:`icon`})]),e(`div`,Ht,i(o.$t(`chat.artifacts.navTitle`)),1)]),(v(!0),s(l,null,_(o.conversationGroups,(c,u)=>(v(),s(`div`,{key:u,class:`group`},[e(`div`,Ut,i(o.$t(`chat.group.${u}`)),1),(v(!0),s(l,null,_(c,(c,l)=>(v(),s(`div`,{key:l,class:n({conversation:!0,active:c.id===o.conversationId}),onClick:e=>o.onClickConversation(c.id)},[e(`div`,Gt,i(o.getConversationTitle(c)),1),e(`div`,Kt,[a(w,{trigger:`click`,placement:`bottom-end`,teleported:!0,onCommand:e=>o.onConversationCommand(e,c)},{dropdown:h(()=>[a(C,null,{default:h(()=>[a(S,{command:`rename`,onClick:d[4]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-pen-to-square`,class:`mr-2`}),d[13]||=r(` 重命名 `,-1)]),_:1}),a(S,{command:`share`,onClick:d[5]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-share-nodes`,class:`mr-2`}),r(` `+i(o.$t(`chat.share.menu`)),1)]),_:1}),a(S,{command:`delete`,onClick:d[6]||=t(()=>{},[`stop`])},{default:h(()=>[a(x,{icon:`fa-solid fa-trash`,class:`mr-2`}),r(` `+i(o.$t(`common.button.delete`)),1)]),_:1})]),_:1})]),default:h(()=>[e(`span`,{class:`more`,onClick:d[3]||=t(()=>{},[`stop`])},[a(x,{icon:`fa-solid fa-ellipsis`})])]),_:1},8,[`onCommand`])])],10,Wt))),128))]))),128))])),a(D,{modelValue:o.renameDialogVisible,"onUpdate:modelValue":d[9]||=e=>o.renameDialogVisible=e,width:`420px`,title:`重命名`,"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[8]||=e=>o.renameDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`primary`,loading:o.renameSubmitting,onClick:o.onConfirmRename},{default:h(()=>[r(i(o.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[a(T,{modelValue:o.renameDraft,"onUpdate:modelValue":d[7]||=e=>o.renameDraft=e,autofocus:``,onKeydown:c(o.onConfirmRename,[`enter`])},null,8,[`modelValue`,`onKeydown`])]),_:1},8,[`modelValue`]),a(D,{modelValue:o.deleteDialogVisible,"onUpdate:modelValue":d[11]||=e=>o.deleteDialogVisible=e,width:`420px`,title:o.$t(`chat.message.confirmDelete`),"close-on-click-modal":!1},{footer:h(()=>[a(E,{onClick:d[10]||=e=>o.deleteDialogVisible=!1},{default:h(()=>[r(i(o.$t(`common.button.cancel`)),1)]),_:1}),a(E,{type:`danger`,loading:o.deleteSubmitting,onClick:o.onConfirmDelete},{default:h(()=>[r(i(o.$t(`common.button.delete`)),1)]),_:1},8,[`loading`,`onClick`])]),default:h(()=>[d[14]||=e(`div`,{class:`delete-tip`},`确认删除该会话?删除后不可恢复。`,-1)]),_:1},8,[`modelValue`,`title`]),a(O,{modelValue:o.shareDialogVisible,"onUpdate:modelValue":d[12]||=e=>o.shareDialogVisible=e,"conversation-id":o.actingConversation?.id,"share-id":o.actingConversation?.share_id,"onUpdate:shareId":o.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`])])}var Jt=b({name:`LayoutChat`,components:{SidePanel:L(Pt,[[`render`,qt],[`__scopeId`,`data-v-aff7c556`]]),ElDrawer:C,ElButton:W,FontAwesomeIcon:X},emits:[`change-conversation`],data(){return{drawer:!1}},methods:{onChangeConversation(e){console.debug(`onChangeConversation in layout`,e),this.$emit(`change-conversation`,e)}}}),Yt={class:`main`},Xt={class:`side`},Zt={class:`chat`};function Qt(t,n,r,i,o,c){let l=u(`side-panel`),d=u(`font-awesome-icon`),f=u(`el-button`),m=u(`el-drawer`);return v(),s(`div`,Yt,[e(`div`,Xt,[p(t.$slots,`side`,{},()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])],!0)]),e(`div`,Zt,[p(t.$slots,`chat`,{},void 0,!0)]),a(f,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:h(()=>[a(d,{icon:`fa-solid fa-bars`})]),_:1}),a(m,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`290px`},{default:h(()=>[a(l,{onChangeConversation:t.onChangeConversation},null,8,[`onChangeConversation`])]),_:1},8,[`modelValue`])])}var $t=L(Jt,[[`render`,Qt],[`__scopeId`,`data-v-7418117b`]]);function $(e){return typeof e==`string`&&e.trim().length>0?e:Array.isArray(e)&&typeof e[0]==`string`&&e[0].trim().length>0?e[0]:null}function en(e){let t=$(e.consent),n=$(e.connector);return!t||!n?null:{consentRequestId:t,connector:n}}function tn(e,t){for(let n=e.length-1;n>=0;n--){let r=e[n];if(r.role===`assistant`&&Array.isArray(r.content)){for(let e=r.content.length-1;e>=0;e--){let n=r.content[e];if(n.type!==`tool_use`||n.tool_name!==`request_user_consent`||n.status!==`awaiting_input`)continue;let i=n.pending_consent_request;if(!(!i||i.consent_request_id!==t)&&n.tool_id)return{toolUseId:n.tool_id,payload:i}}break}}return null}function nn(e,t){return _e(e,[t],[])}function rn(e,t){try{let n=new URL(e),r=n.searchParams.get(`return_to`);if(!r||!t)return e;let i=new URL(r),a=i.pathname.match(/^\/chat\/c\/([^/]+)/);if(!a)return e;let o=a[1],s=new URL(`${i.origin}${t}/conversations/${o}`);return i.searchParams.forEach((e,t)=>s.searchParams.set(t,e)),n.searchParams.set(`return_to`,s.toString()),n.toString()}catch{return e}}function an(e){return Array.isArray(e?.messages)&&e.messages.length>0}var on=b({name:`ChatConversation`,components:{Composer:Ae,Disclaimer:Ot,ConnectorStrip:Nt,ModelSelector:Ue,DesktopAgentManager:pt,"byok-badge":vt,ShareConversationDialog:Z,Message:ve,Layout:$t,ElTooltip:S,ElButton:W,FontAwesomeIcon:X},data(){return{drawer:!1,question:``,references:[],localTools:[],pendingClientTools:[],clientToolRunId:0,upload:!1,answering:!1,canceler:void 0,agentManagerVisible:!1,agentConnected:!1,agentName:``,agentToolCount:0,agentConnectedAt:``,shareDialogVisible:!1,skipNextRestoreId:void 0,messages:[],pendingConsentReturn:null}},computed:{modelGroup(){return this.$store.state.chat.modelGroup},model(){return this.$store.state.chat.model},conversationId(){return this.$route.params.id?.toString()},conversation(){return this.$store.state.chat.conversations?.find(e=>e.id===this.conversationId)},service(){return this.$store.state.chat.service},application(){return this.$store.state.chat.application},applications(){return this.$store.state.chat.applications},credential(){return this.$store.state.chat?.credential},needApply(){return this.$store.state.chat.status.getApplications===H.Success&&!this.application},conversations(){return this.$store.state.chat.conversations},initializing(){return this.$store.state.chat.status.getApplications===H.Request},ready(){return this.$store.getters.authenticated?!this.initializing&&!!this.credential?.token&&!!this.application:!0}},watch:{async references(e){console.log(`references changed`,e)},question(e){this.$store.commit(`chat/setPendingDraft`,e||``)},async modelGroup(e){console.debug(`modelGroup changed`,e),this.$store.commit(`chat/setConversations`,[]),await this.$store.dispatch(`chat/getConversations`)},"credential.token":{immediate:!0,async handler(e){e&&(this.modelGroup?.name&&await this.$store.dispatch(`chat/getConversations`),await this.onRestoreCurrentConversation(),this.onCheckAgentStatus())}},async conversationId(e){if(console.debug(`conversationId changed`,e),!e){this.resetConversation();return}await this.onRestoreCurrentConversation()},messages:{handler(){this.pendingConsentReturn&&this.onConsumePendingConsentReturn()},deep:!1}},async mounted(){this.onCaptureConsentReturnFromUrl(),await this.onGetService(),await this.onGetApplication(),this.onConsumePendingDraft(),this.onApplyQueryFromUrl(),J()&&(this.localTools=await B()?.listTools()??[])},methods:{resetConversation(){this.messages=[],this.question=``,this.references=[],this.pendingClientTools=[]},onShareIdUpdated(e){this.conversation&&this.$store.dispatch(`chat/setConversation`,{...this.conversation,share_id:e})},async onRestoreCurrentConversation(){let e=this.conversationId;if(!(!e||!this.credential?.token)){if(this.skipNextRestoreId===e){this.skipNextRestoreId=void 0;return}await this.onRestoreConversation(e)}},async onCheckAgentStatus(){let e=this.credential?.token;if(e)try{let{data:t}=await pe.status(e);this.agentConnected=t?.connected===!0,this.agentName=t?.name||``,this.agentToolCount=t?.tool_count||0,this.agentConnectedAt=t?.connected_at||``}catch{this.agentConnected=!1}},onConsumePendingDraft(){if(this.conversationId||this.question&&this.question.trim().length>0)return;let e=this.$store.state.chat?.pendingDraft;e&&(this.question=e)},onApplyQueryFromUrl(){let e=this.$route.query?.query,t=Array.isArray(e)?e[0]:e;if(!t||typeof t!=`string`||this.conversationId)return;if(this.question&&this.question.trim().length>0){let e=this.$store.state.chat?.pendingDraft;if(!(e!=null&&this.question===e))return}this.question=t;let n=new Set([`query`,`source`,`suggestion_id`,`connector`]),r={};for(let[e,t]of Object.entries(this.$route.query||{}))n.has(e)||t!=null&&(r[e]=t);this.$router.replace({path:this.$route.path,query:r})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`chat/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`chat/getApplications`),console.debug(`end onGetApplication`)},async onDraft(e){this.question=e,this.onSubmit()},async onStop(){this.pendingClientTools=[],this.clientToolRunId++,this.canceler&&(this.canceler.abort(),this.answering=!1)},async onRestart(e){let t=this.messages.findIndex(t=>t===e),n=this.messages[t-1],r=[];if(t!==-1){if(r=this.messages.slice(0,t-1),this.messages=this.messages.slice(0,t),this.references=[],typeof n.content==`string`)this.question=n.content;else if(Array.isArray(n.content))for(let e of n.content)if(e.type===`image_url`||e.type===`file_url`){let t=e.type===`image_url`?e.image_url:e.file_url,n=typeof t==`string`?t:t?.url;n&&this.references.push(e.name?{url:n,name:e.name}:{url:n})}else e.type===`text`&&e.text&&(this.question=e.text)}console.debug(`onRestart!`,this.question,JSON.stringify(this.references));let i=this.credential?.token,a=this.question.trim();if(!i||!a){console.error(`no token or endpoint or question`),this.messages.push({error:{code:F},role:P,state:Y.FAILED});return}let o=this.conversationId;U.updateConversation({id:this.conversationId,messages:r},{token:i}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:o,messages:this.messages}),console.debug(`finished update conversation`,this.messages),console.debug(`onRestart`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},async onEdit(e,t){let n=this.messages.findIndex(t=>t===e);n!==-1&&(this.messages=this.messages.slice(0,n)),this.question=t;let r=this.credential?.token;if(!r){console.error(`no token or endpoint or question`),this.messages.push({error:{code:F},role:P,state:Y.FAILED});return}let i=this.conversationId;U.updateConversation({id:this.conversationId,messages:this.messages},{token:r}).then(async()=>{await this.$store.dispatch(`chat/setConversation`,{id:i,messages:this.messages}),console.debug(`finished update conversation`,this.messages),this.messages.push({content:this.question,role:N}),console.debug(`onEdit`,this.question),await this.onRequest()}).catch(e=>{this.handleRequestError(e)})},conversationsPath(e){let t=this.$route.matched[0]?.path??``;return e?`${t}/conversations/${e}`:`${t}/conversations`},async onNewConversation(){this.conversationId?await this.$router.push(this.conversationsPath()):this.resetConversation()},async onRestoreConversation(e){console.debug(`onRestoreConversation id`,e);let t=this.conversations?.find(t=>t.id===e);if(!an(t)){let n=await this.$store.dispatch(`chat/getConversation`,e);n&&(t=n)}let n=t?.model,r=ee.find(e=>e.name===n),i=te.find(e=>e.name===r?.modelGroup);i&&this.$store.dispatch(`chat/setModelGroup`,i),r&&this.$store.dispatch(`chat/setModel`,r),this.messages=t?.messages||[],this.onScrollDown()},async onChangeConversation(e){console.log(`onChangeConversation in conversation`,e),await this.onStop();let t=e||``;if(t===(this.conversationId||``)){t||await this.onNewConversation();return}await this.$router.push(this.conversationsPath(t))},async onSubmit(){if(I()){if(this.references.length>0){let e=[{type:`text`,text:this.question.trim()}];for(let t of this.references){let n=G(t.url)?{type:`image_url`,image_url:t.url}:{type:`file_url`,file_url:t.url};t.name&&(n.name=t.name),e.push(n)}this.messages.push({content:e,role:N})}else this.messages.push({content:this.question.trim(),role:N});console.debug(`onSubmit`,this.question,this.references),await this.onRequest()}},async onRequest(){if(!I())return;J()&&(this.localTools=await B()?.listTools()??[]),console.debug(`start to get answer`,this.messages);let e=this.credential?.token,t=this.question.trim(),n=this.references.map(e=>e.url);if(console.debug(`validated`,t,n),this.question=``,this.references=[],!e||!t){console.error(`no token or endpoint or question`),this.messages.push({error:{code:F},role:P,state:Y.FAILED});return}let r=this.conversationId;this.messages.push({content:``,role:P,state:Y.PENDING}),console.debug(`start to get answer`,this.messages),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({question:t,model:this.model.name,references:n,id:this.conversationId,stateful:!0,...this._localToolInjection()},e,r)},_resumeWithToolResults(e,t){let n=this.credential?.token,r=t??this.conversationId;if(!n||!r||!e.length){console.error(`cannot resume: no token / conversation id / results`);return}let i=[...this.messages].reverse().find(e=>e.role===P);if(i&&Array.isArray(i.content)){let t=i.content,n=[];for(let r of e){let e=t.find(e=>e.type===`tool_use`&&e.tool_id===r.tool_use_id);if(e&&(e.status=`done`,e.output=r.output,r.is_error&&(e.is_error=!0),delete e.pending_question),r.image&&this._isValidResultImage(r.image)){let e=`${r.tool_use_id} screenshot`,i=t.some(t=>t.type===`image_url`&&t.alt===e),a=n.some(t=>t.alt===e);!i&&!a&&n.push({type:`image_url`,image_url:{url:r.image},alt:e})}}n.length&&t.push(...n)}this.messages.push({content:``,role:P,state:Y.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:r,model:this.model.name,stateful:!0,tool_results:e,...this._localToolInjection()},n,r)},async onAnswerAskUserQuestion(e){this._resumeWithToolResults([{tool_use_id:e.tool_use_id,output:e.output,...e.is_error?{is_error:!0}:{}}],e.conversationId)},_localToolInjection(){return!J()||!this.localTools.length?{}:{client_tools:this._wiredTools().map(({spec:e,wire:t})=>({name:t,displayName:e.name,description:e.description,inputSchema:e.input_schema}))}},_wiredTools(){let e=new Set;return this.localTools.map(t=>{let n=t.name.replace(/[^a-zA-Z0-9_-]/g,`_`);if(e.has(n)){let t=2;for(;e.has(`${n}_${t}`);)t++;n=`${n}_${t}`}return e.add(n),{spec:t,wire:n}})},async _runClientTools(e,t,n){let r=(t??this.conversationId)||``,i=[];for(let t of e){if(n!==void 0&&n!==this.clientToolRunId)return;let e=this._wiredTools().find(e=>e.wire===t.name)?.spec.name??t.name,a;try{a=JSON.parse(JSON.stringify(t.input??{}))}catch{a={}}let o;try{o=await B()?.invoke({name:e,input:a,sessionId:r})??{output:`local execution unavailable`,is_error:!0}}catch(e){o={output:e instanceof Error?e.message:String(e),is_error:!0}}let s=o.image?await this._hostToolResultImage(o.image)||o.image:void 0;i.push({tool_use_id:t.toolId,output:o.output,...o.is_error?{is_error:!0}:{},...s?{image:s}:{}})}n!==void 0&&n!==this.clientToolRunId||this._resumeWithToolResults(i,t)},_isValidResultImage(e){return!e||e.length>6e6?!1:e.startsWith(`https://`)?!/\s/.test(e):/^data:image\/(png|jpe?g|webp);base64,[A-Za-z0-9+/]+={0,2}$/.test(e)},async _hostToolResultImage(e){if(!e||!e.startsWith(`data:`))return e||null;let t=this.$store.getters.token?.access;if(!t)return null;try{let n=await(await fetch(e)).blob(),r=(n.type.split(`/`)[1]||`png`).split(`;`)[0],i=new FormData;i.append(`file`,n,`screenshot.${r}`);let a=await fetch(`${z()}/api/v1/files/`,{method:`POST`,headers:{Authorization:`Bearer ${t}`},body:i});if(!a.ok)return null;let o=await a.json(),s=o?.file_url||o?.data?.file_url;return typeof s==`string`&&s?s:null}catch(e){return console.warn(`[computer-use] screenshot upload failed; sending inline`,e),null}},onSkipAskUserQuestion(e){let t=[...this.messages].reverse().find(e=>e.role===P);if(!t||!Array.isArray(t.content))return;let n=t.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);n&&(n.status=`done`,n.is_error=!0,n.output=n.output||``,delete n.pending_question)},async onRespondConnectorConsent(e){let t=this.credential?.token;if(!t||!this.conversationId){console.error(`cannot resume: no token or no conversation id`);return}let n=[...this.messages].reverse().find(e=>e.role===P);if(n&&Array.isArray(n.content)){let t=n.content.find(t=>t.type===`tool_use`&&t.tool_id===e.tool_use_id);t&&(t.status=`done`,t.output=e.output)}this.messages.push({content:``,role:P,state:Y.PENDING}),this.onScrollDown(),this.answering=!0,this.canceler=new AbortController,this._streamAssistantTurn({id:this.conversationId,model:this.model.name,stateful:!0,tool_results:[{tool_use_id:e.tool_use_id,output:e.output}],...this._localToolInjection()},t,this.conversationId)},onAuthorizeConnector(e){let t=e.entry?.install_url;if(!t){console.warn(`authorize click with no install_url`,e);return}let n=this.$route.matched[0]?.path??``;window.location.href=rn(t,n)},onCaptureConsentReturnFromUrl(){let e=en(this.$route.query||{});e&&(this.pendingConsentReturn=e)},onConsumePendingConsentReturn(){let e=this.pendingConsentReturn;if(!e||this.messages.length===0)return;let t=tn(this.messages,e.consentRequestId);if(!t)return;this.pendingConsentReturn=null;let n=nn(t.payload,e.connector);this.stripConsentReturnFromUrl(),this.onRespondConnectorConsent({tool_use_id:t.toolUseId,output:n})},stripConsentReturnFromUrl(){let e={};for(let[t,n]of Object.entries(this.$route.query||{}))t===`consent`||t===`connector`||n!=null&&(e[t]=n);this.$router.replace({path:this.$route.path,query:e})},_streamAssistantTurn(e,t,n){let r=n,i=this.messages.length-1,a=[],o=new Map,s=``,c=0;U.chatConversation(e,{token:t,stream:e=>{console.debug(`stream response`,e);let t=this.messages[i];if(e.type===`thinking`&&e.content){let t=this.messages[i];t.thinking=(t.thinking??``)+e.content}else if(e.type===`tool_use_start`&&e.tool_id){let t=o.get(e.tool_id);t?(e.tool_name&&(t.tool_name=e.tool_name),e.tool_display_name&&(t.tool_display_name=e.tool_display_name),e.input&&Object.keys(e.input).length>0&&(t.input=e.input)):(s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),t={type:`tool_use`,tool_id:e.tool_id,tool_name:e.tool_name,tool_display_name:e.tool_display_name,input:e.input,status:`running`},a.push(t),o.set(e.tool_id,t)),J()&&e.execution===`client`&&!this.pendingClientTools.some(t=>t.toolId===e.tool_id)&&(t.status=`awaiting_input`,this.pendingClientTools.push({toolId:e.tool_id,name:e.tool_name||``,input:e.input||{}}))}else if(e.type===`tool_progress`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.input_stream=(t.input_stream??``)+(e.progress??``))}else if(e.type===`tool_result`&&e.tool_id){let t=o.get(e.tool_id);t&&(t.output=e.output,t.is_error=e.is_error,t.duration_ms=e.duration_ms,t.status=`done`,delete t.input_stream,delete t.pending_question)}else if(e.type===`ask_user_question`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_question=e.payload)}else if(e.type===`consent_request`&&e.tool_id&&e.payload){let t=o.get(e.tool_id);t&&(t.status=`awaiting_input`,t.pending_consent_request=e.payload)}else if(e.type===`artifact`&&e.artifact)e.artifact.type===`image`||e.artifact.mimeType?.startsWith(`image/`)?a.push({type:`image_url`,image_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType}):a.push({type:`file_url`,file_url:e.artifact.url,name:e.artifact.name,mimeType:e.artifact.mimeType});else if(e.type===`card`&&e.card)s&&(a.push({type:`text`,text:s}),s=``,c=e.answer?.length??0),a.push({type:`card`,card:e.card});else if(e.type===`citation`&&e.citation){let t=this.messages[i];t.citations={...t.citations??{},[e.citation.id]:e.citation}}else e.delta_answer&&(s=(e.answer||``).slice(c));let n=[...a];s&&n.push({type:`text`,text:s}),n.length>0?this.messages[i]={role:P,content:n,thinking:t?.thinking,citations:t?.citations,state:t?.state===Y.FINISHED?t?.state:Y.ANSWERING}:this.messages[i]={role:P,content:e.answer,thinking:t?.thinking,citations:t?.citations,state:t?.state===Y.FINISHED?t?.state:Y.ANSWERING},r=e?.id},signal:this.canceler.signal}).then(async()=>{if(console.debug(`finished fetch answer`,this.messages),this.messages[i].state=Y.FINISHED,console.debug(`finished fetch answer`,JSON.stringify(this.messages)),await this.$store.dispatch(`chat/setConversation`,{id:r,messages:this.messages}),this.pendingClientTools.length||(this.answering=!1),r&&(this.skipNextRestoreId=r,await this.$router.push(this.conversationsPath(r))),this.onScrollDown(),await this.$store.dispatch(`chat/getConversations`),await this.$store.dispatch(`chat/getApplications`),this.pendingClientTools.length){let e=this.pendingClientTools;this.pendingClientTools=[];let t=++this.clientToolRunId;await this._runClientTools(e,r,t)}}).catch(e=>{this.handleRequestError(e,i)})},async handleRequestError(e,t){console.error(`error happened`,e),this.pendingClientTools=[];let n=t??this.messages.length-1,r=n>=0?this.messages[n]:void 0;if(r&&(r.state=Y.FAILED),e.name===`AbortError`){console.error(`aborted`),this.answering=!1;return}else e instanceof me?(console.debug(`BaseError`,e),r&&(r.error={code:e.code,message:e.detail})):O.isCancel(e)?r&&(r.error={code:ie}):r&&(r.error={code:re});this.answering=!1},async onScrollDown(){setTimeout(()=>{let e=document.querySelector(`.messages`);!e||!this.messages||this.messages.length===0||(e.scrollTop=e?.scrollHeight)},0)}}}),sn={class:`toolbar`},cn={class:`toolbar-left`},ln={class:`toolbar-actions`},un={key:0,class:`messages`},dn={class:`starter`},fn={class:`composer-connectors`};function pn(t,r,i,c,d,f){let p=u(`model-selector`),g=u(`byok-badge`),y=u(`font-awesome-icon`),b=u(`el-button`),x=u(`el-tooltip`),S=u(`desktop-agent-manager`),C=u(`share-conversation-dialog`),w=u(`message`),T=u(`connector-strip`),E=u(`composer`),D=u(`disclaimer`),O=u(`layout`);return v(),m(O,{onChangeConversation:r[8]||=e=>t.onChangeConversation(e)},{chat:h(()=>[e(`div`,sn,[e(`div`,cn,[a(p,{class:`selector`,onModelGroupChanged:r[0]||=e=>t.onChangeConversation(void 0)}),a(g,{class:`byok-badge`})]),e(`div`,ln,[t.conversationId?(v(),m(x,{key:0,content:t.$t(`chat.share.menu`),placement:`bottom`},{default:h(()=>[a(b,{class:`toolbar-btn`,text:``,onClick:r[1]||=e=>t.shareDialogVisible=!0},{default:h(()=>[a(y,{icon:`fa-solid fa-share-nodes`})]),_:1})]),_:1},8,[`content`])):o(``,!0),o(``,!0)])]),t.agentManagerVisible?(v(),m(S,{key:0,modelValue:t.agentManagerVisible,"onUpdate:modelValue":r[3]||=e=>t.agentManagerVisible=e,connected:t.agentConnected,"agent-name":t.agentName,"tool-count":t.agentToolCount,"connected-at":t.agentConnectedAt},null,8,[`modelValue`,`connected`,`agent-name`,`tool-count`,`connected-at`])):o(``,!0),a(C,{modelValue:t.shareDialogVisible,"onUpdate:modelValue":r[4]||=e=>t.shareDialogVisible=e,"conversation-id":t.conversationId,"share-id":t.conversation?.share_id,"onUpdate:shareId":t.onShareIdUpdated},null,8,[`modelValue`,`conversation-id`,`share-id`,`onUpdate:shareId`]),e(`div`,{class:n({dialogue:!0,empty:t.messages.length===0})},[t.messages.length>0?(v(),s(`div`,un,[(v(!0),s(l,null,_(t.messages,(e,n)=>(v(),m(w,{key:n,message:e,messages:t.messages,question:t.question,application:t.application,class:`message`,"onUpdate:question":r[5]||=e=>t.question=e,onEdit:t.onEdit,onRestart:t.onRestart,onAnswerAskUserQuestion:t.onAnswerAskUserQuestion,onSkipAskUserQuestion:t.onSkipAskUserQuestion,onRespondConnectorConsent:t.onRespondConnectorConsent,onAuthorizeConnector:t.onAuthorizeConnector},null,8,[`message`,`messages`,`question`,`application`,`onEdit`,`onRestart`,`onAnswerAskUserQuestion`,`onSkipAskUserQuestion`,`onRespondConnectorConsent`,`onAuthorizeConnector`]))),128))])):o(``,!0),e(`div`,dn,[e(`div`,fn,[a(T)]),a(E,{question:t.question,"onUpdate:question":r[6]||=e=>t.question=e,answering:t.answering,ready:t.ready,references:t.references,"onUpdate:references":r[7]||=e=>t.references=e,onSubmit:t.onSubmit,onStop:t.onStop},null,8,[`question`,`answering`,`ready`,`references`,`onSubmit`,`onStop`]),a(D,{class:`composer-disclaimer`})])],2)]),_:1})}var mn=L(on,[[`render`,pn],[`__scopeId`,`data-v-85efdf10`]]);export{mn as default};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,L as n,M as r,N as i,at as a,ht as o,tt as s,x as c,z as l}from"./vendor-chart-Dw-P17PN.js";import{t as u}from"./progress-BfXLGwWW.js";import{A as d}from"./index-BhNj9A10.js";import{t as f}from"./index.es-BLEzm7GQ.js";var p=l({name:`ImagePreview`,components:{FontAwesomeIcon:f,ElProgress:u},props:{url:{type:String,required:!0},name:{type:String,required:!0},percentage:{type:Number,required:!1,default:void 0},closable:{type:Boolean,required:!1,default:!0}},emits:[`remove`],computed:{isUploading(){return typeof this.percentage==`number`&&this.percentage<100},displayPercentage(){return typeof this.percentage==`number`?this.percentage:0}}}),m={class:`image w-[50px] h-[50px] relative rounded-[var(--el-border-radius-base)] overflow-hidden shadow-sm bg-[var(--el-fill-color-lighter)]`},h=[`src`,`alt`],g={class:`overlay absolute inset-0 bg-[var(--el-mask-color)] backdrop-blur-[1px]`},_={key:0,class:`close absolute cursor-pointer top-[4px] right-[4px] bg-[rgba(0,0,0,0.65)] text-white w-[16px] h-[16px] rounded-full flex text-[10px] text-center items-center justify-center hover:bg-[rgba(0,0,0,0.8)]`};function v(l,u,d,f,p,v){let y=a(`el-progress`),b=a(`font-awesome-icon`);return s(),i(`div`,m,[e(`img`,{class:`w-full h-full object-cover`,src:l.url,alt:l.name},null,8,h),o(e(`div`,g,null,512),[[c,l.isUploading]]),o(n(y,{type:`circle`,"stroke-width":4,percentage:l.displayPercentage,width:34,class:`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[34px] h-[34px] z-[10] m-auto text-[12px]`},null,8,[`percentage`]),[[c,l.isUploading]]),l.closable?(s(),i(`div`,_,[n(b,{icon:`fa-solid fa-xmark`,class:`icon icon-close`,onClick:u[0]||=t(e=>l.$emit(`remove`),[`stop`])})])):r(``,!0)])}var y=d(p,[[`render`,v]]);export{y as t};
@@ -1 +0,0 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{I as e,Jt as t,M as n,N as r,at as i,j as a,mt as o,tt as s,z as c}from"./vendor-chart-Dw-P17PN.js";import{A as l,mi as u}from"./index-BhNj9A10.js";var d=c({name:`ImageWrapper`,components:{ElButton:u},props:{src:{type:String,required:!0},rawSrc:{type:String,required:!1,default:void 0}},methods:{onOpenUrl(e){window.open(e,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()}}}),f={class:`image-wrapper`},p=[`src`];function m(c,l,u,d,m,h){let g=i(`el-button`);return s(),r(`div`,f,[c.src?(s(),r(`img`,{key:0,src:c.src,class:`image`,onError:l[0]||=e=>c.onReload(e)},null,40,p)):n(``,!0),c.rawSrc?(s(),a(g,{key:1,type:`info`,round:``,class:`btn-raw`,onClick:l[1]||=e=>c.onOpenUrl(c.rawSrc)},{default:o(()=>[e(t(c.$t(`common.button.seeRawImage`)),1)]),_:1})):n(``,!0)])}var h=l(d,[[`render`,m],[`__scopeId`,`data-v-4deff0d6`]]);export{h as t};
@@ -1 +0,0 @@
1
- .image-wrapper[data-v-4deff0d6]{width:fit-content;margin-bottom:16px;position:relative}.image-wrapper .image[data-v-4deff0d6]{min-width:200px;max-width:300px;min-height:200px;max-height:400px;box-shadow:var(--app-shadow-sm);border-radius:16px;transition:filter .2s}@media (width<=767px){.image-wrapper .image[data-v-4deff0d6]{max-width:100%;height:auto}}.image-wrapper .btn-raw[data-v-4deff0d6]{z-index:1000;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image-wrapper:hover .image[data-v-4deff0d6]{filter:brightness(.6)}.image-wrapper:hover .btn-raw[data-v-4deff0d6]{display:block}
@@ -1 +0,0 @@
1
- .menu[data-v-12b82bc3]{display:none}@media (width<=767px){.config[data-v-12b82bc3]{display:none}.result[data-v-12b82bc3]{width:100%}.menu[data-v-12b82bc3]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.field[data-v-a59d89c9]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .title[data-v-a59d89c9]{width:30%;margin:0;font-size:14px}.field .value[data-v-a59d89c9]{width:120px}.field[data-v-f4d8785c]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-f4d8785c]{width:30%;margin:0;font-size:14px}.field .value[data-v-f4d8785c]{flex:1}.title[data-v-28c472c4]{margin-bottom:10px;font-size:14px}.items[data-v-28c472c4]{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;display:flex}.items .item[data-v-28c472c4]{border:1px solid var(--el-border-color);background-color:var(--el-fill-color-lighter);cursor:pointer;border-radius:var(--el-border-radius-base);flex-direction:column;align-items:center;width:48px;height:65px;transition:background-color .2s,border-color .2s;display:flex}.items .item .preview[data-v-28c472c4]{flex-direction:row;justify-content:center;align-items:center;width:30px;height:30px;margin-top:5px;margin-bottom:3px;display:flex}.items .item .preview .rect[data-v-28c472c4]{border:1px solid var(--el-border-color-lighter);border-radius:2px;width:20px;height:20px}.items .item .name[data-v-28c472c4]{color:var(--el-text-color-primary);font-size:12px;display:block}.items .item[data-v-28c472c4]:hover{background-color:var(--el-fill-color)}.items .item.active[data-v-28c472c4]{border-color:var(--el-color-primary);background-color:var(--el-color-primary-light-9)}.items .item.active .rect[data-v-28c472c4]{border-color:var(--el-color-primary)}.field[data-v-6eba4026]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-6eba4026]{width:30%;margin:0;font-size:14px}.field .value[data-v-6eba4026]{flex:1}.title[data-v-f9a79b4a]{width:30%;margin-bottom:0;font-size:14px}.btn.btn-upload[data-v-f9a79b4a]{position:absolute;top:5px;right:0}.upload-wrapper{height:auto;display:flex}.upload-wrapper .el-upload-list{width:100%;margin:0}.field[data-v-8b74a7ae]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-8b74a7ae]{width:30%;margin:0;font-size:14px}.field .value[data-v-8b74a7ae]{flex:1}.field[data-v-cc3f9355]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-cc3f9355]{width:30%;margin:0;font-size:14px}.field .value[data-v-cc3f9355]{flex:1}.field[data-v-3affff3c]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-3affff3c]{width:30%;margin:0;font-size:14px}.field .value[data-v-3affff3c]{flex:1}.field[data-v-6cc27c68]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-6cc27c68]{width:30%;margin:0;font-size:14px}.field .value[data-v-6cc27c68]{flex:1}.preview[data-v-9698fe5f]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-9698fe5f]{width:70px}.preview .left .avatar[data-v-9698fe5f]{border-radius:50%;width:50px;height:50px;margin:10px}.preview .main[data-v-9698fe5f]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-9698fe5f]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-9698fe5f]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-9698fe5f]{overflow:hidden}.preview .main .info .prompt[data-v-9698fe5f]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:16px;font-weight:700}.preview .main .content[data-v-9698fe5f]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-9698fe5f]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-9698fe5f]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-9698fe5f]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-9698fe5f]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-9698fe5f] p:last-child{margin-bottom:0}.preview .main .operations[data-v-9698fe5f]{text-align:center;width:100%;color:var(--el-text-color-regular);flex-flow:wrap;justify-content:left;align-items:baseline;font-size:14px;display:flex;overflow:hidden scroll}.preview .main .operations.full[data-v-9698fe5f]{height:70px}.preview .main .operations .btn-action[data-v-9698fe5f]{margin-bottom:10px}
@@ -1 +0,0 @@
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,it as l,j as u,k as d,mt as f,rt as p,tt as m,z as h}from"./vendor-chart-Dw-P17PN.js";import{n as g,t as _}from"./tabs-QtL_bp0T.js";import{t as v}from"./upload-BeUFt8DO.js";import{t as y}from"./image-B4-ckNWf.js";import{t as b}from"./alert-YghKKMhO.js";import{n as ee,r as x}from"./radio-Bj0tEwH8.js";import{t as S}from"./drawer-DppjHH8c.js";import{n as C,t as w}from"./skeleton-CoheJz5x.js";import"./constants-BP-0lGQL.js";import{$t as te,A as T,Bt as E,Dn as D,Ht as O,Kr as k,Qn as A,Ur as j,Ut as M,Vt as N,mi as P,ri as F,rr as I}from"./index-BhNj9A10.js";import{t as L}from"./index.es-BLEzm7GQ.js";import{t as R}from"./CopyToClipboard-D2qxA-xu.js";import{t as z}from"./Status-46VeUA2s.js";import{t as B}from"./ImagePreview-AxLYd1D4.js";import{i as V,n as H,t as U}from"./pagination-DTXFuZvP.js";import{t as W}from"./ApiCodeButton-B5uWK46R.js";var G=h({name:`LayoutHeadshots`,components:{ElDrawer:S,ElButton:P,FontAwesomeIcon:L},data(){return{drawer:!1}}}),K={class:`main flex flex-row flex-1`},q={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},J={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function Y(t,n,r,a,s,u){let d=c(`font-awesome-icon`),p=c(`el-button`),h=c(`el-drawer`);return m(),o(`div`,K,[e(`div`,q,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,J,[l(t.$slots,`result`,{},void 0,!0)]),i(p,{circle:``,class:`menu`,onClick:n[0]||=e=>t.drawer=!0},{default:f(()=>[i(d,{icon:`fa-solid fa-gear`})]),_:1}),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,"with-header":!1,size:`340px`,class:`drawer`},{default:f(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var X=T(G,[[`render`,Y],[`__scopeId`,`data-v-ada6b2d1`]]),Z=h({name:`ImageUrlsInput`,components:{ElUpload:v,ElButton:P,InfoIcon:V,ImagePreview:B,FontAwesomeIcon:L},mixins:[M,N],data(){return{fileList:[],uploadUrl:k()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e?.response?.file_url)},value:{get(){return this.$store.state.headshots?.config?.image_urls},set(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})}}},mounted(){this.value||=void 0,this.onSetImageUrls()},methods:{onExceed(){F.warning(this.$t(`headshots.message.uploadImageExceed`))},onError(){F.error(this.$t(`headshots.message.uploadImageError`))},onSetImageUrls(){let e=this.urls;this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,image_urls:e})},async onSuccess(){this.onSetImageUrls()}}}),Q={class:`field`},ne={class:`title font-bold`},re={class:`upload-wrapper`};function ie(t,a,s,l,u,d){let p=c(`image-preview`),h=c(`font-awesome-icon`),g=c(`el-button`),_=c(`el-upload`),v=c(`info-icon`);return m(),o(`div`,Q,[e(`h2`,ne,r(t.$t(`headshots.name.endImageUrls`)),1),e(`div`,re,[i(_,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":a[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,class:`value upload-wrapper`,limit:2,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-success":t.onSuccess,headers:t.headers},{file:f(({file:e})=>[i(p,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:f(()=>[i(g,{size:`small`,type:`primary`,round:``},{default:f(()=>[i(h,{icon:`fa-solid fa-upload`,class:`mr-1`}),n(` `+r(t.$t(`headshots.button.uploadImageUrls`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-success`,`headers`])]),i(v,{content:t.$t(`headshots.description.endImageUrls`),class:`info`},null,8,[`content`])])}var ae=T(Z,[[`render`,ie],[`__scopeId`,`data-v-d468812a`]]),oe=`fast`,se=h({name:`ModeSelector`,components:{ElRadioButton:ee,ElRadioGroup:x},data(){return{options:[{label:this.$t(`headshots.button.fast`),value:`fast`},{label:this.$t(`headshots.button.relax`),value:`relax`}]}},computed:{value:{get(){return this.$store.state.headshots.config?.mode},set(e){console.debug(`set mode`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots.config,mode:e})}}},mounted(){this.value||=oe}}),ce={class:`field`},le={class:`title font-bold`};function ue(t,a,l,d,h,g){let _=c(`el-radio-button`),v=c(`el-radio-group`);return m(),o(`div`,ce,[e(`h2`,le,r(t.$t(`headshots.name.mode`)),1),i(v,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,class:`mode`},{default:f(()=>[(m(!0),o(s,null,p(t.options,e=>(m(),u(_,{key:e.value,label:e.value},{default:f(()=>[n(r(e.label),1)]),_:2},1032,[`label`]))),128))]),_:1},8,[`modelValue`])])}var de=T(se,[[`render`,ue],[`__scopeId`,`data-v-e7702494`]]),fe=h({name:`StylizeSelector`,components:{ElTabs:g,ElTabPane:_,ElImage:y},data(){return{tab:`styles`,value:``,elements:{styles:{displayName:this.$t(`headshots.styleCategory.styles`),items:[{image:`https://static.aipedias.com/aicamera/common/20241008/20241008202314260779439.png`,label:this.$t(`headshots.styleTag.malePportrait`),value:`male_portrait`},{image:`https://static.aipedias.com/aicamera/common/20241008/202410082022241e9755548.png`,label:this.$t(`headshots.styleTag.malePportrait2`),value:`male_portrait2`},{image:`https://static.aipedias.com/aicamera/common/20241101/20241101170130d78f66521.png`,label:this.$t(`headshots.styleTag.kindergarten`),value:`kindergarten`},{image:`https://static.aipedias.com/aicamera/common/20240923/20240923123233accf60398.webp`,label:this.$t(`headshots.styleTag.logoTshirt`),value:`logo_tshirt`},{image:`https://static.aipedias.com/aicamera/common/20241025/202410252012329472d0656.jpg`,label:this.$t(`headshots.styleTag.wedding`),value:`wedding`},{image:`https://static.aipedias.com/aicamera/common/20240915/20240915145045254931400.webp`,label:this.$t(`headshots.styleTag.businessPphoto`),value:`business_photo`},{image:`https://static.aipedias.com/aicamera/common/20240810/20240810194526040341795.jpg`,label:this.$t(`headshots.styleTag.bobSuit`),value:`bob_suit`},{image:`https://static.aipedias.com/aicamera/common/20240717/20240717152654e0b348173.webp`,label:this.$t(`headshots.styleTag.femalePortrait`),value:`female_portrait`}]}}}},watch:{value(e){console.debug(`set template`,e),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:e})}},mounted(){this.value||=``,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})},methods:{onToggle(e){this.value===e?this.value=``:this.value=e,console.debug(`set template`,this.value),this.$store.commit(`headshots/setConfig`,{...this.$store.state.headshots?.config,template:this.value})}}}),pe={class:`field`},me=[`onClick`],he={class:`name`};function ge(n,a,l,d,h,g){let _=c(`el-image`),v=c(`el-tab-pane`),y=c(`el-tabs`);return m(),o(`div`,pe,[i(y,{modelValue:n.tab,"onUpdate:modelValue":a[0]||=e=>n.tab=e},{default:f(()=>[(m(!0),o(s,null,p(n.elements,(a,c)=>(m(),u(v,{key:c,label:a.displayName,name:c,class:`pane`},{default:f(()=>[(m(!0),o(s,null,p(a.items,(a,s)=>(m(),o(`div`,{key:s,class:t({item:!0,active:n.value===a.value}),onClick:e=>n.onToggle(a.value)},[i(_,{src:a.image,fit:`fill`,class:`preview`},null,8,[`src`]),e(`span`,he,r(a.label),1)],10,me))),128))]),_:2},1032,[`label`,`name`]))),128))]),_:1},8,[`modelValue`])])}var _e=h({name:`PresetPanel`,components:{ModeSelector:de,ImageUrlsInput:ae,ElButton:P,FontAwesomeIcon:L,ElementsSelector:T(fe,[[`render`,ge],[`__scopeId`,`data-v-be4bd25d`]])},emits:[`generate`],computed:{config(){return this.$store.state.headshots?.config}},methods:{onGenerate(){this.$emit(`generate`)}}}),ve={class:`panel`},ye={class:`config`},be={class:`actions`};function xe(t,a,s,l,u,d){let p=c(`elements-selector`),h=c(`mode-selector`),g=c(`image-urls-input`),_=c(`font-awesome-icon`),v=c(`el-button`);return m(),o(`div`,ve,[e(`div`,ye,[i(p,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),e(`div`,be,[i(v,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:f(()=>[i(_,{icon:`fa-solid fa-magic`,class:`mr-2`}),n(` `+r(t.$t(`headshots.button.generate`)),1)]),_:1},8,[`onClick`])])])])}var Se=T(_e,[[`render`,xe],[`__scopeId`,`data-v-848739f6`]]),Ce=h({name:`ImageGallery`,props:{modelValue:{type:Object,required:!0}},setup(e){return{images:d(()=>e.modelValue?.response?.data?.slice(0,2)||[]),viewImage:e=>{window.open(e,`_blank`)}}}}),we={class:`image-gallery`},Te=[`src`],Ee=[`onClick`];function De(t,n,i,c,l,u){return m(),o(`div`,we,[(m(!0),o(s,null,p(t.images,(n,i)=>(m(),o(`div`,{key:i,class:`image-container`},[e(`img`,{src:n.image_url,alt:`Image`},null,8,Te),n.image_url?(m(),o(`button`,{key:0,class:`view-button`,onClick:e=>t.viewImage(n.image_url)},r(t.$t(`headshots.button.viewImage`)),9,Ee)):a(``,!0)]))),128))])}var Oe=h({name:`TaskPreview`,components:{ElImage:y,CopyToClipboard:R,FontAwesomeIcon:L,ElAlert:b,ImageGallery:T(Ce,[[`render`,De],[`__scopeId`,`data-v-42f0a7be`]]),ApiCodeButton:W},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.headshots?.application},config(){return this.$store.state.headshots?.config}},methods:{onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onReload(e){let t=e.target,n=new URL(t.src),r=n.searchParams.get(`retry`);if(!r)n.searchParams.set(`retry`,`1`);else if(parseInt(r)<2)n.searchParams.set(`retry`,(parseInt(r)+1).toString());else return;t.src=n.toString()},onOpenVideo(e){window.open(e,`_blank`)}}}),ke={class:`preview`},Ae={class:`left`},je={class:`main`},Me={class:`bot`},Ne={class:`datetime`},Pe={class:`info`},Fe={key:0,class:`prompt mt-2`},Ie={key:0},Le={key:1},Re={key:0,class:t({content:!0,failed:!0})},ze={class:`image-wrapper`},Be={class:t({operations:!0,"mt-2":!0,"mb-2":!0})},Ve={class:`description`},He={key:0,class:`description`},Ue={key:1,class:t({content:!0})},We={class:`description`},Ge={class:`description`},Ke={key:0,class:`description`},qe={class:`description`},Je={key:2,class:t({content:!0})},$={class:`description`},Ye={key:3,class:t({content:!0})},Xe={class:`description`};function Ze(t,s,l,u,d,p){let h=c(`el-image`),g=c(`image-gallery`),_=c(`api-code-button`),v=c(`font-awesome-icon`),y=c(`copy-to-clipboard`),b=c(`el-alert`);return m(),o(`div`,ke,[e(`div`,Ae,[i(h,{src:`https://cdn.acedata.cloud/isxyfw.png`,class:`avatar`})]),e(`div`,je,[e(`div`,Me,[n(r(t.$t(`headshots.name.headshotsBot`))+` `,1),e(`span`,Ne,r(t.$dayjs.format(``+new Date(parseFloat((t.modelValue?.created_at||``).toString())*1e3))),1)]),e(`div`,Pe,[t.modelValue?.request?.template?(m(),o(`p`,Fe,[n(r(t.modelValue?.request?.template)+` `,1),t.modelValue?.response?a(``,!0):(m(),o(`span`,Ie,` - (`+r(t.$t(`headshots.status.pending`))+`) `,1)),t.modelValue?.response?.status===`unknown`?(m(),o(`span`,Le,` - (`+r(t.$t(`headshots.status.processing`))+`) `,1)):a(``,!0)])):a(``,!0)]),t.modelValue?.response?.success===!0?(m(),o(`div`,Re,[e(`div`,ze,[i(g,{"model-value":t.modelValue},null,8,[`model-value`])]),e(`div`,Be,[i(_,{path:`/headshots/images`,body:t.modelValue?.request},null,8,[`body`])]),i(b,{closable:!1,class:`mt-2 success`},{default:f(()=>[e(`p`,Ve,[i(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(y,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),t.modelValue?.elapsed?(m(),o(`p`,He,[i(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0)]),_:1})])):a(``,!0),t.modelValue?.response?.success===!1?(m(),o(`div`,Ue,[i(b,{closable:!1,class:`failure`},{template:f(()=>[i(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.failure`)),1)]),default:f(()=>[e(`p`,We,[i(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(y,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,Ge,[i(v,{icon:`fa-solid fa-circle-info`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.failureReason`))+`: `+r(t.modelValue?.response?.error?.message)+` `,1),i(y,{content:t.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),t.modelValue?.elapsed?(m(),o(`p`,Ke,[i(v,{icon:`fa-solid fa-clock`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.elapsed`))+`: `+r(t.modelValue?.elapsed?.toFixed(2))+`s `,1)])):a(``,!0),e(`p`,qe,[i(v,{icon:`fa-solid fa-hashtag`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.traceId`))+`: `+r(t.modelValue?.response?.trace_id)+` `,1),i(y,{content:t.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):a(``,!0),t.modelValue?.response?a(``,!0):(m(),o(`div`,Je,[i(b,{closable:!1,class:`info`},{template:f(()=>[i(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.failure`)),1)]),default:f(()=>[e(`p`,$,[i(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(y,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])),t.modelValue?.response?.status===`unknown`?(m(),o(`div`,Ye,[i(b,{closable:!1,class:`info`},{template:f(()=>[i(v,{icon:`fa-solid fa-exclamation-triangle`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.failure`)),1)]),default:f(()=>[e(`p`,Xe,[i(v,{icon:`fa-solid fa-magic`,class:`mr-1`}),n(` `+r(t.$t(`headshots.name.taskId`))+`: `+r(t.modelValue?.id)+` `,1),i(y,{content:t.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):a(``,!0)])])}var Qe=h({name:`RecentPanel`,components:{TaskPreview:T(Oe,[[`render`,Ze],[`__scopeId`,`data-v-0e921c0c`]]),ElSkeleton:w,ElSkeletonItem:C,ScrollList:H},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.headshots?.tasks,items:this.$store.state.headshots?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),$e={key:0,class:`tasks`},et={class:`left`},tt={class:`main`},nt={key:1,class:`tasks`},rt={key:2,class:`description`};function it(t,n,l,d,h,g){let _=c(`el-skeleton-item`),v=c(`el-skeleton`),y=c(`task-preview`),b=c(`scroll-list`);return m(),u(b,{ref:`scrollList`,class:`panel recent`,loading:t.loading,onReachTop:n[0]||=e=>t.$emit(`reach-top`)},{default:f(()=>[t.tasks?.items===void 0?(m(),o(`div`,$e,[(m(),o(s,null,p(3,t=>e(`div`,{key:t,class:`task placeholder`},[e(`div`,et,[i(v,{animated:``},{template:f(()=>[i(_,{variant:`image`,class:`avatar`})]),_:1})]),e(`div`,tt,[i(v,{animated:``},{template:f(()=>[i(_,{variant:`p`,class:`title`}),i(_,{variant:`image`,class:`icon`})]),_:1})])])),64))])):t.tasks?.items?.length&&t.tasks?.items?.length>0?(m(),o(`div`,nt,[(m(!0),o(s,null,p(t.tasks?.items,(e,t)=>(m(),u(y,{key:t,"model-value":e,class:`preview`},null,8,[`model-value`]))),128))])):a(``,!0),t.tasks?.items?.length===0?(m(),o(`p`,rt,r(t.$t(`headshots.message.noTasks`)),1)):a(``,!0)]),_:1},8,[`loading`])}var at=h({name:`HeadshotsIndex`,components:{ConfigPanel:Se,Layout:X,ApplicationStatus:z,RecentPanel:T(Qe,[[`render`,it],[`__scopeId`,`data-v-ffd55c16`]])},mixins:[O],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.headshots?.status?.getApplications===j.Request},tasksLoading(){return this.$store.state.headshots?.status?.getTasks===j.Request||this.fetchingTasks},service(){return this.$store.state.headshots.service},credential(){return this.$store.state.headshots.credential},config(){return this.$store.state.headshots.config},initializing(){return this.$store.state.headshots.status.getApplications===j.Request},needApply(){return this.$store.state.headshots.status.getApplications===j.Success&&!this.application},application(){return this.$store.state.headshots.application},applications(){return this.$store.state.headshots.applications},tasks(){return this.$store.state.headshots.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await U({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`headshots/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`headshots/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},onApply(){A.create({application:this.application}).then(({data:e})=>{this.application=e,F.success(this.$t(`application.message.applySuccessfully`))}).catch(e=>{e?.response?.data?.code===`duplication`&&F.error(this.$t(`application.message.alreadyApplied`))})},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`headshots/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGeneratePicture(){if(!E(this.uploadTracker,e=>this.$t(e),e=>F.warning(e)))return;let e={...this.config,async:!0};if(!te())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}F.info(this.$t(`headshots.message.startingTask`)),I(`headshots`,D.generate(e,{token:t})).then(()=>{F.success(this.$t(`headshots.message.startTaskSuccess`)),this.$store.commit(`headshots/setConfig`,{config:void 0})}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?F.error(this.$t(`headshots.message.usedUp`)):F.error(this.$t(`headshots.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function ot(e,t,n,r,a,o){let s=c(`config-panel`),l=c(`application-status`),d=c(`recent-panel`),p=c(`layout`);return m(),u(p,null,{config:f(()=>[i(s,{onGenerate:e.onGeneratePicture},null,8,[`onGenerate`])]),result:f(()=>[i(l,{initializing:e.initializing,application:e.application,applications:e.applications,service:e.service,"need-apply":e.needApply,class:`mb-4`,onRefresh:e.onGetApplication,onSelect:t[0]||=t=>e.$store.dispatch(`headshots/setApplication`,t)},null,8,[`initializing`,`application`,`applications`,`service`,`need-apply`,`onRefresh`]),i(d,{ref:`recentPanel`,class:`panel recent`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var st=T(at,[[`render`,ot],[`__scopeId`,`data-v-9ea36b64`]]);export{st as default};
@@ -1 +0,0 @@
1
- .menu[data-v-ada6b2d1]{display:none}@media (width<=767px){.config[data-v-ada6b2d1]{display:none}.result[data-v-ada6b2d1]{width:100%}.menu[data-v-ada6b2d1]{right:8px;top:calc(45px + var(--app-safe-area-top));z-index:1000;display:block;position:absolute}}.field[data-v-d468812a]{flex-direction:row;justify-content:space-between;align-items:center;display:flex}.field .title[data-v-d468812a]{width:30%;margin:0;font-size:14px}.field .value[data-v-d468812a]{flex:1;margin-left:60px}.field .upload-wrapper[data-v-d468812a]{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.field .info[data-v-d468812a]{margin-left:auto}.field[data-v-e7702494]{flex-direction:row;align-items:center;display:flex}.field .title[data-v-e7702494]{width:30%;margin:0;font-size:14px}.field .value[data-v-e7702494]{flex:1}.mode .el-radio-button .el-radio-button__inner{padding:8px 11px}.title[data-v-be4bd25d]{margin-bottom:10px;font-size:14px}.pane[data-v-be4bd25d]{flex-flow:wrap;justify-content:center;align-items:center;height:auto;max-height:220px;display:flex;overflow-y:scroll}.pane .item[data-v-be4bd25d]{border-style:solid;border-width:3px;border-color:var(--el-border-color);cursor:pointer;border-radius:5px;width:70px;height:110px;margin-bottom:8px;margin-right:8px;position:relative;overflow:hidden}.pane .item.hidden[data-v-be4bd25d]{display:none}.pane .item.active[data-v-be4bd25d]{border-color:var(--el-color-primary)}.pane .item .preview[data-v-be4bd25d]{width:70px;height:110px}.pane .item .name[data-v-be4bd25d]{color:#fff;text-align:center;background-color:#00000080;width:100%;padding:0 5px;font-size:10px;position:absolute;bottom:0;left:0;right:0}.panel[data-v-848739f6]{flex-direction:column;height:100%;padding:20px;display:flex}.panel .config[data-v-848739f6]{flex:1;width:100%;height:calc(100% - 50px)}.panel .actions[data-v-848739f6]{justify-content:center;align-items:center;height:50px;display:flex}.panel .actions .btn[data-v-848739f6]{width:100%}.image-gallery[data-v-42f0a7be]{justify-content:space-between;gap:16px;display:flex}.image-container[data-v-42f0a7be]{width:48%;box-shadow:var(--app-shadow-sm);border-radius:8px;position:relative;overflow:hidden}.image-container img[data-v-42f0a7be]{width:100%;height:auto;transition:transform .3s;display:block}.image-container:hover img[data-v-42f0a7be]{transform:scale(1.05)}.image-container .view-button[data-v-42f0a7be]{color:#fff;cursor:pointer;opacity:0;background-color:#0009;border:none;border-radius:4px;padding:10px 20px;transition:opacity .3s .1s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image-container .view-button[data-v-42f0a7be]:hover{background-color:#000c}.image-container:hover .view-button[data-v-42f0a7be]{opacity:1}.preview[data-v-0e921c0c]{text-align:left;flex-direction:row;width:100%;height:fit-content;margin-bottom:15px;display:flex}.preview .left[data-v-0e921c0c]{width:70px}.preview .left .avatar[data-v-0e921c0c]{background-color:#4077bc;border-radius:50%;width:50px;height:50px;margin:10px;padding:2px}.preview .main[data-v-0e921c0c]{flex:1;width:calc(100% - 70px);min-width:0;padding:10px 10px 0}.preview .main .bot[data-v-0e921c0c]{color:var(--el-color-primary);text-overflow:ellipsis;white-space:nowrap;margin-top:0;margin-bottom:0;font-size:16px;font-weight:700;overflow:hidden}.preview .main .bot .datetime[data-v-0e921c0c]{color:var(--el-text-color-secondary);margin-left:10px;font-size:12px;font-weight:400}.preview .main .info[data-v-0e921c0c]{overflow:hidden}.preview .main .info .prompt[data-v-0e921c0c]{color:var(--el-text-color-regular);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin-bottom:10px;font-size:14px;font-weight:700}.preview .main .content[data-v-0e921c0c]{word-break:break-word;overflow-wrap:anywhere}.preview .main .content .el-alert[data-v-0e921c0c]{border-left-style:solid;border-left-width:2px}.preview .main .content .el-alert.failure[data-v-0e921c0c]{border-color:var(--el-color-danger)}.preview .main .content .el-alert.success[data-v-0e921c0c]{border-color:var(--el-color-success)}.preview .main .content .el-alert.info[data-v-0e921c0c]{border-color:var(--el-color-info)}.preview .main .content .el-alert[data-v-0e921c0c] p:last-child{margin-bottom:0}.preview .main .image-wrapper[data-v-0e921c0c]{width:fit-content;min-width:100px;min-height:50px;position:relative}.preview .main .image-wrapper .image[data-v-0e921c0c]{width:fit-content;max-width:500px;max-height:400px;display:block}.preview .main .image-wrapper .btn-raw[data-v-0e921c0c]{z-index:1000;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview .main .image-wrapper .play-icon[data-v-0e921c0c]{color:#fff;z-index:500;pointer-events:none;font-size:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview .main .image-wrapper:hover .image[data-v-0e921c0c]{filter:brightness(.6)}.preview .main .image-wrapper:hover .btn-raw[data-v-0e921c0c]{display:block}.preview .main .image-wrapper:hover .play-icon[data-v-0e921c0c]{display:none}.preview .main .operations[data-v-0e921c0c]{text-align:center;width:100%;color:var(--el-text-color-regular);flex-flow:wrap;justify-content:left;align-items:baseline;font-size:14px;display:flex;overflow:hidden scroll}.preview .main .operations.full[data-v-0e921c0c]{height:70px}.preview .main .operations .btn-action[data-v-0e921c0c]{margin-bottom:10px}.panel[data-v-ffd55c16]{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.panel.recent[data-v-ffd55c16]{flex-direction:column;width:100%;height:100%;display:flex;overflow-y:auto}.panel.recent .preview[data-v-ffd55c16]{margin-right:15px}.panel.recent .description[data-v-ffd55c16]{text-align:left;color:var(--el-text-color-secondary);font-size:14px}.panel.recent .tasks[data-v-ffd55c16]{width:100%}.panel.recent .tasks .task[data-v-ffd55c16]{text-align:left;width:100%;height:fit-content;margin-bottom:15px}.panel.recent .tasks .task.placeholder[data-v-ffd55c16]{flex-direction:row;display:flex}.panel.recent .tasks .task.placeholder .left[data-v-ffd55c16]{width:70px;padding:10px}.panel.recent .tasks .task.placeholder .left .avatar[data-v-ffd55c16]{border-radius:50%;width:50px;height:50px}.panel.recent .tasks .task.placeholder .main[data-v-ffd55c16]{flex:1;width:calc(100% - 70px);margin-bottom:10px;padding:10px}.panel.recent .tasks .task.placeholder .main .icon[data-v-ffd55c16]{width:300px;height:200px;display:flex}.panel.recent .tasks .task.placeholder .main .title[data-v-ffd55c16]{width:200px;height:20px;margin-bottom:15px;display:block}.panel.recent .tasks .task .operations[data-v-ffd55c16]{height:fit-content!important}.status[data-v-9ea36b64]{margin-bottom:10px}.panel.detail[data-v-9ea36b64]{flex:1;width:100%;overflow-y:scroll}.panel.recent[data-v-9ea36b64]{justify-content:initial;width:100%;height:100%;margin-bottom:10px;position:relative}.panel.operation[data-v-9ea36b64]{position:relative}