@acedatacloud/nexior 3.336.4 → 3.336.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/assets/{ApiCodeButton-BCiH5XH1.js → ApiCodeButton-CQ4O8ZWf.js} +1 -1
  2. package/dist/assets/{Artifacts-DIvpgBar.js → Artifacts-B4s7AI81.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-Cu4K2zWS.js → AskUserQuestionCard-BNSjcgB2.js} +1 -1
  4. package/dist/assets/{AudioPreview-DsaxaGnI.js → AudioPreview-BxbhcvIP.js} +1 -1
  5. package/dist/assets/{Auth-BBfONSvc.js → Auth-BWmfIyC-.js} +1 -1
  6. package/dist/assets/{Bare-lmFn1z2I.js → Bare-CpBRKPr1.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-CE5nL1Rv.js → BotPlaceholder-SHo5TSBw.js} +1 -1
  8. package/dist/assets/{BottomFooter-ChjU5xVX.js → BottomFooter-DBPxfSCI.js} +1 -1
  9. package/dist/assets/{Callback-B2-p42Rg.js → Callback-BrT1HaCo.js} +1 -1
  10. package/dist/assets/{CodeSnippet-wT9SIEcd.js → CodeSnippet-DrTTnRJ0.js} +1 -1
  11. package/dist/assets/{Console-Coz7Fnvs.js → Console-DRrt7qVS.js} +1 -1
  12. package/dist/assets/{Consumption-CZTTskeC.js → Consumption-Drjn0WCj.js} +1 -1
  13. package/dist/assets/{Conversation-H3RA1wvq.js → Conversation-BjwCe299.js} +1 -1
  14. package/dist/assets/Conversation-dVJ7iyYS.js +1 -0
  15. package/dist/assets/{Conversation-C55egwBj.css → Conversation-jWKCDVXR.css} +1 -1
  16. package/dist/assets/{CopyToClipboard-BmLkUzdp.js → CopyToClipboard-CFBfqG9W.js} +1 -1
  17. package/dist/assets/{Detail-5hoAXR2e.js → Detail-D3UzlcUP.js} +2 -2
  18. package/dist/assets/{Extra-B8ekGjSA.js → Extra-fLcO3qpu.js} +1 -1
  19. package/dist/assets/{FilePreview--2HCelWd.js → FilePreview-MFD4kpx3.js} +1 -1
  20. package/dist/assets/{Hailuo-D-f7Q-vr.js → Hailuo-Cvca3FKv.js} +1 -1
  21. package/dist/assets/{History-mafEUU54.js → History-BKlzKIPg.js} +1 -1
  22. package/dist/assets/{ImagePreview-DN-HUNWG.js → ImagePreview-CfLdEFBX.js} +1 -1
  23. package/dist/assets/{ImageWrapper-Dh31KtOC.js → ImageWrapper-aje7X5xU.js} +1 -1
  24. package/dist/assets/{Index-b0iTp1OQ2.js → Index-9sg2PIDE2.js} +1 -1
  25. package/dist/assets/{Index-dg9VoO-G2.js → Index-B7REylAo2.js} +1 -1
  26. package/dist/assets/{Index-CwGMEDNl.js → Index-BB1ZNQe2.js} +1 -1
  27. package/dist/assets/{Index-vb3Cm4Lq.js → Index-BF3oBstA.js} +1 -1
  28. package/dist/assets/{Index-2BYL3R00.js → Index-BJH_RJNx.js} +1 -1
  29. package/dist/assets/{Index-DX8hE42G2.js → Index-BW9P4tmq2.js} +1 -1
  30. package/dist/assets/{Index-jrzitKC1.js → Index-BiogrgVV.js} +1 -1
  31. package/dist/assets/{Index-DW-Pa8O3.js → Index-C0YyvCZa.js} +1 -1
  32. package/dist/assets/{Index-D8llOyXS.js → Index-C0q1hwCf.js} +1 -1
  33. package/dist/assets/{Index-Cz5-758p.js → Index-C8V076Kb.js} +1 -1
  34. package/dist/assets/{Index-FAsLkZfC2.js → Index-CEy3G_-D2.js} +1 -1
  35. package/dist/assets/{Index-DiNi0tz02.js → Index-CH0gnIEt2.js} +1 -1
  36. package/dist/assets/{Index-E_rMi7FC.js → Index-CKFXPdmJ.js} +1 -1
  37. package/dist/assets/{Index-CQGGIOuG.js → Index-C_2wiXZY.js} +1 -1
  38. package/dist/assets/{Index-V0WkST_o2.js → Index-CarjM7rf2.js} +1 -1
  39. package/dist/assets/{Index-eAjzKE5S.js → Index-Cia60Q2h.js} +1 -1
  40. package/dist/assets/{Index-DIs8cVDw.js → Index-CsLl_IJh.js} +1 -1
  41. package/dist/assets/{Index-CsMO40Im.js → Index-D4qIhDAy.js} +1 -1
  42. package/dist/assets/{Index-B64IzU8l.js → Index-DcKmZ4an.js} +1 -1
  43. package/dist/assets/{Index-D1YdfXaf.js → Index-Diqjksxs.js} +1 -1
  44. package/dist/assets/{Index-j_sB0Ngg.js → Index-Dn5mykuR.js} +1 -1
  45. package/dist/assets/{Index-CanZGA4O2.js → Index-DoHhC-Ri2.js} +1 -1
  46. package/dist/assets/{Index-B0fuyKAA.js → Index-DqvfgkOM.js} +1 -1
  47. package/dist/assets/{Index-BNQ9naoH.js → Index-Dr0ijyFQ.js} +1 -1
  48. package/dist/assets/{Index-D9yXNdl9.js → Index-Fc1iNmUx.js} +1 -1
  49. package/dist/assets/{Index-CgLp7z7p.js → Index-gJsgywSB.js} +1 -1
  50. package/dist/assets/{Index-CzJHBLKQ.js → Index-kWWFzph2.js} +1 -1
  51. package/dist/assets/{Index-B02eYAvV.js → Index-kX6Rvp2E.js} +1 -1
  52. package/dist/assets/{Index-BuS-MFA1.js → Index-sbl_tG9Z.js} +1 -1
  53. package/dist/assets/{Index-BHCw6C3f.js → Index-u4bVe6Jt.js} +1 -1
  54. package/dist/assets/{Invitees-CVMpgYTb.js → Invitees-DZnkOAMw.js} +1 -1
  55. package/dist/assets/{List-CIJ0zF6w.js → List-Bo2RiTCm.js} +1 -1
  56. package/dist/assets/{List-D0dnGZph.js → List-DHY5osjP.js} +1 -1
  57. package/dist/assets/{List-BDSwtlKy.js → List-DXZVgcDr.js} +1 -1
  58. package/dist/assets/{LocalTools-BrvUxlNI.js → LocalTools-DicB5a9O.js} +1 -1
  59. package/dist/assets/{LocalTools-CRZJh6bh.js → LocalTools-sgm65CnT.js} +1 -1
  60. package/dist/assets/{Main-Du7vajhO.js → Main-CLM7922k.js} +1 -1
  61. package/dist/assets/{Message-DMOAj3Cl.js → Message-DFNzpv4_.js} +1 -1
  62. package/dist/assets/{Model-BTgVU-rJ.js → Model-C3IAO8HD.js} +1 -1
  63. package/dist/assets/{Navigator-DEoSI2wo.js → Navigator-BFdcN694.js} +3 -3
  64. package/dist/assets/{NotFound-CVNeGShJ.js → NotFound-CSMPxhJE.js} +1 -1
  65. package/dist/assets/{Pay-CXv2MTG6.js → Pay-CBmDTBp2.js} +1 -1
  66. package/dist/assets/{Player-CxYEbN_5.js → Player-BXkd2f_v.js} +1 -1
  67. package/dist/assets/{Poivelle-D81DZXKg.js → Poivelle-C7uQqS07.js} +1 -1
  68. package/dist/assets/{PromptTextarea-BxPQCRHG.js → PromptTextarea-CMgmHTum.js} +1 -1
  69. package/dist/assets/{RealtimeCall-aAMz430Z.js → RealtimeCall-C-ARS0ps.js} +1 -1
  70. package/dist/assets/{ScheduledTasks-7iAQ9GJY.js → ScheduledTasks-8YSAk6av.js} +2 -2
  71. package/dist/assets/ScheduledTasks-G6atqGfm.css +1 -0
  72. package/dist/assets/{Status-CgKS_nUv.js → Status-C6FV2Wt0.js} +1 -1
  73. package/dist/assets/{Subscribe-Zqtseph0.js → Subscribe-DVwP5N3D.js} +1 -1
  74. package/dist/assets/{TabSwitcher-CxB0g7RK.js → TabSwitcher-F4gsIZOT.js} +1 -1
  75. package/dist/assets/{Tts-BZcJq6o_.js → Tts-CNMuRa_S.js} +1 -1
  76. package/dist/assets/{VideoPlayer-B-RFNph3.js → VideoPlayer-ZvnURH3l.js} +1 -1
  77. package/dist/assets/{alert-NIoXEghZ.js → alert-ODkDqebn.js} +1 -1
  78. package/dist/assets/arrow-down-CDee0qd7.js +1 -0
  79. package/dist/assets/{arrow-down-wide-narrow-Bb-5FmSK.js → arrow-down-wide-narrow-DJPb3AhN.js} +1 -1
  80. package/dist/assets/arrow-left-Cu1-YfvN.js +1 -0
  81. package/dist/assets/arrow-right-Bvjv0chL.js +1 -0
  82. package/dist/assets/arrow-up-ikpZbyST.js +1 -0
  83. package/dist/assets/{avatar-DDzWJzE7.js → avatar-CUB8dqdY.js} +1 -1
  84. package/dist/assets/{basic-C7y6Jt3S.js → basic-CZ5xPt3H.js} +1 -1
  85. package/dist/assets/{box-Bdl3pIxl.js → box-EvIhIKkJ.js} +1 -1
  86. package/dist/assets/{boxes-Cd9SZYzl.js → boxes-40-Tmr5F.js} +1 -1
  87. package/dist/assets/{brain-vJYAb8PS.js → brain-DysD0Jfn.js} +1 -1
  88. package/dist/assets/{chart-no-axes-combined-CMnI6z0F.js → chart-no-axes-combined-BGjMCeno.js} +1 -1
  89. package/dist/assets/{chat-DKPMXlT2.js → chat-CwxN3X71.js} +1 -1
  90. package/dist/assets/check-BUwm1px-.js +1 -0
  91. package/dist/assets/chevron-down-Zg7v9u4O.js +1 -0
  92. package/dist/assets/chevron-right-Dk9Y0AnB.js +1 -0
  93. package/dist/assets/circle-check-B4vU4_zp.js +1 -0
  94. package/dist/assets/clock-CrK54Jcu.js +1 -0
  95. package/dist/assets/{codingBridge-pdah-BMU.js → codingBridge-B8qKqsbO.js} +1 -1
  96. package/dist/assets/{codingBridgeNotify-iDhXh3zr.js → codingBridgeNotify-B9-9lGv6.js} +2 -2
  97. package/dist/assets/{coins-Cs-p2NNe.js → coins-BCjaeU-E.js} +1 -1
  98. package/dist/assets/{collapse-BJd7tmni.js → collapse-BGG_mW-M.js} +1 -1
  99. package/dist/assets/constants-DneM-Qrs.js +1 -0
  100. package/dist/assets/{copy-Cy-pQslP.js → copy-DqSfvjsp.js} +1 -1
  101. package/dist/assets/{createTaskActions-Cd69n0Ab.js → createTaskActions-dpx4rlod.js} +1 -1
  102. package/dist/assets/{digitalhuman-BI39zR2W.js → digitalhuman-Bf0hwaPo.js} +1 -1
  103. package/dist/assets/{dollar-sign-CY0XX5c4.js → dollar-sign-DJA85VF3.js} +1 -1
  104. package/dist/assets/{download-DIUvewp3.js → download-DJjr87Qc.js} +1 -1
  105. package/dist/assets/{drawer-CfriDdTF.js → drawer-DCRdU-HN.js} +1 -1
  106. package/dist/assets/{dropdown-Bk35Iqc_.js → dropdown-CuG9vZsJ.js} +1 -1
  107. package/dist/assets/{dropdown-BmeCNsBV.js → dropdown-SisDUo9R.js} +1 -1
  108. package/dist/assets/{ellipsis-DzOiL_TU.js → ellipsis-BNfW2qoh.js} +1 -1
  109. package/dist/assets/{esm-CJDMTCHH.js → esm-71UT-M0v.js} +1 -1
  110. package/dist/assets/{esm-BgCOgF9R.js → esm-B5rv3hdT.js} +2 -2
  111. package/dist/assets/{esm-DJGKz5Oj.js → esm-CkCJsxYo.js} +1 -1
  112. package/dist/assets/esm-Cr9XMbGu.js +1 -0
  113. package/dist/assets/{esm-Cj7X52ax.js → esm-Dj6zUude.js} +1 -1
  114. package/dist/assets/{esm-Bh12GKSR.js → esm-ZQmaKP6y.js} +2 -2
  115. package/dist/assets/{esm-wjJwA2MJ.js → esm-ryP0C-jb.js} +3 -3
  116. package/dist/assets/{external-link-HwZ6_L9S.js → external-link-B-uKGxb1.js} +1 -1
  117. package/dist/assets/{eye-9FZrT8qj.js → eye-CkGBPUV4.js} +1 -1
  118. package/dist/assets/{file-output-D1N-l77M.js → file-output-D3VnP1z8.js} +1 -1
  119. package/dist/assets/{file-text-DFSIb87D.js → file-text-CaWf-naT.js} +1 -1
  120. package/dist/assets/{fish-DKG-qE9o.js → fish-zpnbQHmj.js} +1 -1
  121. package/dist/assets/{flux-DbVY30Gj.js → flux-CCEry9yf.js} +1 -1
  122. package/dist/assets/{folder-Cr3b435f.js → folder-B4GLjbQ9.js} +1 -1
  123. package/dist/assets/gauge-ChSUhJ_D.js +1 -0
  124. package/dist/assets/{globe-CwMmP46Q.js → globe-BTiLXLfS.js} +1 -1
  125. package/dist/assets/{grokvideo-CqpARtDZ.js → grokvideo-DD6dfT1_.js} +1 -1
  126. package/dist/assets/{hailuo-C1E9Z8h4.js → hailuo-Dcwr_qG3.js} +1 -1
  127. package/dist/assets/{headphones-CJQJUVb4.js → headphones-DYrbjLPq.js} +1 -1
  128. package/dist/assets/{history-C-de2xic.js → history-BWSCwBl5.js} +1 -1
  129. package/dist/assets/{house-DL5sGEuB.js → house-Vn6qxHYQ.js} +1 -1
  130. package/dist/assets/{image-BweXSgWu.js → image-pCpzHiAT.js} +1 -1
  131. package/dist/assets/{index-D7PshZL1.js → index-DZ_QWcAX.js} +5 -5
  132. package/dist/assets/{index.browser.esm-dkwdYkQg.js → index.browser.esm-Mc-bkxL5.js} +1 -1
  133. package/dist/assets/{index.es-D_pU9uSQ.js → index.es-Dx6OCSeK.js} +1 -1
  134. package/dist/assets/{info-BLLJpmyv.js → info-BLbxtdI5.js} +1 -1
  135. package/dist/assets/{input-number-CQElckio.js → input-number-CGx3RnZ1.js} +1 -1
  136. package/dist/assets/{key-round-CkjWUbd6.js → key-round-BuCy3Ixr.js} +1 -1
  137. package/dist/assets/{kling-BCVrpWpD.js → kling-DQPemDny.js} +1 -1
  138. package/dist/assets/{languages-rBBjnTfT.js → languages-DsoVuJS-.js} +1 -1
  139. package/dist/assets/{laptop-CHng-OVr.js → laptop-BLtTgAIz.js} +1 -1
  140. package/dist/assets/{lightbulb-MkUKqgJg.js → lightbulb-D4fs1pJr.js} +1 -1
  141. package/dist/assets/{link-mrdysi1t.js → link-C05s3PUU.js} +1 -1
  142. package/dist/assets/loader-circle-BjCePz-3.js +1 -0
  143. package/dist/assets/{luma-DALnyRxr.js → luma-CNoieAcm.js} +1 -1
  144. package/dist/assets/{maestro-CiQTs5ep.js → maestro-LzdzL_40.js} +1 -1
  145. package/dist/assets/{maestro-CJvp3PWw.js → maestro-STnKEiax.js} +1 -1
  146. package/dist/assets/{mail-CZzokyPh.js → mail-DcSGBSR_.js} +1 -1
  147. package/dist/assets/{message-circle-DedY5py3.js → message-circle-DUyNkIhO.js} +1 -1
  148. package/dist/assets/{mic-CSLvPpSt.js → mic-DsTuCt9P.js} +1 -1
  149. package/dist/assets/{midjourney-CkRfPfTR.js → midjourney-D1pUbro-.js} +1 -1
  150. package/dist/assets/{mobileLocalExec-DJnehTjo.js → mobileLocalExec-DE4u-DJp.js} +2 -2
  151. package/dist/assets/{mouse-pointer-2-s2Ly3Sba.js → mouse-pointer-2-CRgdszlC.js} +1 -1
  152. package/dist/assets/music-2-B3tGivbe.js +1 -0
  153. package/dist/assets/{nanobanana-2zERBcl1.js → nanobanana-0VzQpmgi.js} +1 -1
  154. package/dist/assets/{omni-BiQkl3Li.js → omni-BHerEooO.js} +1 -1
  155. package/dist/assets/{openaiimage-9CQs1DIt.js → openaiimage-BNc60SqL.js} +1 -1
  156. package/dist/assets/{pagination-ZOz4p54z.js → pagination-BnG9-ceq.js} +1 -1
  157. package/dist/assets/{pagination-eYvfEgWP.js → pagination-DV4P8iuN.js} +1 -1
  158. package/dist/assets/{palette-CIQ0KF6X.js → palette-C79FlhaZ.js} +1 -1
  159. package/dist/assets/{paperclip-BRKO1tyd.js → paperclip-Dqqy6StV.js} +1 -1
  160. package/dist/assets/{pause-C8aoBlIY.js → pause-CRSZvur0.js} +1 -1
  161. package/dist/assets/{pencil-C1p3piXr.js → pencil-SX2YysAT.js} +1 -1
  162. package/dist/assets/{pika-DK3PrJxn.js → pika-ByBxtNGl.js} +1 -1
  163. package/dist/assets/{pixverse-BeBd44QY.js → pixverse-DdonIzR9.js} +1 -1
  164. package/dist/assets/play-SO65U40b.js +1 -0
  165. package/dist/assets/plus-ZgoGplj2.js +1 -0
  166. package/dist/assets/{poivelle-D1CzT2Ap.js → poivelle-z5aQ7nFp.js} +1 -1
  167. package/dist/assets/{popover-Rlh9-jil.js → popover-Dn8jCdzv.js} +1 -1
  168. package/dist/assets/{producer-BOnJV-RZ.js → producer-CYEiFL9B.js} +1 -1
  169. package/dist/assets/{qrart-BYtnl1NW.js → qrart-pvyRUKhA.js} +1 -1
  170. package/dist/assets/{realtime--zmUiI0t.js → realtime-D1ImBLOj.js} +1 -1
  171. package/dist/assets/{refresh-cw-DNrlXdcs.js → refresh-cw-AVKbsmWC.js} +1 -1
  172. package/dist/assets/rotate-ccw-CNxzE0AC.js +1 -0
  173. package/dist/assets/rotate-cw-BVl7_Cnm.js +1 -0
  174. package/dist/assets/{row-D01IHp_i.js → row-BfjI7Qqw.js} +1 -1
  175. package/dist/assets/search-B7qN_lr8.js +1 -0
  176. package/dist/assets/{seedance-HMLTEbe8.js → seedance-CiWUihUQ.js} +1 -1
  177. package/dist/assets/{seedream-BXXT8-hS.js → seedream-xczUH69_.js} +1 -1
  178. package/dist/assets/{select-kcx--P1x.js → select-CxUZ9bYo.js} +1 -1
  179. package/dist/assets/{serp-4Q56rzrf.js → serp-BHaYuTjf.js} +1 -1
  180. package/dist/assets/{shield-xja_DgeO.js → shield-C725nDTp.js} +1 -1
  181. package/dist/assets/{shuffle-C44Z2oGy.js → shuffle-Dwez0uvG.js} +1 -1
  182. package/dist/assets/{slider-BLVGADMV.js → slider-Bvp0OEiR.js} +1 -1
  183. package/dist/assets/{sliders-horizontal-Bwykskrq.js → sliders-horizontal-DSZnu4VW.js} +1 -1
  184. package/dist/assets/{solana-wallets-D01w4FBp.js → solana-wallets-CQ-9nyQP.js} +2 -2
  185. package/dist/assets/{solana-wallets-vue-BEdDrUoM.js → solana-wallets-vue-BDaBhZDb.js} +1 -1
  186. package/dist/assets/{sora-DfqkR7CY.js → sora-BmnVfvy0.js} +1 -1
  187. package/dist/assets/{sparkles-CtS9DN6u.js → sparkles-DC6DS4cm.js} +1 -1
  188. package/dist/assets/square-H6SuQAmp.js +1 -0
  189. package/dist/assets/{suno-Dc6Rubdr.js → suno-uzw7mxpj.js} +1 -1
  190. package/dist/assets/{switch-DHlseMgb.js → switch-Dk3713hg.js} +1 -1
  191. package/dist/assets/{table-BjwwMGC6.js → table-Dz2GNqvE.js} +1 -1
  192. package/dist/assets/{tabs-IMKGWO7N.js → tabs-BSPCBOWx.js} +1 -1
  193. package/dist/assets/{tag-C0sOcRYt.js → tag-XvpgJKDz.js} +1 -1
  194. package/dist/assets/{taskDrawerMixin-8LJZo-GR.js → taskDrawerMixin-UGFVYgci.js} +1 -1
  195. package/dist/assets/terminal-DG1ch7cY.js +1 -0
  196. package/dist/assets/{time-picker-DZP_HueW.js → time-picker-CdFqx2eY.js} +1 -1
  197. package/dist/assets/{tooltip-Dg8svYdv.js → tooltip-Jo-ugqke.js} +1 -1
  198. package/dist/assets/{trash-2-BFPsgWSb.js → trash-2-C7aFw8-B.js} +1 -1
  199. package/dist/assets/{triangle-alert-Bt6a07CK.js → triangle-alert-DLSUERuJ.js} +1 -1
  200. package/dist/assets/{upload-DvahN9pS.js → upload-Cc3qhAE0.js} +1 -1
  201. package/dist/assets/{upload-DINS-nXM.js → upload-IxtZcQdx.js} +1 -1
  202. package/dist/assets/user-e7tOOSHu.js +1 -0
  203. package/dist/assets/{veo-B5K-2BZg.js → veo-CJ3azJTs.js} +1 -1
  204. package/dist/assets/{video-D3fAKqsy.js → video-BpsLUfM1.js} +1 -1
  205. package/dist/assets/{volume-2-DsCqwbE_.js → volume-2-CfzohMI_.js} +1 -1
  206. package/dist/assets/{wallet-Cb-N281m.js → wallet-ENsNRs2c.js} +1 -1
  207. package/dist/assets/{wan-Ce1BjasH.js → wan-Bm5RXkNf.js} +1 -1
  208. package/dist/assets/{wand-sparkles-D1gaPiuH.js → wand-sparkles-Ckv9T6U4.js} +1 -1
  209. package/dist/assets/{web-CCYw881-.js → web-B18yO6AL.js} +1 -1
  210. package/dist/assets/{web-8KAKueiI.js → web-BpNlvU8r.js} +1 -1
  211. package/dist/assets/{web-B4gygH6F.js → web-C6OdFop4.js} +1 -1
  212. package/dist/assets/{web-D6xwlNDf.js → web-CJEW44hP.js} +1 -1
  213. package/dist/assets/{web-CodrqSz4.js → web-DbkW48U8.js} +1 -1
  214. package/dist/assets/{webextrator-CuQ5w1zM.js → webextrator-fsPoMMe_.js} +1 -1
  215. package/dist/assets/{zap-D7ae_2zb.js → zap-Bxc11ozq.js} +1 -1
  216. package/dist/index.html +2 -2
  217. package/package.json +1 -1
  218. package/dist/assets/Conversation-DoTSq27w.js +0 -1
  219. package/dist/assets/ScheduledTasks-BOICFHHQ.css +0 -1
  220. package/dist/assets/arrow-down-_FHvTr0R.js +0 -1
  221. package/dist/assets/arrow-left-o-NndlwR.js +0 -1
  222. package/dist/assets/arrow-right-BM_oc71X.js +0 -1
  223. package/dist/assets/arrow-up-KxYdI9Hu.js +0 -1
  224. package/dist/assets/check-CGmfME5i.js +0 -1
  225. package/dist/assets/chevron-down-Cnvsrfew.js +0 -1
  226. package/dist/assets/chevron-right-Dmhbh_rE.js +0 -1
  227. package/dist/assets/circle-check-Cb-gYU_D.js +0 -1
  228. package/dist/assets/clock-00kgn61e.js +0 -1
  229. package/dist/assets/constants-BdhyMN3z.js +0 -1
  230. package/dist/assets/esm-_KhjSfsd.js +0 -1
  231. package/dist/assets/gauge-DKJ4Z0Qh.js +0 -1
  232. package/dist/assets/loader-circle-DFJEkxvp.js +0 -1
  233. package/dist/assets/music-2-CdpSTfuD.js +0 -1
  234. package/dist/assets/play-CQ_p-xyH.js +0 -1
  235. package/dist/assets/plus-C0RBava9.js +0 -1
  236. package/dist/assets/rotate-ccw-crQ5cmET.js +0 -1
  237. package/dist/assets/rotate-cw-B7XP-iWN.js +0 -1
  238. package/dist/assets/search-BzcuAImw.js +0 -1
  239. package/dist/assets/square-BT0bECqd.js +0 -1
  240. package/dist/assets/terminal-BNQ-WoV4.js +0 -1
  241. package/dist/assets/user-BmRAN_gQ.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,St as f,T as p,Vt as m,Wt as h,b as g,ft as _,ht as v,it as y,j as b,k as x,mt as S,qt as C,rt as w,st as T,tt as E,wt as D,z as O}from"./vendor-chart-Dw-P17PN.js";import{a as k,c as A,t as ee}from"./install-Cn-SLM3u.js";import{i as j,n as M,r as te,s as ne}from"./runtime-BTM7t9of.js";import{a as re,c as N,dt as P,ht as F,i as I,it as L,n as ie,r as ae,yt as oe}from"./use-deprecated-r4dlLNqm.js";import{r as se,t as R}from"./select-kcx--P1x.js";import{t as z}from"./use-aria-9DurtVZO.js";import{n as B,t as ce}from"./form-BNJ9LdPs.js";import{r as le,t as ue}from"./event-BGnHezxC.js";import{t as de}from"./input-number-CQElckio.js";import{t as fe}from"./arrow-left-o-NndlwR.js";import{t as pe}from"./arrow-right-BM_oc71X.js";import{t as me}from"./arrow-up-KxYdI9Hu.js";import{t as he}from"./box-Bdl3pIxl.js";import{t as V}from"./check-CGmfME5i.js";import{t as ge}from"./chevron-down-Cnvsrfew.js";import{t as _e}from"./chevron-right-Dmhbh_rE.js";import{t as ve}from"./copy-Cy-pQslP.js";import{t as ye}from"./download-DIUvewp3.js";import{t as H}from"./file-text-DFSIb87D.js";import{t as U}from"./history-C-de2xic.js";import{t as W}from"./house-DL5sGEuB.js";import{t as be}from"./image-BweXSgWu.js";import{t as xe}from"./loader-circle-DFJEkxvp.js";import{t as G}from"./mouse-pointer-2-s2Ly3Sba.js";import{t as K}from"./music-2-CdpSTfuD.js";import{t as Se}from"./play-CQ_p-xyH.js";import{t as Ce}from"./plus-C0RBava9.js";import{t as we}from"./search-BzcuAImw.js";import{t as Te}from"./sparkles-CtS9DN6u.js";import{t as Ee}from"./trash-2-BFPsgWSb.js";import{t as De}from"./triangle-alert-Bt6a07CK.js";import{t as Oe}from"./upload-DINS-nXM.js";import{t as ke}from"./video-D3fAKqsy.js";import{i as q}from"./i18n-BJOjV4Mn.js";import{E as J,Ei as Ae,Fi as Y,Wi as X,ai as je,bi as Me,oi as Ne,xi as Pe,yi as Z}from"./index-D7PshZL1.js";import{t as Fe}from"./VideoPlayer-B-RFNph3.js";var Ie={label:`label`,value:`value`,disabled:`disabled`},Le=M({direction:{type:te(String),default:`horizontal`},options:{type:te(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:te(Object),default:()=>Ie},block:Boolean,size:L,disabled:Boolean,validateEvent:{type:Boolean,default:!0},id:String,name:String,...z([`ariaLabel`])}),Re={[le]:e=>h(e)||ne(e)||j(e),[ue]:e=>h(e)||ne(e)||j(e)},ze=ee(k(O({...O({name:`ElSegmented`}),props:Le,emits:Re,setup(t,{emit:a}){let o=t,u=A(`segmented`),d=N(),h=ae(),g=ie(),{formItem:v}=I(),{inputId:b,isLabeledByFormItem:S}=re(o,{formItemContext:v}),T=D(null),O=F(),k=f({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),ee=e=>{let t=M(e);a(le,t),a(ue,t)},j=x(()=>({...Ie,...o.props})),M=e=>m(e)?e[j.value.value]:e,te=e=>m(e)?e[j.value.label]:e,ne=e=>!!(g.value||m(e)&&e[j.value.disabled]),L=e=>o.modelValue===M(e),se=e=>o.options.find(t=>M(t)===e),R=e=>[u.e(`item`),u.is(`selected`,L(e)),u.is(`disabled`,ne(e))],z=()=>{if(!T.value)return;let e=T.value.querySelector(`.is-selected`),t=T.value.querySelector(`.is-selected input`);if(!e||!t){k.width=0,k.height=0,k.translateX=0,k.translateY=0,k.focusVisible=!1;return}let n=e.getBoundingClientRect();k.isInit=!0,o.direction===`vertical`?(k.height=n.height,k.translateY=e.offsetTop):(k.width=n.width,k.translateX=e.offsetLeft);try{k.focusVisible=t.matches(`:focus-visible`)}catch{}},B=x(()=>[u.b(),u.m(h.value),u.is(`block`,o.block)]),ce=x(()=>({width:o.direction===`vertical`?`100%`:`${k.width}px`,height:o.direction===`vertical`?`${k.height}px`:`100%`,transform:o.direction===`vertical`?`translateY(${k.translateY}px)`:`translateX(${k.translateX}px)`,display:k.isInit?`block`:`none`})),de=x(()=>[u.e(`item-selected`),u.is(`disabled`,ne(se(o.modelValue))),u.is(`focus-visible`,k.focusVisible)]),fe=x(()=>o.name||d.value);return oe(T,z),_(O,z),_(()=>o.modelValue,()=>{var e;z(),o.validateEvent&&((e=v?.validate)==null||e.call(v,`change`).catch(e=>P(e)))},{flush:`post`}),(t,a)=>t.options.length?(E(),l(`div`,{key:0,id:c(b),ref_key:`segmentedRef`,ref:T,class:n(c(B)),role:`radiogroup`,"aria-label":c(S)?void 0:t.ariaLabel||`segmented`,"aria-labelledby":c(S)?c(v).labelId:void 0},[e(`div`,{class:n([c(u).e(`group`),c(u).m(o.direction)])},[e(`div`,{style:C(c(ce)),class:n(c(de))},null,6),(E(!0),l(p,null,w(t.options,(a,o)=>(E(),l(`label`,{key:o,class:n(R(a))},[e(`input`,{class:n(c(u).e(`item-input`)),type:`radio`,name:c(fe),disabled:ne(a),checked:L(a),onChange:e=>ee(a)},null,42,[`name`,`disabled`,`checked`,`onChange`]),e(`div`,{class:n(c(u).e(`item-label`))},[y(t.$slots,`default`,{item:a},()=>[r(i(te(a)),1)])],2)],2))),128))],2)],10,[`id`,`aria-label`,`aria-labelledby`])):s(`v-if`,!0)}}),[[`__file`,`segmented.vue`]])),Be=Z(`audio-lines`,[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]),Ve=Z(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),He=Z(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),Q=Z(`clapperboard`,[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]),Ue=Z(`film`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]),We=Z(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Ge=Z(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Ke=Z(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),qe=Z(`lock-keyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),Je=Z(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]),Ye=Z(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Xe={class:`discovery-home`},Ze={class:`discovery-header`},Qe={class:`brand`},$e={class:`project-links`},et=[`title`,`aria-label`,`onClick`],$={key:0,class:`discovery-state`,role:`status`},tt={class:`creator`,"aria-labelledby":`poivelle-create-title`},nt={class:`creator-kicker`},rt={id:`poivelle-create-title`},it=[`aria-label`],at=[`disabled`,`onClick`],ot=[`placeholder`,`disabled`],st={class:`composer-footer`},ct=[`disabled`,`title`],lt={class:`prompt-starters`},ut=[`disabled`,`onClick`],dt={class:`works`,"aria-labelledby":`poivelle-works-title`},ft={class:`works-heading`},pt={id:`poivelle-works-title`},mt={class:`search`},ht=[`placeholder`,`aria-label`],gt={class:`category-tabs`},_t=[`onClick`],vt={class:`work-grid`},yt={class:`cover`},bt=[`src`,`alt`,`onError`],xt={key:2,class:`film-badge`},St=[`aria-label`,`onClick`],Ct={class:`duration-badge`},wt={class:`work-copy`},Tt={class:`work-meta`},Et={class:`work-actions`},Dt=[`onClick`],Ot=[`disabled`,`onClick`],kt={key:0,class:`film-dialog-heading`},At={id:`poivelle-film-dialog-title`},jt=J(O({__name:`DiscoveryHome`,emits:[`open-studio`],setup(a,{emit:d}){let f=d,m=Ne(),h=x(()=>m.state.poivelle),_=x(()=>h.value?.projects??[]),y=x(()=>h.value?.discoveryWorks??[]),C=D(``),O=D(``),k=D(!1),A=D(),ee=D(new Set),j=D(`official:pulsecam`),M=D(`all`),te=[{workId:`official:pulsecam`,label:`poivelle.discovery.commercial`,icon:Q},{workId:`official:moonlit-signal`,label:`poivelle.discovery.musicVideo`,icon:K},{workId:`official:northstar-origin`,label:`poivelle.discovery.documentary`,icon:He}],ne=[`poivelle.discovery.starterProduct`,`poivelle.discovery.starterMusic`,`poivelle.discovery.starterDocumentary`],re=[{value:`all`,label:`poivelle.discovery.all`},{value:`commercial`,label:`poivelle.discovery.commercial`},{value:`music_video`,label:`poivelle.discovery.musicVideo`},{value:`narrative`,label:`poivelle.discovery.narrative`},{value:`documentary`,label:`poivelle.discovery.documentary`},{value:`community`,label:`poivelle.discovery.community`}],N=x(()=>{let e=O.value.trim().toLowerCase();return y.value.filter(t=>(M.value===`all`||t.category===M.value)&&(!e||`${t.title} ${t.description} ${t.creator_name} ${(t.tags??[]).join(` `)}`.toLowerCase().includes(e)))}),P=x(()=>h.value?.status?.bootstrap===je.Request),F=x(()=>h.value?.error),I=x({get:()=>!!A.value,set:e=>{e||(A.value=void 0)}}),L=x(()=>{let e=y.value.find(e=>e.id===j.value);return e&&e.copyable!==!1?e:y.value.find(e=>e.copyable!==!1)}),ie=()=>m.dispatch(`poivelle/bootstrap`,{loadProject:!1}),ae=e=>{ee.value=new Set([...ee.value,e])},oe=e=>e.video_url?.startsWith(`https://`)?e.video_url:void 0,se=e=>{if(e&&typeof e==`object`&&`response`in e){let t=e.response?.data?.detail;if(typeof t==`string`)return t;if(typeof t?.message==`string`)return t.message}return e instanceof Error?e.message:q(`poivelle.error.generic`)},R=e=>{let t=Math.floor(e/60),n=e%60;return t?`${t}:${n.toString().padStart(2,`0`)}`:`0:${n.toString().padStart(2,`0`)}`},z=async e=>{await m.dispatch(`poivelle/loadProject`,e),f(`open-studio`)},B=async(e,t)=>{if(!k.value){k.value=!0;try{await m.dispatch(`poivelle/copyDiscoveryWork`,{work_id:e.id,prompt:t,title:t.slice(0,80)}),f(`open-studio`)}catch(e){Pe.error(se(e))}finally{k.value=!1}}},ce=async()=>{let e=L.value;e&&C.value.trim()&&await B(e,C.value.trim())},le=async e=>{await B(e,C.value.trim()||`${q(`poivelle.discovery.copyPrefix`)} ${e.title}`)};return u(ie),(a,u)=>(E(),l(`main`,Xe,[e(`header`,Ze,[e(`div`,Qe,[o(c(Q),{size:19,"aria-hidden":`true`}),u[3]||=r(` POIVELLE`,-1)]),e(`div`,$e,[(E(!0),l(p,null,w(_.value.slice(0,3),e=>(E(),l(`button`,{key:e.id,type:`button`,title:e.title,"aria-label":e.title,onClick:t=>z(e.id)},[r(i(e.title)+` `,1),o(c(_e),{size:13,"aria-hidden":`true`})],8,et))),128))])]),P.value||F.value?(E(),l(`div`,$,[P.value?(E(),b(c(xe),{key:0,size:16,class:`spinning`,"aria-hidden":`true`})):s(``,!0),e(`span`,null,i(P.value?a.$t(`poivelle.status.loading`):F.value),1),F.value?(E(),l(`button`,{key:1,type:`button`,onClick:ie},i(a.$t(`poivelle.action.retry`)),1)):s(``,!0)])):s(``,!0),e(`section`,tt,[e(`p`,nt,i(a.$t(`poivelle.discovery.kicker`)),1),e(`h1`,rt,i(a.$t(`poivelle.discovery.title`)),1),e(`div`,{class:`mode-switch`,"aria-label":a.$t(`poivelle.discovery.skills`)},[(E(),l(p,null,w(te,t=>e(`button`,{key:t.workId,type:`button`,class:n({active:j.value===t.workId}),disabled:P.value,onClick:e=>j.value=t.workId},[(E(),b(T(t.icon),{size:15,"aria-hidden":`true`})),r(` `+i(a.$t(t.label)),1)],10,at)),64))],8,it),e(`form`,{class:`composer`,onSubmit:t(ce,[`prevent`])},[v(e(`textarea`,{"onUpdate:modelValue":u[0]||=e=>C.value=e,placeholder:a.$t(`poivelle.discovery.placeholder`),disabled:P.value,maxlength:`500`,rows:`4`},null,8,ot),[[g,C.value]]),e(`div`,st,[e(`span`,null,i(C.value.length)+`/500`,1),e(`button`,{type:`submit`,disabled:!C.value.trim()||!L.value||P.value||k.value,title:a.$t(`poivelle.discovery.create`)},[k.value?(E(),b(c(xe),{key:0,size:18,class:`spinning`,"aria-hidden":`true`})):(E(),b(c(me),{key:1,size:18,"aria-hidden":`true`}))],8,ct)])],32),e(`div`,lt,[(E(),l(p,null,w(ne,t=>e(`button`,{key:t,type:`button`,disabled:P.value,onClick:e=>C.value=a.$t(t)},i(a.$t(t)),9,ut)),64))])]),e(`section`,dt,[e(`div`,ft,[e(`div`,null,[e(`span`,null,i(a.$t(`poivelle.discovery.galleryKicker`)),1),e(`h2`,pt,i(a.$t(`poivelle.discovery.gallery`)),1)]),e(`label`,mt,[o(c(we),{size:16,"aria-hidden":`true`}),v(e(`input`,{"onUpdate:modelValue":u[1]||=e=>O.value=e,placeholder:a.$t(`poivelle.discovery.search`),"aria-label":a.$t(`poivelle.discovery.search`)},null,8,ht),[[g,O.value]])])]),e(`div`,gt,[(E(),l(p,null,w(re,t=>e(`button`,{key:t.value,type:`button`,class:n({active:M.value===t.value}),onClick:e=>M.value=t.value},i(a.$t(t.label)),11,_t)),64))]),e(`div`,vt,[(E(!0),l(p,null,w(N.value,t=>(E(),l(`article`,{key:t.id,class:`work-card`},[e(`div`,yt,[t.cover_url&&!ee.value.has(t.id)?(E(),l(`img`,{key:0,src:t.cover_url,alt:t.title,onError:e=>ae(t.id)},null,40,bt)):(E(),b(c(Ue),{key:1,size:32,"aria-hidden":`true`})),oe(t)?(E(),l(`span`,xt,i(a.$t(`poivelle.discovery.finishedFilm`)),1)):s(``,!0),oe(t)?(E(),l(`button`,{key:3,type:`button`,class:`cover-play`,"aria-label":`${a.$t(`poivelle.discovery.playFilm`)}: ${t.title}`,onClick:e=>A.value=t},[o(c(Se),{size:18,fill:`currentColor`,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.discovery.playFilm`)),1)],8,St)):s(``,!0),e(`span`,Ct,i(t.duration_seconds?R(t.duration_seconds):a.$t(`poivelle.discovery.community`)),1)]),e(`div`,wt,[e(`div`,Tt,[e(`span`,null,i(t.creator_name),1),e(`strong`,null,i(t.title),1),e(`p`,null,i(t.description),1)]),e(`div`,Et,[oe(t)?(E(),l(`button`,{key:0,type:`button`,class:`play-button`,onClick:e=>A.value=t},[o(c(Se),{size:14,fill:`currentColor`,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.discovery.play`)),1)],8,Dt)):s(``,!0),t.copyable===!1?s(``,!0):(E(),l(`button`,{key:1,type:`button`,class:`copy-button`,disabled:P.value||k.value,onClick:e=>le(t)},[o(c(ve),{size:14,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.discovery.copy`)),1)],8,Ot))])])]))),128))])]),o(c(Ae),{modelValue:I.value,"onUpdate:modelValue":u[2]||=e=>I.value=e,class:`film-preview-dialog`,"aria-labelledby":`poivelle-film-dialog-title`,width:`min(920px, calc(100vw - 32px))`,"align-center":``,"append-to-body":``,"destroy-on-close":``},{header:S(()=>[A.value?(E(),l(`div`,kt,[e(`span`,null,i(a.$t(`poivelle.discovery.finishedFilm`)),1),e(`strong`,At,i(A.value.title),1),e(`small`,null,[r(i(A.value.creator_name)+` `,1),A.value.duration_seconds?(E(),l(p,{key:0},[r(` · `+i(R(A.value.duration_seconds)),1)],64)):s(``,!0)])])):s(``,!0)]),default:S(()=>[A.value&&oe(A.value)?(E(),b(Fe,{key:`${A.value.id}-${A.value.video_url}`,src:oe(A.value)},null,8,[`src`])):s(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-91feafb0`]]),Mt={class:`studio-header`},Nt={class:`identity`},Pt=[`title`],Ft={class:`wordmark`},It={key:0,class:`version`},Lt={class:`actions`},Rt={class:`sync-state`},zt=[`title`],Bt=[`disabled`],Vt=J(O({__name:`StudioHeader`,props:{projectTitle:{},graphVersion:{},canRun:{type:Boolean},canEdit:{type:Boolean},primaryLabel:{}},emits:[`open-projects`,`home`,`commit`,`run`],setup(t){return(n,a)=>(E(),l(`header`,Mt,[e(`div`,Nt,[e(`button`,{class:`home-button`,type:`button`,title:n.$t(`poivelle.discovery.back`),onClick:a[0]||=e=>n.$emit(`home`)},[o(c(fe),{size:16,"aria-hidden":`true`})],8,Pt),e(`span`,Ft,[o(c(Q),{size:15,"aria-hidden":`true`}),a[4]||=r(` POIVELLE`,-1)]),e(`button`,{class:`project-button`,type:`button`,onClick:a[1]||=e=>n.$emit(`open-projects`)},[e(`span`,null,i(t.projectTitle||n.$t(`poivelle.project.noProject`)),1),o(c(ge),{size:14,"aria-hidden":`true`})]),t.graphVersion===void 0?s(``,!0):(E(),l(`span`,It,`Graph v`+i(t.graphVersion),1))]),e(`div`,Lt,[e(`span`,Rt,[a[5]||=e(`span`,{class:`sync-dot`},null,-1),r(` `+i(n.$t(`poivelle.status.synced`)),1)]),t.canEdit?(E(),l(`button`,{key:0,class:`icon-button`,type:`button`,title:n.$t(`poivelle.action.commit`),onClick:a[2]||=e=>n.$emit(`commit`)},[o(c(We),{size:17,"aria-hidden":`true`})],8,zt)):s(``,!0),e(`button`,{class:`primary-button`,type:`button`,disabled:!t.canRun,onClick:a[3]||=e=>n.$emit(`run`)},[o(c(Se),{size:15,fill:`currentColor`,"aria-hidden":`true`}),r(` `+i(t.primaryLabel||n.$t(`poivelle.action.runSkill`)),1)],8,Bt)])]))}}),[[`__scopeId`,`data-v-86d45f69`]]),Ht={class:`production-rail`},Ut={class:`rail-section`},Wt={class:`section-heading`},Gt=[`title`],Kt={class:`project-list`},qt=[`onClick`],Jt={key:0,class:`empty-copy`},Yt={class:`rail-section assets-section`},Xt={class:`section-heading`},Zt=[`title`],Qt={class:`asset-filters`},$t=[`onClick`],en={class:`asset-list`},tn={key:0,class:`empty-copy`},nn={class:`rail-section compact-section`},rn={class:`section-heading static`},an={class:`revision-list`},on={key:0,class:`empty-copy`},sn=J(O({__name:`ProductionRail`,props:{projects:{},currentProjectId:{},assets:{},revisions:{},canEdit:{type:Boolean}},emits:[`select-project`,`create-project`,`import-asset`],setup(t){let r=t,a=[`all`,`character`,`location`,`image`,`video`,`voice`],u=D(`all`),d=x(()=>u.value===`all`?r.assets:r.assets.filter(e=>e.kind===u.value)),f=e=>e===`video`?ke:e===`voice`||e===`music`||e===`sfx`?Be:e===`script`||e===`brand`?H:be;return(r,m)=>(E(),l(`aside`,Ht,[e(`div`,Ut,[e(`div`,Wt,[e(`span`,null,i(r.$t(`poivelle.section.projects`)),1),t.canEdit?(E(),l(`button`,{key:0,type:`button`,title:r.$t(`poivelle.project.create`),onClick:m[0]||=e=>r.$emit(`create-project`)},[o(c(Ce),{size:15,"aria-hidden":`true`})],8,Gt)):s(``,!0)]),e(`div`,Kt,[(E(!0),l(p,null,w(t.projects,a=>(E(),l(`button`,{key:a.id,type:`button`,class:n([`project-row`,{active:a.id===t.currentProjectId}]),onClick:e=>r.$emit(`select-project`,a.id)},[o(c(Q),{size:15,"aria-hidden":`true`}),e(`span`,null,i(a.title),1),e(`small`,null,`v`+i(a.graph_version),1)],10,qt))),128)),t.projects.length?s(``,!0):(E(),l(`p`,Jt,i(r.$t(`poivelle.project.empty`)),1))])]),e(`div`,Yt,[e(`div`,Xt,[e(`span`,null,i(r.$t(`poivelle.section.assets`)),1),t.canEdit?(E(),l(`button`,{key:0,type:`button`,title:r.$t(`poivelle.asset.import`),onClick:m[1]||=e=>r.$emit(`import-asset`)},[o(c(Oe),{size:15,"aria-hidden":`true`})],8,Zt)):s(``,!0)]),e(`div`,Qt,[(E(),l(p,null,w(a,t=>e(`button`,{key:t,type:`button`,class:n({active:u.value===t}),onClick:e=>u.value=t},i(t===`all`?r.$t(`poivelle.asset.all`):t),11,$t)),64))]),e(`div`,en,[(E(!0),l(p,null,w(d.value,t=>(E(),l(`button`,{key:t.id,type:`button`,class:`asset-row`},[(E(),b(T(f(t.kind)),{size:15,"aria-hidden":`true`})),e(`span`,null,[e(`strong`,null,i(t.title),1),e(`small`,null,i(t.kind)+` · `+i(t.scope),1)])]))),128)),d.value.length?s(``,!0):(E(),l(`p`,tn,i(r.$t(`poivelle.asset.empty`)),1))])]),e(`div`,nn,[e(`div`,rn,[e(`span`,null,i(r.$t(`poivelle.section.revisions`)),1),o(c(U),{size:14,"aria-hidden":`true`})]),e(`div`,an,[(E(!0),l(p,null,w(t.revisions.slice(0,4),t=>(E(),l(`div`,{key:t.id,class:`revision-row`},[e(`span`,null,`R`+i(t.revision_number),1),e(`small`,null,`Graph v`+i(t.graph_version),1)]))),128)),t.revisions.length?s(``,!0):(E(),l(`p`,on,i(r.$t(`poivelle.revision.empty`)),1))])])]))}}),[[`__scopeId`,`data-v-71c6054d`]]),cn=[`aria-label`],ln=[`onClick`],un=J(O({__name:`ProjectionTabs`,props:{modelValue:{},canEdit:{type:Boolean}},emits:[`update:modelValue`,`create-node`],setup(t){let a=[{value:`overview`,label:`poivelle.projection.overview`,icon:W},{value:`canvas`,label:`poivelle.projection.advanced`,icon:Ge},{value:`storyboard`,label:`poivelle.projection.storyboard`,icon:Q},{value:`timeline`,label:`poivelle.projection.timeline`,icon:Je},{value:`review`,label:`poivelle.projection.review`,icon:Ke}];return(u,d)=>(E(),l(`nav`,{class:`projection-tabs`,"aria-label":u.$t(`poivelle.projection.label`)},[(E(),l(p,null,w(a,a=>e(`button`,{key:a.value,type:`button`,class:n({active:t.modelValue===a.value}),onClick:e=>u.$emit(`update:modelValue`,a.value)},[(E(),b(T(a.icon),{size:14,"aria-hidden":`true`})),r(` `+i(u.$t(a.label)),1)],10,ln)),64)),d[1]||=e(`span`,{class:`spacer`},null,-1),t.canEdit?(E(),l(`button`,{key:0,class:`add-node`,type:`button`,onClick:d[0]||=e=>u.$emit(`create-node`)},[o(c(Ce),{size:14,"aria-hidden":`true`}),r(` `+i(u.$t(`poivelle.node.create`)),1)])):s(``,!0)],8,cn))}}),[[`__scopeId`,`data-v-393d2d3e`]]),dn={class:`connections`,"aria-hidden":`true`},fn=[`x1`,`y1`,`x2`,`y2`],pn=[`onClick`],mn={class:`node-type`},hn={class:`node-summary`},gn={key:0,class:`lock-mark`},_n={key:0,class:`empty-canvas`},vn=J(O({__name:`GraphCanvas`,props:{graph:{},selectedNodeId:{},canEdit:{type:Boolean}},emits:[`select-node`,`create-node`],setup(a){let u=a,d=x(()=>new Map(u.graph.layouts.map(e=>[e.node_id,e]))),f=e=>{let t=u.graph.nodes.findIndex(t=>t.id===e);return{x:52+t%3*250,y:54+Math.floor(t/3)*170,width:208,height:116}},m=e=>d.value.get(e)??f(e),h=e=>{let t=m(e);return{x:t.x+t.width/2,y:t.y+t.height/2}},g=e=>{let t=m(e);return{left:`${t.x}px`,top:`${t.y}px`,width:`${t.width}px`,minHeight:`${t.height}px`}},_=x(()=>u.graph.edges.filter(e=>u.graph.nodes.some(t=>t.id===e.source.node_id)&&u.graph.nodes.some(t=>t.id===e.target.node_id))),v=e=>{let t=e.payload.text??e.payload.prompt??e.payload.description;return typeof t==`string`&&t?t:`Version ${e.version}`};return(u,d)=>(E(),l(`div`,{class:`graph-canvas`,onClick:d[1]||=t(e=>u.$emit(`select-node`,void 0),[`self`])},[(E(),l(`svg`,dn,[(E(!0),l(p,null,w(_.value,e=>(E(),l(`line`,{key:e.id,x1:h(e.source.node_id).x,y1:h(e.source.node_id).y,x2:h(e.target.node_id).x,y2:h(e.target.node_id).y},null,8,fn))),128))])),(E(!0),l(p,null,w(a.graph.nodes,f=>(E(),l(`button`,{key:f.id,type:`button`,class:n([`graph-node`,`type-${f.node_type}`,{selected:f.id===a.selectedNodeId}]),style:C(g(f.id)),onClick:t(e=>u.$emit(`select-node`,f.id),[`stop`])},[e(`span`,mn,i(f.node_type),1),e(`strong`,null,i(f.title),1),e(`span`,hn,i(v(f)),1),f.locked_paths.length?(E(),l(`span`,gn,[o(c(qe),{size:11}),d[2]||=r(` locked`,-1)])):s(``,!0)],14,pn))),128)),a.graph.nodes.length?s(``,!0):(E(),l(`div`,_n,[o(c(Ge),{size:28,"stroke-width":`1.5`,"aria-hidden":`true`}),e(`h2`,null,i(u.$t(`poivelle.graph.emptyTitle`)),1),e(`p`,null,i(u.$t(`poivelle.graph.emptyBody`)),1),a.canEdit?(E(),l(`button`,{key:0,type:`button`,onClick:d[0]||=e=>u.$emit(`create-node`)},[o(c(Ce),{size:15,"aria-hidden":`true`}),r(` `+i(u.$t(`poivelle.node.create`)),1)])):s(``,!0)]))]))}}),[[`__scopeId`,`data-v-cd67c1fc`]]),yn={class:`media-lane`},bn={key:0,class:`candidate-strip`},xn=[`src`],Sn=[`src`],Cn=[`onClick`],wn={key:1},Tn=[`onClick`],En={key:1,class:`unavailable-takes`},Dn={key:2,class:`empty-candidates`},On=J(O({__name:`StoryboardMediaLane`,props:{title:{},kind:{},nodeIds:{},artifacts:{},takes:{},selections:{},canEdit:{type:Boolean},canSelect:{type:Boolean}},emits:[`select-node`,`select-take`],setup(t){let r=t,a=x(()=>{let e=new Set(r.nodeIds),t=new Map(r.artifacts.map(e=>[e.id,e])),n=r.takes.filter(t=>e.has(t.target_node_id)&&t.state===`ready`).flatMap(e=>[...new Set(e.artifact_ids)].map(e=>t.get(e)).filter(e=>!!e).map(t=>({key:`${e.id}:${t.id}`,take:e,artifact:t,selected:r.selections.some(t=>t.target_node_id===e.target_node_id&&t.take_id===e.id)}))),i=new Set(n.map(e=>e.artifact.id)),a=r.artifacts.filter(t=>e.has(t.node_id??``)&&t.kind===r.kind&&!i.has(t.id)).map(e=>({key:e.id,take:void 0,artifact:e,selected:!1}));return[...n,...a]}),o=x(()=>r.takes.filter(e=>r.nodeIds.includes(e.target_node_id)&&e.state!==`ready`)),c=D([]),u=e=>{c.value=c.value.includes(e)?c.value.filter(t=>t!==e):[...c.value.slice(-1),e]};return(r,d)=>(E(),l(`section`,yn,[e(`header`,null,[e(`span`,null,i(t.title),1),t.nodeIds[0]?(E(),l(`button`,{key:0,type:`button`,onClick:d[0]||=e=>r.$emit(`select-node`,t.nodeIds[0])},i(r.$t(`poivelle.storyboard.openNode`)),1)):s(``,!0)]),a.value.length?(E(),l(`div`,bn,[(E(!0),l(p,null,w(a.value,a=>(E(),l(`article`,{key:a.key,class:n([`candidate`,{selected:a.selected,comparing:c.value.includes(a.key)}])},[t.kind===`image`?(E(),l(`img`,{key:0,src:a.artifact.storage_url,alt:``},null,8,xn)):(E(),l(`video`,{key:1,src:a.artifact.storage_url,controls:``,preload:`metadata`},null,8,Sn)),e(`div`,null,[e(`span`,null,i(a.take?`TAKE`:`ARTIFACT`),1),e(`strong`,null,i(a.artifact.id.slice(-8)),1),t.canEdit&&t.canSelect&&a.take&&!a.selected?(E(),l(`button`,{key:0,type:`button`,onClick:e=>r.$emit(`select-take`,{target_node_id:a.take.target_node_id,take_id:a.take.id})},i(r.$t(`poivelle.storyboard.selectTake`)),9,Cn)):a.selected?(E(),l(`em`,wn,i(r.$t(`poivelle.storyboard.selected`)),1)):s(``,!0),e(`button`,{type:`button`,class:`compare-toggle`,onClick:e=>u(a.key)},i(c.value.includes(a.key)?r.$t(`poivelle.storyboard.comparing`):r.$t(`poivelle.storyboard.compare`)),9,Tn)])],2))),128))])):s(``,!0),o.value.length?(E(),l(`div`,En,[(E(!0),l(p,null,w(o.value,e=>(E(),l(`span`,{key:e.id},i(e.state===`failed`?r.$t(`poivelle.storyboard.failedTake`):r.$t(`poivelle.storyboard.restrictedTake`)),1))),128))])):s(``,!0),!a.value.length&&!o.value.length?(E(),l(`div`,Dn,i(r.$t(`poivelle.storyboard.noCandidates`)),1)):s(``,!0)]))}}),[[`__scopeId`,`data-v-4e385f6a`]]),kn={class:`storyboard-view`},An={key:0,class:`storyboard-heading`},jn={class:`section-label`},Mn=[`onClick`],Nn={class:`shot-number`},Pn={class:`shot-production`},Fn={class:`shot-metadata`},In={class:`prompt-columns`},Ln={class:`candidate-columns`},Rn=[`onClick`],zn={key:0,class:`empty-view`},Bn=J(O({__name:`StoryboardView`,props:{graph:{},storyboard:{},artifacts:{},takes:{},selections:{},selectedNodeId:{},canEdit:{type:Boolean},canSelect:{type:Boolean}},emits:[`select-node`,`select-take`],setup(t){let r=t,a=x(()=>r.storyboard?.sections.reduce((e,t)=>e+t.shots.length,0)??0),u=x(()=>r.graph.nodes.filter(e=>[`storyboard`,`scene`,`shot`,`image`,`video`].includes(e.node_type)));return(r,d)=>(E(),l(`div`,kn,[t.storyboard?(E(),l(`header`,An,[e(`div`,null,[e(`span`,null,i(t.storyboard.schema_ref),1),e(`h2`,null,i(t.storyboard.title),1)]),e(`dl`,null,[e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.product`)),1),e(`dd`,null,i(t.storyboard.product_name),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.duration`)),1),e(`dd`,null,i(t.storyboard.target_duration_seconds)+`s`,1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.shots`)),1),e(`dd`,null,i(a.value),1)])])])):s(``,!0),t.storyboard?(E(!0),l(p,{key:1},w(t.storyboard.sections,a=>(E(),l(`section`,{key:a.id,class:`story-section`},[e(`div`,jn,[e(`span`,null,i(String(a.order).padStart(2,`0`)),1),e(`h3`,null,i(a.title),1)]),(E(!0),l(p,null,w(a.shots,a=>(E(),l(`article`,{key:a.row.id,class:n([`shot-row`,{selected:a.shot_node_id===t.selectedNodeId}])},[e(`button`,{class:`shot-brief`,type:`button`,onClick:e=>r.$emit(`select-node`,a.shot_node_id)},[e(`span`,Nn,`SHOT `+i(String(a.row.shot_number).padStart(2,`0`)),1),e(`strong`,null,i(a.row.plot_description),1),e(`span`,null,i(a.row.duration_seconds)+`s · `+i(a.row.shot_size),1)],8,Mn),e(`div`,Pn,[e(`dl`,Fn,[e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.action`)),1),e(`dd`,null,i(a.row.character_action||`—`),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.emotion`)),1),e(`dd`,null,i(a.row.emotion||`—`),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.lighting`)),1),e(`dd`,null,i(a.row.lighting_and_atmosphere),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.audio`)),1),e(`dd`,null,i(a.row.audio_effects),1)])]),e(`div`,In,[e(`div`,null,[e(`span`,null,i(r.$t(`poivelle.storyboard.imagePrompt`)),1),e(`p`,null,i(a.row.image_generation_prompt),1)]),e(`div`,null,[e(`span`,null,i(r.$t(`poivelle.storyboard.motionPrompt`)),1),e(`p`,null,i(a.row.video_motion_prompt),1)])])]),e(`div`,Ln,[o(On,{title:r.$t(`poivelle.storyboard.frames`),kind:`image`,"node-ids":a.image_node_ids,artifacts:t.artifacts,takes:t.takes,selections:t.selections,"can-edit":t.canEdit,"can-select":t.canSelect,onSelectNode:d[0]||=e=>r.$emit(`select-node`,e),onSelectTake:d[1]||=e=>r.$emit(`select-take`,e)},null,8,[`title`,`node-ids`,`artifacts`,`takes`,`selections`,`can-edit`,`can-select`]),o(On,{title:r.$t(`poivelle.storyboard.motion`),kind:`video`,"node-ids":a.video_node_ids,artifacts:t.artifacts,takes:t.takes,selections:t.selections,"can-edit":t.canEdit,"can-select":t.canSelect,onSelectNode:d[2]||=e=>r.$emit(`select-node`,e),onSelectTake:d[3]||=e=>r.$emit(`select-take`,e)},null,8,[`title`,`node-ids`,`artifacts`,`takes`,`selections`,`can-edit`,`can-select`])])],2))),128))]))),128)):(E(),l(p,{key:2},[(E(!0),l(p,null,w(u.value,(a,s)=>(E(),l(`button`,{key:a.id,type:`button`,class:n([`legacy-card`,{selected:a.id===t.selectedNodeId}]),onClick:e=>r.$emit(`select-node`,a.id)},[e(`span`,null,i(String(s+1).padStart(2,`0`)),1),o(c(Q),{size:26,"stroke-width":`1.25`,"aria-hidden":`true`}),e(`strong`,null,i(a.title),1)],10,Rn))),128)),u.value.length?s(``,!0):(E(),l(`div`,zn,[o(c(Q),{size:30,"stroke-width":`1.4`}),e(`h2`,null,i(r.$t(`poivelle.storyboard.emptyTitle`)),1),e(`p`,null,i(r.$t(`poivelle.storyboard.emptyBody`)),1)]))],64))]))}}),[[`__scopeId`,`data-v-ce90da94`]]),Vn={class:`timeline-view`},Hn={key:0,class:`master-output`,"aria-labelledby":`poivelle-master-title`},Un={class:`master-heading`},Wn={class:`master-kicker`},Gn={id:`poivelle-master-title`},Kn=[`href`],qn=[`src`,`aria-label`],Jn={key:0,class:`master-status`,role:`status`},Yn={key:1,class:`master-status is-error`,role:`alert`},Xn={class:`master-metadata`},Zn={class:`timeline-ruler`},Qn={key:1,class:`tracks`},$n={class:`track-label`},er={class:`track-lane`},tr=[`title`],nr=[`aria-label`],rr={key:0,class:`clip-actions`},ir=[`disabled`,`onClick`],ar=[`disabled`,`onClick`],or={key:2,class:`empty-timeline`},sr=120/5e3,cr=J(O({__name:`TimelineView`,props:{timeline:{},graph:{},artifacts:{},canEdit:{type:Boolean}},emits:[`move-clip`],setup(t){let n=t,a=x(()=>{let e=new Set(n.graph.nodes.filter(e=>e.node_type===`composition`).map(e=>e.id));return[...n.artifacts??[]].filter(t=>t.kind===`video`&&t.state===`committed`&&t.restriction_watermark===0&&!!t.node_id&&e.has(t.node_id)&&t.metadata?.operation===`compose.timeline@1`).sort((e,t)=>t.created_at.localeCompare(e.created_at))[0]}),u=D(!0),d=D(!1);_(()=>a.value?.id,()=>{u.value=!0,d.value=!1});let f=()=>{u.value=!0,d.value=!1},m=()=>{u.value=!1,d.value=!0},h=e=>{let t=a.value?.metadata?.[e];return typeof t==`number`&&Number.isFinite(t)?t:void 0},g=x(()=>{let e=h(`duration_ms`);return e===void 0?`—`:`${(e/1e3).toFixed(1)}s`}),v=x(()=>{let e=h(`width`),t=h(`height`);return e&&t?`${e} × ${t}`:`—`}),y=x(()=>{let e=h(`width`),t=h(`height`);return e&&t?{aspectRatio:`${e} / ${t}`}:void 0}),b=e=>n.timeline?.clips.filter(t=>t.track_id===e)??[],S=e=>e.artifact_id.slice(-6),T=e=>({left:`${e.timeline_start_ms*sr}px`,width:`${Math.max(48,(e.source_out_ms-e.source_in_ms)/(e.speed??1)*sr)}px`});return(n,_)=>(E(),l(`div`,Vn,[a.value?(E(),l(`section`,Hn,[e(`div`,Un,[e(`div`,null,[e(`span`,Wn,i(n.$t(`poivelle.timeline.deliverable`)),1),e(`h2`,Gn,i(n.$t(`poivelle.timeline.masterTitle`)),1)]),e(`a`,{class:`master-download`,href:a.value.storage_url,target:`_blank`,rel:`noopener noreferrer`,download:``},[o(c(ye),{size:15,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.timeline.download`)),1)],8,Kn)]),e(`div`,{class:`master-media`,style:C(y.value)},[e(`video`,{class:`master-player`,src:a.value.storage_url,"aria-label":n.$t(`poivelle.timeline.playerLabel`),controls:``,playsinline:``,preload:`metadata`,onLoadstart:f,onLoadedmetadata:_[0]||=e=>u.value=!1,onCanplay:_[1]||=e=>u.value=!1,onError:m},null,40,qn),u.value&&!d.value?(E(),l(`div`,Jn,[o(c(xe),{size:24,class:`is-spinning`,"aria-hidden":`true`}),e(`span`,null,i(n.$t(`poivelle.timeline.loading`)),1)])):s(``,!0),d.value?(E(),l(`div`,Yn,[o(c(De),{size:24,"aria-hidden":`true`}),e(`span`,null,i(n.$t(`poivelle.timeline.loadError`)),1)])):s(``,!0)],4),e(`dl`,Xn,[e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.duration`)),1),e(`dd`,null,i(g.value),1)]),e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.frame`)),1),e(`dd`,null,i(v.value),1)]),e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.videoClips`)),1),e(`dd`,null,i(h(`video_clips`)??`—`),1)]),e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.audioClips`)),1),e(`dd`,null,i(h(`audio_clips`)??`—`),1)])])])):s(``,!0),e(`div`,Zn,[(E(),l(p,null,w(10,t=>e(`span`,{key:t},i((t-1)*5)+`s`,1)),64))]),t.timeline?.tracks.length?(E(),l(`div`,Qn,[(E(!0),l(p,null,w(t.timeline.tracks,r=>(E(),l(`div`,{key:r.id,class:`track-row`},[e(`div`,$n,i(r.title||r.kind||r.id),1),e(`div`,er,[(E(!0),l(p,null,w(b(r.id),(a,o)=>(E(),l(`div`,{key:a.id,class:`timeline-clip`,style:C(T(a)),title:a.artifact_id},[e(`button`,{type:`button`,"aria-label":a.artifact_id},i(S(a)),9,nr),t.canEdit&&r.kind===`video`?(E(),l(`span`,rr,[e(`button`,{type:`button`,disabled:o===0,onClick:e=>n.$emit(`move-clip`,{trackId:r.id,clipId:a.id,direction:-1})},` ‹ `,8,ir),e(`button`,{type:`button`,disabled:o===b(r.id).length-1,onClick:e=>n.$emit(`move-clip`,{trackId:r.id,clipId:a.id,direction:1})},` › `,8,ar)])):s(``,!0)],12,tr))),128))])]))),128))])):(E(),l(`div`,or,[o(c(Ue),{size:30,"stroke-width":`1.4`}),e(`h2`,null,i(n.$t(`poivelle.timeline.emptyTitle`)),1),e(`p`,null,i(n.$t(`poivelle.timeline.emptyBody`)),1)]))]))}}),[[`__scopeId`,`data-v-37eb37c8`]]),lr={class:`review-view`},ur={class:`review-summary`},dr={class:`eyebrow`},fr={class:`summary-metrics`},pr={class:`review-columns`},mr={key:0,class:`item-actions`},hr=[`onClick`],gr={key:0,class:`empty-copy`},_r=[`onClick`],vr=[`onClick`],yr={key:0,class:`empty-copy`},br={key:1,class:`run-detail`},xr={key:0},Sr=[`onClick`],Cr={key:2,class:`forensic-failures`,role:`alert`},wr=J(O({__name:`ReviewView`,props:{graph:{},proposals:{},revisions:{},runs:{},activeRun:{},evaluations:{},forensicValidations:{},costs:{},canEdit:{type:Boolean}},emits:[`reject-proposal`,`cancel-run`,`open-run`,`retry-step`],setup(a){let o=a,c=x(()=>o.proposals.filter(e=>e.state===`awaiting_approval`)),u=e=>![`release_pending`,`succeeded`,`failed`,`cancelled`].includes(e.state),d=x(()=>o.evaluations.filter(e=>e.verdict===`pass`).length),f=x(()=>o.forensicValidations[0]),m=x(()=>f.value?.result.checks.filter(e=>e.verdict===`fail`)??[]),h=e=>[...o.activeRun?.attempts??[]].filter(t=>t.step_run_id===e).sort((e,t)=>t.created_at.localeCompare(e.created_at))[0],g=e=>(e/1e6).toFixed(2);return(o,_)=>(E(),l(`div`,lr,[e(`section`,ur,[e(`div`,null,[e(`span`,dr,i(o.$t(`poivelle.review.heading`)),1),e(`h2`,null,i(a.revisions.length?`Revision ${a.revisions[0].revision_number}`:o.$t(`poivelle.review.noRevision`)),1)]),e(`div`,fr,[e(`span`,null,[e(`strong`,null,i(a.graph.nodes.length),1),r(i(o.$t(`poivelle.review.nodes`)),1)]),e(`span`,null,[e(`strong`,null,i(a.proposals.length),1),r(i(o.$t(`poivelle.review.proposals`)),1)]),e(`span`,null,[e(`strong`,null,i(a.runs.length),1),r(i(o.$t(`poivelle.review.runs`)),1)]),e(`span`,null,[e(`strong`,null,i(g(a.costs?.totals_microcredits.final??0)),1),r(i(o.$t(`poivelle.review.finalCost`)),1)]),e(`span`,null,[e(`strong`,null,i(d.value)+`/`+i(a.evaluations.length),1),r(i(o.$t(`poivelle.review.qualityChecks`)),1)]),e(`span`,null,[e(`strong`,{class:n(f.value?.result.verdict===`fail`?`metric-fail`:``)},i(f.value?.result.verdict??`—`),3),r(i(o.$t(`poivelle.review.forensics`)),1)])])]),e(`section`,pr,[e(`div`,null,[e(`h3`,null,i(o.$t(`poivelle.review.pendingProposals`)),1),(E(!0),l(p,null,w(c.value,t=>(E(),l(`article`,{key:t.id,class:`review-item`},[e(`span`,{class:n([`risk`,`risk-${t.risk_class}`])},i(t.risk_class),3),e(`strong`,null,i(t.intent),1),e(`p`,null,i(t.rationale),1),a.canEdit?(E(),l(`div`,mr,[e(`span`,null,i(o.$t(`poivelle.review.approvalTokenRequired`)),1),e(`button`,{type:`button`,onClick:e=>o.$emit(`reject-proposal`,t.id)},i(o.$t(`poivelle.review.reject`)),9,hr)])):s(``,!0)]))),128)),c.value.length?s(``,!0):(E(),l(`p`,gr,i(o.$t(`poivelle.review.noProposals`)),1))]),e(`div`,null,[e(`h3`,null,i(o.$t(`poivelle.review.execution`)),1),(E(!0),l(p,null,w(a.runs,r=>(E(),l(`article`,{key:r.id,class:n([`run-item`,{active:a.activeRun?.run.id===r.id}]),onClick:e=>o.$emit(`open-run`,r.id)},[e(`span`,{class:n([`run-state`,`state-${r.state}`])},null,2),e(`div`,null,[e(`strong`,null,i(r.state),1),e(`small`,null,i(r.id),1)]),a.canEdit&&u(r)?(E(),l(`button`,{key:0,type:`button`,class:`cancel-run`,onClick:t(e=>o.$emit(`cancel-run`,r.id),[`stop`])},i(o.$t(`poivelle.run.cancel`)),9,vr)):s(``,!0)],10,_r))),128)),a.runs.length?s(``,!0):(E(),l(`p`,yr,i(o.$t(`poivelle.review.noRuns`)),1)),a.activeRun?(E(),l(`section`,br,[e(`header`,null,[e(`strong`,null,i(o.$t(`poivelle.review.runDetail`)),1),e(`span`,null,i(a.activeRun.attempts.length)+` `+i(o.$t(`poivelle.review.attempts`)),1)]),(E(!0),l(p,null,w(a.activeRun.steps,r=>(E(),l(`article`,{key:r.id,class:`step-item`},[e(`span`,{class:n([`run-state`,`state-${r.state}`])},null,2),e(`div`,null,[e(`strong`,null,i(r.operation),1),e(`small`,null,i(r.state)+` · `+i(r.node_id),1),h(r.id)?.error?(E(),l(`p`,xr,i(h(r.id)?.error?.code??`provider_error`)+`: `+i(h(r.id)?.error?.message??o.$t(`poivelle.error.generic`)),1)):s(``,!0)]),a.canEdit&&[`failed`,`manual_recovery`].includes(r.state)?(E(),l(`button`,{key:0,type:`button`,class:`retry-step`,onClick:t(e=>o.$emit(`retry-step`,r),[`stop`])},i(o.$t(`poivelle.review.retryStep`)),9,Sr)):s(``,!0)]))),128))])):s(``,!0),m.value.length?(E(),l(`section`,Cr,[e(`strong`,null,i(o.$t(`poivelle.review.forensics`)),1),(E(!0),l(p,null,w(m.value,e=>(E(),l(`p`,{key:e.code},i(e.code)+` · `+i(String(e.actual??`—`))+` / `+i(String(e.expected??`—`)),1))),128))])):s(``,!0)])])]))}}),[[`__scopeId`,`data-v-e66361d5`]]),Tr={class:`inspector-panel`},Er={class:`inspector-heading`},Dr={class:`field`},Or={class:`field`},kr=[`value`],Ar={class:`field grow`},jr={class:`node-meta`},Mr={key:1,class:`empty-inspector`},Nr=J(O({__name:`InspectorPanel`,props:{node:{}},emits:[`update`,`delete`],setup(t,{emit:n}){let a=t,s=n,u=D(``),f=D(``);_(()=>a.node,e=>{u.value=e?.title??``;let t=e?.payload.prompt??e?.payload.text??``;f.value=typeof t==`string`?t:``},{immediate:!0});let m=x(()=>a.node?a.node.node_type===`video`?ke:a.node.node_type===`audio`?Be:[`shot`,`scene`,`storyboard`].includes(a.node.node_type)?Q:[`image`,`character`,`location`].includes(a.node.node_type)?be:a.node.node_type===`script`||a.node.node_type===`text`?H:he:G),h=()=>{let e=u.value.trim();a.node&&e&&e!==a.node.title&&s(`update`,{path:`/title`,value:e})},y=()=>{if(!a.node)return;let e=a.node.payload.prompt===void 0?`text`:`prompt`;f.value!==a.node.payload[e]&&s(`update`,{path:`/payload/${e}`,value:f.value})};return(n,a)=>(E(),l(`aside`,Tr,[e(`div`,Er,[e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.section.inspector`)),1),e(`strong`,null,i(t.node?.title||n.$t(`poivelle.inspector.noSelection`)),1)]),(E(),b(T(m.value),{size:18,"aria-hidden":`true`}))]),t.node?(E(),l(p,{key:0},[e(`label`,Dr,[e(`span`,null,i(n.$t(`poivelle.field.title`)),1),v(e(`input`,{"onUpdate:modelValue":a[0]||=e=>u.value=e,type:`text`,onBlur:h,onKeydown:d(h,[`enter`])},null,544),[[g,u.value]])]),e(`label`,Or,[e(`span`,null,i(n.$t(`poivelle.field.type`)),1),e(`input`,{value:t.node.node_type,type:`text`,disabled:``},null,8,kr)]),e(`label`,Ar,[e(`span`,null,i(n.$t(`poivelle.field.prompt`)),1),v(e(`textarea`,{"onUpdate:modelValue":a[1]||=e=>f.value=e,rows:`8`,onBlur:y},null,544),[[g,f.value]])]),e(`div`,jr,[a[3]||=e(`span`,null,`NODE`,-1),e(`code`,null,i(t.node.id),1),a[4]||=e(`span`,null,`VERSION`,-1),e(`code`,null,i(t.node.version),1)]),e(`button`,{class:`danger-button`,type:`button`,onClick:a[2]||=e=>n.$emit(`delete`)},[o(c(Ee),{size:14,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.node.delete`)),1)])],64)):(E(),l(`div`,Mr,[o(c(G),{size:24,"stroke-width":`1.4`}),e(`p`,null,i(n.$t(`poivelle.inspector.empty`)),1)]))]))}}),[[`__scopeId`,`data-v-7a6ae318`]]),Pr={class:`agent-dock`},Fr={class:`agent-identity`},Ir={class:`proposal-strip`},Lr=[`onClick`],Rr={key:0},zr=[`disabled`],Br=J(O({__name:`AgentDock`,props:{proposals:{},selectedNodeId:{},skill:{},canEdit:{type:Boolean}},emits:[`run`,`open-proposal`],setup(t){let a=t,u=x(()=>a.proposals.filter(e=>e.state===`awaiting_approval`));return(a,d)=>(E(),l(`section`,Pr,[e(`div`,Fr,[o(c(Ve),{size:16,"aria-hidden":`true`}),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.agent.title`)),1),e(`span`,null,i(t.skill),1)])]),e(`div`,Ir,[(E(!0),l(p,null,w(u.value,t=>(E(),l(`button`,{key:t.id,type:`button`,onClick:e=>a.$emit(`open-proposal`,t.id)},[e(`span`,{class:n([`risk-dot`,`risk-${t.risk_class}`])},null,2),e(`strong`,null,i(t.intent),1),e(`small`,null,i(t.state),1)],8,Lr))),128)),u.value.length?s(``,!0):(E(),l(`p`,Rr,i(a.$t(`poivelle.agent.noProposals`)),1))]),t.canEdit?(E(),l(`button`,{key:0,class:`agent-button`,type:`button`,disabled:!t.selectedNodeId,onClick:d[0]||=e=>a.$emit(`run`)},[o(c(Te),{size:15,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.agent.plan`)),1)],8,zr)):s(``,!0)]))}}),[[`__scopeId`,`data-v-81fac9f8`]]),Vr={class:`project-guide`,"aria-labelledby":`project-guide-title`},Hr={class:`guide-copy`},Ur={id:`project-guide-title`},Wr={class:`guide-body`},Gr={class:`project-facts`},Kr={class:`guide-actions`},qr=[`disabled`],Jr={class:`cost-note`},Yr={class:`production-steps`},Xr={class:`done`},Zr=[`value`,`max`],Qr=[`value`,`max`],$r=J(O({__name:`ProjectGuide`,props:{projectTitle:{},graph:{},storyboard:{},artifacts:{},takes:{},selections:{},canEdit:{type:Boolean},busy:{type:Boolean}},emits:[`generate-node`,`open-storyboard`],setup(t){let a=t,u=x(()=>a.storyboard?a.storyboard.sections.flatMap(e=>e.shots.flatMap(e=>e.image_node_ids)):a.graph.nodes.filter(e=>e.node_type===`image`).map(e=>e.id)),d=x(()=>a.storyboard?a.storyboard.sections.flatMap(e=>e.shots.flatMap(e=>e.video_node_ids)):a.graph.nodes.filter(e=>e.node_type===`video`).map(e=>e.id)),f=x(()=>new Set([...a.artifacts.filter(e=>e.state===`committed`).flatMap(e=>e.node_id??[]),...a.takes.filter(e=>e.state===`ready`).map(e=>e.target_node_id)])),p=x(()=>u.value.filter(e=>f.value.has(e)).length),m=x(()=>d.value.filter(e=>f.value.has(e)).length),h=x(()=>new Set(a.selections.map(e=>e.target_node_id))),g=x(()=>u.value.filter(e=>h.value.has(e)).length),_=x(()=>d.value.filter(e=>h.value.has(e)).length),v=x(()=>p.value===u.value.length&&g.value<u.value.length||m.value===d.value.length&&_.value<d.value.length),y=x(()=>a.graph.nodes.some(e=>e.node_type===`output`)),S=x(()=>{let e=new Set(a.graph.nodes.filter(e=>e.node_type===`output`).map(e=>e.id));return a.artifacts.some(t=>t.state===`committed`&&!!t.node_id&&e.has(t.node_id))}),C=x(()=>{let e=u.value.find(e=>!f.value.has(e));if(e)return a.graph.nodes.find(t=>t.id===e);if(g.value<u.value.length)return;let t=d.value.find(e=>!f.value.has(e));if(t)return a.graph.nodes.find(e=>e.id===t);if(!(_.value<d.value.length))return a.graph.nodes.find(e=>e.node_type===`audio`&&!f.value.has(e.id))}),w=x(()=>(a.storyboard?.sections.reduce((e,t)=>e+t.shots.length,0)??a.graph.nodes.filter(e=>e.node_type===`shot`).length)||d.value.length),T=x(()=>{let e=a.graph.nodes.find(e=>e.node_type===`script`),t=Number(e?.payload?.target_duration_seconds);return a.storyboard?.target_duration_seconds??(Number.isFinite(t)?t:40)}),D=x(()=>{let e=a.graph.nodes.find(e=>e.node_type===`script`);return String(e?.payload?.aspect_ratio??`16:9`)}),O=x(()=>C.value?.node_type===`image`?q(`poivelle.guide.generateFrame`,{current:p.value+1,total:u.value.length}):C.value?.node_type===`video`?q(`poivelle.guide.generateMotion`,{current:m.value+1,total:d.value.length}):q(`poivelle.guide.generateScore`));return(a,f)=>(E(),l(`section`,Vr,[e(`div`,Hr,[e(`p`,null,i(a.$t(`poivelle.guide.kicker`)),1),e(`h1`,Ur,i(a.$t(`poivelle.guide.title`,{title:t.projectTitle})),1),e(`p`,Wr,i(a.$t(`poivelle.guide.body`)),1),e(`dl`,Gr,[e(`div`,null,[e(`dt`,null,i(a.$t(`poivelle.guide.duration`)),1),e(`dd`,null,i(T.value)+`s`,1)]),e(`div`,null,[e(`dt`,null,i(a.$t(`poivelle.guide.shots`)),1),e(`dd`,null,i(w.value),1)]),e(`div`,null,[e(`dt`,null,i(a.$t(`poivelle.guide.format`)),1),e(`dd`,null,i(D.value),1)])]),e(`div`,Kr,[C.value?(E(),l(`button`,{key:0,type:`button`,class:`primary-action`,disabled:!t.canEdit||t.busy,onClick:f[0]||=e=>a.$emit(`generate-node`,C.value.id)},[t.busy?(E(),b(c(xe),{key:0,size:17,class:`spinning`,"aria-hidden":`true`})):(E(),b(c(Te),{key:1,size:17,"aria-hidden":`true`})),r(` `+i(O.value),1)],8,qr)):(E(),l(`button`,{key:1,type:`button`,class:`primary-action`,onClick:f[1]||=e=>a.$emit(`open-storyboard`)},[o(c(Q),{size:17,"aria-hidden":`true`}),r(` `+i(v.value?a.$t(`poivelle.guide.chooseResults`):a.$t(`poivelle.guide.reviewResults`)),1)])),e(`button`,{type:`button`,class:`secondary-action`,onClick:f[2]||=e=>a.$emit(`open-storyboard`)},[r(i(a.$t(`poivelle.guide.reviewPlan`))+` `,1),o(c(pe),{size:15,"aria-hidden":`true`})])]),e(`p`,Jr,[o(c(Ye),{size:14,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.guide.costNote`)),1)])]),e(`ol`,Yr,[e(`li`,Xr,[e(`span`,null,[o(c(V),{size:15,"aria-hidden":`true`})]),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepPlan`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepPlanBody`,{shots:w.value})),1)]),e(`small`,null,i(a.$t(`poivelle.guide.ready`)),1)]),e(`li`,{class:n({current:g.value<u.value.length,done:u.value.length>0&&g.value===u.value.length})},[f[3]||=e(`span`,null,`2`,-1),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepFrames`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepFramesBody`)),1),e(`progress`,{value:p.value,max:Math.max(u.value.length,1)},null,8,Zr)]),e(`small`,null,i(p.value)+` `+i(a.$t(`poivelle.guide.generated`))+` · `+i(g.value)+` `+i(a.$t(`poivelle.guide.selected`)),1)],2),e(`li`,{class:n({current:g.value===u.value.length&&_.value<d.value.length,done:d.value.length>0&&_.value===d.value.length})},[f[4]||=e(`span`,null,`3`,-1),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepMotion`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepMotionBody`)),1),e(`progress`,{value:m.value,max:Math.max(d.value.length,1)},null,8,Qr)]),e(`small`,null,i(m.value)+` `+i(a.$t(`poivelle.guide.generated`))+` · `+i(_.value)+` `+i(a.$t(`poivelle.guide.selected`)),1)],2),y.value?(E(),l(`li`,{key:0,class:n({current:_.value===d.value.length&&!S.value,done:S.value})},[f[5]||=e(`span`,null,`4`,-1),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepMaster`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepMasterBody`)),1)]),e(`small`,null,i(S.value?a.$t(`poivelle.guide.ready`):a.$t(`poivelle.guide.waiting`)),1)],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-86112731`]]),ei={class:`poivelle-studio`},ti={key:0,class:`error-banner`},ni={key:1,class:`loading-state`},ri={key:2,class:`studio-body`},ii={class:`projection-workspace`},ai={class:`projection-content`},oi={key:3,class:`onboarding`},si={key:0,class:`dry-run-summary`},ci={class:`dry-run-note`},li=J(O({__name:`StudioWorkspace`,emits:[`back-home`],setup(n){let d=Ne(),m=x(()=>d.state.poivelle),h=x(()=>m.value?.workspaces??[]),g=x(()=>m.value?.projects??[]),_=x(()=>m.value?.graph),v=x(()=>m.value?.assets??[]),y=x(()=>m.value?.artifacts??[]),C=x(()=>m.value?.takes??[]),T=x(()=>m.value?.selections??[]),O=x(()=>m.value?.storyboard),k=x(()=>m.value?.revisions??[]),A=x(()=>m.value?.proposals??[]),ee=x(()=>m.value?.runs??[]),j=x(()=>m.value?.activeRun),M=x(()=>m.value?.evaluations??[]),te=x(()=>m.value?.forensicValidations??[]),ne=x(()=>m.value?.costs),re=x(()=>m.value?.timeline),N=x(()=>m.value?.projection??`overview`),P=x(()=>m.value?.selectedNodeId),F=x(()=>_.value?.nodes.find(e=>e.id===P.value)),I=x(()=>g.value.find(e=>e.id===m.value?.currentProjectId)),L=x(()=>[`owner`,`producer`,`director`,`editor`].includes(m.value?.currentMembership?.role??``)),ie=x(()=>m.value?.dryRun),ae=x(()=>m.value?.error),oe=x(()=>[m.value?.status?.bootstrap,m.value?.status?.graph].includes(je.Request)),z=x(()=>new Set([...y.value.filter(e=>e.state===`committed`).flatMap(e=>e.node_id??[]),...C.value.filter(e=>e.state===`ready`).map(e=>e.target_node_id)])),le=x(()=>new Set(T.value.map(e=>e.target_node_id))),ue=x(()=>O.value?O.value.sections.flatMap(e=>e.shots.flatMap(e=>e.image_node_ids)):_.value?.nodes.filter(e=>e.node_type===`image`).map(e=>e.id)??[]),fe=x(()=>O.value?O.value.sections.flatMap(e=>e.shots.flatMap(e=>e.video_node_ids)):_.value?.nodes.filter(e=>e.node_type===`video`).map(e=>e.id)??[]),pe=x(()=>ue.value.length>0&&ue.value.every(e=>z.value.has(e))&&ue.value.some(e=>!le.value.has(e))||fe.value.length>0&&fe.value.every(e=>z.value.has(e))&&fe.value.some(e=>!le.value.has(e))),me=x(()=>{let e=ue.value.find(e=>!z.value.has(e));if(e)return _.value?.nodes.find(t=>t.id===e);if(ue.value.some(e=>!le.value.has(e)))return;let t=fe.value.find(e=>!z.value.has(e));if(t)return _.value?.nodes.find(e=>e.id===t);if(fe.value.some(e=>!le.value.has(e)))return;let n=_.value?.nodes.find(e=>e.node_type===`audio`&&!z.value.has(e.id));if(n)return n}),he=x(()=>me.value?.node_type===`image`?q(`poivelle.guide.generateNextFrame`):me.value?.node_type===`video`?q(`poivelle.guide.generateNextMotion`):me.value?.node_type===`audio`?q(`poivelle.guide.generateScore`):q(`poivelle.guide.continue`)),V=D(!1),ge=D(!1),_e=D(!1),ve=D(!1),ye=D(!1),H=D(!1),U=f({name:``,monthly_limit_microcredits:void 0}),W=f({workspace_id:``,title:``,workflow:`blank`,skill:`film.drama.short@1.0.0`,product_name:``,product_category:`professional action imaging device`,brand_tone:`precise, fearless, cinematic, premium`,aspect_ratio:`16:9`}),be=[{label:q(`poivelle.project.blankWorkflow`),value:`blank`},{label:q(`poivelle.project.commercialTVC`),value:`commercial_tvc`}],G=f({node_type:`scene`,title:``,prompt:``}),K=f({title:``,kind:`image`,source_url:``,content_hash:``}),Se=[`script`,`character`,`location`,`prop`,`storyboard`,`scene`,`shot`,`image`,`video`,`audio`,`subtitle`,`composition`,`output`,`note`],we=[`character`,`location`,`prop`,`image`,`video`,`voice`,`music`,`sfx`,`brand`],Te=()=>d.dispatch(`poivelle/bootstrap`),Ee=e=>d.dispatch(`poivelle/loadProject`,e),Oe=e=>d.dispatch(`poivelle/selectNode`,e),ke=e=>d.dispatch(`poivelle/setProjection`,e),J=()=>{W.workspace_id=m.value?.currentWorkspaceId??h.value[0]?.id??``,_e.value=!0},Z=async()=>{U.name.trim()&&await $(async()=>{await d.dispatch(`poivelle/createWorkspace`,{...U,name:U.name.trim()}),ge.value=!1,J()})},Fe=async()=>{!W.workspace_id||!W.title.trim()||await $(async()=>{W.workflow===`commercial_tvc`?(await d.dispatch(`poivelle/createCommercialTVCProject`,{workspace_id:W.workspace_id,title:W.title.trim(),product_name:W.product_name.trim()||W.title.trim(),product_category:W.product_category.trim(),brand_tone:W.brand_tone.trim(),aspect_ratio:W.aspect_ratio,managed_execution:!1}),ke(`storyboard`)):await d.dispatch(`poivelle/createProject`,{workspace_id:W.workspace_id,title:W.title.trim(),skill:W.skill,domain:`film.drama.short`}),_e.value=!1,W.title=``})},Ie=async()=>{G.title.trim()&&await $(async()=>{await d.dispatch(`poivelle/createNode`,{node_type:G.node_type,title:G.title.trim(),payload:{prompt:G.prompt}}),ve.value=!1,G.title=``,G.prompt=``})},Le=async()=>{!m.value?.currentWorkspaceId||!K.title||!K.source_url||!K.content_hash||await $(async()=>{await d.dispatch(`poivelle/importAsset`,{...K,project_id:m.value.currentProjectId}),ye.value=!1})},Re=e=>d.dispatch(`poivelle/updateSelectedNode`,e),Be=async()=>{await Me.confirm(q(`poivelle.node.deleteConfirm`),``,{type:`warning`}),await d.dispatch(`poivelle/deleteSelectedNode`)},Ve=async()=>{await d.dispatch(`poivelle/commitRevision`,`Studio checkpoint`),Pe.success(q(`poivelle.revision.committed`))},He=async()=>{F.value&&await $(async()=>{await d.dispatch(`poivelle/dryRun`,F.value?.node_type===`composition`?`compose`:`generate`),H.value=!0})},We=async e=>{await Oe(e),await a(),await He()},Ge=async()=>{if(N.value===`overview`){me.value?await We(me.value.id):pe.value&&ke(`storyboard`);return}F.value&&await He()},Ke=async()=>{await $(async()=>{let e=await d.dispatch(`poivelle/confirmDryRun`);H.value=!1,e&&Pe.success(q(`poivelle.run.queued`))})},qe=e=>{ke(`review`),Pe.info(`${q(`poivelle.agent.proposal`)} ${e.slice(-8)}`)},Je=async e=>{await Me.confirm(q(`poivelle.review.rejectConfirm`),``,{type:`warning`}),await $(()=>d.dispatch(`poivelle/rejectProposal`,e))},Ye=async e=>{await Me.confirm(q(`poivelle.run.cancelConfirm`),``,{type:`warning`}),await $(()=>d.dispatch(`poivelle/cancelRun`,e))},Xe=e=>$(()=>d.dispatch(`poivelle/loadRun`,e)),Ze=async e=>{await $(async()=>{await d.dispatch(`poivelle/retryStep`,e),H.value=!0})},Qe=async e=>{if(!re.value)return;let t=re.value.clips.map(e=>({...e})),n=t.filter(t=>t.track_id===e.trackId).sort((e,t)=>e.timeline_start_ms-t.timeline_start_ms),r=n.findIndex(t=>t.id===e.clipId),i=r+e.direction;if(r<0||i<0||i>=n.length)return;[n[r],n[i]]=[n[i],n[r]];let a=0;n.forEach(e=>{let t=typeof e.speed==`number`&&Number.isFinite(e.speed)&&e.speed>0?e.speed:1;e.timeline_start_ms=a,a+=(e.source_out_ms-e.source_in_ms)/t}),await $(()=>d.dispatch(`poivelle/saveTimeline`,{...re.value,clips:t}))},$e=async e=>{await $(async()=>{await d.dispatch(`poivelle/selectTake`,e),Pe.success(q(`poivelle.storyboard.selectionSaved`))})},et=e=>`${(e/1e6).toFixed(2)} credits`,$=async e=>{V.value=!0;try{await e()}catch(e){Pe.error(e?.response?.data?.detail?.message??e?.response?.data?.detail??e?.message??q(`poivelle.error.generic`))}finally{V.value=!1}};return u(Te),(n,a)=>(E(),l(`main`,ei,[o(Vt,{"project-title":I.value?.title,"graph-version":_.value?.graph_version,"can-run":L.value&&(N.value===`overview`?!!me.value||pe.value:!!F.value),"can-edit":L.value,"primary-label":N.value===`overview`?pe.value?n.$t(`poivelle.guide.chooseResults`):he.value:void 0,onOpenProjects:a[0]||=e=>_e.value=!0,onHome:a[1]||=e=>n.$emit(`back-home`),onCommit:Ve,onRun:Ge},null,8,[`project-title`,`graph-version`,`can-run`,`can-edit`,`primary-label`]),ae.value?(E(),l(`div`,ti,[o(c(De),{size:15,"aria-hidden":`true`}),e(`span`,null,i(ae.value),1),e(`button`,{type:`button`,onClick:Te},i(n.$t(`poivelle.action.retry`)),1)])):s(``,!0),oe.value&&!_.value?(E(),l(`div`,ni,[o(c(xe),{size:25,class:`is-spinning`,"aria-hidden":`true`}),e(`span`,null,i(n.$t(`poivelle.status.loading`)),1)])):I.value&&_.value?(E(),l(`div`,ri,[N.value===`overview`?s(``,!0):(E(),b(sn,{key:0,projects:g.value,"current-project-id":I.value.id,assets:v.value,revisions:k.value,"can-edit":L.value,onSelectProject:Ee,onCreateProject:J,onImportAsset:a[2]||=e=>ye.value=!0},null,8,[`projects`,`current-project-id`,`assets`,`revisions`,`can-edit`])),e(`section`,ii,[o(un,{"model-value":N.value,"can-edit":L.value,"onUpdate:modelValue":ke,onCreateNode:a[3]||=e=>ve.value=!0},null,8,[`model-value`,`can-edit`]),e(`div`,ai,[N.value===`overview`?(E(),b($r,{key:0,"project-title":I.value.title,graph:_.value,storyboard:O.value,artifacts:y.value,takes:C.value,selections:T.value,"can-edit":L.value,busy:V.value,onGenerateNode:We,onOpenStoryboard:a[4]||=e=>ke(`storyboard`)},null,8,[`project-title`,`graph`,`storyboard`,`artifacts`,`takes`,`selections`,`can-edit`,`busy`])):N.value===`canvas`?(E(),b(vn,{key:1,graph:_.value,"selected-node-id":P.value,"can-edit":L.value,onSelectNode:Oe,onCreateNode:a[5]||=e=>ve.value=!0},null,8,[`graph`,`selected-node-id`,`can-edit`])):N.value===`storyboard`?(E(),b(Bn,{key:2,graph:_.value,storyboard:O.value,artifacts:y.value,takes:C.value,selections:T.value,"selected-node-id":P.value,"can-edit":L.value,"can-select":L.value&&k.value.length>0,onSelectNode:Oe,onSelectTake:$e},null,8,[`graph`,`storyboard`,`artifacts`,`takes`,`selections`,`selected-node-id`,`can-edit`,`can-select`])):N.value===`timeline`?(E(),b(cr,{key:3,timeline:re.value,graph:_.value,artifacts:y.value,"can-edit":L.value,onMoveClip:Qe},null,8,[`timeline`,`graph`,`artifacts`,`can-edit`])):(E(),b(wr,{key:4,graph:_.value,proposals:A.value,revisions:k.value,runs:ee.value,"active-run":j.value,evaluations:M.value,"forensic-validations":te.value,costs:ne.value,"can-edit":L.value,onRejectProposal:Je,onCancelRun:Ye,onOpenRun:Xe,onRetryStep:Ze},null,8,[`graph`,`proposals`,`revisions`,`runs`,`active-run`,`evaluations`,`forensic-validations`,`costs`,`can-edit`]))]),N.value===`overview`?s(``,!0):(E(),b(Br,{key:0,proposals:A.value,"selected-node-id":P.value,skill:I.value.active_skill,"can-edit":L.value,onRun:He,onOpenProposal:qe},null,8,[`proposals`,`selected-node-id`,`skill`,`can-edit`]))]),L.value&&N.value===`canvas`?(E(),b(Nr,{key:1,node:F.value,onUpdate:Re,onDelete:Be},null,8,[`node`])):s(``,!0)])):(E(),l(`section`,oi,[a[38]||=e(`div`,{class:`onboarding-number`},`01 / STUDIO`,-1),o(c(Ue),{size:34,"stroke-width":`1.25`,"aria-hidden":`true`}),e(`h1`,null,i(n.$t(`poivelle.onboarding.title`)),1),e(`p`,null,i(n.$t(`poivelle.onboarding.body`)),1),h.value.length?L.value?(E(),l(`button`,{key:1,type:`button`,onClick:J},[o(c(Q),{size:15,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.project.create`)),1)])):s(``,!0):(E(),l(`button`,{key:0,type:`button`,onClick:a[6]||=e=>ge.value=!0},[o(c(Ce),{size:15,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.workspace.create`)),1)]))])),o(c(Ae),{modelValue:ge.value,"onUpdate:modelValue":a[11]||=e=>ge.value=e,title:n.$t(`poivelle.workspace.create`),width:`420px`},{footer:S(()=>[o(c(Y),{onClick:a[10]||=e=>ge.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Z},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[9]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.workspace.name`)},{default:S(()=>[o(c(X),{modelValue:U.name,"onUpdate:modelValue":a[7]||=e=>U.name=e,maxlength:`120`,autofocus:``},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.workspace.budget`)},{default:S(()=>[o(c(de),{modelValue:U.monthly_limit_microcredits,"onUpdate:modelValue":a[8]||=e=>U.monthly_limit_microcredits=e,min:0,step:1e6},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:_e.value,"onUpdate:modelValue":a[22]||=e=>_e.value=e,title:n.$t(`poivelle.project.create`),width:`460px`},{footer:S(()=>[o(c(Y),{onClick:a[21]||=e=>_e.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Fe},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[20]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.project.workspace`)},{default:S(()=>[o(c(se),{modelValue:W.workspace_id,"onUpdate:modelValue":a[12]||=e=>W.workspace_id=e,style:{width:`100%`}},{default:S(()=>[(E(!0),l(p,null,w(h.value,e=>(E(),b(c(R),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.title`)},{default:S(()=>[o(c(X),{modelValue:W.title,"onUpdate:modelValue":a[13]||=e=>W.title=e,maxlength:`200`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.workflow`)},{default:S(()=>[o(c(ze),{modelValue:W.workflow,"onUpdate:modelValue":a[14]||=e=>W.workflow=e,options:be,block:``},null,8,[`modelValue`])]),_:1},8,[`label`]),W.workflow===`commercial_tvc`?(E(),l(p,{key:0},[o(c(B),{label:n.$t(`poivelle.project.productName`)},{default:S(()=>[o(c(X),{modelValue:W.product_name,"onUpdate:modelValue":a[15]||=e=>W.product_name=e,maxlength:`120`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.productCategory`)},{default:S(()=>[o(c(X),{modelValue:W.product_category,"onUpdate:modelValue":a[16]||=e=>W.product_category=e,maxlength:`180`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.brandTone`)},{default:S(()=>[o(c(X),{modelValue:W.brand_tone,"onUpdate:modelValue":a[17]||=e=>W.brand_tone=e,type:`textarea`,rows:2,maxlength:`240`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.aspectRatio`)},{default:S(()=>[o(c(ze),{modelValue:W.aspect_ratio,"onUpdate:modelValue":a[18]||=e=>W.aspect_ratio=e,options:[`16:9`,`9:16`,`1:1`]},null,8,[`modelValue`])]),_:1},8,[`label`])],64)):s(``,!0),o(c(B),{label:n.$t(`poivelle.project.skill`)},{default:S(()=>[W.workflow===`blank`?(E(),b(c(se),{key:0,modelValue:W.skill,"onUpdate:modelValue":a[19]||=e=>W.skill=e,style:{width:`100%`}},{default:S(()=>[o(c(R),{label:`Short drama · professional`,value:`film.drama.short@1.0.0`}),o(c(R),{label:`Commercial film · professional`,value:`film.commercial@1.0.0`}),o(c(R),{label:`Music video · professional`,value:`film.music-video@1.0.0`})]),_:1},8,[`modelValue`])):s(``,!0)]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:ve.value,"onUpdate:modelValue":a[28]||=e=>ve.value=e,title:n.$t(`poivelle.node.create`),width:`460px`},{footer:S(()=>[o(c(Y),{onClick:a[27]||=e=>ve.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Ie},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[26]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.field.type`)},{default:S(()=>[o(c(se),{modelValue:G.node_type,"onUpdate:modelValue":a[23]||=e=>G.node_type=e,style:{width:`100%`}},{default:S(()=>[(E(),l(p,null,w(Se,e=>o(c(R),{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.field.title`)},{default:S(()=>[o(c(X),{modelValue:G.title,"onUpdate:modelValue":a[24]||=e=>G.title=e,maxlength:`240`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.field.prompt`)},{default:S(()=>[o(c(X),{modelValue:G.prompt,"onUpdate:modelValue":a[25]||=e=>G.prompt=e,type:`textarea`,rows:5},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:ye.value,"onUpdate:modelValue":a[35]||=e=>ye.value=e,title:n.$t(`poivelle.asset.import`),width:`500px`},{footer:S(()=>[o(c(Y),{onClick:a[34]||=e=>ye.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Le},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[33]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.asset.title`)},{default:S(()=>[o(c(X),{modelValue:K.title,"onUpdate:modelValue":a[29]||=e=>K.title=e,maxlength:`240`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.field.type`)},{default:S(()=>[o(c(se),{modelValue:K.kind,"onUpdate:modelValue":a[30]||=e=>K.kind=e,style:{width:`100%`}},{default:S(()=>[(E(),l(p,null,w(we,e=>o(c(R),{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.asset.url`)},{default:S(()=>[o(c(X),{modelValue:K.source_url,"onUpdate:modelValue":a[31]||=e=>K.source_url=e},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.asset.hash`)},{default:S(()=>[o(c(X),{modelValue:K.content_hash,"onUpdate:modelValue":a[32]||=e=>K.content_hash=e,placeholder:`sha256:...`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:H.value,"onUpdate:modelValue":a[37]||=e=>H.value=e,title:n.$t(`poivelle.run.confirmTitle`),width:`520px`},{footer:S(()=>[o(c(Y),{onClick:a[36]||=e=>H.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Ke},{default:S(()=>[r(i(n.$t(`poivelle.run.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[ie.value?(E(),l(`div`,si,[e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.run.targets`)),1),e(`strong`,null,i(ie.value.dependency_closure.length),1)]),e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.run.maximum`)),1),e(`strong`,null,i(et(ie.value.max_cost_microcredits)),1)]),e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.run.approval`)),1),e(`strong`,null,i(ie.value.required_approval),1)])])):s(``,!0),e(`p`,ci,i(n.$t(`poivelle.run.confirmBody`)),1)]),_:1},8,[`modelValue`,`title`])]))}}),[[`__scopeId`,`data-v-1b367de3`]]),ui=O({__name:`Index`,setup(e){let t=D(`discovery`);return(e,n)=>t.value===`discovery`?(E(),b(jt,{key:0,onOpenStudio:n[0]||=e=>t.value=`studio`})):(E(),b(li,{key:1,onBackHome:n[1]||=e=>t.value=`discovery`}))}});export{ui as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,K as a,L as o,M as s,Mt as c,N as l,Q as u,S as d,St as f,T as p,Vt as m,Wt as h,b as g,ft as _,ht as v,it as y,j as b,k as x,mt as S,qt as C,rt as w,st as T,tt as E,wt as D,z as O}from"./vendor-chart-Dw-P17PN.js";import{a as k,c as A,t as ee}from"./install-Cn-SLM3u.js";import{i as j,n as M,r as te,s as ne}from"./runtime-BTM7t9of.js";import{a as re,c as N,dt as P,ht as F,i as I,it as L,n as ie,r as ae,yt as oe}from"./use-deprecated-r4dlLNqm.js";import{r as se,t as R}from"./select-CxUZ9bYo.js";import{t as z}from"./use-aria-9DurtVZO.js";import{n as B,t as ce}from"./form-BNJ9LdPs.js";import{r as le,t as ue}from"./event-BGnHezxC.js";import{t as de}from"./input-number-CGx3RnZ1.js";import{t as fe}from"./arrow-left-Cu1-YfvN.js";import{t as pe}from"./arrow-right-Bvjv0chL.js";import{t as me}from"./arrow-up-ikpZbyST.js";import{t as he}from"./box-EvIhIKkJ.js";import{t as V}from"./check-BUwm1px-.js";import{t as ge}from"./chevron-down-Zg7v9u4O.js";import{t as _e}from"./chevron-right-Dk9Y0AnB.js";import{t as ve}from"./copy-DqSfvjsp.js";import{t as ye}from"./download-DJjr87Qc.js";import{t as H}from"./file-text-CaWf-naT.js";import{t as U}from"./history-BWSCwBl5.js";import{t as W}from"./house-Vn6qxHYQ.js";import{t as be}from"./image-pCpzHiAT.js";import{t as xe}from"./loader-circle-BjCePz-3.js";import{t as G}from"./mouse-pointer-2-CRgdszlC.js";import{t as K}from"./music-2-B3tGivbe.js";import{t as Se}from"./play-SO65U40b.js";import{t as Ce}from"./plus-ZgoGplj2.js";import{t as we}from"./search-B7qN_lr8.js";import{t as Te}from"./sparkles-DC6DS4cm.js";import{t as Ee}from"./trash-2-C7aFw8-B.js";import{t as De}from"./triangle-alert-DLSUERuJ.js";import{t as Oe}from"./upload-IxtZcQdx.js";import{t as ke}from"./video-BpsLUfM1.js";import{i as q}from"./i18n-BJOjV4Mn.js";import{E as J,Ei as Ae,Fi as Y,Wi as X,ai as je,bi as Me,oi as Ne,xi as Pe,yi as Z}from"./index-DZ_QWcAX.js";import{t as Fe}from"./VideoPlayer-ZvnURH3l.js";var Ie={label:`label`,value:`value`,disabled:`disabled`},Le=M({direction:{type:te(String),default:`horizontal`},options:{type:te(Array),default:()=>[]},modelValue:{type:[String,Number,Boolean],default:void 0},props:{type:te(Object),default:()=>Ie},block:Boolean,size:L,disabled:Boolean,validateEvent:{type:Boolean,default:!0},id:String,name:String,...z([`ariaLabel`])}),Re={[le]:e=>h(e)||ne(e)||j(e),[ue]:e=>h(e)||ne(e)||j(e)},ze=ee(k(O({...O({name:`ElSegmented`}),props:Le,emits:Re,setup(t,{emit:a}){let o=t,u=A(`segmented`),d=N(),h=ae(),g=ie(),{formItem:v}=I(),{inputId:b,isLabeledByFormItem:S}=re(o,{formItemContext:v}),T=D(null),O=F(),k=f({isInit:!1,width:0,height:0,translateX:0,translateY:0,focusVisible:!1}),ee=e=>{let t=M(e);a(le,t),a(ue,t)},j=x(()=>({...Ie,...o.props})),M=e=>m(e)?e[j.value.value]:e,te=e=>m(e)?e[j.value.label]:e,ne=e=>!!(g.value||m(e)&&e[j.value.disabled]),L=e=>o.modelValue===M(e),se=e=>o.options.find(t=>M(t)===e),R=e=>[u.e(`item`),u.is(`selected`,L(e)),u.is(`disabled`,ne(e))],z=()=>{if(!T.value)return;let e=T.value.querySelector(`.is-selected`),t=T.value.querySelector(`.is-selected input`);if(!e||!t){k.width=0,k.height=0,k.translateX=0,k.translateY=0,k.focusVisible=!1;return}let n=e.getBoundingClientRect();k.isInit=!0,o.direction===`vertical`?(k.height=n.height,k.translateY=e.offsetTop):(k.width=n.width,k.translateX=e.offsetLeft);try{k.focusVisible=t.matches(`:focus-visible`)}catch{}},B=x(()=>[u.b(),u.m(h.value),u.is(`block`,o.block)]),ce=x(()=>({width:o.direction===`vertical`?`100%`:`${k.width}px`,height:o.direction===`vertical`?`${k.height}px`:`100%`,transform:o.direction===`vertical`?`translateY(${k.translateY}px)`:`translateX(${k.translateX}px)`,display:k.isInit?`block`:`none`})),de=x(()=>[u.e(`item-selected`),u.is(`disabled`,ne(se(o.modelValue))),u.is(`focus-visible`,k.focusVisible)]),fe=x(()=>o.name||d.value);return oe(T,z),_(O,z),_(()=>o.modelValue,()=>{var e;z(),o.validateEvent&&((e=v?.validate)==null||e.call(v,`change`).catch(e=>P(e)))},{flush:`post`}),(t,a)=>t.options.length?(E(),l(`div`,{key:0,id:c(b),ref_key:`segmentedRef`,ref:T,class:n(c(B)),role:`radiogroup`,"aria-label":c(S)?void 0:t.ariaLabel||`segmented`,"aria-labelledby":c(S)?c(v).labelId:void 0},[e(`div`,{class:n([c(u).e(`group`),c(u).m(o.direction)])},[e(`div`,{style:C(c(ce)),class:n(c(de))},null,6),(E(!0),l(p,null,w(t.options,(a,o)=>(E(),l(`label`,{key:o,class:n(R(a))},[e(`input`,{class:n(c(u).e(`item-input`)),type:`radio`,name:c(fe),disabled:ne(a),checked:L(a),onChange:e=>ee(a)},null,42,[`name`,`disabled`,`checked`,`onChange`]),e(`div`,{class:n(c(u).e(`item-label`))},[y(t.$slots,`default`,{item:a},()=>[r(i(te(a)),1)])],2)],2))),128))],2)],10,[`id`,`aria-label`,`aria-labelledby`])):s(`v-if`,!0)}}),[[`__file`,`segmented.vue`]])),Be=Z(`audio-lines`,[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]),Ve=Z(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),He=Z(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),Q=Z(`clapperboard`,[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]),Ue=Z(`film`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M7 3v18`,key:`bbkbws`}],[`path`,{d:`M3 7.5h4`,key:`zfgn84`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`path`,{d:`M3 16.5h4`,key:`1230mu`}],[`path`,{d:`M17 3v18`,key:`in4fa5`}],[`path`,{d:`M17 7.5h4`,key:`myr1c1`}],[`path`,{d:`M17 16.5h4`,key:`go4c1d`}]]),We=Z(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),Ge=Z(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Ke=Z(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),qe=Z(`lock-keyhole`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{x:`3`,y:`10`,width:`18`,height:`12`,rx:`2`,key:`6s8ecr`}],[`path`,{d:`M7 10V7a5 5 0 0 1 10 0v3`,key:`1pqi11`}]]),Je=Z(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]),Ye=Z(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Xe={class:`discovery-home`},Ze={class:`discovery-header`},Qe={class:`brand`},$e={class:`project-links`},et=[`title`,`aria-label`,`onClick`],$={key:0,class:`discovery-state`,role:`status`},tt={class:`creator`,"aria-labelledby":`poivelle-create-title`},nt={class:`creator-kicker`},rt={id:`poivelle-create-title`},it=[`aria-label`],at=[`disabled`,`onClick`],ot=[`placeholder`,`disabled`],st={class:`composer-footer`},ct=[`disabled`,`title`],lt={class:`prompt-starters`},ut=[`disabled`,`onClick`],dt={class:`works`,"aria-labelledby":`poivelle-works-title`},ft={class:`works-heading`},pt={id:`poivelle-works-title`},mt={class:`search`},ht=[`placeholder`,`aria-label`],gt={class:`category-tabs`},_t=[`onClick`],vt={class:`work-grid`},yt={class:`cover`},bt=[`src`,`alt`,`onError`],xt={key:2,class:`film-badge`},St=[`aria-label`,`onClick`],Ct={class:`duration-badge`},wt={class:`work-copy`},Tt={class:`work-meta`},Et={class:`work-actions`},Dt=[`onClick`],Ot=[`disabled`,`onClick`],kt={key:0,class:`film-dialog-heading`},At={id:`poivelle-film-dialog-title`},jt=J(O({__name:`DiscoveryHome`,emits:[`open-studio`],setup(a,{emit:d}){let f=d,m=Ne(),h=x(()=>m.state.poivelle),_=x(()=>h.value?.projects??[]),y=x(()=>h.value?.discoveryWorks??[]),C=D(``),O=D(``),k=D(!1),A=D(),ee=D(new Set),j=D(`official:pulsecam`),M=D(`all`),te=[{workId:`official:pulsecam`,label:`poivelle.discovery.commercial`,icon:Q},{workId:`official:moonlit-signal`,label:`poivelle.discovery.musicVideo`,icon:K},{workId:`official:northstar-origin`,label:`poivelle.discovery.documentary`,icon:He}],ne=[`poivelle.discovery.starterProduct`,`poivelle.discovery.starterMusic`,`poivelle.discovery.starterDocumentary`],re=[{value:`all`,label:`poivelle.discovery.all`},{value:`commercial`,label:`poivelle.discovery.commercial`},{value:`music_video`,label:`poivelle.discovery.musicVideo`},{value:`narrative`,label:`poivelle.discovery.narrative`},{value:`documentary`,label:`poivelle.discovery.documentary`},{value:`community`,label:`poivelle.discovery.community`}],N=x(()=>{let e=O.value.trim().toLowerCase();return y.value.filter(t=>(M.value===`all`||t.category===M.value)&&(!e||`${t.title} ${t.description} ${t.creator_name} ${(t.tags??[]).join(` `)}`.toLowerCase().includes(e)))}),P=x(()=>h.value?.status?.bootstrap===je.Request),F=x(()=>h.value?.error),I=x({get:()=>!!A.value,set:e=>{e||(A.value=void 0)}}),L=x(()=>{let e=y.value.find(e=>e.id===j.value);return e&&e.copyable!==!1?e:y.value.find(e=>e.copyable!==!1)}),ie=()=>m.dispatch(`poivelle/bootstrap`,{loadProject:!1}),ae=e=>{ee.value=new Set([...ee.value,e])},oe=e=>e.video_url?.startsWith(`https://`)?e.video_url:void 0,se=e=>{if(e&&typeof e==`object`&&`response`in e){let t=e.response?.data?.detail;if(typeof t==`string`)return t;if(typeof t?.message==`string`)return t.message}return e instanceof Error?e.message:q(`poivelle.error.generic`)},R=e=>{let t=Math.floor(e/60),n=e%60;return t?`${t}:${n.toString().padStart(2,`0`)}`:`0:${n.toString().padStart(2,`0`)}`},z=async e=>{await m.dispatch(`poivelle/loadProject`,e),f(`open-studio`)},B=async(e,t)=>{if(!k.value){k.value=!0;try{await m.dispatch(`poivelle/copyDiscoveryWork`,{work_id:e.id,prompt:t,title:t.slice(0,80)}),f(`open-studio`)}catch(e){Pe.error(se(e))}finally{k.value=!1}}},ce=async()=>{let e=L.value;e&&C.value.trim()&&await B(e,C.value.trim())},le=async e=>{await B(e,C.value.trim()||`${q(`poivelle.discovery.copyPrefix`)} ${e.title}`)};return u(ie),(a,u)=>(E(),l(`main`,Xe,[e(`header`,Ze,[e(`div`,Qe,[o(c(Q),{size:19,"aria-hidden":`true`}),u[3]||=r(` POIVELLE`,-1)]),e(`div`,$e,[(E(!0),l(p,null,w(_.value.slice(0,3),e=>(E(),l(`button`,{key:e.id,type:`button`,title:e.title,"aria-label":e.title,onClick:t=>z(e.id)},[r(i(e.title)+` `,1),o(c(_e),{size:13,"aria-hidden":`true`})],8,et))),128))])]),P.value||F.value?(E(),l(`div`,$,[P.value?(E(),b(c(xe),{key:0,size:16,class:`spinning`,"aria-hidden":`true`})):s(``,!0),e(`span`,null,i(P.value?a.$t(`poivelle.status.loading`):F.value),1),F.value?(E(),l(`button`,{key:1,type:`button`,onClick:ie},i(a.$t(`poivelle.action.retry`)),1)):s(``,!0)])):s(``,!0),e(`section`,tt,[e(`p`,nt,i(a.$t(`poivelle.discovery.kicker`)),1),e(`h1`,rt,i(a.$t(`poivelle.discovery.title`)),1),e(`div`,{class:`mode-switch`,"aria-label":a.$t(`poivelle.discovery.skills`)},[(E(),l(p,null,w(te,t=>e(`button`,{key:t.workId,type:`button`,class:n({active:j.value===t.workId}),disabled:P.value,onClick:e=>j.value=t.workId},[(E(),b(T(t.icon),{size:15,"aria-hidden":`true`})),r(` `+i(a.$t(t.label)),1)],10,at)),64))],8,it),e(`form`,{class:`composer`,onSubmit:t(ce,[`prevent`])},[v(e(`textarea`,{"onUpdate:modelValue":u[0]||=e=>C.value=e,placeholder:a.$t(`poivelle.discovery.placeholder`),disabled:P.value,maxlength:`500`,rows:`4`},null,8,ot),[[g,C.value]]),e(`div`,st,[e(`span`,null,i(C.value.length)+`/500`,1),e(`button`,{type:`submit`,disabled:!C.value.trim()||!L.value||P.value||k.value,title:a.$t(`poivelle.discovery.create`)},[k.value?(E(),b(c(xe),{key:0,size:18,class:`spinning`,"aria-hidden":`true`})):(E(),b(c(me),{key:1,size:18,"aria-hidden":`true`}))],8,ct)])],32),e(`div`,lt,[(E(),l(p,null,w(ne,t=>e(`button`,{key:t,type:`button`,disabled:P.value,onClick:e=>C.value=a.$t(t)},i(a.$t(t)),9,ut)),64))])]),e(`section`,dt,[e(`div`,ft,[e(`div`,null,[e(`span`,null,i(a.$t(`poivelle.discovery.galleryKicker`)),1),e(`h2`,pt,i(a.$t(`poivelle.discovery.gallery`)),1)]),e(`label`,mt,[o(c(we),{size:16,"aria-hidden":`true`}),v(e(`input`,{"onUpdate:modelValue":u[1]||=e=>O.value=e,placeholder:a.$t(`poivelle.discovery.search`),"aria-label":a.$t(`poivelle.discovery.search`)},null,8,ht),[[g,O.value]])])]),e(`div`,gt,[(E(),l(p,null,w(re,t=>e(`button`,{key:t.value,type:`button`,class:n({active:M.value===t.value}),onClick:e=>M.value=t.value},i(a.$t(t.label)),11,_t)),64))]),e(`div`,vt,[(E(!0),l(p,null,w(N.value,t=>(E(),l(`article`,{key:t.id,class:`work-card`},[e(`div`,yt,[t.cover_url&&!ee.value.has(t.id)?(E(),l(`img`,{key:0,src:t.cover_url,alt:t.title,onError:e=>ae(t.id)},null,40,bt)):(E(),b(c(Ue),{key:1,size:32,"aria-hidden":`true`})),oe(t)?(E(),l(`span`,xt,i(a.$t(`poivelle.discovery.finishedFilm`)),1)):s(``,!0),oe(t)?(E(),l(`button`,{key:3,type:`button`,class:`cover-play`,"aria-label":`${a.$t(`poivelle.discovery.playFilm`)}: ${t.title}`,onClick:e=>A.value=t},[o(c(Se),{size:18,fill:`currentColor`,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.discovery.playFilm`)),1)],8,St)):s(``,!0),e(`span`,Ct,i(t.duration_seconds?R(t.duration_seconds):a.$t(`poivelle.discovery.community`)),1)]),e(`div`,wt,[e(`div`,Tt,[e(`span`,null,i(t.creator_name),1),e(`strong`,null,i(t.title),1),e(`p`,null,i(t.description),1)]),e(`div`,Et,[oe(t)?(E(),l(`button`,{key:0,type:`button`,class:`play-button`,onClick:e=>A.value=t},[o(c(Se),{size:14,fill:`currentColor`,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.discovery.play`)),1)],8,Dt)):s(``,!0),t.copyable===!1?s(``,!0):(E(),l(`button`,{key:1,type:`button`,class:`copy-button`,disabled:P.value||k.value,onClick:e=>le(t)},[o(c(ve),{size:14,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.discovery.copy`)),1)],8,Ot))])])]))),128))])]),o(c(Ae),{modelValue:I.value,"onUpdate:modelValue":u[2]||=e=>I.value=e,class:`film-preview-dialog`,"aria-labelledby":`poivelle-film-dialog-title`,width:`min(920px, calc(100vw - 32px))`,"align-center":``,"append-to-body":``,"destroy-on-close":``},{header:S(()=>[A.value?(E(),l(`div`,kt,[e(`span`,null,i(a.$t(`poivelle.discovery.finishedFilm`)),1),e(`strong`,At,i(A.value.title),1),e(`small`,null,[r(i(A.value.creator_name)+` `,1),A.value.duration_seconds?(E(),l(p,{key:0},[r(` · `+i(R(A.value.duration_seconds)),1)],64)):s(``,!0)])])):s(``,!0)]),default:S(()=>[A.value&&oe(A.value)?(E(),b(Fe,{key:`${A.value.id}-${A.value.video_url}`,src:oe(A.value)},null,8,[`src`])):s(``,!0)]),_:1},8,[`modelValue`])]))}}),[[`__scopeId`,`data-v-91feafb0`]]),Mt={class:`studio-header`},Nt={class:`identity`},Pt=[`title`],Ft={class:`wordmark`},It={key:0,class:`version`},Lt={class:`actions`},Rt={class:`sync-state`},zt=[`title`],Bt=[`disabled`],Vt=J(O({__name:`StudioHeader`,props:{projectTitle:{},graphVersion:{},canRun:{type:Boolean},canEdit:{type:Boolean},primaryLabel:{}},emits:[`open-projects`,`home`,`commit`,`run`],setup(t){return(n,a)=>(E(),l(`header`,Mt,[e(`div`,Nt,[e(`button`,{class:`home-button`,type:`button`,title:n.$t(`poivelle.discovery.back`),onClick:a[0]||=e=>n.$emit(`home`)},[o(c(fe),{size:16,"aria-hidden":`true`})],8,Pt),e(`span`,Ft,[o(c(Q),{size:15,"aria-hidden":`true`}),a[4]||=r(` POIVELLE`,-1)]),e(`button`,{class:`project-button`,type:`button`,onClick:a[1]||=e=>n.$emit(`open-projects`)},[e(`span`,null,i(t.projectTitle||n.$t(`poivelle.project.noProject`)),1),o(c(ge),{size:14,"aria-hidden":`true`})]),t.graphVersion===void 0?s(``,!0):(E(),l(`span`,It,`Graph v`+i(t.graphVersion),1))]),e(`div`,Lt,[e(`span`,Rt,[a[5]||=e(`span`,{class:`sync-dot`},null,-1),r(` `+i(n.$t(`poivelle.status.synced`)),1)]),t.canEdit?(E(),l(`button`,{key:0,class:`icon-button`,type:`button`,title:n.$t(`poivelle.action.commit`),onClick:a[2]||=e=>n.$emit(`commit`)},[o(c(We),{size:17,"aria-hidden":`true`})],8,zt)):s(``,!0),e(`button`,{class:`primary-button`,type:`button`,disabled:!t.canRun,onClick:a[3]||=e=>n.$emit(`run`)},[o(c(Se),{size:15,fill:`currentColor`,"aria-hidden":`true`}),r(` `+i(t.primaryLabel||n.$t(`poivelle.action.runSkill`)),1)],8,Bt)])]))}}),[[`__scopeId`,`data-v-86d45f69`]]),Ht={class:`production-rail`},Ut={class:`rail-section`},Wt={class:`section-heading`},Gt=[`title`],Kt={class:`project-list`},qt=[`onClick`],Jt={key:0,class:`empty-copy`},Yt={class:`rail-section assets-section`},Xt={class:`section-heading`},Zt=[`title`],Qt={class:`asset-filters`},$t=[`onClick`],en={class:`asset-list`},tn={key:0,class:`empty-copy`},nn={class:`rail-section compact-section`},rn={class:`section-heading static`},an={class:`revision-list`},on={key:0,class:`empty-copy`},sn=J(O({__name:`ProductionRail`,props:{projects:{},currentProjectId:{},assets:{},revisions:{},canEdit:{type:Boolean}},emits:[`select-project`,`create-project`,`import-asset`],setup(t){let r=t,a=[`all`,`character`,`location`,`image`,`video`,`voice`],u=D(`all`),d=x(()=>u.value===`all`?r.assets:r.assets.filter(e=>e.kind===u.value)),f=e=>e===`video`?ke:e===`voice`||e===`music`||e===`sfx`?Be:e===`script`||e===`brand`?H:be;return(r,m)=>(E(),l(`aside`,Ht,[e(`div`,Ut,[e(`div`,Wt,[e(`span`,null,i(r.$t(`poivelle.section.projects`)),1),t.canEdit?(E(),l(`button`,{key:0,type:`button`,title:r.$t(`poivelle.project.create`),onClick:m[0]||=e=>r.$emit(`create-project`)},[o(c(Ce),{size:15,"aria-hidden":`true`})],8,Gt)):s(``,!0)]),e(`div`,Kt,[(E(!0),l(p,null,w(t.projects,a=>(E(),l(`button`,{key:a.id,type:`button`,class:n([`project-row`,{active:a.id===t.currentProjectId}]),onClick:e=>r.$emit(`select-project`,a.id)},[o(c(Q),{size:15,"aria-hidden":`true`}),e(`span`,null,i(a.title),1),e(`small`,null,`v`+i(a.graph_version),1)],10,qt))),128)),t.projects.length?s(``,!0):(E(),l(`p`,Jt,i(r.$t(`poivelle.project.empty`)),1))])]),e(`div`,Yt,[e(`div`,Xt,[e(`span`,null,i(r.$t(`poivelle.section.assets`)),1),t.canEdit?(E(),l(`button`,{key:0,type:`button`,title:r.$t(`poivelle.asset.import`),onClick:m[1]||=e=>r.$emit(`import-asset`)},[o(c(Oe),{size:15,"aria-hidden":`true`})],8,Zt)):s(``,!0)]),e(`div`,Qt,[(E(),l(p,null,w(a,t=>e(`button`,{key:t,type:`button`,class:n({active:u.value===t}),onClick:e=>u.value=t},i(t===`all`?r.$t(`poivelle.asset.all`):t),11,$t)),64))]),e(`div`,en,[(E(!0),l(p,null,w(d.value,t=>(E(),l(`button`,{key:t.id,type:`button`,class:`asset-row`},[(E(),b(T(f(t.kind)),{size:15,"aria-hidden":`true`})),e(`span`,null,[e(`strong`,null,i(t.title),1),e(`small`,null,i(t.kind)+` · `+i(t.scope),1)])]))),128)),d.value.length?s(``,!0):(E(),l(`p`,tn,i(r.$t(`poivelle.asset.empty`)),1))])]),e(`div`,nn,[e(`div`,rn,[e(`span`,null,i(r.$t(`poivelle.section.revisions`)),1),o(c(U),{size:14,"aria-hidden":`true`})]),e(`div`,an,[(E(!0),l(p,null,w(t.revisions.slice(0,4),t=>(E(),l(`div`,{key:t.id,class:`revision-row`},[e(`span`,null,`R`+i(t.revision_number),1),e(`small`,null,`Graph v`+i(t.graph_version),1)]))),128)),t.revisions.length?s(``,!0):(E(),l(`p`,on,i(r.$t(`poivelle.revision.empty`)),1))])])]))}}),[[`__scopeId`,`data-v-71c6054d`]]),cn=[`aria-label`],ln=[`onClick`],un=J(O({__name:`ProjectionTabs`,props:{modelValue:{},canEdit:{type:Boolean}},emits:[`update:modelValue`,`create-node`],setup(t){let a=[{value:`overview`,label:`poivelle.projection.overview`,icon:W},{value:`canvas`,label:`poivelle.projection.advanced`,icon:Ge},{value:`storyboard`,label:`poivelle.projection.storyboard`,icon:Q},{value:`timeline`,label:`poivelle.projection.timeline`,icon:Je},{value:`review`,label:`poivelle.projection.review`,icon:Ke}];return(u,d)=>(E(),l(`nav`,{class:`projection-tabs`,"aria-label":u.$t(`poivelle.projection.label`)},[(E(),l(p,null,w(a,a=>e(`button`,{key:a.value,type:`button`,class:n({active:t.modelValue===a.value}),onClick:e=>u.$emit(`update:modelValue`,a.value)},[(E(),b(T(a.icon),{size:14,"aria-hidden":`true`})),r(` `+i(u.$t(a.label)),1)],10,ln)),64)),d[1]||=e(`span`,{class:`spacer`},null,-1),t.canEdit?(E(),l(`button`,{key:0,class:`add-node`,type:`button`,onClick:d[0]||=e=>u.$emit(`create-node`)},[o(c(Ce),{size:14,"aria-hidden":`true`}),r(` `+i(u.$t(`poivelle.node.create`)),1)])):s(``,!0)],8,cn))}}),[[`__scopeId`,`data-v-393d2d3e`]]),dn={class:`connections`,"aria-hidden":`true`},fn=[`x1`,`y1`,`x2`,`y2`],pn=[`onClick`],mn={class:`node-type`},hn={class:`node-summary`},gn={key:0,class:`lock-mark`},_n={key:0,class:`empty-canvas`},vn=J(O({__name:`GraphCanvas`,props:{graph:{},selectedNodeId:{},canEdit:{type:Boolean}},emits:[`select-node`,`create-node`],setup(a){let u=a,d=x(()=>new Map(u.graph.layouts.map(e=>[e.node_id,e]))),f=e=>{let t=u.graph.nodes.findIndex(t=>t.id===e);return{x:52+t%3*250,y:54+Math.floor(t/3)*170,width:208,height:116}},m=e=>d.value.get(e)??f(e),h=e=>{let t=m(e);return{x:t.x+t.width/2,y:t.y+t.height/2}},g=e=>{let t=m(e);return{left:`${t.x}px`,top:`${t.y}px`,width:`${t.width}px`,minHeight:`${t.height}px`}},_=x(()=>u.graph.edges.filter(e=>u.graph.nodes.some(t=>t.id===e.source.node_id)&&u.graph.nodes.some(t=>t.id===e.target.node_id))),v=e=>{let t=e.payload.text??e.payload.prompt??e.payload.description;return typeof t==`string`&&t?t:`Version ${e.version}`};return(u,d)=>(E(),l(`div`,{class:`graph-canvas`,onClick:d[1]||=t(e=>u.$emit(`select-node`,void 0),[`self`])},[(E(),l(`svg`,dn,[(E(!0),l(p,null,w(_.value,e=>(E(),l(`line`,{key:e.id,x1:h(e.source.node_id).x,y1:h(e.source.node_id).y,x2:h(e.target.node_id).x,y2:h(e.target.node_id).y},null,8,fn))),128))])),(E(!0),l(p,null,w(a.graph.nodes,f=>(E(),l(`button`,{key:f.id,type:`button`,class:n([`graph-node`,`type-${f.node_type}`,{selected:f.id===a.selectedNodeId}]),style:C(g(f.id)),onClick:t(e=>u.$emit(`select-node`,f.id),[`stop`])},[e(`span`,mn,i(f.node_type),1),e(`strong`,null,i(f.title),1),e(`span`,hn,i(v(f)),1),f.locked_paths.length?(E(),l(`span`,gn,[o(c(qe),{size:11}),d[2]||=r(` locked`,-1)])):s(``,!0)],14,pn))),128)),a.graph.nodes.length?s(``,!0):(E(),l(`div`,_n,[o(c(Ge),{size:28,"stroke-width":`1.5`,"aria-hidden":`true`}),e(`h2`,null,i(u.$t(`poivelle.graph.emptyTitle`)),1),e(`p`,null,i(u.$t(`poivelle.graph.emptyBody`)),1),a.canEdit?(E(),l(`button`,{key:0,type:`button`,onClick:d[0]||=e=>u.$emit(`create-node`)},[o(c(Ce),{size:15,"aria-hidden":`true`}),r(` `+i(u.$t(`poivelle.node.create`)),1)])):s(``,!0)]))]))}}),[[`__scopeId`,`data-v-cd67c1fc`]]),yn={class:`media-lane`},bn={key:0,class:`candidate-strip`},xn=[`src`],Sn=[`src`],Cn=[`onClick`],wn={key:1},Tn=[`onClick`],En={key:1,class:`unavailable-takes`},Dn={key:2,class:`empty-candidates`},On=J(O({__name:`StoryboardMediaLane`,props:{title:{},kind:{},nodeIds:{},artifacts:{},takes:{},selections:{},canEdit:{type:Boolean},canSelect:{type:Boolean}},emits:[`select-node`,`select-take`],setup(t){let r=t,a=x(()=>{let e=new Set(r.nodeIds),t=new Map(r.artifacts.map(e=>[e.id,e])),n=r.takes.filter(t=>e.has(t.target_node_id)&&t.state===`ready`).flatMap(e=>[...new Set(e.artifact_ids)].map(e=>t.get(e)).filter(e=>!!e).map(t=>({key:`${e.id}:${t.id}`,take:e,artifact:t,selected:r.selections.some(t=>t.target_node_id===e.target_node_id&&t.take_id===e.id)}))),i=new Set(n.map(e=>e.artifact.id)),a=r.artifacts.filter(t=>e.has(t.node_id??``)&&t.kind===r.kind&&!i.has(t.id)).map(e=>({key:e.id,take:void 0,artifact:e,selected:!1}));return[...n,...a]}),o=x(()=>r.takes.filter(e=>r.nodeIds.includes(e.target_node_id)&&e.state!==`ready`)),c=D([]),u=e=>{c.value=c.value.includes(e)?c.value.filter(t=>t!==e):[...c.value.slice(-1),e]};return(r,d)=>(E(),l(`section`,yn,[e(`header`,null,[e(`span`,null,i(t.title),1),t.nodeIds[0]?(E(),l(`button`,{key:0,type:`button`,onClick:d[0]||=e=>r.$emit(`select-node`,t.nodeIds[0])},i(r.$t(`poivelle.storyboard.openNode`)),1)):s(``,!0)]),a.value.length?(E(),l(`div`,bn,[(E(!0),l(p,null,w(a.value,a=>(E(),l(`article`,{key:a.key,class:n([`candidate`,{selected:a.selected,comparing:c.value.includes(a.key)}])},[t.kind===`image`?(E(),l(`img`,{key:0,src:a.artifact.storage_url,alt:``},null,8,xn)):(E(),l(`video`,{key:1,src:a.artifact.storage_url,controls:``,preload:`metadata`},null,8,Sn)),e(`div`,null,[e(`span`,null,i(a.take?`TAKE`:`ARTIFACT`),1),e(`strong`,null,i(a.artifact.id.slice(-8)),1),t.canEdit&&t.canSelect&&a.take&&!a.selected?(E(),l(`button`,{key:0,type:`button`,onClick:e=>r.$emit(`select-take`,{target_node_id:a.take.target_node_id,take_id:a.take.id})},i(r.$t(`poivelle.storyboard.selectTake`)),9,Cn)):a.selected?(E(),l(`em`,wn,i(r.$t(`poivelle.storyboard.selected`)),1)):s(``,!0),e(`button`,{type:`button`,class:`compare-toggle`,onClick:e=>u(a.key)},i(c.value.includes(a.key)?r.$t(`poivelle.storyboard.comparing`):r.$t(`poivelle.storyboard.compare`)),9,Tn)])],2))),128))])):s(``,!0),o.value.length?(E(),l(`div`,En,[(E(!0),l(p,null,w(o.value,e=>(E(),l(`span`,{key:e.id},i(e.state===`failed`?r.$t(`poivelle.storyboard.failedTake`):r.$t(`poivelle.storyboard.restrictedTake`)),1))),128))])):s(``,!0),!a.value.length&&!o.value.length?(E(),l(`div`,Dn,i(r.$t(`poivelle.storyboard.noCandidates`)),1)):s(``,!0)]))}}),[[`__scopeId`,`data-v-4e385f6a`]]),kn={class:`storyboard-view`},An={key:0,class:`storyboard-heading`},jn={class:`section-label`},Mn=[`onClick`],Nn={class:`shot-number`},Pn={class:`shot-production`},Fn={class:`shot-metadata`},In={class:`prompt-columns`},Ln={class:`candidate-columns`},Rn=[`onClick`],zn={key:0,class:`empty-view`},Bn=J(O({__name:`StoryboardView`,props:{graph:{},storyboard:{},artifacts:{},takes:{},selections:{},selectedNodeId:{},canEdit:{type:Boolean},canSelect:{type:Boolean}},emits:[`select-node`,`select-take`],setup(t){let r=t,a=x(()=>r.storyboard?.sections.reduce((e,t)=>e+t.shots.length,0)??0),u=x(()=>r.graph.nodes.filter(e=>[`storyboard`,`scene`,`shot`,`image`,`video`].includes(e.node_type)));return(r,d)=>(E(),l(`div`,kn,[t.storyboard?(E(),l(`header`,An,[e(`div`,null,[e(`span`,null,i(t.storyboard.schema_ref),1),e(`h2`,null,i(t.storyboard.title),1)]),e(`dl`,null,[e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.product`)),1),e(`dd`,null,i(t.storyboard.product_name),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.duration`)),1),e(`dd`,null,i(t.storyboard.target_duration_seconds)+`s`,1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.shots`)),1),e(`dd`,null,i(a.value),1)])])])):s(``,!0),t.storyboard?(E(!0),l(p,{key:1},w(t.storyboard.sections,a=>(E(),l(`section`,{key:a.id,class:`story-section`},[e(`div`,jn,[e(`span`,null,i(String(a.order).padStart(2,`0`)),1),e(`h3`,null,i(a.title),1)]),(E(!0),l(p,null,w(a.shots,a=>(E(),l(`article`,{key:a.row.id,class:n([`shot-row`,{selected:a.shot_node_id===t.selectedNodeId}])},[e(`button`,{class:`shot-brief`,type:`button`,onClick:e=>r.$emit(`select-node`,a.shot_node_id)},[e(`span`,Nn,`SHOT `+i(String(a.row.shot_number).padStart(2,`0`)),1),e(`strong`,null,i(a.row.plot_description),1),e(`span`,null,i(a.row.duration_seconds)+`s · `+i(a.row.shot_size),1)],8,Mn),e(`div`,Pn,[e(`dl`,Fn,[e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.action`)),1),e(`dd`,null,i(a.row.character_action||`—`),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.emotion`)),1),e(`dd`,null,i(a.row.emotion||`—`),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.lighting`)),1),e(`dd`,null,i(a.row.lighting_and_atmosphere),1)]),e(`div`,null,[e(`dt`,null,i(r.$t(`poivelle.storyboard.audio`)),1),e(`dd`,null,i(a.row.audio_effects),1)])]),e(`div`,In,[e(`div`,null,[e(`span`,null,i(r.$t(`poivelle.storyboard.imagePrompt`)),1),e(`p`,null,i(a.row.image_generation_prompt),1)]),e(`div`,null,[e(`span`,null,i(r.$t(`poivelle.storyboard.motionPrompt`)),1),e(`p`,null,i(a.row.video_motion_prompt),1)])])]),e(`div`,Ln,[o(On,{title:r.$t(`poivelle.storyboard.frames`),kind:`image`,"node-ids":a.image_node_ids,artifacts:t.artifacts,takes:t.takes,selections:t.selections,"can-edit":t.canEdit,"can-select":t.canSelect,onSelectNode:d[0]||=e=>r.$emit(`select-node`,e),onSelectTake:d[1]||=e=>r.$emit(`select-take`,e)},null,8,[`title`,`node-ids`,`artifacts`,`takes`,`selections`,`can-edit`,`can-select`]),o(On,{title:r.$t(`poivelle.storyboard.motion`),kind:`video`,"node-ids":a.video_node_ids,artifacts:t.artifacts,takes:t.takes,selections:t.selections,"can-edit":t.canEdit,"can-select":t.canSelect,onSelectNode:d[2]||=e=>r.$emit(`select-node`,e),onSelectTake:d[3]||=e=>r.$emit(`select-take`,e)},null,8,[`title`,`node-ids`,`artifacts`,`takes`,`selections`,`can-edit`,`can-select`])])],2))),128))]))),128)):(E(),l(p,{key:2},[(E(!0),l(p,null,w(u.value,(a,s)=>(E(),l(`button`,{key:a.id,type:`button`,class:n([`legacy-card`,{selected:a.id===t.selectedNodeId}]),onClick:e=>r.$emit(`select-node`,a.id)},[e(`span`,null,i(String(s+1).padStart(2,`0`)),1),o(c(Q),{size:26,"stroke-width":`1.25`,"aria-hidden":`true`}),e(`strong`,null,i(a.title),1)],10,Rn))),128)),u.value.length?s(``,!0):(E(),l(`div`,zn,[o(c(Q),{size:30,"stroke-width":`1.4`}),e(`h2`,null,i(r.$t(`poivelle.storyboard.emptyTitle`)),1),e(`p`,null,i(r.$t(`poivelle.storyboard.emptyBody`)),1)]))],64))]))}}),[[`__scopeId`,`data-v-ce90da94`]]),Vn={class:`timeline-view`},Hn={key:0,class:`master-output`,"aria-labelledby":`poivelle-master-title`},Un={class:`master-heading`},Wn={class:`master-kicker`},Gn={id:`poivelle-master-title`},Kn=[`href`],qn=[`src`,`aria-label`],Jn={key:0,class:`master-status`,role:`status`},Yn={key:1,class:`master-status is-error`,role:`alert`},Xn={class:`master-metadata`},Zn={class:`timeline-ruler`},Qn={key:1,class:`tracks`},$n={class:`track-label`},er={class:`track-lane`},tr=[`title`],nr=[`aria-label`],rr={key:0,class:`clip-actions`},ir=[`disabled`,`onClick`],ar=[`disabled`,`onClick`],or={key:2,class:`empty-timeline`},sr=120/5e3,cr=J(O({__name:`TimelineView`,props:{timeline:{},graph:{},artifacts:{},canEdit:{type:Boolean}},emits:[`move-clip`],setup(t){let n=t,a=x(()=>{let e=new Set(n.graph.nodes.filter(e=>e.node_type===`composition`).map(e=>e.id));return[...n.artifacts??[]].filter(t=>t.kind===`video`&&t.state===`committed`&&t.restriction_watermark===0&&!!t.node_id&&e.has(t.node_id)&&t.metadata?.operation===`compose.timeline@1`).sort((e,t)=>t.created_at.localeCompare(e.created_at))[0]}),u=D(!0),d=D(!1);_(()=>a.value?.id,()=>{u.value=!0,d.value=!1});let f=()=>{u.value=!0,d.value=!1},m=()=>{u.value=!1,d.value=!0},h=e=>{let t=a.value?.metadata?.[e];return typeof t==`number`&&Number.isFinite(t)?t:void 0},g=x(()=>{let e=h(`duration_ms`);return e===void 0?`—`:`${(e/1e3).toFixed(1)}s`}),v=x(()=>{let e=h(`width`),t=h(`height`);return e&&t?`${e} × ${t}`:`—`}),y=x(()=>{let e=h(`width`),t=h(`height`);return e&&t?{aspectRatio:`${e} / ${t}`}:void 0}),b=e=>n.timeline?.clips.filter(t=>t.track_id===e)??[],S=e=>e.artifact_id.slice(-6),T=e=>({left:`${e.timeline_start_ms*sr}px`,width:`${Math.max(48,(e.source_out_ms-e.source_in_ms)/(e.speed??1)*sr)}px`});return(n,_)=>(E(),l(`div`,Vn,[a.value?(E(),l(`section`,Hn,[e(`div`,Un,[e(`div`,null,[e(`span`,Wn,i(n.$t(`poivelle.timeline.deliverable`)),1),e(`h2`,Gn,i(n.$t(`poivelle.timeline.masterTitle`)),1)]),e(`a`,{class:`master-download`,href:a.value.storage_url,target:`_blank`,rel:`noopener noreferrer`,download:``},[o(c(ye),{size:15,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.timeline.download`)),1)],8,Kn)]),e(`div`,{class:`master-media`,style:C(y.value)},[e(`video`,{class:`master-player`,src:a.value.storage_url,"aria-label":n.$t(`poivelle.timeline.playerLabel`),controls:``,playsinline:``,preload:`metadata`,onLoadstart:f,onLoadedmetadata:_[0]||=e=>u.value=!1,onCanplay:_[1]||=e=>u.value=!1,onError:m},null,40,qn),u.value&&!d.value?(E(),l(`div`,Jn,[o(c(xe),{size:24,class:`is-spinning`,"aria-hidden":`true`}),e(`span`,null,i(n.$t(`poivelle.timeline.loading`)),1)])):s(``,!0),d.value?(E(),l(`div`,Yn,[o(c(De),{size:24,"aria-hidden":`true`}),e(`span`,null,i(n.$t(`poivelle.timeline.loadError`)),1)])):s(``,!0)],4),e(`dl`,Xn,[e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.duration`)),1),e(`dd`,null,i(g.value),1)]),e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.frame`)),1),e(`dd`,null,i(v.value),1)]),e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.videoClips`)),1),e(`dd`,null,i(h(`video_clips`)??`—`),1)]),e(`div`,null,[e(`dt`,null,i(n.$t(`poivelle.timeline.audioClips`)),1),e(`dd`,null,i(h(`audio_clips`)??`—`),1)])])])):s(``,!0),e(`div`,Zn,[(E(),l(p,null,w(10,t=>e(`span`,{key:t},i((t-1)*5)+`s`,1)),64))]),t.timeline?.tracks.length?(E(),l(`div`,Qn,[(E(!0),l(p,null,w(t.timeline.tracks,r=>(E(),l(`div`,{key:r.id,class:`track-row`},[e(`div`,$n,i(r.title||r.kind||r.id),1),e(`div`,er,[(E(!0),l(p,null,w(b(r.id),(a,o)=>(E(),l(`div`,{key:a.id,class:`timeline-clip`,style:C(T(a)),title:a.artifact_id},[e(`button`,{type:`button`,"aria-label":a.artifact_id},i(S(a)),9,nr),t.canEdit&&r.kind===`video`?(E(),l(`span`,rr,[e(`button`,{type:`button`,disabled:o===0,onClick:e=>n.$emit(`move-clip`,{trackId:r.id,clipId:a.id,direction:-1})},` ‹ `,8,ir),e(`button`,{type:`button`,disabled:o===b(r.id).length-1,onClick:e=>n.$emit(`move-clip`,{trackId:r.id,clipId:a.id,direction:1})},` › `,8,ar)])):s(``,!0)],12,tr))),128))])]))),128))])):(E(),l(`div`,or,[o(c(Ue),{size:30,"stroke-width":`1.4`}),e(`h2`,null,i(n.$t(`poivelle.timeline.emptyTitle`)),1),e(`p`,null,i(n.$t(`poivelle.timeline.emptyBody`)),1)]))]))}}),[[`__scopeId`,`data-v-37eb37c8`]]),lr={class:`review-view`},ur={class:`review-summary`},dr={class:`eyebrow`},fr={class:`summary-metrics`},pr={class:`review-columns`},mr={key:0,class:`item-actions`},hr=[`onClick`],gr={key:0,class:`empty-copy`},_r=[`onClick`],vr=[`onClick`],yr={key:0,class:`empty-copy`},br={key:1,class:`run-detail`},xr={key:0},Sr=[`onClick`],Cr={key:2,class:`forensic-failures`,role:`alert`},wr=J(O({__name:`ReviewView`,props:{graph:{},proposals:{},revisions:{},runs:{},activeRun:{},evaluations:{},forensicValidations:{},costs:{},canEdit:{type:Boolean}},emits:[`reject-proposal`,`cancel-run`,`open-run`,`retry-step`],setup(a){let o=a,c=x(()=>o.proposals.filter(e=>e.state===`awaiting_approval`)),u=e=>![`release_pending`,`succeeded`,`failed`,`cancelled`].includes(e.state),d=x(()=>o.evaluations.filter(e=>e.verdict===`pass`).length),f=x(()=>o.forensicValidations[0]),m=x(()=>f.value?.result.checks.filter(e=>e.verdict===`fail`)??[]),h=e=>[...o.activeRun?.attempts??[]].filter(t=>t.step_run_id===e).sort((e,t)=>t.created_at.localeCompare(e.created_at))[0],g=e=>(e/1e6).toFixed(2);return(o,_)=>(E(),l(`div`,lr,[e(`section`,ur,[e(`div`,null,[e(`span`,dr,i(o.$t(`poivelle.review.heading`)),1),e(`h2`,null,i(a.revisions.length?`Revision ${a.revisions[0].revision_number}`:o.$t(`poivelle.review.noRevision`)),1)]),e(`div`,fr,[e(`span`,null,[e(`strong`,null,i(a.graph.nodes.length),1),r(i(o.$t(`poivelle.review.nodes`)),1)]),e(`span`,null,[e(`strong`,null,i(a.proposals.length),1),r(i(o.$t(`poivelle.review.proposals`)),1)]),e(`span`,null,[e(`strong`,null,i(a.runs.length),1),r(i(o.$t(`poivelle.review.runs`)),1)]),e(`span`,null,[e(`strong`,null,i(g(a.costs?.totals_microcredits.final??0)),1),r(i(o.$t(`poivelle.review.finalCost`)),1)]),e(`span`,null,[e(`strong`,null,i(d.value)+`/`+i(a.evaluations.length),1),r(i(o.$t(`poivelle.review.qualityChecks`)),1)]),e(`span`,null,[e(`strong`,{class:n(f.value?.result.verdict===`fail`?`metric-fail`:``)},i(f.value?.result.verdict??`—`),3),r(i(o.$t(`poivelle.review.forensics`)),1)])])]),e(`section`,pr,[e(`div`,null,[e(`h3`,null,i(o.$t(`poivelle.review.pendingProposals`)),1),(E(!0),l(p,null,w(c.value,t=>(E(),l(`article`,{key:t.id,class:`review-item`},[e(`span`,{class:n([`risk`,`risk-${t.risk_class}`])},i(t.risk_class),3),e(`strong`,null,i(t.intent),1),e(`p`,null,i(t.rationale),1),a.canEdit?(E(),l(`div`,mr,[e(`span`,null,i(o.$t(`poivelle.review.approvalTokenRequired`)),1),e(`button`,{type:`button`,onClick:e=>o.$emit(`reject-proposal`,t.id)},i(o.$t(`poivelle.review.reject`)),9,hr)])):s(``,!0)]))),128)),c.value.length?s(``,!0):(E(),l(`p`,gr,i(o.$t(`poivelle.review.noProposals`)),1))]),e(`div`,null,[e(`h3`,null,i(o.$t(`poivelle.review.execution`)),1),(E(!0),l(p,null,w(a.runs,r=>(E(),l(`article`,{key:r.id,class:n([`run-item`,{active:a.activeRun?.run.id===r.id}]),onClick:e=>o.$emit(`open-run`,r.id)},[e(`span`,{class:n([`run-state`,`state-${r.state}`])},null,2),e(`div`,null,[e(`strong`,null,i(r.state),1),e(`small`,null,i(r.id),1)]),a.canEdit&&u(r)?(E(),l(`button`,{key:0,type:`button`,class:`cancel-run`,onClick:t(e=>o.$emit(`cancel-run`,r.id),[`stop`])},i(o.$t(`poivelle.run.cancel`)),9,vr)):s(``,!0)],10,_r))),128)),a.runs.length?s(``,!0):(E(),l(`p`,yr,i(o.$t(`poivelle.review.noRuns`)),1)),a.activeRun?(E(),l(`section`,br,[e(`header`,null,[e(`strong`,null,i(o.$t(`poivelle.review.runDetail`)),1),e(`span`,null,i(a.activeRun.attempts.length)+` `+i(o.$t(`poivelle.review.attempts`)),1)]),(E(!0),l(p,null,w(a.activeRun.steps,r=>(E(),l(`article`,{key:r.id,class:`step-item`},[e(`span`,{class:n([`run-state`,`state-${r.state}`])},null,2),e(`div`,null,[e(`strong`,null,i(r.operation),1),e(`small`,null,i(r.state)+` · `+i(r.node_id),1),h(r.id)?.error?(E(),l(`p`,xr,i(h(r.id)?.error?.code??`provider_error`)+`: `+i(h(r.id)?.error?.message??o.$t(`poivelle.error.generic`)),1)):s(``,!0)]),a.canEdit&&[`failed`,`manual_recovery`].includes(r.state)?(E(),l(`button`,{key:0,type:`button`,class:`retry-step`,onClick:t(e=>o.$emit(`retry-step`,r),[`stop`])},i(o.$t(`poivelle.review.retryStep`)),9,Sr)):s(``,!0)]))),128))])):s(``,!0),m.value.length?(E(),l(`section`,Cr,[e(`strong`,null,i(o.$t(`poivelle.review.forensics`)),1),(E(!0),l(p,null,w(m.value,e=>(E(),l(`p`,{key:e.code},i(e.code)+` · `+i(String(e.actual??`—`))+` / `+i(String(e.expected??`—`)),1))),128))])):s(``,!0)])])]))}}),[[`__scopeId`,`data-v-e66361d5`]]),Tr={class:`inspector-panel`},Er={class:`inspector-heading`},Dr={class:`field`},Or={class:`field`},kr=[`value`],Ar={class:`field grow`},jr={class:`node-meta`},Mr={key:1,class:`empty-inspector`},Nr=J(O({__name:`InspectorPanel`,props:{node:{}},emits:[`update`,`delete`],setup(t,{emit:n}){let a=t,s=n,u=D(``),f=D(``);_(()=>a.node,e=>{u.value=e?.title??``;let t=e?.payload.prompt??e?.payload.text??``;f.value=typeof t==`string`?t:``},{immediate:!0});let m=x(()=>a.node?a.node.node_type===`video`?ke:a.node.node_type===`audio`?Be:[`shot`,`scene`,`storyboard`].includes(a.node.node_type)?Q:[`image`,`character`,`location`].includes(a.node.node_type)?be:a.node.node_type===`script`||a.node.node_type===`text`?H:he:G),h=()=>{let e=u.value.trim();a.node&&e&&e!==a.node.title&&s(`update`,{path:`/title`,value:e})},y=()=>{if(!a.node)return;let e=a.node.payload.prompt===void 0?`text`:`prompt`;f.value!==a.node.payload[e]&&s(`update`,{path:`/payload/${e}`,value:f.value})};return(n,a)=>(E(),l(`aside`,Tr,[e(`div`,Er,[e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.section.inspector`)),1),e(`strong`,null,i(t.node?.title||n.$t(`poivelle.inspector.noSelection`)),1)]),(E(),b(T(m.value),{size:18,"aria-hidden":`true`}))]),t.node?(E(),l(p,{key:0},[e(`label`,Dr,[e(`span`,null,i(n.$t(`poivelle.field.title`)),1),v(e(`input`,{"onUpdate:modelValue":a[0]||=e=>u.value=e,type:`text`,onBlur:h,onKeydown:d(h,[`enter`])},null,544),[[g,u.value]])]),e(`label`,Or,[e(`span`,null,i(n.$t(`poivelle.field.type`)),1),e(`input`,{value:t.node.node_type,type:`text`,disabled:``},null,8,kr)]),e(`label`,Ar,[e(`span`,null,i(n.$t(`poivelle.field.prompt`)),1),v(e(`textarea`,{"onUpdate:modelValue":a[1]||=e=>f.value=e,rows:`8`,onBlur:y},null,544),[[g,f.value]])]),e(`div`,jr,[a[3]||=e(`span`,null,`NODE`,-1),e(`code`,null,i(t.node.id),1),a[4]||=e(`span`,null,`VERSION`,-1),e(`code`,null,i(t.node.version),1)]),e(`button`,{class:`danger-button`,type:`button`,onClick:a[2]||=e=>n.$emit(`delete`)},[o(c(Ee),{size:14,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.node.delete`)),1)])],64)):(E(),l(`div`,Mr,[o(c(G),{size:24,"stroke-width":`1.4`}),e(`p`,null,i(n.$t(`poivelle.inspector.empty`)),1)]))]))}}),[[`__scopeId`,`data-v-7a6ae318`]]),Pr={class:`agent-dock`},Fr={class:`agent-identity`},Ir={class:`proposal-strip`},Lr=[`onClick`],Rr={key:0},zr=[`disabled`],Br=J(O({__name:`AgentDock`,props:{proposals:{},selectedNodeId:{},skill:{},canEdit:{type:Boolean}},emits:[`run`,`open-proposal`],setup(t){let a=t,u=x(()=>a.proposals.filter(e=>e.state===`awaiting_approval`));return(a,d)=>(E(),l(`section`,Pr,[e(`div`,Fr,[o(c(Ve),{size:16,"aria-hidden":`true`}),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.agent.title`)),1),e(`span`,null,i(t.skill),1)])]),e(`div`,Ir,[(E(!0),l(p,null,w(u.value,t=>(E(),l(`button`,{key:t.id,type:`button`,onClick:e=>a.$emit(`open-proposal`,t.id)},[e(`span`,{class:n([`risk-dot`,`risk-${t.risk_class}`])},null,2),e(`strong`,null,i(t.intent),1),e(`small`,null,i(t.state),1)],8,Lr))),128)),u.value.length?s(``,!0):(E(),l(`p`,Rr,i(a.$t(`poivelle.agent.noProposals`)),1))]),t.canEdit?(E(),l(`button`,{key:0,class:`agent-button`,type:`button`,disabled:!t.selectedNodeId,onClick:d[0]||=e=>a.$emit(`run`)},[o(c(Te),{size:15,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.agent.plan`)),1)],8,zr)):s(``,!0)]))}}),[[`__scopeId`,`data-v-81fac9f8`]]),Vr={class:`project-guide`,"aria-labelledby":`project-guide-title`},Hr={class:`guide-copy`},Ur={id:`project-guide-title`},Wr={class:`guide-body`},Gr={class:`project-facts`},Kr={class:`guide-actions`},qr=[`disabled`],Jr={class:`cost-note`},Yr={class:`production-steps`},Xr={class:`done`},Zr=[`value`,`max`],Qr=[`value`,`max`],$r=J(O({__name:`ProjectGuide`,props:{projectTitle:{},graph:{},storyboard:{},artifacts:{},takes:{},selections:{},canEdit:{type:Boolean},busy:{type:Boolean}},emits:[`generate-node`,`open-storyboard`],setup(t){let a=t,u=x(()=>a.storyboard?a.storyboard.sections.flatMap(e=>e.shots.flatMap(e=>e.image_node_ids)):a.graph.nodes.filter(e=>e.node_type===`image`).map(e=>e.id)),d=x(()=>a.storyboard?a.storyboard.sections.flatMap(e=>e.shots.flatMap(e=>e.video_node_ids)):a.graph.nodes.filter(e=>e.node_type===`video`).map(e=>e.id)),f=x(()=>new Set([...a.artifacts.filter(e=>e.state===`committed`).flatMap(e=>e.node_id??[]),...a.takes.filter(e=>e.state===`ready`).map(e=>e.target_node_id)])),p=x(()=>u.value.filter(e=>f.value.has(e)).length),m=x(()=>d.value.filter(e=>f.value.has(e)).length),h=x(()=>new Set(a.selections.map(e=>e.target_node_id))),g=x(()=>u.value.filter(e=>h.value.has(e)).length),_=x(()=>d.value.filter(e=>h.value.has(e)).length),v=x(()=>p.value===u.value.length&&g.value<u.value.length||m.value===d.value.length&&_.value<d.value.length),y=x(()=>a.graph.nodes.some(e=>e.node_type===`output`)),S=x(()=>{let e=new Set(a.graph.nodes.filter(e=>e.node_type===`output`).map(e=>e.id));return a.artifacts.some(t=>t.state===`committed`&&!!t.node_id&&e.has(t.node_id))}),C=x(()=>{let e=u.value.find(e=>!f.value.has(e));if(e)return a.graph.nodes.find(t=>t.id===e);if(g.value<u.value.length)return;let t=d.value.find(e=>!f.value.has(e));if(t)return a.graph.nodes.find(e=>e.id===t);if(!(_.value<d.value.length))return a.graph.nodes.find(e=>e.node_type===`audio`&&!f.value.has(e.id))}),w=x(()=>(a.storyboard?.sections.reduce((e,t)=>e+t.shots.length,0)??a.graph.nodes.filter(e=>e.node_type===`shot`).length)||d.value.length),T=x(()=>{let e=a.graph.nodes.find(e=>e.node_type===`script`),t=Number(e?.payload?.target_duration_seconds);return a.storyboard?.target_duration_seconds??(Number.isFinite(t)?t:40)}),D=x(()=>{let e=a.graph.nodes.find(e=>e.node_type===`script`);return String(e?.payload?.aspect_ratio??`16:9`)}),O=x(()=>C.value?.node_type===`image`?q(`poivelle.guide.generateFrame`,{current:p.value+1,total:u.value.length}):C.value?.node_type===`video`?q(`poivelle.guide.generateMotion`,{current:m.value+1,total:d.value.length}):q(`poivelle.guide.generateScore`));return(a,f)=>(E(),l(`section`,Vr,[e(`div`,Hr,[e(`p`,null,i(a.$t(`poivelle.guide.kicker`)),1),e(`h1`,Ur,i(a.$t(`poivelle.guide.title`,{title:t.projectTitle})),1),e(`p`,Wr,i(a.$t(`poivelle.guide.body`)),1),e(`dl`,Gr,[e(`div`,null,[e(`dt`,null,i(a.$t(`poivelle.guide.duration`)),1),e(`dd`,null,i(T.value)+`s`,1)]),e(`div`,null,[e(`dt`,null,i(a.$t(`poivelle.guide.shots`)),1),e(`dd`,null,i(w.value),1)]),e(`div`,null,[e(`dt`,null,i(a.$t(`poivelle.guide.format`)),1),e(`dd`,null,i(D.value),1)])]),e(`div`,Kr,[C.value?(E(),l(`button`,{key:0,type:`button`,class:`primary-action`,disabled:!t.canEdit||t.busy,onClick:f[0]||=e=>a.$emit(`generate-node`,C.value.id)},[t.busy?(E(),b(c(xe),{key:0,size:17,class:`spinning`,"aria-hidden":`true`})):(E(),b(c(Te),{key:1,size:17,"aria-hidden":`true`})),r(` `+i(O.value),1)],8,qr)):(E(),l(`button`,{key:1,type:`button`,class:`primary-action`,onClick:f[1]||=e=>a.$emit(`open-storyboard`)},[o(c(Q),{size:17,"aria-hidden":`true`}),r(` `+i(v.value?a.$t(`poivelle.guide.chooseResults`):a.$t(`poivelle.guide.reviewResults`)),1)])),e(`button`,{type:`button`,class:`secondary-action`,onClick:f[2]||=e=>a.$emit(`open-storyboard`)},[r(i(a.$t(`poivelle.guide.reviewPlan`))+` `,1),o(c(pe),{size:15,"aria-hidden":`true`})])]),e(`p`,Jr,[o(c(Ye),{size:14,"aria-hidden":`true`}),r(` `+i(a.$t(`poivelle.guide.costNote`)),1)])]),e(`ol`,Yr,[e(`li`,Xr,[e(`span`,null,[o(c(V),{size:15,"aria-hidden":`true`})]),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepPlan`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepPlanBody`,{shots:w.value})),1)]),e(`small`,null,i(a.$t(`poivelle.guide.ready`)),1)]),e(`li`,{class:n({current:g.value<u.value.length,done:u.value.length>0&&g.value===u.value.length})},[f[3]||=e(`span`,null,`2`,-1),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepFrames`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepFramesBody`)),1),e(`progress`,{value:p.value,max:Math.max(u.value.length,1)},null,8,Zr)]),e(`small`,null,i(p.value)+` `+i(a.$t(`poivelle.guide.generated`))+` · `+i(g.value)+` `+i(a.$t(`poivelle.guide.selected`)),1)],2),e(`li`,{class:n({current:g.value===u.value.length&&_.value<d.value.length,done:d.value.length>0&&_.value===d.value.length})},[f[4]||=e(`span`,null,`3`,-1),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepMotion`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepMotionBody`)),1),e(`progress`,{value:m.value,max:Math.max(d.value.length,1)},null,8,Qr)]),e(`small`,null,i(m.value)+` `+i(a.$t(`poivelle.guide.generated`))+` · `+i(_.value)+` `+i(a.$t(`poivelle.guide.selected`)),1)],2),y.value?(E(),l(`li`,{key:0,class:n({current:_.value===d.value.length&&!S.value,done:S.value})},[f[5]||=e(`span`,null,`4`,-1),e(`div`,null,[e(`strong`,null,i(a.$t(`poivelle.guide.stepMaster`)),1),e(`p`,null,i(a.$t(`poivelle.guide.stepMasterBody`)),1)]),e(`small`,null,i(S.value?a.$t(`poivelle.guide.ready`):a.$t(`poivelle.guide.waiting`)),1)],2)):s(``,!0)])]))}}),[[`__scopeId`,`data-v-86112731`]]),ei={class:`poivelle-studio`},ti={key:0,class:`error-banner`},ni={key:1,class:`loading-state`},ri={key:2,class:`studio-body`},ii={class:`projection-workspace`},ai={class:`projection-content`},oi={key:3,class:`onboarding`},si={key:0,class:`dry-run-summary`},ci={class:`dry-run-note`},li=J(O({__name:`StudioWorkspace`,emits:[`back-home`],setup(n){let d=Ne(),m=x(()=>d.state.poivelle),h=x(()=>m.value?.workspaces??[]),g=x(()=>m.value?.projects??[]),_=x(()=>m.value?.graph),v=x(()=>m.value?.assets??[]),y=x(()=>m.value?.artifacts??[]),C=x(()=>m.value?.takes??[]),T=x(()=>m.value?.selections??[]),O=x(()=>m.value?.storyboard),k=x(()=>m.value?.revisions??[]),A=x(()=>m.value?.proposals??[]),ee=x(()=>m.value?.runs??[]),j=x(()=>m.value?.activeRun),M=x(()=>m.value?.evaluations??[]),te=x(()=>m.value?.forensicValidations??[]),ne=x(()=>m.value?.costs),re=x(()=>m.value?.timeline),N=x(()=>m.value?.projection??`overview`),P=x(()=>m.value?.selectedNodeId),F=x(()=>_.value?.nodes.find(e=>e.id===P.value)),I=x(()=>g.value.find(e=>e.id===m.value?.currentProjectId)),L=x(()=>[`owner`,`producer`,`director`,`editor`].includes(m.value?.currentMembership?.role??``)),ie=x(()=>m.value?.dryRun),ae=x(()=>m.value?.error),oe=x(()=>[m.value?.status?.bootstrap,m.value?.status?.graph].includes(je.Request)),z=x(()=>new Set([...y.value.filter(e=>e.state===`committed`).flatMap(e=>e.node_id??[]),...C.value.filter(e=>e.state===`ready`).map(e=>e.target_node_id)])),le=x(()=>new Set(T.value.map(e=>e.target_node_id))),ue=x(()=>O.value?O.value.sections.flatMap(e=>e.shots.flatMap(e=>e.image_node_ids)):_.value?.nodes.filter(e=>e.node_type===`image`).map(e=>e.id)??[]),fe=x(()=>O.value?O.value.sections.flatMap(e=>e.shots.flatMap(e=>e.video_node_ids)):_.value?.nodes.filter(e=>e.node_type===`video`).map(e=>e.id)??[]),pe=x(()=>ue.value.length>0&&ue.value.every(e=>z.value.has(e))&&ue.value.some(e=>!le.value.has(e))||fe.value.length>0&&fe.value.every(e=>z.value.has(e))&&fe.value.some(e=>!le.value.has(e))),me=x(()=>{let e=ue.value.find(e=>!z.value.has(e));if(e)return _.value?.nodes.find(t=>t.id===e);if(ue.value.some(e=>!le.value.has(e)))return;let t=fe.value.find(e=>!z.value.has(e));if(t)return _.value?.nodes.find(e=>e.id===t);if(fe.value.some(e=>!le.value.has(e)))return;let n=_.value?.nodes.find(e=>e.node_type===`audio`&&!z.value.has(e.id));if(n)return n}),he=x(()=>me.value?.node_type===`image`?q(`poivelle.guide.generateNextFrame`):me.value?.node_type===`video`?q(`poivelle.guide.generateNextMotion`):me.value?.node_type===`audio`?q(`poivelle.guide.generateScore`):q(`poivelle.guide.continue`)),V=D(!1),ge=D(!1),_e=D(!1),ve=D(!1),ye=D(!1),H=D(!1),U=f({name:``,monthly_limit_microcredits:void 0}),W=f({workspace_id:``,title:``,workflow:`blank`,skill:`film.drama.short@1.0.0`,product_name:``,product_category:`professional action imaging device`,brand_tone:`precise, fearless, cinematic, premium`,aspect_ratio:`16:9`}),be=[{label:q(`poivelle.project.blankWorkflow`),value:`blank`},{label:q(`poivelle.project.commercialTVC`),value:`commercial_tvc`}],G=f({node_type:`scene`,title:``,prompt:``}),K=f({title:``,kind:`image`,source_url:``,content_hash:``}),Se=[`script`,`character`,`location`,`prop`,`storyboard`,`scene`,`shot`,`image`,`video`,`audio`,`subtitle`,`composition`,`output`,`note`],we=[`character`,`location`,`prop`,`image`,`video`,`voice`,`music`,`sfx`,`brand`],Te=()=>d.dispatch(`poivelle/bootstrap`),Ee=e=>d.dispatch(`poivelle/loadProject`,e),Oe=e=>d.dispatch(`poivelle/selectNode`,e),ke=e=>d.dispatch(`poivelle/setProjection`,e),J=()=>{W.workspace_id=m.value?.currentWorkspaceId??h.value[0]?.id??``,_e.value=!0},Z=async()=>{U.name.trim()&&await $(async()=>{await d.dispatch(`poivelle/createWorkspace`,{...U,name:U.name.trim()}),ge.value=!1,J()})},Fe=async()=>{!W.workspace_id||!W.title.trim()||await $(async()=>{W.workflow===`commercial_tvc`?(await d.dispatch(`poivelle/createCommercialTVCProject`,{workspace_id:W.workspace_id,title:W.title.trim(),product_name:W.product_name.trim()||W.title.trim(),product_category:W.product_category.trim(),brand_tone:W.brand_tone.trim(),aspect_ratio:W.aspect_ratio,managed_execution:!1}),ke(`storyboard`)):await d.dispatch(`poivelle/createProject`,{workspace_id:W.workspace_id,title:W.title.trim(),skill:W.skill,domain:`film.drama.short`}),_e.value=!1,W.title=``})},Ie=async()=>{G.title.trim()&&await $(async()=>{await d.dispatch(`poivelle/createNode`,{node_type:G.node_type,title:G.title.trim(),payload:{prompt:G.prompt}}),ve.value=!1,G.title=``,G.prompt=``})},Le=async()=>{!m.value?.currentWorkspaceId||!K.title||!K.source_url||!K.content_hash||await $(async()=>{await d.dispatch(`poivelle/importAsset`,{...K,project_id:m.value.currentProjectId}),ye.value=!1})},Re=e=>d.dispatch(`poivelle/updateSelectedNode`,e),Be=async()=>{await Me.confirm(q(`poivelle.node.deleteConfirm`),``,{type:`warning`}),await d.dispatch(`poivelle/deleteSelectedNode`)},Ve=async()=>{await d.dispatch(`poivelle/commitRevision`,`Studio checkpoint`),Pe.success(q(`poivelle.revision.committed`))},He=async()=>{F.value&&await $(async()=>{await d.dispatch(`poivelle/dryRun`,F.value?.node_type===`composition`?`compose`:`generate`),H.value=!0})},We=async e=>{await Oe(e),await a(),await He()},Ge=async()=>{if(N.value===`overview`){me.value?await We(me.value.id):pe.value&&ke(`storyboard`);return}F.value&&await He()},Ke=async()=>{await $(async()=>{let e=await d.dispatch(`poivelle/confirmDryRun`);H.value=!1,e&&Pe.success(q(`poivelle.run.queued`))})},qe=e=>{ke(`review`),Pe.info(`${q(`poivelle.agent.proposal`)} ${e.slice(-8)}`)},Je=async e=>{await Me.confirm(q(`poivelle.review.rejectConfirm`),``,{type:`warning`}),await $(()=>d.dispatch(`poivelle/rejectProposal`,e))},Ye=async e=>{await Me.confirm(q(`poivelle.run.cancelConfirm`),``,{type:`warning`}),await $(()=>d.dispatch(`poivelle/cancelRun`,e))},Xe=e=>$(()=>d.dispatch(`poivelle/loadRun`,e)),Ze=async e=>{await $(async()=>{await d.dispatch(`poivelle/retryStep`,e),H.value=!0})},Qe=async e=>{if(!re.value)return;let t=re.value.clips.map(e=>({...e})),n=t.filter(t=>t.track_id===e.trackId).sort((e,t)=>e.timeline_start_ms-t.timeline_start_ms),r=n.findIndex(t=>t.id===e.clipId),i=r+e.direction;if(r<0||i<0||i>=n.length)return;[n[r],n[i]]=[n[i],n[r]];let a=0;n.forEach(e=>{let t=typeof e.speed==`number`&&Number.isFinite(e.speed)&&e.speed>0?e.speed:1;e.timeline_start_ms=a,a+=(e.source_out_ms-e.source_in_ms)/t}),await $(()=>d.dispatch(`poivelle/saveTimeline`,{...re.value,clips:t}))},$e=async e=>{await $(async()=>{await d.dispatch(`poivelle/selectTake`,e),Pe.success(q(`poivelle.storyboard.selectionSaved`))})},et=e=>`${(e/1e6).toFixed(2)} credits`,$=async e=>{V.value=!0;try{await e()}catch(e){Pe.error(e?.response?.data?.detail?.message??e?.response?.data?.detail??e?.message??q(`poivelle.error.generic`))}finally{V.value=!1}};return u(Te),(n,a)=>(E(),l(`main`,ei,[o(Vt,{"project-title":I.value?.title,"graph-version":_.value?.graph_version,"can-run":L.value&&(N.value===`overview`?!!me.value||pe.value:!!F.value),"can-edit":L.value,"primary-label":N.value===`overview`?pe.value?n.$t(`poivelle.guide.chooseResults`):he.value:void 0,onOpenProjects:a[0]||=e=>_e.value=!0,onHome:a[1]||=e=>n.$emit(`back-home`),onCommit:Ve,onRun:Ge},null,8,[`project-title`,`graph-version`,`can-run`,`can-edit`,`primary-label`]),ae.value?(E(),l(`div`,ti,[o(c(De),{size:15,"aria-hidden":`true`}),e(`span`,null,i(ae.value),1),e(`button`,{type:`button`,onClick:Te},i(n.$t(`poivelle.action.retry`)),1)])):s(``,!0),oe.value&&!_.value?(E(),l(`div`,ni,[o(c(xe),{size:25,class:`is-spinning`,"aria-hidden":`true`}),e(`span`,null,i(n.$t(`poivelle.status.loading`)),1)])):I.value&&_.value?(E(),l(`div`,ri,[N.value===`overview`?s(``,!0):(E(),b(sn,{key:0,projects:g.value,"current-project-id":I.value.id,assets:v.value,revisions:k.value,"can-edit":L.value,onSelectProject:Ee,onCreateProject:J,onImportAsset:a[2]||=e=>ye.value=!0},null,8,[`projects`,`current-project-id`,`assets`,`revisions`,`can-edit`])),e(`section`,ii,[o(un,{"model-value":N.value,"can-edit":L.value,"onUpdate:modelValue":ke,onCreateNode:a[3]||=e=>ve.value=!0},null,8,[`model-value`,`can-edit`]),e(`div`,ai,[N.value===`overview`?(E(),b($r,{key:0,"project-title":I.value.title,graph:_.value,storyboard:O.value,artifacts:y.value,takes:C.value,selections:T.value,"can-edit":L.value,busy:V.value,onGenerateNode:We,onOpenStoryboard:a[4]||=e=>ke(`storyboard`)},null,8,[`project-title`,`graph`,`storyboard`,`artifacts`,`takes`,`selections`,`can-edit`,`busy`])):N.value===`canvas`?(E(),b(vn,{key:1,graph:_.value,"selected-node-id":P.value,"can-edit":L.value,onSelectNode:Oe,onCreateNode:a[5]||=e=>ve.value=!0},null,8,[`graph`,`selected-node-id`,`can-edit`])):N.value===`storyboard`?(E(),b(Bn,{key:2,graph:_.value,storyboard:O.value,artifacts:y.value,takes:C.value,selections:T.value,"selected-node-id":P.value,"can-edit":L.value,"can-select":L.value&&k.value.length>0,onSelectNode:Oe,onSelectTake:$e},null,8,[`graph`,`storyboard`,`artifacts`,`takes`,`selections`,`selected-node-id`,`can-edit`,`can-select`])):N.value===`timeline`?(E(),b(cr,{key:3,timeline:re.value,graph:_.value,artifacts:y.value,"can-edit":L.value,onMoveClip:Qe},null,8,[`timeline`,`graph`,`artifacts`,`can-edit`])):(E(),b(wr,{key:4,graph:_.value,proposals:A.value,revisions:k.value,runs:ee.value,"active-run":j.value,evaluations:M.value,"forensic-validations":te.value,costs:ne.value,"can-edit":L.value,onRejectProposal:Je,onCancelRun:Ye,onOpenRun:Xe,onRetryStep:Ze},null,8,[`graph`,`proposals`,`revisions`,`runs`,`active-run`,`evaluations`,`forensic-validations`,`costs`,`can-edit`]))]),N.value===`overview`?s(``,!0):(E(),b(Br,{key:0,proposals:A.value,"selected-node-id":P.value,skill:I.value.active_skill,"can-edit":L.value,onRun:He,onOpenProposal:qe},null,8,[`proposals`,`selected-node-id`,`skill`,`can-edit`]))]),L.value&&N.value===`canvas`?(E(),b(Nr,{key:1,node:F.value,onUpdate:Re,onDelete:Be},null,8,[`node`])):s(``,!0)])):(E(),l(`section`,oi,[a[38]||=e(`div`,{class:`onboarding-number`},`01 / STUDIO`,-1),o(c(Ue),{size:34,"stroke-width":`1.25`,"aria-hidden":`true`}),e(`h1`,null,i(n.$t(`poivelle.onboarding.title`)),1),e(`p`,null,i(n.$t(`poivelle.onboarding.body`)),1),h.value.length?L.value?(E(),l(`button`,{key:1,type:`button`,onClick:J},[o(c(Q),{size:15,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.project.create`)),1)])):s(``,!0):(E(),l(`button`,{key:0,type:`button`,onClick:a[6]||=e=>ge.value=!0},[o(c(Ce),{size:15,"aria-hidden":`true`}),r(` `+i(n.$t(`poivelle.workspace.create`)),1)]))])),o(c(Ae),{modelValue:ge.value,"onUpdate:modelValue":a[11]||=e=>ge.value=e,title:n.$t(`poivelle.workspace.create`),width:`420px`},{footer:S(()=>[o(c(Y),{onClick:a[10]||=e=>ge.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Z},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[9]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.workspace.name`)},{default:S(()=>[o(c(X),{modelValue:U.name,"onUpdate:modelValue":a[7]||=e=>U.name=e,maxlength:`120`,autofocus:``},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.workspace.budget`)},{default:S(()=>[o(c(de),{modelValue:U.monthly_limit_microcredits,"onUpdate:modelValue":a[8]||=e=>U.monthly_limit_microcredits=e,min:0,step:1e6},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:_e.value,"onUpdate:modelValue":a[22]||=e=>_e.value=e,title:n.$t(`poivelle.project.create`),width:`460px`},{footer:S(()=>[o(c(Y),{onClick:a[21]||=e=>_e.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Fe},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[20]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.project.workspace`)},{default:S(()=>[o(c(se),{modelValue:W.workspace_id,"onUpdate:modelValue":a[12]||=e=>W.workspace_id=e,style:{width:`100%`}},{default:S(()=>[(E(!0),l(p,null,w(h.value,e=>(E(),b(c(R),{key:e.id,label:e.name,value:e.id},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.title`)},{default:S(()=>[o(c(X),{modelValue:W.title,"onUpdate:modelValue":a[13]||=e=>W.title=e,maxlength:`200`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.workflow`)},{default:S(()=>[o(c(ze),{modelValue:W.workflow,"onUpdate:modelValue":a[14]||=e=>W.workflow=e,options:be,block:``},null,8,[`modelValue`])]),_:1},8,[`label`]),W.workflow===`commercial_tvc`?(E(),l(p,{key:0},[o(c(B),{label:n.$t(`poivelle.project.productName`)},{default:S(()=>[o(c(X),{modelValue:W.product_name,"onUpdate:modelValue":a[15]||=e=>W.product_name=e,maxlength:`120`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.productCategory`)},{default:S(()=>[o(c(X),{modelValue:W.product_category,"onUpdate:modelValue":a[16]||=e=>W.product_category=e,maxlength:`180`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.brandTone`)},{default:S(()=>[o(c(X),{modelValue:W.brand_tone,"onUpdate:modelValue":a[17]||=e=>W.brand_tone=e,type:`textarea`,rows:2,maxlength:`240`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.project.aspectRatio`)},{default:S(()=>[o(c(ze),{modelValue:W.aspect_ratio,"onUpdate:modelValue":a[18]||=e=>W.aspect_ratio=e,options:[`16:9`,`9:16`,`1:1`]},null,8,[`modelValue`])]),_:1},8,[`label`])],64)):s(``,!0),o(c(B),{label:n.$t(`poivelle.project.skill`)},{default:S(()=>[W.workflow===`blank`?(E(),b(c(se),{key:0,modelValue:W.skill,"onUpdate:modelValue":a[19]||=e=>W.skill=e,style:{width:`100%`}},{default:S(()=>[o(c(R),{label:`Short drama · professional`,value:`film.drama.short@1.0.0`}),o(c(R),{label:`Commercial film · professional`,value:`film.commercial@1.0.0`}),o(c(R),{label:`Music video · professional`,value:`film.music-video@1.0.0`})]),_:1},8,[`modelValue`])):s(``,!0)]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:ve.value,"onUpdate:modelValue":a[28]||=e=>ve.value=e,title:n.$t(`poivelle.node.create`),width:`460px`},{footer:S(()=>[o(c(Y),{onClick:a[27]||=e=>ve.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Ie},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[26]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.field.type`)},{default:S(()=>[o(c(se),{modelValue:G.node_type,"onUpdate:modelValue":a[23]||=e=>G.node_type=e,style:{width:`100%`}},{default:S(()=>[(E(),l(p,null,w(Se,e=>o(c(R),{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.field.title`)},{default:S(()=>[o(c(X),{modelValue:G.title,"onUpdate:modelValue":a[24]||=e=>G.title=e,maxlength:`240`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.field.prompt`)},{default:S(()=>[o(c(X),{modelValue:G.prompt,"onUpdate:modelValue":a[25]||=e=>G.prompt=e,type:`textarea`,rows:5},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:ye.value,"onUpdate:modelValue":a[35]||=e=>ye.value=e,title:n.$t(`poivelle.asset.import`),width:`500px`},{footer:S(()=>[o(c(Y),{onClick:a[34]||=e=>ye.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Le},{default:S(()=>[r(i(n.$t(`common.button.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[o(c(ce),{"label-position":`top`,onSubmit:a[33]||=t(()=>{},[`prevent`])},{default:S(()=>[o(c(B),{label:n.$t(`poivelle.asset.title`)},{default:S(()=>[o(c(X),{modelValue:K.title,"onUpdate:modelValue":a[29]||=e=>K.title=e,maxlength:`240`},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.field.type`)},{default:S(()=>[o(c(se),{modelValue:K.kind,"onUpdate:modelValue":a[30]||=e=>K.kind=e,style:{width:`100%`}},{default:S(()=>[(E(),l(p,null,w(we,e=>o(c(R),{key:e,label:e,value:e},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.asset.url`)},{default:S(()=>[o(c(X),{modelValue:K.source_url,"onUpdate:modelValue":a[31]||=e=>K.source_url=e},null,8,[`modelValue`])]),_:1},8,[`label`]),o(c(B),{label:n.$t(`poivelle.asset.hash`)},{default:S(()=>[o(c(X),{modelValue:K.content_hash,"onUpdate:modelValue":a[32]||=e=>K.content_hash=e,placeholder:`sha256:...`},null,8,[`modelValue`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`modelValue`,`title`]),o(c(Ae),{modelValue:H.value,"onUpdate:modelValue":a[37]||=e=>H.value=e,title:n.$t(`poivelle.run.confirmTitle`),width:`520px`},{footer:S(()=>[o(c(Y),{onClick:a[36]||=e=>H.value=!1},{default:S(()=>[r(i(n.$t(`common.button.cancel`)),1)]),_:1}),o(c(Y),{type:`primary`,loading:V.value,onClick:Ke},{default:S(()=>[r(i(n.$t(`poivelle.run.confirm`)),1)]),_:1},8,[`loading`])]),default:S(()=>[ie.value?(E(),l(`div`,si,[e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.run.targets`)),1),e(`strong`,null,i(ie.value.dependency_closure.length),1)]),e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.run.maximum`)),1),e(`strong`,null,i(et(ie.value.max_cost_microcredits)),1)]),e(`div`,null,[e(`span`,null,i(n.$t(`poivelle.run.approval`)),1),e(`strong`,null,i(ie.value.required_approval),1)])])):s(``,!0),e(`p`,ci,i(n.$t(`poivelle.run.confirmBody`)),1)]),_:1},8,[`modelValue`,`title`])]))}}),[[`__scopeId`,`data-v-1b367de3`]]),ui=O({__name:`Index`,setup(e){let t=D(`discovery`);return(e,n)=>t.value===`discovery`?(E(),b(jt,{key:0,onOpenStudio:n[0]||=e=>t.value=`studio`})):(E(),b(li,{key:1,onBackHome:n[1]||=e=>t.value=`discovery`}))}});export{ui as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,at as s,ht as c,j as l,mt as u,ot as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./row-D01IHp_i.js";import{i as g,n as _,r as v,t as y}from"./container-VI0MzukK.js";import{n as b,t as x}from"./dropdown-Bk35Iqc_.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-DDzWJzE7.js";import{$ as D,E as O,Fi as k,G as A,an as j,di as M,en as N,hi as P,k as F,pi as I,si as L,ut as R}from"./index-D7PshZL1.js";import{t as z}from"./BottomFooter-ChjU5xVX.js";var B=p({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:k,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},isHome(){return this.$route.name===R},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated},isMainOfficialHost(){return j()},isDesktopChrome(){return M()},isMacChrome(){return M()&&I()}},methods:{openTab(e){if(P()){F.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:R})},onLogin(){this.$store.dispatch(`login`,{redirect:this.$route.fullPath})},onDownload(){this.$router.push({name:D})},onProfile(){let e=L();this.openTab(N(`${e}/user/profile`))},onVerify(){let e=L();this.openTab(N(`${e}/user/verify`))},onConsole(){this.$router.push({name:A})},async onLogout(){this.$store.dispatch(`logout`)}}}),V={key:0,class:`mt-4 pr-10`},H={key:1,class:`float-right`},U=[`src`];function W(p,m,h,g,_,v){let y=s(`logo`),b=s(`el-col`),x=s(`el-menu-item`),S=s(`el-sub-menu`),C=s(`el-menu`),w=s(`el-button`),T=s(`language-selector`),E=s(`dark-selector`),D=s(`el-dropdown-item`),O=s(`el-dropdown-menu`),k=s(`el-dropdown`),A=s(`el-row`),j=d(`t`);return f(),l(A,{class:t([`header`,{"desktop-chrome":p.isDesktopChrome,"is-mac":p.isMacChrome,"home-only":p.isHome}])},{default:u(()=>[p.isHome?(f(),l(b,{key:0,span:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})):(f(),l(b,{key:1,md:4,xs:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:2,md:16,xs:13},{default:u(()=>[i(C,{"default-active":p.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:p.onSelect},{default:u(()=>[i(S,{index:p.products},{title:u(()=>[n(r(p.$t(`common.nav.products`)),1)]),default:u(()=>[p.site?.features?.chatgpt?.enabled?c((f(),l(x,{key:0,index:`/chat`},null,512)),[[j,`index.title.chat`]]):a(``,!0),p.site?.features?.midjourney?.enabled?c((f(),l(x,{key:1,index:`/midjourney`},null,512)),[[j,`index.title.midjourney`]]):a(``,!0),p.site?.features?.qrart?.enabled?c((f(),l(x,{key:2,index:`/qrart`},null,512)),[[j,`index.title.qrart`]]):a(``,!0),p.site?.features?.suno?.enabled?c((f(),l(x,{key:3,index:`/suno`},null,512)),[[j,`index.title.suno`]]):a(``,!0),p.site?.features?.luma?.enabled?c((f(),l(x,{key:4,index:`/luma`},null,512)),[[j,`index.title.luma`]]):a(``,!0)]),_:1},8,[`index`]),p.isMainOfficialHost?c((f(),l(x,{key:0,onRoute:e=>void 0,onClick:p.onDownload},null,8,[`onClick`])),[[j,`common.nav.mobileApp`]]):a(``,!0),c(i(x,{onRoute:e=>void 0,onClick:m[0]||=e=>p.openTab(`https://platform.acedata.cloud`)},null,512),[[j,`common.nav.apiPlatform`]]),c(i(x,{onRoute:e=>void 0,onClick:m[1]||=e=>p.openTab(`https://platform.acedata.cloud/support`)},null,512),[[j,`common.nav.support`]]),c(i(x,{onRoute:e=>void 0,onClick:m[2]||=e=>p.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[j,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:3,md:4,xs:11},{default:u(()=>[p.authenticated?(f(),o(`div`,H,[e(`div`,{class:`console`,onClick:m[3]||=(...e)=>p.onConsole&&p.onConsole(...e)},r(p.$t(`common.button.console`)),1),i(k,{trigger:`click`},{dropdown:u(()=>[i(O,null,{default:u(()=>[i(D,{onClick:p.onProfile},{default:u(()=>[n(r(p.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),i(D,{onClick:p.onLogout},{default:u(()=>[n(r(p.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[e(`img`,{src:p.user?.avatar||p.defaultAvatar,class:`avatar`},null,8,U)]),_:1})])):(f(),o(`div`,V,[i(w,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:p.onLogin},{default:u(()=>[n(r(p.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),i(T,{class:`locale float-right mr-4`}),i(E,{class:`float-right mr-4`})]))]),_:1}))]),_:1},8,[`class`])}var G=p({name:`LayoutIndex`,components:{TopHeader:O(B,[[`render`,W]]),BottomFooter:z,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function K(e,t,n,r,a,o){let c=s(`top-header`),d=s(`el-header`),p=s(`router-view`),m=s(`el-main`),h=s(`bottom-footer`),g=s(`el-footer`),_=s(`el-container`);return f(),l(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[i(d,{class:`header p-0 h-auto`},{default:u(()=>[i(c)]),_:1}),i(m,{class:`main`},{default:u(()=>[i(p)]),_:1}),i(g,{class:`footer p-0 h-auto`},{default:u(()=>[i(h)]),_:1})]),_:1})}var q=O(G,[[`render`,K]]);export{q as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,Gt as t,I as n,Jt as r,L as i,M as a,N as o,at as s,ht as c,j as l,mt as u,ot as d,tt as f,z as p}from"./vendor-chart-Dw-P17PN.js";import{n as m,t as h}from"./row-BfjI7Qqw.js";import{i as g,n as _,r as v,t as y}from"./container-VI0MzukK.js";import{n as b,t as x}from"./dropdown-CuG9vZsJ.js";import{a as S,i as C,n as w,r as T,t as E}from"./avatar-CUB8dqdY.js";import{$ as D,E as O,Fi as k,G as A,an as j,di as M,en as N,hi as P,k as F,pi as I,si as L,ut as R}from"./index-DZ_QWcAX.js";import{t as z}from"./BottomFooter-DBPxfSCI.js";var B=p({name:`TopHeader`,components:{ElCol:m,Logo:w,ElRow:h,ElDropdown:x,ElMenu:T,ElMenuItem:C,ElDropdownItem:b,ElButton:k,ElSubMenu:S},data(){return{defaultAvatar:E,products:`chat`}},computed:{site(){return this.$store.state?.site},dark(){return this.$store.getters?.dark},active(){return this.$route.matched?.[0]?.path},isHome(){return this.$route.name===R},user(){return this.$store.getters?.user},authenticated(){return this.$store.getters?.authenticated},isMainOfficialHost(){return j()},isDesktopChrome(){return M()},isMacChrome(){return M()&&I()}},methods:{openTab(e){if(P()){F.open({url:e}).catch(t=>{console.warn(`Browser.open failed, falling back to window.open`,t),window.open(e,`_blank`)});return}window.open(e,`_blank`)},onSelect(e){e&&this.$router.push(e)},onHome(){this.$router.push({name:R})},onLogin(){this.$store.dispatch(`login`,{redirect:this.$route.fullPath})},onDownload(){this.$router.push({name:D})},onProfile(){let e=L();this.openTab(N(`${e}/user/profile`))},onVerify(){let e=L();this.openTab(N(`${e}/user/verify`))},onConsole(){this.$router.push({name:A})},async onLogout(){this.$store.dispatch(`logout`)}}}),V={key:0,class:`mt-4 pr-10`},H={key:1,class:`float-right`},U=[`src`];function W(p,m,h,g,_,v){let y=s(`logo`),b=s(`el-col`),x=s(`el-menu-item`),S=s(`el-sub-menu`),C=s(`el-menu`),w=s(`el-button`),T=s(`language-selector`),E=s(`dark-selector`),D=s(`el-dropdown-item`),O=s(`el-dropdown-menu`),k=s(`el-dropdown`),A=s(`el-row`),j=d(`t`);return f(),l(A,{class:t([`header`,{"desktop-chrome":p.isDesktopChrome,"is-mac":p.isMacChrome,"home-only":p.isHome}])},{default:u(()=>[p.isHome?(f(),l(b,{key:0,span:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})):(f(),l(b,{key:1,md:4,xs:24,class:`brand-col`},{default:u(()=>[i(y,{onClick:p.onHome},null,8,[`onClick`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:2,md:16,xs:13},{default:u(()=>[i(C,{"default-active":p.active,mode:`horizontal`,class:`menu`,ellipsis:!0,onSelect:p.onSelect},{default:u(()=>[i(S,{index:p.products},{title:u(()=>[n(r(p.$t(`common.nav.products`)),1)]),default:u(()=>[p.site?.features?.chatgpt?.enabled?c((f(),l(x,{key:0,index:`/chat`},null,512)),[[j,`index.title.chat`]]):a(``,!0),p.site?.features?.midjourney?.enabled?c((f(),l(x,{key:1,index:`/midjourney`},null,512)),[[j,`index.title.midjourney`]]):a(``,!0),p.site?.features?.qrart?.enabled?c((f(),l(x,{key:2,index:`/qrart`},null,512)),[[j,`index.title.qrart`]]):a(``,!0),p.site?.features?.suno?.enabled?c((f(),l(x,{key:3,index:`/suno`},null,512)),[[j,`index.title.suno`]]):a(``,!0),p.site?.features?.luma?.enabled?c((f(),l(x,{key:4,index:`/luma`},null,512)),[[j,`index.title.luma`]]):a(``,!0)]),_:1},8,[`index`]),p.isMainOfficialHost?c((f(),l(x,{key:0,onRoute:e=>void 0,onClick:p.onDownload},null,8,[`onClick`])),[[j,`common.nav.mobileApp`]]):a(``,!0),c(i(x,{onRoute:e=>void 0,onClick:m[0]||=e=>p.openTab(`https://platform.acedata.cloud`)},null,512),[[j,`common.nav.apiPlatform`]]),c(i(x,{onRoute:e=>void 0,onClick:m[1]||=e=>p.openTab(`https://platform.acedata.cloud/support`)},null,512),[[j,`common.nav.support`]]),c(i(x,{onRoute:e=>void 0,onClick:m[2]||=e=>p.openTab(`https://platform.acedata.cloud/earning`)},null,512),[[j,`common.nav.referral`]])]),_:1},8,[`default-active`,`onSelect`])]),_:1})),p.isHome?a(``,!0):(f(),l(b,{key:3,md:4,xs:11},{default:u(()=>[p.authenticated?(f(),o(`div`,H,[e(`div`,{class:`console`,onClick:m[3]||=(...e)=>p.onConsole&&p.onConsole(...e)},r(p.$t(`common.button.console`)),1),i(k,{trigger:`click`},{dropdown:u(()=>[i(O,null,{default:u(()=>[i(D,{onClick:p.onProfile},{default:u(()=>[n(r(p.$t(`common.button.profile`)),1)]),_:1},8,[`onClick`]),i(D,{onClick:p.onLogout},{default:u(()=>[n(r(p.$t(`common.button.logout`)),1)]),_:1},8,[`onClick`])]),_:1})]),default:u(()=>[e(`img`,{src:p.user?.avatar||p.defaultAvatar,class:`avatar`},null,8,U)]),_:1})])):(f(),o(`div`,V,[i(w,{type:`primary`,class:`float-right`,size:`small`,round:``,onClick:p.onLogin},{default:u(()=>[n(r(p.$t(`common.button.login`)),1)]),_:1},8,[`onClick`]),i(T,{class:`locale float-right mr-4`}),i(E,{class:`float-right mr-4`})]))]),_:1}))]),_:1},8,[`class`])}var G=p({name:`LayoutIndex`,components:{TopHeader:O(B,[[`render`,W]]),BottomFooter:z,ElContainer:y,ElMain:g,ElFooter:_,ElHeader:v}});function K(e,t,n,r,a,o){let c=s(`top-header`),d=s(`el-header`),p=s(`router-view`),m=s(`el-main`),h=s(`bottom-footer`),g=s(`el-footer`),_=s(`el-container`);return f(),l(_,{class:`wrapper min-h-[100vh]`},{default:u(()=>[i(d,{class:`header p-0 h-auto`},{default:u(()=>[i(c)]),_:1}),i(m,{class:`main`},{default:u(()=>[i(p)]),_:1}),i(g,{class:`footer p-0 h-auto`},{default:u(()=>[i(h)]),_:1})]),_:1})}var q=O(G,[[`render`,K]]);export{q as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-kcx--P1x.js";import{t as b}from"./upload-DvahN9pS.js";import{t as x}from"./tooltip-Dg8svYdv.js";import{t as S}from"./alert-NIoXEghZ.js";import{t as C}from"./drawer-CfriDdTF.js";import{n as w}from"./taskDrawerMixin-8LJZo-GR.js";import{t as T}from"./clock-00kgn61e.js";import{r as E,t as D}from"./PromptTextarea-BxPQCRHG.js";import{t as O}from"./info-BLLJpmyv.js";import{t as ee}from"./trash-2-BFPsgWSb.js";import{t as te}from"./triangle-alert-Bt6a07CK.js";import{t as k}from"./wand-sparkles-D1gaPiuH.js";import{mt as A}from"./constants-BdhyMN3z.js";import{Bt as j,E as M,Fi as N,Ht as P,Kt as F,Ut as I,Vt as L,Wt as R,ai as z,bi as B,ci as V,tn as H,xi as U,xn as W,yr as G}from"./index-D7PshZL1.js";import{t as K}from"./CopyToClipboard-BmLkUzdp.js";import{t as q}from"./ImagePreview-DN-HUNWG.js";import{t as J}from"./Consumption-CZTTskeC.js";import{a as Y,n as X,r as Z,t as Q}from"./pagination-ZOz4p54z.js";import{t as ne}from"./VideoPlayer-B-RFNph3.js";import{t as re}from"./ApiCodeButton-BCiH5XH1.js";import{t as ie}from"./BotPlaceholder-CE5nL1Rv.js";var ae=_({name:`LayoutWan`,components:{MagicIcon:k,ElDrawer:C,ElButton:N},mixins:[w]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,oe,[e(`div`,se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=M(ae,[[`render`,le],[`__scopeId`,`data-v-c8c76881`]]),de=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=A}}),fe={class:`field`},pe={class:`title font-bold`},me={class:`float-left`};function he(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,fe,[e(`h2`,pe,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,me,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=M(de,[[`render`,he],[`__scopeId`,`data-v-eb090beb`]]),_e=`720p`,ve=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=_e}}),ye={class:`field`},be={class:`title font-bold`},xe={class:`float-left`};function Se(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,xe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ce=M(ve,[[`render`,Se],[`__scopeId`,`data-v-3e39f44e`]]),we=5,Te=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=we}}),Ee={class:`field`},De={class:`title font-bold`},Oe={class:`float-left`};function ke(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ee,[e(`h2`,De,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=M(Te,[[`render`,ke],[`__scopeId`,`data-v-5f35a2cf`]]),je=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:N,InfoIcon:Y,ImagePreview:q},mixins:[R,I,L],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){U.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){U.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){U.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Me={class:`relative`},Ne={class:`flex justify-between`},Pe={class:`flex justify-start items-center`},Fe={class:`text-sm font-bold`};function Ie(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`span`,Fe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Le=M(je,[[`render`,Ie],[`__scopeId`,`data-v-22b604dc`]]),Re=_({name:`PromptInput`,components:{PromptTextarea:D},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ze(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Be=_({name:`PresetPanel`,components:{MagicIcon:k,ElButton:N,PromptInput:M(Re,[[`render`,ze]]),ImageUrlInput:Le,ModelSelector:ge,ResolutionSelector:Ce,DurationSelector:Ae,Consumption:J},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return F(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ve={class:`flex flex-col h-full`},He={class:`flex-1 overflow-y-auto p-5`},Ue={class:`flex flex-col items-center justify-center px-5 pb-5`};function We(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`magic-icon`),C=l(`el-button`);return h(),s(`div`,Ve,[e(`div`,He,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0)]),e(`div`,Ue,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ge=M(Be,[[`render`,We]]),Ke=_({name:`TaskPreview`,components:{DeleteIcon:ee,ChannelIcon:E,InfoIcon:O,MagicIcon:k,TimeIcon:T,WarningIcon:te,CopyToClipboard:K,ElAlert:S,VideoPlayer:ne,ElTooltip:x,ElButton:N,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await B.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`wan/deleteTask`,{id:e}),U.success(this.$t(`common.message.deleteTaskSuccess`))}catch{U.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),qe={class:`preview`},Je={class:`left`},Ye={class:`main`},Xe={class:`bot`},Ze={class:`datetime`},Qe=[`aria-label`],$e={class:`info`},et={key:0,class:`prompt mt-2`},tt={key:0},nt={key:1},rt={key:0,class:n({content:!0,failed:!0})},it={key:0,class:`mb-4`},at={key:1,class:n({operations:!0,"mt-2":!0})},ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},lt={key:1,class:n({content:!0})},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pt={key:2,class:n({content:!0})},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ht(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`channel-icon`),C=l(`copy-to-clipboard`),w=l(`magic-icon`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`);return h(),s(`div`,qe,[e(`div`,Je,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Ye,[e(`div`,Xe,[a(g,{capability:`wan`,part:`name`}),e(`span`,Ze,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Qe)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$e,[n.modelValue?.request?.prompt?(h(),s(`p`,et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,tt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,nt,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,rt,[n.modelValue?.response?.video_url?(h(),s(`div`,it,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,at,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ot,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,st,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ct,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,lt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ut,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,dt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(C,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ft,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(C,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,pt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,mt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var gt=_({name:`RecentPanel`,components:{TaskPreview:M(Ke,[[`render`,ht],[`__scopeId`,`data-v-3abd14f0`]]),BotPlaceholder:ie,NoTasks:Z,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),_t={key:0},vt={key:2,class:`w-full h-full flex items-center justify-center`};function yt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,_t,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,vt,[a(v)])):o(``,!0)],64)}var bt=_({name:`WanIndex`,components:{ConfigPanel:Ge,Layout:ue,RecentPanel:M(gt,[[`render`,yt]])},mixins:[P],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.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 Q({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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>U.warning(e)))return;let e={...this.config,async:!0};if(!H())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}U.info(this.$t(`wan.message.startingTask`)),G(`wan`,W.generate(e,{token:t})).then(()=>{U.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?U.error(this.$t(`wan.message.usedUp`)):U.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var St=M(bt,[[`render`,xt]]);export{St as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-CxUZ9bYo.js";import{t as b}from"./upload-Cc3qhAE0.js";import{t as x}from"./tooltip-Jo-ugqke.js";import{t as S}from"./alert-ODkDqebn.js";import{t as C}from"./drawer-DCRdU-HN.js";import{n as w}from"./taskDrawerMixin-UGFVYgci.js";import{t as T}from"./clock-CrK54Jcu.js";import{r as E,t as D}from"./PromptTextarea-CMgmHTum.js";import{t as O}from"./info-BLbxtdI5.js";import{t as ee}from"./trash-2-C7aFw8-B.js";import{t as te}from"./triangle-alert-DLSUERuJ.js";import{t as k}from"./wand-sparkles-Ckv9T6U4.js";import{mt as A}from"./constants-DneM-Qrs.js";import{Bt as j,E as M,Fi as N,Ht as P,Kt as F,Ut as I,Vt as L,Wt as R,ai as z,bi as B,ci as V,tn as H,xi as U,xn as W,yr as G}from"./index-DZ_QWcAX.js";import{t as K}from"./CopyToClipboard-CFBfqG9W.js";import{t as q}from"./ImagePreview-CfLdEFBX.js";import{t as J}from"./Consumption-Drjn0WCj.js";import{a as Y,n as X,r as Z,t as Q}from"./pagination-BnG9-ceq.js";import{t as ne}from"./VideoPlayer-ZvnURH3l.js";import{t as re}from"./ApiCodeButton-CQ4O8ZWf.js";import{t as ie}from"./BotPlaceholder-SHo5TSBw.js";var ae=_({name:`LayoutWan`,components:{MagicIcon:k,ElDrawer:C,ElButton:N},mixins:[w]}),oe={class:`main flex flex-row flex-1`},se={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},ce={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function le(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,oe,[e(`div`,se,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,ce,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var ue=M(ae,[[`render`,le],[`__scopeId`,`data-v-c8c76881`]]),de=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},data(){return{}},computed:{options(){return[{value:`wan2.6-t2v`,label:this.$t(`wan.button.modelT2v`)},{value:`wan2.6-i2v`,label:this.$t(`wan.button.modelI2v`)},{value:`wan2.6-i2v-flash`,label:this.$t(`wan.button.modelI2vFlash`)},{value:`wan2.6-r2v`,label:this.$t(`wan.button.modelR2v`)}]},value:{get(){return this.$store.state.wan?.config?.model},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,model:e})}}},mounted(){this.value||=A}}),fe={class:`field`},pe={class:`title font-bold`},me={class:`float-left`};function he(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,fe,[e(`h2`,pe,i(t.$t(`wan.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,me,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var ge=M(de,[[`render`,he],[`__scopeId`,`data-v-eb090beb`]]),_e=`720p`,ve=_({name:`ResolutionSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:`480p`,label:this.$t(`wan.name.resolution480p`)},{value:`720p`,label:this.$t(`wan.name.resolution720p`)},{value:`1080p`,label:this.$t(`wan.name.resolution1080p`)}]},value:{get(){return this.$store.state.wan?.config?.resolution},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,resolution:e})}}},mounted(){this.value||=_e}}),ye={class:`field`},be={class:`title font-bold`},xe={class:`float-left`};function Se(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,ye,[e(`h2`,be,i(t.$t(`wan.name.resolution`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,xe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ce=M(ve,[[`render`,Se],[`__scopeId`,`data-v-3e39f44e`]]),we=5,Te=_({name:`DurationSelector`,components:{ElSelect:v,ElOption:y},computed:{options(){return[{value:5,label:this.$t(`wan.name.duration5s`)},{value:10,label:this.$t(`wan.name.duration10s`)},{value:15,label:this.$t(`wan.name.duration15s`)}]},value:{get(){return this.$store.state.wan?.config?.duration},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,duration:e})}}},mounted(){this.value||=we}}),Ee={class:`field`},De={class:`title font-bold`},Oe={class:`float-left`};function ke(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ee,[e(`h2`,De,i(t.$t(`wan.name.duration`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`wan.placeholder.select`),clearable:``},{default:p(()=>[(h(!0),s(c,null,m(t.options,t=>(h(),f(g,{key:t.value,label:t.label,value:t.value},{default:p(()=>[e(`span`,Oe,i(t.label),1)]),_:2},1032,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ae=M(Te,[[`render`,ke],[`__scopeId`,`data-v-5f35a2cf`]]),je=_({name:`ImageUrlInput`,components:{ElUpload:b,ElButton:N,InfoIcon:Y,ImagePreview:q},mixins:[R,I,L],data(){return{fileList:[],uploadUrl:V()+`/api/v1/files/`}},computed:{headers(){return{Authorization:`Bearer ${this.$store.state.token.access}`}},urls(){return this.fileList.map(e=>e.url).filter(e=>e!==void 0)},value:{get(){return this.$store.state.wan?.config?.image_url},set(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})}}},mounted(){this.value||=void 0,this.onSetImageUrl()},methods:{onExceed(){U.warning(this.$t(`wan.message.uploadImageExceed`))},onError(){U.error(this.$t(`wan.message.uploadImageError`))},async onRemove(){U.error(this.$t(`wan.message.uploadImageError`))},onSetImageUrl(){let e=this.urls?.[0];this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,image_url:e})},async onSuccess(){this.onSetImageUrl()}}}),Me={class:`relative`},Ne={class:`flex justify-between`},Pe={class:`flex justify-start items-center`},Fe={class:`text-sm font-bold`};function Ie(t,n,c,u,d,m){let g=l(`info-icon`),_=l(`image-preview`),v=l(`el-button`),y=l(`el-upload`);return h(),s(`div`,Me,[e(`div`,Ne,[e(`div`,Pe,[e(`span`,Fe,i(t.$t(`wan.name.imageUrl`)),1),a(g,{content:t.$t(`wan.description.imageUrl`),class:`info`},null,8,[`content`])])]),a(y,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,name:`file`,"show-file-list":!0,limit:1,multiple:!1,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,"on-remove":t.onRemove,"on-success":t.onSuccess,headers:t.headers},{file:p(({file:e})=>[e.url&&e.percentage!==void 0?(h(),f(_,{key:0,url:e.url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])):o(``,!0)]),default:p(()=>[a(v,{size:`small`,type:`primary`,class:`btn btn-upload`,round:``},{default:p(()=>[r(i(t.$t(`wan.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`on-remove`,`on-success`,`headers`])])}var Le=M(je,[[`render`,Ie],[`__scopeId`,`data-v-22b604dc`]]),Re=_({name:`PromptInput`,components:{PromptTextarea:D},computed:{prompt:{get(){return this.$store.state.wan?.config?.prompt},set(e){this.$store.commit(`wan/setConfig`,{...this.$store.state.wan?.config,prompt:e})}}},mounted(){this.prompt||=``}});function ze(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`wan.name.prompt`),info:e.$t(`wan.description.prompt`),placeholder:e.$t(`wan.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Be=_({name:`PresetPanel`,components:{MagicIcon:k,ElButton:N,PromptInput:M(Re,[[`render`,ze]]),ImageUrlInput:Le,ModelSelector:ge,ResolutionSelector:Ce,DurationSelector:Ae,Consumption:J},emits:[`generate`],computed:{config(){return this.$store.state.wan?.config},consumption(){return F(this.config,this.service?.cost)},service(){return this.$store.state.wan?.service},supportsResolution(){let e=this.config?.model;return e===`wan2.6-t2v`||e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`},supportsDuration(){return this.config?.model===`wan2.6-t2v`},supportsImageUrl(){let e=this.config?.model;return e===`wan2.6-i2v`||e===`wan2.6-i2v-flash`}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ve={class:`flex flex-col h-full`},He={class:`flex-1 overflow-y-auto p-5`},Ue={class:`flex flex-col items-center justify-center px-5 pb-5`};function We(t,n,c,u,d,m){let g=l(`prompt-input`),_=l(`model-selector`),v=l(`resolution-selector`),y=l(`duration-selector`),b=l(`image-url-input`),x=l(`consumption`),S=l(`magic-icon`),C=l(`el-button`);return h(),s(`div`,Ve,[e(`div`,He,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.supportsResolution?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),t.supportsDuration?(h(),f(y,{key:1,class:`mb-4`})):o(``,!0),t.supportsImageUrl?(h(),f(b,{key:2,class:`mb-4`})):o(``,!0)]),e(`div`,Ue,[a(x,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(C,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(S,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`wan.button.generate`)),1)]),_:1},8,[`onClick`])])])}var Ge=M(Be,[[`render`,We]]),Ke=_({name:`TaskPreview`,components:{DeleteIcon:ee,ChannelIcon:E,InfoIcon:O,MagicIcon:k,TimeIcon:T,WarningIcon:te,CopyToClipboard:K,ElAlert:S,VideoPlayer:ne,ElTooltip:x,ElButton:N,ApiCodeButton:re},props:{modelValue:{type:Object,required:!0}},computed:{isFailure(){let e=this.modelValue?.response;return e?.success===!1||!!e?.error||e?.state===`failed`||e?.state===`cancelled`},isWaiting(){let e=this.modelValue?.response;return e?this.isFailure?!1:[`queued`,`pending`,`processing`,`running`].includes(e.state||``)?!0:e.success!==!0&&!e.state:!0},application(){return this.$store.state.wan?.application},config(){return this.$store.state.wan?.config}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await B.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`wan/deleteTask`,{id:e}),U.success(this.$t(`common.message.deleteTaskSuccess`))}catch{U.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e){console.debug(`on download wan video`,e),window.open(e,`_blank`)}}}),qe={class:`preview`},Je={class:`left`},Ye={class:`main`},Xe={class:`bot`},Ze={class:`datetime`},Qe=[`aria-label`],$e={class:`info`},et={key:0,class:`prompt mt-2`},tt={key:0},nt={key:1},rt={key:0,class:n({content:!0,failed:!0})},it={key:0,class:`mb-4`},at={key:1,class:n({operations:!0,"mt-2":!0})},ot={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},st={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ct={key:1,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},lt={key:1,class:n({content:!0})},ut={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},dt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ft={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},pt={key:2,class:n({content:!0})},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function ht(n,c,u,d,f,m){let g=l(`capability-presentation`),_=l(`delete-icon`),v=l(`el-tooltip`),y=l(`video-player`),b=l(`el-button`),x=l(`api-code-button`),S=l(`channel-icon`),C=l(`copy-to-clipboard`),w=l(`magic-icon`),T=l(`time-icon`),E=l(`el-alert`),D=l(`warning-icon`),O=l(`info-icon`);return h(),s(`div`,qe,[e(`div`,Je,[a(g,{capability:`wan`,part:`avatar`,class:`avatar`})]),e(`div`,Ye,[e(`div`,Xe,[a(g,{capability:`wan`,part:`name`}),e(`span`,Ze,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(v,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:c[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(_,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,Qe)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,$e,[n.modelValue?.request?.prompt?(h(),s(`p`,et,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,tt,` - (`+i(n.$t(`wan.status.pending`))+`) `,1)),n.modelValue?.response&&n.isWaiting?(h(),s(`span`,nt,` - (`+i(n.$t(`wan.status.processing`))+`) `,1)):o(``,!0)])):o(``,!0)]),n.modelValue?.response?.success===!0&&!n.isFailure&&!n.isWaiting?(h(),s(`div`,rt,[n.modelValue?.response?.video_url?(h(),s(`div`,it,[a(y,{src:n.modelValue?.response?.video_url},null,8,[`src`])])):o(``,!0),n.modelValue?.response?.video_url?(h(),s(`div`,at,[a(v,{class:`box-item`,effect:`dark`,content:n.$t(`wan.message.downloadVideo`),placement:`top-start`},{default:p(()=>[a(b,{type:`info`,size:`small`,class:`mb-2`,onClick:c[1]||=t(e=>n.onDownload(n.modelValue?.response?.video_url),[`stop`])},{default:p(()=>[r(i(n.$t(`wan.button.download`)),1)]),_:1})]),_:1},8,[`content`]),a(x,{path:`/wan/videos`,body:n.modelValue?.request},null,8,[`body`])])):o(``,!0),a(E,{closable:!1,class:`mt-2 success`},{default:p(()=>[n.modelValue?.request?.model?(h(),s(`p`,ot,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.model`))+`: `+i(n.modelValue?.request?.model)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])):o(``,!0),e(`p`,st,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ct,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.isFailure?(h(),s(`div`,lt,[a(E,{closable:!1,class:`failure`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failure`)),1)]),default:p(()=>[e(`p`,ut,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])]),e(`p`,dt,[a(O,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(C,{content:n.modelValue?.response?.error?.message},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ft,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(S,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(C,{content:n.modelValue?.response?.trace_id},null,8,[`content`])])]),_:1})])):o(``,!0),n.isWaiting?(h(),s(`div`,pt,[a(E,{closable:!1,class:`info`},{template:p(()=>[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(n.modelValue?.response?`wan.status.processing`:`wan.status.pending`)),1)]),default:p(()=>[e(`p`,mt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`wan.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(C,{content:n.modelValue?.id},null,8,[`content`])])]),_:1})])):o(``,!0)])])}var gt=_({name:`RecentPanel`,components:{TaskPreview:M(Ke,[[`render`,ht],[`__scopeId`,`data-v-3abd14f0`]]),BotPlaceholder:ie,NoTasks:Z,ScrollList:X},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.wan?.tasks,items:this.$store.state.wan?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),_t={key:0},vt={key:2,class:`w-full h-full flex items-center justify-center`};function yt(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,_t,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks w-full h-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,vt,[a(v)])):o(``,!0)],64)}var bt=_({name:`WanIndex`,components:{ConfigPanel:Ge,Layout:ue,RecentPanel:M(gt,[[`render`,yt]])},mixins:[P],inject:[`initialized`],data(){return{task:void 0,job:0,timer:void 0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.wan?.status?.getApplications===z.Request},tasksLoading(){return this.$store.state.wan?.status?.getTasks===z.Request||this.fetchingTasks},credential(){return this.$store.state.wan.credential},config(){return this.$store.state.wan.config},application(){return this.$store.state.wan.application},tasks(){return this.$store.state.wan.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 Q({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(`wan/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`wan/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`wan/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!j(this.uploadTracker,e=>this.$t(e),e=>U.warning(e)))return;let e={...this.config,async:!0};if(!H())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}U.info(this.$t(`wan.message.startingTask`)),G(`wan`,W.generate(e,{token:t})).then(()=>{U.success(this.$t(`wan.message.startTaskSuccess`))}).catch(e=>{(e?.response?.data)?.error?.code===`used_up`?U.error(this.$t(`wan.message.usedUp`)):U.error(this.$t(`wan.message.startTaskFailed`))}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function xt(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var St=M(bt,[[`render`,xt]]);export{St as default};
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-kcx--P1x.js";import{t as b}from"./upload-DvahN9pS.js";import{t as x}from"./tooltip-Dg8svYdv.js";import{t as S}from"./alert-NIoXEghZ.js";import{t as C}from"./drawer-CfriDdTF.js";import{t as w}from"./input-number-CQElckio.js";import{t as T}from"./slider-BLVGADMV.js";import{n as E}from"./taskDrawerMixin-8LJZo-GR.js";import{t as D}from"./clock-00kgn61e.js";import{r as O,t as k}from"./PromptTextarea-BxPQCRHG.js";import{t as A}from"./info-BLLJpmyv.js";import{t as j}from"./trash-2-BFPsgWSb.js";import{t as M}from"./triangle-alert-Bt6a07CK.js";import{t as N}from"./upload-DINS-nXM.js";import{t as P}from"./wand-sparkles-D1gaPiuH.js";import{cr as F,or as ee,sr as te}from"./constants-BdhyMN3z.js";import{Bt as ne,E as I,Fi as L,Ht as R,Kt as z,Rn as B,Ut as V,Vt as H,Wt as U,ai as W,bi as G,ci as K,tn as q,xi as J,yr as Y}from"./index-D7PshZL1.js";import{t as X}from"./CopyToClipboard-BmLkUzdp.js";import{t as Z}from"./ImagePreview-DN-HUNWG.js";import{t as re}from"./Consumption-CZTTskeC.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-ZOz4p54z.js";import{t as se}from"./ApiCodeButton-BCiH5XH1.js";import{t as ce}from"./BotPlaceholder-CE5nL1Rv.js";import{t as le}from"./ImageWrapper-Dh31KtOC.js";var ue=_({name:`LayoutFlux`,components:{MagicIcon:P,ElDrawer:C,ElButton:L},mixins:[E]}),de={class:`main flex flex-row flex-1`},fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,de,[e(`div`,fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=I(ue,[[`render`,me],[`__scopeId`,`data-v-72e82d52`]]),ge=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=F}}),_e={class:`field`},ve={class:`title font-bold`};function ye(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,_e,[e(`h2`,ve,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=I(ge,[[`render`,ye],[`__scopeId`,`data-v-e9b17945`]]),xe=_({name:`CountSelector`,components:{ElSlider:T,InfoIcon:Q,ElInputNumber:w},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`},Ee={class:`w-full`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Se,[e(`div`,Ce,[e(`span`,we,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Te,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ee,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Oe=I(xe,[[`render`,De]]),ke=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=te}}),Ae={class:`field`},je={class:`title font-bold`};function Me(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ae,[e(`h2`,je,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ne=I(ke,[[`render`,Me],[`__scopeId`,`data-v-81fd05e5`]]),Pe=_({name:`ImageUrlInput`,components:{UploadIcon:N,ElUpload:b,ElButton:L,InfoIcon:Q,ImagePreview:Z},mixins:[U,V,H],emits:[`change`],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)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){J.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){J.error(this.$t(`flux.message.uploadStartImageError`))}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Fe,[e(`div`,Ie,[e(`div`,Le,[e(`span`,Re,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var Be=I(Pe,[[`render`,ze],[`__scopeId`,`data-v-2e7e6966`]]),Ve=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function He(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ue=I(Ve,[[`render`,He]]),We=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:ee}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ge={class:`field`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ge,[e(`h2`,Ke,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=_({name:`PresetPanel`,components:{MagicIcon:P,ElButton:L,PromptInput:Ue,ModelSelector:be,CountSelector:Oe,Consumption:re,ActionSelector:Ne,ImageUrlInput:Be,SizeSelector:I(We,[[`render`,qe],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ye={class:`flex flex-col h-full`},Xe={class:`flex-1 overflow-y-auto p-5`},Ze={class:`flex flex-col items-center justify-center px-5 pb-5`};function Qe(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ye,[e(`div`,Xe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,Ze,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var $e=I(Je,[[`render`,Qe]]),et=_({name:`TaskPreview`,components:{DeleteIcon:j,ElTooltip:x,ChannelIcon:O,InfoIcon:A,MagicIcon:P,TimeIcon:D,WarningIcon:M,CopyToClipboard:X,ElAlert:S,ImageWrapper:le,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),J.success(this.$t(`common.message.deleteTaskSuccess`))}catch{J.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),tt={class:`preview`},nt={class:`left`},rt={class:`main`},it={class:`bot`},at={class:`datetime`},ot=[`aria-label`],st={class:`info`},ct={key:0,class:`prompt mt-2`},lt={key:0},ut={key:0,class:n({content:!0,failed:!0})},dt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ft={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gt={key:1,class:n({content:!0})},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},bt={key:2,class:n({content:!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function St(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return h(),s(`div`,tt,[e(`div`,nt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,rt,[e(`div`,it,[a(y,{capability:`flux`,part:`name`}),e(`span`,at,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ot)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,st,[n.modelValue?.request?.prompt?(h(),s(`p`,ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,lt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,ut,[e(`div`,dt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,ft,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`])]),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,pt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,mt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,gt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,_t,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,vt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,yt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,bt,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,xt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Ct=_({name:`RecentPanel`,components:{TaskPreview:I(et,[[`render`,St],[`__scopeId`,`data-v-6df6d58d`]]),BotPlaceholder:ce,NoTasks:ae,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wt={key:0},Tt={key:2,class:`w-full h-full flex items-center justify-center`};function Et(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,wt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Tt,[a(v)])):o(``,!0)],64)}var Dt=_({name:`FluxIndex`,components:{ConfigPanel:$e,Layout:he,RecentPanel:I(Ct,[[`render`,Et]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e={...this.config,async:!0};if(!q())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}J.info(this.$t(`flux.message.startingTask`)),Y(`flux`,B.generate(e,{token:t})).then(()=>{J.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?J.error(this.$t(`flux.message.usedUp`)):J.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=I(Dt,[[`render`,Ot]]);export{kt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,C as t,Gt as n,I as r,Jt as i,L as a,M as o,N as s,T as c,at as l,ht as u,it as d,j as f,mt as p,rt as m,tt as h,x as g,z as _}from"./vendor-chart-Dw-P17PN.js";import{r as v,t as y}from"./select-CxUZ9bYo.js";import{t as b}from"./upload-Cc3qhAE0.js";import{t as x}from"./tooltip-Jo-ugqke.js";import{t as S}from"./alert-ODkDqebn.js";import{t as C}from"./drawer-DCRdU-HN.js";import{t as w}from"./input-number-CGx3RnZ1.js";import{t as T}from"./slider-Bvp0OEiR.js";import{n as E}from"./taskDrawerMixin-UGFVYgci.js";import{t as D}from"./clock-CrK54Jcu.js";import{r as O,t as k}from"./PromptTextarea-CMgmHTum.js";import{t as A}from"./info-BLbxtdI5.js";import{t as j}from"./trash-2-C7aFw8-B.js";import{t as M}from"./triangle-alert-DLSUERuJ.js";import{t as N}from"./upload-IxtZcQdx.js";import{t as P}from"./wand-sparkles-Ckv9T6U4.js";import{cr as F,or as ee,sr as te}from"./constants-DneM-Qrs.js";import{Bt as ne,E as I,Fi as L,Ht as R,Kt as z,Rn as B,Ut as V,Vt as H,Wt as U,ai as W,bi as G,ci as K,tn as q,xi as J,yr as Y}from"./index-DZ_QWcAX.js";import{t as X}from"./CopyToClipboard-CFBfqG9W.js";import{t as Z}from"./ImagePreview-CfLdEFBX.js";import{t as re}from"./Consumption-Drjn0WCj.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-BnG9-ceq.js";import{t as se}from"./ApiCodeButton-CQ4O8ZWf.js";import{t as ce}from"./BotPlaceholder-SHo5TSBw.js";import{t as le}from"./ImageWrapper-aje7X5xU.js";var ue=_({name:`LayoutFlux`,components:{MagicIcon:P,ElDrawer:C,ElButton:L},mixins:[E]}),de={class:`main flex flex-row flex-1`},fe={class:`config w-[320px] flex-none h-full min-h-0 overflow-hidden flex flex-col bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},pe={class:`result h-full p-6 flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function me(t,n,r,i,o,c){let f=l(`magic-icon`),m=l(`el-button`),_=l(`el-drawer`);return h(),s(`div`,de,[e(`div`,fe,[d(t.$slots,`config`,{},void 0,!0)]),e(`div`,pe,[d(t.$slots,`result`,{},void 0,!0)]),u(a(m,{circle:``,class:`menu`,"aria-label":t.$t(`common.button.openMenu`),title:t.$t(`common.button.openMenu`),onClick:n[0]||=e=>t.drawer=!0},{default:p(()=>[a(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),[[g,!t.tasksEmpty]]),a(_,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer generator-drawer`},{default:p(()=>[d(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var he=I(ue,[[`render`,me],[`__scopeId`,`data-v-72e82d52`]]),ge=_({name:`ModelSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`flux-dev`,label:`flux-dev`},{value:`flux-pro`,label:`flux-pro`},{value:`flux-kontext-pro`,label:`flux-kontext-pro`},{value:`flux-kontext-max`,label:`flux-kontext-max`},{value:`flux-2-flex`,label:`flux-2-flex`},{value:`flux-2-pro`,label:`flux-2-pro`},{value:`flux-2-max`,label:`flux-2-max`}]}},computed:{value:{get(){return this.$store.state.flux?.config?.model},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,model:e})}}},mounted(){this.value||=F}}),_e={class:`field`},ve={class:`title font-bold`};function ye(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,_e,[e(`h2`,ve,i(t.$t(`flux.name.model`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var be=I(ge,[[`render`,ye],[`__scopeId`,`data-v-e9b17945`]]),xe=_({name:`CountSelector`,components:{ElSlider:T,InfoIcon:Q,ElInputNumber:w},computed:{value:{get(){return this.$store.state.flux?.config?.count},set(e){console.debug(`set count`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,count:e})}}},mounted(){this.value||=1}}),Se={class:`flex justify-between`},Ce={class:`flex justify-start items-center`},we={class:`text-sm font-bold`},Te={class:`flex justify-end items-center`},Ee={class:`w-full`};function De(t,n,r,o,c,u){let d=l(`info-icon`),f=l(`el-input-number`),p=l(`el-slider`);return h(),s(`div`,null,[e(`div`,Se,[e(`div`,Ce,[e(`span`,we,i(t.$t(`flux.name.numbers`)),1),a(d,{content:t.$t(`flux.description.numbers`)},null,8,[`content`])]),e(`div`,Te,[a(f,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,"controls-position":`right`},null,8,[`modelValue`])])]),e(`div`,Ee,[a(p,{modelValue:t.value,"onUpdate:modelValue":n[1]||=e=>t.value=e,min:1,max:4,step:1},null,8,[`modelValue`])])])}var Oe=I(xe,[[`render`,De]]),ke=_({name:`ActionSelector`,components:{ElSelect:v,ElOption:y},props:{modelValue:{type:String,default:void 0}},emits:[`update:modelValue`],data(){return{options:[{value:`generate`,label:this.$t(`flux.name.generate`)},{value:`edits`,label:this.$t(`flux.name.edits`)}]}},computed:{value:{get(){return this.$store.state.flux?.config?.action},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,action:e})}}},mounted(){this.value||=te}}),Ae={class:`field`},je={class:`title font-bold`};function Me(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ae,[e(`h2`,je,i(t.$t(`flux.name.task`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e.value,label:e.label,value:e.value},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Ne=I(ke,[[`render`,Me],[`__scopeId`,`data-v-81fd05e5`]]),Pe=_({name:`ImageUrlInput`,components:{UploadIcon:N,ElUpload:b,ElButton:L,InfoIcon:Q,ImagePreview:Z},mixins:[U,V,H],emits:[`change`],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)}},watch:{urls:{handler(e){console.debug(`URLs changed:`,e),this.$store.commit(`flux/setConfig`,{...this.$store.state.flux.config,image_url:e[0]})}}},methods:{onExceed(){J.warning(this.$t(`flux.message.uploadStartImageExceed`))},onError(){J.error(this.$t(`flux.message.uploadStartImageError`))}}}),Fe={class:`relative`},Ie={class:`flex justify-between`},Le={class:`flex justify-start items-center`},Re={class:`text-sm font-bold`};function ze(t,n,o,c,u,d){let f=l(`info-icon`),m=l(`image-preview`),g=l(`upload-icon`),_=l(`el-button`),v=l(`el-upload`);return h(),s(`div`,Fe,[e(`div`,Ie,[e(`div`,Le,[e(`span`,Re,i(t.$t(`flux.name.imageUrl`)),1),a(f,{content:t.$t(`flux.description.imageUrl`)},null,8,[`content`])])]),a(v,{ref:`uploader`,"file-list":t.fileList,"onUpdate:fileList":n[0]||=e=>t.fileList=e,name:`file`,limit:5,class:`upload-wrapper`,accept:`.png,.jpg,.jpeg,.gif,.bmp,.webp`,multiple:!0,"list-type":`picture`,action:t.uploadUrl,"on-exceed":t.onExceed,"on-error":t.onError,headers:t.headers},{file:p(({file:e})=>[a(m,{url:e.url||e.response?.file_url,name:e.name,percentage:e.percentage,onRemove:n=>t.fileList.splice(t.fileList.indexOf(e),1)},null,8,[`url`,`name`,`percentage`,`onRemove`])]),default:p(()=>[a(_,{round:``,type:`primary`,size:`small`,class:`btn btn-upload`},{default:p(()=>[a(g,{class:`icon mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.uploadImageUrl`)),1)]),_:1})]),_:1},8,[`file-list`,`action`,`on-exceed`,`on-error`,`headers`])])}var Be=I(Pe,[[`render`,ze],[`__scopeId`,`data-v-2e7e6966`]]),Ve=_({name:`PromptInput`,components:{PromptTextarea:k},computed:{prompt:{get(){return this.$store.state.flux?.config?.prompt},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,prompt:e})}}},mounted(){this.prompt||=``}});function He(e,t,n,r,i,a){let o=l(`prompt-textarea`);return h(),f(o,{modelValue:e.prompt,"onUpdate:modelValue":t[0]||=t=>e.prompt=t,title:e.$t(`flux.name.prompt`),info:e.$t(`flux.description.prompt`),placeholder:e.$t(`flux.placeholder.prompt`)},null,8,[`modelValue`,`title`,`info`,`placeholder`])}var Ue=I(Ve,[[`render`,He]]),We=_({name:`SizeSelector`,components:{ElSelect:v,ElOption:y},data(){return{options:ee}},computed:{value:{get(){return this.$store.state.flux?.config?.size},set(e){this.$store.commit(`flux/setConfig`,{...this.$store.state.flux?.config,size:e})}}},mounted(){this.value||=`1:1`}}),Ge={class:`field`},Ke={class:`title font-bold`};function qe(t,n,r,o,u,d){let g=l(`el-option`),_=l(`el-select`);return h(),s(`div`,Ge,[e(`h2`,Ke,i(t.$t(`flux.name.ratio`)),1),a(_,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`flux.placeholder.select`)},{default:p(()=>[(h(!0),s(c,null,m(t.options,e=>(h(),f(g,{key:e,label:e,value:e},null,8,[`label`,`value`]))),128))]),_:1},8,[`modelValue`,`placeholder`])])}var Je=_({name:`PresetPanel`,components:{MagicIcon:P,ElButton:L,PromptInput:Ue,ModelSelector:be,CountSelector:Oe,Consumption:re,ActionSelector:Ne,ImageUrlInput:Be,SizeSelector:I(We,[[`render`,qe],[`__scopeId`,`data-v-8c58dc91`]])},emits:[`generate`],computed:{config(){return this.$store.state.flux?.config},consumption(){return z(this.config,this.service?.cost)},service(){return this.$store.state.flux?.service}},methods:{onGenerate(){this.$emit(`generate`)}}}),Ye={class:`flex flex-col h-full`},Xe={class:`flex-1 overflow-y-auto p-5`},Ze={class:`flex flex-col items-center justify-center px-5 pb-5`};function Qe(t,n,c,u,d,m){let g=l(`action-selector`),_=l(`prompt-input`),v=l(`image-url-input`),y=l(`model-selector`),b=l(`size-selector`),x=l(`count-selector`),S=l(`consumption`),C=l(`magic-icon`),w=l(`el-button`);return h(),s(`div`,Ye,[e(`div`,Xe,[a(g,{class:`mb-4`}),a(_,{class:`mb-4`}),t.config?.action===`edits`?(h(),f(v,{key:0,class:`mb-4`})):o(``,!0),a(y,{class:`mb-4`}),a(b,{class:`mb-4`}),a(x,{class:`mb-4`})]),e(`div`,Ze,[a(S,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),a(w,{type:`primary`,class:`btn w-full`,round:``,onClick:t.onGenerate},{default:p(()=>[a(C,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(t.$t(`flux.button.generate`)),1)]),_:1},8,[`onClick`])])])}var $e=I(Je,[[`render`,Qe]]),et=_({name:`TaskPreview`,components:{DeleteIcon:j,ElTooltip:x,ChannelIcon:O,InfoIcon:A,MagicIcon:P,TimeIcon:D,WarningIcon:M,CopyToClipboard:X,ElAlert:S,ImageWrapper:le,ApiCodeButton:se},props:{modelValue:{type:Object,required:!0}},data(){return{}},computed:{application(){return this.$store.state.flux?.application},config(){return this.$store.state.flux?.config},images(){let e=[],t=this.modelValue?.request?.action;return Array.isArray(this.modelValue?.response?.data)&&this.modelValue?.response?.data?.forEach(n=>{let r=n;t&&(r.action=t),e.push(r)}),e}},methods:{async onDelete(){let e=this.modelValue?.id;if(e){try{await G.confirm(this.$t(`common.message.deleteTaskConfirm`),this.$t(`common.button.delete`),{type:`warning`,confirmButtonText:this.$t(`common.button.delete`),cancelButtonText:this.$t(`common.button.cancel`),confirmButtonClass:`el-button--danger`})}catch{return}try{await this.$store.dispatch(`flux/deleteTask`,{id:e}),J.success(this.$t(`common.message.deleteTaskSuccess`))}catch{J.error(this.$t(`common.message.deleteTaskFailed`))}}},onDownload(e,t){e?.stopPropagation(),console.log(`on download`),window.open(t,`_blank`)},onOpenImage(e){window.open(e,`_blank`)}}}),tt={class:`preview`},nt={class:`left`},rt={class:`main`},it={class:`bot`},at={class:`datetime`},ot=[`aria-label`],st={class:`info`},ct={key:0,class:`prompt mt-2`},lt={key:0},ut={key:0,class:n({content:!0,failed:!0})},dt={class:`flex justify-start items-center gap-4 w-full overflow-x-auto`},ft={class:n({operations:!0,"mt-2":!0,"mb-2":!0})},pt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},mt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},ht={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-0`},gt={key:1,class:n({content:!0})},_t={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},vt={class:`text-[var(--el-text-color-regular)] text-xs mb-2`},yt={key:0,class:`text-[var(--el-text-color-regular)] text-xs mb-2`},$={class:`text-[var(--el-text-color-regular)] text-xs mb-0`},bt={key:2,class:n({content:!0})},xt={class:`text-[var(--el-text-color-regular)] text-xs mb-0`};function St(n,u,d,g,_,v){let y=l(`capability-presentation`),b=l(`delete-icon`),x=l(`el-tooltip`),S=l(`image-wrapper`),C=l(`api-code-button`),w=l(`channel-icon`),T=l(`magic-icon`),E=l(`copy-to-clipboard`),D=l(`time-icon`),O=l(`el-alert`),k=l(`warning-icon`),A=l(`info-icon`);return h(),s(`div`,tt,[e(`div`,nt,[a(y,{capability:`flux`,part:`avatar`,class:`avatar`})]),e(`div`,rt,[e(`div`,it,[a(y,{capability:`flux`,part:`name`}),e(`span`,at,i(n.$dayjs.format(``+new Date(parseFloat((n.modelValue?.created_at||``).toString())*1e3))),1),a(x,{effect:`dark`,content:n.$t(`common.button.delete`),placement:`top`},{default:p(()=>[n.modelValue?.id?(h(),s(`button`,{key:0,type:`button`,class:`btn-delete`,"aria-label":n.$t(`common.button.delete`),onClick:u[0]||=t((...e)=>n.onDelete&&n.onDelete(...e),[`stop`])},[a(b,{size:`1em`,"aria-hidden":`true`,focusable:`false`})],8,ot)):o(``,!0)]),_:1},8,[`content`])]),e(`div`,st,[n.modelValue?.request?.prompt?(h(),s(`p`,ct,[r(i(n.modelValue?.request?.prompt)+` `,1),n.modelValue?.response?o(``,!0):(h(),s(`span`,lt,` - (`+i(n.$t(`flux.status.pending`))+`) `,1))])):o(``,!0)]),n.modelValue?.response?.success===!0?(h(),s(`div`,ut,[e(`div`,dt,[(h(!0),s(c,null,m(n.images,(e,t)=>(h(),f(S,{key:t,src:e?.image_url,"raw-src":e?.image_url,"model-value":e},null,8,[`src`,`raw-src`,`model-value`]))),128))]),e(`div`,ft,[a(C,{path:`/flux/images`,body:n.modelValue?.request},null,8,[`body`])]),a(O,{closable:!1,class:`mt-2 success`},{default:p(()=>[e(`p`,pt,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.model`))+`: `+i(n.modelValue?.request?.model),1)]),e(`p`,mt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy inline-block`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,ht,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0)]),_:1})])):o(``,!0),n.modelValue?.response?.success===!1?(h(),s(`div`,gt,[a(O,{closable:!1,class:`failure`},{template:p(()=>[a(k,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failure`)),1)]),default:p(()=>[e(`p`,_t,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])]),e(`p`,vt,[a(A,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.failureReason`))+`: `+i(n.modelValue?.response?.error?.message)+` `,1),a(E,{content:n.modelValue?.response?.error?.message,class:`btn-copy`},null,8,[`content`])]),n.modelValue?.elapsed?(h(),s(`p`,yt,[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.elapsed`))+`: `+i(n.modelValue?.elapsed?.toFixed(2))+`s `,1)])):o(``,!0),e(`p`,$,[a(w,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.traceId`))+`: `+i(n.modelValue?.response?.trace_id)+` `,1),a(E,{content:n.modelValue?.response?.trace_id,class:`btn-copy`},null,8,[`content`])])]),_:1})])):o(``,!0),n.modelValue?.response?o(``,!0):(h(),s(`div`,bt,[a(O,{closable:!1,class:`info`},{template:p(()=>[a(D,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.status.pending`)),1)]),default:p(()=>[e(`p`,xt,[a(T,{class:`mr-1`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),r(` `+i(n.$t(`flux.name.taskId`))+`: `+i(n.modelValue?.id)+` `,1),a(E,{content:n.modelValue?.id,class:`btn-copy`},null,8,[`content`])])]),_:1})]))])])}var Ct=_({name:`RecentPanel`,components:{TaskPreview:I(et,[[`render`,St],[`__scopeId`,`data-v-6df6d58d`]]),BotPlaceholder:ce,NoTasks:ae,ScrollList:ie},props:{loading:{type:Boolean,default:!1}},emits:[`reach-top`],data(){return{job:0}},computed:{tasks(){return{...this.$store.state.flux?.tasks,items:this.$store.state.flux?.tasks?.items?.slice()}}},methods:{getScrollElement(){return this.$refs.scrollList?.getScrollElement?.()}}}),wt={key:0},Tt={key:2,class:`w-full h-full flex items-center justify-center`};function Et(e,t,n,r,i,u){let d=l(`bot-placeholder`),g=l(`task-preview`),_=l(`scroll-list`),v=l(`no-tasks`);return h(),s(c,null,[e.tasks?.items===void 0?(h(),s(`div`,wt,[a(d)])):e.tasks?.items?.length&&e.tasks?.items?.length>0?(h(),f(_,{key:1,ref:`scrollList`,class:`tasks h-full w-full overflow-y-auto`,loading:e.loading,onReachTop:t[0]||=t=>e.$emit(`reach-top`)},{default:p(()=>[(h(!0),s(c,null,m(e.tasks?.items,e=>(h(),f(g,{key:e.id,"model-value":e},null,8,[`model-value`]))),128))]),_:1},8,[`loading`])):o(``,!0),e.tasks?.items?.length===0?(h(),s(`div`,Tt,[a(v)])):o(``,!0)],64)}var Dt=_({name:`FluxIndex`,components:{ConfigPanel:$e,Layout:he,RecentPanel:I(Ct,[[`render`,Et]])},mixins:[R],inject:[`initialized`],data(){return{task:void 0,job:0,loadingMore:!1,fetchingTasks:!1}},computed:{applicationsLoading(){return this.$store.state.flux?.status?.getApplications===W.Request},tasksLoading(){return this.$store.state.flux?.status?.getTasks===W.Request||this.fetchingTasks},credential(){return this.$store.state.flux?.credential},config(){return this.$store.state.flux?.config},application(){return this.$store.state.flux?.application},tasks(){return this.$store.state.flux?.tasks}},watch:{tasks:{handler(e,t){e?.items?.length>t?.items?.length&&console.debug(`new tasks detected`)},deep:!0},initialized:{async handler(e){e&&(console.debug(`layout initialized`),await this.onGetTasks(),await this.onScrollDown(),this.job=window.setInterval(()=>{this.onGetTasks()},5e3))},immediate:!0}},async mounted(){await this.onGetService()},async unmounted(){window.clearInterval(this.job)},methods:{async onReachTop(){await oe({tasks:this.tasks,getTasks:()=>this.tasks,loading:this.loadingMore,setLoading:e=>this.loadingMore=e,isBlocked:()=>this.tasksLoading||this.applicationsLoading,fetch:e=>this.onGetTasks({createdAtMax:e}),getScrollElement:()=>this.getTasksScrollElement()})},async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`flux/getService`),console.debug(`end onGetService`)},async onGetApplication(){console.debug(`start onGetApplication`),await this.$store.dispatch(`flux/getApplications`),console.debug(`end onGetApplication`),await this.onGetTasks()},async onScrollDown(){await this.$nextTick();let e=this.getTasksScrollElement();e&&(e.scrollTop=e.scrollHeight)},async onGetTasks(e){if(this.applicationsLoading||this.fetchingTasks){console.debug(`loading`);return}console.debug(`start onGetTasks`,e);let{limit:t=5,createdAtMin:n,createdAtMax:r}=e||{};console.debug(`limit`,t,`createdAtMin`,n,`createdAtMax`,r),this.fetchingTasks=!0;try{await this.$store.dispatch(`flux/getTasks`,{limit:t,createdAtMin:n,createdAtMax:r})}finally{this.fetchingTasks=!1}},async onGenerate(){if(!ne(this.uploadTracker,e=>this.$t(e),e=>J.warning(e)))return;let e={...this.config,async:!0};if(!q())return;let t=this.credential?.token;if(!t){console.error(`no token specified`);return}J.info(this.$t(`flux.message.startingTask`)),Y(`flux`,B.generate(e,{token:t})).then(()=>{J.success(this.$t(`flux.message.startTaskSuccess`))}).catch(e=>{let t=e?.response?.data;t?.error?.code===`used_up`?J.error(this.$t(`flux.message.usedUp`)):J.error(this.$t(`flux.message.startTaskFailed`)+t?.error?.message)}).finally(async()=>{setTimeout(async()=>{await this.onGetTasks(),await this.onScrollDown()},1e3)})},getTasksScrollElement(){return this.$refs.recentPanel?.getScrollElement?.()}}});function Ot(e,t,n,r,i,o){let s=l(`config-panel`),c=l(`recent-panel`),u=l(`layout`);return h(),f(u,null,{config:p(()=>[a(s,{onGenerate:e.onGenerate},null,8,[`onGenerate`])]),result:p(()=>[a(c,{ref:`recentPanel`,loading:e.loadingMore,onReachTop:e.onReachTop},null,8,[`loading`,`onReachTop`])]),_:1})}var kt=I(Dt,[[`render`,Ot]]);export{kt as default};