@acedatacloud/nexior 3.340.0 → 3.340.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/dist/assets/{ApiCodeButton-C53iqEQJ.js → ApiCodeButton-Ca2t5oht.js} +1 -1
  2. package/dist/assets/{Artifacts-DhlQzEQE.js → Artifacts-CSz2HHK4.js} +1 -1
  3. package/dist/assets/{AskUserQuestionCard-BcFriHpf.js → AskUserQuestionCard-CVCPjKMB.js} +1 -1
  4. package/dist/assets/{AudioPreview-DBlfO6Xc.js → AudioPreview-Bsi-BEdp.js} +1 -1
  5. package/dist/assets/{Auth-Dr_839SO.js → Auth-CKzhe8xO.js} +1 -1
  6. package/dist/assets/{Bare-CAMZgvl_.js → Bare-PzqhBErQ.js} +1 -1
  7. package/dist/assets/{BotPlaceholder-BVLOfJ2E.js → BotPlaceholder-DPxy-R-3.js} +1 -1
  8. package/dist/assets/{BottomFooter-TiOblMeI.js → BottomFooter-Sof29EUR.js} +1 -1
  9. package/dist/assets/{Callback-Bgkx-B3y.js → Callback-BFC1a-40.js} +1 -1
  10. package/dist/assets/{CodeSnippet-DqNabo9W.js → CodeSnippet-3hUWHSAq.js} +1 -1
  11. package/dist/assets/{Console-dGJY3uFE.js → Console-CsEqsf79.js} +1 -1
  12. package/dist/assets/{Consumption-DsITlBWE.js → Consumption-U_Dg1D--.js} +1 -1
  13. package/dist/assets/{Conversation-DooUC60y.js → Conversation-Die0rHDz.js} +1 -1
  14. package/dist/assets/{Conversation-Dj5BcvUq.js → Conversation-YOUukTni.js} +1 -1
  15. package/dist/assets/{CopyToClipboard-DjaFSD8h.js → CopyToClipboard-B0rNWv9m.js} +1 -1
  16. package/dist/assets/{Detail-NhRxkjlq.js → Detail-C6bGctP2.js} +2 -2
  17. package/dist/assets/{Extra-C1G7zbtI.js → Extra-Bp9rZIsu.js} +1 -1
  18. package/dist/assets/{FilePreview-B9t0uoeF.js → FilePreview-DVBr-iNy.js} +1 -1
  19. package/dist/assets/{Hailuo-CL6Ps8ey.js → Hailuo-CO5qAVAp.js} +1 -1
  20. package/dist/assets/{History-C1IFE3AK.js → History-B8U1ZMMe.js} +1 -1
  21. package/dist/assets/{ImagePreview-b03ynxL7.js → ImagePreview-D5LvVpsi.js} +1 -1
  22. package/dist/assets/{ImageWrapper-fcuuvktS.js → ImageWrapper-M7i5D4bw.js} +1 -1
  23. package/dist/assets/{Index-CImgfVak.js → Index-B0XPW6pR.js} +1 -1
  24. package/dist/assets/{Index-Cq8FSlcm.js → Index-B7p9Phc4.js} +1 -1
  25. package/dist/assets/{Index-CT2KK54Q2.js → Index-B95cHzni2.js} +1 -1
  26. package/dist/assets/{Index-ODNBY7SW.js → Index-BLNmAN3q.js} +1 -1
  27. package/dist/assets/{Index-BYTzdZyj.js → Index-BX8zKP5c.js} +1 -1
  28. package/dist/assets/{Index-lsV3XiEo.js → Index-B_pr1DsY.js} +1 -1
  29. package/dist/assets/{Index-C6j5M9WH.js → Index-BaKpBOBZ.js} +1 -1
  30. package/dist/assets/{Index-6c2Ur0gi.js → Index-C8aMlaWB.js} +1 -1
  31. package/dist/assets/{Index-CHMShReg.js → Index-CDAZ261s.js} +1 -1
  32. package/dist/assets/Index-CEjLe9Kj.js +1 -0
  33. package/dist/assets/{Index-CfGs6fy92.js → Index-CGDc1THh2.js} +1 -1
  34. package/dist/assets/{Index-BWUUjYCb.js → Index-CKP_nsDR.js} +1 -1
  35. package/dist/assets/{Index-8IlOdDgM.js → Index-CaFFDWID.js} +1 -1
  36. package/dist/assets/{Index-CWZQWicD.js → Index-CbzzX6Ff.js} +1 -1
  37. package/dist/assets/{Index-BSt_cGkK2.js → Index-Ce9LDmjJ2.js} +1 -1
  38. package/dist/assets/{Index-Bf1aCfej.js → Index-CuJiKg2G.js} +1 -1
  39. package/dist/assets/{Index-DBCrRPIg.js → Index-D48tTThw.js} +1 -1
  40. package/dist/assets/{Index-BlGkV7ak.js → Index-DI-r2dV4.js} +1 -1
  41. package/dist/assets/{Index-BxVzjszm2.js → Index-DKEdFEKl2.js} +1 -1
  42. package/dist/assets/{Index-DSqvDROa2.js → Index-DM1-yrCu2.js} +1 -1
  43. package/dist/assets/{Index-C7uOUABI2.js → Index-DPiiXVM22.js} +1 -1
  44. package/dist/assets/{Index-PfKTsZ3G2.js → Index-DZOEgJLE2.js} +1 -1
  45. package/dist/assets/{Index-CLdIE6-p.css → Index-DpK70bSq.css} +1 -1
  46. package/dist/assets/{Index-D9aCoNvv.js → Index-DvJ3AYEd.js} +1 -1
  47. package/dist/assets/{Index-DGyN8Om6.js → Index-H_xCpY9Z.js} +1 -1
  48. package/dist/assets/{Index-LwgrxUef.js → Index-M0E1pU1S.js} +1 -1
  49. package/dist/assets/{Index-Zp_nb7A0.js → Index-MlRcBhc1.js} +1 -1
  50. package/dist/assets/{Index-BT2p3Wmd.js → Index-X8pDSzKj.js} +1 -1
  51. package/dist/assets/{Index-DLaUd-vF.js → Index-_Tgk8UlC.js} +1 -1
  52. package/dist/assets/{Index-DZ0eV8Uk.js → Index-cRDFhwyf.js} +1 -1
  53. package/dist/assets/{Index-aug2J_4b.js → Index-qhdInzRB.js} +1 -1
  54. package/dist/assets/{Invitees-DUEJqgMm.js → Invitees-DhIq0xIV.js} +1 -1
  55. package/dist/assets/{List-C_E4sOF9.js → List-CLPTmya_.js} +1 -1
  56. package/dist/assets/{List-D9YQrHxw.js → List-CZvid2js.js} +1 -1
  57. package/dist/assets/{List-CNsHHuZX.js → List-DVJICAYh.js} +1 -1
  58. package/dist/assets/{LocalTools-CpToFV55.js → LocalTools-B8mmowFQ.js} +1 -1
  59. package/dist/assets/{LocalTools-BbdUPXgw.js → LocalTools-t1eHeUqA.js} +1 -1
  60. package/dist/assets/{Main-CLFmXixx.js → Main-ReKT23qv.js} +1 -1
  61. package/dist/assets/{Message-D7XI1GqO.js → Message-D5E7sHUs.js} +1 -1
  62. package/dist/assets/{Model-DQcpcqab.js → Model-D-STaBvj.js} +1 -1
  63. package/dist/assets/{Navigator-DFO27NGz.js → Navigator-JImq04Rc.js} +3 -3
  64. package/dist/assets/{NotFound-gP5-KjW8.js → NotFound-CGVkRTE2.js} +1 -1
  65. package/dist/assets/{Pay-3XB9OmLU.js → Pay-DD9oJDaA.js} +1 -1
  66. package/dist/assets/{Player-sLmc2Uk_.js → Player-BWtaYMm1.js} +1 -1
  67. package/dist/assets/{Poivelle-B_tjy6aV.js → Poivelle-Q-lnGVf3.js} +1 -1
  68. package/dist/assets/{PromptTextarea-DzLkvnua.js → PromptTextarea-B6ud6e3y.js} +1 -1
  69. package/dist/assets/{RealtimeCall-BL60h9Vx.js → RealtimeCall-BajtLNtL.js} +1 -1
  70. package/dist/assets/ScheduledTasks-3dTNH_bc.js +2 -0
  71. package/dist/assets/ScheduledTasks-tXV5krzi.css +1 -0
  72. package/dist/assets/{Status-BA52MaNQ.js → Status-Dv4Awk2T.js} +1 -1
  73. package/dist/assets/{Subscribe-BmA6p9Q1.js → Subscribe-CTk_f34V.js} +1 -1
  74. package/dist/assets/{TabSwitcher-CWkcNrnf.js → TabSwitcher-CMYmra4w.js} +1 -1
  75. package/dist/assets/{Tts-DlYouSuG.js → Tts-CQA82N-R.js} +1 -1
  76. package/dist/assets/{VideoPlayer-B3LF1ktd.js → VideoPlayer-DekA89LY.js} +1 -1
  77. package/dist/assets/{alert-CRHBgg7r.js → alert-0X9r_LZa.js} +1 -1
  78. package/dist/assets/arrow-down-9NFKm4d1.js +1 -0
  79. package/dist/assets/{arrow-down-wide-narrow-wgc-CX8H.js → arrow-down-wide-narrow-BApkHXdD.js} +1 -1
  80. package/dist/assets/arrow-left-BavmIv3d.js +1 -0
  81. package/dist/assets/arrow-right-DfUUGgM0.js +1 -0
  82. package/dist/assets/arrow-up-CtCOrdgt.js +1 -0
  83. package/dist/assets/{avatar-CPGQkpMq.js → avatar-C9F6aNsq.js} +1 -1
  84. package/dist/assets/{basic-B-rk4HWN.js → basic-Xq1K7Suw.js} +1 -1
  85. package/dist/assets/{box-47XDEQlP.js → box-B3q7-eW8.js} +1 -1
  86. package/dist/assets/{boxes-CMI7YUPa.js → boxes-ChdBAceL.js} +1 -1
  87. package/dist/assets/{brain-n1WvTwZR.js → brain-Q3njj4jy.js} +1 -1
  88. package/dist/assets/{chart-no-axes-combined-B6WPcV1a.js → chart-no-axes-combined-DsaUyHIA.js} +1 -1
  89. package/dist/assets/{chat-a7G9yGpP.js → chat-PluT2-yx.js} +1 -1
  90. package/dist/assets/check-Cb0lkXgb.js +1 -0
  91. package/dist/assets/chevron-down-K17USVnF.js +1 -0
  92. package/dist/assets/chevron-right-DYLqk5Zj.js +1 -0
  93. package/dist/assets/circle-check-e33CY79t.js +1 -0
  94. package/dist/assets/clock-BorWVMN0.js +1 -0
  95. package/dist/assets/codingBridge-B02Fk-m_.js +1 -0
  96. package/dist/assets/codingBridge-BW6K_uXC.js +1 -0
  97. package/dist/assets/codingBridge-Bl7r72IF.js +1 -0
  98. package/dist/assets/codingBridge-BtoubDu1.js +1 -0
  99. package/dist/assets/codingBridge-C7F_OBN7.js +1 -0
  100. package/dist/assets/codingBridge-COSYJOC9.js +1 -0
  101. package/dist/assets/codingBridge-CRxS8NV9.js +1 -0
  102. package/dist/assets/{codingBridge-BAuqbil5.js → codingBridge-Cy8GJBKr.js} +1 -1
  103. package/dist/assets/codingBridge-D0CvPL7T.js +1 -0
  104. package/dist/assets/codingBridge-DGqR4ldH.js +1 -0
  105. package/dist/assets/codingBridge-DH0d6XC3.js +1 -0
  106. package/dist/assets/codingBridge-DQbPZtQ_.js +1 -0
  107. package/dist/assets/codingBridge-DaXv9Xln.js +1 -0
  108. package/dist/assets/{codingBridge-9dmspAt1.js → codingBridge-Dig1RYqB.js} +1 -1
  109. package/dist/assets/codingBridge-DqOFAj0w.js +1 -0
  110. package/dist/assets/codingBridge-DrAGe50k.js +1 -0
  111. package/dist/assets/codingBridge-WPpaQLwZ.js +1 -0
  112. package/dist/assets/codingBridge-oXxmZQ3-.js +1 -0
  113. package/dist/assets/codingBridge-t_aphQY7.js +1 -0
  114. package/dist/assets/{codingBridgeNotify-ByLUF7rm.js → codingBridgeNotify-Cl2XgwDs.js} +2 -2
  115. package/dist/assets/{coins-COUuOITw.js → coins-CZiC-IqF.js} +1 -1
  116. package/dist/assets/{collapse-D3vQMyuD.js → collapse-C70WFXpl.js} +1 -1
  117. package/dist/assets/{constants-ChRYidMs.js → constants-uGTfiXHA.js} +1 -1
  118. package/dist/assets/{copy-gbh1Hu-_.js → copy-BiXCyJWx.js} +1 -1
  119. package/dist/assets/{createTaskActions-CHWFXisn.js → createTaskActions-_uv4YTWm.js} +1 -1
  120. package/dist/assets/{digitalhuman-WcRqTqSJ.js → digitalhuman-BT6YqA5d.js} +1 -1
  121. package/dist/assets/{dollar-sign-fvSq6HvT.js → dollar-sign-Dl5qGxJd.js} +1 -1
  122. package/dist/assets/{download-CG81Did-.js → download-B_fipmob.js} +1 -1
  123. package/dist/assets/{drawer-BZGf6ZhI.js → drawer-B5OXGnZJ.js} +1 -1
  124. package/dist/assets/{dropdown-BBqC0uWO.js → dropdown-RhhYNGec.js} +1 -1
  125. package/dist/assets/{dropdown-BCi6FXaJ.js → dropdown-ggPG2EBb.js} +1 -1
  126. package/dist/assets/{ellipsis-a4Bk1qVm.js → ellipsis-B_uQaauC.js} +1 -1
  127. package/dist/assets/{esm-NezqVFAM.js → esm-B-0-uPgY.js} +1 -1
  128. package/dist/assets/{esm-DSrcKj2_.js → esm-B-brq88c.js} +2 -2
  129. package/dist/assets/{esm-DXJhje5t.js → esm-B0VriSWb.js} +2 -2
  130. package/dist/assets/{esm-CysK7GKi.js → esm-BP1jBsIm.js} +1 -1
  131. package/dist/assets/{esm-DeiyNqVX.js → esm-CQjiP6eY.js} +1 -1
  132. package/dist/assets/esm-msmUY8uJ.js +1 -0
  133. package/dist/assets/{esm-qpzPZ_mj.js → esm-rIkb89oC.js} +3 -3
  134. package/dist/assets/{external-link-EzZxNXQ9.js → external-link-bJHHgl1s.js} +1 -1
  135. package/dist/assets/{eye-DPR3t5H4.js → eye-CcP5WjAH.js} +1 -1
  136. package/dist/assets/{file-output-Ddb60zUZ.js → file-output-BaHQYHdy.js} +1 -1
  137. package/dist/assets/{file-text-D0VMwMGQ.js → file-text-BxeF2BAA.js} +1 -1
  138. package/dist/assets/{fish-DYRPNr5z.js → fish-DrOtDAKl.js} +1 -1
  139. package/dist/assets/{flux-BkG6ASg7.js → flux-D8V-oAbj.js} +1 -1
  140. package/dist/assets/{folder-ClSkgYIN.js → folder-C-z01E8c.js} +1 -1
  141. package/dist/assets/gauge-YkHlGavM.js +1 -0
  142. package/dist/assets/{globe-Cst9bSnj.js → globe-4pXuESga.js} +1 -1
  143. package/dist/assets/{grokvideo-mNntjoyY.js → grokvideo-XCNMDWSf.js} +1 -1
  144. package/dist/assets/{hailuo-F1AoVBCE.js → hailuo-K0Tp9fm7.js} +1 -1
  145. package/dist/assets/{headphones-_SL2ngUm.js → headphones-KrdCsRgz.js} +1 -1
  146. package/dist/assets/{history-C4mTAvhH.js → history-ePfHX1tr.js} +1 -1
  147. package/dist/assets/{house-C6rVua6s.js → house-DWRZAVVr.js} +1 -1
  148. package/dist/assets/{i18n-CBsCcxss.js → i18n-CZTrcc0r.js} +1 -1
  149. package/dist/assets/{image-CrociZMa.js → image-k2xyZ8cu.js} +1 -1
  150. package/dist/assets/{index-B7AvV6gb.js → index-MKGzUXII.js} +4 -4
  151. package/dist/assets/{index.browser.esm-BkdaJSC1.js → index.browser.esm-BUr3bvjl.js} +1 -1
  152. package/dist/assets/{index.es-CfsshD34.js → index.es-DUXOHrz4.js} +1 -1
  153. package/dist/assets/{info-b31RIJKS.js → info-YAtu1dKC.js} +1 -1
  154. package/dist/assets/{input-number-7NoaJFRg.js → input-number-D_opSMz3.js} +1 -1
  155. package/dist/assets/{key-round-BuUXc3LI.js → key-round-CQhEBCcX.js} +1 -1
  156. package/dist/assets/{kling-DXFm-Vrf.js → kling-CqXuHvOJ.js} +1 -1
  157. package/dist/assets/{languages-T3h-MRu3.js → languages-DbslC9H8.js} +1 -1
  158. package/dist/assets/{laptop-CvHOFeWt.js → laptop-Dic5pfMB.js} +1 -1
  159. package/dist/assets/{lightbulb-B69DHoPU.js → lightbulb-DR4RN7Nd.js} +1 -1
  160. package/dist/assets/{link-Rds3CFa2.js → link-DMp0Cp67.js} +1 -1
  161. package/dist/assets/loader-circle-CAC6z6ku.js +1 -0
  162. package/dist/assets/{luma-C4AnyIcV.js → luma-B-d1M1V7.js} +1 -1
  163. package/dist/assets/{maestro-pARlroeQ.js → maestro-DNEzB65C.js} +1 -1
  164. package/dist/assets/{maestro-CHc2bCDT.js → maestro-IofNyDl9.js} +1 -1
  165. package/dist/assets/{mail-Dr4pLLtF.js → mail-RqNbQNMp.js} +1 -1
  166. package/dist/assets/{message-circle-BcGNzIqU.js → message-circle-BkggHPTe.js} +1 -1
  167. package/dist/assets/{mic-261ODdC5.js → mic-D-cbsjoP.js} +1 -1
  168. package/dist/assets/{midjourney-DhYwAR-2.js → midjourney-veOCxFLq.js} +1 -1
  169. package/dist/assets/{mobileLocalExec-DgvSRKH8.js → mobileLocalExec-Cojv0IiS.js} +2 -2
  170. package/dist/assets/{mouse-pointer-2-DcsISNp6.js → mouse-pointer-2-Bc2WTGoY.js} +1 -1
  171. package/dist/assets/music-2-Cp1bLztN.js +1 -0
  172. package/dist/assets/{nanobanana-UVOi6CUI.js → nanobanana-DhAfrCtP.js} +1 -1
  173. package/dist/assets/{omni-y32Foccy.js → omni-3C9B8qKE.js} +1 -1
  174. package/dist/assets/{openaiimage-BblyVnx1.js → openaiimage-sZrNqVqC.js} +1 -1
  175. package/dist/assets/{pagination-DnB7ouBK.js → pagination-BFuo1mCr.js} +1 -1
  176. package/dist/assets/{pagination-CoGkcyAo.js → pagination-BPYez0ID.js} +1 -1
  177. package/dist/assets/{palette-DMbY5GYC.js → palette-2TcrDMst.js} +1 -1
  178. package/dist/assets/{paperclip-CAlRj4_H.js → paperclip-DlEFXZKg.js} +1 -1
  179. package/dist/assets/{pause-tW8Kn0a8.js → pause-CsX2WxcP.js} +1 -1
  180. package/dist/assets/{pencil-Df-6bbXx.js → pencil-Do3iIccO.js} +1 -1
  181. package/dist/assets/{pika-Bj7F-g-e.js → pika-cBO0UPHo.js} +1 -1
  182. package/dist/assets/{pixverse-CQPOixS1.js → pixverse-B8zLuGjP.js} +1 -1
  183. package/dist/assets/play-DHkX77je.js +1 -0
  184. package/dist/assets/plus-B_ldEJ36.js +1 -0
  185. package/dist/assets/{poivelle-Ws7saXsu.js → poivelle-CRiyYCPr.js} +1 -1
  186. package/dist/assets/{popover-DIhVVXRx.js → popover-CZeNQMZx.js} +1 -1
  187. package/dist/assets/{producer-BsY7ApiR.js → producer-CeE6JyW7.js} +1 -1
  188. package/dist/assets/{qrart-CqOuYyAM.js → qrart-DfH2lcVj.js} +1 -1
  189. package/dist/assets/{realtime-B1SMTllz.js → realtime-C48lvKKd.js} +1 -1
  190. package/dist/assets/{refresh-cw-BfGn0-Qb.js → refresh-cw-Ds0bzmI7.js} +1 -1
  191. package/dist/assets/rotate-ccw-4-H14mnq.js +1 -0
  192. package/dist/assets/rotate-cw-DhEpxIMD.js +1 -0
  193. package/dist/assets/{row-DrXf0_C2.js → row-DtM2hvVQ.js} +1 -1
  194. package/dist/assets/search-eQcCSM6M.js +1 -0
  195. package/dist/assets/{seedance-BGEhqMEr.js → seedance-CpmIYdk5.js} +1 -1
  196. package/dist/assets/{seedream-BDzs7lv6.js → seedream-CMBy0ex-.js} +1 -1
  197. package/dist/assets/{select-CpvztHBU.js → select-CwNWPYD1.js} +1 -1
  198. package/dist/assets/{serp-CAOKmMPj.js → serp-B0qcBD4L.js} +1 -1
  199. package/dist/assets/{shield-Cx5H35pg.js → shield-DK6rgYrD.js} +1 -1
  200. package/dist/assets/{shuffle-GjsQeLmo.js → shuffle-8TYit0Bz.js} +1 -1
  201. package/dist/assets/{slider-C4b9QcFi.js → slider-CsKtEfni.js} +1 -1
  202. package/dist/assets/{sliders-horizontal-BNAJnZQP.js → sliders-horizontal-CvSCy7k9.js} +1 -1
  203. package/dist/assets/{solana-wallets-uD-WHvp1.js → solana-wallets-Co6VfCqm.js} +2 -2
  204. package/dist/assets/{solana-wallets-vue-EzjUux3e.js → solana-wallets-vue-7elyvYsV.js} +1 -1
  205. package/dist/assets/{sora-sr37OxD8.js → sora-DGViX1zP.js} +1 -1
  206. package/dist/assets/{sparkles-C-lRE-Ow.js → sparkles-BogJwLqJ.js} +1 -1
  207. package/dist/assets/square-x6-dU9wQ.js +1 -0
  208. package/dist/assets/{suno-Cv4TAPJe.js → suno-Cp-0qUm4.js} +1 -1
  209. package/dist/assets/{switch-CcTn0ZOS.js → switch-DO6PIVP4.js} +1 -1
  210. package/dist/assets/{table-Dx28EUJl.js → table-D8I2WrZf.js} +1 -1
  211. package/dist/assets/{tabs-DmvNvKRc.js → tabs-Dr295s3H.js} +1 -1
  212. package/dist/assets/{tag-n80nZI1k.js → tag-czaB5qgK.js} +1 -1
  213. package/dist/assets/{taskDrawerMixin-CHY-eE38.js → taskDrawerMixin-DF3OWO8_.js} +1 -1
  214. package/dist/assets/terminal-UcKZqqtX.js +1 -0
  215. package/dist/assets/{time-picker-CY4dR1RV.js → time-picker-a0Pwooll.js} +1 -1
  216. package/dist/assets/{tooltip-DNvXWorG.js → tooltip-CuE0cdFq.js} +1 -1
  217. package/dist/assets/{trash-2-CV1FM8ox.js → trash-2-DXUqs93W.js} +1 -1
  218. package/dist/assets/{triangle-alert-BQ9oPsw-.js → triangle-alert-CBcgaRBT.js} +1 -1
  219. package/dist/assets/{upload-etzwq2ge.js → upload-Bgy8PhD5.js} +1 -1
  220. package/dist/assets/{upload-BlXiZnzq.js → upload-D1pzrW4N.js} +1 -1
  221. package/dist/assets/user-TQLIzTs0.js +1 -0
  222. package/dist/assets/{veo-Cj6sSMSg.js → veo-DOlQ6bQH.js} +1 -1
  223. package/dist/assets/{video-Dnk7rtTR.js → video-kXWqavS7.js} +1 -1
  224. package/dist/assets/{volume-2-Cz9VwFEj.js → volume-2-taGlLie8.js} +1 -1
  225. package/dist/assets/{wallet-dtGRrnvh.js → wallet-BE5n08Iy.js} +1 -1
  226. package/dist/assets/{wan-Dws2KEHU.js → wan-85hH6Z8x.js} +1 -1
  227. package/dist/assets/{wand-sparkles-C82CTAsQ.js → wand-sparkles-BlI7lFjS.js} +1 -1
  228. package/dist/assets/{web-CmrD6k5b.js → web-8h5-GQTj.js} +1 -1
  229. package/dist/assets/{web-DVUiM8kr.js → web-B2wqaSGu.js} +1 -1
  230. package/dist/assets/{web-D3JKZRqR.js → web-BSZ7n-x1.js} +1 -1
  231. package/dist/assets/{web-CYpJeG2N.js → web-DSABCk8F.js} +1 -1
  232. package/dist/assets/{web-CxoBHBRl.js → web-DiTDBh5i.js} +1 -1
  233. package/dist/assets/{webextrator-BEan9_EQ.js → webextrator-CJsLIYyW.js} +1 -1
  234. package/dist/assets/{zap-B-U_qAqr.js → zap-DH_3sRg3.js} +1 -1
  235. package/dist/index.html +3 -3
  236. package/package.json +1 -1
  237. package/dist/assets/Index-GeuLYw7X.js +0 -1
  238. package/dist/assets/ScheduledTasks-AaqZxBj1.js +0 -2
  239. package/dist/assets/ScheduledTasks-BrbQ8BXC.css +0 -1
  240. package/dist/assets/arrow-down-BStB4PHw.js +0 -1
  241. package/dist/assets/arrow-left-EUbth0iN.js +0 -1
  242. package/dist/assets/arrow-right-CQBJ5g4J.js +0 -1
  243. package/dist/assets/arrow-up-f6Vjbbn1.js +0 -1
  244. package/dist/assets/check-CAo4ikWV.js +0 -1
  245. package/dist/assets/chevron-down-CxVHqDJz.js +0 -1
  246. package/dist/assets/chevron-right-BEfFxSCG.js +0 -1
  247. package/dist/assets/circle-check-DGz0qEnu.js +0 -1
  248. package/dist/assets/clock-Bsi4ai5b.js +0 -1
  249. package/dist/assets/codingBridge-BB1ch4Tk.js +0 -1
  250. package/dist/assets/codingBridge-BMHQXkUv.js +0 -1
  251. package/dist/assets/codingBridge-BUt2ponV.js +0 -1
  252. package/dist/assets/codingBridge-BmSsYXFJ.js +0 -1
  253. package/dist/assets/codingBridge-CAgEs16R.js +0 -1
  254. package/dist/assets/codingBridge-CWXBZ8w7.js +0 -1
  255. package/dist/assets/codingBridge-C_LA7d0d.js +0 -1
  256. package/dist/assets/codingBridge-CfANMF5m.js +0 -1
  257. package/dist/assets/codingBridge-Ct6ZrIBM.js +0 -1
  258. package/dist/assets/codingBridge-D5C8MGMI.js +0 -1
  259. package/dist/assets/codingBridge-D8nO-Hpu.js +0 -1
  260. package/dist/assets/codingBridge-DJxBs9t7.js +0 -1
  261. package/dist/assets/codingBridge-DLI7oqZE.js +0 -1
  262. package/dist/assets/codingBridge-DqMLYCPV.js +0 -1
  263. package/dist/assets/codingBridge-DsC1i-NL.js +0 -1
  264. package/dist/assets/codingBridge-N7nwbCfO.js +0 -1
  265. package/dist/assets/codingBridge-qEXVv0GZ.js +0 -1
  266. package/dist/assets/esm-CogX6iPS.js +0 -1
  267. package/dist/assets/gauge-D2Ok9N0J.js +0 -1
  268. package/dist/assets/loader-circle-DGvoDYzG.js +0 -1
  269. package/dist/assets/music-2-S1CFcpBO.js +0 -1
  270. package/dist/assets/play-Cs1nkoSU.js +0 -1
  271. package/dist/assets/plus-D6nWrjI3.js +0 -1
  272. package/dist/assets/rotate-ccw-Dv4ixwpv.js +0 -1
  273. package/dist/assets/rotate-cw-D7qdtaeZ.js +0 -1
  274. package/dist/assets/search-C5XGKEzo.js +0 -1
  275. package/dist/assets/square-C3V0vdTe.js +0 -1
  276. package/dist/assets/terminal-BIXp0_cN.js +0 -1
  277. package/dist/assets/user-vLPEc58o.js +0 -1
@@ -1 +1 @@
1
- import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-CpvztHBU.js";import{n as _,t as v}from"./collapse-D3vQMyuD.js";import{t as y}from"./drawer-BZGf6ZhI.js";import{t as b}from"./globe-Cst9bSnj.js";import{t as x}from"./search-C5XGKEzo.js";import"./constants-ChRYidMs.js";import{E as S,Fi as C,Kt as w,Wi as T,ai as E,tn as ee,xi as D,yi as te}from"./index-B7AvV6gb.js";import{t as O}from"./Consumption-DsITlBWE.js";var k=te(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),A=m({name:`LayoutSerp`,components:{SearchIcon:x,ElDrawer:y,ElButton:C},data(){return{drawer:!1}}}),j={class:`main flex flex-row flex-1`},M={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},N={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function P(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,j,[e(`div`,M,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,N,[l(t.$slots,`result`,{},void 0,!0)]),i(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:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var F=S(A,[[`render`,P],[`__scopeId`,`data-v-fc67ba0b`]]),I=m({name:`QueryInput`,components:{ElInput:T},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),L={class:`field`},R={class:`box`},z={class:`title font-bold`};function B(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,L,[e(`div`,R,[e(`h2`,z,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var V=S(I,[[`render`,B],[`__scopeId`,`data-v-3582b195`]]),H=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),U={class:`field`},W={class:`title font-bold`};function G(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,U,[e(`h2`,W,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var K=S(H,[[`render`,G],[`__scopeId`,`data-v-2913fb62`]]),q=m({name:`CountryInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),J={class:`field`},Y={class:`title font-bold`};function X(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,J,[e(`h2`,Y,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var Z=S(q,[[`render`,X],[`__scopeId`,`data-v-f0672cc6`]]),Q=m({name:`LanguageInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),ne={class:`field`},re={class:`title font-bold`};function ie(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ne,[e(`h2`,re,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ae=m({name:`SearchPanel`,components:{SearchIcon:x,ElButton:C,QueryInput:V,TypeSelector:K,CountryInput:Z,LanguageInput:S(Q,[[`render`,ie],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:O},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return w(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===E.Request}},methods:{onSearch(){this.$emit(`search`)}}}),oe={class:`flex flex-col h-full`},se={class:`flex-1 overflow-y-auto p-5`},ce={class:`flex flex-col items-center justify-center px-5 pb-5`};function le(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`search-icon`),b=c(`el-button`);return p(),o(`div`,oe,[e(`div`,se,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ce,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ue=S(ae,[[`render`,le]]),de=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),fe={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},pe={class:`flex flex-row gap-4`},me=[`src`,`alt`],he={class:`flex-1 min-w-0`},ge={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},_e={class:`text-xl font-bold mb-1.5`},ve={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ye=[`href`],be={key:2,class:`text-sm`},xe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Se={class:`text-[var(--el-text-color-regular)]`};function Ce(t,i,c,l,u,d){return p(),o(`div`,fe,[e(`div`,pe,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,me)):a(``,!0),e(`div`,he,[t.data.type?(p(),o(`div`,ge,r(t.data.type),1)):a(``,!0),e(`h3`,_e,r(t.data.title),1),t.data.description?(p(),o(`p`,ve,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ye)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,be,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,xe,r(n)+`:`,1),e(`span`,Se,r(t),1)]))),128))])):a(``,!0)])])])}var we=S(de,[[`render`,Ce]]),Te=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ee={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},De={key:0,class:`flex items-center gap-2 mb-1.5`},Oe=[`src`,`alt`],ke={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ae={class:`text-xs text-[var(--el-text-color-disabled)]`},je=[`href`],Me={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ne={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Pe={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Fe=[`href`];function Ie(t,n,i,c,l,u){return p(),o(`div`,Ee,[t.displayUrl?(p(),o(`div`,De,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Oe),e(`span`,ke,r(t.hostname),1),e(`span`,Ae,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,je),t.data.date?(p(),o(`div`,Me,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ne,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Pe,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Fe))),128))])):a(``,!0)])}var Le=S(Te,[[`render`,Ie]]),Re=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),ze={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Be={class:`text-base font-bold mb-3`},Ve={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},He=[`href`],Ue=[`src`,`alt`],We={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ge={class:`text-xs text-white line-clamp-2`};function Ke(t,n,i,c,l,u){return p(),o(`div`,ze,[e(`h3`,Be,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ve,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Ue)):a(``,!0),e(`div`,We,[e(`span`,Ge,r(t.title),1)])],8,He))),128))])])}var qe=S(Re,[[`render`,Ke]]),Je=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ye={class:`text-base font-bold mb-3`},Xe={class:`space-y-4`},Ze=[`href`],Qe={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},$e=[`src`,`alt`],et={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},tt={class:`flex-1 min-w-0`},nt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},rt={class:`text-xs text-gray-400 mt-1`},it={key:0},at={key:1},ot={key:2},st={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ct(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ye,r(t.$t(`serp.name.videoResults`)),1),e(`div`,Xe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Qe,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,$e)):a(``,!0),t.duration?(p(),o(`div`,et,r(t.duration),1)):a(``,!0)]),e(`div`,tt,[e(`div`,nt,r(t.title),1),e(`div`,rt,[t.source?(p(),o(`span`,it,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,at,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,ot,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,st,r(t.snippet),1)):a(``,!0)])],8,Ze))),128))])])}var lt=S(Je,[[`render`,ct]]),ut=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),dt={class:`text-base font-bold mb-3`},ft={class:`space-y-4`},pt=[`href`],mt={class:`flex-1 min-w-0`},ht={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},gt={class:`text-xs text-gray-400 mt-1`},_t={key:0},vt={key:1},yt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},bt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},xt=[`src`,`alt`];function St(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,dt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,ft,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,mt,[e(`div`,ht,r(t.title),1),e(`div`,gt,[t.source?(p(),o(`span`,_t,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,vt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,yt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,bt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,xt)])):a(``,!0)],8,pt))),128))])])}var Ct=S(ut,[[`render`,St]]),wt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),Tt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Et={class:`text-base font-bold mb-3`},Dt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ot=[`href`];function kt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Tt,[e(`h3`,Et,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Dt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ot)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var At=S(wt,[[`render`,kt]]),jt=m({name:`RelatedSearches`,components:{SearchIcon:x},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Pt=[`onClick`];function Ft(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Pt))),128))])])}var It=m({name:`ResultPanel`,components:{GlobeIcon:b,HelpIcon:k,KnowledgeGraph:we,OrganicResult:Le,ImageResults:qe,VideoResults:lt,NewsResults:Ct,PeopleAlsoAsk:At,RelatedSearches:S(jt,[[`render`,Ft]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===E.Request},noResults(){return this.$store.state.serp?.status?.search===E.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Lt={class:`h-full overflow-y-auto p-6`},Rt={key:0,class:`max-w-3xl mx-auto py-8`},zt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`},Vt={key:2,class:`max-w-3xl mx-auto`},Ht={key:1,class:`mb-6`},Ut={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Wt={class:`text-base`};function Gt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Lt,[n.searching?(p(),o(`div`,Rt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,zt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Bt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Vt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Ht,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Ut,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Wt,r(n.$t(`serp.description.query`)),1)]))])}var Kt=m({name:`SerpIndex`,components:{Layout:F,SearchPanel:ue,ResultPanel:S(It,[[`render`,Gt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(ee()&&this.$store.state.serp?.config?.query){D.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),D.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`serp.message.usedUp`)):D.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function qt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Jt=S(Kt,[[`render`,qt]]);export{Jt as default};
1
+ import"./rolldown-runtime--c01j_DQ.js";import{A as e,F as t,I as n,Jt as r,L as i,M as a,N as o,T as s,at as c,it as l,j as u,mt as d,rt as f,tt as p,z as m}from"./vendor-chart-Dw-P17PN.js";import{r as h,t as g}from"./select-CwNWPYD1.js";import{n as _,t as v}from"./collapse-C70WFXpl.js";import{t as y}from"./drawer-B5OXGnZJ.js";import{t as b}from"./globe-4pXuESga.js";import{t as x}from"./search-eQcCSM6M.js";import"./constants-uGTfiXHA.js";import{E as S,Fi as C,Kt as w,Wi as T,ai as E,tn as ee,xi as D,yi as te}from"./index-MKGzUXII.js";import{t as O}from"./Consumption-U_Dg1D--.js";var k=te(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),A=m({name:`LayoutSerp`,components:{SearchIcon:x,ElDrawer:y,ElButton:C},data(){return{drawer:!1}}}),j={class:`main flex flex-row flex-1`},M={class:`config w-[320px] flex-none h-full overflow-y-auto bg-[var(--app-sidebar-bg)] border-r border-[var(--app-border-subtle)]`},N={class:`result h-full flex-1 flex flex-col min-w-0 overflow-x-hidden bg-[var(--app-content-bg)]`};function P(t,n,r,a,s,u){let f=c(`search-icon`),m=c(`el-button`),h=c(`el-drawer`);return p(),o(`div`,j,[e(`div`,M,[l(t.$slots,`config`,{},void 0,!0)]),e(`div`,N,[l(t.$slots,`result`,{},void 0,!0)]),i(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:d(()=>[i(f,{size:`1em`,"aria-hidden":`true`,focusable:`false`})]),_:1},8,[`aria-label`,`title`]),i(h,{modelValue:t.drawer,"onUpdate:modelValue":n[1]||=e=>t.drawer=e,direction:`ltr`,"with-header":!1,size:`340px`,class:`drawer`},{default:d(()=>[l(t.$slots,`config`,{},void 0,!0)]),_:3},8,[`modelValue`])])}var F=S(A,[[`render`,P],[`__scopeId`,`data-v-fc67ba0b`]]),I=m({name:`QueryInput`,components:{ElInput:T},computed:{query:{get(){return this.$store.state.serp?.config?.query},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e})}}}}),L={class:`field`},R={class:`box`},z={class:`title font-bold`};function B(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,L,[e(`div`,R,[e(`h2`,z,r(t.$t(`serp.name.query`)),1)]),i(d,{modelValue:t.query,"onUpdate:modelValue":n[0]||=e=>t.query=e,rows:3,type:`textarea`,class:`prompt`,placeholder:t.$t(`serp.placeholder.query`)},null,8,[`modelValue`,`placeholder`])])}var V=S(I,[[`render`,B],[`__scopeId`,`data-v-3582b195`]]),H=m({name:`TypeSelector`,components:{ElSelect:h,ElOption:g},computed:{value:{get(){return this.$store.state.serp?.config?.type},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,type:e})}}},mounted(){this.value||=`search`}}),U={class:`field`},W={class:`title font-bold`};function G(t,n,a,s,l,u){let f=c(`el-option`),m=c(`el-select`);return p(),o(`div`,U,[e(`h2`,W,r(t.$t(`serp.name.type`)),1),i(m,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`},{default:d(()=>[i(f,{value:`search`,label:t.$t(`serp.type.search`)},null,8,[`label`]),i(f,{value:`images`,label:t.$t(`serp.type.images`)},null,8,[`label`]),i(f,{value:`news`,label:t.$t(`serp.type.news`)},null,8,[`label`]),i(f,{value:`videos`,label:t.$t(`serp.type.videos`)},null,8,[`label`])]),_:1},8,[`modelValue`])])}var K=S(H,[[`render`,G],[`__scopeId`,`data-v-2913fb62`]]),q=m({name:`CountryInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.country},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,country:e})}}},mounted(){this.value||=`US`}}),J={class:`field`},Y={class:`title font-bold`};function X(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,J,[e(`h2`,Y,r(t.$t(`serp.name.country`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.country`)},null,8,[`modelValue`,`placeholder`])])}var Z=S(q,[[`render`,X],[`__scopeId`,`data-v-f0672cc6`]]),Q=m({name:`LanguageInput`,components:{ElInput:T},computed:{value:{get(){return this.$store.state.serp?.config?.language},set(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,language:e})}}},mounted(){this.value||=`en`}}),ne={class:`field`},re={class:`title font-bold`};function ie(t,n,a,s,l,u){let d=c(`el-input`);return p(),o(`div`,ne,[e(`h2`,re,r(t.$t(`serp.name.language`)),1),i(d,{modelValue:t.value,"onUpdate:modelValue":n[0]||=e=>t.value=e,class:`value`,placeholder:t.$t(`serp.placeholder.language`)},null,8,[`modelValue`,`placeholder`])])}var ae=m({name:`SearchPanel`,components:{SearchIcon:x,ElButton:C,QueryInput:V,TypeSelector:K,CountryInput:Z,LanguageInput:S(Q,[[`render`,ie],[`__scopeId`,`data-v-dc1c94b7`]]),Consumption:O},emits:[`search`],computed:{config(){return this.$store.state.serp?.config},consumption(){return w(this.config,this.service?.cost)},service(){return this.$store.state.serp?.service},searching(){return this.$store.state.serp?.status?.search===E.Request}},methods:{onSearch(){this.$emit(`search`)}}}),oe={class:`flex flex-col h-full`},se={class:`flex-1 overflow-y-auto p-5`},ce={class:`flex flex-col items-center justify-center px-5 pb-5`};function le(t,a,s,l,u,f){let m=c(`query-input`),h=c(`type-selector`),g=c(`country-input`),_=c(`language-input`),v=c(`consumption`),y=c(`search-icon`),b=c(`el-button`);return p(),o(`div`,oe,[e(`div`,se,[i(m,{class:`mb-4`}),i(h,{class:`mb-4`}),i(g,{class:`mb-4`}),i(_,{class:`mb-4`})]),e(`div`,ce,[i(v,{value:t.consumption,service:t.service},null,8,[`value`,`service`]),i(b,{type:`primary`,class:`btn w-full`,round:``,loading:t.searching,onClick:t.onSearch},{default:d(()=>[i(y,{class:`mr-2`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(t.$t(`serp.button.search`)),1)]),_:1},8,[`loading`,`onClick`])])])}var ue=S(ae,[[`render`,le]]),de=m({name:`KnowledgeGraph`,props:{data:{type:Object,required:!0}}}),fe={class:`knowledge-graph rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},pe={class:`flex flex-row gap-4`},me=[`src`,`alt`],he={class:`flex-1 min-w-0`},ge={key:0,class:`text-xs text-[var(--el-text-color-disabled)] mb-1 uppercase tracking-wide`},_e={class:`text-xl font-bold mb-1.5`},ve={key:1,class:`text-sm text-[var(--el-text-color-regular)] mb-3 leading-relaxed`},ye=[`href`],be={key:2,class:`text-sm`},xe={class:`text-[var(--el-text-color-disabled)] flex-none font-medium`},Se={class:`text-[var(--el-text-color-regular)]`};function Ce(t,i,c,l,u,d){return p(),o(`div`,fe,[e(`div`,pe,[t.data.image_url?(p(),o(`img`,{key:0,src:t.data.image_url,alt:t.data.title,class:`w-28 h-28 rounded-lg object-cover flex-none shadow-sm`},null,8,me)):a(``,!0),e(`div`,he,[t.data.type?(p(),o(`div`,ge,r(t.data.type),1)):a(``,!0),e(`h3`,_e,r(t.data.title),1),t.data.description?(p(),o(`p`,ve,[n(r(t.data.description)+` `,1),t.data.description_link?(p(),o(`a`,{key:0,href:t.data.description_link,target:`_blank`,rel:`noopener noreferrer`,class:`text-[var(--el-color-primary)] hover:underline ml-1`},r(t.data.description_source||`Source`),9,ye)):a(``,!0)])):a(``,!0),t.data.attributes&&Object.keys(t.data.attributes).length?(p(),o(`div`,be,[(p(!0),o(s,null,f(t.data.attributes,(t,n)=>(p(),o(`div`,{key:n,class:`flex gap-2 mb-1 py-0.5`},[e(`span`,xe,r(n)+`:`,1),e(`span`,Se,r(t),1)]))),128))])):a(``,!0)])])])}var we=S(de,[[`render`,Ce]]),Te=m({name:`OrganicResult`,props:{data:{type:Object,required:!0}},data(){return{faviconFailed:!1}},computed:{hostname(){if(!this.data.link)return``;try{return new URL(this.data.link).hostname}catch{return``}},pathname(){if(!this.data.link)return``;try{let e=new URL(this.data.link).pathname;return e===`/`?``:e}catch{return``}},displayUrl(){return this.hostname},faviconUrl(){return this.faviconFailed||!this.hostname?``:`https://www.google.com/s2/favicons?domain=${this.hostname}&sz=32`}},methods:{onFaviconError(e){this.faviconFailed=!0,e.target.style.display=`none`}}}),Ee={class:`organic-result rounded-lg p-4 transition-all duration-200 hover:bg-[var(--el-fill-color-lighter)]`},De={key:0,class:`flex items-center gap-2 mb-1.5`},Oe=[`src`,`alt`],ke={class:`text-xs text-[var(--el-text-color-secondary)] truncate`},Ae={class:`text-xs text-[var(--el-text-color-disabled)]`},je=[`href`],Me={key:1,class:`text-xs text-[var(--el-text-color-disabled)] mt-1`},Ne={key:2,class:`text-sm text-[var(--el-text-color-regular)] mt-1.5 leading-relaxed line-clamp-3`},Pe={key:3,class:`mt-3 flex flex-wrap gap-x-4 gap-y-1`},Fe=[`href`];function Ie(t,n,i,c,l,u){return p(),o(`div`,Ee,[t.displayUrl?(p(),o(`div`,De,[e(`img`,{src:t.faviconUrl,alt:t.hostname,class:`w-4 h-4 rounded-sm flex-none`,loading:`lazy`,onError:n[0]||=(...e)=>t.onFaviconError&&t.onFaviconError(...e)},null,40,Oe),e(`span`,ke,r(t.hostname),1),e(`span`,Ae,r(t.pathname),1)])):a(``,!0),e(`a`,{href:t.data.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-base font-semibold text-[var(--el-color-primary)] hover:underline leading-snug block`},r(t.data.title),9,je),t.data.date?(p(),o(`div`,Me,r(t.data.date),1)):a(``,!0),t.data.snippet?(p(),o(`p`,Ne,r(t.data.snippet),1)):a(``,!0),t.data.sitelinks?.length?(p(),o(`div`,Pe,[(p(!0),o(s,null,f(t.data.sitelinks,(e,t)=>(p(),o(`a`,{key:t,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary-light-3)] hover:text-[var(--el-color-primary)] hover:underline transition-colors`},r(e.title),9,Fe))),128))])):a(``,!0)])}var Le=S(Te,[[`render`,Ie]]),Re=m({name:`ImageResults`,props:{data:{type:Array,required:!0}}}),ze={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Be={class:`text-base font-bold mb-3`},Ve={class:`grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3`},He=[`href`],Ue=[`src`,`alt`],We={class:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2.5 opacity-0 group-hover:opacity-100 transition-opacity duration-200`},Ge={class:`text-xs text-white line-clamp-2`};function Ke(t,n,i,c,l,u){return p(),o(`div`,ze,[e(`h3`,Be,r(t.$t(`serp.name.imageResults`)),1),e(`div`,Ve,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`group relative rounded-lg overflow-hidden bg-[var(--el-fill-color-light)] aspect-square`},[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover transition-transform duration-300 group-hover:scale-105`,loading:`lazy`},null,8,Ue)):a(``,!0),e(`div`,We,[e(`span`,Ge,r(t.title),1)])],8,He))),128))])])}var qe=S(Re,[[`render`,Ke]]),Je=m({name:`VideoResults`,props:{data:{type:Array,required:!0}}}),Ye={class:`text-base font-bold mb-3`},Xe={class:`space-y-4`},Ze=[`href`],Qe={class:`relative flex-shrink-0 w-40 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},$e=[`src`,`alt`],et={key:1,class:`absolute bottom-1 right-1 bg-black/80 text-white text-xs px-1 rounded`},tt={class:`flex-1 min-w-0`},nt={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},rt={class:`text-xs text-gray-400 mt-1`},it={key:0},at={key:1},ot={key:2},st={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`};function ct(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,Ye,r(t.$t(`serp.name.videoResults`)),1),e(`div`,Xe,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,Qe,[t.image_url?(p(),o(`img`,{key:0,src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,$e)):a(``,!0),t.duration?(p(),o(`div`,et,r(t.duration),1)):a(``,!0)]),e(`div`,tt,[e(`div`,nt,r(t.title),1),e(`div`,rt,[t.source?(p(),o(`span`,it,r(t.source),1)):a(``,!0),t.channel?(p(),o(`span`,at,` · `+r(t.channel),1)):a(``,!0),t.date?(p(),o(`span`,ot,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,st,r(t.snippet),1)):a(``,!0)])],8,Ze))),128))])])}var lt=S(Je,[[`render`,ct]]),ut=m({name:`NewsResults`,props:{data:{type:Array,required:!0}}}),dt={class:`text-base font-bold mb-3`},ft={class:`space-y-4`},pt=[`href`],mt={class:`flex-1 min-w-0`},ht={class:`text-blue-600 group-hover:underline font-medium line-clamp-2`},gt={class:`text-xs text-gray-400 mt-1`},_t={key:0},vt={key:1},yt={key:0,class:`text-sm text-gray-600 dark:text-gray-300 mt-1 line-clamp-2`},bt={key:0,class:`flex-shrink-0 w-24 h-24 rounded overflow-hidden bg-gray-100 dark:bg-gray-800`},xt=[`src`,`alt`];function St(t,n,i,c,l,u){return p(),o(`div`,null,[e(`h3`,dt,r(t.$t(`serp.name.newsResults`)),1),e(`div`,ft,[(p(!0),o(s,null,f(t.data,(t,n)=>(p(),o(`a`,{key:n,href:t.link,target:`_blank`,rel:`noopener noreferrer`,class:`flex gap-4 group`},[e(`div`,mt,[e(`div`,ht,r(t.title),1),e(`div`,gt,[t.source?(p(),o(`span`,_t,r(t.source),1)):a(``,!0),t.date?(p(),o(`span`,vt,` · `+r(t.date),1)):a(``,!0)]),t.snippet?(p(),o(`p`,yt,r(t.snippet),1)):a(``,!0)]),t.image_url?(p(),o(`div`,bt,[e(`img`,{src:t.image_url,alt:t.title,class:`w-full h-full object-cover`,loading:`lazy`},null,8,xt)])):a(``,!0)],8,pt))),128))])])}var Ct=S(ut,[[`render`,St]]),wt=m({name:`PeopleAlsoAsk`,components:{ElCollapse:v,ElCollapseItem:_},props:{data:{type:Array,required:!0}}}),Tt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Et={class:`text-base font-bold mb-3`},Dt={key:0,class:`text-sm text-[var(--el-text-color-regular)] mb-2 leading-relaxed`},Ot=[`href`];function kt(t,n,l,m,h,g){let _=c(`el-collapse-item`),v=c(`el-collapse`);return p(),o(`div`,Tt,[e(`h3`,Et,r(t.$t(`serp.name.peopleAlsoAsk`)),1),i(v,null,{default:d(()=>[(p(!0),o(s,null,f(t.data,(e,t)=>(p(),u(_,{key:t,title:e.question||e.title||``},{default:d(()=>[e.snippet?(p(),o(`p`,Dt,r(e.snippet),1)):a(``,!0),e.link?(p(),o(`a`,{key:1,href:e.link,target:`_blank`,rel:`noopener noreferrer`,class:`text-xs text-[var(--el-color-primary)] hover:underline`},r(e.title||e.link),9,Ot)):a(``,!0)]),_:2},1032,[`title`]))),128))]),_:1})])}var At=S(wt,[[`render`,kt]]),jt=m({name:`RelatedSearches`,components:{SearchIcon:x},props:{data:{type:Array,required:!0}},emits:[`search`],methods:{onSearch(e){e&&this.$emit(`search`,e)}}}),Mt={class:`rounded-xl border border-[var(--el-border-color-lighter)] p-5 bg-[var(--el-fill-color-blank)]`},Nt={class:`text-base font-bold mb-3`},$={class:`flex flex-wrap gap-2`},Pt=[`onClick`];function Ft(t,a,l,u,d,m){let h=c(`search-icon`);return p(),o(`div`,Mt,[e(`h3`,Nt,r(t.$t(`serp.name.relatedSearches`)),1),e(`div`,$,[(p(!0),o(s,null,f(t.data,(e,a)=>(p(),o(`button`,{key:a,class:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm bg-[var(--el-fill-color-light)] text-[var(--el-text-color-regular)] hover:bg-[var(--el-color-primary-light-9)] hover:text-[var(--el-color-primary)] transition-colors cursor-pointer border-none`,onClick:n=>t.onSearch(e.query)},[i(h,{class:`text-xs opacity-50`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),n(` `+r(e.query),1)],8,Pt))),128))])])}var It=m({name:`ResultPanel`,components:{GlobeIcon:b,HelpIcon:k,KnowledgeGraph:we,OrganicResult:Le,ImageResults:qe,VideoResults:lt,NewsResults:Ct,PeopleAlsoAsk:At,RelatedSearches:S(jt,[[`render`,Ft]])},emits:[`related-search`],computed:{results(){return this.$store.state.serp?.results},searching(){return this.$store.state.serp?.status?.search===E.Request},noResults(){return this.$store.state.serp?.status?.search===E.Success&&this.results&&!this.results.organic?.length&&!this.results.images?.length&&!this.results.videos?.length&&!this.results.news?.length&&!this.results.knowledge_graph?.title}},methods:{onRelatedSearch(e){this.$emit(`related-search`,e)}}}),Lt={class:`h-full overflow-y-auto p-6`},Rt={key:0,class:`max-w-3xl mx-auto py-8`},zt={key:1,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Bt={class:`text-base`},Vt={key:2,class:`max-w-3xl mx-auto`},Ht={key:1,class:`mb-6`},Ut={key:3,class:`flex flex-col items-center justify-center py-24 text-[var(--el-text-color-disabled)]`},Wt={class:`text-base`};function Gt(n,l,d,m,h,g){let _=c(`help-icon`),v=c(`knowledge-graph`),y=c(`organic-result`),b=c(`image-results`),x=c(`video-results`),S=c(`news-results`),C=c(`people-also-ask`),w=c(`related-searches`),T=c(`globe-icon`);return p(),o(`div`,Lt,[n.searching?(p(),o(`div`,Rt,[(p(),o(s,null,f(4,n=>e(`div`,{key:n,class:`mb-6 animate-pulse`},[...l[0]||=[t(`<div class="flex items-center gap-2 mb-2"><div class="w-4 h-4 rounded-sm bg-[var(--el-fill-color-darker)]"></div><div class="h-3 w-32 rounded bg-[var(--el-fill-color-darker)]"></div></div><div class="h-4 w-3/4 rounded bg-[var(--el-fill-color-dark)] mb-2"></div><div class="h-3 w-full rounded bg-[var(--el-fill-color)] mb-1"></div><div class="h-3 w-5/6 rounded bg-[var(--el-fill-color)]"></div>`,4)]])),64))])):n.noResults?(p(),o(`div`,zt,[i(_,{class:`text-5xl mb-4 opacity-40`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Bt,r(n.$t(`serp.message.noResults`)),1)])):n.results?(p(),o(`div`,Vt,[n.results.knowledge_graph?.title?(p(),u(v,{key:0,data:n.results.knowledge_graph,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.organic?.length?(p(),o(`div`,Ht,[(p(!0),o(s,null,f(n.results.organic,(e,t)=>(p(),u(y,{key:t,data:e,class:`mb-1`},null,8,[`data`]))),128))])):a(``,!0),n.results.images?.length?(p(),u(b,{key:2,data:n.results.images,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.videos?.length?(p(),u(x,{key:3,data:n.results.videos,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.news?.length?(p(),u(S,{key:4,data:n.results.news,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.people_also_ask?.length?(p(),u(C,{key:5,data:n.results.people_also_ask,class:`mb-6`},null,8,[`data`])):a(``,!0),n.results.related_searches?.length?(p(),u(w,{key:6,data:n.results.related_searches,class:`mb-6`,onSearch:n.onRelatedSearch},null,8,[`data`,`onSearch`])):a(``,!0)])):(p(),o(`div`,Ut,[i(T,{class:`text-5xl mb-4 opacity-30`,size:`1em`,"aria-hidden":`true`,focusable:`false`}),e(`p`,Wt,r(n.$t(`serp.description.query`)),1)]))])}var Kt=m({name:`SerpIndex`,components:{Layout:F,SearchPanel:ue,ResultPanel:S(It,[[`render`,Gt]])},inject:[`initialized`],async mounted(){await this.onGetService()},methods:{async onGetService(){console.debug(`start onGetService`),await this.$store.dispatch(`serp/getService`),console.debug(`end onGetService`)},async onSearch(){if(ee()&&this.$store.state.serp?.config?.query){D.info(this.$t(`serp.message.searching`));try{await this.$store.dispatch(`serp/search`),D.success(this.$t(`serp.message.searchSuccess`))}catch(e){(e?.response?.data)?.error?.code===`used_up`?D.error(this.$t(`serp.message.usedUp`)):D.error(this.$t(`serp.message.searchFailed`))}}},async onRelatedSearch(e){this.$store.commit(`serp/setConfig`,{...this.$store.state.serp?.config,query:e}),await this.onSearch()}}});function qt(e,t,n,r,a,o){let s=c(`search-panel`),l=c(`result-panel`),f=c(`layout`);return p(),u(f,null,{config:d(()=>[i(s,{onSearch:e.onSearch},null,8,[`onSearch`])]),result:d(()=>[i(l,{onRelatedSearch:e.onRelatedSearch},null,8,[`onRelatedSearch`])]),_:1})}var Jt=S(Kt,[[`render`,qt]]);export{Jt 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-CpvztHBU.js";import{t as b}from"./upload-BlXiZnzq.js";import{t as x}from"./tooltip-DNvXWorG.js";import{t as S}from"./alert-CRHBgg7r.js";import{t as C}from"./drawer-BZGf6ZhI.js";import{t as w}from"./input-number-7NoaJFRg.js";import{t as T}from"./slider-C4b9QcFi.js";import{n as E}from"./taskDrawerMixin-CHY-eE38.js";import{t as D}from"./clock-Bsi4ai5b.js";import{r as O,t as k}from"./PromptTextarea-DzLkvnua.js";import{t as A}from"./info-b31RIJKS.js";import{t as j}from"./trash-2-CV1FM8ox.js";import{t as M}from"./triangle-alert-BQ9oPsw-.js";import{t as N}from"./upload-etzwq2ge.js";import{t as P}from"./wand-sparkles-C82CTAsQ.js";import{cr as F,lr as ee,sr as te}from"./constants-ChRYidMs.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-B7AvV6gb.js";import{t as X}from"./CopyToClipboard-DjaFSD8h.js";import{t as Z}from"./ImagePreview-b03ynxL7.js";import{t as re}from"./Consumption-DsITlBWE.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-CoGkcyAo.js";import{t as se}from"./ApiCodeButton-C53iqEQJ.js";import{t as ce}from"./BotPlaceholder-BVLOfJ2E.js";import{t as le}from"./ImageWrapper-fcuuvktS.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||=ee}}),_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||=F}}),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:te}},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-CwNWPYD1.js";import{t as b}from"./upload-D1pzrW4N.js";import{t as x}from"./tooltip-CuE0cdFq.js";import{t as S}from"./alert-0X9r_LZa.js";import{t as C}from"./drawer-B5OXGnZJ.js";import{t as w}from"./input-number-D_opSMz3.js";import{t as T}from"./slider-CsKtEfni.js";import{n as E}from"./taskDrawerMixin-DF3OWO8_.js";import{t as D}from"./clock-BorWVMN0.js";import{r as O,t as k}from"./PromptTextarea-B6ud6e3y.js";import{t as A}from"./info-YAtu1dKC.js";import{t as j}from"./trash-2-DXUqs93W.js";import{t as M}from"./triangle-alert-CBcgaRBT.js";import{t as N}from"./upload-Bgy8PhD5.js";import{t as P}from"./wand-sparkles-BlI7lFjS.js";import{cr as F,lr as ee,sr as te}from"./constants-uGTfiXHA.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-MKGzUXII.js";import{t as X}from"./CopyToClipboard-B0rNWv9m.js";import{t as Z}from"./ImagePreview-D5LvVpsi.js";import{t as re}from"./Consumption-U_Dg1D--.js";import{a as Q,n as ie,r as ae,t as oe}from"./pagination-BPYez0ID.js";import{t as se}from"./ApiCodeButton-Ca2t5oht.js";import{t as ce}from"./BotPlaceholder-DPxy-R-3.js";import{t as le}from"./ImageWrapper-M7i5D4bw.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||=ee}}),_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||=F}}),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:te}},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 +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-CpvztHBU.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-7NoaJFRg.js";import{t as fe}from"./arrow-left-EUbth0iN.js";import{t as pe}from"./arrow-right-CQBJ5g4J.js";import{t as me}from"./arrow-up-f6Vjbbn1.js";import{t as he}from"./box-47XDEQlP.js";import{t as V}from"./check-CAo4ikWV.js";import{t as ge}from"./chevron-down-CxVHqDJz.js";import{t as _e}from"./chevron-right-BEfFxSCG.js";import{t as ve}from"./copy-gbh1Hu-_.js";import{t as ye}from"./download-CG81Did-.js";import{t as H}from"./file-text-D0VMwMGQ.js";import{t as U}from"./history-C4mTAvhH.js";import{t as W}from"./house-C6rVua6s.js";import{t as be}from"./image-CrociZMa.js";import{t as xe}from"./loader-circle-DGvoDYzG.js";import{t as G}from"./mouse-pointer-2-DcsISNp6.js";import{t as K}from"./music-2-S1CFcpBO.js";import{t as Se}from"./play-Cs1nkoSU.js";import{t as Ce}from"./plus-D6nWrjI3.js";import{t as we}from"./search-C5XGKEzo.js";import{t as Te}from"./sparkles-C-lRE-Ow.js";import{t as Ee}from"./trash-2-CV1FM8ox.js";import{t as De}from"./triangle-alert-BQ9oPsw-.js";import{t as Oe}from"./upload-etzwq2ge.js";import{t as ke}from"./video-Dnk7rtTR.js";import{i as q}from"./i18n-CBsCcxss.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-B7AvV6gb.js";import{t as Fe}from"./VideoPlayer-B3LF1ktd.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-CwNWPYD1.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-D_opSMz3.js";import{t as fe}from"./arrow-left-BavmIv3d.js";import{t as pe}from"./arrow-right-DfUUGgM0.js";import{t as me}from"./arrow-up-CtCOrdgt.js";import{t as he}from"./box-B3q7-eW8.js";import{t as V}from"./check-Cb0lkXgb.js";import{t as ge}from"./chevron-down-K17USVnF.js";import{t as _e}from"./chevron-right-DYLqk5Zj.js";import{t as ve}from"./copy-BiXCyJWx.js";import{t as ye}from"./download-B_fipmob.js";import{t as H}from"./file-text-BxeF2BAA.js";import{t as U}from"./history-ePfHX1tr.js";import{t as W}from"./house-DWRZAVVr.js";import{t as be}from"./image-k2xyZ8cu.js";import{t as xe}from"./loader-circle-CAC6z6ku.js";import{t as G}from"./mouse-pointer-2-Bc2WTGoY.js";import{t as K}from"./music-2-Cp1bLztN.js";import{t as Se}from"./play-DHkX77je.js";import{t as Ce}from"./plus-B_ldEJ36.js";import{t as we}from"./search-eQcCSM6M.js";import{t as Te}from"./sparkles-BogJwLqJ.js";import{t as Ee}from"./trash-2-DXUqs93W.js";import{t as De}from"./triangle-alert-CBcgaRBT.js";import{t as Oe}from"./upload-Bgy8PhD5.js";import{t as ke}from"./video-kXWqavS7.js";import{i as q}from"./i18n-CZTrcc0r.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-MKGzUXII.js";import{t as Fe}from"./VideoPlayer-DekA89LY.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};