aitu-app 0.6.39 → 0.6.41

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 (197) hide show
  1. package/README.md +3 -3
  2. package/assets/{AudioTrackList-CQEd1SE2.js → AudioTrackList-BtCRG0W9.js} +1 -1
  3. package/assets/{BaseDrawer-F3GT0wol.js → BaseDrawer-D3uMjiL3.js} +1 -1
  4. package/assets/{CanvasAudioPlayer-BzrQPq21.js → CanvasAudioPlayer-UVBRzAXF.js} +2 -2
  5. package/assets/{ChatMessagesArea-BVWuc832.js → ChatMessagesArea-DJejf06U.js} +2 -2
  6. package/assets/{DeferredMediaLibraryModal-CIs0-iBb.js → DeferredMediaLibraryModal-DcsXW5VN.js} +1 -1
  7. package/assets/{DeferredSyncSettings-CYz23NFv.js → DeferredSyncSettings-CyaQpm3i.js} +1 -1
  8. package/assets/{DrawnixDeferredFeatures-D5KdFjk7.js → DrawnixDeferredFeatures-Dn7Xj0Z3.js} +1 -1
  9. package/assets/DrawnixDeferredRuntime-IAIlHrj-.js +2 -0
  10. package/assets/{FrameSlideshow-B5Sqi_uV.js → FrameSlideshow-BoTtxoO1.js} +1 -1
  11. package/assets/{KnowledgeBaseContent-CmYEJ68E.js → KnowledgeBaseContent-H9TbTJvp.js} +3 -3
  12. package/assets/{MVCreator-CiekRLRL.js → MVCreator-aXPJyopn.js} +1 -1
  13. package/assets/{MediaViewer-CSkzdABU.js → MediaViewer-DzoUeXBR.js} +1 -1
  14. package/assets/{ModelBenchmarkWorkbench-Cg3ZArhL.js → ModelBenchmarkWorkbench-BwWtsodh.js} +1 -1
  15. package/assets/{MusicAnalyzer-DKddmB8C.js → MusicAnalyzer-CDvA6t6F.js} +1 -1
  16. package/assets/{MusicAnalyzer-Ch6kc-VC.js → MusicAnalyzer-dSwp-5u_.js} +1 -1
  17. package/assets/{PerformancePanel-CG1_1lC_.js → PerformancePanel-DzTs2p1S.js} +1 -1
  18. package/assets/{ProjectDrawer-B05H2n8S.js → ProjectDrawer-DewT6n4a.js} +1 -1
  19. package/assets/{ResizableDivider-3ZzTVK5M.js → ResizableDivider-C2cq_TjJ.js} +1 -1
  20. package/assets/TaskQueuePanel-BeApAqO9.js +33 -0
  21. package/assets/{ToolWinBoxManager-CX4BFjZL.js → ToolWinBoxManager-Soe0apvc.js} +1 -1
  22. package/assets/{ToolboxDrawer-DVxfQUMA.js → ToolboxDrawer-Btme0xvj.js} +1 -1
  23. package/assets/{VideoAnalyzer-BZLeASAQ.js → VideoAnalyzer-CuzOgGcP.js} +1 -1
  24. package/assets/{_baseFlatten-DHT6_8EL.js → _baseFlatten-BCqnPdEZ.js} +1 -1
  25. package/assets/{_baseUnset-Cb5y6_CP.js → _baseUnset-CvjcxnsS.js} +1 -1
  26. package/assets/_flatRest-rR2Z0C6Y.js +1 -0
  27. package/assets/{ai-analyze-BvjohIET.js → ai-analyze-X7h-GOWX.js} +1 -1
  28. package/assets/{arc-wiKe35BQ.js → arc-DXO039Xm.js} +1 -1
  29. package/assets/{arc-8k3RC1rL.js → arc-pfqxEt0t.js} +1 -1
  30. package/assets/{backup-restore-dialog-Cyxi_Y_l.js → backup-restore-dialog-BtB57ttG.js} +1 -1
  31. package/assets/{batch-image-generation-7zLsAOoI.js → batch-image-generation-D-i-Clb3.js} +1 -1
  32. package/assets/{blockDiagram-38ab4fdb-C1eTyro1.js → blockDiagram-38ab4fdb-DaJgeJH3.js} +1 -1
  33. package/assets/{blockDiagram-38ab4fdb-B_Rlv1o7.js → blockDiagram-38ab4fdb-Ds5ygtJ4.js} +1 -1
  34. package/assets/{browser-BV_Vo8ib.js → browser-BanMklii.js} +1 -1
  35. package/assets/{c4Diagram-3d4e48cf-wWn-Dh3x.js → c4Diagram-3d4e48cf-DJiQAduw.js} +1 -1
  36. package/assets/{c4Diagram-3d4e48cf-DJ9zPKS5.js → c4Diagram-3d4e48cf-o7ZLfD1H.js} +1 -1
  37. package/assets/{canvas-search-C6q6eL16.js → canvas-search-B3cv-vBS.js} +1 -1
  38. package/assets/channel-B6SjUS7J.js +1 -0
  39. package/assets/channel-DmO21CjN.js +1 -0
  40. package/assets/{character-api-service-C-_8TuNT.js → character-api-service-Z5lj969r.js} +1 -1
  41. package/assets/{character-storage-service-C2yg9sZZ.js → character-storage-service-C15hxlXu.js} +1 -1
  42. package/assets/{chevron-right-Dz5PrqD9.js → chevron-right-JQJ6nsCM.js} +1 -1
  43. package/assets/{classDiagram-70f12bd4-ZR7RlD8j.js → classDiagram-70f12bd4-BuujyQDs.js} +1 -1
  44. package/assets/{classDiagram-70f12bd4-C98UuGfZ.js → classDiagram-70f12bd4-Ck4-oQ5D.js} +1 -1
  45. package/assets/{classDiagram-v2-f2320105-CRHLGmlc.js → classDiagram-v2-f2320105-DoNQx5aA.js} +1 -1
  46. package/assets/{classDiagram-v2-f2320105-DwdJcJnt.js → classDiagram-v2-f2320105-Dv6Fyw1T.js} +1 -1
  47. package/assets/{clipper-C-3Qh_LP.js → clipper-Mxx-YtU_.js} +1 -1
  48. package/assets/clone-B5TrWxil.js +1 -0
  49. package/assets/clone-BtBg_52f.js +1 -0
  50. package/assets/{cloud-upload-CUOtugCp.js → cloud-upload-BPCicte3.js} +1 -1
  51. package/assets/{command-palette-CFAIZcMn.js → command-palette-DtjyZO1K.js} +1 -1
  52. package/assets/{createText-2e5e7dd3-D5vBY76-.js → createText-2e5e7dd3-C1lbpLn5.js} +1 -1
  53. package/assets/{createText-2e5e7dd3-tEJFXclV.js → createText-2e5e7dd3-zEue2anl.js} +1 -1
  54. package/assets/{download-hxWX9Zug.js → download-DYHFFs_D.js} +1 -1
  55. package/assets/{edges-e0da2a9e-CZg0dJ7e.js → edges-e0da2a9e-6TFI6ri7.js} +1 -1
  56. package/assets/{edges-e0da2a9e-DdZcggFY.js → edges-e0da2a9e-DLDhf7N7.js} +1 -1
  57. package/assets/{erDiagram-9861fffd-Bmy_l1e2.js → erDiagram-9861fffd-BwNvQade.js} +1 -1
  58. package/assets/{erDiagram-9861fffd-BST5k6B4.js → erDiagram-9861fffd-D8gvypkQ.js} +1 -1
  59. package/assets/{flowDb-956e92f1-C1e0_b4D.js → flowDb-956e92f1-BjoO9lX3.js} +1 -1
  60. package/assets/{flowDb-956e92f1-DSmVZJdU.js → flowDb-956e92f1-DThEumt2.js} +1 -1
  61. package/assets/{flowDiagram-66a62f08-CGUWQVBs.js → flowDiagram-66a62f08-D_3eV3FW.js} +1 -1
  62. package/assets/{flowDiagram-66a62f08-DhtZQo8y.js → flowDiagram-66a62f08-Djar-0xH.js} +1 -1
  63. package/assets/flowDiagram-v2-96b9c2cf-D_o_l8mf.js +1 -0
  64. package/assets/flowDiagram-v2-96b9c2cf-DlX4O43J.js +1 -0
  65. package/assets/{flowchart-elk-definition-4a651766-3gPCxf8A.js → flowchart-elk-definition-4a651766-DRuIOBj4.js} +1 -1
  66. package/assets/{flowchart-elk-definition-4a651766-CHnG4qQD.js → flowchart-elk-definition-4a651766-jtxteXv9.js} +1 -1
  67. package/assets/{ganttDiagram-c361ad54-CdFUB0PH.js → ganttDiagram-c361ad54-CMUm4MNv.js} +1 -1
  68. package/assets/{ganttDiagram-c361ad54-BGYuN1kY.js → ganttDiagram-c361ad54-DHKw9_fl.js} +1 -1
  69. package/assets/{gitGraphDiagram-72cf32ee-89Sf2o_5.js → gitGraphDiagram-72cf32ee-BQLvVnfS.js} +1 -1
  70. package/assets/{gitGraphDiagram-72cf32ee-DmC20udR.js → gitGraphDiagram-72cf32ee-Bbv0LiBu.js} +1 -1
  71. package/assets/{graph-B7_YBdiF.js → graph-BrEvzXkm.js} +1 -1
  72. package/assets/{graph-czHcr1bG.js → graph-DjrCCbgI.js} +1 -1
  73. package/assets/{grid-image-BuvvMKxR.js → grid-image-CveytoVB.js} +1 -1
  74. package/assets/{has-aqa_Fwg4.js → has-CvGtAZQx.js} +1 -1
  75. package/assets/{hasIn-BDL07gxd.js → hasIn-nbpeC_Rj.js} +1 -1
  76. package/assets/{image-C--jLg-o.js → image-C9vXAEOB.js} +1 -1
  77. package/assets/{index-3862675e-dB13VUjK.js → index-3862675e-BPi9rMHp.js} +1 -1
  78. package/assets/{index-3862675e-DqCaYyno.js → index-3862675e-C7dRX1tW.js} +1 -1
  79. package/assets/{index-AlmVCHjU.js → index-9VQ_keH7.js} +1 -1
  80. package/assets/{index-B0oVxHhb.js → index-9eZTYsQ4.js} +1 -1
  81. package/assets/{index-BcO0jvMY.js → index-B4YlucHs.js} +3 -3
  82. package/assets/{index-H0kbbmQa.js → index-B9_izWqT.js} +1 -1
  83. package/assets/{index-Dh9eNp-v.js → index-BNDRjX-d.js} +1 -1
  84. package/assets/{index-BMU-_5bW.js → index-BPqPzEbH.js} +1 -1
  85. package/assets/{index-NgLyuYs6.js → index-BjfO-2FL.js} +1 -1
  86. package/assets/{index-Dn-qqFRl.js → index-BkVG2Gm-.js} +1 -1
  87. package/assets/{index-CGAblvb-.js → index-Bl3dSmrt.js} +1 -1
  88. package/assets/{index-BDQbV2jT.js → index-C-CsfKtF.js} +1 -1
  89. package/assets/{index-Cp9T70tQ.js → index-CD9kyN2v.js} +1 -1
  90. package/assets/{index-DClRjyu_.js → index-CEceAxXa.js} +1 -1
  91. package/assets/{index-DsUayqw4.js → index-CRwF9kqw.js} +1 -1
  92. package/assets/{index-BMDx01aS.js → index-CXL-MAju.js} +1 -1
  93. package/assets/{index-DO8EqZSl.js → index-CbaLEWkX.js} +1 -1
  94. package/assets/{index-B159qVyk.js → index-CexfuLbX.js} +2 -2
  95. package/assets/{index-B12ExW-F.js → index-CjN5gXVP.js} +1 -1
  96. package/assets/{index-D63ClKwx.js → index-Cpw9Vij_.js} +1 -1
  97. package/assets/{index-CkSVbc7G.js → index-CuwHJJO4.js} +1 -1
  98. package/assets/{index-DXQDvWCm.js → index-Cw2YKg1X.js} +1 -1
  99. package/assets/{index-CDzl3czx.js → index-CwNwP9Dz.js} +1 -1
  100. package/assets/{index-BzXnlXkO.js → index-D04A0IqG.js} +1 -1
  101. package/assets/{index-BrfFsgde.js → index-D3yA2Deq.js} +1 -1
  102. package/assets/{index-CLp1N2JZ.js → index-D5YSioyv.js} +446 -445
  103. package/assets/{index-C9YPl9-V.js → index-D5e1IjmG.js} +1 -1
  104. package/assets/{index-69uVWCdC.js → index-D6CsrbT9.js} +1 -1
  105. package/assets/{index-Bp7QPVjC.js → index-DGEeQ7HV.js} +1 -1
  106. package/assets/{index-CS5gukgf.js → index-DI85grSr.js} +1 -1
  107. package/assets/{index-lHFn9fJk.js → index-DT5jCbGv.js} +1 -1
  108. package/assets/{index-DZczd-Cs.js → index-DVeMBRmh.js} +1 -1
  109. package/assets/{index-CL20-Lcn.js → index-DVmfYR4F.js} +1 -1
  110. package/assets/{index-w5pQgeYM.js → index-Dl7bI3dX.js} +1 -1
  111. package/assets/{index-BtAZEAqz.js → index-DrbRZzbV.js} +1 -1
  112. package/assets/{index-B9-Ksy1Y.js → index-DurJrENV.js} +1 -1
  113. package/assets/{index-DOf52awh.js → index-DuziGvh-.js} +1 -1
  114. package/assets/{index-B_74mOb3.js → index-DvHo6b9D.js} +1 -1
  115. package/assets/{index-MJpNPXv1.js → index-JUrStxAi.js} +1 -1
  116. package/assets/{index-DQzqI7bu.js → index-adb9JY8F.js} +1 -1
  117. package/assets/{index-ByZKBjmp.js → index-ahgk9PwY.js} +1 -1
  118. package/assets/{index-CJoYIJX6.js → index-iluEOi_R.js} +1 -1
  119. package/assets/{index-C2BjB9jD.js → index-mLaJnBAA.js} +1 -1
  120. package/assets/{index-Cci1CSF_.js → index-oOX-Ov_6.js} +1 -1
  121. package/assets/{index-DRtMRiLt.js → index-rRAjaCK6.js} +1 -1
  122. package/assets/{infoDiagram-f8f76790-2cxTV6ND.js → infoDiagram-f8f76790-DrZHsJcU.js} +1 -1
  123. package/assets/{infoDiagram-f8f76790-ncuTC4ZY.js → infoDiagram-f8f76790-xt1FG5kQ.js} +1 -1
  124. package/assets/{inspiration-board-D82q1P-g.js → inspiration-board-BMLGXtqa.js} +1 -1
  125. package/assets/{isEmpty-B0mmAwLs.js → isEmpty-qhP_Neh1.js} +1 -1
  126. package/assets/{journeyDiagram-49397b02-DnlSIYWp.js → journeyDiagram-49397b02-BXRUGums.js} +1 -1
  127. package/assets/{journeyDiagram-49397b02-D8uY2urN.js → journeyDiagram-49397b02-HG6JHZLW.js} +1 -1
  128. package/assets/{layers-D8yoqIuj.js → layers-37JfnNNl.js} +1 -1
  129. package/assets/{layout-CNovTgcJ.js → layout-0pP-oOdd.js} +1 -1
  130. package/assets/{layout-a3RfPzuD.js → layout-DiM0C_oE.js} +1 -1
  131. package/assets/{line-CDzoo4WB.js → line-Cn0HzQ42.js} +1 -1
  132. package/assets/{line-DvT1zUiJ.js → line-mCdubqmQ.js} +1 -1
  133. package/assets/{linear-PVY0JHkj.js → linear-Bav735VS.js} +1 -1
  134. package/assets/{linear-DdU4qJ1G.js → linear-D-8dOoVw.js} +1 -1
  135. package/assets/{lock-on-CXR9jpJA.js → lock-on-Du4SUznS.js} +1 -1
  136. package/assets/{memoize-DRWJ2oTL.js → memoize-CUfUlF3P.js} +1 -1
  137. package/assets/{mermaid.core-DQGbcicL.js → mermaid.core-C90rcTNj.js} +3 -3
  138. package/assets/{mindmap-definition-fc14e90a-BsVSwvhh.js → mindmap-definition-fc14e90a-DrPVXCNG.js} +1 -1
  139. package/assets/{mindmap-definition-fc14e90a-nwzPUDis.js → mindmap-definition-fc14e90a-kvuxr1PD.js} +1 -1
  140. package/assets/{model-benchmark-launcher-mcvgVSuC.js → model-benchmark-launcher-D7-0vF6C.js} +1 -1
  141. package/assets/{move-DOixEjqO.js → move-CrZ5ZpJ2.js} +1 -1
  142. package/assets/{photo-wall-splitter-qUPnfBPY.js → photo-wall-splitter-DJyzIrKV.js} +1 -1
  143. package/assets/{pick-C6VtGb4t.js → pick-8ulasiIr.js} +1 -1
  144. package/assets/{pieDiagram-8a3498a8-9eGElA9h.js → pieDiagram-8a3498a8-BV4yujZi.js} +1 -1
  145. package/assets/{pieDiagram-8a3498a8-jvbiFkC_.js → pieDiagram-8a3498a8-COebT5dY.js} +1 -1
  146. package/assets/{quadrantDiagram-120e2f19-B78rPuqy.js → quadrantDiagram-120e2f19-D7Pf5tdd.js} +1 -1
  147. package/assets/{quadrantDiagram-120e2f19-BFZXHPpX.js → quadrantDiagram-120e2f19-DzzHIi2O.js} +1 -1
  148. package/assets/{refresh-Bh3E8vu6.js → refresh-DqZ7biGU.js} +1 -1
  149. package/assets/{requirementDiagram-deff3bca-Dwsj1NJQ.js → requirementDiagram-deff3bca-BBh4lHOB.js} +1 -1
  150. package/assets/{requirementDiagram-deff3bca-Dyve0zys.js → requirementDiagram-deff3bca-D4gYW6VD.js} +1 -1
  151. package/assets/{sankeyDiagram-04a897e0-Dqzsdxsz.js → sankeyDiagram-04a897e0-6qMEhCdC.js} +1 -1
  152. package/assets/{sankeyDiagram-04a897e0-BmtIc_Gd.js → sankeyDiagram-04a897e0-DZfZTWnU.js} +1 -1
  153. package/assets/{sequenceDiagram-704730f1-DynL_kQJ.js → sequenceDiagram-704730f1-CF1FgHNp.js} +1 -1
  154. package/assets/{sequenceDiagram-704730f1-B7x0Kpog.js → sequenceDiagram-704730f1-Ky4oD9iw.js} +1 -1
  155. package/assets/{settings-dialog-Sz7sfOrI.js → settings-dialog-DWewjQlv.js} +1 -1
  156. package/assets/{shard-sync-service-8YTrUOnK.js → shard-sync-service-DhnPeZid.js} +1 -1
  157. package/assets/{stateDiagram-587899a1-CJTsLZ1r.js → stateDiagram-587899a1-C8z4TA39.js} +1 -1
  158. package/assets/{stateDiagram-587899a1-DUJNQ1DY.js → stateDiagram-587899a1-DhG3pQnc.js} +1 -1
  159. package/assets/{stateDiagram-v2-d93cdb3a-CG_NTdTs.js → stateDiagram-v2-d93cdb3a-CZ40HHGj.js} +1 -1
  160. package/assets/{stateDiagram-v2-d93cdb3a-KVoAwaCx.js → stateDiagram-v2-d93cdb3a-WjPgMbps.js} +1 -1
  161. package/assets/{styles-6aaf32cf-DBt4ei8W.js → styles-6aaf32cf-BiffgEl9.js} +1 -1
  162. package/assets/{styles-6aaf32cf-Cba2lFIZ.js → styles-6aaf32cf-DvyqUWEr.js} +1 -1
  163. package/assets/{styles-9a916d00-DHlla0Yt.js → styles-9a916d00-FAscS3iZ.js} +1 -1
  164. package/assets/{styles-9a916d00-KLddCkwp.js → styles-9a916d00-L-cTkIzG.js} +1 -1
  165. package/assets/{styles-c10674c1-CRA4Rhbz.js → styles-c10674c1-CkrpQSst.js} +1 -1
  166. package/assets/{styles-c10674c1-COY2QM5h.js → styles-c10674c1-DEwIcJGE.js} +1 -1
  167. package/assets/{svgDrawCommon-08f97a94-g2Xfy9Cn.js → svgDrawCommon-08f97a94-ByDqcIPi.js} +1 -1
  168. package/assets/{svgDrawCommon-08f97a94-B-xiMCiD.js → svgDrawCommon-08f97a94-DuY5GSOk.js} +1 -1
  169. package/assets/{task.types-CLfkYpCd.js → task.types-CBk6eZLY.js} +1 -1
  170. package/assets/{throttle-rCTAR-V0.js → throttle-DggB2waX.js} +1 -1
  171. package/assets/{timeline-definition-85554ec2-K1ig-iz5.js → timeline-definition-85554ec2-D3RKFEj4.js} +1 -1
  172. package/assets/{timeline-definition-85554ec2-DzXbh9iM.js → timeline-definition-85554ec2-DScTS5ad.js} +1 -1
  173. package/assets/{ttd-dialog-DBgFfIa8.js → ttd-dialog-D0U4oJwF.js} +4 -4
  174. package/assets/{upload-DydsLM8-.js → upload-B9RKSZna.js} +1 -1
  175. package/assets/useCharacters-uSUTHHnh.js +6 -0
  176. package/assets/{version-update-prompt-BnY7MFFE.js → version-update-prompt-CN1vliv8.js} +1 -1
  177. package/assets/{video-UIyGGGOK.js → video-B4LwvF3Q.js} +1 -1
  178. package/assets/{video-recovery-service-DpIX-4Cn.js → video-recovery-service-QWvZ0c0j.js} +1 -1
  179. package/assets/{workflow-generation-utils-BFUZ8qwH.js → workflow-generation-utils-BOXsMshH.js} +2 -2
  180. package/assets/{xychartDiagram-e933f94c-DJXH3Qk3.js → xychartDiagram-e933f94c-8_HkrupM.js} +1 -1
  181. package/assets/{xychartDiagram-e933f94c-BHRiS9cZ.js → xychartDiagram-e933f94c-B6-zQO32.js} +1 -1
  182. package/changelog.json +30 -0
  183. package/idle-prefetch-manifest.json +2 -2
  184. package/package.json +1 -1
  185. package/precache-manifest.json +393 -393
  186. package/sw.js +1 -1
  187. package/version.json +5 -3
  188. package/assets/DrawnixDeferredRuntime-D-K_FUT-.js +0 -2
  189. package/assets/TaskQueuePanel-Dcg0DCDL.js +0 -33
  190. package/assets/_flatRest-CXdsvGPY.js +0 -1
  191. package/assets/channel-CBV8i3Jf.js +0 -1
  192. package/assets/channel-n9jkWJRh.js +0 -1
  193. package/assets/clone-DMkRnOiD.js +0 -1
  194. package/assets/clone-jEb1TSUN.js +0 -1
  195. package/assets/flowDiagram-v2-96b9c2cf-CAAw3p-z.js +0 -1
  196. package/assets/flowDiagram-v2-96b9c2cf-DVu2NCro.js +0 -1
  197. package/assets/useCharacters-B9XvF2GC.js +0 -6
@@ -1,2 +1,2 @@
1
- import{x as a,K as vs,ej as Ba,ax as as,ek as Pa,el as ys,em as Ns,en as bs,eo as xs,ep as hs,eq as le,aq as qa,b as n,er as js,cR as Oe,es as va,et as ws,ab as ve,dd as na,eu as ia,d3 as He,cZ as $e,ev as _a,ee as _e,ew as ks,ex as Re,ey as zs,ac as Q,ez as ss,eA as ya,eB as Na,eC as Xe,eD as Ka,bS as ze,dl as ns,c$ as Ne,eE as ba,dw as Es,H as Le,eF as is,ao as Ya,aF as xa,d6 as Wa,dn as Vs,eG as Ds,eH as Us,U as Ss,dp as Ps,eI as _s,eJ as qs}from"./index-CLp1N2JZ.js";import{r as ye,w as Be,e as Is,c as Cs,S as Ia,C as ea,V as As,a as Ms,b as Rs,d as Ts,f as Gs,u as Fs,g as aa,h as ha,i as ja,j as wa,k as Ls,l as Os}from"./workflow-generation-utils-BFUZ8qwH.js";import{r as Hs,a as $s,u as Bs,b as Ks,p as Ys,c as Za,f as Ws,s as Zs}from"./VideoAnalyzer-BFgHFDkt.js";/* empty css */import"./character-storage-service-C2yg9sZZ.js";/* empty css */import{R as Js}from"./ResizableDivider-3ZzTVK5M.js";const Ja=[{id:"analyze",label:"分析"},{id:"script",label:"脚本"},{id:"generate",label:"生成"}],Qs=({current:e,onNavigate:i,hasRecord:d})=>{const j=Ja.findIndex(o=>o.id===e);return a.jsxDEV("div",{className:"va-step-bar",children:Ja.map((o,g)=>{const m=o.id===e,w=g<j,k=!d&&g>0;return a.jsxDEV(vs.Fragment,{children:[g>0&&a.jsxDEV("span",{className:"va-step-arrow",children:"→"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:33,columnNumber:23},void 0),a.jsxDEV("button",{className:`va-step ${m?"active":""} ${w?"past":""}`,onClick:()=>!k&&i(o.id),disabled:k,children:[a.jsxDEV("span",{className:"va-step-num",children:g+1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:39,columnNumber:15},void 0),o.label]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:34,columnNumber:13},void 0)]},o.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:32,columnNumber:11},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:25,columnNumber:5},void 0)},Xs=({shots:e,totalDuration:i})=>a.jsxDEV("div",{className:"va-timeline",children:e.map(d=>a.jsxDEV("div",{className:"va-timeline-segment",style:{flex:(d.endTime-d.startTime)/i,backgroundColor:Ba[d.type]||Ba.other},title:`${d.label} ${d.startTime}s-${d.endTime}s`},d.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/ShotTimeline.tsx",lineNumber:17,columnNumber:7},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/ShotTimeline.tsx",lineNumber:15,columnNumber:3},void 0);function Qa(e){return(e||"").trim().toLowerCase().replace(/[^a-z0-9]/g,"")||"mp4"}function en(e){const i=e.name.split(".").pop();if(i&&i.length<=8)return Qa(i);const d=e.type.split("/")[1];return Qa(d)}async function an(e,i){const d=en(e),o=`/__aitu_cache__/video/${`video-analyzer-source-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}.${d}`;return await as.cacheMediaFromBlob(o,e,"video",{metadata:{source:"video-analyzer-input",fileName:e.name,mimeType:e.type||"video/mp4",size:e.size}}),{type:"upload",cacheUrl:o,fileName:e.name||`video-source.${d}`,mimeType:e.type||"video/mp4",size:e.size}}async function sn(e){if(!e||e.type!=="upload")return null;const i=await as.getCachedBlob(e.cacheUrl);return i?new File([i],e.fileName||"video-source.mp4",{type:e.mimeType||i.type||"video/mp4",lastModified:Date.now()}):null}function rs(e){return Ks(e,"videoAnalyzerAction",["analyze","rewrite"])}function nn(e){return Ys(e,{missingMessage:"分析任务缺少结果内容",fromStructured:i=>i})}function rn(e){const i=e.params.videoAnalyzerSourceSnapshot;if((i==null?void 0:i.type)==="youtube"||(i==null?void 0:i.type)==="upload")return i;const d=e.params.videoAnalyzerSource,j=String(e.params.videoAnalyzerSourceLabel||"").trim();return d==="youtube"&&j?{type:"youtube",youtubeUrl:j}:null}function tn(e){var d;const i=(d=e.result)==null?void 0:d.analysisData;return Array.isArray(i==null?void 0:i.editedShots)?i.editedShots:null}async function Ca(e){var P,I;if(e.status!=="completed")return null;const i=rs(e);if(!i)return null;if(i==="analyze"){const R=await Pa(),B=R.find(T=>T.analyzeTaskId===e.id);if(B)return{records:R,record:B};const J=nn(e),y=rn(e),G=e.params.videoAnalyzerSource==="upload"?"upload":"youtube",K=String(e.params.videoAnalyzerSourceLabel||(G==="youtube"?(y==null?void 0:y.type)==="youtube"?y.youtubeUrl:"":"本地视频")),F={id:crypto.randomUUID(),createdAt:Date.now(),source:G,sourceLabel:K,sourceSnapshot:y,model:String(e.params.model||""),modelRef:e.params.modelRef||null,analysis:J,starred:!1,analyzeTaskId:e.id};return{records:await ys(F),record:F}}const d=Hs(e,"videoAnalyzerRecordId");if(!d)return null;const o=(await Pa()).find(R=>R.id===d);if(!o||o.pendingRewriteTaskId!==e.id)return null;const g=$s(e),m=tn(e),w=m||(()=>{if(!g)throw new Error("脚本改编任务缺少结果内容");const R=Ns(g),B=o.editedShots||o.analysis.shots;return bs(B,R)})(),k=`AI 改编 #${(((P=o.scriptVersions)==null?void 0:P.length)||0)+1}`,z=xs(w,k,(I=o.productInfo)==null?void 0:I.prompt),b=hs(o,z);return Bs(o,{...b,pendingRewriteTaskId:null,storyboardGeneratedAt:Date.now()},le)}function ln(e){return rs(e)!==null}const ka="gemini-3.1-pro-preview",za="video-analyzer:model",on="aitu:settings:provider-nav";function dn(e){return(e/1024/1024).toFixed(1)+"MB"}const un=({existingRecord:e,onComplete:i,onRecordsChange:d,onCreateNew:j,onNext:o})=>{const{setAppState:g}=qa(),[m,w]=n.useState("upload"),[k,z]=n.useState(""),[b,P]=n.useState(null),[I,R]=n.useState(()=>(e==null?void 0:e.model)||ye(za,ka).modelId),[B,J]=n.useState(()=>(e==null?void 0:e.modelRef)||ye(za,ka).modelRef),y=n.useCallback((l,x)=>{R(l),J(x||null),Be(za,l,x)},[]),[G,K]=n.useState(!1),[F,U]=n.useState(null),[T,_]=n.useState(""),[oe,M]=n.useState(""),[L,O]=n.useState((e==null?void 0:e.analysis)||null),C=js(),S=n.useRef(null),H=n.useRef(null),Y=n.useMemo(()=>{if(H.current&&URL.revokeObjectURL(H.current),!b)return H.current=null,null;const l=URL.createObjectURL(b);return H.current=l,l},[b]);n.useEffect(()=>()=>{H.current&&URL.revokeObjectURL(H.current)},[]),n.useEffect(()=>{let l=!1;return(async()=>{if(!e){if(F)return;O(null),w("upload"),z(""),P(null),M("");return}O(e.analysis||null),R(e.model||ka),J(e.modelRef||null),M("");const h=e.sourceSnapshot;if((h==null?void 0:h.type)==="upload"){w("upload"),z("");const ee=await sn(h);if(l)return;P(ee),ee||M("原上传视频缓存已失效,无法自动回填视频");return}if(e.source==="upload"){w("upload"),z(""),P(null),M("这条旧历史未保存原视频,无法自动回填视频");return}w("youtube"),P(null),(h==null?void 0:h.type)==="youtube"?z(h.youtubeUrl):e.source==="youtube"?z(e.sourceLabel||""):z("")})(),()=>{l=!0}},[e]);const Z=Oe("text"),$=n.useMemo(()=>Z.filter(l=>/^gemini/i.test(l.id)),[Z]),de=n.useMemo(()=>{const l=C.find(x=>x.id===va);return!!(l!=null&&l.apiKey.trim())},[C]),he=(B==null?void 0:B.profileId)===va,De=n.useCallback(()=>{const l={action:"select",profileId:va};window.__aituPendingProviderNavigationIntent=l,window.dispatchEvent(new CustomEvent(on,{detail:l})),g(x=>({...x,openSettings:!0}))},[g]),me=n.useCallback(l=>{var h;const x=(h=l.target.files)==null?void 0:h[0];x&&(P(x),M(""),O(null))},[]),Ue=n.useCallback(l=>{l.preventDefault();const x=l.dataTransfer.files[0];x!=null&&x.type.startsWith("video/")&&(P(x),M(""),O(null))},[]),re=n.useCallback(l=>{l.stopPropagation(),P(null),M(""),S.current&&(S.current.value="")},[]),[qe,Ie]=n.useState(!1),[X,se]=n.useState(""),pe=n.useCallback(async(l,x)=>{Ie(!0),se("提取帧图片...");try{const h=x.map(ue=>ue.startTime),ee=await Is(l,h,(ue,je)=>se(`提取帧图片 ${ue}/${je}`));return await Promise.all(x.map(async(ue,je)=>{const we=ee[je];if(!we)return ue;try{const ra=await Cs(we,ue.id,"first");return{...ue,generated_first_frame_url:ra}}catch{return ue}}))}catch(h){return console.debug("Frame extraction failed:",h),x}finally{Ie(!1),se("")}},[]),r=n.useCallback(async()=>{K(!0),M(""),_("准备中...");try{let l={};if(m==="upload"&&b){_("缓存视频文件...");const h=await an(b);l={videoCacheUrl:h.type==="upload"?h.cacheUrl:void 0,...h.type==="upload"?{mimeType:h.mimeType}:{},model:I,modelRef:B,taskLabel:`分析视频:${b.name||"本地视频"}`,videoAnalyzerSource:"upload",videoAnalyzerSourceLabel:b.name||"本地视频",videoAnalyzerSourceSnapshot:h}}else if(m==="youtube"&&k)l={youtubeUrl:k,model:I,modelRef:B,taskLabel:`分析视频:${k}`,videoAnalyzerSource:"youtube",videoAnalyzerSourceLabel:k,videoAnalyzerSourceSnapshot:{type:"youtube",youtubeUrl:k}};else{M("请先选择视频文件或输入 YouTube URL"),K(!1);return}_("加入任务队列...");const x=await ws.execute(l,{mode:"queue"});x.success&&x.taskId?(U(x.taskId||null),_("已加入任务队列,等待分析...")):M(x.error||"创建分析任务失败")}catch(l){M(l.message||"分析失败")}finally{K(!1)}},[m,b,k,I,B]);n.useEffect(()=>{if(!F)return;const l=ve.observeTaskUpdates().subscribe(x=>{var h;if(x.task.id===F){if(x.task.status==="failed"){U(null),_(""),M(((h=x.task.error)==null?void 0:h.message)||"分析失败");return}if(x.task.status==="completed"){Ca(x.task).then(async ee=>{if(ee&&(d(ee.records),i(ee.record),O(ee.record.analysis),ee.record.source==="upload"&&b&&ee.record.analysis.shots.length>0)){const ue=await pe(b,ee.record.analysis.shots);O(we=>we&&{...we,shots:ue});const je=await le(ee.record.id,{editedShots:ue});d(je),i({...ee.record,editedShots:ue})}}).catch(ee=>{M(ee.message||"分析结果同步失败")}).finally(()=>{U(null),_("")});return}typeof x.task.progress=="number"?_(`分析中 ${Math.round(x.task.progress)}%`):_("分析中,请耐心等待...")}});return()=>l.unsubscribe()},[F,i,d,b,pe]);const N=n.useCallback(async()=>{L&&await na("text",ia(L.shots,L))},[L]);return a.jsxDEV("div",{className:"va-page",children:[!L&&a.jsxDEV(a.Fragment,{children:[a.jsxDEV("div",{className:"va-tabs",children:[a.jsxDEV("button",{className:`va-tab ${m==="upload"?"active":""}`,onClick:()=>w("upload"),children:"上传视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:372,columnNumber:13},void 0),a.jsxDEV("button",{className:`va-tab ${m==="youtube"?"active":""}`,onClick:()=>w("youtube"),children:"YouTube URL"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:373,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:371,columnNumber:11},void 0),m==="upload"?b?a.jsxDEV("div",{className:"va-video-preview",children:[a.jsxDEV("video",{src:Y,controls:!0,muted:!0,playsInline:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:379,columnNumber:17},void 0),a.jsxDEV("button",{className:"va-video-preview-close",onClick:re,children:"✕"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:380,columnNumber:17},void 0),a.jsxDEV("div",{className:"va-video-preview-info",children:[a.jsxDEV("span",{className:"va-video-preview-name",children:b.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:382,columnNumber:19},void 0),a.jsxDEV("span",{className:"va-video-preview-size",children:dn(b.size)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:383,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:381,columnNumber:17},void 0),a.jsxDEV("input",{ref:S,type:"file",accept:"video/*",onChange:me,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:385,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:377,columnNumber:15},void 0):a.jsxDEV("div",{className:"va-dropzone",onDrop:Ue,onDragOver:l=>l.preventDefault(),onClick:()=>{var l;return(l=S.current)==null?void 0:l.click()},children:[a.jsxDEV("input",{ref:S,type:"file",accept:"video/*",onChange:me,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:389,columnNumber:17},void 0),a.jsxDEV("span",{className:"va-placeholder",children:["拖拽视频到此处 或 点击上传",a.jsxDEV("br",{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:392,columnNumber:19},void 0),a.jsxDEV("span",{className:"va-placeholder-hint",children:"建议视频在6M以内,可用推特或Youtube下载器下载最低分辨率视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:393,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:390,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:388,columnNumber:15},void 0):a.jsxDEV("input",{className:"va-url-input",type:"text",placeholder:"https://www.youtube.com/watch?v=...",value:k,onChange:l=>z(l.target.value)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:398,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-model-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"分析模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:401,columnNumber:13},void 0),a.jsxDEV(He,{variant:"form",selectedModel:I,selectedSelectionKey:$e(I,B),onSelect:y,models:$,placement:"down",disabled:G,placeholder:"选择多模态模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:402,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:400,columnNumber:11},void 0),!he&&a.jsxDEV("div",{className:"va-model-tip",children:[a.jsxDEV("span",{children:"建议使用 gemini-mix 分组的gemini-3.1-pro-preview"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:415,columnNumber:15},void 0),!de&&a.jsxDEV("button",{type:"button",className:"va-model-tip-link",onClick:De,children:"去设置"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:417,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:414,columnNumber:13},void 0),a.jsxDEV("button",{className:"va-analyze-btn",onClick:r,disabled:G||!!F||(m==="upload"?!b:!k),children:G||F?T||"分析中...":"开始分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:427,columnNumber:11},void 0),oe&&a.jsxDEV("div",{className:"va-error",children:oe},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:434,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:370,columnNumber:9},void 0),L&&a.jsxDEV("div",{className:"va-results",children:[a.jsxDEV("div",{className:"va-stats",children:[a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:[L.totalDuration,"s"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:442,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"总时长"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:442,columnNumber:102},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:442,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:L.shotCount},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:443,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"镜头数"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:443,columnNumber:97},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:443,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:[L.productExposureRatio,"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:444,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"产品占比"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:444,columnNumber:109},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:444,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:L.aspect_ratio||"-"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:445,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"画面比例"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:445,columnNumber:107},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:445,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:441,columnNumber:11},void 0),(L.video_style||L.bgm_mood)&&a.jsxDEV("div",{className:"va-style-info",children:[L.video_style&&a.jsxDEV("span",{children:["风格: ",L.video_style]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:449,columnNumber:40},void 0),L.bgm_mood&&a.jsxDEV("span",{children:["BGM: ",L.bgm_mood]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:450,columnNumber:37},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:448,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-suggestion",children:L.suggestion},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:453,columnNumber:11},void 0),a.jsxDEV(Xs,{shots:L.shots,totalDuration:L.totalDuration},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:454,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-shots",children:L.shots.map((l,x)=>a.jsxDEV(Ia,{shot:l,index:x},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:459,columnNumber:15},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:457,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-page-actions",children:[qe&&a.jsxDEV("span",{className:"va-frame-progress",children:X},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:464,columnNumber:34},void 0),a.jsxDEV("button",{onClick:N,children:"插入画布"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:465,columnNumber:13},void 0),a.jsxDEV("button",{onClick:()=>{O(null)},children:"重新分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:466,columnNumber:13},void 0),j&&a.jsxDEV("button",{onClick:j,children:"新建分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:467,columnNumber:29},void 0),o&&a.jsxDEV("button",{className:"va-btn-primary",onClick:o,children:"下一步: 编辑脚本 →"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:468,columnNumber:24},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:463,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:440,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:367,columnNumber:5},void 0)};function Ve(e){e.style.height="auto",e.style.height=e.scrollHeight+"px"}function Se(e,i=30){if(!e)return 1;const d=e.split(`
1
+ import{x as a,K as vs,ej as Ba,ax as as,ek as Pa,el as ys,em as Ns,en as bs,eo as xs,ep as hs,eq as le,aq as qa,b as n,er as js,cR as Oe,es as va,et as ws,ab as ve,dd as na,eu as ia,d3 as He,cZ as $e,ev as _a,ee as _e,ew as ks,ex as Re,ey as zs,ac as Q,ez as ss,eA as ya,eB as Na,eC as Xe,eD as Ka,bS as ze,dl as ns,c$ as Ne,eE as ba,dw as Es,H as Le,eF as is,ao as Ya,aF as xa,d6 as Wa,dn as Vs,eG as Ds,eH as Us,U as Ss,dp as Ps,eI as _s,eJ as qs}from"./index-D5YSioyv.js";import{r as ye,w as Be,e as Is,c as Cs,S as Ia,C as ea,V as As,a as Ms,b as Rs,d as Ts,f as Gs,u as Fs,g as aa,h as ha,i as ja,j as wa,k as Ls,l as Os}from"./workflow-generation-utils-BOXsMshH.js";import{r as Hs,a as $s,u as Bs,b as Ks,p as Ys,c as Za,f as Ws,s as Zs}from"./VideoAnalyzer-BFgHFDkt.js";/* empty css */import"./character-storage-service-C15hxlXu.js";/* empty css */import{R as Js}from"./ResizableDivider-C2cq_TjJ.js";const Ja=[{id:"analyze",label:"分析"},{id:"script",label:"脚本"},{id:"generate",label:"生成"}],Qs=({current:e,onNavigate:i,hasRecord:d})=>{const j=Ja.findIndex(o=>o.id===e);return a.jsxDEV("div",{className:"va-step-bar",children:Ja.map((o,g)=>{const m=o.id===e,w=g<j,k=!d&&g>0;return a.jsxDEV(vs.Fragment,{children:[g>0&&a.jsxDEV("span",{className:"va-step-arrow",children:"→"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:33,columnNumber:23},void 0),a.jsxDEV("button",{className:`va-step ${m?"active":""} ${w?"past":""}`,onClick:()=>!k&&i(o.id),disabled:k,children:[a.jsxDEV("span",{className:"va-step-num",children:g+1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:39,columnNumber:15},void 0),o.label]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:34,columnNumber:13},void 0)]},o.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:32,columnNumber:11},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/StepBar.tsx",lineNumber:25,columnNumber:5},void 0)},Xs=({shots:e,totalDuration:i})=>a.jsxDEV("div",{className:"va-timeline",children:e.map(d=>a.jsxDEV("div",{className:"va-timeline-segment",style:{flex:(d.endTime-d.startTime)/i,backgroundColor:Ba[d.type]||Ba.other},title:`${d.label} ${d.startTime}s-${d.endTime}s`},d.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/ShotTimeline.tsx",lineNumber:17,columnNumber:7},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/ShotTimeline.tsx",lineNumber:15,columnNumber:3},void 0);function Qa(e){return(e||"").trim().toLowerCase().replace(/[^a-z0-9]/g,"")||"mp4"}function en(e){const i=e.name.split(".").pop();if(i&&i.length<=8)return Qa(i);const d=e.type.split("/")[1];return Qa(d)}async function an(e,i){const d=en(e),o=`/__aitu_cache__/video/${`video-analyzer-source-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}.${d}`;return await as.cacheMediaFromBlob(o,e,"video",{metadata:{source:"video-analyzer-input",fileName:e.name,mimeType:e.type||"video/mp4",size:e.size}}),{type:"upload",cacheUrl:o,fileName:e.name||`video-source.${d}`,mimeType:e.type||"video/mp4",size:e.size}}async function sn(e){if(!e||e.type!=="upload")return null;const i=await as.getCachedBlob(e.cacheUrl);return i?new File([i],e.fileName||"video-source.mp4",{type:e.mimeType||i.type||"video/mp4",lastModified:Date.now()}):null}function rs(e){return Ks(e,"videoAnalyzerAction",["analyze","rewrite"])}function nn(e){return Ys(e,{missingMessage:"分析任务缺少结果内容",fromStructured:i=>i})}function rn(e){const i=e.params.videoAnalyzerSourceSnapshot;if((i==null?void 0:i.type)==="youtube"||(i==null?void 0:i.type)==="upload")return i;const d=e.params.videoAnalyzerSource,j=String(e.params.videoAnalyzerSourceLabel||"").trim();return d==="youtube"&&j?{type:"youtube",youtubeUrl:j}:null}function tn(e){var d;const i=(d=e.result)==null?void 0:d.analysisData;return Array.isArray(i==null?void 0:i.editedShots)?i.editedShots:null}async function Ca(e){var P,I;if(e.status!=="completed")return null;const i=rs(e);if(!i)return null;if(i==="analyze"){const R=await Pa(),B=R.find(T=>T.analyzeTaskId===e.id);if(B)return{records:R,record:B};const J=nn(e),y=rn(e),G=e.params.videoAnalyzerSource==="upload"?"upload":"youtube",K=String(e.params.videoAnalyzerSourceLabel||(G==="youtube"?(y==null?void 0:y.type)==="youtube"?y.youtubeUrl:"":"本地视频")),F={id:crypto.randomUUID(),createdAt:Date.now(),source:G,sourceLabel:K,sourceSnapshot:y,model:String(e.params.model||""),modelRef:e.params.modelRef||null,analysis:J,starred:!1,analyzeTaskId:e.id};return{records:await ys(F),record:F}}const d=Hs(e,"videoAnalyzerRecordId");if(!d)return null;const o=(await Pa()).find(R=>R.id===d);if(!o||o.pendingRewriteTaskId!==e.id)return null;const g=$s(e),m=tn(e),w=m||(()=>{if(!g)throw new Error("脚本改编任务缺少结果内容");const R=Ns(g),B=o.editedShots||o.analysis.shots;return bs(B,R)})(),k=`AI 改编 #${(((P=o.scriptVersions)==null?void 0:P.length)||0)+1}`,z=xs(w,k,(I=o.productInfo)==null?void 0:I.prompt),b=hs(o,z);return Bs(o,{...b,pendingRewriteTaskId:null,storyboardGeneratedAt:Date.now()},le)}function ln(e){return rs(e)!==null}const ka="gemini-3.1-pro-preview",za="video-analyzer:model",on="aitu:settings:provider-nav";function dn(e){return(e/1024/1024).toFixed(1)+"MB"}const un=({existingRecord:e,onComplete:i,onRecordsChange:d,onCreateNew:j,onNext:o})=>{const{setAppState:g}=qa(),[m,w]=n.useState("upload"),[k,z]=n.useState(""),[b,P]=n.useState(null),[I,R]=n.useState(()=>(e==null?void 0:e.model)||ye(za,ka).modelId),[B,J]=n.useState(()=>(e==null?void 0:e.modelRef)||ye(za,ka).modelRef),y=n.useCallback((l,x)=>{R(l),J(x||null),Be(za,l,x)},[]),[G,K]=n.useState(!1),[F,U]=n.useState(null),[T,_]=n.useState(""),[oe,M]=n.useState(""),[L,O]=n.useState((e==null?void 0:e.analysis)||null),C=js(),S=n.useRef(null),H=n.useRef(null),Y=n.useMemo(()=>{if(H.current&&URL.revokeObjectURL(H.current),!b)return H.current=null,null;const l=URL.createObjectURL(b);return H.current=l,l},[b]);n.useEffect(()=>()=>{H.current&&URL.revokeObjectURL(H.current)},[]),n.useEffect(()=>{let l=!1;return(async()=>{if(!e){if(F)return;O(null),w("upload"),z(""),P(null),M("");return}O(e.analysis||null),R(e.model||ka),J(e.modelRef||null),M("");const h=e.sourceSnapshot;if((h==null?void 0:h.type)==="upload"){w("upload"),z("");const ee=await sn(h);if(l)return;P(ee),ee||M("原上传视频缓存已失效,无法自动回填视频");return}if(e.source==="upload"){w("upload"),z(""),P(null),M("这条旧历史未保存原视频,无法自动回填视频");return}w("youtube"),P(null),(h==null?void 0:h.type)==="youtube"?z(h.youtubeUrl):e.source==="youtube"?z(e.sourceLabel||""):z("")})(),()=>{l=!0}},[e]);const Z=Oe("text"),$=n.useMemo(()=>Z.filter(l=>/^gemini/i.test(l.id)),[Z]),de=n.useMemo(()=>{const l=C.find(x=>x.id===va);return!!(l!=null&&l.apiKey.trim())},[C]),he=(B==null?void 0:B.profileId)===va,De=n.useCallback(()=>{const l={action:"select",profileId:va};window.__aituPendingProviderNavigationIntent=l,window.dispatchEvent(new CustomEvent(on,{detail:l})),g(x=>({...x,openSettings:!0}))},[g]),me=n.useCallback(l=>{var h;const x=(h=l.target.files)==null?void 0:h[0];x&&(P(x),M(""),O(null))},[]),Ue=n.useCallback(l=>{l.preventDefault();const x=l.dataTransfer.files[0];x!=null&&x.type.startsWith("video/")&&(P(x),M(""),O(null))},[]),re=n.useCallback(l=>{l.stopPropagation(),P(null),M(""),S.current&&(S.current.value="")},[]),[qe,Ie]=n.useState(!1),[X,se]=n.useState(""),pe=n.useCallback(async(l,x)=>{Ie(!0),se("提取帧图片...");try{const h=x.map(ue=>ue.startTime),ee=await Is(l,h,(ue,je)=>se(`提取帧图片 ${ue}/${je}`));return await Promise.all(x.map(async(ue,je)=>{const we=ee[je];if(!we)return ue;try{const ra=await Cs(we,ue.id,"first");return{...ue,generated_first_frame_url:ra}}catch{return ue}}))}catch(h){return console.debug("Frame extraction failed:",h),x}finally{Ie(!1),se("")}},[]),r=n.useCallback(async()=>{K(!0),M(""),_("准备中...");try{let l={};if(m==="upload"&&b){_("缓存视频文件...");const h=await an(b);l={videoCacheUrl:h.type==="upload"?h.cacheUrl:void 0,...h.type==="upload"?{mimeType:h.mimeType}:{},model:I,modelRef:B,taskLabel:`分析视频:${b.name||"本地视频"}`,videoAnalyzerSource:"upload",videoAnalyzerSourceLabel:b.name||"本地视频",videoAnalyzerSourceSnapshot:h}}else if(m==="youtube"&&k)l={youtubeUrl:k,model:I,modelRef:B,taskLabel:`分析视频:${k}`,videoAnalyzerSource:"youtube",videoAnalyzerSourceLabel:k,videoAnalyzerSourceSnapshot:{type:"youtube",youtubeUrl:k}};else{M("请先选择视频文件或输入 YouTube URL"),K(!1);return}_("加入任务队列...");const x=await ws.execute(l,{mode:"queue"});x.success&&x.taskId?(U(x.taskId||null),_("已加入任务队列,等待分析...")):M(x.error||"创建分析任务失败")}catch(l){M(l.message||"分析失败")}finally{K(!1)}},[m,b,k,I,B]);n.useEffect(()=>{if(!F)return;const l=ve.observeTaskUpdates().subscribe(x=>{var h;if(x.task.id===F){if(x.task.status==="failed"){U(null),_(""),M(((h=x.task.error)==null?void 0:h.message)||"分析失败");return}if(x.task.status==="completed"){Ca(x.task).then(async ee=>{if(ee&&(d(ee.records),i(ee.record),O(ee.record.analysis),ee.record.source==="upload"&&b&&ee.record.analysis.shots.length>0)){const ue=await pe(b,ee.record.analysis.shots);O(we=>we&&{...we,shots:ue});const je=await le(ee.record.id,{editedShots:ue});d(je),i({...ee.record,editedShots:ue})}}).catch(ee=>{M(ee.message||"分析结果同步失败")}).finally(()=>{U(null),_("")});return}typeof x.task.progress=="number"?_(`分析中 ${Math.round(x.task.progress)}%`):_("分析中,请耐心等待...")}});return()=>l.unsubscribe()},[F,i,d,b,pe]);const N=n.useCallback(async()=>{L&&await na("text",ia(L.shots,L))},[L]);return a.jsxDEV("div",{className:"va-page",children:[!L&&a.jsxDEV(a.Fragment,{children:[a.jsxDEV("div",{className:"va-tabs",children:[a.jsxDEV("button",{className:`va-tab ${m==="upload"?"active":""}`,onClick:()=>w("upload"),children:"上传视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:372,columnNumber:13},void 0),a.jsxDEV("button",{className:`va-tab ${m==="youtube"?"active":""}`,onClick:()=>w("youtube"),children:"YouTube URL"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:373,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:371,columnNumber:11},void 0),m==="upload"?b?a.jsxDEV("div",{className:"va-video-preview",children:[a.jsxDEV("video",{src:Y,controls:!0,muted:!0,playsInline:!0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:379,columnNumber:17},void 0),a.jsxDEV("button",{className:"va-video-preview-close",onClick:re,children:"✕"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:380,columnNumber:17},void 0),a.jsxDEV("div",{className:"va-video-preview-info",children:[a.jsxDEV("span",{className:"va-video-preview-name",children:b.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:382,columnNumber:19},void 0),a.jsxDEV("span",{className:"va-video-preview-size",children:dn(b.size)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:383,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:381,columnNumber:17},void 0),a.jsxDEV("input",{ref:S,type:"file",accept:"video/*",onChange:me,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:385,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:377,columnNumber:15},void 0):a.jsxDEV("div",{className:"va-dropzone",onDrop:Ue,onDragOver:l=>l.preventDefault(),onClick:()=>{var l;return(l=S.current)==null?void 0:l.click()},children:[a.jsxDEV("input",{ref:S,type:"file",accept:"video/*",onChange:me,style:{display:"none"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:389,columnNumber:17},void 0),a.jsxDEV("span",{className:"va-placeholder",children:["拖拽视频到此处 或 点击上传",a.jsxDEV("br",{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:392,columnNumber:19},void 0),a.jsxDEV("span",{className:"va-placeholder-hint",children:"建议视频在6M以内,可用推特或Youtube下载器下载最低分辨率视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:393,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:390,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:388,columnNumber:15},void 0):a.jsxDEV("input",{className:"va-url-input",type:"text",placeholder:"https://www.youtube.com/watch?v=...",value:k,onChange:l=>z(l.target.value)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:398,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-model-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"分析模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:401,columnNumber:13},void 0),a.jsxDEV(He,{variant:"form",selectedModel:I,selectedSelectionKey:$e(I,B),onSelect:y,models:$,placement:"down",disabled:G,placeholder:"选择多模态模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:402,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:400,columnNumber:11},void 0),!he&&a.jsxDEV("div",{className:"va-model-tip",children:[a.jsxDEV("span",{children:"建议使用 gemini-mix 分组的gemini-3.1-pro-preview"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:415,columnNumber:15},void 0),!de&&a.jsxDEV("button",{type:"button",className:"va-model-tip-link",onClick:De,children:"去设置"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:417,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:414,columnNumber:13},void 0),a.jsxDEV("button",{className:"va-analyze-btn",onClick:r,disabled:G||!!F||(m==="upload"?!b:!k),children:G||F?T||"分析中...":"开始分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:427,columnNumber:11},void 0),oe&&a.jsxDEV("div",{className:"va-error",children:oe},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:434,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:370,columnNumber:9},void 0),L&&a.jsxDEV("div",{className:"va-results",children:[a.jsxDEV("div",{className:"va-stats",children:[a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:[L.totalDuration,"s"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:442,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"总时长"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:442,columnNumber:102},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:442,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:L.shotCount},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:443,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"镜头数"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:443,columnNumber:97},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:443,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:[L.productExposureRatio,"%"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:444,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"产品占比"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:444,columnNumber:109},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:444,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-stat",children:[a.jsxDEV("span",{className:"va-stat-value",children:L.aspect_ratio||"-"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:445,columnNumber:38},void 0),a.jsxDEV("span",{className:"va-stat-label",children:"画面比例"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:445,columnNumber:107},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:445,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:441,columnNumber:11},void 0),(L.video_style||L.bgm_mood)&&a.jsxDEV("div",{className:"va-style-info",children:[L.video_style&&a.jsxDEV("span",{children:["风格: ",L.video_style]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:449,columnNumber:40},void 0),L.bgm_mood&&a.jsxDEV("span",{children:["BGM: ",L.bgm_mood]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:450,columnNumber:37},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:448,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-suggestion",children:L.suggestion},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:453,columnNumber:11},void 0),a.jsxDEV(Xs,{shots:L.shots,totalDuration:L.totalDuration},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:454,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-shots",children:L.shots.map((l,x)=>a.jsxDEV(Ia,{shot:l,index:x},l.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:459,columnNumber:15},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:457,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-page-actions",children:[qe&&a.jsxDEV("span",{className:"va-frame-progress",children:X},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:464,columnNumber:34},void 0),a.jsxDEV("button",{onClick:N,children:"插入画布"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:465,columnNumber:13},void 0),a.jsxDEV("button",{onClick:()=>{O(null)},children:"重新分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:466,columnNumber:13},void 0),j&&a.jsxDEV("button",{onClick:j,children:"新建分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:467,columnNumber:29},void 0),o&&a.jsxDEV("button",{className:"va-btn-primary",onClick:o,children:"下一步: 编辑脚本 →"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:468,columnNumber:24},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:463,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:440,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/AnalyzePage.tsx",lineNumber:367,columnNumber:5},void 0)};function Ve(e){e.style.height="auto",e.style.height=e.scrollHeight+"px"}function Se(e,i=30){if(!e)return 1;const d=e.split(`
2
2
  `);let j=0;for(const o of d)j+=Math.max(1,Math.ceil(o.length/i));return Math.max(1,j)}function Pe(e){e&&Ve(e)}const Ea="video-analyzer:script-model",Va="video-analyzer:video-model",Xa="gemini-3.1-pro-preview",es="veo3",cn=["固定镜头 (Static)","缓慢推近 (Dolly In)","缓慢拉远 (Dolly Out)","水平平移 (Pan)","垂直摇移 (Tilt)","跟随拍摄 (Follow)","手持感 (Handheld)","环绕拍摄 (Orbit)","升降镜头 (Crane)","快速推移 (Zoom In)","快速拉远 (Zoom Out)","滑轨移动 (Slider)","航拍俯冲 (Drone Dive)","第一人称 (POV)"],mn=[{label:"无 (none)",value:"none"},{label:"仅旁白 (narration_only)",value:"narration_only"},{label:"仅对白 (dialogue_only)",value:"dialogue_only"},{label:"旁白+对白 (both)",value:"both"}],pn=[{label:"硬切 (cut)",value:"cut"},{label:"溶解 (dissolve)",value:"dissolve"},{label:"匹配切 (match_cut)",value:"match_cut"},{label:"淡出到黑 (fade_to_black)",value:"fade_to_black"}],fn=({record:e,onRecordUpdate:i,onRecordsChange:d,onNext:j})=>{var pe;const[o,g]=n.useState(()=>{const r=_a(e.productInfo||{prompt:""},e.analysis.totalDuration);return{...r,videoStyle:r.videoStyle??e.analysis.video_style??"",bgmMood:r.bgmMood??e.analysis.bgm_mood??""}}),[m,w]=n.useState(e.editedShots||[...e.analysis.shots]),[k,z]=n.useState(!1),[b,P]=n.useState(()=>e.pendingRewriteTaskId||null),[I,R]=n.useState(""),[B,J]=n.useState(""),[y,G]=n.useState(!1),K=n.useRef(null),[F,U]=n.useState(()=>ye(Ea,Xa).modelId),[T,_]=n.useState(()=>ye(Ea,Xa).modelRef),oe=n.useCallback((r,N)=>{U(r),_(N||null),Be(Ea,r,N)},[]),M=Oe("text"),L=Oe("video"),[O,C]=n.useState(()=>{var r;return((r=e.productInfo)==null?void 0:r.videoModel)||ye(Va,es).modelId}),[S,H]=n.useState(()=>{var r,N;return((r=e.productInfo)==null?void 0:r.videoModelRef)||ye(Va,((N=e.productInfo)==null?void 0:N.videoModel)||es).modelRef}),Y=n.useCallback((r,N)=>{C(r),H(N||null),Be(Va,r,N);const l=_e(r),x=parseInt(l.defaultDuration,10)||8;g(h=>({...h,videoModel:r,videoModelRef:N||null,segmentDuration:x}))},[]),Z=n.useMemo(()=>_e(O).durationOptions,[O]),$=n.useMemo(()=>{if(o.segmentDuration&&Z.some(l=>parseInt(l.value,10)===o.segmentDuration))return o.segmentDuration;const r=_e(O);return parseInt(r.defaultDuration,10)||8},[o.segmentDuration,Z,O]),de=n.useMemo(()=>{const r=o.targetDuration||e.analysis.totalDuration,N=[{label:`${$}秒`,value:String($)}];return ks(r,N)},[$,o.targetDuration,e.analysis.totalDuration]),he=n.useMemo(()=>e.characters||e.analysis.characters||[],[e.characters,e.analysis.characters]);n.useEffect(()=>{const r=_a(e.productInfo||{prompt:""},e.analysis.totalDuration);g({...r,videoStyle:r.videoStyle??e.analysis.video_style??"",bgmMood:r.bgmMood??e.analysis.bgm_mood??""}),w(e.editedShots||[...e.analysis.shots]),P(N=>e.pendingRewriteTaskId??N??null),R(N=>e.pendingRewriteTaskId?N:"")},[e]);const De=n.useRef();n.useEffect(()=>(clearTimeout(De.current),De.current=setTimeout(async()=>{const r=await le(e.id,{productInfo:o});d(r),i({...e,productInfo:o,pendingRewriteTaskId:b})},500),()=>clearTimeout(De.current)),[o,b]);const me=n.useCallback(async r=>{w(r);const N=Re(e,r),l=await le(e.id,{...N,productInfo:o});d(l),i({...e,...N,productInfo:o,pendingRewriteTaskId:b})},[e,o,b,i,d]),Ue=n.useCallback(async r=>{const N=await le(e.id,r);d(N),i({...e,...r,productInfo:o,pendingRewriteTaskId:b})},[e,o,b,i,d]),re=n.useCallback((r,N,l)=>{const x=m.map(h=>h.id===r?{...h,[N]:l}:h);me(x)},[m,me]),qe=n.useCallback((r,N)=>{const x=(e.characters||e.analysis.characters||[]).map(h=>h.id===r?{...h,description:N}:h);Ue({characters:x})},[e.characters,e.analysis.characters,Ue]),Ie=n.useCallback(async()=>{var r;if(!((r=o.prompt)!=null&&r.trim())){J("请填写提示词");return}z(!0),J(""),R("AI 改编中 0%");try{const N=zs({recordAnalysis:e.analysis,productInfo:o,videoModel:O,characters:he}),l=ve.createTask({prompt:`改编脚本:${o.prompt.slice(0,40)}`,model:F,modelRef:T||null,videoAnalyzerAction:"rewrite",videoAnalyzerPrompt:N,videoAnalyzerRecordId:e.id,autoInsertToCanvas:!1},Q.CHAT);P(l.id),R(`AI 改编中 ${Math.round(l.progress??0)}%`);const x=await le(e.id,{pendingRewriteTaskId:l.id});d(x),i({...e,pendingRewriteTaskId:l.id})}catch(N){J(N.message||"改编失败")}finally{z(!1)}},[e,o,m,O,he,F,T,i,d]);n.useEffect(()=>{if(!b)return;const r=ve.getTask(b);typeof(r==null?void 0:r.progress)=="number"&&R(`AI 改编中 ${Math.round(r.progress)}%`);const N=ve.observeTaskUpdates().subscribe(l=>{var x;if(l.task.id===b){if(l.task.status==="failed"){P(null),R(""),J(((x=l.task.error)==null?void 0:x.message)||"改编失败"),le(e.id,{pendingRewriteTaskId:null}).then(h=>{d(h),i({...e,pendingRewriteTaskId:null})});return}if(l.task.status==="completed"){Ca(l.task).then(h=>{h&&(d(h.records),i(h.record),w(h.record.editedShots||h.record.analysis.shots))}).catch(h=>{J(h.message||"改编结果同步失败")}).finally(()=>{P(null),R("")});return}typeof l.task.progress=="number"&&R(`AI 改编中 ${Math.round(l.task.progress)}%`)}});return()=>N.unsubscribe()},[b,e.id,i,d]);const X=n.useCallback(async()=>{await na("text",ia(m,e.analysis,o))},[m,o,e]),se=n.useCallback(async r=>{const N=ss(e,r);if(!N)return;G(!1),w(N.editedShots);const l=await le(e.id,N);d(l),i({...e,...N})},[e,i,d]);return n.useEffect(()=>{if(!y)return;const r=N=>{K.current&&!K.current.contains(N.target)&&G(!1)};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[y]),a.jsxDEV("div",{className:"va-page",children:[a.jsxDEV("div",{className:"va-product-form",children:[a.jsxDEV("textarea",{ref:Pe,className:"va-form-textarea va-auto-resize",placeholder:"描述你想要的视频内容,如:拖鞋,生活用品,主打防滑...",rows:Math.max(3,Se(o.prompt)),value:o.prompt,onChange:r=>g(N=>({...N,prompt:r.target.value})),onInput:r=>Ve(r.currentTarget)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:389,columnNumber:9},void 0),a.jsxDEV("div",{className:"va-form-row",children:a.jsxDEV("div",{className:"va-duration-input",style:{width:"auto",flex:1},children:[a.jsxDEV("label",{className:"va-edit-label",children:"视频时长(秒)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:400,columnNumber:13},void 0),a.jsxDEV("input",{className:"va-form-input",type:"number",min:5,max:300,value:o.targetDuration??e.analysis.totalDuration,onChange:r=>g(N=>({...N,targetDuration:Number(r.target.value)||void 0}))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:401,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:399,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:398,columnNumber:9},void 0),a.jsxDEV("div",{className:"va-model-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"改编模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:405,columnNumber:11},void 0),a.jsxDEV(He,{variant:"form",selectedModel:F,selectedSelectionKey:$e(F,T),onSelect:oe,models:M,placement:"down",disabled:k,placeholder:"选择文本模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:406,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:404,columnNumber:9},void 0),a.jsxDEV("div",{className:"va-model-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"视频模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:418,columnNumber:11},void 0),a.jsxDEV(He,{variant:"form",selectedModel:O,selectedSelectionKey:$e(O,S),onSelect:Y,models:L,placement:"down",disabled:k,placeholder:"选择视频模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:419,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-segment-duration-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"单段"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:430,columnNumber:13},void 0),a.jsxDEV("select",{className:"va-form-select",value:String($),onChange:r=>g(N=>({...N,segmentDuration:parseInt(r.target.value,10)})),disabled:Z.length<=1,children:Z.map(r=>a.jsxDEV("option",{value:r.value,children:r.label},r.value,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:438,columnNumber:17},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:431,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:429,columnNumber:11},void 0),de.overflow>0&&a.jsxDEV("span",{className:"va-duration-overflow",children:["实际 ",de.actualTotal,"s(+",parseFloat(de.overflow.toFixed(2)),"s)"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:443,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:417,columnNumber:9},void 0),a.jsxDEV("div",{className:"va-version-row",children:[a.jsxDEV("button",{className:"va-analyze-btn",onClick:Ie,disabled:k||!!b,style:{flex:1},children:k||b?I||"AI 改编中...":"AI 改编脚本"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:449,columnNumber:11},void 0),e.scriptVersions&&e.scriptVersions.length>0&&a.jsxDEV("div",{className:"va-version-select",ref:K,children:[a.jsxDEV("button",{className:"va-version-btn",onClick:()=>G(r=>!r),children:[e.activeVersionId===ya?"原始分析":((pe=e.scriptVersions.find(r=>r.id===e.activeVersionId))==null?void 0:pe.label)||`v${e.scriptVersions.length}`," ▾"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:454,columnNumber:15},void 0),y&&a.jsxDEV("div",{className:"va-version-menu",children:[e.scriptVersions.map(r=>a.jsxDEV("div",{className:`va-version-item ${r.id===e.activeVersionId?"active":""}`,onClick:()=>se(r.id),children:[a.jsxDEV("span",{children:r.label},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:470,columnNumber:23},void 0),r.prompt&&a.jsxDEV("span",{className:"va-version-prompt",children:r.prompt.length>30?r.prompt.slice(0,30)+"...":r.prompt},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:471,columnNumber:36},void 0),a.jsxDEV("span",{className:"va-version-time",children:[r.shots.length," 镜头 · ",new Date(r.createdAt).toLocaleTimeString()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:472,columnNumber:23},void 0)]},r.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:465,columnNumber:21},void 0)),a.jsxDEV("div",{className:`va-version-item ${e.activeVersionId===ya||!e.activeVersionId?"active":""}`,onClick:()=>se(ya),children:[a.jsxDEV("span",{children:"原始分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:479,columnNumber:21},void 0),a.jsxDEV("span",{className:"va-version-time",children:[e.analysis.shots.length," 镜头 · ",new Date(e.createdAt).toLocaleTimeString()]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:480,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:475,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:463,columnNumber:17},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:453,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:448,columnNumber:9},void 0),a.jsxDEV("div",{className:"va-form-row",children:[a.jsxDEV("div",{style:{flex:1},children:[a.jsxDEV("label",{className:"va-edit-label",children:"画面风格"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:490,columnNumber:13},void 0),a.jsxDEV(ea,{className:"va-style-combo",value:o.videoStyle||"",onChange:r=>g(N=>({...N,videoStyle:r})),options:Ms,placeholder:As},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:491,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:489,columnNumber:11},void 0),a.jsxDEV("div",{style:{flex:1},children:[a.jsxDEV("label",{className:"va-edit-label",children:"BGM 情绪"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:500,columnNumber:13},void 0),a.jsxDEV("textarea",{ref:Pe,className:"va-edit-textarea va-auto-resize",rows:Se(o.bgmMood),value:o.bgmMood||"",onChange:r=>g(N=>({...N,bgmMood:r.target.value})),onInput:r=>Ve(r.currentTarget),placeholder:"如:轻快、治愈、科技感"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:501,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:499,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:488,columnNumber:9},void 0),B&&a.jsxDEV("div",{className:"va-error",children:B},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:512,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:388,columnNumber:7},void 0),a.jsxDEV(Rs,{characters:he,onChange:qe},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:515,columnNumber:7},void 0),a.jsxDEV("div",{className:"va-shots",children:m.map((r,N)=>a.jsxDEV(Ia,{shot:r,index:N,compact:!0,children:a.jsxDEV("div",{className:"va-edit-fields",children:[a.jsxDEV("label",{className:"va-edit-label",children:"画面描述"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:525,columnNumber:15},void 0),a.jsxDEV("textarea",{ref:Pe,className:"va-edit-textarea va-auto-resize",rows:Se(r.description),value:r.description||"",onChange:l=>re(r.id,"description",l.target.value),onInput:l=>Ve(l.currentTarget)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:526,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"旁白"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:527,columnNumber:15},void 0),a.jsxDEV("textarea",{ref:Pe,className:"va-edit-textarea va-auto-resize",rows:Se(r.narration),value:r.narration||"",onChange:l=>re(r.id,"narration",l.target.value),onInput:l=>Ve(l.currentTarget)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:528,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"角色说话"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:529,columnNumber:15},void 0),a.jsxDEV("textarea",{ref:Pe,className:"va-edit-textarea va-auto-resize",rows:Se(r.dialogue),value:r.dialogue||"",onChange:l=>re(r.id,"dialogue",l.target.value),onInput:l=>Ve(l.currentTarget),placeholder:'多角色时按"角色名: 台词"分行'},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:530,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"对白角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:531,columnNumber:15},void 0),a.jsxDEV("input",{className:"va-form-input",type:"text",value:r.dialogue_speakers||"",onChange:l=>re(r.id,"dialogue_speakers",l.target.value),placeholder:"如:主讲人 或 主讲人|顾客"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:532,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"旁白/对白关系"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:533,columnNumber:15},void 0),a.jsxDEV(ea,{value:r.speech_relation||"",onChange:l=>re(r.id,"speech_relation",l),options:mn,placeholder:"选择关系"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:534,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"运镜方式"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:535,columnNumber:15},void 0),a.jsxDEV(ea,{value:r.camera_movement||"",onChange:l=>re(r.id,"camera_movement",l),options:cn,placeholder:"选择或输入运镜方式"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:536,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"首帧 Prompt"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:537,columnNumber:15},void 0),a.jsxDEV("textarea",{ref:Pe,className:"va-edit-textarea va-auto-resize",rows:Se(r.first_frame_prompt),value:r.first_frame_prompt||"",onChange:l=>re(r.id,"first_frame_prompt",l.target.value),onInput:l=>Ve(l.currentTarget)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:538,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"尾帧 Prompt"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:539,columnNumber:15},void 0),a.jsxDEV("textarea",{ref:Pe,className:"va-edit-textarea va-auto-resize",rows:Se(r.last_frame_prompt),value:r.last_frame_prompt||"",onChange:l=>re(r.id,"last_frame_prompt",l.target.value),onInput:l=>Ve(l.currentTarget)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:540,columnNumber:15},void 0),a.jsxDEV("label",{className:"va-edit-label",children:"转场方式"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:541,columnNumber:15},void 0),a.jsxDEV(ea,{value:r.transition_hint||"",onChange:l=>re(r.id,"transition_hint",l),options:pn,placeholder:"选择转场方式"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:542,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:524,columnNumber:13},void 0)},r.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:523,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:521,columnNumber:7},void 0),a.jsxDEV("div",{className:"va-page-actions",children:[a.jsxDEV("button",{onClick:X,children:"脚本插入画布"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:549,columnNumber:9},void 0),j&&a.jsxDEV("button",{className:"va-btn-primary",onClick:j,children:"下一步:批量生成 →"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:550,columnNumber:20},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:548,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/ScriptPage.tsx",lineNumber:386,columnNumber:5},void 0)};function gn(e,i,d){var j,o,g;return{recordId:e.id,fileNamePrefix:"va",zipBaseName:"video_analyzer_assets",scriptMarkdown:ia(i,e.analysis,e.productInfo),recordMeta:{id:e.id,source:e.source,sourceLabel:e.sourceLabel,prompt:((j=e.productInfo)==null?void 0:j.prompt)||"",aspectRatio:e.analysis.aspect_ratio||"16x9",videoStyle:((o=e.productInfo)==null?void 0:o.videoStyle)||e.analysis.video_style||"",bgmMood:((g=e.productInfo)==null?void 0:g.bgmMood)||e.analysis.bgm_mood||"",shotCount:i.length},shots:i,assets:d}}function vn(e,i){const d=e.characters||e.analysis.characters||[];return Ts(i,d)}const Da="video-analyzer:image-model",sa="video-analyzer:video-model",Ua=({size:e=14})=>a.jsxDEV("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",width:e,height:e,"aria-hidden":"true",children:[a.jsxDEV("rect",{x:"3",y:"3",width:"8",height:"8",rx:"1.5"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:63,columnNumber:5},void 0),a.jsxDEV("circle",{cx:"17",cy:"7",r:"4"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:64,columnNumber:5},void 0),a.jsxDEV("rect",{x:"3",y:"13",width:"8",height:"8",rx:"1.5"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:65,columnNumber:5},void 0),a.jsxDEV("rect",{x:"13",y:"13",width:"8",height:"8",rx:"1.5"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:66,columnNumber:5},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:52,columnNumber:3},void 0),yn=({record:e,onRecordUpdate:i,onRecordsChange:d,onRestart:j})=>{const o=n.useMemo(()=>e.editedShots||e.analysis.shots,[e.editedShots,e.analysis.shots]),g=e.analysis.aspect_ratio||"16x9",m=e.batchId||`va_${e.id}`,{openDialog:w,board:k}=qa(),z=n.useRef(e),b=n.useRef(o),P=n.useRef(!1),I=n.useRef(null),R=n.useRef(null),[B,J]=n.useState([]),[y,G]=n.useState(null),K=Oe("image"),F=Oe("video"),[U,T]=n.useState(()=>ye(Da,"").modelId),[_,oe]=n.useState(()=>ye(Da,"").modelRef),[M,L]=n.useState(()=>{var s;return((s=e.productInfo)==null?void 0:s.videoModel)||ye(sa,"veo3").modelId}),[O,C]=n.useState(()=>{var s,t;return((s=e.productInfo)==null?void 0:s.videoModelRef)||ye(sa,((t=e.productInfo)==null?void 0:t.videoModel)||"veo3").modelRef}),[S,H]=n.useState(()=>{var s,t;return Na(((s=e.productInfo)==null?void 0:s.videoModel)||ye(sa,"veo3").modelId,(t=e.productInfo)==null?void 0:t.videoSize,g)}),[Y,Z]=n.useState(()=>{var s,t;return((s=e.productInfo)==null?void 0:s.segmentDuration)||parseInt(_e(((t=e.productInfo)==null?void 0:t.videoModel)||"veo3").defaultDuration,10)||8}),[$,de]=n.useState({running:!1,stopping:!1,currentIndex:-1,retryCount:0}),[he,De]=n.useState(!1),me=n.useMemo(()=>_e(M),[M]),Ue=n.useMemo(()=>me.durationOptions,[me]),re=n.useMemo(()=>me.sizeOptions,[me]),qe=n.useMemo(()=>e.characters||e.analysis.characters||[],[e.characters,e.analysis.characters]),Ie=n.useMemo(()=>Gs(o),[o]);n.useEffect(()=>{z.current=e},[e]),n.useEffect(()=>{b.current=o},[o]);const X=n.useCallback(async s=>{const t=z.current,c={...t,...s};z.current=c,c.editedShots&&(b.current=c.editedShots);const u=await le(t.id,s);return d(u),i(c),c},[i,d]),se=n.useCallback(async s=>{const t=z.current,c=Re(t,s);return b.current=s,await X(c),s},[X]),pe=n.useCallback(async s=>{const t=z.current,c={..._a(t.productInfo||{prompt:""},t.analysis.totalDuration),...s};return await X({productInfo:c}),c},[X]),r=n.useCallback(async(s,t)=>{const c=z.current,f=(c.characters||c.analysis.characters||[]).map(p=>p.id===s?{...p,referenceImageUrl:t}:p);await X({characters:f})},[X]),N=n.useCallback(s=>{const t=`va_${e.id}_char${s.id}_ref`;w(Xe.aiImageGeneration,{initialPrompt:s.description,batchId:t,initialAspectRatio:"1:1",initialModel:U||void 0,initialModelRef:_})},[e.id,w,U,_]),l=n.useCallback((s,t)=>{T(s),oe(t||null),Be(Da,s,t)},[]),x=n.useCallback((s,t)=>{L(s),C(t||null),Be(sa,s,t);const c=_e(s),u=parseInt(c.defaultDuration,10)||8,f=Na(s,S,g);Z(u),H(f),pe({videoModel:s,videoModelRef:t||null,segmentDuration:u,videoSize:f})},[pe,g,S]),h=n.useCallback(s=>{Z(s),pe({segmentDuration:s})},[pe]),ee=n.useCallback(s=>{const t=Na(M,s,g);H(t),pe({videoSize:t})},[pe,g,M]),ue=n.useCallback(async()=>{try{const s=z.current,t=b.current;if(!k)throw new Error("画布未就绪");Ka(k);const c=await na("text",ia(t,s.analysis,s.productInfo));if(!c.success)throw new Error(c.error||"插入失败,请确认画布已打开");ze.success("脚本已插入画布")}catch(s){console.error("[VideoAnalyzer] Failed to insert script to canvas:",s);const t=s instanceof Error?s.message:"脚本插入画布失败";ze.error(t)}},[k]),je=n.useCallback(async s=>{if(!k)return!1;try{Ka(k);const t=await na("video",s);if(!t.success)throw new Error(t.error||"插入失败,请确认画布已打开");return!0}catch(t){return console.error("[VideoAnalyzer] Failed to insert generated video to canvas:",t),!1}},[k]),{isExportingAssets:we,exportProgress:ra,handleExportAssets:ls}=Fs({onExport:async s=>{const t=z.current,c=b.current;return await Os({...gn(t,c,Ie),onProgress:s})},onExportSuccess:s=>{ze.success(`素材导出完成,共 ${s.assetCount} 个文件`)},onExportError:s=>{console.error("[VideoAnalyzer] Failed to export assets:",s),ze.error("素材导出失败")}}),ta=n.useMemo(()=>B.map(s=>s.url).filter(Boolean),[B]),Aa=n.useCallback(async()=>{e.batchId||await X({batchId:m})},[e.batchId,m,X]),{tasks:Ma}=ns(),Ce=n.useRef(new Set),la=n.useRef(new Set),Ra=n.useCallback(async(s,t,c)=>{let u=[...t],f=!1;for(const{shotId:p,videoUrl:E}of c){const V=`auto_${p}`;if(!la.current.has(V)){la.current.add(V);try{const q=u.findIndex(A=>A.id===p);if(q===-1)continue;const D=u[q+1];if(!D)continue;const v=await aa(E,D.id,"first","last");if(!v||D.generated_first_frame_url===v)continue;u=u.map((A,te)=>te===q+1?{...A,generated_first_frame_url:v}:A),f=!0}finally{la.current.delete(V)}}}if(f){const p=e;le(s,Re(p,u)).then(E=>{d(E),i({...p,editedShots:u})})}},[e,i,d]);n.useEffect(()=>{var E,V,q,D;const s=`va_${e.id}_shot`,t=`va_${e.id}_char`;let c=!1;const u=e;let f=u.editedShots||u.analysis.shots;const p=[];for(const v of Ma){if(v.status!==Ne.COMPLETED||Ce.current.has(v.id))continue;const A=(E=v.params)==null?void 0:E.batchId;if(!A)continue;if(A.startsWith(t)){const ge=(V=v.result)==null?void 0:V.url;if(Ce.current.add(v.id),ge){const Ha=A.slice(t.length),$a=Ha.lastIndexOf("_ref");if($a!==-1){const fs=Ha.slice(0,$a),gs=(z.current.characters||z.current.analysis.characters||[]).map(ga=>ga.id===fs?{...ga,referenceImageUrl:ge}:ga);X({characters:gs})}}continue}if(!A.startsWith(s))continue;if(e.storyboardGeneratedAt&&v.createdAt<e.storyboardGeneratedAt){Ce.current.add(v.id);continue}const te=(q=v.result)==null?void 0:q.url;if(!te)continue;const ne=A.slice(s.length),ke=ne.lastIndexOf("_");if(ke===-1)continue;const ie=ne.slice(0,ke),W=ne.slice(ke+1);if(W!=="first"&&W!=="last"&&W!=="video")continue;const fe=W==="first"?"generated_first_frame_url":W==="last"?"generated_last_frame_url":"generated_video_url",ae=f.find(ge=>ge.id===ie),ce=(D=ae==null?void 0:ae.suppressed_generated_urls)==null?void 0:D[W];if(ce&&ce===te){Ce.current.add(v.id);continue}if(!ae||ae[fe]===te){Ce.current.add(v.id);continue}f=f.map(ge=>ge.id===ie?{...ge,[fe]:te,suppressed_generated_urls:ge.suppressed_generated_urls?{...ge.suppressed_generated_urls,[W]:void 0}:void 0}:ge),Ce.current.add(v.id),c=!0,W==="video"&&p.push({shotId:ie,videoUrl:te})}c&&le(u.id,Re(u,f)).then(v=>{d(v),i({...u,editedShots:f})}),p.length>0&&Ra(u.id,f,p)},[Ma,Ra,e,i,d,X]);const[be,oa]=n.useState(null),da=n.useCallback((s,t)=>{oa({shotId:s,assetType:t})},[]),os=n.useCallback(async s=>{if(!be)return;oa(null);const{shotId:t,assetType:c}=be,u=c==="first"?"generated_first_frame_url":c==="last"?"generated_last_frame_url":"generated_video_url",p=(e.editedShots||e.analysis.shots).map(V=>V.id===t?{...V,[u]:s.url}:V),E=await le(e.id,Re(e,p));d(E),i({...e,editedShots:p})},[be,e,d,i]),[Ae,ua]=n.useState(null),Te=n.useRef(null),xe=n.useCallback(()=>{Te.current!==null&&(window.clearTimeout(Te.current),Te.current=null)},[]),Ta=n.useCallback(()=>{xe(),ua(null)},[xe]),Ga=n.useCallback(()=>{xe(),Te.current=window.setTimeout(()=>{Te.current=null,ua(null)},120)},[xe]),Ke=n.useCallback((s,t,c)=>{xe();const u=c.currentTarget.getBoundingClientRect();ua({url:s,type:t,x:u.left+u.width/2,y:u.top-8})},[xe]),Ye=n.useCallback(()=>{Ga()},[Ga]),ds=n.useCallback(()=>{xe()},[xe]),us=n.useCallback(()=>{Ta()},[Ta]);n.useEffect(()=>()=>{xe()},[xe]);const Ge=n.useMemo(()=>{var t;const s=(t=re.find(c=>c.value===S))==null?void 0:t.aspectRatio;if(s)return s;if(S!=null&&S.includes("x")){const[c,u]=S.split("x").map(Number);if(c&&u){const f=(E,V)=>V===0?E:f(V,E%V),p=f(c,u);return`${c/p}:${u/p}`}}return g.replace("x",":")},[g,re,S]),We=Ge,Ee=n.useCallback(s=>s.map(t=>({url:t.url,name:t.name})),[]),Ze=n.useCallback((s=[],t=[])=>s.length===t.length&&s.every((c,u)=>{var f,p;return c.url===((f=t[u])==null?void 0:f.url)&&c.name===((p=t[u])==null?void 0:p.name)}),[]),Me=n.useCallback(async(s,t,c)=>{let u=!1;const f=Ee(c.images),p=b.current.map(E=>{if(E.id!==s)return E;if(t==="first"){const D=E.first_frame_draft,v={prompt:c.prompt,images:f,aspectRatio:c.aspectRatio};return(D==null?void 0:D.prompt)===v.prompt&&(D==null?void 0:D.aspectRatio)===v.aspectRatio&&Ze(D==null?void 0:D.images,v.images)?E:(u=!0,{...E,first_frame_draft:v})}if(t==="last"){const D=E.last_frame_draft,v={prompt:c.prompt,images:f,aspectRatio:c.aspectRatio};return(D==null?void 0:D.prompt)===v.prompt&&(D==null?void 0:D.aspectRatio)===v.aspectRatio&&Ze(D==null?void 0:D.images,v.images)?E:(u=!0,{...E,last_frame_draft:v})}const V=E.video_draft,q={prompt:c.prompt,images:f,duration:c.duration,size:c.size};return(V==null?void 0:V.prompt)===q.prompt&&(V==null?void 0:V.duration)===q.duration&&(V==null?void 0:V.size)===q.size&&Ze(V==null?void 0:V.images,q.images)?E:(u=!0,{...E,video_draft:q})});u&&await se(p)},[se,Ze,Ee]),ca=n.useCallback(s=>{const t=s.first_frame_prompt||s.description||"";if(!t)return;const c=ha(t,e.analysis,e.productInfo),u=s.first_frame_draft,f=`va_${e.id}_shot${s.id}_first`;w(Xe.aiImageGeneration,{initialPrompt:(u==null?void 0:u.prompt)||c,batchId:f,initialAspectRatio:(u==null?void 0:u.aspectRatio)??We,initialModel:U||void 0,initialModelRef:_,initialImages:u?Ee(u.images||[]):s.generated_first_frame_url?[{url:s.generated_first_frame_url,name:"首帧"}]:void 0,onDraftChange:p=>Me(s.id,"first",p)})},[e,w,We,U,_,Me,Ee]),Fe=n.useCallback((s,t)=>{if(s.generated_last_frame_url)return s.generated_last_frame_url;const c=o[t+1];return c==null?void 0:c.generated_first_frame_url},[o]),Je=n.useCallback((s,t)=>{const c=s.last_frame_prompt||s.description||"";if(!c)return;const u=ha(c,e.analysis,e.productInfo),f=s.last_frame_draft,p=`va_${e.id}_shot${s.id}_last`,E=Fe(s,t);w(Xe.aiImageGeneration,{initialPrompt:(f==null?void 0:f.prompt)||u,batchId:p,initialAspectRatio:(f==null?void 0:f.aspectRatio)??We,initialModel:U||void 0,initialModelRef:_,initialImages:f?Ee(f.images||[]):E?[{url:E,name:"尾帧"}]:void 0,onDraftChange:V=>Me(s.id,"last",V)})},[e,w,Fe,We,U,_,Me,Ee]),ma=n.useCallback((s,t)=>{const c=ja(s,e.analysis,e.productInfo);if(!c)return;const u=s.video_draft,f=`va_${e.id}_shot${s.id}_video`,p=[];s.generated_first_frame_url&&p.push({url:s.generated_first_frame_url,name:"首帧"});const E=Fe(s,t);E&&p.push({url:E,name:"尾帧"});const V=Ee((u==null?void 0:u.images)||[]),q=V.length>0?V:p.length>0?p:void 0,D=_e(M),v=String((u==null?void 0:u.duration)??Y),A=D.durationOptions.some(ne=>ne.value===v)?(u==null?void 0:u.duration)??Y:void 0,te=D.sizeOptions.some(ne=>ne.value===((u==null?void 0:u.size)??S))?(u==null?void 0:u.size)??S:void 0;w(Xe.aiVideoGeneration,{initialPrompt:(u==null?void 0:u.prompt)||c,initialImages:q,initialDuration:A,initialSize:te,initialModel:M||void 0,initialModelRef:O,batchId:f,onDraftChange:ne=>Me(s.id,"video",ne)})},[e.id,Y,S,M,O,w,Fe,e.analysis,e.productInfo,Me,Ee]),pa=n.useCallback((s,t)=>{const c=t==="first"?"generated_first_frame_url":t==="last"?"generated_last_frame_url":"generated_video_url",f=(e.editedShots||e.analysis.shots).map(p=>p.id===s?{...p,[c]:void 0,suppressed_generated_urls:p[c]?{...p.suppressed_generated_urls||{},[t]:p[c]}:p.suppressed_generated_urls}:p);le(e.id,Re(e,f)).then(p=>{d(p),i({...e,editedShots:f})})},[e,i,d]),Fa=n.useCallback(async(s,t,c)=>{var A,te,ne;const u=s.first_frame_prompt||s.description||"";if(!u)return null;const f=ha(u,e.analysis,e.productInfo),p=[];if(t&&p.push(t),s.character_ids&&s.character_ids.length>0)for(const ke of s.character_ids){const ie=c.find(W=>W.id===ke);ie!=null&&ie.referenceImageUrl&&!p.includes(ie.referenceImageUrl)&&p.push(ie.referenceImageUrl)}const E=`va_${e.id}_shot${s.id}_first`,V=await ba.executeTool({name:"generate_image",arguments:{prompt:f.trim(),count:1,size:g,referenceImages:p.length>0?p:void 0,batchId:E,...U?{model:U,modelRef:_}:{}}},{mode:"queue"}),q=V.taskId||((A=V.data)==null?void 0:A.taskId);if(!V.success||!q)return null;const D=await wa(q,(te=I.current)==null?void 0:te.signal);if(!D.success)return null;const v=D.task||ve.getTask(q);return((ne=v==null?void 0:v.result)==null?void 0:ne.url)||null},[e,g,U,_]),fa=n.useCallback(async(s,t,c)=>{const u=s[t+1];if(!u)return s;const f=await aa(c,u.id,"first","last");if(!f||u.generated_first_frame_url===f)return s;const p=s.map((E,V)=>V===t+1?{...E,generated_first_frame_url:f}:E);return await se(p),p},[se]),La=n.useCallback(async(s,t,c)=>{const u=s[t];if(!u||u.generated_video_url===c)return s;const f=s.map((p,E)=>E===t?{...p,generated_video_url:c}:p);return await se(f),f},[se]),Oa=n.useCallback(async(s,t,c)=>{var v,A;const u=ja(s,e.analysis,e.productInfo);if(!u)return null;const f=t===0?ta[0]:s.generated_first_frame_url,p=s.generated_last_frame_url||((v=c[t+1])==null?void 0:v.generated_first_frame_url),{referenceImages:E}=Ls({model:M,firstFrameUrl:f,lastFrameUrl:p,extraReferenceUrls:ta.slice(t===0?1:0)}),V=`va_${e.id}_shot${s.id}_video`,q=await ba.executeTool({name:"generate_video",arguments:{prompt:u,size:S,seconds:String(Y),count:1,batchId:V,model:M,modelRef:O,referenceImages:E,params:me.provider==="seedance"?{aspect_ratio:Ge}:void 0}},{mode:"queue"}),D=q.taskId||((A=q.data)==null?void 0:A.taskId);if(!q.success||!D)throw new Error(q.error||"创建视频任务失败");return D},[e.analysis,e.id,e.productInfo,ta,Y,M,me.provider,O,S,Ge]),cs=n.useCallback(()=>{var s;P.current=!0,de(t=>t.running?{...t,stopping:!0}:t),R.current&&ve.cancelTask(R.current),(s=I.current)==null||s.abort()},[]);n.useEffect(()=>()=>{var s;P.current=!0,(s=I.current)==null||s.abort()},[]);const ms=n.useCallback(async()=>{var t,c,u,f,p;if($.running)return;let s=he;s&&!k&&(ze.warning("画布未就绪,本次将只生成不插入画布"),s=!1),await Aa(),P.current=!1,I.current=new AbortController,R.current=null,de({running:!0,stopping:!1,currentIndex:-1,retryCount:0});try{let E=z.current.characters||z.current.analysis.characters||[];const V=E.filter(v=>!v.referenceImageUrl);if(V.length>0&&!P.current){for(const v of V){if(P.current)break;const A=`va_${e.id}_char${v.id}_ref`,te=await ba.executeTool({name:"generate_image",arguments:{prompt:v.description,count:1,size:"1:1",batchId:A,...U?{model:U,modelRef:_}:{}}},{mode:"queue"}),ne=te.taskId||((t=te.data)==null?void 0:t.taskId);if(ne){const ke=await wa(ne,(c=I.current)==null?void 0:c.signal);if(ke.success){const ie=ke.task||ve.getTask(ne),W=(u=ie==null?void 0:ie.result)==null?void 0:u.url;if(W){const ae=(z.current.characters||z.current.analysis.characters||[]).map(ce=>ce.id===v.id?{...ce,referenceImageUrl:W}:ce);await X({characters:ae})}}}}E=z.current.characters||z.current.analysis.characters||[]}let q=b.current,D;for(let v=0;v<q.length&&!P.current;v++){q=b.current;const A=q[v];if(!A||!ja(A,e.analysis,e.productInfo))continue;if(de(fe=>({...fe,currentIndex:v,retryCount:0})),A.generated_video_url){try{D=await aa(A.generated_video_url,A.id,"last","last")||void 0}catch{D=void 0}s&&await je(A.generated_video_url),q=await fa(q,v,A.generated_video_url);continue}if(E=z.current.characters||z.current.analysis.characters||[],((A.character_ids||[]).length>0||D!==void 0)&&!A.generated_first_frame_url&&!P.current){const fe=await Fa(A,D,E);fe&&(q=q.map((ae,ce)=>ce===v?{...ae,generated_first_frame_url:fe}:ae),await se(q))}if(P.current)break;let ie=0,W=null;for(;!P.current&&(W||(W=await Oa(q[v]||A,v,q)),!!W);){R.current=W,de({running:!0,stopping:!1,currentIndex:v,retryCount:ie});const fe=await wa(W,(f=I.current)==null?void 0:f.signal);if(P.current)break;const ae=fe.task||ve.getTask(W),ce=(p=ae==null?void 0:ae.result)==null?void 0:p.url;if(fe.success&&ae&&ce){q=await La(q,v,ce),s&&await je(ce);try{D=await aa(ce,A.id,"last","last")||void 0}catch{D=void 0}q=await fa(q,v,ce);break}if(ie+=1,de({running:!0,stopping:!1,currentIndex:v,retryCount:ie}),(ae==null?void 0:ae.status)===Ne.FAILED){ve.retryTask(W);continue}W=null}R.current=null}}finally{R.current=null,I.current=null,de({running:!1,stopping:!1,currentIndex:-1,retryCount:0})}},[$.running,Oa,Aa,Fa,se,X,fa,e.id,e.analysis,e.productInfo,U,_,je,he,La,k]),ps=n.useCallback(async()=>{const s=vn(z.current,b.current);await se(s.shots),await X({characters:s.characters})},[se,X]),Qe=n.useMemo(()=>{const[s,t]=Ge.split(":").map(Number);return!s||!t?{}:{width:Math.round(54*s/t),height:54}},[Ge]);return a.jsxDEV("div",{className:"va-page",children:[a.jsxDEV("div",{className:"va-batch-config",children:[a.jsxDEV("div",{className:"va-batch-config-title",children:"批量生成配置"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1169,columnNumber:9},void 0),a.jsxDEV(Js,{images:B,onImagesChange:J,multiple:!0,label:"参考图 (可选)"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1170,columnNumber:9},void 0),qe.length>0&&a.jsxDEV("div",{className:"va-characters",children:[a.jsxDEV("div",{className:"va-characters-title",children:"角色"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1179,columnNumber:13},void 0),qe.map(s=>a.jsxDEV("div",{className:"va-character-item",children:[a.jsxDEV("div",{className:"va-character-info",children:[a.jsxDEV("span",{className:"va-character-name",children:s.name},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1183,columnNumber:19},void 0),a.jsxDEV("span",{className:"va-character-desc",children:s.description},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1184,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1182,columnNumber:17},void 0),a.jsxDEV("div",{className:"va-character-ref",children:[s.referenceImageUrl?a.jsxDEV("div",{className:"va-character-ref-thumb",children:[a.jsxDEV("img",{src:s.referenceImageUrl,alt:s.name,referrerPolicy:"no-referrer"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1189,columnNumber:23},void 0),a.jsxDEV("button",{className:"va-shot-frame-delete",onClick:()=>void r(s.id,void 0),children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1194,columnNumber:23},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1188,columnNumber:21},void 0):a.jsxDEV("span",{className:"va-character-ref-empty",children:"未设置"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1200,columnNumber:21},void 0),a.jsxDEV("button",{onClick:()=>N(s),children:"生成"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1202,columnNumber:19},void 0),a.jsxDEV("button",{onClick:()=>G(s.id),children:"素材库"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1203,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1186,columnNumber:17},void 0)]},s.id,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1181,columnNumber:15},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1178,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-product-form",children:[a.jsxDEV("div",{className:"va-model-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"图片模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1211,columnNumber:13},void 0),a.jsxDEV(He,{variant:"form",selectedModel:U,selectedSelectionKey:$e(U,_),onSelect:l,models:K,placement:"down",placeholder:"选择图片模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1212,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1210,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-model-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"视频模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1223,columnNumber:13},void 0),a.jsxDEV(He,{variant:"form",selectedModel:M,selectedSelectionKey:$e(M,O),onSelect:x,models:F,placement:"down",placeholder:"选择视频模型"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1224,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-segment-duration-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"单段"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1234,columnNumber:15},void 0),a.jsxDEV("select",{className:"va-form-select",value:String(Y),onChange:s=>h(parseInt(s.target.value,10)),disabled:Ue.length<=1,children:Ue.map(s=>a.jsxDEV("option",{value:s.value,children:s.label},s.value,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1242,columnNumber:19},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1235,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1233,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-segment-duration-select",children:[a.jsxDEV("label",{className:"va-model-label",children:"尺寸"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1247,columnNumber:15},void 0),a.jsxDEV("select",{className:"va-form-select",value:S,onChange:s=>ee(s.target.value),disabled:re.length<=1,children:re.map(s=>a.jsxDEV("option",{value:s.value,children:s.label},s.value,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1255,columnNumber:19},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1248,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1246,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1222,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1209,columnNumber:9},void 0),$.running&&a.jsxDEV("div",{className:"va-batch-config-title",children:["正在串行生成第 ",Math.max($.currentIndex+1,1),"/",o.length," 段",$.retryCount>0?`,已重试 ${$.retryCount} 次`:""]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1262,columnNumber:11},void 0),a.jsxDEV("div",{className:"va-page-actions",children:[j&&a.jsxDEV("button",{onClick:j,children:"重新分析"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1268,columnNumber:25},void 0),a.jsxDEV("button",{onClick:ps,children:"重置生成"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1269,columnNumber:11},void 0),a.jsxDEV("label",{className:"va-inline-checkbox",children:[a.jsxDEV("input",{type:"checkbox",checked:he,onChange:s=>De(s.target.checked)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1271,columnNumber:13},void 0),"生成后插入画布"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1270,columnNumber:11},void 0),a.jsxDEV("button",{onClick:ms,disabled:$.running,children:"全部→生成视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1278,columnNumber:11},void 0),$.running&&a.jsxDEV("button",{onClick:cs,children:$.stopping?"停止中…":"停止全部生成"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1280,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1267,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1168,columnNumber:7},void 0),a.jsxDEV("div",{className:"va-shots",children:o.map((s,t)=>a.jsxDEV(Ia,{shot:s,index:t,actions:a.jsxDEV(a.Fragment,{children:[s.generated_first_frame_url?a.jsxDEV("div",{className:"va-shot-frame-thumb",style:Qe,onMouseEnter:c=>Ke(s.generated_first_frame_url,"image",c),onMouseLeave:Ye,children:[a.jsxDEV("img",{src:s.generated_first_frame_url,alt:"首帧",referrerPolicy:"no-referrer",onClick:()=>ca(s)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1304,columnNumber:21},void 0),a.jsxDEV("button",{className:"va-shot-frame-delete",onClick:()=>pa(s.id,"first"),children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1310,columnNumber:19},void 0),a.jsxDEV("button",{className:"va-shot-frame-regen",onClick:()=>ca(s),children:"↻"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1311,columnNumber:19},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1298,columnNumber:19},void 0):s.first_frame_prompt||s.description?a.jsxDEV("span",{className:"va-shot-frame-btn-group",children:[a.jsxDEV("button",{onClick:()=>ca(s),children:"生成首帧"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1315,columnNumber:21},void 0),a.jsxDEV("button",{className:"va-shot-frame-library-btn",onClick:()=>da(s.id,"first"),children:a.jsxDEV(Le,{content:"从素材库选择",showArrow:!1,children:a.jsxDEV("span",{children:a.jsxDEV(Ua,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1322,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1321,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1320,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1316,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1314,columnNumber:19},void 0):null,(()=>{const c=s.generated_last_frame_url||Fe(s,t),u=!s.generated_last_frame_url&&c;return s.generated_last_frame_url?a.jsxDEV("div",{className:"va-shot-frame-thumb",style:Qe,onMouseEnter:f=>Ke(s.generated_last_frame_url,"image",f),onMouseLeave:Ye,children:[a.jsxDEV("img",{src:s.generated_last_frame_url,alt:"尾帧",referrerPolicy:"no-referrer",onClick:()=>Je(s,t)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1340,columnNumber:25},void 0),a.jsxDEV("button",{className:"va-shot-frame-delete",onClick:()=>pa(s.id,"last"),children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1346,columnNumber:25},void 0),a.jsxDEV("button",{className:"va-shot-frame-regen",onClick:()=>Je(s,t),children:"↻"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1347,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1334,columnNumber:23},void 0):u?a.jsxDEV("div",{className:"va-shot-frame-thumb va-shot-frame-thumb--borrowed",style:Qe,onMouseEnter:f=>Ke(c,"image",f),onMouseLeave:Ye,children:[a.jsxDEV("img",{src:c,alt:"尾帧(下一镜头首帧)",referrerPolicy:"no-referrer",onClick:()=>Je(s,t)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1359,columnNumber:25},void 0),a.jsxDEV("span",{className:"va-shot-frame-label",children:"下一镜头首帧"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1365,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1353,columnNumber:23},void 0):s.last_frame_prompt||s.description?a.jsxDEV("span",{className:"va-shot-frame-btn-group",children:[a.jsxDEV("button",{onClick:()=>Je(s,t),children:"生成尾帧"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1372,columnNumber:25},void 0),a.jsxDEV("button",{className:"va-shot-frame-library-btn",onClick:()=>da(s.id,"last"),children:a.jsxDEV(Le,{content:"从素材库选择",showArrow:!1,children:a.jsxDEV("span",{children:a.jsxDEV(Ua,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1379,columnNumber:31},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1378,columnNumber:29},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1377,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1373,columnNumber:25},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1371,columnNumber:23},void 0):null})(),s.generated_video_url?a.jsxDEV("div",{className:"va-shot-frame-thumb",style:Qe,onMouseEnter:c=>Ke(s.generated_video_url,"video",c),onMouseLeave:Ye,children:[a.jsxDEV(is,{src:s.generated_video_url,alt:"生成视频缩略图",className:"va-shot-frame-media",thumbnailSize:"small",onClick:()=>ma(s,t),videoProps:{muted:!0,preload:"metadata"}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1396,columnNumber:21},void 0),a.jsxDEV("button",{className:"va-shot-frame-delete",onClick:()=>pa(s.id,"video"),children:"×"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1407,columnNumber:21},void 0),a.jsxDEV("button",{className:"va-shot-frame-regen",onClick:()=>ma(s,t),children:"↻"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1408,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1390,columnNumber:19},void 0):s.description||s.narration||s.dialogue||s.camera_movement||s.first_frame_prompt||s.last_frame_prompt?a.jsxDEV("span",{className:"va-shot-frame-btn-group",children:[a.jsxDEV("button",{onClick:()=>ma(s,t),children:"生成视频"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1412,columnNumber:21},void 0),a.jsxDEV("button",{className:"va-shot-frame-library-btn",onClick:()=>da(s.id,"video"),children:a.jsxDEV(Le,{content:"从素材库插入视频",showArrow:!1,children:a.jsxDEV("span",{children:a.jsxDEV(Ua,{},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1419,columnNumber:27},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1418,columnNumber:25},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1417,columnNumber:23},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1413,columnNumber:21},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1411,columnNumber:19},void 0):null]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1295,columnNumber:15},void 0)},s.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1290,columnNumber:11},void 0))},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1288,columnNumber:7},void 0),a.jsxDEV("div",{className:"va-page-actions mv-generate-footer-actions",children:[a.jsxDEV("button",{onClick:()=>void ue(),disabled:o.length===0||!k,children:"脚本插入画布"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1432,columnNumber:9},void 0),a.jsxDEV("button",{onClick:()=>void ls(),disabled:we||o.length===0,children:we?`素材下载 ${ra}%`:"素材下载 ZIP"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1435,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1431,columnNumber:7},void 0),a.jsxDEV("div",{className:"mv-generate-footer-hint",children:"若有素材未打包成功,解压后在 ZIP 根目录运行 `sh 00.补全下载.sh` 即可按 manifest 补全下载。"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1439,columnNumber:7},void 0),a.jsxDEV(Ya,{isOpen:!!be,onClose:()=>oa(null),mode:Wa.SELECT,filterType:(be==null?void 0:be.assetType)==="video"?xa.VIDEO:xa.IMAGE,onSelect:os,selectButtonText:(be==null?void 0:be.assetType)==="video"?"使用此视频":"使用此图片"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1444,columnNumber:7},void 0),a.jsxDEV(Ya,{isOpen:!!y,onClose:()=>G(null),mode:Wa.SELECT,filterType:xa.IMAGE,onSelect:s=>{y&&r(y,s.url),G(null)},selectButtonText:"使用此图片"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1453,columnNumber:7},void 0),Ae&&Es.createPortal(a.jsxDEV("div",{className:"mv-hover-preview",style:{left:`${Ae.x}px`,top:`${Ae.y}px`},onMouseEnter:ds,onMouseLeave:us,children:Ae.type==="image"?a.jsxDEV("img",{src:Ae.url,alt:"Preview",referrerPolicy:"no-referrer"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1475,columnNumber:13},void 0):a.jsxDEV("video",{src:Ae.url,controls:!0,muted:!0,preload:"metadata"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1477,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1468,columnNumber:9},void 0),document.body)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/GeneratePage.tsx",lineNumber:1166,columnNumber:5},void 0)};function ts(e){var i;return e.result?(i=e.result.urls)!=null&&i.length?e.result.urls.filter(Boolean):e.result.url?[e.result.url]:[]:[]}function Nn(e){var i,d;return e.result?e.type===Q.VIDEO?((i=e.result.thumbnailUrls)==null?void 0:i[0])||e.result.thumbnailUrl||null:((d=e.result.thumbnailUrls)==null?void 0:d[0])||e.result.url||null:null}function bn(e){switch(e){case Ne.COMPLETED:return"已完成";case Ne.PROCESSING:return"进行中";case Ne.PENDING:return"等待中";case Ne.FAILED:return"失败";default:return""}}function xn(e){switch(e){case Ne.COMPLETED:return"completed";case Ne.PROCESSING:return"processing";case Ne.PENDING:return"pending";case Ne.FAILED:return"failed";default:return"pending"}}function hn(e){const i=new Date(e);return`${i.getMonth()+1}/${i.getDate()} ${String(i.getHours()).padStart(2,"0")}:${String(i.getMinutes()).padStart(2,"0")}`}function jn(e){const i=String(e.params.prompt||"");return i.length>40?`${i.slice(0,40)}…`:i}const wn=({record:e,related:i,isExpanded:d,onSelect:j,onToggleStar:o,onDelete:g,onToggleExpand:m,onInsertTask:w,onPreviewOpen:k,onSelectScript:z})=>{const b=!!(i&&i.rewrite.length+i.image.length+i.video.length>0),P=i?[...i.image,...i.video]:[];return a.jsxDEV("div",{className:"va-history-item",onClick:()=>j(e),children:[a.jsxDEV("div",{className:"va-history-header",children:[a.jsxDEV("span",{className:"va-history-source",children:[e.source==="youtube"?"🔗":"📁"," ",e.sourceLabel]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:112,columnNumber:9},void 0),a.jsxDEV("button",{className:`va-star-btn ${e.starred?"starred":""}`,onClick:I=>o(I,e),children:e.starred?"★":"☆"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:115,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:111,columnNumber:7},void 0),a.jsxDEV("div",{className:"va-history-meta",children:[b&&a.jsxDEV("button",{className:`va-history-expand-btn ${d?"expanded":""}`,onClick:I=>m(I,e.id),children:[a.jsxDEV(Vs,{size:12},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:128,columnNumber:13},void 0),a.jsxDEV("span",{children:d?"收起":"关联任务"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:129,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:124,columnNumber:11},void 0),a.jsxDEV("span",{children:new Date(e.createdAt).toLocaleString()},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:132,columnNumber:9},void 0),a.jsxDEV("span",{children:[e.analysis.shotCount," 镜头"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:133,columnNumber:9},void 0),a.jsxDEV("span",{children:e.model},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:134,columnNumber:9},void 0),a.jsxDEV("button",{className:"va-history-delete",onClick:I=>g(I,e.id),children:"删除"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:135,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:122,columnNumber:7},void 0),e.analysis.video_style&&a.jsxDEV("div",{className:"va-history-style",children:e.analysis.video_style},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:140,columnNumber:9},void 0),d&&i&&a.jsxDEV(kn,{related:i,record:e,previewTasks:P,onInsertTask:w,onPreviewOpen:k,onSelectScript:z},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:143,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:110,columnNumber:5},void 0)},kn=({related:e,record:i,previewTasks:d,onInsertTask:j,onPreviewOpen:o,onSelectScript:g})=>a.jsxDEV("div",{className:"va-history-related",onClick:m=>m.stopPropagation(),children:[e.rewrite.length>0&&a.jsxDEV("div",{children:[a.jsxDEV("div",{className:"va-history-related-group-title",children:["脚本改编 (",e.rewrite.length,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:167,columnNumber:9},void 0),e.rewrite.map(m=>a.jsxDEV(Sa,{task:m,onClick:w=>g==null?void 0:g(w,i,m)},m.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:169,columnNumber:11},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:166,columnNumber:7},void 0),e.image.length>0&&a.jsxDEV("div",{children:[a.jsxDEV("div",{className:"va-history-related-group-title",children:["图片生成 (",e.image.length,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:179,columnNumber:9},void 0),e.image.map(m=>a.jsxDEV(Sa,{task:m,previewTasks:d,onInsertTask:j,onPreviewOpen:o},m.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:181,columnNumber:11},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:178,columnNumber:7},void 0),e.video.length>0&&a.jsxDEV("div",{children:[a.jsxDEV("div",{className:"va-history-related-group-title",children:["视频生成 (",e.video.length,")"]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:193,columnNumber:9},void 0),e.video.map(m=>a.jsxDEV(Sa,{task:m,previewTasks:d,onInsertTask:j,onPreviewOpen:o},m.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:195,columnNumber:11},void 0))]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:192,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:164,columnNumber:3},void 0),Sa=({task:e,previewTasks:i,onClick:d,onInsertTask:j,onPreviewOpen:o})=>{const g=e.status===Ne.COMPLETED,m=ts(e),w=g&&m.length>0,k=(e.type===Q.IMAGE||e.type===Q.VIDEO)&&w&&!!(i!=null&&i.length),z=Nn(e),b=m[0],P=n.useCallback(I=>{if(k&&i){o==null||o(I,e,i);return}d==null||d(I)},[k,d,o,i,e]);return a.jsxDEV(Le,{content:bn(e.status),showArrow:!1,children:a.jsxDEV("div",{className:"va-history-related-task",onClick:P,children:[a.jsxDEV("span",{className:`va-history-related-task-status ${xn(e.status)}`},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:239,columnNumber:9},void 0),a.jsxDEV("span",{className:"va-history-related-task-prompt",children:jn(e)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:242,columnNumber:9},void 0),a.jsxDEV("span",{className:"va-history-related-task-time",children:hn(e.createdAt)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:245,columnNumber:9},void 0),w&&b&&e.type!==Q.CHAT&&a.jsxDEV("span",{className:"va-history-related-task-thumb",children:[e.type===Q.VIDEO?a.jsxDEV(is,{src:b,poster:z||void 0,alt:"",className:"va-history-related-task-thumb-media",thumbnailSize:"small",videoProps:{preload:"metadata",muted:!0,playsInline:!0,"aria-hidden":!0}},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:251,columnNumber:15},void 0):a.jsxDEV("img",{src:z||b,alt:"",referrerPolicy:"no-referrer"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:265,columnNumber:15},void 0),e.type===Q.VIDEO&&a.jsxDEV("span",{className:"va-history-related-task-thumb-badge","aria-hidden":"true",children:"▶"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:272,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:249,columnNumber:11},void 0),w&&j&&a.jsxDEV(Le,{content:"插入画板",showArrow:!1,children:a.jsxDEV("button",{className:"va-history-related-insert-btn",onClick:I=>j(I,e),"aria-label":"插入画板",children:a.jsxDEV(Ds,{size:16},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:288,columnNumber:15},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:283,columnNumber:13},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:282,columnNumber:11},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:238,columnNumber:7},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/components/HistoryRecordCard.tsx",lineNumber:237,columnNumber:5},void 0)};function zn(e,i,d){var o;const j=((o=e.result)==null?void 0:o.title)||e.params.title||e.params.prompt||(e.type===Q.VIDEO?"视频预览":"图片预览");return d>1?`${j} (${i+1}/${d})`:j}function En(e){var j,o,g;const i=[],d=new Map;for(const m of e){if(m.type!==Q.IMAGE&&m.type!==Q.VIDEO)continue;const w=ts(m);if(w.length===0)continue;const k=i.length,z=m.type===Q.VIDEO&&(((o=(j=m.result)==null?void 0:j.thumbnailUrls)==null?void 0:o[0])||((g=m.result)==null?void 0:g.thumbnailUrl))||void 0;w.forEach((b,P)=>{i.push({id:w.length>1?`${m.id}-${P}`:m.id,url:b,type:m.type===Q.VIDEO?"video":"image",title:zn(m,P,w.length),prompt:m.params.prompt,posterUrl:m.type===Q.VIDEO?z:void 0})}),d.set(m.id,k)}return{items:i,taskIdToIndex:d}}const Vn=({records:e,onSelect:i,onRecordsChange:d,showStarredOnly:j=!1,onInsertTask:o,onSelectScript:g})=>{const m=j?e.filter(C=>C.starred):e,[w,k]=n.useState(null),[z,b]=n.useState(!1),[P,I]=n.useState([]),[R,B]=n.useState(0),[J,y]=n.useState(null),{tasks:G}=ns(),K=n.useMemo(()=>{const C=new Map,S=new Set(e.map(Y=>Y.id)),H=()=>({rewrite:[],image:[],video:[]});for(const Y of G){const Z=Y.params;if(Y.type===Q.CHAT&&Z.videoAnalyzerAction==="rewrite"&&typeof Z.videoAnalyzerRecordId=="string"&&S.has(Z.videoAnalyzerRecordId)){const $=Z.videoAnalyzerRecordId;Za(C,$,"rewrite",Y,H);continue}if((Y.type===Q.IMAGE||Y.type===Q.VIDEO)&&typeof Z.batchId=="string"&&Z.batchId.startsWith("va_")){const $=Ws(Z.batchId,"va_",S);if($){const de=Y.type===Q.IMAGE?"image":"video";Za(C,$,de,Y,H)}}}return Zs(C)},[G,e]),F=n.useCallback(async(C,S)=>{C.stopPropagation();const H=await le(S.id,{starred:!S.starred});d(H)},[d]),U=n.useCallback((C,S)=>{C.stopPropagation(),y(S)},[]),T=n.useCallback(async()=>{if(!J)return;const C=await Us(J);d(C),y(null)},[d,J]),_=n.useCallback((C,S)=>{C.stopPropagation(),k(H=>H===S?null:S)},[]),oe=n.useCallback((C,S)=>{C.stopPropagation(),o==null||o(S)},[o]),M=n.useCallback((C,S,H)=>{C.stopPropagation(),g==null||g(S,H)},[g]),L=n.useCallback((C,S,H)=>{C.stopPropagation();const{items:Y,taskIdToIndex:Z}=En(H),$=Z.get(S.id);!Y.length||$===void 0||(I(Y),B($),b(!0))},[]),O=n.useCallback(()=>{b(!1)},[]);return m.length===0?a.jsxDEV("div",{className:"va-page va-empty",children:a.jsxDEV("span",{children:j?"暂无收藏":"暂无分析记录"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:196,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:195,columnNumber:7},void 0):a.jsxDEV(a.Fragment,{children:[a.jsxDEV("div",{className:"va-page",children:a.jsxDEV("div",{className:"va-history-list",children:m.map(C=>{const S=K.get(C.id),H=w===C.id;return a.jsxDEV(wn,{record:C,related:S,isExpanded:H,onSelect:i,onToggleStar:F,onDelete:U,onToggleExpand:_,onInsertTask:oe,onPreviewOpen:L,onSelectScript:M},C.id,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:210,columnNumber:15},void 0)})},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:204,columnNumber:9},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:203,columnNumber:7},void 0),a.jsxDEV(Ss,{visible:z,items:P,initialIndex:R,onClose:O,showThumbnails:P.length>1},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:228,columnNumber:7},void 0),a.jsxDEV(Ps,{open:J!==null,title:"确认删除",description:"确定要删除这条历史记录吗?此操作不可撤销。",confirmText:"删除",cancelText:"取消",danger:!0,onOpenChange:C=>{C||y(null)},onConfirm:T},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:236,columnNumber:7},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/pages/HistoryPage.tsx",lineNumber:202,columnNumber:5},void 0)},An=()=>{const[e,i]=n.useState("analyze"),[d,j]=n.useState(null),[o,g]=n.useState([]),[m,w]=n.useState(!1),{board:k}=qa();n.useEffect(()=>{Pa().then(g)},[]),n.useEffect(()=>{let y=!1;const G=new Set,K=async U=>{if(!(!ln(U)||G.has(U.id))){G.add(U.id);try{const T=await Ca(U);if(!T||y)return;g(T.records),j(_=>(_==null?void 0:_.id)===T.record.id?T.record:_)}catch(T){console.error("[VideoAnalyzer] Failed to sync task result:",T)}finally{G.delete(U.id)}}};ve.getAllTasks().forEach(U=>{K(U)});const F=ve.observeTaskUpdates().subscribe(U=>{U.task.status==="completed"&&K(U.task)});return()=>{y=!0,F.unsubscribe()}},[]);const z=n.useCallback(y=>{j(y)},[]),b=n.useCallback(y=>{j(y),i("analyze")},[]),P=n.useCallback(y=>{j(y)},[]),I=n.useCallback(()=>{j(null),i("analyze")},[]),R=n.useCallback(y=>{y==="history"&&w(!1),i(y)},[]),B=n.useCallback(async y=>{var G,K,F,U;if(!((G=y.result)!=null&&G.url)&&!((F=(K=y.result)==null?void 0:K.urls)!=null&&F.length)||!k){ze.warning("无法插入:白板未就绪");return}try{if(y.type===Q.IMAGE){const T=(U=y.result.urls)!=null&&U.length?y.result.urls:[y.result.url];for(const _ of T)await _s(k,_);ze.success(T.length>1?"多图已插入到白板":"图片已插入到白板")}else y.type===Q.VIDEO&&(await qs(k,y.result.url),ze.success("视频已插入到白板"))}catch(T){console.error("[VideoAnalyzer] Failed to insert to board:",T),ze.error(`插入失败: ${T instanceof Error?T.message:"未知错误"}`)}},[k]),J=n.useCallback(async(y,G)=>{const K=String(G.params.videoAnalyzerPrompt||G.params.prompt||""),F=y.scriptVersions||[],U=F.find(_=>_.prompt===K)||F.find(_=>{var oe;return K&&((oe=_.prompt)==null?void 0:oe.includes(K))});let T=y;if(U&&U.id!==y.activeVersionId){const _=ss(y,U.id);if(_){const oe=await le(y.id,_);T=oe.find(M=>M.id===y.id)||{...y,..._},g(oe)}}j(T),i("script")},[]);return a.jsxDEV("div",{className:"video-analyzer",children:[a.jsxDEV("div",{className:"va-nav",children:e==="history"?a.jsxDEV(a.Fragment,{children:[a.jsxDEV("button",{className:"va-nav-back",onClick:()=>i("analyze"),children:"←"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:158,columnNumber:13},void 0),a.jsxDEV("span",{className:"va-nav-title",children:m?"收藏":"历史记录"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:159,columnNumber:13},void 0),a.jsxDEV("button",{className:`va-nav-btn ${m?"active":""}`,onClick:()=>w(y=>!y),children:m?"★ 收藏":"☆ 全部"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:160,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:157,columnNumber:11},void 0):a.jsxDEV(a.Fragment,{children:[a.jsxDEV(Qs,{current:e,onNavigate:R,hasRecord:!!d},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:169,columnNumber:13},void 0),a.jsxDEV("div",{className:"va-nav-actions",children:[a.jsxDEV("button",{className:"va-nav-btn",onClick:()=>{w(!1),i("history")},children:[a.jsxDEV("span",{role:"img","aria-label":"history",children:"📋"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:172,columnNumber:17},void 0),o.length>0&&a.jsxDEV("span",{className:"va-nav-count",children:o.length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:173,columnNumber:40},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:171,columnNumber:15},void 0),a.jsxDEV("button",{className:"va-nav-btn",onClick:()=>{w(!0),i("history")},children:[a.jsxDEV("span",{role:"img","aria-label":"starred",children:"⭐"},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:176,columnNumber:17},void 0),o.filter(y=>y.starred).length>0&&a.jsxDEV("span",{className:"va-nav-count",children:o.filter(y=>y.starred).length},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:177,columnNumber:63},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:175,columnNumber:15},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:170,columnNumber:13},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:168,columnNumber:11},void 0)},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:155,columnNumber:7},void 0),e==="analyze"&&a.jsxDEV(un,{existingRecord:d,onComplete:z,onRecordsChange:g,onCreateNew:I,onNext:d?()=>i("script"):void 0},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:186,columnNumber:9},void 0),e==="script"&&d&&a.jsxDEV(fn,{record:d,onRecordUpdate:P,onRecordsChange:g,onNext:()=>i("generate")},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:195,columnNumber:9},void 0),e==="generate"&&d&&a.jsxDEV(yn,{record:d,onRecordUpdate:P,onRecordsChange:g,onRestart:I},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:203,columnNumber:9},void 0),e==="history"&&a.jsxDEV(Vn,{records:o,onSelect:b,onRecordsChange:g,showStarredOnly:m,onInsertTask:k?B:void 0,onSelectScript:J},void 0,!1,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:211,columnNumber:9},void 0)]},void 0,!0,{fileName:"/Users/ljq/code/shuidiyu/aitu/packages/drawnix/src/components/video-analyzer/VideoAnalyzer.tsx",lineNumber:153,columnNumber:5},void 0)};export{An as default};
@@ -1 +1 @@
1
- import{$ as o,dx as m,dy as p,dz as f,a2 as h,dA as u}from"./index-CLp1N2JZ.js";import{m as y}from"./memoize-DRWJ2oTL.js";var g=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,b=/^\w*$/;function l(r,n){if(o(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||m(r)?!0:b.test(r)||!g.test(r)||n!=null&&r in Object(n)}var P=500;function S(r){var n=y(r,function(e){return t.size===P&&t.clear(),e}),t=n.cache;return n}var A=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,$=S(function(r){var n=[];return r.charCodeAt(0)===46&&n.push(""),r.replace(A,function(t,e,i,s){n.push(i?s.replace(I,"$1"):e||t)}),n});function x(r,n){return o(r)?r:l(r,n)?[r]:$(p(r))}function z(r){if(typeof r=="string"||m(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}function M(r,n){n=x(n,r);for(var t=0,e=n.length;r!=null&&t<e;)r=r[z(n[t++])];return t&&t==e?r:void 0}var c=f?f.isConcatSpreadable:void 0;function C(r){return o(r)||h(r)||!!(c&&r&&r[c])}function F(r,n,t,e,i){var s=-1,d=r.length;for(t||(t=C),i||(i=[]);++s<d;){var a=r[s];t(a)?u(i,a):e||(i[i.length]=a)}return i}export{M as a,F as b,x as c,l as i,z as t};
1
+ import{$ as o,dx as m,dy as p,dz as f,a2 as h,dA as u}from"./index-D5YSioyv.js";import{m as y}from"./memoize-CUfUlF3P.js";var g=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,b=/^\w*$/;function l(r,n){if(o(r))return!1;var t=typeof r;return t=="number"||t=="symbol"||t=="boolean"||r==null||m(r)?!0:b.test(r)||!g.test(r)||n!=null&&r in Object(n)}var P=500;function S(r){var n=y(r,function(e){return t.size===P&&t.clear(),e}),t=n.cache;return n}var A=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,I=/\\(\\)?/g,$=S(function(r){var n=[];return r.charCodeAt(0)===46&&n.push(""),r.replace(A,function(t,e,i,s){n.push(i?s.replace(I,"$1"):e||t)}),n});function x(r,n){return o(r)?r:l(r,n)?[r]:$(p(r))}function z(r){if(typeof r=="string"||m(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}function M(r,n){n=x(n,r);for(var t=0,e=n.length;r!=null&&t<e;)r=r[z(n[t++])];return t&&t==e?r:void 0}var c=f?f.isConcatSpreadable:void 0;function C(r){return o(r)||h(r)||!!(c&&r&&r[c])}function F(r,n,t,e,i){var s=-1,d=r.length;for(t||(t=C),i||(i=[]);++s<d;){var a=r[s];t(a)?u(i,a):e||(i[i.length]=a)}return i}export{M as a,F as b,x as c,l as i,z as t};
@@ -1 +1 @@
1
- import{a,c as f,t as l}from"./_baseFlatten-DHT6_8EL.js";import{l as u}from"./last-DXTTfs9a.js";import{bh as p}from"./index-CLp1N2JZ.js";function c(t,r){return r.length<2?t:a(t,p(r,0,-1))}var _=Object.prototype,m=_.hasOwnProperty;function P(t,r){r=f(r,t);var e=-1,o=r.length;if(!o)return!0;for(var s=t==null||typeof t!="object"&&typeof t!="function";++e<o;){var n=r[e];if(typeof n=="string"){if(n==="__proto__"&&!m.call(t,"__proto__"))return!1;if(n==="constructor"&&e+1<o&&typeof r[e+1]=="string"&&r[e+1]==="prototype"){if(s&&e===0)continue;return!1}}}var i=c(t,r);return i==null||delete i[l(u(r))]}export{P as b};
1
+ import{a,c as f,t as l}from"./_baseFlatten-BCqnPdEZ.js";import{l as u}from"./last-DXTTfs9a.js";import{bh as p}from"./index-D5YSioyv.js";function c(t,r){return r.length<2?t:a(t,p(r,0,-1))}var _=Object.prototype,m=_.hasOwnProperty;function P(t,r){r=f(r,t);var e=-1,o=r.length;if(!o)return!0;for(var s=t==null||typeof t!="object"&&typeof t!="function";++e<o;){var n=r[e];if(typeof n=="string"){if(n==="__proto__"&&!m.call(t,"__proto__"))return!1;if(n==="constructor"&&e+1<o&&typeof r[e+1]=="string"&&r[e+1]==="prototype"){if(s&&e===0)continue;return!1}}}var i=c(t,r);return i==null||delete i[l(u(r))]}export{P as b};
@@ -0,0 +1 @@
1
+ import{b as n}from"./_baseFlatten-BCqnPdEZ.js";import{bf as o,bg as s}from"./index-D5YSioyv.js";function f(t){var e=t==null?0:t.length;return e?n(t):[]}function l(t){return o(s(t,void 0,f),t+"")}export{f as a,l as f};
@@ -1 +1 @@
1
- import{ad as w,aj as D,ae as f,af as k,ak as V,al as p,am as C}from"./index-CLp1N2JZ.js";function z(n,e){switch(n){case"generate_image":return`生成图片: ${((e==null?void 0:e.prompt)||"").substring(0,30)}...`;case"generate_video":return`生成视频: ${((e==null?void 0:e.prompt)||"").substring(0,30)}...`;case"generate_grid_image":return`生成宫格图: ${((e==null?void 0:e.theme)||"").substring(0,30)}...`;case"insert_svg":return"插入SVG矢量图";case"canvas_insertion":case"insert_to_canvas":return"插入到画布";default:return`执行 ${n}`}}async function E(n,e,l){var M;if(!n)return{success:!1,error:"缺少必填参数 context"};const a=[];try{const s=w.get(),i=await D.execute(n,{model:n.model.id||s.textModelName||((M=f("text")[0])==null?void 0:M.id)||C(),modelRef:l||null,onChunk:d=>{var t;(t=e==null?void 0:e.onChunk)==null||t.call(e,d)},onToolCall:d=>{var I,h,v,T,y;const t={...d.arguments};if(["generate_image","generate_video","generate_grid_image","generate_photo_wall"].includes(d.name)){const u=t.model,m=d.name==="generate_video",S=(I=n.model)==null?void 0:I.type,x=(h=n.model)==null?void 0:h.id,g=S===(m?"video":"image")?x:void 0,r=g&&(l==null?void 0:l.modelId)===g?l:null,$=s.imageModelName||((v=f("image")[0])==null?void 0:v.id)||k(),b=s.videoModelName||((T=f("video")[0])==null?void 0:T.id)||V(),o=g||(m?b:$);if(u){const A=p(u);(m?A!=="video":A!=="image")?(t.model=o,r&&r.modelId===o?t.modelRef=r:delete t.modelRef):r&&r.modelId===u&&(t.modelRef=r)}else t.model=o,r&&r.modelId===o?t.modelRef=r:delete t.modelRef}const _={id:`step-tool-${Date.now()}-${Math.random().toString(36).substring(2,6)}`,mcp:d.name,args:t,description:z(d.name,t),status:"pending"};a.push(_),(y=e==null?void 0:e.onAddSteps)==null||y.call(e,[_])},onToolResult:d=>{var t;if(a.length>0){const c=a[a.length-1];c.status=d.success?"completed":"failed",(t=e==null?void 0:e.onUpdateStep)==null||t.call(e,c.id,c.status,d.data,d.error)}}});return i.success?{success:!0,generatedSteps:a,response:i.response}:{success:!1,error:i.error||"AI 分析失败",generatedSteps:a}}catch(s){return console.error("[AIAnalyze] Analysis failed:",s),{success:!1,error:s.message||"AI 分析失败",generatedSteps:a}}}export{E as analyzeWithAI};
1
+ import{ad as w,aj as D,ae as f,af as k,ak as V,al as p,am as C}from"./index-D5YSioyv.js";function z(n,e){switch(n){case"generate_image":return`生成图片: ${((e==null?void 0:e.prompt)||"").substring(0,30)}...`;case"generate_video":return`生成视频: ${((e==null?void 0:e.prompt)||"").substring(0,30)}...`;case"generate_grid_image":return`生成宫格图: ${((e==null?void 0:e.theme)||"").substring(0,30)}...`;case"insert_svg":return"插入SVG矢量图";case"canvas_insertion":case"insert_to_canvas":return"插入到画布";default:return`执行 ${n}`}}async function E(n,e,l){var M;if(!n)return{success:!1,error:"缺少必填参数 context"};const a=[];try{const s=w.get(),i=await D.execute(n,{model:n.model.id||s.textModelName||((M=f("text")[0])==null?void 0:M.id)||C(),modelRef:l||null,onChunk:d=>{var t;(t=e==null?void 0:e.onChunk)==null||t.call(e,d)},onToolCall:d=>{var I,h,v,T,y;const t={...d.arguments};if(["generate_image","generate_video","generate_grid_image","generate_photo_wall"].includes(d.name)){const u=t.model,m=d.name==="generate_video",S=(I=n.model)==null?void 0:I.type,x=(h=n.model)==null?void 0:h.id,g=S===(m?"video":"image")?x:void 0,r=g&&(l==null?void 0:l.modelId)===g?l:null,$=s.imageModelName||((v=f("image")[0])==null?void 0:v.id)||k(),b=s.videoModelName||((T=f("video")[0])==null?void 0:T.id)||V(),o=g||(m?b:$);if(u){const A=p(u);(m?A!=="video":A!=="image")?(t.model=o,r&&r.modelId===o?t.modelRef=r:delete t.modelRef):r&&r.modelId===u&&(t.modelRef=r)}else t.model=o,r&&r.modelId===o?t.modelRef=r:delete t.modelRef}const _={id:`step-tool-${Date.now()}-${Math.random().toString(36).substring(2,6)}`,mcp:d.name,args:t,description:z(d.name,t),status:"pending"};a.push(_),(y=e==null?void 0:e.onAddSteps)==null||y.call(e,[_])},onToolResult:d=>{var t;if(a.length>0){const c=a[a.length-1];c.status=d.success?"completed":"failed",(t=e==null?void 0:e.onUpdateStep)==null||t.call(e,c.id,c.status,d.data,d.error)}}});return i.success?{success:!0,generatedSteps:a,response:i.response}:{success:!1,error:i.error||"AI 分析失败",generatedSteps:a}}catch(s){return console.error("[AIAnalyze] Analysis failed:",s),{success:!1,error:s.message||"AI 分析失败",generatedSteps:a}}}export{E as analyzeWithAI};
@@ -1 +1 @@
1
- import{w as ln,c as J}from"./path-CY0bYimO.js";import{D as rn,E as N,F as D,G as an,H as y,I as on,J as z,K as _,L as un,M as t,N as sn,O as tn,P as fn}from"./mermaid.core-DQGbcicL.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,O,E,v,A,K,r){var q=O-l,i=E-h,n=K-v,m=r-A,a=m*q-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*q,h+a*i]}function W(l,h,O,E,v,A,K){var r=l-O,q=h-E,i=(K?A:-A)/z(r*r+q*q),n=i*q,m=-i*r,a=l+n,s=h+m,f=O+n,c=E+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*z(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,O=J(0),E=null,v=gn,A=mn,K=pn,r=null,q=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=q()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*D(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*D(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(E?+E.apply(this,arguments):z(a*a+s*s)),w=_(un(s-a)/2,+O.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*D(G)),B=sn(H/s*D(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(F=0,p=g=(f+c)/2)}var S=s*N(p),j=s*D(p),C=a*N(T),Q=a*D(T);if(w>y){var U=s*N(g),V=s*D(g),X=a*N(R),Y=a*D(R),I;if(L<rn)if(I=dn(S,j,X,Y,U,V,C,Q)){var Z=S-I[0],$=j-I[1],k=U-I[0],b=V-I[1],nn=1/D(fn((Z*k+$*b)/(z(Z*Z+$*$)*z(k*k+b*b)))/2),en=z(I[0]*I[0]+I[1]*I[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,S,j,s,x,o),u=W(U,V,C,Q,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(S,j),r.arc(0,0,s,p,g,!o)):r.moveTo(S,j),!(a>y)||!(P>y)?r.lineTo(C,Q):d>y?(e=W(C,Q,U,V,a,-d,o),u=W(S,j,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[N(m)*n,D(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(O=typeof n=="function"?n:J(+n),i):O},i.padRadius=function(n){return arguments.length?(E=n==null?null:typeof n=="function"?n:J(+n),i):E},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
1
+ import{w as ln,c as J}from"./path-CY0bYimO.js";import{D as rn,E as N,F as D,G as an,H as y,I as on,J as z,K as _,L as un,M as t,N as sn,O as tn,P as fn}from"./mermaid.core-C90rcTNj.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,O,E,v,A,K,r){var q=O-l,i=E-h,n=K-v,m=r-A,a=m*q-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*q,h+a*i]}function W(l,h,O,E,v,A,K){var r=l-O,q=h-E,i=(K?A:-A)/z(r*r+q*q),n=i*q,m=-i*r,a=l+n,s=h+m,f=O+n,c=E+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*z(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,O=J(0),E=null,v=gn,A=mn,K=pn,r=null,q=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=q()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*D(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*D(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(E?+E.apply(this,arguments):z(a*a+s*s)),w=_(un(s-a)/2,+O.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*D(G)),B=sn(H/s*D(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(F=0,p=g=(f+c)/2)}var S=s*N(p),j=s*D(p),C=a*N(T),Q=a*D(T);if(w>y){var U=s*N(g),V=s*D(g),X=a*N(R),Y=a*D(R),I;if(L<rn)if(I=dn(S,j,X,Y,U,V,C,Q)){var Z=S-I[0],$=j-I[1],k=U-I[0],b=V-I[1],nn=1/D(fn((Z*k+$*b)/(z(Z*Z+$*$)*z(k*k+b*b)))/2),en=z(I[0]*I[0]+I[1]*I[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,S,j,s,x,o),u=W(U,V,C,Q,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(S,j),r.arc(0,0,s,p,g,!o)):r.moveTo(S,j),!(a>y)||!(P>y)?r.lineTo(C,Q):d>y?(e=W(C,Q,U,V,a,-d,o),u=W(S,j,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[N(m)*n,D(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(O=typeof n=="function"?n:J(+n),i):O},i.padRadius=function(n){return arguments.length?(E=n==null?null:typeof n=="function"?n:J(+n),i):E},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
@@ -1 +1 @@
1
- import{w as ln,c as J}from"./path-CbwjOpE9.js";import{E as rn,F as N,G as E,H as an,I as y,J as on,K as j,L as _,M as un,N as t,O as sn,P as tn,Q as fn}from"./index-BcO0jvMY.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,q,I,v,A,K,r){var D=q-l,i=I-h,n=K-v,m=r-A,a=m*D-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*D,h+a*i]}function W(l,h,q,I,v,A,K){var r=l-q,D=h-I,i=(K?A:-A)/j(r*r+D*D),n=i*D,m=-i*r,a=l+n,s=h+m,f=q+n,c=I+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*j(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,q=J(0),I=null,v=gn,A=mn,K=pn,r=null,D=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=D()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*E(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*E(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(I?+I.apply(this,arguments):j(a*a+s*s)),w=_(un(s-a)/2,+q.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*E(G)),z=sn(H/s*E(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=z*2)>y?(z*=o?1:-1,p+=z,g-=z):(F=0,p=g=(f+c)/2)}var Q=s*N(p),S=s*E(p),B=a*N(T),C=a*E(T);if(w>y){var U=s*N(g),V=s*E(g),X=a*N(R),Y=a*E(R),O;if(L<rn)if(O=dn(Q,S,X,Y,U,V,B,C)){var Z=Q-O[0],$=S-O[1],k=U-O[0],b=V-O[1],nn=1/E(fn((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(O[0]*O[0]+O[1]*O[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,Q,S,s,x,o),u=W(U,V,B,C,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(Q,S),r.arc(0,0,s,p,g,!o)):r.moveTo(Q,S),!(a>y)||!(P>y)?r.lineTo(B,C):d>y?(e=W(B,C,U,V,a,-d,o),u=W(Q,S,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[N(m)*n,E(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:J(+n),i):q},i.padRadius=function(n){return arguments.length?(I=n==null?null:typeof n=="function"?n:J(+n),i):I},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
1
+ import{w as ln,c as J}from"./path-CbwjOpE9.js";import{E as rn,F as N,G as E,H as an,I as y,J as on,K as j,L as _,M as un,N as t,O as sn,P as tn,Q as fn}from"./index-B4YlucHs.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,q,I,v,A,K,r){var D=q-l,i=I-h,n=K-v,m=r-A,a=m*D-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*D,h+a*i]}function W(l,h,q,I,v,A,K){var r=l-q,D=h-I,i=(K?A:-A)/j(r*r+D*D),n=i*D,m=-i*r,a=l+n,s=h+m,f=q+n,c=I+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*j(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,q=J(0),I=null,v=gn,A=mn,K=pn,r=null,D=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=D()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*E(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*E(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(I?+I.apply(this,arguments):j(a*a+s*s)),w=_(un(s-a)/2,+q.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*E(G)),z=sn(H/s*E(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=z*2)>y?(z*=o?1:-1,p+=z,g-=z):(F=0,p=g=(f+c)/2)}var Q=s*N(p),S=s*E(p),B=a*N(T),C=a*E(T);if(w>y){var U=s*N(g),V=s*E(g),X=a*N(R),Y=a*E(R),O;if(L<rn)if(O=dn(Q,S,X,Y,U,V,B,C)){var Z=Q-O[0],$=S-O[1],k=U-O[0],b=V-O[1],nn=1/E(fn((Z*k+$*b)/(j(Z*Z+$*$)*j(k*k+b*b)))/2),en=j(O[0]*O[0]+O[1]*O[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,Q,S,s,x,o),u=W(U,V,B,C,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(Q,S),r.arc(0,0,s,p,g,!o)):r.moveTo(Q,S),!(a>y)||!(P>y)?r.lineTo(B,C):d>y?(e=W(B,C,U,V,a,-d,o),u=W(Q,S,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[N(m)*n,E(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:J(+n),i):q},i.padRadius=function(n){return arguments.length?(I=n==null?null:typeof n=="function"?n:J(+n),i):I},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};